*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbfaf7;color:#343a36;font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:1.95;letter-spacing:.035em}a{color:inherit;text-decoration:none}.site-header{height:76px;padding:0 clamp(22px,6vw,84px);display:flex;align-items:center;justify-content:space-between;background:#fbfaf7}.brand{display:flex;flex-direction:column;line-height:1.15}.brand-name{font-family:Georgia,serif;font-size:24px;letter-spacing:.16em;color:#526b69}.brand-sub{font-size:9px;letter-spacing:.12em;color:#858b83;margin-top:6px}.header-link{font-size:12px;color:#536c69;border-bottom:1px solid #aab8ae;padding-bottom:4px}.header-link span{margin-left:10px}.hero{min-height:570px;display:grid;grid-template-columns:1fr 1fr;position:relative;background:#f0eee6}.hero-copy{padding:86px 6vw 92px 10vw;align-self:center;z-index:1}.eyebrow{font-family:Georgia,serif;font-size:11px;letter-spacing:.2em;color:#7d9185;margin:0 0 18px}.hero-kicker{font-size:13px;color:#697a70;margin:0 0 15px}.hero h1,.section h2,.intro h2{font-family:"Shippori Mincho",serif;font-weight:500;letter-spacing:.08em;line-height:1.55}.hero h1{font-size:clamp(32px,4vw,48px);margin:0 0 22px;color:#344640}.hero-lead{font-size:13px;color:#59645d;line-height:2.2}.hero-photo{min-height:570px;background:#d8ddd5}.photo-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;color:#68776e;font-size:12px;letter-spacing:.1em;background:linear-gradient(135deg,#e2e4dc,#cdd8d0)}.hero-note{position:absolute;bottom:25px;left:10vw;font-size:11px;color:#738178}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:52px;padding:0 25px;font-size:12px;letter-spacing:.08em;transition:.2s}.button span{font-size:16px}.button-primary{margin-top:22px;background:#5e7771;color:white}.button-primary:hover{background:#435d57}.section-wrap{width:min(100% - 48px,980px);margin:auto}.intro{text-align:center;padding:100px 20px 106px}.intro h2,.section h2{font-size:clamp(27px,3vw,36px);margin:0 0 22px;color:#3e5149}.intro p:not(.eyebrow){font-size:13px;color:#69716a;line-height:2.2}.section{padding:92px 0}.section-flow{background:#f3f3ed}.section-heading{text-align:center;margin-bottom:48px}.section-heading>p:last-child{font-size:13px;color:#6b746d;line-height:2.1}.steps{max-width:760px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}.step{display:flex;gap:18px;background:#fbfaf7;padding:22px 22px;min-height:132px}.step-no,.cost-no{font-family:Georgia,serif;color:#8ca095;font-size:13px;letter-spacing:.12em}.step h3,.cost-card h3{font-size:15px;font-weight:600;color:#45584f;margin:0 0 7px}.step p,.cost-card p{font-size:12px;line-height:1.95;color:#6e756e;margin:0}.section-cost{background:#fbfaf7}.lead-strong{font-family:"Shippori Mincho",serif;font-size:21px!important;color:#536c63!important;line-height:1.8!important}.cost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:42px}.cost-card{background:#f3f2ec;padding:24px 22px;min-height:210px;position:relative}.cost-no{position:absolute;right:18px;top:14px}.cost-icon{font-family:Georgia,serif;font-size:25px;color:#8ba095;margin:5px 0 12px}.cost-card h3{margin-bottom:10px}.soft-note{max-width:760px;margin:30px auto 0;padding:25px 30px;background:#edf1eb;border-left:3px solid #8ba095}.soft-note p{font-size:12px;color:#657169;margin:0;line-height:2}.soft-note .note-title{font-size:14px;color:#465b51;font-weight:600;margin-bottom:8px}.section-support{background:#e9eee8}.support-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.support-copy h2{margin-bottom:20px}.support-copy>p:not(.eyebrow){font-size:13px;color:#626e65;line-height:2.15}.support-lead{font-family:"Shippori Mincho",serif;font-size:21px!important;color:#52685f!important;line-height:1.8!important}.support-visual{height:390px;background:linear-gradient(135deg,#dce3da,#c4d1c7)}.small-note{font-size:10px!important;color:#7b827b!important;margin-top:12px}.section-contact{background:#5c746c;color:#fff;text-align:center;padding:100px 0}.contact-inner{max-width:720px}.section-contact .eyebrow{color:#d0ddd3}.section-contact h2{color:white;font-size:clamp(28px,3.5vw,39px);margin-bottom:22px}.section-contact p:not(.eyebrow){font-size:13px;line-height:2.2;color:#edf1ed}.contact-lead{font-family:"Shippori Mincho",serif;font-size:19px!important;color:#fff!important}.contact-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.button-light{background:#f5f2eb;color:#4e665e}.button-outline{border:1px solid #d7e0d9;color:white}.contact-phone{font-family:Georgia,serif;font-size:23px!important;letter-spacing:.12em;margin-top:22px}.site-footer{text-align:center;padding:48px 20px 30px;background:#f5f3ed}.brand-footer{align-items:center}.site-footer>p{font-size:11px;color:#778078;margin:16px 0}.footer-links{display:flex;justify-content:center;gap:24px;font-size:10px;color:#68786f;margin:18px 0}.site-footer small{font-size:9px;color:#9a9e97}.mobile-only{display:none}
@media(max-width:700px){body{font-size:14px}.site-header{height:66px;padding:0 20px}.brand-name{font-size:21px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:55px 26px 35px}.hero h1{font-size:34px}.hero-photo{min-height:250px;order:2}.hero-note{position:static;order:3;padding:13px 26px;background:#f0eee6;font-size:10px}.desktop-only{display:none}.mobile-only{display:block}.intro{padding:70px 10px}.section{padding:70px 0}.section-wrap{width:min(100% - 36px,540px)}.steps{grid-template-columns:1fr;gap:9px}.step{min-height:0;padding:18px}.cost-grid{grid-template-columns:1fr 1fr;gap:10px}.cost-card{min-height:0;padding:20px 16px}.cost-card h3{font-size:13px}.cost-card p{font-size:11px}.soft-note{padding:20px}.support-layout{grid-template-columns:1fr;gap:28px}.support-visual{height:230px;order:-1}.section-heading{margin-bottom:35px}.section-contact{padding:75px 0}.contact-actions{flex-direction:column;align-items:stretch}.contact-actions .button{width:100%}}
@media(max-width:390px){.cost-grid{grid-template-columns:1fr}.cost-card{min-height:0}}
