:root{--bg:#faf8f4;--fg:#1f2933;--muted:#5b6770;--brand:#0f5c6e;--brand-d:#0a4250;--accent:#c4570a;--line:#e3ded4;--card:#fff;--warn-bg:#fff4e5;--warn:#8a4b00;--ok:#e8f3ee;--r:12px}
@media (prefers-color-scheme:dark){:root{--bg:#14181b;--fg:#e8ecef;--muted:#9aa7b0;--brand:#5cc2d6;--brand-d:#8bd6e5;--accent:#ff9d57;--line:#2b343a;--card:#1b2126;--warn-bg:#2d2416;--warn:#ffcf96;--ok:#1b2b25}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.8 "Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;background:var(--bg);color:var(--fg)}
a{color:var(--brand)}a:hover{color:var(--brand-d)}
.wrap{max-width:860px;margin:0 auto;padding:0 16px}
header.site{border-bottom:1px solid var(--line);background:var(--card)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding-top:10px;padding-bottom:10px}
.logo{font-weight:800;font-size:1.1rem;color:var(--fg);text-decoration:none}
nav.main{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.95rem}nav.main a{text-decoration:none;padding:6px 2px}
nav.main a[aria-current=page]{border-bottom:2px solid var(--accent);font-weight:700}
main{padding:24px 0 56px}
h1{font-size:1.7rem;line-height:1.4;margin:.4em 0 .6em}h2{font-size:1.3rem;margin:1.8em 0 .5em;line-height:1.5}h3{font-size:1.1rem;margin:1.2em 0 .4em}
.lead{font-size:1.08rem}.small{font-size:.88rem;color:var(--muted)}.help{color:var(--muted);margin-top:-.4em}
.emergency{background:#b3261e;color:#fff;border-radius:var(--r);padding:12px 16px;margin:0 0 20px;font-weight:600}
.hero{padding:12px 0 8px}.hero h1{font-size:1.9rem}
.paths{display:grid;gap:12px;margin:20px 0}
@media(min-width:700px){.paths{grid-template-columns:repeat(2,1fr)}}
.path{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;text-decoration:none;color:var(--fg);transition:transform .12s,border-color .12s}
.path:hover{border-color:var(--brand);transform:translateY(-2px)}.path strong{display:block;color:var(--brand);font-size:1.08rem}.path span{font-size:.92rem;color:var(--muted)}
.btn{display:inline-block;background:var(--brand);color:#fff;border:0;border-radius:999px;padding:11px 22px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--brand-d);color:#fff}.btn.ghost{background:transparent;color:var(--brand);border:1px solid var(--brand)}.btn.ghost:hover{background:var(--ok);color:var(--brand-d)}
.btn:focus-visible,.choice:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.choices{display:grid;gap:10px;margin:16px 0}
.choice{text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:14px 16px;font:inherit;color:var(--fg);cursor:pointer;min-height:52px}
.choice:hover,.choice.on{border-color:var(--brand);background:var(--ok)}
.progress{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.progress span{display:block;height:100%;background:var(--brand);transition:width .25s}
.step{color:var(--muted);font-size:.9rem;margin:.6em 0 0}
.nav-row{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.plan{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:6px 18px 14px;margin:14px 0}
.plan.urgent{border-left:6px solid #b3261e}.plan.consult{border-left:6px solid var(--accent)}.plan.now{border-left:6px solid var(--brand)}
.checklist{list-style:none;padding:0;margin:0}.checklist li{margin:.5em 0}.checklist label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.checklist input{margin-top:.55em;width:20px;height:20px;flex:none;accent-color:var(--brand)}.links{padding-left:1.2em}
.note{background:var(--ok);border-radius:var(--r);padding:10px 16px;font-size:.93rem}.warn{background:var(--warn-bg);color:var(--warn);border-radius:var(--r);padding:10px 16px;margin:12px 0}
.warn ul,.note ul{margin:.4em 0;padding-left:1.2em}
form.calc fieldset{border:1px solid var(--line);border-radius:var(--r);margin:16px 0;padding:6px 16px 16px;background:var(--card)}
form.calc legend{font-weight:700;padding:0 8px;color:var(--brand)}
.grid2{display:grid;gap:12px}@media(min-width:640px){.grid2{grid-template-columns:1fr 1fr}}
label.f{display:block;font-size:.93rem;font-weight:600}label.f small{display:block;font-weight:400;color:var(--muted);font-size:.82rem;line-height:1.5}
input[type=number],input[type=text],select,textarea{width:100%;font:inherit;padding:10px 12px;border:1.5px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);margin-top:4px}
.cards{display:grid;gap:12px;margin:16px 0}@media(min-width:700px){.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px}.card.hl{border:2px solid var(--brand)}
.card h3{margin:.2em 0;font-size:.95rem;color:var(--muted)}.big{font-size:1.5rem;font-weight:800;margin:.1em 0;color:var(--brand)}.sub{font-size:.82rem;color:var(--muted);line-height:1.6;margin:0}
.tbl{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:.95rem}
.tbl th,.tbl td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.tbl th small{display:block;font-weight:400;color:var(--muted);font-size:.8rem}.tbl td{text-align:right}
.tbl thead th{background:var(--ok)}table.tbl td:only-child{text-align:left}
article td{text-align:left}
.scn-list{list-style:none;padding:0;display:grid;gap:10px}.scn{width:100%;display:flex;gap:14px;align-items:center;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:12px 16px;font:inherit;color:var(--fg);cursor:pointer}
.scn:hover{border-color:var(--brand)}.ico{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ok);color:var(--brand);font-weight:800;flex:none}
.draft{min-height:260px;line-height:1.7}.fields{display:grid;gap:10px;margin:10px 0}
.disclaimer{border:1px dashed var(--line);border-radius:var(--r);padding:10px 16px;font-size:.88rem;color:var(--muted);margin:24px 0}
footer.site{border-top:1px solid var(--line);padding:24px 0 40px;font-size:.88rem;color:var(--muted)}footer.site a{margin-right:14px}
.guide-list{list-style:none;padding:0;display:grid;gap:10px}.guide-list a{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;text-decoration:none;color:var(--fg)}.guide-list a:hover{border-color:var(--brand)}.guide-list span{display:block;font-size:.88rem;color:var(--muted)}
.cta{background:var(--ok);border-radius:var(--r);padding:14px 18px;margin:28px 0}
@media print{header.site,footer.site,.nav-row,.disclaimer,.emergency{display:none}body{background:#fff;color:#000}.plan{break-inside:avoid}}
