:root{--ink:#16364c;--blue:#155c89;--navy:#123e62;--gold:#a48652;--mist:#f1f6f8;--line:#d9e3e8;--muted:#536a78;--serif:'Shippori Mincho',serif;--sans:'Noto Sans JP',sans-serif;--latin:'Cormorant Garamond',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:white;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:2;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.75;letter-spacing:.06em}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #ba8c36;outline-offset:5px}img{display:block;width:100%;height:auto}ul,ol{list-style:none;margin:0;padding:0}::selection{background:#dbeaf4}.section-wrap{max-width:1240px;margin:auto;padding:100px 60px}.ornament{display:flex;align-items:center;gap:13px;color:var(--gold);height:22px;margin-bottom:26px}.ornament span{font-size:14px;line-height:1}.ornament i{width:35px;height:1px;background:currentColor;opacity:.65}
.button{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;min-height:68px;max-width:420px;background:var(--navy);color:white;font-size:1rem;line-height:1.7;box-shadow:0 9px 25px #143d6412;transition:background .2s,transform .2s}.button:hover{background:#1b608b;transform:translateY(-2px)}.button-arrow{flex:0 0 30px;height:25px;border-left:1px solid #ffffff60;position:relative}.button-arrow:before{content:'';position:absolute;width:12px;height:12px;right:0;top:4px;border-right:1px solid white;border-top:1px solid white}.button-arrow:after{content:'';position:absolute;height:1px;width:17px;background:white;right:-2px;top:10px;transform:rotate(-45deg)}
.hero{max-width:1600px;margin:auto}.hero-top{display:grid;grid-template-columns:49% 51%;padding:24px 24px 0 0;min-height:650px}.hero-heading{padding:50px 8% 45px 9%;align-self:center}.hero-promise{display:block;font-size:clamp(1.1rem,1.6vw,1.5rem);line-height:1.9;letter-spacing:.09em;margin-bottom:29px}.hero h1 strong{display:block;font-weight:400;font-size:clamp(2.4rem,3.6vw,3.6rem);line-height:1.6;letter-spacing:.09em;margin-bottom:5px}.hero h1 em{display:flex;flex-direction:column;font-style:normal;color:var(--blue)}.hero-course{font-size:clamp(3rem,4.8vw,4.7rem);line-height:1.5;letter-spacing:.075em}.hero-days{font-family:var(--latin);font-size:clamp(4.5rem,6.3vw,6.4rem);font-weight:400;line-height:1.05;letter-spacing:.015em;margin:5px 0 6px}.hero-mail{font-size:clamp(1.5rem,2.3vw,2.2rem);line-height:1.7;letter-spacing:.16em}.hero-visual{position:relative;overflow:hidden;min-width:0}.hero-visual:after{content:'';position:absolute;inset:18px;border:1px solid #ffffff65;pointer-events:none}.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:69% 50%}.hero-lead{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:75px;padding-bottom:85px;align-items:center}.hero-intro{font-size:1rem;line-height:2;color:var(--muted)}.hero-followup{border-left:1px solid var(--line);padding-left:42px}.hero-followup p{font-family:var(--serif);font-size:clamp(1.4rem,2vw,1.85rem);line-height:2;letter-spacing:.04em}.hero-followup .button{margin-top:35px}
.concerns{background:var(--mist)}.section-heading{text-align:center}.section-heading .ornament{justify-content:center;margin-bottom:18px}.concern-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0 36px;margin-top:48px}.concern-list li{font-size:1rem;line-height:2;border-top:1px solid #c8d8e2;padding:25px 0 25px 19px;position:relative}.concern-list li:before{content:'';position:absolute;left:0;top:38px;width:5px;height:5px;border:1px solid var(--gold);transform:rotate(45deg)}
.turning{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;padding-top:120px;padding-bottom:120px;align-items:center}.turning-copy>p{font-size:1rem;line-height:2.15;color:var(--muted)}.turning-copy .turning-intro{color:var(--ink)}.turning-copy .turning-question{font-family:var(--serif);font-size:clamp(1.8rem,2.75vw,2.6rem);line-height:1.85;letter-spacing:.03em;color:var(--blue);margin-top:32px}.turning-rule{width:48px;height:1px;background:var(--gold);margin:32px 0}.turning-copy>p+p:not(.turning-question){margin-top:25px}.story-photo img{aspect-ratio:4/5.3;object-fit:cover;object-position:50% 27%;border-radius:240px 240px 0 0}
.lessons{background:var(--navy);color:white}.lessons-inner{display:grid;grid-template-columns:.88fr 1.12fr;gap:70px;padding-top:85px;padding-bottom:90px}.lessons .ornament{color:#c9b68c}.lessons-intro h2{font-size:2.5rem;line-height:1.8}.lessons-intro h2 span{font-family:var(--sans);font-size:1rem;line-height:1.8;letter-spacing:0;display:inline-block}.lessons-intro>img{aspect-ratio:1.1;object-fit:cover;margin-top:36px}.lesson-list{border-top:1px solid #ffffff3b;align-self:center}.lesson-list li{font-family:var(--serif);font-size:1.2rem;line-height:1.95;letter-spacing:.025em;padding:27px 0 27px 22px;border-bottom:1px solid #ffffff3b;position:relative}.lesson-list li:before{content:'';position:absolute;width:5px;height:5px;border:1px solid #c9b68c;left:0;top:44px;transform:rotate(45deg)}
.gift{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;padding-top:115px;padding-bottom:120px;align-items:center}.gift-copy h3{font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.8;color:var(--blue);margin:20px 0 26px}.benefit-body{font-size:1rem;line-height:2;color:var(--muted)}.benefit-body .gift-point{border-bottom:1px solid var(--line);padding:12px 0;color:var(--ink)}.gift-point+p:not(.gift-point){margin-top:15px}.benefit-body .gift-closing{margin-top:23px}.gift-copy .button{margin-top:30px}.gift-visual{padding:0 12px}.gift-visual img{transform:rotate(3deg);box-shadow:20px 20px 0 var(--mist)}
.site-footer{background:var(--mist);padding:50px 24px 24px}.footer-cta .button{margin:auto}.footer-meta{display:flex;flex-direction:column;align-items:center;gap:5px;margin-top:30px}.footer-meta img{width:70px;height:70px;object-fit:contain;mix-blend-mode:multiply}.footer-meta p{font-size:.75rem;color:var(--muted);line-height:1.8}
@media(max-width:1100px){.section-wrap{padding-left:42px;padding-right:42px}.hero-top{min-height:600px}.hero-heading{padding-right:6%}.hero-promise{font-size:1.2rem}.hero-lead{gap:45px}.hero-followup{padding-left:30px}.button{padding:18px;gap:13px}.button-arrow{flex-basis:25px}.concern-list{gap:0 25px}.turning{gap:50px}.turning-copy .turning-question{font-size:2.05rem}.lessons-inner{gap:45px}.lesson-list li{font-size:1.1rem}.gift{gap:55px}.gift-copy h3{font-size:1.5rem}}
@media(max-width:820px){.section-wrap{padding:75px 30px}.hero-top{min-height:545px;padding:16px 16px 0 0;grid-template-columns:51% 49%}.hero-heading{padding:35px 5% 35px 8%}.hero-promise{font-size:1.05rem;letter-spacing:.06em}.hero h1 strong{font-size:2.25rem}.hero-course{font-size:2.9rem}.hero-days{font-size:4.6rem}.hero-mail{font-size:1.6rem}.hero-lead{gap:30px}.hero-followup{padding-left:24px}.hero-followup p{font-size:1.35rem;letter-spacing:0}.hero-followup .button{padding:17px 14px;gap:10px}.hero-followup .button-arrow{flex-basis:19px;border-left:0}.concern-list{grid-template-columns:1fr 1fr;gap:0 30px}.concern-list li:last-child{grid-column:1/-1;border-bottom:1px solid #c8d8e2}.turning{gap:38px}.turning-copy .turning-question{font-size:1.75rem;letter-spacing:0}.lessons-inner{gap:33px;grid-template-columns:.8fr 1.2fr}.lessons-intro h2{font-size:2.2rem}.lesson-list li{padding:22px 0 22px 17px;font-size:1.05rem;letter-spacing:0}.lesson-list li:before{top:37px}.gift{gap:38px;grid-template-columns:1.2fr .8fr}.gift-copy h3{font-size:1.25rem}.gift-visual{padding:0 8px}.gift-copy .button{padding:17px 14px}.gift-copy .button-arrow{border:0;flex-basis:18px}}
@media(max-width:600px){.section-wrap{padding:62px 25px}.hero-top{display:flex;flex-direction:column;padding:0;min-height:0}.hero-heading{align-self:stretch;padding:33px 30px 35px}.hero-heading .ornament{margin-bottom:22px}.hero-promise{font-size:1.075rem;line-height:1.9;letter-spacing:.07em;margin-bottom:25px}.hero h1 strong{font-size:2.1rem;letter-spacing:.08em;line-height:1.7;margin-bottom:4px}.hero-course{font-size:2.8rem;line-height:1.55;letter-spacing:.07em}.hero-days{font-size:4.8rem;line-height:1.05;margin:3px 0 9px}.hero-mail{font-size:1.6rem;line-height:1.7;letter-spacing:.12em}.hero-visual{height:355px;margin:0 16px}.hero-visual img{object-position:64% 50%}.hero-visual:after{inset:13px}.hero-lead{display:block;padding-top:44px;padding-bottom:60px}.hero-intro{line-height:2.1}.hero-followup{border-left:0;border-top:1px solid var(--line);padding:30px 0 0;margin-top:32px}.hero-followup p{font-size:1.45rem;line-height:1.95;letter-spacing:.025em}.hero-followup .button{margin-top:27px;padding:18px;gap:15px}.button{max-width:none;font-size:1rem;line-height:1.8;padding:18px}.button-arrow{flex-basis:23px;max-width:23px}.section-heading h2{font-size:1.85rem;letter-spacing:.05em}.section-heading .ornament{margin-bottom:16px}.concern-list{grid-template-columns:1fr;margin-top:33px;gap:0}.concern-list li{padding:22px 0 22px 18px}.concern-list li:before{top:36px}.concern-list li:last-child{grid-column:auto}.turning{display:flex;flex-direction:column;gap:43px;padding-top:65px;padding-bottom:80px}.turning-copy{width:100%}.turning-copy>p{line-height:2.1}.turning-copy .turning-question{font-size:1.7rem;letter-spacing:.025em;line-height:1.9;margin-top:27px}.turning-rule{margin:28px 0}.story-photo{width:calc(100% - 28px);align-self:flex-start;margin-left:3px}.story-photo img{aspect-ratio:4/5;border-radius:180px 180px 0 0}.lessons-inner{display:block;padding-top:62px;padding-bottom:65px}.lessons-intro .ornament{margin-bottom:16px}.lessons-intro h2{font-size:2.2rem;line-height:1.65}.lessons-intro h2 span{line-height:1.9}.lessons-intro>img{aspect-ratio:1.6;margin-top:27px;margin-bottom:34px}.lesson-list li{font-size:1.075rem;line-height:2;padding:23px 0 23px 17px;letter-spacing:.01em}.lesson-list li:before{top:39px}.lesson-list li br{display:none}.gift{display:flex;flex-direction:column;gap:47px;padding-top:68px;padding-bottom:83px}.gift-copy{width:100%}.gift-copy h2{font-size:2.2rem}.gift-copy h3{font-size:1.35rem;line-height:1.9;margin-top:17px;letter-spacing:.03em}.gift-copy .ornament{margin-bottom:18px}.benefit-body .gift-point{line-height:2;padding:13px 0}.gift-copy .button{padding:18px;gap:15px}.gift-copy .button-arrow{flex-basis:23px}.gift-visual{width:calc(100% - 42px);margin:0 10px 0 0;padding:0 8px}.gift-visual img{box-shadow:16px 16px 0 var(--mist)}.site-footer{padding:38px 25px 22px}.footer-meta{margin-top:25px}.footer-meta img{width:65px;height:65px}}
@media(max-width:370px){.hero-heading{padding-left:25px;padding-right:25px}.hero-promise{font-size:1rem}.hero h1 strong{font-size:1.9rem}.hero-course{font-size:2.5rem}.hero-days{font-size:4.4rem}.hero-mail{font-size:1.5rem}.section-wrap{padding-left:21px;padding-right:21px}.hero-followup p{font-size:1.3rem}.turning-copy .turning-question{font-size:1.5rem}.button,.hero-followup .button,.gift-copy .button{padding:17px 15px;gap:12px}.button-arrow{display:none}.gift-copy h3{font-size:1.2rem}.section-heading h2{font-size:1.65rem}.hero-visual{height:320px}.site-footer{padding-left:21px;padding-right:21px}}
@media(max-width:600px){.button,.hero-followup .button,.gift-copy .button{justify-content:center;text-align:center}.button-arrow{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
