:root{font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;background:#f7f5f0;color:#283934;line-height:1.7;--ink:#283934;--muted:#52645c;--green:#2a5d4c;--border:#d8ded3;--canvas:#f7f5f0;--white:#fffef9}
*{box-sizing:border-box}body{margin:0}a{color:#205a48;text-underline-offset:3px;overflow-wrap:anywhere}a:hover{color:#103f32}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #845b27;outline-offset:4px}.wrap{max-width:73rem;padding:0 clamp(1.05rem,4vw,3rem);margin-inline:auto}.top{padding-block:1.25rem;display:flex;justify-content:space-between;gap:.8rem;align-items:center}.brand{font-weight:750;text-decoration:none;color:var(--ink);display:inline-flex;gap:.55rem;align-items:center}.mark{color:#fff;background:var(--green);border-radius:.6rem;width:2rem;height:2rem;display:inline-grid;place-items:center;flex:none}.chip{white-space:nowrap;font-size:.76rem;border:1px solid #cad5ca;padding:.17rem .55rem;border-radius:2rem;color:#37554a}.skip{position:absolute;top:.6rem;left:.8rem;background:#fff;padding:.4rem;transform:translateY(-200%);z-index:10}.skip:focus{transform:none}
.hero{display:grid;grid-template-columns:1fr minmax(18rem,25rem);gap:clamp(1.3rem,4vw,4rem);align-items:center;padding:clamp(1rem,3vw,3rem) 0 2.4rem;border-bottom:1px solid var(--border)}.eyebrow{color:#406151;font-weight:750;font-size:.79rem;letter-spacing:.16em;margin:0 0 .65rem}.intro h1{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;font-size:clamp(2.55rem,7vw,5.55rem);font-weight:750;letter-spacing:-.085em;line-height:1.14;margin:0 0 .95rem}.lead{font-size:clamp(1rem,2vw,1.14rem);max-width:29rem;margin:0 0 1.45rem;color:var(--muted)}.first{background:var(--white);border:1px solid var(--border);padding:1.15rem;border-radius:1rem}.first h2{margin:0 0 .55rem;font-size:1.12rem}.first h3{font-size:1rem;margin:0 0 .2rem}.first p{font-size:.91rem;margin:0}.first a{font-size:.83rem}.emergency{background:#f6e9df;padding:.72rem .82rem;border-left:4px solid #985b32;border-radius:.4rem;color:#572f24;margin-bottom:.65rem}.emergency a{color:#693b26}.path{padding:.55rem .1rem}.path+.path{border-top:1px solid var(--border)}
.button{display:inline-flex;gap:.65rem;align-items:center;justify-content:center;min-height:44px;padding:.45rem .85rem;border:1px solid var(--green);font:inherit;font-weight:700;border-radius:.45rem;cursor:pointer;text-decoration:none}.primary{background:var(--green);color:#fff}.primary:hover{background:#1b4739;color:#fff}.secondary{background:transparent;color:#245242}.secondary:hover{background:#e5eee7}
.section{padding:2.7rem 0 0}.section-head h2{font-size:clamp(1.55rem,3vw,2.45rem);line-height:1.35;margin:0 0 .45rem}.section-head p:last-child{margin:0;color:var(--muted)}.opening{padding:.9rem 1rem;margin:1rem 0;background:#e7eee6;border-radius:.65rem}.opening p{margin:.28rem 0 0}.rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card,.official article{background:var(--white);border:1px solid var(--border);padding:1rem;border-radius:.75rem}.number{font-size:.74rem;font-weight:800;background:#e8f0e8;color:#3d6353;border-radius:2rem;padding:.22rem .62rem}.card h3{font-size:1.19rem;margin:.45rem 0 .1rem}.hint{font-size:.84rem;color:var(--muted);margin:0 0 .55rem}.card label{display:grid;grid-template-columns:1.2rem 1fr;align-items:start;gap:.55rem;font-size:.94rem;min-height:44px;padding:.56rem 0;border-top:1px solid var(--border);cursor:pointer}.card input{height:1.12rem;width:1.12rem;margin:.26rem 0 0;accent-color:var(--green)}.card label:has(:checked) span{color:#37624f}.tools{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem}.tools p{flex-basis:100%;margin:0;font-size:.86rem;color:#335f4c}.fine{font-size:.88rem;color:var(--muted);margin-top:.5rem}.fine p{margin:.35rem 0}.official-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem}.official h3{margin:0;font-size:1.05rem}.official article p{margin:.55rem 0;font-size:.92rem}footer{margin-top:2.6rem!important;border-top:1px solid var(--border);padding-block:1rem 2rem!important;font-size:.83rem;color:var(--muted)}footer p{margin:.35rem 0}[hidden]{display:none!important}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:1.2rem}.first{grid-row:1}.desktop{display:none}.intro h1{font-size:clamp(2.6rem,9vw,4rem)}.rows{grid-template-columns:1fr}.section{padding-top:2.1rem}.card label{padding-block:.65rem}}
@media(max-width:510px){.top{align-items:flex-start;flex-direction:column;gap:.35rem;padding-block:.9rem}.chip{margin-left:2.55rem}.official-grid{grid-template-columns:1fr}.hero .primary{width:100%}}
@media print{body{background:#fff;color:#111;font-size:10pt}.top{padding-block:.3rem}.hero{grid-template-columns:1fr 1fr;padding-bottom:.6rem}.intro h1{font-size:24pt}.lead{font-size:10pt}.section{padding-top:.65rem}.rows{grid-template-columns:repeat(3,1fr)}.card,.official article{break-inside:avoid}.button,.tools,footer a,.skip{display:none!important}footer{margin-top:.7rem!important}}

.region-links {display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; margin-top:1rem;}
.region-links a {font-size:.92rem; font-weight:700; text-underline-offset:.2em;}

.ward-list { list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.6rem; padding:0; }
.ward-list a { display:flex; flex-direction:column; gap:.15rem; min-height:44px; height:100%; padding:.6rem .8rem; border:1px solid #c9d7d1; border-radius:.55rem; background:#fff; }
.ward-list a:hover { background:#eef5f1; }
.ward-list span { font-size:.83rem; }

.step-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr)); gap:.8rem; list-style:none; padding:0; counter-reset:step; }
.step-list li { counter-increment:step; padding:1rem; background:#fff; border:1px solid #c9d7d1; border-radius:.75rem; }
.step-list li::before { content:'0' counter(step); display:inline-block; color:#31594a; font-weight:700; }
.step-list h3 { margin:.35rem 0; }
.print-page .card { margin-block:.65rem; }
.print-page .card ul { list-style:none; padding:0; }
.print-page .card li { padding:.22rem 0; }
@media print { @page family-checklist { size:A4; margin:14mm; } .print-page {page:family-checklist} .print-page .wrap {width:100%} .print-page h1 {font-size:21pt} .print-page .card h2 {font-size:13pt;margin:.15rem 0} .print-page .card {padding:.4rem .6rem;} .print-page .opening, .print-page .card {break-inside:avoid} }
