:root{--paper:#faf8f3;--ink:#383c3b;--muted:#6b706c;--line:#d9d8ce;--aqua:#eaf0ee;--rose:#f3e9e7;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:16px;line-height:2.05;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}header{max-width:1360px;margin:auto;padding:30px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:24px;letter-spacing:.055em}.guide-link{font-size:14px;border-bottom:1px solid #aaa99d}.wrap{width:88%;max-width:1140px;margin-inline:auto}.narrow{width:calc(100% - 48px);max-width:590px;margin-inline:auto}.section{padding-block:112px}.hero{display:grid;grid-template-columns:1.13fr 1fr;gap:70px;align-items:center;padding-block:75px 95px}.eyebrow{font-size:13px;letter-spacing:.14em;margin:0 0 28px}h1,h2,.quote,.big-question{font-family:var(--serif);font-weight:400}h1{font-size:clamp(30px,3vw,43px);line-height:1.8;letter-spacing:.055em;margin:0 0 34px}h2{font-size:clamp(25px,2.3vw,32px);line-height:1.9;letter-spacing:.035em;margin:0 0 38px}p{margin:0 0 26px}.intro p{margin-bottom:18px}.intro{font-size:16px}.service{font-size:17px;letter-spacing:.13em;margin:30px 0 12px}.sub{font-size:14px;color:var(--muted)}.cta{background:#455b57;color:#fff;border:1px solid #455b57;min-height:58px;display:inline-flex;justify-content:space-between;gap:30px;align-items:center;padding:13px 26px;font-size:15px;letter-spacing:.04em;cursor:pointer;transition:background .2s}.cta:hover{background:#314842}.cta:focus-visible,a:focus-visible,.close:focus-visible{outline:3px solid #a56e68;outline-offset:5px}figure{margin:0}figure img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}figcaption{font-family:Georgia,serif;color:var(--muted);font-size:12px;letter-spacing:.07em;margin-top:14px}.hero-art{align-self:start;margin-top:38px}.empathy{text-align:center}.small-rule{display:block;width:32px;height:1px;background:#a99b82;margin:0 auto 40px}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.reading p{line-height:2.15}.philosophy{background:var(--aqua);text-align:center;margin-top:30px}.quote{font-size:21px;line-height:2}.big-question{font-size:32px;margin:65px 0 0}.voices>h2,.voice-intro{text-align:center}.voice-intro{color:var(--muted);font-size:14px}.voice-list{padding:0;list-style:none;max-width:730px;margin:48px auto 60px;border-top:1px solid var(--line)}.voice-list li{font-family:var(--serif);font-size:19px;padding:23px 18px;border-bottom:1px solid var(--line)}.note{font-size:13px;line-height:1.9;color:var(--muted)}.possibility{background:#f0f2ee;text-align:center}.possibility figure{width:calc(100% - 64px);max-width:530px;margin:auto;text-align:left}.possibility h2{margin:50px 20px 0}.about .small-rule{margin-left:0}.signature{text-align:right;font:18px/1.8 Georgia,serif;margin-top:45px}.signature span{font-size:26px;letter-spacing:.14em}.guide{background:#f0efea}.guide h2{font-family:inherit;font-size:23px}.steps{list-style:none;padding:0;counter-reset:steps;max-width:780px;margin:55px auto 90px}.steps li{display:flex;gap:26px;padding:24px 0;border-top:1px solid var(--line);counter-increment:steps}.steps li:before{content:'0' counter(steps);font:28px Georgia,serif;color:#7b887f;padding-top:6px}.steps h3{font-size:18px;font-weight:500;margin:0 0 10px}.steps p{margin:0}.details{display:grid;grid-template-columns:1fr 1fr;gap:70px}.price{padding:36px;background:var(--paper);border-top:2px solid #aa9981}.regular{font-size:14px}.regular span{padding-left:16px;font-size:18px}.monitor-label{font-size:15px;margin-bottom:0}.amount{font:54px/1.4 Georgia,serif;margin:10px 0 28px}.amount span{font:18px sans-serif;margin-left:8px}.price .cta{width:100%;margin-top:5px}dl{margin:28px 0}dl>div{display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0}dt{flex-shrink:0}dd{margin:0;text-align:right}.schedule h2:not(:first-child){margin-top:50px}.before{max-width:780px;border-top:1px solid #bfc4be;padding-top:55px;margin:75px auto 0}.before dl{max-width:540px}.last{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.last .narrow{width:100%}.last figure{position:sticky;top:50px;margin-top:10px}.final-copy{margin-top:65px;font-size:35px}footer{text-align:center;padding:60px 24px 36px;border-top:1px solid var(--line)}footer p{margin-bottom:12px}footer>p:not(.brand){font-size:14px}footer small{font-size:12px;color:var(--muted)}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);max-width:480px;width:calc(100% - 40px);padding:48px 30px}dialog::backdrop{background:#263b375c}dialog h2{font-size:23px}.close{position:absolute;top:8px;right:14px;border:0;background:none;font-size:26px;cursor:pointer}.close-button{min-width:120px;justify-content:center}
@media(max-width:760px){header{padding:22px 24px}.brand{font-size:20px}.guide-link{font-size:12px}.wrap{width:calc(100% - 48px)}.section{padding-block:76px}.hero{display:flex;flex-direction:column;gap:40px;padding-block:40px 50px}.hero-copy{display:contents}.hero .eyebrow{order:0;align-self:flex-start;margin:0}.hero h1{order:1;align-self:flex-start;font-size:29px;margin:-20px 0 0;line-height:1.85}.hero-art{order:2;width:100%;max-width:450px;margin:0 auto 8px}.hero .intro{order:3;align-self:flex-start;font-size:16px}.hero .service{order:4;margin:-18px 0 0}.hero .sub{order:5;margin:-25px 0 -15px;text-align:center}.hero .cta{order:6;width:100%;max-width:380px}.desktop{display:none}.split,.details,.last{display:block}.split figure{max-width:460px;margin:0 auto 52px}.split .reading{max-width:590px;margin:auto}.empathy{text-align:left}.empathy .small-rule{margin-left:0}h2{font-size:25px}.philosophy .narrow{text-align:left}.philosophy .big-question{text-align:center;font-size:28px}.quote{font-size:20px}.voice-list li{font-size:18px;padding:22px 0}.voices .narrow{width:100%}.voices>h2,.voice-intro{text-align:left}.possibility h2{font-size:23px;margin-top:40px}.about h2{font-size:24px}.steps{margin-top:35px;margin-bottom:60px}.steps li{gap:18px}.price{padding:28px 22px}.guide h2{font-size:21px}.schedule{margin-top:55px}.before{margin-top:50px}dl>div{gap:10px;font-size:15px}.last figure{position:static;max-width:450px;margin:0 auto 55px}.last .cta{width:100%;max-width:380px}.final-copy{font-size:33px}.last .narrow{max-width:590px}.hero .intro p:last-child{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
