/** Shopify CDN: Minification failed

Line 432:0 Unexpected "@media"

**/
/* ============================================================
   WORDS — カラーミー システム/サブページ用 CSS（メインデザイン準拠）

   ■ 貼り付け先（カラーミー管理画面 → ショップ作成 → デザイン → 上級者モード
     または各ページのCSS欄）
     ・特定商取引法に基づく表記   … そのページのCSS欄
     ・プライバシーポリシー       … そのページのCSS欄
     ・オプション在庫・価格表     … そのページのCSS欄（HTML編集不可・CSSのみ）
     ・お問い合わせフォーム       … お問合せフォームのCSS欄（カスタマー側）
     ・マイアカウント / ログイン / 友達に教える / メルマガ / レビュー 等
   ※ 同じ内容を各CSS欄に貼ってOK。店内ページ（c-ttl-second 等）と
     カスタマー側（c-form__* 等）の両方をこの1枚でカバーしています。
   ============================================================ */

:root{
  --w-ink:#26231e; --w-muted:#7a7368; --w-gold:#cf9c3a; --w-gold-d:#bd8c2f;
  --w-line:#e5e0d3; --w-cream:#f4efe5; --w-cream2:#faf7f1; --w-paper:#ffffff;
  --w-serif:'Cormorant Garamond', serif;
}

/* ============================================================
   固定ヘッダー対策は common.css 側で一括対応しています
   （body > .container に padding-top）。二重余白防止のためここには書きません。
   ============================================================ */

/* ---------- ベース ---------- */
/* body への全ページ上書きは words-tokens.css に一本化したため削除 */

/* 本文コンテナ：中央寄せ・ゆったり余白でメインと統一感 */
.u-container,.l-main .u-container{ max-width:1000px; margin:0 auto; padding:0 24px; }
.u-contents{ padding:8px 0 64px; }
.u-contents p{ font-size:14px; color:#4f483f; }

/* ---------- パンくず ---------- */
.c-breadcrumbs{ font-size:11px; color:var(--w-muted); letter-spacing:.04em; padding:18px 0; }
.c-breadcrumbs-list{ display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0; padding:0; }
.c-breadcrumbs-list__item a{ color:var(--w-muted); }
.c-breadcrumbs-list__item a:hover{ color:var(--w-gold-d); }

/* ---------- ページタイトル（c-ttl-main / p-page__title） ---------- */
.c-ttl-main,.p-page__title{
  text-align:center; font-weight:600; font-size:24px; letter-spacing:.12em;
  color:var(--w-ink); margin:14px 0 40px; padding-bottom:20px; position:relative;
}
.c-ttl-main::after,.p-page__title::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:40px; height:2px; background:var(--w-gold);
}

/* ---------- 見出し（c-ttl-second / c-ttl-first / 汎用h） ---------- */
.c-ttl-second,.c-ttl-first{
  font-size:17px; font-weight:700; letter-spacing:.04em; color:var(--w-ink);
  margin:38px 0 16px; padding-left:14px; position:relative; line-height:1.6;
}
.c-ttl-second::before,.c-ttl-first::before{
  content:""; position:absolute; left:0; top:.2em; bottom:.2em; width:3px;
  background:var(--w-gold); border-radius:2px;
}
h1,h2,h3,h4{ font-weight:700; letter-spacing:.04em; color:var(--w-ink); line-height:1.6; }
h1{ font-size:22px; } h2{ font-size:18px; } h3{ font-size:15px; }

/* ---------- リンク ---------- */
a{ color:var(--w-gold-d); text-decoration:none; transition:opacity .2s,color .2s; }
a:hover{ opacity:.75; }

/* ---------- 定義リスト型テーブル（特商法・会社概要 c-tbl-list） ---------- */
.c-tbl-list{ border-top:1px solid var(--w-line); margin:8px 0 24px; }
.c-tbl-list__tr{
  display:flex; flex-wrap:wrap; border-bottom:1px solid var(--w-line);
}
.c-tbl-list__th{
  flex:0 0 200px; background:var(--w-cream2); font-weight:700; font-size:13px;
  letter-spacing:.04em; color:var(--w-ink); padding:16px 20px;
}
.c-tbl-list__td{
  flex:1 1 320px; padding:16px 20px; font-size:13px; color:#4f483f; min-width:0;
}

/* ---------- 通常テーブル（オプション在庫・価格表 / 注文内容など） ---------- */
table{ border-collapse:collapse; background:#fff; width:100%; margin:8px 0 24px; }
th,td{ border:1px solid var(--w-line); padding:11px 14px; font-size:13px; text-align:left; }
th{ background:var(--w-cream2); font-weight:700; letter-spacing:.04em; color:var(--w-ink); }
tr:nth-child(even) td{ background:#fcfbf7; }
/* 価格・数値はセリフで上品に（任意） */
.c-price,.option_price,td.price{ font-family:var(--w-serif); font-size:16px; font-weight:600; }

/* ---------- ページ見出し（HTML側で .sys-pagehead を追加した場合） ---------- */
.sys-pagehead{ text-align:center; padding:6px 0 40px; }
.sys-pagehead__en{ display:block; font-family:var(--w-serif); font-size:13px; letter-spacing:.3em; color:var(--w-gold); }
.sys-pagehead__ja{
  font-size:24px; font-weight:600; letter-spacing:.1em; color:var(--w-ink);
  margin:10px 0 0; padding-bottom:18px; position:relative; line-height:1.4;
}
.sys-pagehead__ja::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:40px; height:2px; background:var(--w-gold);
}

/* ---------- カスタムテンプレート版（.container / .section__block / .dl-vertical-list） ---------- */
/* ※特商法・会社概要などがこのクラス構成の場合に効きます */
.container{ max-width:1000px; margin:0 auto; padding:0 24px; }
.section__block{ margin:0 0 48px; }
.section__title-h2,.section__title-h1{
  font-size:17px; font-weight:700; letter-spacing:.04em; color:var(--w-ink);
  margin:36px 0 16px; padding-left:14px; position:relative; line-height:1.6;
}
.section__title-h2::before,.section__title-h1::before{
  content:""; position:absolute; left:0; top:.2em; bottom:.2em; width:3px;
  background:var(--w-gold); border-radius:2px;
}
/* 小見出し（プライバシーポリシーの各条項など） */
.section__title-h3{
  font-size:15px; font-weight:700; letter-spacing:.04em; color:var(--w-ink);
  margin:30px 0 10px; padding-left:13px; position:relative; line-height:1.6;
}
.section__title-h3::before{
  content:""; position:absolute; left:0; top:.28em; bottom:.28em; width:2px;
  background:var(--w-gold); border-radius:2px;
}
.container .section__block > p{ font-size:13.5px; color:#4f483f; line-height:1.95; }
.container .section__block > p a{ color:var(--w-gold-d); text-decoration:underline; text-underline-offset:2px; }

/* リード文（ページ冒頭の説明） */
.sys-lead{
  max-width:760px; margin:0 auto 44px; text-align:center;
  font-size:13.5px; color:#4f483f; line-height:2;
}
.sys-lead a{ color:var(--w-gold-d); text-decoration:underline; text-underline-offset:2px; }

.dl-vertical-list{ border-top:1px solid var(--w-line); margin:8px 0 0; }
.dl-vertical-list__title{
  font-size:12px; font-weight:700; letter-spacing:.05em; color:var(--w-gold-d);
  padding:16px 4px 0;
}
.dl-vertical-list__content{
  font-size:13.5px; color:#4f483f; line-height:1.9; margin:0;
  padding:4px 4px 16px; border-bottom:1px solid var(--w-line);
}
.dl-vertical-list__content img{ max-width:100%; height:auto; margin-bottom:6px; }

/* ============================================================
   特定商取引法ページ専用デザイン（.sys-legal）
   ・上部に目次タブ／各項目をカード化／横並びの見やすい表組み
   ・事業者情報は最下部に控えめ表示
   ============================================================ */

/* ---------- 目次タブ ---------- */
.sys-legal .sys-toc{
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
  max-width:760px; margin:0 auto 52px;
}
.sys-legal .sys-toc__item{
  display:flex; flex-direction:column; align-items:center; gap:4px;
  background:var(--w-cream2); border:1px solid var(--w-line); border-radius:10px;
  padding:18px 12px; text-align:center; transition:transform .2s, box-shadow .25s, border-color .25s;
}
.sys-legal .sys-toc__item:hover{
  transform:translateY(-2px); border-color:var(--w-gold);
  box-shadow:0 8px 20px rgba(90,70,40,.08);
}
.sys-legal .sys-toc__en{
  font-family:var(--w-serif); font-size:12px; letter-spacing:.24em; color:var(--w-gold);
}
.sys-legal .sys-toc__ja{ font-size:13px; font-weight:700; color:var(--w-ink); letter-spacing:.03em; }

/* ---------- 各セクションをカード化 ---------- */
.sys-legal .section__block{
  background:var(--w-paper); border:1px solid var(--w-line); border-radius:12px;
  padding:30px 34px; margin:0 auto 26px; max-width:880px;
  scroll-margin-top:calc(var(--wh-stack, 96px) + 12px); /* アンカー移動時に固定ヘッダーへ潜らない */
}
.sys-legal .section__title-h2{ margin-top:0; font-size:18px; }

/* ---------- 項目を横並びの表組みに（ラベル左／内容右） ---------- */
.sys-legal .dl-vertical-list{
  border-top:1px solid var(--w-line); margin:18px 0 0;
  display:grid; grid-template-columns:200px 1fr;
}
.sys-legal .dl-vertical-list__title{
  grid-column:1; color:var(--w-ink); font-size:13px; font-weight:700; letter-spacing:.02em;
  padding:16px 18px 16px 4px; border-bottom:1px solid var(--w-line);
  display:flex; align-items:center;
}
.sys-legal .dl-vertical-list__content{
  grid-column:2; padding:16px 4px 16px 18px; border-bottom:1px solid var(--w-line);
  font-size:13.5px; color:#4f483f; border-left:1px solid var(--w-line);
}
/* 2カラム並びの事業者情報（.row 内に dl が2つ）も1枚の表として連続させる */
.sys-legal .row{ display:block; }
.sys-legal .row .dl-vertical-list{ margin-top:0; border-top:none; }
.sys-legal .row .dl-vertical-list:first-child{ border-top:1px solid var(--w-line); }

/* ---------- 事業者情報は控えめに（最下部・小さめ・くすませる） ---------- */
.sys-legal .section__block--muted{
  background:var(--w-cream2); border-style:dashed; margin-top:46px;
  padding:24px 30px; max-width:760px;
}
.sys-legal .section__block--muted .section__title-h2{
  font-size:14px; color:var(--w-muted); font-weight:700;
}
.sys-legal .section__block--muted .section__title-h2::before{ background:var(--w-line); }
.sys-legal .section__block--muted .dl-vertical-list__title{
  font-size:12px; color:var(--w-muted); font-weight:500; padding-top:12px; padding-bottom:12px;
}
.sys-legal .section__block--muted .dl-vertical-list__content{
  font-size:12.5px; color:#6f675c; padding-top:12px; padding-bottom:12px;
}

/* ---------- レスポンシブ ---------- */
@media (max-width:768px){
  .sys-legal .sys-toc{ grid-template-columns:1fr; gap:10px; margin-bottom:36px; }
  .sys-legal .sys-toc__item{ flex-direction:row; justify-content:center; gap:10px; padding:14px; }
  .sys-legal .section__block{ padding:22px 18px; }
  .sys-legal .dl-vertical-list,
  .sys-legal .section__block--muted .dl-vertical-list{ grid-template-columns:1fr; }
  .sys-legal .dl-vertical-list__title{
    border-bottom:none; padding-bottom:0; background:transparent;
  }
  .sys-legal .dl-vertical-list__content{
    border-left:none; padding-left:4px; padding-top:6px;
  }
}

/* ---------- フォーム（お問い合わせ等 c-form__* / 汎用） ---------- */
.c-form__table{ width:100%; border-top:1px solid var(--w-line); }
.c-form__table .c-form__title,
.c-form__table .c-form__content{ border-bottom:1px solid var(--w-line); vertical-align:top; }
.c-form__title{
  background:var(--w-cream2); font-weight:700; font-size:13px; letter-spacing:.04em;
  padding:16px 20px; color:var(--w-ink); white-space:nowrap;
}
.c-form__content{ padding:16px 20px; font-size:13px; }
.c-form__title--must::after{
  content:"必須"; display:inline-block; margin-left:8px; background:var(--w-gold);
  color:#fff; font-size:10px; font-weight:700; letter-spacing:.06em;
  padding:2px 8px; border-radius:3px; vertical-align:middle;
}
.c-form__note{ display:block; color:var(--w-muted); font-size:11px; margin-top:6px; }

.wj-page-wrap input[type="text"],
.wj-page-wrap input[type="email"],
.wj-page-wrap input[type="tel"],
.wj-page-wrap input[type="password"],
.wj-page-wrap input[type="number"],
.wj-page-wrap input[type="search"],
.wj-page-wrap select,
.wj-page-wrap textarea,
.wj-page-wrap .c-input--text,
.wj-page-wrap .c-input--email,
.wj-page-wrap .c-input--tel,
.wj-page-wrap .c-textarea,
.wj-page-wrap .c-select,
.sys-legal input[type="text"],
.sys-legal input[type="email"],
.sys-legal input[type="tel"],
.sys-legal input[type="password"],
.sys-legal input[type="number"],
.sys-legal input[type="search"],
.sys-legal select,
.sys-legal textarea,
.sys-legal .c-input--text,
.sys-legal .c-input--email,
.sys-legal .c-input--tel,
.sys-legal .c-textarea,
.sys-legal .c-select,
.page-content input[type="text"],
.page-content input[type="email"],
.page-content input[type="tel"],
.page-content input[type="password"],
.page-content input[type="number"],
.page-content input[type="search"],
.page-content select,
.page-content textarea,
.page-content .c-input--text,
.page-content .c-input--email,
.page-content .c-input--tel,
.page-content .c-textarea,
.page-content .c-select,
.u-contents input[type="text"],
.u-contents input[type="email"],
.u-contents input[type="tel"],
.u-contents input[type="password"],
.u-contents input[type="number"],
.u-contents input[type="search"],
.u-contents select,
.u-contents textarea,
.u-contents .c-input--text,
.u-contents .c-input--email,
.u-contents .c-input--tel,
.u-contents .c-textarea,
.u-contents .c-select,
.c-form__table input[type="text"],
.c-form__table input[type="email"],
.c-form__table input[type="tel"],
.c-form__table input[type="password"],
.c-form__table input[type="number"],
.c-form__table input[type="search"],
.c-form__table select,
.c-form__table textarea,
.c-form__table .c-input--text,
.c-form__table .c-input--email,
.c-form__table .c-input--tel,
.c-form__table .c-textarea,
.c-form__table .c-select,
.wp-form input[type="text"],
.wp-form input[type="email"],
.wp-form input[type="tel"],
.wp-form input[type="password"],
.wp-form input[type="number"],
.wp-form input[type="search"],
.wp-form select,
.wp-form textarea,
.wp-form .c-input--text,
.wp-form .c-input--email,
.wp-form .c-input--tel,
.wp-form .c-textarea,
.wp-form .c-select{
  border:1px solid var(--w-line) !important; border-radius:4px; background:#fff !important;
  padding:11px 13px; font-family:inherit; font-size:14px; color:var(--w-ink) !important;
  max-width:100%; width:100%; box-sizing:border-box; transition:border-color .2s;
}
.wj-page-wrap textarea,
.wj-page-wrap .c-textarea,
.sys-legal textarea,
.sys-legal .c-textarea,
.page-content textarea,
.page-content .c-textarea,
.u-contents textarea,
.u-contents .c-textarea,
.c-form__table textarea,
.c-form__table .c-textarea,
.wp-form textarea,
.wp-form .c-textarea{ min-height:140px; line-height:1.8; }
.wj-page-wrap input:focus,
.wj-page-wrap select:focus,
.wj-page-wrap textarea:focus,
.wj-page-wrap .c-input--text:focus,
.wj-page-wrap .c-textarea:focus,
.wj-page-wrap .c-select:focus,
.sys-legal input:focus,
.sys-legal select:focus,
.sys-legal textarea:focus,
.sys-legal .c-input--text:focus,
.sys-legal .c-textarea:focus,
.sys-legal .c-select:focus,
.page-content input:focus,
.page-content select:focus,
.page-content textarea:focus,
.page-content .c-input--text:focus,
.page-content .c-textarea:focus,
.page-content .c-select:focus,
.u-contents input:focus,
.u-contents select:focus,
.u-contents textarea:focus,
.u-contents .c-input--text:focus,
.u-contents .c-textarea:focus,
.u-contents .c-select:focus,
.c-form__table input:focus,
.c-form__table select:focus,
.c-form__table textarea:focus,
.c-form__table .c-input--text:focus,
.c-form__table .c-textarea:focus,
.c-form__table .c-select:focus,
.wp-form input:focus,
.wp-form select:focus,
.wp-form textarea:focus,
.wp-form .c-input--text:focus,
.wp-form .c-textarea:focus,
.wp-form .c-select:focus{
  outline:none; border-color:var(--w-gold) !important;
}
.wj-page-wrap input[type="radio"],
.wj-page-wrap input[type="checkbox"],
.sys-legal input[type="radio"],
.sys-legal input[type="checkbox"],
.page-content input[type="radio"],
.page-content input[type="checkbox"],
.u-contents input[type="radio"],
.u-contents input[type="checkbox"],
.c-form__table input[type="radio"],
.c-form__table input[type="checkbox"],
.wp-form input[type="radio"],
.wp-form input[type="checkbox"]{ all:revert; accent-color:var(--w-gold); }

/* ---------- ボタン（送信・確認・c-button--*） ---------- */
.wj-page-wrap input[type="submit"],
.wj-page-wrap input[type="button"],
.wj-page-wrap button,
.sys-legal input[type="submit"],
.sys-legal input[type="button"],
.sys-legal button,
.page-content input[type="submit"],
.page-content input[type="button"],
.page-content button,
.u-contents input[type="submit"],
.u-contents input[type="button"],
.u-contents button,
.c-form__table input[type="submit"],
.c-form__table input[type="button"],
.c-form__table button,
.wp-form input[type="submit"],
.wp-form input[type="button"],
.wp-form button,
.c-button,.c-button--primary{
  display:inline-block; background:var(--w-gold) !important; color:#fff !important; border:1px solid var(--w-gold) !important;
  border-radius:4px; font-family:inherit; font-size:14px; font-weight:700; letter-spacing:.08em;
  padding:13px 34px; cursor:pointer; transition:background .25s,border-color .25s; text-align:center;
}
.wj-page-wrap input[type="submit"]:hover,
.wj-page-wrap input[type="button"]:hover,
.wj-page-wrap button:hover,
.sys-legal input[type="submit"]:hover,
.sys-legal input[type="button"]:hover,
.sys-legal button:hover,
.page-content input[type="submit"]:hover,
.page-content input[type="button"]:hover,
.page-content button:hover,
.u-contents input[type="submit"]:hover,
.u-contents input[type="button"]:hover,
.u-contents button:hover,
.c-form__table input[type="submit"]:hover,
.c-form__table input[type="button"]:hover,
.c-form__table button:hover,
.wp-form input[type="submit"]:hover,
.wp-form input[type="button"]:hover,
.wp-form button:hover,
@media (hover:hover){ .c-button:hover,.c-button--primary:hover{ background:var(--w-gold-d) !important; border-color:var(--w-gold-d) !important; opacity:1; } }
/* 副ボタン（戻る・サブ操作）は白地 */
.c-button--sub,.c-button--cancel,.c-button--back{
  background:#fff !important; color:var(--w-ink) !important; border:1px solid var(--w-line) !important;
}
@media (hover:hover){ .c-button--sub:hover,.c-button--cancel:hover,.c-button--back:hover{ background:var(--w-cream); border-color:var(--w-line); } }
.c-button--sm{ padding:9px 20px; font-size:12px; }
.c-button--lg{ padding:15px 48px; }
.c-button__group{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:28px; }

/* ---------- アラート・注意書き ---------- */
.c-alert{
  background:var(--w-cream); border:1px solid var(--w-line); border-left:3px solid var(--w-gold);
  padding:14px 18px; font-size:13px; color:#4f483f; border-radius:4px; margin:0 0 24px;
}

/* ---------- 区切り線・補足 ---------- */
.wj-page-wrap hr,
.sys-legal hr,
.page-content hr,
.u-contents hr,
.c-form__table hr,
.wp-form hr{ border:none; border-top:1px solid var(--w-line); margin:28px 0; }
.wj-page-wrap small,
.sys-legal small,
.page-content small,
.u-contents small,
.c-form__table small,
.wp-form small,
.u-text-note{ color:var(--w-muted); font-size:12px; }
.payment_img img,.payment_img{ max-width:100%; }

/* ---------- レスポンシブ ---------- */
@media (max-width:768px){
  .c-ttl-main,.p-page__title{ font-size:20px; margin-bottom:28px; }
  .c-ttl-second,.c-ttl-first{ font-size:15px; }
  /* 定義リスト/フォームを縦積みに */
  .c-tbl-list__th,.c-tbl-list__td{ flex:1 1 100%; }
  .c-tbl-list__th{ padding-bottom:6px; }
  .c-tbl-list__td{ padding-top:6px; }
  .c-form__table,.c-form__table tbody,.c-form__table tr,
  .c-form__title,.c-form__content{ display:block; width:100%; box-sizing:border-box; }
  .c-form__title{ white-space:normal; border-bottom:none; padding-bottom:6px; }
  .c-button__group{ flex-direction:column; }
  .c-button,.c-button--primary,.wj-page-wrap input[type="submit"],.sys-legal input[type="submit"],.page-content input[type="submit"]{ width:100%; }
}
/* ------------------------------------------------------------
   【削除済み】ここにあった『カラーミー セキュアページ用 配色テーマ』は、
   button{} / footer{} / .wrap{} / body{} などを !important つきの汎用セレクタで
   上書きしており、Shopify の新ヘッダー・新フッター・カートドロワーを壊すため
   2026-09-03 に削除しました（旧版は _backup/20260903_pagescss/ にあります）。
   ------------------------------------------------------------ */

/* ============================================================
   WORDS — 特定商取引法ページ専用CSS（自己完結版）
   ------------------------------------------------------------
   ■ 貼り付け先
     カラーミー管理画面 → 特定商取引法ページの「CSSを編集する」欄に
     このファイルを “まるごと全文” 貼り付けてください。
   ■ 対応HTML
     特商法_tokushoho.html（<div class="container sys-legal"> 構造）
   ※ これ1枚で土台〜デザインまで完結します。他ページには影響しません。
   ============================================================ */

:root{
  --w-ink:#26231e; --w-muted:#7a7368; --w-gold:#cf9c3a; --w-gold-d:#bd8c2f;
  --w-line:#e5e0d3; --w-cream:#f4efe5; --w-cream2:#faf7f1; --w-paper:#ffffff;
  --w-serif:'Cormorant Garamond', serif;
}

/* ---------- 土台 ---------- */
.sys-legal{
  font-family:'Noto Sans JP',-apple-system,"Hiragino Kaku Gothic ProN",sans-serif;
  color:var(--w-ink); line-height:1.9; -webkit-font-smoothing:antialiased;
}
/* 固定ヘッダーに本文が潜らないよう上に余白（ヘッダー高さ分） */
.sys-legal.container{ max-width:1000px; margin:0 auto; padding:118px 24px 48px; }
.sys-legal a{ color:var(--w-gold-d); text-decoration:none; transition:opacity .2s; }
.sys-legal a:hover{ opacity:.7; }
.sys-legal img{ max-width:100%; height:auto; }

/* ---------- ページ見出し ---------- */
.sys-legal .sys-pagehead{ text-align:center; padding:6px 0 40px; }
.sys-legal .sys-pagehead__en{
  display:block; font-family:var(--w-serif); font-size:13px; letter-spacing:.3em; color:var(--w-gold);
}
.sys-legal .sys-pagehead__ja{
  font-size:24px; font-weight:600; letter-spacing:.1em; color:var(--w-ink);
  margin:10px 0 0; padding-bottom:18px; position:relative; line-height:1.4;
}
.sys-legal .sys-pagehead__ja::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:40px; height:2px; background:var(--w-gold);
}

/* ---------- 目次タブ ---------- */
.sys-legal .sys-toc{
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
  max-width:760px; margin:0 auto 52px;
}
.sys-legal .sys-toc__item{
  display:flex; flex-direction:column; align-items:center; gap:4px;
  background:var(--w-cream2); border:1px solid var(--w-line); border-radius:10px;
  padding:18px 12px; text-align:center;
  transition:transform .2s, box-shadow .25s, border-color .25s;
}
.sys-legal .sys-toc__item:hover{
  transform:translateY(-2px); border-color:var(--w-gold); opacity:1;
  box-shadow:0 8px 20px rgba(90,70,40,.08);
}
.sys-legal .sys-toc__en{
  font-family:var(--w-serif); font-size:12px; letter-spacing:.24em; color:var(--w-gold);
}
.sys-legal .sys-toc__ja{ font-size:13px; font-weight:700; color:var(--w-ink); letter-spacing:.03em; }

/* ---------- 各セクションをカード化 ---------- */
.sys-legal .section__block{
  background:var(--w-paper); border:1px solid var(--w-line); border-radius:12px;
  padding:30px 34px; margin:0 auto 26px; max-width:880px;
  scroll-margin-top:calc(var(--wh-stack, 96px) + 12px); /* アンカー移動時に固定ヘッダーへ潜らない */
}
.sys-legal .section__title-h2,.sys-legal .section__title-h1{
  font-size:18px; font-weight:700; letter-spacing:.04em; color:var(--w-ink);
  margin:0 0 16px; padding-left:14px; position:relative; line-height:1.6;
}
.sys-legal .section__title-h2::before,.sys-legal .section__title-h1::before{
  content:""; position:absolute; left:0; top:.2em; bottom:.2em; width:3px;
  background:var(--w-gold); border-radius:2px;
}

/* ---------- 項目を横並びの表組みに（ラベル左／内容右） ---------- */
.sys-legal .dl-vertical-list{
  border-top:1px solid var(--w-line); margin:18px 0 0;
  display:grid; grid-template-columns:200px 1fr;
}
.sys-legal .dl-vertical-list__title{
  grid-column:1; color:var(--w-ink); font-size:13px; font-weight:700; letter-spacing:.02em;
  padding:16px 18px 16px 4px; border-bottom:1px solid var(--w-line);
  display:flex; align-items:center;
}
.sys-legal .dl-vertical-list__content{
  grid-column:2; padding:16px 4px 16px 18px; border-bottom:1px solid var(--w-line);
  font-size:13.5px; color:#4f483f; line-height:1.9; margin:0; border-left:1px solid var(--w-line);
}
.sys-legal .dl-vertical-list__content img{ margin-bottom:6px; }
/* 事業者情報など .row 内に dl が並ぶ場合も1枚の表として連続させる */
.sys-legal .row{ display:block; }
.sys-legal .row .dl-vertical-list{ margin-top:0; border-top:none; }
.sys-legal .row .dl-vertical-list:first-child{ border-top:1px solid var(--w-line); }

/* ---------- 事業者情報は控えめに（最下部・小さめ・くすませる） ---------- */
.sys-legal .section__block--muted{
  background:var(--w-cream2); border-style:dashed; margin-top:46px;
  padding:24px 30px; max-width:760px;
}
.sys-legal .section__block--muted .section__title-h2{
  font-size:14px; color:var(--w-muted); font-weight:700;
}
.sys-legal .section__block--muted .section__title-h2::before{ background:var(--w-line); }
.sys-legal .section__block--muted .dl-vertical-list__title{
  font-size:12px; color:var(--w-muted); font-weight:500; padding-top:12px; padding-bottom:12px;
}
.sys-legal .section__block--muted .dl-vertical-list__content{
  font-size:12.5px; color:#6f675c; padding-top:12px; padding-bottom:12px;
}

/* ---------- レスポンシブ ---------- */
@media (max-width:768px){
  .sys-legal.container{ padding:92px 20px 40px; }
  .sys-legal .sys-toc{ grid-template-columns:1fr; gap:10px; margin-bottom:36px; }
  .sys-legal .sys-toc__item{ flex-direction:row; justify-content:center; gap:10px; padding:14px; }
  .sys-legal .section__block{ padding:22px 18px; }
  .sys-legal .dl-vertical-list,
  .sys-legal .section__block--muted .dl-vertical-list{ grid-template-columns:1fr; }
  .sys-legal .dl-vertical-list__title{ border-bottom:none; padding-bottom:0; }
  .sys-legal .dl-vertical-list__content{ border-left:none; padding-left:4px; padding-top:6px; }
}

/* ------------------------------------------------------------
   【削除済み】ここにあった旧カートページ用CSS（.ct-*）は、
   カートページを sections/main-cart.liquid + assets/words-cart.css に
   作り直したため未使用になり、2026-09-03 に削除しました。
   ------------------------------------------------------------ */

/* ============================================================
   固定ページ共通：登場アニメーション（2026-09-05）
   ・sections/main-page.liquid が IntersectionObserver で .is-in を付ける
   ・html.wp-anim（JSが動いていて「動きを減らす」設定でない）のときだけ透明にする
     → JSが無い端末・prefers-reduced-motion では最初から表示される
   ・動かすのは opacity と transform だけ（width/height/top/left は動かさない）
   ・0.45秒 cubic-bezier(.22,.61,.36,1)、連続要素は0.06秒刻み・最大0.24秒
   使い方（各ページ本文側）：
     .wp-rv           ふわっと上がりながら表示
     .wp-rv--fade     上がらずに薄く入る（英字ラベルなど）
     .wp-rv--ph       中の img がわずかにズームアウトして収まる（.wp-rv と併用）
     .wp-rv--d1〜d4   0.06／0.12／0.18／0.24秒 遅らせる
     .wp-rv-g         子要素を順に（2つ目から0.06秒刻み）
     .wp-rule         .wp-rv の中の罫線が左から伸びる
   ============================================================ */
html.wp-anim .wp-rv,
html.wp-anim .wp-rv-g > *{
  opacity:0; transform:translateY(14px);
  transition:opacity .45s cubic-bezier(.22,.61,.36,1), transform .45s cubic-bezier(.22,.61,.36,1);
}
html.wp-anim .wp-rv--fade{ transform:none; }
html.wp-anim .wp-rv.is-in,
html.wp-anim .wp-rv-g.is-in > *{ opacity:1; transform:none; }
html.wp-anim .wp-rv--d1.is-in{ transition-delay:.06s; }
html.wp-anim .wp-rv--d2.is-in{ transition-delay:.12s; }
html.wp-anim .wp-rv--d3.is-in{ transition-delay:.18s; }
html.wp-anim .wp-rv--d4.is-in{ transition-delay:.24s; }
html.wp-anim .wp-rv-g.is-in > :nth-child(2){ transition-delay:.06s; }
html.wp-anim .wp-rv-g.is-in > :nth-child(3){ transition-delay:.12s; }
html.wp-anim .wp-rv-g.is-in > :nth-child(4){ transition-delay:.18s; }
html.wp-anim .wp-rv-g.is-in > :nth-child(n+5){ transition-delay:.24s; }

/* 罫線が左から伸びる */
html.wp-anim .wp-rv .wp-rule,
html.wp-anim .wp-rv-g .wp-rule{
  transform:scaleX(0); transform-origin:0 50%;
  transition:transform .5s cubic-bezier(.22,.61,.36,1) .12s;
}
html.wp-anim .wp-rv.is-in .wp-rule,
html.wp-anim .wp-rv-g.is-in .wp-rule{ transform:scaleX(1); }

/* 写真がわずかにズームアウトして収まる */
html.wp-anim .wp-rv--ph img{
  transform:scale(1.04);
  transition:opacity .2s, transform .5s cubic-bezier(.22,.61,.36,1);
}
html.wp-anim .wp-rv--ph.is-in img{ transform:none; }

@media (prefers-reduced-motion: reduce){
  html.wp-anim .wp-rv,
  html.wp-anim .wp-rv-g > *,
  html.wp-anim .wp-rv .wp-rule,
  html.wp-anim .wp-rv-g .wp-rule,
  html.wp-anim .wp-rv--ph img{ opacity:1; transform:none; transition:none; }
}

/* ============================================================
   ポリシーページ（/policies/...）2026-09-06 新規 → 2026-09-07 内蔵マークアップ両対応
   ・実機プレビューで判明：Shopify は /policies/... を templates/policy.liquid ではなく
     内蔵マークアップで描画する
       <div class="shopify-policy__container">
         <div class="shopify-policy__title"><h1>…</h1></div>
         <div class="shopify-policy__body"><div class="rte"><div><p>…</p><h2>…</h2>…</div></div></div>
       </div>
     そのため以下は 自前テンプレート（.wp-policy*）と 内蔵（.shopify-policy__*）の両方に
     同じ見た目が当たるよう、セレクタを両対応にしてある。
   ・内蔵の policy-*.css（.shopify-policy__container 等の単一クラス＝詳細度 0,1,0）が先に
     効くため、内蔵側のセレクタは #MainContent（layout/theme.liquid の <main id>）を付けて
     詳細度 1,1,0 以上で確実に勝たせる（!important は使わない）。
     本文内の要素は :is(.wp-policy__body, #MainContent .shopify-policy__body) でまとめる
     （:is() の詳細度は引数の最大＝ 1,1,x。両マークアップで同じ強さになる）。
   ・パンくず／英字ラベル／目次チップ／通し番号／更新日の移動／表の枠は
     assets/words-policy.js が生成する（どちらのマークアップでも同じクラス名を付ける）。
   ・本文（.wp-policy__body / .shopify-policy__body）は管理画面の文面をそのまま出力して
     いるので、文字サイズ・余白・番号・目次チップ など「見た目」だけをここで整える
   ・角丸0・影なし。金色は英字ラベル・番号・アクティブチップの差し色にだけ使う
   ・左右余白：.wp-policy は .wrap（32px／980px以下 20px）に任せる。内蔵側は
     .shopify-policy__container 自身に同じ左右余白を持たせる。
     padding の3値ショートハンドで左右を 0 にしないこと（スマホ最優先：左右 20px 必須）
   ・上余白は固定ヘッダーの実測高さ calc(var(--wh-stack) + var(--wh-gap))
     （words-tokens.css の変数。直書き px にしない）
   ============================================================ */
.wp-policy,
#MainContent .shopify-policy__container{
  padding-top:calc(var(--wh-stack, 96px) + var(--wh-gap, 18px));
  padding-bottom:88px;
  font-family:'Noto Sans JP',-apple-system,"Hiragino Kaku Gothic ProN",sans-serif;
  color:var(--ink,#26231e); -webkit-font-smoothing:antialiased;
}
/* 内蔵コンテナ：.wrap と同じ幅・左右余白（内蔵CSSの max-width / margin / padding を上書き） */
#MainContent .shopify-policy__container{
  max-width:1180px; margin:0 auto; box-sizing:border-box;
  padding-left:32px; padding-right:32px;
}

/* ---------- パンくず（JSが <h1> の前に差し込む。固定ページ .wj-page-bc と同じ値） ---------- */
.wp-policy__bc{
  max-width:720px; margin:0 auto 6px;
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  font-size:12px; color:var(--muted,#7a7368); text-align:left;
}
.wp-policy__bc a{ color:var(--muted,#7a7368); text-decoration:none; transition:color .2s; }
.wp-policy__bc a:hover{ color:var(--ink,#26231e); }
.wp-policy__bc span{ color:var(--line,#e5e0d3); }
.wp-policy__bc [aria-current]{ color:var(--ink,#26231e); }

/* ---------- 見出しブロック（自前＝.sys-pagehead 流用／内蔵＝.shopify-policy__title） ---------- */
.wp-policy__head{ max-width:720px; margin:0 auto; padding-bottom:32px; }
#MainContent .shopify-policy__title{
  max-width:720px; margin:0 auto; text-align:center;
  padding-top:6px; padding-bottom:32px;
}
/* 内蔵側の <h1> に .sys-pagehead__ja と同じ様式（金色の短い下線つき） */
#MainContent .shopify-policy__title h1{
  font-family:inherit; font-size:24px; font-weight:600; letter-spacing:.1em; color:var(--ink,#26231e);
  margin:10px 0 0; padding-bottom:18px; position:relative; line-height:1.4; text-transform:none;
}
#MainContent .shopify-policy__title h1::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:40px; height:2px; background:var(--gold,#cf9c3a);
}
/* 英字ラベル（JSが差し込む。.sys-pagehead__en の様式を両マークアップで保証） */
.wp-policy__en,
#MainContent .shopify-policy__title .sys-pagehead__en{
  display:block; font-family:var(--serif,'Cormorant Garamond',serif);
  font-size:13px; letter-spacing:.3em; color:var(--gold,#cf9c3a); text-align:center;
}

/* ---------- 最終更新日（JSが本文先頭の <p> を目次の上へ移動。文言はそのまま） ---------- */
.wp-policy__updated,
#MainContent .wp-policy__updated{
  max-width:720px; margin:0 auto 14px; text-align:center;
  font-size:12px; line-height:1.7; letter-spacing:.04em; color:var(--muted,#7a7368);
}

/* ---------- 目次チップ（折り返しで 1〜3列に自然に並ぶ） ---------- */
.wp-policy__toc{
  max-width:720px; margin:0 auto 12px;
  padding-top:4px; padding-bottom:28px;
  border-bottom:1px solid var(--line,#e5e0d3);
}
.wp-policy__toc-list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:8px;
}
.wp-policy__toc-item{ margin:0; padding:0; }
.wp-policy__chip{
  display:inline-flex; align-items:baseline; gap:8px;
  min-height:40px; padding:9px 14px 9px 12px;
  border:1px solid var(--line,#e5e0d3); background:var(--cream,#faf9f6);
  color:var(--ink,#26231e); text-decoration:none; border-radius:0; box-shadow:none;
  font-size:13px; line-height:1.5; letter-spacing:.02em;
  transition:border-color .2s, background .2s;
}
@media (hover:hover){ .wp-policy__chip:hover{ border-color:var(--ink,#26231e); background:var(--paper,#fff); } }
.wp-policy__chip.is-active{ border-color:var(--gold,#cf9c3a); background:var(--paper,#fff); }
.wp-policy__chip-num{
  font-family:var(--serif,'Cormorant Garamond',serif); font-size:13px; letter-spacing:.12em;
  color:var(--gold-d,#bd8c2f); flex:none;
}
.wp-policy__chip-txt{ min-width:0; }

/* ---------- 本文（自前＝.wp-policy__body／内蔵＝.shopify-policy__body > .rte > div） ---------- */
.wp-policy__body,
#MainContent .shopify-policy__body{
  max-width:720px; margin:0 auto;
  font-size:15px; line-height:1.9; color:var(--body2,#5c564d);
  word-break:normal; overflow-wrap:anywhere;
}
#MainContent .shopify-policy__body .rte{ font-size:inherit; line-height:inherit; color:inherit; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) > *:first-child{ margin-top:0; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) > *:last-child{ margin-bottom:0; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) p{ margin:0 0 18px; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) p:empty{ display:none; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) a{ color:var(--gold-d,#bd8c2f); text-decoration:underline; text-underline-offset:.2em; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) a:hover{ opacity:.7; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) strong,
:is(.wp-policy__body, #MainContent .shopify-policy__body) b{ color:var(--ink,#26231e); font-weight:600; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) img{ max-width:100%; height:auto; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) hr{ border:0; border-top:1px solid var(--line,#e5e0d3); margin:40px 0; }

/* リード文（最初の <h2> より前の段落）。文面は同じ、色と大きさだけ本文より少し立てる */
:is(.wp-policy__body, #MainContent .shopify-policy__body) .wp-policy__intro{ color:var(--ink,#26231e); font-size:15.5px; line-height:1.95; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) p.wp-policy__intro{ margin-bottom:20px; }

/* 章見出し：金色の通し番号（JSが付与）＋見出し。上に十分な間隔 */
:is(.wp-policy__body, #MainContent .shopify-policy__body) h2{
  display:flex; align-items:baseline; gap:14px;
  margin:56px 0 18px; font-size:18px; font-weight:600; line-height:1.55;
  letter-spacing:.04em; color:var(--ink,#26231e); font-family:inherit; text-transform:none;
  scroll-margin-top:calc(var(--wh-stack, 96px) + 12px);
}
:is(.wp-policy__body, #MainContent .shopify-policy__body) h2:first-child{ margin-top:8px; }
.wp-policy__num{
  font-family:var(--serif,'Cormorant Garamond',serif); font-weight:500;
  font-size:17px; letter-spacing:.14em; color:var(--gold,#cf9c3a); flex:none;
}
:is(.wp-policy__body, #MainContent .shopify-policy__body) h3{
  margin:32px 0 12px; font-size:16px; font-weight:600; line-height:1.6;
  letter-spacing:.03em; color:var(--ink,#26231e); scroll-margin-top:calc(var(--wh-stack, 96px) + 12px);
}
:is(.wp-policy__body, #MainContent .shopify-policy__body) h4,
:is(.wp-policy__body, #MainContent .shopify-policy__body) h5,
:is(.wp-policy__body, #MainContent .shopify-policy__body) h6{
  margin:24px 0 10px; font-size:15px; font-weight:600; line-height:1.6; color:var(--ink,#26231e);
}

/* 箇条書き：行間を広く、マーカーは控えめ */
:is(.wp-policy__body, #MainContent .shopify-policy__body) ul,
:is(.wp-policy__body, #MainContent .shopify-policy__body) ol{ margin:0 0 22px; padding-left:1.4em; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) li{ margin:0 0 9px; line-height:1.9; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) li > ul,
:is(.wp-policy__body, #MainContent .shopify-policy__body) li > ol{ margin:8px 0 4px; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) ul{ list-style:disc; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) ul li::marker{ color:var(--muted,#7a7368); }

/* 表：横スクロールの枠（JSが .wp-policy__tablewrap で包む）＋罫線 --line */
.wp-policy__tablewrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 0 24px; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) table{ width:100%; border-collapse:collapse; margin:0; font-size:14px; line-height:1.8; }
.wp-policy__tablewrap > table{ min-width:480px; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) th,
:is(.wp-policy__body, #MainContent .shopify-policy__body) td{
  border:1px solid var(--line,#e5e0d3); padding:11px 14px; text-align:left; vertical-align:top;
}
:is(.wp-policy__body, #MainContent .shopify-policy__body) th{ background:var(--cream,#faf9f6); color:var(--ink,#26231e); font-weight:600; }
:is(.wp-policy__body, #MainContent .shopify-policy__body) blockquote{
  margin:0 0 22px; padding:4px 0 4px 16px; border-left:2px solid var(--line,#e5e0d3); color:var(--muted,#7a7368);
}

/* ---------- 画面幅 ---------- */
@media (min-width:981px){
  .wp-policy__body,
  #MainContent .shopify-policy__body{ font-size:15.5px; line-height:1.95; }
  :is(.wp-policy__body, #MainContent .shopify-policy__body) h2{ margin-top:64px; font-size:19px; }
  .wp-policy__chip{ font-size:13.5px; }
}
@media (max-width:980px){
  /* .wrap と同じ：スマホは左右 20px を必ず確保 */
  #MainContent .shopify-policy__container{ padding-left:20px; padding-right:20px; }
}
@media (max-width:768px){
  .wp-policy,
  #MainContent .shopify-policy__container{ padding-bottom:64px; }
  .wp-policy__head,
  #MainContent .shopify-policy__title{ padding-bottom:26px; }
  .wp-policy__toc{ padding-bottom:22px; }
  .wp-policy__chip{ min-height:38px; padding:8px 12px 8px 10px; }
  :is(.wp-policy__body, #MainContent .shopify-policy__body) h2{ margin:48px 0 16px; font-size:17px; gap:12px; scroll-margin-top:calc(var(--wh-stack, 96px) + 12px); }
  :is(.wp-policy__body, #MainContent .shopify-policy__body) h3{ scroll-margin-top:calc(var(--wh-stack, 96px) + 12px); }
  :is(.wp-policy__body, #MainContent .shopify-policy__body) th,
  :is(.wp-policy__body, #MainContent .shopify-policy__body) td{ padding:10px 12px; }
}

/* アンカー移動をなめらかに（「動きを減らす」設定の端末では即時移動のまま） */
@media (prefers-reduced-motion: no-preference){
  html:has(.wp-policy, .shopify-policy__container){ scroll-behavior:smooth; }
}


/* ============================================================
   特定商取引法に基づく表記（sections/main-legal.liquid）2026-09-09 新規
   ・.wp-policy（プライバシーポリシー等）と同じ骨格・同じ見た目。専用クラスは .wl- プレフィックス。
   ・角丸0・影なし（テーマ全体の * ルールに準拠。ここで上書きしない）
   ・金色（--gold-d）は英字ラベル・番号・見出し下線・目次番号にだけ使う（日本語本文には使わない）
   ・上余白は必ず calc(var(--wh-stack) + var(--wh-gap))。固定pxにしない（固定ヘッダーに潜り込む事故防止）
     pad_top_pc / pad_top_sp（セクション設定・range）はその calc() に足す「追加分」（既定0px）
   ・電話番号のCTA（発信ボタン等）は置かない。01 事業者情報の電話番号は文字表示のみ
   ・レイアウト：SP＝目次チップ横並び＋1カラム。PC(1024px〜)＝左260px固定sticky目次＋本文の2カラム
   ============================================================ */
.wl-legal{
  --wl-pt-pc: 0px;
  --wl-pt-sp: 0px;
  padding-top:calc(var(--wh-stack, 96px) + var(--wh-gap, 18px) + var(--wl-pt-sp, 0px));
  padding-bottom:64px;
  font-family:var(--jp,'Noto Sans JP',sans-serif);
  color:var(--ink,#26231e);
  -webkit-font-smoothing:antialiased;
}

/* ---------- パンくず ---------- */
.wl-bc{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  margin:0 0 18px; font-size:12px; color:var(--muted,#7a7368);
}
.wl-bc a{ color:var(--muted,#7a7368); text-decoration:none; transition:color .2s; }
.wl-bc a:hover{ color:var(--ink,#26231e); }
.wl-bc span[aria-hidden]{ color:var(--line,#e5e0d3); }
.wl-bc [aria-current]{ color:var(--ink,#26231e); }

/* ---------- 見出し ---------- */
.wl-head{ text-align:center; padding-bottom:36px; }
.wl-en{
  display:block; font-family:var(--serif,'Cormorant Garamond',serif);
  font-size:11.5px; letter-spacing:.28em; color:var(--gold-d,#bd8c2f);
}
.wl-h1{
  margin:10px 0 0; padding-bottom:16px; position:relative;
  font-size:22px; font-weight:600; letter-spacing:.06em; line-height:1.5; color:var(--ink,#26231e);
}
.wl-h1::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:40px; height:2px; background:var(--gold-d,#bd8c2f);
}
.wl-updated{ margin:16px 0 0; font-size:12px; letter-spacing:.04em; color:var(--muted,#7a7368); }

/* ---------- 目次＋本文の2カラム ---------- */
.wl-layout{ display:block; margin-top:40px; }
.wl-content{ min-width:0; }

/* 目次：SPはチップ横並び（.wp-policy__chip と同じ骨格） */
.wl-toc{ margin-bottom:32px; }
.wl-toc__list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.wl-toc__item{ margin:0; padding:0; }
.wl-toc__link{
  display:inline-flex; align-items:baseline; gap:7px;
  border:1px solid var(--line,#e5e0d3); padding:7px 12px;
  text-decoration:none; color:var(--ink,#26231e); font-size:13px; letter-spacing:.02em;
  background:var(--cream,#faf9f6); border-radius:0; box-shadow:none;
  transition:border-color .2s, background .2s, color .2s;
}
@media (hover:hover){ .wl-toc__link:hover{ border-color:var(--ink,#26231e); background:var(--paper,#fff); } }
.wl-toc__num{ font-family:var(--serif,'Cormorant Garamond',serif); font-size:13px; letter-spacing:.1em; color:var(--gold-d,#bd8c2f); flex:none; }
.wl-toc__related{ display:none; }

/* 本文ブロック（01〜04） */
.wl-block{ margin-top:44px; scroll-margin-top:calc(var(--wh-stack, 96px) + var(--wh-gap, 18px) + 12px); }
.wl-block:first-child{ margin-top:0; }

.wl-block__head{
  display:flex; align-items:baseline; gap:12px;
  padding-bottom:12px; margin-bottom:6px; border-bottom:1px solid var(--line,#e5e0d3);
}
.wl-block__num{ font-family:var(--serif,'Cormorant Garamond',serif); font-weight:500; font-size:20px; letter-spacing:.1em; color:var(--gold-d,#bd8c2f); flex:none; }
.wl-block__title{ display:flex; flex:1; align-items:baseline; justify-content:space-between; gap:10px; min-width:0; }
.wl-block__name{ font-size:15.5px; font-weight:500; letter-spacing:.03em; color:var(--ink,#26231e); }
.wl-block__en{ font-family:var(--serif,'Cormorant Garamond',serif); font-size:10px; letter-spacing:.18em; color:var(--muted,#7a7368); text-align:right; flex:none; }

.wl-deflist{ margin:0; }
.wl-row{ display:grid; grid-template-columns:92px 1fr; column-gap:12px; padding:10px 0; margin:0; border-bottom:1px solid var(--line-l,#f0ece3); }
.wl-row:last-child{ border-bottom:none; }
.wl-row__label{ margin:0; font-size:11.5px; font-weight:400; color:var(--muted,#7a7368); line-height:1.7; }
.wl-row__value{ margin:0; font-size:12.5px; color:var(--ink,#26231e); line-height:1.8; word-break:break-word; overflow-wrap:anywhere; }
.wl-row__value a{ color:var(--gold-d,#bd8c2f); text-decoration:underline; text-underline-offset:.2em; }
.wl-row__value a:hover{ opacity:.7; }

/* ---------- お問い合わせ（クリーム地の枠。電話CTAは置かない） ---------- */
.wl-contact{
  margin-top:56px; background:var(--cream,#faf9f6); border:1px solid var(--line,#e5e0d3); padding:24px;
  border-radius:0; box-shadow:none;
}
.wl-contact__ttl{ margin:0 0 14px; font-size:15.5px; font-weight:600; letter-spacing:.03em; color:var(--ink,#26231e); }
.wl-contact__body{ margin:0 0 18px; }
.wl-contact__line{ margin:0 0 6px; font-size:13px; line-height:1.8; color:var(--body2,#5c564d); }
.wl-contact__line:last-child{ margin-bottom:0; }
.wl-contact__line a{ color:var(--gold-d,#bd8c2f); text-decoration:underline; text-underline-offset:.2em; }
.wl-contact__line a:hover{ opacity:.7; }
.wl-contact__btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:46px; padding:0 28px; background:var(--ink,#26231e); color:#fff;
  font-size:13px; letter-spacing:.05em; text-decoration:none; border-radius:0; box-shadow:none;
  transition:opacity .2s;
}
.wl-contact__btn:hover{ opacity:.82; }

/* ---------- PC（1024px〜）：2カラム＋タイポ拡大 ---------- */
@media (min-width:1024px){
  .wl-legal{ padding-top:calc(var(--wh-stack, 96px) + var(--wh-gap, 18px) + var(--wl-pt-pc, 0px)); padding-bottom:96px; }
  .wl-head{ padding-bottom:48px; }
  .wl-en{ font-size:12px; }
  .wl-h1{ font-size:34px; padding-bottom:20px; }
  .wl-updated{ font-size:12.5px; }

  .wl-layout{ display:grid; grid-template-columns:260px 1fr; column-gap:56px; align-items:start; margin-top:56px; }

  .wl-toc{ position:sticky; top:20px; margin-bottom:0; }
  .wl-toc__list{ flex-direction:column; flex-wrap:nowrap; gap:0; }
  .wl-toc__link{
    display:grid; grid-template-columns:28px 1fr; align-items:baseline;
    border:none; background:none; padding:10px 0; font-size:14px;
  }
  @media (hover:hover){ .wl-toc__link:hover{ background:none; color:var(--gold-d,#bd8c2f); } }
  .wl-toc__num{ font-size:15px; }
  .wl-toc__related{
    display:flex; flex-direction:column; gap:10px;
    margin-top:22px; padding-top:22px; border-top:1px solid var(--line,#e5e0d3);
  }
  .wl-toc__related a{ font-size:12.5px; color:var(--muted,#7a7368); text-decoration:none; transition:color .2s; }
  .wl-toc__related a:hover{ color:var(--ink,#26231e); }

  .wl-block{ margin-top:64px; }
  .wl-block__head{ display:grid; grid-template-columns:72px 1fr; column-gap:16px; align-items:baseline; padding-bottom:16px; }
  .wl-block__num{ font-size:30px; }
  .wl-block__title{ flex:none; display:flex; }
  .wl-block__name{ font-size:19px; }

  .wl-row{ grid-template-columns:160px 1fr; padding:12px 0; }
  .wl-row__label{ font-size:12.5px; }
  .wl-row__value{ font-size:14px; }

  .wl-contact{ padding:32px; }
}

/* SPは左右20pxを .wrap 側が既に確保している（.wl- 側で左右余白は付けない） */
@media (max-width:1023px){
  .wl-layout{ display:block; }
}
