/*[トークン:ここから]*/
:root{

  --navy-900:#0a192f; --navy-800:#0d2340; --navy-700:#142c4f;
  --gold-400:#c5a880; --gold-500:#b6975f; --gold-600:#a68538; --gold-050:#fdf8ec;
  --paper-50:#fbf8f1; --paper-100:#f5f0e3;
  --ink-900:#15110d; --ink-700:#2c2620; --ink-500:#5b544a; --ink-400:#7a7263;
  --line:#ded7c6;

  --font-sans:"BIZ UDPGothic","BIZ UDGothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
  --font-mincho:"Noto Serif JP",serif;

  --fs-1:10.7px;
  --fs-2:12px;
  --fs-3:13.5px;
  --fs-4:15.1px;
  --fs-5:17px;
  --fs-6:19.1px;
  --fs-7:21.4px;
  --fs-8:24px;
  --fs-9:27px;
  --fs-10:30.3px;
  --fs-11:34px;
  --fs-12:38.2px;
  --fs-13:42.8px;
  --fs-14:48.1px;
  --fs-15:54px;
  --fs-16:60.6px;
  --fs-17:68px;
  --fs-18:76.3px;

  --fs-19:85.7px;
  --fs-20:96.1px;
  --fs-21:107.9px;
  --fs-22:121.1px;

  --lh-tight:1.36;
  --lh-head:1.45;
  --lh-mid:1.55;
  --lh-base:1.9;

  --sp-1:4px;   --sp-2:8px;   --sp-3:12px;  --sp-4:16px;  --sp-5:24px;
  --sp-6:32px;  --sp-7:48px;  --sp-8:64px;  --sp-9:96px;  --sp-10:128px;

  --r-s:2px; --r-m:6px; --r-l:14px; --r-full:999px;

  --sh-1:0 1px 0 var(--line);
  --sh-2:0 6px 24px rgba(21,17,13,.07);
  --sh-3:0 18px 48px rgba(21,17,13,.10);

  --ease:cubic-bezier(.22,.61,.36,1);
  --dur-answer:.25s;
  --dur-switch:.3s;
  --dur-appear:.8s;

  --ou-depth:5px;
  --ou-emboss:0 1px 0 rgba(255,255,255,.72);
  --ou-card-a:#fffdf6; --ou-card-b:#efe7d2;
  --ou-pale-a:#fffefb; --ou-pale-b:#ebe1c7; --ou-pale-edge:#c9bd9d;
  --ou-gold-a:#c8a24e; --ou-gold-b:#8f7027; --ou-gold-edge:#57420f; --ou-gold-ink:#241a05;
  --ou-sh-card:0 2px 3px rgba(21,17,13,.08),0 14px 34px rgba(21,17,13,.14),inset 0 -2px 4px rgba(21,17,13,.05);
  --ou-sh-card-hover:0 3px 6px rgba(21,17,13,.10),0 22px 54px rgba(21,17,13,.20),inset 0 -2px 4px rgba(21,17,13,.05);

  --ease-app:cubic-bezier(.32,.72,.32,1);
  --d-press:70ms; --d-fast:140ms; --d-base:240ms;

  --r-app:10px; --r-app-lg:12px;

  --lum-core:#ffd166;
  --lum-flow:#34d399;
  --lum-orbit:#3b82f6;
  --lum-alert:#f87171;
  --viz-1:#2a78d6; --viz-2:#eda100; --viz-3:#4a3aa7; --viz-4:#1baf7a;
  --matsuba-500:#4a5d3a; --shu:#b03a2e;
  --gauge-ink-0:#0b1020; --gauge-ink-1:#141a2e; --gauge-ink-2:#1e2742;

  --lh-disp:1.06;
  --ls-disp:-.022em;
  --ls-lead:.005em;

  --w-narrow:760px; --w-base:1120px; --w-wide:1280px;

  --bg:var(--paper-50);
  --bg-tint:var(--paper-100);
  --fg:var(--ink-900);
  --fg-mid:var(--ink-700);
  --fg-sub:var(--ink-500);
  --fg-weak:var(--ink-400);
  --rule:var(--line);
  --accent:var(--gold-600);
  --accent-soft:var(--gold-400);
  --card:#fff;
}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#100f0d;
    --bg-tint:#17150f;
    --fg:#f3efe6;
    --fg-mid:rgba(243,239,230,.86);
    --fg-sub:rgba(243,239,230,.66);
    --fg-weak:rgba(243,239,230,.5);
    --rule:#332e25;
    --accent:#d0b784;
    --accent-soft:#c5a880;
    --card:#191712;
  }
}
:root[data-theme="dark"]{
  --bg:#100f0d;
  --bg-tint:#17150f;
  --fg:#f3efe6;
  --fg-mid:rgba(243,239,230,.86);
  --fg-sub:rgba(243,239,230,.66);
  --fg-weak:rgba(243,239,230,.5);
  --rule:#332e25;
  --accent:#d0b784;
  --accent-soft:#c5a880;
  --card:#191712;
}
/*[トークン:ここまで]*/

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.office{
  margin:0;background:var(--bg);color:var(--fg);
  font-family:var(--font-sans);font-weight:400;
  font-size:var(--fs-5);line-height:var(--lh-base);
  text-size-adjust:100%;-webkit-text-size-adjust:100%;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.maku{max-width:var(--w-base);margin:0 auto}
.yomi{max-width:var(--w-narrow);margin-left:auto;margin-right:auto}
.center{text-align:center}

/* ── 頭（白・事務所名が主役・電話・札）＝上に貼り付く ── */
.head{background:var(--card);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:50;box-shadow:0 1px 0 var(--rule),0 8px 24px rgba(21,17,13,.05)}
.head .maku{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand tel" "menu menu";align-items:center;gap:var(--sp-2) var(--sp-6);padding:var(--sp-4) var(--sp-5) 0}
.head .brand{grid-area:brand;text-decoration:none;color:var(--fg);display:flex;flex-direction:column;gap:2px}
.head .brand-sub{font-size:var(--fs-2);letter-spacing:.08em;color:var(--fg-sub)}
.head .brand-name{font-family:var(--font-mincho);font-weight:700;font-size:clamp(var(--fs-7),2.2vw,var(--fs-9));line-height:var(--lh-head);letter-spacing:.02em}
.head .head-tel{grid-area:tel;text-align:right;line-height:1.4}
.head .head-tel a{display:block;font-family:var(--font-mincho);font-weight:700;font-size:var(--fs-8);color:var(--fg);text-decoration:none;letter-spacing:.04em}
.head .head-tel span{font-size:var(--fs-2);color:var(--fg-sub)}
.head .menu{grid-area:menu;display:flex;gap:0;flex-wrap:wrap;border-top:1px solid var(--rule);margin-top:var(--sp-2)}
.head .menu a{
  color:var(--fg-mid);text-decoration:none;white-space:nowrap;
  font-size:var(--fs-4);padding:var(--sp-3) var(--sp-4);
  border-bottom:3px solid transparent;transition:color var(--d-fast) var(--ease-app),border-color var(--d-fast) var(--ease-app);
}
.head .menu a:hover{color:var(--fg);border-bottom-color:var(--accent-soft)}
.head .menu a[aria-current="page"]{color:var(--fg);font-weight:700;border-bottom-color:var(--accent)}
@media (max-width:720px){
  .head{position:static}
  .head .maku{grid-template-columns:1fr;grid-template-areas:"brand" "tel" "menu";gap:var(--sp-2);padding:var(--sp-4) var(--sp-4) 0}
  .head .head-tel{text-align:left}
  .head .head-tel a{display:inline;margin-right:var(--sp-3);font-size:var(--fs-6)}
  .head .menu a{font-size:var(--fs-3);padding:var(--sp-2) var(--sp-3)}
}

/* ── 節（帯） ── */
section{padding:var(--sp-9) var(--sp-5)}
.band{background:var(--bg)}
.band.tint{background:var(--bg-tint)}
.band.dark{background:var(--navy-900);color:rgba(243,239,230,.86)}
.band.dark h2{color:var(--paper-50)}
.band.dark a{color:var(--paper-50)}
@media (max-width:720px){section{padding:var(--sp-7) var(--sp-4)}}

/* ── 第一画面 ── */
.hero{padding-top:var(--sp-8);padding-bottom:var(--sp-8);background:
  radial-gradient(120% 90% at 100% 0%,rgba(197,168,128,.22),transparent 60%),
  linear-gradient(180deg,var(--bg-tint),var(--bg));border-bottom:1px solid var(--rule)}
.hero-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-7);align-items:center}
.hero-shot .hero-grid{grid-template-columns:1.05fr .95fr}
.hero-text{max-width:var(--w-narrow)}
.crumb{font-size:var(--fs-2);letter-spacing:.28em;color:var(--accent);margin:0 0 var(--sp-4);font-weight:500}
.crumb a{border-bottom:0;text-decoration:none}
.kai{font-size:var(--fs-3);letter-spacing:.2em;color:var(--accent);margin:0 0 var(--sp-3)}
.sub{font-size:var(--fs-4);letter-spacing:.08em;color:var(--accent);margin:0 0 var(--sp-5);font-family:var(--font-mincho)}
.date{font-size:var(--fs-3);color:var(--fg-sub);margin:0}
h1{
  font-family:var(--font-mincho);font-weight:700;color:var(--fg);
  font-size:clamp(var(--fs-9),4.2vw,var(--fs-13));
  line-height:var(--lh-tight);letter-spacing:var(--ls-disp);
  margin:0 0 var(--sp-5);
}
.hero .lead{color:var(--fg-mid)}
.lead{font-size:clamp(var(--fs-5),1.6vw,var(--fs-6));line-height:var(--lh-mid);letter-spacing:var(--ls-lead);margin:0 0 var(--sp-4)}
.hero .note{font-size:var(--fs-3);color:var(--fg-sub);margin:var(--sp-4) 0 0}
.hero .shot{position:relative;padding:0 0 var(--sp-6) 0}
.hero .shot img{width:100%;border-radius:var(--r-app-lg);border:1px solid var(--rule);box-shadow:var(--ou-sh-card);background:var(--card)}
.hero .shot img.sp{position:absolute;right:-6%;bottom:0;width:26%;border-radius:18px;box-shadow:0 18px 48px rgba(21,17,13,.28)}
@media (max-width:960px){.hero-shot .hero-grid{grid-template-columns:1fr}.hero .shot{padding-bottom:0}.hero .shot img.sp{display:none}}
@media (max-width:720px){.hero{padding-top:var(--sp-7)}.crumb{letter-spacing:.12em}}

h2{
  font-family:var(--font-mincho);font-weight:700;color:var(--fg);
  font-size:clamp(var(--fs-8),3vw,var(--fs-11));
  line-height:var(--lh-head);letter-spacing:var(--ls-disp);
  margin:0 0 var(--sp-6);display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;
}
h2::before{content:"";display:block;width:100%;height:3px;max-width:44px;background:var(--accent);border-radius:var(--r-full);margin-bottom:var(--sp-2)}
h2 .h2-icon{display:inline-flex}
h2 .h2-icon svg{width:36px;height:36px}
h3{
  font-family:var(--font-mincho);font-weight:600;color:var(--fg);
  font-size:clamp(var(--fs-6),2.2vw,var(--fs-8));
  line-height:var(--lh-head);margin:var(--sp-7) 0 var(--sp-4);
}
h4{font-family:var(--font-mincho);font-weight:600;color:var(--fg);font-size:clamp(var(--fs-5),2vw,var(--fs-7));line-height:var(--lh-head);margin:var(--sp-6) 0 var(--sp-3)}
p{margin:0 0 var(--sp-5)}
.band p{font-size:var(--fs-5);line-height:var(--lh-base)}
p.tate{font-family:var(--font-mincho);font-weight:600;padding-left:var(--sp-5);border-left:2px solid var(--accent-soft)}
.band a,.hero a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--gold-500);padding-bottom:1px;transition:border-color var(--d-fast) var(--ease-app)}
.band a:hover{border-bottom-color:var(--fg)}
.band.dark a{border-bottom-color:var(--gold-400)}
.tail{margin-top:var(--sp-6)}
.tail p{color:var(--fg-sub)}

/* ── 図（実機の絵） ── */
figure{margin:0}
figure.zu{margin:var(--sp-6) 0 var(--sp-7)}
figure.zu img{width:100%;border:1px solid var(--rule);border-radius:var(--r-app);box-shadow:var(--ou-sh-card);background:var(--card)}
figure.zu3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
figure.big{margin:var(--sp-7) auto 0;max-width:var(--w-base)}
figure.big img{width:100%;border:1px solid var(--rule);border-radius:var(--r-app-lg);box-shadow:var(--ou-sh-card);background:var(--card)}
@media (max-width:720px){figure.zu3{grid-template-columns:1fr}}

/* ── 図解（SVG）＋文 ── */
.zukai-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-7);align-items:center}
.zukai{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-app-lg);box-shadow:var(--ou-sh-card);padding:var(--sp-5)}
.zukai svg{width:100%;height:auto;display:block}
@media (max-width:960px){.zukai-grid{grid-template-columns:1fr}}

/* ── 数字の帯 ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
.stat{background:rgba(255,255,255,.05);border:1px solid rgba(197,168,128,.35);border-radius:var(--r-app-lg);padding:var(--sp-5) var(--sp-5) var(--sp-4)}
.stat .n{font-family:var(--font-mincho);font-weight:700;font-size:clamp(var(--fs-8),2.6vw,var(--fs-11));color:var(--gold-400);letter-spacing:var(--ls-disp);line-height:1.2;margin:0 0 var(--sp-3)}
.stat p{font-size:var(--fs-3);line-height:1.7;margin:0;color:rgba(243,239,230,.8)}
@media (max-width:960px){.stats{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.stats{grid-template-columns:1fr}}

/* ── 札（カード） ── */
.cards{display:grid;gap:var(--sp-5)}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.card{
  display:block;text-decoration:none;color:var(--fg);
  background:var(--card);border:1px solid var(--rule);border-top:3px solid var(--accent);border-radius:var(--r-app-lg);
  box-shadow:var(--ou-sh-card);padding:var(--sp-6) var(--sp-5) var(--sp-5);
  transition:transform var(--d-fast) var(--ease-app),box-shadow var(--d-fast) var(--ease-app);
}
a.card{border-bottom:1px solid var(--rule)}
a.card:hover{transform:translateY(-2px);box-shadow:var(--ou-sh-card-hover)}
.card svg{width:44px;height:44px;margin:0 0 var(--sp-3)}
.card h3{margin:0 0 var(--sp-3);font-size:clamp(var(--fs-6),1.8vw,var(--fs-7))}
.card p{font-size:var(--fs-4);line-height:1.8;margin:0 0 var(--sp-3)}
.card p:last-child{margin-bottom:0}
.card table.renraku{margin-top:var(--sp-3);font-size:var(--fs-3)}
.michi-nav{padding-top:0;padding-bottom:0;margin-top:calc(-1 * var(--sp-7));position:relative;z-index:2;background:transparent}
.michi-nav .cards{transform:translateY(0)}
.band-cards .yomi p{color:var(--fg-mid)}
@media (max-width:960px){.cards.c3{grid-template-columns:1fr}.cards.c2{grid-template-columns:1fr}.michi-nav{margin-top:0;padding-top:var(--sp-6)}}

/* ── 完成見本の見せ場 ── */
.showcase .yomi{text-align:center}
.showcase .yomi .btns{justify-content:center}

/* ── 事務所概要（お顔＋表） ── */
.gaiyo-grid,.gaiyo-wrap{display:grid;grid-template-columns:200px 1fr;gap:var(--sp-6);align-items:start}
.gaiyo-wrap{margin:var(--sp-5) 0 0}
.gaiyo-grid .portrait,.gaiyo-wrap .portrait{width:200px;height:200px;border-radius:var(--r-app-lg);border:1px solid var(--rule);object-fit:cover;background:var(--card);box-shadow:var(--ou-sh-card)}
.gaiyo-wrap table.renraku,.gaiyo-grid table.renraku{margin:0}
@media (max-width:720px){.gaiyo-grid,.gaiyo-wrap{grid-template-columns:1fr}.gaiyo-grid .portrait,.gaiyo-wrap .portrait{width:140px;height:140px}}

/* ── 表 ── */
table.renraku{border-collapse:collapse;width:100%;table-layout:fixed;margin:var(--sp-5) 0 0;font-size:var(--fs-4);background:var(--card);border:1px solid var(--rule);border-radius:var(--r-app);overflow:hidden}
table.renraku th,table.renraku td{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--rule);text-align:left;vertical-align:top;overflow-wrap:anywhere}
table.renraku tr:first-child th,table.renraku tr:first-child td{border-top:0}
table.renraku th{width:9.5em;background:var(--bg-tint);font-weight:500;color:var(--fg-sub)}
@media (max-width:720px){table.renraku th{width:6.5em}}
/* ── 料金（3枚の札） ── */
.price{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5);margin:var(--sp-6) 0}
.pcard{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-app-lg);box-shadow:var(--ou-sh-card);padding:var(--sp-6) var(--sp-5) var(--sp-5);display:flex;flex-direction:column}
.pcard.main{border:2px solid var(--gold-500);position:relative}
.pcard.main::before{content:"宣伝の中心";position:absolute;top:-12px;left:var(--sp-5);background:var(--navy-900);color:var(--gold-400);font-size:var(--fs-2);letter-spacing:.12em;padding:2px 12px;border-radius:var(--r-full)}
.pcard>svg{width:44px;height:44px;margin:0 0 var(--sp-3)}
.pcard h3{margin:0 0 var(--sp-4);font-size:clamp(var(--fs-6),1.8vw,var(--fs-7))}
.pcard .big{display:flex;align-items:baseline;gap:var(--sp-2);margin:0 0 var(--sp-2);flex-wrap:wrap}
.pcard .n{font-family:var(--font-mincho);font-weight:700;font-size:clamp(var(--fs-11),3vw,var(--fs-14));letter-spacing:var(--ls-disp);line-height:1.1;color:var(--fg)}
.pcard .n.small{font-size:clamp(var(--fs-8),2vw,var(--fs-10))}
.pcard .u{font-size:var(--fs-3);color:var(--fg-sub)}
.pcard .sub{font-size:var(--fs-3);color:var(--fg-sub);line-height:1.7;margin:0 0 var(--sp-4);min-height:2.6em}
.pcard .uchi{margin:0 0 var(--sp-4);padding:var(--sp-3) 0 0;border-top:1px solid var(--rule)}
.pcard .uchi div{display:flex;justify-content:space-between;gap:var(--sp-3);align-items:baseline;padding:var(--sp-2) 0;border-bottom:1px dashed var(--rule);font-size:var(--fs-3)}
.pcard .uchi dt{color:var(--fg-sub);margin:0}
.pcard .uchi dd{margin:0;font-family:var(--font-mincho);font-weight:700;font-size:var(--fs-5);white-space:nowrap;color:var(--fg)}
.pcard .chk{display:grid;gap:var(--sp-2);margin:auto 0 var(--sp-5);font-size:var(--fs-3);color:var(--fg-mid)}
.pcard .chk span{display:flex;gap:var(--sp-2);align-items:center}
.pcard .chk svg{width:18px;height:18px;flex:0 0 18px}
.pcard .btns{margin:0}
.pcard .btn{display:block;text-align:center;padding:var(--sp-3) var(--sp-5);font-size:var(--fs-5)}
@media (max-width:960px){.price{grid-template-columns:1fr}.pcard.main{order:-1}}
table.renraku a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--gold-500)}

/* ── よくある質問（折りたたみ） ── */
.faq details{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-app);margin:0 0 var(--sp-3);box-shadow:var(--sh-1)}
.faq summary{cursor:pointer;list-style:none;padding:var(--sp-4) var(--sp-8) var(--sp-4) var(--sp-5);font-family:var(--font-mincho);font-weight:600;font-size:var(--fs-5);position:relative;line-height:1.6}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:var(--sp-5);top:50%;width:10px;height:10px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:translateY(-70%) rotate(45deg);transition:transform var(--d-fast) var(--ease-app)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq .a{padding:0 var(--sp-5) var(--sp-4)}
.faq .a p{font-size:var(--fs-4);line-height:1.9}
.faq .a p:last-child{margin-bottom:0}
.faq .a figure.zu{max-width:320px;margin:var(--sp-4) auto 0}

/* ── 代表挨拶（文章） ── */
.essay h3{margin-top:var(--sp-8)}
.essay h4{margin-top:var(--sp-6)}
.sign{
  margin:var(--sp-8) 0 0;padding:var(--sp-6);
  background:linear-gradient(180deg,var(--ou-card-a),var(--ou-card-b));
  border:1px solid var(--rule);border-radius:var(--r-app);box-shadow:var(--ou-sh-card);
}
.sign p{font-size:var(--fs-4);line-height:1.85;margin:0}

/* ── 出どころ・着地・押す場所・足 ── */
.chu{background:var(--bg-tint);border-top:1px solid var(--rule);padding:var(--sp-7) var(--sp-5)}
.chu h2{font-size:var(--fs-6);font-family:var(--font-sans);font-weight:700;margin-top:0}
.chu h2::before{display:none}
.chu p{font-size:var(--fs-2);color:var(--fg-sub);line-height:1.8;margin:0 0 var(--sp-3)}
.chakuchi{background:var(--gold-050);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:var(--sp-8) var(--sp-5)}
.chakuchi .yomi{text-align:center}
.chakuchi .note{font-size:var(--fs-3);color:var(--fg-sub);margin:var(--sp-4) 0 0}
.chakuchi-lead{font-size:var(--fs-4);color:var(--fg-mid);margin:0 0 var(--sp-2)}
.btns{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin:var(--sp-5) 0 0}
.chakuchi .btns{justify-content:center}
.btn{
  display:inline-block;text-decoration:none;
  font-family:var(--font-sans);font-weight:700;font-size:var(--fs-6);
  color:var(--ou-gold-ink);padding:var(--sp-4) var(--sp-8);
  background:linear-gradient(180deg,var(--ou-gold-a),var(--ou-gold-b));
  border:1px solid var(--ou-gold-edge);border-radius:var(--r-full);
  box-shadow:0 var(--ou-depth) 0 var(--ou-gold-edge),var(--sh-2),var(--ou-emboss) inset;
  transition:transform var(--d-press) var(--ease-app),box-shadow var(--d-press) var(--ease-app);
}
.band .btn,.hero .btn{border-bottom:1px solid var(--ou-gold-edge)}
.btn:hover{box-shadow:0 var(--ou-depth) 0 var(--ou-gold-edge),var(--sh-3),var(--ou-emboss) inset}
.btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--ou-gold-edge),var(--sh-1),var(--ou-emboss) inset}
.btn2{color:var(--fg);background:linear-gradient(180deg,var(--ou-pale-a),var(--ou-pale-b));border-color:var(--ou-pale-edge);box-shadow:0 var(--ou-depth) 0 var(--ou-pale-edge),var(--sh-2),var(--ou-emboss) inset}
.band .btn2,.hero .btn2{border-bottom:1px solid var(--ou-pale-edge)}
.btn2:hover{box-shadow:0 var(--ou-depth) 0 var(--ou-pale-edge),var(--sh-3),var(--ou-emboss) inset}
.btn2:active{box-shadow:0 2px 0 var(--ou-pale-edge),var(--sh-1),var(--ou-emboss) inset}
@media (max-width:520px){.btn{display:block;text-align:center;padding:var(--sp-4) var(--sp-5)}.btns{flex-direction:column}}
.foot{background:var(--navy-900);color:rgba(243,239,230,.66);font-size:var(--fs-2);padding:var(--sp-7) var(--sp-5);text-align:center}
.foot p{margin:0 0 var(--sp-3)}
.foot a{color:var(--gold-400);margin:0 var(--sp-3);text-decoration:none}
.foot a:hover{color:var(--paper-50)}

/* ── 連載 ── */
.rensai-toc ol.rensai-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3)}
.rensai-toc ol.rensai-list a{
  display:grid;grid-template-columns:5.5em 1fr auto;gap:var(--sp-4);align-items:baseline;
  padding:var(--sp-4) var(--sp-5);text-decoration:none;color:var(--fg);border-bottom:0;
  background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:var(--r-app);box-shadow:var(--sh-1);
  transition:box-shadow var(--d-fast) var(--ease-app),transform var(--d-fast) var(--ease-app);
}
.rensai-toc ol.rensai-list a:hover{box-shadow:var(--ou-sh-card);transform:translateY(-1px)}
.rensai-toc .kai{color:var(--accent);font-size:var(--fs-3);letter-spacing:.1em;margin:0}
.rensai-toc .ttl{font-family:var(--font-mincho);font-weight:600;font-size:var(--fs-5)}
.rensai-toc time{font-size:var(--fs-2);color:var(--fg-sub);white-space:nowrap}
@media (max-width:720px){.rensai-toc ol.rensai-list a{grid-template-columns:1fr;gap:var(--sp-1)}}
.rensai .mokuji{margin:0 0 var(--sp-7);padding:var(--sp-5) var(--sp-6);background:var(--bg-tint);border:1px solid var(--rule);border-radius:var(--r-app)}
.rensai .mokuji ol{margin:0;padding-left:1.4em}
.rensai .mokuji li{font-size:var(--fs-4);line-height:1.8}
.rensai .mokuji a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--gold-500)}
.rensai .body h2{font-size:clamp(var(--fs-7),2.6vw,var(--fs-9));display:block;margin-top:var(--sp-8)}
.rensai .body h2::before{margin-bottom:var(--sp-3)}
.rensai .body p{font-size:var(--fs-5);line-height:var(--lh-base)}
.rensai .pn{display:grid;gap:var(--sp-3);margin:var(--sp-8) 0 0;padding-top:var(--sp-6);border-top:1px solid var(--rule)}
.rensai .pn a{display:block;padding:var(--sp-4) var(--sp-5);text-decoration:none;color:var(--fg);border-bottom:1px solid var(--rule);background:var(--card);border:1px solid var(--rule);border-radius:var(--r-app);font-size:var(--fs-4)}
.rensai .pn a:hover{box-shadow:var(--ou-sh-card)}
.rensai .pn a.up{text-align:center;color:var(--accent);background:transparent}
.honbun{padding-top:var(--sp-8)}

/* ── 出現の動き（3つの保険＝読み込み終わり・指でめくった・時間切れ） ── */
.js .rise{opacity:0;transform:translateY(14px)}
.js .rise.on{opacity:1;transform:none;transition:opacity var(--dur-appear) var(--ease),transform var(--dur-appear) var(--ease)}
@media (prefers-reduced-motion:reduce){.rise,.js .rise{opacity:1 !important;transform:none !important;transition:none !important}html{scroll-behavior:auto}}

/*[土台:ここから]*/
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:var(--r-s);
}

.dark :where(a,button,summary,[tabindex]):focus-visible{
  outline-color:var(--gold-400);
}

.skip{position:absolute;left:-9999px;top:0;z-index:200;
      background:var(--ink-900);color:var(--paper-50);
      padding:var(--sp-3) var(--sp-5);text-decoration:none;font-weight:700}
.skip:focus{left:var(--sp-3);top:var(--sp-3)}

@media print{
  :root{--bg:#fff;--bg-tint:#fff;--fg:#000;--fg-mid:#222;--fg-sub:#444;
        --rule:#999;--card:#fff;--accent:#666}
  html{scroll-behavior:auto}
  body{background:#fff;color:#000;padding-top:0;font-size:11pt;line-height:1.7}
  .head-fix,.bar,.menu,.skip,.cta,.cta2,nav,footer .sns,.rise-only{display:none !important}
  section{padding:12pt 0;break-inside:auto}
  h1,h2,h3{break-after:avoid;color:#000}
  .card,.zu,figure,table{break-inside:avoid}
  .dark,.tint,.light{background:#fff !important;color:#000 !important}
  .dark h1,.dark h2,.dark h3,.dark p,.dark .lead{color:#000 !important}
  img{max-width:100% !important}
  .js .rise{opacity:1 !important;transform:none !important}
  a[href^="http"]::after{content:" （" attr(href) "）";font-size:9pt;color:#555;word-break:break-all}
  a[href^="#"]::after,a[href^="mailto"]::after,a[href^="tel"]::after{content:""}
  @page{margin:16mm}
}
/*[土台:ここまで]*/
