:root{--forest:#123f34;--green:#37755a;--off-white:#fbfaf5;--cream:#f0eee2;--blue:#eaf3f5;--yellow:#f4dc83;--charcoal:#25382f;--muted:#53665d;--border:#cdd8cd;--white:#fff;--radius:10px;--wrap:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--off-white);color:var(--charcoal);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,ol,dl,blockquote{margin:0}p+p{margin-top:1rem}h1,h2,h3{color:var(--forest);font-weight:750;line-height:1.5;overflow-wrap:anywhere}h1{font-size:clamp(1.9rem,5vw,3.9rem);letter-spacing:-.035em;line-height:1.4}h2{font-size:clamp(1.5rem,3.3vw,2.65rem);letter-spacing:-.03em;margin-bottom:1.6rem}h3{font-size:1.12rem;line-height:1.7}a{color:inherit;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--green);outline-offset:5px}img{display:block;max-width:100%;height:auto}strong{font-weight:750}[hidden]{display:none!important}::selection{background:var(--yellow);color:var(--forest)}.wrap{width:min(var(--wrap),calc(100% - 40px));margin-inline:auto}.narrow{max-width:920px}.section{padding-block:64px;scroll-margin-top:20px}.cream{background:var(--cream)}.blue{background:var(--blue)}.eyebrow{font-size:.875rem;font-weight:750;letter-spacing:.12em;color:var(--green);line-height:1.6;margin-bottom:1.1rem}.lead{font-size:1.08rem;font-weight:700;color:var(--forest)}.micro{font-size:.875rem;color:var(--muted);line-height:1.8;margin-top:1rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;min-height:56px;padding:16px 22px;background:var(--forest);color:var(--white);border:1px solid transparent;border-radius:6px;text-decoration:none;font-size:1rem;font-weight:700;line-height:1.6;text-align:center;max-width:100%;transition:background .18s,transform .18s}.button span{flex-shrink:0;font-size:1.25rem}.center{text-align:center}.center .button{margin-top:1.5rem}.closing{font-size:clamp(1.1rem,2vw,1.45rem);font-weight:750;color:var(--forest);text-align:center;margin-top:2.5rem;line-height:1.9}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(var(--wrap),calc(100% - 40px));margin:auto;padding:22px 0;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:1.05rem;font-weight:750;line-height:1.2;color:var(--forest)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--forest);border-radius:5px;font-size:1rem}.brand-sub{display:block;font-size:.75rem;letter-spacing:.24em;margin-top:5px}.site-header nav{display:none;gap:28px;font-size:.875rem}.site-header nav a{text-decoration:none;padding-block:10px}.hero{padding-top:44px;padding-bottom:0}.hero-proposition{font-weight:700;color:var(--forest);font-size:1rem;margin-top:1.5rem}.hero-copy>.button{margin-top:1.8rem;width:100%}.hero-copy>p{max-width:38rem}.hero-visual{margin-top:32px}.asset-placeholder{position:relative;display:flex;flex-direction:column;justify-content:space-between;background:#dde9e3;border:1px solid #c0d2c9;color:var(--forest);padding:26px;border-radius:var(--radius)}.asset-placeholder .eyebrow{margin:0}.hero-photo{min-height:310px;background:linear-gradient(135deg,#d8e8e8,#e7ede2)}.visual-word{font-size:clamp(2.3rem,5vw,4rem);font-weight:750;line-height:1.2;letter-spacing:-.04em}.asset-note{font-size:.875rem;color:var(--muted)}.journey-caption{padding:18px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border);font-size:1rem}.hero-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:36px;padding-block:20px;font-size:.75rem;letter-spacing:.09em;color:var(--green);border-top:1px solid var(--border)}.hero-footer a{text-decoration:none}.concerns{display:grid;gap:14px;margin-top:30px}.concerns article{padding:24px;background:var(--off-white);border:1px solid #dedfd1;border-radius:var(--radius)}.number{font-size:.875rem;color:var(--green);font-weight:700;letter-spacing:.1em}.concerns h3{margin:8px 0}.concerns p{color:var(--muted)}.split{display:grid;gap:28px}.solution-grid{margin-top:32px}.solution-grid article{padding:28px 24px;border-top:2px solid var(--green);background:#f0f4ee}.solution-grid article+article{background:var(--blue);border-color:#497d88}.solution-grid h3{margin-bottom:20px}.editorial-label{font-size:1.55rem;font-weight:750;letter-spacing:-.04em;color:var(--green);margin-bottom:18px}.inline-flow{list-style:none;display:flex;flex-direction:column;margin-top:32px;padding:0;gap:16px;color:var(--forest);font-weight:700}.inline-flow li{display:flex;align-items:center;gap:20px}.inline-flow li:not(:last-child)::after{content:'↓';margin-left:auto;color:var(--green)}.steps-section{background:#e9eee5}.roadmap{list-style:none;padding:0;margin-top:32px}.roadmap>li{position:relative;display:grid;gap:20px;padding:28px 0;border-top:1px solid #bdcebc}.step-heading{display:flex;align-items:baseline;gap:16px;color:var(--green)}.step-heading span{font-size:1rem}.step-heading strong{font-size:2.1rem;line-height:1.2;letter-spacing:-.04em}.roadmap h3{margin-bottom:12px}.decision-factors{display:grid;gap:12px;margin:32px 0 0}.decision-factors>div{display:grid;grid-template-columns:65px 1fr;gap:16px;border:1px solid var(--border);padding:18px;border-radius:6px;background:var(--white)}dt{font-weight:750;color:var(--forest)}dd{margin:0;color:var(--muted)}.decision-result{text-align:center;padding:24px 0;margin-bottom:16px;border-bottom:1px solid var(--border)}.decision-result>span{font-size:2.2rem;color:var(--green)}.decision-result p{font-size:.875rem;color:var(--green);margin:8px 0}.decision-result h3{font-size:1.25rem}.materials-layout{display:grid;gap:32px;margin-top:36px}.material-preview{background:var(--off-white);border-radius:2px;box-shadow:8px 8px 0 #d4e2e5;min-height:320px;max-width:420px;width:100%;padding:30px}.material-preview strong{font-size:2.6rem;line-height:1.25;letter-spacing:-.04em}.materials-list>div{padding:16px 0;border-bottom:1px solid #c4d6d9}.materials-list>div:first-child{padding-top:0}.materials-list dt{margin-bottom:5px}.material-closing{margin-top:40px}.story-layout{display:grid;gap:32px;margin-top:36px}.profile{border-top:2px solid var(--green);padding-top:20px}.signature{font-size:3rem;letter-spacing:-.06em;color:var(--forest);font-weight:750}.profile-facts{list-style:none;padding:0;margin-top:20px}.profile-facts li{padding:13px 0;border-bottom:1px solid #d7d8cb;font-size:.9375rem}.story{max-width:650px}.story p{margin-bottom:20px}.story strong{color:var(--forest)}.story blockquote{border-left:3px solid var(--green);padding:8px 0 8px 22px;margin:38px 0;font-size:1.35rem;font-weight:750;color:var(--forest)}.story-signature{font-size:1.8rem;color:var(--forest)}.program{background:var(--forest);color:#f4f5ed}.program h2,.program h3{color:var(--off-white)}.program .eyebrow{color:#c1d7bd}.program-duration{font-size:clamp(1.25rem,3vw,2.1rem);font-weight:750}.program-duration>span:not(.highlight){color:#b6cdb9;margin-inline:5px}.highlight{color:var(--yellow)}.phases{display:grid;gap:0;margin:32px 0 40px;border-top:1px solid #5a7769}.phases article{padding:24px 0;border-bottom:1px solid #5a7769}.phases article>span{color:#c1d7bd;font-weight:700;font-size:.875rem;letter-spacing:.08em}.phases h3{margin:8px 0 12px}.phases p{font-size:.9375rem;color:#e0e7df}.program-details{display:grid;gap:32px}.included{list-style:none;margin-top:22px;padding:0}.included li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #426658}.included li::before{content:'✓';color:#c1d7bd}.price-box{background:var(--off-white);color:var(--charcoal);padding:26px 22px;border-radius:var(--radius)}.price-box .eyebrow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--forest)}.badge{padding:5px 12px;background:var(--yellow);color:var(--forest);border-radius:3px;white-space:nowrap;font-size:.875rem}.regular-price{font-size:.9375rem;color:var(--muted);margin-top:22px}.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:8px 0 26px!important}.price strong{font-size:clamp(2.65rem,6vw,4rem);line-height:1.2;letter-spacing:-.055em;color:var(--forest);box-shadow:inset 0 -.32em var(--yellow)}.price span{font-size:.9375rem;color:var(--forest)}.price-box .button{width:100%;margin-top:24px;font-size:.9375rem}.price-box .micro{font-size:.875rem}.support-intro{margin-top:32px}.support-intro h3{margin-bottom:14px}.city-grid{display:grid;gap:18px;margin-top:32px}.city{min-height:260px;background:#e3ece8}.city:nth-child(2){background:var(--blue);border-color:#c5d6d9}.city strong{font-size:clamp(2.5rem,5vw,4rem);line-height:1.2;letter-spacing:-.045em}.user-flow{display:grid;gap:26px;margin-top:32px}.user-flow h3{font-size:.875rem;letter-spacing:.1em;padding-bottom:15px;border-bottom:2px solid var(--green)}.user-flow ol{list-style:none;padding:0;margin-top:12px}.user-flow li{display:flex;align-items:center;gap:14px;padding:14px 0;font-weight:700;color:var(--forest)}.user-flow li span{font-weight:500;color:var(--green);font-size:.875rem}.departure{margin:0!important;color:var(--green);font-weight:800;font-size:1.2rem;letter-spacing:.08em;border-block:1px dashed #a4beb8;padding:24px;text-align:center;line-height:1.4}.departure span{font-size:1.5rem}.ninety-days{margin-top:40px;padding-top:26px;border-top:1px solid #bfd2d3}.ninety-days mark{background:var(--yellow);color:var(--forest);padding:3px 6px}.ninety-days ol{list-style:none;padding:0;display:grid;gap:22px}.ninety-days li{padding-left:20px;border-left:2px solid var(--green)}.ninety-days li>span{font-size:.875rem;color:var(--green);font-weight:700}.ninety-days h3{font-size:1.65rem}.ninety-days li p{font-size:.9375rem}.faq-list{margin-top:32px;border-top:1px solid var(--border)}.faq-item{border-bottom:1px solid var(--border)}.faq-item h3{font-size:1rem}.faq-item button{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;text-align:left;background:transparent;border:0;padding:22px 4px;color:var(--forest);font-weight:700;cursor:pointer;line-height:1.8}.faq-item button span{font-size:1.5rem;flex:0 0 28px;text-align:center;font-weight:400}.faq-answer{padding:0 36px 24px 4px;color:var(--muted)}.boundaries{margin-top:28px;padding:24px;background:var(--cream);border-radius:6px;font-size:.9375rem}.boundaries h3{margin-bottom:12px;font-size:1rem}.final-cta{background:#e7eee5;text-align:center}.final-cta h2{font-size:clamp(1.7rem,3.5vw,2.8rem)}.final-cta>.wrap>p{line-height:2}.final-promise{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:750;color:var(--forest);margin-top:36px!important;line-height:1.7!important}.final-cta .button{margin-top:26px}.site-footer{display:flex;flex-direction:column;gap:18px;padding-block:32px 112px;font-size:.875rem}.mobile-cta{position:fixed;z-index:10;bottom:0;left:0;right:0;padding:10px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:rgba(251,250,245,.97)}.mobile-cta .button{width:100%;min-height:48px;padding:12px 18px;font-size:.9375rem}.skip-link{position:fixed;top:8px;left:10px;transform:translateY(-160%);z-index:30;background:var(--forest);color:var(--white);padding:12px}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.program a:focus-visible{outline-color:var(--yellow)}
@media(hover:hover){.button:hover{background:#245942;transform:translateY(-1px)}.site-header nav a:hover{text-decoration:underline}.faq-item button:hover{background:#f0f4ed}}
@media(min-width:700px){.wrap,.site-header{width:min(var(--wrap),calc(100% - 64px))}.section{padding-block:88px}.hero{padding-top:60px;padding-bottom:0}.mobile-break{display:none}.site-header nav{display:flex}.concerns,.split,.city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.concerns{gap:20px}.inline-flow{flex-direction:row;justify-content:space-between;gap:22px}.inline-flow li{gap:16px}.inline-flow li:not(:last-child)::after{content:'→'}.roadmap>li{grid-template-columns:240px 1fr;gap:32px;padding:30px 0}.decision-factors{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.decision-factors>div{display:block;padding:20px 16px}.decision-factors dt{font-size:1.3rem;margin-bottom:14px}.decision-factors dd{font-size:.9375rem}.materials-layout{grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.material-preview{min-height:420px}.story-layout{grid-template-columns:.8fr 1.3fr;gap:60px}.profile{align-self:start;position:sticky;top:28px}.phases{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.price-box{padding:36px}.ninety-days ol{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-cta{display:none}.site-footer{padding-block:36px;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.site-footer p{margin:0}.hero-copy>.button{width:auto}.final-cta{padding-block:100px}}
@media(min-width:1000px){.section{padding-block:104px}.hero{padding-top:65px;padding-bottom:0}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:52px}.hero-visual{margin:0;align-self:stretch}.hero-photo{height:calc(100% - 68px);min-height:510px}.hero-copy h1{font-size:3.3rem}.hero-footer{margin-top:56px}.solution-grid article{padding:36px}.roadmap>li{grid-template-columns:350px 1fr}.step-heading strong{font-size:2.8rem}.phases{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.program-details{grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.user-flow{grid-template-columns:1fr 180px 1fr;gap:36px;align-items:center}.departure{border-block:0;border-inline:1px dashed #a4beb8;padding:24px 14px}.city{min-height:320px}.final-cta{padding-block:110px}}
body{overflow-wrap:anywhere}.hero-grid>*,.split>*,.materials-layout>*,.story-layout>*,.program-details>*,.user-flow>*,.decision-factors>div>*{min-width:0}.price strong{font-size:clamp(2rem,10vw,4rem)}.step-heading strong{overflow-wrap:anywhere;min-width:0}.journey-caption{flex-wrap:wrap}.hero h1 .mobile-break{display:inline}.visual-word{font-size:clamp(2rem,4vw,3.5rem)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
