@charset "UTF-8";
:root{--ink:#343d32;--green:#536c50;--green-dark:#3e563c;--sage:#edf1e8;--cream:#f8f6f0;--line:#d9dfd2;--gold:#a58858;--muted:#697065;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font:17px/1.85 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-feature-settings:"palt";line-break:strict;overflow-wrap:anywhere}h2{font-family:var(--serif);font-size:clamp(28px,3vw,40px);line-height:1.65;font-weight:600;letter-spacing:.035em}h3{font-size:20px;line-height:1.6;font-weight:700}p{line-break:strict}small{font-size:14px}.container{width:min(1160px,calc(100% - 96px));margin-inline:auto}.section{padding:100px 0}.section-heading{margin-bottom:44px}.section-heading>p:last-child:not(.eyebrow){margin-top:20px;color:var(--muted)}.center{text-align:center}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:700;line-height:1.5;color:var(--green);margin-bottom:18px}.icon{width:25px;height:25px;flex-shrink:0;vertical-align:middle}.button{display:inline-flex;align-items:center;justify-content:center;gap:36px;min-height:58px;padding:13px 25px;color:#fff;background:var(--green);border:1px solid var(--green);border-radius:4px;font-size:16px;font-weight:700;transition:background .18s,transform .18s}.button:hover{background:var(--green-dark);transform:translateY(-2px)}.button .icon{width:20px}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:#fff;padding:10px}.skip:focus{top:5px}.header{position:relative;z-index:5;min-height:94px;padding:18px 4.2%;display:flex;align-items:center;gap:40px;border-bottom:1px solid #f0efe8;background:#fff}.brand{display:inline-flex;flex-direction:column;line-height:1.35;flex-shrink:0}.brand-en{font-size:27px;font-family:Georgia,serif;font-weight:700;letter-spacing:-.03em}.brand-dot{color:var(--gold)}.brand-ja{font-size:10px;letter-spacing:.09em;margin-top:3px}.header nav{margin-left:auto;display:flex;gap:28px;font-size:14px;font-weight:700}.header nav a:hover{color:var(--green)}.header .button{min-height:46px;padding:9px 18px;font-size:14px;gap:20px}
.hero{position:relative;max-width:1600px;margin:auto;isolation:isolate;min-height:650px;aspect-ratio:1672/941;display:flex;align-items:center;background:var(--cream)}.hero-visual{position:absolute;inset:0;z-index:-2}.hero-visual img{width:100%;height:100%;object-fit:contain}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(248,246,240,.84) 0%,rgba(248,246,240,.67) 29%,rgba(248,246,240,0) 52%)}.hero-copy{padding:38px 0 42px;margin-left:5.5%;max-width:48%}.hero-copy .eyebrow{margin-bottom:20px}.hero-lead{font-size:15px;letter-spacing:.02em;margin-bottom:18px}.hero h1{font-family:var(--serif);font-size:clamp(35px,3.5vw,54px);line-height:1.55;font-weight:600;letter-spacing:.02em}.hero h1 span{font-size:.68em;display:inline-block;margin-top:6px}.hero-description{margin-top:22px;font-size:16px;line-height:2}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:27px}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;border-bottom:1px solid var(--green);padding-bottom:3px}.text-link .icon{width:17px}.area-mini{font-size:12px;color:var(--muted);margin-top:17px}.area-mini span{display:inline-block}.intro-strip{max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:center;gap:44px;min-height:72px;background:var(--sage);font-size:14px;letter-spacing:.06em}.intro-strip i{height:16px;width:1px;background:#c8d1c0;transform:rotate(20deg)}
.concerns{background:var(--cream)}.concern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.concern{background:#fff;border-radius:8px;padding:20px 25px 27px;text-align:center}.illustration{width:100%;height:218px;margin:0 auto 15px;display:flex;align-items:center;justify-content:center}.illustration svg{display:block;width:100%;height:100%;overflow:hidden}.concern h3{font-size:20px;margin-bottom:10px}.concern p{font-size:15px;line-height:1.9;color:var(--muted);text-align:left}.reassurance{text-align:center;font-family:var(--serif);font-size:23px;margin-top:45px;color:var(--green)}.service-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}.service-photo{position:sticky;top:28px}.service-photo img{border-radius:8px;width:100%}.service-photo figcaption{margin:26px 0 0 16px;color:var(--muted);font-family:var(--serif);font-size:21px;line-height:1.9}.service-photo figcaption span{color:var(--green);font-size:27px}.service-list{border-top:1px solid var(--line)}.service{padding:24px 0;display:flex;gap:22px;border-bottom:1px solid var(--line)}.service>.icon{width:32px;height:32px;color:var(--green);margin-top:4px}.service h3{font-size:19px;margin-bottom:8px}.service p{font-size:15px;line-height:1.9;color:var(--muted)}.strengths{background:var(--sage)}.split{display:grid;grid-template-columns:1fr 1.06fr;gap:68px;align-items:center}.strength-photo{position:relative;padding-bottom:46px}.strength-photo img{border-radius:8px}.photo-note{font-family:var(--serif);font-size:25px;line-height:1.8;margin:26px 0 0 20px}.strengths h2{font-size:clamp(27px,2.7vw,36px)}.strengths .section-heading{margin-bottom:32px}.strength{display:flex;align-items:flex-start;gap:20px;padding:22px 0;border-top:1px solid #d2dacb}.small-number{font-family:Georgia,serif;color:var(--gold);font-size:24px;line-height:1.5}.strength h3{font-size:19px;margin-bottom:7px}.strength p{font-size:15px;color:var(--muted);line-height:1.9}
.cost-diagram{display:grid;grid-template-columns:1fr 42px 1fr 42px 1.2fr;align-items:center;margin-top:48px}.cost-item{min-height:215px;padding:30px 14px;text-align:center;border:1px solid var(--line);border-radius:8px}.cost-item>.icon{width:38px;height:38px;color:var(--green);margin-bottom:16px}.cost-item h3{font-size:18px}.cost-item p{font-size:13px;color:var(--muted);margin-top:9px}.cost-sign{text-align:center;font-size:26px;color:var(--gold)}.cost-result{background:var(--sage);border-color:#b6c3ab}.fine-print{font-size:13px;text-align:center;margin-top:24px;color:var(--muted)}.flow{background:var(--cream)}.steps{display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:0;list-style:none;gap:24px}.steps li{position:relative;padding-top:21px;border-top:2px solid #bdcbb5}.steps li:before{content:"";width:10px;height:10px;background:var(--green);border-radius:50%;position:absolute;left:0;top:-6px}.step-no{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--green);display:block;margin-bottom:22px}.steps .icon{width:36px;height:36px;color:var(--green);margin-bottom:17px}.steps h3{font-size:18px;margin-bottom:12px}.steps p{font-size:14px;color:var(--muted);line-height:1.9}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:74px}.faq-intro img{border-radius:8px;width:100%;margin-top:32px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:25px 0;font-size:17px;font-weight:700;line-height:1.7}summary::-webkit-details-marker{display:none}.q{font-family:Georgia,serif;font-size:24px;font-weight:400;color:var(--green)}.toggle{width:18px;height:18px;margin-left:auto;position:relative;flex-shrink:0}.toggle:before,.toggle:after{content:"";position:absolute;left:1px;top:8px;width:16px;height:1.5px;background:var(--green)}.toggle:after{transform:rotate(90deg)}details[open] .toggle:after{transform:rotate(0)}.answer{padding:0 30px 25px 36px;font-size:15px;color:var(--muted);line-height:2}
.contact{background:var(--cream);padding:80px 0}.contact-panel{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;background:white;border-radius:8px;overflow:hidden}.contact-copy{padding:48px}.contact-copy h2{font-size:34px;margin-bottom:20px}.contact-copy>p:not(.eyebrow):not(.contact-area){font-size:15px;color:var(--muted)}.contact-area{display:flex;gap:12px;align-items:center;font-size:15px;margin-top:24px}.contact-area>.icon{color:var(--green);width:29px;height:29px}.contact-area small{font-size:12px}.contact-actions{margin-top:25px}.contact-actions>.button{width:100%;gap:24px;font-size:15px}.phone-link{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px;font-size:25px;font-weight:700;letter-spacing:.025em;line-height:1.5}.phone-link>.icon{width:24px;height:24px;color:var(--green)}.phone-link small{display:block;font-size:12px;font-weight:400;letter-spacing:.03em}.contact-photo{height:100%;display:flex;align-items:center;padding:24px 24px 24px 0}.contact-photo img{border-radius:6px;width:100%}footer{padding:48px 0 20px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand .brand-en{font-size:30px}.footer-main p{font-size:12px;color:var(--muted);margin-top:12px}.footer-links{display:flex;gap:35px;font-size:13px}.footer-links a{display:flex;align-items:center;gap:12px}.footer-links .icon{width:17px}.copyright{margin-top:34px;padding-top:20px;border-top:1px solid #eceee8;font-size:10px;letter-spacing:.05em;color:var(--muted)}.mobile-only,.mobile-cta{display:none}
@media(min-width:1600px){.hero-copy{margin-left:90px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header{gap:24px;padding-inline:32px}.header nav{gap:18px;font-size:13px}.hero{min-height:610px;aspect-ratio:auto}.hero-visual img{object-fit:cover;object-position:center}.hero-copy{margin-left:4%;max-width:49%}.hero h1{font-size:38px}.hero-actions{gap:18px}.hero .button{gap:20px;padding-inline:18px}.hero-lead{font-size:13px}.hero-description{font-size:14px}.section{padding:80px 0}.service-layout{gap:38px}.split{gap:40px}.illustration{height:180px}.concern{padding:18px 20px 24px}.faq-layout{gap:40px}.contact-copy{padding:32px}.contact-copy h2{font-size:30px}.contact-copy p br{display:none}.steps{gap:18px}.steps h3{font-size:16px}.cost-item h3{font-size:16px}.cost-item{padding-inline:10px}.intro-strip{gap:30px}}
@media(max-width:820px){html{scroll-padding-top:25px}.header nav{display:none}.header .button{margin-left:auto}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-visual{position:relative;order:2;z-index:0}.hero-visual img{width:100%;height:auto;object-fit:contain}.hero:after{display:none}.hero-copy{max-width:none;margin:0;padding:44px 8% 28px}.hero h1{font-size:42px}.hero h1 br:nth-of-type(1){display:none}.hero h1 span{font-size:.68em}.hero-description{font-size:16px}.hero-description br:last-child{display:none}.hero-lead{font-size:15px}.hero-actions{gap:30px}.hero-copy .eyebrow{margin-bottom:14px}.area-mini{font-size:13px}.intro-strip{font-size:12px;gap:20px;min-height:60px}.section{padding:70px 0}.section-heading{margin-bottom:35px}.concern-grid{grid-template-columns:repeat(2,1fr);gap:20px}.illustration{height:210px}.service-layout{grid-template-columns:1fr;gap:32px}.service-photo{position:static;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:25px}.service-photo figcaption{margin:0;font-size:19px}.service-photo figcaption span{font-size:23px}.service{padding:23px 0}.split{grid-template-columns:1fr;gap:35px}.strength-photo{padding:0;display:grid;grid-template-columns:1fr .7fr;gap:25px;align-items:center}.photo-note{margin:0;font-size:24px}.strengths h2{font-size:34px}.strength-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.strength{gap:12px;flex-direction:column}.strength h3{font-size:18px}.cost-diagram{grid-template-columns:1fr 25px 1fr 25px 1.1fr}.cost-sign{font-size:22px}.cost-item{padding:22px 12px;min-height:230px}.cost-item h3{font-size:15px}.cost-item p{font-size:12px}.steps{display:flex;flex-direction:column;gap:0}.steps li{padding:0 0 30px 100px;border-top:0;border-left:1px solid #bdcbb5;margin-left:16px;min-height:126px}.steps li:last-child{padding-bottom:0;border-color:transparent}.steps li:before{left:-5px;top:8px}.step-no{position:absolute;left:24px;top:3px;font-size:10px}.steps .icon{position:absolute;left:30px;top:32px;width:31px;height:31px}.steps h3{font-size:20px;margin-bottom:7px}.steps p{font-size:15px}.faq-layout{grid-template-columns:1fr;gap:32px}.faq-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}.faq-intro .section-heading{margin-bottom:0}.faq-intro img{margin:0}.contact-panel{grid-template-columns:1fr}.contact-copy{padding:42px}.contact-copy h2{font-size:36px}.contact-copy>p:not(.eyebrow):not(.contact-area){font-size:16px}.contact-photo{padding:0 42px 42px}.contact-actions{display:flex;align-items:center;gap:28px}.contact-actions>.button{width:auto;flex:1}.phone-link{margin:0;flex:1;white-space:nowrap;font-size:23px}.contact-area small{font-size:13px}.footer-links{gap:20px}}
@media(max-width:540px){body{font-size:16px}.container{width:calc(100% - 40px)}.header{min-height:78px;padding:14px 20px;gap:12px}.brand-en{font-size:24px}.brand-ja{font-size:9px}.header .button{font-size:12px;gap:12px;min-height:42px;padding:8px 12px}.header .button .icon{width:17px}.hero-copy{padding:34px 24px 26px}.hero-lead{font-size:12px;line-height:1.9;margin-bottom:14px}.hero .eyebrow{font-size:10px;letter-spacing:.16em}.hero h1{font-size:34px;line-height:1.6}.hero h1 br:nth-of-type(1){display:block}.hero h1 span{font-size:.64em;letter-spacing:0;margin-top:5px}.hero-description{font-size:14px;margin-top:18px;line-height:1.95}.hero-description br:last-child{display:block}.hero-actions{gap:20px;margin-top:22px}.hero .button{font-size:14px;padding:12px 17px;gap:20px;min-height:52px}.text-link{font-size:12px;gap:5px}.text-link .icon{width:14px}.area-mini{font-size:11px;margin-top:15px}.hero-visual img{width:100%}.intro-strip{display:grid;grid-template-columns:auto auto;justify-content:space-around;padding:16px 20px;gap:7px;font-size:11px;letter-spacing:0}.intro-strip i{display:none}.intro-strip span:before{content:"✓";margin-right:8px;color:var(--green)}.section{padding:58px 0}h2{font-size:27px;line-height:1.7;letter-spacing:.01em}.eyebrow{font-size:10px;letter-spacing:.17em;margin-bottom:14px}.section-heading>p:last-child:not(.eyebrow){font-size:14px;margin-top:16px;line-height:1.9}.mobile-only{display:block}.section-heading{margin-bottom:30px}.concern-grid{gap:14px 12px}.concern{padding:10px 12px 18px;border-radius:6px}.illustration{height:137px;margin-bottom:10px}.concern h3{font-size:15px;letter-spacing:0;margin-bottom:8px}.concern p{font-size:12px;line-height:1.85}.reassurance{font-size:18px;line-height:1.8;margin-top:30px}.service-photo{grid-template-columns:1fr;gap:0}.service-photo figcaption{margin:20px 0 0 6px;font-size:17px}.service-photo figcaption span{font-size:23px}.service{gap:16px;padding:22px 0}.service>.icon{width:27px;height:27px}.service h3{font-size:17px;margin-bottom:8px}.service p{font-size:14px}.strength-photo{grid-template-columns:1fr;gap:20px}.photo-note{font-size:21px;margin-left:6px}.photo-note br{display:none}.strengths h2{font-size:27px}.strength-list{grid-template-columns:1fr;gap:0}.strength{flex-direction:row;gap:17px;padding:22px 0}.strength h3{font-size:18px}.strength p{font-size:14px}.small-number{font-size:22px}.cost-diagram{display:flex;flex-direction:column;gap:13px;margin-top:30px}.cost-item{min-height:0;width:100%;padding:24px 18px}.cost-item>.icon{width:32px;height:32px;margin-bottom:10px}.cost-item h3{font-size:18px}.cost-item p{font-size:13px;margin-top:7px}.cost-sign{line-height:1;font-size:23px}.cost-sign:nth-of-type(2){transform:rotate(90deg)}.fine-print{font-size:11px;text-align:left;margin-top:20px}.steps li{padding-left:83px;padding-bottom:30px;margin-left:6px;min-height:135px}.step-no{left:18px;font-size:9px}.steps .icon{left:24px;top:30px;width:29px;height:29px}.steps h3{font-size:18px}.steps p{font-size:14px}.faq-intro{grid-template-columns:1fr;gap:26px}.faq-intro .section-heading>p br{display:none}.faq-intro img{width:100%}summary{gap:12px;font-size:15px;padding:23px 0}.q{font-size:22px}.toggle{width:16px}.answer{padding-left:29px;padding-right:12px;font-size:14px}.contact{padding:44px 0}.contact-copy{padding:30px 22px}.contact-copy h2{font-size:27px}.contact-copy>p:not(.eyebrow):not(.contact-area){font-size:14px}.contact-area{font-size:13px;gap:10px;margin-top:20px}.contact-area small{font-size:11px}.contact-area>.icon{width:25px}.contact-actions{display:block;margin-top:22px}.contact-actions>.button{width:100%;font-size:14px;min-height:54px}.phone-link{font-size:23px;margin-top:22px}.phone-link small{font-size:11px}.contact-photo{padding:0 22px 26px}footer{padding-top:35px;padding-bottom:90px}.footer-main{display:block}.footer-links{margin-top:28px;flex-wrap:wrap;font-size:12px;gap:24px}.copyright{margin-top:28px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;align-items:center;justify-content:center;gap:42px;padding:13px 20px calc(13px + env(safe-area-inset-bottom));min-height:54px;color:#fff;background:var(--green);font-size:14px;font-weight:700;box-shadow:0 -2px 12px #26352516}.mobile-cta .icon{width:20px}}
@media(max-width:360px){.hero-copy{padding-inline:20px}.hero h1{font-size:31px}.hero-description{font-size:12px}.hero-actions{gap:14px}.hero .button{font-size:13px;gap:14px;padding-inline:14px}.text-link{font-size:11px}.illustration{height:116px}.concern{padding:9px 10px 15px}.concern h3{font-size:13px}.concern p{font-size:11px}h2,.strengths h2{font-size:24px}.contact-copy{padding-inline:18px}.contact-copy h2{font-size:24px}.phone-link{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.header nav,.mobile-cta,.header-cta{display:none}.section{padding:40px 0}.service-photo{position:static}details .answer{display:block}.container{width:94%}a{color:inherit}.hero{min-height:500px}footer{padding-bottom:20px}}

@media(max-width:540px){.concern-title-part{display:block;white-space:nowrap}.concern-title-part+.mobile-only{display:none}.concern p{font-size:13px}}
@media(max-width:360px){.concern p{font-size:12px}}

.phrase{display:inline-block}
@media(max-width:540px){.desktop-only{display:none}.photo-note br{display:block}}

.contact-copy .contact-area br{display:block}.contact-area small{display:inline-block;white-space:nowrap}
