:root{--bg:#fff;--ink:#1b2333;--sub:#5b6475;--line:#e6e9f0;--accent:#c8431b;--accent-soft:#fdf1ec;--blue:#2b4c7e;--blue-soft:#f3f6fb}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);overflow-wrap:anywhere;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,Meiryo,sans-serif;font-size:17px;line-height:1.95}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.sec{scroll-margin-top:24px}.toc{display:none}@media (width>=1000px){.layout{grid-template-columns:13rem minmax(0,42rem);justify-content:center;column-gap:3rem;padding:0 24px;display:grid}.layout .page{max-width:none;margin:0;padding-left:0;padding-right:0}.toc{align-self:start;margin-top:36px;font-size:.88rem;line-height:1.6;display:block;position:sticky;top:32px}.toc-title{color:var(--sub);letter-spacing:.12em;margin:0 0 10px;font-size:.78rem;font-weight:800}.toc ol{border-left:2px solid var(--line);margin:0;padding:0;list-style:none}.toc a{color:var(--sub);border-left:2px solid #0000;gap:8px;margin-left:-2px;padding:7px 10px 7px 14px;text-decoration:none;display:flex}.toc a:hover{color:var(--ink)}.toc a[aria-current=true]{border-left-color:var(--accent);color:var(--ink);font-weight:800}.toc-n{min-width:1em;color:var(--accent);flex:none;font-weight:800}}.page{max-width:40rem;margin:0 auto;padding:28px 20px 64px}.head{margin-bottom:8px}.chips{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.chip{background:var(--accent);color:#fff;border-radius:999px;padding:2px 12px;font-size:.78rem;font-weight:700;line-height:1.8;display:inline-block}.chip-sub{background:var(--accent-soft);color:var(--accent)}.head h1{letter-spacing:.01em;margin:0;font-size:clamp(1.7rem,7vw,2.3rem);font-weight:900;line-height:1.35}.lead{border-left:5px solid var(--accent);background:var(--accent-soft);border-radius:0 12px 12px 0;margin:20px 0 8px;padding:14px 18px;font-weight:700}.lead p{margin:0}.slot{margin:20px 0}.slot video,.slot img{background:var(--blue-soft);border-radius:14px;width:100%;display:block}.slot-video video{aspect-ratio:9/16;object-fit:cover;max-height:70vh;margin:0 auto}.slot-graphics{gap:12px;display:grid}.sec{margin:40px 0 0}.sec h2{align-items:center;gap:12px;margin:0 0 14px;font-size:1.28rem;font-weight:800;line-height:1.5;display:flex}.sec h2 .num{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:2.1rem;height:2.1rem;font-size:1rem;font-weight:800;line-height:1;display:grid}.sec p{margin:0 0 1em}.sec-story>p:first-of-type{margin-top:0}.timeline{border-left:3px solid var(--accent-soft);margin:18px 0 8px;padding:0 0 0 18px;list-style:none}.timeline li{flex-direction:column;gap:2px;padding:0 0 18px 14px;display:flex;position:relative}.timeline li:before{content:"";background:var(--accent);box-sizing:content-box;border:3px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:.62em;left:-27px}.timeline .year{color:var(--accent);font-size:1.15rem;font-weight:900;line-height:1.5}.timeline .what{line-height:1.7}.sec-summary{background:var(--accent-soft);border-radius:16px;padding:20px 18px 8px}.flow{flex-direction:column;align-items:stretch;gap:6px;margin:4px 0 12px;display:flex}.flow .step{text-align:center;background:#fff;border:1px solid #f3d6cb;border-radius:12px;padding:12px 16px;font-weight:700;line-height:1.7}.flow .arrow{text-align:center;color:var(--accent);font-weight:900;line-height:1}.sec-notes{background:var(--blue-soft);border-radius:16px;padding:20px 18px 8px;font-size:.95rem;line-height:1.85}.sec-notes h2{color:var(--blue);font-size:1.1rem}.sec-notes ol{margin:0 0 12px;padding-left:1.4em}.sec-notes li{margin-bottom:.8em}.sec-sources{border-top:1px solid var(--line);color:var(--sub);margin-top:28px;padding:4px 0;font-size:.88rem;line-height:1.8}.sec-sources summary{cursor:pointer;padding:12px 0;list-style-position:inside}.sec-sources summary h2{color:var(--ink);margin:0;font-size:1rem;display:inline}.table-wrap{-webkit-overflow-scrolling:touch;margin:12px 0;overflow-x:auto}.table-wrap table{border-collapse:collapse;min-width:36rem;font-size:.78rem;line-height:1.6}.table-wrap th,.table-wrap td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 8px}.sec-sources a{color:var(--blue)}.foot{text-align:center;color:var(--sub);margin-top:48px;font-size:.8rem}
