/* FAQ map adapted from /area; matches the preview's type, borders and lime accents. */
.faq-category-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.visit-area{padding:60px 0 72px;border-top:1px solid #cdd5c6;scroll-margin-top:110px}
.visit-area-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:32px}
.visit-area-kicker{display:block;margin-bottom:24px;color:#58713d;font:600 11px/1.5 Inter,sans-serif;letter-spacing:.07em}
.visit-area-heading h2{font-size:clamp(28px,2.8vw,42px);font-weight:650;line-height:1.45;letter-spacing:-.05em}
.visit-area-heading>p{font-size:15px;line-height:1.9;color:#565e59}
.visit-area-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:start}
.visit-area-map{min-width:0;border:1px solid #cdd5c6;isolation:isolate}
.visit-map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:10px 16px;background:#f1f4ec;font-size:12px}
.visit-map-toolbar button{font:inherit;color:inherit;border:0;border-bottom:1px solid #82936d;background:none;padding:5px 0;cursor:pointer;white-space:nowrap}
#visitMap{height:490px;background:#e8ece2;font:12px/1.6 Inter,'Noto Sans JP',sans-serif}
#visitMapStatus{position:relative;z-index:500;padding:24px;background:#f1f4ec;color:#35472c;line-height:1.8}
#visitMap .leaflet-tile-pane{filter:grayscale(.85)}
#visitMap .leaflet-control-attribution{font-size:10px}
#visitMap .leaflet-control-attribution a{color:#365c26}
#visitMap .leaflet-bar{border:1px solid #9dab8e;border-radius:0;box-shadow:none}
#visitMap .leaflet-bar a{color:#273023}
.visit-center-label.leaflet-tooltip{padding:3px 7px;background:#18241b;border:0;border-radius:0;color:#fff;box-shadow:none;font-family:inherit}
.visit-center-label.leaflet-tooltip-right:before{border-right-color:#18241b}
.visit-tooltip strong,.visit-tooltip span{display:block;font-family:Inter,'Noto Sans JP',sans-serif}
.visit-map-help{padding:12px 16px;font-size:11px;line-height:1.8;color:#596451;background:#f7f9f3}
.visit-area-fees{border-top:1px solid #bcc7af}
.visit-fee{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:23px 0;border-bottom:1px solid #cdd5c6}
.visit-zone-number{display:grid;place-items:center;width:28px;height:28px;margin-top:2px;font:600 11px/1 Inter,sans-serif;background:#dfe4db;color:#24351c}
.visit-fee--free .visit-zone-number{background:#c9ff3b}
.visit-fee--standard .visit-zone-number{background:#49663c;color:#fff}
.visit-fee h3{font-size:15px;font-weight:650;line-height:1.8;letter-spacing:0}
.visit-fee p{font-size:12px;line-height:1.9;color:#596451;margin-top:9px}
.visit-fee .visit-fee-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;margin-top:10px;font-size:13px;color:#253520}
.visit-fee-price>span{font-size:24px;font-weight:650;letter-spacing:-.03em}
.visit-fee dl{display:grid;gap:7px;margin:12px 0 0}
.visit-fee dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.visit-fee dt{font-size:13px;color:#596451}
.visit-fee dd{margin:0;font:600 23px/1.4 Inter,'Noto Sans JP',sans-serif;color:#253520}
.visit-fee dd>span{font-size:12px;font-weight:400;margin-left:4px}
.visit-area-notes{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:22px 0 26px}
.visit-area-notes p{font-size:12px;line-height:1.9;color:#596451}
.visit-area-notes strong{font-size:15px;font-weight:600;color:#273023}
.visit-area-search{padding:28px;background:#f1f4ec;border:1px solid #cdd5c6}
.visit-area-search label{display:block;font-size:16px;font-weight:650;line-height:1.7;margin-bottom:16px}
.visit-search-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px}
.visit-search-row input{min-width:0;width:100%;font:inherit;font-size:16px;padding:15px;border:1px solid #aab99b;border-radius:0;background:#fff;color:#18241b}
.visit-search-row button{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;border:1px solid #18241b;border-radius:0;background:#18241b;color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1.6;cursor:pointer}
.visit-search-row button:disabled{opacity:.5;cursor:wait}
.visit-search-row button>span{color:#c9ff3b;font-size:20px}
.visit-area-search>p{margin-top:12px;font-size:11px;line-height:1.9;color:#596451}
.visit-area-search .visit-search-credit{margin-top:4px;font-size:10px}
.visit-search-credit a{text-decoration:underline;text-underline-offset:3px}
.visit-area :is(input,button,a):focus-visible{outline:2px solid #536b32;outline-offset:3px}
.fee-result{margin-top:18px;padding:20px;background:#fff;border-left:3px solid var(--zone,#58713d);font-size:14px;line-height:1.8}
.fee-result[hidden],#visitMapStatus[hidden]{display:none}
.fee-result.is-error{border-left-color:#a85035}
.fee-result-area{font-size:13px;color:#4d6041}
.fee-result-area small{font-size:12px}
.fee-result-fee{font-size:25px;font-weight:650;color:#263820;margin-top:6px}
.fee-result-sub{font-size:15px;margin-top:4px}
.fee-result-meta{font-size:11px;color:#596451;margin-top:12px}
.visit-area-contact{margin-top:25px}
.faq-page .estimate-questions .visit-area-inline-link{display:block;width:fit-content;margin-top:14px;text-decoration:underline;text-underline-offset:5px;color:#35472c}
@media(max-width:1100px){.faq-category-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-category-nav a:last-child{grid-column:1/-1}.visit-area-layout{gap:24px}.visit-fee{gap:10px}.visit-fee h3{font-size:14px}}
@media(max-width:850px){.visit-area-heading{grid-template-columns:1fr;gap:18px}.visit-area-layout{grid-template-columns:1fr}#visitMap{height:400px}.visit-area-notes{grid-template-columns:1fr;gap:8px}.visit-search-row{grid-template-columns:minmax(0,1fr) 190px}}
@media(max-width:600px){.visit-area{padding:42px 0 50px}.visit-area-heading{margin-bottom:24px}.visit-area-kicker{margin-bottom:18px}.visit-area-heading>p{font-size:14px}.visit-area-heading>p br{display:none}#visitMap{height:350px}.visit-map-toolbar{padding-inline:12px;font-size:11px}.visit-area-search{padding:20px}.visit-search-row{grid-template-columns:1fr}.visit-search-row input{padding:13px 11px}.visit-search-row button{min-height:50px}.visit-fee h3{font-size:14px}.visit-fee-price>span{font-size:23px}.visit-area-notes{padding-block:18px}.visit-area-contact{font-size:13px}}
