:root{color-scheme:light;--ink:#172740;--muted:#526076;--purple:#6755a5;--teal:#216a70;--line:#dfe1eb;--paper:#f6f5fb;--shadow:0 22px 60px #2921470b}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:radial-gradient(ellipse 850px 600px at 90% 0,#e8e2f6 0,transparent 75%),radial-gradient(ellipse 700px 650px at 100% 300px,#e0eff0 0,transparent 70%),var(--paper);color:var(--ink);font-family:"Hiragino Sans","Noto Sans JP",-apple-system,sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}p{margin:0 0 16px}h1,h2,h3{margin:0;font-weight:650;line-height:1.55;letter-spacing:-.035em}
a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #455395;outline-offset:5px}
.wrap{max-width:1176px;margin-inline:auto;padding-inline:28px}
.skip-link{position:fixed;top:8px;left:8px;padding:12px 18px;z-index:50;background:#fff;border-radius:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{display:flex;justify-content:space-between;align-items:center;padding-top:29px;padding-bottom:29px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:17px;letter-spacing:.12em;font-weight:750;line-height:1.35}
.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d8d4e6;border-radius:12px;background:#ffffffa8;font-family:Georgia,serif;letter-spacing:-.07em;font-size:32px;font-style:italic;color:var(--purple)}
.brand-sub{display:block;margin-top:5px;font-size:8px;letter-spacing:.17em;font-weight:600;color:var(--muted)}.back-link{font-size:13px;text-decoration:none;color:var(--muted)}.back-link span{margin-left:10px}
.hero{position:relative;display:grid;grid-template-columns:1fr 1.02fr;gap:20px;align-items:center;padding-top:52px;padding-bottom:55px}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.11em;font-weight:750;color:var(--purple);margin-bottom:18px}.eyebrow>span{width:20px;height:1px;background:var(--purple)}
h1{font-size:clamp(35px,4.5vw,52px);letter-spacing:-.04em;line-height:1.52;margin-bottom:24px}h1 em{font-style:normal;color:var(--purple)}
.lead{font-size:18px;line-height:1.9;margin-bottom:18px}.hero-note{font-size:14px;color:var(--muted);line-height:1.95;margin-bottom:28px}
.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.button{display:flex;align-items:center;justify-content:center;gap:20px;background:var(--teal);color:#fff;text-align:center;text-decoration:none;font-size:15px;font-weight:750;line-height:1.7;padding:18px 24px;border:1px solid transparent;border-radius:12px;transition:background .18s,box-shadow .18s}.button:hover{background:#18545a;box-shadow:0 8px 22px #216a7020}
.hero-button{padding:15px 18px;font-size:14px}.text-link{font-size:13px;text-decoration:none;border-bottom:1px solid #a4a5b7;padding-bottom:3px;white-space:nowrap}
.fine{font-size:12px;line-height:1.9;color:var(--muted);margin:14px 0 0}.hero-fine{font-size:11px;max-width:430px}
.collection{margin:0;position:relative;min-width:0;height:506px;isolation:isolate}.collection-scene{position:absolute;inset:24px -12px 25px;background:radial-gradient(ellipse at 50% 55%,#a9a0d125,transparent 64%);border-radius:50%;z-index:-1}
.collection-books{position:relative;height:450px;max-width:520px;margin:auto}
.mock-book{position:relative;box-shadow:13px 24px 28px -12px #24315038,3px 4px 0 #d4d7e5;background:#6755a5;border-radius:2px 5px 5px 2px;isolation:isolate}.mock-book::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#131a5027,transparent 3%,#ffffff1c 4%,transparent 8%,transparent 93%,#ffffff0f);border:1px solid #ffffff20;border-radius:inherit;pointer-events:none}.mock-book img{width:100%;border-radius:inherit}
.hero-book{position:absolute;bottom:38px;width:205px;transform-origin:50% 85%}.book-one{left:calc(50% - 101px);width:225px;bottom:21px;z-index:3;transform:rotate(-4deg)}.book-two{left:14px;bottom:48px;transform:rotate(-11deg);z-index:1}.book-three{right:8px;bottom:48px;transform:rotate(10deg);z-index:2}
.collection figcaption{text-align:center;font-size:11px;letter-spacing:.035em;color:#66708a;margin-top:15px}
.route{position:relative;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid #e4e1ed;border-radius:16px;padding:25px 30px;max-width:1120px;box-shadow:0 10px 28px #48365904;margin-bottom:70px}
.route-step{display:flex;align-items:center;gap:14px}.route-number{display:grid;place-items:center;flex-shrink:0;width:37px;height:37px;border-radius:50%;background:#f1eef9;color:var(--purple);font:italic 17px Georgia,serif}.route strong{font-size:13px}.route p{font-size:11px;color:var(--muted);margin:3px 0 0}.route-arrow{color:#9693ad}
.practice-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;padding:30px 40px;background:linear-gradient(120deg,#ede9f6,#eff3f8 60%,#e7f2ef);border:1px solid #e1deec;border-radius:20px;margin-bottom:80px;min-width:0}.practice-intro h2{font-size:28px;margin-bottom:18px}.practice-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.practice-note{display:inline-block;font-size:12px;color:var(--teal);border-bottom:1px solid #b3cdd0;padding-bottom:3px}.learning-kit{width:100%;max-width:400px;margin:auto}
.section-heading{margin-bottom:36px}.section-heading>.eyebrow{margin-bottom:12px}.section-heading h2{font-size:32px;margin-bottom:17px}.section-heading>p:last-of-type{font-size:15px;color:var(--muted);line-height:1.95}
.guide{display:grid;grid-template-columns:36% 64%;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:23px;box-shadow:var(--shadow);margin-bottom:105px}
.guide-visual{padding:35px 35px 30px;background:linear-gradient(150deg,#ede9f8,#f0f1fa 50%,#e8f3f3);display:flex;flex-direction:column;align-items:center;min-width:0}.guide-index{align-self:stretch;display:flex;align-items:center;gap:12px;color:#69668a;font-size:10px;letter-spacing:.12em;font-weight:750;margin-bottom:36px}.guide-index>span{font:italic 24px Georgia,serif;color:var(--purple);letter-spacing:0}.detail-book{width:min(100%,254px);transform:rotate(-3deg);margin:14px 0 36px}.book-meta{font-size:12px;text-align:center;color:var(--muted);line-height:1.8;margin-bottom:0}
.guide-copy{padding:42px 46px 38px}.label{font-size:12px;font-weight:750;letter-spacing:.04em;color:var(--teal);margin:0 0 14px;display:flex;align-items:center;gap:7px}.label-dot{display:inline-block;flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--teal)}.guide-copy h3{font-size:27px;margin-bottom:20px}.description{color:var(--muted);font-size:15px;line-height:1.95;margin-bottom:22px}
.make-card{padding:17px 20px;background:#f5f4fa;border:1px solid #eae7f2;border-radius:10px;margin-bottom:23px}.small-label{display:block;color:var(--purple);font-size:11px;letter-spacing:.06em;font-weight:750;margin-bottom:7px}.make-card p{font-size:14px;line-height:1.95;margin:0;color:#4f5c73}.make-card strong{font-weight:750;color:var(--ink)}
.contents-list{list-style:none;padding:0;margin:0 0 23px}.contents-list li{display:flex;gap:16px;margin:16px 0}.contents-list li>span{font:italic 17px Georgia,serif;color:#9081b4;padding-top:4px}.contents-list strong{font-size:14px}.contents-list p{font-size:13px;color:var(--muted);margin:2px 0 0;line-height:1.9}
.toc{border-top:1px solid var(--line);margin:22px 0 24px;font-size:14px}.toc summary{list-style:none;display:flex;justify-content:space-between;gap:12px;padding:16px 0;cursor:pointer;font-weight:750;color:var(--ink)}.toc summary::-webkit-details-marker{display:none}.toc summary>span{font-size:12px;font-weight:500;color:var(--muted);white-space:nowrap}.toc summary b{font-size:17px;font-weight:400;display:inline-block;margin-left:12px;color:var(--purple)}.toc[open] summary b{transform:rotate(45deg)}.toc ol{margin:0 0 8px;padding-left:22px;color:var(--muted);font-size:13px}.toc li{padding:5px 0}
.access-note{text-align:center;font-size:12px}.status{font-size:13px;padding:17px;border-radius:10px;border:1px solid var(--line);color:var(--muted);background:#f7f8fc}
.optional .section-heading{text-align:center;margin-bottom:39px}.optional .eyebrow{justify-content:center}.optional .section-heading h2{font-size:34px}.optional-badge{display:inline-block;padding:6px 15px;border:1px solid #d4cde6;color:var(--purple);border-radius:30px;font-size:12px;letter-spacing:.04em;margin-top:5px}
.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.book-card{border:1px solid var(--line);background:#fff;border-radius:21px;overflow:hidden;box-shadow:var(--shadow);min-width:0}.card-visual{display:flex;position:relative;align-items:center;flex-direction:column;min-height:435px;padding:25px 32px 25px;background:linear-gradient(130deg,#ece9f7,#edf1fa 65%,#e7f3f0)}.book-card:nth-child(2) .card-visual{background:linear-gradient(145deg,#e9f2f2,#eef0fa 52%,#eee8f7)}.card-visual .guide-index{margin:0 0 20px}.card-book{width:201px;transform:rotate(-4deg);margin:2px 0 20px}.book-card:nth-child(2) .card-book{transform:rotate(4deg)}.card-meta{font-size:12px;color:var(--muted)}
.card-copy{padding:29px 34px 16px}.card-copy h3{font-size:24px;margin-bottom:17px}.card-copy .label{font-size:12px}.card-copy .description{min-height:87px;font-size:14px}.card-copy .make-card{padding:15px 18px}.compact-list{list-style:none;padding:0;margin:23px 0;color:var(--muted);font-size:13px;line-height:1.85}.compact-list li{position:relative;padding-left:17px;margin:9px 0}.compact-list li::before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:#8d7db3}.card-copy .toc{margin-bottom:4px}
.email-receipt{text-align:center;margin:36px 0 95px;padding:39px 44px;border:1px solid #d8d4e5;border-radius:20px;background:linear-gradient(130deg,#efedf8 0,#eff2f9 52%,#e9f4f1 100%)}.receipt-heading .eyebrow{justify-content:center;font-size:11px;margin-bottom:8px}.receipt-heading h3{font-size:25px;margin-bottom:11px}.receipt-heading>p:last-child{font-size:14px;color:var(--muted)}
.confirm-steps{display:grid;grid-template-columns:1fr 1fr 1fr;list-style:none;padding:0;margin:27px 0 29px;gap:20px}.confirm-steps li>span{display:block;font:italic 21px Georgia,serif;color:var(--purple);margin-bottom:9px}.confirm-steps strong{font-size:14px}.confirm-steps p{font-size:12px;color:var(--muted);margin:4px 0 0}.button.email{width:min(100%,495px);margin:auto;background:#625096;padding:18px 22px}.button.email:hover{background:#4f3f7f}.email-receipt>.fine{font-size:12px;margin-top:15px}
.faq{display:grid;grid-template-columns:30% 1fr;gap:44px;margin-bottom:76px}.faq .eyebrow{font-size:10px;margin-bottom:10px}.faq h2{font-size:24px;margin-bottom:16px}.faq-heading>p:last-child{font-size:14px;color:var(--muted)}.faq-items details{border-top:1px solid var(--line);padding:20px 0}.faq-items details:last-child{border-bottom:1px solid var(--line)}.faq summary{position:relative;cursor:pointer;font-size:14px;font-weight:650;list-style:none;padding-right:28px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"＋";position:absolute;right:0;font-size:17px;font-weight:400;color:#8c82a3}.faq details[open] summary::after{content:"−"}.faq details p{font-size:14px;color:var(--muted);margin:14px 22px 0 0;line-height:1.95}
.site-footer{border-top:1px solid var(--line);padding-top:36px;padding-bottom:38px;display:flex;justify-content:space-between;align-items:center;gap:24px}.site-footer>div{font-size:11px;text-align:right;color:var(--muted)}.site-footer p{margin:0 0 6px}.site-footer a:not(.brand){text-decoration:none}.footer-divider{padding:0 10px;color:#a8a4b7}.copyright{font-size:10px}.mobile-break{display:none}
@media(max-width:1175px){.route{margin-inline:28px}.hero-book{width:190px}.book-one{width:210px}.book-two{left:0}.book-three{right:0}.collection{height:490px}.hero-actions{gap:16px}.guide-copy{padding:35px 34px}.guide-visual{padding:30px 25px}.route-step{gap:10px}.route{padding:22px}.route strong{font-size:12px}.route p{font-size:10px}}
@media(max-width:850px){.hero{grid-template-columns:1fr;gap:18px;padding-top:34px;padding-bottom:38px}.hero-copy{max-width:600px}.hero h1{font-size:42px}.collection{height:425px;width:100%;max-width:600px;justify-self:center}.collection-books{height:375px;max-width:440px}.hero-book{width:177px}.book-one{width:199px;left:calc(50% - 97px)}.book-two{left:22px;bottom:47px}.book-three{right:10px;bottom:47px}.route{margin-bottom:55px}.route p{display:none}.route strong{font-size:11px}.route-number{width:30px;height:30px;font-size:14px}.route-arrow{font-size:12px}.practice-intro{padding:30px;gap:20px}.practice-intro h2{font-size:24px}.practice-copy>p:not(.eyebrow){font-size:13px}.guide{grid-template-columns:32% 68%;margin-bottom:84px}.guide-visual{padding:26px 20px}.guide-index{letter-spacing:.05em;font-size:9px}.guide-copy{padding:30px 27px}.guide-copy h3{font-size:24px}.detail-book{margin-top:26px}.card-copy{padding:25px 25px 12px}.card-copy h3{font-size:21px}.card-copy .description{min-height:112px}.card-visual{min-height:397px;padding-inline:24px}.card-book{width:177px}.email-receipt{padding:34px 26px}.confirm-steps{gap:14px}.confirm-steps strong{font-size:13px}.faq{grid-template-columns:1fr;gap:15px}.faq-heading>p:last-child{display:none}.site-footer{align-items:flex-start}}
@media(max-width:620px){
 .wrap{padding-inline:20px}.site-header{padding-top:21px;padding-bottom:19px}.brand{font-size:14px;gap:8px}.brand-mark{width:33px;height:33px;border-radius:10px;font-size:27px}.brand-sub{font-size:6px;letter-spacing:.16em}.back-link{font-size:11px}.back-link span{margin-left:4px}
 .hero{padding-top:28px;gap:15px;padding-bottom:19px}.hero .eyebrow{font-size:11px;margin-bottom:17px}.hero h1{font-size:35px;line-height:1.55;margin-bottom:19px}.lead{font-size:16px;line-height:1.95;margin-bottom:14px}.hero-note{font-size:14px;line-height:1.95;margin-bottom:22px}.hero-actions{display:block}.hero-button{width:100%;font-size:14px;padding:15px 16px;margin-bottom:16px}.text-link{font-size:13px;display:inline-block}.hero-fine{font-size:11px;margin-top:13px;max-width:none}
 .collection{height:329px;margin-top:10px}.collection-books{height:286px;max-width:340px}.hero-book{width:134px;bottom:35px}.book-one{width:151px;left:calc(50% - 75px);bottom:16px}.book-two{left:15px;bottom:34px}.book-three{right:7px;bottom:34px}.collection-scene{inset:8px 0 20px}.collection figcaption{font-size:10px;margin-top:12px}
 .route{display:flex;flex-direction:column;align-items:stretch;margin-inline:20px;margin-bottom:44px;padding:20px 24px;gap:15px;border-radius:13px}.route-step{gap:15px}.route-number{width:31px;height:31px;font-size:15px}.route strong{font-size:13px}.route p{display:block;font-size:11px}.route-arrow{display:none}
 .practice-intro{grid-template-columns:1fr;padding:27px 24px 20px;gap:10px;margin-bottom:55px;border-radius:17px}.practice-intro .eyebrow{font-size:9px;letter-spacing:.1em}.practice-intro h2{font-size:23px;margin-bottom:17px}.practice-copy>p:not(.eyebrow){font-size:14px}.practice-note{font-size:12px}.learning-kit{width:100%;max-width:290px;margin:10px auto 0}
 .section-heading{margin-bottom:23px}.section-heading h2{font-size:25px;line-height:1.65;margin-bottom:13px}.section-heading>.eyebrow{font-size:10px;margin-bottom:10px}.section-heading>p:last-of-type{font-size:14px}.guide{grid-template-columns:1fr;border-radius:17px;margin-bottom:65px}.guide-visual{padding:24px 25px 21px}.guide-index{font-size:9px;margin-bottom:20px;letter-spacing:.11em}.guide-index>span{font-size:22px}.detail-book{width:185px;margin:6px 0 25px}.book-meta{font-size:12px}
 .guide-copy{padding:29px 25px 26px}.label{font-size:11px;line-height:1.85;margin-bottom:13px}.guide-copy h3{font-size:23px;line-height:1.6;margin-bottom:18px}.description{font-size:14px;line-height:1.95}.make-card{padding:15px 16px;margin-bottom:22px}.small-label{font-size:10px}.make-card p{font-size:13px}.contents-list{margin-bottom:21px}.contents-list li{gap:13px;margin:15px 0}.contents-list strong{font-size:13px}.contents-list p{font-size:12px}.toc{margin:20px 0;font-size:13px}.toc summary{padding:16px 0}.toc summary>span{font-size:11px}.toc ol{font-size:12px;line-height:1.9}.button{font-size:14px;gap:14px;padding:16px 15px}.access-note{font-size:11px}
 .optional .section-heading{margin-bottom:26px}.optional .section-heading h2{font-size:25px;line-height:1.65}.optional-badge{font-size:11px;padding:5px 13px}.book-grid{grid-template-columns:1fr;gap:24px}.book-card{border-radius:17px}.card-visual{min-height:366px;padding:23px 25px 22px}.card-visual .guide-index{margin-bottom:22px}.card-book{width:178px;margin-bottom:25px}.card-copy{padding:27px 25px 14px}.card-copy h3{font-size:22px;line-height:1.65}.card-copy .description{font-size:14px;min-height:0}.card-copy .label{font-size:11px}.compact-list{font-size:12px}.card-copy .toc{margin-top:20px}.card-meta{font-size:11px}
 .email-receipt{padding:29px 23px 27px;margin:25px 0 61px;border-radius:17px}.receipt-heading h3{font-size:22px;margin-bottom:13px}.receipt-heading .eyebrow{font-size:10px}.receipt-heading>p:last-child{font-size:13px;line-height:1.95}.confirm-steps{grid-template-columns:1fr;text-align:left;gap:20px;margin:26px 0 28px}.confirm-steps li{display:flex;align-items:center;gap:16px}.confirm-steps li>span{font-size:21px;margin:0;flex-shrink:0}.confirm-steps strong{font-size:13px}.confirm-steps p{font-size:11px;margin-top:3px}.button.email{font-size:13px;padding:17px 11px;gap:9px}.email-receipt>.fine{font-size:11px;text-align:left;margin-top:15px}
 .faq{gap:17px;margin-bottom:44px}.faq h2{font-size:23px;margin-bottom:0}.faq .eyebrow{font-size:9px}.faq summary{font-size:13px;line-height:1.85;padding-right:22px}.faq-items details{padding:19px 0}.faq details p{font-size:13px}.site-footer{display:block;padding-top:29px;padding-bottom:29px}.site-footer .brand{margin-bottom:21px}.site-footer>div{text-align:left;font-size:10px}.site-footer p{margin-bottom:8px}.footer-divider{padding-inline:8px}.desktop-break{display:none}.mobile-break{display:initial}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
