
:root{--navy:#102f3d;--teal:#087f83;--ink:#1a3540;--muted:#596f76;--line:#dbe5e3;--mint:#eaf4f1;--cream:#faf7f0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font:16px/1.95 'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;background:white}a{color:inherit}img{display:block;max-width:100%;height:auto}button{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.6;letter-spacing:-.04em}h1{font-size:clamp(34px,4.0vw,50px);font-weight:800;line-height:1.55}h2{font-size:clamp(27px,3vw,39px)}h3{font-size:21px}p+p{margin-top:18px}.wrap{width:min(1140px,calc(100% - 64px));margin:auto}.site-head{position:sticky;top:0;z-index:30;background:#fffffff5;border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;gap:28px}.brand{font:700 25px/1.2 Georgia,serif;text-decoration:none;letter-spacing:-.06em;white-space:nowrap}.brand span{color:var(--teal)}.navlinks{display:flex;gap:25px;margin-left:auto;align-items:center}.navlinks a{font-size:13px;text-decoration:none;font-weight:700}.navlinks a:hover,.text-link:hover{color:var(--teal)}.navlinks .navcta{background:var(--navy);color:white;padding:11px 17px;border-radius:4px}.menu{display:none;background:white;border:1px solid var(--line);padding:8px 12px;color:var(--navy)}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:15px;z-index:40}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--teal);margin-bottom:18px}.hero{background:linear-gradient(110deg,var(--cream),#fff 75%);padding:72px 0 76px}.hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:64px;align-items:center}.hero h1 em{font-style:normal;color:var(--teal)}.hero .intro{max-width:650px;margin-top:24px;color:var(--muted);font-size:16px}.hero .intro strong{color:var(--ink);font-weight:500}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:54px;padding:14px 23px;background:var(--teal);color:white;border:1px solid var(--teal);border-radius:4px;text-decoration:none;line-height:1.6;font-size:14px;font-weight:700}.btn:hover{background:#05696c}.btn.secondary{background:white;color:var(--navy);border-color:#c2d4d1}.btn.secondary:hover{background:var(--mint)}.note{font-size:12px;line-height:1.85;color:var(--muted);margin-top:14px}.hero figure{margin:0;position:relative}.hero-photo{width:100%;aspect-ratio:4/4.8;object-fit:cover;object-position:center 25%;border-radius:3px}.photo-caption{background:var(--navy);color:white;padding:17px 22px;font-size:12px}.photo-caption strong{font-size:20px;display:block;font-weight:500;letter-spacing:.05em}.signal{border-bottom:1px solid var(--line)}.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:30px 0}.signal-grid p{font-size:14px;margin:0;padding-left:19px;border-left:2px solid #a6d3c6}.section{padding:88px 0}.section.pale{background:var(--mint)}.section.cream{background:var(--cream)}.section-intro{color:var(--muted);max-width:760px;margin-top:20px}.case-layout{display:grid;grid-template-columns:1fr 1.13fr;gap:70px;margin-top:40px}.case-story{padding:28px 0;border-top:2px solid var(--teal)}.case-story .label{font-size:12px;color:var(--teal);font-weight:700;margin-bottom:12px}.case-story h3{margin-bottom:18px}.case-story p{font-size:15px}.case-proof{padding:30px 34px;background:#f6f9f7}.stat-row{padding:20px 0;border-bottom:1px solid #cbded7;display:flex;align-items:center;justify-content:space-between;gap:24px}.stat-row span{font-size:14px}.stat-row strong{font-size:30px;color:var(--teal);white-space:nowrap}.text-link{display:inline-block;margin-top:24px;font-size:14px;font-weight:700;text-underline-offset:6px}.approach-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.example{background:white;padding:32px;border-left:3px solid var(--teal)}.example h3{margin:9px 0 19px}.example-step{padding:16px 0;border-top:1px solid var(--line)}.example-step small{display:block;color:var(--teal);font-weight:700;font-size:12px}.example-step p{font-size:15px}.practice{margin-top:30px;font-size:15px}.service-row{display:grid;grid-template-columns:48px 1fr 1.25fr;gap:25px;border-top:1px solid var(--line);padding:28px 0;align-items:start}.services{margin-top:35px;border-bottom:1px solid var(--line)}.service-num{font:24px/1.8 Georgia,serif;color:var(--teal)}.service-row p{font-size:14px;color:var(--muted)}.service-row h3{font-size:20px}.partner-block{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.partner-list{margin:0;padding:0;list-style:none}.partner-list li{padding:18px 0;border-top:1px solid #d6dcd5}.partner-list strong{display:block;font-size:16px}.partner-list p{font-size:14px;color:var(--muted);margin:6px 0 0}.profile{display:grid;grid-template-columns:180px 1fr;gap:36px;align-items:start;max-width:890px;margin:auto}.profile img{width:180px;aspect-ratio:4/5;object-fit:cover;object-position:top}.profile h2{font-size:30px}.profile p{font-size:15px}.contact-panel{background:var(--navy);color:white}.contact-panel .eyebrow{color:#a6d3c6}.contact-panel p{color:#d2e1e1}.contact-panel .btn{background:#a6d3c6;color:var(--navy);border-color:#a6d3c6}.contact-panel .btn.secondary{background:transparent;color:white;border-color:#74918f}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.steps{list-style:none;margin:0;padding:0}.steps li{padding:13px 0;border-top:1px solid #45616a;font-size:14px}.steps span{color:#a6d3c6;margin-right:15px;font-family:Georgia,serif}.personal-entry{padding:30px 0;background:#f4f7f6}.personal-entry .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.personal-entry p{font-size:14px}.personal-entry a{font-size:14px;font-weight:700;white-space:nowrap}.footer{padding:40px 0}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:start}.footer nav{display:flex;flex-wrap:wrap;gap:20px;font-size:12px}.footer small{display:block;margin-top:25px;color:var(--muted);font-size:11px}.subhero{padding:65px 0;background:var(--cream)}.subhero h1{font-size:clamp(31px,4vw,46px);max-width:850px}.subhero p{max-width:760px;margin-top:20px}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.route{border:1px solid var(--line);padding:30px}.route h2{font-size:26px}.route p{margin-top:16px;font-size:15px}.route small{display:block;margin-top:18px;color:var(--muted)}.wide-copy{max-width:800px}.faq{margin-top:35px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{font-size:15px;color:var(--muted);padding-top:15px}.flow-list{counter-reset:step;margin:30px 0 0;padding:0;list-style:none}.flow-list li{display:grid;grid-template-columns:50px 1fr;gap:22px;padding:25px 0;border-top:1px solid var(--line)}.flow-list li:before{counter-increment:step;content:'0' counter(step);font:28px/1.5 Georgia,serif;color:var(--teal)}.flow-list p{font-size:15px;margin-top:8px}.mail-address{overflow-wrap:anywhere}.bar{position:fixed;bottom:0;left:0;right:0;z-index:25;padding:10px 16px;background:#fffffff5;border-top:1px solid var(--line);display:none}.bar a{width:100%;min-height:46px}.bar[hidden]{display:none!important}:focus-visible{outline:3px solid #c2a16e;outline-offset:4px}@media(max-width:950px){.navlinks{gap:15px}.navlinks a{font-size:12px}.hero-grid{gap:32px;grid-template-columns:1.4fr 1fr}.hero{padding-top:50px}.case-layout,.approach-grid,.partner-block,.contact-grid{gap:35px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav{min-height:68px;justify-content:space-between;flex-wrap:wrap;gap:0}.brand{font-size:23px}.menu{display:block}.navlinks{display:none;width:100%;margin:0;padding:12px 0 20px;flex-direction:column;align-items:stretch;gap:0}.navlinks.open{display:flex}.navlinks a{padding:12px 0;font-size:14px}.navlinks .navcta{padding:12px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero{padding:42px 0}.hero h1{font-size:clamp(30px,7.7vw,47px)}.hero .intro{font-size:15px;margin-top:20px}.hero figure{max-width:390px;width:100%;margin:auto}.hero-photo{aspect-ratio:1.35;object-position:center 28%}.photo-caption{padding:12px 18px}.photo-caption strong{font-size:18px}.signal-grid{grid-template-columns:1fr;gap:18px;padding:24px 0}.section{padding:56px 0}.case-layout,.approach-grid,.partner-block,.contact-grid,.route-grid{grid-template-columns:1fr;gap:30px}.case-layout{margin-top:28px}.case-proof{padding:22px}.stat-row strong{font-size:27px}.service-row{grid-template-columns:30px 1fr;gap:12px}.service-row>p{grid-column:2}.service-row h3{font-size:19px}.profile{grid-template-columns:90px 1fr;gap:20px}.profile img{width:90px}.profile h2{font-size:25px}.profile .profile-copy{grid-column:1/-1}.personal-entry .wrap,.footer-grid{display:block}.personal-entry a{display:inline-block;margin-top:16px;white-space:normal}.footer nav{margin-top:22px;gap:14px}.footer{padding-bottom:90px}.actions{gap:10px;margin-top:24px}.actions .btn{width:100%}.bar{display:block}.subhero{padding:42px 0}.route{padding:24px}.eyebrow{font-size:11px}.note{font-size:12px}.flow-list li{grid-template-columns:32px 1fr;gap:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:360px){.site-head .brand{font-size:19px}.site-head .menu{font-size:12px;padding:8px}.stat-row{gap:10px}.stat-row strong{font-size:25px}}
.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;list-style:none;border:1px solid #dbe5e3;padding:8px 12px;font-size:12px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;left:0;right:0;top:100%;padding:15px 22px 22px;background:white;border-bottom:1px solid #dbe5e3;box-shadow:0 12px 24px #102f3d12}.mobile-nav nav a{display:block;padding:12px 0;text-decoration:none;font-size:14px;font-weight:700}.mobile-nav nav .navcta{color:#087f83}@media(max-width:1000px){.site-head .nav{position:relative;min-height:68px;justify-content:space-between;gap:8px;flex-wrap:nowrap}.site-head .navlinks{display:none!important}.site-head .mobile-nav{display:block}}@media(max-width:360px){.site-head .brand{font-size:19px}.mobile-nav summary{padding:8px}}