:root{color-scheme:dark;--bg:#0d1722;--panel:#142330;--raised:#1c2f3d;--text:#e6edf1;--muted:#a0b3bf;--line:#2b424e;--accent:#ed7b83;--mint:var(--accent);--accent-soft:#351e28;--accent-raised:#40252c;--accent-border:#d05b66;--accent-ink:#291a20;--accent-solid:#a92f3e;--on-accent-solid:#fff4f2;--accent-hover:#bc3f4c;--danger-border:#b87b7f;--amber:#ebc47d;--danger:#f0b2aa;font-family:Inter,"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.75}a{color:var(--mint);text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.5}button{background:none;border:0}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;z-index:2000;background:var(--mint);color:var(--bg);padding:12px}.skip-link:focus{top:10px}.site-header{height:90px;padding:0 5%;display:flex;gap:28px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--text);font-size:20px;font-weight:750;display:flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:-.04em;white-space:nowrap}.brand small{display:block;font-size:8px;letter-spacing:.26em;color:var(--muted);line-height:1.3;margin-top:2px}.brand-bars{display:flex;align-items:flex-end;gap:4px;height:32px}.brand-bars i{display:block;width:8px;height:18px;border-radius:4px;background:var(--mint)}.brand-bars i:nth-child(2){height:26px}.brand-bars i:last-child{height:33px;background:#e8b9aa}nav{display:flex;gap:26px}nav a{font-size:12px;text-decoration:none;color:var(--muted);padding:10px 0}nav a:hover,nav a[aria-current]{color:var(--mint)}.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:43px;padding:10px 18px;border-radius:8px;text-decoration:none;font-weight:650;font-size:12px}.primary{background:var(--accent-solid);color:var(--on-accent-solid);border:1px solid var(--accent-border)}.primary:hover{background:var(--accent-hover)}main{max-width:1400px;margin:0 auto;padding:48px 5% 0}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:34px}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--mint);font-weight:700;margin-bottom:12px}h1{font-size:clamp(32px,3.4vw,46px);letter-spacing:-.045em;line-height:1.45}.lead{color:var(--muted);font-size:13px;margin-top:16px;line-height:1.9}.scope-label{font-size:10px;color:var(--muted);display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:50px;padding:7px 12px;white-space:nowrap;margin-top:6px}.scope-label>span{width:5px;height:5px;border-radius:50%;background:var(--mint)}.source-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border:1px solid var(--accent-border);background:var(--accent-soft);border-radius:10px;font-size:11px}.source-strip>div{display:flex;gap:13px;align-items:center}.source-strip p{color:#e4c9cd}.source-badge{padding:3px 8px;color:var(--mint);background:var(--accent-raised);border-radius:4px;font-weight:700;white-space:nowrap}.source-strip a{text-decoration:none;white-space:nowrap}.connection{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:11px;padding:15px 1px;min-height:54px;flex-wrap:wrap}.connection button{border-bottom:1px solid var(--muted);font-size:11px;margin-left:auto;padding:3px 2px;min-height:32px}.connection.error{color:var(--danger)}.connection a{font-size:12px}.metrics{display:grid;grid-template-columns:1fr 1fr 1.65fr;border:1px solid var(--line);border-radius:12px;background:var(--panel);margin-bottom:42px}.metric{padding:23px 25px}.metric+.metric{border-left:1px solid var(--line)}.metric>p{font-size:11px;color:var(--muted)}.metric>strong{display:block;font-size:34px;line-height:1.4;margin:10px 0 6px;letter-spacing:-.03em;color:var(--mint)}.metric strong small{font-weight:400;font-size:12px;margin-left:7px}.metric>small{font-size:10px;color:var(--muted);display:block}.metric-method{display:flex;gap:15px;align-items:flex-start}.mini-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;flex-shrink:0;background:var(--accent-raised);color:var(--mint);font-size:19px}.metric-method h2{font-size:13px;margin:3px 0 8px}.metric-method p{font-size:11px;color:var(--muted);line-height:1.8}.metric-method a{font-size:10px;display:inline-block;margin-top:10px}.section-heading{display:flex;gap:20px;justify-content:space-between;align-items:flex-end;margin-bottom:21px}.section-heading h2,.method-section>h2{font-size:24px;letter-spacing:-.03em}.section-heading .eyebrow{margin-bottom:6px}.period-label{font-size:10px;color:var(--muted);white-space:nowrap}.regions-section{scroll-margin-top:20px}.region-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(270px,1fr);gap:20px}.map-card,.region-list-panel{border:1px solid var(--line);border-radius:12px;background:var(--panel);min-width:0;overflow:hidden}.map-toolbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line)}.map-toolbar strong{font-size:12px}.map-toolbar button{color:var(--mint);font-size:10px;min-height:36px}.map-stage{height:450px;background:#0f1c29;position:relative}.map-stage #live-map{height:100%;width:100%;z-index:0;background:#101f2d}.map-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:linear-gradient(145deg,#152936,#0e1b28);color:var(--muted);font-size:12px;text-align:center;padding:25px}.map-placeholder>span{font-size:38px;color:var(--mint)}.map-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:11px;padding:14px 15px 4px;font-size:9px;color:var(--muted)}.map-legend>span{display:flex;align-items:center;gap:5px}.swatch{height:8px;width:15px;border-radius:2px;display:inline-block}.suppressed{background:#243847}.few{background:#507b91}.low{background:#72a5a2}.medium{background:#9bd6bd}.high{background:#d4d99c}.very-high{background:#ebc47d}.map-caption{padding:10px 20px 16px;font-size:10px;color:var(--muted);text-align:center}.selected-region{padding:17px 21px;border-top:1px solid var(--line);background:#182b35;font-size:12px;min-height:94px}.selected-region h3{display:flex;justify-content:space-between;gap:10px;font-size:15px;align-items:center;margin-bottom:6px}.selected-region strong{font-size:21px;color:var(--mint)}.selected-region p{font-size:11px;color:var(--muted)}.selected-region a{font-size:11px;display:inline-block;margin-top:7px}.geo-credit{font-size:9px;color:var(--muted);padding:11px 20px;line-height:1.7}.geo-credit a{color:var(--muted)}.region-list-panel{padding:22px;display:flex;flex-direction:column;max-height:785px}.region-list-panel h3{font-size:15px}.panel-help{font-size:10px;color:var(--muted);margin:6px 0 17px}.search-field{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:0 12px;min-height:43px}.search-field>span{font-size:22px;color:var(--muted)}.search-field input{min-width:0;width:100%;background:transparent;border:0;color:var(--text);font-size:12px;padding:10px 0;outline-offset:0}.search-field input::placeholder{color:#91a7b6}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:44px;font-size:10px;color:var(--muted)}.list-toolbar button{font-size:10px;color:var(--mint);min-height:32px}.prefecture-list{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#395364 transparent;flex:1;min-height:150px}.prefecture-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border-bottom:1px solid #263b47;min-height:46px;padding:8px 10px;font-size:12px}.prefecture-row:hover{background:#1c313d}.prefecture-row[aria-pressed=true]{background:var(--accent-soft);border-radius:6px;color:var(--mint);border-color:var(--accent-border)}.prefecture-row>span:first-child{display:flex;align-items:center;gap:9px}.row-value{font-size:12px;font-variant-numeric:tabular-nums}.row-value.muted{font-size:10px;color:var(--muted)}.row-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.list-message{font-size:12px;color:var(--muted);padding:22px 0;line-height:1.9}.companies-section{margin-top:48px;scroll-margin-top:25px}.company-intro{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;font-size:12px;color:var(--muted);margin-bottom:23px}.company-intro a{font-size:11px;white-space:nowrap}.company-content{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:24px}.company-empty{display:flex;gap:20px;align-items:center;padding:6px 0}.empty-symbol{flex-shrink:0;width:48px;height:48px;display:grid;place-items:center;background:#1e3541;border-radius:12px;color:var(--mint);font-size:25px}.company-empty h3{font-size:15px;margin-bottom:7px}.company-empty p{font-size:12px;color:var(--muted)}.company-table{width:100%;border-collapse:collapse}.company-table th{text-align:left;font-size:11px;color:var(--muted);padding:0 10px 12px;border-bottom:1px solid var(--line);font-weight:400}.company-table td{padding:17px 10px;border-bottom:1px solid var(--line);font-size:13px}.company-table tbody tr:last-child td{border-bottom:0}.company-table th:last-child,.company-table td:last-child{text-align:right}.company-table td:last-child{font-size:22px;color:var(--mint);font-variant-numeric:tabular-nums}.company-table small{font-size:11px;margin-left:5px}.section-note{color:var(--muted);font-size:10px;margin-top:13px;line-height:1.9}.method-section{padding:38px 0 40px;margin-top:45px;border-top:1px solid var(--line)}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:25px}.method-number{display:block;font-size:11px;color:var(--mint);letter-spacing:.12em;margin-bottom:13px}.method-grid h3{font-size:13px;margin-bottom:10px}.method-grid p{font-size:11px;line-height:1.9;color:var(--muted)}details{margin-top:28px;border:1px solid var(--line);border-radius:9px;padding:14px 20px;font-size:11px;color:var(--muted)}summary{cursor:pointer;color:var(--text)}details p{margin-top:14px}footer{border-top:1px solid var(--line);padding:28px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:22px;font-size:10px;color:var(--muted)}.footer-brand{font-size:14px;font-weight:700;color:var(--text)}footer p{margin-top:6px}.footer-links{display:flex;gap:24px}.footer-small{width:100%}.leaflet-container{font:inherit}.leaflet-control-zoom a{background:#1c303e!important;color:var(--text)!important;border-color:#345161!important}.leaflet-control-attribution{background:rgba(13,23,34,.8)!important;color:var(--muted)!important;font-size:9px!important}.leaflet-control-attribution a{color:var(--muted)!important}.leaflet-tooltip{background:#1c303e;border:1px solid var(--accent-border);box-shadow:0 4px 15px #0003;color:var(--text);font-size:11px;border-radius:6px;padding:7px 12px}.leaflet-tooltip:before{display:none}.leaflet-interactive:focus{outline:3px solid var(--mint)}
@media(max-width:1000px){.site-header{padding:0 25px;gap:16px}nav{gap:17px}main{padding:34px 25px 0}.metrics{grid-template-columns:1fr 1fr}.metric-method{grid-column:1/-1;border-left:0!important;border-top:1px solid var(--line)}.region-layout{grid-template-columns:minmax(0,1.45fr) minmax(240px,1fr);gap:16px}.region-list-panel{padding:18px}.map-stage{height:400px}.map-toolbar{padding:0 16px}.metric-method p{max-width:600px}}@media(max-width:700px){html{scroll-padding-top:20px}.site-header{height:auto;min-height:79px;padding:17px 20px;gap:16px;flex-wrap:wrap}.brand{font-size:17px;gap:9px}.brand-bars{gap:3px;height:27px}.brand-bars i{width:6px;height:15px}.brand-bars i:nth-child(2){height:22px}.brand-bars i:last-child{height:28px}.brand small{font-size:7px}.site-header .button{font-size:11px;padding:9px 12px;min-height:40px}nav{order:3;width:100%;border-top:1px solid var(--line);padding-top:12px;justify-content:space-between;gap:10px}nav a{font-size:11px;padding:2px 0}main{padding:29px 20px 0}.page-heading{display:block;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:10px}h1{font-size:35px}.lead{font-size:12px;margin-top:15px}.desktop-break{display:none}.scope-label{display:inline-flex;margin-top:20px;font-size:9px}.source-strip{display:block;padding:15px;font-size:11px}.source-strip>div{display:block}.source-strip p{margin-top:9px}.source-strip>a{display:inline-block;margin-top:10px;font-size:10px}.connection{font-size:10px;line-height:1.8;padding:13px 0;gap:7px}.connection button{font-size:10px}.metrics{margin-bottom:31px;border-radius:10px}.metric{padding:17px 15px}.metric>p{font-size:10px}.metric>strong{font-size:27px;margin-top:10px}.metric>small{font-size:9px;line-height:1.7}.metric-method{gap:11px}.mini-icon{width:27px;height:27px;font-size:17px}.metric-method h2{font-size:12px}.metric-method p{font-size:10px}.metric-method a{font-size:10px}.section-heading{gap:15px;align-items:flex-start;margin-bottom:17px}.section-heading h2,.method-section>h2{font-size:21px}.period-label{font-size:9px;padding-top:24px;white-space:normal;text-align:right;max-width:100px}.region-layout{display:block}.map-toolbar{height:51px}.map-toolbar strong{font-size:11px}.map-stage{height:380px}.map-legend{gap:9px;padding:13px 12px 4px;font-size:8px}.map-legend .swatch{width:12px;height:7px}.map-caption{font-size:10px;padding:10px 15px 14px}.selected-region{padding:16px}.selected-region h3{font-size:14px}.selected-region strong{font-size:20px}.selected-region p{font-size:11px}.geo-credit{padding:10px 15px;font-size:9px}.region-list-panel{margin-top:15px;max-height:430px;padding:18px}.region-list-panel h3{font-size:14px}.search-field input{font-size:16px}.prefecture-row{min-height:47px}.companies-section{margin-top:33px}.company-intro{display:block;font-size:11px;margin-bottom:17px}.company-intro a{display:inline-block;margin-top:12px;font-size:11px}.company-content{padding:19px 16px}.company-empty{gap:13px;align-items:flex-start}.empty-symbol{width:34px;height:34px;font-size:20px}.company-empty h3{font-size:13px}.company-empty p{font-size:11px}.company-table th{font-size:10px}.company-table td{padding:15px 5px;font-size:12px}.company-table td:last-child{font-size:19px}.section-note{font-size:10px}.method-section{padding-top:28px;margin-top:30px}.method-grid{grid-template-columns:1fr;gap:24px;margin-top:23px}.method-number{margin-bottom:9px}.method-grid h3{font-size:13px}.method-grid p{font-size:11px}.method-section details{padding:14px;font-size:11px}footer{padding:24px 0;gap:16px}.footer-links{gap:18px;font-size:11px}.footer-small{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.map-placeholder button{font-size:12px;text-decoration:underline;color:var(--mint);padding:8px}
.site-header .brand-bars{flex-shrink:0}.site-header .brand>span:last-child{min-width:0;overflow-wrap:anywhere;word-break:keep-all}
@media(min-width:701px) and (max-width:800px){.site-header>.brand{font-size:18px}}
@media(max-width:700px){.site-header>.brand{flex:1;min-width:0;white-space:normal}.site-header>.button{flex-shrink:0;white-space:nowrap}}
.connection.error{border:1px solid var(--danger-border);border-radius:8px;background:#32252d;padding:12px;margin:10px 0}

/* Keep the search result visible while only the prefecture list scrolls. */
.page-heading{margin-bottom:22px}
.page-heading h1{font-size:clamp(28px,3.4vw,44px)}
.page-heading .eyebrow,.regions-section .eyebrow{font-size:12px;letter-spacing:.08em}
.lead{font-size:14px}
.entry-actions{display:flex;flex-wrap:wrap;gap:10px;max-width:440px;margin-top:20px}
.entry-actions .button{flex:1 1 160px;min-height:46px;font-size:13px}
.button.secondary{border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent)}
.button.secondary:hover{background:var(--accent-raised)}
.scope-label{font-size:12px}
.region-layout{grid-template-columns:minmax(280px,1fr) minmax(0,1.75fr);align-items:start}
.region-list-panel{max-height:none;overflow:visible;align-self:start;margin-top:0}
.region-list-panel>h3{font-size:16px}
.region-list-panel>.panel-help{font-size:12px}
.region-list-panel .search-field{min-height:46px;flex-shrink:0}
.region-list-panel .search-field input{font-size:16px}
.selected-region{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:8px;min-height:0;flex-shrink:0;overflow-wrap:anywhere}
.selected-region p,.selected-region a{font-size:12px}
.list-toolbar{flex-shrink:0;font-size:12px}
.list-toolbar button{font-size:12px}
.prefecture-list{flex:0 0 auto;min-height:0;max-height:260px;overflow:auto}
.prefecture-row{font-size:13px}
.row-value.muted{font-size:12px}
.regional-empty{margin-bottom:18px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.regional-empty strong{display:block;font-size:14px}
.regional-empty p{margin-top:6px;font-size:12px;color:var(--muted)}
.regional-empty a{display:inline-block;margin-top:10px;font-size:12px}
.regions-section .period-label{font-size:12px;max-width:none;padding-top:0;align-self:flex-end}
.aggregation-context{margin-top:28px}
.aggregation-context .metrics{margin:16px 0 0}
.source-strip,.source-strip>a,.connection,.connection button,.metric>p,.metric>small,.metric-method p,.metric-method a{font-size:12px}
.map-toolbar strong,.map-toolbar button,.map-legend,.map-caption,.geo-credit{font-size:12px}
.company-intro,.company-intro a,.company-empty p,.section-note,.method-grid p,.method-section details{font-size:12px}
.footer-links{flex-wrap:wrap;gap:12px 20px;font-size:12px}
.footer-small{font-size:12px}
@media(max-width:1000px){.region-layout{grid-template-columns:minmax(260px,1fr) minmax(0,1.45fr)}}
@media(max-width:700px){.region-layout{display:grid;grid-template-columns:1fr;gap:16px}.prefecture-list{max-height:240px}.scope-label{margin-top:18px}.aggregation-context{margin-top:24px}}

/* One in-flow placement. An inactive slot takes no space and loads no ad service. */
.site-advertisement{width:100%;max-width:728px;margin:40px auto 24px;min-width:0}
.advertisement-label{color:var(--muted);font-size:12px;line-height:1.5;text-align:center;margin-bottom:8px}
.advertisement-content{width:100%;height:50px;background:var(--panel);outline:1px solid var(--line)}
@media(min-width:800px){.advertisement-content{height:90px}}

.prefecture-filter{display:grid;gap:8px;margin:16px 0;color:var(--text,#e8edf2);font-size:14px;font-weight:600}.prefecture-filter select{width:100%;min-height:44px;background:#18212b;color:#eef2f5;border:1px solid #52616c;border-radius:10px;padding:10px;font:inherit;color-scheme:dark}.prefecture-filter select:focus-visible{outline:2px solid #e0fff1;outline-offset:3px}

.public-reports-section{margin-top:36px;scroll-margin-top:24px}.public-report-intro,#public-report-status{color:var(--muted);margin:14px 0;font-size:13px}.public-reports-section .section-heading button,.public-report-pagination button{color:var(--accent);border:1px solid var(--line);border-radius:8px;padding:10px 14px;min-height:44px;font:inherit}.public-report-card,.public-report-empty{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;margin:16px 0}.public-report-card h3{font-size:19px;margin:8px 0 16px}.public-report-meta{color:var(--accent);font-size:12px}.public-report-description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.95}.public-report-card dl{display:flex;flex-wrap:wrap;gap:16px 32px;margin:22px 0}.public-report-card dt{color:var(--muted);font-size:12px}.public-report-card dd{margin:3px 0 0}.public-report-caution{color:var(--muted);font-size:12px;margin:18px 0 10px}.public-report-card>a,.public-report-empty>a{font-size:12px}.public-report-empty p{color:var(--muted);margin:12px 0}.public-report-pagination{display:flex;justify-content:space-between;gap:16px;margin:20px 0}.public-body-consent{border:1px solid var(--accent-border);background:var(--accent-soft);border-radius:10px;padding:18px}.public-body-consent strong{color:var(--accent)}
@media(max-width:700px){.public-report-card,.public-report-empty{padding:18px}.public-report-card h3{font-size:17px}.public-report-description{font-size:14px}.public-reports-section .section-heading{align-items:center}}

.company-count-track{display:block;width:100%;height:7px;border-radius:4px;background:var(--raised);margin-top:10px;overflow:hidden}.company-count-track>span{display:block;height:100%;background:var(--accent);border-radius:4px}.company-chart-note{font-size:12px;color:var(--muted);margin-top:18px;line-height:1.8}
