:root{--g:#148a74;--d:#0d584d;--p:#effaf6;--o:#f39945;--ink:#18302c;--muted:#61736f;--line:#dce8e4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",sans-serif;line-height:1.75}a{text-decoration:none;color:inherit}.header{height:82px;display:flex;align-items:center;padding:0 5vw;justify-content:space-between;position:sticky;top:0;z-index:20;background:#fffffff2;backdrop-filter:blur(10px);border-bottom:1px solid #edf2f0}.brand{display:flex;align-items:center;gap:10px}.brand>b{width:43px;height:43px;border-radius:12px;background:var(--g);color:white;display:grid;place-items:center;font:900 25px Arial;transform:skew(-6deg)}.brand span{display:flex;flex-direction:column;line-height:1}.brand strong{font:900 20px Arial;letter-spacing:.12em}.brand small{font-size:10px;margin-top:5px}.header nav{display:flex;gap:28px;font-size:13px;font-weight:700}.header nav a:hover{color:var(--g)}.head-cta{background:var(--o);color:white;padding:9px 22px;border-radius:40px;text-align:center;font-weight:800;line-height:1.3}.head-cta small{display:block;font-size:9px}.menu{display:none;border:0;background:none;font-size:25px;color:var(--d)}
.hero{min-height:680px;position:relative;overflow:hidden;background:#eef9f5}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(241,251,247,.98) 0%,rgba(241,251,247,.93) 39%,rgba(241,251,247,.22) 66%,rgba(241,251,247,0) 100%)}.hero-copy{position:relative;z-index:2;padding:100px 4vw 70px max(6vw,40px);width:59%}.tag,.title>p,.contact>p{font:800 12px Arial;color:var(--g);letter-spacing:.2em}.tag:before{content:"";display:inline-block;width:28px;height:3px;background:var(--o);vertical-align:middle;margin-right:10px}h1{font-size:clamp(42px,4.2vw,68px);line-height:1.28;margin:18px 0;letter-spacing:-.04em}h1 em{font-style:normal;color:var(--g);background:linear-gradient(transparent 72%,#f9dda4 0)}.lead{font-size:17px;color:#49635d}.pills{display:flex;gap:8px;flex-wrap:wrap;margin:27px 0}.pills span{font-size:12px;font-weight:700;background:white;padding:7px 12px;border-radius:30px;box-shadow:0 5px 16px #205d4c20}.actions{display:flex;gap:12px}.actions a{min-height:68px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;padding:10px 22px}.primary{background:var(--g);color:#fff;min-width:255px;box-shadow:0 10px 24px #148a743d;position:relative}.primary small{position:absolute;top:3px;font-size:9px}.line{border:2px solid #3bbf77;background:#fff;color:#147c49}.line b{background:#3cbe76;color:white;margin-right:8px;padding:2px 5px;border-radius:4px;font-size:11px}.note{display:block;color:#61736f;margin:9px 0 0 20px}.badge{position:absolute;z-index:3;right:5%;top:72px;width:145px;height:145px;background:var(--o);border-radius:50%;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(7deg);box-shadow:0 12px 20px #aa6c3133;border:5px solid #fff}.badge b{font-size:25px}.badge span{font-size:11px}
.pad{padding:100px max(6vw,24px)}.title{text-align:center;max-width:760px;margin:0 auto 50px}.title.left{text-align:left;margin-left:0}.title h2,.estimate h2,.area h2,.contact h2{font-size:clamp(30px,3vw,45px);line-height:1.45;margin:0 0 15px}.title>span{color:var(--muted)}.worry-grid{max-width:1080px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.worry-grid article{text-align:center;background:#fffaf3;padding:30px 12px;border-radius:18px;border:1px solid #f3e8da}.worry-grid i,.service-grid i{display:grid;margin:auto;width:60px;height:60px;place-items:center;background:white;border-radius:50%;color:var(--o);font:bold 28px Arial;font-style:normal}.worry-grid p{font-size:14px}.bridge{text-align:center;margin:45px 0 -125px;position:relative;z-index:2}.bridge small{display:block}.bridge b{font-size:24px;background:var(--g);color:white;padding:13px 34px;border-radius:40px;display:inline-block}.services{background:var(--p);padding-top:155px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-grid article{background:#fff;border-radius:18px;padding:28px;box-shadow:0 10px 30px #1554450b}.service-grid i{margin:0;background:#e6f6f0;color:var(--g);border-radius:14px}.service-grid h3,.reason-grid h3{font-size:18px;margin:20px 0 7px}.service-grid p,.reason-grid p{font-size:13px;color:var(--muted)}.reason-grid{display:grid;grid-template-columns:1fr 1fr;max-width:1050px;margin:auto;gap:20px}.reason-grid article{display:flex;gap:24px;padding:28px;border:1px solid var(--line);border-radius:18px}.reason-grid>article>b{font:800 38px Arial;color:#b9ded3}.reason-grid h3{margin:0}
.estimate{background:var(--d);color:white;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.estimate>div>p{color:#c3ded7}.estimate ul{list-style:none;padding:0;display:flex;gap:10px}.estimate li{background:#ffffff14;border:1px solid #ffffff33;border-radius:30px;padding:7px 14px;font-size:12px}.estimate li b{color:#ffb866}.paper{background:white;color:var(--ink);padding:28px;border-radius:18px;box-shadow:12px 12px 0 var(--o);transform:rotate(1deg)}.paper header,.paper footer{display:flex;justify-content:space-between;border-bottom:2px solid var(--d);padding-bottom:15px}.paper header b{font-size:20px}.paper p{display:flex;gap:15px;align-items:center}.paper p i{height:10px;background:#e7efed;flex:1}.paper footer{border:0;border-top:1px solid #bccbc7;padding-top:18px}.paper footer strong{color:var(--o);font-size:22px}.paper em{display:block;text-align:center;background:var(--p);color:var(--g);font-style:normal;font-size:12px;padding:8px}.works{background:#fafcfb}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.case-grid article{background:white;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #14372e12}.case-grid img{display:block;width:100%;height:240px;object-fit:cover}.case-grid article>div{padding:20px}.case-grid small{color:var(--g);font-weight:800}.case-grid h3{font-size:17px;margin:6px 0}.case-grid p,.placeholder{font-size:12px;color:var(--muted)}.placeholder{text-align:right}
.flow{background:var(--p)}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.flow-grid article{text-align:center;position:relative}.flow-grid article:not(:last-child):after{content:"→";position:absolute;right:-23px;top:55px;color:#92bfb2;font-size:24px}.flow-grid i{margin:8px auto;width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--g);font-style:normal;font-size:28px}.flow-grid h3{font-size:16px}.flow-grid p{font-size:12px;color:var(--muted)}.area{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}.area span{color:var(--muted)}.area a{display:block;margin-top:25px;color:var(--g);font-weight:800}.map{height:340px;background:#e8f6f2;border-radius:50% 38% 48% 42%;position:relative}.map:before{content:"";position:absolute;inset:60px 100px 90px 70px;background:var(--g);clip-path:polygon(25% 0,70% 15%,100% 47%,78% 100%,35% 85%,0 45%)}.map b,.map strong,.map i,.map small{position:absolute;z-index:2;color:white}.map b{top:100px;left:45%;font-size:24px}.map strong{top:190px;left:30%;font-size:28px}.map i{bottom:56px;right:18%;background:var(--o);padding:12px;border-radius:50%;font-style:normal}.map small{bottom:28px;right:11%;color:var(--ink)}.faq{background:#fafcfb}.faq-list{max-width:850px;margin:auto}.faq details{background:white;border-bottom:1px solid var(--line);padding:19px 22px}.faq summary{list-style:none;display:flex;font-weight:700;cursor:pointer}.faq summary b{color:var(--g);font-size:20px;margin-right:15px}.faq summary i{margin-left:auto;color:var(--g);font-style:normal}.faq details p{font-size:13px;color:var(--muted);padding-left:35px}
.contact{background:var(--g);color:white}.contact-intro{text-align:center}.contact-intro>p{font:800 12px Arial;color:#ffd19a;letter-spacing:.2em}.contact-intro>span{color:#d4ebe5}.contact-form{max-width:900px;margin:42px auto 0;background:white;color:var(--ink);padding:clamp(24px,4vw,48px);border-radius:22px;text-align:left;box-shadow:0 20px 50px #083d3433}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label>span,.contact-form legend{display:block;font-size:14px;font-weight:800;margin-bottom:7px}.contact-form label>span b,.contact-form legend b{display:inline-block;background:var(--o);color:white;border-radius:4px;padding:1px 6px;font-size:9px;margin-left:5px}.contact-form input[type=text],.contact-form input[type=tel],.contact-form input[type=email],.contact-form textarea{width:100%;border:1px solid #cddbd7;background:#f9fcfb;border-radius:9px;padding:13px 14px;font:inherit;font-size:15px;color:var(--ink);outline:none;transition:.2s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--g);box-shadow:0 0 0 3px #148a7418;background:white}.contact-form textarea{resize:vertical}.contact-form fieldset{border:0;padding:0;margin:22px 0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice-grid label{position:relative}.choice-grid input{position:absolute;opacity:0}.choice-grid span{border:1px solid #cddbd7;border-radius:9px;padding:12px 14px!important;margin:0!important;font-size:13px!important;background:#f9fcfb;cursor:pointer}.choice-grid input:checked+span{border-color:var(--g);background:var(--p);color:var(--g)}.choice-grid input:focus-visible+span{outline:3px solid #148a7433}.message-field{display:block;margin:20px 0}.privacy{display:flex;align-items:flex-start;gap:10px;background:#f5f9f8;padding:14px;border-radius:9px;cursor:pointer}.privacy input{margin-top:5px;accent-color:var(--g)}.privacy span{font-size:12px!important;font-weight:500!important;margin:0!important}.field-error{display:none;color:#c94242;font-size:11px;margin-top:4px}.contact-form .invalid+.field-error,.field-error.show{display:block}.honeypot{position:absolute!important;left:-9999px!important}.submit-button{display:block;width:min(100%,520px);margin:28px auto 12px;border:0;border-radius:12px;background:var(--o);color:white;min-height:66px;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px #f3994540}.submit-button:hover{filter:brightness(1.04);transform:translateY(-1px)}.submit-button:disabled{opacity:.65;cursor:wait}.form-note{text-align:center;font-size:11px;color:var(--muted)}.form-status{display:none;text-align:center;border-radius:9px;padding:14px;margin-top:15px;font-size:14px;font-weight:700}.form-status.success{display:block;background:#e8f8f1;color:#08704f}.form-status.error{display:block;background:#fff0ef;color:#a83232}.form-status.setup{display:block;background:#fff7e8;color:#8a5b17}.contact-sub{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:650px;margin:20px auto 0;text-align:center}.contact-sub a{background:#ffffff18;border:1px solid #ffffff55;border-radius:12px;padding:12px}.contact-sub small,.contact-sub b{display:block}footer{background:#173b35;color:#cbe0db;padding:60px 6vw 30px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.inverse{color:white}.inverse>b{background:var(--o)}footer p{font-size:12px}footer>small{grid-column:1/-1;border-top:1px solid #ffffff1d;padding-top:25px}.mobile-bar{display:none}
@media(max-width:900px){.header{height:66px;padding:0 18px}.menu{display:block;order:2}.header nav{display:none;position:absolute;top:66px;left:0;right:0;background:white;padding:20px;box-shadow:0 10px 20px #0002;flex-direction:column}.header nav.open{display:flex}.head-cta{order:3;padding:7px 14px}.head-cta small{display:none}.hero{min-height:700px}.hero>img{object-position:65% center}.overlay{background:linear-gradient(90deg,rgba(241,251,247,.97),rgba(241,251,247,.8) 60%,rgba(241,251,247,.2))}.hero-copy{width:75%;padding:80px 22px 30px}.service-grid{grid-template-columns:1fr 1fr}.reason-grid{grid-template-columns:1fr}.estimate{gap:50px}.case-grid{grid-template-columns:1fr}.flow-grid{grid-template-columns:1fr 1fr}.area{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;height:60px;background:white;box-shadow:0 -4px 15px #0002}.mobile-bar a{flex:1;display:grid;place-items:center;font-weight:800;color:var(--g)}.mobile-bar a:last-child{background:var(--o);color:white}footer{padding-bottom:90px}}
@media(max-width:600px){.brand>b{width:37px;height:37px}.brand strong{font-size:17px}.hero{min-height:720px}.hero>img{object-position:70% center}.overlay{background:linear-gradient(180deg,rgba(241,251,247,.98) 0%,rgba(241,251,247,.9) 58%,rgba(241,251,247,.12) 100%)}.hero-copy{width:100%;padding-top:55px}h1{font-size:39px}.lead{font-size:14px}.actions{flex-direction:column}.actions a{width:100%}.badge{width:105px;height:105px;top:auto;bottom:40px;right:20px}.badge b{font-size:19px}.pad{padding:72px 20px}.title h2,.estimate h2,.area h2,.contact h2{font-size:29px}.worry-grid{grid-template-columns:1fr 1fr;gap:10px}.worry-grid article{padding:18px 5px}.worry-grid p{font-size:11px}.bridge{margin-bottom:-95px}.bridge b{font-size:16px}.services{padding-top:125px}.service-grid{grid-template-columns:1fr}.estimate{grid-template-columns:1fr}.estimate ul{flex-wrap:wrap}.paper{padding:20px}.flow-grid{grid-template-columns:1fr}.flow-grid article:not(:last-child):after{content:"↓";right:auto;left:50%;top:auto;bottom:-25px}.map{height:270px}.map:before{inset:45px 60px 70px 40px}.form-row,.choice-grid,.contact-sub{grid-template-columns:1fr}.contact-form{padding:22px 16px}.submit-button{font-size:15px}footer{grid-template-columns:1fr}footer>small{grid-column:1}}

.area-map{overflow:hidden;border-radius:24px;box-shadow:0 18px 45px #14372e1f;background:#fff}.area-map img{display:block;width:100%;height:auto}

.choice-grid.building-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:600px){.choice-grid.building-grid{grid-template-columns:1fr}}
