.visit-map-section{border-bottom:1px solid var(--line)}
.visit-map-section .section-heading{margin-bottom:18px}.map-total{font-size:11px;color:var(--sumi-soft)}.map-intro{font-size:13px;max-width:760px;color:var(--sumi-soft);margin-bottom:22px}
.map-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.map-regions{display:flex;gap:8px;flex-wrap:wrap}.map-region{background:transparent;border:1px solid var(--line);padding:7px 19px;border-radius:2px;font-size:12px}.map-region.selected{background:var(--sumi);color:var(--washi);border-color:var(--sumi)}.map-legend{display:flex;gap:17px;font-size:11px}.map-legend>span{display:flex;gap:6px;align-items:center}.map-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.map-legend-shrine{background:var(--shu)}.map-legend-temple{background:var(--matcha)}
.map-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);border:1px solid var(--line);background:var(--white)}.map-stage{position:relative;min-width:0;min-height:520px;background:#ede6d7}.google-visit-map{width:100%;height:520px}.map-fallback{min-height:520px;padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:13px}.map-fallback p{max-width:370px}.map-placeholder-mark{font-size:60px;line-height:1.3;color:var(--shu);margin-bottom:20px}.map-fallback .button{font-size:12px}.map-directory{min-width:0;border-left:1px solid var(--line)}.map-directory-heading{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px}.map-directory-heading>span{font-size:10px;color:var(--sumi-soft);white-space:nowrap}.map-place-list{list-style:none;padding:0;margin:0;max-height:461px;overflow:auto;overscroll-behavior:contain}.map-place-list>li{padding:17px 20px;border-bottom:1px solid var(--line)}.map-place-list>li:last-child{border-bottom:0}.map-place-kind{font-size:9px;display:block;letter-spacing:.08em}.map-place-kind.is-shrine{color:var(--shu-deep)}.map-place-kind.is-temple{color:#566027}.map-place-focus{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--serif);font-weight:600;font-size:17px;line-height:1.7;border:0;background:transparent;text-align:left;padding:5px 0;width:100%;color:var(--sumi)}.map-place-focus:disabled{cursor:default;color:var(--sumi);opacity:1}.map-place-focus:enabled:hover{color:var(--shu-deep)}.map-place-focus>span{color:var(--shu);font-size:23px;flex-shrink:0}.map-article-link{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--sumi-soft)}.map-article-link>span{margin-left:auto;flex-shrink:0}.map-note{font-size:10px;color:var(--sumi-soft);line-height:1.9;margin:15px 0 9px}.map-credits{font-size:9px;color:var(--sumi-soft);line-height:1.9}.map-credits summary{cursor:pointer;width:fit-content}.map-credits p{margin-top:10px}.map-credits a{text-decoration:underline;text-underline-offset:3px}.map-marker{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fffdf8;background:var(--shu);box-shadow:0 2px 5px #2c26204a;color:white;font-size:13px;font-family:var(--sans);font-weight:700}.map-marker.is-temple{background:var(--matcha)}.map-marker>span{transform:rotate(45deg)}.map-info{padding:3px 0 7px;min-width:180px;font-family:var(--sans);color:var(--sumi)}.map-info-region{font-size:10px;margin-bottom:7px;color:var(--sumi-soft)}.map-info h3{font-family:var(--serif);font-size:18px;line-height:1.6;margin-bottom:10px}.map-info-note{font-size:11px;line-height:1.7;margin-bottom:10px}.map-info a{display:inline-block;font-size:12px;line-height:1.8;color:var(--shu-deep);text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.map-layout{grid-template-columns:minmax(0,1.35fr) minmax(245px,1fr)}.map-place-list>li{padding:14px 16px}.map-place-focus{font-size:16px}.map-directory-heading{padding:17px 16px}}
@media(max-width:700px){.map-total{display:block;margin-top:10px;font-size:10px}.map-intro{font-size:12px}.map-toolbar{align-items:flex-start;flex-direction:column;gap:13px}.map-region{padding:6px 17px;font-size:11px}.map-layout{grid-template-columns:1fr}.map-stage,.map-fallback{min-height:380px}.google-visit-map{height:380px}.map-fallback{padding:25px;font-size:12px}.map-directory{border-left:0;border-top:1px solid var(--line)}.map-place-list{max-height:280px}.map-place-list>li{padding:14px 17px}.map-directory-heading{padding:14px 17px}.map-note{font-size:10px}.map-credits{font-size:9px}}
