:root{--charcoal:#292b2e;--ink:#292b2e;--muted:#646464;--cream:#f5f5f4;--orange:#bd4708;--border:#dededb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;font-size:16px;line-height:1.85;background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid #c65312;outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.5;letter-spacing:.025em}h2{font-size:32px;margin-bottom:24px}h3{font-size:20px}p{margin-bottom:20px}.wrap{max-width:1200px;width:calc(100% - 80px);margin:auto}.preview-note{background:#f0f0ee;text-align:center;font-size:12px;padding:5px 16px;color:#555555}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:102px}header{background:#fff;border-bottom:1px solid #eeeeec}.brand{display:flex;gap:11px;align-items:center;white-space:nowrap}.brand small{display:block;font-size:10px;letter-spacing:.1em}.brand strong{display:block;font-size:25px;font-weight:900;letter-spacing:-.06em}.brand strong span{color:#bd4708}.brand-mark{display:grid;place-items:center;width:47px;height:49px;border-radius:16px 16px 16px 4px;background:var(--charcoal);color:white}.desktop-nav{display:flex;gap:22px;font-size:14px;font-weight:700}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;padding:18px 25px;background:var(--charcoal);color:#fff;border-radius:6px;font-weight:700;border:0;min-height:56px;line-height:1.5}.button:hover{background:#44464a;text-decoration:none}.button.small{font-size:14px;padding:14px 18px;gap:14px}.button.orange{background:var(--orange)}.button.orange:hover{background:#9d3905}.button svg{width:21px}.hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:35px;padding-top:52px;padding-bottom:55px}.hero h1{font-size:clamp(34px,3.4vw,51px);font-weight:900;line-height:1.55;letter-spacing:.04em;margin-bottom:25px}.hero .eyebrow{margin:24px 0 15px;font-size:11px}.underline{background:linear-gradient(transparent 77%,#ffc797 77%,#ffc797 94%,transparent 94%)}.location-pill{display:inline-flex;align-items:center;gap:9px;font-size:13px;border:1px solid #dededb;border-radius:99px;padding:5px 15px;margin:0}.location-pill span{width:7px;height:7px;border-radius:50%;background:#ed721f}.hero-description{font-size:16px;line-height:2}.hero-art{position:relative;padding-bottom:30px}.hero-art img{display:block;border-radius:35% 35% 12px 12px}.art-note{position:absolute;right:-12px;bottom:15px;display:flex;gap:15px;align-items:center;background:#fff;padding:20px 28px;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 30px #292b2e10;transform:rotate(-3deg)}.art-note svg{width:40px;height:40px}.illustration-note{position:absolute;left:20px;bottom:6px;font-size:10px;color:var(--muted)}.text-link{display:inline-block;font-weight:700;border-bottom:1px solid #d5a081;padding:5px 0}.hero .text-link{font-size:13px;margin:15px 0 0 20px}.promise-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.promise-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 0;gap:25px;font-size:14px;font-weight:700}.promise-strip b{font-size:13px;margin-right:15px;color:#bd4708}.section{padding-top:82px;padding-bottom:82px}.eyebrow{display:block;font-family:Arial,sans-serif;font-weight:700;font-size:12px;letter-spacing:.16em;color:#a83f08;margin-bottom:12px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:28px}.section-heading p{font-size:14px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{border:1px solid var(--border);border-radius:8px;padding:24px;display:flex;flex-direction:column;min-height:238px;transition:background .15s}.service-card:hover{background:#fff6ef;text-decoration:none}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.card-top small{font-size:10px;letter-spacing:.08em;color:#646464}.icon-tile{display:grid;place-items:center;width:49px;height:49px;background:#fff0e3;color:#bd4708;border-radius:50%}.service-home .icon-tile{background:#eeeeed;color:#44464a}.service-living .icon-tile{background:#fff0e3;color:#bd4708}.service-card h3{font-size:19px;margin-bottom:10px}.service-card p{font-size:14px;color:var(--muted);margin-bottom:20px}.card-link{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:auto;font-weight:700}.card-link svg{width:19px}.unsure{background:#fff0e3;border:0}.unsure>svg{margin-bottom:19px}.unsure .text-link{font-size:13px;align-self:flex-start}.muted{color:var(--muted);font-size:13px;margin-top:20px}.soft{background:var(--cream)}.approach{display:grid;grid-template-columns:.9fr 1fr;gap:80px}.approach-list article{display:flex;gap:24px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--border)}.approach-list b{color:#bd4708;font-size:28px;font-family:Georgia,serif}.approach-list h3{margin-bottom:10px}.approach-list p{font-size:15px;margin:0;color:var(--muted)}.area-teaser{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.area-visual{position:relative;background:#f3f3f1;border-radius:15px;min-height:355px;display:grid;place-items:center;padding:25px}.radius{width:260px;height:260px;border:1px dashed #d88853;border-radius:50%;display:grid;place-items:center;background:#ffead9}.radius>div{width:180px;height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:50%}.radius strong{font-size:23px}.radius small{font-size:10px}.area-tag{position:absolute;background:white;border:1px solid #dfc8b6;border-radius:30px;padding:5px 26px;font-weight:700}.gifu{top:24px;left:65px}.mie{left:28px;bottom:110px}.aichi{right:23px;top:139px}.area-visual>p{font-size:13px;margin:10px 0 0}.photo-guide{display:flex;gap:30px;align-items:center}.photo-guide h2{font-size:25px;margin-bottom:12px}.photo-guide p{font-size:14px;margin:0}.photo-guide .text-link{white-space:nowrap;margin-left:auto}.photo-icon{width:90px;height:90px;flex-shrink:0;background:#ffead9;border-radius:50%;display:grid;place-items:center}.photo-icon svg{width:42px;height:42px}.faq{border-bottom:1px solid var(--border);padding:22px 8px}.faq summary{cursor:pointer;font-weight:700;font-size:18px}.faq summary span{color:#bd4708;margin-right:20px}.faq p{padding:18px 32px 0;margin:0;color:var(--muted)}.contact-band{background:var(--charcoal);color:#fff;padding:60px 0}.contact-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.contact-band h2{font-size:30px;margin-bottom:14px}.contact-band p{font-size:14px;margin:0;color:#e1e1df}.contact-band .eyebrow{color:#ffb885}.contact-band small{display:block;font-size:12px;margin-top:13px;text-align:center}footer{background:#f5f5f4;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:70px}.footer-brand{display:block;white-space:normal}.footer-brand .brand-mark{margin-bottom:15px}.footer-brand p{font-size:13px;margin-top:15px;color:var(--muted)}footer h3{font-size:15px}footer a{display:block;font-size:13px;margin:8px 0}.copyright{font-size:11px;color:var(--muted);border-top:1px solid var(--border);margin-top:35px;padding-top:20px}.mobile-menu,.mobile-contact{display:none}.skip{position:fixed;left:15px;top:-80px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:13px;font-size:12px;padding-top:24px}.page-heading{background:var(--cream);padding:50px 0;margin-top:24px}.page-heading h1{font-size:38px;margin:10px 0 20px}.page-heading p{max-width:770px;margin-bottom:0}.content{max-width:900px}.content section{margin:48px 0}.content ul{padding-left:25px}.panel{background:var(--cream);border-radius:8px;padding:30px}.notice{border-left:4px solid #df651a;background:#fff4e9;padding:20px 25px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:26px}.content a:not(.button){color:var(--charcoal);text-decoration:underline;text-underline-offset:4px}.pills{display:flex;flex-wrap:wrap;gap:9px}.pills span,.pills a{background:#f3f3f1;border:1px solid var(--border);padding:6px 13px;border-radius:5px;font-size:14px}.price-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-bottom:1px solid var(--border);padding:22px 0}.price-row h3,.price-row p{margin:0}.price-row p{font-size:15px}label{display:block;font-weight:700;margin-bottom:8px}input,select,textarea{width:100%;padding:13px;border:1px solid #bcbcb8;background:#fff;border-radius:4px;color:var(--ink);margin-bottom:20px}textarea{min-height:140px}input[type=checkbox]{width:auto;margin:0 9px 0 0}fieldset{border:0;padding:0;margin:0}fieldset:disabled{opacity:.65}label small{font-size:11px;margin-left:12px;color:#9c4e24}.hp{position:absolute;left:-9999px}button:disabled{background:#797b7e;cursor:not-allowed}.status{font-weight:700}.empty{padding:45px 25px;text-align:center;border:1px dashed #c9c9c5;border-radius:8px}.steps{counter-reset:step;list-style:none;padding:0!important}.steps li{counter-increment:step;padding:20px 0;border-bottom:1px solid var(--border)}.steps li:before{content:'0' counter(step);color:#bd4708;font-weight:700;margin-right:20px}.definition{display:grid;grid-template-columns:150px 1fr;gap:0}.definition dt,.definition dd{padding:18px 0;border-bottom:1px solid var(--border);margin:0}.definition dt{font-weight:700}.case-image{width:100%;border-radius:8px}.error{color:#ad3e20}
@media(min-width:1500px){.hero{padding-top:65px;padding-bottom:65px}}
@media(max-width:1100px){.desktop-nav{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:39px}.hero .text-link{display:block;width:max-content;margin-left:0}.approach{gap:35px}.area-teaser{gap:35px}.photo-guide{flex-wrap:wrap}.photo-guide .text-link{margin-left:120px}}
@media(max-width:700px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.preview-note{font-size:10px}.header-inner{height:81px;gap:15px}.brand small{font-size:8px}.brand strong{font-size:21px}.brand-mark{width:37px;height:42px}.header-inner>.button{display:none}.mobile-menu{display:block}.mobile-menu summary{list-style:none;font-size:25px;cursor:pointer;padding:5px 8px}.mobile-menu nav{position:absolute;left:0;right:0;top:107px;background:white;padding:22px;z-index:20;box-shadow:0 12px 18px #292b2e19}.mobile-menu nav a{display:block;padding:10px}.hero{grid-template-columns:1fr;gap:22px;padding-top:30px;padding-bottom:30px}.hero h1{font-size:38px;line-height:1.5;margin-bottom:18px}.hero .eyebrow{margin-top:20px}.hero-description{font-size:15px}.hero .button{width:100%}.hero .text-link{margin:12px auto 0}.hero-art{max-width:500px;width:100%;margin:auto}.hero-art img{max-height:360px;object-fit:cover;object-position:center 65%;border-radius:70px 70px 12px 12px}.art-note{padding:13px 18px;right:5px;font-size:13px}.promise-strip .wrap{grid-template-columns:1fr;gap:10px;padding:20px 0}.promise-strip span{font-size:13px}.section{padding-top:52px;padding-bottom:52px}h2{font-size:26px}.section-heading{display:block;margin-bottom:22px}.section-heading p{font-size:14px}.service-grid{gap:12px}.service-card{padding:18px 15px;min-height:226px}.service-card h3{font-size:17px}.service-card p{font-size:13px}.card-top{display:block;margin-bottom:15px}.card-top small{display:none}.icon-tile{width:42px;height:42px}.unsure h3{font-size:16px}.approach,.area-teaser,.two-col{grid-template-columns:1fr;gap:25px}.area-teaser>div:last-child{grid-row:1}.area-visual{min-height:325px}.photo-guide{gap:18px}.photo-icon{width:65px;height:65px}.photo-guide h2{font-size:23px}.photo-guide .text-link{margin-left:0}.faq summary{font-size:16px}.faq p{padding-left:0;font-size:15px}.contact-inner{display:block}.contact-band h2{font-size:26px}.contact-band .button{width:100%;margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}footer{padding-bottom:95px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1.2fr;background:#fff;border-top:1px solid var(--border);z-index:30;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:11px;font-weight:700;min-height:65px;gap:4px}.mobile-contact svg{width:22px;height:22px}.mobile-contact a:last-child{background:var(--orange);color:#fff}.mobile-contact a:nth-child(2){background:#f1f1ef}.page-heading{padding:32px 0}.page-heading h1{font-size:29px}.panel{padding:22px}.content section{margin:35px 0}.price-row{grid-template-columns:1fr;gap:6px}.definition{grid-template-columns:110px 1fr}.definition dd{overflow-wrap:anywhere}.breadcrumbs{font-size:11px}input,select,textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
header{position:relative}@media(max-width:700px){.mobile-menu nav{top:100%}}

/* Orange brand accents; dark orange retains readable white button labels. */
.brand-mark{background:var(--orange)}.header-inner>.button{background:var(--orange)}.header-inner>.button:hover{background:#9d3905}.art-note svg{color:var(--orange)}

.hero .hero-catchphrase{font-family:inherit;font-size:21px;letter-spacing:.12em;font-weight:700}.brand small{font-size:13px}@media(max-width:700px){.brand small{font-size:11px}.hero .hero-catchphrase{font-size:19px}}
.brand .brand-intro{font-size:10px;letter-spacing:.04em}.brand .brand-tagline{font-size:13px;letter-spacing:.12em;color:var(--orange);font-weight:700}.header-inner .brand strong{line-height:1.4}@media(max-width:700px){.brand .brand-intro{font-size:8px}.brand .brand-tagline{font-size:11px}.header-inner{height:94px}}

/* Case photos retain the complete supplied before/after comparison. */
.service-card>img{width:100%;height:auto;display:block;border-radius:8px;margin-bottom:18px}.case-photos figure{margin:0 0 28px}.case-photos img{display:block;width:100%;height:auto;border-radius:10px}.case-photos figcaption{font-size:16px;margin-top:10px;color:var(--ink)}
.cases-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cases-grid .service-card h2{font-size:23px;line-height:1.6;margin-top:12px}.cases-grid .service-card{text-decoration:none}.cases-grid .service-card>span{font-size:16px}@media(max-width:700px){.cases-grid{grid-template-columns:1fr}}

.brand-hero{padding-top:28px;padding-bottom:32px}.brand-hero>img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 8px 30px #292b2e12}.brand-hero-caption{font-size:13px;color:#666;margin:10px 0 20px}.brand-hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-hero-bottom h1{font-size:26px;line-height:1.6;margin:0 0 8px}.brand-hero-bottom p{font-size:16px;margin:0}.brand-hero-bottom .button{flex-shrink:0}@media(max-width:700px){.brand-hero{padding-top:12px;padding-bottom:24px}.brand-hero>img{border-radius:8px}.brand-hero-bottom{display:block}.brand-hero-bottom h1{font-size:23px}.brand-hero-bottom .button{display:flex;margin-top:18px}.brand-hero-caption{font-size:12px}}

.line-button{background:#087f3c;color:#fff;white-space:normal;text-align:center}.line-button:hover{background:#06632f}.line-qr{margin-top:24px}.line-qr img{display:block;width:220px;max-width:100%;height:auto;margin:0 auto}.line-qr p{font-size:14px;line-height:1.7}

.email-address{overflow-wrap:anywhere}.email-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.email-actions .button{white-space:normal}
