*, ::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;
  --headerHeight: 80px;
  --headerMargin: 16px;
  --margin: 150px;
  --padding: 100px;
  --maxWidth: 1680px;
  --titleMargin: 70px;

  --bodyFontLs: 0.05em;
  --headFontLs: 0;
  --headFontLh: 1.2;

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

  --imageMargin: 24px;

  --pageTitleMargin: 100px;
  --pageTitleSize: min(var(--headFontSize), 8.0rem);
  --subPageTitleSize: clamp(2.0rem, var(--headFontSize), 5.0rem);
  --imageTitleHeight: 480px;

  --categorylistNum: 6;

  --imageBorderRadius: 0;
  --inputBorderRadius: 0;

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

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

    --imageMargin: 22px;

    --headFontSize: var(--headFontSizeTb);

    --pageTitleSize: var(--headFontSizeTb);
    --subPageTitleSize: clamp(2.0rem, var(--headFontSizeTb), 5.0rem);
    --imageTitleHeight: 420px;

    --headFontSizeS: calc(clamp(2.0rem, var(--headFontSizeTb), 4.0rem) - 0.4rem);
    --mvFontSizeS: max(calc(var(--headFontSizeTb) * 0.65), 2.0rem);

    --categorylistNum: 5;
  }
}
@media (max-width: 1000px) {
  html {
    --padding: 50px;
    --headerMargin: 12px;
    --titleMargin: 40px;
    --categorylistNum: 4;
  }
}
@media (max-width: 768px) {
  html {
    scroll-padding-top: 60px;
    --headerHeight: 60px;
    --headerMargin: 10px;
    --margin: 80px;
    --padding: 38px;
    --titleMargin: 30px;

    --headFontLh: 1.3;

    --itemMarginV: 40px;
    --itemMarginH: 20px;

    --imageMargin: 16px;

    --headFontSize: var(--headFontSizeSp);
    
    --pageTitleMargin: 80px;
    --pageTitleSize: var(--headFontSizeSp);
    --subPageTitleSize: clamp(2.0rem, var(--headFontSizeSp), 5.0rem);
    --imageTitleHeight: 320px;

    --headFontSizeS: calc(clamp(1.8rem, var(--headFontSizeSp), 2.8rem) - 0.2rem);
    --mvFontSizeS: max(calc(var(--headFontSizeSp) * 0.65), 2.0rem);

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

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

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

.design-type-2 {
  --itemMarginV: 20px;
  --itemMarginH: 20px;
}
@media (max-width: 600px) {
  .design-type-2 {
    --itemMarginV: 12px;
    --itemMarginH: 12px;
  }
}

/* color
------------------------------------------*/
body.theme-white {
  --themeBgColor: #fff;
  --themeTextColor: #111;
  --themeSubBgColor: #fafafa;
  --themeSubTextColor: #999;
  --themeNoticeColor: #c31111;
  --themeAccentBgColor: #000;
  --themeAccentTextColor: #fff;
  --themeGradientColor: linear-gradient(135deg, #333, #111);
  --themeGradientColor2: linear-gradient(135deg, #223a3e, #111);

  --darkThemeBgColor: #111;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #222;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #c31111;
  --darkThemeAccentBgColor: #000;
  --darkThemeAccentTextColor: #fff;
  --darkThemeGradientColor: linear-gradient(135deg, #333, #111);
  --darkThemeGradientColor2: linear-gradient(135deg, #223a3e, #111);
}
body.theme-gray {
  --themeBgColor: #fff;
  --themeTextColor: #777;
  --themeSubBgColor: #fafafa;
  --themeSubTextColor: #bbb;
  --themeNoticeColor: #e35050;
  --themeAccentBgColor: #222;
  --themeAccentTextColor: #fff;
  --themeGradientColor: linear-gradient(135deg, #444, #777);
  --themeGradientColor2: linear-gradient(135deg, #ccc, #999);

  --darkThemeBgColor: #333;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #222;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #e35050;
  --darkThemeAccentBgColor: #111;
  --darkThemeAccentTextColor: #fff;
  --darkThemeGradientColor: linear-gradient(135deg, #444, #777);
  --darkThemeGradientColor2: linear-gradient(135deg, #444, #111);
}
body.theme-beige {
  --themeBgColor: #fff;
  --themeTextColor: #574f49;
  --themeSubBgColor: #f8f4f1;
  --themeSubTextColor: #a89d94;
  --themeNoticeColor: #e59191;
  --themeAccentBgColor: #bfb1a6;
  --themeAccentTextColor: #fff;
  --themeGradientColor: linear-gradient(135deg, #e3d6cc, #bfb1a6);
  --themeGradientColor2: linear-gradient(135deg, #a38d7c, #bfb1a6);
  
  --darkThemeBgColor: #574f49;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #36322f;
  --darkThemeSubTextColor: #7d736b;
  --darkThemeNoticeColor: #e59191;
  --darkThemeAccentBgColor: #bfb1a6;
  --darkThemeAccentTextColor: #fff;
  --darkThemeGradientColor: linear-gradient(135deg, #e3d6cc, #bfb1a6);
  --darkThemeGradientColor2: linear-gradient(135deg, #a38d7c, #bfb1a6);
}
body.theme-blue {
  --themeBgColor: #fff;
  --themeTextColor: #1c2535;
  --themeSubBgColor: #f8f4f0;
  --themeSubTextColor: #8991a2;
  --themeNoticeColor: #e44545;
  --themeAccentBgColor: #1b3765;
  --themeAccentTextColor: #fff;
  --themeGradientColor: linear-gradient(135deg, #3c6979, #1b3765);
  --themeGradientColor2: linear-gradient(135deg, #4a509f, #1b3765);
  
  --darkThemeBgColor: #1c2535;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #2f3e58;
  --darkThemeSubTextColor: #6f7f9a;
  --darkThemeNoticeColor: #e44545;
  --darkThemeAccentBgColor: #1b3765;
  --darkThemeAccentTextColor: #fff;
  --darkThemeGradientColor: linear-gradient(135deg, #3c6979, #1b3765);
  --darkThemeGradientColor2: linear-gradient(135deg, #4a509f, #1b3765);
}
body.theme-lightblue {
  --themeBgColor: #fff;
  --themeTextColor: #3d516a;
  --themeSubBgColor: #eff4f9;
  --themeSubTextColor: #77828f;
  --themeNoticeColor: #e08686;
  --themeAccentBgColor: #81a6d4;
  --themeAccentTextColor: #fff;
  --themeGradientColor: linear-gradient(135deg, #92cdeb, #81a6d4);
  --themeGradientColor2: linear-gradient(135deg, #9093ca, #81a6d4);
  
  --darkThemeBgColor: #3d516a;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #29394c;
  --darkThemeSubTextColor: #7a8ba0;
  --darkThemeNoticeColor: #e08686;
  --darkThemeAccentBgColor: #81a6d4;
  --darkThemeAccentTextColor: #fff;
  --darkThemeGradientColor: linear-gradient(135deg, #92cdeb, #81a6d4);
  --darkThemeGradientColor2: linear-gradient(135deg, #9093ca, #81a6d4);
}
body.theme-green {
  --themeBgColor: #fff;
  --themeTextColor: #1d2826;
  --themeSubBgColor: #fafafa;
  --themeSubTextColor: #9daaa7;
  --themeNoticeColor: #e44545;
  --themeAccentBgColor: #005240;
  --themeAccentTextColor: #fff;
  --themeGradientColor: linear-gradient(135deg, #00373a, #005240);
  --themeGradientColor2: linear-gradient(135deg, #18770b, #005240);
  
  --darkThemeBgColor: #1d2826;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #2d3c39;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #e44545;
  --darkThemeAccentBgColor: #005240;
  --darkThemeAccentTextColor: #fff;
  --darkThemeGradientColor: linear-gradient(135deg, #00373a, #005240);
  --darkThemeGradientColor2: linear-gradient(135deg, #18770b, #005240);
}
body.theme-lightgreen {
  --themeBgColor: #fff;
  --themeTextColor: #1d2826;
  --themeSubBgColor: #fafafa;
  --themeSubTextColor: #aaa;
  --themeNoticeColor: #e08686;
  --themeAccentBgColor: #55b4a1;
  --themeAccentTextColor: #fff;
  --themeGradientColor: linear-gradient(135deg, #6ac39e, #55b4a1);
  --themeGradientColor2: linear-gradient(135deg, #9ad172, #55b4a1);
  
  --darkThemeBgColor: #1d2826;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #224a53;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #e08686;
  --darkThemeAccentBgColor: #55b4a1;
  --darkThemeAccentTextColor: #fff;
  --darkThemeGradientColor: linear-gradient(135deg, #6ac39e, #55b4a1);
  --darkThemeGradientColor2: linear-gradient(135deg, #9ad172, #55b4a1);
}
body.theme-brown {
  --themeBgColor: #fff;
  --themeTextColor: #1f1706;
  --themeSubBgColor: #fff2e6;
  --themeSubTextColor: #aaa;
  --themeNoticeColor: #da4646;
  --themeAccentBgColor: #36280b;
  --themeAccentTextColor: #fff;
  --themeGradientColor: linear-gradient(135deg, #75502b, #36280b);
  --themeGradientColor2: linear-gradient(135deg, #600000, #36280b);
  
  --darkThemeBgColor: #1f1706;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #2b1f05;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #da4646;
  --darkThemeAccentBgColor: #36280b;
  --darkThemeAccentTextColor: #fff;
  --darkThemeGradientColor: linear-gradient(135deg, #75502b, #36280b);
  --darkThemeGradientColor2: linear-gradient(135deg, #600000, #36280b);
}
body.theme-orange {
  --themeBgColor: #fff;
  --themeTextColor: #111;
  --themeSubBgColor: #fafafa;
  --themeSubTextColor: #aaa;
  --themeNoticeColor: #e54242;
  --themeAccentBgColor: #ff8c1c;
  --themeAccentTextColor: #fff;
  --themeGradientColor: linear-gradient(135deg, #ffd02c, #ff8c1c);
  --themeGradientColor2: linear-gradient(135deg, #ff4f2c, #ff8c1c);
  
  --darkThemeBgColor: #111;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #000;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #e54242;
  --darkThemeAccentBgColor: #ff8c1c;
  --darkThemeAccentTextColor: #fff;
  --darkThemeGradientColor: linear-gradient(135deg, #ffd02c, #ff8c1c);
  --darkThemeGradientColor2: linear-gradient(135deg, #ff4f2c, #ff8c1c);
}
body.theme-red {
  --themeBgColor: #fff;
  --themeTextColor: #111;
  --themeSubBgColor: #fafafa;
  --themeSubTextColor: #aaa;
  --themeNoticeColor: #841e36;
  --themeAccentBgColor: #bc2549;
  --themeAccentTextColor: #fff;
  --themeGradientColor: linear-gradient(135deg, #ff2e2e, #bc2549);
  --themeGradientColor2: linear-gradient(135deg, #fd48a6, #bc2549);
  
  --darkThemeBgColor: #111;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #000;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #841e36;
  --darkThemeAccentBgColor: #bc2549;
  --darkThemeAccentTextColor: #fff;
  --darkThemeGradientColor: linear-gradient(135deg, #ff2e2e, #bc2549);
  --darkThemeGradientColor2: linear-gradient(135deg, #fd48a6, #bc2549);
}
body.theme-pink {
  --themeBgColor: #fff;
  --themeTextColor: #111;
  --themeSubBgColor: #f8f4f1;
  --themeSubTextColor: #aaa;
  --themeNoticeColor: #e33b66;
  --themeAccentBgColor: #ed849f;
  --themeAccentTextColor: #fff;
  --themeGradientColor: linear-gradient(135deg, #ffccb6, #ed849f);
  --themeGradientColor2: linear-gradient(135deg, #c3c6ff, #ed849f);
  
  --darkThemeBgColor: #111;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #000;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #e33b66;
  --darkThemeAccentBgColor: #ed849f;
  --darkThemeAccentTextColor: #fff;
  --darkThemeGradientColor: linear-gradient(135deg, #ffccb6, #ed849f);
  --darkThemeGradientColor2: linear-gradient(135deg, #c3c6ff, #ed849f);
}
body.theme-purple {
  --themeBgColor: #fff;
  --themeTextColor: #111;
  --themeSubBgColor: #ece8fa;
  --themeSubTextColor: #aaa;
  --themeNoticeColor: #e02828;
  --themeAccentBgColor: #5e40cf;
  --themeAccentTextColor: #fff;
  --themeGradientColor: linear-gradient(135deg, #c777ff, #5e40cf);
  --themeGradientColor2: linear-gradient(135deg, #00b3e0, #5e40cf);
  
  --darkThemeBgColor: #111;
  --darkThemeTextColor: #fff;
  --darkThemeSubBgColor: #000;
  --darkThemeSubTextColor: #999;
  --darkThemeNoticeColor: #e02828;
  --darkThemeAccentBgColor: #5e40cf;
  --darkThemeAccentTextColor: #fff;
  --darkThemeGradientColor: linear-gradient(135deg, #c777ff, #5e40cf);
  --darkThemeGradientColor2: linear-gradient(135deg, #00b3e0, #5e40cf);
}

/* 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);
  --themeGradientColor: linear-gradient(135deg, var(--ogThemeGradientColorStart), var(--ogThemeGradientColorEnd));
  --themeGradientColor2: linear-gradient(135deg, var(--ogThemeGradientColorStart), var(--ogThemeGradientColorEnd));

  --darkThemeBgColor: var(--ogDarkThemeBgColor);
  --darkThemeTextColor: var(--ogDarkThemeTextColor);
  --darkThemeSubBgColor: var(--ogDarkThemeSubBgColor);
  --darkThemeSubTextColor: var(--ogDarkThemeSubTextColor);
  --darkThemeNoticeColor: var(--ogDarkThemeNoticeColor);
  --darkThemeAccentBgColor: var(--ogDarkThemeAccentBgColor);
  --darkThemeAccentTextColor: var(--ogDarkThemeAccentTextColor);
  --darkThemeGradientColor: linear-gradient(135deg, var(--ogDarkThemeGradientColorStart), var(--ogDarkThemeGradientColorEnd));
  --darkThemeGradientColor2: linear-gradient(135deg, var(--ogDarkThemeGradientColorStart), var(--ogDarkThemeGradientColorEnd));
}

/* 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(--themeBgColor);
  --imageBtnTextColor: var(--themeTextColor);
  --drawerTextColor: var(--themeTextColor);
  --drawerBgColor: var(--themeSubBgColor);
  --informationBannerBgColor: var(--themeAccentBgColor);
  --informationBannerTextColor: var(--themeAccentTextColor);
  --cartBtnBgColor: var(--themeTextColor);
  --cartBtnTextColor: var(--themeBgColor);
  --msgBgColor: var(--themeAccentBgColor);
  --msgTextColor: var(--themeAccentTextColor);
}
body.theme-colortype-2 {
  --imageBtnBgColor: var(--themeAccentBgColor);
  --imageBtnTextColor: var(--themeAccentTextColor);
}
body.theme-colortype-3 {
  --textColor: var(--themeAccentBgColor);
  --imageBtnBgColor: var(--themeAccentBgColor);
  --imageBtnTextColor: var(--themeAccentTextColor);
}
body.theme-colortype-4 {
  --imageBtnBgColor: var(--themeGradientColor);
  --imageBtnTextColor: var(--themeAccentTextColor);
  --msgBgColor: var(--themeGradientColor);
}
body.theme-colortype-5 {
  --imageBtnBgColor: var(--themeGradientColor2);
  --imageBtnTextColor: var(--themeAccentTextColor);
  --msgBgColor: var(--themeGradientColor2);
}

/* 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(--darkThemeBgColor);
  --imageBtnTextColor: var(--darkThemeTextColor);
  --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.darkmode-3.darktheme-colortype-2,
body.dark.darkmode-1.darktheme-colortype-2 {
  --imageBtnBgColor: var(--darkThemeAccentBgColor);
  --imageBtnTextColor: var(--darkThemeAccentTextColor);
}
body.darkmode-3.darktheme-colortype-3,
body.dark.darkmode-1.darktheme-colortype-3 {
  --textColor: var(--darkThemeAccentBgColor);
  --imageBtnBgColor: var(--darkThemeAccentBgColor);
  --imageBtnTextColor: var(--darkThemeAccentTextColor);
}
body.darkmode-3.darktheme-colortype-4,
body.dark.darkmode-1.darktheme-colortype-4 {
  --imageBtnBgColor: var(--darkThemeGradientColor);
  --imageBtnTextColor: var(--darkThemeAccentTextColor);
  --msgBgColor: var(--darkThemeGradientColor);
}
body.darkmode-3.darktheme-colortype-5,
body.dark.darkmode-1.darktheme-colortype-5 {
  --imageBtnBgColor: var(--darkThemeGradientColor2);
  --imageBtnTextColor: var(--darkThemeAccentTextColor);
  --msgBgColor: var(--darkThemeGradientColor2);
}

/* header color pattern */
body.header-colortype-1 {
  --headerBgColor: var(--themeBgColor);
  --headerTextColor: var(--themeTextColor);
}
body.header-colortype-2 {
  --headerBgColor: var(--themeBgColor);
  --headerTextColor: var(--themeTextColor);
}
body.header-colortype-3 {
  --headerBgColor: var(--themeAccentBgColor);
  --headerTextColor: var(--themeAccentTextColor);
}
body.header-colortype-4 {
  --headerBgColor: var(--themeGradientColor);
  --headerTextColor: var(--themeAccentTextColor);
}
body.header-colortype-5 {
  --headerBgColor: var(--themeGradientColor2);
  --headerTextColor: var(--themeAccentTextColor);
}
body.theme-colortype-3.header-colortype-1,
body.theme-colortype-3.header-colortype-2 {
  --headerTextColor: var(--themeAccentBgColor);
}

/* header color pattern (darkmode) */
body.darkmode-3.header-colortype-1,
body.dark.darkmode-1.header-colortype-1 {
  --headerTextColor: var(--darkThemeTextColor);
}
body.darkmode-3.header-colortype-2,
body.dark.darkmode-1.header-colortype-2 {
  --headerBgColor: var(--darkThemeBgColor);
  --headerTextColor: var(--darkThemeTextColor);
}
body.darkmode-3.header-colortype-3,
body.dark.darkmode-1.header-colortype-3 {
  --headerBgColor: var(--darkThemeAccentBgColor);
  --headerTextColor: var(--darkThemeAccentTextColor);
}
body.darkmode-3.header-colortype-4,
body.dark.darkmode-1.header-colortype-4 {
  --headerBgColor: var(--darkThemeGradientColor);
  --headerTextColor: var(--darkThemeAccentTextColor);
}
body.darkmode-3.header-colortype-5,
body.dark.darkmode-1.header-colortype-5 {
  --headerBgColor: var(--darkThemeGradientColor2);
  --headerTextColor: var(--darkThemeAccentTextColor);
}
body.darkmode-3.theme-colortype-3.header-colortype-1,
body.darkmode-3.theme-colortype-3.header-colortype-2,
body.dark.darkmode-1.theme-colortype-3.header-colortype-1,
body.dark.darkmode-1.theme-colortype-3.header-colortype-2 {
  --headerTextColor: var(--darkThemeAccentBgColor);
}

/* base
------------------------------------------*/
body {
  color: var(--textColor);
  font-size: 1.4rem;
  font-family: var(--bodyFontEn), var(--bodyFontJa), sans-serif;
  line-height: 1.3;
  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,
.mv .text p,
.sec-title .title,
.sec-title .sub,
.concept-inner .text h3,
.bannerlist li a .text .title,
.bannerlist li a .text .sub,
.message .text h3,
.pickup .text .name,
.coupon .text .catch,
.coupon .text .code,
.youtube .text .sub,
.youtube .text .title,
.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: 1.8;
}
img {
  max-width: 100%;
}
label[for] {
  cursor: default;
}

.container {
  overflow-x: clip;
}
.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;
  text-align: center !important;
  line-height: 1.3 !important;
  background: none !important;
  border: var(--textColor) 1px 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 10px 10px 10px !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;
}
@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:after,
.drawer-search-wrap:after,
.drawer-membership:after,
.drawer-nav > ul:after {
  content: '';
  opacity: 0.15;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--drawerTextColor);
}
.drawer-close span:before,
.drawer-close span:after {
  content: '';
  position: absolute;
  top: 25px;
  right: 17px;
  width: 20px;
  height: 1px;
  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%;
  transition: all 0.3s ease;
}
.drawer-search:before {
  content: '';
  opacity: 0.1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--drawerTextColor);
  border-radius: var(--inputBorderRadius);
  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%2062.94%2062.94%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22m62.32%2C59.31l-12.48-12.48c4.27-4.96%2C6.86-11.42%2C6.86-18.48C56.69%2C12.69%2C44%2C0%2C28.35%2C0S0%2C12.69%2C0%2C28.35s12.69%2C28.35%2C28.35%2C28.35c7.06%2C0%2C13.52-2.59%2C18.48-6.86l12.48%2C12.48c.83.83%2C2.18.83%2C3.01%2C0s.83-2.18%2C0-3.01ZM4.25%2C28.35C4.25%2C15.04%2C15.04%2C4.25%2C28.35%2C4.25s24.09%2C10.79%2C24.09%2C24.09-10.79%2C24.09-24.09%2C24.09S4.25%2C41.65%2C4.25%2C28.35Z%22%2F%3E%3C%2Fg%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%20viewBox%3D%220%200%2062.94%2062.94%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22m62.32%2C59.31l-12.48-12.48c4.27-4.96%2C6.86-11.42%2C6.86-18.48C56.69%2C12.69%2C44%2C0%2C28.35%2C0S0%2C12.69%2C0%2C28.35s12.69%2C28.35%2C28.35%2C28.35c7.06%2C0%2C13.52-2.59%2C18.48-6.86l12.48%2C12.48c.83.83%2C2.18.83%2C3.01%2C0s.83-2.18%2C0-3.01ZM4.25%2C28.35C4.25%2C15.04%2C15.04%2C4.25%2C28.35%2C4.25s24.09%2C10.79%2C24.09%2C24.09-10.79%2C24.09-24.09%2C24.09S4.25%2C41.65%2C4.25%2C28.35Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 21px;
  background-color: var(--drawerTextColor);
}

.drawer-membership {
  position: relative;
  padding: 24px 24px 28px 24px;
  text-align: center;
}
.drawer-membership div {
  margin: 0 0 16px 0;
}
.drawer-membership ul {
  display: flex;
  gap: 12px;
}
.drawer-membership ul li {
  flex: 1;
  color: var(--drawerTextColor);
  font-size: 1.3rem;
}
.drawer-membership ul li a {
  display: block;
  position: relative;
  padding: 8px;
}
.drawer-membership ul li a:before {
  content: '';
  opacity: 0.1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--drawerTextColor);
  border-radius: 100px;
}
@media (hover: hover) {
  .drawer-membership ul li a:hover {
    opacity: 0.7;
  }
}

.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
------------------------------------------*/
.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%2062.94%2062.94%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22m62.32%2C59.31l-12.48-12.48c4.27-4.96%2C6.86-11.42%2C6.86-18.48C56.69%2C12.69%2C44%2C0%2C28.35%2C0S0%2C12.69%2C0%2C28.35s12.69%2C28.35%2C28.35%2C28.35c7.06%2C0%2C13.52-2.59%2C18.48-6.86l12.48%2C12.48c.83.83%2C2.18.83%2C3.01%2C0s.83-2.18%2C0-3.01ZM4.25%2C28.35C4.25%2C15.04%2C15.04%2C4.25%2C28.35%2C4.25s24.09%2C10.79%2C24.09%2C24.09-10.79%2C24.09-24.09%2C24.09S4.25%2C41.65%2C4.25%2C28.35Z%22%2F%3E%3C%2Fg%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%20viewBox%3D%220%200%2062.94%2062.94%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22m62.32%2C59.31l-12.48-12.48c4.27-4.96%2C6.86-11.42%2C6.86-18.48C56.69%2C12.69%2C44%2C0%2C28.35%2C0S0%2C12.69%2C0%2C28.35s12.69%2C28.35%2C28.35%2C28.35c7.06%2C0%2C13.52-2.59%2C18.48-6.86l12.48%2C12.48c.83.83%2C2.18.83%2C3.01%2C0s.83-2.18%2C0-3.01ZM4.25%2C28.35C4.25%2C15.04%2C15.04%2C4.25%2C28.35%2C4.25s24.09%2C10.79%2C24.09%2C24.09-10.79%2C24.09-24.09%2C24.09S4.25%2C41.65%2C4.25%2C28.35Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 21px;
  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);
}

.header {
  opacity: 0;
  display: flex;
  align-items: center;
  position: sticky;
  top: 0;
  left: 0;
  padding: 0 min(5vw, 30px);
  width: 100%;
  height: var(--headerHeight);
  color: var(--headerTextColor);
  font-size: 1.2rem;
  transition: top 0.3s ease, left 0.3s ease, width 0.3s ease, height 0.3s ease;
  z-index: 1001;
}
.loaded .header {
  opacity: 1;
}
.header-design-2 .header,
.header-design-3 .header {
  top: var(--headerMargin);
  left: var(--headerMargin);
  margin: var(--headerMargin) 0 0 0;
  width: calc(100% - (var(--headerMargin) * 2));
  height: calc(var(--headerHeight) * 0.8);
}

.header > * {
  opacity: 0;
  transition: all 1s ease;
}
.loaded .header > * {
  opacity: 1;
}

.header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.00);
  transition: all 0.4s ease;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.header-bg:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--headerBgColor);
}
.design-type-2 .header-bg:before {
  box-shadow: 0 12px 50px -10px rgba(0, 0, 0, 0.1);
}
.header-bg.category {
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.08);
}
.home.header-colortype-1.obverse .header-bg {
  opacity: 0;
  height: 0;
}
.home.header-colortype-1 .header:hover .header-bg {
  opacity: 1;
  height: 100%;
}
.header-design-2 .header-bg,
.header-design-3 .header-bg,
.header-design-2 .header-bg:before,
.header-design-3 .header-bg:before {
  border-radius: 3px;
}
.header-design-3 .header-bg:before {
  opacity: 0.75;
}

.header a,
.header span {
  display: block;
  position: relative;
  color: var(--headerTextColor);
}
.home.header-colortype-1.header-white.obverse .header a,
.home.header-colortype-1.header-white.obverse .header span {
  color: #fff;
}
.home.header-colortype-1.header-white.obverse .header:hover a,
.home.header-colortype-1.header-white.obverse .header:hover span {
  color: var(--headerTextColor);
}

.header-menu a:after,
.header-left #appsItemCategoryTag > li > a:after,
.header-category-btn:after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 0%;
  height: 1px;
  background: var(--headerTextColor);
  transform: translateX(-50%);
  transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .header-menu a:hover:after,
  .header-left #appsItemCategoryTag > li:hover > a:after,
  .header-category:hover .header-category-btn:after {
    width: 100%;
  }
}

.logo {
  position: relative;
  width: 260px;
}
.logo a {
  display: block;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
}
.logo a span.logoText {
  overflow: hidden;
  display: -webkit-box;
  color: var(--headerTextColor) !important;
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: 0.2em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.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;
}
.home.header-colortype-1.header-white.obverse .logo a img,
.dark.darkmode-1.header-darklogowhite .logo a img,
.darkmode-3.header-darklogowhite .logo a img {
  filter: brightness(0) invert(1);
}
.home.header-colortype-1.header-white.obverse.light .header:hover .logo a img,
.home.header-colortype-1.header-white.obverse.darkmode-2 .header:hover .logo a img {
  filter: none;
}

.header-left,
.header-right {
  display: flex;
  align-items: center;
  width: calc(50% - 130px);
}
.header-right {
  justify-content: flex-end;
}

.drawer-open:after,
.header-right .cart:after {
  content: '';
  opacity: 0.5;
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 16px;
  background: var(--headerTextColor);
  transform: translateY(-50%);
  transition: all 0.3s ease;
}
.header-right .cart:after {
  right: auto;
  left: 0;
}
.home.header-colortype-1.header-white.obverse .drawer-open:after,
.home.header-colortype-1.header-white.obverse .header-right .cart:after {
  background: #fff;
}
.home.header-colortype-1.header-white.obverse .header:hover .drawer-open:after,
.home.header-colortype-1.header-white.obverse .header:hover .header-right .cart:after {
  background: var(--headerTextColor);
}
.header-left-1 .drawer-open:after,
.header-right-1 .header-right .cart:after {
  display: none;
}

.header-right .cart {
  position: relative;

  .cart-badge {
    display: block !important;

    .cart-qty {
      position: absolute;
      inset: -4px -13px auto auto;
      width: 18px;
      height: 18px;
      color: var(--headerBgColor);
      font-size: 10px;
      text-align: center;
      line-height: 18px;
      background: var(--headerTextColor);
      border-radius: 10px;
      transition: all 0.3s ease;

      .home.header-colortype-1.header-white.obverse & {
        color: #fff;
        background: none;
      }

      .home.header-colortype-1.header-white.obverse .header:hover & {
        color: var(--headerBgColor);
        background: var(--headerTextColor);
      }

      body.header-colortype-4 &,
      body.header-colortype-5 & {
        color: var(--accentBgColor);
      }
    }
  }
}

.drawer-open {
  cursor: pointer;
  display: block;
  position: relative;
  margin: 0 32px 0 0;
  width: 52px;
  height: 36px;
}
.drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
  content: '';
  position: absolute;
  top: 17px;
  left: 0;
  width: 20px;
  height: 2px;
  background: var(--headerTextColor);
  transition: all 0.3s ease;
}
.drawer-open span:before {
  top: -6px;
}
.drawer-open span:after {
  top: 6px;
}
@media (hover: hover) {
  .drawer-open:hover span {
    left: -3px;
  }
  .drawer-open:hover span:before,
  .drawer-open:hover span:after {
    left: 6px;
  }
}
.home .drawer-open span,
.home .drawer-open span:before,
.home .drawer-open span:after {
  background: var(--headerTextColor);
}
.home.header-colortype-1.header-white.obverse .drawer-open span,
.home.header-colortype-1.header-white.obverse .drawer-open span:before,
.home.header-colortype-1.header-white.obverse .drawer-open span:after {
  background: #fff;
}
.home.header-colortype-1.header-white.obverse .header:hover .drawer-open span,
.home.header-colortype-1.header-white.obverse .header:hover .drawer-open span:before,
.home.header-colortype-1.header-white.obverse .header:hover .drawer-open span:after {
  background: var(--headerTextColor);
}

.header-menu {
  display: none;
}
.header-left-2 .header-menu {
  display: flex;
  gap: 28px;
}

.header-left #appsItemCategoryTag {
  display: none;
}
.header-left-3 .header-left #appsItemCategoryTag,
.header-left-4 .header-left #appsItemCategoryTag,
.header-left-5 .header-left #appsItemCategoryTag {
  display: flex;
  gap: 26px;
}
@media (hover: hover) {
  .header #appsItemCategoryTag a:hover {
    opacity: 0.7;
  }
}
.header-left #appsItemCategoryTag > li,
.header-right .header-category {
  cursor: pointer;
  display: grid;
  place-items: center;
  position: relative;
  height: var(--headerHeight);
  z-index: 1;
}
.header-left #appsItemCategoryTag > li.has-child > a,
.header-right .header-category-btn {
  padding: 0 16px 0 0;
  transition: all 0.3s ease;
}
.header-left #appsItemCategoryTag > li.has-child > a:before,
.header-right .header-category-btn:before {
  content: '';
  position: absolute;
  top: calc(50% - 5px);
  right: 2px;
  width: 6px;
  height: 6px;
  border-bottom: var(--headerTextColor) 1px solid;
  border-right: var(--headerTextColor) 1px solid;
  transform: rotate(45deg);
  transform-origin: center 80%;
  transition: all 0.3s ease;
}
.home.header-colortype-1.header-white.obverse .header-left #appsItemCategoryTag > li.has-child a:before,
.home.header-colortype-1.header-white.obverse .header-right .header-category-btn:before {
  border-bottom: #fff 1px solid;
  border-right: #fff 1px solid;
}
.home.header-colortype-1.header-white.obverse .header:hover .header-left #appsItemCategoryTag > li.has-child a:before,
.home.header-colortype-1.header-white.obverse .header:hover .header-right .header-category-btn:before {
  border-bottom: var(--headerTextColor) 1px solid;
  border-right: var(--headerTextColor) 1px solid;
}

.header-left-3 .header-left #appsItemCategoryTag > li:nth-child(n + 2),
.header-left-4 .header-left #appsItemCategoryTag > li:nth-child(n + 3),
.header-left-5 .header-left #appsItemCategoryTag > li:nth-child(n + 4) {
  display: none;
}
.header-left #appsItemCategoryTag > li > ul,
.header-right #appsItemCategoryTag {
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: calc(var(--headerHeight) - 22px);
  left: calc(50% - 110px);
  padding: 20px;
  width: 220px;
  max-height: 60vh;
  background: var(--headerBgColor);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease;
}
.header-left #appsItemCategoryTag > li > ul.open,
.header-right #appsItemCategoryTag.open {
  visibility: visible;
  opacity: 1;
  top: var(--headerHeight);
}
.header-left #appsItemCategoryTag > li > ul > li > a,
.header-right #appsItemCategoryTag > li > a {
  display: block;
  padding: 5px 0;
  color: var(--headerTextColor);
}
.header-left #appsItemCategoryTag > li > ul > li > ul,
.header-right #appsItemCategoryTag > li > ul {
  padding: 10px 0 10px 20px;
}
.header-left #appsItemCategoryTag > li > ul > li > ul > li,
.header-right #appsItemCategoryTag > li > ul > li {
  position: relative;
}
.header-left #appsItemCategoryTag > li > ul > li > ul > li:before,
.header-right #appsItemCategoryTag > li > ul > li:before {
  content: '';
  opacity: 0.15;
  position: absolute;
  top: 0;
  left: -15px;
  width: 1px;
  height: 100%;
  background: var(--headerTextColor);
}
.header-left #appsItemCategoryTag > li > ul > li > ul > li > a,
.header-right #appsItemCategoryTag > li > ul > li > a {
  display: block;
  padding: 5px 0;
  color: var(--headerTextColor);
  font-size: 1.1rem;
}

.header-right-4 .header-right .header-category {
  position: static;
}
.header-right-4 .header-right #appsItemCategoryTag {
  display: grid;
  grid-template-columns: repeat(var(--categorylistNum), 1fr);
  gap: 30px;
  left: 0;
  padding: 40px;
  width: 100%;
  max-height: 70vh;
  background: none;
  box-shadow: none;
  transition: all 0.1s ease;
}
.header-right-4 .header-right #appsItemCategoryTag.open {
  transition: all 0.3s 0.1s ease;
}
.header-right-4 .header-right #appsItemCategoryTag > li > a {
  font-weight: bold;
}
.header-right-4 .header-right #appsItemCategoryTag > li > ul {
  padding: 10px 0 0 0;
}
.header-right-4 .header-right #appsItemCategoryTag > li > ul > li:before {
  display: none;
}

.header-right .cart {
  position: relative;
  margin: 0 0 0 32px;
  width: 52px;
  text-align: right;
}

.header-right .search {
  display: none;
}
.header-right-2 .header-right .search {
  display: block;
}

.header-right .header-category {
  display: none;
  position: relative;
}
.header-right-3 .header-category,
.header-right-4 .header-category {
  display: grid;
}

.header-right .cart a,
.header-right .search a {
  display: block;
  position: relative;
  margin: 0 0 0 auto;
  width: 30px;
  height: 30px;
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .header-right .cart a:hover,
  .header-right .search a:hover {
    opacity: 0.7;
  }
}
.header-right .cart a:after,
.header-right .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%2060.27%2062.94%22%3E%3Cg%3E%3Cpath%20d%3D%22m60.25%2C54.68l-2.17-34.57c-.24-4.12-3.66-7.35-7.79-7.35h-7.43l-.37-5.4c-.24-4.12-3.66-7.35-7.79-7.35h-9.13c-4.13%2C0-7.55%2C3.23-7.79%2C7.35l-.37%2C5.4h-7.43c-4.13%2C0-7.55%2C3.23-7.79%2C7.35L.01%2C54.68c-.12%2C2.14.65%2C4.25%2C2.12%2C5.81%2C1.47%2C1.56%2C3.54%2C2.45%2C5.68%2C2.45h44.66c2.14%2C0%2C4.21-.89%2C5.68-2.45%2C1.47-1.56%2C2.24-3.67%2C2.12-5.81ZM22.02%2C7.6c.11-1.88%2C1.67-3.35%2C3.55-3.35h9.13c1.88%2C0%2C3.44%2C1.47%2C3.55%2C3.35l.37%2C5.16h-16.95l.37-5.16Zm33.02%2C49.97c-.68.72-1.6%2C1.11-2.58%2C1.11H7.8c-.99%2C0-1.91-.4-2.58-1.11-.68-.72-1.02-1.66-.96-2.64l2.17-34.57c.11-1.88%2C1.67-3.35%2C3.55-3.35h7.13l-.4%2C5.82c-.14%2C1.25.84%2C2.34%2C2.1%2C2.34%2C1.08%2C0%2C1.98-.81%2C2.1-1.88l.45-6.28h17.56l.45%2C6.28c.12%2C1.07%2C1.02%2C1.88%2C2.1%2C1.88%2C1.26%2C0%2C2.24-1.09%2C2.1-2.34l-.4-5.82h7.13c1.88%2C0%2C3.44%2C1.47%2C3.55%2C3.35l2.17%2C34.57c.06.99-.29%2C1.93-.96%2C2.64Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat right center / 21px;
  -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%2060.27%2062.94%22%3E%3Cg%3E%3Cpath%20d%3D%22m60.25%2C54.68l-2.17-34.57c-.24-4.12-3.66-7.35-7.79-7.35h-7.43l-.37-5.4c-.24-4.12-3.66-7.35-7.79-7.35h-9.13c-4.13%2C0-7.55%2C3.23-7.79%2C7.35l-.37%2C5.4h-7.43c-4.13%2C0-7.55%2C3.23-7.79%2C7.35L.01%2C54.68c-.12%2C2.14.65%2C4.25%2C2.12%2C5.81%2C1.47%2C1.56%2C3.54%2C2.45%2C5.68%2C2.45h44.66c2.14%2C0%2C4.21-.89%2C5.68-2.45%2C1.47-1.56%2C2.24-3.67%2C2.12-5.81ZM22.02%2C7.6c.11-1.88%2C1.67-3.35%2C3.55-3.35h9.13c1.88%2C0%2C3.44%2C1.47%2C3.55%2C3.35l.37%2C5.16h-16.95l.37-5.16Zm33.02%2C49.97c-.68.72-1.6%2C1.11-2.58%2C1.11H7.8c-.99%2C0-1.91-.4-2.58-1.11-.68-.72-1.02-1.66-.96-2.64l2.17-34.57c.11-1.88%2C1.67-3.35%2C3.55-3.35h7.13l-.4%2C5.82c-.14%2C1.25.84%2C2.34%2C2.1%2C2.34%2C1.08%2C0%2C1.98-.81%2C2.1-1.88l.45-6.28h17.56l.45%2C6.28c.12%2C1.07%2C1.02%2C1.88%2C2.1%2C1.88%2C1.26%2C0%2C2.24-1.09%2C2.1-2.34l-.4-5.82h7.13c1.88%2C0%2C3.44%2C1.47%2C3.55%2C3.35l2.17%2C34.57c.06.99-.29%2C1.93-.96%2C2.64Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat right center / 21px;
  background-color: var(--headerTextColor);
  transition: all 0.3s ease;
}
.header-right .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%2062.94%2062.94%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22m62.32%2C59.31l-12.48-12.48c4.27-4.96%2C6.86-11.42%2C6.86-18.48C56.69%2C12.69%2C44%2C0%2C28.35%2C0S0%2C12.69%2C0%2C28.35s12.69%2C28.35%2C28.35%2C28.35c7.06%2C0%2C13.52-2.59%2C18.48-6.86l12.48%2C12.48c.83.83%2C2.18.83%2C3.01%2C0s.83-2.18%2C0-3.01ZM4.25%2C28.35C4.25%2C15.04%2C15.04%2C4.25%2C28.35%2C4.25s24.09%2C10.79%2C24.09%2C24.09-10.79%2C24.09-24.09%2C24.09S4.25%2C41.65%2C4.25%2C28.35Z%22%2F%3E%3C%2Fg%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%20viewBox%3D%220%200%2062.94%2062.94%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22m62.32%2C59.31l-12.48-12.48c4.27-4.96%2C6.86-11.42%2C6.86-18.48C56.69%2C12.69%2C44%2C0%2C28.35%2C0S0%2C12.69%2C0%2C28.35s12.69%2C28.35%2C28.35%2C28.35c7.06%2C0%2C13.52-2.59%2C18.48-6.86l12.48%2C12.48c.83.83%2C2.18.83%2C3.01%2C0s.83-2.18%2C0-3.01ZM4.25%2C28.35C4.25%2C15.04%2C15.04%2C4.25%2C28.35%2C4.25s24.09%2C10.79%2C24.09%2C24.09-10.79%2C24.09-24.09%2C24.09S4.25%2C41.65%2C4.25%2C28.35Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center / 21px;
}
.home.header-colortype-1.header-white.obverse .header-right .cart a:after,
.home.header-colortype-1.header-white.obverse .header-right .search a:after {
  background-color: #fff;
}
.home.header-colortype-1.header-white.obverse .header:hover .header-right .cart a:after,
.home.header-colortype-1.header-white.obverse .header:hover .header-right .search a:after {
  background-color: var(--headerTextColor);
}

@media (max-width: 1000px) {
  .drawer-open:after,
  .header-right .cart:after,
  .header-menu,
  .header-left #appsItemCategoryTag,
  .header-category,
  .header-right .search {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .logo a span span.logoText {
    font-size: 1.8rem;
  }
  .logo a img {
    height: clamp(12px, var(--headerLogoHeightSp), var(--headerHeight));
  }
}

/* mv
------------------------------------------*/
.mv-wrap {
  overflow: hidden;
  position: relative;
  margin: 0 auto var(--margin) auto;
}
.header-colortype-1 .mv-wrap {
  margin-top: calc(var(--headerHeight) * -1);
}
.header-design-2 .mv-wrap,
.header-design-3 .mv-wrap {
  margin-top: calc((var(--headerHeight) * 0.8 + var(--headerMargin)) * -1);
}
.mv-full .mv-wrap {
  height: calc(100vh - var(--headerHeight) - var(--informationBannerHeight));
  max-width: 100%;
}
.header-colortype-1.mv-full .mv-wrap,
.header-design-2.mv-full .mv-wrap,
.header-design-3.mv-full .mv-wrap {
  height: calc(100vh -  var(--informationBannerHeight));
}

.mv {
  opacity: 0;
  overflow: hidden;
  transition: all 1s ease;
}
.viewed .mv {
  opacity: 1;
}
.mv-full .mv-wrap .mv {
  height: 100%;
}
.mv .bg img {
  width: 100%;
}
.mv .bg img.sp {
  display: none;
}
.mv-full .mv-wrap .bg {
  height: 100%;
}
.mv-full .mv-wrap .bg img {
  object-fit: cover;
  height: 100%;
}
.type-fadeZoom .mv .swiper-slide-active img {
  animation: fadeZoom 1.5s ease both;
}
@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%);
}
.header-colortype-1 .mv .banner {
  top: calc(50% + (var(--headerHeight) / 3));
}
.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: 10vh;
  left: 0;
  padding: 0 var(--padding);
  width: 100%;
  height: fit-content;
  color: #fff;
  text-align: left;
}
.header-colortype-1 .mv .text {
  transform: translateY(var(--headerHeight) / 3);
}

.mv .text .sub {
  margin: 0 0 5px 0;
  font-size: var(--mvFontSizeS) !important;
  white-space: pre-line;
  line-height: 1 !important;
  animation: textZoomOut 0.6s ease both;
}
.mv .text .title {
  font-size: var(--headFontSize) !important;
  white-space: pre-line;
  line-height: 1 !important;
  animation: textZoomOut 0.6s ease both;
}
.mv .text p {
  margin: 20px 0 0 0;
  font-size: 1.4rem;
  white-space: pre-line;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  line-height: 2 !important;
  animation: textZoomOut 0.6s ease both;
}
.mv .text .btn-image {
  animation: textZoomOut 0.6s ease both;
}
.mv .text .btn-image a {
  margin: 0 !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); }
}
@media (max-width: 768px) {
  .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.4rem;
  }
}

.mv .swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  bottom: 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 {
    bottom: 20px;
  }
}

.fixblog {
  opacity: 0;
  display: flex;
  justify-content: center;
  gap: 16px;
  margin: calc(var(--margin) * -1) 0 var(--margin) 0;
  padding: 22px var(--padding);
  width: 100%;
  color: var(--accentTextColor);
  font-size: 1.3rem;
  background: var(--accentBgColor);
  transition: all 1s ease;
  z-index: 10;
}
.loaded .fixblog {
  opacity: 1;
}
.fixblog span {
  font-weight: bold;
}
.fixblog a {
  color: var(--accentTextColor);
}
@media (hover: hover) {
  .fixblog a:hover {
    opacity: 0.7;
  }
}

/* footer
------------------------------------------*/
.footer {
  color: var(--textColor);
  font-size: 1.2rem;
  background: var(--subBgColor);
}
.design-type-3 .footer {
  color: var(--bgColor);
  background: var(--textColor);
}
.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);
}
.design-type-3 .footer-menu ul li a {
  color: var(--bgColor);
}
.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 {
  text-align: left;
}
.x_mailMagazineSubscribe_field {
  display: flex;
  border: var(--textColor) 1px solid;
  border-radius: var(--inputBorderRadius);
}
.design-type-3 .x_mailMagazineSubscribe_field {
  border: var(--bgColor) 1px solid;
}
input.x_mailMagazineSubscribe_input {
  margin: 0 !important;
  padding: 12px !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;
}
.design-type-3 input.x_mailMagazineSubscribe_input {
  color: var(--bgColor) !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;
  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);
}
.design-type-3 .x_mailMagazineSubscribe_field button:after {
  background-color: var(--bgColor);
}
@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;
}
.design-type-3 .footer-nav li a {
  color: var(--bgColor);
}
.copyright {
  opacity: 0.5;
  margin: 6px 0 0 0;
  color: var(--textColor);
  font-size: 1rem;
}
.design-type-3 .copyright {
  color: var(--bgColor);
}
.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;
}
.design-type-3 .apps-i18n #i18 > div select {
  color: var(--bgColor) !important;
  background:
    linear-gradient(45deg, transparent 50%, var(--bgColor) 50%) no-repeat center right 4px / 4px 4px,
    linear-gradient(-45deg, transparent 50%, var(--bgColor) 50%) no-repeat center right 0px / 4px 4px !important;
  background-color: var(--textColor) !important;
  border-bottom: var(--bgColor) 1px solid !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 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  margin: 0 auto var(--titleMargin) auto;
}
.sec-title.center {
  align-items: center;
  text-align: center;
}
.sec-title.right {
  align-items: flex-end;
  text-align: right;
}
.sec-title .title {
  opacity: 0;
  margin: 0 0 12px 0;
  width: fit-content;
  line-height: 1 !important;
  transform: translateY(20px);
  transition: all 0.6s ease;
}
.viewed .sec-title .title {
  opacity: 1;
  transform: translateY(0);
}
.item-detail-page .sec-title .title {
  font-size: var(--headFontSizeS);
}
.sec-title .sub {
  opacity: 0;
  position: relative;
  padding: 0 0 0 1px;
  width: fit-content;
  font-size: 1.6rem;
  letter-spacing: 0.2em;
  transform: translateY(20px);
  transition: all 0.6s 0.2s ease;
}
.sec-title.center .sub,
.sec-title.right .sub {
  text-indent: 0.2em;
}
.viewed .sec-title .sub {
  opacity: 1;
  transform: translateY(0);
}
.sec-title .sub:before {
  content: '';
  position: absolute;
  top: 50%;
  left: calc(var(--padding) * -1);
  width: 0;
  height: 1px;
  background: var(--textColor);
  transition: all 0.6s 0.4s ease;
}
.viewed .sec-title .sub:before {
  width: calc(var(--padding) - 8px);
}
.item-detail-page .sec-title .sub:before {
  display: none;
}
.sec-title ul {
  opacity: 0;
  display: flex;
  justify-content: center;
  gap: 15px;
  transform: translateY(20px);
  transition: all 0.6s 0.2s ease;
}
.viewed .sec-title ul {
  opacity: 1;
  transform: translateY(0);
}
.sec-title ul li {
  cursor: pointer;
  padding: 0 0 3px 0;
  font-size: 1.2rem;
  text-indent: var(--bodyFontLs);
  border-bottom: var(--bgColor) 2px solid;
  transition: all 0.3s ease;
}
.sec-title ul li.current {
  border-bottom: var(--textColor) 2px solid;
}

/* 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 0 var(--margin) 0;
  padding: var(--margin) 0;
  background: var(--subBgColor);
}
.design-type-3 .concept {
  color: var(--bgColor);
  background: var(--textColor);
}
.design-type-3 .concept .sec-title .sub:before {
  background: var(--bgColor);
}
.concept:first-child {
  margin-top: calc(var(--margin) * -1);
}
.concept-inner {
  margin: 0 auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.concept-content {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  margin: 0 auto;
}
.concept-content .image {
  opacity: 0;
  width: 55%;
  transform: translateY(20px);
  transition: all 1s 0.2s ease;
}
.concept-content .text {
  opacity: 0;
  padding: 0 60px 0 0;
  width: 45%;
  transform: translateY(20px);
  transition: all 1s 0.4s ease;
}
.concept-content .text h3 {
  margin: 0 0 30px 0;
  font-size: 2rem;
  letter-spacing: 0.2em;
}
.concept-content .text p {
  line-height: 2.0;
  white-space: pre-line;
}
.concept-content .text .btn-normal a {
  margin: 0 !important;
}
.viewed .concept-content .image,
.viewed .concept-content .text {
  opacity: 1;
  transform: translateY(0);
}
@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-container {
  overflow: hidden;
}
.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;
  transform: translateY(20px);
  transition: all 1s 0.2s ease;
}
.viewed .slideitem-slide {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.design-type-2 .slideitem-slide .swiper {
  overflow: visible;
}
.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: -44px;
  right: auto;
  width: 44px;
  height: 44px;
  color: var(--textColor);
  transition: all 0.3s ease;
}
.slideitem-wrap .swiper-button-next,
.baseCarousel .swiper-button-next {
  left: auto;
  right: -44px;
}
.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.6rem;
}

@media (max-width: 768px) {
  .slideitem-wrap .slideitem-slide {
    margin: 0 calc(var(--padding) * -1);
    padding: 0 var(--padding);
  }
  .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 {
  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;
}
.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 .sec-title {
  color: #fff;
}
.bgimage .sec-title .sub:before {
  background: #fff;
}
.bgimage .text {
  padding: 0 var(--padding);
  width: 100%;
  max-width: var(--maxWidth);
  color: #fff;
  z-index: 1;
}
.bgimage .text p {
  opacity: 0;
  text-align: center;
  line-height: 2.0;
  white-space: pre-line;
  transform: translateY(20px);
  transition: all 0.6s 0.4s ease;
}
.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;
  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;
  justify-content: center;
  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: 20px 0 0 0;
  height: auto;
  font-size: 1.3rem;
  font-weight: bold;
  border: none;
  border-top: 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 {
  margin: 0 auto var(--margin) auto;
  padding: 0 var(--padding);
  max-width: var(--maxWidth);
}
.bannerlist ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--itemMarginH);
}
.bannerlist li {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s ease;
}
.bannerlist.viewed li {
  opacity: 1;
  transform: translateY(0);
}
.bannerlist li:nth-child(2) { transition-delay: 0.2s }
.bannerlist li:nth-child(3) { transition-delay: 0.4s }
.bannerlist li:nth-child(4) { transition-delay: 0.6s }

.bannerlist li a {
  display: block;
  position: relative;
  height: clamp(240px, 26vw, 420px);
}
.bannerlist li a .image {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  border-radius: var(--imageBorderRadius);
  transition: all 0.6s ease;
}
.bannerlist li a .image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all 0.6s ease;
}
@media (hover: hover) {
  .bannerlist li a:hover .image img {
    opacity: 0.7;
    transform: scale(1.1);
  }
}
.bannerlist li a .text {
  position: absolute;
  top: 50%;
  left: 0;
  padding: 24px;
  width: 100%;
  color: #fff;
  text-align: center;
  transform: translateY(-50%);
}
.bannerlist.position-2 li a .text {
  top: auto;
  bottom: 0;
  text-align: left;
  transform: translateY(0);
}
.bannerlist li a .text .title {
  font-size: clamp(1.8rem, calc(var(--headFontSize) * 0.4), 4.0rem);
  line-height: 1 !important;
  white-space: pre-line;
}
.bannerlist li a .text .sub {
  margin: 8px 0 0 0;
  font-size: 1.3rem;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  white-space: pre-line;
}
.bannerlist.type-1 li a {
  height: 280px;
}
.bannerlist.type-2 ul {
  grid-template-columns: repeat(2, 1fr);
}
.bannerlist.type-3 ul {
  grid-template-columns: repeat(3, 1fr);
}
.bannerlist.type-3 li:nth-child(1) { grid-column: 1 / 3; }
.bannerlist.type-3 li:nth-child(2) { grid-column: 3 / 4; }
.bannerlist.type-3 li:nth-child(3) { grid-column: 1 / 2; }
.bannerlist.type-3 li:nth-child(4) { grid-column: 2 / 4; }

.bannerlist.type-4 ul {
  grid-template-columns: repeat(3, 1fr);
}
.bannerlist.type-4 li:nth-child(1) { grid-column: 1 / 4; }

@media (max-width: 1000px) {
  .bannerlist ul {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .bannerlist li {
    grid-column: auto !important;
  }
}
@media (max-width: 600px) {
  .bannerlist ul {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .bannerlist.type-3 li:nth-child(3) { order: 4 }
  .bannerlist.type-3 li:nth-child(3) { order: 3 }
}

.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 0;
}
.news ul li {
  opacity: 0;
  display: flex;
  align-items: center;
  gap: 40px;
  position: relative;
  padding: 40px 0;
  line-height: 1.8;
  transform: translateY(20px);
  transition: all 1s 0.4s ease;
}
.news ul li:nth-child(2) { transition-delay: 0.6s }
.news ul li:nth-child(3) { transition-delay: 0.8s }

.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(--bgColor);
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  background: var(--textColor);
  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%;
  }
}

.message-wrap {
  overflow: hidden;
}
.message {
  position: relative;
  margin: 0 auto var(--margin) auto;
  padding: var(--padding) var(--padding) 0 var(--padding);
  max-width: var(--maxWidth);
}
.message .image {
  opacity: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  width: 80%;
  height: 80%;
  transform: translateY(20px);
  transition: all 1s ease;
  z-index: -1;
}
.message.right .image {
  right: auto;
  left: 0;
}
.message.viewed .image {
  opacity: 1;
  transform: translateY(0);
}
.message .image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.message .text {
  opacity: 0;
  margin: 0 0 -60px 0;
  padding: 60px;
  width: 40%;
  background: var(--bgColor);
  transform: translateY(20px);
  transition: all 1s 0.4s ease;
}
.design-type-2 .message .text {
  box-shadow: 0 12px 50px -10px rgba(0, 0, 0, 0.1);
}
.design-type-2.darkmode-1.dark .message .text,
.design-type-2.darkmode-3.dark .message .text {
  background: var(--subBgColor);
}
.design-type-3 .message .text {
  color: var(--bgColor);
  background: var(--textColor);
}
.message.right .text {
  margin: 0 0 0 auto;
}
.message.viewed .text {
  opacity: 1;
  transform: translateY(0);
}
.message .text h3 {
  margin: 0 0 30px 0;
  font-size: 2rem;
  letter-spacing: 0.2em;
}
.message .text p {
  line-height: 2.0;
  white-space: pre-line;
}
.message .text .btn-normal a {
  margin: 0 !important;
}
.design-type-3 .message .text .btn-normal a {
  color: var(--bgColor) !important;
  border: var(--bgColor) 1px solid !important;
}
@media (max-width: 1200px) {
  .message .text {
    margin: 0 0 -50px 0;
    padding: 50px;
  }
}
@media (max-width: 768px) {
  .message .image {
    position: relative;
    top: auto;
    left: auto !important;
    width: 100%;
    height: 30vh;
  }
  .message .text {
    margin: var(--titleMargin) 0 0 0 !important;
    padding: 0;
    width: 100%;
  }
  .design-type-2 .message .text {
    background: none !important;
    box-shadow: none;
  }
  .message .text .btn-normal a {
    margin: 0 auto !important;
  }
}

.pickup {
  display: flex;
  position: relative;
  margin: 0 0 var(--margin) 0;
  min-height: 50vh;
  background: var(--subBgColor);
}
.pickup.left {
  flex-direction: row-reverse;
}
.design-type-3 .pickup {
  color: var(--bgColor);
  background: var(--textColor);
}
.pickup .image {
  opacity: 0;
  overflow: hidden;
  position: relative;
  padding: var(--padding);
  width: 50%;
  transition: all 1s ease;
}
.pickup.viewed .image {
  opacity: 1;
}
.pickup .image img {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(1.2);
  transition: all 3s ease;
}
.pickup.viewed .image img {
  transform: scale(1);
}
.pickup .text {
  opacity: 0;
  align-self: center;
  padding: var(--padding);
  width: 50%;
  transform: translateY(20px);
  transition: all 1s 0.4s ease;
}
.pickup.viewed .text {
  opacity: 1;
  transform: translateY(0);
}
.design-type-3 .pickup .text .sec-title .sub:before {
  background: var(--bgColor);
}
.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;
}
.design-type-3 .pickup .text .btn-normal a {
  color: var(--bgColor) !important;
  border: var(--bgColor) 1px solid !important;
}
@media (max-width: 768px) {
  .pickup {
    display: block;
  }
  .pickup .image {
    position: relative;
    left: auto;
    padding: 0;
    width: 100%;
  }
  .pickup .image img {
    position: relative;
    top: auto;
    left: auto;
  }
  .pickup .text {
    padding: var(--margin) var(--padding);
    width: 100%;
  }
}

.youtube {
  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;
}
.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 .sec-title {
  color: #fff;
}
.youtube .sec-title .sub:before {
  background: #fff;
}
.youtube .text {
  padding: 0 var(--padding);
  width: 100%;
  max-width: var(--maxWidth);
  color: #fff;
  z-index: 1;
}
.youtube .text p {
  opacity: 0;
  text-align: center;
  line-height: 2.0;
  white-space: pre-line;
  transform: translateY(20px);
  transition: all 0.6s 0.4s ease;
}
.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 .code {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s ease;
}
.instagram.viewed .code {
  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: 18px 16px 18px 18px;
  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;
}
.scrolled .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: 25vh;
    padding: 11px 9px 11px 11px;
    font-size: 1.0rem;
  }
}

.coupon {
  position: relative;
  margin: 0 0 var(--margin) auto;
  padding: var(--padding);
  background: var(--subBgColor);
}
.design-type-3 .coupon {
  color: var(--bgColor);
  background: var(--textColor);
}
.coupon .image {
  opacity: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  width: 70%;
  height: 100%;
  transition: all 1s ease;
  z-index: 0;
}
.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;
  position: relative;
  transform: translateY(20px);
  transition: all 1s 0.4s ease;
}
.coupon.viewed .text {
  opacity: 1;
  transform: translateY(0);
}
.design-type-3 .coupon .sec-title .sub:before {
  background: var(--bgColor);
}
.coupon .text .catch {
  margin: 0 0 20px 0;
  font-size: 2rem;
  letter-spacing: 0.2em;
  white-space: pre-line;
}
.coupon .text p {
  margin: 0 0 30px 0;
  white-space: pre-line;
}
.coupon .text .icon {
  margin: 0 0 3px 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;
}
.design-type-3 .coupon .text .icon {
  color: var(--textColor);
  background: var(--bgColor);
}
.coupon .text .code {
  margin: 0 0 30px 0;
  font-size: max(calc(var(--headFontSize) * 0.5), 2.2rem);
  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;
}
.design-type-3 .coupon .text .btn-normal a {
  color: var(--bgColor) !important;
  border: var(--bgColor) 1px solid !important;
}
@media (max-width: 1000px) {
  .coupon .image {
    width: 65%;
  }
}
@media (max-width: 768px) {
  .coupon {
    padding: 0 var(--padding) var(--margin) var(--padding);
  }
  .coupon .image {
    position: relative;
    left: auto;
    margin: 0 calc(var(--padding) * -1) var(--margin) calc(var(--padding) * -1);
    width: 100vw;
  }
  .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-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--itemMarginV) var(--itemMarginH);
}
.newblog-list-item {
  opacity: 0;
  background: var(--newblogItemBgColor);
  transform: translateY(20px);
  transition: all 1s ease;
}
.viewed .newblog-list-item {
  opacity: 1;
  transform: translateY(0);
}
.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 .date {
  margin: 3px 0 0 0;
  color: var(--subTextColor);
  font-size: 1.2rem;
}
.newblog-list-item p {
  display: none;
}
.newblog .btn-normal {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s ease;
}
.newblog.viewed .btn-normal {
  opacity: 1;
  transform: translateY(0);
}
.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;
  transform: translateY(20px);
  transition: all 0.6s ease;
}
.viewed .breadcrumb {
  opacity: 1;
  transform: translateY(0);
}
.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);
  transform: translateY(20px);
  transition: all 0.6s 0.1s ease;
}
.viewed .item-list-title h1 {
  opacity: 1;
  transform: translateY(0);
}
.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.7s 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;
  transform: translateY(20px);
  transition: all 1s ease;
}
.viewed .item-list-wrap {
  opacity: 1;
  transform: translateY(0);
}
.item-list {
  display: grid;
  grid-template-columns: repeat(var(--itemNum), 1fr);
  gap: var(--itemMarginV) var(--itemMarginH);
}
.item-list-item {
  position: relative;
  height: auto;
  background: var(--bgColor);
}
.design-type-2 .item-list-item {
  padding: 8px;
}
.design-type-2.darkmode-1.dark .item-list-item,
.design-type-2.darkmode-3.dark .item-list-item {
  background: var(--subBgColor);
}
.design-type-2 .item-list-item:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 12px 50px -10px rgba(0, 0, 0, 0.1);
  z-index: -1;
}
.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;
}
.design-type-2 .item-list-item .image {
  margin: 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);
}
.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);
}
.design-type-2 .item-list-item .text {
  padding: 20px 12px 12px 12px;
}
.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;
  padding: 50px 0 0 0;
}
.header-design-2 .item,
.header-design-3 .item {
  padding: calc(var(--headerMargin) * 2 + 50px) 0 0 0;
}
.fixed-cart-btn {
  display: none;
}
.item-image {
  opacity: 0;
  position: relative;
  padding: 0 calc(var(--padding) / 2) 0 0;
  width: 60%;
  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: calc(var(--headerHeight) + 20px);
}
.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: 40%;
  will-change: min-height;
  z-index: 1;
  transform: translateY(20px);
  transition: all 1s 0.2s ease;
}
.viewed .item-detail {
  opacity: 1;
  transform: none;
}

.item-image-list {
  margin: 0 0 10px 0;
}
.item-image-list img {
  width: 100%;
  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: var(--imageBorderRadius);
}
.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;
}

.easyOverseasSales {
  display: block;
  margin: 3rem 0 0 0;
  padding: 0;

  span.easyOverseasSales__label {
    display: block;
    color: var(--textColor);
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
  }

  .easyOverseasSalesArea {
    margin: 2rem 0 0 0;
    text-align: center;

    a.easyOverseasSalesArea__link {
      color: inherit;
      font-size: 1.3rem;
    }
  }
}
.purchaseButton button,
.purchaseButton a:not(.easyOverseasSalesArea__link) {
  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: 12px;
  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;
  }
  .header-design-2 .item.type-2,
  .header-design-2 .item.type-3,
  .header-design-3 .item.type-2,
  .header-design-3 .item.type-3 {
    padding: 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: var(--padding) 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;
  }
}

.design-type-2 .related-items ul {
  gap: 1px;
}
@media (max-width: 900px) {
  .design-type-2 .related-items ul {
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .design-type-2 .related-items ul {
    gap: 20px;
  }
}
@media (max-width: 600px) {
  .design-type-2 .related-items ul {
    gap: 1px;
  }
}
.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 !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;
  bottom: 40px;
  left: 0;
  width: 100%;
  color: #fff;
  font-size: var(--pageTitleSize);
  transform: translateY(20px);
  transition: all 0.6s 0.6s ease;
}
.viewed .image-title h2 {
  opacity: 1;
  transform: translateY(0);
}
@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;
  transform: translateY(20px);
  transition: all 0.6s ease;
}
.viewed .page-title {
  opacity: 1;
  transform: translateY(0);
}

/* 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: normal !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(--subPageTitleSize);
  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(--imageBorderRadius);
}
.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;
  bottom: 40px;
  left: 0;
  margin: 0;
  width: 100%;
  color: #fff;
  font-size: var(--pageTitleSize);
  text-align: left;
  transform: translateY(20px);
  transition: all 0.6s 0.6s ease;
}
.membership-img-exist .viewed .page-title-wrap .page-title {
  opacity: 1;
  transform: translateY(0);
}
@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);
  }
}
