:root{color-scheme:light;--bg:#F7F7F5;--surface:#EEEEEB;--surface-2:#E4E4E0;--ink:#111111;--ink-soft:#383838;--muted:#666666;--accent:#D11F1A;--accent-soft:rgba(209,31,26,.22);--accent-line:rgba(209,31,26,.2);--sea:#1D4E9E;--sea-line:rgba(29,78,158,.2);--font-disp:"Zen Kaku Gothic New", sans-serif;--font-body:"Noto Sans JP", sans-serif;--font-mono:"Barlow Condensed", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.95;-webkit-font-smoothing:antialiased}a{color:inherit}::selection{background:var(--accent-soft)}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:72px 16px 96px;text-align:center;background:radial-gradient(ellipse at 50% 42%,rgba(209,31,26,.07),transparent 62%),var(--bg)}.hero-rings{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.meta-bar{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:1080px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--muted);margin-bottom:clamp(24px,5vw,44px)}.meta-bar span:first-child{color:var(--accent)}.kicker{position:relative;z-index:2;font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;color:var(--accent);text-transform:uppercase;margin:0 0 22px}.hero-map{position:relative;width:min(560px,88vw,56svh);min-width:min(300px,88vw);aspect-ratio:1/1;margin:0 auto 34px;z-index:2}.seal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(88px,22vw,128px);height:clamp(88px,22vw,128px);border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#fff,#f1f1ee 78%);border:2px solid var(--accent);box-shadow:0 0 0 7px #d11f1a12,0 10px 40px #d11f1a24;z-index:3}.seal-glyph{font-family:var(--font-disp);font-weight:900;font-size:clamp(38px,9vw,54px);color:var(--accent);line-height:1}.orbit-line{position:absolute;border-radius:50%;border:1px solid var(--accent-line)}.orbit-line.r1{inset:22%;border-style:dashed;border-color:var(--sea-line)}.orbit-line.r2{inset:6%}.pillar{position:absolute;width:clamp(62px,17vw,98px);height:clamp(62px,17vw,98px);top:var(--y);left:var(--x);transform:translate(-50%,-50%);border-radius:50%;background:#fffffff2;border:1px solid var(--accent-line);box-shadow:0 4px 14px #1111110f;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--ink-soft);font-size:11px;text-align:center;padding:4px;animation:drift var(--duration,34s) ease-in-out infinite;animation-delay:var(--delay,0s);transition:border-color .25s,color .25s,background .25s}.pillar:hover,.pillar:focus-visible{border-color:var(--accent);color:var(--ink);background:#fff4f3;animation-play-state:paused}.pillar:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.pillar-num{font-family:var(--font-disp);font-weight:700;font-size:18px;color:var(--accent);line-height:1;margin-bottom:3px}.pillar-jp{font-size:11px;font-weight:500;line-height:1.3}.pillar-en{display:block;font-family:var(--font-mono);font-size:8px;color:var(--muted);margin-top:2px;letter-spacing:.1em}@keyframes drift{0%,to{margin-top:0;margin-left:0}50%{margin-top:-8px;margin-left:5px}}.hero-name{position:relative;z-index:2;font-family:var(--font-disp);font-weight:900;font-size:clamp(34px,6vw,56px);letter-spacing:.04em;margin:0 0 6px;line-height:1.2}.hero-title{position:relative;z-index:2;font-family:var(--font-disp);font-weight:700;font-size:clamp(22px,3.6vw,34px);line-height:1.55;margin:0 0 18px;color:var(--accent);text-wrap:balance}.hero-lead{position:relative;z-index:2;font-size:15px;color:var(--ink-soft);max-width:540px;margin:0 auto 26px}.hero-guide{position:relative;z-index:2;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;color:var(--muted);margin:0}.scroll-hint{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.12em;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:2}.scroll-hint:after{content:"";width:1px;height:26px;background:linear-gradient(var(--accent),transparent);animation:pulse-line 2.4s ease-in-out infinite}@keyframes pulse-line{0%,to{opacity:.3}50%{opacity:1}}section.pillar-sec{padding:104px 0;border-top:1px solid var(--accent-line)}section.pillar-sec:nth-of-type(odd){background:#1d4e9e09}.pillar-sec .wrap{display:grid;grid-template-columns:120px 1fr;gap:40px}.sec-mark{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.sec-mark .num{font-family:var(--font-disp);font-weight:700;font-size:44px;color:var(--accent);line-height:1}.sec-mark .tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--muted);writing-mode:vertical-rl}.sec-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--accent);margin:0 0 14px}.sec-title{font-family:var(--font-disp);font-weight:700;font-size:clamp(23px,3vw,32px);line-height:1.55;margin:0 0 24px;text-wrap:balance}.sec-body>p{max-width:660px;color:var(--ink-soft);font-size:16px;margin:0 0 18px}.sec-body h3{font-family:var(--font-disp);font-weight:700;font-size:18px;margin:38px 0 12px;color:var(--ink)}.pull{font-family:var(--font-disp);font-weight:700;font-size:clamp(19px,2.2vw,24px)!important;color:var(--ink)!important;border-left:3px solid var(--accent);padding:6px 0 6px 20px;margin:26px 0!important;max-width:620px;line-height:1.7}.exchange{font-size:14px;color:var(--ink-soft);background:#fff;border:1px solid var(--sea-line);border-radius:14px;padding:18px 20px;margin:24px 0;max-width:620px;line-height:1.9}.exchange b{font-family:var(--font-mono);color:var(--sea);font-weight:500;margin-right:6px}.exchange b.a{color:var(--accent)}.chips{list-style:none;padding:0;margin:18px 0 24px;display:flex;flex-wrap:wrap;gap:10px;max-width:660px}.chips li{font-size:14px;font-weight:500;color:var(--ink);background:#fff;border:1px solid var(--accent-line);border-radius:999px;padding:6px 16px}.chips.sea li{border-color:var(--sea-line);color:var(--sea)}.timeline{list-style:none;padding:0;margin:10px 0 0;max-width:660px;border-left:1px solid var(--accent-line)}.timeline li{position:relative;padding:0 0 30px 26px}.timeline li:before{content:"";position:absolute;left:-6px;top:9px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}.timeline .when{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--accent)}.timeline .what{display:block;font-family:var(--font-disp);font-weight:700;font-size:18px;margin:2px 0 8px}.timeline p{margin:0 0 10px;color:var(--ink-soft);font-size:15.5px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:660px;margin:22px 0}.card{background:#fff;border:1px solid var(--accent-line);border-radius:14px;padding:18px 20px}.card .label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;color:var(--muted);margin:0 0 6px}.card p{margin:0;font-size:15px;color:var(--ink-soft);line-height:1.8}.card.sea{border-color:var(--sea-line)}.thesis{padding:124px 0;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(209,31,26,.09),transparent 60%),var(--surface);border-top:1px solid var(--accent-line);border-bottom:1px solid var(--accent-line)}.thesis-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase;margin:0 0 26px}.thesis-line{font-family:var(--font-disp);font-weight:900;font-size:clamp(25px,4.2vw,42px);line-height:1.6;margin:0 auto 26px;max-width:780px;text-wrap:balance}.thesis-line em{font-style:normal;color:var(--accent)}.thesis-sub{font-size:14px;color:var(--muted);max-width:520px;margin:0 auto}footer{padding:60px 0 70px;text-align:center}.footer-name{font-family:var(--font-disp);font-weight:900;font-size:22px;margin-bottom:4px}.footer-role{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.1em;margin-bottom:26px}.footer-note{font-size:12px;color:var(--muted);max-width:520px;margin:0 auto;line-height:1.9}@media(max-width:760px){section.pillar-sec{padding:76px 0}.pillar-sec .wrap{grid-template-columns:1fr;gap:18px}.sec-mark{flex-direction:row;align-items:center;gap:14px}.sec-mark .num{font-size:34px}.sec-mark .tag{writing-mode:horizontal-tb}.pillar-num{font-size:14px;margin-bottom:1px}.pillar-jp{font-size:9.5px}.pillar-en{display:none}.pair{grid-template-columns:1fr}.meta-bar span:last-child{display:none}}.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:8px;z-index:10}.skip:focus{left:8px}.sec-body h2{font-family:var(--font-disp);font-weight:700;font-size:18px;margin:38px 0 12px;color:var(--ink)}.site-head{border-bottom:1px solid var(--accent-line);background:#f7f7f5f0;position:sticky;top:0;z-index:5;backdrop-filter:blur(6px)}.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-seal{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-disp);font-weight:900;color:var(--accent);font-size:17px;background:#fff}.brand-name{font-family:var(--font-disp);font-weight:900;font-size:19px;letter-spacing:.03em}.head-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--muted)}.chapter-nav{border-bottom:1px solid var(--accent-line)}.chapter-nav ol{position:relative;list-style:none;margin:0 auto;padding:12px 24px;max-width:1080px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin}.chapter-nav a{display:flex;align-items:center;gap:6px;white-space:nowrap;text-decoration:none;font-size:13px;color:var(--ink-soft);border:1px solid var(--accent-line);border-radius:999px;padding:5px 13px;background:#fff}.chapter-nav a span{font-family:var(--font-disp);font-weight:700;color:var(--accent)}.chapter-nav a:hover{border-color:var(--accent);color:var(--ink)}.chapter-nav a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:#fff}.chapter-nav a[aria-current=page] span{color:#fff}.crumbs{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--muted);margin:0 0 18px}.crumbs a{color:var(--muted)}.chapter{padding:72px 0 96px}.chapter .wrap{display:grid;grid-template-columns:120px 1fr;gap:40px}.chapter .sec-title{font-size:clamp(26px,3.6vw,38px)}.pager{border-top:1px solid var(--accent-line);padding:40px 0 20px}.pager .wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pager a{display:block;text-decoration:none;background:#fff;border:1px solid var(--accent-line);border-radius:14px;padding:18px 20px;transition:border-color .2s}.pager a:hover{border-color:var(--accent)}.pager .dir{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--muted);margin-bottom:4px}.pager .ttl{font-family:var(--font-disp);font-weight:700;font-size:17px}.pager .next{text-align:right;grid-column:2}.back-home{text-align:center;padding:10px 0 40px}.back-home a{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--accent)}.toc{padding:96px 0;border-top:1px solid var(--accent-line)}.toc-head{text-align:center;margin-bottom:44px}.toc-head h2{font-family:var(--font-disp);font-weight:700;font-size:clamp(24px,3vw,32px);margin:0 0 8px}.toc-head p{margin:0;color:var(--muted);font-size:14px}.toc-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.toc-grid a{display:flex;flex-direction:column;height:100%;text-decoration:none;background:#fff;border:1px solid var(--accent-line);border-radius:16px;padding:22px 22px 20px;transition:border-color .2s,transform .2s}.toc-grid a:hover{border-color:var(--accent);transform:translateY(-2px)}.toc-top{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.toc-num{font-family:var(--font-disp);font-weight:700;font-size:26px;color:var(--accent);line-height:1}.toc-label{font-size:13px;font-weight:500;color:var(--ink-soft)}.toc-en{margin-left:auto;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--muted)}.toc-title{display:block;font-family:var(--font-disp);font-weight:700;font-size:18px;line-height:1.55;margin:0 0 8px;color:var(--ink)}.toc-sum{display:block;font-size:13.5px;color:var(--muted);line-height:1.8;margin:0}@media(max-width:900px){.toc-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.toc{padding:72px 0}.toc-grid{grid-template-columns:1fr}.chapter{padding:48px 0 72px}.chapter .wrap{grid-template-columns:1fr;gap:18px}.pager .wrap{grid-template-columns:1fr}.pager .next{grid-column:1}.head-tag{display:none}}.seal{background:var(--accent);border:none;box-shadow:0 0 0 8px #d11f1a1a,0 14px 40px #d11f1a40}.seal-glyph{color:#fff}.brand-seal{background:var(--accent);border:none;color:#fff}.pillar-num,.sec-mark .num,.toc-num,.chapter-nav a span,.stat .val{font-family:var(--font-mono);font-style:italic;font-weight:700}.pillar-num{font-size:21px}.sec-mark .num{font-size:56px;letter-spacing:-.02em}.toc-num{font-size:30px}.kicker,.sec-eyebrow,.thesis-eyebrow,.meta-bar,.head-tag,.crumbs,.pager .dir,.toc-en,.pillar-en,.card .label,.timeline .when,.hero-guide,.scroll-hint,.footer-role,.sec-mark .tag{font-weight:600;letter-spacing:.14em}.sec-eyebrow{display:flex;align-items:center;gap:10px}.sec-eyebrow:before{content:"";width:22px;height:6px;background:var(--accent);transform:skew(-24deg)}.hero-name,.brand-name,.footer-name{font-style:italic;letter-spacing:.01em}.orbit-line.r2{border-color:#1d4e9e38}.pull{border-left-width:5px}.thesis{background:var(--accent);color:#fff;border:none}.thesis-eyebrow,.thesis-sub{color:#ffffffdb}.thesis-line em{color:#fff;box-shadow:inset 0 -.32em #1d4e9e8c}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:660px;margin:22px 0 30px}.stat{background:#fff;border:1px solid var(--sea-line);border-top:4px solid var(--sea);border-radius:12px;padding:16px 18px}.stat.main{border-top-color:var(--accent);grid-column:1 / -1}.stat .label{display:block;font-family:var(--font-mono);font-weight:600;font-size:12px;letter-spacing:.14em;color:var(--muted)}.stat .val{display:block;font-size:34px;line-height:1.1;color:var(--sea);margin:4px 0 2px}.stat.main .val{color:var(--accent);font-size:44px}.stat .name{display:block;font-family:var(--font-disp);font-weight:700;font-size:16px;color:var(--ink)}.note{font-size:13px!important;color:var(--muted)!important;border-top:1px solid var(--accent-line);padding-top:14px;margin-top:32px!important}.note a{color:var(--sea)}@media(max-width:760px){.stats{grid-template-columns:1fr}}.faq{padding:88px 0;border-top:1px solid var(--accent-line);background:#1d4e9e09}.faq-list{max-width:820px;margin:0 auto;display:grid;gap:12px}.faq-item{background:#fff;border:1px solid var(--sea-line);border-left:5px solid var(--sea);border-radius:12px;padding:18px 22px}.faq-item dt{font-family:var(--font-disp);font-weight:700;font-size:17px;margin:0 0 6px;color:var(--ink)}.faq-item dd{margin:0;font-size:15px;color:var(--ink-soft);line-height:1.9}@media(max-width:760px){.faq{padding:64px 0}}.toc-head .sec-eyebrow{justify-content:center}.stat .val{font-family:var(--font-disp);font-style:normal;font-weight:900;letter-spacing:.02em}img{max-width:100%;height:auto}.toc-thumb{display:block;margin:-22px -22px 16px;aspect-ratio:4/3;overflow:hidden;border-radius:15px 15px 0 0;background:var(--surface)}.toc-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.toc-grid a:hover .toc-thumb img{transform:scale(1.04)}.chapter-visual{margin:0;border-radius:16px;overflow:hidden;background:var(--surface);box-shadow:0 12px 32px #1111111f}.chapter-visual img{display:block;width:100%;height:100%;object-fit:cover}.chapter-main.landscape .chapter-visual{max-width:720px;aspect-ratio:16/9;margin-bottom:30px}.chapter-main.portrait{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:40px;align-items:start}.chapter-main.portrait .chapter-visual{grid-column:2;grid-row:1;aspect-ratio:3/5;position:sticky;top:136px}.chapter-main.portrait .sec-body{grid-column:1;grid-row:1;min-width:0}.key-visual{margin:0 auto;max-width:1080px;padding:0 24px 64px;position:relative}.key-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:20px;box-shadow:0 18px 44px #11111129}.key-visual figcaption{position:absolute;left:48px;bottom:88px;background:var(--accent);color:#fff;font-family:var(--font-disp);font-weight:900;font-size:clamp(14px,2.2vw,22px);padding:8px 18px;border-radius:6px;transform:skew(-8deg);max-width:calc(100% - 72px)}@media(max-width:1000px){.chapter-main.portrait{grid-template-columns:minmax(0,1fr) 200px;gap:28px}}@media(max-width:760px){.chapter-main.portrait{display:block}.chapter-main.portrait .chapter-visual{position:static;width:min(240px,64vw);margin:0 auto 26px}.chapter-main.landscape .chapter-visual{margin-bottom:24px}.chapter-visual{border-radius:12px}.key-visual{padding:0 16px 44px}.key-visual img{border-radius:14px}.key-visual figcaption{left:26px;bottom:56px;padding:6px 12px}}.vcard-btn{position:fixed;right:22px;bottom:22px;z-index:900;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:12px 18px;text-decoration:none;font-size:13px;font-weight:600;line-height:1.4;text-align:center;box-shadow:0 8px 24px #00000029;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.vcard-btn small{font-size:9px;font-weight:400;letter-spacing:.16em;opacity:.65}.vcard-btn:hover,.vcard-btn:focus-visible{transform:translateY(-2px);box-shadow:0 14px 32px #0000003d}@media(max-width:420px){.vcard-btn{right:14px;bottom:14px;padding:10px 14px;font-size:12px}}@media(prefers-reduced-motion:reduce){.vcard-btn{transition:none}.vcard-btn:hover,.vcard-btn:focus-visible{transform:none}}.vcard-btn{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:4px;font-family:var(--font-disp)}.vcard-btn:hover,.vcard-btn:focus-visible{background:var(--sea);border-color:var(--sea)}
