:root{--accent:#0284c7;--accent-dark:#075985;--accent-light:#0ea5e9;--text:#1e293b;--muted:#64748b;--bg:#f8fafc;--bg-card:#ffffff;--bg-soft:#f0f9ff;--border:#e2e8f0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Noto Sans JP,system-ui,sans-serif;color:var(--text);background:var(--bg);font-size:17px;line-height:1.9}.container{max-width:760px;margin:0 auto;padding:0 20px}header.site{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:linear-gradient(to right,var(--accent-dark),var(--accent))}header.site .inner{justify-content:space-between;gap:12px;padding:14px 0;flex-wrap:wrap}.brand,header.site .inner{display:flex;align-items:center}.brand{gap:8px;font-weight:800;color:#fff;text-decoration:none;font-size:1.05rem}.brand-icon{width:22px;height:22px;flex-shrink:0}nav.main{display:flex;gap:6px;flex-wrap:wrap}nav.main a{color:#fff;text-decoration:none;font-size:.95rem;padding:6px 12px;border-radius:8px;transition:background-color .15s}nav.main a:hover{background:rgba(255,255,255,.15)}.nav-home{display:flex;align-items:center}.nav-home svg{width:20px;height:20px;display:block}.nav-toggle{position:absolute;opacity:0;pointer-events:none}.nav-toggle-btn{display:none;color:#fff;cursor:pointer;padding:6px 10px;border-radius:8px}.nav-toggle-btn:hover{background:rgba(255,255,255,.15)}.nav-toggle-btn svg{width:24px;height:24px;display:block}.nav-toggle-btn .icon-close{display:none}.nav-toggle:focus-visible~.nav-toggle-btn{outline:2px solid #fff;outline-offset:2px}@media (min-width:641px){.nav-toggle{display:none}}@media (max-width:640px){.nav-toggle-btn{display:block}nav.main{display:none;width:100%;flex-direction:column;gap:2px;padding:2px 0 10px}nav.main a{padding:10px 12px}.nav-toggle:checked~nav.main{display:flex}.nav-toggle:checked~.nav-toggle-btn .icon-menu{display:none}.nav-toggle:checked~.nav-toggle-btn .icon-close{display:block}}.hero{padding:40px 0 8px}.hero h1{margin:0 0 8px;font-size:1.7rem;color:var(--text);letter-spacing:.02em;font-weight:800}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.badge{display:inline-block;background:var(--accent);color:#fff;font-size:.8rem;padding:3px 12px;border-radius:999px;margin-bottom:14px;font-weight:700}.lead{margin:0;font-size:1.02rem}main section{padding:32px 0}.page-title,h2{display:flex;align-items:center;gap:8px;font-size:1.25rem;color:var(--text);font-weight:800;margin:0 0 18px}.section-icon{width:22px;height:22px;color:var(--accent);flex-shrink:0}.note{color:var(--muted);font-size:.9rem}.placeholder{background:#fff8e6;border:1px dashed #d9a600;border-radius:8px;padding:10px 14px;font-size:.9rem;color:#7a5c00}ul.news{list-style:none;margin:0;padding:0}ul.news li{padding:14px 0;border-bottom:1px solid var(--border)}ul.news li:last-child{border-bottom:none}.news .meta{font-size:.85rem;color:var(--muted);display:flex;gap:10px;align-items:center}.news .cat{background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;padding:2px 10px;color:var(--accent);font-weight:600}.news h3{margin:4px 0 6px;font-size:1.05rem}.news h3 a{color:var(--accent)}.news p{margin:0;font-size:.95rem}.news .link{margin-top:6px}.news .link a{color:var(--accent);font-weight:700}.btn-line{background:#06C755}.btn,.btn-line{display:inline-block;color:#fff;font-weight:700;padding:12px 28px;border-radius:8px;text-decoration:none}.btn{background:var(--accent)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px 22px;margin-bottom:16px}.card h3{margin:0 0 4px;font-size:1.05rem;color:var(--text);font-weight:700}.card .date{font-size:.85rem;color:var(--muted);margin:0 0 10px}.card ul{margin:0;padding-left:1.2em}footer.site{margin-top:48px;background:linear-gradient(to right,var(--accent-dark),var(--accent));padding:24px 0 32px;font-size:.9rem;color:rgba(255,255,255,.92)}footer.site a{color:#fff}.area-map{margin:24px 0 8px}.area-map-canvas{height:460px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);z-index:0}.area-map-error{margin:10px 0 0}.area-map .leaflet-container{border-radius:12px;font:inherit}.leaflet-tooltip.area-label{background:none;border:none;box-shadow:none;padding:0;color:var(--accent-dark);font-weight:700;font-size:.8rem;white-space:nowrap;pointer-events:none;text-shadow:0 0 4px #fff,0 0 4px #fff,0 0 3px #fff,0 0 3px #fff}.leaflet-tooltip.area-label:before{display:none}.area-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:24px 0 10px;flex-wrap:wrap}.area-list-title{margin:0}.area-reset{background:var(--bg-card);color:var(--accent);border:1px solid var(--border);border-radius:8px;padding:6px 14px;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;min-height:44px}.area-reset:hover{background:var(--bg-soft)}.area-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.area-item{display:block;width:100%;text-align:left;font:inherit;cursor:pointer;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:12px 16px;min-height:48px}.area-item:hover{border-color:var(--accent-light);background:var(--bg-soft)}.area-item[aria-pressed=true]{border-color:var(--accent);background:var(--bg-soft);box-shadow:inset 3px 0 0 var(--accent)}.area-item-name{display:block;font-weight:700;color:var(--text)}.area-item-kominkan{display:block;font-size:.85rem;color:var(--muted);line-height:1.6}.area-credits{margin:0;padding-left:1.2em;font-size:.9rem}.area-credits li{margin-bottom:6px}:where(.area-item,.area-reset):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chart{margin:16px 0 24px}.chart-svg{width:100%;height:auto;display:block;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.chart-grid{stroke:var(--border);stroke-width:1}.chart-tick{text-anchor:end}.chart-tick,.chart-xlabel{fill:var(--muted);font-size:12px}.chart-xlabel{text-anchor:middle}.chart-line{fill:none;stroke:var(--accent);stroke-width:2}.chart-dot{fill:var(--accent);stroke:var(--bg-card);stroke-width:2}.chart figcaption{margin-top:6px}.table-scroll{overflow-x:auto;margin:0 0 20px}.stats-table{width:100%;border-collapse:collapse;font-size:.95rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.stats-table caption{text-align:left;font-weight:700;padding:12px 14px 8px;color:var(--text)}.stats-table td,.stats-table th{padding:8px 14px;border-top:1px solid var(--border);text-align:right;white-space:nowrap}.stats-table thead th{color:var(--muted);font-weight:700}.stats-table tbody th{text-align:left;font-weight:700}