
:root{
  --paper:#FCFCFA; --ink:#1A1C22; --muted:#5A5F6C;
  --rule:#B4BAC6; --rule-fn:#7E8798;
  --red:#B72E22; --warn:#8A3A1E; --pos:#2F6B4F;
  --blue:#2C4F7A; --green:#3D6B45;
  --highlight:#FCE58A; --wash:#F4F5F7;
  --t1:34px; --t2:23px; --t3:19px; --t4:18px; --t5:15px; --t6:12px;
  --lh:1.78;
  --s1:4px; --s2:8px; --s3:16px; --s4:24px; --s5:32px; --s6:40px; --s7:56px;
  --mincho:"Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho",serif;
  --sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);
 font-size:var(--t4);line-height:var(--lh);letter-spacing:.012em;margin:0}
.wrap{max-width:700px;margin:0 auto;padding:0 var(--s5)}
p,li,td,th,dd{line-break:strict;word-break:auto-phrase;overflow-wrap:break-word}
h1,h2,h3,h4{font-family:var(--mincho);text-wrap:balance;margin:0;font-weight:700}
h1{font-size:var(--t1);line-height:1.4}
h2{font-size:var(--t2);line-height:1.5}
h3{font-size:var(--t3);line-height:1.55}
p{margin:0 0 var(--s3)}
a{color:var(--ink)}
.num{font-weight:700;font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono)}
.muted{color:var(--muted)}
.kicker{font-family:var(--mono);font-size:var(--t6);letter-spacing:.14em;
 color:var(--muted);text-transform:uppercase}

/* --- 帯 (号ページと同じ sticky 言語) --- */
.bar{position:sticky;top:0;z-index:30;background:rgba(252,252,250,.97);
 border-bottom:1px solid var(--rule);backdrop-filter:saturate(180%) blur(8px)}
.bar-in{max-width:700px;margin:0 auto;padding:10px var(--s5);display:flex;
 align-items:baseline;justify-content:space-between;gap:var(--s3)}
.bar-in .brand{font-family:var(--mincho);font-weight:700;font-size:var(--t5);
 text-decoration:none}
.bar-in .nav{display:flex;gap:var(--s4);font-size:var(--t6)}
.bar-in .nav a{text-decoration:none;color:var(--muted)}
.bar-in .nav a.on,.bar-in .nav a:hover{color:var(--ink);font-weight:700}

/* --- Layer 1: 感情起動 (FV) --- */
.hero{padding:var(--s7) 0 var(--s6);border-bottom:3px solid var(--ink)}
.hero h1{margin:var(--s3) 0 var(--s3)}
.hero .value{font-family:var(--mincho);font-size:var(--t3);line-height:1.7}
.hero .sub{color:var(--muted);font-size:var(--t5);max-width:34em}

/* --- 最新号 (数字先行カード) --- */
.latest{padding:var(--s6) 0;border-bottom:1px solid var(--rule)}
.latest .no{font-family:var(--mono);font-size:var(--t6);color:var(--muted);
 letter-spacing:.1em;margin-bottom:var(--s2)}
.latest h2{font-size:26px;line-height:1.45;margin-bottom:var(--s4)}
.findings{list-style:none;margin:0 0 var(--s4);padding:0}
.findings li{border-left:3px solid var(--ink);padding:var(--s1) 0 var(--s1) var(--s3);
 margin-bottom:var(--s3);font-family:var(--mincho);font-size:var(--t3);line-height:1.6}
.btn{display:inline-block;border:2px solid var(--ink);padding:12px 28px;
 text-decoration:none;font-weight:700;font-size:var(--t5);background:var(--ink);
 color:var(--paper)}
.btn:hover{background:var(--paper);color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}

/* --- Layer 2: 理屈納得 --- */
.section{padding:var(--s6) 0;border-bottom:1px solid var(--rule)}
.section>.kicker{display:block;margin-bottom:var(--s3)}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
 gap:var(--s4);margin-top:var(--s4)}
.three h3{font-size:var(--t4);margin-bottom:var(--s2)}
.three p{font-size:var(--t5);color:var(--muted);margin:0}
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin-top:var(--s4)}
.tier{border:1px solid var(--rule);padding:var(--s4)}
.tier.paid{border:2px solid var(--ink)}
.tier .th{font-family:var(--mono);font-size:var(--t6);letter-spacing:.1em;
 color:var(--muted);margin-bottom:var(--s2)}
.tier ul{margin:0;padding-left:1.2em;font-size:var(--t5)}
.tier li{margin-bottom:var(--s2)}
.tier .note-cta{margin-top:var(--s3);font-size:var(--t5)}

/* --- アーカイブ / 台帳 --- */
.issue-list{list-style:none;margin:var(--s4) 0 0;padding:0}
.issue-list li{display:flex;gap:var(--s4);align-items:baseline;
 padding:var(--s3) 0;border-bottom:1px solid var(--rule)}
.issue-list .wk{font-family:var(--mono);font-size:var(--t6);color:var(--muted);
 white-space:nowrap}
.issue-list a{font-family:var(--mincho);font-weight:700;text-decoration:none;
 font-size:var(--t4)}
.issue-list a:hover{text-decoration:underline}
table.plain{width:100%;border-collapse:collapse;font-size:var(--t5);margin-top:var(--s4)}
table.plain th,table.plain td{text-align:left;padding:var(--s2) var(--s3);
 border-bottom:1px solid var(--rule)}
table.plain th{font-size:var(--t6);color:var(--muted);font-weight:400}

.promise{border-left:3px solid var(--blue);background:var(--wash);
 padding:var(--s4);font-size:var(--t5);margin-top:var(--s4)}
.promise p{margin:0 0 var(--s2)}
.promise p:last-child{margin:0}

.footer{padding:var(--s6) 0 var(--s7);color:var(--muted);font-size:var(--t6)}
.footer a{color:var(--muted)}

@media (max-width:480px){
  :root{--t1:27px;--t2:21px}
  .wrap,.bar-in{padding-left:var(--s3);padding-right:var(--s3)}
  .latest h2{font-size:22px}
  .tiers{grid-template-columns:1fr}
  .hero{padding-top:var(--s6)}
}
