/*
Theme Name: ODAISHI Local
Theme URI: https://www.odaishi.com/
Author: JCBO
Description: 地図 × 暮らし × 不動産の地域情報プラットフォーム用テーマ。
Version: 1.1.6
Text Domain: odaishi-local
*/
:root{--ink:#132a3a;--muted:#657684;--line:#dfe7ec;--bg:#f5f8fa;--card:#fff;--accent:#0b6b67;--accent2:#be7d2f;--deep:#0c2d44}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","PingFang SC","Hiragino Kaku Gothic ProN",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.7}a{color:inherit}.wrap{width:min(1180px,calc(100% - 32px));margin:auto}.site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-in{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-weight:900;letter-spacing:.04em;font-size:22px}.brand small{display:block;font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.16em}.nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700}.nav a{text-decoration:none}.lang{display:flex;gap:6px}.lang a{padding:6px 9px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:11px}.hero{background:linear-gradient(135deg,#edf6f4,#f8f4eb 60%,#eef3f7);padding:64px 0 42px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:900;color:var(--accent)}h1{font-size:clamp(38px,5vw,68px);line-height:1.07;margin:10px 0 18px;letter-spacing:-.03em}.lead{font-size:18px;color:#445d6c;max-width:680px}.searchbox{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 18px 50px rgba(19,42,58,.08);display:flex;gap:8px}.searchbox input{flex:1;border:0;outline:0;font-size:16px;padding:14px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:var(--deep);color:#fff;text-decoration:none;font-weight:800;padding:13px 18px;cursor:pointer}.quicktabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.quicktabs a{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid var(--line);text-decoration:none;font-size:12px;font-weight:700}.map-shell{background:#fff;border:1px solid var(--line);padding:10px;border-radius:24px;box-shadow:0 22px 60px rgba(19,42,58,.09)}.map-shell .odaishi-map{height:470px}.section{padding:58px 0}.section.alt{background:var(--bg)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section h2{margin:0;font-size:30px;line-height:1.2}.section-head p{margin:5px 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;transition:.18s transform,.18s box-shadow}.card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(19,42,58,.08)}.card .meta{font-size:11px;font-weight:900;color:var(--accent);letter-spacing:.08em}.card h3{margin:8px 0 5px;font-size:19px}.card p{margin:0;color:var(--muted);font-size:14px}.districts{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.districts a{padding:12px 8px;text-align:center;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:#fff;font-size:13px;font-weight:700}.topics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.topic{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;font-size:13px;font-weight:700}.feed{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feed article{border-top:3px solid var(--deep);padding:15px 4px}.feed time{font-size:11px;color:var(--muted)}.feed h3{margin:6px 0;font-size:17px}.cta{background:var(--deep);color:#fff;border-radius:24px;padding:34px;display:flex;justify-content:space-between;gap:28px;align-items:center}.cta h2{font-size:28px}.site-footer{background:#0b2231;color:#d7e2e8;padding:42px 0 28px;margin-top:40px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}.site-footer a{color:#fff}.copyright{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:#91a6b3}.area-hero{padding:46px 0 28px;background:linear-gradient(135deg,#eff7f5,#f6f3eb)}.breadcrumbs{font-size:12px;color:var(--muted)}.area-title{font-size:44px;margin:10px 0 6px}.summary-box{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;margin-top:18px}.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.guide-card{border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;background:#fff}.guide-card .topic-label{font-size:10px;color:var(--accent);font-weight:900;text-transform:uppercase}.guide-card h3{font-size:17px;margin:5px 0}.article{width:min(820px,calc(100% - 32px));margin:42px auto}.article h1{font-size:40px}.article .content{font-size:17px}.article .checked{padding:10px 12px;background:var(--bg);font-size:12px;color:var(--muted);border-radius:8px}.search-results{display:grid;gap:12px}.result{padding:18px;border:1px solid var(--line);border-radius:14px}.result a{text-decoration:none}.result .type{font-size:10px;font-weight:900;color:var(--accent)}@media(max-width:900px){.hero-grid,.two-col{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.topics{grid-template-columns:repeat(3,1fr)}.districts{grid-template-columns:repeat(4,1fr)}.feed{grid-template-columns:1fr}.nav{display:none}.map-shell .odaishi-map{height:380px}}@media(max-width:560px){.wrap{width:min(100% - 20px,1180px)}.hero{padding:38px 0 26px}.searchbox{flex-direction:column}.grid,.guide-grid{grid-template-columns:1fr}.topics{grid-template-columns:repeat(2,1fr)}.districts{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr}.cta{display:block}.area-title{font-size:34px}.article h1{font-size:32px}}

/* v1.1.0 map-first redesign */
.map-first{position:relative;width:100%;background:#e9eef2;border-bottom:1px solid var(--line)}
.odaishi-home-map{width:100%;height:72vh;min-height:620px;border-radius:0!important}
.map-overlay{position:absolute;z-index:500;left:max(24px,calc((100vw - 1440px)/2));top:42px;width:min(560px,calc(100% - 48px));padding:24px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid rgba(223,231,236,.95);border-radius:18px;box-shadow:0 18px 50px rgba(19,42,58,.16)}
.map-overlay h1{font-size:clamp(34px,4.6vw,58px);margin:8px 0 12px;line-height:1.04}.map-overlay p{margin:0 0 16px;color:#445d6c}.map-overlay .searchbox{box-shadow:none}.map-legend{display:flex;gap:18px;margin-top:12px;font-size:12px;font-weight:700;color:#536471}.dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px}.dot.station{background:#0b6b67;border:2px solid #0b3954}.dot.area{background:#d79a35;border:2px solid #8a4f08}.map-status{position:absolute;z-index:500;right:max(20px,calc((100vw - 1440px)/2));bottom:18px;background:rgba(255,255,255,.94);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;box-shadow:0 4px 16px rgba(19,42,58,.12)}.map-links{padding:18px 0 6px}.map-links .quicktabs{margin:0;justify-content:center}
@media(max-width:900px){.odaishi-home-map{height:68vh;min-height:560px}.map-overlay{top:22px;left:16px;width:calc(100% - 32px);padding:18px}.map-overlay h1{font-size:36px}.map-status{left:16px;right:auto;bottom:14px}}
@media(max-width:560px){.odaishi-home-map{height:72vh;min-height:560px}.map-overlay{top:12px;left:10px;width:calc(100% - 20px);padding:14px}.map-overlay h1{font-size:30px}.map-overlay p{font-size:14px}.map-status{left:10px;bottom:10px}.map-overlay .searchbox{padding:8px}.map-overlay .searchbox input{padding:10px}}

/* v1.1.2 transit-map visual polish */
.map-overlay{width:min(560px,38vw);border:1px solid rgba(203,213,225,.82);box-shadow:0 18px 45px rgba(15,23,42,.16)}
.map-overlay h1{font-size:clamp(42px,4vw,64px)}
.rail-legend{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:14px;font-size:10px;font-weight:800;color:#475569}.rail-legend span{display:flex;align-items:center;gap:5px}.rail-legend .rail{width:17px;height:5px;border-radius:999px;display:inline-block}.rail-legend .jr{background:#2f8f4e}.rail-legend .metro{background:#1268a8}.rail-legend .toei{background:#8c3f91}.rail-legend .private{background:#d97706}
@media(max-width:900px){.map-overlay{width:min(520px,calc(100% - 28px));left:14px}.rail-legend{display:none}}

/* v1.1.4 rail/station first navigation */
.odaishi-rail-search{background:#fff;border:1px solid #dce5ea;border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(12,45,68,.06)}
.odaishi-rail-search.is-compact{margin:18px 0 12px;background:rgba(255,255,255,.96);padding:16px;border-radius:14px}
.odaishi-rail-search-title{font-size:18px;font-weight:800;margin-bottom:14px;color:#0c2d44}
.odaishi-rail-search.is-compact .odaishi-rail-search-title{font-size:15px;margin-bottom:10px}
.odaishi-rail-search-fields{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end}
.odaishi-rail-search label span{display:block;font-size:12px;font-weight:800;color:#587083;margin:0 0 6px}
.odaishi-rail-search select{width:100%;height:48px;border:1px solid #cfdbe2;border-radius:12px;background:#fff;padding:0 12px;font-size:15px;color:#0c2d44}
.odaishi-rail-search .btn{height:48px;white-space:nowrap}
.odaishi-rail-search .btn:disabled{opacity:.45;cursor:not-allowed}
.searchbox-secondary{margin-top:10px}
.search-heading{margin:34px 0 20px}
.station-related-guides{padding-top:0}
@media(max-width:760px){.odaishi-rail-search-fields{grid-template-columns:1fr}.odaishi-rail-search .btn{width:100%}.map-overlay{max-width:calc(100% - 24px)}}


/* v1.1.5 ward -> station -> guide navigation */
.odaishi-ward-search{background:#fff;border:1px solid #dce5ea;border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(12,45,68,.06)}
.odaishi-ward-search.is-compact{margin:14px 0;background:rgba(255,255,255,.96);padding:16px}
.odaishi-ward-search-title{font-size:18px;font-weight:900;color:#0c2d44;margin-bottom:12px}
.odaishi-ward-search-fields{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:18px;align-items:end}
.odaishi-ward-search label span{display:block;font-size:12px;font-weight:800;color:#587083;margin-bottom:6px}
.odaishi-ward-search select{width:100%;height:48px;border:1px solid #cfdbe2;border-radius:12px;background:#fff;padding:0 12px;font-size:15px;color:#0c2d44}
.odaishi-ward-hint{font-size:13px;color:#657684;padding-bottom:10px}
.odaishi-ward-stations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.odaishi-ward-station{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid #dce5ea;border-radius:12px;text-decoration:none;background:#fff;transition:.18s ease}
.odaishi-ward-station:hover{border-color:#7aa6b8;transform:translateY(-2px);box-shadow:0 8px 20px rgba(12,45,68,.08)}
.odaishi-ward-station strong{font-size:15px;color:#0c2d44}.odaishi-ward-station small{font-size:11px;color:#657684;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.odaishi-ward-empty{margin-top:14px;padding:12px;border-radius:10px;background:#f5f8fa;color:#657684}
.station-topic-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.station-topic-nav a{padding:9px 13px;border-radius:999px;background:#edf4f7;border:1px solid #d3e1e7;text-decoration:none;font-size:13px;font-weight:800;color:#0c2d44}.station-topic-nav a:hover{background:#0c2d44;color:#fff}
.station-guide-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.odaishi-ward-stations{grid-template-columns:repeat(2,1fr)}.station-guide-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.odaishi-ward-search-fields{grid-template-columns:1fr}.odaishi-ward-stations,.station-guide-grid{grid-template-columns:1fr}.odaishi-ward-hint{padding-bottom:0}}
