:root{--navy:#082b4c;--blue:#0b5796;--light:#eaf5fb;--ink:#13283a;--muted:#526979;--line:#d4e4ed;--orange:#e96325;--green:#06a640;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif;line-height:1.7;background:#fff;padding-bottom:66px}a{color:inherit}img{display:block;max-width:100%}.skip{position:fixed;z-index:100;top:8px;left:8px;padding:10px;background:#fff;transform:translateY(-150%)}.skip:focus{transform:none}.top{height:68px;display:flex;align-items:center;justify-content:space-between;padding:8px 5vw;background:#fff}.brand{font-size:1.05rem;font-weight:900;color:var(--navy);line-height:1}.brand span{display:block;color:#2180bd;font-size:.72em;letter-spacing:.16em}.top>div:last-child{text-align:right}.top b{display:block;font-size:.78rem}.top small{display:block;font-size:.68rem;color:var(--muted)}.hero{position:relative;min-height:690px;color:#fff;background:#082b4c url("assets/flood-hero.webp") 64% center/cover no-repeat;isolation:isolate}.hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(4,29,53,.98) 0%,rgba(6,39,69,.92) 42%,rgba(6,39,69,.25) 100%)}.hero__inner{width:min(var(--max),90%);margin:auto;padding:48px 0 54px}.alert{display:inline-block;margin:0 0 18px;padding:7px 12px;background:#fff;color:var(--navy);font-weight:800;font-size:.85rem;border-left:5px solid #55bdeb}.hero h1{margin:0;font-size:clamp(2.15rem,8.8vw,4.5rem);line-height:1.25;letter-spacing:-.05em}.hero h1 em{color:#9bdfff;font-style:normal}.hero__lead{max-width:640px;margin:19px 0;font-size:1rem;font-weight:600}.hero__services{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px;padding:0;list-style:none}.hero__services li{padding:5px 10px;border:1px solid #96cae9;background:#ffffff12;font-size:.82rem;font-weight:800}.area{margin:15px 0 18px}.area strong{color:#9bdfff}.area small{font-size:.78rem}.cta-row{display:grid;gap:10px}.cta{min-height:68px;display:grid;place-content:center;padding:9px 15px;border-radius:8px;text-align:center;text-decoration:none;color:#fff;font-weight:800;box-shadow:0 5px 0 #00192d}.cta span,.cta b{display:block}.cta span{font-size:.98rem}.cta b{font-size:.75rem}.phone{background:var(--orange);color:#fff}.line{background:var(--green);color:#fff}.scope-note{max-width:610px;margin:15px 0 0;font-size:.72rem;color:#d8e7f0}.quick{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-bottom:1px solid var(--line)}.quick a{padding:14px 4px;text-align:center;text-decoration:none;font-size:.72rem;font-weight:800;border-right:1px solid var(--line)}.section{width:min(var(--max),90%);margin:auto;padding:64px 0}.kicker{margin:0 0 8px;color:var(--blue);font-size:.78rem;font-weight:900;letter-spacing:.08em}.section h2,.safety h2,.photo-cta h2,.final h2{margin:0 0 24px;color:var(--navy);font-size:clamp(1.7rem,6vw,2.6rem);line-height:1.4;letter-spacing:-.035em}.intro{max-width:760px;margin:0 0 28px;color:var(--muted)}.symptom-grid,.service-grid,.location-grid,.why-grid,.case-grid{display:grid;gap:12px}.symptom-grid article,.service-grid article,.location-grid article,.why-grid article{padding:20px;border:1px solid var(--line);background:#fff;border-radius:8px}.symptom-grid span,.why-grid span{color:#69acd4;font-weight:900}.symptom-grid h3,.location-grid h3,.why-grid h3{margin:6px 0;color:var(--navy);font-size:1.05rem}.symptom-grid p,.service-grid p,.location-grid p,.why-grid p{margin:0;color:var(--muted);font-size:.9rem}.safety{background:#fff7e6;border-block:1px solid #f0d6a2}.safety__inner>ol{padding:0;list-style:none}.safety li{display:grid;gap:2px;padding:15px 0;border-bottom:1px solid #ead8b5}.safety li b{color:#714800}.safety li span{font-size:.9rem}.official{display:grid;gap:8px;margin-top:20px}.official a{padding:12px;background:#fff;border:1px solid #ddc38e;text-align:center;text-decoration:none;font-weight:800}.service-grid article{border-top:4px solid #58acd5}.service-grid b{color:var(--navy);font-size:1.13rem}.locations{background:#fff}.location-grid article{background:var(--light)}.cases{background:#edf5f8}.case-grid figure{margin:0;overflow:hidden;background:#fff;border-radius:8px;box-shadow:0 8px 24px #0b395417}.case-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}.case-grid figcaption{display:flex;justify-content:space-between;gap:7px;padding:13px}.case-grid figcaption span{font-size:.75rem;color:var(--muted)}.photo-cta{background:var(--navy);color:#fff}.photo-cta .section{display:grid;gap:22px}.photo-cta h2,.photo-cta .kicker{color:#fff}.photo-cta p{margin:0}.flow{display:grid;gap:0;padding:0;counter-reset:flow;list-style:none}.flow li{position:relative;padding:16px 12px 16px 54px;border-bottom:1px solid var(--line);counter-increment:flow}.flow li:before{content:counter(flow,decimal-leading-zero);position:absolute;left:4px;color:#5ca9d0;font-weight:900}.flow b,.flow span{display:block}.flow span{color:var(--muted);font-size:.85rem}.area-section{background:var(--light)}.area-tags{display:flex;flex-wrap:wrap;gap:8px}.area-tags>*{padding:7px 12px;background:#fff;border:1px solid #8fc5df;border-radius:100px}.area-tags strong{background:var(--blue);color:#fff}.faq-list{display:grid;gap:9px}.faq details{border:1px solid var(--line);border-radius:7px;background:#fff}.faq summary{padding:17px 44px 17px 15px;font-weight:800;cursor:pointer}.faq details p{margin:0;padding:0 15px 18px;color:var(--muted)}.faq summary:focus-visible,a:focus-visible{outline:3px solid #f4b942;outline-offset:3px}.final{text-align:center;background:linear-gradient(135deg,#0b5796,#082b4c);color:#fff}.final h2{color:#fff}.final .section>p{margin:0}.final small{display:block;margin-top:18px}.final .cta-row{max-width:720px;margin:auto}footer{padding:38px 5% 100px;background:#041b2e;color:#dcebf4;text-align:center;font-size:.78rem}footer .brand{color:#fff;font-size:1.2rem}footer a{color:#b8e3ff}.sticky{position:fixed;z-index:50;inset:auto 0 0;display:grid;grid-template-columns:1fr 1fr;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 18px #001a2d55}.sticky a{min-height:66px;display:grid;place-content:center;text-align:center;text-decoration:none}.sticky b,.sticky span{display:block}.sticky span{font-size:.7rem}.sticky .line{border-left:2px solid #fff}@media(min-width:680px){body{padding-bottom:0}.top{height:78px}.hero{min-height:680px}.hero__inner{padding-top:72px}.cta-row{grid-template-columns:1fr 1fr;max-width:720px}.quick{position:sticky;z-index:20;top:0}.quick a{font-size:.88rem}.symptom-grid,.service-grid,.location-grid{grid-template-columns:1fr 1fr}.why-grid,.case-grid{grid-template-columns:repeat(3,1fr)}.official{grid-template-columns:1fr 1fr}.flow{grid-template-columns:repeat(5,1fr)}.flow li{padding:54px 12px 16px;border-right:1px solid var(--line);border-bottom:0}.flow li:before{top:8px;left:12px}.sticky{left:auto;right:18px;bottom:18px;width:390px;border-radius:9px;overflow:hidden}.sticky a{min-height:58px}footer{padding-bottom:48px}}@media(min-width:1000px){.hero{background-position:center}.hero__inner{padding-top:76px}.hero__lead{font-size:1.1rem}.symptom-grid{grid-template-columns:repeat(3,1fr)}.service-grid{grid-template-columns:repeat(4,1fr)}.photo-cta .section{grid-template-columns:1.25fr .75fr;align-items:center}.section{padding:82px 0}}@media(max-width:430px){.hero{min-height:720px;background-position:62% center}.hero:after{background:linear-gradient(180deg,rgba(4,29,53,.78),rgba(4,29,53,.96) 76%)}.hero__inner{width:92%;padding-top:34px}.hero h1{font-size:2.28rem}.hero__lead{font-size:.9rem}.cta{min-height:64px}.scope-note{font-size:.68rem}}
.inquiry-section{background:#f1f7fa}.inquiry-form{max-width:820px;padding:22px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 34px #123a5012}.form-grid{display:grid;gap:16px}.inquiry-form label>span,.inquiry-form legend{display:block;margin-bottom:6px;color:var(--navy);font-weight:800}.inquiry-form label span b,.inquiry-form legend b{padding:2px 6px;border-radius:3px;background:#d94a32;color:#fff;font-size:.68rem}.inquiry-form label span small{padding:2px 6px;border-radius:3px;background:#71818b;color:#fff}.inquiry-form input[type="text"],.inquiry-form input[type="tel"],.inquiry-form input[type="email"],.inquiry-form textarea{width:100%;min-height:52px;padding:12px;border:1px solid #aebfca;border-radius:6px;background:#fff;color:var(--ink);font:inherit}.inquiry-form textarea{min-height:150px;resize:vertical}.inquiry-form input:focus,.inquiry-form textarea:focus{outline:3px solid #b5dff5;border-color:var(--blue)}.inquiry-form fieldset{margin:0;padding:0;border:0}.method-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.method-options label{min-height:50px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #aebfca;border-radius:6px;font-weight:800;cursor:pointer}.method-options input{width:18px;height:18px}.privacy-note{font-size:.75rem;color:var(--muted)}.form-submit{width:100%;min-height:62px;border:0;border-radius:7px;background:var(--blue);color:#fff;font:inherit;font-size:1.05rem;font-weight:900;cursor:pointer}.form-submit:disabled{opacity:.65;cursor:wait}.form-status{min-height:1.7em;margin:12px 0 0;color:#08763b;font-weight:800}.form-status.is-error{color:#b3261e}@media(min-width:680px){.inquiry-form{padding:34px}.form-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:1/-1}}
.inquiry-link{max-width:820px;text-align:center}.inquiry-link>p{max-width:620px;margin:0 auto 22px}.form-link-button{max-width:560px;min-height:76px;display:grid;place-content:center;margin:0 auto;padding:12px 22px;border-radius:8px;background:var(--blue);color:#fff;text-decoration:none;box-shadow:0 6px 0 #06345a;font-weight:900}.form-link-button span,.form-link-button small{display:block}.form-link-button span{font-size:1.08rem}.form-link-button small{font-size:.75rem}.inquiry-note{margin-top:18px!important;color:var(--muted);font-size:.8rem}.mobile-image-hero{display:none}.mobile-image-hero img{width:100%;height:auto}
@media(max-width:679px){.mobile-image-hero{display:block}.hero{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.leak-guide{position:relative;display:grid;gap:20px;align-items:center;overflow:hidden;margin-top:30px;padding:24px 22px;border:1px solid #b9dcea;border-radius:14px;background:linear-gradient(135deg,#f4fbff 0%,#e5f4fb 100%);box-shadow:0 12px 30px rgba(8,43,76,.09)}.leak-guide:before{content:"";position:absolute;top:-58px;right:-45px;width:150px;height:150px;border-radius:50%;background:rgba(88,172,213,.13);pointer-events:none}.leak-guide>div,.leak-guide>a{position:relative}.leak-guide__label{display:inline-flex;align-items:center;gap:7px;margin:0 0 8px;padding:5px 10px;border-radius:999px;background:#d8eef8;color:#075187;font-size:.76rem;font-weight:900}.leak-guide__label:before{content:"";width:7px;height:7px;border-radius:50%;background:#1682bd}.leak-guide h3{margin:0 0 8px;color:var(--navy);font-size:clamp(1.12rem,3.5vw,1.35rem);line-height:1.5;letter-spacing:-.02em}.leak-guide p{max-width:650px;margin:0;color:#405c6e;font-size:.91rem;line-height:1.8}.leak-guide a{display:flex;align-items:center;justify-content:center;min-height:60px;padding:12px 18px;border:1px solid #075187;border-radius:9px;background:linear-gradient(135deg,#0b679f,#084c7c);color:#fff;text-align:center;text-decoration:none;font-weight:900;line-height:1.45;box-shadow:0 5px 0 #063555;transition:transform .18s ease,box-shadow .18s ease}.leak-guide a:hover{transform:translateY(-2px);box-shadow:0 7px 0 #063555}.leak-guide a span{margin-left:8px;font-size:1.2em}@media(min-width:760px){.leak-guide{grid-template-columns:minmax(0,1fr) 330px;padding:28px 30px}.leak-guide h3{max-width:680px}}@media(max-width:430px){.leak-guide{margin-top:24px;padding:20px 17px}.leak-guide a{min-height:58px;font-size:.92rem}}
.hero__lead strong{display:inline-block;margin-bottom:5px;color:#9bdfff;font-size:1.18em}
.mobile-image-hero>p{margin:0;padding:10px 12px;background:#082b4c;color:#fff;text-align:center;font-size:.85rem;font-weight:900}
.contact-button{background:#fff;color:var(--navy);border:2px solid #8eb9d3}.sticky{grid-template-columns:repeat(3,1fr)}.sticky .contact-button{border-width:0;border-left:2px solid #d4e4ed}@media(min-width:680px){.cta-row{grid-template-columns:repeat(3,1fr);max-width:900px}.sticky{width:540px}}@media(max-width:679px){.final .cta-row{grid-template-columns:1fr}.sticky a{padding-inline:3px}.sticky b{font-size:.78rem}.sticky span{font-size:.58rem}}
