*, ::before, ::after {box-sizing: border-box;border-style: solid;border-width: 0;}html {line-height: 1.15;-webkit-text-size-adjust: 100%;-webkit-tap-highlight-color: transparent;}body {margin: 0;}main {display: block;}p, table, blockquote, address, pre, iframe, form, figure, dl {margin: 0;}h1, h2, h3, h4, h5, h6 {font-size: inherit;font-weight: inherit;margin: 0;}ul, ol {margin: 0;padding: 0;list-style: none;}dt {font-weight: bold;}dd {margin-left: 0;}hr {box-sizing: content-box;height: 0;overflow: visible;border-top-width: 1px;margin: 0;clear: both;color: inherit;}pre {font-family: monospace, monospace;font-size: inherit;}address {font-style: inherit;}a {background-color: transparent;text-decoration: none;color: inherit;}abbr[title] {text-decoration: underline dotted;}b, strong {font-weight: bolder;}code, kbd, samp {font-family: monospace, monospace;font-size: inherit;}small {font-size: 80%;}sub, sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}sub {bottom: -0.25em;}sup {top: -0.5em;}svg, img, embed, object, iframe {vertical-align: bottom;}button, input, optgroup, select, textarea {-webkit-appearance: none;appearance: none;vertical-align: middle;color: inherit;font: inherit;background: transparent;padding: 0;margin: 0;border-radius: 0;text-align: inherit;text-transform: inherit;}[type="checkbox"] {-webkit-appearance: checkbox;appearance: checkbox;}[type="radio"] {-webkit-appearance: radio;appearance: radio;}button, [type="button"], [type="reset"], [type="submit"] {cursor: pointer;}button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled {cursor: default;}:-moz-focusring {outline: auto;}select:disabled {opacity: inherit;}option {padding: 0;}fieldset {margin: 0;padding: 0;min-width: 0;}legend {padding: 0;}progress {vertical-align: baseline;}textarea {overflow: auto;}[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {height: auto;}[type="search"] {outline-offset: -2px;}[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}::-webkit-file-upload-button {-webkit-appearance: button;font: inherit;}label[for] {cursor: pointer;}details {display: block;}summary {display: list-item;}[contenteditable]:focus {outline: auto;}table {border-color: inherit;border-collapse: collapse;}caption {text-align: left;}td, th {vertical-align: top;padding: 0;}th {text-align: left;font-weight: bold;}

*:focus { outline: none; }
a { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); cursor: pointer; }

/* variable
------------------------------------------*/
html {
  font-size: var(--bodyFontSize);
  scroll-padding-top: 80px;
  --fixHeaderHeight: 70px;
  --headerHeight: 180px;
  --headerMargin: 16px;
  --margin: 160px;
  --padding: 60px;
  --maxWidth: 1380px;
  --titleMargin: 70px;

  --bodyFontLs: 0.05em;
  --headFontLs: 0.05em;
  --headFontLh: 1.3;

  --itemNum: 4;
  --itemMarginV: 50px;
  --itemMarginH: 36px;

  --imageMargin: 24px;

  --pageTitleMargin: 100px;
  --pageTitleSize: calc(var(--headFontSize) * 1.2);
  --subPageTitleSize: max(var(--headFontSize) * 0.8, 1.8rem);
  --imageTitleHeight: 420px;

  --categorylistNum: 5;

  --inputBorderRadius: calc(var(--imageBorderRadius) / 2);

  --headFontSizeS: calc(clamp(2.0rem, var(--headFontSize), 5.0rem) - 0.8rem);
}
@media (max-width: 1400px) {
  html {
    --padding: 50px;
    --titleMargin: 60px;
  }
}
@media (max-width: 1200px) {
  html {
    --margin: 120px;
    --padding: 42px;
    --titleMargin: 50px;

    --itemNum: 3;
    --itemMarginV: 45px;
    --itemMarginH: 30px;

    --imageMargin: 22px;

    --headFontSize: var(--headFontSizeTb);

    --pageTitleSize: calc(var(--headFontSizeTb) * 1.2);
    --subPageTitleSize: max(var(--headFontSizeTb) * 0.8, 1.8rem);
    --imageTitleHeight: 400px;

    --headFontSizeS: calc(clamp(2.0rem, var(--headFontSizeTb), 4.0rem) - 0.4rem);

    --categorylistNum: 4;
  }
}
@media (max-width: 1000px) {
  html {
    --padding: 34px;
    --headerMargin: 12px;
    --titleMargin: 40px;
  }
}
@media (max-width: 768px) {
  html {
    scroll-padding-top: 60px;
    --fixHeaderHeight: 50px;
    --fixHeaderLogoHeight: var(--fixHeaderLogoHeightSp);
    --headerHeight: 100px;
    --headerMargin: 10px;
    --margin: 80px;
    --padding: 28px;
    --titleMargin: 32px;

    --themeContentWidth: 100%;

    --headFontLh: 1.3;

    --itemMarginV: 40px;
    --itemMarginH: 26px;

    --imageMargin: 16px;

    --headFontSize: var(--headFontSizeSp);
    
    --pageTitleMargin: 80px;
    --pageTitleSize: calc(var(--headFontSizeSp) * 1.2);
    --subPageTitleSize: max(var(--headFontSizeSp) * 0.8, 1.8rem);
    --imageTitleHeight: 360px;

    --headFontSizeS: calc(clamp(1.8rem, var(--headFontSizeSp), 2.8rem) - 0.2rem);

    --categorylistNum: 3;
  }
}
@media (max-width: 600px) {
  html {
    --headerHeight: 90px;
    --margin: 60px;
    --padding: 24px;

    --itemNum: 2;
    --itemMarginV: 30px;
    --itemMarginH: 16px;

    --pageTitleMargin: 60px;
    --imageTitleHeight: 200px;
    
    --categorylistNum: 2;
  }
}

/* color
------------------------------------------*/
body.theme-white {
  --themeBgColor: #fff;
  --themeTextColor: #111;
  --themeSubBgColor: #fafafa;
  --themeSubTextColor: #999;
  --themeNoticeColor: #c31111;
  --themeAccentBgColor: #000;
  --themeAccentTextColor: #fff;

  --darkThemeBgColor: #111;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #222;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #c31111;
  --darkThemeAccentBgColor: #000;
  --darkThemeAccentTextColor: #fff;
}
body.theme-gray {
  --themeBgColor: #fff;
  --themeTextColor: #777;
  --themeSubBgColor: #fafafa;
  --themeSubTextColor: #bbb;
  --themeNoticeColor: #e35050;
  --themeAccentBgColor: #222;
  --themeAccentTextColor: #fff;

  --darkThemeBgColor: #333;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #222;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #e35050;
  --darkThemeAccentBgColor: #111;
  --darkThemeAccentTextColor: #fff;
}
body.theme-beige {
  --themeBgColor: #fff;
  --themeTextColor: #574f49;
  --themeSubBgColor: #f8f4f1;
  --themeSubTextColor: #a89d94;
  --themeNoticeColor: #e59191;
  --themeAccentBgColor: #bfb1a6;
  --themeAccentTextColor: #fff;
  
  --darkThemeBgColor: #574f49;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #36322f;
  --darkThemeSubTextColor: #7d736b;
  --darkThemeNoticeColor: #e59191;
  --darkThemeAccentBgColor: #bfb1a6;
  --darkThemeAccentTextColor: #fff;
}
body.theme-blue {
  --themeBgColor: #fff;
  --themeTextColor: #1c2535;
  --themeSubBgColor: #f8f4f0;
  --themeSubTextColor: #8991a2;
  --themeNoticeColor: #e44545;
  --themeAccentBgColor: #1b3765;
  --themeAccentTextColor: #fff;
  
  --darkThemeBgColor: #1c2535;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #2f3e58;
  --darkThemeSubTextColor: #6f7f9a;
  --darkThemeNoticeColor: #e44545;
  --darkThemeAccentBgColor: #1b3765;
  --darkThemeAccentTextColor: #fff;
}
body.theme-lightblue {
  --themeBgColor: #fff;
  --themeTextColor: #3d516a;
  --themeSubBgColor: #eff4f9;
  --themeSubTextColor: #77828f;
  --themeNoticeColor: #e08686;
  --themeAccentBgColor: #81a6d4;
  --themeAccentTextColor: #fff;
  
  --darkThemeBgColor: #3d516a;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #29394c;
  --darkThemeSubTextColor: #7a8ba0;
  --darkThemeNoticeColor: #e08686;
  --darkThemeAccentBgColor: #81a6d4;
  --darkThemeAccentTextColor: #fff;
}
body.theme-green {
  --themeBgColor: #fff;
  --themeTextColor: #1d2826;
  --themeSubBgColor: #fafafa;
  --themeSubTextColor: #9daaa7;
  --themeNoticeColor: #e44545;
  --themeAccentBgColor: #005240;
  --themeAccentTextColor: #fff;
  
  --darkThemeBgColor: #1d2826;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #2d3c39;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #e44545;
  --darkThemeAccentBgColor: #005240;
  --darkThemeAccentTextColor: #fff;
}
body.theme-lightgreen {
  --themeBgColor: #fff;
  --themeTextColor: #1d2826;
  --themeSubBgColor: #fafafa;
  --themeSubTextColor: #aaa;
  --themeNoticeColor: #e08686;
  --themeAccentBgColor: #55b4a1;
  --themeAccentTextColor: #fff;
  
  --darkThemeBgColor: #434948;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #333938;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #e08686;
  --darkThemeAccentBgColor: #55b4a1;
  --darkThemeAccentTextColor: #fff;
}
body.theme-brown {
  --themeBgColor: #fff;
  --themeTextColor: #1f1706;
  --themeSubBgColor: #fff2e6;
  --themeSubTextColor: #aaa;
  --themeNoticeColor: #da4646;
  --themeAccentBgColor: #36280b;
  --themeAccentTextColor: #fff;
  
  --darkThemeBgColor: #1f1706;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #2b1f05;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #da4646;
  --darkThemeAccentBgColor: #36280b;
  --darkThemeAccentTextColor: #fff;
}
body.theme-orange {
  --themeBgColor: #fff;
  --themeTextColor: #111;
  --themeSubBgColor: #fafafa;
  --themeSubTextColor: #aaa;
  --themeNoticeColor: #e54242;
  --themeAccentBgColor: #ff8c1c;
  --themeAccentTextColor: #fff;
  
  --darkThemeBgColor: #111;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #000;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #e54242;
  --darkThemeAccentBgColor: #ff8c1c;
  --darkThemeAccentTextColor: #fff;
}
body.theme-red {
  --themeBgColor: #fff;
  --themeTextColor: #111;
  --themeSubBgColor: #fafafa;
  --themeSubTextColor: #aaa;
  --themeNoticeColor: #841e36;
  --themeAccentBgColor: #bc2549;
  --themeAccentTextColor: #fff;
  
  --darkThemeBgColor: #111;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #000;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #841e36;
  --darkThemeAccentBgColor: #bc2549;
  --darkThemeAccentTextColor: #fff;
}
body.theme-pink {
  --themeBgColor: #fff;
  --themeTextColor: #111;
  --themeSubBgColor: #f8f4f1;
  --themeSubTextColor: #aaa;
  --themeNoticeColor: #e33b66;
  --themeAccentBgColor: #ed849f;
  --themeAccentTextColor: #fff;
  
  --darkThemeBgColor: #111;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #000;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #e33b66;
  --darkThemeAccentBgColor: #ed849f;
  --darkThemeAccentTextColor: #fff;
}
body.theme-purple {
  --themeBgColor: #fff;
  --themeTextColor: #111;
  --themeSubBgColor: #ece8fa;
  --themeSubTextColor: #aaa;
  --themeNoticeColor: #e02828;
  --themeAccentBgColor: #5e40cf;
  --themeAccentTextColor: #fff;
  
  --darkThemeBgColor: #111;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #000;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #e02828;
  --darkThemeAccentBgColor: #5e40cf;
  --darkThemeAccentTextColor: #fff;
}

/* og color */
body.use-ogcolor {
  --themeBgColor: var(--ogThemeBgColor);
  --themeTextColor: var(--ogThemeTextColor);
  --themeSubBgColor: var(--ogThemeSubBgColor);
  --themeSubTextColor: var(--ogThemeSubTextColor);
  --themeNoticeColor: var(--ogThemeNoticeColor);
  --themeAccentBgColor: var(--ogThemeAccentBgColor);
  --themeAccentTextColor: var(--ogThemeAccentTextColor);

  --darkThemeBgColor: var(--ogDarkThemeBgColor);
  --darkThemeTextColor: var(--ogDarkThemeTextColor);
  --darkThemeSubBgColor: var(--ogDarkThemeSubBgColor);
  --darkThemeSubTextColor: var(--ogDarkThemeSubTextColor);
  --darkThemeNoticeColor: var(--ogDarkThemeNoticeColor);
  --darkThemeAccentBgColor: var(--ogDarkThemeAccentBgColor);
  --darkThemeAccentTextColor: var(--ogDarkThemeAccentTextColor);
}

/* darkmode */
body.darkmode-3,
body.dark.darkmode-1 {
  --themeBgColor: var(--darkThemeBgColor);
  --themeTextColor: var(--darkThemeTextColor);
  --themeSubBgColor: var(--darkThemeSubBgColor);
  --themeSubTextColor: var(--darkThemeSubTextColor);
  --themeNoticeColor: var(--darkThemeNoticeColor);
  --themeAccentBgColor: var(--darkThemeAccentBgColor);
  --themeAccentTextColor: var(--darkThemeAccentTextColor);
  --themeGradientColor: var(--darkThemeGradientColor);
  --themeGradientColor2: var(--darkThemeGradientColor2);
}

/* color pattern */
body {
  --bgColor: var(--themeBgColor);
  --textColor: var(--themeTextColor);
  --subBgColor: var(--themeSubBgColor);
  --subTextColor: var(--themeSubTextColor);
  --noticeColor: var(--themeNoticeColor);
  --accentBgColor: var(--themeAccentBgColor);
  --accentTextColor: var(--themeAccentTextColor);
  --imageBtnBgColor: var(--themeAccentBgColor);
  --imageBtnTextColor: var(--themeAccentTextColor);
  --drawerTextColor: var(--themeTextColor);
  --drawerBgColor: var(--themeSubBgColor);
  --informationBannerBgColor: var(--themeAccentBgColor);
  --informationBannerTextColor: var(--themeAccentTextColor);
  --cartBtnBgColor: var(--themeTextColor);
  --cartBtnTextColor: var(--themeBgColor);
  --msgBgColor: var(--themeAccentBgColor);
  --msgTextColor: var(--themeAccentTextColor);
}

/* color pattern (darkmode) */
body.darkmode-3,
body.dark.darkmode-1 {
  --bgColor: var(--darkThemeBgColor);
  --textColor: var(--darkThemeTextColor);
  --subBgColor: var(--darkThemeSubBgColor);
  --subTextColor: var(--darkThemeSubTextColor);
  --noticeColor: var(--darkThemeNoticeColor);
  --accentBgColor: var(--darkThemeAccentBgColor);
  --accentTextColor: var(--darkThemeAccentTextColor);
  --imageBtnBgColor: var(--darkThemeAccentBgColor);
  --imageBtnTextColor: var(--darkThemeAccentTextColor);
  --drawerTextColor: var(--darkThemeTextColor);
  --drawerBgColor: var(--darkThemeSubBgColor);
  --informationBannerBgColor: var(--darkThemeAccentBgColor);
  --informationBannerTextColor: var(--darkThemeAccentTextColor);
  --cartBtnBgColor: var(--darkThemeTextColor);
  --cartBtnTextColor: var(--darkThemeBgColor);
  --msgBgColor: var(--darkThemeAccentBgColor);
  --msgTextColor: var(--darkThemeAccentTextColor);
}

body {
  --imageBorderRadius: 0;
  --imageBorderRadiusL: 0;
  --imageBorderRadiusL2: 0;
  --imageBorderRadiusL3: 0;
  --imageBorderRadiusMv2: 0;
  --imageBorderRadiusMv3: 0;
}
body.theme-type-2 {
  --imageBorderRadius: 6px;
  --imageBorderRadiusL: 12px;
  --imageBorderRadiusL2: 0;
  --imageBorderRadiusL3: 0;
  --imageBorderRadiusMv2: 12px;
  --imageBorderRadiusMv3: 12px 0 0 12px;
}
body.theme-type-3 {
  --imageBorderRadius: 6px;
  --imageBorderRadiusL: 24px 0 24px 0;
  --imageBorderRadiusL2: 50px 0 50px 0;
  --imageBorderRadiusL3: 0 0 50px 0;
  --imageBorderRadiusMv2: 50px 0 50px 0;
  --imageBorderRadiusMv3: 50px 0 0 0;
}

/* base
------------------------------------------*/
body {
  color: var(--textColor);
  font-size: 1.4rem;
  font-family: var(--bodyFontEn), var(--bodyFontJa), sans-serif;
  line-height: 1.4;
  letter-spacing: var(--bodyFontLs);
  word-break: break-word;
  overflow-wrap: break-word;
}
body.use-themebg {
  background: var(--bgColor);
}
h1,
h2,
.logo,
.mv .text .sub,
.mv .text .title,
.sec-title .title,
.sec-title .sub,
.concept .text h3,
.bgimage .text h3,
.bannerlist li a .text .title,
.bannerlist li a .text .sub,
.feature ul li h3,
.pickup .text .name,
.coupon .text .catch,
.coupon .text .code,
.youtube .text h3,
.imagecategorylist ul li span,
.item-detail .price .default:not(.related-items .text .price .default),
.item-detail .price .current,
.appsItemDetailCustomTag_heading,
.about-main h3,
.about-main h4,
.communityMain .communityItemHeader,
.communityMain .communityUrlHeader,
.membership .guide .content .heading,
.membership .guide .register .heading,
.membership .login .heading,
.membership .mypage .heading {
  font-size: var(--headFontSize);
  font-weight: var(--headFontWeight) !important;
  font-family: var(--headFontEn), var(--headFontJa), sans-serif !important;
  letter-spacing: var(--headFontLs);
  line-height: var(--headFontLh) !important;
}
.item-list-title h1,
.image-title h2,
.page-title,
#privacy h2,
#law h2,
.membership .mypage .heading {
  letter-spacing: var(--headFontLs);
}
a {
  color: var(--textColor);
  transition: all 0.3s ease;
}
p {
  line-height: 2;
}
img {
  max-width: 100%;
}
label[for] {
  cursor: default;
}

.content {
  margin: 0 auto var(--margin) auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.home .content,
.item-list-page .content {
  margin: 0 auto;
  padding: 0;
  max-width: 100%;
}

.header-search input,
.drawer-search input,
.sidebar-search input,
.inquirySection dl dd input,
.inquirySection dl dd textarea,
input.x_mailMagazineSubscribe_input,
input.itemOption__input,
select.x_i18nSelectBox,
select#valiationSelect,
select.itemOption__select,
select.amountSelect {
  outline: none !important;
  display: block;
  margin: 0 !important;
  padding: 10px !important;
  width: 100% !important;
  min-width: auto !important;
  color: var(--textColor) !important;
  font-size: 1.4rem !important;
  font-family: var(--bodyFontEn), var(--bodyFontJa), sans-serif !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  background: transparent !important;
  border: var(--textColor) 1px solid !important;
  border-radius: var(--inputBorderRadius) !important;
  box-shadow: none !important;
  transition: all 0.3s ease !important;
  appearance: none !important;
}
select.x_i18nSelectBox,
select#valiationSelect,
select.itemOption__select,
select.amountSelect {
  padding: 10px 24px 10px 10px !important;
  background:
    linear-gradient(45deg, transparent 50%, var(--textColor) 50%) no-repeat center right 14px / 4px 4px,
    linear-gradient(-45deg, transparent 50%, var(--textColor) 50%) no-repeat center right 10px / 4px 4px !important;
  background-color: var(--bgColor) !important;
}
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
  outline: none !important;
}

.header-search input::placeholder,
.drawer-search input::placeholder,
.sidebar-search input::placeholder,
input.x_mailMagazineSubscribe_input::placeholder,
input.itemOption__input::placeholder {
  opacity: 0.4 !important;
  color: var(--textColor);
  font-size: 1.4rem;
}

/* base overwrite
------------------------------------------*/
.msg_messenger__shopName {
  line-height: 44px !important;
}
.msg_postBox__control__submit {
  text-align: center;
}
.purchaseButtonModal__input,
.purchaseButtonModal__inputArea,
.purchaseButtonModal__ageVerificationWarningText,
.communityModal,
.communityModal h1,
.communityModal a,
.msg_postBox__control__input,
#salesPeriodModal .salesPeriodModal__input {
  color: #222 !important;
}
.communityModal {
  overflow: auto;
  max-height: 90%;
}
.telnumValid__txt {
  color: var(--textColor) !important;
  background: var(--subBgColor) !important;
}
.centeringFixForPostageInfo {
  position: fixed !important;
}
#takeoutModal .takeoutModal__title {
  padding: 18px 30px !important;
  line-height: 1.3 !important;
}
.shippingModal .shippingInfo__tabChild {
  text-align: center;
}

.informationBanner {
  opacity: 0;
  transition: all 1s ease;
}
.loaded .informationBanner {
  opacity: 1;
}
.informationBannerIcon i {
  font-size: 18px !important;
}
.informationBannerText strong {
  font-size: 13px !important;
  font-weight: bold !important;
}
.informationBannerArrow {
  font-size: 14px !important;
}

.flash-message,
.flashMessage {
  opacity: 0;
  position: fixed !important;
  top: 20px !important;
  left: auto !important;
  right: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 340px;
  transform: translateX(20px);
  transition: all 0.6s ease;
  z-index: 9999;
}
.loaded .flash-message,
.loaded .flashMessage {
  opacity: 1;
  transform: translateX(0);
}
.flash-message.close,
.flashMessage.close {
  opacity: 0 !important;
  transform: translateX(20px) !important;
}
.flash-message .contents,
.flashMessage .message {
  margin: 0 0 10px 0 !important;
  padding: 20px !important;
  width: 100% !important;
  max-width: auto !important;
  font-size: 1.2rem !important;
  color: var(--accentTextColor) !important;
  background: var(--accentBgColor) !important;
  box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
}
.flashMessage.error .contents,
.flashMessage #orderErrorMessage {
  color: #fff !important;
  background: var(--noticeColor) !important;
}
@media (max-width: 768px) {
  .flash-message,
  .flashMessage {
    width: calc(100% - 40px);
  }
}

.msg_smsAuth__formArea .x_address {
  margin: 0 !important;
  padding: 10px !important;
  border: none !important;
}

#IllegalReportTitle {
  appearance: auto;
  -webkit-appearance: auto;
}
#x_illegalReportMessage {
  max-width: 100%;
}

/* btn
------------------------------------------*/
.btn-normal,
.btn-image {
  margin: 50px 0 0 0;
}
.btn-normal a,
.btn-normal span,
.btn-image a,
.contact .control-panel,
.membership .login .link,
.membership .guide .register .link,
.membership .guide .mypage-link .link,
.membership .mypage .content .definition-description .edit,
.membership .mypage .content .definition-edit-button .edit {
  cursor: pointer;
  display: block;
  position: relative;
  margin: 0 auto !important;
  padding: 14px 5px !important;
  width: 200px !important;
  color: var(--textColor) !important;
  font-size: 1.2rem !important;
  font-weight: var(--headFontWeight);
  text-align: center !important;
  line-height: 1.3 !important;
  background: none !important;
  border: var(--textColor) 2px solid !important;
  border-radius: 0 !important;
  transition: all 0.3s ease !important;
}
.btn-image a {
  color: var(--imageBtnTextColor) !important;
  background: var(--imageBtnBgColor) !important;
  border: none !important;
}
.contact .control-panel {
  padding: 0 !important;
}
.contact .control-panel input[type="submit"] {
  display: block;
  padding: 14px 5px;
  width: 100%;
}
.btn-type-2 .btn-normal a,
.btn-type-2 .btn-normal span,
.btn-type-2 .btn-image a,
.btn-type-2 .contact .control-panel,
.btn-type-2 .membership .login .link,
.btn-type-2 .membership .guide .register .link,
.btn-type-2 .membership .guide .mypage-link .link,
.btn-type-2 .membership .mypage .content .definition-description .edit,
.btn-type-2 .membership .mypage .content .definition-edit-button .edit {
  border-radius: 100px !important;
}
.btn-type-3 .btn-normal a,
.btn-type-3 .btn-normal span,
.btn-type-3 .btn-image a,
.btn-type-3 .contact .control-panel,
.btn-type-3 .membership .login .link,
.btn-type-3 .membership .guide .register .link,
.btn-type-3 .membership .guide .mypage-link .link,
.btn-type-3 .membership .mypage .content .definition-description .edit,
.btn-type-3 .membership .mypage .content .definition-edit-button .edit {
  padding: 0 2px 10px 2px !important;
  width: fit-content !important;
  font-weight: bold;
  letter-spacing: 0.2em;
  border: none !important;
  border-bottom: var(--textColor) 2px solid !important;
}
.btn-type-3 .btn-image a {
  background: none !important;
  border-bottom: var(--imageBtnTextColor) 2px solid !important;
}
.btn-type-3 .contact .control-panel {
  padding: 0 !important;
}
.btn-type-3 .contact .control-panel input[type="submit"] {
  padding: 0 10px 10px 10px !important;
  letter-spacing: 0.2em;
}
.btn-type-4 .btn-normal a,
.btn-type-4 .btn-normal span,
.btn-type-4 .btn-image a,
.btn-type-4 .contact .control-panel,
.btn-type-4 .membership .login .link,
.btn-type-4 .membership .guide .register .link,
.btn-type-4 .membership .guide .mypage-link .link,
.btn-type-4 .membership .mypage .content .definition-description .edit,
.btn-type-4 .membership .mypage .content .definition-edit-button .edit {
  padding: 14px 16px !important;
  text-align: left !important;
  border: var(--textColor) 2px solid !important;
  border-radius: 100px !important;
}
.btn-type-4 .btn-image a {
  width: 80px !important;
  height: 80px !important;
  font-size: 0 !important;
  border: none !important;
  border-radius: 50% !important;
}
.btn-type-4 .btn-normal a:after,
.btn-type-4 .btn-normal span:after,
.btn-type-4 .btn-image a:after,
.btn-type-4 .contact .control-panel:after,
.btn-type-4 .membership .login .link:after,
.btn-type-4 .membership .guide .register .link:after,
.btn-type-4 .membership .guide .mypage-link .link:after,
.btn-type-4 .membership .mypage .content .definition-description .edit:after,
.btn-type-4 .membership .mypage .content .definition-edit-button .edit:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 100%;
  mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2224%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224%22%3E%3Cpath%20d%3D%22M647-440H160v-80h487L423-744l57-56%20320%20320-320%20320-57-56%20224-224Z%22%2F%3E%3C%2Fsvg%3E') no-repeat center center / 21px;
  -webkit-mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2224%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224%22%3E%3Cpath%20d%3D%22M647-440H160v-80h487L423-744l57-56%20320%20320-320%20320-57-56%20224-224Z%22%2F%3E%3C%2Fsvg%3E') no-repeat center center / 21px;
  background-color: var(--textColor);
}
.btn-type-4 .btn-image a:after {
  width: 100%;
  height: 100%;
  background-color: var(--imageBtnTextColor);
}
.btn-type-4 .contact .control-panel {
  padding: 0 !important;
}
.btn-type-4 .contact .control-panel input[type="submit"] {
  display: block;
  padding: 14px 16px !important;
  width: 100%;
}
@media (hover: hover) {
  .btn-normal a:hover,
  .btn-normal span:hover,
  .btn-image a:hover,
  .contact .control-panel:hover,
  .membership .login .link:hover,
  .membership .guide .register .link:hover,
  .membership .guide .mypage-link .link:hover,
  .membership .mypage .content .definition-description .edit:hover,
  .membership .mypage .content .definition-edit-button .edit:hover {
    opacity: 0.7;
  }
}
@media (max-width: 768px) {
  .btn-normal,
  .btn-image {
    margin: 40px 0 0 0;
  }
  .btn-normal a,
  .btn-normal span,
  .btn-image a {
    margin: 0 auto !important;
  }
}



/* popup-banner
------------------------------------------*/
.popup-banner-bg {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  transition: all 0.4s 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 10005;
}
.popup-banner-bg.open {
  opacity: 1;
  visibility: visible;
  transition: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.popup-banner-bg.type-2,
.popup-banner-bg.open.type-2 {
  display: none;
}
.popup-banner {
  opacity: 0;
  visibility: hidden;
  display: grid;
  place-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  transform: translateY(20px);
  transition: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  z-index: 10006;
}
.popup-banner.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: all 0.4s 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.popup-banner-image {
  position: relative;
  margin: 0 auto;
  max-width: 800px;
  text-align: center;
  box-shadow: 0 20px 20px -10px rgba(0, 0, 0, 0.2);
}
.popup-banner-image img {
  margin: 0 auto;
  max-height: 90vh;
}
.popup-banner.type-2 {
  display: block;
  top: auto;
  left: auto;
  bottom: 40px;
  right: 40px;
  width: auto;
  height: auto;
}
.x_message_view .popup-banner.type-2 {
  bottom: 100px;
}
.popup-banner.type-2 .popup-banner-image {
  margin: 0 0 0 auto;
  max-width: 300px;
}
.popup-banner.type-2 .popup-banner-image a {
  display: block;
}
@media (hover: hover) {
  .popup-banner.type-2 .popup-banner-image a:hover {
    opacity: 0.7;
  }
}
.popup-banner-close {
  cursor: pointer;
  position: absolute;
  top: -20px;
  right: -20px;
  width: 33px;
  height: 33px;
  background: var(--bgColor);
  box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  z-index: 1;
}
.popup-banner-close:before,
.popup-banner-close:after {
  content: '';
  position: absolute;
  top: 10px;
  left: 16px;
  width: 1px;
  height: 13px;
  background: var(--textColor);
  transform: rotate(45deg);
}
.popup-banner-close:after {
  transform: rotate(-45deg);
}
@media (max-width: 900px) {
  .popup-banner-image {
    max-width: 85%;
  }
  .popup-banner.type-2 .popup-banner-image {
    max-width: 70%;
  }
}

/* drawer
------------------------------------------*/
.drawer-bg {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  transition: all 0.4s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 10002;
}
.drawer-bg.open {
  opacity: 1;
  visibility: visible;
  transition: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.drawer {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  width: min(80%, 320px);
  height: 100vh;
  color: var(--drawerTextColor);
  background: var(--drawerBgColor);
  z-index: 10003;
  transform: translateX(-100%);
  transition: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.drawer.open {
  transform: translateX(0);
  transition: all 0.4s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.drawer-close {
  cursor: pointer;
  position: relative;
  height: 50px;
}
.drawer-close span:before,
.drawer-close span:after {
  content: '';
  position: absolute;
  top: 25px;
  right: 17px;
  width: 20px;
  height: 2px;
  background: var(--drawerTextColor);
  transform: rotate(45deg);
}
.drawer-close span:after {
  transform: rotate(-45deg);
}
.drawer-search-wrap {
  position: relative;
  padding: 24px;
}
.drawer-search {
  display: flex;
  justify-content: space-between;
  position: relative;
  padding: 5px 5px 5px 15px;
  width: 100%;
  border-radius: 100px;
  transition: all 0.3s ease;
}
.drawer-search:after {
  content: '';
  opacity: 0.15;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: var(--drawerTextColor) 1px solid;
  border-radius: 100px;
  z-index: -1;
}
.drawer-search input {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  width: calc(100% - 34px) !important;
  height: auto !important;
  color: var(--drawerTextColor) !important;
  font-size: 1.2rem !important;
  line-height: 1 !important;
  border: none !important;
}
.drawer-search input::placeholder {
  color: inherit !important;
}
.drawer-search button {
  position: relative;
  margin: 0 2px 0 0;
  width: 32px;
  height: 32px;
  text-align: center;
}
.drawer-search button:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20616.65%20616.7%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M591.7%2C616.7c-6.4%2C0-12.8-2.4-17.7-7.3l-122.5-122.5c-28.4%2C24.4-87.6%2C63.1-176.5%2C63.1-73.5%2C0-142.5-28.6-194.5-80.5C28.6%2C417.5%2C0%2C348.5%2C0%2C275S28.6%2C132.5%2C80.5%2C80.5C132.5%2C28.6%2C201.5%2C0%2C275%2C0s142.5%2C28.6%2C194.5%2C80.5c51.9%2C51.9%2C80.5%2C121%2C80.5%2C194.5%2C0%2C18.5-1.9%2C37-5.5%2C55-2.7%2C13.5-15.9%2C22.3-29.5%2C19.5-13.5-2.7-22.3-15.9-19.5-29.5%2C3-14.7%2C4.5-29.9%2C4.5-45%2C0-60.1-23.4-116.6-65.9-159.1-42.5-42.5-99-65.9-159.1-65.9s-116.6%2C23.4-159.1%2C65.9-65.9%2C99-65.9%2C159.1%2C23.4%2C116.6%2C65.9%2C159.1c42.5%2C42.5%2C99%2C65.9%2C159.1%2C65.9%2C103.6%2C0%2C156.9-63.4%2C157.5-64.1%2C4.5-5.5%2C11.1-8.8%2C18.1-9.1%2C7.1-.4%2C13.9%2C2.3%2C18.9%2C7.3l139.8%2C139.9c9.8%2C9.8%2C9.8%2C25.6%2C0%2C35.4-4.8%2C4.8-11.2%2C7.3-17.6%2C7.3Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 18px;
  -webkit-mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20616.65%20616.7%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M591.7%2C616.7c-6.4%2C0-12.8-2.4-17.7-7.3l-122.5-122.5c-28.4%2C24.4-87.6%2C63.1-176.5%2C63.1-73.5%2C0-142.5-28.6-194.5-80.5C28.6%2C417.5%2C0%2C348.5%2C0%2C275S28.6%2C132.5%2C80.5%2C80.5C132.5%2C28.6%2C201.5%2C0%2C275%2C0s142.5%2C28.6%2C194.5%2C80.5c51.9%2C51.9%2C80.5%2C121%2C80.5%2C194.5%2C0%2C18.5-1.9%2C37-5.5%2C55-2.7%2C13.5-15.9%2C22.3-29.5%2C19.5-13.5-2.7-22.3-15.9-19.5-29.5%2C3-14.7%2C4.5-29.9%2C4.5-45%2C0-60.1-23.4-116.6-65.9-159.1-42.5-42.5-99-65.9-159.1-65.9s-116.6%2C23.4-159.1%2C65.9-65.9%2C99-65.9%2C159.1%2C23.4%2C116.6%2C65.9%2C159.1c42.5%2C42.5%2C99%2C65.9%2C159.1%2C65.9%2C103.6%2C0%2C156.9-63.4%2C157.5-64.1%2C4.5-5.5%2C11.1-8.8%2C18.1-9.1%2C7.1-.4%2C13.9%2C2.3%2C18.9%2C7.3l139.8%2C139.9c9.8%2C9.8%2C9.8%2C25.6%2C0%2C35.4-4.8%2C4.8-11.2%2C7.3-17.6%2C7.3Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 18px;
  background-color: var(--drawerTextColor);
}

.drawer-nav > ul {
  position: relative;
  padding: 24px;
}
.drawer-nav > ul > li > a,
.drawer-nav > ul > li > span {
  display: block;
  position: relative;
  padding: 10px 0;
  color: var(--drawerTextColor);
  font-size: 1.3rem;
}
.drawer-nav > ul ul {
  position: relative;
  padding: 0 0 0 20px;
}
.drawer-nav > ul ul:before,
.drawer-nav > ul ul:after {
  content: '';
  display: block;
  height: 10px;
}
.drawer-nav > ul ul li a {
  display: block;
  padding: 8px 0;
  color: var(--drawerTextColor);
  font-size: 1.2rem;
}
.drawer-nav > ul ul li ul {
  padding: 10px 12px;
}
@media (hover: hover) {
  .drawer-nav a:hover {
    opacity: 0.7;
  }
}

.drawer-nav .appsItemCategoryTag_child {
  position: relative;
}
.drawer-nav .appsItemCategoryTag_lowerchild {
  display: none;
}
.drawer-nav span.open {
  content: '';
  cursor: pointer;
  position: absolute;
  top: 2px;
  right: -10px;
  width: 33px;
  height: 33px;
  border-radius: 1px;
  transition: all 0.3s ease;
}
.drawer-nav span.open:before,
.drawer-nav span.open:after {
  content: '';
  position: absolute;
  top: 16px;
  left: 10px;
  width: 13px;
  height: 1px;
  background: var(--drawerTextColor);
  transition: all 0.3s ease;
}
.drawer-nav span.open:after {
  transform: rotate(90deg);
}
.drawer-nav span.open.close:before {
  opacity: 0;
  transform: rotate(90deg);
}
.drawer-nav span.open.close:after {
  transform: rotate(180deg);
}

.drawer-copyright {
  opacity: 0.5;
  padding: 24px;
  font-size: 1rem;
  text-align: center;
}

/* header
------------------------------------------*/
.fixblog {
  opacity: 0;
  padding: 18px var(--padding);
  width: 100%;
  color: var(--accentTextColor);
  font-size: 1.3rem;
  text-align: center;
  background: var(--accentBgColor);
  transition: all 1s ease;
  z-index: 10;
}
.loaded .fixblog {
  opacity: 1;
}
.fixblog a {
  color: var(--accentTextColor);
}
@media (hover: hover) {
  .fixblog a:hover {
    opacity: 0.7;
  }
}

.header-search-bg {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  transition: all 0.4s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 10002;
}
.header-search-bg.open {
  opacity: 1;
  visibility: visible;
  transition: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.header-search-modal {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: calc(var(--headerHeight) * -1);
  left: 50%;
  padding: var(--padding);
  width: min(100%, 800px);
  height: var(--headerHeight);
  transform: translateX(-50%);
  transition: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  z-index: 10003;
}
.header-search-modal.open {
  opacity: 1;
  visibility: visible;
  top: 0;
  transition: all 0.4s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.header-search-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 100%;
  height: 100%;
}
.header-search {
  display: flex;
  justify-content: space-between;
  padding: 6px 6px 6px 18px;
  width: 100%;
  border: #fff 2px solid;
  border-radius: 100px;
  transition: all 0.3s ease;
}
.header-search input {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  width: calc(100% - 34px) !important;
  height: auto !important;
  color: #fff !important;
  font-size: 1.4rem !important;
  line-height: 1 !important;
  background: none !important;
  border: none !important;
}
.header-search input::placeholder {
  color: inherit !important;
}
.header-search button {
  position: relative;
  width: 36px;
  height: 36px;
  text-align: center;
}
.header-search button:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20616.65%20616.7%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M591.7%2C616.7c-6.4%2C0-12.8-2.4-17.7-7.3l-122.5-122.5c-28.4%2C24.4-87.6%2C63.1-176.5%2C63.1-73.5%2C0-142.5-28.6-194.5-80.5C28.6%2C417.5%2C0%2C348.5%2C0%2C275S28.6%2C132.5%2C80.5%2C80.5C132.5%2C28.6%2C201.5%2C0%2C275%2C0s142.5%2C28.6%2C194.5%2C80.5c51.9%2C51.9%2C80.5%2C121%2C80.5%2C194.5%2C0%2C18.5-1.9%2C37-5.5%2C55-2.7%2C13.5-15.9%2C22.3-29.5%2C19.5-13.5-2.7-22.3-15.9-19.5-29.5%2C3-14.7%2C4.5-29.9%2C4.5-45%2C0-60.1-23.4-116.6-65.9-159.1-42.5-42.5-99-65.9-159.1-65.9s-116.6%2C23.4-159.1%2C65.9-65.9%2C99-65.9%2C159.1%2C23.4%2C116.6%2C65.9%2C159.1c42.5%2C42.5%2C99%2C65.9%2C159.1%2C65.9%2C103.6%2C0%2C156.9-63.4%2C157.5-64.1%2C4.5-5.5%2C11.1-8.8%2C18.1-9.1%2C7.1-.4%2C13.9%2C2.3%2C18.9%2C7.3l139.8%2C139.9c9.8%2C9.8%2C9.8%2C25.6%2C0%2C35.4-4.8%2C4.8-11.2%2C7.3-17.6%2C7.3Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 20px;
  -webkit-mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20616.65%20616.7%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M591.7%2C616.7c-6.4%2C0-12.8-2.4-17.7-7.3l-122.5-122.5c-28.4%2C24.4-87.6%2C63.1-176.5%2C63.1-73.5%2C0-142.5-28.6-194.5-80.5C28.6%2C417.5%2C0%2C348.5%2C0%2C275S28.6%2C132.5%2C80.5%2C80.5C132.5%2C28.6%2C201.5%2C0%2C275%2C0s142.5%2C28.6%2C194.5%2C80.5c51.9%2C51.9%2C80.5%2C121%2C80.5%2C194.5%2C0%2C18.5-1.9%2C37-5.5%2C55-2.7%2C13.5-15.9%2C22.3-29.5%2C19.5-13.5-2.7-22.3-15.9-19.5-29.5%2C3-14.7%2C4.5-29.9%2C4.5-45%2C0-60.1-23.4-116.6-65.9-159.1-42.5-42.5-99-65.9-159.1-65.9s-116.6%2C23.4-159.1%2C65.9-65.9%2C99-65.9%2C159.1%2C23.4%2C116.6%2C65.9%2C159.1c42.5%2C42.5%2C99%2C65.9%2C159.1%2C65.9%2C103.6%2C0%2C156.9-63.4%2C157.5-64.1%2C4.5-5.5%2C11.1-8.8%2C18.1-9.1%2C7.1-.4%2C13.9%2C2.3%2C18.9%2C7.3l139.8%2C139.9c9.8%2C9.8%2C9.8%2C25.6%2C0%2C35.4-4.8%2C4.8-11.2%2C7.3-17.6%2C7.3Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 20px;
  background-color: #fff;
}

.header-search-wrap .close {
  cursor: pointer;
  position: relative;
  margin: 0 0 0 10px;
  width: 41px;
  height: 41px;
}
.header-search-wrap .close:before,
.header-search-wrap .close:after {
  content: '';
  position: absolute;
  top: 20px;
  left: 6px;
  width: 25px;
  height: 2px;
  background: #fff;
  transform: rotate(45deg);
}
.header-search-wrap .close:after {
  transform: rotate(-45deg);
}

.fixed-header {
  opacity: 0;
  visibility: hidden;
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0 min(5vw, 30px);
  width: 100%;
  height: var(--fixHeaderHeight);
  background: var(--bgColor);
  transform: translateY(0);
  transition: all 0.3s ease;
  z-index: 1001;
}
.loaded .fixed-header {
  opacity: 1;
  visibility: visible;
}
.obverse .fixed-header {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-20px);
}
.drawer-open-wrap {
  width: 68px;
}
.drawer-open {
  cursor: pointer;
  display: block;
  position: relative;
  width: 36px;
  height: 36px;
}
.drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
  content: '';
  position: absolute;
  top: 17px;
  left: 0;
  width: 22px;
  height: 2px;
  background: var(--textColor);
  transition: all 0.3s ease;
}
.drawer-open span:before {
  top: -7px;
}
.drawer-open span:after {
  top: 7px;
}
@media (hover: hover) {
  .drawer-open:hover span {
    left: -3px;
  }
  .drawer-open:hover span:before,
  .drawer-open:hover span:after {
    left: 6px;
  }
}

.header-btn {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  width: 68px;
}
.header-btn .cart {
  position: relative;

  .cart-badge {
    display: block !important;

    .cart-qty {
      position: absolute;
      inset: -4px -11px auto auto;
      width: 18px;
      height: 18px;
      color: var(--bgColor);
      font-size: 10px;
      text-align: center;
      line-height: 18px;
      background: var(--textColor);
      border-radius: 10px;
      transition: all 0.3s ease;
    }
  }
}
.header-btn .cart a,
.header-btn .search a {
  display: block;
  position: relative;
  margin: 0 0 0 auto;
  width: 28px;
  height: 28px;
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .header-btn .cart a:hover,
  .header-btn .search a:hover {
    opacity: 0.7;
  }
}
.header-btn .cart a:after,
.header-btn .search a:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2017.04%2018.6%22%3E%3Cg%3E%3Cpath%20d%3D%22M14.32%2C18.6H2.72c-.8%2C0-1.5-.3-2-.9S-.08%2C16.4.02%2C15.6L.72%2C7.6c.1-1.4%2C1.3-2.5%2C2.7-2.5h.4v-.3c0-1.3.5-2.5%2C1.4-3.4.9-.9%2C2.1-1.4%2C3.4-1.4s2.5.5%2C3.4%2C1.4%2C1.4%2C2.1%2C1.4%2C3.4v.2h.4c1.4%2C0%2C2.6%2C1.1%2C2.7%2C2.5l.3%2C4.2c0%2C.4-.3.8-.7.8s-.8-.3-.8-.7l-.3-4.2c-.1-.6-.6-1.1-1.2-1.1h-5.3c-.4%2C0-.8-.3-.8-.8s.3-.8.8-.8h3.2v-.1c0-.9-.3-1.7-1-2.3-1.2-1.2-3.4-1.2-4.6%2C0-.6.6-1%2C1.4-1%2C2.3v1c0%2C.4-.3.8-.8.8h-1c-.6%2C0-1.2.5-1.2%2C1.1l-.7%2C8c0%2C.4.1.7.3%2C1%2C.2.3.6.4.9.4h11.7c.4%2C0%2C.7-.1.9-.4.2-.3.4-.6.3-.9%2C0-.4.3-.8.7-.8s.8.3.8.7c.1.8-.2%2C1.5-.7%2C2.1s-1.2.8-2%2C.8Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat right center / 20px;
  -webkit-mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2017.04%2018.6%22%3E%3Cg%3E%3Cpath%20d%3D%22M14.32%2C18.6H2.72c-.8%2C0-1.5-.3-2-.9S-.08%2C16.4.02%2C15.6L.72%2C7.6c.1-1.4%2C1.3-2.5%2C2.7-2.5h.4v-.3c0-1.3.5-2.5%2C1.4-3.4.9-.9%2C2.1-1.4%2C3.4-1.4s2.5.5%2C3.4%2C1.4%2C1.4%2C2.1%2C1.4%2C3.4v.2h.4c1.4%2C0%2C2.6%2C1.1%2C2.7%2C2.5l.3%2C4.2c0%2C.4-.3.8-.7.8s-.8-.3-.8-.7l-.3-4.2c-.1-.6-.6-1.1-1.2-1.1h-5.3c-.4%2C0-.8-.3-.8-.8s.3-.8.8-.8h3.2v-.1c0-.9-.3-1.7-1-2.3-1.2-1.2-3.4-1.2-4.6%2C0-.6.6-1%2C1.4-1%2C2.3v1c0%2C.4-.3.8-.8.8h-1c-.6%2C0-1.2.5-1.2%2C1.1l-.7%2C8c0%2C.4.1.7.3%2C1%2C.2.3.6.4.9.4h11.7c.4%2C0%2C.7-.1.9-.4.2-.3.4-.6.3-.9%2C0-.4.3-.8.7-.8s.8.3.8.7c.1.8-.2%2C1.5-.7%2C2.1s-1.2.8-2%2C.8Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat right center / 20px;
  background-color: var(--textColor);
  transition: all 0.3s ease;
}
.header-btn .search a:after {
  mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20616.65%20616.7%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M591.7%2C616.7c-6.4%2C0-12.8-2.4-17.7-7.3l-122.5-122.5c-28.4%2C24.4-87.6%2C63.1-176.5%2C63.1-73.5%2C0-142.5-28.6-194.5-80.5C28.6%2C417.5%2C0%2C348.5%2C0%2C275S28.6%2C132.5%2C80.5%2C80.5C132.5%2C28.6%2C201.5%2C0%2C275%2C0s142.5%2C28.6%2C194.5%2C80.5c51.9%2C51.9%2C80.5%2C121%2C80.5%2C194.5%2C0%2C18.5-1.9%2C37-5.5%2C55-2.7%2C13.5-15.9%2C22.3-29.5%2C19.5-13.5-2.7-22.3-15.9-19.5-29.5%2C3-14.7%2C4.5-29.9%2C4.5-45%2C0-60.1-23.4-116.6-65.9-159.1-42.5-42.5-99-65.9-159.1-65.9s-116.6%2C23.4-159.1%2C65.9-65.9%2C99-65.9%2C159.1%2C23.4%2C116.6%2C65.9%2C159.1c42.5%2C42.5%2C99%2C65.9%2C159.1%2C65.9%2C103.6%2C0%2C156.9-63.4%2C157.5-64.1%2C4.5-5.5%2C11.1-8.8%2C18.1-9.1%2C7.1-.4%2C13.9%2C2.3%2C18.9%2C7.3l139.8%2C139.9c9.8%2C9.8%2C9.8%2C25.6%2C0%2C35.4-4.8%2C4.8-11.2%2C7.3-17.6%2C7.3Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 22px;
  -webkit-mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20616.65%20616.7%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M591.7%2C616.7c-6.4%2C0-12.8-2.4-17.7-7.3l-122.5-122.5c-28.4%2C24.4-87.6%2C63.1-176.5%2C63.1-73.5%2C0-142.5-28.6-194.5-80.5C28.6%2C417.5%2C0%2C348.5%2C0%2C275S28.6%2C132.5%2C80.5%2C80.5C132.5%2C28.6%2C201.5%2C0%2C275%2C0s142.5%2C28.6%2C194.5%2C80.5c51.9%2C51.9%2C80.5%2C121%2C80.5%2C194.5%2C0%2C18.5-1.9%2C37-5.5%2C55-2.7%2C13.5-15.9%2C22.3-29.5%2C19.5-13.5-2.7-22.3-15.9-19.5-29.5%2C3-14.7%2C4.5-29.9%2C4.5-45%2C0-60.1-23.4-116.6-65.9-159.1-42.5-42.5-99-65.9-159.1-65.9s-116.6%2C23.4-159.1%2C65.9-65.9%2C99-65.9%2C159.1%2C23.4%2C116.6%2C65.9%2C159.1c42.5%2C42.5%2C99%2C65.9%2C159.1%2C65.9%2C103.6%2C0%2C156.9-63.4%2C157.5-64.1%2C4.5-5.5%2C11.1-8.8%2C18.1-9.1%2C7.1-.4%2C13.9%2C2.3%2C18.9%2C7.3l139.8%2C139.9c9.8%2C9.8%2C9.8%2C25.6%2C0%2C35.4-4.8%2C4.8-11.2%2C7.3-17.6%2C7.3Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 22px;
}

.header {
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: var(--headerHeight);
  color: var(--textColor);
  font-size: 1.3rem;
  transition: all 1s ease;
  z-index: 1000;
}
.loaded .header {
  opacity: 1;
}

.header-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 min(5vw, 30px);
  width: 100%;
  height: var(--fixHeaderHeight);
}
.header-top > * {
  z-index: 100;
}
.header-main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
}

.header a,
.header span {
  display: block;
  position: relative;
  color: var(--textColor);
}

.logo {
  position: relative;
  width: calc(100% - 136px - min(10vw, 60px));
}
.fixed-header .logo {
  width: calc(100% - 136px);
}
.logo a {
  display: block;
  margin: 0 auto;
  width: fit-content;
  height: 100%;
  transition: all 0.3s ease;
}
.logo a span.logoText {
  overflow: hidden;
  display: -webkit-box;
  color: var(--textColor) !important;
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.fixed-header .logo a span.logoText {
  font-size: 1.8rem;
}
.logo a img {
  object-fit: contain;
  display: block;
  margin: 0 auto;
  width: auto;
  height: clamp(16px, var(--headerLogoHeight), var(--headerHeight));
  transition: all 0.3s ease;
}
.fixed-header .logo a img {
  height: clamp(14px, var(--fixHeaderLogoHeight), var(--fixHeaderHeight));
}
.dark.darkmode-1.header-darklogowhite .logo a img,
.darkmode-3.header-darklogowhite .logo a img {
  filter: brightness(0) invert(1);
}

.header-main > .header-menu,
.header-main > ul#appsItemCategoryTag {
  display: none;
  margin: 12px 0 -22px 0;
  transition: all 0.3s ease;
}

.header-menu-2 .header-main > .header-menu,
.header-menu-3 .header-main > .header-menu,
.header-menu-4 .header-main > ul#appsItemCategoryTag {
  display: flex;
  justify-content: center;
  gap: 18px;
}
.header-menu-2 .header-main > .header-menu > li,
.header-menu-4 .header-main > ul#appsItemCategoryTag > li {
  position: relative;
}
.header-menu-4 .header-main > ul#appsItemCategoryTag > li:nth-child(n + 6) {
  display: none;
}
.header-menu-2 .header-main > .header-menu > li > a,
.header-menu-2 .header-main > .header-menu > li > span,
.header-menu-3 .header-main > .header-menu > li > a,
.header-menu-3 .header-main > .header-menu > li > span,
.header-menu-4 .header-main > ul#appsItemCategoryTag > li > a {
  padding: 22px 6px;
  font-weight: var(--headFontWeight);
}
.header-menu-2 .header-main > .header-menu > li > a:after,
.header-menu-2 .header-main > .header-menu > li > span:after,
.header-menu-3 .header-main > .header-menu > li > a:after,
.header-menu-3 .header-main > .header-menu > li > span:after,
.header-menu-4 .header-main > ul#appsItemCategoryTag > li > a:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--textColor);
  transform: scale(0, 1);
  transition: all 0.2s ease;
}
.header-menu-2 .header-main > .header-menu > li > a:hover:after,
.header-menu-2 .header-main > .header-menu > li.header-category:hover > span:after,
.header-menu-3 .header-main > .header-menu > li > a:hover:after,
.header-menu-3 .header-main > .header-menu > li.header-category:hover > span:after,
.header-menu-4 .header-main > ul#appsItemCategoryTag > li:hover > a:after {
  transform: scale(1, 1);
}
.header-menu-2.header-hover-type-2 .header-main > .header-menu > li > a:after,
.header-menu-2.header-hover-type-2 .header-main > .header-menu > li > span:after,
.header-menu-3.header-hover-type-2 .header-main > .header-menu > li > a:after,
.header-menu-3.header-hover-type-2 .header-main > .header-menu > li > span:after,
.header-menu-4.header-hover-type-2 .header-main > ul#appsItemCategoryTag > li > a:after {
  top: 74%;
}
.header-menu-2.header-hover-type-3 .header-main > .header-menu > li > a:after,
.header-menu-2.header-hover-type-3 .header-main > .header-menu > li > span:after,
.header-menu-3.header-hover-type-3 .header-main > .header-menu > li > a:after,
.header-menu-3.header-hover-type-3 .header-main > .header-menu > li > span:after,
.header-menu-4.header-hover-type-3 .header-main > ul#appsItemCategoryTag > li > a:after {
  opacity: 0;
  top: 84%;
  left: 50%;
  width: 5px;
  height: 5px;
  background: var(--textColor);
  border-radius: 50%;
  transform: scale(1) translateX(-50%);
}
.header-menu-2.header-hover-type-3 .header-main > .header-menu > li > a:hover:after,
.header-menu-2.header-hover-type-3 .header-main > .header-menu > li > span:hover:after,
.header-menu-3.header-hover-type-3 .header-main > .header-menu > li > a:hover:after,
.header-menu-3.header-hover-type-3 .header-main > .header-menu > li > span:hover:after,
.header-menu-4.header-hover-type-3 .header-main > ul#appsItemCategoryTag > li > a:hover:after {
  opacity: 1;
  top: 74%;
  transform: scale(1) translateX(-50%);
}

.header-menu > li > #appsItemCategoryTag,
.header-main > #appsItemCategoryTag > li > ul {
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: calc(100% + 20px);
  left: calc(50% - 110px);
  padding: 20px;
  width: 220px;
  max-height: calc(80vh - 200px);
  background: var(--bgColor);
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  transition: all 0.3s ease;
}
.header-menu-3 .header-menu > li > #appsItemCategoryTag {
  display: grid;
  grid-template-columns: repeat(var(--categorylistNum), 1fr);
  gap: 30px;
  top: calc(100% + 42px);
  left: var(--padding);
  padding: 40px;
  width: calc(100% - var(--padding) - var(--padding));
}
.header-menu > li > #appsItemCategoryTag.open,
.header-main > #appsItemCategoryTag > li > ul.open {
  visibility: visible;
  opacity: 1;
  top: 100%;
}
.header-menu-3 .header-menu > li > #appsItemCategoryTag.open {
  top: calc(100% + 22px);
}
.header-menu > li > #appsItemCategoryTag > li > a,
.header-main > #appsItemCategoryTag > li > ul > li > a {
  padding: 5px 0;
}
.header-menu-3 .header-menu > li > #appsItemCategoryTag > li > a {
  font-weight: bold;
}
.header-menu > li > #appsItemCategoryTag > li > ul,
.header-main > #appsItemCategoryTag > li > ul > li > ul {
  padding: 8px 0 12px 12px;
}
.header-menu-3 .header-menu > li > #appsItemCategoryTag > li > ul {
  padding: 12px 0;
}
.header-menu > li > #appsItemCategoryTag > li > ul > li > a,
.header-main > #appsItemCategoryTag > li > ul > li > ul > li > a {
  padding: 5px 0;
}
@media (hover: hover) {
  .header-menu > li > #appsItemCategoryTag a:hover,
  .header-main > #appsItemCategoryTag > li > ul a:hover {
    opacity: 0.7;
  }
}

@media (max-width: 1000px) {
  .header-main > .header-menu,
  .header-main > ul#appsItemCategoryTag {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .header-top {
    height: var(--headerHeight);
  }
  .header-main {
    z-index: 1;
  }
  .drawer-open-wrap,
  .header-btn {
    width: 36px;
  }
  .header-btn .search {
    display: none;
  }
  .logo {
    width: 100%;
  }
  .fixed-header .logo {
    width: calc(100% - 68px);
  }
  .header {
    padding: 0 calc(min(5vw, 30px) + 36px);
  }
  .logo a span.logoText {
    font-size: 1.8rem;
  }
  .fixed-header .logo a span.logoText {
    font-size: 1.6rem;
  }
  .logo a img {
    height: clamp(12px, var(--headerLogoHeightSp), var(--headerHeight));
  }
  .fixed-header .logo a img {
    height: clamp(10px, var(--fixHeaderLogoHeight), var(--fixHeaderHeight));
  }
}

/* mv
------------------------------------------*/
.mv-wrap {
  overflow: hidden;
  position: relative;
  margin: 0 auto var(--margin) auto;
}
.mv-wrap.mv-full {
  height: calc(100vh - var(--headerHeight) - var(--informationBannerHeight) - var(--fixblogHeight));
  max-width: 100%;
}
.mv-wrap.type-2 {
  margin: 0 auto calc(var(--margin) - var(--padding)) auto;
  padding: 0 var(--padding) var(--padding) var(--padding);
}
.has-fixblog .mv-wrap.type-2 {
  margin: 0 auto calc(var(--margin) - var(--padding)) auto;
  padding: var(--padding);
}
.has-fixblog .mv-wrap.type-3 {
  padding: 20px 0 0 0;
}
.mv-wrap.type-4 {
  margin: 0 auto calc(var(--margin) - 20px) auto;
}
.has-fixblog .mv-wrap.type-4 {
  margin: 0 auto calc(var(--margin) - 20px) auto;
  padding: 20px 0 0 0;
}
.mv-wrap.mv-full.type-4 {
  padding-bottom: 20px;
}

.mv {
  overflow: hidden;
  opacity: 0;
  transition: all 1.5s 0.3s ease;
}
.viewed .mv {
  opacity: 1;
  transform: scale(1);
}
.mv-wrap.mv-full .mv {
  height: 100%;
}
.mv-wrap.type-2 .mv .bg,
.mv-wrap.type-4 .mv .bg {
  overflow: hidden;
  border-radius: var(--imageBorderRadiusMv2);
}
.mv-wrap.type-3 .mv .bg {
  overflow: hidden;
  margin: 0 0 0 auto;
  width: 80%;
  border-radius: var(--imageBorderRadiusMv3);
}
.mv .bg img {
  width: 100%;
}
.mv .bg img.sp {
  display: none;
}
.mv-wrap.mv-full .bg {
  height: 100%;
}
.mv-wrap.mv-full .bg img {
  object-fit: cover;
  height: 100%;
}
.mv-zoom .mv .swiper-slide-active img {
  animation: fadeZoom 2s ease both;
}
.mv-zoom.type-4 .mv .swiper-slide-active img {
  animation: none;
}
@keyframes fadeZoom {
  0% { transform: scale(1.15); }
  100% { transform: scale(1); }
}
.mv .banner {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  transform: translateY(-50%);
}
.mv .banner img {
  margin: 0 auto;
  max-width: 60%;
  max-height: 50%;
  animation: bannerZoomOut 0.6s ease both;
}
.mv .swiper-slide-active .banner img {
  animation: bannerZoomIn 0.6s 1.2s ease both;
}
@keyframes bannerZoomOut {
  0% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.2); }
}
@keyframes bannerZoomIn {
  0% { opacity: 0; transform: scale(1.2); }
  100% { opacity: 1; transform: scale(1); }
}

.mv .text {
  position: absolute;
  bottom: 15%;
  left: 0;
  padding: 0 var(--padding);
  width: 100%;
  height: fit-content;
  color: #fff;
  text-align: left;
}
.mv-wrap.type-3 .mv .text {
  bottom: 50%;
  color: var(--textColor);
  transform: translateY(50%);
}
.mv-wrap.type-4 .mv .text {
  bottom: calc(50% - 10px);
  transform: translateY(50%);
}

.mv .text .sub {
  margin: 0 0 6px 0;
  font-size: var(--headFontSizeS);
  white-space: pre-line;
  letter-spacing: 0.2em;
  animation: textZoomOut 0.6s ease both;
}
.mv .text .title {
  font-size: var(--headFontSize);
  white-space: pre-line;
  animation: textZoomOut 0.6s ease both;
}
.mv-wrap.titlesize-2 .mv .text .title {
  font-size: calc(var(--headFontSize) * 1.4);
}
.mv-wrap.titlesize-3 .mv .text .title {
  font-size: calc(var(--headFontSize) * 1.8);
}
.mv .text p {
  margin: 18px 0 0 0;
  font-size: 1.3rem;
  white-space: pre-line;
  letter-spacing: 0.2em;
  line-height: 2 !important;
  animation: textZoomOut 0.6s ease both;
}
.mv .text .btn-image {
  margin: 40px 0 0 0;
  animation: textZoomOut 0.6s ease both;
}
.mv .text .btn-image a {
  margin: 0 !important;
}
.btn-type-3 .mv-wrap.type-3 .mv .text .btn-image a {
  color: var(--textColor) !important;
  background: none !important;
  border-bottom: var(--textColor) 2px solid !important;
}
@keyframes textZoomOut {
  0% { opacity: 1; transform: translateX(0); }
  100% { opacity: 0; transform: translateX(-80px); }
}
.mv .swiper-slide-active .text .sub {
  animation: textZoomIn 0.6s 1.2s ease both;
}
.mv .swiper-slide-active .text .title {
  animation: textZoomIn 0.6s 1.3s ease both;
}
.mv .swiper-slide-active .text p {
  animation: textZoomIn 0.6s 1.4s ease both;
}
.mv .swiper-slide-active .text .btn-image {
  animation: textZoomIn 0.6s 1.5s ease both;
}
@keyframes textZoomIn {
  0% { opacity: 0; transform: translateX(-80px); }
  100% { opacity: 1; transform: translateX(0); }
}

.mv-scroll {
  display: none;
}
.mv-wrap.type-3 .mv-scroll {
  opacity: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  position: absolute;
  bottom: 0;
  left: var(--padding);
  transition: all 1s 0.3s ease;
}
.loaded .mv-wrap.type-3 .mv-scroll {
  opacity: 1;
}
.mv-wrap.type-3 .mv-scroll p {
  font-size: 1.0rem;
  writing-mode: vertical-rl;
}
.mv-wrap.type-3 .mv-scroll div {
  width: 1px;
  height: 50px;
  background: var(--textColor);
  animation: mvScroll 4s 4s ease infinite;
}
@keyframes mvScroll {
  0% {
    transform: scale(1, 1);
    transform-origin: bottom left;
  }
  30% {
    transform: scale(1, 0);
    transform-origin: bottom left;
  }
  60% {
    transform: scale(1, 0);
    transform-origin: top left;
  }
  100% {
    transform: scale(1, 1);
    transform-origin: top left;
  }
}

@media (max-width: 768px) {
  .mv-wrap.mv-full.type-4 {
    padding-bottom: 0;
  }
  .mv-wrap.type-4 .mv .bg {
    border-radius: 0;
  }
  .mv .bg img.pc {
    display: none;
  }
  .mv .bg img.sp {
    display: block;
  }
  .mv .text .title {
    line-height: 1.2;
  }
  .mv .text p {
    margin: 15px 0 0 0;
    font-size: 1.1rem;
  }
  .mv-wrap.type-4 .mv .text p {
    display: none;
  }
  .mv-wrap.type-3 .mv-scroll p {
    font-size: 1.0rem;
  }
  .mv-wrap.type-3 .mv-scroll div {
    height: 40px;
  }
}

.mv .swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  bottom: 30px;
}
.mv-wrap.type-3 .mv .swiper-pagination {
  justify-content: flex-end;
  padding: 0 30px;
}
.mv .swiper-pagination-bullet {
  opacity: 0.2;
  width: 8px;
  height: 8px;
  background: #fff;
  transition: all 0.3s ease;
}
.mv .swiper-pagination-bullet-active {
  opacity: 0.8;
  background: #fff;
}
.mv .swiper-pagination-bullet:only-child {
  display: block !important;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .mv .swiper-pagination {
    display: none;
  }
}

.mv .swiper-button-prev,
.mv .swiper-button-next {
  display: none;
}
.mv-wrap.type-4 .mv .swiper-button-prev,
.mv-wrap.type-4 .mv .swiper-button-next {
  display: grid;
  place-items: center;
  color: #fff;
  transition: all 0.3s ease;
}
.mv .swiper-button-prev:after,
.mv .swiper-button-next:after {
  font-size: 2.4rem;
}

.slideitem-wrap .swiper-button-prev,
.slideitem-wrap .swiper-button-next,
.baseCarousel .swiper-button-prev,
.baseCarousel .swiper-button-next {
  left: -34px;
  right: auto;
  width: 34px;
  height: 34px;
  color: var(--textColor);
  transition: all 0.3s ease;
}
.slideitem-wrap .swiper-button-next,
.baseCarousel .swiper-button-next {
  left: auto;
  right: -34px;
}
.slideitem-wrap .swiper-button-prev:after,
.slideitem-wrap .swiper-button-next:after,
.baseCarousel .swiper-button-prev:after,
.baseCarousel .swiper-button-next:after {
  font-size: 2.0rem;
}
@media (max-width: 768px) {
  .mv-wrap.type-4 .mv .swiper-button-prev,
  .mv-wrap.type-4 .mv .swiper-button-next {
    display: none;
  }
}

/* footer
------------------------------------------*/
.footer {
  color: var(--textColor);
  font-size: 1.2rem;
  background: var(--subBgColor);
}
.footer-top {
  display: flex;
  flex-direction: row-reverse;
  gap: var(--padding);
  position: relative;
  margin: 0 auto;
  padding: min(var(--margin), 100px) var(--padding);
  max-width: var(--maxWidth);
}
.has-mailmagazine .footer-top {
  flex-direction: row;
}
.footer-top h3 {
  margin: 0 0 25px 0;
  font-size: 1.4rem;
  font-weight: var(--headFontWeight);
}
.footer-about {
  width: 82%;
}
.has-mailmagazine .footer-about {
  width: 54%;
}
.footer-about-text {
  line-height: 1.8;
  white-space: pre-line;
}

.footer-menu {
  width: 18%;
}
.footer-menu > ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-menu ul li a {
  color: var(--textColor);
}
.footer-menu > ul ul {
  margin: 10px 0 0 10px;
}
.footer-menu > ul ul li {
  padding: 8px 0;
}

.mailmagazine {
  width: 28%;
}
.mailmagazine p {
  margin: 0 0 20px 0;
  white-space: pre-line;
}
.mailmagazine-form {
  position: relative;
  text-align: left;
  z-index: 0;
}
.x_mailMagazineSubscribe_field {
  display: flex;
  position: relative;
  background: var(--bgColor);
  border-radius: 100px;
  z-index: 1;
}
.x_mailMagazineSubscribe_field:after {
  content: '';
  opacity: 0.1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: var(--textColor) 1px solid;
  border-radius: 100px;
  z-index: -1;
}
input.x_mailMagazineSubscribe_input {
  margin: 0 !important;
  padding: 12px 14px !important;
  width: calc(100% - 50px) !important;
  color: var(--textColor) !important;
  font-size: 1.2rem !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
}
input.x_mailMagazineSubscribe_input::placeholder {
  color: inherit !important;
}
.x_mailMagazineSubscribe_field button {
  display: block;
  position: relative;
  margin: 0 0 0 auto;
  padding: 12px;
  width: 50px;
  height: auto;
  color: var(--textColor);
  font-size: 0;
  font-weight: bold;
  text-align: center;
  transition: all 0.3s ease;
}
.x_mailMagazineSubscribe_field button:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2071.42%2057.95%22%3E%3Cg%3E%3Cpolygon%20points%3D%220%2023.41%2017.09%2035.81%2063.63%206.21%2021.23%2038.8%2046.83%2057.36%2071.42%200%200%2023.41%22%2F%3E%3Cpolygon%20points%3D%2216.98%2057.95%2029.47%2048.3%2016.82%2039.61%2016.98%2057.95%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 20px;
  -webkit-mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2071.42%2057.95%22%3E%3Cg%3E%3Cpolygon%20points%3D%220%2023.41%2017.09%2035.81%2063.63%206.21%2021.23%2038.8%2046.83%2057.36%2071.42%200%200%2023.41%22%2F%3E%3Cpolygon%20points%3D%2216.98%2057.95%2029.47%2048.3%2016.82%2039.61%2016.98%2057.95%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 20px;
  background-color: var(--textColor);
}
@media (hover: hover) {
  .x_mailMagazineSubscribe_field button:hover {
    opacity: 0.7;
  }
}
.x_mailMagazineSubscribe_confirm {
  font-weight: bold;
}

.footer-bottom {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: min(var(--margin), 60px) var(--padding);
  max-width: var(--maxWidth);
}
.footer-top + .footer-bottom {
  padding: 0 var(--padding) min(var(--margin), 100px) var(--padding);
}
.x_message_view .footer-bottom {
  padding: min(var(--margin), 60px) var(--padding) 100px var(--padding);
}
.x_message_view .footer-top + .footer-bottom {
  padding: 0 var(--padding) 100px var(--padding);
}
.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
}
.footer-nav li a {
  color: var(--textColor);
  font-size: 1rem;
}
.copyright {
  opacity: 0.5;
  margin: 6px 0 0 0;
  color: var(--textColor);
  font-size: 1rem;
}
.apps-i18n {
  margin: 0 0 0 auto;
  padding: 0 0 0 5px;
}
.apps-i18n #i18 {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.apps-i18n #i18 > div select {
  padding: 0 24px 0 0 !important;
  min-width: 88px !important;
  height: 30px !important;
  color: var(--textColor) !important;
  font-size: 1.2rem !important;
  line-height: 30px !important;
  text-align: left !important;
  background:
    linear-gradient(45deg, transparent 50%, var(--textColor) 50%) no-repeat center right 4px / 4px 4px,
    linear-gradient(-45deg, transparent 50%, var(--textColor) 50%) no-repeat center right 0px / 4px 4px !important;
  background-color: var(--subBgColor) !important;
  border: none !important;
  border-bottom: var(--textColor) 1px solid !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.apps-i18n #i18 > div.currency select {
  min-width: 65px !important;
}
.footer-sns {
  display: flex;
  align-items: center;
  gap: 12px;
}
.footer-sns > div > a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
}
@media (hover: hover) {
  .footer-sns > div > a:hover {
    opacity: 0.7;
  }
}
.footer-sns > div > a img {
  max-width: 26px;
  max-height: 26px;
}
.footer-sns > div.twitter > a img {
  padding: 3px;
  background: #fff;
  border-radius: 4px;
}
#baseMenu .base a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
}
@media (hover: hover) {
  #baseMenu .base a:hover {
    opacity: 0.7;
  }
}
#baseMenu .base img {
  max-width: 28px;
  max-height: 28px;
}
#baseMenu .cart {
  display: none;
}

@media (max-width: 768px) {
  .footer h3 {
    position: relative;
    padding: 0 0 10px 0;
  }
  .footer h3:before,
  .footer h3:after {
    content: '';
    opacity: 0.15;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--textColor);
  }
  .footer h3:before {
    opacity: 1;
    width: 50px;
  }
  .footer-top,
  .has-mailmagazine .footer-top {
    flex-direction: column;
    gap: var(--margin);
  }
  .footer-about,
  .has-mailmagazine .footer-about {
    width: 100%;
  }
  .footer-menu {
    padding: 0;
    width: 100%;
  }
  .mailmagazine {
    width: 100%;
  }
  .footer-bottom{
    display: block;
    text-align: center;
  }
  .footer-sns {
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 5vh 0;
  }
  .footer-sns .apps-i18n {
    margin: 10px 0 0 0;
    padding: 0;
    width: 100%;
  }
  .footer-nav {
    justify-content: center;
  }
  .copyright {
    margin: 15px 0 0 0;
  }
}

.msg_startButton {
  opacity: 0;
  visibility: hidden;
  position: relative;
  box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.2) !important;
  transform: translateY(20px);
  transition: all 0.6s ease !important;
}
.scrolled .msg_startButton {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: all 0.6s 0.2s ease !important;
}
.msg_startButton:before {
  content: '';
  position: absolute;
  top: 1px;
  left: 0;
  width: 100%;
  height: calc(100% - 1px);
  mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20799.51%22%3E%3Cg%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22m0%2C79.96C0%2C35.75%2C35.8%2C0%2C80%2C0h640c44.2%2C0%2C80%2C35.75%2C80%2C79.96v479.69c0%2C44.22-35.8%2C79.96-80%2C79.96h-311.12l-206.22%2C154.57c-8.08%2C6.06-18.89%2C7.03-27.92%2C2.51-9.03-4.52-14.74-13.75-14.74-23.85v-133.23h-80c-44.2%2C0-80-35.74-80-79.96V79.96Zm240%2C133.23h320c14.73%2C0%2C26.67%2C11.94%2C26.67%2C26.67h0c0%2C14.73-11.94%2C26.67-26.67%2C26.67H240c-14.73%2C0-26.67-11.94-26.67-26.67h0c0-14.73%2C11.94-26.67%2C26.67-26.67Zm0%2C159.9h213.33c14.73%2C0%2C26.67%2C11.94%2C26.67%2C26.67h0c0%2C14.73-11.94%2C26.67-26.67%2C26.67h-213.33c-14.73%2C0-26.67-11.94-26.67-26.67h0c0-14.73%2C11.94-26.67%2C26.67-26.67Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 20px;
  -webkit-mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20799.51%22%3E%3Cg%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22m0%2C79.96C0%2C35.75%2C35.8%2C0%2C80%2C0h640c44.2%2C0%2C80%2C35.75%2C80%2C79.96v479.69c0%2C44.22-35.8%2C79.96-80%2C79.96h-311.12l-206.22%2C154.57c-8.08%2C6.06-18.89%2C7.03-27.92%2C2.51-9.03-4.52-14.74-13.75-14.74-23.85v-133.23h-80c-44.2%2C0-80-35.74-80-79.96V79.96Zm240%2C133.23h320c14.73%2C0%2C26.67%2C11.94%2C26.67%2C26.67h0c0%2C14.73-11.94%2C26.67-26.67%2C26.67H240c-14.73%2C0-26.67-11.94-26.67-26.67h0c0-14.73%2C11.94-26.67%2C26.67-26.67Zm0%2C159.9h213.33c14.73%2C0%2C26.67%2C11.94%2C26.67%2C26.67h0c0%2C14.73-11.94%2C26.67-26.67%2C26.67h-213.33c-14.73%2C0-26.67-11.94-26.67-26.67h0c0-14.73%2C11.94-26.67%2C26.67-26.67Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 20px;
  background: #fff;
}
.msg_startButton .msg_startButton__icon {
  display: none !important;
}
@media (max-width: 768px) {
  .msg_startButton {
    left: auto !important;
    right: 20px !important;
    width: 50px !important;
    height: 50px !important;
  }
  .item-detail-page .msg_startButton {
    bottom: 60px !important;
  }
  .msg_startButton .msg_startButton__text {
    display: none !important;
  }
}

/* index
------------------------------------------*/
.not-shop-pablic {
  margin: 0 0 var(--margin) 0;
  padding: 200px 0;
  width: 100%;
  text-align: center;
}

/* common */
.sec-title {
  position: relative;
  margin: 0 auto var(--titleMargin) auto;
}
.sec-title .title {
  opacity: 0;
  position: relative;
  padding: 4px 0;
  width: fit-content;
  transform: translateY(20px);
  transition: all 0.6s ease;
}
.viewed .sec-title .title {
  opacity: 1;
  transform: translateY(0);
}
.sec-title .title:before {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 0;
  height: 3px;
  background: var(--accentBgColor);
  transition: all 0.6s 0.3s ease;
  z-index: -1;
}
.head-type-2 .viewed .sec-title .title:before {
  width: 100%;
}
.head-type-3 .sec-title .title:before {
  top: 50%;
  left: -22px;
}
.head-type-3 .viewed .sec-title .title:before {
  width: 12px;
}
.head-type-4 .sec-title .title:before {
  opacity: 0;
  top: calc(var(--padding) * 1.2 * -1);
  left: calc(var(--padding) * -1);
  width: calc(var(--padding) * 1.8);
  height: calc(var(--padding) * 1.8);
  background: var(--subBgColor);
}
.head-type-4 .viewed .sec-title .title:before {
  opacity: 1;
}
.head-type-5 .sec-title .title:before {
  opacity: 0;
  top: -20px;
  left: -18px;
  width: 5px;
  height: 5px;
  background: var(--accentBgColor);
  border-radius: 50%;
}
.head-type-5 .viewed .sec-title .title:before {
  opacity: 1;
  top: -8px;
  left: -6px;
}
.head-type-6 .sec-title .title {
  margin: 0 auto;
}

.sec-title ul {
  opacity: 0;
  display: flex;
  gap: 15px;
  margin: 16px 0 0 0;
  transform: translateY(20px);
  transition: all 0.6s 0.1s ease;
}
.viewed .sec-title ul {
  opacity: 1;
  transform: translateY(0);
}
.sec-title ul li {
  cursor: pointer;
  position: relative;
  padding: 5px 0;
  font-size: 1.2rem;
  font-weight: var(--headFontWeight);
  transition: all 0.3s ease;
}
.sec-title ul li:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 3px;
  transition: all 0.3s ease;
}
.sec-title ul li.current:after {
  background: var(--textColor);
}
.head-type-2 .sec-title ul {
  gap: 7px;
}
.head-type-2 .sec-title ul li {
  padding: 5px 8px;
}
.head-type-2 .sec-title ul li:after {
  opacity: 0.1;
  height: 100%;
  border-radius: 2px;
}
.head-type-6 .sec-title ul {
  justify-content: center;
}

.sec-title .sub {
  opacity: 0;
  position: relative;
  margin: 4px 0 0 0;
  width: fit-content;
  color: var(--subTextColor);
  font-size: 1.2rem;
  font-weight: 400 !important;
  letter-spacing: 0.2em;
  transform: translateY(20px);
  transition: all 0.6s 0.1s ease;
}
.viewed .sec-title .sub {
  opacity: 1;
  transform: translateY(0);
}
.head-type-2 .sec-title .sub {
  margin: 18px 0 0 0;
}
.head-type-6 .sec-title .sub {
  margin: 0 auto;
  text-indent: 0.2em;
}

/* home */
.home .main {
  display: flex;
  flex-direction: column;
}
.home .main > * {
  order: 100;
  width: 100%;
}
.home .main .bm0:last-child {
  margin-bottom: 0;
}

.concept {
  margin: 0 auto var(--margin) auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.concept-content {
  margin: 0 0 0 auto;
  max-width: var(--themeContentWidth);
}
.concept-content .text {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s 0.2s ease;
}
.concept-content .text h3 {
  margin: 0 0 30px 0;
  font-size: var(--headFontSizeS);
  letter-spacing: 0.2em;
}
.concept-content .text p {
  line-height: 2.0;
  white-space: pre-line;
}
.concept-content .image {
  opacity: 0;
  position: relative;
  margin: 0 0 50px 0;
  transform: translateY(20px);
  transition: all 1s 0.3s ease;
}
.viewed .concept-content .image,
.viewed .concept-content .text {
  opacity: 1;
  transform: translateY(0);
}
.concept-content .image img {
  width: 100%;
  border-radius: var(--imageBorderRadiusL);
}
@media (max-width: 1000px) {
  .concept-content {
    align-items: flex-start;
  }
}
@media (max-width: 768px) {
  .concept-content {
    display: block;
  }
  .concept-content .image {
    width: 100%;
  }
  .concept-content .text {
    margin: var(--titleMargin) 0 0 0 !important;
    padding: 0;
    width: 100%;
  }
  .concept-content .text .btn-normal a {
    margin: 0 auto !important;
  }
}

.slideitem-wrap {
  margin: var(--margin) 0 0 0;
}
.home .slideitem-wrap {
  margin: 0 auto var(--margin) auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.slideitem-slide {
  opacity: 0;
  visibility: hidden;
  position: relative;
  margin: 0 0 0 auto;
  max-width: var(--themeContentWidth);
  transform: translateY(20px);
  transition: all 1s 0.2s ease;
}
.viewed .slideitem-slide {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.slideitem-slide .cs01,
.slideitem-slide .cs02,
.slideitem-slide .cs03 {
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 1s ease;
}
.slideitem-slide .swiper-container.current {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: all 1s 0.3s ease;
}
.cs02,
.cs03 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.slideitem-wrap .swiper-button-prev,
.slideitem-wrap .swiper-button-next,
.baseCarousel .swiper-button-prev,
.baseCarousel .swiper-button-next {
  left: -34px;
  right: auto;
  width: 34px;
  height: 34px;
  color: var(--textColor);
  transition: all 0.3s ease;
}
.slideitem-wrap .swiper-button-next,
.baseCarousel .swiper-button-next {
  left: auto;
  right: -34px;
}
.slideitem-wrap .swiper-button-prev:after,
.slideitem-wrap .swiper-button-next:after,
.baseCarousel .swiper-button-prev:after,
.baseCarousel .swiper-button-next:after {
  font-size: 2.0rem;
}

@media (max-width: 768px) {
  .slideitem-wrap .slideitem-slide {
    overflow: hidden;
    margin: 0 calc(var(--padding) * -1);
    padding: 0 var(--padding);
    max-width: none;
  }
  .slideitem-wrap .swiper {
    overflow: visible;
  }
  .cs02,
  .cs03 {
    padding: 0 var(--padding);
  }
  .slideitem-wrap .swiper-button-prev,
  .slideitem-wrap .swiper-button-next,
  .baseCarousel .swiper-button-prev,
  .baseCarousel .swiper-button-next {
    display: none;
  }
}

.bgimage {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 0 0 var(--margin) 0;
  padding: 0 var(--padding);
  height: 70vh;
  border-radius: var(--imageBorderRadiusL2);
}
.bgimage .image {
  opacity: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translateY(20px);
  transition: all 1s ease;
}
.bgimage.viewed .image {
  opacity: 1;
  transform: translateY(0);
}
.bgimage .image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transform: scale(1.2);
  transition: all 3s ease;
}
.bgimage.viewed .image img {
  transform: scale(1);
}
.bgimage .text {
  padding: 0 var(--padding);
  width: 100%;
  max-width: var(--maxWidth);
  color: #fff;
  text-align: center;
  z-index: 1;
}
.bgimage .text h2 {
  margin: 0 0 10px 0;
}
.bgimage .text h3 {
  margin: 0 0 30px 0;
  font-size: var(--headFontSizeS);
  letter-spacing: 0.2em;
}
.bgimage .text p {
  line-height: 2.0;
  white-space: pre-line;
}
.bgimage .text .btn-image {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s 0.4s ease;
}
.bgimage.viewed .text p,
.bgimage.viewed .text .btn-image {
  opacity: 1;
  transform: translateY(0);
}

.categorylist {
  margin: var(--margin) 0 0 0;
}
.home .categorylist {
  margin: 0 auto var(--margin) auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.categorylist > ul {
  opacity: 0;
  margin: 0 0 0 auto;
  max-width: var(--themeContentWidth);
  transform: translateY(20px);
  transition: all 1s 0.2s ease;
}
.categorylist.viewed > ul {
  opacity: 1;
  transform: translateY(0);
}
.categorylist.type-1 > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  text-align: center;
}
.categorylist > ul > li > a {
  display: grid;
  place-items: center;
  padding: 14px 18px 12px 18px;
  height: 100%;
  color: var(--textColor);
  font-size: 1.2rem;
  border: var(--textColor) 1px solid;
}
@media (hover: hover) {
  .categorylist > ul > li > a:hover {
    opacity: 0.7;
  }
}
.categorylist.type-2 > ul {
  display: grid;
  grid-template-columns: repeat(var(--categorylistNum), 1fr);
  gap: 10px;
}
.categorylist.type-2 > ul > li > a {
  padding: 14px 5px 12px 5px;
}
.categorylist.type-1 > ul > li > ul,
.categorylist.type-2 > ul > li > ul {
  display: none;
}
.categorylist.type-3 > ul {
  display: grid;
  grid-template-columns: repeat(var(--categorylistNum), 1fr);
  gap: var(--itemMarginV) var(--itemMarginH);
}
.categorylist.type-3 > ul > li > a {
  display: block;
  margin: 0 0 25px 0;
  padding: 0 0 20px 0;
  height: auto;
  font-size: 1.3rem;
  font-weight: bold;
  border: none;
  border-bottom: var(--textColor) 2px solid;
  border-radius: 0;
}
.categorylist.type-3 > ul > li > ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.categorylist.type-3 > ul > li > ul a {
  display: block;
  position: relative;
  padding: 2px 0;
  font-size: 1.2rem;
}
@media (max-width: 768px) {
  .categorylist > ul > li > a {
    padding: 12px 14px 11px 14px;
    font-size: 1.1rem;
  }
}

.bannerlist {
  display: flex;
  align-items: flex-start;
  gap: var(--padding);
  margin: 0 auto var(--margin) auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.bannerlist .big {
  width: 50%;
}
.bannerlist ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--itemMarginH);
  width: 50%;
}
.bannerlist.shift ul {
  padding: var(--margin) 0 0 0;
}
.bannerlist .big {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s ease;
}
.bannerlist li {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s 0.2s ease;
}
.bannerlist.viewed .big,
.bannerlist.viewed li {
  opacity: 1;
  transform: translateY(0);
}
.bannerlist a {
  overflow: hidden;
  display: block;
  position: relative;
  background: #000;
  border-radius: var(--imageBorderRadius);
}
.bannerlist a img {
  transition: all 0.6s ease;
}
@media (hover: hover) {
  .bannerlist  a:hover .image img {
    opacity: 0.7;
    transform: scale(1.1);
  }
}
.bannerlist a .text {
  position: absolute;
  top: 50%;
  left: 0;
  padding: 24px;
  width: 100%;
  color: #fff;
  letter-spacing: 0.2em;
  text-align: center;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  .bannerlist {
    display: block;
  }
  .bannerlist .big {
    margin: 0 0 var(--itemMarginH) 0;
    width: 100% !important;
  }
  .bannerlist ul {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
}

.news {
  margin: 0 auto var(--margin) auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.news ul {
  display: flex;
  flex-direction: column;
  margin: -20px 0 0 auto;
  max-width: var(--themeContentWidth);
}
.news ul li {
  opacity: 0;
  display: flex;
  align-items: center;
  gap: 40px;
  position: relative;
  padding: 28px 0;
  line-height: 1.8;
  transform: translateY(20px);
  transition: all 0.6s 0.1s ease;
}
.news ul li:nth-child(2) { transition-delay: 0.2s }
.news ul li:nth-child(3) { transition-delay: 0.3s }

.news ul li:after {
  content: '';
  opacity: 0.08;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--textColor);
}
.news.viewed ul li {
  opacity: 1;
  transform: translateY(0);
}
.news ul li .date {
  width: 120px;
  color: var(--subTextColor);
}
.news ul li .icon {
  padding: 1px 3px;
  width: 120px;
  color: var(--accentTextColor);
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  background: var(--accentBgColor);
  border-radius: 2px;
}
.news ul li .text {
  width: calc(100% - 320px);
}
.news ul li .text a {
  text-decoration: underline;
}
@media (max-width: 768px) {
  .news ul li {
    flex-wrap: wrap;
    gap: 15px 20px;
  }
  .news ul li .date {
    order: 2;
    font-size: 1.2rem;
  }
  .news ul li .icon {
    order: 1;
    font-size: 1.1rem;
  }
  .news ul li .text {
    order: 3;
    width: 100%;
  }
}

.feature {
  margin: 0 auto var(--margin) auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.feature ul {
  display: flex;
  gap: var(--itemMarginH);
  margin: 0 0 0 auto;
  max-width: var(--themeContentWidth);
}
.feature ul li {
  opacity: 0;
  flex: 1;
  position: relative;
  transform: translateY(20px);
  transition: all 0.6s 0.1s ease;
}
.feature.viewed ul li {
  opacity: 1;
  transform: translateY(0);
}
.feature ul li:nth-child(2) {
  transition: all 0.6s 0.2s ease;
}
.feature ul li:nth-child(3) {
  transition: all 0.6s 0.3s ease;
}
.feature ul li .num {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 36px;
  height: 36px;
  color: var(--accentTextColor);
  font-size: 1.2rem;
  text-align: center;
  line-height: 36px;
  background: var(--accentBgColor);
  border-radius: 50%;
}
.feature ul li .image {
  overflow: hidden;
  border-radius: var(--imageBorderRadiusL);
}
.feature ul li h3 {
  margin: 25px 0 20px 0;
  font-size: var(--headFontSizeS);
  letter-spacing: 0.2em;
}
.feature ul li p {
  font-size: 1.3rem;
  white-space: pre-line;
}
.feature.type-2 ul,
.feature.type-3 ul {
  flex-direction: column;
  gap: var(--titleMargin);
}
.feature.type-3 ul li {
  display: flex;
  align-items: center;
}
.feature.type-3 ul li .image {
  width: 60%;
}
.feature.type-3 ul li .text {
  padding: 0 0 0 var(--padding);
  width: 40%;
}
.feature.type-3 ul li:nth-child(2) {
  flex-direction: row-reverse;
}
.feature.type-3 ul li:nth-child(2) .num {
  right: auto;
  left: -5px;
}
.feature.type-3 ul li:nth-child(2) .text {
  padding: 0 var(--padding) 0 0;
}
@media (max-width: 768px) {
  .feature ul {
    flex-direction: column !important;
    gap: var(--titleMargin) !important;
  }
  .feature ul li {
    display: block !important;
  }
  .feature ul li:nth-child(2) .num {
    right: -12px !important;
    left: auto !important;
  }
  .feature ul li .image,
  .feature ul li .text {
    padding: 0 !important;
    width: 100% !important;
  }
}

.pickup {
  display: flex;
  gap: var(--padding);
  margin: 0 auto var(--margin) auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.pickup .image {
  opacity: 0;
  overflow: hidden;
  width: 50%;
  transform: translateY(20px);
  transition: all 1s ease;
}
.pickup.viewed .image {
  opacity: 1;
  transform: translateY(0);
}
.pickup .image img {
  width: 100%;
  border-radius: var(--imageBorderRadiusL);
}
.pickup .text {
  opacity: 0;
  align-self: center;
  width: 50%;
  transform: translateY(20px);
  transition: all 1s 0.4s ease;
}
.pickup.viewed .text {
  opacity: 1;
  transform: translateY(0);
}
.pickup .text .text-top {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  gap: var(--padding);
  margin: 0 0 var(--padding) 0;
}
.pickup .text .text-top .title {
  flex: 1;
  line-height: 1.7 !important;
  white-space: pre-line;
  writing-mode: vertical-rl;
}
.pickup .text .text-top .text-top-left {
  flex: 3;
  padding: var(--margin) 0 0 0 ;
}
.pickup .text .name {
  margin: 0 0 15px 0;
  font-size: 2rem;
  letter-spacing: 0.2em;
}
.pickup .text .price {
  margin: 0 0 30px 0;
  font-size: 2rem;
  letter-spacing: 0.2em;
}
.pickup .text p {
  line-height: 2.0;
  white-space: pre-line;
}
@media (max-width: 768px) {
  .pickup {
    display: block;
  }
  .pickup .image {
    width: 100%;
  }
  .pickup .text {
    padding: 0 var(--padding);
    width: 100%;
  }
  .pickup .text .text-top {
    margin-top: calc(var(--padding) * -1);
  }
}
@media (max-width: 600px) {
  .pickup .text {
    padding: 0;
  }
  .pickup .text .text-top {
    display: block;
    margin: 0;
  }
  .pickup .text .text-top .title {
    margin: var(--padding) 0;
    writing-mode: unset;
  }
  .pickup .text .text-top .text-top-left {
    padding: 0;
  }
}

.youtube {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 0 0 var(--margin) 0;
  padding: 0 var(--padding);
  height: 70vh;
  border-radius: var(--imageBorderRadiusL2);
}
.youtube-bg-movie {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s ease;
}
.youtube.viewed .youtube-bg-movie {
  opacity: 1;
  transform: translateY(0);
}
.mbYTP_wrapper:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.05);
  background-image: radial-gradient(rgba(0 ,0, 0, 0.1) 30%, transparent 31%), radial-gradient(rgba(0, 0, 0, 0.1) 30%, transparent 31%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}
.youtube .text {
  padding: 0 var(--padding);
  width: 100%;
  max-width: var(--maxWidth);
  color: #fff;
  text-align: center;
  z-index: 1;
}
.youtube .text h2 {
  margin: 0 0 10px 0;
}
.youtube .text h3 {
  margin: 0 0 30px 0;
  font-size: var(--headFontSizeS);
  letter-spacing: 0.2em;
}
.youtube .text p {
  line-height: 2.0;
  white-space: pre-line;
}
.youtube .text .btn-image {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s 0.4s ease;
}
.youtube.viewed .text p,
.youtube.viewed .text .btn-image {
  opacity: 1;
  transform: translateY(0);
}

.instagram {
  margin: 0 auto var(--margin) auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.instagram .instagram-content {
  opacity: 0;
  margin: 0 0 0 auto;
  max-width: var(--themeContentWidth);
  transform: translateY(20px);
  transition: all 1s ease;
}
.instagram.viewed .instagram-content {
  opacity: 1;
  transform: translateY(0);
}
.instagram .btn-normal {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s ease;
}
.instagram.viewed .btn-normal {
  opacity: 1;
  transform: translateY(0);
}
.instagram .btn-normal a {
  margin: 0 auto;
}

.coupon-banner a {
  opacity: 0;
  visibility: hidden;
  display: block;
  position: fixed;
  top: 50%;
  right: -20px;
  padding: 16px 15px 16px 16px;
  color: var(--textColor);
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  transform: translateY(-50%);
  transition: all 0.6s ease;
  z-index: 999;
}
.loaded .coupon-banner a {
  opacity: 1;
  right: 0;
  visibility: visible;
}
@media (hover: hover) {
  .coupon-banner a:hover {
    opacity: 0.7;
  }
}

.coupon-banner.type-0 a {
  display: none;
}
.coupon-banner.type-1 a {
  padding: 0;
  width: var(--padding);
  line-height: min(var(--padding), 60px);
}
.coupon-banner.type-2 a {
  color: var(--bgColor);
  background: var(--textColor);
}
.coupon-banner.type-3 a {
  color: var(--accentTextColor);
  background: var(--accentBgColor);
}

@media (max-width: 1000px) {
  .coupon-banner a {
    top: 30vh;
    padding: 11px;
    font-size: 1.0rem;
  }
}

.coupon {
  margin: 0 auto var(--margin) auto;
  background: var(--subBgColor);
}
.coupon-content {
  display: flex;
}
.coupon .image {
  opacity: 0;
  overflow: hidden;
  width: 70%;
  transition: all 1s ease;
  border-radius: var(--imageBorderRadiusL3);
}
.coupon.viewed .image {
  opacity: 1;
}
.coupon .image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transform: scale(1.2);
  transition: all 3s ease;
}
.coupon.viewed .image img {
  transform: scale(1);
}
.coupon .text {
  opacity: 0;
  align-self: center;
  padding: var(--padding);
  width: 30%;
  transform: translateY(20px);
  transition: all 1s 0.4s ease;
}
.coupon.viewed .text {
  opacity: 1;
  transform: translateY(0);
}

.coupon .text .title {
  margin: 0 0 20px 0;
  font-size: 2rem;
  white-space: pre-line;
}
.coupon .text p {
  margin: 0 0 30px 0;
  white-space: pre-line;
}
.coupon .text .icon {
  margin: 0 0 10px 0;
  padding: 4px 8px;
  width: fit-content;
  color: var(--bgColor);
  font-size: 1.0rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  background: var(--textColor);
  border-radius: 2px;
}
.coupon .text .code {
  margin: 0 0 30px 0;
  line-height: 1.1;
}
.coupon .text .note {
  color: var(--subTextColor);
  font-size: 1.1rem;
  white-space: pre-line;
  line-height: 1.6;
}
.coupon .text .btn-normal a {
  margin: 0 !important;
}
@media (max-width: 768px) {
  .coupon-content {
    flex-direction: column;
  }
  .coupon .image {
    width: 100%;
  }
  .coupon .text {
    padding: var(--margin) var(--padding);
    width: 100%;
  }
  .coupon .text .btn-normal a {
    margin: 0 auto !important;
  }
}

.newblog {
  margin: 0 auto var(--margin) auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.newblog-content {
  opacity: 0;
  margin: 0 0 0 auto;
  max-width: var(--themeContentWidth);
  transform: translateY(20px);
  transition: all 1s ease;
}
.newblog.viewed .newblog-content {
  opacity: 1;
  transform: translateY(0);
}
.newblog-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--itemMarginV) var(--itemMarginH);
}
.newblog-list-item {
  background: var(--newblogItemBgColor);
}
.newblog-list-item .image {
  overflow: hidden;
  margin: 0 0 15px 0;
  border-radius: var(--imageBorderRadius);
}
.newblog-list-item .image img {
  aspect-ratio: var(--newblogImageAspect);
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .newblog-list-item .image a:hover img {
    transform: scale(1.1);
  }
}
.newblog-list-item .title {
  font-weight: bold;
}
.newblog-list-item .date {
  margin: 3px 0 0 0;
  color: var(--subTextColor);
  font-size: 1.2rem;
}
.newblog-list-item p {
  display: none;
}
.newblog .btn-normal a {
  margin: 0 auto;
}
@media (max-width: 768px) {
  .newblog-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.blog-type-2 .newblog-list {
  grid-template-columns: repeat(2, 1fr);
  gap: var(--itemMarginH);
}
.blog-type-2 .newblog-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.blog-type-2 .newblog-list-item .image {
  margin: 0;
  width: 120px;
}
.blog-type-2 .newblog-list-item .text {
  width: calc(100% - 140px);
}
.blog-type-2 .newblog-list-item .title {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.5;
}
.blog-type-2 .newblog-list-item .date {
  margin: 5px 0 0 0;
}
.blog-type-2 .newblog-list-item p {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin: 12px 0 0 0;
  font-size: 1.2rem;
}
@media (max-width: 768px) {
  .blog-type-2 .newblog-list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.item-list-area {
  margin: 0 auto var(--margin) auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.home .item-list-area.hide {
  display: none;
}
.item-list-title {
  margin: var(--pageTitleMargin) 0;
}
.breadcrumb {
  opacity: 0;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 12px 0;
  font-size: 1rem;
  transition: all 0.6s ease;
}
.viewed .breadcrumb {
  opacity: 1;
}
.breadcrumb li:not(:last-child) {
  position: relative;
  padding: 0 18px 0 0;
}
.breadcrumb li:not(:last-child):after {
  content: '/';
  position: absolute;
  top: -1px;
  right: 6px;
}
.breadcrumb li:first-child a {
  display: block;
  font-size: 0;
}
.breadcrumb li:first-child a:after {
  content: var(--categoryHome);
  display: block;
  font-size: 1rem;
}
.item-list-title h1 {
  opacity: 0;
  font-size: var(--pageTitleSize);
  transition: all 0.6s 0.1s ease;
}
.viewed .item-list-title h1 {
  opacity: 1;
}
.item-list-child-category,
.saerch-result {
  opacity: 0;
  margin: calc(var(--pageTitleMargin) * -0.6) 0 var(--pageTitleMargin) 0;
  transform: translateY(20px);
  transition: all 0.6s 0.2s ease;
}
.viewed .item-list-child-category,
.viewed .saerch-result {
  opacity: 1;
  transform: translateY(0);
}
.item-list-child-category ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.item-list-child-category ul li a {
  display: block;
  padding: 5px 10px;
  font-size: 1.2rem;
  border: var(--textColor) 1px solid;
}
@media (hover: hover) {
  .item-list-child-category ul li a:hover {
    opacity: 0.7;
  }
}
@media (max-width: 768px) {
  .item-list-title h1 {
    text-align: center;
    text-indent: var(--headFontLs);
  }
  .breadcrumb,
  .item-list-child-category ul {
    justify-content: center;
  }
}

.use-categoryimage .item-list-title {
  position: relative;
  margin: 0 0 var(--pageTitleMargin) 0;
  height: var(--imageTitleHeight);
}
.use-categoryimage.header-design-2 .item-list-title,
.use-categoryimage.header-design-3 .item-list-title {
  margin-top: calc((var(--headerHeight) * 0.8 + var(--headerMargin)) * -1);
  height: calc(var(--imageTitleHeight) + var(--headerHeight));
}
.use-categoryimage .item-list-title .bg {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0 calc(50% - var(--vw) * 50);
  width: calc(var(--vw) * 100);
  height: 100%;
}
.use-categoryimage .item-list-title .bg div {
  opacity: 0;
  width: 100%;
  height: 100%;
  transform: scale(1.2);
  transition: all 1s ease;
}
.use-categoryimage .viewed .item-list-title .bg div {
  opacity: 1;
  transform: scale(1);
}
.use-categoryimage .item-list-title .text {
  position: absolute;
  bottom: 40px;
  left: 0;
  width: 100%;
}
.use-categoryimage .item-list-title .text .breadcrumb {
  color: #fff;
  transition: all 0.6s 0.6s ease;
}
.use-categoryimage .item-list-title .text .breadcrumb a {
  color: #fff;
}
.use-categoryimage .item-list-title .text h1 {
  color: #fff;
  transition: all 0.6s 0.6s ease;
}
.use-categoryimage .item-list-child-category,
.use-categoryimage .saerch-result {
  transition: all 0.6s ease;
}
@media (max-width: 768px) {
  .use-categoryimage .item-list-title .text {
    bottom: 50%;
    transform: translateY(50%);
  }
  .use-categoryimage.header-design-2 .item-list-title .text,
  .use-categoryimage.header-design-3 .item-list-title .text {
    padding-top: var(--headerHeight);
  }
}

.item-list-wrap {
  opacity: 0;
  margin: 0 0 0 auto;
  max-width: var(--themeContentWidth);
  transform: translateY(20px);
  transition: all 1s ease;
}
.viewed .item-list-wrap {
  opacity: 1;
  transform: translateY(0);
}
.item-list-page .item-list-wrap {
  max-width: 100%;
}
.item-list {
  display: grid;
  grid-template-columns: repeat(var(--itemNum), 1fr);
  gap: var(--itemMarginV) var(--itemMarginH);
}
.item-list-item {
  position: relative;
}
.item-list-item .label_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  z-index: 2;
}
.item-list-item .image {
  position: relative;
  margin: 0 0 var(--imageMargin) 0;
}
.item-list-item .image .rate-area {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 1;
}
.item-list-item .image .rate-area div {
  padding: 6px 8px;
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  background: var(--noticeColor);
  border-radius: calc(var(--imageBorderRadius) / 2);
}
.item-list-item .image a {
  overflow: hidden;
  display: block;
  border-radius: var(--imageBorderRadius);
}
.item-list-item .image a img {
  aspect-ratio: var(--itemListImageAspect);
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all 0.6s ease;
}
@media (hover: hover) {
  .item-list-item .image a:hover img {
    transform: scale(1.1);
  }
}
.item-list-item .text {
  text-align: var(--itemListTextAlign);
}
.item-list-item .text .name {
  margin: 0 0 6px 0;
  font-weight: var(--itemListNameFontWeight);
  line-height: 1.5;
}
.item-list-item .text .price .sale {
/*  color: var(--noticeColor);*/
}
.item-list-item .text .tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--itemListTextAlign);
  gap: 5px;
}
.item-list-item .text .tags div {
  margin: 10px 0 0 0;
  padding: 6px 10px 5px 10px;
  color: var(--accentBgColor);
  font-size: 1rem;
  text-align: center;
  text-indent: var(--bodyFontLs);
  border: var(--accentBgColor) 1px solid;
}
.dark.darkmode-1 .item-list-item .text .tags div,
.darkmode-3 .item-list-item .text .tags div {
  color: var(--textColor);
  border: var(--textColor) 1px solid;
}
.item-list-more {
  display: none;
}
.item-list-more.show {
  display: block;
}
.item-list-more span {
  margin: calc(var(--titleMargin) * 1.5) auto 0 auto;
}
.item-list-loading {
  display: none;
  justify-content: center;
  gap: 6px;
  padding: 60px 0;
}
.item-list-loading.show {
  display: flex;
}
.item-list-loading span {
  opacity: 0.5;
  width: 8px;
  height: 8px;
  background: var(--textColor);
  animation: 0.9s bounce infinite alternate;
}
.item-list-loading span:nth-child(2) {
  animation-delay: 0.3s;
}
.item-list-loading span:nth-child(3) {
  animation-delay: 0.6s;
}
@keyframes bounce {
  to {
    opacity: 0.2;
    transform: translate3d(0, -5px, 0);
  }
}
@media (max-width: 768px) {
  .item-list-item .text {
    font-size: 1.3rem;
  }
}

/* item
------------------------------------------*/
.item {
  display: flex;
}
.fixed-cart-btn {
  display: none;
}
.item-image {
  opacity: 0;
  position: relative;
  padding: 0 calc(var(--padding) / 2) 0 0;
  width: 50%;
  will-change: min-height;
  transform: translateY(20px);
  transition: all 1s ease;
}
.viewed .item-image {
  opacity: 1;
  transform: translateY(0);
}
.item.fixed .item-image-inner,
.item.fixed .item-detail-inner {
  position: sticky;
  top: var(--headerHeight);
  top: calc(var(--fixHeaderHeight) + 10px)
}
.item-image .label_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  z-index: 2;
}
.item-detail {
  opacity: 0;
  padding: 0 0 0 calc(var(--padding) / 2);
  width: 50%;
  will-change: min-height;
  z-index: 1;
  transform: translateY(20px);
  transition: all 1s 0.2s ease;
}
.viewed .item-detail {
  opacity: 1;
  transform: translateY(0);
}

.item-image-list {
  margin: 0 0 10px 0;
  border-radius: var(--imageBorderRadius);
}
.item-image-list img {
  width: 100%;
}
.item.type-2 .item-image-list,
.item.type-3 .item-image-list {
  border-radius: 0;
}
.item.type-2 .item-image-list .swiper-slide,
.item.type-3 .item-image-list .swiper-slide {
  overflow: hidden;
  border-radius: var(--imageBorderRadius);
}
.item-image-thumbnail {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 5px;
}
.item-image-thumbnail div {
  cursor: pointer;
  overflow: hidden;
  border-radius: calc(var(--imageBorderRadius) / 2);
}
.item-image .swiper-pagination {
  display: none;
}

.item.type-2 .item-image-thumbnail,
.item.type-3 .item-image-thumbnail {
  display: none;
}
.item.type-2 .swiper-wrapper,
.item.type-3 .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: calc(var(--padding) / 2);
}
.item.type-3 .swiper-wrapper {
  grid-template-columns: repeat(2, 1fr);
}
.item.type-3 .swiper-wrapper .swiper-slide:only-child {
  grid-column: 1 / 3;
}

.purchaseButton button,
.purchaseButton a {
  cursor: pointer;
  display: block;
  margin: 15px 0 0 0;
  padding: 20px;
  width: 100%;
  color: var(--cartBtnTextColor);
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  background: var(--cartBtnBgColor);
  border-radius: var(--inputBorderRadius);
  transition: all 0.3s ease;
}
.purchaseButton .purchaseButton button:disabled,
.purchaseButton .purchaseButton__btn--soldOut,
.purchaseButton .purchaseButton__btn--noItem,
.purchaseButton .purchaseButton__btn--disabled,
.purchaseButton .purchaseButton__btn--endOfSale,
.purchaseButton .purchaseButton button:disabled:hover,
.purchaseButton .purchaseButton__btn--soldOut:hover,
.purchaseButton .purchaseButton__btn--noItem:hover,
.purchaseButton .purchaseButton__btn--disabled:hover,
.purchaseButton .purchaseButton__btn--endOfSale:hover {
  opacity: 0.3;
}
@media (hover: hover) {
  .purchaseButton button:hover,
  .purchaseButton a:hover {
    opacity: 0.7;
  }
}

.item-detail h1 {
  margin: 0 0 20px 0;
  font-size: var(--headFontSizeS);
}
.item-detail h1.font-body {
  font-family: var(--bodyFontEn), var(--bodyFontJa), sans-serif;
  letter-spacing: var(--bodyFontLs) !important;
}
.item-detail .price:not(.related-items .text .price) {
  position: relative;
  margin: 0 0 20px 0;
}
.item-detail .price .default:not(.related-items .text .price .default) {
  font-size: var(--headFontSizeS);
}
.item-detail .price .default span {
  opacity: 0.7;
  margin: 0 0 0 3px;
  font-size: 1.2rem;
}
.item-detail .price div:first-child {
  display: flex;
  align-items: center;
  gap: 5px;
}
.item-detail .price div:last-child {
  margin: 8px 0 0 0;
}
.item-detail .price .rate {
  padding: 3px 5px;
  color: #fff;
  font-size: 1rem;
  background: var(--noticeColor);
  border-radius: 2px;
}
.item-detail .price .normal {
  opacity: 0.7;
  font-size: 1.2rem;
  text-decoration: line-through;
}
.item-detail .price .current {
  color: var(--noticeColor);
  font-size: var(--headFontSizeS);
}
.item-detail .price .current span {
  opacity: 0.7;
  margin: 0 0 0 3px;
  font-size: 1.2rem;
}

.bnplBanner {
  margin: 0 0 25px 0;
  border-radius: var(--inputBorderRadius);
}

#itemAttention {
  padding: 18px 20px;
  color: var(--subTextColor);
  font-size: 1.1rem;
  background: var(--subBgColor);
  border-radius: var(--inputBorderRadius);
}
#itemAttention > :first-child {
  margin-top: 0 !important;
}
#itemAttention p {
  line-height: 2;
}
#itemAttention p a {
  color: var(--subTextColor);
}
#itemAttention .salesPeriod--term,
#itemAttention .preOrder,
#itemAttention .lottery,
#itemAttention .takeout,
#itemAttention .communityLabel {
  margin: 10px 0;
  padding: 0;
  color: var(--textColor);
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.8;
  background: none;
}
.item-detail-inner .soldout {
  margin: 0 0 15px 0;
  color: var(--noticeColor);
  font-size: 1.4rem;
  line-height: 1;
}
.item-detail-inner .coming-soon,
#itemAttention .preOrder__label,
#itemAttention .lottery__label,
#itemAttention .takeout__label,
#itemAttention .communityLabel__title {
  margin: 0 0 10px 0;
  padding: 10px 12px 9px 12px;
  width: fit-content;
  font-size: 1.3rem !important;
  line-height: 1;
  border: var(--textColor) 1px solid;
}
.membershipPoint__amountWrapper {
  color: var(--textColor) !important;
  font-size: 1.5rem !important;
  font-weight: bold !important;
}
.membershipPoint__amountWrapper .membershipPoint__amount {
  margin: 0 5px 0 0 !important;
  font-size: inherit !important;
  font-weight: bold !important;
}
#itemAttention .communityLabel .communityLabel__note {
  margin: 0;
  font-size: 1.3rem !important;
  line-height: 1.8;
}
.purchaseButton #communityPurchase .communitySignin p {
  margin: 0 !important;
  font-size: 1.1rem !important;
  text-align: center;
}
.item-detail .item-commontext {
  margin: 0 0 20px 0;
  font-size: 1.3rem;
  font-weight: bold;
  white-space: pre-line;
}
.item-detail .item-description {
  font-size: 1.3rem;
}
.item-detail .item-description a {
  text-decoration: underline;
}

@media (hover: hover) {
  .item-detail .item-description a:hover {
    opacity: 0.7;
  }
}
.item-detail #purchase_form {
  margin: 25px 0;
}
.purchaseElement,
.itemOptionElement {
  margin: 0 0 2vh 0;
}
.purchaseElement label,
.itemOptionElement label {
  display: block;
  margin: 0 0 8px 0;
  font-weight: bold;
}
.itemOption__caption {
  margin: 3px 0 8px 0;
  font-size: 1rem;
}
.itemOption__caption--error {
  display: block;
  margin: 5px 0 0 0;
  color: #d00;
  font-size: 1.2rem;
}
.itemOption__count {
  margin: 3px 0 0 0;
  font-size: 1rem;
  text-align: right;
}
.ageVerificationWarning {
  opacity: 0.7;
  margin: 2vh 0 !important;
  color: var(--textColor) !important;
  font-size: calc(var(--headFontSizeS) + 0.1rem) !important;
  line-height: 1.3 !important;
}
#communityPurchase .communitySignin {
  margin: 25px 0 !important;
  padding: 20px !important;
  background: var(--subBgColor);
  border: none !important;
  border-radius: var(--inputBorderRadius) !important;
}
#communityPurchase .communitySignin p {
  margin: 0 !important;
  font-size: 1.3rem !important;
}
.item-sns-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 25px 0 0 0;
}
.item-sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 1.2rem;
}
.item-sns .title {
  margin: 0 18px 0 0;
}
.item-sns div a {
  display: flex;
  align-items: center;
}
.item-sns div a img {
  margin: 0 7px 0 0;
  width: 15px;
}
.item-sns div.twitter a img {
  padding: 2px;
  background: #fff;
  border-radius: 4px;
}
@media (hover: hover) {
  .item-sns div a:hover {
    opacity: 0.7;
  }
}
#reportBtn {
  font-size: 1.1rem;
}
@media (max-width: 900px) {
  .item {
    display: block;
  }
  .item-image {
    margin: 0 0 50px 0;
    padding: 0;
    width: 100%;
  }
  .item-image-inner {
    position: relative !important;
    top: auto !important;
  }
  .item-image-thumbnail {
    grid-template-columns: repeat(12, 1fr);
  }
  .item-detail {
    padding: 0;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .item {
    padding: 0;
  }
  .header-design-2 .item,
  .header-design-3 .item {
    padding: calc(var(--headerMargin) * 2) 0 0 0;
  }
  .fixed-cart-btn {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
  }
  .fixed-cart-btn span,
  .fixed-cart-btn a {
    opacity: 0;
    display: block;
    padding: 15px;
    width: 100%;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    background: var(--noticeColor);
    box-shadow: 0 -10px 10px -5px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(20px);
    transition: all 0.6s ease;
  }
  .fixed-cart-btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--bgColor);
    background: var(--textColor);
  }
  .scrolled .fixed-cart-btn span,
  .scrolled .fixed-cart-btn a {
    opacity: 1;
    transform: translateY(0);
  }
  .item-image {
    overflow: hidden;
    margin: 0 calc(50% - var(--vw) * 50) 40px calc(50% - var(--vw) * 50);
    padding: 0 0 30px 0;
    width: calc(var(--vw) * 100);
  }
  .item.type-2 .item-image,
  .item.type-3 .item-image {
    margin: 0 0 40px 0;
    padding: 0;
    width: 100%;
  }
  .item-image-list {
    overflow: visible;
    margin: 0;
  }
  .item-image-list img {
    border-radius: 0;
  }
  .item-image-thumbnail {
    display: none;
  }
  .item-image .swiper-pagination {
    display: block;
    bottom: -30px;
  }
  .item-image .swiper-pagination-bullet {
    opacity: 0.2;
    width: 5px;
    height: 5px;
    background: var(--textColor);
  }
  .item-image .swiper-pagination-bullet-active {
    opacity: 0.8;
    background: var(--textColor);
  }
  .item-image .swiper-pagination-bullet:only-child {
    display: block !important;
    margin: 0 auto;
  }
  .item-detail h1 {
    padding: 0;
  }
  .item-sns-wrap {
    margin: 25px 0 50px 0;
  }
}

#appsItemDetailCustom {
  overflow: hidden;
  margin: var(--margin) calc(50% - var(--vw) * 50) 0 calc(50% - var(--vw) * 50);
  width: calc(var(--vw) * 100);
  background: var(--subBgColor);
}
#appsItemDetailCustomTag {
  margin: 0 auto;
  padding: min(var(--margin), 100px) var(--padding);
  max-width: var(--maxWidth);
}
.narrow #appsItemDetailCustomTag {
  max-width: 900px;
}
#appsItemDetailCustomTag > :first-child {
  margin-top: 0 !important;
}
#appsItemDetailCustomTag > :last-child {
  margin-bottom: 0 !important;
}
.appsItemDetailCustomTag_heading {
  opacity: 0;
  margin: 80px 0 20px 0;
  font-size: var(--headFontSizeS);
  transform: translateY(20px);
  transition: all 1s ease;
}
.appsItemDetailCustomTag_heading.viewed {
  opacity: 1;
  transform: translateY(0);
}
.appsItemDetailCustomTag_description {
  opacity: 0;
  margin: 20px 0;
  transform: translateY(20px);
  transition: all 1s ease;
}
.appsItemDetailCustomTag_description.viewed {
  opacity: 1;
  transform: translateY(0);
}
.appsItemDetailCustomTag_image {
  opacity: 0;
  display: block;
  margin: 50px 0;
  width: 100%;
  border-radius: var(--imageBorderRadius);
  transform: translateY(20px);
  transition: all 1s ease;
}
.appsItemDetailCustomTag_image.viewed {
  opacity: 1;
  transform: translateY(0);
}
.appsItemDetailCustomTag_youtube,
.appsItemDetailCustomTag_vimeo {
  opacity: 0;
  overflow: hidden;
  margin: 50px 0;
  border-radius: var(--imageBorderRadius);
  transform: translateY(20px);
  transition: all 1s ease;
}
.appsItemDetailCustomTag_youtube.viewed,
.appsItemDetailCustomTag_vimeo.viewed {
  opacity: 1;
  transform: translateY(0);
}
.appsItemDetailCustomTag_youtube iframe,
.appsItemDetailCustomTag_vimeo iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}
.appsItemDetailCustomTag_slider {
  opacity: 0;
  margin: 50px auto;
  max-width: 600px;
  transform: translateY(20px);
  transition: all 1s ease;
}
.appsItemDetailCustomTag_slider.viewed {
  opacity: 1;
  transform: translateY(0);
}
.baseCarouselItem {
  position: relative;
}
.baseCarouselItem img {
  width: 100%;
  border-radius: var(--imageBorderRadius);
}
.baseCarouselItem .baseCarouselCaption {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 15px;
  width: 100%;
  color: #fff;
  font-size: 1.2rem;
}
@media (max-width: 768px) {
  .appsItemDetailCustomTag_heading {
    margin: 60px 0 20px 0;
  }
  .appsItemDetailCustomTag_image,
  .appsItemDetailCustomTag_youtube,
  .appsItemDetailCustomTag_slider {
    margin: 40px auto;
  }
  .appsItemDetailCustomTag_slider {
    max-width: 80%;
  }
}

.related-items {
  margin: 40px 0 0 0;
}
.related-items h2 {
  margin: 0 0 25px 0;
  font-size: 2rem;
  text-align: center;
}
.related-items ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 768px) {
  .related-items ul {
    gap: 15px;
  }
}
@media (max-width: 600px) {
  .related-items ul {
    gap: 10px;
  }
}
.related-items .image {
  position: relative;
  margin: 0 0 var(--imageMargin) 0;
}
.related-items .image a {
  overflow: hidden;
  display: block;
  border-radius: var(--imageBorderRadius);
}
.related-items .image a img {
  aspect-ratio: var(--itemListImageAspect);
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all 0.6s ease;
}
@media (hover: hover) {
  .related-items .image a:hover img {
    transform: scale(1.1);
  }
}
.related-items .text .name {
  font-weight: var(--itemListNameFontWeight);
  line-height: 1.5;
  text-align: var(--itemListTextAlign);
}
.related-items .text .price {
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--itemListTextAlign);
  align-items: center;
  gap: 8px;
  margin: 6px 0 0 0;
}

.review01__title {
  display: none;
}
.item-detail-review {
  margin: var(--margin) 0 0 0;
}
.review01 {
  opacity: 0;
  margin: 0 0 0 auto !important;
  max-width: var(--themeContentWidth) !important;
  transform: translateY(20px);
  transition: all 1s ease;
}
.viewed .review01 {
  opacity: 1;
  transform: translateY(0);
}
.review01__tabWrap {
  border: none !important;
  border-bottom: var(--subBgColor) 1px solid !important;
}
.review01__tab:after {
  border-bottom: var(--textColor) 2px solid !important;
  bottom: -2px !important;
}
.review01__trigger:before {
  border-right: var(--textColor) 1px solid !important;
  border-bottom: var(--textColor) 1px solid !important;
}
.review01__radio:checked + label {
  font-weight: normal !important;
}
.review01__list {
  border: none !important;
}
.review01__listChild + .review01__listChild {
  border-top: var(--subBgColor) 1px solid !important;
}
.review01__itemName,
.review01__comment {
  color: var(--textColor) !important;
}
.review01__itemVariation,
.review01__date {
  color: var(--subTextColor) !important;
}
.review01__reply {
  color: var(--subTextColor) !important;
  background: var(--subBgColor) !important;
}

/* common
------------------------------------------*/
.image-title {
  position: relative;
  margin: 0 0 var(--pageTitleMargin) 0;
  height: var(--imageTitleHeight);
}
.header-design-2 .image-title,
.header-design-3 .image-title {
  margin-top: calc((var(--headerHeight) * 0.8 + var(--headerMargin)) * -1);
  height: calc(var(--imageTitleHeight) + var(--headerHeight));
}
.image-title .image {
  overflow: hidden;
  margin: 0 calc(50% - var(--vw) * 50);
  width: calc(var(--vw) * 100);
  height: 100%;
}
.image-title .image img {
  opacity: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transform: scale(1.2);
  transition: all 1s ease;
}
.viewed .image-title .image img {
  opacity: 1;
  transform: scale(1);
}
.image-title h2 {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  color: #fff;
  font-size: var(--pageTitleSize);
  text-align: center;
  transform: translateY(-50%);
  transition: all 0.6s 0.6s ease;
}
.viewed .image-title h2 {
  opacity: 1;
}
@media (max-width: 768px) {
  .image-title h2 {
    display: grid;
    place-items: center;
    bottom: 0;
    height: 100%;
  }
  .header-design-2 .image-title h2,
  .header-design-3 .image-title h2 {
    padding-top: var(--headerHeight);
  }
}

.page-title {
  opacity: 0;
  margin: var(--pageTitleMargin) 0;
  font-size: var(--pageTitleSize);
  text-align: center;
  transition: all 0.6s 0.6s ease;
}
.viewed .page-title {
  opacity: 1;
}

/* blog
------------------------------------------*/
.blogListMain {
  opacity: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--itemMarginV) var(--itemMarginH);
  transform: translateY(20px);
  transition: all 1s 0.3s ease;
}
.viewed .blogListMain {
  opacity: 1;
  transform: translateY(0);
}
.blogListMain .blog_inner {
  display: flex;
  flex-direction: column;
  padding: 0 !important;
  border: none !important;
}
.blogListMain .blog_inner .blog_head_image {
  order: 1;
  overflow: hidden;
  margin: 0 0 15px 0;
  border-radius: var(--imageBorderRadius);
}
.blogListMain .blog_inner .blog_head_image a img {
  aspect-ratio: var(--newblogImageAspect);
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .blogListMain .blog_inner .blog_head_image a:hover img {
    transform: scale(1.1);
  }
}
.blogListMain .blog_inner .blog_title {
  order: 2;
}
.blogListMain .blog_inner .blog_title h2 {
  font-size: 1.4rem !important;
  font-weight: bold !important;
  font-family: var(--bodyFontEn), var(--bodyFontJa), sans-serif !important;
  line-height: 1.3 !important;
  letter-spacing: var(--bodyFontLs) !important;
}
.blogListMain .blog_inner .blog_publish {
  order: 3;
  margin: 3px 0 0 0 !important;
  color: var(--subTextColor);
  font-size: 1.2rem;
}
.blogListMain .blog_inner .blog_contents {
  display: none;
}

.paginate-wrp {
  grid-column: 1 / 5;
  margin: 60px 0 0 0 !important;
}
.paginate-wrp .paginate {
  justify-content: center;
  gap: 5px;
}
.paginate-wrp .paginate li,
.paginate-wrp .paginate li.current {
  margin: 0 !important;
  font-weight: bold;
  background: none;
  border: none;
}
.paginate-wrp .paginate li a,
.paginate-wrp .paginate li a:hover,
.paginate-wrp .paginate li.current a,
.paginate-wrp .paginate li.current a:hover {
  display: block;
  padding: 10px 3px;
  min-width: 36px;
  color: var(--textColor);
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1;
  text-align: center;
  background: var(--subBgColor);
  border: var(--subBgColor) 1px solid;
  border-radius: var(--inputBorderRadius);
}
.paginate-wrp .paginate li.current a,
.paginate-wrp .paginate li.current a:hover {
  color: var(--bgColor);
  background: var(--textColor);
  border: var(--textColor) 1px solid;
}
@media (hover: hover) {
  .paginate-wrp .paginate li a:hover {
    opacity: 0.7;
  }
}
.paginate-wrp .paginate li.prev a,
.paginate-wrp .paginate li.next a {
  font-size: 0;
}
.paginate-wrp .paginate li.prev a:after {
  content: '<';
  margin: 0 0 0 -4px;
  font-size: 1.2rem;
}
.paginate-wrp .paginate li.next a:after {
  content: '>';
  margin: 0 0 0 -4px;
  font-size: 1.2rem;
}
@media (max-width: 1000px) {
  .blogListMain {
    grid-template-columns: repeat(3, 1fr);
  }
  .paginate-wrp {
    grid-column: 1 / 4;
  }
}@media (max-width: 768px) {
  .blogListMain {
    grid-template-columns: repeat(2, 1fr);
  }
  .paginate-wrp {
    grid-column: 1 / 3;
  }
  .blog_body .youtube,
  .blog_body .vimeo {
    height: 240px;
  }
}

.blog-type-2 .blogListMain {
  grid-template-columns: repeat(2, 1fr);
  gap: var(--itemMarginH);
}
.blog-type-2 .paginate-wrp {
  grid-column: 1 / 3;
}
.blog-type-2 .blogListMain .blog_inner {
  justify-content: center;
  padding: 0 0 0 140px !important;
  height: 120px;
}
.blog-type-2 .blogListMain .blog_inner .blog_head_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
}
.blog-type-2 .blogListMain .blog_inner .blog_title {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.5;
}
.blog-type-2 .blogListMain .blog_inner .blog_publish {
  margin: 5px 0 0 0;
}
.blog-type-2 .blogListMain .blog_inner .blog_contents {
  order: 4;
  display: block;
  height: auto !important;
}
.blog-type-2 .blogListMain .blog_inner .blog_contents .blog_body .text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin: 12px 0 0 0;
  font-size: 1.2rem;
}
.blog-type-2 .blogListMain .blog_inner .blog_contents .read_more {
  display: none;
}
@media (max-width: 768px) {
  .blog-type-2 .blogListMain {
    grid-template-columns: repeat(1, 1fr);
  }
  .blog-type-2 .paginate-wrp {
    grid-column: 1 / 1;
  }
}

.blogDetail {
  opacity: 0;
  margin: 0 auto;
  max-width: 900px;
  transform: translateY(20px);
  transition: all 1s 0.3s ease;
}
.viewed .blogDetail {
  opacity: 1;
  transform: translateY(0);
}
.blogDetail .blog_inner {
  padding: 0 !important;
  border: none !important;
}
.blogDetail .blog_title h2 {
  margin: 0 0 10px 0 !important;
  padding: 0;
  font-size: var(--headFontSizeS);
}
.blogDetail .blog_publish {
  opacity: 0.7;
  margin: 0 0 25px 0 !important;
  font-size: 1.2rem !important;
}
.blogDetail .blog_publish .publish_date {
  margin: 0 !important;
}
#about .publish_date {
  font-size: inherit !important;
}
.social {
  margin: 7vh 0 0 0 !important;
}
.social a img {
  width: auto;
  height: 26px;
}
.social .tw a img {
  padding: 2px;
  background: #fff;
  border-radius: 4px;
}
.blog_body > p,
.blog_body > div {
  margin: 20px 0;
}
.blog_body h3 {
  margin: 40px 0 20px 0;
}
.blog_body .youtube,
.blog_body .vimeo {
  width: 100%;
  height: 400px;
}
.blog_body img {
  border-radius: var(--imageBorderRadius) !important;
}

@media (max-width: 768px) {
  .paginate-wrp {
    grid-column: 1 / 3;
  }
  .blog_body .youtube,
  .blog_body .vimeo {
    height: 240px;
  }
}

/* privacy, law, contact
------------------------------------------*/
#privacy,
#law,
.contact {
  margin: 0 auto;
  max-width: 900px;
}
#privacy h2,
#law h2 {
  margin: var(--pageTitleMargin) 0;
  font-size: var(--subPageTitleSize);
  text-align: center;
}
#law h3 {
  margin: 50px 0 20px 0;
  font-size: min(var(--headFontSizeS), 2.6rem);
  font-weight: bold;
}
#law h3:nth-child(2) {
  margin: 0 0 20px 0;
}
#privacy a,
#law a {
  font-weight: normal;
  text-decoration: underline;
}
#privacy p.privacy_intro {
  margin: 0 0 50px 0;
}
#privacy dl dt,
#law dl dt {
  margin: 0 0 20px 0;
  font-size: min(var(--headFontSizeS), 2.6rem);
}
#privacy dl dd,
#law dl dd {
  margin: 0 0 50px 0;
  line-height: 1.8;
}
@media (max-width: 768px) {
  #privacy h2,
  #law h2 {
    font-size: min(var(--subPageTitleSize), 2.4rem);
  }
  #law h3 {
    font-size: min(var(--headFontSizeS), 2.0rem);
  }
}

.contact h1 {
  display: none;
}

.inquirySection {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s 0.3s ease;
}
.viewed .inquirySection {
  opacity: 1;
  transform: translateY(0);
}
.contact p {
  margin: 0 0 30px 0;
}
.contact dl dt {
  display: flex;
  align-items: center;
  margin: 50px 0 20px 0;
  font-size: 1.6rem;
}
.contact dl dt:first-child {
  margin: 0 0 20px 0;
}
.contact dl dt span {
  margin: 0 0 0 5px;
  font-size: 1.2rem;
  font-weight: normal;
}
.contact dl dd.error {
  margin: 5px 0 0 0;
  color: #d00;
  font-size: 1.2rem;
}
.contact dl dd input {
  padding: 12px !important;
  background: none !important;
  border: var(--textColor) 1px solid !important;
}
.contact dl dd textarea {
  padding: 12px !important;
  height: 200px !important;
  background: none !important;
  border: var(--textColor) 1px solid !important;
}
.contact .control-panel {
  margin: var(--padding) auto 0 auto !important;
}
#inquiryCompleteSection {
  text-align: center;
}
#inquiryCompleteSection a {
  text-decoration: underline;
}

/* about
------------------------------------------*/
.about-main {
  opacity: 0;
  margin: 0 auto;
  max-width: 900px;
  transform: translateY(20px);
  transition: all 1s 0.3s ease;
}
.viewed .about-main {
  opacity: 1;
  transform: translateY(0);
}
.about-main :first-child {
  margin-top: 0 !important;
}
.about-main :last-child {
  margin-bottom: 0 !important;
}
.about-main h3,
.about-main h4 {
  margin: 80px 0 20px 0;
  font-size: var(--headFontSizeS);
  white-space: pre-line;
}
.about-main .text {
  margin: 25px 0;
  line-height: 2.0;
  white-space: pre-line;
}
.about-main .text.shop-info {
  white-space: normal;
}
.about-main .text.shop-info a {
  text-decoration: underline;
}
.about-main .image {
  margin: 3.5vh 0;
}
.about-main .image img {
  border-radius: var(--imageBorderRadiusL);
}
.about-sns {
  display: flex;
  gap: 15px;
}
.about-sns li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
}
@media (hover: hover) {
  .about-sns li a:hover {
    opacity: 0.7;
  }
}
.about-sns li a img {
  max-width: 26px;
  max-height: 26px;
}
.about-main .googlemap {
  margin: 3.2vh 0;
}
.about-main .googlemap iframe {
  margin: 0 0 0 auto;
  width: 100% !important;
  height: 400px;
  border-radius: var(--imageBorderRadius);
}

@media (max-width: 768px) {
  .about-title h2 {
    font-size: 2.4rem;
  }
  .about-title .image + h2 {
    padding: 90px 5vw;
  }
  .about-title h2 {
    font-size: 2.4rem;
  }
  .about-side {
    display: none;
  }
  .about-main {
    margin: 0;
    width: 100%;
  }
  .about-main h3,
  .about-main h4 {
    margin: 60px 0 20px 0;
  }
  .about-sns {
    justify-content: center;
  }
}

/* membership
------------------------------------------*/
.membership .draft .message {
  margin: 0 !important;
  padding: 200px 0;
  width: 100%;
  text-align: center;
  line-height: 1 !important;
}
#membership {
  --white: var(--bgColor) !important;
  --black: var(--textColor) !important;
  --black-light: var(--subBgColor) !important;
  --checked-color: var(--textColor) !important;
  padding: 0 !important;
}

.membership-img-exist .page-title-wrap {
  position: relative;
  margin: 0 0 var(--pageTitleMargin) 0;
  height: var(--imageTitleHeight);
  z-index: 1;
}
.header-design-2.membership-img-exist .page-title-wrap,
.header-design-3.membership-img-exist .page-title-wrap {
  margin-top: calc((var(--headerHeight) * 0.8 + var(--headerMargin)) * -1);
  height: calc(var(--imageTitleHeight) + var(--headerHeight));
}
.membership-img-exist .page-title-wrap .page-title {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 0;
  margin: 0;
  width: 100%;
  color: #fff;
  font-size: var(--pageTitleSize);
  text-align: center;
  transform: translateY(-50%);
  transition: all 0.6s 0.6s ease;
}
.membership-img-exist .viewed .page-title-wrap .page-title {
  opacity: 1;
}
@media (max-width: 768px) {
  .membership-img-exist .page-title-wrap .page-title {
    display: grid;
    place-items: center;
    bottom: 0;
    height: 100%;
  }
  .membership-img-exist.header-design-2 .page-title-wrap .page-title,
  .membership-img-exist.header-design-3 .page-title-wrap .page-title {
    padding-top: var(--headerHeight);
  }
}

.membership-img-exist .main {
  margin-top: calc((var(--imageTitleHeight) + var(--pageTitleMargin)) * -1);
}
.header-design-2.membership-img-exist .main,
.header-design-3.membership-img-exist .main {
  margin-top: calc((var(--imageTitleHeight) + var(--pageTitleMargin) + (var(--headerHeight) * 0.8) + var(--headerMargin)) * -1);
}
.membership .guide .img-wrapper,
.membership .mypage .img-wrapper {
  overflow: hidden;
  margin: 0 calc(50% - var(--vw) * 50) var(--pageTitleMargin) calc(50% - var(--vw) * 50) !important;
  width: calc(var(--vw) * 100) !important;
  height: var(--imageTitleHeight) !important;
  max-height: var(--imageTitleHeight) !important;
}
.header-design-2 .membership .guide .img-wrapper,
.header-design-2 .membership .mypage .img-wrapper,
.header-design-3 .membership .guide .img-wrapper,
.header-design-3 .membership .mypage .img-wrapper {
  height: calc(var(--imageTitleHeight) + var(--headerHeight)) !important;
  max-height: calc(var(--imageTitleHeight) + var(--headerHeight)) !important;
}
.membership .guide .img-wrapper .img,
.membership .mypage .img-wrapper .img {
  opacity: 0;
  height: 100% !important;
  max-height: 100% !important;
  transform: scale(1.2);
  transition: all 1s ease;
}
.viewed .membership .guide .img-wrapper .img,
.viewed .membership .mypage .img-wrapper .img {
  opacity: 1;
  transform: scale(1);
}

.membership .content,
.membership .about-point,
.membership .mypage-link,
.membership .register,
.membership .login,
.membership .heading-wrapper,
.membership .info,
.membership .leave-wrapper {
  opacity: 0;
  margin: 0;
  padding: 0;
  max-width: 100%;
  transform: translateY(20px);
  transition: all 1s 0.3s ease;
}
.viewed .membership .content,
.viewed .membership .about-point,
.viewed .membership .mypage-link,
.viewed .membership .register,
.viewed .membership .login,
.viewed .membership .heading-wrapper,
.viewed .membership .info,
.viewed .membership .leave-wrapper {
  opacity: 1;
  transform: translateY(0);
}
.membership .guide .content .heading,
.membership .guide .about-point .heading-point {
  margin: 0 0 25px 0 !important;
  font-size: var(--headFontSizeS) !important;
  line-height: inherit !important;
}
.membership .guide .content .description {
  margin: 0 !important;
}
.membership .guide .content .description > p {
  font-size: 1.4rem !important;
  font-weight: normal !important;
  line-height: 2.0 !important;
}
.membership .guide .about-point {
  margin: 50px 0 0 0 !important;
}
.membership .guide .about-point .description {
  margin: 0 !important;
  line-height: 2.0 !important;
}
.membership .guide .about-point .description .description-details {
  font-size: inherit !important;
  line-height: inherit !important;
}
.membership .guide .register {
  margin: min(var(--margin), 80px) 0 0 0 !important;
  padding: var(--padding) !important;
  background: var(--subBgColor) !important;
}
.membership .guide .register .box {
  color: var(--textColor) !important;
  background: var(--bgColor) !important;
}
.membership .guide .register .box:before {
  color: var(--bgColor) !important;
  background: var(--textColor) !important;
}
.membership .guide .register .mail-magazine .mail-magazine-wrapper .checkbox:after {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cg%3E%3Cpolygon%20class%3D%22st0%22%20points%3D%22440.469%2C73.413%20218.357%2C295.525%2071.531%2C148.709%200%2C220.229%20146.826%2C367.055%20218.357%2C438.587%20289.878%2C367.055%20512%2C144.945%22%3E%3C%2Fpolygon%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 14px;
  -webkit-mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cg%3E%3Cpolygon%20class%3D%22st0%22%20points%3D%22440.469%2C73.413%20218.357%2C295.525%2071.531%2C148.709%200%2C220.229%20146.826%2C367.055%20218.357%2C438.587%20289.878%2C367.055%20512%2C144.945%22%3E%3C%2Fpolygon%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 14px;
  background: var(--subBgColor) !important;
}
.membership .login .heading,
.membership .guide .register .heading {
  font-size: var(--headFontSizeS) !important;
  line-height: 1.8 !important;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
}
.membership .guide .register .description-wrapper {
  margin: 20px 0;
}
.membership .guide .register .description-link,
.membership .guide .register .login-link,
.membership .login .register-link {
  color: var(--textColor) !important;
}
.membership .guide .register .mail-magazine .mail-magazine-wrapper .label {
  color: var(--textColor) !important;
}
.membership .guide .mypage-link .link {
  margin: 50px auto 0 auto !important;
}
.membership .mypage {
  display: flex;
  flex-direction: column;
}
.membership .mypage > * {
  order: 10;
  width: 100%;
}
.membership .mypage .img-wrapper {
  order: 1;
}
.membership .mypage .img-wrapper img {
  width: 100% !important;
  height: auto !important;
}
.membership .mypage .heading-wrapper {
  margin: 0 0 var(--titleMargin) 0 !important;
  padding: 0 0 15px 0;
  text-align: center !important;
  border-bottom: var(--textColor) 1px solid;
}
.membership .mypage .heading {
  font-size: var(--headFontSizeS) !important;
}
.membership .mypage .logout {
  color: var(--textColor) !important;
  background: none !important;
}
.membership .mypage .info {
  gap: 50px !important;
}
.membership .mypage .content .customer-info {
  margin: 0 0 12px 0 !important;
}
.membership .mypage .card {
  margin: 0 !important;
  color: var(--textColor) !important;
  background: var(--subBgColor) !important;
  border: var(--subBgColor) 1px solid !important;
  border-radius: 3px !important;
}
.membership .mypage .card .logo-image {
  margin: 0 0 15px 0 !important;
}
.membership .mypage .content .bar {
  background: var(--textColor) !important;
}
.membership .mypage .content .definition-description .mail-address,
.membership .mypage .content .definition-description .point-amount {
  padding: 12px !important;
  color: var(--textColor) !important;
  background: var(--subBgColor) !important;
  border-radius: 3px !important;
}
.membership .mypage .content .customer-info-wrapper .edit-wrapper .edit,
.membership .draft .logout,
.membership .draft .content .point-info-login-link {
  color: inherit !important;
}
.membership .mypage .content .definition-description {
  gap: 20px !important;
  padding: 0 !important;
  background: none !important;
}
.membership .mypage .content .definition-description .mail-address {
  padding: 12px 18px !important;
  background: var(--subBgColor) !important;
}
.membership .mypage .content .definition-description .edit {
  color: var(--textColor) !important;
  font-weight: normal !important;
  background: none !important;
  border: var(--textColor) 1px solid !important;
}
.membership .mypage .content .definition-description .point-expiry-date,
.membership .mypage .content .definition-description .point-history .link,
.membership .mypage .content .about-wrapper .about,
.membership .point-history .content .point-history-summary .point-name,
.membership .point-history .content .point-history-summary .description {
  color: var(--textColor) !important;
}
.membership .mypage .leave-wrapper {
  margin: var(--titleMargin) 0 0 0 !important;
}
.membership .mypage .leave-wrapper .leave {
  color: var(--textColor) !important;
  background: none !important;
}
.membership .mypage .leave-modal-wrapper .leave-overlay {
  z-index: 9999 !important;
}
.membership .mypage .leave-modal-wrapper .leave-modal {
  z-index: 10000 !important;
}
.membership .mypage .leave-modal-wrapper .leave-modal-new {
  --white: #fff !important;
  --black: #252525 !important;
  --black-light: #6a6f76 !important;
  --checked-color: var(--black) !important;
}

@media (max-width: 768px) {
  .membership .guide .img-wrapper .img,
  .membership .mypage .img-wrapper .img {
    object-fit: cover !important;
    height: 100% !important;
    max-height: 100% !important;
  }
  .membership .mypage .card {
    max-width: 100% !important;
  }
  .membership .mypage .content .customer-info {
    margin: 0 0 12px 0 !important;
  }
}

/* community
------------------------------------------*/
.communityMain {
  opacity: 0;
  padding: 0 !important;
  width: 100% !important;
  transform: translateY(20px);
  transition: all 1s 0.3s ease;
}
.viewed .communityMain {
  opacity: 1;
  transform: none;
}
.communityMain h1.communityTitle {
  margin: 0 0 25px 0 !important;
  font-size: var(--headFontSizeS) !important;
  line-height: inherit !important;
  text-align: left !important;
}
.communityMain .communityContent {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
.communityMain .communityNav {
  flex: 1;
  margin: 0 0 0 50px !important;
  padding: 20px;
  width: 100% !important;
  background: var(--subBgColor);
  border-radius: var(--imageBorderRadius);
}
.communityMain .communityTerm a {
  color: var(--textColor) !important;
}
.communityMain .communityOverviewWrap {
  flex: 2;
}
.communityMain .communityOverviewWrap .communityOverview {
  width: 100% !important;
  font-size: inherit !important;
  line-height: 2.0 !important;
  white-space: pre-line;
}
.communityMain .communitySignin {
  padding: 16px 0 0 0 !important;
  border: none !important;
  border-top: var(--subBgColor) 1px solid !important;
}
.communityMain #limitedItem,
.communityMain #limitedUrl {
  width: 100% !important;
}
.communityMain .communityItemHeader,
.communityMain .communityUrlHeader {
  position: relative !important;
  margin: var(--margin) 0 var(--titleMargin) 0 !important;
  padding: 0 !important;
  color: var(--textColor) !important;
  font-size: var(--headFontSizeS) !important;
  text-align: left !important;
}
.communityMain .communityItems {
  display: grid !important;
  grid-template-columns: repeat(var(--itemNum), 1fr);
  gap: var(--itemMarginV) var(--itemMarginH);
}
.communityMain .communityItems .communityItem {
  margin: 0 !important;
}
.communityMain .communityItems .communityItem .communityImageContainer {
  overflow: hidden;
  display: block !important;
  margin: 0 0 20px 0;
  width: 100% !important;
  height: auto !important;
  border-radius: var(--imageBorderRadius);
}
.communityMain .communityItems .communityItem a .communityImageContainer img {
  aspect-ratio: var(--itemListImageAspect);
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .communityMain .communityItems .communityItem a:hover .communityImageContainer img {
    transform: scale(1.1);
  }
}
.communityMain .communityItems .communityItem .communityLabelImage {
  top: 0 !important;
  left: 0 !important;
  width: 50px !important;
  height: auto !important;
}
.communityMain .communityItems .communityItem .communityItemTitle {
  margin: 0 !important;
  width: auto !important;
  max-height: auto !important;
  text-align: center;
}
.communityMain .communityItems .communityItem .communityItemPrice {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 8px 0 0 0 !important;
  font-size: 1.4rem !important;
}
.communityMain .communityItems .communityItem .communityItemPrice.discount {
  color: var(--noticeColor) !important;
}
.communityMain .communityItems .communityItem .communityItemPrice.discount .discount {
  margin: 0 !important;
  padding: 3px 5px !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: normal !important;
  background: var(--noticeColor) !important;
  border: none !important;
  border-radius: 0 !important;
}
.communityMain .communityItems .communityItem .communityItemMeta {
  text-align: center;
}
.communityMain .communityItems .communityItem .communityItemMetaSub {
  margin: 0 !important;
  text-align: center !important;
}
.communityMain .communityItems .communityItem .communityItemLabel,
.communityMain .communityItems .communityItem .communityItemLabelBlock {
  display: inline-block !important;
  margin: 8px auto 0 auto !important;
  color: var(--noticeColor) !important;
  font-size: 1.1rem !important;
  font-weight: normal !important;
  text-align: center !important;
  border: none !important;
  border-radius: 2px !important;
}
.communityMain .communityItems .communityItem .communityItemLabelBlock.community {
  color: #fff !important;
  background: var(--communityColor) !important;
  border: none !important;
}
.communityMain section.limited p {
  margin: 0 !important;
}
.communityMain #productsLimitedUrl {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--itemMarginV) var(--itemMarginH);
}
.communityMain #productsLimitedUrl .urlBox {
  overflow: hidden !important;
  margin: 0 !important;
  padding: 15px !important;
  width: 100% !important;
  border: none !important;
  background: none !important;
  border: var(--textColor) 1px solid !important;
  border-radius: 0 !important;
}
.communityMain #productsLimitedUrl .urlBox .url {
  margin: 5px 0 0 0 !important;
}
.communityMain .communityModalTextNotice {
  margin: 60px 0 0 0 !important;
  font-size: 1.4rem !important;
  text-align: center !important;
}
.communityMain .communityModalTextNotice.openLeaveModal {
  margin: 30px 0 0 0 !important;
  color: var(--textColor) !important;
  font-size: 1.4rem !important;
}
.communityModal .communityModalTextNotice {
  margin: 0 !important;
  text-align: left !important;
}
.communityMain .communityModalTextNotice a {
  text-decoration: underline;
}
.communityMain .openLeaveModal {
  margin: 5vh 0 0 0 !important;
  color: var(--textColor) !important;
}
.communityMain .communityModalButton {
  color: #fff !important;
}

@media (max-width: 768px) {
  .communityMain .communityContent {
    display: block !important;
  }
  .communityMain .communityNav {
    margin: var(--padding) 0 0 0 !important;
    width: 100% !important;
  }
  .communityMain .communityOverviewWrap {
    width: 100% !important;
  }
  .communityMain #productsLimitedUrl {
    grid-template-columns: repeat(1, 1fr);
    gap: var(--itemMarginH);
  }
}