:root{color-scheme:light dark;--bg:#fff;--panel:#f2f5f8;--ink:#0f1a26;--muted:#4c5c6c;--line:#d8e1e9;--accent:#17569e}
@media(prefers-color-scheme:dark){:root{--bg:#0a1219;--panel:#0f1a24;--ink:#e6edf3;--muted:#a2b3c2;--line:#20323f;--accent:#78afea}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",system-ui,sans-serif;font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}img{max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.55;text-wrap:pretty}p+p{margin-top:16px}strong{font-weight:700}.wrap{max-width:1120px;padding:0 32px;margin:auto}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted);padding-top:24px}.hero{padding:48px 0 44px;max-width:850px}.eyebrow{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:16px}h1{font-size:clamp(28px,4vw,44px);letter-spacing:.015em}.lead{font-size:18px;margin-top:24px;max-width:42em}.byline{font-size:12px;color:var(--muted);margin-top:22px}.notice{font-size:13px;color:var(--muted);margin-top:8px}.layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:52px;align-items:start}.toc{position:sticky;top:24px;border-top:2px solid var(--accent);padding-top:14px;font-size:13px}.toc summary{font-size:13px;font-weight:700;cursor:pointer;padding:8px 0}.toc summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.toc a{display:block;padding:9px 0;color:var(--ink);text-decoration:none}.toc a:hover{color:var(--accent)}article{min-width:0}section{padding:36px 0 42px;border-top:1px solid var(--line);scroll-margin-top:24px}h2{font-size:clamp(22px,2.5vw,28px);margin-bottom:22px}h3{font-size:18px;margin:26px 0 12px}.choices{display:grid;gap:0;margin:0}.choices>div{display:grid;grid-template-columns:130px 1fr;gap:22px;padding:20px 0;border-top:1px solid var(--line)}.choices dt{font-weight:700}.choices dd{margin:0;color:var(--muted)}.choices dd a{display:inline-block;margin-top:6px}.source{font-size:13px;color:var(--muted);margin-top:14px}.callout{margin-top:24px;padding:22px 24px;background:var(--panel);border-left:3px solid var(--accent)}.callout p{font-size:15px}.callout .price{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.5}.price small{font-size:14px;font-weight:400}.callout .fee-details{font-size:14px;color:var(--muted);margin-top:8px}ul,ol{padding-left:1.4em}li+li{margin-top:8px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;background:var(--accent);color:var(--bg);text-decoration:none;font-size:15px;font-weight:700;border:1px solid var(--accent);border-radius:3px}.button.secondary{background:transparent;color:var(--accent)}.related{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;margin-top:20px}.sources{font-size:14px}.sources li{padding:3px 0}.skip-link{position:absolute;left:16px;top:-100px;background:var(--bg);padding:12px;z-index:10}.skip-link:focus{top:8px}
.table-wrap{overflow-x:auto;margin:18px 0}table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7}caption{text-align:left;font-weight:700;padding:0 0 8px;color:var(--ink)}th,td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}thead th{background:var(--panel)}.note{font-size:13px;color:var(--muted);line-height:1.8}.guide-list>div{grid-template-columns:1fr}
@media(max-width:820px){.layout{grid-template-columns:1fr;gap:28px}.toc{position:static}.toc nav{display:flex;flex-wrap:wrap;gap:0 22px}.hero{padding-top:32px}.lead{font-size:16px}}
@media(max-width:480px){.wrap{padding:0 20px}.hero{padding-bottom:30px}h1{font-size:28px}.choices>div{grid-template-columns:1fr;gap:5px}.actions{flex-direction:column}.button{width:100%;padding-left:12px;padding-right:12px}.callout{padding:18px}section{padding:28px 0 32px}.toc{gap:0 16px}}
.calc label{display:block;font-weight:700;font-size:15px}.calc input[type=date]{font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:10px 12px;margin-top:8px;min-height:48px;max-width:100%}.calc input[type=date]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.calc .calc-result{font-size:17px;font-weight:700;margin-top:16px}.calc .calc-status{font-size:14px;color:var(--muted);margin-top:4px}.calc+.note{margin-top:16px}
td.num{white-space:nowrap}.nw{display:inline-block;white-space:nowrap}
.key-points{margin-top:24px;max-width:42em;padding:14px 20px 4px;background:var(--panel);border-top:3px solid var(--accent)}.key-points-title{font-size:14px;font-weight:700}.key-points dl{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;margin:6px 0 0}.key-points dt,.key-points dd{margin:0;padding:10px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.8}.key-points dt{font-weight:700;color:var(--accent);white-space:nowrap}.key-points dt:first-of-type,.key-points dd:first-of-type{border-top:0}@media(max-width:480px){.key-points{padding:12px 16px 4px}.key-points dl{display:block}.key-points dt{padding:10px 0 0;font-size:13px}.key-points dd{padding:0 0 10px;border-top:0}}
.diagram{margin:22px 0;padding:14px 12px 12px;border:1px solid var(--line);border-radius:3px}.diagram svg{display:block;width:100%;max-width:400px;height:auto;margin:0 auto}.diagram figcaption{font-size:13px;color:var(--muted);line-height:1.8;margin-top:10px}.dg-box{fill:var(--panel);stroke:var(--line);stroke-width:1.5}.dg-hl{fill:var(--panel);fill:color-mix(in srgb,var(--accent) 12%,var(--bg));stroke:var(--accent);stroke-width:2}.dg-wall{fill:none;stroke:var(--line);stroke-width:1.5;stroke-dasharray:4 4}.dg-ground{stroke:var(--muted);stroke-width:1.5}.dg-route{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.dg-head{fill:var(--accent)}text.dg-on{fill:var(--bg)}.dg-walk{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:4 4}.dg-floor{font-size:15px;font-weight:700;fill:var(--accent)}.dg-label{font-size:14px;font-weight:700;fill:var(--ink)}.dg-sub{font-size:13px;fill:var(--muted)}.dg-t1{font-size:13px}@media(prefers-color-scheme:dark){.dg-box,.dg-wall{stroke:var(--muted);stroke:color-mix(in srgb,var(--muted) 50%,var(--line))}}
/* 共通ヘッダー（/site-chrome.css）は上に固定する。目次から飛んだ見出しが隠れないよう、その高さだけ余白を取る。スマホ幅では読む面積を優先して固定しない */
[id]{scroll-margin-top:84px}@media(max-width:1000px){body .sc-header{position:static}[id]{scroll-margin-top:12px}}
