:root{--paper: #efede7;--paper-2: #e3e0d7;--grid: #dcd8cc;--card: #fcfbf8;--ink: #1a1e22;--ink-2: #474d54;--pipe: #27343a;--pipe-2: #3a4a52;--band: #ec6a2c;--band-ink: #a83a08;--ok: #24624f;--ok-bg: #e2efe8;--no: #4a5058;--unk: #5d636a;--unk-bg: #eae7e0;--rule: #c8c2b3;--focus: #0b57d0;--font: "BIZ UDPGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, system-ui, sans-serif;--num: "BIZ UDGothic", ui-monospace, "SFMono-Regular", Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}body{margin:0;color:var(--ink);font-family:var(--font);font-size:1.0625rem;line-height:1.85;background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px}a{color:var(--pipe);text-underline-offset:.22em;text-decoration-thickness:1.5px}a:hover{color:var(--band-ink)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:3px}h1,h2,h3{line-height:1.4;letter-spacing:.02em;font-weight:800}h2{font-size:1.5rem;margin:2.8rem 0 1rem}h3{font-size:1.15rem;margin:1.6rem 0 .5rem}p{margin:0 0 1em}.wrap{width:min(1200px,100% - 32px);margin-inline:auto}.skip{position:absolute;left:-9999px;top:0;background:var(--band);color:var(--ink);padding:.6rem 1rem;z-index:10;font-weight:700}.skip:focus{left:8px;top:8px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.num{font-family:var(--num);font-variant-numeric:tabular-nums}[hidden]{display:none!important}.band{height:14px;background:repeating-linear-gradient(90deg,transparent 0 46px,var(--pipe) 46px 48px,transparent 48px 60px),var(--band);position:relative}.band:after{content:"▶ 排水 DRAIN ▶";position:absolute;right:16px;top:50%;transform:translateY(-50%);font:700 .62rem/1 var(--num);letter-spacing:.2em;color:var(--pipe);background:var(--band);padding:0 .4rem}.hd{background:var(--pipe);color:#fff}.hd .wrap{display:flex;align-items:center;justify-content:space-between;gap:.8rem 2rem;padding-block:.8rem;flex-wrap:wrap}.logo{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none}.logo:hover{color:#fff}.logo-mark{width:46px;height:46px;flex:none}.logo-text{display:grid;line-height:1.2}.logo-text b{font-size:1.42rem;letter-spacing:.06em}.logo-text small{font:500 .7rem/1.3 var(--num);letter-spacing:.22em;color:#b9c6cc}.nav{display:flex;flex-wrap:wrap;gap:.25rem}.nav a{color:#fff;text-decoration:none;font-weight:700;font-size:.98rem;padding:.5rem .95rem;min-height:48px;display:inline-flex;align-items:center;gap:.45rem;border-radius:4px}.nav a:before{content:"";width:8px;height:8px;border:2px solid #8fa1aa;border-radius:50%}.nav a:hover{background:var(--pipe-2)}.nav a[aria-current=page]{background:var(--band);color:var(--ink)}.nav a[aria-current=page]:before{border-color:var(--ink);background:var(--ink)}.nav .ns{display:none}@media(max-width:760px){.hd .wrap{padding-block:.6rem;gap:.5rem}.logo-mark{width:40px;height:40px}.logo-text b{font-size:1.22rem}.nav{display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:.25rem}.nav a{justify-content:center;padding:.3rem .2rem;font-size:.95rem;border:1px solid var(--pipe-2)}.nav a:before{display:none}.nav .nl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.nav .ns{display:inline}}.crumb{font-size:.92rem;margin:1.1rem 0 0;color:var(--ink-2)}.crumb a{color:var(--ink-2)}.page-title{margin:1.2rem 0 1.6rem;padding:1.4rem 0 1.2rem;border-bottom:3px solid var(--pipe);position:relative}.page-title h1{font-size:clamp(1.75rem,4vw,2.5rem);margin:0}.page-title p{margin:.6rem 0 0;color:var(--ink-2);max-width:48em}.sys{display:inline-flex;align-items:center;gap:.5rem;font:700 .78rem/1 var(--num);letter-spacing:.16em;color:var(--band-ink);text-transform:uppercase}.sys:before{content:"";width:22px;height:10px;background:var(--band);border:2px solid var(--pipe);border-radius:2px}.hero{display:grid;gap:1.5rem 2.5rem;grid-template-columns:1fr;align-items:center;padding:2.2rem 0 1.4rem}@media(min-width:900px){.hero{grid-template-columns:1.15fr .85fr;padding:3.2rem 0 2rem}}.hero h1{font-size:clamp(2rem,5.2vw,3.4rem);line-height:1.25;margin:.6rem 0 1rem;letter-spacing:.02em}.hero h1 .u{background:linear-gradient(transparent 62%,#ec6a2c73 62%)}.hero .lead{font-size:1.12rem;color:var(--ink-2);max-width:36em}.hero-fig{background:var(--card);border:2px solid var(--pipe);border-radius:6px;padding:.6rem;box-shadow:8px 8px 0 var(--paper-2)}.hero-fig svg{display:block;width:100%;height:auto}.hero-fig figcaption{font:500 .8rem/1.5 var(--num);color:var(--ink-2);padding:.4rem .3rem 0;letter-spacing:.04em}.stats{display:flex;flex-wrap:wrap;gap:0;margin:1.6rem 0 0;border:2px solid var(--pipe);border-radius:6px;background:var(--card);width:fit-content;max-width:100%}.stats div{padding:.55rem 1.1rem}.stats div+div{border-left:2px dashed var(--rule)}.stats b{display:block;font:700 1.6rem/1.15 var(--num);color:var(--pipe)}.stats span{font-size:.85rem;color:var(--ink-2)}@media(max-width:520px){.stats{width:100%}.stats div{flex:1 1 33%;padding:.5rem .7rem}.stats b{font-size:1.3rem}}.sheet{background:var(--card);border:2px solid var(--pipe);border-radius:6px;position:relative}.sheet-hd{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--pipe);color:#fff;padding:.55rem 1.1rem;font-weight:700}.sheet-hd small{font:500 .72rem/1 var(--num);letter-spacing:.14em;color:#b9c6cc}.sheet-bd{padding:1.2rem 1.2rem 1.3rem;display:grid;gap:1rem}@media(min-width:900px){.finder .sheet-bd{grid-template-columns:1fr 2.2fr auto;align-items:end}}.field label,.field .lbl{display:block;font-weight:700;margin-bottom:.3rem;font-size:.98rem}select,input[type=search]{width:100%;font:inherit;font-size:1.05rem;padding:.6rem .8rem;min-height:52px;border:2px solid var(--ink-2);border-radius:4px;background:#fff;color:var(--ink)}.toggles{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}@media(max-width:760px){.toggles{grid-template-columns:repeat(2,1fr)}}.tog{position:relative}.tog input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.tog span{display:flex;align-items:center;gap:.5rem;min-height:52px;padding:.4rem .7rem;border:2px solid var(--ink-2);border-radius:4px;font-weight:700;background:#fff;line-height:1.25;font-size:.98rem}.tog span:before{content:"";width:20px;height:20px;flex:none;border:2px solid var(--ink-2);border-radius:3px;background:#fff}.tog input:checked+span{background:var(--pipe);color:#fff;border-color:var(--pipe)}.tog input:checked+span:before{background:var(--band);border-color:var(--band);box-shadow:inset 0 0 0 3px var(--pipe)}.tog input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:inherit;font-weight:800;font-size:1.08rem;min-height:52px;padding:.5rem 1.6rem;border-radius:4px;border:2px solid var(--pipe);background:var(--band);color:var(--ink);cursor:pointer;text-decoration:none;box-shadow:4px 4px 0 var(--pipe)}.btn:hover{color:var(--ink);transform:translate(1px,1px);box-shadow:3px 3px 0 var(--pipe)}.btn.ghost{background:var(--card)}.trunks{display:grid;gap:1.4rem 1.6rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1rem}@media(max-width:400px){.trunks{grid-template-columns:1fr}}.trunk{position:relative;padding-left:26px}.trunk:before{content:"";position:absolute;left:6px;top:2.4rem;bottom:1.1rem;width:10px;background:var(--pipe);border-radius:5px}.trunk h3{margin:0 0 .5rem -26px;display:flex;align-items:center;gap:.6rem;font-size:1.05rem}.trunk h3:before{content:"";width:22px;height:22px;border-radius:50%;background:var(--band);border:4px solid var(--pipe);flex:none}.trunk h3 .num{margin-left:auto;font-size:.85rem;color:var(--ink-2);font-weight:500}.trunk ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.trunk li{position:relative}.trunk li:before{content:"";position:absolute;left:-12px;top:50%;width:14px;height:6px;background:var(--pipe);transform:translateY(-50%)}.trunk li a,.trunk li>span{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:48px;padding:.3rem .9rem;background:var(--card);border:2px solid var(--pipe);border-radius:4px;text-decoration:none;color:var(--ink);font-weight:700}.trunk li a:hover{background:#fff3ea}.trunk li a:after{content:"▶";font-size:.7rem;color:var(--band-ink)}.trunk li>span{border-style:dashed;border-color:var(--rule);color:var(--unk);font-weight:400;background:transparent}.trunk .cnt{margin-left:auto;font:700 1rem/1 var(--num);color:var(--pipe)}.trunk li>span .cnt{color:var(--unk);font-weight:400;font-size:.85rem}.tt{width:100%;border-collapse:collapse;background:var(--card);border:2px solid var(--pipe);font-size:1rem}.tt caption{text-align:left}.tt thead th{background:var(--pipe);color:#fff;font-size:.9rem;text-align:left;padding:.6rem .7rem;font-weight:700;white-space:nowrap}.tt thead th.c{text-align:center}.tt td{padding:.7rem;border-top:1px solid var(--rule);vertical-align:middle}.tt td+td{border-left:1px dashed var(--rule)}.tt td.c{text-align:center}.tt .nm a{font-weight:800;font-size:1.05rem}.tt .sub{display:block;font-size:.88rem;color:var(--ink-2);line-height:1.55}.tt .tel{font-family:var(--num);white-space:nowrap}@media(max-width:860px){.tt,.tt tbody,.tt tr,.tt td{display:block;width:100%}.tt thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.tt{border:0;background:transparent}.tt tbody tr{background:var(--card);border:2px solid var(--pipe);border-radius:6px;margin-bottom:.9rem;overflow:hidden}.tt td{border:0!important;padding:.3rem .9rem}.tt td.nm{background:var(--paper-2);padding:.7rem .9rem;border-bottom:2px solid var(--pipe)!important}.tt td.c{display:inline-block;width:auto;padding:.55rem .15rem .15rem .9rem}.tt td.c:before{content:attr(data-label);display:block;font-size:.78rem;color:var(--ink-2);font-weight:700}.tt td.more{padding-bottom:.9rem}}.more-btn{margin:1rem 0 0}.mk{display:inline-flex;align-items:center;gap:.25rem;font-weight:700;font-size:.88rem;padding:.05rem .5rem;border-radius:3px;white-space:nowrap}.mk:before{font-family:var(--num)}.mk.yes{background:var(--ok-bg);color:var(--ok)}.mk.yes:before{content:"○"}.mk.no{background:#fff;color:var(--no);border:1px solid var(--rule)}.mk.no:before{content:"―"}.mk.unk{background:var(--unk-bg);color:var(--unk);font-weight:400}.mk.unk:before{content:"?"}.stamp{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:800;color:var(--band-ink);border:2px solid var(--band-ink);border-radius:999px;padding:0 .55rem;transform:rotate(-3deg);background:#fff;white-space:nowrap}.stamp.gray{color:var(--ink-2);border-color:var(--rule);transform:none;font-weight:500}.chip{display:inline-block;font-size:.8rem;font-weight:700;padding:0 .45rem;border-radius:3px;background:var(--pipe);color:#fff;margin:.1rem .2rem .1rem 0}.filters{margin:0 0 1.2rem}@media(min-width:900px){.filters .sheet-bd{grid-template-columns:1fr 1.3fr 2.6fr;align-items:end}.filters.nopref .sheet-bd{grid-template-columns:1fr 2.4fr}}.result-bar{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline;margin:0 0 .8rem;font-weight:700}.result-bar .big{font:700 1.9rem/1 var(--num);color:var(--pipe)}.extra{display:flex;flex-wrap:wrap;gap:0 1.4rem;margin-top:.3rem}.extra label{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-weight:700;cursor:pointer;font-size:.98rem}.extra input{width:22px;height:22px;accent-color:var(--pipe)}.empty{padding:1.2rem;background:var(--card);border:2px dashed var(--rule);border-radius:6px}.plate{position:relative;background:linear-gradient(160deg,#34444b,var(--pipe));color:#fff;border-radius:6px;padding:1.5rem 1.7rem 1.4rem;margin:1.3rem 0 1.6rem;box-shadow:inset 0 0 0 2px #4d5f67,6px 6px 0 var(--paper-2)}.plate:before,.plate:after{content:"";position:absolute;top:10px;width:9px;height:9px;border-radius:50%;background:#8fa1aa;box-shadow:0 calc(100% + 0px) 0 #8fa1aa}.plate:before{left:10px}.plate:after{right:10px}.plate .sys{color:var(--band)}.plate h1{margin:.35rem 0 .3rem;font-size:clamp(1.55rem,3.8vw,2.3rem)}.plate .where{color:#d3dde1;margin:0}.plate .tel{display:inline-flex;align-items:center;gap:.5rem;margin:.8rem 0 0;font:700 1.35rem/1.3 var(--num)}.plate .tel a{color:var(--band)}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:0 0 1rem}@media(max-width:760px){.grid4{grid-template-columns:repeat(2,1fr)}}.grid4>div{background:var(--card);border:2px solid var(--rule);border-radius:4px;padding:.8rem .9rem}.grid4>div.yes{border-color:var(--ok)}.grid4 .t{font-weight:800;display:block;line-height:1.35}.grid4 .d{display:block;font-size:.82rem;color:var(--ink-2);line-height:1.45;margin:.15rem 0 .4rem}.info{width:100%;border-collapse:collapse;background:var(--card);border:2px solid var(--pipe)}.info th{width:9.5em;text-align:left;background:var(--paper-2);padding:.75rem .9rem;vertical-align:top;font-size:.95rem;border-top:1px solid var(--rule)}.info td{padding:.75rem .9rem;border-top:1px solid var(--rule);overflow-wrap:anywhere}@media(max-width:560px){.info th,.info td{display:block;width:100%}.info td{border-top:0;padding-top:.15rem}}.fare{list-style:none;margin:0;padding:0;background:var(--card);border:2px solid var(--pipe)}.fare li{display:grid;grid-template-columns:minmax(8em,15em) 1fr;gap:1rem;padding:.75rem 1rem}.fare li+li{border-top:1px dashed var(--rule)}.fare b{color:var(--pipe)}@media(max-width:560px){.fare li{grid-template-columns:1fr;gap:0}}.src{background:var(--card);border:2px solid var(--rule);border-left:10px solid var(--pipe);border-radius:4px;padding:1rem 1.2rem;margin-top:2rem;font-size:.95rem}.src h2{font-size:1.05rem;margin:0 0 .4rem}.src ul{margin:0;padding-left:1.1rem}.src li{overflow-wrap:anywhere}.note{border-left:6px solid var(--band);background:var(--card);padding:.9rem 1.1rem;border-radius:0 4px 4px 0;margin:1.2rem 0}.flow{list-style:none;margin:1.4rem 0;padding:0;counter-reset:s}.flow li{position:relative;padding:0 0 1.6rem 4rem;counter-increment:s}.flow li:before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:0;width:2.8rem;height:2.8rem;border-radius:50%;background:var(--card);border:4px solid var(--pipe);color:var(--pipe);font:700 1rem/1 var(--num);display:grid;place-items:center}.flow li:after{content:"";position:absolute;left:1.15rem;top:2.9rem;bottom:.2rem;width:8px;background:var(--pipe);border-radius:4px}.flow li:last-child:after{display:none}.flow h3{margin:.35rem 0 .3rem}.cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.cards>div,.cards>a{background:var(--card);border:2px solid var(--pipe);border-radius:6px;padding:1.1rem 1.2rem}.cards>a{text-decoration:none;color:var(--ink);display:block}.cards>a:hover{background:#fff3ea}.cards h3{margin-top:0}.cards .sys{margin-bottom:.3rem}.law{background:var(--card);border:2px solid var(--pipe);border-radius:6px;overflow:hidden}.law>div{display:grid;grid-template-columns:10em 1fr;border-top:1px solid var(--rule)}.law>div:first-child{border-top:0}.law b{background:var(--paper-2);padding:.8rem 1rem}.law p{margin:0;padding:.8rem 1rem}.law small{display:block;color:var(--ink-2);margin-top:.3rem;overflow-wrap:anywhere}@media(max-width:640px){.law>div{grid-template-columns:1fr}.law b{padding-bottom:.3rem}.law p{padding-top:.3rem}}.prose{max-width:48em}.prose ul{padding-left:1.3rem}.tbl{width:100%;border-collapse:collapse;background:var(--card);border:2px solid var(--pipe);font-size:.95rem}.tbl th,.tbl td{padding:.6rem .7rem;border-top:1px solid var(--rule);text-align:left;vertical-align:top;overflow-wrap:anywhere}.tbl thead th{background:var(--pipe);color:#fff;border:0}@media(max-width:760px){.tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}.tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.tbl tr{border-top:2px solid var(--pipe);padding:.4rem 0}.tbl td{border:0;padding:.2rem .8rem}.tbl td[data-label]:before{content:attr(data-label) " ";font-weight:700;color:var(--ink-2);font-size:.82rem}}.ft{margin-top:4rem;background:var(--card);color:var(--ink-2);border-top:6px solid var(--pipe);box-shadow:inset 0 6px 0 var(--band);padding:2.4rem 0 1.8rem;font-size:.95rem}.ft a{color:var(--pipe)}.ft h2{color:var(--ink);font-size:1.05rem;margin:0 0 .5rem}.ft .cols{display:grid;gap:1.5rem;grid-template-columns:2fr 1fr 1fr;margin-bottom:1.4rem}@media(max-width:760px){.ft .cols{grid-template-columns:1fr}}.plain{list-style:none;margin:0;padding:0}.plain li{margin:.1rem 0}.plain a{display:inline-block;padding:.3rem 0}
