*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#2a2025;background:#f6eff2;font-family:"Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.85}a{color:inherit}button{font:inherit}img{max-width:100%;height:auto;display:block}main{max-width:860px;margin:auto;background:#fff;box-shadow:0 0 80px #4b263315;padding-bottom:100px}.preview-note{max-width:860px;margin:auto;padding:12px 24px;background:#fff8fb;border-bottom:1px solid #eedce3;font-size:13px;color:#71515e}.preview-note strong{color:#a73560}.section-image{position:relative}.section-image>img{width:100%}.image-link{position:absolute;left:4.5%;right:4.5%;height:8%;bottom:1.5%;border-radius:20px}.image-link:focus-visible{outline:4px solid #4b2034;outline-offset:-4px}.block{padding:64px 7%}h1,h2,h3{font-weight:400;line-height:1.5;word-break:keep-all;text-wrap:balance}h2{font-family:"Yu Mincho",serif;font-size:clamp(27px,4vw,39px);margin:10px 0 25px}.eyebrow{font-size:12px;letter-spacing:.2em;color:#a73560;margin:0}.lede{color:#6c5961}.voice-card{margin:28px 0;background:#fff}.voice-card button{padding:0;border:0;background:#fff;width:100%;cursor:zoom-in}.voice-card img{width:100%;height:auto}.voice-card figcaption{font-size:12px;color:#735d66;margin-top:8px}.voices{background:#fff8fa}.voice-more{margin-top:28px}.voice-more>summary,details.faq>summary{cursor:pointer;min-height:48px;padding:15px 0;color:#632d42}details.faq{border-bottom:1px solid #e9d6df}details.faq p{margin:0 0 20px}.source-link{font-size:13px;display:inline-block;min-height:44px;line-height:44px}.teacher{display:grid;grid-template-columns:36% 1fr;gap:30px;align-items:center}.teacher img{border-radius:2px}.teacher p{margin:8px 0}.teacher h2{margin:0}.buy{background:#f9edf2;text-align:center}.price{font-family:Georgia,serif;font-size:64px;line-height:1.2;margin:18px 0}.price span{font-size:22px}.muted{color:#79656e;font-size:13px}.cta{display:flex;align-items:center;justify-content:center;gap:15px;min-height:60px;padding:14px 20px;background:#af3d66;color:white;text-decoration:none;border-radius:8px;box-shadow:0 8px 24px #92365320;font-weight:600;font-size:17px}.cta:hover{background:#942e55}.facts{padding:0;text-align:left;list-style:none;margin:28px 0}.facts li{border-bottom:1px solid #dfc9d3;padding:12px 0}.facts strong{color:#7f3551}.sticky{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,860px);background:#fffffff5;border-top:1px solid #e9d7e0;padding:10px max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 -6px 25px #6030470b}.sticky .cta{min-height:52px;font-size:15px;flex:1;max-width:400px}.sticky-price{font-family:Georgia,serif;font-size:25px;white-space:nowrap}.sticky-price small{font-family:Meiryo,sans-serif;font-size:11px;display:block;line-height:1.2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{padding:30px 7%;font-size:12px;color:#79656e;text-align:center}dialog{border:0;border-radius:6px;padding:12px;background:#fff;max-width:min(94vw,1000px);max-height:92vh}dialog::backdrop{background:#271721c9}dialog img{max-height:78vh;width:auto;max-width:100%;margin:auto;object-fit:contain}dialog button{display:block;margin:0 0 10px auto;padding:7px 20px;min-height:44px;background:#f7edf1;border:0;border-radius:4px;cursor:pointer}@media(max-width:600px){.block{padding:42px 6%}.teacher{grid-template-columns:1fr;gap:24px}.teacher img{width:72%;margin:auto}.sticky{gap:12px}.sticky-price{font-size:23px}.sticky .cta{font-size:14px;padding:10px 12px}.price{font-size:56px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
details:not([open]) > :not(summary){display:none}.price{white-space:nowrap}

.zoom-viewport{max-height:70vh;max-width:90vw;overflow:auto}.zoom-viewport.enlarged img{width:900px;max-width:none;max-height:none}#zoom-text{margin:0 0 12px auto}

.image-caption{margin:0;padding:16px 7% 26px}.schedule{padding-top:20px;padding-bottom:24px;background:#fff8fa}.schedule-more>summary{cursor:pointer;min-height:48px;padding:12px 0;color:#632d42}.schedule-list{list-style:none;padding:0}.schedule-list li{padding:18px 0;border-bottom:1px solid #e9d6df}.schedule-list strong,.schedule-list span{display:block}.schedule-list strong{font-weight:500}.schedule-list p{margin:5px 0 0}.section-image{scroll-margin-top:20px}
