
:root{--ink:#17373c;--deep:#10343a;--teal:#176975;--soft:#eaf4f3;--cream:#faf9f6;--gold:#b49b79;--muted:#61777a;--line:#dce6e3;--white:#fff;--shadow:0 24px 80px rgba(15,55,60,.08)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans JP',system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.serif{font-family:Georgia,'Times New Roman',serif}strong{font-weight:800}.kicker{color:var(--teal);font-family:Outfit,sans-serif;letter-spacing:.2em;font-size:12px;font-weight:800;text-transform:uppercase;display:inline-block;margin-bottom:13px}.section{padding:106px 0}.section-title{font-size:clamp(27px,3.5vw,42px);line-height:1.43;letter-spacing:.025em;font-weight:700;margin:0 0 14px}.lead{color:var(--muted);line-height:2;max-width:640px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:13px 25px;border-radius:7px;transition:transform .2s,background .2s,color .2s;font-size:14px;font-weight:700;text-align:center;white-space:nowrap;border:1px solid transparent}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--deep)}.btn-outline{border-color:#b0c8c7;color:var(--deep);background:#fff}.btn-light{background:#fff;color:var(--deep)}.arrow{font-family:Outfit,sans-serif;font-size:18px;line-height:1}.header{height:83px;display:flex;align-items:center;position:sticky;top:0;z-index:50;background:rgba(250,249,246,.95);border-bottom:1px solid rgba(19,57,61,.08);backdrop-filter:blur(18px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;line-height:1}.brandmark{width:41px;height:41px;background:var(--deep);border-radius:10px;display:grid;place-items:center;color:white;font-family:Outfit,sans-serif;font-size:17px;letter-spacing:-2px;font-weight:700}.brandword{font-size:18px;font-weight:800;letter-spacing:.07em;white-space:nowrap}.brandsmall{display:block;margin-top:7px;letter-spacing:.14em;font-family:Outfit,sans-serif;color:var(--teal);font-weight:600;font-size:9px}.navlinks{display:flex;gap:30px;align-items:center}.navlinks>a{font-size:12px;font-weight:700;color:#34565a}.navlinks>a:hover{color:#0f8390}.nav-action{display:flex;gap:12px;align-items:center}.nav-action .btn{min-height:43px;padding:9px 17px;font-size:12px}.menu-toggle{display:none;background:transparent;border:0;padding:8px;color:var(--ink);font-size:25px;cursor:pointer}
.hero{overflow:hidden;background:linear-gradient(125deg,#ecf3f0 0%,#f8f7f3 62%,#f8f4ee 100%);position:relative}.hero:before{content:"";position:absolute;right:-220px;top:-230px;width:590px;height:590px;border-radius:50%;border:1px solid rgba(27,103,113,.1)}.hero-inner{display:grid;grid-template-columns:.97fr 1.03fr;min-height:645px;align-items:center;gap:40px;padding:63px 0 88px}.hero-copy{position:relative;z-index:2}.hero-eyebrow{display:flex;align-items:center;gap:14px;color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.15em;margin:0 0 28px}.hero-eyebrow:before{content:"";width:35px;height:1px;background:var(--gold)}.hero h1{font-size:clamp(35px,4.55vw,60px);letter-spacing:.035em;line-height:1.62;margin:0 0 25px;font-weight:700}.hero h1 em{font-style:normal;color:var(--teal)}.hero-text{font-size:15px;color:#5d7376;line-height:2.2;margin-bottom:34px;max-width:480px}.hero-ctas{display:flex;flex-wrap:wrap;gap:13px}.hero-mini{display:flex;align-items:center;gap:9px;color:var(--muted);margin-top:25px;font-size:12px}.hero-mini b{color:var(--teal);font-size:16px}.hero-media{align-self:stretch;position:relative;min-height:475px}.hero-photo{position:absolute;inset:0 0 9% 3%;border-radius:155px 9px 9px 9px;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(145deg, #a3b9b6,#527c83);background-image:linear-gradient(90deg,rgba(14,54,60,.08),rgba(14,54,60,.04)),url("assets/hero-room.svg");background-size:cover;background-position:center}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,55,61,.35),transparent 60%)}.hero-visual-label{position:absolute;right:-13px;bottom:1%;width:218px;background:#fff;padding:21px 24px;box-shadow:0 16px 50px rgba(15,54,58,.13);border-left:4px solid var(--gold)}.hero-visual-label span{display:block;font:700 11px/1.5 Outfit,sans-serif;color:var(--teal);letter-spacing:.15em}.hero-visual-label b{display:block;font-size:17px;margin-top:6px;letter-spacing:.03em}.hero-float{position:absolute;top:30px;right:-36px;transform:rotate(90deg);font:700 11px Outfit,sans-serif;letter-spacing:.35em;color:var(--teal)}
.trust{background:var(--deep);color:#e7f1ef}.trust-inner{display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.trust-item{padding:26px 12px;display:flex;justify-content:center;align-items:center;gap:17px;border-right:1px solid rgba(255,255,255,.16)}.trust-item:last-child{border-right:0}.trust-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.27);border-radius:50%;font-size:20px;color:#d8c6a3}.trust-item b{font-size:14px;display:block;line-height:1.6}.trust-item span{display:block;color:#9ebcbd;font-size:11px;margin-top:2px}
.services{background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-heading .lead{margin:0;max-width:410px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{background:#f9fbf9;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.service:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(17,68,72,.07)}.service-photo{height:194px;background-size:cover;background-position:center;position:relative}.service-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,59,61,.18),transparent)}.s1{background-image:url("assets/vacant.svg")}.s2{background-image:url("assets/ac-clean.svg")}.s3{background-image:url("assets/interior.svg")}.s4{background-image:url("assets/water.svg")}.s5{background-image:url("assets/floor.svg")}.s6{background-image:url("assets/special.svg")}.service-body{padding:23px 24px 24px;flex:1;display:flex;flex-direction:column}.service-num{color:var(--teal);font:800 11px Outfit,sans-serif;letter-spacing:.16em}.service h3{font-size:19px;margin:8px 0 8px;line-height:1.5}.service p{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 18px;flex:1}.service-link{font-size:12px;font-weight:800;color:var(--teal);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}
.about{background:#eef4f1}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-art{height:475px;position:relative;background:linear-gradient(155deg,#b0c4bb,#698b89);border-radius:8px 125px 8px 8px;overflow:hidden;background-image:url("assets/hero-room.svg");background-size:cover;background-position:center}.about-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,55,59,.32),transparent 55%)}.about-tag{position:absolute;bottom:28px;left:28px;z-index:1;color:#fff;font:600 12px Outfit,sans-serif;letter-spacing:.25em}.about-steps{display:grid;gap:19px;margin-top:28px}.about-step{display:flex;align-items:flex-start;gap:17px}.about-check{flex:0 0 27px;height:27px;border-radius:50%;background:#cee4dc;display:grid;place-items:center;color:var(--teal);font-size:15px;font-weight:800}.about-step h3{margin:0 0 4px;font-size:15px}.about-step p{font-size:12px;color:var(--muted);margin:0;line-height:1.9}
.pricing{background:#fff}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.price-card{padding:28px 26px;background:var(--cream);border:1px solid var(--line);border-radius:10px;position:relative}.price-card:first-child{background:#e9f5f2;border-color:#c7e3dc}.price-label{font-size:13px;color:var(--muted);font-weight:700;margin:0 0 11px}.price-value{display:flex;align-items:baseline;gap:5px;color:var(--deep);font:700 31px/1.3 Outfit,sans-serif;white-space:nowrap}.price-value small{font-size:13px;font-family:'Noto Sans JP',sans-serif;color:var(--muted);font-weight:600}.price-note{color:var(--muted);font-size:11px;margin:9px 0 0}.price-foot{margin-top:23px;font-size:12px;color:var(--muted);padding:15px 20px;background:#f8faf9;border-left:3px solid #9fc9c4}
.flow-section{background:var(--cream)}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:45px}.flow-item{position:relative;background:#fff;border-radius:10px;border:1px solid var(--line);padding:27px 24px 24px;min-height:206px}.flow-item:after{content:"→";position:absolute;right:-19px;top:78px;color:var(--teal);font-size:24px;z-index:1}.flow-item:last-child:after{display:none}.flow-no{font:800 12px Outfit,sans-serif;color:var(--teal);letter-spacing:.15em}.flow-item h3{font-size:18px;margin:12px 0 9px}.flow-item p{font-size:12px;color:var(--muted);margin:0}
.area{background:var(--deep);color:#fff;position:relative;overflow:hidden}.area:before{content:"CLEAN LIFE";position:absolute;right:-35px;bottom:-105px;font:800 clamp(80px,16vw,270px) Outfit,sans-serif;letter-spacing:-.08em;white-space:nowrap;color:rgba(255,255,255,.027);line-height:1}.area .kicker{color:#b6d5d1}.area .lead{color:#b6c8c9}.area-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.area-box{padding:35px 42px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.035);border-radius:10px}.area-box h3{font-size:17px;margin:0 0 15px}.area-chips{display:flex;flex-wrap:wrap;gap:9px}.area-chip{padding:7px 12px;border:1px solid rgba(255,255,255,.22);border-radius:30px;font-size:12px;color:#e0eff0}.area-notes{font-size:11px;color:#9cb7b9;margin:18px 0 0}
.faq{background:#fff}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:85px;align-items:start}.faq details{border-bottom:1px solid var(--line);padding:5px 0}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:14px;font-weight:700;padding:19px 3px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:400 24px/1 Outfit,sans-serif;color:var(--teal)}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);font-size:13px;margin:0;padding:0 30px 20px 3px}
.cta{padding:83px 0;background:linear-gradient(128deg,#dcece8,#e9f2ee 48%,#f5f1e9)}.cta-box{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-box h2{font-size:clamp(25px,3vw,38px);margin:0 0 10px}.cta-box p{color:var(--muted);margin:0}.cta-buttons{display:flex;gap:12px;flex-wrap:wrap}.footer{background:#092d33;color:#d8e4e3;padding:55px 0 31px}.footer-top{display:flex;justify-content:space-between;gap:35px;align-items:start}.footer .brandmark{background:#e8f4ef;color:var(--deep)}.footer .brandword{color:#fff}.footer .brandsmall{color:#aec8c8}.footer-meta{font-size:12px;color:#a4c1c2;margin:18px 0 0;line-height:2}.footer-links{display:flex;gap:26px;font-size:12px;flex-wrap:wrap}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:40px;padding-top:23px;font:500 11px Outfit,sans-serif;letter-spacing:.04em;color:#8ba9aa}.mobile-bar{display:none}
@media(max-width:1000px){.navlinks{gap:15px}.navlinks>a{font-size:11px}.nav-action .btn{padding:9px 11px}.hero h1{font-size:45px}.about-grid{gap:40px}.area-inner{gap:40px}.faq-grid{gap:42px}}
@media(max-width:800px){.header{height:71px}.navlinks{display:none;position:absolute;top:71px;left:0;right:0;padding:24px;background:#fff;box-shadow:0 20px 45px rgba(0,0,0,.08);flex-direction:column;align-items:stretch;gap:0}.navlinks.open{display:flex}.navlinks>a{padding:13px 6px;font-size:14px;border-bottom:1px solid var(--line)}.nav-action{margin-left:auto}.nav-action .btn{display:none}.menu-toggle{display:block}.hero-inner{grid-template-columns:1fr;gap:36px;padding:67px 0 67px}.hero h1{font-size:clamp(37px,7vw,57px)}.hero-media{min-height:385px}.hero-photo{inset:0 24px 22px 0;border-radius:110px 10px 10px 10px}.hero-visual-label{right:0;bottom:0}.hero-float{right:-15px}.section{padding:72px 0}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr;gap:43px}.about-art{height:365px}.price-grid{grid-template-columns:repeat(2,1fr)}.flow-grid{grid-template-columns:repeat(2,1fr)}.flow-item:after{display:none}.area-inner{grid-template-columns:1fr;gap:28px}.faq-grid{grid-template-columns:1fr;gap:22px}.cta-box{display:block}.cta-buttons{margin-top:22px}.footer-top{display:block}.footer-links{margin-top:23px}.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:55;display:grid;grid-template-columns:1fr 1fr;background:white;box-shadow:0 -5px 25px rgba(5,36,40,.16);padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom));gap:8px}.mobile-bar a{display:grid;place-items:center;min-height:46px;font-size:13px;font-weight:800;border-radius:6px;background:#e7f3f1;color:var(--deep)}.mobile-bar a:first-child{background:var(--teal);color:white}.footer{padding-bottom:115px}}
@media(max-width:560px){.container{width:min(100% - 36px,1160px)}.brandmark{width:36px;height:36px}.brandword{font-size:15px}.brandsmall{font-size:8px}.hero-inner{padding:48px 0 54px}.hero-eyebrow{margin-bottom:20px;font-size:10px}.hero h1{font-size:clamp(32px,8.3vw,43px);line-height:1.54}.hero-text{font-size:13px;line-height:2.05}.hero-ctas{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hero-ctas .btn{padding:10px 9px;font-size:12px;min-height:51px}.hero-media{min-height:320px}.hero-photo{border-radius:95px 8px 8px 8px;inset:0 15px 20px 0}.hero-visual-label{padding:15px 17px;width:190px}.hero-visual-label b{font-size:14px}.trust-inner{grid-template-columns:1fr}.trust-item{justify-content:start;padding:18px 4px;border-bottom:1px solid rgba(255,255,255,.16);border-right:0}.trust-item:last-child{border:0}.section{padding:60px 0}.section-heading{display:block;margin-bottom:27px}.section-title{font-size:29px}.section-heading .lead{font-size:13px}.service-grid{grid-template-columns:1fr;gap:16px}.service-photo{height:205px}.service-body{padding:21px}.about-art{height:305px}.price-grid{grid-template-columns:1fr;gap:11px}.price-card{padding:22px}.flow-grid{grid-template-columns:1fr;gap:12px}.flow-item{min-height:auto;padding:21px}.area-box{padding:25px 22px}.area-chip{font-size:11px}.cta{padding:60px 0}.cta-buttons{display:grid}.footer-links{gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* Dedicated page additions */
.page-hero{background:linear-gradient(130deg,#eaf5f1,#faf9f6 74%);padding:88px 0 78px;position:relative;overflow:hidden}
.page-hero:after{content:'';position:absolute;right:-130px;bottom:-200px;width:390px;height:390px;border-radius:50%;border:1px solid #b6d6d0}
.page-hero .container{position:relative;z-index:1}.page-hero h1{font-size:clamp(34px,4.1vw,54px);line-height:1.45;letter-spacing:.02em;margin:0 0 20px}.page-hero p{max-width:720px;color:var(--muted);font-size:15px;margin-bottom:22px}
.crumbs{display:flex;gap:9px;align-items:center;font-size:11px;color:#5a8585;margin-bottom:20px}.crumbs a{text-decoration:underline;text-underline-offset:3px}
.simple-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.simple-card{padding:27px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:210px}
.simple-card .num{color:var(--teal);font:700 12px Outfit,sans-serif;letter-spacing:.2em}.simple-card h3{font-size:19px;line-height:1.5;margin:12px 0}.simple-card p{color:var(--muted);font-size:13px;flex:1;margin-bottom:18px}
.simple-card a{font-size:12px;color:var(--teal);font-weight:800;border-top:1px solid var(--line);padding-top:13px}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.white{background:#fff}.soft{background:#edf5f2}.checklist{list-style:none;padding:0;margin:25px 0;display:grid;gap:13px}.checklist li{padding:0 0 13px 28px;position:relative;border-bottom:1px solid #e1eae7;font-size:14px}.checklist li:before{content:'✓';color:var(--teal);font-weight:800;position:absolute;left:0}
.note{padding:22px 25px;border-radius:10px;border:1px solid #cee4e0;background:#f3f9f7;color:#3a6264;font-size:13px}
.service-headrow{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.service-art{aspect-ratio:1.15;border-radius:16px 130px 16px 16px;background-image:linear-gradient(160deg,rgba(13,63,67,.05),rgba(14,67,72,.28)),url("assets/hero-room.svg");background-size:cover;background-position:center;background-color:#c1dad4;box-shadow:var(--shadow)}
.price-table{border-collapse:collapse;width:100%;font-size:14px;background:#fff}.price-table th{text-align:left;background:#eaf5f2;padding:17px 20px;white-space:nowrap}.price-table td{padding:17px 20px;border-bottom:1px solid #dfe9e5}.price-table td:nth-child(2){font-weight:800;color:var(--deep);white-space:nowrap}.price-table tr:last-child td{border-bottom:0}.table-scroll{overflow-x:auto;border:1px solid #dfe9e5;border-radius:12px;background:#fff}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px}.contact-form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px}.contact-form label{display:block;font-size:12px;color:var(--ink);font-weight:700;margin-bottom:7px}.contact-form input,.contact-form textarea,.contact-form select{font:inherit;width:100%;padding:13px 15px;border:1px solid #cadcda;border-radius:7px;background:#fff;color:var(--ink);outline:none;margin-bottom:20px}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #dcefeb}.contact-form textarea{min-height:120px;resize:vertical}.contact-form button{cursor:pointer}.contact-form .help{font-size:12px;color:var(--muted);margin:7px 0 0}.contact-panel{background:var(--deep);color:#fff;padding:36px;border-radius:14px}.contact-panel h3{font-size:23px}.contact-panel p{color:#c4d9d6;font-size:13px}.contact-panel a{word-break:break-all}
.split-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.mini-list{list-style:none;padding:0;margin:0}.mini-list li{border-bottom:1px solid #dce7e4;padding:14px 0;font-size:14px}
.micro{font-size:11px;color:var(--muted)}.page-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.page-links a{padding:7px 13px;border:1px solid #c8dbd7;border-radius:40px;font-size:12px;color:var(--teal)}
.home-addendum{padding:22px 28px;background:#f4faf8;border:1px solid #c9dfd9;border-radius:9px;margin-top:26px;display:flex;gap:25px;justify-content:space-between;align-items:center}.home-addendum p{margin:0;color:var(--muted);font-size:13px}
.notice-preview{position:fixed;z-index:90;right:15px;bottom:96px;background:#fff;color:#345958;font-size:10px;border:1px solid #b4cfca;border-radius:50px;padding:4px 10px;box-shadow:0 4px 13px #1226;pointer-events:none}
:focus-visible{outline:3px solid #328e92;outline-offset:3px}
@media(max-width:850px){.simple-grid{grid-template-columns:repeat(2,1fr)}.two-column,.contact-grid,.service-headrow{grid-template-columns:1fr;gap:26px}.service-art{min-height:300px;aspect-ratio:1.7}.page-hero{padding:55px 0 48px}.home-addendum{flex-direction:column;align-items:flex-start}.contact-form{padding:22px}}
@media(max-width:600px){.simple-grid{grid-template-columns:1fr}.page-hero h1{font-size:33px}.price-table{font-size:12px}.price-table th,.price-table td{padding:13px 12px}.service-art{min-height:220px}.contact-panel{padding:25px}.notice-preview{bottom:77px}}

.s7{background-image:url("assets/ac-install.svg")}.s8{background-image:url("assets/water.svg")}.s9{background-image:url("assets/business.svg")}

@media(max-width:600px){.hero-float{display:none}}
