body.book{margin:0;background:#fff;color:#202020;font-family:system-ui,-apple-system,'Hiragino Kaku Gothic ProN',sans-serif;line-height:1.75}.book *{box-sizing:border-box}.book a{color:inherit;text-underline-offset:4px}.book .shell{width:calc(100% - 64px);max-width:1240px;margin-inline:auto}.book .private-note{background:#f4f4f4;color:#555;font-size:11px;border-bottom:1px solid #e2e2e2;padding:5px 0}.mast{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid #dedede;gap:20px}.logo{display:flex;gap:10px;align-items:center;font-size:20px;font-weight:750;letter-spacing:.03em;text-decoration:none}.logo svg{width:27px;height:27px}.mast nav{display:flex;gap:20px;font-size:12px}.intro{display:grid;grid-template-columns:1fr 280px;gap:50px;padding:32px 0 26px}.eyebrow{font-size:11px;letter-spacing:.07em;color:#626262;margin:0}.intro h1{font-size:clamp(25px,3.2vw,40px);line-height:1.45;font-weight:650;letter-spacing:.02em;margin:12px 0}.intro p:not(.eyebrow){font-size:13px;margin:0;color:#555}.daily{border-left:1px solid #bbb;padding:4px 0 0 22px;align-self:center}.daily>span small{display:block;font-size:10px;font-weight:400;letter-spacing:0}.daily a{display:grid;grid-template-columns:1fr 20px;gap:8px;text-decoration:none;margin-top:10px}.daily strong{font-size:14px}.daily a span{grid-row:2;font-size:11px;line-height:1.65;color:#555}.daily svg{width:18px;height:18px;grid-column:2;grid-row:1/3}.town-strip{display:flex;justify-content:space-between;font-size:11px;color:#555;margin-bottom:12px}.town-strip strong{font-weight:550}.book-controls{border:1px solid #bbb;background:#fafafa;padding:14px 18px;margin-bottom:22px}.filter-line{display:flex;align-items:end;gap:12px;margin-bottom:10px}.filter-line label{flex:1;min-width:0;font-size:11px;font-weight:600}.filter-line .keyword{flex:2}.book input,.book select{display:block;width:100%;font:inherit;font-size:13px;min-height:44px;margin-top:5px;padding:8px 10px;border:1px solid #777;border-radius:2px;color:#202020;background:white}.book button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font:inherit;font-size:12px;border:1px solid #777;border-radius:2px;background:white;color:#202020;padding:8px 12px;cursor:pointer}.book button svg{width:16px;height:16px}.advanced{border-top:1px solid #ddd;padding-top:7px}.advanced summary,.provenance summary{cursor:pointer;font-size:12px;min-height:36px;padding:6px 0}.advanced .filter-line{padding-top:8px}.filter-help,.coverage-line,.order-note{font-size:11px;color:#626262;line-height:1.7;margin:6px 0}.filter-help{margin-bottom:0}.book-result-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.book-result-head h2{font-size:20px;font-weight:650;margin:0}.book-result-head h2 span{font-size:16px;margin-left:8px;font-weight:450}.book-result-head p{font-size:11px;color:#626262;margin:4px 0}.book-result-head label{font-size:10px;max-width:220px;min-width:150px}.book-result-head select{font-size:11px}.book-columns,.book-row{display:grid;grid-template-columns:190px minmax(0,1.3fr) minmax(0,1fr) 105px;gap:26px;align-items:center}.book-columns{font-size:10px;color:#626262;padding:13px 0 9px;border-bottom:1px solid #222}.book-row{padding:24px 0;border-bottom:1px solid #d8d8d8;min-height:200px}.book-row[hidden]{display:none}.visual-link{text-decoration:none;display:block;min-width:0}.work-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:4/3;background:#f2f2f2;border:1px solid #e3e3e3;overflow:hidden;color:#444;padding:20px 8px 12px}.visual-index{position:absolute;top:9px;left:12px;font-size:10px;color:#646464;letter-spacing:.1em}.visual-symbol svg{width:64px;height:64px;stroke:currentColor;fill:none;stroke-width:1.25}.work-visual strong{font-size:10px;font-weight:550;letter-spacing:.06em}.visual-caption{font-size:9px;color:#666;margin-top:4px}.book-row h2{font-size:17px;font-weight:650;line-height:1.65;margin:7px 0;overflow-wrap:anywhere}.book-row h2 a{text-decoration:none}.book-row h2 a:hover{text-decoration:underline}.book-row .summary{font-size:12px;margin:0;line-height:1.9}.book-row .eyebrow{font-size:10px;letter-spacing:0}.field-label{font-size:10px;color:#626262}.discovery p{font-size:13px;line-height:1.9;margin:7px 0 12px}.themes{display:flex;flex-wrap:wrap;gap:5px}.themes span{font-size:10px;color:#555;border-bottom:1px solid #bbb;line-height:1.7}.book .primary{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;text-decoration:none;min-height:44px;padding:10px 0;border-bottom:1px solid #222;border-radius:0;background:white;color:#202020}.primary svg{width:16px;height:16px}.coverage{margin-top:46px;padding-top:24px;border-top:1px solid #222}.coverage h2{font-size:20px;font-weight:600}.coverage>p{font-size:12px}.coverage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px;margin:20px 0}.coverage-grid span{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #ddd;font-size:11px}.coverage details{padding:13px 0;border-bottom:1px solid #ddd}.coverage summary{cursor:pointer;font-size:13px;min-height:36px}.coverage details p{font-size:12px;line-height:1.9;max-width:880px}.registry-counts{display:flex;flex-wrap:wrap;gap:16px;font-size:12px}.registry-list{list-style:none;padding:0;max-height:500px;overflow:auto}.registry-list li{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:10px 0;border-bottom:1px solid #ddd;font-size:12px}.registry-list small{color:#626262}.registry-list a{margin-left:auto}.book footer{border-top:1px solid #ddd;margin-top:44px;padding:24px 0;font-size:11px;color:#626262}.book .detail{max-width:1000px;padding-top:25px}.book-back{display:inline-block;font-size:12px;padding:10px 0;min-height:44px}.company-heading{padding:22px 0 26px}.detail h1{font-size:clamp(24px,3vw,36px);font-weight:600;line-height:1.55;margin:14px 0}.lede{font-size:15px;line-height:1.9;max-width:760px}.company-heading>p:last-child{font-size:12px}.detail-visual{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:28px 0;border-block:1px solid #ddd}.work-visual.large{aspect-ratio:16/10;padding:30px}.large .visual-symbol svg{width:115px;height:115px}.large strong{font-size:17px;letter-spacing:.1em}.large .visual-caption{font-size:11px}.large .visual-index{font-size:13px;top:18px;left:20px}.detail-visual h2{font-size:24px;line-height:1.7;font-weight:550;margin:12px 0}.detail-visual p{font-size:13px}.detail-visual a{font-size:12px}.asset-note{font-size:11px!important;color:#626262}.signals,.basics{padding-top:40px}.signals h2,.basics h2{font-size:23px;font-weight:550;margin:8px 0 14px}.section-note{font-size:12px;color:#626262}.signal{display:grid;grid-template-columns:150px 1fr;gap:24px;border-top:1px solid #ddd;padding:22px 0;font-size:13px}.signal-channel strong{font-size:13px;font-weight:600}.signal-channel small{display:block;font-size:10px;color:#626262}.signal-date{font-size:11px;color:#626262;margin:0 0 5px}.signal h3{font-size:16px;font-weight:550;margin:3px 0 10px}.signal-limit{font-size:11px;color:#626262;line-height:1.9}.checked{display:block;font-size:10px;color:#626262;margin-top:9px}.book-facts{margin-top:22px}.book-facts>div{display:grid;grid-template-columns:190px 1fr;gap:24px;border-top:1px solid #ddd;padding:17px 0;font-size:13px;line-height:1.9}.book-facts dt{font-weight:550}.book-facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.book-facts small{display:block;font-size:11px;margin-top:5px}.source-note{font-size:12px;background:#f5f5f5;padding:16px;line-height:1.9}.provenance{border-top:1px solid #ddd;padding-top:10px}.provenance p{font-size:12px;line-height:1.9}.bottom-back{margin-top:20px}#empty{border:1px solid #999;padding:22px;margin-top:18px;background:#fafafa}#empty h3{font-size:16px}#empty p{font-size:12px}.book :focus-visible{outline:3px solid #333;outline-offset:4px}.book a:hover{color:#555}.book a.primary:hover{color:#000;background:#f5f5f5}html:not(.js) .book-controls,html:not(.js) .book-result-head>label{display:none}@media(prefers-reduced-motion:reduce){.book *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(max-width:1050px){.book-columns,.book-row{grid-template-columns:145px minmax(0,1.3fr) minmax(0,1fr) 90px;gap:18px}.book-row h2{font-size:15px}.discovery p{font-size:12px}.intro{grid-template-columns:1fr 230px;gap:28px}}@media(max-width:850px){.book .shell{width:calc(100% - 36px)}.mast{padding:17px 0}.logo{font-size:17px;gap:7px}.logo svg{width:24px;height:24px}.mast nav{gap:10px;font-size:10px}.book main.shell:not(.detail){display:flex;flex-direction:column}.intro{display:contents}.intro>div{order:0;padding:24px 0 20px}.intro h1{font-size:27px;margin:10px 0}.intro p:not(.eyebrow){font-size:12px}.town-strip{order:1;margin-bottom:10px}.book-controls{order:2;padding:12px;margin-bottom:20px}#results{order:3}.daily{order:4;border-left:0;border-top:1px solid #bbb;padding:20px 0 0;margin-top:30px}.coverage{order:5}.filter-line{flex-wrap:wrap;gap:10px;margin-bottom:9px}.filter-line label{flex:1 1 42%}.filter-line .keyword{flex:1 1 60%}.filter-line button{flex:0 0 auto;font-size:10px;padding:8px}.filter-help{font-size:10px}.book-result-head h2{font-size:18px}.book-result-head h2 span{font-size:14px}.book-result-head label{min-width:110px;max-width:150px}.book-result-head select{font-size:10px}.order-note{font-size:10px}.coverage-line{font-size:11px}.book-columns{display:none}.book-row{grid-template-columns:110px minmax(0,1fr);gap:12px 16px;padding:21px 0;align-items:start}.visual-link{grid-column:1;grid-row:1/3}.identity{grid-column:2}.book-row h2{font-size:16px;margin:6px 0}.book-row .summary{font-size:12px}.work-visual{aspect-ratio:3/4;min-height:142px;padding:24px 5px 12px}.work-visual strong{font-size:9px;letter-spacing:0}.visual-symbol svg{width:52px;height:52px}.visual-caption{font-size:8px}.discovery{grid-column:2}.discovery .field-label{font-size:9px}.discovery p{margin:4px 0 7px;font-size:12px}.themes span{font-size:9px}.book-row>.primary{grid-column:2;justify-self:start;min-width:110px;margin-top:0}.coverage-grid{grid-template-columns:1fr 1fr;gap:0 18px}.detail-visual{grid-template-columns:1fr;gap:22px;padding:23px 0}.work-visual.large{aspect-ratio:16/9;min-height:0}.detail-visual h2{font-size:22px}.detail h1{font-size:27px}.lede{font-size:14px}.signal{grid-template-columns:1fr;gap:12px}.signal-channel{display:flex;gap:12px;align-items:center}.book-facts>div{grid-template-columns:1fr;gap:5px}.book .detail{padding-top:15px}}@media(max-width:360px){.book .shell{width:calc(100% - 28px)}.mast{align-items:start}.logo{font-size:15px}.mast nav{flex-direction:column;gap:3px}.intro h1{font-size:24px}.book-row{grid-template-columns:85px minmax(0,1fr);gap:12px}.work-visual{min-height:140px}.work-visual strong{font-size:8px}.book-row h2{font-size:15px}.town-strip{font-size:10px}.book-result-head h2{font-size:16px}.coverage-grid{grid-template-columns:1fr}.filter-line button{font-size:10px}.large strong{font-size:15px}}
/* 主条件と結果を近接。補足条件はnative detailsに集約する。 */
.main-filters label.keyword{flex:2}.book-controls>.filter-line:empty{display:none}.reset-line{float:right;margin-top:-48px;position:relative}.main-filters{padding-right:140px}.book-controls .advanced{clear:both}.book-controls{padding-block:12px}.intro{padding-block:25px 20px}.order-note{max-width:900px}.book-columns{padding-top:10px}.book-row h2,.daily strong{letter-spacing:0}.book button:hover{background:#f0f0f0}@media(max-width:850px){.main-filters{padding-right:0}.main-filters label.keyword{flex-basis:100%}.reset-line{float:none;margin-top:0;justify-content:flex-end;margin-bottom:3px}.reset-line button{min-height:36px}.book-controls{padding-block:10px}.intro>div{padding:18px 0 15px}.intro h1{margin-block:8px}.town-strip{margin-bottom:8px}.book-controls{margin-bottom:16px}.book-row{padding-top:17px}.order-note{line-height:1.6}.filter-line{margin-bottom:7px}.advanced summary{min-height:32px;padding-block:4px}}
.book .primary{border:0;border-bottom:1px solid #222}.intro{display:block}.intro>div{max-width:800px}.daily{max-width:560px;margin-top:32px;padding:20px 0 0;border-left:0;border-top:1px solid #bbb}.daily a{max-width:500px}
.book a:not(.logo):not(.visual-link):not(.primary):not(#daily-link):not(.preview-pair):not(.map-action):not([data-segment]):not(.town-open):not(.region-child):not(.area-company-link):not(#segment-clear){display:inline-block;min-height:24px;max-width:100%}.book .mast nav a{min-height:30px;padding-block:3px}.book-row h2 a{line-height:1.7}.book .skip svg{width:18px;height:18px;vertical-align:middle;margin-right:6px}
.town-strip{display:none}@media(max-width:850px){.intro>div{padding-top:14px;padding-bottom:12px}.book-controls{margin-bottom:14px}}
@media(max-width:850px){.intro{order:0;padding:0}.intro>div{padding:18px 0 16px}}
/* V11: 会社固有の発見を先に読み、汎用図は補足へ。 */
.detail-visual{grid-template-columns:minmax(0,1fr) 128px;gap:30px;align-items:start}.detail-visual>.large{width:128px;min-height:0;aspect-ratio:1;padding:20px 6px 8px}.detail-visual>.large .visual-symbol svg{width:42px;height:42px}.detail-visual>.large strong{font-size:10px;letter-spacing:0}.detail-visual>.large .visual-caption{font-size:8px}.detail-visual>.large .visual-index{font-size:9px;top:5px;left:8px}.detail-visual h2{margin-top:8px}.operator-info{margin-top:10px}.operator-info summary{cursor:pointer;min-height:32px;padding-block:4px}.operator-info p{max-width:800px;line-height:1.9}.recent-evidence{font-size:11px;color:#555;margin:8px 0 6px;font-variant-numeric:tabular-nums}.recent-evidence[hidden]{display:none}.provenance h3{font-size:13px;font-weight:600}
@media(max-width:850px){.detail-visual{display:flex;flex-direction:column;gap:14px}.detail-visual>.large{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;width:100%;height:54px;aspect-ratio:auto;padding:8px 12px}.detail-visual>.large .visual-symbol svg{width:30px;height:30px}.detail-visual>.large .visual-index{display:none}.detail-visual>.large .visual-caption{font-size:9px}.detail-visual>.large strong{font-size:10px}.detail-visual h2{font-size:22px}.recent-evidence{font-size:10px}}
/* V12: 街の選択を入口にし、未提供機能は操作させない。 */
.city-picker h1{font-size:27px;margin:0 0 16px;font-weight:600}.city-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.city-fields label{font-size:11px;font-weight:600;color:#555}.book .city-fields select:disabled{color:#444;background:#f5f5f5;border-color:#aaa;opacity:1;cursor:not-allowed;-webkit-text-fill-color:#444}.city-picker #city-note{font-size:11px;margin-top:10px}.city-picker .location-planned{font-size:11px;margin-top:8px;color:#666}.location-planned span{font-size:10px;margin-left:8px}.book-controls .main-filters{padding-right:140px}.book-controls .advanced .keyword{flex-basis:100%}.city-picker{max-width:none!important}.intro{padding-block:25px 20px}.mast nav{flex-wrap:wrap}.book-controls{background:#fff}.city-fields select{font-size:14px}
@media(max-width:850px){.city-fields{grid-template-columns:1fr 1fr;gap:9px 12px}.city-picker h1{font-size:25px;margin-bottom:12px}.intro>div.city-picker{padding-block:18px 16px}.book-controls .main-filters{padding-right:0}.book-controls .reset-line{margin-top:0}.mast nav{gap:4px 10px;font-size:9px;max-width:140px;justify-content:flex-end}.mast .logo{font-size:16px}.city-picker .location-planned{margin-bottom:0}}
/* V12: 公式リンクの所在識別を助ける小さい画面。画像の拡大UIは設けない。 */
.site-preview{margin:0;max-width:100%;min-width:0}.book .site-preview .preview-pair{display:flex;gap:8px;align-items:flex-start;justify-content:flex-start;min-height:0}.site-preview img{display:block;object-fit:contain;height:auto;border:1px solid #ddd;max-width:100%;background:#f6f6f6}.list-site .preview-pc{width:160px}.site-preview figcaption{font-size:10px;line-height:1.7;margin-top:7px;color:#555}.site-preview figcaption small{display:block;font-size:9px;overflow-wrap:anywhere}.detail-site .preview-pc{width:240px;flex:0 1 240px;min-width:0}.detail-site .preview-sp{width:68px;flex:0 0 68px}.detail-site{max-width:316px}.detail-visual{grid-template-columns:minmax(0,1fr) 316px;gap:24px}.no-preview{font-size:11px;color:#555;padding:15px 8px;background:#f5f5f5}.no-preview p{margin:0 0 6px}.site-preview img.image-unavailable{display:none}.image-failure{font-size:10px;color:#555}.site-preview figcaption a{min-height:24px}.book-columns,.book-row{grid-template-columns:170px minmax(0,1.3fr) minmax(0,1fr) 105px}
@media(max-width:1050px){.book-columns,.book-row{grid-template-columns:145px minmax(0,1.3fr) minmax(0,1fr) 90px;gap:18px}.list-site .preview-pc{width:140px}}
@media(max-width:850px){.book-row{grid-template-columns:110px minmax(0,1fr);gap:12px 16px}.book-row>.site-preview{grid-column:1;grid-row:1/3}.list-site .preview-pc{width:110px}.site-preview figcaption{font-size:9px}.site-preview figcaption small{font-size:8px}.detail-visual{display:flex;flex-direction:column;gap:16px}.detail-site{width:100%;max-width:316px}.detail-site .preview-pc{width:240px;max-width:calc(100% - 76px)}.detail-site .preview-pc:only-child{max-width:240px}.detail-site .preview-sp{width:68px}.no-preview{padding:12px 6px}}
@media(max-width:360px){.book-row{grid-template-columns:85px minmax(0,1fr);gap:12px}.list-site .preview-pc{width:85px}.site-preview figcaption{font-size:8px}}
@media(max-width:850px){.intro{padding:0}}

/* V13: 本文に合わせた現在地と欠損情報。 */
.breadcrumbs{font-size:12px;color:#595959;margin:0 0 18px;overflow-wrap:anywhere}.breadcrumbs a{color:#333}.missing-facts{margin-top:20px}.missing-facts summary{cursor:pointer;min-height:44px;padding:12px 0}.missing-facts p{font-size:14px;color:#595959}

/* V14: 現在の街と小統計を主役に。地域の切替は閉じた補助欄。 */
.book .intro{display:block;padding:20px 0 14px}.book .intro>.town-heading{padding:0;max-width:none}.town-heading h1{font-size:clamp(25px,3vw,36px);font-weight:450;margin:0 0 14px;letter-spacing:0}.town-heading h1 strong{font-weight:750}.town-stats{max-width:780px}.town-stats>table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.5}.town-stats>table tr{border-top:1px solid #ddd}.town-stats>table tr:last-child{border-bottom:1px solid #ddd}.town-stats>table th{font-weight:500;text-align:left;padding:9px 12px 9px 0;width:30%}.town-stats>table td{padding:9px 16px 9px 0;white-space:nowrap;width:20%}.town-stats b{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums}.town-stats small{display:block;font-size:10px;color:#595959;font-weight:400}.stats-basis{font-size:11px}.stats-basis summary{cursor:pointer;min-height:36px;padding:7px 0}.stats-basis p{font-size:11px!important;line-height:1.8;margin:10px 0!important;max-width:780px}.industry-breakdown{width:100%;max-width:580px;border-collapse:collapse;font-size:11px}.industry-breakdown caption{text-align:left;font-weight:600;margin-block:10px}.industry-breakdown th,.industry-breakdown td{text-align:left;padding:7px 12px 7px 0;border-bottom:1px solid #ddd;font-weight:400}.industry-breakdown thead th{font-weight:600}.town-switch{margin-top:3px}.town-switch>summary{display:flex;align-items:center;gap:7px;cursor:pointer;width:fit-content;min-height:44px;font-size:12px;list-style:none}.town-switch>summary::-webkit-details-marker{display:none}.town-switch>summary::after{content:'＋';font-size:14px;margin-left:10px}.town-switch[open]>summary::after{content:'−'}.town-switch>summary svg{width:17px;height:17px;flex:none}.town-switch .city-picker{padding:10px 0 16px}.town-switch .city-fields{max-width:780px}.book .book-result-head h2 span#count{font-size:16px;margin-left:0}.book .order-note[hidden]{display:none}.industry-tag{display:inline-block;padding:3px 7px;line-height:1.5;font-size:10px;font-weight:550;letter-spacing:0;border-radius:2px}.industry-0{background:#edf5f1;color:#325c52}.industry-1{background:#edf3f8;color:#35556f}.industry-2{background:#faf1e5;color:#77522d}.industry-3{background:#f5eff7;color:#61466b}.industry-4{background:#faeeee;color:#7c4141}.industry-5{background:#f7f3e7;color:#67532b}.industry-6{background:#f1f1f1;color:#4d4d4d}.company-heading .industry-tag{font-size:11px}
@media(max-width:850px){.book .intro{order:0;padding:15px 0 9px}.town-heading h1{font-size:27px;margin-bottom:12px}.town-stats>table{font-size:11px}.town-stats>table th{width:30%;padding-right:8px}.town-stats>table td{width:20%;padding-right:6px}.town-stats b{font-size:20px}.town-stats small{font-size:9px}.stats-basis summary{font-size:10px}.town-switch>summary{font-size:11px;min-height:40px}.town-switch .city-fields{grid-template-columns:1fr 1fr}.book .intro .city-picker{padding:8px 0 12px}.book .breadcrumbs{margin-bottom:12px}}
@media(max-width:360px){.town-stats>table{font-size:10px}.town-stats>table th{padding-right:4px}.town-stats b{font-size:18px}.town-stats small{font-size:9px}.town-heading h1{font-size:25px}}

/* 初期表示で会社の内容へ届くよう、見出し周辺の重複余白を抑える。 */
.book main:not(.detail)>.breadcrumbs{margin-bottom:0;font-size:10px}.book .intro{padding-top:8px;padding-bottom:6px}.book .intro h1{margin:0 0 10px;font-size:clamp(25px,3vw,36px)}.town-stats>table th,.town-stats>table td{padding-top:6px;padding-bottom:6px}.town-switch>summary{min-height:36px}.book-controls{padding-block:8px;margin-bottom:10px}.book-row{padding-block:18px}@media(min-width:851px){.mast{padding-block:18px}}@media(max-width:850px){.book .intro{padding-top:10px;padding-bottom:5px}.book .intro h1{font-size:27px}.book-row{padding-block:17px}}

/* V15: 地域と条件を同じ幅・灰色面・角丸の開閉領域にする。 */
.town-switch,.filter-panel{width:100%;background:#f3f3f3;border:0;border-radius:10px;margin:8px 0;overflow:visible}.town-switch>summary,.filter-panel>summary{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;min-height:48px;font-size:13px;font-weight:550;list-style:none;cursor:pointer;line-height:1.5}.town-switch>summary::-webkit-details-marker,.filter-panel>summary::-webkit-details-marker{display:none}.town-switch>summary::after,.filter-panel>summary::after{content:'＋';margin-left:auto;font-size:16px;font-weight:400}.town-switch[open]>summary::after,.filter-panel[open]>summary::after{content:'−'}.town-switch>summary svg,.filter-panel>summary svg{width:18px;height:18px;flex:none;stroke-width:1.7}.book .town-switch .city-picker{padding:0 16px 16px}.town-switch .city-fields{max-width:none}.filter-panel{margin:0 0 15px}.filter-body{padding:0 16px 16px}.filter-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.filter-fields label{font-size:11px;font-weight:550;min-width:0}.filter-help-inline{font-size:10px;color:#595959;margin:10px 0}.filter-body button{margin-top:4px}.legacy-query{font-size:11px;color:#444;margin:8px 0}.book .legacy-query button{font-size:11px;min-height:32px;padding:3px 9px}.book nav.breadcrumbs[hidden]{display:none}.book .intro{padding-bottom:0}.book .intro>.town-heading{width:100%}html:not(.js) .filter-panel{display:none}
@media(max-width:850px){.filter-fields{grid-template-columns:1fr 1fr;gap:10px}.filter-fields label:last-child{grid-column:1/-1}.town-switch>summary,.filter-panel>summary{font-size:12px;padding:12px 14px}.filter-body{padding:0 14px 14px}.book .town-switch .city-picker{padding:0 14px 14px}.filter-panel{order:2}.filter-body button{width:100%}.town-switch,.filter-panel{border-radius:10px}.legacy-query button{width:auto}}
/* 開閉起点のfocus枠と、展開後の先頭ラベルを重ねない。 */
.filter-body{padding-top:10px}.book .town-switch .city-picker{padding-top:10px}

/* V16: 発見テーマは非操作の共通タグ、基本情報は標準の開閉。 */
.themes span{display:inline-block;background:#f1f1f1;color:#4d4d4d;border:0;border-radius:3px;padding:3px 7px;line-height:1.5;text-decoration:none;font-size:10px;cursor:default}.basics{padding-top:0;margin-top:32px;border-top:1px solid #ddd}.basics>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;min-height:52px;padding:12px 0}.basics>summary::-webkit-details-marker{display:none}.basics>summary h2{font-size:22px;font-weight:550;margin:0;line-height:1.5}.basics>summary::after{content:'＋';font-size:18px;flex:none}.basics[open]>summary::after{content:'−'}.basics-content{padding-top:10px}.basics-content>.section-note{margin-top:0}

/* V17: 一覧の上で読む会社詳細。閉じる操作はパネルのスクロール外に置く。 */
.company-dialog{position:fixed;width:min(1060px,calc(100% - 40px));height:calc(100dvh - 40px);max-width:none;max-height:none;padding:0;border:1px solid #aaa;border-radius:10px;background:#fff;color:#202020;margin:auto;overflow:hidden}.company-dialog[open]{display:flex;flex-direction:column}.company-dialog::backdrop{background:rgb(0 0 0 / 48%)}.modal-toolbar{display:flex;align-items:center;gap:14px;padding:10px 18px;border-bottom:1px solid #ddd;background:#fff;flex:none}.modal-toolbar strong{font-size:13px;font-weight:600;margin-right:auto}.modal-toolbar a{font-size:11px}.modal-toolbar .modal-close{min-width:84px;font-size:13px}.modal-company-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 18px;border-bottom:1px solid #eee;flex:none}.modal-company-nav button{font-size:11px;min-height:36px}.modal-company-nav button:disabled{color:#777;background:#f5f5f5;cursor:default}.modal-position{font-size:11px;color:#595959}.modal-content{overflow:auto;overscroll-behavior:contain;min-height:0;flex:1}.book .company-dialog .detail{width:100%;max-width:none;margin:0;padding:18px 28px 30px}.modal-message{padding:28px;font-size:14px}.modal-message button{margin-right:18px}.modal-message a{font-size:12px}.company-dialog .breadcrumbs{font-size:11px}.company-dialog .basics>summary{scroll-margin-top:8px}
@media(max-width:700px){.company-dialog{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;margin:0}.modal-toolbar{gap:9px;padding:8px 12px}.modal-toolbar strong{font-size:11px}.modal-toolbar a{font-size:10px}.modal-toolbar .modal-close{font-size:12px;min-width:74px}.modal-company-nav{padding:5px 12px}.book .company-dialog .detail{padding:15px 18px 24px}.company-dialog .company-heading{padding-top:12px}}

.company-dialog button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

.modal-company-nav button:disabled{color:#595959}

/* V19: 一覧を周囲に残すライトボックスと短い開閉モーション。 */
.company-dialog{width:min(1060px,calc(100% - 64px));height:calc(100dvh - 64px);border:1px solid #aaa;border-radius:12px;margin:auto;box-shadow:0 18px 70px rgb(0 0 0 / 22%)}.company-dialog[open]{animation:lightbox-in 180ms cubic-bezier(.2,0,0,1)}.company-dialog::backdrop{background:rgb(0 0 0 / 58%);animation:backdrop-in 180ms ease-out}@keyframes lightbox-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
.book a.primary{font-size:11px;min-height:44px;padding:10px 12px;gap:7px;justify-content:center;background:#eee;color:#202020;border:1px solid #c9c9c9;border-radius:8px;transition:background-color 120ms ease,border-color 120ms ease;text-decoration:none}.book a.primary:hover{background:#dfdfdf;color:#111;border-color:#aaa}.book a.primary:active{background:#d7d7d7}.details-animating>summary:focus-visible{outline-offset:-3px}
@media(min-width:851px){.book-columns,.book-row{grid-template-columns:190px minmax(0,1.3fr) minmax(0,1fr) 126px}}@media(min-width:851px) and (max-width:1050px){.book-columns,.book-row{grid-template-columns:145px minmax(0,1.3fr) minmax(0,1fr) 116px}}
@media(max-width:700px){.company-dialog{width:calc(100% - 24px);height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);margin:auto;border:1px solid #aaa;border-radius:12px}.modal-toolbar{padding:8px 10px}.modal-toolbar .modal-close{min-width:70px}.modal-company-nav{padding:5px 10px}.book .company-dialog .detail{padding:14px 16px 24px}}
@media(prefers-reduced-motion:reduce){.company-dialog[open],.company-dialog::backdrop{animation:none!important}.book a.primary{transition:none!important}}

/* V20: 地域・条件・会社情報は同じ開閉部品を使う。 */
.ui-disclosure{width:100%;background:#f3f3f3;border:0;border-radius:10px;overflow:visible;margin:12px 0}
.ui-disclosure>summary{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;min-height:48px;font-size:13px;font-weight:550;line-height:1.5;list-style:none;cursor:pointer}
.ui-disclosure>summary::-webkit-details-marker{display:none}
.ui-disclosure>summary::after{content:'＋';margin-left:auto;font-size:16px;font-weight:400;flex:none}
.ui-disclosure[open]>summary::after{content:'−'}
.ui-disclosure>summary h2{font:inherit;line-height:inherit;margin:0}
.ui-disclosure>summary svg{width:18px;height:18px;flex:none;stroke-width:1.7}
.ui-disclosure>.basics-content,.ui-disclosure>.disclosure-content{padding:10px 16px 16px}
.ui-disclosure .ui-disclosure{background:#e9e9e9}
.ui-disclosure .book-facts{margin-block:0}
.ui-disclosure .book-facts>div:first-child{border-top:0}
.ui-disclosure .disclosure-content>p:first-child{margin-top:0}
.modal-toolbar{justify-content:flex-end}
.book .official-action a{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border:1px solid #ccc;border-radius:8px;background:#eee;color:#202020;text-decoration:none;font-size:13px}
.book .official-action a:hover{background:#dfdfdf;color:#111}
.preview-help{position:relative;display:inline-block;float:right;margin:0;vertical-align:middle;text-align:left}
.preview-help>summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:8px;background:#eee;list-style:none;cursor:pointer;color:#333}
.preview-help>summary::-webkit-details-marker{display:none}
.preview-help>summary svg{width:21px;height:21px}
.preview-help>summary:hover{background:#dfdfdf}
.help-body{position:absolute;right:0;top:calc(100% + 6px);width:280px;max-width:calc(100vw - 80px);background:#fff;color:#333;border:1px solid #aaa;border-radius:8px;padding:12px;box-shadow:0 4px 16px rgb(0 0 0 / 12%);z-index:2;font-size:12px;line-height:1.8}
.help-body p{margin:0}
.detail-site figcaption{position:relative}
@media(max-width:850px){.ui-disclosure>summary{font-size:12px;padding:12px 14px}.ui-disclosure>.basics-content,.ui-disclosure>.disclosure-content{padding:10px 14px 14px}}

.book .official-action svg{width:17px;height:17px;margin-left:7px;flex:none}
.preview-help>summary::after,.preview-help[open]>summary::after{content:none}

.preview-help .help-body{overflow:auto}.preview-help.help-above .help-body{top:auto;bottom:calc(100% + 6px)}

/* V21: 詳細と地図は同じ行に置き、地図の接続先を先に示す。 */
.book-row-actions{display:flex;gap:8px;align-items:stretch;min-width:0}
.book .book-row-actions a,.book .book-row-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:1;min-width:0;min-height:44px;padding:9px 10px;border:1px solid #c9c9c9;border-radius:8px;background:#eee;color:#202020;font-size:11px;line-height:1.5;text-decoration:none;white-space:nowrap}
.book-row-actions svg{width:16px;height:16px;flex:none}
.book .book-row-actions .map-action{background:#f7f7f7}
.book .book-row-actions a:hover{background:#dfdfdf;color:#111}
.map-note{font-size:10px;color:#595959;margin:9px 0}
.map-dialog{position:fixed;width:min(760px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;margin:auto;border:1px solid #aaa;border-radius:12px;background:#fff;color:#202020;overflow:hidden}
.map-dialog::backdrop{background:rgb(0 0 0 / 58%)}
.map-dialog[open]{display:flex;flex-direction:column}
.map-toolbar{display:flex;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid #ddd;flex:none}
.map-toolbar h2{font-size:15px;font-weight:550;line-height:1.5;flex:1;margin:0}
.map-toolbar .map-close{flex:none;min-height:44px}
.map-content{overflow:auto;padding:14px;overscroll-behavior:contain}
.map-content p{font-size:12px;line-height:1.7;margin:0 0 10px}
.map-content .map-privacy,.map-content .map-load-note{font-size:10px;color:#595959}
.map-frame iframe{display:block;width:100%;height:330px;min-height:200px;border:0;background:#f3f3f3;margin-bottom:10px}
.map-fallback{display:inline-flex;align-items:center;min-height:44px}
@media(min-width:851px){.book-columns,.book-row{grid-template-columns:170px minmax(0,1.3fr) minmax(0,1fr) 224px;gap:22px}}
@media(min-width:851px) and (max-width:1050px){.book-columns,.book-row{grid-template-columns:130px minmax(0,1.3fr) minmax(0,1fr) 212px;gap:15px}}
@media(max-width:850px){.book-row-actions{grid-column:1/-1;margin-top:4px}.book .book-row-actions a{font-size:12px}.map-dialog{width:calc(100% - 24px)}.map-toolbar{padding:8px 10px}.map-toolbar h2{font-size:13px}.map-frame iframe{height:min(330px,46dvh)}.map-note{font-size:10px}}

/* 画面の取得とOGP確認、利用保留を別の短い行で伝える。 */
.no-preview>small{display:block;font-size:10px;line-height:1.6;margin:4px 0;overflow-wrap:anywhere}
/* V25: 件数は選択肢、街選択は見出し脇の短い別作業。 */
.town-title-line{display:flex;align-items:center;justify-content:space-between;gap:20px}.town-title-line h1{margin-bottom:14px}.book .town-open{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 14px;background:#eee;color:#202020;border-radius:8px;text-decoration:none;font-size:12px;white-space:nowrap}.town-open svg{width:18px;height:18px;flex:none}
.stat-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.book .stat-filters a{display:flex;flex-direction:column;gap:3px;background:#f2f2f2;color:#242424;text-decoration:none;padding:12px;border:1px solid transparent;border-radius:8px;min-height:80px;line-height:1.5}.stat-filters span{font-size:11px}.stat-filters b{font-size:25px;font-weight:600}.stat-filters b small{display:inline;font-size:12px;margin-left:4px}.book .stat-filters a:hover{background:#e5e5e5}.book .stat-filters a[aria-current=true]{border-color:#333;background:#ddd}.stat-summary{font-size:11px;color:#595959;margin:10px 0}.town-selection{margin:20px 0;padding:18px;background:#eee;border-radius:8px}.town-dialog .city-picker{padding:0}.town-dialog .city-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.town-dialog form>button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:100%;margin-top:12px}.town-dialog form>button svg{width:18px;height:18px}.town-dialog .map-close svg{width:20px;height:20px}.book .book-row-actions svg{margin:0}.book-row-actions a{gap:7px!important}#segment-state{font-size:12px}#segment-clear{display:inline-flex;align-items:center;gap:5px;min-height:44px;margin-left:8px}#segment-clear svg{width:17px;height:17px}#unfound-index h3{font-size:16px}#unfound-index>p{font-size:12px;color:#595959}.registry-list li[hidden]{display:none}.town-dialog[open],.map-dialog[open]{animation:lightbox-in 200ms ease-out}.town-dialog::backdrop{background:rgb(0 0 0 / 58%)}
@media(max-width:850px){.town-title-line{align-items:flex-start;flex-direction:column;gap:0}.town-title-line h1{margin-bottom:10px}.town-title-line .town-open{margin-bottom:16px}.stat-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-filters span{font-size:11px}.stat-filters a{min-height:76px}.town-dialog .city-fields{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.town-dialog[open],.map-dialog[open]{animation:none}}

/* 地域階層の入口と簡潔な収録会社索引 */
.breadcrumbs{flex-wrap:wrap;line-height:1.8}.area-home h1{font-size:clamp(2rem,5vw,3rem)}.area-home section{margin-bottom:2rem}.area-home h2{font-size:1.25rem}.region-children{display:grid;gap:12px}.region-child{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#f3f3f3;border-radius:12px;padding:22px;color:#222;text-decoration:none;min-height:60px}.region-child:hover{background:#e9e9e9}.region-child span{font-size:.9rem;color:#444}.area-scope{font-size:.9rem;color:#555;border-left:3px solid #ddd;padding-left:14px;margin:24px 0}.area-company-index{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.area-company-index li{padding:14px 0;border-bottom:1px solid #e5e5e5}.area-company-index a{display:block;color:#222;min-height:44px;line-height:1.6}.area-company-index span{display:block;color:#555;font-size:.85rem}.area-feature{max-width:800px}[data-region-form] label{display:grid;gap:10px}[data-region-form] select{max-width:100%;width:100%;min-height:48px}a:focus-visible{outline:3px solid #555;outline-offset:3px}@media(max-width:600px){.region-child{align-items:flex-start;flex-direction:column;gap:8px;padding:18px}.area-company-index{grid-template-columns:1fr}.breadcrumbs{font-size:.8rem}}
