    :root {
      --c-white: #ffffff;
      --c-text: #1a1a1a;
      --font: "Noto Sans JP", "Helvetica Neue", sans-serif;
      --font-en: "Roboto Flex", "Helvetica Neue", Arial, sans-serif;
      --fv-frame-aspect-ratio: 2400 / 990;
      --fv-frame-max-height: none;
      --fv-frame-bottom-space: 2.1rem;
      --logo-w: clamp(20rem, 26vw, 23rem);
      --logo-h: clamp(6.75rem, 22vh, 30rem);
      --logo-img-scale: 0.5;
      --logo-img-max-inset-x: 2.5rem;
      --logo-offset-x: -1.3rem;
      --logo-offset-y: -0.24rem;
      --logo-area-offset-x: 0;
      --logo-area-offset-y: -1px;
      --logo-trapezoid-cut: 72%;
      /* ロゴの白台形：左下（0 = 画面左端） */
      --logo-trapezoid-bottom-left-x: 0;
      /* 布画像の台形マスク（青線の形）— 斜めの左辺 */
      /* 上端の切り口をロゴ幅より左へ広げる（値を大きくするほど画像の左上が左へ見える） */
      --fv-visual-mask-top-pull: 16rem;
      --fv-visual-mask-top-left-x: calc(var(--logo-w) - var(--fv-visual-mask-top-pull));
      --fv-visual-mask-bottom-left-extra: -8rem;
      --fv-visual-mask-bottom-left-x: calc(var(--logo-w) + var(--fv-visual-mask-bottom-left-extra, -8rem));
      /* スライド切替時の blur がマスク内で上下に矩形クリップされないよう、レイヤーをわずかに拡げる */
      --fv-slide-media-bleed: 2.5rem;
      /* マスク内の画像を常に少し大きく表示して、blur 時の端欠けを防ぐ */
      --fv-slide-media-scale: 1.08;
      --fv-slide-media-size: 100% auto;
      --fv-slide-media-position: top center;
      --fv-slide-dots-left: auto;
      --fv-slide-dots-right: clamp(2.5rem, 7vw, 7rem);
      /* 右下ドットの縦位置（マイナス大きいほど下へ・px・例: -30px -36px） */
      --fv-slide-dots-bottom: -33px;
      --fv-slide-dots-offset-y: 16px;
      --fv-slide-dots-gap: clamp(1.1rem, 2vw, 1.8rem);
      --fv-slide-dots-translate-x: 0;
      --fv-slide-dot-hit-size: 20px;
      --fv-slide-dot-size: 6px;
      /* FV初回演出のタイミング（ロゴ台形・布エリア・解除までの待ち） */
      --fv-intro-logo-delay: 0.2s;
      --fv-intro-logo-duration: 2.5s;
      --fv-intro-logo-blur-from: 20px;
      --fv-intro-logo-mark-delay: 1s;
      --fv-intro-logo-mark-duration: 1.4s;
      --fv-intro-logo-mark-blur-from: 10px;
      --fv-intro-visual-delay: 1.7s;
      --fv-intro-visual-duration: 3s;
      --fv-intro-mask-blur-from: 22px;
      /* is-intro 解除（以降はマスクに blur をかけず、中身だけ切替）— 初回の長い方より少し長く */
      --fv-intro-clear-after: 3.4s;
      --scroll-nav-h: 48px;
      --anchor-scroll-margin-top: calc(var(--scroll-nav-h) + 32px);
      /* スクロール追従ナビ：ロゴ・ハンバーガー（px。大きい/小さい・左右・上下） */
      --scroll-logo-w: 72px;
      --scroll-logo-left: 22px;
      --scroll-logo-offset-x: 0px;
      --scroll-logo-offset-y: 0px;
      --scroll-menu-right: 22px;
      --scroll-menu-offset-x: 0px;
      --scroll-menu-offset-y: 0px;
      --scroll-menu-width: 34px;
      --scroll-menu-height: 14px;
      --scroll-menu-gap: 6px;
      --fv-menu-top: 1.4rem;
      --fv-menu-right: 1.9rem;
      /* FVハンバーガー（SP）は HTML の data-fv-hamburger-right を編集 */
      --drawer-menu-font-size: 13px;
      --drawer-top: 0;
      --drawer-padding-top: clamp(5rem, 14vw, 9rem);
      --drawer-padding-x: 1.9rem;
      --drawer-padding-bottom: 4rem;
      /* INFORMATION row spacing */
      --info-date-w: 4.55rem;
      --info-date-to-tag-gap: 0.4rem;
      --info-tag-to-text-gap: 0.8rem;
      --info-date-offset-x: 2px;
      --info-date-offset-y: 1.3px;
      --info-tag-offset-y: 3.7px;
      --info-tag-w: 3.5rem;
      --info-tag-h: 1rem;
      --info-tag-font-size: 9.5px;
      --info-tag-letter-spacing: 0.16em;
      --info-tag-text-offset-x: 1px;
      /* INFO文字の縦位置（正の値ほど下へ、負の値ほど上へ） */
      --info-tag-text-offset-y: 0.5px;
      --info-tag-line-height: 1;
      --info-date-font-size: 11px;
      --info-body-font-size: 14px;
      --info-item-text-line-height: 1.6;
      --info-gap-top-line-to-first: 1.9rem;
      --info-gap-between-items: 1.5rem;
      --info-gap-last-to-bottom-line: 1.9rem;
      --info-text-pad-right: 0;
      /* 下線と「その他の記事を見る」の間（px・大きいほど下へ） */
      --info-more-margin-top: 12px;
      --info-more-margin-right: 0;
      --info-heading-offset-y: 0;
      --info-section-margin-top: 5rem;
      /* INFORMATION見出し〜上端の線（px・小さいほど狭い） */
      --info-heading-body-gap: 24px;
      --info-content-pad-x: 1.25rem;
      /* SP/タブレット：左右余白（INFORMATION・ABOUT 等で共通・px） */
      --sp-content-pad-x: 25px;
      /* INFORMATIONとABOUTの間（sp-tuning.json・大きいほど広い） */
      --info-to-about-gap: 80px;
      /* ABOUTとMEZI STOREの間（sp-tuning.json・大きいほど広い） */
      --sp-about-to-store-gap: 48px;
      /* 「その他の記事を見る」の下（INFORMATION内） */
      --info-more-pad-bottom: 24px;
      --about-pad-y: clamp(5rem, 9vw, 8rem);
      /* PC：グレー下端を少し下へ（px・大きいほど伸びる・例: 6px 10px） */
      --about-gray-bottom-extend-pc: 5px;
      --about-bg-bottom: var(--about-pad-y);
      /* 「白か黒か」文字の上の白だけ（大きいほど詰む・em/px） */
      --about-poem-first-line-top-trim: 0.24em;
      /* 詩・上2行と下2行の間（px・BASEプレビュー641px以上でも効く） */
      --about-poem-stanza-gap: 0px;
      /* 「メジは、」改行：HTMLの about__lead-br--pc / --sp を移動 */
      /* 「メジは、」〜メンバー間（px） */
      --about-lead-to-members-gap: 40px;
      /* WORKS「一覧を見る」：画像右端揃え（右pad大きいほど内側・左pad大きいほど右へ） */
      --work-more-pad-right: 0px;
      --work-more-pad-left: 0px;
      --work-more-margin-top: 24px;
      /* WORKS末尾の余白（一覧を見るの下・WORKS内のみ・小さいほど詰む） */
      --work-section-pad-bottom: 40px;
      --about-lead-text-align: left;
      --about-heading-offset-y: -2px;
      --about-poem-offset-y: -10px;
      --about-member-name-font-size: 17px;
      /* 写真上端と「大江 純平/永実」1行目の頭（マイナス＝名前が上へ・px） */
      --about-member-name-offset-y: -4px;
      /* ローマ字（Jumpei Ohe等）〜下のプロフィール文（小さいほど詰む・px） */
      --about-member-roman-to-bio-gap: 8px;
      /* メンバー2人の間（px・PC・大きいほど広い） */
      --about-members-gap: 44px;
      /* 「さい。」下の白余白（大きいほど詰む・.about__contact のみ） */
      --about-contact-bottom-trim: 8px;
      --about-member-text-line-height: 1.65;
      --section-eyebrow-font-size: 14px;
      --shop-title-font-size: 16px;
      --shop-price-font-size: 13px;
      /* 商品画像と商品名の間（px・PC・SOLD OUTには影響しない） */
      --shop-image-to-title-gap: 18px;
      /* 商品画像と商品名の間（px・SP・SOLD OUTには影響しない） */
      --shop-image-to-title-gap-sp: 24px;
      /* SOLD OUT・PCのみ（px・SPは下の @media max-width 640px 内） */
      /* 上下：0=商品名と同じ高さ／マイナス大きいほど上へ（例: -8 -12） */
      --shop-sold-offset-y-pc: -22.5px;
      /* 左右：大きいほど左へ（右端からの距離・例: 8 12 16） */
      --shop-sold-offset-x-pc: -1px;
      --shop-sold-font-size: 15px;
      --shop-sold-color: #b66358;
      --shop-list-pad-top: clamp(5.5rem, 8vw, 7rem);
      --shop-list-pad-bottom: clamp(5.5rem, 9vw, 8rem);
      /* セクション本文の最大幅（INFORMATION / MEZI STORE 等で共通） */
      --section-inner-w: min(100%, 68rem);
      /* INFORMATION一覧ページ */
      --info-archive-inner-w: min(100%, 72rem);
      --info-archive-side-w: 12rem;
      --info-archive-side-gap: clamp(3rem, 7vw, 7rem);
      --info-archive-grid-gap-y: clamp(4rem, 7vw, 6rem);
      --info-archive-grid-gap-x: clamp(2.5rem, 5vw, 4rem);
      --info-archive-card-title-size: 16px;
      --info-archive-category-font-size: 11px;
      --info-archive-placeholder-image: url("https://basefile.akamaized.net/MEZI-theshop-jp/6a0c53b164349/mv-slide-01.jpg");
      /* 記事詳細：調整用 */
      --info-article-footer-gap: 96px;
      --info-article-body-font-size: 14px;
      --info-article-body-line-height: 2.15;
      --info-shop-badge-max-width: 152px;
      --info-shop-badge-padding-top: 16px;
      --info-shop-badge-padding-x: 12px;
      --info-shop-badge-padding-bottom: 18px;
      --info-shop-badge-inner-gap: 14px;
      --info-shop-badge-text-size: 10px;
      --info-shop-badge-text-line-height: 1.65;
      --info-shop-badge-text-letter-spacing: 1px;
      --info-shop-badge-logo-width: 88px;
      --shop-list-inner-w: var(--section-inner-w);
      /* ストア一覧ページのみ・カテゴリーメニュー上（ヒーロー〜ALL等・PC・px・大きいほど広い） */
      --store-category-nav-gap-above-pc: 100px;
      /* ストア一覧ページのみ・カテゴリーメニュー下（ALL等〜商品一覧・PC・px・大きいほど広い） */
      --store-category-nav-gap-below-pc: 100px;
      /* ストア一覧ページのみ・黒丸バッジの直径（PC・px・大きいほど大きい） */
      --store-hero-badge-size-pc: 230px;
      /* ストア一覧ページのみ・黒丸バッジの位置（PC・px・右+/左-・下+/上-） */
      --store-hero-badge-offset-x-pc: -10px;
      --store-hero-badge-offset-y-pc: 0px;
      /* ストア一覧ページのみ・黒丸内ロゴの幅（PC・px・大きいほど大きい） */
      --store-hero-badge-logo-w-pc: 100px;
      --shop-grid-gap-x: clamp(1.5rem, 3.4vw, 3rem);
      --shop-grid-gap-y: clamp(3.2rem, 5vw, 4.8rem);
      --shop-category-gap: clamp(1.2rem, 3vw, 2.6rem);
      /* INSTAGRAM・表示する四角の数（PC・左から新しい順） */
      --instagram-slot-count-pc: 8;
      /* カテゴリーボタン（ALL/ACCESSORIES等・PC・px・大きいほど大きい） */
      --shop-category-font-size: 14px;
      /* ストアカテゴリー見出し（ART 等・PC・pc-tuning.json で調整） */
      --pc-shop-category-title-size: 1.1rem;
      /* ストアヒーロー横長カプセルの最大幅（PC・pc-tuning.json で調整） */
      --pc-store-hero-max-width: 76rem;
      /* ストアヒーロー・クロスフェード（FV .fv__visual-layer と同じ 2.2s） */
      --shop-hero-slide-fade: 2.2s ease;
      --shop-hero-media-bleed: var(--fv-slide-media-bleed);
      --shop-hero-media-scale: 1.08;
      --works-pagination-muted-color: #aaaaaa;
      --works-pagination-active-color: #1a1a1a;
      --works-arrow-color: var(--works-pagination-muted-color);
      --works-arrow-w: 17px;
      --works-arrow-h: 20px;
      --works-arrow-line-w: 18px;
      --works-arrow-head-w: 10px;
      --works-arrow-line-thickness: 1px;
      --footer-copyright-offset-x: 3px;
      /* フッター：PRIVACY POLICY と © の間（px・SP・小さいほど狭い） */
      --footer-policy-to-credit-gap-sp: 8px;
      /* フッター：© の下の余白（px・SP・小さいほど狭い） */
      --footer-pad-bottom-sp: 28px;
      /* BLOG「見出し見出し…」だけ（px・他セクションに影響なし） */
      --blog-card-title-font-size: 14px;
      /* BLOG記事ブロックどうしの間（px・SP・大きいほど広い） */
      --blog-grid-gap-sp: 40px;
      /* PROJECT「くちへね」等・名前だけ（px） */
      --project-card-title-font-size: 15px;
      /* PROJECT・説明文だけ（px） */
      --project-card-text-font-size: 13.5px;
      /* PROJECTブロックどうしの間（px・SP・大きいほど広い） */
      --project-grid-gap-sp: 40px;
      /* セクション見出し（INFORMATION/ABOUT/WORKS等・SPのみ・px） */
      --sp-section-eyebrow-font-size: 13px;
      --blog-card-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 600'%3E%3Crect width='900' height='600' fill='%23e9e8e4'/%3E%3C/svg%3E");
    }

    *, *::before, *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      font-size: 16px;
      scroll-behavior: smooth;
      max-width: 100%;
      overflow-x: clip;
      overscroll-behavior-x: none;
    }

    /* 日本語：句読点の後ろの余白を詰める */
    html:lang(ja),
    html:lang(ja) body {
      font-feature-settings: "palt" 1;
      text-spacing-trim: space-all;
    }

    .main :is(
      #instagram-title,
      #information-title,
      #about-title,
      #work-title,
      #shop-title,
      #youtube-title,
      #blog-title,
      #project-title,
      #contact,
      #mezi-store
    ) {
      scroll-margin-top: var(--anchor-scroll-margin-top);
    }

    body {
      font-family: var(--font);
      background-color: var(--c-white);
      color: var(--c-text);
      -webkit-font-smoothing: antialiased;
      max-width: 100%;
      overflow-x: clip;
      overscroll-behavior-x: none;
    }

    .page {
      max-width: 100%;
      overflow-x: clip;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    button {
      font: inherit;
      border: none;
      background: none;
      cursor: pointer;
    }

    img {
      max-width: 100%;
      display: block;
    }

    .base-required-tags {
      display: none !important;
    }

    .text-link {
      display: inline-block;
      text-decoration-line: underline;
      text-decoration-color: #9a9a9a;
      text-decoration-thickness: 0.9px;
      text-underline-offset: 0.15em;
      transition: opacity 0.2s ease;
    }

    .text-link:hover,
    .text-link:focus-visible {
      opacity: 0.5;
    }

    .fv {
      position: relative;
      width: 100%;
    }

    .fv__frame {
      position: relative;
      width: 100%;
      aspect-ratio: var(--fv-frame-aspect-ratio);
      max-height: var(--fv-frame-max-height);
      margin-bottom: var(--fv-frame-bottom-space);
      overflow: visible;
      background-color: var(--c-white);
      container-type: size;
    }

    @keyframes fvBleedIn {
      from {
        opacity: 0;
        filter: blur(14px);
      }

      to {
        opacity: 1;
        filter: blur(0);
      }
    }

    @keyframes fvVisualFadeIn {
      from {
        opacity: 0;
      }

      to {
        opacity: 1;
      }
    }

    @keyframes fvMediaBleedIn {
      from {
        filter: blur(18px);
      }

      to {
        filter: blur(0);
      }
    }

    @keyframes fvLogoAreaIntro {
      from {
        opacity: 0;
        filter: blur(var(--fv-intro-logo-blur-from));
      }

      to {
        opacity: 1;
        filter: blur(0);
      }
    }

    @keyframes fvMaskWholeIntro {
      from {
        opacity: 0;
        filter: blur(var(--fv-intro-mask-blur-from));
      }

      to {
        opacity: 1;
        filter: blur(0);
      }
    }

    @keyframes fvLogoMarkIntro {
      from {
        opacity: 0;
        filter: blur(var(--fv-intro-logo-mark-blur-from));
      }

      to {
        opacity: 1;
        filter: blur(0);
      }
    }

    .fv__visual {
      position: absolute;
      inset: 0;
      z-index: 0;
      opacity: 1;
      /* スライド用の拡張レイヤーがページ幅を押し広げないようFV内でクリップ */
      overflow: hidden;
    }

    /* 布：初回のみマスクごとぼかし出し（輪郭も含め全体）。終了後は通常のマスクのみ */
    .fv__visual-mask {
      position: absolute;
      inset: 0;
      /* clip-path で台形に切る。hidden だと子の blur が先に矩形で切れて帯状に見える */
      overflow: visible;
      isolation: isolate;
      transform: translateZ(0);
      opacity: 1;
      filter: none;
      clip-path: polygon(
        var(--fv-visual-mask-top-left-x) 0,
        100% 0,
        100% 100%,
        var(--fv-visual-mask-bottom-left-x) 100%
      );
    }

    /* PC：FVの台形・布マスクは .fv 内だけで固定（スマホ調整が :root に漏れても無効） */
    @media (min-width: 641px) {
      .fv {
        --logo-w: clamp(20rem, 26vw, 23rem);
        --logo-h: clamp(6.75rem, 22vh, 30rem);
        --logo-img-scale: 0.5;
        --logo-img-max-inset-x: 2.5rem;
        --logo-offset-x: -1.3rem;
        --logo-offset-y: -0.24rem;
        --logo-area-offset-x: 0;
        --logo-area-offset-y: -1px;
        --logo-trapezoid-cut: 72%;
        --logo-trapezoid-bottom-left-x: 0;
        --fv-visual-mask-top-pull: 16rem;
        --fv-visual-mask-bottom-left-extra: -8rem;
        --fv-visual-mask-top-left-x: calc(var(--logo-w) - var(--fv-visual-mask-top-pull));
        --fv-visual-mask-bottom-left-x: calc(var(--logo-w) + var(--fv-visual-mask-bottom-left-extra));
      }
    }

    .fv__visual.is-intro .fv__visual-mask {
      opacity: 0;
      filter: blur(var(--fv-intro-mask-blur-from));
      animation: fvMaskWholeIntro var(--fv-intro-visual-duration) ease var(--fv-intro-visual-delay) forwards;
    }

    .fv__visual-layer {
      position: absolute;
      inset: calc(-1 * var(--fv-slide-media-bleed));
      opacity: 0;
      transition: opacity 2.2s ease;
    }

    .fv__visual-layer.is-active {
      z-index: 1;
      opacity: 1;
    }

    .fv__visual-layer__media {
      display: block;
      width: 100%;
      height: 100%;
      background-image: url("https://basefile.akamaized.net/MEZI-theshop-jp/6a4fab5d75d25/fv-pc-01.jpg");
      background-repeat: no-repeat;
      background-position: var(--fv-slide-media-position);
      background-size: var(--fv-slide-media-size);
      transform: scale(var(--fv-slide-media-scale));
      transform-origin: center center;
      filter: blur(18px);
      transition: filter 2.2s ease;
    }

    .fv__visual-layer.is-active .fv__visual-layer__media {
      filter: blur(0);
    }

    /* 初回：マスク側で全体ぼかしのためレイヤー内の二重ぼかしはしない */
    .fv__logo-area {
      position: absolute;
      top: var(--logo-area-offset-y);
      left: var(--logo-area-offset-x);
      z-index: 2;
      width: var(--logo-w);
      height: calc(var(--logo-h) + 1px);
      background: var(--logo-area-bg, #e6e6e6);
      clip-path: polygon(0 0, 100% 0, var(--logo-trapezoid-cut) 100%, var(--logo-trapezoid-bottom-left-x) 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: clamp(0.75rem, 2vh, 1.25rem) clamp(0.75rem, 2vw, 1.5rem);
      opacity: 0;
      filter: blur(var(--fv-intro-logo-blur-from));
      animation: fvLogoAreaIntro var(--fv-intro-logo-duration) ease var(--fv-intro-logo-delay) forwards;
    }

    .fv__logo {
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 0;
      transform: translateX(var(--logo-offset-x)) translateY(var(--logo-offset-y));
      opacity: 0;
      filter: blur(var(--fv-intro-logo-mark-blur-from));
      animation: fvLogoMarkIntro var(--fv-intro-logo-mark-duration) ease var(--fv-intro-logo-mark-delay) forwards;
    }

    .fv__logo-img,
    .fv__logo-img img {
      width: auto;
      height: auto;
      max-height: calc(var(--logo-h) * 0.72);
      max-width: min(100%, calc(var(--logo-w) - var(--logo-img-max-inset-x)));
    }

    .fv__logo-img {
      transform: scale(var(--logo-img-scale));
      transform-origin: center center;
    }

    .fv__logo-img img {
      display: block;
    }

    .fv__menu,
    .scroll-nav__menu {
      position: absolute;
      z-index: 12;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 12px;
      width: 40px;
      height: 26px;
      padding: 0;
    }

    .fv__menu {
      top: var(--fv-menu-top);
      right: var(--fv-menu-right);
    }

    .fv__menu span,
    .scroll-nav__menu span {
      display: block;
      width: 100%;
      height: 1px;
      background: currentColor;
      transition: transform 0.25s ease, background-color 0.25s ease;
      transform-origin: center;
    }

    .fv__menu {
      color: var(--c-white);
    }

    .fv__menu[aria-expanded="true"],
    .scroll-nav__menu[aria-expanded="true"] {
      gap: 0;
      color: var(--c-text);
    }

    .fv__menu[aria-expanded="true"] span,
    .scroll-nav__menu[aria-expanded="true"] span {
      position: absolute;
      left: 0;
      top: 50%;
      background: var(--c-text);
    }

    .fv__menu[aria-expanded="true"] span:first-child,
    .scroll-nav__menu[aria-expanded="true"] span:first-child {
      transform: rotate(28deg);
    }

    .fv__menu[aria-expanded="true"] span:last-child,
    .scroll-nav__menu[aria-expanded="true"] span:last-child {
      transform: rotate(-28deg);
    }

    .fv__drawer,
    .scroll-nav__drawer {
      position: absolute;
      top: 0;
      right: 0;
      z-index: 11;
      width: 200px;
      max-width: 100vw;
      padding: 5rem 1.9rem 2rem;
      background: var(--c-white);
      color: var(--c-text);
      display: flex;
      flex-direction: column;
      gap: 1.05rem;
      opacity: 0;
      pointer-events: none;
      clip-path: inset(0 0 0 100%);
      transition: opacity 0.25s ease, clip-path 0.25s ease;
    }

    .fv__drawer {
      height: 100%;
      padding-top: clamp(5rem, 14vw, 9rem);
    }

    .fv__menu[aria-expanded="true"] + .fv__drawer,
    .scroll-nav__menu[aria-expanded="true"] + .scroll-nav__drawer {
      opacity: 1;
      pointer-events: auto;
      clip-path: inset(0 0 0 0);
    }

    .fv__drawer a,
    .scroll-nav__drawer a {
      width: max-content;
      font-family: var(--font-en);
      font-size: var(--drawer-menu-font-size);
      font-weight: 420;
      line-height: 1;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      background-image: linear-gradient(currentColor, currentColor);
      background-repeat: no-repeat;
      background-position: left bottom;
      background-size: 0 1px;
      transition: background-size 0.25s ease;
    }

    .fv__drawer a:hover,
    .fv__drawer a:focus-visible,
    .scroll-nav__drawer a:hover,
    .scroll-nav__drawer a:focus-visible {
      background-size: 100% 1px;
    }

    .fv__slide-dots {
      position: absolute;
      left: var(--fv-slide-dots-left);
      right: var(--fv-slide-dots-right);
      bottom: calc(var(--fv-slide-dots-bottom) - var(--fv-slide-dots-offset-y));
      z-index: 4;
      display: flex;
      align-items: center;
      gap: var(--fv-slide-dots-gap);
      transform: translateX(var(--fv-slide-dots-translate-x));
    }

    .fv__slide-dots button {
      width: var(--fv-slide-dot-hit-size);
      height: var(--fv-slide-dot-hit-size);
      padding: 0;
      border: 0;
      border-radius: 50%;
      appearance: none;
      background: transparent;
      outline: none;
      box-shadow: none;
      cursor: pointer;
      touch-action: manipulation;
      transition: background-color 0.2s ease, box-shadow 0.2s ease;
    }

    .fv__slide-dots button::before {
      content: "";
      display: block;
      width: var(--fv-slide-dot-size);
      height: var(--fv-slide-dot-size);
      margin: 0 auto;
      border-radius: 50%;
      background: #e2e2e2;
      transition: background-color 0.2s ease;
    }

    @media (min-width: 641px) {
      .fv__slide-dots {
        left: auto;
        right: clamp(2.5rem, 7vw, 7rem);
        bottom: var(--fv-slide-dots-bottom);
        gap: clamp(1.1rem, 2vw, 1.8rem);
        transform: translateX(0);
      }

    }

    /* PCのみ：見出し上＋日付・タグ・本文を1行（1024px未満は下のSP2行レイアウト） */
    @media (min-width: 1024px) {
      .information-section > .section__inner {
        width: var(--section-inner-w);
        max-width: 100%;
        margin-inline: auto;
      }

      .information__item {
        display: grid;
        grid-template-columns:
          var(--info-date-w)
          var(--info-date-to-tag-gap)
          var(--info-tag-w)
          var(--info-tag-to-text-gap)
          minmax(0, 1fr);
        align-items: start;
        column-gap: 0;
        width: 100%;
        max-width: 100%;
        min-width: 0;
      }

      .information__item-head {
        display: contents;
      }

      .information__item time {
        display: block;
        grid-column: 1;
        grid-row: 1;
        transform: translate(var(--info-date-offset-x), var(--info-date-offset-y));
      }

      .information__tag {
        grid-column: 3;
        grid-row: 1;
        margin-left: 0;
        transform: translateY(var(--info-tag-offset-y));
      }

      .information__item-text {
        grid-column: 5;
        grid-row: 1;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-top: 0;
        overflow-wrap: break-word;
        word-break: break-word;
        line-break: strict;
      }
    }

    .fv__slide-dots button:hover::before,
    .fv__slide-dots button:focus-visible::before,
    .fv__slide-dots button.is-active::before {
      background: var(--c-text);
    }

    .fv__slide-dots button:focus-visible {
      box-shadow: none;
    }

    .scroll-nav {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 20;
      width: 100%;
      height: var(--scroll-nav-h);
      background: var(--c-white);
      color: var(--c-text);
      transform: translateY(-100%);
      pointer-events: none;
      transition: transform 0.35s ease;
    }

    .scroll-nav.is-visible {
      transform: translateY(0);
      pointer-events: auto;
    }

    .scroll-nav.is-visible .scroll-nav__menu,
    .scroll-nav.is-visible .scroll-nav__logo {
      pointer-events: auto;
    }

    .scroll-nav__logo {
      position: absolute;
      top: 50%;
      left: calc(var(--scroll-logo-left) + var(--scroll-logo-offset-x));
      z-index: 22;
      line-height: 1;
      transform: translateY(calc(-50% + var(--scroll-logo-offset-y)));
    }

    .scroll-nav__logo img {
      display: block;
      width: var(--scroll-logo-w);
      height: auto;
    }

    .scroll-nav__menu {
      top: 50%;
      right: calc(var(--scroll-menu-right) + var(--scroll-menu-offset-x));
      width: var(--scroll-menu-width);
      height: var(--scroll-menu-height);
      gap: var(--scroll-menu-gap);
      color: var(--c-text);
      transform: translateY(calc(-50% + var(--scroll-menu-offset-y)));
    }

    .main {
      width: 100%;
      background: var(--c-white);
    }

    body.is-contact-page .contact-page__content .main {
      background: transparent !important;
    }

    .section {
      padding: clamp(4rem, 9vw, 8rem) clamp(1.5rem, 6vw, 6rem);
    }

    .section--white {
      background: var(--c-white);
    }

    .section__inner {
      width: var(--section-inner-w);
      margin: 0 auto;
    }

    .section__eyebrow {
      margin-bottom: 1.5rem;
      font-family: var(--font-en);
      font-size: var(--section-eyebrow-font-size);
      font-weight: 500;
      letter-spacing: 0.2em;
      text-transform: uppercase;
    }

    @media (min-width: 641px) {
      .home-info {
        padding-top: 9rem;
      }
    }

    .instagram-block .section__eyebrow,
    .instagram-block #instagram-title {
      margin-bottom: 0.6rem;
      font-size: var(--section-eyebrow-font-size);
    }

    .instagram-grid {
      display: grid;
      grid-template-columns: repeat(var(--instagram-slot-count-pc), minmax(0, 1fr));
      min-height: clamp(5.5rem, 9vw, 8rem);
    }

    @media (min-width: 641px) {
      .instagram-grid {
        margin-right: calc(50% - 50vw);
      }

      .work__body {
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
      }
    }

    .instagram-card {
      display: block;
      aspect-ratio: 1;
      overflow: hidden;
      background: #d7d8d3;
      transition: filter 0.25s ease;
    }

    .instagram-card:nth-child(even):not(.is-filled) {
      background: #9a9b93;
    }

    .instagram-card.is-filled {
      background: #d7d8d3;
    }

    .instagram-card img {
      display: block;
      width: 100%;
      height: 100%;
      aspect-ratio: 1;
      object-fit: cover;
    }

    .instagram-card:hover {
      filter: brightness(0.94);
    }

    .information-section.section {
      padding-top: var(--info-section-margin-top);
      padding-bottom: 0;
      overflow-x: clip;
    }

    /* 見出し→線→記事の1カラム（幅は親の .section__inner → --section-inner-w） */
    .information__inner {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: var(--info-heading-body-gap);
      min-width: 0;
      box-sizing: border-box;
    }

    .information__heading {
      align-self: start;
      padding-top: 0;
    }

    .information__heading .section__eyebrow {
      margin-bottom: 0;
      transform: translateY(var(--info-heading-offset-y));
    }

    .information__body {
      width: 100%;
      min-width: 0;
      padding-top: 0;
    }

    .information__list {
      position: relative;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      --info-line-w: 100%;
    }

    .information__list::before,
    .information__list::after {
      content: "";
      display: block;
      width: var(--info-line-w);
      max-width: 100%;
      height: 1px;
      background: #bfbfbf;
    }

    .information__list::before {
      margin-bottom: var(--info-gap-top-line-to-first);
    }

    .information__list::after {
      margin-top: var(--info-gap-last-to-bottom-line);
    }

    .information__item {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0.4rem;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
      padding: 0;
      font-size: var(--info-body-font-size);
      font-weight: 400;
      line-height: 1.6;
      letter-spacing: 0.04em;
      transition: opacity 0.2s ease;
    }

    .information__item-head {
      display: inline-flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: var(--info-date-to-tag-gap);
      max-width: 100%;
    }

    .information__item:hover,
    .information__item:focus-visible {
      opacity: 0.5;
    }

    .information__item + .information__item {
      margin-top: var(--info-gap-between-items);
    }

    .information__item time {
      display: block;
      flex: 0 0 auto;
      white-space: nowrap;
      font-size: var(--info-date-font-size, 11px);
      line-height: 1.7;
      letter-spacing: 0.08em;
      transform: none;
    }

    .information__tag {
      display: inline-flex;
      flex: 0 0 auto;
      margin-left: 0;
      align-items: center;
      justify-content: center;
      width: var(--info-tag-w);
      height: var(--info-tag-h);
      background: #eeeeee;
      font-family: var(--font-en);
      font-size: var(--info-tag-font-size);
      font-weight: 500;
      line-height: 1;
      letter-spacing: 0;
      transform: none;
    }

    .information__tag::before {
      content: attr(data-label);
      line-height: var(--info-tag-line-height);
      letter-spacing: var(--info-tag-letter-spacing);
      transform: translate(var(--info-tag-text-offset-x), var(--info-tag-text-offset-y));
    }

    .information__item-text {
      display: block;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      margin-top: 0;
      font-size: var(--info-body-font-size);
      line-height: var(--info-item-text-line-height);
      padding-right: var(--info-text-pad-right);
      box-sizing: border-box;
      overflow-wrap: break-word;
      word-break: break-word;
      line-break: strict;
    }

    .information__more {
      margin: var(--info-more-margin-top) var(--info-more-margin-right) 0 0;
      text-align: right;
      font-size: 12px;
      letter-spacing: 0.08em;
    }

    /* INFORMATION直下〜ABOUT手前の余白（--info-to-about-gap） */
    .info-to-about-spacer {
      display: block;
      width: 100%;
      height: var(--info-to-about-gap);
      margin: 0;
      padding: 0;
      border: 0;
      background: var(--c-white);
    }

    @media (min-width: 1024px) {
      .info-to-about-spacer {
        display: none;
      }
    }

    .about {
      position: relative;
      overflow: hidden;
      background: var(--c-white);
      padding-top: var(--about-pad-y);
      padding-bottom: var(--about-pad-y);
    }

    .about::before {
      content: "";
      position: absolute;
      inset: var(--about-pad-y) 0 var(--about-bg-bottom);
      background: #f3f3f3;
    }

    /* PC：グレー下端＝お問い合わせ文の下（負の margin で縮まないよう別管理） */
    @media (min-width: 641px) {
      .about {
        padding-bottom: calc(var(--about-pad-y) - var(--about-contact-bottom-trim, 0px));
      }

      .about::before {
        inset: var(--about-pad-y) 0 calc(var(--about-pad-y) - var(--about-contact-bottom-trim, 0px) - var(--about-gray-bottom-extend-pc, 0px));
      }

      .about__body {
        /* 中央の白を延長して、グレー延長時の境界線を出さない */
        box-shadow: 0 var(--about-gray-bottom-extend-pc, 0px) 0 0 var(--c-white);
      }

      .about__contact {
        margin-bottom: 0 !important;
      }
    }

    .about__inner {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 5rem minmax(0, 1fr);
      gap: 4rem;
    }

    .about__heading {
      padding-top: 0;
      transform: translateY(var(--about-heading-offset-y));
    }

    .about__heading .section__eyebrow {
      margin-bottom: 0;
    }

    .about__body {
      width: min(100%, 46rem);
      background: var(--c-white);
      font-style: normal;
    }

    .about__poem {
      font-size: clamp(18px, 1.45vw, 24px);
      font-weight: 400;
      line-height: 2;
      letter-spacing: 0.12em;
      font-style: normal;
      transform: translateY(var(--about-poem-offset-y));
    }

    /* 詩・上2行と下2行の間（padding-bottom・margin は BASE で潰れやすい） */
    .about__poem-after-stanza1 {
      margin-bottom: 0 !important;
      padding-bottom: var(--about-poem-stanza-gap) !important;
    }

    .about__body .about__poem > p:nth-child(3) {
      margin-bottom: var(--about-poem-stanza2-inner-gap);
    }

    .about__lead {
      margin-top: clamp(0rem, 6vw, 3rem);
      width: 100%;
      max-width: 100%;
      font-size: 14px;
      font-weight: 400;
      line-height: 2.1;
      letter-spacing: 0.06em;
      text-align: var(--about-lead-text-align);
      text-justify: inter-character;
      font-style: normal;
    }

    .about__lead br.about__lead-br {
      display: none;
    }

    @media (min-width: 641px) {
      .about__lead br.about__lead-br--pc {
        display: block;
      }
    }

    .about__members {
      display: grid;
      gap: var(--about-members-gap);
      margin-top: clamp(2.5rem, 5vw, 4rem);
      font-style: normal;
    }

    .about-member {
      display: grid;
      grid-template-columns: 7.5rem 1fr;
      align-items: start;
      gap: 1.6rem;
    }

    .about-member__photo {
      width: 7.5rem;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      background: #eeeeee;
    }

    .about-member__text {
      align-self: start;
      padding-top: 0;
      font-style: normal;
    }

    .about-member__text h3 {
      margin-top: 0;
      margin-bottom: var(--about-member-roman-to-bio-gap);
      font-size: var(--about-member-name-font-size);
      font-weight: 400;
      letter-spacing: 0.24em;
      font-style: normal;
      transform: translateY(var(--about-member-name-offset-y));
    }

    .about-member__text h3 span {
      display: block;
      margin-top: 0.35rem;
      margin-left: 0;
      font-family: var(--font-en);
      font-size: 11.5px;
      font-weight: 400;
      letter-spacing: 0.08em;
      font-style: normal;
    }

    .about-member__text p {
      font-size: 13px;
      font-weight: 400;
      line-height: var(--about-member-text-line-height);
      letter-spacing: 0.06em;
      font-style: normal;
    }

    .about__contact {
      margin-top: clamp(2.5rem, 5vw, 4rem);
      margin-bottom: calc(-1 * var(--about-contact-bottom-trim, 0px)) !important;
      padding-bottom: 0 !important;
      font-style: normal;
      font-size: 14px;
      font-weight: 400;
      line-height: 2;
      letter-spacing: 0.06em;
    }

    .about__contact strong {
      font-weight: 500;
      letter-spacing: 0.12em;
    }

    /* EC早期公開: body.is-ec-early は template.html の MEZI_EC_EARLY で付与 */
    body.is-ec-early section.work,
    body.is-ec-early section.youtube-preview,
    body.is-ec-early section.blog-preview,
    body.is-ec-early section.project-preview {
      display: none !important;
    }

    body.is-ec-early .scroll-nav__drawer a[href*="#work-title"],
    body.is-ec-early .scroll-nav__drawer a[href*="#youtube-title"],
    body.is-ec-early .scroll-nav__drawer a[href*="#blog-title"],
    body.is-ec-early .scroll-nav__drawer a[href*="#project-title"],
    body.is-ec-early .fv__drawer a[href*="#work-title"],
    body.is-ec-early .fv__drawer a[href*="#youtube-title"],
    body.is-ec-early .fv__drawer a[href*="#blog-title"],
    body.is-ec-early .fv__drawer a[href*="#project-title"] {
      display: none !important;
    }

    .work {
      background: var(--c-white);
      color: var(--c-text);
      padding: clamp(3rem, 9vw, 6rem) 0 9rem;
    }

    .work__inner {
      width: 100%;
      margin: 0;
    }

    .work__heading {
      width: min(100%, 68rem);
      margin: 0 auto;
    }

    .work__body {
      width: 100%;
      max-width: 100%;
      margin-left: 0;
      margin-right: 0;
    }

    .work-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
    }

    .work__more {
      margin-top: var(--work-more-margin-top, clamp(2rem, 4vw, 3rem));
      padding-left: var(--work-more-pad-left, 0);
      padding-right: var(--work-more-pad-right, 0);
      text-align: right;
      font-size: 12px;
      letter-spacing: 0.08em;
    }

    .work__more .text-link {
      text-decoration-line: underline;
      text-decoration-color: #9a9a9a;
      text-decoration-thickness: 0.9px;
      text-underline-offset: 0.15em;
    }

    .work-card {
      color: inherit;
      text-decoration: none;
      position: relative;
      min-height: clamp(13rem, 31vw, 28rem);
      overflow: hidden;
      background-color: #2a2a2a;
      background-image: var(--work-image);
      background-position: center;
      background-size: cover;
    }

    .work-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, var(--work-card-shade, 0.08));
      transition: background 0.2s ease;
    }

    .work-card:nth-child(1) { --work-card-shade: 0.02; }
    .work-card:nth-child(2) { --work-card-shade: 0.12; }
    .work-card:nth-child(3) { --work-card-shade: 0.22; }
    .work-card:nth-child(4) { --work-card-shade: 0.16; }
    .work-card:nth-child(5) { --work-card-shade: 0.04; }
    .work-card:nth-child(6) { --work-card-shade: 0.28; }
    .work-card:nth-child(7) { --work-card-shade: 0.10; }
    .work-card:nth-child(8) { --work-card-shade: 0.20; }
    .work-card:nth-child(9) { --work-card-shade: 0.06; }

    .work-card:hover::after,
    .work-card:focus-visible::after {
      background: rgba(0, 0, 0, 0);
    }

    .work-card__date,
    .work-card__label {
      position: absolute;
      left: clamp(1rem, 2vw, 1.8rem);
      z-index: 1;
      display: inline-flex;
      align-items: center;
      background: var(--c-white);
      color: var(--c-text);
      opacity: 0;
      transform: translateY(4px);
      transition: opacity 0.25s ease, transform 0.25s ease;
    }

    .work-card:hover .work-card__date,
    .work-card:hover .work-card__label,
    .work-card:focus-visible .work-card__date,
    .work-card:focus-visible .work-card__label {
      opacity: 1;
      transform: translateY(0);
    }

    .work-card__date {
      bottom: calc(clamp(1rem, 2vw, 1.8rem) + 2.15rem);
      padding: 0.05rem 0.37rem;
      font-size: 12px;
      line-height: 1.5;
      letter-spacing: 0.08em;
    }

    .work-card__label {
      bottom: clamp(1rem, 2vw, 1.8rem);
      max-width: 14rem;
      padding: 0.1rem 0.55rem;
      font-size: 14px;
      line-height: 1.7;
      letter-spacing: 0.08em;
    }

    .shop-preview,
    .youtube-preview,
    .blog-preview,
    .project-preview {
      padding-top: clamp(5rem, 9vw, 8rem);
      padding-bottom: clamp(5rem, 9vw, 8rem);
    }

    .shop-preview {
      padding-top: var(--shop-list-pad-top);
      padding-bottom: var(--shop-list-pad-bottom);
      background: #f2f2f2;
    }

    .blog-preview {
      background: #f2f2f2;
    }

    .shop-preview__inner,
    .blog-preview__inner,
    .project-preview__inner,
    .footer__inner {
      width: var(--section-inner-w);
    }

    .shop-preview .section__eyebrow,
    .blog-preview .section__eyebrow,
    .project-preview .section__eyebrow {
      margin-bottom: clamp(2rem, 4vw, 3rem);
    }

    .shop-preview .section__eyebrow {
      margin-bottom: clamp(1.8rem, 3vw, 2.6rem);
    }

    body.is-store-page .scroll-nav {
      transform: translateY(0);
    }

    body#shopDetailPage .scroll-nav {
      transform: translateY(0);
    }

    body.is-store-page .fv {
      display: none;
    }

    .store-page {
      display: none;
      min-height: 100vh;
      padding-top: calc(var(--scroll-nav-h) + var(--shop-list-pad-top));
    }

    body.is-store-page .main > section:not(.store-page) {
      display: none;
    }

    body.is-store-page .store-page {
      display: block;
      padding-top: calc(var(--scroll-nav-h) + var(--pc-store-page-pad-top, clamp(2rem, 4vw, 3.5rem)));
    }

    .store-page .shop-grid {
      gap: var(--shop-grid-gap-y) var(--shop-grid-gap-x);
    }

    .store-page .shop-card {
      min-width: 0;
    }

    .store-page .shop-card__image {
      background: var(--c-white);
      overflow: hidden;
    }

    .store-page .shop-card__image img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    body.is-info-page .scroll-nav {
      transform: translateY(0);
    }

    body.is-info-page .fv {
      display: none;
    }

    body.is-info-page .info-to-about-spacer {
      display: none;
    }

    .info-archive-page {
      display: none;
      min-height: 100vh;
      padding: calc(var(--scroll-nav-h) + clamp(3.5rem, 6vw, 5rem)) clamp(1.5rem, 6vw, 6rem) 0;
    }

    body.is-info-page .main > section:not(.info-archive-page):not(.info-detail-page) {
      display: none;
    }

    body.is-info-page .info-archive-page {
      display: block;
    }

    body.is-info-article-page .info-archive-page {
      display: none;
    }

    .info-detail-page {
      display: none;
      min-height: 100vh;
      padding: calc(var(--scroll-nav-h) + clamp(3.5rem, 6vw, 5rem)) clamp(1.5rem, 6vw, 6rem) 0;
      background: var(--c-white);
    }

    body.is-info-article-page .info-detail-page {
      display: block;
      padding-bottom: var(--info-article-footer-gap);
    }

    .info-detail__inner {
      display: grid;
      grid-template-columns: var(--info-archive-side-w) minmax(0, 43rem);
      gap: var(--info-archive-side-gap);
      width: var(--info-archive-inner-w);
      margin: 0 auto;
    }

    .info-detail__side {
      position: sticky;
      top: calc(var(--scroll-nav-h) + 3rem);
      align-self: start;
    }

    .info-detail__shop-badge {
      display: grid;
      gap: var(--info-shop-badge-inner-gap);
      justify-items: center;
      width: 100%;
      max-width: var(--info-shop-badge-max-width);
      margin-top: 2.2rem;
      padding: var(--info-shop-badge-padding-top) var(--info-shop-badge-padding-x) var(--info-shop-badge-padding-bottom);
      background: #1a1a1a;
      color: var(--c-white);
      text-align: center;
      transition: opacity 0.2s ease;
    }

    .info-detail__shop-badge > span {
      font-size: var(--info-shop-badge-text-size);
      line-height: var(--info-shop-badge-text-line-height);
      letter-spacing: var(--info-shop-badge-text-letter-spacing);
    }

    .info-detail__shop-badge[hidden] {
      display: none !important;
    }

    .info-detail__shop-badge:hover,
    .info-detail__shop-badge:focus-visible {
      opacity: 0.75;
    }

    .info-detail__shop-badge-logo {
      width: var(--info-shop-badge-logo-width);
      height: auto;
    }

    .info-detail__article {
      width: 100%;
      min-width: 0;
    }

    .info-detail__header {
      margin-bottom: clamp(2.5rem, 5vw, 4rem);
    }

    .info-detail__meta {
      display: flex;
      align-items: center;
      gap: 0.65rem;
      margin-bottom: 1.3rem;
      font-family: var(--font-en);
      font-size: 10px;
      line-height: 1;
      letter-spacing: 0.12em;
      color: #767676;
    }

    .info-detail__header h1 {
      font-size: 23px;
      font-weight: 500;
      line-height: 1.75;
      letter-spacing: 0.06em;
    }

    .info-detail__image {
      display: block;
      width: 100%;
      aspect-ratio: 1.72 / 1;
      object-fit: cover;
      margin-top: 0.35rem;
    }

    .info-detail__image + .info-detail__image {
      margin-top: 0.7rem;
    }

    .info-detail__article p {
      margin: 1.6rem 0 2.6rem;
      font-size: var(--info-article-body-font-size);
      line-height: var(--info-article-body-line-height);
      letter-spacing: 0.07em;
    }

    .info-archive__inner {
      display: grid;
      grid-template-columns: var(--info-archive-side-w) minmax(0, 1fr);
      gap: var(--info-archive-side-gap);
      width: var(--info-archive-inner-w);
      margin: 0 auto;
    }

    .info-archive__side h1 {
      font-family: var(--font-en);
      font-size: var(--section-eyebrow-font-size);
      font-weight: 500;
      line-height: 1;
      letter-spacing: 0.24em;
    }

    .info-archive__categories {
      display: grid;
      gap: 1.55rem;
      margin-top: 5rem;
      font-family: var(--font-en);
      font-size: var(--info-archive-category-font-size);
      font-weight: 420;
      letter-spacing: 0.12em;
    }

    .info-archive__categories a {
      color: #cfcfcf;
      transition: color 0.2s ease;
    }

    .info-archive__categories a:hover,
    .info-archive__categories a:focus-visible,
    .info-archive__categories a[aria-current="page"] {
      color: var(--c-text);
    }

    .info-archive__main {
      min-width: 0;
    }

    .info-archive__grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--info-archive-grid-gap-y) var(--info-archive-grid-gap-x);
    }

    .info-archive-pagination {
      width: 100%;
      padding: clamp(4.8rem, 9vw, 8rem) 0 clamp(7rem, 13vw, 11rem);
    }

    .info-archive-card {
      display: block;
      transition: opacity 0.2s ease;
    }

    .info-archive-card[hidden] {
      display: none !important;
    }

    .info-archive-card:hover,
    .info-archive-card:focus-visible {
      opacity: 0.7;
    }

    .info-archive-card__image {
      position: relative;
      display: block;
      aspect-ratio: 1.55 / 1;
      background-color: #e9e8e4;
      background-image: var(--info-archive-placeholder-image);
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
    }

    .info-archive-card__badge {
      position: absolute;
      right: 0;
      bottom: 0;
      display: inline-block;
      padding: 0.18rem 0.5rem;
      background: var(--c-text);
      color: var(--c-white);
      font-family: var(--font-en);
      font-size: 10px;
      line-height: 1;
      letter-spacing: 0.08em;
    }

    .info-archive-card__meta {
      display: flex;
      align-items: center;
      gap: 0.65rem;
      margin-top: 1.15rem;
      font-family: var(--font-en);
      font-size: 10px;
      line-height: 1;
      letter-spacing: 0.12em;
      color: #767676;
    }

    .info-archive-card__tag {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: var(--info-tag-w);
      height: var(--info-tag-h);
      padding: 0 0.45rem;
      background: #eeeeee;
      color: var(--c-text);
      font-size: 0;
      font-weight: 500;
      line-height: 1;
    }

    .info-archive-card__tag::before {
      content: attr(data-label);
      font-size: var(--info-tag-font-size);
      letter-spacing: var(--info-tag-letter-spacing);
      transform: translate(var(--info-tag-text-offset-x), var(--info-tag-text-offset-y));
    }

    .info-archive-card__title {
      display: block;
      margin-top: 0.75rem;
      font-size: var(--info-archive-card-title-size);
      font-weight: 500;
      line-height: 1.75;
      letter-spacing: 0.06em;
    }

    .shop-preview:not(.store-page) .shop-card:nth-child(n+4) {
      display: none;
    }

    .shop-hero-block {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
    }

    .store-page .shop-preview__inner {
      overflow: visible;
    }

    .store-page .shop-hero-block {
      position: relative;
      left: 50%;
      width: min(var(--pc-store-hero-max-width, 76rem), calc(100vw - 3rem));
      max-width: min(var(--pc-store-hero-max-width, 76rem), calc(100vw - 3rem));
      transform: translateX(-50%);
    }

    .shop-hero-block .shop-hero {
      width: 100%;
    }

    .shop-hero {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      min-height: clamp(12rem, 23vw, 17rem);
      padding: clamp(1.2rem, 3vw, 2.6rem);
      border-radius: 999px;
      overflow: hidden;
      background-color: #d8d5cc;
    }

    .shop-hero__slide-dots {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: var(--fv-slide-dots-gap, clamp(1.1rem, 2vw, 1.8rem));
      width: 100%;
      margin-top: clamp(0.75rem, 1.4vw, 1.1rem);
    }

    .shop-hero__slide-dots button {
      width: var(--fv-slide-dot-hit-size);
      height: var(--fv-slide-dot-hit-size);
      padding: 0;
      border: 0;
      border-radius: 50%;
      appearance: none;
      background: transparent;
      outline: none;
      box-shadow: none;
      cursor: pointer;
      touch-action: manipulation;
    }

    .shop-hero__slide-dots button::before {
      content: "";
      display: block;
      width: var(--fv-slide-dot-size);
      height: var(--fv-slide-dot-size);
      margin: 0 auto;
      border-radius: 50%;
      background: #e2e2e2;
      transition: background-color 0.2s ease;
    }

    .shop-hero__slide-dots button:hover::before,
    .shop-hero__slide-dots button:focus-visible::before,
    .shop-hero__slide-dots button.is-active::before {
      background: var(--c-text);
    }

    .shop-hero__visual {
      position: absolute;
      inset: 0;
      z-index: 0;
      overflow: hidden;
      border-radius: inherit;
    }

    .shop-hero__layer {
      position: absolute;
      inset: calc(-1 * var(--shop-hero-media-bleed));
      opacity: 0;
      transition: opacity var(--shop-hero-slide-fade);
    }

    .shop-hero__layer.is-active {
      z-index: 1;
      opacity: 1;
    }

    .shop-hero__layer-media {
      display: block;
      width: 100%;
      height: 100%;
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      transform: scale(var(--shop-hero-media-scale));
      transform-origin: center center;
      filter: blur(18px);
      transition: filter var(--shop-hero-slide-fade);
    }

    .shop-hero__layer.is-active .shop-hero__layer-media {
      filter: blur(0);
    }

    .shop-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      border-radius: inherit;
      background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.28)),
        rgba(255, 255, 255, 0.08);
      pointer-events: none;
    }

    .shop-hero__badge {
      position: relative;
      z-index: 2;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      isolation: isolate;
      width: clamp(7rem, 14vw, 10rem);
      aspect-ratio: 1;
      border-radius: 50%;
      background: #252525;
      color: var(--c-white);
      font-family: var(--font-en);
      font-size: clamp(12px, 1.6vw, 17px);
      font-weight: 500;
      line-height: 1.45;
      letter-spacing: 0.12em;
      text-align: center;
    }

    .store-page .shop-hero-block {
      margin-bottom: var(--store-category-nav-gap-above-pc);
    }

    .store-page .shop-category-nav {
      margin-bottom: var(--store-category-nav-gap-below-pc);
    }

    .store-page .shop-hero__badge {
      width: var(--store-hero-badge-size-pc);
      height: var(--store-hero-badge-size-pc);
      transform: translate(var(--store-hero-badge-offset-x-pc), var(--store-hero-badge-offset-y-pc));
    }

    .store-page .shop-hero__badge-logo {
      display: block;
      width: var(--store-hero-badge-logo-w-pc);
      height: auto;
      max-width: 88%;
      mix-blend-mode: screen;
      object-fit: contain;
    }

    .shop-category-nav {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 0.75rem var(--shop-category-gap);
      scroll-margin-top: calc(var(--scroll-nav-h) + 1.2rem);
      font-family: var(--font-en);
      font-size: var(--shop-category-font-size);
      font-weight: 500;
      line-height: 1.4;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }

    .shop-category-nav a {
      position: relative;
      display: inline-block;
      padding-bottom: 0.2rem;
    }

    .shop-category-nav a::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      height: 1px;
      background: currentColor;
      transform: scaleX(0);
      transform-origin: right;
      transition: transform 0.2s ease;
    }

    .shop-category-nav a:hover::after,
    .shop-category-nav a:focus-visible::after,
    .shop-category-nav a[aria-current="page"]::after {
      transform: scaleX(1);
      transform-origin: left;
    }

    .shop-category-title {
      display: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .shop-grid,
    .youtube-grid,
    .blog-grid,
    .project-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(2rem, 4vw, 3.5rem);
    }

    .shop-preview .shop-grid {
      gap: var(--shop-grid-gap-y) var(--shop-grid-gap-x);
    }

    .shop-card {
      display: block;
      transition: opacity 0.2s ease;
    }

    .shop-card:hover,
    .shop-card:focus-visible {
      opacity: 0.72;
    }

    .project-card {
      display: block;
    }

    .shop-card__image,
    .project-card__image {
      position: relative;
      aspect-ratio: 1 / 0.92;
      background: #eeeeee;
    }

    .youtube-card {
      display: block;
      width: 100%;
      aspect-ratio: 16 / 9;
      background: #eeeeee;
    }

    .shop-preview__more,
    .youtube-preview__more {
      margin-top: clamp(2rem, 4vw, 3rem);
      text-align: right;
      font-size: 12px;
      letter-spacing: 0.08em;
    }

    .shop-preview .shop-card__image {
      background: var(--c-white);
      overflow: hidden;
    }

    .shop-preview .shop-card__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .shop-card__meta {
      position: relative;
      margin-top: 0;
      font-size: 12px;
      line-height: 1.7;
      letter-spacing: 0.06em;
    }

    .shop-card__meta .shop-card__title {
      margin-top: var(--shop-image-to-title-gap);
    }

    .shop-card__sold {
      position: absolute;
      top: var(--shop-sold-offset-y-pc);
      right: var(--shop-sold-offset-x-pc);
      color: var(--shop-sold-color);
      font-size: var(--shop-sold-font-size);
      letter-spacing: 0.08em;
    }

    .shop-card__title {
      margin-top: 1rem;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.08em;
    }

    .project-preview .project-card__title {
      margin-top: 1rem;
      font-size: var(--project-card-title-font-size);
      font-weight: 500;
      line-height: 1.6;
      letter-spacing: 0.08em;
    }

    .project-preview .project-card__text {
      margin-top: 0.3rem;
      font-size: var(--project-card-text-font-size);
      line-height: 1.7;
      letter-spacing: 0.06em;
    }

    .shop-preview .shop-card__title {
      font-size: var(--shop-title-font-size);
      font-weight: 400;
      line-height: 1.7;
      letter-spacing: 0.06em;
    }

    .shop-preview .shop-card__price {
      margin-top: 0.15rem;
      font-size: var(--shop-price-font-size);
      font-weight: 400;
      line-height: 1.7;
      letter-spacing: 0.06em;
    }

    .shop-empty {
      margin-top: clamp(2rem, 4vw, 3rem);
      text-align: center;
      font-size: 13px;
      letter-spacing: 0.08em;
    }

    .works-pagination {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: clamp(1.4rem, 3vw, 2.4rem);
      padding: clamp(4.8rem, 9vw, 8rem) 1.5rem 0;
      background: var(--c-white);
      font-family: var(--font-en);
      font-size: 15px;
      letter-spacing: 0.08em;
    }

    .works-pagination[hidden] {
      display: none;
    }

    .works-pagination button {
      color: var(--works-pagination-muted-color);
      transition: color 0.2s ease;
    }

    .works-pagination button:hover,
    .works-pagination button:focus-visible,
    .works-pagination .is-current {
      color: var(--works-pagination-active-color);
    }

    .works-pagination button:disabled {
      opacity: 0.35;
      cursor: default;
    }

    .works-pagination button.is-current:disabled {
      opacity: 1;
      color: var(--works-pagination-active-color);
    }

    .works-pagination a {
      color: var(--works-pagination-muted-color);
      transition: color 0.2s ease;
    }

    .works-pagination a:hover,
    .works-pagination a:focus-visible,
    .works-pagination a.is-current {
      color: var(--works-pagination-active-color);
    }

    .works-pagination__arrow {
      position: relative;
      display: block;
      width: var(--works-arrow-w);
      height: var(--works-arrow-h);
      color: var(--works-arrow-color);
      background-image: linear-gradient(currentColor, currentColor);
      background-repeat: no-repeat;
      background-size: var(--works-arrow-line-w) var(--works-arrow-line-thickness);
      background-position: left 50%;
    }

    .works-pagination__arrow::before,
    .works-pagination__arrow::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      width: var(--works-arrow-head-w);
      height: var(--works-arrow-line-thickness);
      background: currentColor;
      transform-origin: left center;
    }

    .works-pagination__arrow::before {
      transform: translateY(-50%) rotate(-45deg);
    }

    .works-pagination__arrow::after {
      transform: translateY(-50%) rotate(45deg);
    }

    .works-pagination__arrow--next {
      background-position: right 50%;
    }

    .works-pagination__arrow--next::before,
    .works-pagination__arrow--next::after {
      right: 0;
      left: auto;
      transform-origin: right center;
    }

    .works-pagination__arrow--next::before {
      transform: translateY(-50%) rotate(45deg);
    }

    .works-pagination__arrow--next::after {
      transform: translateY(-50%) rotate(-45deg);
    }

    .blog-card {
      display: block;
      transition: opacity 0.2s ease;
    }

    .blog-card:hover,
    .blog-card:focus-visible {
      opacity: 0.7;
    }

    .blog-card__image {
      width: 100%;
      aspect-ratio: 1.5 / 1;
      background-color: #eeeeee;
      background-image: var(--blog-card-image);
      background-position: center;
      background-size: cover;
    }

    .blog-card__meta {
      margin-top: 0.8rem;
      color: #777777;
      font-size: 10px;
      line-height: 1;
      letter-spacing: 0.08em;
    }

    .blog-preview .blog-card__title {
      margin-top: 0.35rem;
      font-size: var(--blog-card-title-font-size);
      font-weight: 400;
      line-height: 1.7;
      letter-spacing: 0.06em;
    }

    .blog-preview__more {
      margin-top: clamp(2rem, 4vw, 3rem);
      text-align: right;
      font-size: 12px;
      letter-spacing: 0.08em;
    }

    body.is-contact-page .scroll-nav {
      transform: translateY(0);
    }

    body.is-contact-page {
      --contact-page-bg: #f2f2f2;
      --contact-form-max-width: 800px;
      --contact-title-margin-bottom: 48px;
      --contact-label-size: 13.5px;
      --contact-name-label-size: var(--contact-label-size);
      --contact-email-label-size: var(--contact-label-size);
      --contact-tel-label-size: var(--contact-label-size);
      --contact-inquiry-label-size: var(--contact-label-size);
      --contact-required-label-size: var(--contact-label-size);
      --contact-label-to-input: 10px;
      --contact-name-height: 60px;
      --contact-email-height: 60px;
      --contact-tel-height: 60px;
      --contact-inquiry-height: 300px;
      --contact-input-font-size: 14.5px;
      --contact-input-line-height: 1.65;
      --contact-inquiry-line-height: 1.55;
      --contact-input-padding-x: 18px;
      --contact-inquiry-padding-x: 14px;
      --contact-inquiry-padding-y: 14px;
      --contact-gap-email: 40px;
      --contact-gap-email-confirm: 40px;
      --contact-gap-tel: 40px;
      --contact-gap-inquiry: 40px;
      --contact-required-color: #d93025;
      --contact-submit-bg: #444444;
      --contact-submit-width: 140px;
      --contact-submit-label: "送 信";
      --contact-submit-height: 44px;
      --contact-submit-font-size: 13.5px;
      --contact-submit-line-height: 1;
      --contact-submit-text-offset-y: 2px;
      --contact-submit-margin-top: 56px;
      --contact-footer-gap: 96px;
      background: var(--contact-page-bg) !important;
    }

    body.is-contact-page .contact-page {
      min-height: 100vh;
      padding: calc(var(--scroll-nav-h) + clamp(3.5rem, 6vw, 5rem)) clamp(1.5rem, 6vw, 6rem) clamp(4rem, 8vw, 6rem);
      background: var(--contact-page-bg) !important;
      color: var(--c-text);
    }

    body.is-contact-page .contact-page__inner {
      width: var(--section-inner-w);
      margin: 0 auto;
    }

    body.is-contact-page .contact-page__title {
      margin: 0 0 var(--contact-title-margin-bottom);
      font-family: var(--font-en);
      font-size: var(--section-eyebrow-font-size);
      font-weight: 500;
      line-height: 1;
      letter-spacing: 0.24em;
      text-transform: uppercase;
    }

    body.is-contact-page .contact-page__content {
      width: min(100%, var(--contact-form-max-width));
      margin: 0 auto;
    }

    body.is-contact-page .contact-page__content .main {
      width: 100% !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
    }

    body.is-contact-page .contact-page__content .inquirySection {
      width: 100%;
      margin: 0;
      padding: 0;
      background: transparent !important;
      border: 0;
    }

    body.is-contact-page .contact-page__content .inquirySection > h1,
    body.is-contact-page .contact-page__content .inquirySection > p {
      display: none !important;
    }

    body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryTitle),
    body.is-contact-page .contact-page__content dd:has(> #ShopInquiryTitle),
    body.is-contact-page .contact-page__content dd:has(> #ShopInquiryTitle) + dd,
    body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryEnteredUniqueKey),
    body.is-contact-page .contact-page__content dd:has(> #ShopInquiryEnteredUniqueKey),
    body.is-contact-page .contact-page__content dd:has(> #ShopInquiryEnteredUniqueKey) + dd {
      display: none !important;
    }

    body.is-contact-page .contact-page__content dl {
      display: flex;
      flex-direction: column;
      margin: 0;
      padding: 0;
    }

    body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryName) { order: 1; font-size: var(--contact-name-label-size); }
    body.is-contact-page .contact-page__content dd:has(> #ShopInquiryName) { order: 2; }
    body.is-contact-page .contact-page__content dd:has(> #ShopInquiryName) + dd { order: 3; }
    body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryMailAddress) { order: 4; margin-top: var(--contact-gap-email); font-size: var(--contact-email-label-size); }
    body.is-contact-page .contact-page__content dd:has(> #ShopInquiryMailAddress) { order: 5; }
    body.is-contact-page .contact-page__content dd:has(> #ShopInquiryMailAddress) + dd { order: 6; }
    body.is-contact-page .contact-page__content dt:has(+ dd #meziShopInquiryMailAddressConfirm) { order: 7; margin-top: var(--contact-gap-email-confirm, var(--contact-gap-email)); font-size: var(--contact-email-label-size); }
    body.is-contact-page .contact-page__content dd:has(> #meziShopInquiryMailAddressConfirm) { order: 8; }
    body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryTel) { order: 9; margin-top: var(--contact-gap-tel); font-size: var(--contact-tel-label-size); }
    body.is-contact-page .contact-page__content dd:has(> #ShopInquiryTel) { order: 10; }
    body.is-contact-page .contact-page__content dd:has(> #ShopInquiryTel) + dd { order: 11; }
    body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryInquiry) { order: 12; margin-top: var(--contact-gap-inquiry); font-size: var(--contact-inquiry-label-size); }
    body.is-contact-page .contact-page__content dd:has(> #ShopInquiryInquiry) { order: 13; }
    body.is-contact-page .contact-page__content dd:has(> #ShopInquiryInquiry) + dd { order: 14; }

    body.is-contact-page .contact-page__content dt {
      margin: 0 0 var(--contact-label-to-input);
      font-family: var(--font);
      font-size: var(--contact-label-size);
      font-weight: 400;
      line-height: 1.6;
      letter-spacing: 0.06em;
      color: var(--c-text);
    }

    body.is-contact-page .contact-page__content dt:first-child {
      margin-top: 0 !important;
    }

    body.is-contact-page .contact-page__content dt span.mezi-contact-required {
      font-size: var(--contact-required-label-size);
      color: var(--contact-required-color);
    }

    body.is-contact-page .contact-page__content dt span.mezi-contact-required::before {
      content: " ";
    }

    body.is-contact-page .contact-page__content dd {
      margin: 0;
      padding: 0;
    }

    body.is-contact-page .contact-page__content .mezi-contact-form-error-summary {
      display: none;
      scroll-margin-top: 120px;
      margin: 0 0 var(--contact-gap-email);
      padding: 0;
      font-family: var(--font);
      font-size: var(--contact-label-size);
      font-weight: 400;
      line-height: 1.6;
      letter-spacing: 0.06em;
      color: var(--contact-required-color);
    }

    body.is-contact-page .contact-page__content .mezi-contact-form-error-summary.is-visible {
        display: block;
    }

    body.is-contact-page .contact-page__content .mezi-contact-form-error-summary.is-layout-only {
        visibility: hidden;
    }

    body.is-contact-page .contact-page__content .mezi-contact-field-error {
      display: none;
      margin: 10px 0 0;
      padding: 0;
      font-family: var(--font);
      font-size: var(--contact-label-size);
      font-weight: 400;
      line-height: 1.6;
      letter-spacing: 0.06em;
      color: var(--contact-required-color);
    }

    body.is-contact-page .contact-page__content .mezi-contact-field-error.is-visible {
      display: block !important;
      visibility: visible !important;
    }

    body.is-contact-page .contact-page__content dt.is-field-error {
      color: var(--contact-required-color) !important;
    }

    body.is-contact-page .contact-page__content dt.is-field-error span {
      color: inherit !important;
    }

    body.is-contact-page .contact-page__content dd.error:empty,
    body.is-contact-page .contact-page__content dd.ma-b20:empty {
      display: none !important;
    }

    body.is-contact-page .contact-page__content .clear {
      display: none;
    }

    body.is-contact-page .contact-page__content input[type="text"],
    body.is-contact-page .contact-page__content input[type="email"],
    body.is-contact-page .contact-page__content input[type="tel"],
    body.is-contact-page .contact-page__content textarea,
    body.is-contact-page .contact-page__content #ShopInquiryName,
    body.is-contact-page .contact-page__content #ShopInquiryMailAddress,
    body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm,
    body.is-contact-page .contact-page__content #ShopInquiryTel,
    body.is-contact-page .contact-page__content #ShopInquiryInquiry {
      display: block !important;
      width: 100% !important;
      margin: 0 !important;
      border: 0 !important;
      border-width: 0 !important;
      border-radius: 0 !important;
      outline: none !important;
      outline-width: 0 !important;
      background: var(--c-white) !important;
      color: var(--c-text) !important;
      font-family: var(--font) !important;
      font-size: var(--contact-input-font-size) !important;
      line-height: var(--contact-input-line-height) !important;
      letter-spacing: 0.04em;
      box-sizing: border-box !important;
      box-shadow: none !important;
      -webkit-box-shadow: none !important;
      appearance: none;
      -webkit-appearance: none;
    }

    body.is-contact-page .contact-page__content .inquirySection input:not([type="hidden"]):not([type="submit"]),
    body.is-contact-page .contact-page__content .inquirySection textarea,
    body.is-contact-page .contact-page__content #inquiryInputSection input:not([type="hidden"]):not([type="submit"]),
    body.is-contact-page .contact-page__content #inquiryInputSection textarea,
    main.contact-page .contact-page__content .inquirySection input:not([type="hidden"]):not([type="submit"]),
    main.contact-page .contact-page__content .inquirySection textarea,
    main.contact-page .contact-page__content #inquiryInputSection input:not([type="hidden"]):not([type="submit"]),
    main.contact-page .contact-page__content #inquiryInputSection textarea {
      border: 0 !important;
      border-width: 0 !important;
      outline: none !important;
      outline-width: 0 !important;
      box-shadow: none !important;
      -webkit-box-shadow: none !important;
    }

    body.is-contact-page .contact-page__content #ShopInquiryName,
    body.is-contact-page .contact-page__content #ShopInquiryMailAddress,
    body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm,
    body.is-contact-page .contact-page__content #ShopInquiryTel {
      padding-left: var(--contact-input-padding-x) !important;
      padding-right: var(--contact-input-padding-x) !important;
    }

    body.is-contact-page .contact-page__content #ShopInquiryName {
      height: var(--contact-name-height) !important;
    }

    body.is-contact-page .contact-page__content #ShopInquiryMailAddress,
    body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm {
      height: var(--contact-email-height) !important;
      padding-top: var(--contact-email-padding-top, var(--contact-input-padding-x)) !important;
      padding-bottom: var(--contact-email-padding-bottom, var(--contact-input-padding-x)) !important;
    }

    body.is-contact-page .contact-page__content #ShopInquiryTel {
      height: var(--contact-tel-height) !important;
    }

    body.is-contact-page .contact-page__content #ShopInquiryInquiry {
      height: var(--contact-inquiry-height) !important;
      min-height: var(--contact-inquiry-height) !important;
      line-height: var(--contact-inquiry-line-height) !important;
      padding-top: var(--contact-inquiry-padding-y) !important;
      padding-right: var(--contact-inquiry-padding-x) !important;
      padding-bottom: var(--contact-inquiry-padding-y) !important;
      padding-left: var(--contact-inquiry-padding-x) !important;
      resize: none;
    }

    body.is-contact-page .contact-page__content .control-panel {
      display: flex;
      justify-content: center;
      order: 20;
      margin: var(--contact-submit-margin-top) 0 0;
      padding: 0;
      border: 0;
      background: transparent !important;
    }

    body.is-contact-page .contact-page__content form {
      display: flex;
      flex-direction: column;
    }

    body.is-contact-page:not(.is-contact-complete) .contact-page__content .inquirySection .control-panel #buttonLeave,
    body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection .control-panel #buttonLeave,
    body.is-contact-page:not(.is-contact-complete) .contact-page__content .inquirySection #buttonLeave,
    body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection #buttonLeave {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      width: var(--contact-submit-width) !important;
      height: var(--contact-submit-height) !important;
      min-height: var(--contact-submit-height) !important;
      margin: 0 !important;
      padding: 0 var(--contact-submit-padding-x, 16px) !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: var(--contact-submit-bg) !important;
      color: var(--c-white) !important;
      font-family: var(--font) !important;
      font-size: var(--contact-submit-font-size) !important;
      font-weight: 400 !important;
      line-height: var(--contact-submit-line-height) !important;
      letter-spacing: 0;
      cursor: pointer;
      box-shadow: none !important;
      appearance: none;
      -webkit-appearance: none;
    }

    body.is-contact-page:not(.is-contact-complete) .contact-page__content .inquirySection .control-panel #buttonLeave .mezi-contact-submit-label,
    body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection .control-panel #buttonLeave .mezi-contact-submit-label,
    body.is-contact-page:not(.is-contact-complete) .contact-page__content .inquirySection #buttonLeave .mezi-contact-submit-label,
    body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection #buttonLeave .mezi-contact-submit-label {
      display: inline-block;
      color: inherit;
      letter-spacing: var(--contact-submit-letter-spacing);
    }

    body:not(.is-contact-complete) .contact-page__content #inquiryConfirmSection,
    body:not(.is-contact-complete) .contact-page__content #inquiryCompleteSection {
      display: none !important;
    }

    body:not(.is-contact-complete) .contact-page__content .control-panel {
      display: flex !important;
      justify-content: center !important;
      width: 100%;
    }

    body:not(.is-contact-complete) .contact-page__content .control-panel:has(> input#buttonLeave[type="submit"]) {
      position: relative;
    }

    body:not(.is-contact-complete) .contact-page__content .control-panel:has(> input#buttonLeave[type="submit"])::after {
      content: var(--contact-submit-label, "送 信");
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, calc(-50% + var(--contact-submit-text-offset-y, -1px)));
      font-family: var(--font);
      font-size: var(--contact-submit-font-size, 13.5px);
      font-weight: 400;
      line-height: 1;
      letter-spacing: var(--contact-submit-letter-spacing, 0.24em);
      color: #fff;
      pointer-events: none;
      white-space: nowrap;
    }

    body:not(.is-contact-complete) .contact-page__content input#buttonLeave[type="submit"] {
      color: transparent !important;
      -webkit-text-fill-color: transparent !important;
    }

    body:not(.is-contact-complete) .contact-page__content button#buttonLeave:not(:has(.mezi-contact-submit-label)) {
      font-size: 0 !important;
      line-height: 0 !important;
      color: transparent !important;
    }

    body:not(.is-contact-complete) .contact-page__content button#buttonLeave:not(:has(.mezi-contact-submit-label))::after {
      content: var(--contact-submit-label, "送 信");
      font-size: var(--contact-submit-font-size, 13.5px);
      line-height: 1;
      color: #fff;
      letter-spacing: var(--contact-submit-letter-spacing, 0.24em);
      transform: translateY(var(--contact-submit-text-offset-y, -1px));
    }

    body.is-contact-page:not(.is-contact-complete) .contact-page__content .inquirySection .control-panel #buttonLeave:hover,
    body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection .control-panel #buttonLeave:hover,
    body.is-contact-page:not(.is-contact-complete) .contact-page__content .inquirySection #buttonLeave:hover,
    body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection #buttonLeave:hover {
      opacity: 0.82;
    }

    body.is-contact-page .contact-page__content #inquiryConfirmSection dt b {
      font-family: var(--font);
      font-size: 14px;
      line-height: 1.75;
      letter-spacing: 0.04em;
    }

    .mezi-contact-complete {
      display: none;
      width: 100%;
      text-align: center;
    }

    body.is-contact-complete .contact-page__inner {
      display: flex;
      flex-direction: column;
      flex: 1;
    }

    body.is-contact-complete .contact-page__content {
      display: flex;
      flex: 1;
      align-items: center;
      justify-content: center;
      min-height: calc(100vh - var(--scroll-nav-h) - clamp(3.5rem, 6vw, 5rem) - var(--contact-footer-gap) - 6rem);
    }

    body.is-contact-complete .contact-page__content > .main,
    body.is-contact-complete .contact-page__content .inquirySection,
    body.is-contact-complete .contact-page__content #inquiryInputSection,
    body.is-contact-complete .contact-page__content #inquiryConfirmSection,
    body.is-contact-complete .contact-page__content #inquiryCompleteSection {
      display: none !important;
    }

    body.is-contact-complete .mezi-contact-form-error-summary {
      display: none !important;
    }

    body.is-contact-complete .mezi-contact-complete {
      display: block;
    }

    body.is-contact-complete .mezi-contact-complete__inner {
      transform: translateY(var(--contact-complete-block-shift, -64px));
    }

    body.is-contact-complete .mezi-contact-complete__title {
      margin: 0 0 var(--contact-complete-title-gap, 28px);
      font-family: var(--font);
      font-size: var(--contact-complete-heading-size, var(--contact-complete-text-size, 16px));
      font-weight: 400;
      line-height: 1.75;
      letter-spacing: 0.04em;
      color: var(--c-text);
    }

    body.is-contact-complete .mezi-contact-complete__message {
      margin: 0 0 var(--contact-complete-message-gap, 56px);
      font-family: var(--font);
      font-size: var(--contact-complete-message-size, var(--contact-complete-text-size, 16px));
      font-weight: 400;
      line-height: var(--contact-complete-message-line-height, 2);
      letter-spacing: 0.04em;
      color: var(--c-text);
    }

    body.is-contact-complete .mezi-contact-complete__back,
    body.mezi-contact-complete-preview-active .mezi-contact-complete__back {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: var(--contact-complete-back-width, var(--contact-submit-width)) !important;
      height: var(--contact-complete-back-height, var(--contact-submit-height)) !important;
      min-height: var(--contact-complete-back-height, var(--contact-submit-height)) !important;
      margin: 0;
      margin-left: var(--contact-complete-back-offset-x, 0px) !important;
      padding-right: var(--contact-complete-back-padding-x, var(--contact-submit-padding-x));
      padding-bottom: 0;
      padding-left: var(--contact-complete-back-padding-x, var(--contact-submit-padding-x));
      border: 0;
      border-radius: 0;
      background: var(--contact-submit-bg);
      color: #fff;
      font-family: var(--font);
      font-size: var(--contact-complete-back-font-size, var(--contact-submit-font-size)) !important;
      font-weight: 400;
      line-height: 1;
      letter-spacing: 0;
      text-align: center;
      text-decoration: none;
      cursor: pointer;
      box-shadow: none;
      appearance: none;
      -webkit-appearance: none;
    }

    body.is-contact-complete .mezi-contact-complete__back .mezi-contact-complete-back-label,
    body.is-contact-complete .mezi-contact-complete__back .mezi-contact-submit-label,
    body.mezi-contact-complete-preview-active .mezi-contact-complete__back .mezi-contact-complete-back-label,
    body.mezi-contact-complete-preview-active .mezi-contact-complete__back .mezi-contact-submit-label {
      display: inline-block;
      color: inherit !important;
      letter-spacing: var(--contact-complete-back-letter-spacing, 0.06em) !important;
      transform: translateY(var(--contact-complete-back-offset-y, 0px)) !important;
    }

    body.is-contact-complete .mezi-contact-complete__back:hover {
      opacity: 0.82;
    }

    body.is-contact-complete .contact-page {
      display: flex;
      flex-direction: column;
    }

    .mezi-contact-complete-preview-root {
      display: none;
    }

    body.mezi-contact-complete-preview-active .mezi-contact-complete-preview-root {
      display: block !important;
      position: fixed;
      inset: 0;
      z-index: 2147483646;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      background: var(--contact-page-bg, #f2f2f2);
    }

    body.mezi-contact-complete-preview-active .mezi-contact-complete-preview-root[hidden] {
      display: block !important;
    }

    body.mezi-contact-complete-preview-active > .page {
      visibility: hidden;
    }

    body.mezi-contact-complete-preview-active .mezi-contact-complete-preview-root .contact-page {
      min-height: 100vh;
      padding: calc(48px + clamp(3.5rem, 6vw, 5rem)) clamp(1.5rem, 6vw, 6rem) clamp(4rem, 8vw, 6rem);
      background: var(--contact-page-bg, #f2f2f2) !important;
    }

    body.mezi-contact-complete-preview-active .mezi-contact-complete-preview-root .contact-page__inner {
      width: min(100%, 68rem);
      margin: 0 auto;
    }

    body.mezi-contact-complete-preview-active .mezi-contact-complete-preview-root .contact-page__content {
      display: flex;
      flex: 1;
      align-items: center;
      justify-content: center;
      width: min(100%, var(--contact-form-max-width, 800px));
      margin: 0 auto;
      min-height: calc(100vh - var(--scroll-nav-h) - clamp(3.5rem, 6vw, 5rem) - var(--contact-footer-gap, 140px) - 6rem);
    }

    body.is-contact-page .contact-page .footer {
      margin-top: var(--contact-footer-gap);
      padding-top: 0;
      background: var(--contact-page-bg) !important;
    }

    @media (min-width: 641px) {
      body.is-contact-page {
        --contact-name-height: 74px;
        --contact-email-height: 74px;
        --contact-tel-height: 74px;
        --contact-name-padding-x: 28px;
        --contact-email-padding-x: 28px;
        --contact-tel-padding-x: 28px;
        --contact-name-padding-top: 16px;
        --contact-name-padding-bottom: 30px;
        --contact-email-padding-top: 16px;
        --contact-email-padding-bottom: 30px;
        --contact-tel-padding-top: 16px;
        --contact-tel-padding-bottom: 30px;
      }
    }

    body.is-policy-page .scroll-nav {
      transform: translateY(0);
    }

    .policy-page {
      min-height: 100vh;
      padding: calc(var(--scroll-nav-h) + clamp(3.5rem, 6vw, 5rem)) clamp(1.5rem, 6vw, 6rem) clamp(4rem, 8vw, 6rem);
      background: var(--c-white);
      color: var(--c-text);
    }

    .policy-page__inner {
      width: var(--section-inner-w);
      margin: 0 auto;
    }

    .policy-page__back {
      margin-bottom: clamp(2.5rem, 5vw, 4rem);
      font-family: var(--font-en);
      font-size: 11px;
      letter-spacing: 0.12em;
    }

    .policy-page__title {
      margin-bottom: clamp(2.5rem, 5vw, 4rem);
      font-family: var(--font-en);
      font-size: 13px;
      font-weight: 500;
      line-height: 1;
      letter-spacing: 0.24em;
    }

    .policy-page__content #privacy,
    .policy-page__content #law,
    .policy-page #privacy,
    .policy-page #law {
      width: 100%;
      max-width: 100%;
      margin: 0;
      padding: 0;
      font-family: var(--font);
      font-size: 14px;
      line-height: 1.75;
      letter-spacing: 0.04em;
      text-align: left;
      background: transparent;
      box-sizing: border-box;
    }

    .policy-page__content #privacy h2,
    .policy-page__content #law h2,
    .policy-page #privacy h2,
    .policy-page #law h2 {
      margin: 2.2rem 0 0.85rem;
      padding: 0;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.08em;
      line-height: 1.6;
      border: 0;
    }

    .policy-page__content #privacy h2:first-child,
    .policy-page__content #law h2:first-child,
    .policy-page #privacy h2:first-child,
    .policy-page #law h2:first-child {
      margin-top: 0;
    }

    .policy-page__content #privacy h3,
    .policy-page__content #privacy dt,
    .policy-page__content #law h3,
    .policy-page #privacy h3,
    .policy-page #privacy dt,
    .policy-page #law h3 {
      margin: 1.4rem 0 0.55rem;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.06em;
      line-height: 1.6;
    }

    .policy-page__content #privacy p,
    .policy-page__content #privacy li,
    .policy-page__content #law p,
    .policy-page__content #law li,
    .policy-page #privacy p,
    .policy-page #privacy li,
    .policy-page #law p,
    .policy-page #law li {
      font-size: 14px;
      font-weight: 400;
      line-height: 1.75;
      letter-spacing: 0.04em;
    }

    .policy-page__content #privacy .privacy_intro,
    .policy-page #privacy .privacy_intro {
      margin-bottom: 1.5rem;
    }

    .policy-page__content #privacy ul,
    .policy-page__content #law ul,
    .policy-page #privacy ul,
    .policy-page #law ul {
      margin-top: 0.5rem;
      padding-left: 1.2rem;
    }

    .policy-page .footer {
      margin-top: clamp(4rem, 8vw, 6rem);
      padding-top: 0;
    }

    .footer {
      padding: 1rem 0 clamp(4rem, 8vw, 6rem);
      background: var(--c-white);
    }

    .footer__inner {
      display: grid;
      justify-items: end;
      gap: 1.2rem;
      font-size: 10px;
      letter-spacing: 0.08em;
    }

    .footer__inner p {
      transform: translateX(var(--footer-copyright-offset-x));
    }

    .base-required-tags {
      display: none !important;
    }

    .base-required-tags,
    .base-required-tags * {
      position: absolute !important;
      width: 0 !important;
      height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: hidden !important;
      visibility: hidden !important;
      pointer-events: none !important;
    }

    html:has(body#shopDetailPage),
    body#shopDetailPage {
      background: #f2f2f2;
    }

    body#shopDetailPage {
      /* 左右余白（ストアページ .section と同じ） */
      --product-page-pad-x: clamp(1.5rem, 6vw, 6rem);
      --product-page-bg: #f2f2f2;
      /* 左・画像エリアの最大幅（小さいほど画像側が狭い・例: 32rem 34rem） */
      --product-gallery-max: 34rem;
      --product-gallery-width: min(100%, var(--product-gallery-max));
      /* 右・情報ブロック幅（触らなければバランス維持） */
      --product-info-col-w: 30rem;
      /* 画像と情報ブロックの間（小さいほど詰む） */
      --product-page-col-gap: clamp(2.4rem, 4vw, 3.5rem);
      --product-related-margin-top: clamp(10rem, 7vw, 6.4rem);
      --product-page-bottom-gap: clamp(5.2rem, 7vw, 6.8rem);
      --product-gallery-offset-y: 11px;
      --product-category-nav-gap-below: var(--pc-product-category-nav-gap-below, clamp(2.6rem, 5vw, 4.2rem));
      /* 商品詳細・メイン画像の左右矢印 */
      --product-gallery-nav-size: 13px;
      --product-gallery-nav-stroke: 1px;
      --product-gallery-nav-offset: 33px;
      --product-gallery-nav-hit: 44px;
      /* 商品詳細・黒い SOLD OUT ボタン（pxのみ） */
      --product-soldout-btn-min-height: 90px;
      /* 上パディング（小さいほど文字が上へ・例: 10 12） */
      --product-soldout-btn-pad-top: 12px;
      /* 下パディング（大きいほど文字が上へ・例: 16 18） */
      --product-soldout-btn-pad-bottom: 14px;
      /* 左右パディング */
      --product-soldout-btn-pad-x: 26px;
      /* 行の高さ（小さいほど文字が上へ・例: 1.2 1.3） */
      --product-soldout-btn-line-height: 1.4;
      --product-cart-btn-font-size: 1.1rem;
      --product-cart-btn-letter-spacing: 0.12em;
      --product-amount-text-offset-y: -2px;
      --product-amount-pad-y: 0.65rem;
      --product-cart-btn-text-offset-y: -2px;
      --product-cart-btn-pad-y: 0.9rem;
      /* Product thumbnail grid gap */
      --product-thumb-gap: 12px;
      background: var(--product-page-bg);
      color: var(--c-text);
      font-family: var(--font);
    }

    body#shopDetailPage #mainContent,
    body#shopDetailPage #mainContent.wrapper,
    body#shopDetailPage section#mainContent.wrapper {
      display: grid;
      grid-template-columns: minmax(0, 1fr) var(--product-info-col-w);
      justify-content: stretch;
      align-items: start;
      align-content: start;
      gap: var(--product-page-col-gap);
      width: var(--section-inner-w);
      max-width: calc(100% - 2 * var(--product-page-pad-x));
      margin: 0 auto;
      padding: 0 0 var(--product-page-bottom-gap);
      background: var(--product-page-bg) !important;
      background-color: var(--product-page-bg) !important;
      box-sizing: border-box;
    }

    body#shopDetailPage .product-category-nav.shop-category-nav {
      width: var(--section-inner-w);
      max-width: calc(100% - 2 * var(--product-page-pad-x));
      margin: 0 auto var(--product-category-nav-gap-below);
      padding: clamp(8.8rem, 11vw, 11rem) 0 0;
      box-sizing: border-box;
    }

    body#shopDetailPage #mainContent > * {
      min-width: 0;
    }

    body#shopDetailPage #mainContent > .item {
      align-self: start;
      width: 100%;
      max-width: var(--product-gallery-max);
      margin: 0 !important;
      padding: 0 !important;
      transform: translateY(var(--product-gallery-offset-y));
      box-sizing: border-box;
    }

    body#shopDetailPage .itemImg {
      display: flex;
      flex-direction: column;
      gap: var(--product-thumb-gap);
      width: var(--product-gallery-width);
      max-width: var(--product-gallery-width);
      margin: 0 !important;
      padding: 0 !important;
      box-sizing: border-box;
    }

    body#shopDetailPage .itemImgSlide,
    body#shopDetailPage .bx-wrapper,
    body#shopDetailPage .bx-viewport,
    body#shopDetailPage #slideImg,
    body#shopDetailPage #slideImg li,
    body#shopDetailPage #slideImgPager,
    body#shopDetailPage #slideImg .imgBox {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      box-sizing: border-box;
    }

    body#shopDetailPage .itemImgSlide,
    body#shopDetailPage .bx-wrapper,
    body#shopDetailPage .bx-viewport,
    body#shopDetailPage #slideImg,
    body#shopDetailPage #slideImg li,
    body#shopDetailPage #slideImg .imgBox {
      margin-top: 0 !important;
      padding-top: 0 !important;
    }

    body#shopDetailPage #slideImg,
    body#shopDetailPage #slideImg li,
    body#shopDetailPage #slideImgPager,
    body#shopDetailPage #slideImgPager li {
      list-style: none;
    }

    body#shopDetailPage #slideImg,
    body#shopDetailPage #slideImg li {
      margin: 0;
      padding: 0;
    }

    body#shopDetailPage #slideImg li::marker,
    body#shopDetailPage #slideImgPager li::marker {
      content: "";
    }

    body#shopDetailPage #slideImg > li::before,
    body#shopDetailPage #slideImg > li::after,
    body#shopDetailPage #slideImgPager > li::before,
    body#shopDetailPage #slideImgPager > li::after {
      display: none;
      content: none;
    }

    body#shopDetailPage #slideImg .imgBox {
      display: flex;
      align-items: center;
      justify-content: center;
      aspect-ratio: 1 / 1;
      background: var(--c-white);
      overflow: hidden;
    }

    body#shopDetailPage #slideImg .imgBox a {
      display: block;
      width: 100%;
      height: 100%;
      box-sizing: border-box;
    }

    body#shopDetailPage #slideImg .imgBox img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    body#shopDetailPage #slideImg .imgBox img.label_image {
      width: auto;
      height: auto;
      max-width: 38%;
      max-height: 38%;
    }

    body#shopDetailPage #slideImgPager {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      justify-content: start;
      justify-items: stretch;
      gap: var(--product-thumb-gap);
      float: none;
      width: 100%;
      max-width: 100%;
      margin: 0 !important;
      padding: 0;
      overflow: hidden;
      list-style: none;
      box-sizing: border-box;
    }

    body#shopDetailPage #slideImgPager li {
      width: 100%;
      min-width: 0;
      max-width: 100%;
      margin: 0 !important;
      padding: 0 !important;
      box-sizing: border-box;
    }

    body#shopDetailPage #slideImgPager a {
      display: block;
      width: 100%;
      height: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }

    body#shopDetailPage #slideImgPager .smallImgBox {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      aspect-ratio: 1 / 1;
      height: auto;
      line-height: 1;
      background: var(--c-white);
      border: 1px solid #e5e3dc;
      box-sizing: border-box;
      overflow: hidden;
      transition: border-color 0.2s ease, opacity 0.2s ease;
    }

    body#shopDetailPage #slideImgPager a:hover .smallImgBox,
    body#shopDetailPage #slideImgPager a:focus-visible .smallImgBox,
    body#shopDetailPage #slideImgPager a.is-active .smallImgBox {
      border-color: var(--c-text);
      opacity: 0.72;
    }

    body#shopDetailPage #slideImgPager .smallImgBox img {
      width: 100%;
      height: 100%;
      max-width: none;
      max-height: none;
      object-fit: cover;
    }

    body#shopDetailPage #slideImgPager .smallImgBox img[src*="noimage"],
    body#shopDetailPage #slideImgPager .smallImgBox img[src*="no-image"] {
      object-fit: contain;
      padding: 0.35rem;
      box-sizing: border-box;
    }

    body#shopDetailPage #slideImgPager .base-required-tags,
    body#shopDetailPage #slideImgPager .base-required-tags *,
    body#shopDetailPage #slideImgPager .cart,
    body#shopDetailPage #slideImgPager .cart-badge,
    body#shopDetailPage #slideImgPager [class*="cart"],
    body#shopDetailPage #slideImgPager [id*="cart"],
    body#shopDetailPage #slideImgPager [class*="Cart"],
    body#shopDetailPage #slideImgPager [id*="Cart"],
    body#shopDetailPage #slideImgPager [class*="baseMenu"],
    body#shopDetailPage #slideImgPager [id*="baseMenu"],
    body#shopDetailPage #slideImgPager [class*="BASEMenu"],
    body#shopDetailPage #slideImgPager [id*="BASEMenu"] {
      display: none !important;
    }

    body#shopDetailPage .itemImgSlide.product-gallery-main {
      position: relative;
    }

    body#shopDetailPage .product-gallery-nav {
      position: absolute;
      top: 50%;
      z-index: 2;
      display: flex;
      align-items: center;
      justify-content: center;
      width: var(--product-gallery-nav-hit);
      height: var(--product-gallery-nav-hit);
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
      color: var(--c-text);
      cursor: pointer;
      transform: translateY(-50%);
      transition: opacity 0.2s ease;
    }

    body#shopDetailPage .product-gallery-nav[hidden] {
      display: none !important;
    }

    body#shopDetailPage .product-gallery-nav--prev {
      left: calc(-1 * var(--product-gallery-nav-offset));
    }

    body#shopDetailPage .product-gallery-nav--next {
      right: calc(-1 * var(--product-gallery-nav-offset));
    }

    body#shopDetailPage .product-gallery-nav__icon {
      display: block;
      width: var(--product-gallery-nav-size);
      height: var(--product-gallery-nav-size);
      border-top: var(--product-gallery-nav-stroke) solid currentColor;
      border-right: var(--product-gallery-nav-stroke) solid currentColor;
      box-sizing: border-box;
    }

    body#shopDetailPage .product-gallery-nav--prev .product-gallery-nav__icon {
      transform: rotate(-135deg);
      margin-left: 3px;
    }

    body#shopDetailPage .product-gallery-nav--next .product-gallery-nav__icon {
      transform: rotate(45deg);
      margin-right: 3px;
    }

    body#shopDetailPage .product-gallery-nav:hover,
    body#shopDetailPage .product-gallery-nav:focus-visible {
      opacity: 0.55;
      outline: none;
    }

    body#shopDetailPage #mainContent .purchase {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      align-self: start;
      width: 100%;
      max-width: var(--product-info-col-w);
      margin: 0 !important;
      padding: 0;
      border: 0;
      background: transparent;
      box-sizing: border-box;
    }

    body#shopDetailPage #mainContent .purchase > *,
    body#shopDetailPage #mainContent .purchase .itemDescription,
    body#shopDetailPage #mainContent .purchase .itemNotice,
    body#shopDetailPage #mainContent .purchase #purchase_form,
    body#shopDetailPage #mainContent .purchase #purchase_form .purchaseButton {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }

    body#shopDetailPage #mainContent .purchase > header {
      margin: 0 !important;
      padding: 0 !important;
    }

    body#shopDetailPage header h1.itemTitle {
      margin: 0 0 1rem !important;
      color: var(--c-text);
      font-family: var(--font);
      font-size: 20px;
      font-weight: 400;
      line-height: 1.7;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }

    body#shopDetailPage .itemPrice {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 0.8rem 1.2rem;
      margin: 0 0 2rem;
    }

    body#shopDetailPage .itemPrice h2 {
      display: block;
      gap: 0.65rem;
      margin: 0;
      color: #9a9891;
      font-family: var(--font);
      font-size: 14px;
      font-weight: 400;
      line-height: 1.6;
      letter-spacing: 0.05em;
      text-align: left;
    }

    body#shopDetailPage .itemPrice h2 .price {
      display: grid;
      gap: 0.65rem;
    }

    body#shopDetailPage .itemPrice h2 .price__mainLabel,
    body#shopDetailPage .itemPrice h2 .price__mainValue {
      font-size: inherit;
      font-weight: 400;
    }

    body#shopDetailPage .itemPrice h2 .price__tax,
    body#shopDetailPage .itemPrice h2 .price__subLabel,
    body#shopDetailPage .itemPrice h2 .price__subValue {
      color: #6f6d66;
      font-size: 1.1rem;
      letter-spacing: 0.04em;
    }

    body#shopDetailPage .itemPrice > .soldout {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
      color: #c9453a;
      font-family: var(--font);
      font-size: 1.1rem;
      font-weight: 400;
      letter-spacing: 0.14em;
      line-height: 1.2;
    }

    body#shopDetailPage .purchase > .soldout {
      display: none !important;
    }

    body#shopDetailPage .itemNotice {
      width: 100%;
      max-width: 100%;
      margin: 1.4rem 0 0 !important;
      padding: 0 !important;
      color: #55534d;
      font-family: var(--font);
      font-size: 11px;
      line-height: 1.85;
      letter-spacing: 0.04em;
      box-sizing: border-box;
      text-align: justify;
      text-justify: inter-character;
    }

    body#shopDetailPage .itemNotice__line,
    body#shopDetailPage .itemNotice #itemAttention .attention {
      margin: 0;
    }

    body#shopDetailPage .itemNotice #itemAttention,
    body#shopDetailPage .itemNotice #itemAttention .attention {
      margin: 0;
      padding: 0;
      color: inherit;
      font-family: inherit;
      font-size: inherit;
      line-height: inherit;
      letter-spacing: inherit;
    }

    body#shopDetailPage .itemNotice a,
    body#shopDetailPage .itemNotice #itemAttention a {
      color: inherit;
      text-decoration: underline;
      text-decoration-color: currentColor;
      text-underline-offset: 0.22em;
    }

    body#shopDetailPage #purchase_form {
      margin: 0;
      color: var(--c-text);
    }

    body#shopDetailPage #purchase_form label {
      display: block;
      margin: 1.4rem 0 0.7rem;
      color: var(--c-text);
      font-size: 1.2rem;
      letter-spacing: 0.04em;
      line-height: 1.5;
    }

    body#shopDetailPage #purchase_form input,
    body#shopDetailPage #purchase_form select,
    body#shopDetailPage #purchase_form textarea {
      width: 100%;
      min-height: 4.4rem;
      border: 1px solid #d9d7ce;
      border-radius: 0;
      background-color: var(--c-white);
      color: var(--c-text);
      font-family: var(--font);
      font-size: 1.4rem;
      letter-spacing: 0.04em;
      box-sizing: border-box;
    }

    body#shopDetailPage #purchase_form select {
      cursor: pointer;
    }

    body#shopDetailPage #purchase_form #itemSelect #amountSelect,
    body#shopDetailPage #purchase_form #itemSelect select.amountSelect {
      border: 0 !important;
      background-color: var(--c-white) !important;
      text-align: center !important;
      text-align-last: center !important;
      -moz-text-align-last: center !important;
      padding-left: 2.4rem !important;
      padding-right: 2.4rem !important;
      padding-top: calc(var(--product-amount-pad-y) + var(--product-amount-text-offset-y)) !important;
      padding-bottom: calc(var(--product-amount-pad-y) - var(--product-amount-text-offset-y)) !important;
      appearance: none;
      -webkit-appearance: none;
      line-height: 1.2 !important;
    }

    body#shopDetailPage #purchase_form .purchaseElement,
    body#shopDetailPage #purchase_form #purchaseSelect,
    body#shopDetailPage #purchase_form #amountSelectWrap {
      margin: 0 0 1.4rem;
    }

    body#shopDetailPage #purchase_form .itemOption__caption,
    body#shopDetailPage #purchase_form .itemOption__count,
    body#shopDetailPage #purchase_form #itemAttention {
      color: #706e66;
      font-size: 1.1rem;
      line-height: 1.7;
      letter-spacing: 0.03em;
    }

    body#shopDetailPage #purchase_form .purchaseButton {
      display: block;
      width: 100%;
      max-width: 100%;
      margin: 0;
      text-align: left;
    }

    body#shopDetailPage #purchase_form .purchaseButton .purchaseButton__btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      max-width: 100%;
      min-height: 5.6rem;
      padding: var(--product-cart-btn-pad-y) 1.6rem;
      padding-top: calc(var(--product-cart-btn-pad-y) + var(--product-cart-btn-text-offset-y));
      padding-bottom: calc(var(--product-cart-btn-pad-y) - var(--product-cart-btn-text-offset-y));
      border: 1px solid var(--c-text);
      box-sizing: border-box;
      border-radius: 0;
      background: var(--c-text);
      color: var(--c-white);
      font-family: var(--font);
      font-size: var(--product-cart-btn-font-size);
      font-weight: 600;
      letter-spacing: var(--product-cart-btn-letter-spacing);
      line-height: 1.4;
      transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
    }

    body#shopDetailPage #purchase_form .purchaseButton .purchaseButton__btn:hover,
    body#shopDetailPage #purchase_form .purchaseButton .purchaseButton__btn:focus-visible {
      background: var(--c-white);
      color: var(--c-text);
      cursor: pointer;
      opacity: 1;
    }

    body#shopDetailPage #purchase_form .purchaseButton .purchaseButton__btn.purchaseButton__btn--outOfStock,
    body#shopDetailPage #purchase_form .purchaseButton .purchaseButton__btn:disabled {
      min-height: var(--product-soldout-btn-min-height);
      padding: var(--product-soldout-btn-pad-top) var(--product-soldout-btn-pad-x) var(--product-soldout-btn-pad-bottom);
      border-color: var(--c-text);
      background: var(--c-text);
      color: var(--c-white);
      line-height: var(--product-soldout-btn-line-height);
      cursor: not-allowed;
      opacity: 1;
    }

    body#shopDetailPage #itemAttention a,
    body#shopDetailPage .report a {
      color: inherit;
      text-decoration: underline;
      text-decoration-color: #a6a39a;
      text-underline-offset: 0.25em;
    }

    body#shopDetailPage .itemDescription {
      width: 100%;
      max-width: 100%;
      margin: 0 0 2.4rem !important;
      padding: 0 !important;
      color: var(--c-text);
      font-size: 14px;
      line-height: 1.95;
      letter-spacing: 0.05em;
      box-sizing: border-box;
      text-align: justify;
      text-justify: inter-character;
    }

    body#shopDetailPage .itemDescription p {
      margin: 0 0 1.4em;
      padding: 0;
      line-height: inherit;
      text-align: justify;
      text-justify: inter-character;
    }

    body#shopDetailPage .related-items {
      width: var(--section-inner-w);
      max-width: calc(100% - 2 * var(--product-page-pad-x));
      margin: var(--product-related-margin-top) auto 0;
      padding: 0 0 clamp(5.2rem, 7vw, 6.8rem);
      box-sizing: border-box;
    }

    body#shopDetailPage .related-items__title {
      margin: 0 0 clamp(2rem, 3vw, 2.8rem);
      color: var(--c-text);
      font-family: var(--font);
      font-size: 14px;
      font-weight: 400;
      line-height: 1.5;
      letter-spacing: 0.16em;
    }

    body#shopDetailPage .related-items__grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(1.6rem, 3vw, 3.5rem);
    }

    body#shopDetailPage .related-card {
      display: block;
      color: inherit;
      text-decoration: none;
      transition: opacity 0.2s ease;
    }

    body#shopDetailPage .related-card:hover,
    body#shopDetailPage .related-card:focus-visible {
      opacity: 0.72;
    }

    body#shopDetailPage .related-card__image {
      position: relative;
      display: grid;
      place-items: center;
      aspect-ratio: 1 / 0.92;
      background: #eeeeee;
      color: #b7b5ac;
      font-size: 11px;
      letter-spacing: 0.18em;
      overflow: hidden;
    }

    body#shopDetailPage .related-card__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    body#shopDetailPage .related-card__meta {
      position: relative;
      margin-top: 0;
      font-size: 12px;
      line-height: 1.7;
      letter-spacing: 0.06em;
    }

    body#shopDetailPage .related-card__meta .related-card__title {
      margin-top: var(--shop-image-to-title-gap);
    }

    body#shopDetailPage .related-card__sold {
      position: absolute;
      top: var(--shop-sold-offset-y-pc);
      right: var(--shop-sold-offset-x-pc);
      color: var(--shop-sold-color);
      font-size: var(--shop-sold-font-size);
      letter-spacing: 0.08em;
    }

    body#shopDetailPage .related-card__title {
      margin: 0;
      font-size: var(--shop-title-font-size);
      font-weight: 400;
      line-height: 1.7;
      letter-spacing: 0.06em;
    }

    body#shopDetailPage .related-card__price {
      margin-top: 0.15rem;
      font-size: var(--shop-price-font-size);
      font-weight: 400;
      line-height: 1.7;
      letter-spacing: 0.06em;
    }

    body#shopDetailPage .shareButtons,
    body#shopDetailPage #reportBtn {
      display: none !important;
      position: absolute !important;
      width: 0 !important;
      height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: hidden !important;
      visibility: hidden !important;
      pointer-events: none !important;
    }

    body#shopDetailPage .base-standard-info {
      display: none !important;
      width: var(--section-inner-w);
      max-width: calc(100% - 2 * var(--product-page-pad-x));
      margin: 0 auto;
      padding: 0;
      border: 0;
      color: var(--c-text);
      font-family: var(--font);
      font-size: 14px;
      line-height: 1.8;
      letter-spacing: 0.04em;
      box-sizing: border-box;
    }

    body#shopDetailPage .report,
    body#shopDetailPage #embedded-tag,
    body#shopDetailPage .social,
    body#shopDetailPage .itemRelated,
    body#shopDetailPage .relatedItems,
    body#shopDetailPage #appsItemDetailCustom {
      grid-column: 1 / -1;
    }

    @media (max-width: 900px) {
      body#shopDetailPage #mainContent {
        grid-template-columns: 1fr;
        width: min(calc(100% - 3.2rem), 56rem);
        gap: 3.2rem;
      }

      body#shopDetailPage .product-category-nav.shop-category-nav {
        width: min(calc(100% - 3.2rem), 56rem);
      }

      body#shopDetailPage #mainContent .purchase {
        max-width: none;
      }

      body#shopDetailPage .base-standard-info {
        width: min(calc(100% - 3.2rem), 56rem);
      }

      body#shopDetailPage .related-items {
        width: min(calc(100% - 3.2rem), 56rem);
      }
    }

    @media (max-width: 640px) {
      html,
      body,
      .page {
        width: 100%;
        max-width: 100%;
        position: relative;
        overflow-x: clip;
        overscroll-behavior-x: none;
        touch-action: pan-y;
      }

      .main,
      .section,
      .work,
      .shop-preview,
      .fv,
      .fv__frame,
      .home-info {
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
      }

      .home-info {
        overflow-y: visible;
      }

      /* SP：PC用の画面幅はみ出しをすべて無効化 */
      .instagram-grid,
      .work__body {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
      }

      .fv__drawer,
      .scroll-nav__drawer {
        max-width: 100% !important;
      }

      section.fv {
        background: #fff;
      }

      /* FV スマホ：head 内 --fv-sp-tune-* とレイアウトは .fv のみ（:root に置かない） */
      .fv {
        --logo-w: var(--fv-sp-tune-logo-w, 47vw);
        --logo-h: var(--fv-sp-tune-logo-h, 6.2rem);
        --logo-img-scale: var(--fv-sp-tune-logo-img-scale, 0.5);
        --logo-img-max-inset-x: var(--fv-sp-tune-logo-img-max-inset-x, 1.75rem);
        --logo-offset-x: var(--fv-sp-tune-logo-offset-x, -0.95rem);
        --logo-offset-y: var(--fv-sp-tune-logo-offset-y, 0);
        --logo-area-offset-x: var(--fv-sp-tune-logo-area-offset-x, -5px);
        --logo-area-offset-y: var(--fv-sp-tune-logo-area-offset-y, -1.5px);
        --logo-trapezoid-cut: var(--fv-sp-tune-trapezoid-cut, 68%);
        --logo-trapezoid-bottom-left-x: var(--fv-sp-tune-trapezoid-bottom-left-x, 0);
        --logo-area-bg: var(--fv-sp-tune-logo-area-bg, #e6e6e6);
        --fv-visual-mask-top-pull: 0;
        --fv-visual-mask-bottom-left-extra: 8rem;
        --fv-visual-mask-top-left-x: calc(var(--logo-w) - var(--fv-visual-mask-top-pull));
        --fv-visual-mask-bottom-left-x: calc(var(--logo-w) + var(--fv-visual-mask-bottom-left-extra));
        --fv-frame-aspect-ratio: 1.6 / 1;
        --fv-frame-max-height: none;
        --fv-frame-bottom-space: 0;
        --fv-slide-media-scale: 1.12;
        --fv-slide-media-size: cover;
        --fv-slide-media-position: center 24%;
        --fv-slide-dots-left: 50%;
        --fv-slide-dots-right: auto;
        --fv-slide-dots-bottom: 14px;
        --fv-slide-dots-offset-y: 0;
        --fv-slide-dots-gap: 8px;
        --fv-slide-dots-translate-x: -50%;
        --fv-slide-dot-hit-size: 18px;
        --fv-slide-dot-size: 5px;
        --fv-menu-top: 18px;
      }

      :root {
        --fv-intro-logo-delay: 0.06s;
        --fv-intro-logo-mark-delay: 0.32s;
        --fv-intro-visual-delay: 0.5s;
        --fv-intro-clear-after: 3.1s;
        /*
         * ▼ SP 左右余白（ここだけ変更）
         * --sp-content-pad-x … 大きいほど左右の余白が広い（例: 24px / 32px / 50px）
         * INFORMATION・ABOUT・フッター・追従ナビ左 などに反映
         */
        --sp-content-pad-x: 25px;
        /* 追従ナビ右だけ別にしたい時だけ上書き（通常は触らない） */
        --scroll-nav-pad-right: var(--sp-content-pad-x);
        /* スクロール追従ナビ（SP・px） */
        --scroll-nav-h: 52px;
        --scroll-logo-w: 70px;
        --scroll-logo-offset-x: 0px;
        --scroll-logo-offset-y: 0px;
        /* さらに右へ：正の px（例: 6px） */
        --scroll-menu-offset-x: 0px;
        --scroll-menu-offset-y: 0px;
        --scroll-menu-width: 32px;
        --scroll-menu-height: 12px;
        --scroll-menu-gap: 8px;
        /* メニュー白パネル（SP・sp-tuning.json で調整） */
        --drawer-padding-top: clamp(4.5rem, 14vw, 6.5rem);
        --drawer-padding-x: 1.9rem;
        /* CONTACTの下の余白（大きいほど白パネルが下に伸びる） */
        --drawer-padding-bottom: 2rem;
        /* 項目どうしの間隔 */
        --drawer-menu-gap: 1.05rem;
        /* FV ドットを画像下に置くときの余白（SP・px） */
        --sp-fv-dots-gap-below: 12px;
        /* FV 下〜INSTAGRAM 見出し（SP・px・大きいほど広い） */
        --sp-fv-to-instagram-gap: 65px;
        /* INSTAGRAM 下〜INFORMATION 見出し（SP・px・小さいほど狭い） */
        --sp-instagram-to-information-gap: 52px;
        /* INFORMATION 見出し〜下の線（SP・px・小さいほど狭い） */
        --sp-info-heading-to-line-gap: 8px;
        /* INFORMATION スマホ調整（SPは px のみ） */
        --info-section-margin-top: var(--sp-instagram-to-information-gap);
        --info-heading-body-gap: var(--sp-info-heading-to-line-gap);
        --info-heading-offset-y: 0;
        --info-gap-top-line-to-first: 32px;
        --info-gap-last-to-bottom-line: 32px;
        /* 項目どうしの間隔（大きいほど広い） */
        --info-gap-between-items: 23.5px;
        /* 本文が複数行のときの行間（大きいほど広い・例: 1.75 / 1.85） */
        --info-item-text-line-height: 1.9;
        /* INFORMATION 文字サイズ（SP・sp-tuning.json で調整） */
        --info-date-font-size: 11px;
        --info-tag-font-size: 9.5px;
        --info-body-font-size: 14px;
        /* 日付と INFO タグの間（小さいほど近い） */
        --info-date-to-tag-gap: 10px;
        --info-tag-offset-y: 0;
        --info-tag-text-offset-y: 0.8px;
        --info-text-pad-right: 0;
        --info-more-margin-top: 0.85rem;
        --info-more-margin-right: 0;
        --info-more-pad-bottom: 24px;
        /* ABOUT内の上下（PC向け。SPのグレー延長とは別） */
        --about-pad-y: 40px;
        /* 「さい。」下〜WORKS手前までグレーを延ばす（大きいほど下に伸びWORKSも下がる） */
        --about-gray-bottom: 56px;
        /* グレー層の下端 inset（SPは 0 で切れない） */
        --about-bg-bottom: 0;
        /* 詩（白か黒か〜 / 糸と絵で〜） */
        --about-poem-line-height: 1.4;
        --about-poem-stanza1-inner-gap: 0.45em;
        --about-poem-stanza2-inner-gap: 0.45em;
        /* 詩・上2行と下2行の間（px・sp-tuning.json で調整・小さいほど狭い） */
        --about-poem-stanza-gap: 28px;
        /* 「メジは、グラフィック…」（小さいほど詰む） */
        --about-lead-line-height: 1.75;
        --about-lead-letter-spacing: 0.03em;
        /* 詩4行の下〜「メジは、」まで（px・sp-tuning.json で調整・小さいほど狭い） */
        --about-lead-margin-top: 56px;
        --about-lead-text-align: justify;
        /* 「メジは、」〜大江純平ブロックの間（px・ここを触る） */
        --about-lead-to-members-gap: 53px;
        /* メンバー2人の間（大きいほど広い） */
        --about-members-gap: 2.6rem;
        /* 写真上端と名前1行目の頭（マイナス＝上へ・px・ここを触る） */
        --about-member-name-offset-y: -5.5px;
        /* ローマ字〜プロフィール文（小さいほど詰む・px・ここを触る） */
        --about-member-roman-to-bio-gap:6px;
        /* 「さい。」下の白余白（大きいほど詰む・px・ここを触る） */
        --about-contact-bottom-trim: 5px;
        /* 「MEZIの世界観で…」お問い合わせ文（大きいほど広い） */
        --about-contact-line-height: 1.8;
        /* WORKS「一覧を見る」：画像右端揃え（ここを触る） */
        --work-more-pad-right: 0px;
        --work-more-pad-left: 0px;
        --work-more-margin-top: 24px;
        /* WORKS末尾の余白（一覧を見るの下・ここを触る） */
        --work-section-pad-bottom: 80px;
        /* ストア一覧ページのみ・カテゴリーメニュー上（SP・px・ここを触る） */
        --store-category-nav-gap-above-sp: 48px;
        /* ストア一覧ページのみ・カテゴリーメニュー下（SP・px・ここを触る） */
        --store-category-nav-gap-below-sp: 52px;
        /* ストア一覧ページ（sp-tuning.json で調整） */
        --sp-store-page-pad-top: 24px;
        --sp-store-hero-gap-above: 0px;
        --sp-store-hero-badge-size: 90px;
        --sp-store-hero-badge-offset-x: 0px;
        --sp-store-hero-badge-offset-y: 0px;
        --sp-store-hero-badge-logo-w: 44px;
        --sp-store-category-font-size: 11px;
        --sp-item-header-to-category-gap: 20px;
        --sp-item-category-to-image-gap: 28px;
        --sp-item-gallery-nav-offset-left: 10px;
        --sp-item-gallery-nav-offset-right: 10px;
        --sp-store-category-to-title-gap: 28px;
        --sp-store-title-to-grid-gap: 32px;
        --sp-item-soldout-btn-min-height: 90px;
        --sp-item-soldout-btn-text-offset-y: -4px;
        --sp-item-button-to-notice-gap: 16px;
        --sp-item-image-to-purchase-gap: 32px;
        --sp-item-title-to-price-gap: 14px;
        --sp-item-price-to-description-gap: 24px;
        --sp-item-description-to-button-gap: 20px;
        --sp-item-button-to-related-gap: 48px;
        --sp-item-notice-to-footer-gap: 96px;
        --sp-item-cart-btn-font-size: 12px;
        --sp-item-amount-text-offset-y: -4px;
        --sp-item-cart-btn-text-offset-y: -4px;
        --sp-item-related-card-gap: 16px;
        --sp-item-related-image-size: 72px;
        --sp-item-related-title-font-size: 14px;
        --store-hero-badge-size-sp: var(--sp-store-hero-badge-size);
        --store-hero-badge-offset-x-sp: var(--sp-store-hero-badge-offset-x);
        --store-hero-badge-offset-y-sp: var(--sp-store-hero-badge-offset-y);
        --store-hero-badge-logo-w-sp: var(--sp-store-hero-badge-logo-w);
        /* INSTAGRAM・表示する四角の数（SP・左から新しい順） */
        --instagram-slot-count-sp: 3;
        /* SOLD OUT・SPのみ（PCの --shop-sold-offset-*-pc とは別） */
        /* 上下：マイナス大きいほど上へ（例: -24 -28） */
        --shop-sold-offset-y-sp: -28px;
        /* 左右：大きいほど右へ（例: 0 1.3 6） */
        --shop-sold-nudge-right-sp: 1.3px;
        /* 商品画像と商品名の間（px・SP・ここを触る） */
        --shop-image-to-title-gap-sp: 24px;
        /* BLOG見出しだけ（px・SP） */
        --blog-card-title-font-size: 15px;
        /* BLOG記事ブロックどうしの間（px・SP・ここを触る） */
        --blog-grid-gap-sp: 44px;
        /* PROJECT・名前（px・SP） */
        --project-card-title-font-size: 17px;
        /* PROJECT・説明文（px・SP） */
        --project-card-text-font-size: 15px;
        /* PROJECTブロックどうしの間（px・SP・ここを触る） */
        --project-grid-gap-sp: 44px;
        /* セクション見出し（INFORMATION/ABOUT/WORKS等・SP・ここを触る） */
        --sp-section-eyebrow-font-size: 16px;
        /* フッター：PRIVACY POLICY と © の間（px・SP・ここを触る） */
        --footer-policy-to-credit-gap-sp: 6px;
        /* フッター：© の下の余白（px・SP・ここを触る） */
        --footer-pad-bottom-sp: 14.5px;
        /* INFORMATION〜ABOUT / ABOUT〜MEZI STORE（sp-tuning.json） */
        --info-to-about-gap: 80px;
        --sp-about-to-store-gap: 48px;
      }

      /* SP：左右余白は --sp-content-pad-x（px）1つだけで管理（.section の clamp 横余白は打ち消す） */
      .section {
        padding-left: 0;
        padding-right: 0;
      }

      .main .section:not(.home-info) {
        padding-left: var(--sp-content-pad-x);
        padding-right: var(--sp-content-pad-x);
      }

      .footer {
        padding-left: var(--sp-content-pad-x);
        padding-right: var(--sp-content-pad-x);
      }

      .home-info.section {
        padding-top: var(--sp-fv-to-instagram-gap);
        padding-left: var(--sp-content-pad-x);
        padding-right: var(--sp-content-pad-x);
        padding-bottom: 0 !important;
      }

      .information-section.section {
        padding-top: var(--info-section-margin-top);
        padding-bottom: 0 !important;
      }

      .home-info__top {
        padding-left: 0;
        padding-right: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
      }

      .information-section .information__inner {
        box-sizing: border-box;
        padding-inline: 0;
        padding-bottom: var(--info-more-pad-bottom);
      }

      .information-section .information__heading,
      .information-section .information__body,
      .information-section .information__list,
      .information-section .information__more {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
      }

      .information-section .information__list {
        --info-line-w: 100%;
      }

      .information-section .information__list::before,
      .information-section .information__list::after {
        width: 100% !important;
        max-width: 100% !important;
      }

      .main .section.about.section,
      .main .section.information-section.section {
        padding-left: var(--sp-content-pad-x) !important;
        padding-right: var(--sp-content-pad-x) !important;
        box-sizing: border-box;
      }

      .main .section .section__inner {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
      }

      .about__inner,
      .information__inner {
        grid-template-columns: 1fr !important;
        gap: 45px;
      }

      .information-section .information__heading {
        overflow: visible;
      }

      .information-section .information__heading .section__eyebrow {
        line-height: 1.5;
        overflow: visible;
      }

      .information-section .information__item,
      .information-section .information__item-head {
        max-width: 100%;
      }

      .information-section .information__item-text {
        padding-right: 0;
      }

      .information-section .information__more {
        margin-right: 0;
        margin-bottom: 0;
        padding-right: 0;
        padding-bottom: 0;
        max-width: 100%;
        box-sizing: border-box;
      }

      .fv__frame {
        overflow: visible;
        container-type: normal;
      }

      .fv__slide-dots {
        z-index: 12;
      }

      /* FV スライドドット：画像の下（SPのみ） */
      section.fv .fv__frame .fv__slide-dots {
        top: 100%;
        bottom: auto;
        left: 50%;
        right: auto;
        margin-top: var(--sp-fv-dots-gap-below);
        transform: translateX(-50%);
      }

      /* 追従ナビ：左右は --sp-content-pad-x（右だけ別なら --scroll-nav-pad-right） */
      .scroll-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-left: var(--sp-content-pad-x);
        padding-right: var(--scroll-nav-pad-right);
        box-sizing: border-box;
        transform: none;
        top: calc(-1 * var(--scroll-nav-h));
        transition: top 0.25s ease;
      }

      .scroll-nav.is-visible {
        top: 0;
      }

      .scroll-nav__logo {
        position: relative;
        top: auto;
        left: auto;
        transform: translate(var(--scroll-logo-offset-x), var(--scroll-logo-offset-y));
      }

      .scroll-nav__menu {
        position: relative;
        top: auto;
        right: auto;
        transform: translate(var(--scroll-menu-offset-x), var(--scroll-menu-offset-y));
      }

      .fv__drawer,
      .scroll-nav__drawer {
        position: fixed;
        top: 0;
        right: 0;
        bottom: auto;
        left: auto;
        width: auto;
        min-width: 12.5rem;
        max-width: calc(100vw - 1rem);
        height: auto !important;
        max-height: 100dvh;
        padding: var(--drawer-padding-top) var(--drawer-padding-x) var(--drawer-padding-bottom);
        gap: var(--drawer-menu-gap);
        overflow-x: visible;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        z-index: 40;
        box-sizing: border-box;
      }

      .fv__drawer {
        height: auto !important;
      }

      .fv__drawer a,
      .scroll-nav__drawer a {
        white-space: nowrap;
      }

      /* FVハンバーガー：ボタンの style="--user-fv-right:8px" を編集（640px以下） */
      section.fv > .fv__menu {
        position: fixed !important;
        top: var(--user-fv-top, 18px) !important;
        right: var(--user-fv-right, 17px) !important;
        left: auto !important;
        margin: 0 !important;
        z-index: 45 !important;
      }

      body.is-scrolled-past-fv .fv__menu,
      body.is-scrolled-past-fv .fv__drawer {
        visibility: hidden;
        pointer-events: none;
      }

      .scroll-nav__menu {
        z-index: 41;
      }

      body:has(.fv__menu[aria-expanded="true"]),
      body:has(.scroll-nav__menu[aria-expanded="true"]) {
        overflow: hidden;
      }

      .shop-hero {
        min-height: clamp(9.5rem, 42vw, 13rem);
        margin-right: 0;
        margin-left: 0;
        border-radius: 6rem;
      }

      .store-page .shop-hero-block {
        margin-bottom: var(--store-category-nav-gap-above-sp);
      }

      body.is-store-page:not(.is-store-category-page) .store-page .shop-hero-block {
        margin-top: var(--sp-store-hero-gap-above);
      }

      body.is-store-page .store-page,
      body.is-store-category-page .store-page {
        padding-top: calc(var(--scroll-nav-h) + var(--sp-store-page-pad-top));
      }

      .shop-category-nav {
        gap: 0.8rem 1.25rem;
        font-size: 11px;
      }

      .store-page .shop-category-nav,
      body#shopDetailPage .product-category-nav.shop-category-nav {
        justify-content: center;
      }

      .store-page .shop-category-nav {
        margin-bottom: var(--sp-store-category-to-title-gap);
        font-size: var(--sp-store-category-font-size);
      }

      .store-page .shop-category-title {
        display: none !important;
        margin: 0 !important;
      }

      .store-page .shop-hero__badge {
        width: var(--sp-store-hero-badge-size);
        height: var(--sp-store-hero-badge-size);
        transform: translate(var(--sp-store-hero-badge-offset-x), var(--sp-store-hero-badge-offset-y));
      }

      .store-page .shop-hero__badge-logo {
        width: var(--sp-store-hero-badge-logo-w);
      }

      .instagram-grid {
        grid-template-columns: repeat(var(--instagram-slot-count-sp), minmax(0, 1fr));
      }

      /* INSTAGRAM 3枚：右端まで広げる（見出しは --sp-content-pad-x のまま） */
      .home-info .instagram-block .instagram-grid {
        width: calc(100% + var(--sp-content-pad-x)) !important;
        max-width: calc(100% + var(--sp-content-pad-x)) !important;
        margin-right: calc(-1 * var(--sp-content-pad-x)) !important;
      }

      .instagram-grid .instagram-card:nth-child(n+4) {
        display: none;
      }

      .about.section {
        margin-top: 0 !important;
        padding-top: 0 !important;
        padding-bottom: var(--about-gray-bottom);
      }

      .about::before {
        top: 0;
        bottom: var(--about-bg-bottom);
      }

      .about__inner {
        grid-template-columns: 1fr;
        gap: 45px;
      }

      .about__body {
        width: 100%;
        max-width: 100%;
        padding: 0;
      }

      .about__body > :first-child {
        margin-top: 0;
      }

      /* .about__contact は除外（--about-contact-bottom-trim を殺さない） */
      .about__body > :last-child:not(.about__contact) {
        margin-bottom: 0;
      }

      .about__poem {
        transform: none;
        margin: 0;
        padding: 0;
        line-height: var(--about-poem-line-height);
        leading-trim: both;
        text-edge: cap alphabetic;
      }

      .about__poem p {
        margin: 0;
        line-height: inherit;
      }

      .about__poem > p:first-child {
        margin-top: calc(-1 * var(--about-poem-first-line-top-trim));
      }

      .about__poem p:nth-child(1) {
        margin-bottom: var(--about-poem-stanza1-inner-gap);
      }

      .about__poem-after-stanza1 {
        margin-bottom: 0 !important;
        padding-bottom: var(--about-poem-stanza-gap) !important;
      }

      .about__body .about__poem > p:nth-child(3) {
        margin-bottom: var(--about-poem-stanza2-inner-gap);
      }

      .about__lead {
        margin-top: var(--about-lead-margin-top);
        line-height: var(--about-lead-line-height);
        letter-spacing: var(--about-lead-letter-spacing);
        text-align: var(--about-lead-text-align);
      }

      .about__lead br.about__lead-br--sp {
        display: block;
      }

      .about__members {
        margin-top: var(--about-lead-to-members-gap) !important;
        gap: var(--about-members-gap);
      }

      .about__body .about__contact {
        margin-top: clamp(2.5rem, 5vw, 4rem);
        margin-bottom: calc(-1 * var(--about-contact-bottom-trim)) !important;
        padding: 0 !important;
        line-height: var(--about-contact-line-height);
        leading-trim: both;
        text-edge: cap alphabetic;
      }

      .about-member {
        grid-template-columns: 5.5rem 1fr;
      }

      .about-member__photo {
        width: 5.5rem;
      }

      .about-member__text h3 {
        margin-bottom: var(--about-member-roman-to-bio-gap) !important;
        transform: translateY(var(--about-member-name-offset-y)) !important;
      }

      .work-grid,
      .shop-grid,
      .youtube-grid,
      .blog-grid,
      .project-grid {
        grid-template-columns: 1fr;
      }

      body#shopDetailPage {
        --product-page-pad-x: var(--sp-content-pad-x);
        --product-gallery-max: none;
        --product-gallery-width: 100%;
        --product-gallery-offset-y: 0;
        --product-page-col-gap: var(--sp-item-image-to-purchase-gap);
        --product-category-nav-gap-below: var(--sp-item-category-to-image-gap);
        --product-soldout-btn-min-height: var(--sp-item-soldout-btn-min-height);
        --product-soldout-btn-pad-top: calc(12px + var(--sp-item-soldout-btn-text-offset-y));
        --product-soldout-btn-pad-bottom: calc(14px - var(--sp-item-soldout-btn-text-offset-y));
        --product-cart-btn-font-size: var(--sp-item-cart-btn-font-size);
        --product-amount-text-offset-y: var(--sp-item-amount-text-offset-y);
        --product-cart-btn-text-offset-y: var(--sp-item-cart-btn-text-offset-y);
      }

      body#shopDetailPage .product-category-nav.shop-category-nav {
        width: calc(100% - 2 * var(--sp-content-pad-x));
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: var(--sp-item-category-to-image-gap);
        padding: calc(var(--scroll-nav-h) + var(--sp-item-header-to-category-gap)) 0 0;
      }

      body#shopDetailPage #mainContent,
      body#shopDetailPage #mainContent.wrapper,
      body#shopDetailPage section#mainContent.wrapper {
        grid-template-columns: 1fr;
        gap: var(--product-page-col-gap);
        width: calc(100% - 2 * var(--sp-content-pad-x));
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        padding: 0 0 var(--sp-item-notice-to-footer-gap);
      }

      body#shopDetailPage #mainContent > .item {
        transform: none;
        width: 100%;
        max-width: none;
      }

      body#shopDetailPage .itemImg {
        width: 100%;
        max-width: none;
      }

      body#shopDetailPage .itemImgSlide.product-gallery-main {
        width: 100%;
      }

      body#shopDetailPage #slideImg {
        display: block;
        width: 100%;
      }

      body#shopDetailPage #slideImg > li {
        width: 100%;
      }

      body#shopDetailPage #slideImg .imgBox {
        width: 100%;
        aspect-ratio: 1 / 1;
      }

      body#shopDetailPage .product-gallery-nav--prev {
        left: var(--sp-item-gallery-nav-offset-left);
      }

      body#shopDetailPage .product-gallery-nav--next {
        right: var(--sp-item-gallery-nav-offset-right);
      }

      body#shopDetailPage .itemNotice {
        margin-top: var(--sp-item-button-to-notice-gap) !important;
      }

      body#shopDetailPage #mainContent .purchase {
        padding: 0;
        max-width: none;
      }

      body#shopDetailPage header h1.itemTitle {
        margin-bottom: var(--sp-item-title-to-price-gap) !important;
        font-size: 18px;
        line-height: 1.65;
        letter-spacing: 0.1em;
      }

      body#shopDetailPage .itemPrice {
        margin-bottom: var(--sp-item-price-to-description-gap);
      }

      body#shopDetailPage .itemDescription {
        margin-bottom: var(--sp-item-description-to-button-gap);
      }

      body#shopDetailPage .related-items {
        width: calc(100% - 2 * var(--sp-content-pad-x));
        max-width: none;
        margin-top: var(--sp-item-button-to-related-gap);
        margin-left: auto;
        margin-right: auto;
      }

      body#shopDetailPage .related-items__grid {
        display: flex;
        flex-direction: column;
        gap: var(--sp-item-related-card-gap);
      }

      body#shopDetailPage .related-card {
        display: grid;
        grid-template-columns: var(--sp-item-related-image-size) minmax(0, 1fr);
        align-items: center;
        column-gap: 12px;
      }

      body#shopDetailPage .related-card__image {
        width: 100%;
        aspect-ratio: 1 / 1;
      }

      body#shopDetailPage .related-card__meta .related-card__title {
        margin-top: 0;
      }

      body#shopDetailPage .related-card__title {
        font-size: var(--sp-item-related-title-font-size);
      }

      body#shopDetailPage .related-card__price,
      body#shopDetailPage .related-card__sold {
        display: none;
      }

      body#shopDetailPage .base-standard-info {
        width: calc(100% - 2 * var(--sp-content-pad-x));
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
      }

      body#shopDetailPage #slideImgPager {
        grid-template-columns: repeat(3, 1fr);
      }

      body#shopDetailPage #slideImgPager li {
        width: 100%;
      }

      body#shopDetailPage #slideImgPager .smallImgBox {
        height: auto;
      }
    }

    /* 1024px未満：左右余白・段組みを ABOUT 他セクションと統一（BASEプレビュー幅対策） */
    @media (max-width: 1023px) {
      .section {
        padding-left: 0;
        padding-right: 0;
      }

      .main .section:not(.home-info),
      .home-info.section,
      .footer {
        padding-left: var(--sp-content-pad-x);
        padding-right: var(--sp-content-pad-x);
      }

      .main .section.about.section,
      .main .section.information-section.section {
        padding-left: var(--sp-content-pad-x) !important;
        padding-right: var(--sp-content-pad-x) !important;
        box-sizing: border-box;
      }

      .main .section .section__inner {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
      }

      .about__inner,
      .information__inner {
        grid-template-columns: 1fr !important;
        gap: 45px;
      }

      .information-section.section {
        padding-top: var(--info-section-margin-top);
        padding-bottom: 0 !important;
      }

      .information-section .information__inner {
        box-sizing: border-box;
        padding-inline: 0;
        padding-bottom: var(--info-more-pad-bottom);
      }

      .information-section .information__heading,
      .information-section .information__body,
      .information-section .information__list,
      .information-section .information__more {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
      }

      .information-section .information__list {
        --info-line-w: 100%;
      }

      .information-section .information__list::before,
      .information-section .information__list::after {
        width: 100% !important;
        max-width: 100% !important;
      }

      .information-section .information__item-text {
        padding-right: 0;
      }

      .information-section .information__more {
        margin-right: 0;
        padding-right: 0;
        max-width: 100%;
      }

      #instagram-title,
      #information-title,
      #about-title,
      #work-title,
      #shop-title,
      #youtube-title,
      #blog-title,
      #project-title,
      .info-archive__side h1,
      body.is-contact-page .contact-page__title {
        font-size: var(--sp-section-eyebrow-font-size) !important;
      }

      .footer .footer__inner {
        gap: var(--footer-policy-to-credit-gap-sp) !important;
      }

      .footer {
        padding-bottom: var(--footer-pad-bottom-sp) !important;
      }

      /* WORKS：日付・案件名を常時表示（PCのホバー表示はそのまま） */
      .work-card__date,
      .work-card__label {
        opacity: 1 !important;
        transform: translateY(0) !important;
      }

      .work__more {
        display: block !important;
        margin-top: var(--work-more-margin-top) !important;
        padding-left: var(--work-more-pad-left) !important;
        padding-right: var(--work-more-pad-right) !important;
        text-align: right;
        font-size: 12px;
        letter-spacing: 0.08em;
      }

      .shop-card__sold {
        top: var(--shop-sold-offset-y-sp) !important;
        right: calc(0px - var(--shop-sold-nudge-right-sp)) !important;
      }

      .shop-card__meta {
        margin-top: 0 !important;
      }

      .shop-card__meta .shop-card__title {
        margin-top: var(--shop-image-to-title-gap-sp) !important;
      }

      .blog-preview .blog-card__title {
        font-size: var(--blog-card-title-font-size) !important;
      }

      .blog-preview .blog-grid {
        gap: var(--blog-grid-gap-sp) !important;
      }

      .project-preview .project-card__title {
        font-size: var(--project-card-title-font-size) !important;
      }

      .project-preview .project-card__text {
        font-size: var(--project-card-text-font-size) !important;
      }

      .project-preview .project-grid {
        gap: var(--project-grid-gap-sp) !important;
      }

      section.work.section {
        padding-bottom: 0 !important;
      }

      section.work.section .work__inner {
        padding-bottom: var(--work-section-pad-bottom) !important;
      }

      .about__poem > p:first-child {
        margin-top: calc(-1 * var(--about-poem-first-line-top-trim));
      }

      .about__poem-after-stanza1 {
        padding-bottom: var(--about-poem-stanza-gap) !important;
      }

      .about__members {
        margin-top: var(--about-lead-to-members-gap) !important;
      }

      .about-member__text h3 {
        margin-bottom: var(--about-member-roman-to-bio-gap) !important;
        transform: translateY(var(--about-member-name-offset-y)) !important;
      }

      .about__body .about__contact {
        margin-bottom: calc(-1 * var(--about-contact-bottom-trim)) !important;
        padding-bottom: 0 !important;
      }

      .information-section .information__item {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
      }

      .information-section .information__item-head {
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: var(--info-date-to-tag-gap) !important;
      }

      .information-section .information__item time,
      .information-section .information__tag {
        transform: none !important;
      }
    }

    /* BASEプレビュー幅が641〜1024pxでもFVハンバーガー位置を反映 */
    @media (min-width: 641px) and (max-width: 1024px) {
      .fv__frame {
        container-type: normal;
      }

      section.fv > .fv__menu {
        position: fixed !important;
        top: var(--user-fv-top, 18px) !important;
        right: var(--user-fv-right, 17px) !important;
        left: auto !important;
        margin: 0 !important;
        z-index: 45 !important;
      }

      body.is-scrolled-past-fv .fv__menu,
      body.is-scrolled-past-fv .fv__drawer {
        visibility: hidden;
        pointer-events: none;
      }
    }

    /* PC：FV・追従ヘッダー固定（スマホ用変数の漏れ防止・deploy 内 mezi-fv-pc-lock と同内容） */
    @media (min-width: 641px) {
      :root {
        --pc-scroll-logo-w: 76px;
        --pc-scroll-logo-left: 32px;
        --pc-scroll-menu-right: 32px;
        --pc-fv-logo-img-w: 108px;
        --fv-frame-aspect-ratio: 2400 / 990;
        --fv-frame-max-height: none;
        --fv-frame-bottom-space: 0;
        --fv-slide-media-scale: 1.08;
        --fv-slide-media-size: 100% auto;
        --fv-slide-media-position: top center;
        --fv-slide-dots-left: auto;
        --fv-slide-dots-right: clamp(2.5rem, 7vw, 7rem);
        --fv-slide-dots-bottom: -33px;
        --fv-slide-dots-offset-y: 16px;
        --fv-slide-dots-gap: clamp(1.1rem, 2vw, 1.8rem);
        --fv-slide-dots-translate-x: 0;
        /* メニュー白パネル（PCのみ・CONTACT下の余白。大きいほど下に伸びる） */
        --drawer-padding-bottom: 3.5rem;
      }

      .fv__drawer {
        height: auto;
        padding: var(--drawer-padding-top) var(--drawer-padding-x) var(--drawer-padding-bottom);
        box-sizing: border-box;
      }

      .scroll-nav__logo {
        left: calc(var(--pc-scroll-logo-left) + var(--scroll-logo-offset-x)) !important;
      }

      .scroll-nav__menu {
        right: calc(var(--pc-scroll-menu-right) + var(--scroll-menu-offset-x)) !important;
      }

      .scroll-nav__logo img {
        width: var(--pc-scroll-logo-w);
        height: auto;
      }

      .fv__logo-img {
        transform: none;
      }

      .fv__logo-img img {
        width: var(--pc-fv-logo-img-w);
        max-width: var(--pc-fv-logo-img-w);
        height: auto;
        max-height: none;
      }

      .fv {
        --logo-w: clamp(20rem, 26vw, 23rem);
        --logo-h: clamp(6.75rem, 22vh, 30rem);
        --logo-img-max-inset-x: 2.5rem;
        --logo-offset-x: -1.3rem;
        --logo-offset-y: -0.24rem;
        --logo-area-offset-x: 0;
        --logo-area-offset-y: -1px;
        --logo-trapezoid-cut: 72%;
        --logo-trapezoid-bottom-left-x: 0;
        --fv-visual-mask-top-pull: 16rem;
        --fv-visual-mask-bottom-left-extra: -8rem;
        --fv-visual-mask-top-left-x: calc(var(--logo-w) - var(--fv-visual-mask-top-pull));
        --fv-visual-mask-bottom-left-x: calc(var(--logo-w) + var(--fv-visual-mask-bottom-left-extra));
      }

      .fv__frame {
        aspect-ratio: 2400 / 990 !important;
        margin-bottom: 0 !important;
        background-color: #fff !important;
      }

      section.fv,
      body:not(.is-store-page):not(.is-store-category-page) .page,
      body:not(.is-store-page):not(.is-store-category-page) .main,
      .home-info.section {
        background: #fff !important;
      }

      body.is-store-page .main,
      body.is-store-category-page .main {
        background: #f2f2f2 !important;
      }

      .home-info.section {
        padding-top: 9rem !important;
      }

      body:has(section.fv):not(.is-contact-page):not(.is-store-page):not(.is-info-page):not(.is-policy-page):not(.is-store-category-page) .scroll-nav {
        transition: transform 0.35s ease !important;
      }

      body:has(section.fv):not(.is-contact-page):not(.is-store-page):not(.is-info-page):not(.is-policy-page):not(.is-store-category-page) .scroll-nav:not(.is-visible) {
        transform: translateY(-100%) !important;
        pointer-events: none !important;
      }

      body:has(section.fv):not(.is-contact-page):not(.is-store-page):not(.is-info-page):not(.is-policy-page):not(.is-store-category-page) .scroll-nav.is-visible {
        transform: translateY(0) !important;
        pointer-events: auto !important;
      }

      body.is-scrolled-past-fv .fv__menu,
      body.is-scrolled-past-fv .fv__drawer {
        visibility: hidden;
        pointer-events: none;
      }
    }

    /* PC：FV下のグレー帯防止（STORE・商品詳細は除外） */
    @media (min-width: 641px) {
      body:not(.is-contact-page):not(.is-policy-page):not(.is-store-page):not(.is-store-category-page):not(#shopDetailPage) {
        background-color: #fff;
      }

      body.is-store-page,
      body.is-store-category-page,
      body#shopDetailPage {
        background-color: #f2f2f2 !important;
      }

      body:not(.is-store-page):not(.is-store-category-page) .page,
      body:not(.is-store-page):not(.is-store-category-page) .main,
      section.fv,
      .home-info.section {
        background: #fff;
      }

      body.is-store-page .main,
      body.is-store-category-page .main {
        background: #f2f2f2;
      }

      section.fv .fv__frame {
        margin-bottom: 0 !important;
        background-color: #fff !important;
      }
    }

    /* SP：FV下のグレー帯防止（STORE・商品詳細は除外） */
    @media (max-width: 640px) {
      body:not(.is-contact-page):not(.is-policy-page):not(.is-store-page):not(.is-store-category-page):not(#shopDetailPage) {
        background-color: #fff;
      }

      body.is-store-page,
      body.is-store-category-page,
      body#shopDetailPage {
        background-color: #f2f2f2 !important;
      }

      body:not(.is-store-page):not(.is-store-category-page) .page,
      body:not(.is-store-page):not(.is-store-category-page) .main,
      .home-info.section {
        background: #fff;
      }

      body.is-store-page .main,
      body.is-store-category-page .main {
        background: #f2f2f2;
      }

      section.fv {
        display: flow-root;
        background: #fff;
      }

      section.fv .fv__frame {
        margin-bottom: 0 !important;
      }
    }

    /* 商品詳細：BASE既定の白 .wrapper を無効化（最終上書き） */
    body#shopDetailPage,
    body#shopDetailPage #mainContent,
    body#shopDetailPage #mainContent.wrapper,
    body#shopDetailPage section#mainContent.wrapper,
    body#shopDetailPage section.wrapper.clearfix {
      background: #f2f2f2 !important;
      background-color: #f2f2f2 !important;
    }

    /* 商品詳細：説明文・注意書きと SOLD OUT ボタンの右端を揃える */
    body#shopDetailPage #mainContent .purchase .itemDescription,
    body#shopDetailPage #mainContent .purchase .itemNotice,
    body#shopDetailPage #mainContent .purchase #purchase_form,
    body#shopDetailPage #mainContent .purchase #purchase_form .purchaseButton,
    body#shopDetailPage #mainContent .purchase #purchase_form .purchaseButton .purchaseButton__btn {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      box-sizing: border-box !important;
    }

/* mezi:build:info-page-style */
/* INFORMATION：左カテゴリー（ALL / INFO 等）の文字サイズ（pc-tuning.json で調整） */
  body.is-info-page,
  body.is-info-article-page {
    --info-archive-category-font-size: 13px;
  }

  /* 記事詳細：調整用（大きいほど広い / 大きいほど文字・行間が広い） */
  body.is-info-article-page {
    --info-article-footer-gap: 96px;
    --info-article-body-font-size: 14px;
    --info-article-body-line-height: 2.15;
    /* MEZI STORE バッジ（グレー四角）内の微調整 */
    --info-shop-badge-max-width: 152px;
    --info-shop-badge-padding-top: 16px;
    --info-shop-badge-padding-x: 12px;
    --info-shop-badge-padding-bottom: 18px;
    --info-shop-badge-inner-gap: 14px;
    --info-shop-badge-text-size: 10px;
    --info-shop-badge-text-line-height: 1.65;
    --info-shop-badge-text-letter-spacing: 1px;
    --info-shop-badge-logo-width: 88px;
  }

  body.is-info-page .scroll-nav {
    transform: translateY(0) !important;
  }

  body.is-info-page .fv,
  body.is-info-page .info-to-about-spacer {
    display: none !important;
  }

  body.is-info-page .main > section:not(.info-archive-page):not(.info-detail-page) {
    display: none !important;
  }

  .info-archive-page {
    display: none;
    min-height: 100vh;
    padding: calc(48px + clamp(3.5rem, 6vw, 5rem)) clamp(1.5rem, 6vw, 6rem) 0;
    background: #fff;
  }

  body.is-info-page .info-archive-page {
    display: block !important;
  }

  body.is-info-article-page .info-archive-page {
    display: none !important;
  }

  .info-detail-page {
    display: none;
    min-height: 100vh;
    padding: calc(48px + clamp(3.5rem, 6vw, 5rem)) clamp(1.5rem, 6vw, 6rem) 0;
    background: #fff;
  }

  body.is-info-article-page .info-detail-page {
    display: block !important;
    padding-bottom: var(--info-article-footer-gap);
  }

  .info-detail__inner {
    display: grid;
    grid-template-columns: 12rem minmax(0, 43rem);
    gap: clamp(3rem, 7vw, 7rem);
    width: min(100%, 72rem);
    margin: 0 auto;
  }

  .info-detail__side {
    position: sticky;
    top: calc(48px + 3rem);
    align-self: start;
  }

  .info-detail__shop-badge {
    display: grid;
    gap: var(--info-shop-badge-inner-gap);
    justify-items: center;
    width: 100%;
    max-width: var(--info-shop-badge-max-width);
    margin-top: 2.2rem;
    padding: var(--info-shop-badge-padding-top) var(--info-shop-badge-padding-x) var(--info-shop-badge-padding-bottom);
    background: #1a1a1a;
    color: #fff;
    text-align: center;
    transition: opacity 0.2s ease;
  }

  .info-detail__shop-badge > span {
    font-size: var(--info-shop-badge-text-size);
    line-height: var(--info-shop-badge-text-line-height);
    letter-spacing: var(--info-shop-badge-text-letter-spacing);
  }

  .info-detail__shop-badge[hidden] {
    display: none !important;
  }

  .info-detail__shop-badge:hover,
  .info-detail__shop-badge:focus-visible {
    opacity: 0.75;
  }

  .info-detail__shop-badge-logo {
    width: var(--info-shop-badge-logo-width);
    height: auto;
  }

  .info-detail__article {
    width: 100%;
    min-width: 0;
  }

  .info-detail__header {
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
  }

  .info-detail__meta {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1.3rem;
    font-family: "Roboto Flex", "Helvetica Neue", Arial, sans-serif;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.12em;
    color: #767676;
  }

  .info-detail__header h1 {
    font-size: 23px;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.06em;
  }

  .info-detail__image {
    display: block;
    width: 100%;
    aspect-ratio: 1.72 / 1;
    object-fit: cover;
    margin-top: 0.35rem;
  }

  .info-detail__image + .info-detail__image {
    margin-top: 0.7rem;
  }

  .info-detail__article p {
    margin: 0;
    font-size: var(--info-article-body-font-size);
    line-height: var(--info-article-body-line-height);
    letter-spacing: 0.07em;
  }

  .info-detail__image + p {
    padding-top: 1.6rem;
  }

  .info-detail__article p:has(+ .info-detail__image) {
    padding-bottom: 1.6rem;
  }

  .info-archive__inner {
    display: grid;
    grid-template-columns: 12rem minmax(0, 1fr);
    gap: clamp(3rem, 7vw, 7rem);
    width: min(100%, 72rem);
    margin: 0 auto;
  }

  .info-archive__side h1 {
    font-family: "Roboto Flex", "Helvetica Neue", Arial, sans-serif;
    font-size: var(--section-eyebrow-font-size, 12px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.24em;
  }

  .info-archive__categories {
    display: grid;
    gap: 1.55rem;
    margin-top: 5rem;
    font-family: "Roboto Flex", "Helvetica Neue", Arial, sans-serif;
    font-size: var(--info-archive-category-font-size);
    font-weight: 420;
    letter-spacing: 0.12em;
  }

  .info-archive__categories a {
    color: #cfcfcf;
    transition: color 0.2s ease;
  }

  .info-archive__categories a:hover,
  .info-archive__categories a:focus-visible,
  .info-archive__categories a[aria-current="page"] {
    color: #1a1a1a;
  }

  .info-archive__main {
    min-width: 0;
  }

  .info-archive__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(4rem, 7vw, 6rem) clamp(2.5rem, 5vw, 4rem);
  }

  .info-archive-card {
    display: block;
    transition: opacity 0.2s ease;
  }

  .info-archive-card[hidden] {
    display: none !important;
  }

  .info-archive-card:hover,
  .info-archive-card:focus-visible {
    opacity: 0.7;
  }

  .info-archive-card__image {
    position: relative;
    display: block;
    aspect-ratio: 1.55 / 1;
    background-color: #e9e8e4;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }

  .info-archive-card__badge {
    position: absolute;
    right: 0;
    bottom: 0;
    display: inline-block;
    padding: 0.18rem 0.5rem;
    background: #1a1a1a;
    color: #fff;
    font-family: "Roboto Flex", "Helvetica Neue", Arial, sans-serif;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.08em;
  }

  .info-archive-card__meta {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-top: 1.15rem;
    font-family: "Roboto Flex", "Helvetica Neue", Arial, sans-serif;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.12em;
    color: #767676;
  }

  .info-archive-card__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.5rem;
    height: 1rem;
    padding: 0 0.45rem;
    background: #eeeeee;
    color: #1a1a1a;
    font-size: 0;
    font-weight: 500;
    line-height: 1;
  }

  .info-archive-card__tag::before {
    content: attr(data-label);
    font-size: 9.5px;
    letter-spacing: 0.16em;
    transform: translate(1px, 0.5px);
  }

  .info-archive-card__title {
    display: block;
    margin-top: 0.75rem;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.06em;
  }

  .info-archive-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.4rem, 3vw, 2.4rem);
    width: 100%;
    padding: clamp(4.8rem, 9vw, 8rem) 0 clamp(7rem, 13vw, 11rem);
    font-family: "Roboto Flex", "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
    letter-spacing: 0.08em;
  }

  .info-archive-pagination[hidden] {
    display: none !important;
  }

  .info-archive-pagination button {
    border: none;
    background: none;
    cursor: pointer;
    color: #aaaaaa;
    font: inherit;
    letter-spacing: inherit;
    transition: color 0.2s ease;
  }

  .info-archive-pagination button:hover,
  .info-archive-pagination button:focus-visible,
  .info-archive-pagination button.is-current {
    color: #1a1a1a;
  }

  .info-archive-pagination button:disabled {
    opacity: 0.35;
    cursor: default;
  }

  .info-archive-pagination button.is-current:disabled {
    opacity: 1;
    color: #1a1a1a;
    cursor: default;
  }

  .info-archive-pagination .works-pagination__arrow {
    position: relative;
    display: block;
    width: 17px;
    height: 20px;
    color: #aaaaaa;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-size: 18px 1px;
    background-position: left 50%;
  }

  .info-archive-pagination .works-pagination__arrow::before,
  .info-archive-pagination .works-pagination__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 10px;
    height: 1px;
    background: currentColor;
    transform-origin: left center;
  }

  .info-archive-pagination .works-pagination__arrow::before {
    transform: translateY(-50%) rotate(-45deg);
  }

  .info-archive-pagination .works-pagination__arrow::after {
    transform: translateY(-50%) rotate(45deg);
  }

  .info-archive-pagination .works-pagination__arrow--next {
    background-position: right 50%;
  }

  .info-archive-pagination .works-pagination__arrow--next::before,
  .info-archive-pagination .works-pagination__arrow--next::after {
    right: 0;
    left: auto;
    transform-origin: right center;
  }

  .info-archive-pagination .works-pagination__arrow--next::before {
    transform: translateY(-50%) rotate(45deg);
  }

  .info-archive-pagination .works-pagination__arrow--next::after {
    transform: translateY(-50%) rotate(-45deg);
  }

  /* SP：記事一覧・記事詳細（1カラム・全幅・sp-tuning.json で間隔調整） */
  @media (max-width: 640px) {
    :root {
      /* 初期値（sp-tuning.json が body.is-info-page 側で上書き） */
      --sp-info-archive-title-to-categories-gap: 20px;
      --sp-info-archive-categories-to-grid-gap: 32px;
      --sp-info-archive-card-gap: 40px;
      --sp-info-archive-pagination-gap-top: 36px;
      --sp-info-article-categories-to-content-gap: 32px;
      --sp-info-archive-meta-to-title-gap: 10px;
      --sp-info-article-meta-to-title-gap: 12px;
      --sp-info-article-block-gap: 1.6rem;
      --sp-info-article-body-font-size: 14px;
      --sp-info-article-body-line-height: 2;
    }

    body.is-info-page,
    body.is-info-article-page {
      --info-archive-inner-w: 100%;
      --info-archive-side-w: 100%;
      --info-archive-side-gap: 0;
      --info-archive-grid-gap-x: 0;
    }

    body.is-info-page .info-archive-page,
    body.is-info-article-page .info-detail-page {
      padding: calc(48px + 2.5rem) var(--sp-content-pad-x, 25px) 0;
    }

    .info-archive__inner,
    .info-detail__inner {
      display: grid;
      grid-template-columns: 1fr;
      width: 100%;
      max-width: 100%;
      margin: 0;
    }

    body.is-info-page .info-archive__inner {
      gap: var(--sp-info-archive-categories-to-grid-gap);
    }

    body.is-info-article-page .info-detail__inner {
      gap: var(--sp-info-article-categories-to-content-gap);
    }

    .info-archive__side,
    .info-detail__side {
      position: static;
      top: auto;
      align-self: auto;
    }

    .info-archive__categories {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.85rem 1.4rem;
      margin-top: var(--sp-info-archive-title-to-categories-gap);
    }

    .info-archive__grid {
      grid-template-columns: 1fr;
      gap: var(--sp-info-archive-card-gap);
    }

    .info-archive-card__title {
      margin-top: var(--sp-info-archive-meta-to-title-gap);
      font-size: 15px;
      line-height: 1.65;
      word-break: break-word;
    }

    .info-detail__meta {
      margin-bottom: var(--sp-info-article-meta-to-title-gap);
    }

    .info-detail__image {
      margin-top: 0;
    }

    .info-detail__header + .info-detail__image {
      margin-top: 0.35rem;
    }

    .info-detail__image + .info-detail__image {
      margin-top: var(--sp-info-article-block-gap);
    }

    .info-detail__image + p {
      margin-top: 0;
      padding-top: var(--sp-info-article-block-gap);
    }

    .info-detail__article p:has(+ .info-detail__image) {
      padding-bottom: var(--sp-info-article-block-gap);
    }

    p + .info-detail__image {
      margin-top: 0;
    }

    .info-detail__article p {
      margin: 0;
      padding-left: 0;
      padding-right: 0;
    }

    .info-detail__header {
      margin-bottom: 1.75rem;
    }

    .info-detail__header h1 {
      font-size: 18px;
      line-height: 1.65;
      letter-spacing: 0.05em;
    }

    .info-detail__article p {
      font-size: var(--sp-info-article-body-font-size);
      line-height: var(--sp-info-article-body-line-height);
      letter-spacing: 0.05em;
    }

    .info-detail__shop-badge {
      margin-top: 1.5rem;
      width: 100%;
      max-width: min(100%, 280px);
    }

    .info-archive-pagination {
      gap: 1rem;
      padding: var(--sp-info-archive-pagination-gap-top) 0 3.5rem;
      font-size: 14px;
    }

    body.is-info-article-page .info-detail-page {
      padding-bottom: 4rem;
    }
  }
/* /mezi:build:info-page-style */

/* mezi:build:contact-page-tuning */

body.is-contact-page,
  body.is-contact-complete,
  body.mezi-contact-complete-preview-active {
    --contact-complete-heading-size: 17px;
    --contact-complete-message-size: 16px;
    --contact-complete-message-line-height: 2;
    --contact-complete-title-gap: 28px;
    --contact-complete-message-gap: 56px;
    --contact-complete-block-shift: -64px;
    --contact-complete-back-width: 140px;
    --contact-complete-back-height: 44px;
    --contact-complete-back-font-size: 13.5px;
    --contact-complete-back-padding-x: 16px;
    --contact-complete-back-letter-spacing: 0.06em;
    --contact-complete-back-offset-x: 0px;
    --contact-complete-back-offset-y: 0px;
  }

  body.is-contact-page,
  main.contact-page {
    --contact-page-bg: #f2f2f2;
    --contact-form-max-width: 800px;
    --contact-title-margin-bottom: 32px;
    --contact-label-size: 13.5px;
    --contact-name-label-size: var(--contact-label-size);
    --contact-email-label-size: var(--contact-label-size);
    --contact-tel-label-size: var(--contact-label-size);
    --contact-inquiry-label-size: var(--contact-label-size);
    --contact-required-label-size: var(--contact-label-size);
    --contact-label-to-input: 10px;
    --contact-name-height: 60px;
    --contact-email-height: 60px;
    --contact-tel-height: 60px;
    --contact-inquiry-height: 300px;
    --contact-input-font-size: 14.5px;
    --contact-inquiry-line-height: 1.55;
    --contact-name-padding-x: 18px;
    --contact-name-padding-top: 27px;
    --contact-name-padding-bottom: 28px;
    --contact-email-padding-x: 18px;
    --contact-email-padding-top: 27px;
    --contact-email-padding-bottom: 28px;
    --contact-tel-padding-x: 18px;
    --contact-tel-padding-top: 27px;
    --contact-tel-padding-bottom: 28px;
    --contact-inquiry-padding-x: 14px;
    --contact-inquiry-padding-y: 14px;
    --contact-gap-email: 28px;
    --contact-gap-email-confirm: 28px;
    --contact-gap-tel: 28px;
    --contact-gap-inquiry: 28px;
    --contact-required-color: #d93025;
    --contact-submit-bg: #444444;
    --contact-submit-width: 140px;
    --contact-submit-label: "送 信";
    --contact-submit-height: 44px;
    --contact-submit-font-size: 13.5px;
    --contact-submit-line-height: 1;
    --contact-submit-letter-spacing: 0.24em;
    --contact-submit-padding-x: 16px;
    --contact-submit-text-offset-y: -1px;
    --contact-submit-margin-top: 40px;
    --contact-footer-gap: 72px;
    --contact-complete-text-size: 16px;
    background: var(--contact-page-bg) !important;
  }

  main.contact-page .contact-page__content #ShopInquiryName,
  main.contact-page .contact-page__content #ShopInquiryMailAddress,
  main.contact-page .contact-page__content #meziShopInquiryMailAddressConfirm,
  main.contact-page .contact-page__content #ShopInquiryTel,
  body.is-contact-page .contact-page__content #ShopInquiryName,
  body.is-contact-page .contact-page__content #ShopInquiryMailAddress,
  body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm,
  body.is-contact-page .contact-page__content #ShopInquiryTel {
    line-height: normal !important;
  }

  main.contact-page .contact-page__content #ShopInquiryName,
  body.is-contact-page .contact-page__content #ShopInquiryName {
    height: var(--contact-name-height) !important;
    padding-top: var(--contact-name-padding-top) !important;
    padding-right: var(--contact-name-padding-x) !important;
    padding-bottom: var(--contact-name-padding-bottom) !important;
    padding-left: var(--contact-name-padding-x) !important;
  }

  main.contact-page .contact-page__content #ShopInquiryMailAddress,
  main.contact-page .contact-page__content #meziShopInquiryMailAddressConfirm,
  body.is-contact-page .contact-page__content #ShopInquiryMailAddress,
  body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm {
    height: var(--contact-email-height) !important;
    padding-top: var(--contact-email-padding-top) !important;
    padding-right: var(--contact-email-padding-x) !important;
    padding-bottom: var(--contact-email-padding-bottom) !important;
    padding-left: var(--contact-email-padding-x) !important;
  }

  main.contact-page .contact-page__content #ShopInquiryTel,
  body.is-contact-page .contact-page__content #ShopInquiryTel {
    height: var(--contact-tel-height) !important;
    padding-top: var(--contact-tel-padding-top) !important;
    padding-right: var(--contact-tel-padding-x) !important;
    padding-bottom: var(--contact-tel-padding-bottom) !important;
    padding-left: var(--contact-tel-padding-x) !important;
  }

  main.contact-page .contact-page__content #ShopInquiryInquiry,
  body.is-contact-page .contact-page__content #ShopInquiryInquiry {
    height: var(--contact-inquiry-height) !important;
    min-height: var(--contact-inquiry-height) !important;
    line-height: var(--contact-inquiry-line-height) !important;
    padding-top: var(--contact-inquiry-padding-y) !important;
    padding-right: var(--contact-inquiry-padding-x) !important;
    padding-bottom: var(--contact-inquiry-padding-y) !important;
    padding-left: var(--contact-inquiry-padding-x) !important;
    resize: none;
  }

  body:not(.is-contact-complete) main.contact-page .contact-page__content .inquirySection .control-panel #buttonLeave,
  body:not(.is-contact-complete) main.contact-page .contact-page__content #inquiryInputSection .control-panel #buttonLeave,
  body:not(.is-contact-complete) main.contact-page .contact-page__content .inquirySection #buttonLeave,
  body:not(.is-contact-complete) main.contact-page .contact-page__content #inquiryInputSection #buttonLeave,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content .inquirySection .control-panel #buttonLeave,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection .control-panel #buttonLeave,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content .inquirySection #buttonLeave,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection #buttonLeave {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--contact-submit-width) !important;
    height: var(--contact-submit-height) !important;
    min-height: var(--contact-submit-height) !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--contact-submit-bg) !important;
    color: #fff !important;
    font-family: "Noto Sans JP", "Helvetica Neue", sans-serif !important;
    font-size: var(--contact-submit-font-size) !important;
    font-weight: 400 !important;
    padding-right: var(--contact-submit-padding-x) !important;
    padding-bottom: 0 !important;
    padding-left: var(--contact-submit-padding-x) !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  body:not(.is-contact-complete) main.contact-page .contact-page__content .inquirySection .control-panel #buttonLeave .mezi-contact-submit-label,
  body:not(.is-contact-complete) main.contact-page .contact-page__content #inquiryInputSection .control-panel #buttonLeave .mezi-contact-submit-label,
  body:not(.is-contact-complete) main.contact-page .contact-page__content .inquirySection #buttonLeave .mezi-contact-submit-label,
  body:not(.is-contact-complete) main.contact-page .contact-page__content #inquiryInputSection #buttonLeave .mezi-contact-submit-label,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content .inquirySection .control-panel #buttonLeave .mezi-contact-submit-label,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection .control-panel #buttonLeave .mezi-contact-submit-label,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content .inquirySection #buttonLeave .mezi-contact-submit-label,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection #buttonLeave .mezi-contact-submit-label {
    display: inline-block;
    color: inherit !important;
    letter-spacing: var(--contact-submit-letter-spacing) !important;
    transform: translateY(var(--contact-submit-text-offset-y));
  }

  @media (max-width: 640px) {
    body.is-contact-page,
    main.contact-page {
      --contact-title-margin-bottom: 32px;
      --contact-gap-email: 28px;
      --contact-gap-email-confirm: 28px;
      --contact-gap-tel: 28px;
      --contact-gap-inquiry: 28px;
      --contact-submit-margin-top: 40px;
      --contact-footer-gap: 72px;
    }

    main.contact-page,
    body.is-contact-page .contact-page {
      padding-left: var(--sp-content-pad-x, 25px);
      padding-right: var(--sp-content-pad-x, 25px);
    }

    main.contact-page .contact-page__content .inquirySection input:not([type="hidden"]):not([type="submit"]),
    main.contact-page .contact-page__content .inquirySection textarea,
    main.contact-page .contact-page__content #inquiryInputSection input:not([type="hidden"]):not([type="submit"]),
    main.contact-page .contact-page__content #inquiryInputSection textarea,
    body.is-contact-page .contact-page__content .inquirySection input:not([type="hidden"]):not([type="submit"]),
    body.is-contact-page .contact-page__content .inquirySection textarea,
    body.is-contact-page .contact-page__content #inquiryInputSection input:not([type="hidden"]):not([type="submit"]),
    body.is-contact-page .contact-page__content #inquiryInputSection textarea,
    main.contact-page .contact-page__content #ShopInquiryName,
    main.contact-page .contact-page__content #ShopInquiryMailAddress,
    main.contact-page .contact-page__content #meziShopInquiryMailAddressConfirm,
    main.contact-page .contact-page__content #ShopInquiryTel,
    main.contact-page .contact-page__content #ShopInquiryInquiry,
    body.is-contact-page .contact-page__content #ShopInquiryName,
    body.is-contact-page .contact-page__content #ShopInquiryMailAddress,
    body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm,
    body.is-contact-page .contact-page__content #ShopInquiryTel,
    body.is-contact-page .contact-page__content #ShopInquiryInquiry {
      border: 0 !important;
      border-width: 0 !important;
      outline: none !important;
      outline-width: 0 !important;
      box-shadow: none !important;
      -webkit-box-shadow: none !important;
      -webkit-appearance: none !important;
      appearance: none !important;
    }
  }

/* /mezi:build:contact-page-tuning */

/* mezi:build:contact-page-style */
body:has(main.contact-page) .scroll-nav, body.is-contact-page .scroll-nav {
    transform: translateY(0) !important;
  }

  main.contact-page, body.is-contact-page .contact-page {
    min-height: 100vh;
    padding: calc(48px + clamp(3.5rem, 6vw, 5rem)) clamp(1.5rem, 6rem) clamp(4rem, 8vw, 6rem);
    background: var(--contact-page-bg) !important;
    color: #1a1a1a;
  }

  main.contact-page .contact-page__inner, body.is-contact-page .contact-page__inner {
    width: min(100%, 68rem);
    margin: 0 auto;
  }

  main.contact-page .contact-page__title, body.is-contact-page .contact-page__title {
    margin: 0 0 var(--contact-title-margin-bottom);
    font-family: "Roboto Flex", "Helvetica Neue", Arial, sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.24em;
    text-transform: uppercase;
  }

  main.contact-page .contact-page__content , body.is-contact-page .contact-page__content , body.is-contact-page .contact-page__content {
    width: min(100%, var(--contact-form-max-width));
    margin: 0 auto;
  }

  main.contact-page .contact-page__content .main , body.is-contact-page .contact-page__content .main , body.is-contact-page .contact-page__content .main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  main.contact-page .contact-page__content .inquirySection,
  main.contact-page .contact-page__content #inquiryInputSection,
  main.contact-page .contact-page__content #ShopInquiryInquiryForm,
  body.is-contact-page .contact-page__content .inquirySection,
  body.is-contact-page .contact-page__content #inquiryInputSection,
  body.is-contact-page .contact-page__content #ShopInquiryInquiryForm {
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent !important;
    border: 0;
  }

  /* BASE既定の contact 見出し・説明文を非表示 */
  main.contact-page .contact-page__content .inquirySection > h1,
  main.contact-page .contact-page__content .inquirySection > p,
  body.is-contact-page .contact-page__content .inquirySection > h1,
  body.is-contact-page .contact-page__content .inquirySection > p {
    display: none !important;
  }

  body:not(.is-contact-complete) main.contact-page .contact-page__content #inquiryConfirmSection,
  body:not(.is-contact-complete) main.contact-page .contact-page__content #inquiryCompleteSection,
  body:not(.is-contact-complete) .contact-page__content #inquiryConfirmSection,
  body:not(.is-contact-complete) .contact-page__content #inquiryCompleteSection,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryConfirmSection,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryCompleteSection {
    display: none !important;
  }

  body:not(.is-contact-complete) main.contact-page .contact-page__content #inquiryInputSection,
  body:not(.is-contact-complete) .contact-page__content #inquiryInputSection,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection {
    display: block !important;
  }

  body:not(.is-contact-complete) main.contact-page .contact-page__content .control-panel , body.is-contact-page .contact-page__content .control-panel , body:not(.is-contact-complete) .contact-page__content .control-panel {
    display: flex !important;
    justify-content: center !important;
    width: 100%;
  }

  body:not(.is-contact-complete) main.contact-page .contact-page__content .control-panel:has(> input#buttonLeave[type="submit"]) , body.is-contact-page .contact-page__content .control-panel:has(> input#buttonLeave[type="submit"]) , body:not(.is-contact-complete) .contact-page__content .control-panel:has(> input#buttonLeave[type="submit"]) {
    position: relative;
  }

  body:not(.is-contact-complete) main.contact-page .contact-page__content .control-panel:has(> input#buttonLeave[type="submit"])::after , body.is-contact-page .contact-page__content .control-panel:has(> input#buttonLeave[type="submit"])::after , body:not(.is-contact-complete) .contact-page__content .control-panel:has(> input#buttonLeave[type="submit"])::after {
    content: var(--contact-submit-label, "送 信");
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, calc(-50% + var(--contact-submit-text-offset-y, -1px)));
    font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
    font-size: var(--contact-submit-font-size, 13.5px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: var(--contact-submit-letter-spacing, 0.24em);
    color: #fff;
    pointer-events: none;
    white-space: nowrap;
  }

  body:not(.is-contact-complete) main.contact-page .contact-page__content input#buttonLeave[type="submit"] , body.is-contact-page .contact-page__content input#buttonLeave[type="submit"] , body:not(.is-contact-complete) .contact-page__content input#buttonLeave[type="submit"] {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
  }

  body:not(.is-contact-complete) main.contact-page .contact-page__content button#buttonLeave:not(:has(.mezi-contact-submit-label)) , body.is-contact-page .contact-page__content button#buttonLeave:not(:has(.mezi-contact-submit-label)) , body:not(.is-contact-complete) .contact-page__content button#buttonLeave:not(:has(.mezi-contact-submit-label)) {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
  }

  body:not(.is-contact-complete) main.contact-page .contact-page__content button#buttonLeave:not(:has(.mezi-contact-submit-label))::after , body.is-contact-page .contact-page__content button#buttonLeave:not(:has(.mezi-contact-submit-label))::after , body:not(.is-contact-complete) .contact-page__content button#buttonLeave:not(:has(.mezi-contact-submit-label))::after {
    content: var(--contact-submit-label, "送 信");
    font-size: var(--contact-submit-font-size, 13.5px);
    line-height: 1;
    color: #fff;
    letter-spacing: var(--contact-submit-letter-spacing, 0.24em);
    transform: translateY(var(--contact-submit-text-offset-y, -1px));
  }

  main.contact-page .contact-page__content dt:has(+ dd #ShopInquiryTitle), body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryTitle),
  main.contact-page .contact-page__content dd:has(> #ShopInquiryTitle), body.is-contact-page .contact-page__content dd:has(> #ShopInquiryTitle),
  main.contact-page .contact-page__content dd:has(> #ShopInquiryTitle) + dd, body.is-contact-page .contact-page__content dd:has(> #ShopInquiryTitle) + dd,
  main.contact-page .contact-page__content dt:has(+ dd #ShopInquiryEnteredUniqueKey), body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryEnteredUniqueKey),
  main.contact-page .contact-page__content dd:has(> #ShopInquiryEnteredUniqueKey), body.is-contact-page .contact-page__content dd:has(> #ShopInquiryEnteredUniqueKey),
  main.contact-page .contact-page__content dd:has(> #ShopInquiryEnteredUniqueKey) + dd , body.is-contact-page .contact-page__content dd:has(> #ShopInquiryEnteredUniqueKey) + dd , body.is-contact-page .contact-page__content dd:has(> #ShopInquiryEnteredUniqueKey) + dd {
    display: none !important;
  }

  main.contact-page .contact-page__content dl , body.is-contact-page .contact-page__content dl , body.is-contact-page .contact-page__content dl {
    margin: 0;
    padding: 0;
  }

  main.contact-page .contact-page__content dt:has(+ dd #ShopInquiryName) , body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryName) , body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryName) { font-size: var(--contact-name-label-size); }
  main.contact-page .contact-page__content dt:has(+ dd #ShopInquiryMailAddress) , body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryMailAddress) , body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryMailAddress) { margin-top: var(--contact-gap-email); font-size: var(--contact-email-label-size); }
  main.contact-page .contact-page__content dt:has(+ dd #meziShopInquiryMailAddressConfirm),
  body.is-contact-page .contact-page__content dt:has(+ dd #meziShopInquiryMailAddressConfirm) {
    margin-top: var(--contact-gap-email-confirm, var(--contact-gap-email));
    font-size: var(--contact-email-label-size);
  }
  main.contact-page .contact-page__content dt:has(+ dd #ShopInquiryTel) , body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryTel) , body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryTel) { margin-top: var(--contact-gap-tel); font-size: var(--contact-tel-label-size); }
  main.contact-page .contact-page__content dt:has(+ dd #ShopInquiryInquiry) , body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryInquiry) , body.is-contact-page .contact-page__content dt:has(+ dd #ShopInquiryInquiry) { margin-top: var(--contact-gap-inquiry); font-size: var(--contact-inquiry-label-size); }

  main.contact-page .contact-page__content dt , body.is-contact-page .contact-page__content dt , body.is-contact-page .contact-page__content dt {
    margin: 0 0 var(--contact-label-to-input);
    font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
    font-size: var(--contact-label-size);
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.06em;
    color: #1a1a1a;
  }

  main.contact-page .contact-page__content dt:first-child , body.is-contact-page .contact-page__content dt:first-child , body.is-contact-page .contact-page__content dt:first-child {
    margin-top: 0 !important;
  }

  main.contact-page .contact-page__content dt span.mezi-contact-required , body.is-contact-page .contact-page__content dt span.mezi-contact-required , body.is-contact-page .contact-page__content dt span.mezi-contact-required {
    font-size: var(--contact-required-label-size);
    color: var(--contact-required-color);
  }

  main.contact-page .contact-page__content dt span.mezi-contact-required::before , body.is-contact-page .contact-page__content dt span.mezi-contact-required::before , body.is-contact-page .contact-page__content dt span.mezi-contact-required::before {
    content: " ";
  }

  main.contact-page .contact-page__content dd , body.is-contact-page .contact-page__content dd , body.is-contact-page .contact-page__content dd {
    margin: 0;
    padding: 0;
  }

  main.contact-page .contact-page__content .mezi-contact-form-error-summary, body.is-contact-page .contact-page__content .mezi-contact-form-error-summary,
  main.contact-page .contact-page__content .mezi-contact-form-error-summary, body.is-contact-page .contact-page__content .mezi-contact-form-error-summary {
    display: none;
    scroll-margin-top: 120px;
    margin: 0 0 var(--contact-gap-email);
    padding: 0;
    font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
    font-size: var(--contact-label-size);
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.06em;
    color: var(--contact-required-color);
  }

  main.contact-page .contact-page__content .mezi-contact-form-error-summary.is-visible, body.is-contact-page .contact-page__content .mezi-contact-form-error-summary.is-visible,
  main.contact-page .contact-page__content .mezi-contact-form-error-summary.is-visible, body.is-contact-page .contact-page__content .mezi-contact-form-error-summary.is-visible {
    display: block;
  }

  main.contact-page .contact-page__content .mezi-contact-form-error-summary.is-layout-only, body.is-contact-page .contact-page__content .mezi-contact-form-error-summary.is-layout-only,
  main.contact-page .contact-page__content .mezi-contact-form-error-summary.is-layout-only, body.is-contact-page .contact-page__content .mezi-contact-form-error-summary.is-layout-only {
    visibility: hidden;
  }

  main.contact-page .contact-page__content .mezi-contact-field-error, body.is-contact-page .contact-page__content .mezi-contact-field-error,
  main.contact-page .contact-page__content .mezi-contact-field-error, body.is-contact-page .contact-page__content .mezi-contact-field-error {
    display: none;
    margin: 10px 0 0;
    padding: 0;
    font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
    font-size: var(--contact-label-size);
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.06em;
    color: var(--contact-required-color);
  }

  main.contact-page .contact-page__content .mezi-contact-field-error.is-visible, body.is-contact-page .contact-page__content .mezi-contact-field-error.is-visible,
  main.contact-page .contact-page__content .mezi-contact-field-error.is-visible, body.is-contact-page .contact-page__content .mezi-contact-field-error.is-visible {
    display: block !important;
    visibility: visible !important;
  }

  main.contact-page .contact-page__content dt.is-field-error, body.is-contact-page .contact-page__content dt.is-field-error,
  main.contact-page .contact-page__content dt.is-field-error, body.is-contact-page .contact-page__content dt.is-field-error {
    color: var(--contact-required-color) !important;
  }

  main.contact-page .contact-page__content dt.is-field-error span, body.is-contact-page .contact-page__content dt.is-field-error span,
  main.contact-page .contact-page__content dt.is-field-error span, body.is-contact-page .contact-page__content dt.is-field-error span {
    color: inherit !important;
  }

  main.contact-page .contact-page__content dd.error:empty, body.is-contact-page .contact-page__content dd.error:empty,
  main.contact-page .contact-page__content dd.ma-b20:empty , body.is-contact-page .contact-page__content dd.ma-b20:empty , body.is-contact-page .contact-page__content dd.ma-b20:empty {
    display: none !important;
  }

  main.contact-page .contact-page__content .clear , body.is-contact-page .contact-page__content .clear , body.is-contact-page .contact-page__content .clear {
    display: none;
  }

  main.contact-page .contact-page__content #ShopInquiryInquiryForm input:not([type="hidden"]):not([type="submit"]), body.is-contact-page .contact-page__content #ShopInquiryInquiryForm input:not([type="hidden"]):not([type="submit"]),
  main.contact-page .contact-page__content #ShopInquiryInquiryForm textarea, body.is-contact-page .contact-page__content #ShopInquiryInquiryForm textarea,
  main.contact-page .contact-page__content input[type="text"], body.is-contact-page .contact-page__content input[type="text"],
  main.contact-page .contact-page__content input[type="email"], body.is-contact-page .contact-page__content input[type="email"],
  main.contact-page .contact-page__content input[type="tel"], body.is-contact-page .contact-page__content input[type="tel"],
  main.contact-page .contact-page__content textarea, body.is-contact-page .contact-page__content textarea,
  main.contact-page .contact-page__content #ShopInquiryName, body.is-contact-page .contact-page__content #ShopInquiryName,
  main.contact-page .contact-page__content #ShopInquiryMailAddress, body.is-contact-page .contact-page__content #ShopInquiryMailAddress,
  main.contact-page .contact-page__content #meziShopInquiryMailAddressConfirm, body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm,
  main.contact-page .contact-page__content #ShopInquiryTel, body.is-contact-page .contact-page__content #ShopInquiryTel,
  main.contact-page .contact-page__content #ShopInquiryInquiry , body.is-contact-page .contact-page__content #ShopInquiryInquiry , body.is-contact-page .contact-page__content #ShopInquiryInquiry {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-width: 0 !important;
    border-radius: 0 !important;
    outline: none !important;
    outline-width: 0 !important;
    background: #fff !important;
    color: #1a1a1a !important;
    font-family: "Noto Sans JP", "Helvetica Neue", sans-serif !important;
    font-size: var(--contact-input-font-size) !important;
    letter-spacing: 0.04em;
    box-sizing: border-box !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    appearance: none;
    -webkit-appearance: none;
  }

  main.contact-page .contact-page__content .inquirySection input:not([type="hidden"]):not([type="submit"]),
  main.contact-page .contact-page__content .inquirySection textarea,
  main.contact-page .contact-page__content #inquiryInputSection input:not([type="hidden"]):not([type="submit"]),
  main.contact-page .contact-page__content #inquiryInputSection textarea,
  body.is-contact-page .contact-page__content .inquirySection input:not([type="hidden"]):not([type="submit"]),
  body.is-contact-page .contact-page__content .inquirySection textarea,
  body.is-contact-page .contact-page__content #inquiryInputSection input:not([type="hidden"]):not([type="submit"]),
  body.is-contact-page .contact-page__content #inquiryInputSection textarea,
  main.contact-page .contact-page__content .inquirySection input:not([type="hidden"]):not([type="submit"]):focus,
  main.contact-page .contact-page__content .inquirySection textarea:focus,
  main.contact-page .contact-page__content #inquiryInputSection input:not([type="hidden"]):not([type="submit"]):focus,
  main.contact-page .contact-page__content #inquiryInputSection textarea:focus,
  body.is-contact-page .contact-page__content .inquirySection input:not([type="hidden"]):not([type="submit"]):focus,
  body.is-contact-page .contact-page__content .inquirySection textarea:focus,
  body.is-contact-page .contact-page__content #inquiryInputSection input:not([type="hidden"]):not([type="submit"]):focus,
  body.is-contact-page .contact-page__content #inquiryInputSection textarea:focus {
    border: 0 !important;
    border-width: 0 !important;
    outline: none !important;
    outline-width: 0 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
  }

  main.contact-page .contact-page__content #meziShopInquiryMailAddressConfirm , body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm , body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm {
    line-height: normal !important;
    height: var(--contact-email-height) !important;
    padding-top: var(--contact-email-padding-top) !important;
    padding-right: var(--contact-email-padding-x) !important;
    padding-bottom: var(--contact-email-padding-bottom) !important;
    padding-left: var(--contact-email-padding-x) !important;
  }

  main.contact-page .contact-page__content #ShopInquiryInquiryForm input:-webkit-autofill, body.is-contact-page .contact-page__content #ShopInquiryInquiryForm input:-webkit-autofill,
  main.contact-page .contact-page__content #ShopInquiryInquiryForm input:-webkit-autofill:hover, body.is-contact-page .contact-page__content #ShopInquiryInquiryForm input:-webkit-autofill:hover,
  main.contact-page .contact-page__content #ShopInquiryInquiryForm input:-webkit-autofill:focus, body.is-contact-page .contact-page__content #ShopInquiryInquiryForm input:-webkit-autofill:focus,
  main.contact-page .contact-page__content #ShopInquiryInquiryForm input:-webkit-autofill:active, body.is-contact-page .contact-page__content #ShopInquiryInquiryForm input:-webkit-autofill:active,
  main.contact-page .contact-page__content #ShopInquiryInquiryForm textarea:-webkit-autofill, body.is-contact-page .contact-page__content #ShopInquiryInquiryForm textarea:-webkit-autofill,
  main.contact-page .contact-page__content #ShopInquiryInquiryForm textarea:-webkit-autofill:hover, body.is-contact-page .contact-page__content #ShopInquiryInquiryForm textarea:-webkit-autofill:hover,
  main.contact-page .contact-page__content #ShopInquiryInquiryForm textarea:-webkit-autofill:focus, body.is-contact-page .contact-page__content #ShopInquiryInquiryForm textarea:-webkit-autofill:focus,
  main.contact-page .contact-page__content #ShopInquiryInquiryForm textarea:-webkit-autofill:active, body.is-contact-page .contact-page__content #ShopInquiryInquiryForm textarea:-webkit-autofill:active,
  main.contact-page .contact-page__content #ShopInquiryName:-webkit-autofill, body.is-contact-page .contact-page__content #ShopInquiryName:-webkit-autofill,
  main.contact-page .contact-page__content #ShopInquiryName:-webkit-autofill:hover, body.is-contact-page .contact-page__content #ShopInquiryName:-webkit-autofill:hover,
  main.contact-page .contact-page__content #ShopInquiryName:-webkit-autofill:focus, body.is-contact-page .contact-page__content #ShopInquiryName:-webkit-autofill:focus,
  main.contact-page .contact-page__content #ShopInquiryName:-webkit-autofill:active, body.is-contact-page .contact-page__content #ShopInquiryName:-webkit-autofill:active,
  main.contact-page .contact-page__content #ShopInquiryMailAddress:-webkit-autofill, body.is-contact-page .contact-page__content #ShopInquiryMailAddress:-webkit-autofill,
  main.contact-page .contact-page__content #ShopInquiryMailAddress:-webkit-autofill:hover, body.is-contact-page .contact-page__content #ShopInquiryMailAddress:-webkit-autofill:hover,
  main.contact-page .contact-page__content #ShopInquiryMailAddress:-webkit-autofill:focus, body.is-contact-page .contact-page__content #ShopInquiryMailAddress:-webkit-autofill:focus,
  main.contact-page .contact-page__content #ShopInquiryMailAddress:-webkit-autofill:active, body.is-contact-page .contact-page__content #ShopInquiryMailAddress:-webkit-autofill:active,
  main.contact-page .contact-page__content #meziShopInquiryMailAddressConfirm:-webkit-autofill, body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm:-webkit-autofill,
  main.contact-page .contact-page__content #meziShopInquiryMailAddressConfirm:-webkit-autofill:hover, body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm:-webkit-autofill:hover,
  main.contact-page .contact-page__content #meziShopInquiryMailAddressConfirm:-webkit-autofill:focus, body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm:-webkit-autofill:focus,
  main.contact-page .contact-page__content #meziShopInquiryMailAddressConfirm:-webkit-autofill:active, body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm:-webkit-autofill:active,
  main.contact-page .contact-page__content #ShopInquiryTel:-webkit-autofill, body.is-contact-page .contact-page__content #ShopInquiryTel:-webkit-autofill,
  main.contact-page .contact-page__content #ShopInquiryTel:-webkit-autofill:hover, body.is-contact-page .contact-page__content #ShopInquiryTel:-webkit-autofill:hover,
  main.contact-page .contact-page__content #ShopInquiryTel:-webkit-autofill:focus, body.is-contact-page .contact-page__content #ShopInquiryTel:-webkit-autofill:focus,
  main.contact-page .contact-page__content #ShopInquiryTel:-webkit-autofill:active, body.is-contact-page .contact-page__content #ShopInquiryTel:-webkit-autofill:active,
  main.contact-page .contact-page__content #ShopInquiryInquiry:-webkit-autofill, body.is-contact-page .contact-page__content #ShopInquiryInquiry:-webkit-autofill,
  main.contact-page .contact-page__content #ShopInquiryInquiry:-webkit-autofill:hover, body.is-contact-page .contact-page__content #ShopInquiryInquiry:-webkit-autofill:hover,
  main.contact-page .contact-page__content #ShopInquiryInquiry:-webkit-autofill:focus, body.is-contact-page .contact-page__content #ShopInquiryInquiry:-webkit-autofill:focus,
  main.contact-page .contact-page__content #ShopInquiryInquiry:-webkit-autofill:active, body.is-contact-page .contact-page__content #ShopInquiryInquiry:-webkit-autofill:active,
  main.contact-page .contact-page__content #ShopInquiryName:autofill, body.is-contact-page .contact-page__content #ShopInquiryName:autofill,
  main.contact-page .contact-page__content #ShopInquiryMailAddress:autofill, body.is-contact-page .contact-page__content #ShopInquiryMailAddress:autofill,
  main.contact-page .contact-page__content #meziShopInquiryMailAddressConfirm:autofill, body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm:autofill,
  main.contact-page .contact-page__content #ShopInquiryTel:autofill, body.is-contact-page .contact-page__content #ShopInquiryTel:autofill,
  main.contact-page .contact-page__content #ShopInquiryInquiry:autofill , body.is-contact-page .contact-page__content #ShopInquiryInquiry:autofill , body.is-contact-page .contact-page__content #ShopInquiryInquiry:autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #1a1a1a !important;
    caret-color: #1a1a1a !important;
    transition: background-color 99999s ease-out 0s;
  }

  main.contact-page .contact-page__content .control-panel , body.is-contact-page .contact-page__content .control-panel , body.is-contact-page .contact-page__content .control-panel {
    display: flex;
    justify-content: center;
    margin: var(--contact-submit-margin-top) 0 0;
    padding: 0;
    border: 0;
    background: transparent !important;
  }

  body.is-contact-page:not(.is-contact-complete) .contact-page__content .inquirySection .control-panel #buttonLeave:hover,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection .control-panel #buttonLeave:hover,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content .inquirySection #buttonLeave:hover,
  body.is-contact-page:not(.is-contact-complete) .contact-page__content #inquiryInputSection #buttonLeave:hover {
    opacity: 0.82;
  }

  main.contact-page .contact-page__content #inquiryConfirmSection dt b , body.is-contact-page .contact-page__content #inquiryConfirmSection dt b , body.is-contact-page .contact-page__content #inquiryConfirmSection dt b {
    font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
    font-size: 14px;
    line-height: 1.75;
    letter-spacing: 0.04em;
  }

  .mezi-contact-complete {
    display: none;
    width: 100%;
    text-align: center;
  }

  body.is-contact-complete .contact-page__inner {
    display: flex;
    flex-direction: column;
    flex: 1;
  }

  body.is-contact-complete .contact-page__content {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 48px - clamp(3.5rem, 6vw, 5rem) - var(--contact-footer-gap) - 6rem);
  }

  body.is-contact-complete .contact-page__content > .main,
  body.is-contact-complete .contact-page__content .inquirySection,
  body.is-contact-complete .contact-page__content #inquiryInputSection,
  body.is-contact-complete .contact-page__content #inquiryConfirmSection,
  body.is-contact-complete .contact-page__content #inquiryCompleteSection {
    display: none !important;
  }

  body.is-contact-complete .mezi-contact-form-error-summary {
    display: none !important;
  }

  body.is-contact-complete .mezi-contact-complete {
    display: block;
  }

  body.is-contact-complete .mezi-contact-complete__inner {
    transform: translateY(var(--contact-complete-block-shift, -64px));
  }

  body.is-contact-complete .mezi-contact-complete__title {
    margin: 0 0 var(--contact-complete-title-gap, 28px);
    font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
    font-size: var(--contact-complete-heading-size, var(--contact-complete-text-size, 16px));
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.04em;
    color: #1a1a1a;
  }

  body.is-contact-complete .mezi-contact-complete__message {
    margin: 0 0 var(--contact-complete-message-gap, 56px);
    font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
    font-size: var(--contact-complete-message-size, var(--contact-complete-text-size, 16px));
    font-weight: 400;
    line-height: var(--contact-complete-message-line-height, 2);
    letter-spacing: 0.04em;
    color: #1a1a1a;
  }

  body.is-contact-complete .mezi-contact-complete__back,
  body.mezi-contact-complete-preview-active .mezi-contact-complete__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--contact-complete-back-width, var(--contact-submit-width)) !important;
    height: var(--contact-complete-back-height, var(--contact-submit-height)) !important;
    min-height: var(--contact-complete-back-height, var(--contact-submit-height)) !important;
    margin: 0;
    margin-left: var(--contact-complete-back-offset-x, 0px) !important;
    padding-right: var(--contact-complete-back-padding-x, var(--contact-submit-padding-x));
    padding-bottom: 0;
    padding-left: var(--contact-complete-back-padding-x, var(--contact-submit-padding-x));
    border: 0;
    border-radius: 0;
    background: var(--contact-submit-bg);
    color: #fff;
    font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
    font-size: var(--contact-complete-back-font-size, var(--contact-submit-font-size)) !important;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
  }

  body.is-contact-complete .mezi-contact-complete__back .mezi-contact-complete-back-label,
  body.is-contact-complete .mezi-contact-complete__back .mezi-contact-submit-label,
  body.mezi-contact-complete-preview-active .mezi-contact-complete__back .mezi-contact-complete-back-label,
  body.mezi-contact-complete-preview-active .mezi-contact-complete__back .mezi-contact-submit-label {
    display: inline-block;
    color: inherit !important;
    letter-spacing: var(--contact-complete-back-letter-spacing, 0.06em) !important;
    transform: translateY(var(--contact-complete-back-offset-y, 0px)) !important;
  }

  body.is-contact-complete .mezi-contact-complete__back:hover {
    opacity: 0.82;
  }

  body.is-contact-complete .contact-page {
    display: flex;
    flex-direction: column;
  }

  .mezi-contact-complete-preview-root {
    display: none;
  }

  body.mezi-contact-complete-preview-active .mezi-contact-complete-preview-root {
    display: block !important;
    position: fixed;
    inset: 0;
    z-index: 2147483646;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    background: var(--contact-page-bg, #f2f2f2);
  }

  body.mezi-contact-complete-preview-active .mezi-contact-complete-preview-root[hidden] {
    display: block !important;
  }

  body.mezi-contact-complete-preview-active > .page {
    visibility: hidden;
  }

  body.mezi-contact-complete-preview-active .mezi-contact-complete-preview-root .contact-page {
    min-height: 100vh;
    padding: calc(48px + clamp(3.5rem, 6vw, 5rem)) clamp(1.5rem, 6rem) clamp(4rem, 8vw, 6rem);
    background: var(--contact-page-bg, #f2f2f2) !important;
  }

  body.mezi-contact-complete-preview-active .mezi-contact-complete-preview-root .contact-page__inner {
    width: min(100%, 68rem);
    margin: 0 auto;
  }

  body.mezi-contact-complete-preview-active .mezi-contact-complete-preview-root .contact-page__content {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    width: min(100%, var(--contact-form-max-width, 800px));
    margin: 0 auto;
    min-height: calc(100vh - 48px - clamp(3.5rem, 6vw, 5rem) - var(--contact-footer-gap, 140px) - 6rem);
  }

  body.is-contact-page .contact-page .footer {
    margin-top: var(--contact-footer-gap);
    padding-top: 0;
    background: var(--contact-page-bg) !important;
  }
/* /mezi:build:contact-page-style */

/* mezi:build:policy-page-style */
body.is-policy-page .scroll-nav {
    transform: translateY(0) !important;
  }

  .policy-page {
    min-height: 100vh;
    padding: calc(48px + clamp(3.5rem, 6vw, 5rem)) clamp(1.5rem, 6vw, 6rem) clamp(4rem, 8vw, 6rem);
    background: #fff;
    color: #1a1a1a;
  }

  .policy-page__inner {
    width: min(100%, 68rem);
    margin: 0 auto;
  }

  .policy-page__back {
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
    font-family: "Roboto Flex", "Helvetica Neue", Arial, sans-serif;
    font-size: 11px;
    letter-spacing: 0.12em;
  }

  .policy-page__title {
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
    font-family: "Roboto Flex", "Helvetica Neue", Arial, sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.24em;
  }

  .policy-page__content #privacy,
  .policy-page__content #law,
  .policy-page #privacy,
  .policy-page #law {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
    font-size: 14px;
    line-height: 1.75;
    letter-spacing: 0.04em;
    text-align: left;
    background: transparent;
    box-sizing: border-box;
  }

  .policy-page__content #privacy h2,
  .policy-page__content #law h2,
  .policy-page #privacy h2,
  .policy-page #law h2 {
    margin: 2.2rem 0 0.85rem;
    padding: 0;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.6;
    border: 0;
  }

  .policy-page__content #privacy h2:first-child,
  .policy-page__content #law h2:first-child,
  .policy-page #privacy h2:first-child,
  .policy-page #law h2:first-child {
    margin-top: 0;
  }

  .policy-page__content #privacy h3,
  .policy-page__content #privacy dt,
  .policy-page__content #law h3,
  .policy-page #privacy h3,
  .policy-page #privacy dt,
  .policy-page #law h3 {
    margin: 1.4rem 0 0.55rem;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.6;
  }

  .policy-page__content #privacy p,
  .policy-page__content #privacy li,
  .policy-page__content #law p,
  .policy-page__content #law li,
  .policy-page #privacy p,
  .policy-page #privacy li,
  .policy-page #law p,
  .policy-page #law li {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.04em;
  }

  .policy-page__content #privacy .privacy_intro,
  .policy-page #privacy .privacy_intro {
    margin-bottom: 1.5rem;
  }

  .policy-page__content #privacy ul,
  .policy-page__content #law ul,
  .policy-page #privacy ul,
  .policy-page #law ul {
    margin-top: 0.5rem;
    padding-left: 1.2rem;
  }

  .policy-page .footer {
    margin-top: clamp(4rem, 8vw, 6rem);
    padding-top: 0;
  }
/* /mezi:build:policy-page-style */

/* mezi:build:pc-tuning */
body#shopDetailPage #mainContent,body#shopDetailPage #mainContent.wrapper,body#shopDetailPage section#mainContent.wrapper,body#shopDetailPage section.wrapper.clearfix{background:#f2f2f2!important;background-color:#f2f2f2!important}@media (min-width:641px){:root{--pc-shop-category-title-size:1.5rem;--pc-store-hero-max-width:76rem;--pc-store-page-pad-top:4.5rem;--info-section-margin-top:3rem;--info-gap-between-items:1.55rem;--pc-product-category-nav-gap-below:7rem;--section-eyebrow-font-size:14px}body.is-info-page,body.is-info-article-page{--info-archive-category-font-size:13px}body#shopDetailPage{--pc-product-category-nav-gap-below:7rem}body#shopDetailPage .product-category-nav.shop-category-nav{margin-bottom:var(--pc-product-category-nav-gap-below)!important}body.is-info-article-page{--info-shop-badge-max-width:152px;--info-shop-badge-padding-top:16px;--info-shop-badge-padding-x:10.5px;--info-shop-badge-padding-bottom:23px;--info-shop-badge-inner-gap:13px;--info-shop-badge-text-size:12px;--info-shop-badge-text-line-height:1.65;--info-shop-badge-text-letter-spacing:1px;--info-shop-badge-logo-width:88px}body.is-contact-page{--contact-pc-narrow-padding-x:29px;--contact-pc-narrow-padding-top:22px;--contact-pc-narrow-padding-bottom:25.5px;--contact-pc-narrow-text-shift-y:0px;--contact-pc-narrow-text-nudge-y:1.3px;--contact-pc-inquiry-padding-x:29px;--contact-pc-inquiry-padding-top:24px;--contact-pc-inquiry-padding-bottom:24px;--contact-pc-inquiry-line-height:1.85}body.is-contact-page .contact-page__content #ShopInquiryName,body.is-contact-page .contact-page__content #ShopInquiryMailAddress,body.is-contact-page .contact-page__content #meziShopInquiryMailAddressConfirm,body.is-contact-page .contact-page__content #ShopInquiryTel{line-height:1!important;padding-top:calc(var(--contact-pc-narrow-padding-top) + var(--contact-pc-narrow-text-shift-y) + var(--contact-pc-narrow-text-nudge-y))!important;padding-right:var(--contact-pc-narrow-padding-x)!important;padding-bottom:var(--contact-pc-narrow-padding-bottom)!important;padding-left:var(--contact-pc-narrow-padding-x)!important}body.is-contact-page .contact-page__content #ShopInquiryInquiry{padding-top:var(--contact-pc-inquiry-padding-top)!important;padding-right:var(--contact-pc-inquiry-padding-x)!important;padding-bottom:var(--contact-pc-inquiry-padding-bottom)!important;padding-left:var(--contact-pc-inquiry-padding-x)!important;line-height:var(--contact-pc-inquiry-line-height)!important}body.is-store-page .main,body.is-store-category-page .main{background:#f2f2f2!important}.store-page h1.shop-category-title,h1.shop-category-title{font-size:1.5rem!important;line-height:1.2!important;letter-spacing:.12em!important}.store-page .shop-hero-block{width:min(var(--pc-store-hero-max-width),calc(100vw - 3rem))!important;max-width:min(var(--pc-store-hero-max-width),calc(100vw - 3rem))!important}body.is-store-page .store-page,body.is-store-category-page .store-page{padding-top:calc(var(--scroll-nav-h) + var(--pc-store-page-pad-top))!important}}
/* /mezi:build:pc-tuning */
