@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Serif+JP:wght@600;700&display=swap");:root{--ink:#322e3a;--ink-soft:#6b6577;--muted:#6b6577;--paper:#fbfaf6;--cream:#fff;--card:#fff;--lavender:#7c5cc4;--lavender-dark:#573a92;--lavender-light:#bfade6;--lavender-pale:#f5f1fb;--blue:#2d87a8;--green:#577038;--gold:#c2a05b;--red:#d55e00;--warning:#d55e00;--danger:#b83a4b;--line:#e7e1f0;--focus:#7c5cc4;--shadow:0 16px 46px rgba(87,58,146,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;overflow-wrap:anywhere}img,svg{max-width:100%}main{min-width:0}:where(a,button,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}.hero{position:relative;isolation:isolate;overflow:hidden;padding:22px max(5vw,24px) 70px;background:linear-gradient(135deg,var(--ink) 0,#40344f 50%,var(--lavender-dark) 100%);color:#fff}.hero:after{position:absolute;right:-10vw;bottom:-25vw;width:58vw;height:58vw;border:1px solid #ffffff2b;border-radius:50%;box-shadow:0 0 0 6vw rgba(191,173,230,.13),0 0 0 12vw #ffffff0a;content:"";pointer-events:none}.hero nav{position:relative;z-index:1;display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid #ffffff2a;font-size:11px;letter-spacing:.15em}.brand{display:flex;gap:8px;align-items:center}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:2fr 1fr;grid-gap:8vw;gap:8vw;max-width:1400px;margin:auto;padding-top:70px}.eyebrow,.section-title>p{color:var(--lavender-dark);font-size:11px;font-weight:700;letter-spacing:.18em}.hero .eyebrow{color:var(--lavender-light)}.hero h1{margin:18px 0 25px;font-family:"Noto Serif JP",serif;font-size:clamp(42px,6.2vw,90px);line-height:1.08;letter-spacing:-.05em}.hero h1 em{color:#e5cb8d;font-style:normal}.lead{max-width:580px;color:#eee9f5;line-height:2}.hero aside{align-self:end;display:grid;grid-template-columns:1fr 1fr;padding-top:22px;border-top:1px solid #ffffff35}.hero aside div{display:grid;grid-template-columns:auto 1fr;grid-gap:3px 10px;gap:3px 10px;align-items:center}.hero aside svg,.pulse{grid-row:1/3;color:#e5cb8d}.hero aside strong{font-size:30px}.hero aside span{color:#ddd4ec;font-size:11px}.hero aside small{grid-column:1/3;margin-top:30px;color:#c8bfd5;line-height:1.7}.pulse{width:10px;height:10px;border-radius:50%;background:#e5cb8d;box-shadow:0 0 0 6px hsla(42,63%,73%,.18)}.summary{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(1300px,calc(100% - 36px));margin:-30px auto 0;background:var(--card);box-shadow:var(--shadow)}.summary div{min-width:0;padding:25px 30px;border-right:1px solid var(--line)}.summary div:last-child{border:0}.summary small,.summary span{display:block;color:var(--ink-soft);font-size:11px}.summary b{font-family:"Noto Serif JP",serif;font-size:34px}.toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr) auto;grid-gap:14px;gap:14px;align-items:center;width:min(1300px,calc(100% - 36px));margin:65px auto 20px}.toolbar label{display:flex;gap:10px;align-items:center;min-width:0;padding:13px 15px;border:1px solid var(--line);background:var(--card)}.toolbar input{width:100%;min-width:0;border:0;outline:0;background:transparent}.categories{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;min-width:0}.categories button{padding:11px 14px;border:1px solid var(--line);background:transparent;color:var(--ink)}.categories button:hover{border-color:var(--lavender-light);background:var(--lavender-pale)}.categories button.active{border-color:var(--lavender-dark);background:var(--lavender-dark);color:#fff}.sort{width:max-content;max-width:100%}.sort select{min-width:0;border:0;background:transparent;color:var(--ink)}.section-title{position:relative;width:min(1300px,calc(100% - 36px));margin:85px auto 30px}.section-title h2{margin:8px 0;font-family:"Noto Serif JP",serif;font-size:clamp(28px,4vw,52px)}.section-title span{position:absolute;right:0;bottom:8px;color:var(--ink-soft);font-size:11px;letter-spacing:.12em}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px;align-items:start;width:min(1300px,calc(100% - 36px));margin:auto}.question-card{min-width:0;max-width:100%;padding:28px;border:1px solid var(--line);background:var(--card);box-shadow:0 8px 28px rgba(87,58,146,.05);scroll-margin-top:20px}.question-card--wide,.question-card.is-wide,.question-card.wide{grid-column:1/-1}.card-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.index{margin-right:auto;color:var(--ink-soft);font-family:"Noto Serif JP",serif;font-size:12px}.quality,.tag{padding:5px 8px;border-radius:99px;background:var(--lavender-pale);color:var(--lavender-dark);font-size:10px}.quality{display:flex;gap:4px;align-items:center}.quality.official{background:#edf4e8;color:#496731}.quality.derived{background:#fbf3df;color:#725315}.question-card h3{margin:24px 0;overflow-wrap:anywhere;font-family:"Noto Serif JP",serif;font-size:clamp(23px,3vw,36px)}.answer>span,.question-card h3 span{margin-right:10px;color:var(--lavender)}figure{min-width:0;max-width:100%;margin:0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}figcaption{min-width:0;margin-bottom:8px;overflow-wrap:anywhere;color:var(--ink-soft);font-size:11px;letter-spacing:.08em}.answer{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:8px;gap:8px;min-width:0;margin:24px 0}.answer>span{font-family:"Noto Serif JP",serif;font-size:24px;font-weight:700}.answer p{min-width:0;margin:0;overflow-wrap:anywhere;line-height:1.85}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metrics div{min-width:0;padding:17px 10px;overflow-wrap:anywhere;border-right:1px solid var(--line)}.metrics div:last-child{border:0}.metrics span{display:block;color:var(--ink-soft);font-size:10px}.metrics strong{font-size:clamp(18px,2vw,24px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metrics small{margin-left:4px;font-size:11px}.source{display:flex;flex-direction:column;gap:8px;min-width:0;padding:18px 0;color:var(--ink-soft);font-size:11px}.source a,.source>div{display:flex;gap:6px;align-items:center;min-width:0}.source a{width:-moz-fit-content;width:fit-content;max-width:100%;text-decoration-thickness:1px;text-underline-offset:3px}.source-entry{align-items:flex-start!important;flex-direction:column;gap:3px}.source-entry small{padding-left:20px;color:var(--ink-soft);overflow-wrap:anywhere}.related{padding-top:16px;border-top:1px solid var(--line)}.related>span{color:var(--ink-soft);font-size:9px;letter-spacing:.16em}.related button{display:flex;justify-content:space-between;width:100%;min-width:0;padding:12px 0;border:0;border-bottom:1px dashed var(--line);background:transparent;color:var(--ink);text-align:left}.related button:hover{color:var(--lavender-dark)}.pending{background:#f7f5f9}.pending-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:30px;border:1px dashed var(--lavender-light);color:var(--ink-soft);text-align:center}.pending-box strong{margin:12px 0;color:var(--ink)}.pending-box p{font-size:12px;line-height:1.6}.data-table-details,.data-table-details>*,.visualization-stack,.visualization-stack>*{min-width:0;max-width:100%}.visualization-stack{display:grid;grid-gap:20px;gap:20px}.visualization-stack figure{margin:0}.chart-canvas,.chart-container,.recharts-responsive-container,.recharts-wrapper{min-width:0!important;max-width:100%!important}.chart-canvas,.chart-container{position:relative;width:100%}.chart-state{display:grid;place-items:center;min-height:220px;padding:24px;border:1px dashed var(--lavender-light);background:var(--lavender-pale);color:var(--ink-soft);text-align:center}.chart-unit{float:right;color:var(--ink-soft);font-weight:400;letter-spacing:0;text-transform:none}.recharts-cartesian-grid line{stroke:var(--line)}.recharts-legend-item-text,.recharts-text{fill:var(--ink-soft);color:var(--ink-soft)!important}.recharts-tooltip-wrapper{z-index:10;max-width:min(300px,calc(100% - 16px));pointer-events:none}.chart-tooltip,.custom-tooltip,.dashboard-tooltip,.geo-popup,.heatmap-popup,.heatmap-tooltip,.map-tooltip,.recharts-default-tooltip,.tooltip-content{max-width:min(300px,calc(100vw - 48px));padding:11px 13px!important;border:1px solid var(--lavender-light)!important;border-radius:8px;background:hsla(0,0%,100%,.98)!important;box-shadow:0 12px 30px rgba(50,46,58,.16);color:var(--ink)!important;overflow-wrap:anywhere;font-size:12px;line-height:1.5}.chart-tooltip,.custom-tooltip,.dashboard-tooltip{pointer-events:none}.dashboard-tooltip-label,.dashboard-tooltip__label,.geo-popup strong,.map-tooltip strong,.tooltip-label{display:block;margin:0 0 6px;color:var(--lavender-dark);font-weight:700}.dashboard-tooltip-list,.tooltip-list{display:grid;grid-gap:4px;gap:4px;margin:0;padding:0;list-style:none}.dashboard-tooltip-row,.dashboard-tooltip__row,.tooltip-item,.tooltip-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:7px;gap:7px;align-items:baseline}.dashboard-tooltip-swatch,.dashboard-tooltip__swatch,.tooltip-swatch{width:9px;height:9px;border-radius:50%}.dashboard-tooltip-value,.dashboard-tooltip__value,.tooltip-value{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table-details{margin-top:14px;padding-top:10px;border-top:1px dashed var(--line)}.data-table-details summary{width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--lavender-dark);cursor:pointer;font-size:11px}.data-table-details summary:hover{text-decoration:underline;text-underline-offset:3px}.data-table-wrap{position:relative;width:100%;max-width:100%;max-height:360px;margin-top:10px;overflow-x:auto;overflow-y:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:4px;background:linear-gradient(to right,#fff 0,#fff calc(100% - 18px),var(--lavender-pale) 100%);box-shadow:inset -12px 0 12px -14px rgba(87,58,146,.8);scrollbar-color:var(--lavender-light) var(--lavender-pale);scrollbar-width:thin}.data-table-wrap:focus,.data-table-wrap:focus-visible{border-color:var(--focus);outline:3px solid rgba(124,92,196,.28);outline-offset:2px}.data-table{width:max-content;min-width:100%;border-collapse:collapse;background:#fff;font-size:12px;text-align:left}.data-table caption{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}.data-table td,.data-table th{max-width:24rem;padding:8px 10px;border:1px solid var(--line);overflow-wrap:anywhere;white-space:normal;vertical-align:top}.data-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--lavender-pale);color:var(--lavender-dark)}.data-table :is(th,td).cell--numeric,.data-table :is(th,td).data-cell--numeric,.data-table :is(th,td)[data-kind=number]{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.data-table a{display:inline-block;max-width:22rem;overflow-wrap:anywhere}.heatmap-table td,.heatmap-table th{min-width:5.5rem;max-width:10rem;white-space:nowrap;text-align:center}.heatmap-cell,.heatmap-table td{position:relative;transition:filter .15s ease,box-shadow .15s ease,transform .15s ease}.heatmap-cell{cursor:help}.heatmap-cell:focus-visible,.heatmap-cell:hover,.heatmap-cell[aria-pressed=true],.heatmap-table td:focus-visible,.heatmap-table td:hover{z-index:2;box-shadow:inset 0 0 0 3px var(--lavender-dark);filter:saturate(1.15)}.heatmap-popup,.heatmap-tooltip{position:absolute;z-index:20;inset:auto auto calc(100% + 8px) 50%;width:max-content;transform:translateX(-50%);pointer-events:none}.text-visualization{display:grid;grid-gap:14px;gap:14px;min-width:0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.text-visualization section{min-width:0;padding-left:14px;border-left:3px solid var(--lavender)}.text-visualization p{margin:5px 0 0;overflow-wrap:anywhere;line-height:1.75}.timeline{min-width:0;padding-top:15px;border-top:1px solid var(--line)}.timeline>div{display:grid;grid-template-columns:70px 14px minmax(0,1fr);grid-gap:15px;gap:15px;min-height:86px}.timeline time{color:var(--lavender-dark);font-weight:700}.timeline>div>span{position:relative;width:9px;height:9px;margin-top:5px;border:2px solid var(--lavender);border-radius:50%}.timeline>div>span:after{position:absolute;top:9px;left:2px;width:1px;height:65px;background:var(--line);content:""}.timeline section{min-width:0}.timeline section p{margin:5px 0;overflow-wrap:anywhere;color:var(--ink-soft);font-size:13px}.geo-map-container,.geo-map-wrap,.map-container{position:relative;min-width:0;max-width:100%;overflow:clip;border-radius:4px}.geo-map{display:block;width:100%;height:auto;min-height:260px;border:1px solid var(--line);background:linear-gradient(145deg,#faf8fd,var(--lavender-pale))}.geo-feature,.map-feature{cursor:help}.geo-feature path,.map-feature path{fill:#ebe3f6;stroke:#8e7cc3;stroke-width:1.2;transition:filter .15s ease,stroke-width .15s ease,opacity .15s ease}.geo-feature.geometry-linestring path,.geo-feature.geometry-multilinestring path,.map-feature.geometry-linestring path,.map-feature.geometry-multilinestring path{fill:none;stroke:var(--blue);stroke-width:2.2}.geo-feature circle,.map-feature circle{fill:var(--lavender-dark);stroke:#fff;stroke-width:1.5}.geo-feature text,.map-feature text{stroke:#fff;stroke-width:3px;stroke-linejoin:round;paint-order:stroke;fill:var(--ink);font-size:10px;font-weight:700;pointer-events:none}.geo-feature:focus-visible path,.geo-feature:hover path,.geo-feature[aria-pressed=true] path,.map-feature:focus-visible path,.map-feature:hover path,.map-feature[aria-pressed=true] path{filter:brightness(.94) saturate(1.2) drop-shadow(0 2px 2px rgba(50,46,58,.2));stroke-width:2.6}.geo-feature:focus-visible,.map-feature:focus-visible{outline:none}.geo-feature.map-furano path,.map-feature.map-furano path{fill:var(--lavender);stroke:var(--lavender-dark);stroke-width:1.8}.geo-feature.map-neighbor path,.map-feature.map-neighbor path{fill:#ebe3f6;stroke:#8e7cc3}.geo-feature.map-railway path,.map-feature.map-railway path{fill:none;stroke:var(--blue);stroke-width:2.4}.geo-feature.map-municipal-boundary path,.map-feature.map-municipal-boundary path{fill:none;stroke:var(--lavender-dark);stroke-width:2.4}.geo-feature.map-flood path,.map-feature.map-flood path{fill:#56b4e9;fill-opacity:.4;stroke:#2d7da6;stroke-width:.8}.geo-feature.map-landslide-warning path,.map-feature.map-landslide-warning path{fill:#e6b84f;fill-opacity:.62;stroke:#8a6813;stroke-width:.8}.geo-feature.map-landslide-special-warning path,.map-feature.map-landslide-special-warning path{fill:var(--danger);fill-opacity:.65;stroke:#7e2635;stroke-width:.9}.map-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 10px;padding:0;color:var(--muted);font-size:.78rem;list-style:none}.map-legend li{display:flex;gap:6px;align-items:center}.map-legend-swatch{display:inline-block;width:18px;height:10px;border:1px solid #8e7cc3;background:#ebe3f6}.map-legend-swatch.map-furano{border-color:var(--lavender-dark);background:var(--lavender)}.map-legend-swatch.map-neighbor{border-color:#8e7cc3;background:#ebe3f6}.map-legend-swatch.map-railway{height:0;border:0;border-top:3px solid var(--blue)}.map-legend-swatch.map-municipal-boundary{border:2px solid var(--lavender-dark);background:transparent}.map-legend-swatch.map-flood{border-color:#2d7da6;background:rgba(86,180,233,.4)}.map-legend-swatch.map-landslide-warning{border-color:#8a6813;background:rgba(230,184,79,.62)}.map-legend-swatch.map-landslide-special-warning{border-color:#7e2635;background:rgba(184,58,75,.65)}.geo-popup,.map-tooltip{position:absolute;z-index:20;width:max-content;pointer-events:none}.methodology{min-width:0;margin:20px 0;padding:16px;border:1px solid var(--line);background:var(--lavender-pale)}.methodology h4{display:flex;gap:7px;align-items:center;margin:0 0 12px;font-size:12px}.methodology dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0;gap:0;margin:0}.methodology dl div{min-width:0;padding:9px 8px 9px 0;border-top:1px solid var(--line)}.methodology dt{color:var(--ink-soft);font-size:10px}.methodology dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:12px;line-height:1.6}.limitations{margin-top:8px;padding-top:10px;border-top:1px solid var(--line);font-size:11px}.limitations strong{color:#725315}.limitations ul{margin:7px 0 0;padding-left:18px;line-height:1.65}footer{display:flex;justify-content:space-between;gap:30px;width:min(1300px,calc(100% - 36px));margin:90px auto 0;padding:35px 0 60px;border-top:1px solid var(--line)}footer p{max-width:500px;margin:0;color:var(--ink-soft);font-size:12px}@media (max-width:1100px){.toolbar{grid-template-columns:minmax(0,1fr)}.categories{justify-content:flex-start}}@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}.hero aside{max-width:420px}.summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-25px}.summary div:nth-child(2){border-right:0}.toolbar{margin-top:45px}.categories{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-inline:contain;padding:3px}.categories button{flex:0 0 auto}.section-title{margin-top:60px}.grid{grid-template-columns:minmax(0,1fr)}.question-card--wide,.question-card.is-wide,.question-card.wide{grid-column:auto}}@media (max-width:560px){.hero{padding-bottom:50px}.hero-grid{padding-top:45px}.hero aside{display:none}.summary div{padding:18px}.summary b{font-size:27px}.question-card{padding:20px}.metrics{grid-template-columns:minmax(0,1fr)}.metrics div{border-right:0;border-bottom:1px solid var(--line)}.metrics div:last-child{border-bottom:0}.section-title span{position:static}.methodology dl{grid-template-columns:minmax(0,1fr)}.data-table-wrap{max-height:300px}.chart-unit{display:block;float:none;margin-top:4px}.source-entry small{padding-left:0}.geo-map{min-height:200px}footer{display:block}footer p{margin-top:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visualization-tooltip{max-width:min(300px,calc(100vw - 48px));border:1px solid var(--lavender-light);border-radius:8px;background:hsla(0,0%,100%,.98);box-shadow:0 12px 30px rgba(50,46,58,.16);color:var(--ink);overflow-wrap:anywhere;font-size:12px;line-height:1.5;pointer-events:none}.chart-tooltip-label{margin:0 0 7px;color:var(--lavender-dark);font-weight:700}.chart-tooltip-list{display:grid;grid-gap:5px;gap:5px;margin:0;padding:0;list-style:none}.chart-tooltip-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:7px;gap:7px;align-items:baseline}.chart-tooltip-swatch{width:9px;height:9px;border-radius:50%}.chart-tooltip-name{min-width:0;color:var(--ink-soft)}.chart-tooltip-value{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-tooltip-unit{font-weight:500}.data-table :is(th,td).data-cell-boolean,.data-table :is(th,td).data-cell-number,.data-table :is(th,td)[data-cell-type=boolean],.data-table :is(th,td)[data-cell-type=number]{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table :is(th,td).data-cell-text,.data-table :is(th,td).data-cell-url,.data-table :is(th,td)[data-cell-type=text],.data-table :is(th,td)[data-cell-type=url]{overflow-wrap:anywhere;white-space:normal}.heatmap-cell-button{position:relative;display:block;width:100%;min-width:4rem;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.heatmap-cell-button:focus-visible{outline:3px solid var(--lavender-dark);outline-offset:3px}.heatmap-cell.is-active{z-index:2;box-shadow:inset 0 0 0 3px var(--lavender-dark);filter:saturate(1.15)}.heatmap-tooltip{inset:auto auto calc(100% + 10px) 50%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:2px 10px;gap:2px 10px;min-width:150px;padding:10px 12px!important}.heatmap-tooltip .chart-tooltip-label{grid-column:1/-1;margin-bottom:2px}.map-tooltip{display:grid;grid-gap:2px;gap:2px;min-width:130px;padding:10px 12px!important;transform:translate(-50%,calc(-100% - 12px))}.map-tooltip strong{margin:0}