:root{--bg:#F4F9FC;--card:#fff;--ink:#22324A;--sub:#5B6B80;--line:#D9E4EC;--brand:#2E6FB8;--accent:#E5603B;--red:#C9382F;--warnbg:#FFF3F1;--warnline:#F3C5C0;--link:#1F5FA8;--city:#9AA8B5;
--sky:#BFE3F5;--sun:#F9CE4B;--cloud:#fff;--far:#A9D6C6;--hill:#6FAE62;--slip:#C9A37A;--wood:#5FA060;--ground:#8CCB6E;--ground2:#79B95E;--field:#DCC688;--furrow:#B79B58;--wall:#FFF8EC;--roof1:#E5603B;--roof2:#2E6FB8;--roof3:#4B8F5A;--door:#8A5A3C;--win:#8FD0F0;--winoff:#CFE2EC;--apt1:#F2E3D0;--apt2:#DCE6F2;--metal:#9AA8B5;--sch:#FFEFCF;--fac:#C8CFD8;--tree1:#3F9A5B;--tree2:#57B06A;--water:#4DA6E0;--wave:#D6EEFB;--road:#7D8794;--car:#F9CE4B;--tagbg:#fff;--tagink:#22324A;
}
@media (prefers-color-scheme:dark){:root{--bg:#121A2C;--card:#1B2540;--ink:#E8EDF7;--sub:#A3B0C6;--line:#2C3859;--brand:#6FA8E8;--accent:#F0825F;--red:#FF7A6E;--warnbg:#33201F;--warnline:#6E3A35;--link:#8FBFF5;--city:#6E7C95;
--sky:#16213F;--cloud:#2A3862;--far:#20335A;--hill:#24503F;--slip:#5E4B3A;--wood:#1F4A3A;--ground:#2D5B45;--ground2:#24503C;--field:#5A5136;--furrow:#3F3924;--wall:#3D4870;--roof1:#A8442B;--roof2:#2C5590;--roof3:#2F6444;--door:#241C1A;--win:#FFD76A;--winoff:#262F4D;--apt1:#39446E;--apt2:#303B62;--metal:#4B5878;--sch:#48527E;--fac:#3A4566;--tree1:#1F5A3C;--tree2:#27694A;--water:#1F4F86;--wave:#5D8EC4;--road:#2A3144;--car:#C9A63A;--tagbg:#EEF2FA;--tagink:#16213F}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:500 16px/1.9 "Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP",system-ui,sans-serif;-webkit-text-size-adjust:100%}
a{color:var(--link)}
a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.site{background:var(--card);padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink)}
.logo svg{width:26px;height:26px}.logo b{font-weight:700;font-size:17px;letter-spacing:.04em}
.tosearch{font-size:14px;font-weight:700;padding:6px 0}
.lg-roof{fill:var(--accent)}.lg-wall{fill:var(--brand)}.lg-door{fill:var(--card)}

/* まちの絵 */
.scenewrap{height:clamp(190px,50vw,320px);background:var(--sky);overflow:hidden}
.scenewrap.low{height:clamp(150px,36vw,240px)}
.scene{display:block;width:100%;height:100%}
.s-sky{fill:var(--sky)}.s-sun{fill:var(--sun)}.s-night{display:none}.s-moon{fill:#FBE9A6}.s-star{fill:#fff}.s-cloud{fill:var(--cloud)}
.s-far{fill:var(--far)}.s-hill{fill:var(--hill)}.s-slip{fill:var(--slip)}.s-wood{fill:var(--wood)}.s-ground{fill:var(--ground)}
.s-field{fill:var(--field)}.s-furrow{stroke:var(--furrow);stroke-width:2;fill:none}
.s-wall{fill:var(--wall)}.s-roof1{fill:var(--roof1)}.s-roof2{fill:var(--roof2)}.s-roof3{fill:var(--roof3)}.s-door{fill:var(--door)}
.s-win{fill:var(--win)}.s-win.off{fill:var(--winoff)}.s-apt1{fill:var(--apt1)}.s-apt2{fill:var(--apt2)}.s-tank,.s-chim{fill:var(--metal)}
.s-sch{fill:var(--sch)}.s-clock{fill:#fff}.s-hand{stroke:#22324A;stroke-width:1.4;fill:none;stroke-linecap:round}.s-pole{stroke:var(--metal);stroke-width:2.4}.s-flag{fill:var(--roof1)}
.s-aw1{fill:var(--roof1)}.s-aw2{fill:#fff}.s-fac{fill:var(--fac)}.s-trunk{fill:var(--door)}.s-tree1{fill:var(--tree1)}.s-tree2{fill:var(--tree2)}
.s-water{fill:var(--water)}.s-wave{stroke:var(--wave);stroke-width:2.4;fill:none;stroke-linecap:round}.s-gauge{fill:#fff;stroke:#22324A;stroke-width:1.2}.s-gmark{stroke:#C9382F;stroke-width:2.4}
.s-road{fill:var(--road)}.s-dash{stroke:#fff;stroke-width:2;stroke-dasharray:14 12;opacity:.8}.s-car{fill:var(--car)}.s-tire{fill:#22324A}.s-flower1{fill:#fff}.s-flower2{fill:var(--sun)}
.s-tag rect{fill:var(--tagbg)}.s-tag text{fill:var(--tagink);font-weight:700;font-size:18px}
.s-tag.warn rect{fill:#C9382F}.s-tag.warn text{fill:#fff}
@media (prefers-color-scheme:dark){.s-sun{display:none}.s-night{display:block}.s-flower1,.s-aw2{fill:#B9C4DA}.s-dash{opacity:.35}}

/* 本文 */
main{max-width:680px;margin:0 auto;padding:14px 16px 48px}
main.plain{padding-top:18px}
.crumbs{font-size:13px;margin:0 0 6px;line-height:1.6}
.crumbs i{font-style:normal;color:var(--sub);margin:0 6px}
h1{font-weight:700;font-size:clamp(26px,7vw,34px);line-height:1.35;margin:0 0 12px;letter-spacing:.02em}
h1 small{display:block;font-size:14px;font-weight:500;color:var(--sub);letter-spacing:0;margin-top:4px}
h2{font-weight:700;font-size:19px;line-height:1.5;margin:40px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--line)}
h2 small{font-size:13px;font-weight:500;color:var(--sub);margin-left:10px}
p{margin:0 0 12px}
.note{font-size:12.5px;color:var(--sub);line-height:1.8;margin-top:10px}

/* データ表 */
.sheet{margin:0;background:var(--card);border:1px solid var(--line);border-radius:6px}
.sheet div{display:grid;grid-template-columns:8.5em 1fr;gap:12px;padding:13px 16px;border-top:1px solid var(--line);align-items:baseline}
.sheet div:first-child{border-top:0}
.sheet dt{font-size:14px;color:var(--sub);line-height:1.6}
.sheet dt small{display:block;font-size:12px}
.sheet dd{margin:0;font-weight:700;font-size:17px;line-height:1.6}
.sheet dd small{display:block;font-weight:500;font-size:13px;color:var(--sub)}
.sheet .big dd b{font-size:38px;line-height:1.1;margin-right:3px;letter-spacing:.01em}
.sheet .warn{background:var(--warnbg)}
.sheet .warn dt,.sheet .warn dd{color:var(--red)}

/* グラフ・地図 */
.trend{width:100%;display:block;background:var(--card);border:1px solid var(--line);border-radius:6px}
.tl{fill:none;stroke:var(--brand);stroke-width:3;stroke-linejoin:round}.tl-city{fill:none;stroke:var(--city);stroke-width:2;stroke-dasharray:5 4}
.tc{fill:var(--card);stroke:var(--brand);stroke-width:2.4}
.ty{font-size:11px;fill:var(--sub);text-anchor:middle}.tp{font-weight:700;font-size:12px;fill:var(--ink);text-anchor:middle}
.legend{font-size:12.5px;color:var(--sub);margin:6px 0 0}
.legend span{display:inline-block;width:18px;height:0;border-top:3px solid var(--brand);vertical-align:4px;margin:0 4px 0 0}
.legend .k2{border-top:2px dashed var(--city);margin-left:12px}
.realmap{position:relative;height:240px;overflow:hidden;background:#dfe6e3;border-radius:6px;border:1px solid var(--line)}
.realmap .tiles{position:absolute;left:50%;top:50%;width:1024px;height:768px}
.realmap img{position:absolute;width:256px;height:256px}
@media (prefers-color-scheme:dark){.realmap img{filter:brightness(.7) contrast(1.08) saturate(.8)}}
.realmap .area{position:absolute;width:280px;height:210px;margin:-105px 0 0 -140px;border-radius:50%;background:rgba(46,111,184,.10);border:2px dashed rgba(46,111,184,.6)}
.realmap .pin{position:absolute;width:30px;height:42px;margin:-42px 0 0 -15px;z-index:2;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-24 0 48 66'%3E%3Cpath d='M0 0C-14 0-22 10-22 22 0 64 0 64 0 64S22 22 22 22C22 10 14 0 0 0Z' fill='%23E5603B' stroke='%23fff' stroke-width='3'/%3E%3Ccircle cy='22' r='8' fill='%23fff'/%3E%3C/svg%3E")}
.realmap .gsi{position:absolute;right:6px;top:6px;font-size:10px;background:rgba(255,255,255,.85);padding:1px 6px;border-radius:3px;color:#333}

/* 一覧（行全体が押せる） */
.list{list-style:none;padding:0;margin:0;background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.list li{border-top:1px solid var(--line)}
.list li:first-child,.list li[hidden]+li:not([hidden]):first-of-type{border-top:0}
.list a{display:grid;grid-template-columns:1fr auto 14px;align-items:center;column-gap:12px;min-height:56px;padding:8px 14px 8px 16px;color:var(--ink);text-decoration:none}
.list a::after{content:"";width:9px;height:9px;border-top:2px solid var(--brand);border-right:2px solid var(--brand);transform:rotate(45deg)}
.list b{font-weight:700;font-size:17px;line-height:1.5;color:var(--link)}
.list span{font-size:13px;color:var(--sub);text-align:right;line-height:1.5}
.list a:hover,.list a:active{background:var(--bg)}
@media (max-width:420px){.list a{grid-template-columns:1fr 14px}.list span{grid-column:1;grid-row:2;text-align:left}.list a::after{grid-column:2;grid-row:1/3}}
.more{margin:12px 0 0;font-weight:700}

/* さがす */
.find{margin:20px 0 6px}
.find label{display:block;font-weight:700;font-size:15px;margin-bottom:6px}
.find input{width:100%;height:54px;font:inherit;font-size:17px;padding:0 14px;color:var(--ink);background:var(--card);border:2px solid var(--brand);border-radius:6px;-webkit-appearance:none;appearance:none}
.find input::placeholder{color:var(--sub);opacity:.8}
.find .list{margin-top:8px}
.nohit{font-size:14px;color:var(--sub);margin:8px 0 0}

/* よくある質問・査定 */
.faq{margin:0}
.faq dt{font-weight:700;margin-top:16px;line-height:1.7}
.faq dd{margin:4px 0 0}
.sell{margin-top:36px;border:2px solid var(--accent);border-radius:6px;padding:18px;background:var(--card)}
.sell h2{margin:0 0 6px;border:0;padding:0}
.btn{display:block;text-align:center;background:var(--accent);color:#fff;font-weight:700;font-size:17px;padding:14px;border-radius:6px;text-decoration:none;margin-top:12px}
.prl{font-size:10px;border:1px solid #fff;border-radius:3px;padding:0 4px;margin-left:6px;vertical-align:3px}
footer{background:#1B2A3F;color:#B9C4D4;font-size:12px;padding:18px 16px 26px}
footer .in{max-width:680px;margin:0 auto}footer a{color:#fff;margin-right:14px;font-weight:700}footer p{margin:6px 0 0}
