@import url("regions-detail-map.css");
/* 地域選択専用：黄色を使わず、オレンジとネイビーで地図を際立たせる */
.region-directory{padding-top:46px}
.region-guide{display:flex;align-items:center;gap:13px;margin:0 0 19px;color:var(--muted);font-size:13px;font-weight:700}
.region-guide p{margin:0}.region-guide__step{color:var(--orange);font-size:11px;letter-spacing:.12em}
.map-explorer{position:relative;display:grid;grid-template-columns:.76fr 1.24fr;gap:34px;min-height:530px;padding:48px 52px 30px;border:3px solid var(--ink);border-radius:26px;background:#fff;box-shadow:9px 9px 0 var(--ink);overflow:hidden}
.map-explorer:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(243,107,33,.11),transparent 45%),radial-gradient(circle at 88% 8%,rgba(188,231,223,.55),transparent 24%);pointer-events:none}
.map-explorer__copy,.map-explorer__visual{position:relative;z-index:1}.map-explorer__copy{align-self:center;max-width:330px}.map-explorer .eyebrow{background:#ffd7c2;margin:0 0 16px}.map-explorer h2{font-size:clamp(31px,4vw,48px);line-height:1.28;letter-spacing:-.05em;margin:0 0 17px}.map-explorer__copy>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:2;margin:0}.map-hint{display:flex;align-items:center;gap:9px;margin-top:28px;padding-top:19px;border-top:2px solid var(--ink);font-size:12px;font-weight:800}.map-hint span{color:var(--orange);font-size:19px}.map-explorer__visual{display:flex;flex-direction:column;align-items:center;justify-content:center}.japan-map{display:block;width:min(100%,510px);max-height:440px;overflow:visible}.map-shadow path{fill:#253047;opacity:.15;transform:translate(7px,8px)}
.map-region{cursor:pointer;outline:none}.map-region path:not(.okinawa-dot){fill:#fff7f1;stroke:var(--ink);stroke-width:4;stroke-linejoin:round;transition:fill .2s,transform .2s}.map-region text{fill:var(--ink);font-family:var(--sans);font-size:16px;font-weight:900;text-anchor:middle;pointer-events:none}.map-region .okinawa-label{font-size:12px}.map-region .okinawa-dot{fill:var(--orange);stroke:var(--ink);stroke-width:2;stroke-linejoin:round}.map-region:hover path:not(.okinawa-dot),.map-region:focus path:not(.okinawa-dot){fill:var(--orange);transform:translate(-3px,-4px)}.map-region:hover text,.map-region:focus text{fill:#fff}.map-region:focus-visible path:not(.okinawa-dot){stroke-width:7}.map-hokkaido path{fill:#ffd7c2!important}.map-tohoku path{fill:#bce7df!important}.map-kanto path{fill:#f7b9a7!important}.map-chubu path{fill:#c7dfb2!important}.map-kinki path{fill:#ffddd2!important}.map-chugoku path{fill:#b7d6ed!important}.map-shikoku path{fill:#d7cdf1!important}.map-kyushu path:not(.okinawa-dot){fill:#f5c6d7!important}.map-region:hover path:not(.okinawa-dot),.map-region:focus path:not(.okinawa-dot){fill:var(--orange)!important}.map-caption{margin:0;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em}
.region-list{margin-top:78px}.region-list__heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.region-list__heading h2{margin:0;font-size:28px}.region-list__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.region-list__item{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-height:94px;padding:18px;border:2px solid var(--ink);border-radius:15px;background:#fff;box-shadow:3px 3px 0 var(--ink);font-weight:900;transition:.18s}.region-list__item:hover{background:#fff0e8;transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.region-list__number{color:var(--orange);font-size:11px;letter-spacing:.08em}.region-list__name{font-size:16px}.region-list__arrow{font-size:20px;color:var(--orange)}
@media(max-width:800px){.region-directory{padding-top:33px}.region-guide{font-size:11px}.map-explorer{grid-template-columns:1fr;gap:15px;min-height:0;padding:32px 20px 23px;border-radius:20px;box-shadow:6px 6px 0 var(--ink)}.map-explorer__copy{max-width:none}.map-explorer h2{font-size:31px}.map-hint{margin-top:18px}.japan-map{width:100%;max-height:none}.map-caption{font-size:10px}.region-list{margin-top:58px}.region-list__heading{align-items:flex-start;flex-direction:column;gap:12px}.region-list__grid{grid-template-columns:1fr 1fr;gap:10px}.region-list__item{min-height:78px;padding:14px;gap:8px}.region-list__name{font-size:14px}}

/* 九州7県から、市町村まで段階的に選べる地域検索 */
.map-explorer--kyushu{grid-template-columns:.82fr 1.18fr}.kyushu-map{display:block;width:min(100%,465px);max-height:470px;overflow:visible}.kyushu-map__guide{fill:none;stroke:var(--ink);stroke-width:3;stroke-dasharray:7 9;opacity:.15}.kyushu-map__region{cursor:pointer;outline:none}.kyushu-map__region path{fill:#fff7f1;stroke:var(--ink);stroke-width:4;stroke-linejoin:round;transition:fill .2s,transform .2s}.kyushu-map__region text{fill:var(--ink);font-family:var(--sans);font-size:17px;font-weight:900;text-anchor:middle;pointer-events:none}.kyushu-map__region--fukuoka path,.kyushu-map__region--miyazaki path{fill:#ffd7c2}.kyushu-map__region--saga path,.kyushu-map__region--kumamoto path{fill:#bce7df}.kyushu-map__region--nagasaki path,.kyushu-map__region--kagoshima path{fill:#f5c6d7}.kyushu-map__region--oita path{fill:#c7dfb2}.kyushu-map__region:hover path,.kyushu-map__region:focus path{fill:var(--orange)!important;transform:translate(-3px,-4px)}.kyushu-map__region:hover text,.kyushu-map__region:focus text{fill:#fff}.kyushu-map__region:focus-visible path{stroke-width:7}.region-list__grid--kyushu{grid-template-columns:repeat(4,1fr)}
.municipality-explorer{position:relative;display:grid;grid-template-columns:.7fr 1.3fr;gap:35px;padding:46px 50px;border:3px solid var(--ink);border-radius:26px;background:#fff;box-shadow:9px 9px 0 var(--ink);overflow:hidden}.municipality-explorer:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(188,231,223,.5),transparent 43%),radial-gradient(circle at 95% 92%,rgba(243,107,33,.12),transparent 30%);pointer-events:none}.municipality-explorer__copy,.municipality-explorer__content{position:relative;z-index:1}.municipality-explorer__copy{align-self:start;max-width:310px}.municipality-explorer__copy .eyebrow{margin:0 0 14px;background:#ffd7c2}.municipality-explorer__copy h2{margin:0 0 17px;font-size:clamp(31px,4vw,47px);line-height:1.25;letter-spacing:-.05em}.municipality-explorer__copy>p:not(.eyebrow){margin:0 0 25px;color:var(--muted);font-size:13px;line-height:2}.municipality-explorer__content{display:grid;gap:22px}.municipality-map-panel{padding:17px;border:2px solid var(--ink);border-radius:18px;background:#fffdf9;box-shadow:4px 4px 0 var(--ink)}.municipality-map-panel__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 5px 12px}.municipality-map-panel__head .eyebrow{margin:0 0 3px;color:var(--orange);font-size:9px;font-weight:900;letter-spacing:.1em}.municipality-map-panel__head h3{margin:0;font-size:19px;letter-spacing:-.04em}.municipality-map-panel__head>span,.municipality-map-panel__source{color:var(--muted);font-size:10px;font-weight:800}.municipality-map-panel__source{margin:10px 5px 0;line-height:1.5}.municipality-map-wrap{overflow:auto;border:1px solid rgba(37,48,71,.18);border-radius:13px;background:linear-gradient(135deg,#d9f1ed 0 49%,#fff0e0 49%)}.municipality-map{display:block;min-width:620px;width:100%;height:auto}.municipality-map__loading{fill:var(--ink);font-family:var(--sans);font-size:14px;font-weight:800;text-anchor:middle}.municipality-map__area{cursor:pointer;outline:none}.municipality-map__area path{fill:#fffdf9;stroke:var(--ink);stroke-width:1.4;stroke-dasharray:4 3;stroke-linejoin:round;transition:fill .18s,stroke-width .18s}.municipality-map__area--1 path{fill:#fff0e7}.municipality-map__area--2 path{fill:#e3f4ef}.municipality-map__area--3 path{fill:#fff7d6}.municipality-map__area text{fill:var(--ink);font-family:var(--sans);font-weight:900;text-anchor:middle;dominant-baseline:middle;pointer-events:none;paint-order:stroke;stroke:#fffdf9;stroke-width:2.5px;stroke-linejoin:round}.municipality-map__area:hover path,.municipality-map__area:focus path{fill:var(--orange);stroke:#fff;stroke-width:2.4}.municipality-map__area:hover text,.municipality-map__area:focus text{fill:#fff;stroke:var(--orange)}.municipality-map__area:focus-visible path{stroke:#27324a;stroke-width:4}.municipality-map__area[hidden]{display:none}.municipality-list-panel{padding-top:2px}.municipality-search{display:grid;gap:7px;padding-bottom:14px;border-bottom:2px solid var(--ink);font-size:11px;font-weight:900}.municipality-search input{width:100%;border:2px solid var(--ink);border-radius:11px;background:#fff;padding:11px 13px;color:var(--ink);font:700 14px var(--sans);outline-color:var(--orange)}.municipality-count{margin:14px 0 12px;font-size:12px;font-weight:800}.municipality-count b{color:var(--orange);font-size:19px}.municipality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:360px;overflow:auto;padding:2px 7px 5px 2px}.municipality-grid a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:43px;border:2px solid var(--ink);border-radius:10px;background:#fff;padding:9px 10px;font-size:12px;font-weight:800;transition:.18s}.municipality-grid a:hover{background:#fff0e8;transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink)}.municipality-grid a b{color:var(--orange);font-size:15px}.municipality-grid a[hidden]{display:none}.municipality-note{margin:14px 0 0;color:var(--muted);font-size:10px;font-weight:700;line-height:1.65}
@media(max-width:800px){.map-explorer--kyushu{grid-template-columns:1fr}.kyushu-map{width:min(100%,360px);max-height:none}.kyushu-map__region text{font-size:14px}.region-list__grid--kyushu{grid-template-columns:1fr 1fr}.municipality-explorer{grid-template-columns:1fr;gap:22px;padding:31px 20px 24px;border-radius:20px;box-shadow:6px 6px 0 var(--ink)}.municipality-explorer__copy{max-width:none}.municipality-explorer__copy h2{font-size:31px}.municipality-explorer__copy>p:not(.eyebrow){margin-bottom:16px}.municipality-map-panel{padding:12px}.municipality-map-panel__head{align-items:flex-start;flex-direction:column;gap:4px}.municipality-map-panel__head h3{font-size:17px}.municipality-map{min-width:620px}.municipality-grid{grid-template-columns:1fr 1fr;max-height:440px;gap:7px}.municipality-grid a{min-height:42px;padding:8px 9px;font-size:11px}}

/* 小さな画面では地図を画面幅に収め、横スクロールを発生させない。 */
.municipality-map__remote-note{fill:var(--muted);font-family:var(--sans);font-size:10px;font-weight:800;text-anchor:middle}
@media(max-width:800px){.municipality-map-wrap{overflow:hidden}.municipality-map{min-width:0}.municipality-map__area text{stroke-width:3.5px}.municipality-map__remote-note{font-size:12px}}
