.ltl-japan-map { position: relative; }
.ltl-geo-search-svg { display:block; width:100%; height:auto; overflow:visible; }
.ltl-geo-search-prefecture { fill:#eef4ef; stroke:#496957; stroke-width:1.8; vector-effect:non-scaling-stroke; }
.ltl-geo-search-prefecture.is-selected { fill:#e6efe8; }
.ltl-geo-search-prefecture-label { fill:#607368; font-size:15px; font-weight:500; letter-spacing:.04em; pointer-events:none; }
.ltl-geo-search-prefecture-label.is-region-label { opacity:.72; fill:#536d5e; font-size:13px; font-weight:600; }
.ltl-geo-search-prefecture-label.is-neighbor-label { opacity:.22; font-weight:500; }
.ltl-geo-search-polygon { opacity:0; fill-opacity:0; stroke-opacity:0; stroke-width:1.5; stroke-linejoin:round; stroke-linecap:round; vector-effect:non-scaling-stroke; pointer-events:none; transition:opacity 180ms ease,fill-opacity 180ms ease,stroke-opacity 180ms ease; }
.ltl-geo-search-polygon.is-active { opacity:1; fill-opacity:.11; stroke-opacity:.48; }
.ltl-geo-search-marker { cursor:pointer; outline:none; }
.ltl-geo-search-marker-flag { transition:filter 160ms ease, transform 160ms ease; }
.ltl-geo-search-marker-flag:hover,.ltl-geo-search-marker-flag:focus { filter:drop-shadow(0 2px 2px rgba(30,55,43,.2)); }
.ltl-geo-search-markers--region .ltl-geo-search-marker-flag { filter:drop-shadow(0 2px 4px rgba(30,55,43,.16)); }
.ltl-geo-search-flag-pole { stroke-width:2.2; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.ltl-geo-search-flag-cloth { stroke:#fff; stroke-width:1.2; stroke-linejoin:round; paint-order:stroke; vector-effect:non-scaling-stroke; }
.ltl-geo-search-marker text { display:none; }

.ltl-geo-search-tooltip { position:absolute; z-index:5; width:260px; max-width:min(260px,calc(100vw - 32px)); transform:translate(16px,calc(-100% - 12px)); overflow:hidden; padding:0; border:1px solid rgba(73,105,87,.16); border-radius:14px; background:rgba(255,255,255,.98); box-shadow:0 10px 30px rgba(30,55,43,.16); color:#24352c; pointer-events:none; }
.ltl-geo-search-tooltip[hidden] { display:none; }
.ltl-geo-search-tooltip.is-below { transform:translate(16px,18px); }
.ltl-geo-search-tooltip-image { width:100%; height:160px; overflow:hidden; background:#eef2ee; }
.ltl-geo-search-tooltip-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.ltl-geo-search-tooltip-body { padding:11px 13px 12px; }
.ltl-geo-search-tooltip-meta,.ltl-geo-search-tooltip-action { display:block; color:#738178; font-size:11px; line-height:1.45; }
.ltl-geo-search-tooltip strong { display:block; margin:2px 0 4px; font-size:16px; line-height:1.4; }
.ltl-geo-search-tooltip-tagline { display:block; margin:0 0 8px; color:#53635a; font-size:12px; line-height:1.55; }
.ltl-geo-search-tooltip-action { color:#496957; font-weight:600; }
.ltl-geo-search-status { position:absolute; left:50%; bottom:14px; transform:translateX(-50%); z-index:3; padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.9); box-shadow:0 2px 10px rgba(30,55,43,.12); color:#496957; font-size:12px; white-space:nowrap; }

.ltl-map-selection > strong,.ltl-map-selection .ltl-border-list,.ltl-map-selection .ltl-area-candidates { display:none !important; }
.ltl-map-selection:has(.ltl-map-reset) { margin-top:10px; gap:0; }
.ltl-japan-map.is-geo-ready > svg:not(.ltl-geo-search-svg) { display:none !important; }
.ltl-geo-search-svg { opacity:1; transform:scale(1); transform-origin:center; transition:opacity 240ms ease,transform 420ms cubic-bezier(.22,.8,.28,1); }
.ltl-geo-search-svg.is-detail.is-entering { animation:ltl-geo-detail-enter 420ms cubic-bezier(.22,.8,.28,1); }
.ltl-geo-search-prefecture--selectable { cursor:pointer; transition:fill 180ms ease,stroke 180ms ease,filter 180ms ease; }
.ltl-geo-search-prefecture--selectable:hover,.ltl-geo-search-prefecture--selectable:focus-visible { fill:#d9e8dd; filter:drop-shadow(0 2px 3px rgba(30,55,43,.18)); outline:none; }
.ltl-geo-search-prefecture--nationwide-item.is-region-hover { fill:#9fbea8; stroke:#365b46; filter:drop-shadow(0 2px 4px rgba(30,55,43,.2)); }
[data-map-region].is-hovering { background:#385c48; border-color:#385c48; color:#fff; }

/* 地方選択後は主役の地方をはっきり、周辺県は地理の文脈だけ分かる程度まで弱める。 */
.ltl-geo-search-prefectures--region .is-region-core { fill:#fff; stroke:#365b46; }
.ltl-geo-search-prefectures--region .is-region-neighbor { fill:#fff; stroke:#d6dfd8; stroke-width:1.15; opacity:.62; }
.ltl-geo-search-prefecture.is-related { fill:#f4f7f4; }

/* 地方画面で旗をhoverした時の県境エリア範囲は、詳細画面と同じ見え方にする。 */
.ltl-geo-search-polygons--region .ltl-geo-search-polygon.is-active { opacity:1; fill-opacity:.14; stroke-opacity:.72; stroke-width:2; }

@keyframes ltl-geo-detail-enter { from { opacity:.45; transform:scale(.94); } to { opacity:1; transform:scale(1); } }
@media (max-width:767px) { .ltl-geo-search-prefecture-label{font-size:17px;} .ltl-geo-search-tooltip{width:220px;max-width:calc(100vw - 28px);} .ltl-geo-search-tooltip-image{height:125px;} .ltl-geo-search-status{bottom:8px;max-width:calc(100% - 24px);white-space:normal;text-align:center;} }
@media (prefers-reduced-motion:reduce) { .ltl-geo-search-svg,.ltl-geo-search-svg.is-detail.is-entering { animation:none; transition:none; } }


/* 県名は県の面をhoverした時だけ表示 */
.ltl-geo-search-prefecture-label.is-region-label,
.ltl-geo-search-prefecture-label.is-region-label.is-neighbor-label {
    opacity: 0;
    transition: opacity 140ms ease;
}

.ltl-geo-search-prefecture-label.is-region-label.is-name-visible {
    opacity: 1;
    fill: #26302a;
    stroke: rgba(255, 255, 255, .96);
    stroke-width: 5px;
    stroke-linejoin: round;
    paint-order: stroke fill;
    font-size: 16px;
    font-weight: 700;
}

.ltl-geo-search-prefecture-label.is-region-label.is-neighbor-label.is-name-visible {
    opacity: .78;
    fill: #3f4b44;
}

@media (hover: hover) and (max-width: 800px) {
    .ltl-geo-search-prefecture-label.is-region-label.is-name-visible {
        font-size: 22px;
        stroke-width: 6px;
    }
}

@media (hover: none) {
    .ltl-geo-search-prefecture-label.is-region-label.is-name-visible {
        opacity: 0;
    }
}
