.japan-explorer{margin:10px 0 50px;scroll-margin-top:105px}.region-leader{stroke:#9cbfbd;stroke-width:1;fill:none;pointer-events:none}.japan-explorer>h2{font-size:36px;line-height:1.25;margin:0 0 26px}.explorer-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.5fr);gap:28px;align-items:start}.region-image{position:relative;margin:0;overflow:hidden;border-radius:8px 8px 0 0;aspect-ratio:16/10;background:#dce9e7}.region-image>a{display:block;height:100%}.region-image>a:focus-visible{outline:3px solid white;outline-offset:-5px}.region-image img{width:100%;height:100%;object-fit:cover;display:block}.region-image-controls{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.region-image-controls button{pointer-events:auto;background:#0d2b48bb;color:#fff;border:0;width:36px;height:44px;font-size:27px;cursor:pointer}.region-detail{padding:21px 22px;background:#123c48;color:white;border-radius:0 0 8px 8px;min-height:245px}.region-detail h3{font-size:28px;margin:0 0 8px;color:white}.region-detail h3 a{color:inherit;text-decoration:none}.region-detail h3 a:hover,.region-detail h3 a:focus-visible{text-decoration:underline;text-underline-offset:4px}.region-detail p{font-size:14px;line-height:1.8;margin:9px 0 15px;color:#e2efef}.region-detail .region-pref{font-size:11px;line-height:1.7;color:#a8d9d9}.region-detail>a{display:inline-block;font-size:14px;font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:4px}.region-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.region-list a{display:flex;align-items:center;gap:8px;padding:11px 10px;border:1px solid #cbdfe0;border-radius:4px;color:#1b4f5c;font-size:12px;font-weight:700;text-decoration:none;background:#fff;min-height:42px;transition:background .18s,color .18s}.region-list a:before{content:'';width:6px;height:6px;flex:none;border-radius:50%;background:#8eb8b2}.region-list a.is-active{background:#087d8c;border-color:#087d8c;color:#fff}.region-list a.is-active:before{background:#fff}.map-surface{min-width:0}.map-surface svg{display:block;width:100%;height:auto}.jmap-region{fill:#cadfd8;stroke:#fff;stroke-width:.7;fill-rule:evenodd;cursor:pointer;transition:fill .18s,filter .18s}.jmap-region:nth-of-type(even){fill:#bcd5cf}.jmap-region.is-active{fill:#087d8c;filter:drop-shadow(0 2px 3px #0d4b5340)}.jmap-region:hover,.jmap-region:focus-visible{fill:#087d8c;outline:none}.jmap-label{fill:#305e66;font-family:Georgia,serif;font-style:italic;font-size:19px;font-weight:700;text-decoration:none;cursor:pointer}.jmap-label text{paint-order:stroke;stroke:#f7fbfa;stroke-width:5px;stroke-linejoin:round}.jmap-label.is-active{fill:#087d8c}.jmap-label.is-active text{font-weight:900;stroke:#e4f0ef}.map-sea{font-size:13px;fill:#9cb7bb;font-style:italic}.map-inset{fill:#eff6f4;stroke:#d0e2df;stroke-dasharray:4 4}.map-small{font-size:10px;fill:#688e94}.map-city circle{fill:#ae454b}.map-city path{fill:none;stroke:#b8cecd;stroke-width:1}.map-city text{font-size:11px;fill:#527780;font-weight:600}.map-source{font-size:11px;line-height:1.8;color:#69818a;margin:12px 0 0}.map-source a{color:inherit}.region-landing-image{max-width:850px;width:100%;height:330px;object-fit:cover;border-radius:8px}.prefecture-names{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none;max-width:850px}.prefecture-names li{background:#edf6f5;padding:10px 15px;border-radius:4px;color:#205360}@media(max-width:900px){.explorer-grid{grid-template-columns:1fr}.map-surface{grid-row:1}.explorer-panel{grid-row:2}.map-surface svg{max-width:650px;margin:auto}.region-detail{min-height:0}.region-list{grid-template-columns:repeat(2,minmax(0,1fr))}.japan-explorer>h2{font-size:29px}.region-landing-image{height:230px}}@media(prefers-reduced-motion:reduce){.jmap-region,.region-list a{transition:none}}