@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--ink:#203b33;--green:#25634c;--deep:#173f35;--mint:#ecf4ee;--line:#dce3de;--muted:#6a7971;--paper:#f6f8f5;font-family:'Noto Sans JP',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,select,input[type=checkbox],input[type=radio]{cursor:pointer}button{color:inherit;border:0;background:none}button:disabled,select:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #83a74a;outline-offset:4px}input,select{min-width:0}input[type=checkbox],input[type=radio]{accent-color:var(--green)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;left:10px;top:-70px;padding:12px;background:white;z-index:10000}.skip:focus{top:8px}
.site-header{height:90px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:50px;padding:0 max(32px,calc((100vw - 1306px)/2))}.brand{display:flex;align-items:center;gap:11px;font-size:22px;font-weight:800;letter-spacing:.02em;text-decoration:none;white-space:nowrap}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:.24em;margin-top:2px}.brand-mark{font:italic 35px Georgia,serif;color:white;border-radius:12px 12px 12px 3px;background:var(--deep);width:42px;height:44px;text-align:center;line-height:45px}.brand-mark span{color:#c7e29c}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px;height:100%;white-space:nowrap}.site-header nav a{text-decoration:none;height:100%;display:flex;align-items:center;border-bottom:3px solid transparent;padding-top:3px}.site-header nav a[aria-current]{border-color:var(--green);font-weight:700}.data-badge{margin-left:auto;font-size:11px;white-space:nowrap;color:var(--muted)}.data-badge i{display:inline-block;width:6px;height:6px;background:#4f8c62;border-radius:50%;margin-right:6px}
main{max-width:1370px;margin:auto;padding:38px 32px 0}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:10px;font-weight:600;line-height:1.6;letter-spacing:.16em;color:var(--muted);margin:0 0 8px}h1{font-size:29px;letter-spacing:.035em;line-height:1.6;margin:0;font-weight:700}.page-intro p:last-child{font-size:13px;color:var(--muted);margin:8px 0 0}.analysis-link{padding:13px 17px;border:1px solid var(--line);border-radius:5px;text-decoration:none;background:white;font-size:12px;white-space:nowrap}.analysis-link span{margin-left:18px}.source-note{display:flex;gap:12px;background:#ecf2ed;border:1px solid #dce6db;border-radius:6px;padding:13px 17px;margin-bottom:28px;font-size:11px;color:#516458;line-height:1.8}.source-note p{margin:0}.info-icon{border:1px solid #799780;border-radius:50%;flex:none;width:18px;height:18px;text-align:center;line-height:17px;margin-top:2px;font-family:Georgia,serif}
.explore-layout{display:grid;grid-template-columns:256px minmax(0,1fr);gap:30px;align-items:start}.filters{background:white;border:1px solid var(--line);border-radius:8px;padding:22px 20px}.filter-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.filter-title h2{font-size:17px;margin:0}.text-button{font-size:11px;color:var(--green);text-decoration:underline;text-underline-offset:3px;padding:5px 0}.region-filter label,.metric-filter legend,.range-heading{font-size:12px;font-weight:700}.region-filter select{display:block;width:100%;border:1px solid #d4ddd5;border-radius:4px;background:white;padding:10px 8px;font-size:12px;margin-top:9px}.metric-filter{padding:20px 0 0;border:0;margin:22px 0 0;border-top:1px solid var(--line);min-width:0}.metric-filter legend{float:left;width:100%;margin-bottom:13px}.metric-options{clear:both;display:grid;gap:7px}.metric-options label{position:relative}.metric-options input{position:absolute;opacity:0}.metric-options span{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;padding:9px 10px;border:1px solid var(--line);border-radius:4px}.metric-options span:before{content:'';width:12px;height:12px;border:1px solid #abb8b0;border-radius:50%;flex:none}.metric-options input:checked+span{background:var(--mint);border-color:#648d72;font-weight:700;color:var(--green)}.metric-options input:checked+span:before{background:var(--green);box-shadow:inset 0 0 0 3px var(--mint);border-color:var(--green)}.metric-options input:focus-visible+span{outline:3px solid #83a74a;outline-offset:2px}.metric-options small{font-size:9px;color:var(--muted);font-weight:400}.small-note{font-size:10px;line-height:1.9;color:var(--muted);margin:10px 0 0}
.range-filter{padding-top:21px;margin-top:21px;border-top:1px solid var(--line)}.range-heading{display:flex;justify-content:space-between;margin-bottom:12px}.range-heading span{color:var(--muted);font-size:10px;font-weight:400}.range-values{display:flex;gap:6px;align-items:center;font-size:11px}.range-values input{width:calc(50% - 12px);text-align:center;border:1px solid var(--line);padding:6px 2px;border-radius:4px;background:#fafcf9;font-size:12px;font-variant-numeric:tabular-nums}.range-visual{height:62px;position:relative;margin:8px 8px 0}.histogram{height:42px;display:flex;align-items:flex-end;gap:2px;padding-bottom:6px;position:absolute;inset:0 0 auto}.histogram i{flex:1;min-width:1px;background:#dce9d5}.histogram i.active{background:#9bc788}.range-track{position:absolute;bottom:16px;left:0;right:0;height:3px;background:#e1e7df}.range-selection{position:absolute;top:0;bottom:0;background:var(--green)}.range-visual input[type=range]{position:absolute;bottom:1px;left:-8px;width:calc(100% + 16px);height:33px;margin:0;background:transparent;pointer-events:none;appearance:none;-webkit-appearance:none;outline:0}.range-visual input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;pointer-events:auto;width:17px;height:31px;background:linear-gradient(to right,white 28%,#7c9180 29%,#7c9180 36%,white 37%,white 63%,#7c9180 64%,#7c9180 71%,white 72%);border:2px solid #537660;border-radius:6px;box-shadow:0 2px 3px #29452b20;cursor:ew-resize}.range-visual input[type=range]::-moz-range-thumb{pointer-events:auto;width:14px;height:28px;border:2px solid #537660;border-radius:6px;background:white;cursor:ew-resize}.range-visual input:focus-visible::-webkit-slider-thumb{outline:3px solid #bed58a;outline-offset:3px}.range-visual input:focus-visible::-moz-range-thumb{outline:3px solid #bed58a;outline-offset:3px}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:-4px}.check-label{display:flex;align-items:flex-start;gap:7px;font-size:10px;margin-top:20px;line-height:1.7}.check-label input{margin:3px 0 0}.filter-help{font-size:10px;color:var(--muted);line-height:1.9;border-top:1px solid var(--line);padding-top:17px;margin:19px 0 0}
.result-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:1px 0 20px}.result-top h2{font-size:21px;font-weight:700;margin:0}.result-top .eyebrow{font-size:9px;margin-bottom:6px}.outline-button{border:1px solid var(--line);border-radius:4px;background:white;font-size:10px;padding:9px 12px;white-space:nowrap}.view-tabs{display:flex;border-bottom:1px solid var(--line);gap:8px}.view-tabs button{min-width:117px;padding:13px 12px;border-bottom:3px solid transparent;color:#7d8a82;font-size:16px;margin-bottom:-1px}.view-tabs button span{font-size:12px;margin-left:7px}.view-tabs button[aria-selected=true]{border-color:var(--green);color:var(--green);font-weight:700}.result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0 12px;font-size:11px}.result-toolbar p{margin:0;color:var(--muted)}.result-toolbar strong{font-size:24px;color:var(--ink);margin-right:4px;letter-spacing:-.03em}.result-toolbar label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:10px;white-space:nowrap}.result-toolbar select{font-size:10px;padding:7px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink)}.coverage-note{font-size:10px;color:#647568;margin:0 0 17px;line-height:1.9}.active-chip{background:#e9f0e4;border:1px solid #d3dfcc;display:inline-block;padding:2px 7px;border-radius:3px;font-size:10px;color:#4a694d;margin:0 6px 4px 0}
.property-card{border:1px solid var(--line);border-radius:7px;background:white;margin-bottom:16px;overflow:hidden}.card-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:17px 20px 13px;border-bottom:1px solid #eef1ec}.card-heading h3{font-size:17px;margin:0 0 5px;font-weight:700;letter-spacing:.02em}.card-heading p{margin:0;font-size:10px;color:var(--muted)}.card-heading .tag{font-size:9px;padding:4px 6px;background:#f1f5ed;color:#5d7458;margin-right:6px;border-radius:3px}.card-body{display:grid;grid-template-columns:180px 1fr 95px;gap:22px;padding:20px}.property-visual{min-height:178px;border-radius:5px;background:#f0f3ed;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#5c7965;overflow:hidden;position:relative}.property-visual svg{width:95px;height:90px;stroke:#8fa18c;fill:none;stroke-width:1.5;z-index:1}.property-visual:before{content:'';position:absolute;width:148px;height:148px;border-radius:50%;background:#e4eada;left:-15px;top:10px}.property-visual:after{content:'';position:absolute;width:98px;height:98px;border-radius:50%;background:#e1e9dc70;right:-22px;top:0}.property-visual strong{font-size:11px;z-index:1;margin-top:8px}.property-visual small{font-size:8px;z-index:1;margin-top:4px}.property-info{min-width:0}.price-label{font-size:9px;color:var(--muted);margin:0}.property-price{font-size:30px;line-height:1.4;color:#b05534;margin:0 0 10px;font-weight:700;letter-spacing:-.03em}.property-price span{font-size:13px;letter-spacing:0;margin-left:4px}.property-specs{display:grid;grid-template-columns:1fr 1fr;margin:0;font-size:11px;gap:0 10px}.property-specs div{display:flex;gap:9px;border-bottom:1px solid #e9ede7;padding:8px 0;min-width:0}.property-specs dt{font-size:9px;color:var(--muted);min-width:44px}.property-specs dd{margin:0;overflow-wrap:anywhere}.property-specs .full{grid-column:1/-1}.score-main{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f2f7ef;border:1px solid #dce6d7;border-radius:5px;align-self:start;min-height:117px;padding:10px 3px}.score-main small{font-size:9px;color:#5b705c}.score-main strong{font-size:35px;line-height:1.25;font-weight:700;letter-spacing:-.04em;color:var(--green);margin:6px 0 3px}.score-main span{font-size:8px;color:var(--muted)}.score-main.missing{background:#f5f5f3;border-color:#e7e8e3}.score-main.missing strong{font-size:15px;color:#8c958c;margin:15px 0}
.card-scores{display:grid;grid-template-columns:repeat(5,1fr);margin:0 20px;padding:12px 0;border-top:1px solid var(--line);gap:6px}.mini-score{text-align:center;border-right:1px solid #edf0e9;font-size:9px;color:var(--muted)}.mini-score:last-child{border:0}.mini-score b{display:block;font-size:16px;color:var(--green);margin-top:4px;font-weight:600}.mini-score b.missing-value{font-size:11px;color:#9aa298;padding-top:4px}.mini-score.active{background:#f0f6eb;border-radius:3px;color:var(--green)}.card-bottom{padding:11px 20px;background:#fbfcf9;border-top:1px solid #e9eee6;display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:10px;color:var(--muted)}.card-bottom p{margin:0;line-height:1.8}.card-bottom button{color:var(--green);font-size:11px;font-weight:600;white-space:nowrap}.card-detail{border-top:1px solid var(--line);padding:20px;font-size:11px;line-height:1.9;background:#f8faf6}.card-detail h4{font-size:12px;margin:12px 0 5px}.card-detail h4:first-child{margin-top:0}.card-detail p{margin:5px 0 10px}.crime-categories{display:flex;flex-wrap:wrap;gap:5px}.crime-categories span{background:white;border:1px solid var(--line);padding:3px 6px;border-radius:3px;font-size:10px}.detail-links{display:flex;gap:20px;font-size:10px}
.rank-intro{font-size:11px;line-height:1.8;margin:0 0 16px;color:var(--muted)}.rank-table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:6px}.rank-table{border-collapse:collapse;width:100%;min-width:690px;font-size:11px}.rank-table th{background:#eef3e9;text-align:left;padding:14px 12px;font-size:10px;color:#5d705b;font-weight:500}.rank-table td{padding:16px 12px;border-top:1px solid var(--line);vertical-align:middle}.rank-table td small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.rank-table .rank-number{font-size:20px;font-weight:700;color:#a17a30}.rank-table .rank-score{font-size:21px;font-weight:700;color:var(--green)}.rank-table button{text-align:left;padding:0;text-decoration:underline;text-underline-offset:4px;font-weight:600}.rank-table .highlight{background:#f6faf2}
.loading-state,.empty-state{padding:60px 24px;background:white;border:1px solid var(--line);border-radius:6px;text-align:center;line-height:1.9;font-size:12px}.loading-state h3,.empty-state h3{font-size:16px;margin:12px 0}.loading-state p,.empty-state p{color:var(--muted)}.empty-state button{margin:6px;padding:9px 15px;border:1px solid var(--line);border-radius:4px;background:#f0f6eb;font-size:11px}.loading-dot{display:inline-block;width:20px;height:20px;border:2px solid #dfe9d8;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pagination{display:flex;gap:7px;align-items:center;justify-content:center;margin:26px 0 14px;font-size:11px}.pagination button{padding:8px 12px;background:white;border:1px solid var(--line);border-radius:4px}.pagination span{padding:0 7px;color:var(--muted)}.dataset-status{color:var(--muted);font-size:9px;line-height:1.9;margin:16px 0 0}
.map-caption{font-size:10px;line-height:1.9;color:var(--muted);background:#edf3e8;margin:0;padding:12px 15px}#property-map{height:530px;width:100%;background:#e7ece5;z-index:0}.map-label{background:var(--deep);color:white;padding:7px 10px;border:2px solid white;border-radius:7px;box-shadow:0 3px 10px #203b3330;width:max-content;white-space:nowrap;font-size:12px;font-weight:700}.map-label small{font-size:9px;display:block;font-weight:400}.map-popup{font:12px/1.9 'Noto Sans JP',sans-serif}.map-popup button{background:var(--green);color:white;border-radius:3px;padding:5px 10px}.leaflet-control-attribution{font-size:9px!important}#map-selection{margin-top:18px}
.methodology{border-top:1px solid var(--line);margin-top:64px;padding:48px 0;display:grid;grid-template-columns:286px 1fr;gap:40px}.methodology h2{font-size:23px;line-height:1.7;font-weight:600;margin:8px 0 15px}.methodology>div>p:last-child{font-size:12px;line-height:1.9;color:var(--muted)}.method-list details{border-bottom:1px solid var(--line)}.method-list summary{padding:18px 0;font-size:12px;font-weight:500;cursor:pointer}.method-list details p{font-size:11px;line-height:2;color:var(--muted);margin:0 0 17px}.method-list details a{color:var(--green)}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;max-width:1370px;padding:30px 32px;margin:auto;font-size:10px;color:var(--muted)}.footer-brand{font-size:16px;font-weight:700;text-decoration:none;color:var(--ink)}footer nav{display:flex;gap:25px}footer nav a{text-decoration:none}
@media(max-width:1100px){.site-header{gap:25px;padding:0 24px}.site-header nav{gap:20px}.data-badge{display:none}main{padding:28px 24px 0}.explore-layout{gap:20px;grid-template-columns:232px minmax(0,1fr)}.filters{padding:20px 16px}.card-body{grid-template-columns:133px 1fr 77px;gap:15px;padding:16px}.property-visual{min-height:172px}.property-price{font-size:26px}.property-specs{grid-template-columns:1fr}.property-specs div{padding:6px 0}.property-specs .full{grid-column:auto}.card-heading{padding:15px 16px}.card-scores{margin:0 16px}.card-bottom{padding:12px 16px}.score-main strong{font-size:29px}.result-toolbar label>span{display:none}.card-heading h3{font-size:15px}.methodology{grid-template-columns:232px 1fr;gap:20px}}
@media(max-width:760px){.site-header{height:auto;min-height:76px;padding:16px 18px;flex-wrap:wrap;gap:14px}.brand{font-size:19px}.brand-mark{height:37px;width:35px;line-height:37px;font-size:29px}.site-header nav{gap:20px;font-size:11px;margin-left:auto}.site-header nav a{padding:6px 0}.site-header nav a:last-child{display:none}main{padding:24px 16px 0}.page-intro{display:block;margin-bottom:17px}.page-intro h1{font-size:23px}.page-intro p:last-child{font-size:11px}.analysis-link{display:none}.source-note{font-size:10px;padding:11px 12px;margin-bottom:18px}.explore-layout{display:block}.filters{padding:17px;margin-bottom:22px}.filter-title{margin-bottom:15px}.filter-title h2{font-size:15px}.region-filter{display:grid;grid-template-columns:1fr 1fr;gap:8px}.region-filter label:not(.sr-only){grid-column:1/-1}.region-filter select{margin:0}.metric-filter{margin:18px 0 0;padding-top:15px}.metric-options{grid-template-columns:repeat(2,1fr);gap:6px}.metric-options span{font-size:11px;padding:7px 8px}.metric-options small{font-size:8px}#range-filters{display:grid;grid-template-columns:1fr 1fr;gap:0 23px}.range-filter{margin-top:15px;padding-top:15px}.range-values input{font-size:11px}.range-heading{font-size:11px}.range-visual{height:58px}.filter-help{margin-top:12px;padding-top:10px;font-size:9px}.check-label{margin-top:14px}.result-top{padding:0 0 12px}.result-top h2{font-size:18px}.outline-button{font-size:9px;padding:8px}.view-tabs{gap:0}.view-tabs button{min-width:0;flex:1;padding:11px}.view-tabs button span{font-size:11px}.result-toolbar{padding-top:16px;font-size:10px;gap:8px}.result-toolbar strong{font-size:21px}.result-toolbar select{font-size:9px;max-width:166px}.coverage-note{font-size:9px;margin-bottom:12px}.card-heading{padding:13px}.card-heading h3{font-size:14px;line-height:1.6}.card-heading p{font-size:9px}.card-heading .tag{font-size:8px}.card-body{grid-template-columns:105px minmax(0,1fr);gap:13px;padding:14px 13px;position:relative}.property-visual{min-height:153px;grid-row:1;align-self:stretch}.property-visual svg{width:76px;height:73px}.property-visual strong{font-size:9px}.property-visual small{font-size:7px}.property-price{font-size:25px}.property-price span{font-size:11px}.property-specs{font-size:10px}.property-specs dt{font-size:8px;min-width:38px}.property-specs div{padding:5px 0}.score-main{grid-column:1/-1;flex-direction:row;gap:12px;min-height:0;padding:7px;justify-content:flex-start}.score-main strong{font-size:25px;margin:0}.score-main small{font-size:10px}.score-main span{font-size:9px;margin-left:auto}.score-main.missing strong{font-size:13px;margin:0}.card-scores{margin:0 13px;gap:1px}.mini-score{font-size:8px}.mini-score b{font-size:14px}.mini-score b.missing-value{font-size:9px}.card-bottom{padding:10px 13px;align-items:flex-start;gap:8px}.card-bottom p{font-size:9px}.card-bottom button{font-size:10px;padding:0}.card-detail{padding:16px 13px;font-size:10px}.card-detail h4{font-size:11px}.rank-table{min-width:630px;font-size:10px}.rank-table th,.rank-table td{padding:12px 10px}.rank-intro{font-size:10px}#property-map{height:400px}.methodology{display:block;margin-top:35px;padding:28px 0}.methodology h2{font-size:21px}.methodology br{display:none}.methodology>div>p:last-child{font-size:10px}.method-list summary{font-size:11px;line-height:1.8}.method-list details p{font-size:10px}footer{padding:22px 16px;flex-wrap:wrap;gap:18px;font-size:9px}footer nav{gap:15px}.footer-brand{font-size:14px}footer>span{width:100%}.loading-state,.empty-state{padding:35px 17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

#mobile-filters{display:none}.range-labels{flex-wrap:wrap}.scale-note{width:100%;text-align:center;font-size:8px;margin-top:5px;color:var(--muted)}.price-caution{color:#a86229!important;font-weight:500} @media(max-width:760px){#mobile-filters{display:block;color:var(--green);font-size:10px;margin-left:auto;margin-right:13px}.filters:not(.expanded) :is(.metric-filter,#range-filters,.check-label,.filter-help){display:none}}

.view-switcher{display:flex;align-items:stretch;border-bottom:1px solid #d9e1d3}.view-switcher .view-tabs{flex:1;border-bottom:0}.view-analysis{display:flex;align-items:center;padding:12px 18px;font-size:13px;font-weight:600;color:#295240;text-decoration:none;white-space:nowrap}.view-analysis:hover{background:#edf3e8}@media(max-width:550px){.view-analysis{padding:10px;font-size:12px}.view-switcher .view-tabs button{padding:12px 10px}}

.national-coverage{display:block;margin:14px 0;font-size:13px}.national-coverage p{margin:7px 0 0;line-height:1.8}

.layout-filter,.period-filter{border:0;border-top:1px solid #d9e2dd;margin:22px 0 0;padding:22px 0 0}.layout-filter legend,.period-filter legend{font-weight:700;padding-top:15px}.layout-filter legend small{font-weight:400}.layout-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.layout-options label{display:flex;align-items:center;gap:7px;font-size:13px}.layout-options input{accent-color:#286459;width:17px;height:17px}.period-filter select{width:100%;padding:10px;margin:6px 0;border:1px solid #bacac4;border-radius:6px;background:white}.period-controls{display:flex;align-items:center;gap:9px;margin:12px 0}.period-controls label{flex:1;min-width:0;font-size:12px}.period-controls input{width:100%;box-sizing:border-box;padding:9px 6px;border:1px solid #bacac4;border-radius:5px;color:#173f35;background:white}.period-filter .outline-button{width:100%}.card-scores{grid-template-columns:repeat(6,minmax(0,1fr))}.mini-score small{display:block;font-size:10px;font-weight:400}.rank-table td small{display:block}.rank-table th{white-space:nowrap}@media(max-width:680px){.card-scores{grid-template-columns:repeat(3,minmax(0,1fr))}}

.property-visual-art{padding:0;justify-content:flex-start;background:#eef3ec}.property-visual-art:before,.property-visual-art:after{display:none}.property-visual-art svg.property-art{width:100%;height:auto;max-height:140px;stroke:none;fill:none;stroke-width:0}.property-visual-art small{padding:6px 8px 8px;font-size:8px;line-height:1.5;color:#5c7965}

.inline-detail{background:#fff;border:1px solid #ccdad1;border-radius:12px;margin:0 0 20px;overflow:hidden;color:#203c32}.inline-detail .dialog-top{position:static}.inline-detail .dialog-body{padding:0 24px 24px}.inline-detail[hidden]{display:none}
.rank-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}.rank-toolbar .chip-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rank-toolbar .chip-label{font-size:10px;color:var(--muted);margin-right:2px}.rank-toolbar button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:7px 12px;font-size:11px;cursor:pointer;color:var(--ink)}.rank-toolbar button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}
.rank-table td.num{text-align:right;white-space:nowrap}.rank-table .rank-range{color:var(--muted);font-size:10px}.rank-note{font-size:10px;color:var(--muted);margin:10px 0 0;line-height:1.8}
.aggregate-table{width:100%;border-collapse:collapse;font-size:11px;margin:8px 0 14px}.aggregate-table th,.aggregate-table td{border-bottom:1px solid #e3eae5;padding:7px 8px;text-align:right;white-space:nowrap}.aggregate-table th:first-child,.aggregate-table td:first-child{text-align:left}.aggregate-table caption{text-align:left;font-weight:700;padding:6px 0;font-size:12px}

.trend-chart{margin:12px 0 6px}.trend-chart figcaption{font-size:11px;font-weight:700;margin-bottom:4px}.trend-chart svg{width:100%;height:auto;max-height:280px;background:#fff;border:1px solid #e3eae5;border-radius:6px}.trend-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px;margin:8px 0}.trend-controls select{padding:6px 8px}
.detail-map{height:280px;width:100%;background:#e7ece5;border-radius:8px;margin:8px 0 6px;z-index:0}.detail-map[hidden]{display:none}.rank-toolbar select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:11px;background:#fff}

.drill-path{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;margin:0 0 10px}.drill-path button{border:0;background:none;padding:2px 4px;color:var(--green);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:600}.drill-path button[aria-current=true]{text-decoration:none;color:var(--ink);cursor:default}.drill-button{display:inline-block;margin-left:8px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:3px 9px;font-size:10px;color:var(--green);cursor:pointer}

.metric-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px 12px;margin:0 0 18px}.metric-panel[hidden]{display:none}.metric-panel h3{font-size:14px;margin:0 0 8px}.metric-panel-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px}.metric-panel-head small{color:var(--muted)}.metric-missing{font-size:12px;color:var(--muted);margin:6px 0}.metric-loading{font-size:12px;color:var(--muted)}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:var(--muted);margin:4px 0 0}.legend-item i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:middle}

.exposure-block{margin:8px 0 14px}.exposure-block h4{font-size:13px;margin:0 0 4px}.exposure-lead{font-size:12px;margin:0 0 6px}.exposure-lead strong{font-size:16px;color:var(--green)}.exposure-lead small{display:block;font-size:10px;color:var(--muted)}
/* ランキングの地域名は折り返しても3行程度で読めるように幅を確保し、絞り込みボタンは名前の下に1行で置く */
.rank-table td.rank-name{min-width:190px;max-width:260px;line-height:1.5}
.rank-table td.rank-name button[data-rank-key]{font-size:12px;white-space:normal}
.rank-table td.rank-name .drill-button{display:inline-block;white-space:nowrap;margin-top:4px;font-size:10px;font-weight:500}

/* 推移の表は折りたたみ。グラフが基本の表示 */
.detail-table-fold{margin:6px 0 14px}.detail-table-fold summary{cursor:pointer;font-size:11px;color:var(--green);font-weight:600;padding:6px 0}.detail-table-fold[open] summary{margin-bottom:6px}

/* 順位の札: 各パネルの左上 */
.rank-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}.rank-badge{display:flex;flex-direction:column;min-width:150px;padding:10px 14px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:6px;background:#f6faf2}.rank-badge small{font-size:10px;color:var(--muted)}.rank-badge strong{font-size:22px;color:var(--green);line-height:1.2}.rank-badge strong span{font-size:12px;margin-left:2px}.rank-badge em{font-style:normal;font-size:10px;color:var(--muted)}

/* グラフの点・棒にマウスを重ねたときの値の札 */
.chart-tip{position:fixed;z-index:60;pointer-events:none;background:#203b33;color:#fff;font-size:11px;line-height:1.5;padding:6px 10px;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.18);max-width:260px}.trend-chart circle{r:5px;cursor:crosshair}.trend-chart rect,.trend-chart text{cursor:crosshair}
.field-note.is-error{background:#fff4f2;border:1px solid #e3b4ac;border-left:4px solid #b4433a;border-radius:6px;padding:10px 12px;color:#6d2a24}.field-note.is-error strong{display:block;margin-bottom:4px;color:#b4433a}.field-note.is-error small{display:block;margin-top:6px;color:#7a5651}

/* 沿線・駅の選択がサイドバーからはみ出さないようにする */
.station-filter{display:block}.station-filter label{display:block;margin:10px 0 4px;font-size:11px;color:var(--muted)}.station-filter select{display:block;width:100%;max-width:100%;box-sizing:border-box}.station-filter .small-note{margin-top:10px}

/* 取引の期間の選択と、総合得点のときの地域データの折りたたみ */
.period-filter .period-controls{display:flex;align-items:flex-end;gap:6px}
.period-filter label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);flex:1;min-width:0}
.period-filter select{width:100%;max-width:100%;box-sizing:border-box}
.period-filter .period-controls>span{padding-bottom:8px}
.panel-section{border:1px solid var(--line);border-radius:10px;margin-top:10px;background:var(--surface)}
.panel-section>summary{cursor:pointer;padding:10px 12px;font-weight:600;font-size:13px}
.panel-section[open]>summary{border-bottom:1px solid var(--line)}
.panel-section-body{padding:0 12px 12px}

/* データ分析のページ: 地域の入力、分野の目次、分野ごとの図 */
.data-controls .region-filter{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;align-items:end;margin-bottom:12px}
.data-controls .region-filter label{display:block;font-size:12px;color:var(--muted)}
.data-controls input{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--surface);color:inherit}
.data-controls input:disabled{opacity:.6}
#data-status[data-kind=error]{color:#a4362f}
.data-toc ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0}
.data-toc a{display:inline-flex;gap:6px;align-items:baseline;padding:6px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:12px}
.data-toc a span{color:var(--muted)}
.data-field{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.data-field .section-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.data-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin:10px 0}
.report-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.report-actions button{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font:inherit;cursor:pointer}
.report-actions button.solid{background:var(--brand,#25634c);color:#fff;border-color:transparent}
@media (max-width:640px){.data-controls .region-filter{grid-template-columns:1fr}}

/* エリア・市区町村の文字入力 */
.region-filter input{width:100%;max-width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--surface);color:inherit}
.region-filter input:disabled{opacity:.6}
.region-filter label{display:block;margin:8px 0 4px;font-size:11px;color:var(--muted)}
.region-filter #region-status{margin-top:8px}

/* 地域データのタブ（都道府県・市区町村・地区）と、点数のサマリ */
.panel-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}
.panel-tabs button{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font:inherit;font-weight:600;cursor:pointer;color:inherit}
.panel-tabs button small{font-weight:400;font-size:11px;color:var(--muted)}
.panel-tabs button[aria-selected=true]{background:#1f5544;border-color:#1f5544;color:#fff}
.panel-tabs button[aria-selected=true] small{color:#d7e6dd}
.panel-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:0 0 10px}
.panel-score{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-align:center}
.panel-score small{display:block;font-size:11px;color:var(--muted)}
.panel-score strong{display:block;font-size:18px;line-height:1.3}
.panel-score em{display:block;font-style:normal;font-size:10px;color:var(--muted)}
.panel-score.active{border-color:#1f5544;box-shadow:0 0 0 1px #1f5544 inset}
.panel-lead{margin:0 0 10px;font-size:13px}

/* 物件の公表条件（都市計画・建蔽率・容積率・前面道路・最寄駅） */
.condition-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin:8px 0 14px}
.condition-item{border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:var(--surface)}
.condition-item dt{display:flex;justify-content:space-between;gap:8px;align-items:baseline;font-size:11px;color:var(--muted);margin:0}
.condition-item dt span{font-size:10px;border:1px solid var(--line);border-radius:999px;padding:1px 7px}
.condition-item dd{margin:4px 0 0}
.condition-item dd strong{display:block;font-size:14px}
.condition-item dd small{display:block;margin-top:4px;color:var(--muted);line-height:1.6}
.condition-item.is-watch{border-color:#c08a2e;background:#fdf7ec}
.condition-item.is-watch dt span{border-color:#c08a2e;color:#8a5f14}
.condition-item.is-good dt span{border-color:#1f5544;color:#1f5544}
.condition-item.is-missing{opacity:.85}
