:root{--navy:#102c45;--blue:#163a58;--ink:#163049;--gold:#b7944e;--soft:#f2f5f7;--muted:#526372;--line:#dce3e8;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:white;font:16px/1.9 "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-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 #b58b35;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}h2{font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.65;letter-spacing:.04em}h3{font-size:1.25rem;line-height:1.65}.wrap{width:min(1180px,calc(100% - 100px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:.8rem;letter-spacing:.16em;font-weight:600;margin-bottom:24px;color:#7b6337}.header{padding:19px 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffffff5;position:sticky;top:0;z-index:10;gap:20px}.brand{display:inline-flex;flex-direction:column;line-height:1.25;flex-shrink:0}.brand>span{font-size:.75rem;letter-spacing:.16em}.brand strong{font:600 1.9rem/1.15 Georgia,serif;letter-spacing:-.035em}.brand-dot{color:var(--gold)}nav{display:flex;align-items:center;gap:30px;font-size:.875rem}nav>a:not(.button):hover,.footer a:hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:62px;padding:17px 26px;color:white;background:var(--navy);font-size:1rem;font-weight:600;transition:background .2s,transform .2s}.button span{font-size:1.4rem;font-weight:400;line-height:1}.button:hover{background:#245172;transform:translateY(-2px)}.button.small{min-height:47px;padding:10px 20px;font-size:.875rem;gap:22px}.hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:42px;padding-block:56px 68px;min-height:720px}.hero .eyebrow{letter-spacing:.065em;font-size:.875rem;display:flex;align-items:center;gap:10px}.rule{height:1px;width:25px;background:var(--gold);display:inline-block;flex-shrink:0}h1{font-size:clamp(2.2rem,3.55vw,3.15rem);line-height:1.6;letter-spacing:.035em}h1 em{font-style:normal;color:#98763a}.hero-text{margin:27px 0 29px;color:var(--muted);line-height:2}.micro{font-size:.8rem;color:var(--muted);margin-top:13px}.hero-visual{position:relative;align-self:stretch;min-height:530px;background:var(--navy);overflow:hidden}.hero-image{position:absolute;inset:0;background-position:center;background-size:cover}.hero-visual:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#071b2cd9)}.image-caption{position:absolute;bottom:42px;left:32px;color:white;z-index:1}.image-caption>span{font-size:.75rem;letter-spacing:.16em;color:#e7d4a8}.image-caption p{font-family:"Yu Mincho",serif;font-size:1.7rem;line-height:1.8;margin-top:10px;letter-spacing:.06em}.photo-note{position:absolute;right:15px;bottom:12px;font-size:.75rem;color:#e5e8eb;z-index:1}.promise-strip{border-block:1px solid var(--line);background:var(--soft)}.promises{display:grid;grid-template-columns:repeat(3,1fr);padding-block:26px;gap:20px}.promises p{font-size:.9375rem;font-weight:600}.promises p+ p{border-left:1px solid var(--line);padding-left:26px}.promises span{font:italic 1.15rem Georgia,serif;color:#8c703b;margin-right:14px}.concerns{display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.concern-list>p{padding:20px 0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:25px;font-size:1.05rem}.concern-list>p:first-child{padding-top:2px}.concern-list span{color:#98763a;font:1rem Georgia,serif}.reassure{font-size:.95rem;color:var(--muted);margin-top:25px}.support-area{background:var(--navy);color:white}.support-area .eyebrow{color:#d7bd86}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:45px}.section-head>p{font-size:.9375rem;color:var(--muted)}.support-area .section-head>p{color:#b9c9d5}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.support-grid article{border-top:1px solid #547085;padding-top:24px}.index{font-size:.75rem;letter-spacing:.16em;color:#d7bd86}.support-grid h3{font-family:"Yu Mincho",serif;font-weight:500;font-size:1.7rem;line-height:1.65;margin:18px 0}.support-grid article>p{color:#d5dee6;font-size:.95rem}.support-grid ul{list-style:none;padding:20px 0 0;margin:0;font-size:.875rem}.support-grid li{padding:5px 0}.support-grid li:before{content:"＋";color:#d7bd86;margin-right:10px}.note{color:#bccbd6;font-size:.8rem;margin-top:38px}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.price-card{border:1px solid var(--line);padding:33px 40px;background:#fff}.price-card.featured{background:var(--soft);border-top:3px solid var(--gold);padding-top:31px}.price-kicker{font-size:.875rem;color:var(--muted);margin-bottom:8px}.price-card h3{font-size:1.4rem}.retainer{border-bottom:1px solid var(--line);padding:18px 0 15px;margin-bottom:22px;font-size:.875rem}.retainer strong{font:1.6rem Georgia,serif;margin:0 5px}.price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;line-height:1.5}.price>span{font-size:.95rem}.price strong{font:normal 4.1rem/1.2 Georgia,serif;margin-left:6px}.price b{font-size:1.6rem;font-weight:400}.price small{font-size:.8rem}.price-detail{font-size:.875rem;color:var(--muted);margin-top:15px}.fee-notes{font-size:.8rem;color:var(--muted);margin-top:23px}.flow-area{background:var(--soft)}.flow-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:65px}.flow-layout>div>p:not(.eyebrow){font-size:.9375rem;color:var(--muted);margin-top:25px}.text-link{display:inline-flex;align-items:center;gap:35px;border-bottom:1px solid var(--gold);padding-bottom:8px;margin-top:25px;font-size:.9375rem}.steps{padding:0;margin:0;list-style:none}.steps li{display:grid;grid-template-columns:40px 1fr;gap:20px;border-top:1px solid #cdd7df;padding:28px 0}.steps li>span{font:1.4rem Georgia,serif;color:#907340}.steps h3{font-size:1.1rem;margin-bottom:9px}.steps p{font-size:.9375rem;color:var(--muted)}.faq-section{display:grid;grid-template-columns:1fr 2fr;gap:60px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}summary{padding:24px 32px 24px 0;position:relative;cursor:pointer;list-style:none;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:"＋";position:absolute;right:0;top:24px;color:#8e6b33;font-size:1.1rem}details[open] summary:after{content:"−"}.faq details>p{font-size:.9375rem;color:var(--muted);padding:0 24px 25px 0}.contact-area{background:var(--navy);color:white;padding-block:76px}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-inner .eyebrow{color:#d7bd86}.contact-inner h2{font-size:clamp(1.7rem,2.5vw,2.2rem)}.contact-inner>div>p:not(.eyebrow){color:#c8d6e0;font-size:.9375rem;margin-top:22px}.button.gold{background:#d5bb84;color:#132e44}.button.gold:hover{background:#e8d29f}.contact-action{flex-shrink:0;max-width:100%}.contact-action>p{font-size:.8rem!important}.office{display:grid;grid-template-columns:1fr 1.1fr 1.2fr;gap:40px;padding-block:58px 42px}.footer-brand strong{font-size:2.4rem}.office h3{font-size:.875rem;margin-bottom:10px}.office p{font-size:.875rem;color:var(--muted)}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);padding-block:22px}.mobile-cta{display:none}.skip{position:fixed;top:-100px;left:15px;z-index:99;padding:10px;background:white}.skip:focus{top:10px}section[id]{scroll-margin-top:20px}
@media(min-width:1500px){.hero{min-height:760px}}@media(max-width:1050px){.wrap{width:calc(100% - 64px)}nav{gap:20px}nav>a:not(.button){display:none}.hero{gap:28px;min-height:620px}.hero-visual{min-height:500px}.hero .eyebrow{font-size:.75rem}h1{font-size:2.4rem}.hero-text{font-size:.9375rem}.section{padding-block:75px}.concerns{gap:40px;grid-template-columns:1fr 1.3fr}.promises p{font-size:.8rem}.promises p+p{padding-left:15px}.promises span{margin-right:7px}.section-head{display:block}.section-head>p{margin-top:20px}.support-grid{gap:25px}.price-card{padding-inline:26px}.contact-inner{display:block}.contact-action{margin-top:30px}.office{gap:25px;grid-template-columns:.75fr 1fr 1fr}.faq-section{gap:30px;grid-template-columns:1fr 1.75fr}}
@media(max-width:700px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.header{padding:14px 20px}.brand strong{font-size:1.6rem}.brand>span{font-size:.7rem}.button.small{font-size:.8rem;min-height:44px;padding:10px 13px;gap:12px}.hero{grid-template-columns:1fr;gap:30px;padding-block:35px 32px;min-height:0}.hero .eyebrow{font-size:.75rem;letter-spacing:.02em;margin-bottom:23px;gap:8px}.rule{width:15px}h1{font-size:clamp(1.95rem,6.8vw,2.8rem);letter-spacing:.015em;line-height:1.6}.hero-text{font-size:.9rem;line-height:2;margin:24px 0}.hero .button{width:100%;gap:12px;padding-inline:20px}.micro{text-align:center;font-size:.75rem}.hero-visual{height:340px;min-height:0}.hero-image{background-position:center 60%}.image-caption{left:25px;bottom:27px}.image-caption p{font-size:1.45rem}.promises{display:flex;flex-wrap:wrap;gap:8px 20px;padding-block:20px}.promises p{font-size:.8rem}.promises p+p{border:0;padding:0}.promises span{font-size:1rem}.section{padding-block:60px}.eyebrow{font-size:.75rem;margin-bottom:17px}h2{font-size:1.85rem;line-height:1.6}.concerns,.flow-layout,.faq-section{grid-template-columns:1fr;gap:30px}.concerns h2 br:nth-of-type(2){display:none}.concern-list>p{font-size:.925rem;gap:15px;padding-block:17px}.reassure{font-size:.875rem}.section-head{margin-bottom:30px}.section-head>p{font-size:.875rem}.support-grid{grid-template-columns:1fr;gap:30px}.support-grid h3{font-size:1.45rem;margin:14px 0}.support-grid h3 br{display:none}.support-grid ul{padding-top:12px}.support-grid article>p{font-size:.9375rem}.note{margin-top:30px}.price-grid{grid-template-columns:1fr;gap:18px}.price-card{padding:27px}.price-card.featured{padding-top:25px}.price-card h3{font-size:1.3rem}.price strong{font-size:3.8rem}.price-detail br{display:none}.flow-layout h2 br:nth-of-type(2){display:none}.steps li{padding-block:23px;grid-template-columns:30px 1fr;gap:15px}.steps h3{font-size:1.05rem}.steps p{font-size:.9rem}summary{font-size:.9375rem;padding-block:21px}.faq details>p{font-size:.9rem}.contact-area{padding-block:55px}.contact-inner h2{font-size:1.7rem}.contact-action .button{width:100%;font-size:.9375rem;gap:15px;padding-inline:20px}.contact-action>p{font-size:.75rem!important}.office{grid-template-columns:1fr;gap:25px;padding-block:40px 30px}.footer{padding-bottom:110px;gap:15px;flex-wrap:wrap}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;background:#ffffffed;border-top:1px solid var(--line);z-index:20;padding:10px 20px max(10px,env(safe-area-inset-bottom))}.mobile-cta .button{width:100%;min-height:50px;padding-block:12px;font-size:.9375rem}.footer-brand strong{font-size:2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

img.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}
