:root{--bg:#ECEEEC;--paper:#F8F9F7;--ink:#18202B;--muted:#596371;--line:#CED3D5;--shu:#B4382A;--kin:#8A6B1C;--ai:#2C4B6E;--ai-soft:#DCE4EC;--shu-soft:#F3DEDA;--kin-soft:#F1E8D2;
--display:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;--body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#10141A;--paper:#171C24;--ink:#E7E4DC;--muted:#9AA3AE;--line:#2B323D;--shu:#E2664F;--kin:#D3B162;--ai:#86A8CF;--ai-soft:#1E2A38;--shu-soft:#3A2220;--kin-soft:#332B17;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.8;padding:0 16px}
.wrap{max-width:960px;margin:0 auto}
a{color:var(--ai)}
h1,h2,h3{font-family:var(--display);line-height:1.35;margin:0}
h1{font-size:clamp(28px,5vw,40px);font-weight:800}
h2{font-size:22px;font-weight:800;margin:36px 0 12px;padding-bottom:4px;border-bottom:2px solid var(--ink)}
h3{font-size:17px;font-weight:600}
.sh{border-bottom:1px solid var(--line);margin:0 -16px;padding:0 16px}
.sh-in{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:center;justify-content:space-between;padding:12px 0}
.brand{font-family:var(--display);font-weight:800;font-size:18px;color:var(--ink);text-decoration:none}
.sh nav{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13.5px}
.sh nav a{color:var(--ink);text-decoration:none}
.sh nav a.nav-contact{font-size:12px;color:var(--muted)}
.crumb{font-size:12.5px;color:var(--muted);margin:18px 0 10px}
.crumb a{color:var(--muted)}
.kana{color:var(--muted);font-size:14px;margin-top:4px}
.meta{font-size:13.5px;color:var(--muted);margin-top:6px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.chip{font-size:12px;padding:1px 8px;border-radius:3px;background:var(--ai-soft)}
.chip.tu{background:var(--shu-soft);color:var(--shu);font-weight:700}
.chip.t2{background:var(--kin-soft);box-shadow:inset 0 0 0 1px var(--kin)}
.chip.tb{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}
.lead{margin-top:14px;max-width:46em}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:12.5px;color:var(--muted);font-weight:500}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.bar{height:8px;background:var(--line);border-radius:4px;min-width:80px}
.bar span{display:block;height:100%;border-radius:4px;background:var(--ai)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.card .sub{font-size:12px;color:var(--muted)}
.card p{margin:6px 0 0;font-size:14px}
.hist{font-size:13px;color:var(--muted)}
.why{background:var(--paper);border-left:3px solid var(--shu);padding:12px 16px;border-radius:0 6px 6px 0}
.pn{display:flex;justify-content:space-between;gap:12px;margin:36px 0 8px;font-size:14px}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.tabs a{font-size:13px;padding:3px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none}
.tabs a[aria-current]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.tbl{overflow-x:auto}
.share{margin:28px 0 0}.share a{display:inline-block;background:var(--ink);color:var(--bg);text-decoration:none;font-weight:700;font-size:13.5px;padding:7px 16px;border-radius:999px}
.ad-slot{margin:32px 0}.ad-slot:empty{display:none}
.sf{border-top:1px solid var(--line);margin:48px -16px 0;padding:20px 16px 40px;font-size:12.5px;color:var(--muted)}
.sf a{color:var(--muted)}
.prose{max-width:46em;padding-top:28px}.prose h2{font-size:19px}
