/* ============================================================
   NAGOYA BITES — Design System (nb.css)
   正本: data/design_system.json（トークン・閾値）/ docs/design-system.md（仕様書）
   全ページがこのファイルを読み込む。読み込み順は
   Google Fonts → nb.css → ページ固有 <style>（ページ側が上書き可）。
   DSN-001（2026-09）: 可読性・タイポグラフィ刷新の一部として新設。
   ============================================================ */

:root{
  /* ── 型スケール（床 12px。ユーザーが読む文字は --fs-xs 以上） ── */
  --fs-2xs:.75rem;                                /* 12px 写真クレジット・法的表示 */
  --fs-xs:.8125rem;                               /* 13px メタ・kicker・キャプション */
  --fs-sm:.875rem;                                /* 14px チップ・ボタン・カードのリード */
  --fs-md:clamp(.9375rem,.9rem + .2vw,1rem);      /* 15→16px 本文・入力欄 */
  --fs-lg:clamp(1.0625rem,1rem + .3vw,1.125rem);  /* 17→18px カード店名・リード段落 */
  --fs-xl:clamp(1.25rem,1.1rem + .6vw,1.5rem);    /* 20→24px h3・小見出し */
  --fs-2xl:clamp(1.5rem,1.2rem + 1.4vw,2rem);     /* 24→32px セクション h2 */
  --fs-3xl:clamp(2.125rem,1.6rem + 3vw,3.5rem);   /* 34→56px トップ h1 */
  --lh-display:1.15;--lh-heading:1.3;--lh-ui:1.4;--lh-body:1.8;
  --ls-display:.005em;--ls-jp:0;--ls-caps:.08em;

  --font-display:'Cormorant Garamond','Shippori Mincho','Hiragino Mincho ProN','Yu Mincho',serif;
  --font-body:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic',sans-serif;
  --font-mono:'DM Mono',ui-monospace,Menlo,monospace;

  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;
  --rhythm-xs:clamp(1rem,2vw,1.5rem);--rhythm-sm:clamp(2rem,4vw,3rem);
  --rhythm-md:clamp(4rem,7vw,5.5rem);--rhythm-lg:clamp(6rem,10vw,9rem);

  --r-sm:3px;--r-md:6px;--r-lg:10px;--r-pill:999px;
  --container-prose:720px;--container-mid:900px;--container-wide:1200px;
  --header-h:56px;--tap-min:44px;

  /* ── 色（パレット不変・命名/対比を修正） ── */
  --bg:#f7f5f1;--bg2:#eeebe5;--surface:#e5e2db;--card:#fff;--card-border:#d3d1c7;
  --border:rgba(0,0,0,.1);--border-h:rgba(0,0,0,.28);
  --text:#1c1c1a;--ink:#0a0a08;--white:var(--ink);
  --muted:rgba(28,28,26,.72);--dim:rgba(28,28,26,.55);
  --gold:#7a5c10;--gold2:#96720f;
  --ember:#b8541f;--ember-deep:#8c3a14;--ember-soft:#d97a3a;
  --warm-grad:linear-gradient(135deg,#d97a3a 0%,#b8541f 55%,#8c3a14 100%);
  --warm-glow:0 6px 20px rgba(184,84,31,.28),0 1px 3px rgba(140,58,20,.4);
  --green:#2e7d32;--green-dim:#46752a;
}

/* ── リセット・基本タイポ ── */
*{margin:0;padding:0;box-sizing:border-box;}
::selection{background:var(--gold);color:var(--bg);}
html{scroll-behavior:smooth;font-size:100%;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-body);
  font-size:var(--fs-md);
  line-height:var(--lh-body);
  letter-spacing:var(--ls-jp);
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
h1,h2,.nb-display{
  font-family:var(--font-display);
  line-height:var(--lh-display);
  letter-spacing:var(--ls-display);
  font-weight:500;
}
h3,h4{line-height:var(--lh-heading);font-weight:600;}
p{line-height:var(--lh-body);}
a{color:inherit;}
button,input,select,textarea{font:inherit;}
img{max-width:100%;display:block;}

/* iOS はフォームの font-size が 16px 未満だとフォーカス時に自動ズームする。
   16px 未満のまま維持したい見た目は transform:scale() ではなく、
   ここで一律 16px を保証することで防ぐ（過去の個別対応を集約）。 */
@media(max-width:768px){
  input,select,textarea{font-size:16px;}
}

.nb-kicker{
  font-family:var(--font-mono);
  font-size:var(--fs-xs);
  letter-spacing:var(--ls-caps);
  text-transform:uppercase;
  color:var(--gold);
}
.nb-label{
  font-size:var(--fs-xs);
  font-weight:500;
  color:var(--dim);
  letter-spacing:0;
}
.num-serif{font-family:var(--font-display);font-weight:500;font-style:normal;letter-spacing:.01em;}

.visually-hidden,.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:999;background:var(--gold);color:var(--bg);
  padding:.75rem 1.25rem;font-size:var(--fs-sm);border-radius:0 0 var(--r-sm) 0;
}
.skip-link:focus{left:0;}

:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}

/* ── サイト共通クローム: ヘッダー / ナビ / ハンバーガー / パンくず / フッター ── */
header{
  position:sticky;top:0;left:0;right:0;z-index:200;
  padding:0 1.5rem;height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(247,245,241,.96);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}
.logo{
  font-family:var(--font-display);font-weight:400;font-size:1.25rem;
  letter-spacing:.2em;color:var(--ink);text-transform:uppercase;text-decoration:none;
}
.logo em{font-style:italic;color:var(--gold);}
nav{display:flex;gap:1.75rem;align-items:center;}
nav a{
  font-family:var(--font-body);font-size:var(--fs-sm);font-weight:500;
  letter-spacing:.02em;color:var(--muted);text-decoration:none;transition:color .2s;
}
nav a:hover,nav a.active{color:var(--text);}
/* デスクトップでは主要5項目のみ表示。運営について・よくある質問・お問い合わせは
   モバイルドロワーにのみ表示する（ナビの視認性優先・情報はフッターにも常設） */
.nav-secondary{display:none;}
@media(max-width:900px){.nav-secondary{display:flex;}}

.hamburger{display:none;background:none;border:none;cursor:pointer;padding:4px;z-index:201;min-width:var(--tap-min);min-height:var(--tap-min);}
.hamburger svg{width:24px;height:24px;stroke:var(--text);stroke-width:1.8;stroke-linecap:round;}
.nav-overlay{display:none;}

@media(max-width:900px){
  .hamburger{display:flex;align-items:center;justify-content:center;}
  nav{
    position:fixed;top:0;right:-100%;width:70vw;max-width:300px;height:100vh;
    background:var(--bg);flex-direction:column;gap:0;padding:5rem 2rem 2rem;
    border-left:1px solid var(--border);box-shadow:-4px 0 24px rgba(0,0,0,.08);
    transition:right .3s ease;z-index:200;align-items:flex-start;
  }
  nav a{
    font-size:1rem;padding:.9rem 0;border-bottom:1px solid var(--border);
    width:100%;letter-spacing:0;min-height:var(--tap-min);display:flex;align-items:center;
  }
  nav.open{right:0;}
  .nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:199;}
  .nav-overlay.open{display:block;}
}

.breadcrumb{
  padding:.6rem 1.5rem;font-family:var(--font-body);font-size:var(--fs-xs);
  letter-spacing:0;color:var(--dim);max-width:var(--container-mid);margin:0 auto;
}
.breadcrumb a{color:var(--dim);text-decoration:none;}
.breadcrumb a:hover{color:var(--gold);}

footer{
  padding:2rem 1.5rem;text-align:center;border-top:1px solid var(--border);
  background:var(--bg2);
}
footer .fl2{font-family:var(--font-display);font-size:1rem;color:var(--text);letter-spacing:.05em;}
footer .fc,.footer-links{font-size:var(--fs-xs);color:var(--dim);margin-top:.5rem;}
footer a{color:var(--dim);text-decoration:none;}
footer a:hover{color:var(--gold);}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:.75rem;}
.footer-links a{font-size:var(--fs-xs);min-height:var(--tap-min);display:inline-flex;align-items:center;}
@media(max-width:768px){footer{padding:1.5rem 1rem;}}

/* ── 共通部品: チップ / ボタン / 記事本文 ── */
.chip,.tg,.pt,.ft,.at,.scene-chip,.sort-chip{
  font-size:var(--fs-sm);min-height:var(--tap-min);
  display:inline-flex;align-items:center;
}

.art-body{max-width:var(--container-prose);margin:0 auto;font-size:var(--fs-md);line-height:var(--lh-body);}
.art-title{font-family:var(--font-display);font-size:clamp(1.875rem,1.4rem + 2.2vw,2.75rem);line-height:var(--lh-display);}

.store-list{list-style:none;}
.store-card{border:1px solid var(--card-border);border-radius:var(--r-md);padding:1.25rem;margin-bottom:1rem;}
.store-name{font-size:var(--fs-lg);font-weight:600;line-height:var(--lh-heading);}
.store-meta{font-size:var(--fs-xs);color:var(--dim);}
.store-desc{font-size:var(--fs-md);line-height:var(--lh-body);color:var(--muted);}
.store-link{font-size:var(--fs-sm);color:var(--gold);text-decoration:none;}

.related{border-top:1px solid var(--border);padding-top:1.5rem;margin-top:2rem;}
.related-title{font-size:var(--fs-xl);margin-bottom:1rem;}
.tips-box{background:var(--bg2);border-radius:var(--r-md);padding:1.25rem;font-size:var(--fs-md);line-height:var(--lh-body);}
.insider-box{border-left:3px solid var(--gold);padding-left:1rem;font-size:var(--fs-md);line-height:var(--lh-body);}
.topcta{background:var(--surface);border-radius:var(--r-md);padding:1.25rem;font-size:var(--fs-sm);}

/* ============================================================
   DSN-003 — サイト共通クローム / セクション見出し / ボタン / 記事システム
   正本: scripts/lib/site_chrome.js（ヘッダー/ナビ/フッターのマークアップ）
   ここは「値」だけを持つ。ナビ項目・フッター群のテキストは lib 側の正本。
   ============================================================ */

/* ── クローム補強（既存 header/nav/breadcrumb/footer への追加ルール） ── */
nav a{position:relative;}
nav a[aria-current="page"]{color:var(--text);}
nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--gold);}
.nav-fav{color:var(--gold);font-size:var(--fs-sm);}
.breadcrumb span{margin:0 .4rem;opacity:.5;}
@media(max-width:900px){
  nav a[aria-current="page"]::after{display:none;}
  nav a[aria-current="page"]{color:var(--gold);}
}

/* ── サイトマップ型フッター（.nb-footer） ── */
footer.nb-footer{text-align:left;padding:var(--rhythm-sm) 1.5rem var(--sp-6);background:var(--bg2);border-top:1px solid var(--border);}
.nb-footer-inner{max-width:var(--container-wide);margin:0 auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--sp-6);}
.nb-footer-brand .logo{display:inline-block;margin-bottom:var(--sp-3);}
.nb-footer-tagline{font-size:var(--fs-sm);color:var(--muted);max-width:32ch;line-height:var(--lh-body);}
.nb-footer-title{font-size:var(--fs-xs);font-weight:600;color:var(--dim);margin-bottom:var(--sp-2);}
.nb-footer-group{display:flex;flex-direction:column;}
.nb-footer-group a{display:flex;align-items:center;min-height:var(--tap-min);font-size:var(--fs-sm);color:var(--muted);text-decoration:none;}
.nb-footer-group a:hover{color:var(--gold);}
.nb-footer-bottom{max-width:var(--container-wide);margin:var(--sp-6) auto 0;padding-top:var(--sp-4);border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3) var(--sp-5);font-size:var(--fs-xs);color:var(--dim);}
.nb-footer-bottom a{color:var(--dim);text-decoration:none;}
.nb-footer-bottom a:hover{color:var(--gold);}
.nb-footer .feedback-nudge{margin-left:auto;font-size:var(--fs-xs);color:var(--dim);}
@media(max-width:768px){
  footer.nb-footer{padding:var(--rhythm-sm) 1rem var(--sp-5);}
  .nb-footer-inner{grid-template-columns:1fr 1fr;}
  .nb-footer-brand{grid-column:1/-1;margin-bottom:var(--sp-2);}
  .nb-footer-bottom .feedback-nudge{margin-left:0;}
}
@media(max-width:480px){.nb-footer-inner{grid-template-columns:1fr;}}

/* ── セクション見出し（トップ各面で共通） ── */
.nb-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);max-width:var(--container-wide);margin:0 auto var(--sp-5);padding:0 1.5rem var(--sp-3);border-bottom:1px solid var(--border);}
.nb-section-head h2{font-family:var(--font-display);font-weight:500;font-size:var(--fs-2xl);line-height:var(--lh-display);color:var(--ink);}
.nb-section-head h2 em{font-style:italic;color:var(--gold);}
.nb-section-lead{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--sp-1);}
.nb-more{display:inline-flex;align-items:center;gap:.45rem;min-height:var(--tap-min);font-size:var(--fs-sm);color:var(--gold);text-decoration:none;white-space:nowrap;}
.nb-more::after{content:"";display:inline-block;width:18px;height:1px;background:currentColor;transition:width .25s ease;}
.nb-more:hover{color:var(--ember-deep);}
.nb-more:hover::after{width:28px;}

/* ── ボタン ── */
.nb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:var(--tap-min);padding:0 var(--sp-5);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:500;letter-spacing:0;border-radius:var(--r-sm);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.nb-btn--primary{background:var(--gold);color:var(--bg);}
.nb-btn--primary:hover{background:var(--gold2);}
.nb-btn--secondary{background:#fff;color:var(--gold);border-color:var(--gold);}
.nb-btn--secondary:hover{background:rgba(122,92,16,.08);}
.nb-btn--ghost{background:transparent;color:var(--muted);border-color:var(--border);}
.nb-btn--ghost:hover{color:var(--text);border-color:var(--border-h);}

/* ── 記事システム（journal / features 共通。ページ側の重複定義は撤去する） ── */
.art-hero,.hero:not(.nb-cover){max-width:var(--container-mid);margin:0 auto;padding:var(--rhythm-sm) 1.5rem var(--sp-6);}
.art-eyebrow,.hero-eyebrow{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:500;letter-spacing:0;color:var(--gold);text-transform:none;margin-bottom:var(--sp-3);}
.art-title,.hero-title,.hero:not(.nb-cover) > h1{font-family:var(--font-display);font-weight:500;font-size:clamp(1.875rem,1.4rem + 2.2vw,2.75rem);line-height:var(--lh-display);color:var(--ink);margin-bottom:var(--sp-4);}
.art-title em,.hero-title em,.hero:not(.nb-cover) > h1 em{font-style:italic;color:var(--gold);}
.art-meta,.hero-meta{display:flex;flex-wrap:wrap;gap:var(--sp-4);font-size:var(--fs-xs);color:var(--dim);margin-bottom:var(--sp-5);}
.art-lead,.hero-lead,.hero-sub{font-size:var(--fs-lg);line-height:var(--lh-body);color:var(--muted);border-left:2px solid var(--gold);padding-left:var(--sp-4);max-width:42em;}
.art-lead p,.hero-lead p{margin-bottom:var(--sp-2);}
.art-lead p:last-child,.hero-lead p:last-child{margin-bottom:0;}
.hero-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--sp-4);}
.hero-tag{display:inline-flex;align-items:center;min-height:var(--tap-min);padding:0 var(--sp-3);font-size:var(--fs-xs);color:var(--gold);border:1px solid rgba(122,92,16,.3);border-radius:var(--r-pill);background:rgba(122,92,16,.06);}

.art-hero-image,.art-hero-img{max-width:var(--container-mid);margin:0 auto var(--sp-5);background:var(--bg2);border-radius:var(--r-lg);overflow:hidden;}
.art-hero-image img,.art-hero-img img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;}
@media(min-width:768px){.art-hero-image img,.art-hero-img img{aspect-ratio:16/9;max-height:460px;}}
.art-img-credit{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.06em;color:var(--dim);text-align:right;padding:.3rem 0;max-width:var(--container-mid);margin:0 auto;}
.art-img-credit a{color:var(--dim);text-decoration:none;}
.art-img-credit a:hover{color:var(--gold);}

.art-body,.content{max-width:var(--container-prose);margin:0 auto;padding:0 1.5rem var(--rhythm-md);font-size:var(--fs-md);line-height:var(--lh-body);}
.art-body p,.content p{color:var(--muted);margin-bottom:var(--sp-5);}
.art-body h2,.content h2,.section-label{font-family:var(--font-display);font-weight:500;font-size:var(--fs-xl);color:var(--ink);margin:var(--sp-7) 0 var(--sp-3);padding-top:var(--sp-4);border-top:2px solid var(--gold);}
.art-body h3,.content h3{font-family:var(--font-body);font-weight:600;font-size:var(--fs-lg);color:var(--ink);margin:var(--sp-6) 0 var(--sp-2);}
.art-body a,.content a{color:var(--gold);}
.art-intro,.body-para{font-size:var(--fs-md);line-height:var(--lh-body);color:var(--muted);margin-bottom:var(--sp-4);}
/* DSN-004: 本文可読性の強調ルール(太字/マーカー/色/文字サイズ)。段落1つに1箇所を目安に、
   要点(数字・判断軸・結論)だけへ絞って使う。多用すると強調が効かなくなるため乱用しない。 */
.art-body strong,.content strong{color:var(--ink);font-weight:700;}
.art-body mark,.content mark{background:rgba(122,92,16,.16);color:var(--ink);padding:.05em .2em;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.art-accent{color:var(--gold2);font-weight:600;}
.art-num{font-family:var(--font-display);font-weight:500;font-size:var(--fs-lg);color:var(--gold2);}

.tips-box,.insider-box,.source-note,.art-ig-cta,.nb-site-intro{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:0 var(--r-md) var(--r-md) 0;padding:var(--sp-4) var(--sp-5);margin:var(--sp-5) 0;}
.tips-title,.insider-title{font-family:var(--font-body);font-weight:600;font-size:var(--fs-xs);letter-spacing:0;color:var(--gold);text-transform:none;margin-bottom:var(--sp-2);}
.tips-box ul,.insider-box ul{padding-left:var(--sp-4);}
.tips-box li,.tips-box p,.insider-box li{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--muted);margin-bottom:.3rem;}
.source-note{font-size:var(--fs-xs);line-height:var(--lh-ui);color:var(--dim);}
.source-note a{color:var(--gold);text-decoration:none;}
.nb-site-intro{font-size:var(--fs-xs);color:var(--dim);line-height:var(--lh-ui);}
.nb-site-intro a{color:var(--gold);text-decoration:none;}

.store-list{display:flex;flex-direction:column;gap:var(--sp-4);margin:var(--sp-5) 0;}
.store-card{display:flex;gap:var(--sp-4);align-items:flex-start;background:var(--card);border:1px solid var(--card-border);border-radius:var(--r-md);padding:var(--sp-5);margin-bottom:0;}
.store-num{font-family:var(--font-display);font-weight:500;font-size:var(--fs-2xl);color:var(--gold);opacity:.6;line-height:1;min-width:2rem;text-align:center;}
.store-info{flex:1;min-width:0;}
.store-name{font-family:var(--font-body);font-weight:700;font-size:var(--fs-lg);line-height:var(--lh-heading);color:var(--ink);margin:0 0 var(--sp-1);}
.store-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--dim);margin-bottom:var(--sp-2);}
.store-meta .score{color:var(--gold2);font-weight:500;}
.store-desc{font-size:var(--fs-md);line-height:var(--lh-body);color:var(--muted);margin-bottom:var(--sp-3);}
.store-cta-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);}
@media(max-width:640px){.store-card{flex-direction:column;gap:var(--sp-2);}}

/* CTA 統一（HotPepper赤・Google青は廃止し gold 系1系統に統一） */
.store-link,.link-btn{display:inline-flex;align-items:center;gap:.35rem;min-height:var(--tap-min);background:#fff;color:var(--gold);border:1px solid var(--gold);padding:0 var(--sp-4);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:500;text-decoration:none;transition:background .15s,transform .1s;}
.store-link:hover,.link-btn:hover{background:rgba(122,92,16,.08);}
.store-link-reserve,.store-link[href*="hotpepper"],.link-btn.hp,.topcta .store-link:not([href*="hotpepper"]){background:var(--gold);color:var(--bg);border-color:var(--gold);}
.store-link-reserve:hover,.store-link[href*="hotpepper"]:hover,.link-btn.hp:hover,.topcta .store-link:not([href*="hotpepper"]):hover{background:var(--gold2);transform:translateY(-1px);}
.store-link-map{background:#fff;color:var(--gold);border:1px solid var(--gold);}
.store-link-map:hover{background:rgba(122,92,16,.08);}

.related,.related-wrap{background:var(--bg2);border-top:1px solid var(--border);padding:var(--rhythm-sm) 1.5rem;text-align:center;}
.related-title{font-family:var(--font-display);font-weight:500;font-size:var(--fs-xl);color:var(--ink);margin-bottom:var(--sp-4);}
.related-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2);max-width:var(--container-mid);margin:0 auto;}
.related-link{display:inline-flex;align-items:center;min-height:var(--tap-min);font-size:var(--fs-sm);color:var(--gold);text-decoration:none;border:1px solid rgba(122,92,16,.35);padding:0 var(--sp-4);border-radius:var(--r-sm);}
.related-link:hover{background:rgba(122,92,16,.08);}
.related-link.is-primary{background:rgba(122,92,16,.08);}

/* ── SEO-042 TOP-CTA（トークン化。add_feature_top_cta.js は今後マークアップのみ返す） ── */
.topcta{max-width:880px;margin:0 auto var(--sp-6);padding:var(--sp-4) var(--sp-5) var(--sp-5);border:1px solid rgba(122,92,16,.22);border-radius:var(--r-md);background:rgba(122,92,16,.035);}
.topcta-head{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--gold);margin-bottom:.15rem;}
.topcta-sub{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--sp-4);line-height:var(--lh-ui);}
.topcta-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3);}
.topcta-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;}
.topcta-name{font-size:var(--fs-md);font-weight:500;min-width:0;}
.topcta-actions{display:flex;gap:var(--sp-2);flex-shrink:0;}
@media(max-width:640px){.topcta{padding:var(--sp-4) var(--sp-3) var(--sp-4);}.topcta-item{flex-direction:column;align-items:flex-start;gap:.45rem;}.topcta-actions{width:100%;}}

/* ── 季節バナー / 新顔バッジ（#b08d2c を廃止しトークン化） ── */
.season-note{display:flex;align-items:flex-start;gap:var(--sp-3);margin:0 0 var(--sp-5);padding:var(--sp-3) var(--sp-4);border:1px solid rgba(122,92,16,.3);border-left:3px solid var(--gold);border-radius:var(--r-md);background:rgba(122,92,16,.06);}
.season-note-flag{flex:none;font-size:var(--fs-xs);font-weight:700;color:var(--bg);background:var(--gold);padding:.25rem .6rem;border-radius:var(--r-pill);white-space:nowrap;}
.season-note-text{margin:0;font-size:var(--fs-sm);line-height:var(--lh-ui);color:var(--text);}
.store-new,.shop-new{display:inline-block;margin-left:.5rem;font-size:var(--fs-xs);font-weight:700;color:var(--bg);background:var(--gold);padding:.1rem .45rem;border-radius:var(--r-sm);vertical-align:middle;white-space:nowrap;}

/* ── 目次（編集規約） ── */
.nb-toc{max-width:var(--container-prose);margin:0 auto var(--sp-6);padding:var(--sp-4) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg2);}
.nb-toc ol{list-style:none;margin:0;padding:0;columns:2;column-gap:var(--sp-5);}
.nb-toc a{display:flex;gap:var(--sp-2);align-items:center;min-height:var(--tap-min);font-size:var(--fs-sm);color:var(--muted);text-decoration:none;break-inside:avoid;}
.nb-toc a:hover{color:var(--gold);}
.nb-toc .num{font-family:var(--font-mono);color:var(--gold);}
@media(max-width:640px){.nb-toc ol{columns:1;}}

.nb-note{font-size:var(--fs-xs);line-height:var(--lh-ui);color:var(--dim);}
