:root{--color-bg:#fff;--color-fg:#1a1a1a;--color-muted:#525a66;--color-border:#e5e7eb;--color-accent:#1d4ed8;--color-accent-bg:#eff6ff;--color-warn-bg:#fffbeb;--color-warn-fg:#92400e;--color-success-bg:#ecfdf5;--color-success-fg:#065f46;--color-trust-bg:#f0fdf4;--color-trust-fg:#166534;--container:1024px;--radius:8px;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--tap-min:44px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,Meiryo,Segoe UI,Roboto,sans-serif;color:var(--color-fg);background:var(--color-bg);line-height:1.7;font-size:16px}a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}a:hover{text-decoration-thickness:2px}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius)}.muted{color:var(--color-muted)}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{position:static;display:inline-block;padding:var(--space-2) var(--space-3);background:var(--color-accent);color:#fff;text-decoration:none}.container{max-width:var(--container);margin:0 auto;padding:0 var(--space-3)}.site-header{border-bottom:1px solid var(--color-border);padding:var(--space-3) 0}.site-header .container{display:flex;align-items:center;justify-content:space-between}.site-header .brand{font-weight:700;font-size:1.25rem;color:var(--color-fg);text-decoration:none}.site-header .brand:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--color-border);margin-top:var(--space-6);padding:var(--space-4) 0;color:var(--color-muted);font-size:.95rem}.site-footer .copy{font-size:.85rem}main{padding:var(--space-4) 0 var(--space-6)}h1{font-size:1.75rem;margin:0 0 var(--space-3)}h1,h2{line-height:1.4}h2{font-size:1.25rem;margin:var(--space-5) 0 var(--space-3)}h3{font-size:1.05rem;margin:var(--space-4) 0 var(--space-2)}.lead{color:var(--color-fg);margin-bottom:var(--space-4)}.trust-badge{display:inline-block;background:var(--color-trust-bg);color:var(--color-trust-fg);padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-weight:600}.breadcrumb,.trust-badge{font-size:.92rem;margin-bottom:var(--space-3)}.breadcrumb,.breadcrumb a{color:var(--color-muted)}.city-list{padding-left:var(--space-4)}.city-list li{margin-bottom:var(--space-1)}.facility-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}@media (min-width:720px){.facility-grid{grid-template-columns:repeat(2,1fr)}}.facility-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);background:#fff}.facility-card h3{margin-top:0}.facility-card .meta{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-2)}.card-cta{margin:var(--space-3) 0 0}.meta{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-2) 0 var(--space-3)}.badge{display:inline-block;font-size:.85rem;padding:2px var(--space-2);border-radius:999px;background:var(--color-accent-bg);color:var(--color-accent)}.badge.warn{background:var(--color-warn-bg);color:var(--color-warn-fg)}.badge.success{background:var(--color-success-bg);color:var(--color-success-fg)}.kv{display:grid;grid-template-columns:max-content 1fr;grid-gap:var(--space-2) var(--space-3);gap:var(--space-2) var(--space-3);margin-top:var(--space-2)}.kv dt{color:var(--color-muted);font-weight:400}.kv dd{margin:0}@media (max-width:540px){.kv{grid-template-columns:1fr;gap:var(--space-1)}.kv dt{font-weight:600;margin-top:var(--space-2);color:var(--color-fg)}}.notice{background:var(--color-warn-bg);color:var(--color-warn-fg);padding:var(--space-3);border-radius:var(--radius);margin:var(--space-3) 0}.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 var(--space-1)}.cta-note{color:var(--color-muted);font-size:.92rem;margin:0 0 var(--space-3)}.last-updated{margin-top:var(--space-5);font-size:.88rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-min);padding:12px 20px;background:var(--color-accent);color:#fff;border-radius:var(--radius);font-weight:600;border:2px solid var(--color-accent)}.btn,.btn:hover{text-decoration:none}.btn:hover{opacity:.92}.btn-secondary{background:#fff;color:var(--color-accent)}.btn-secondary:hover{background:var(--color-accent-bg)}