:root{--cp-paper:#f7fafb;--cp-navy:#08233e;--cp-blue:#0b6489;--cp-pale:#dff3f8;--cp-line:#c9d9e0;--cp-muted:#536f7e}
.course-preview-page{margin:0;background:var(--cp-paper);color:var(--cp-navy);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif}
.preview-hero{min-height:650px;padding:90px clamp(28px,8vw,130px);display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:8vw;background:linear-gradient(135deg,#f9fcfd 0%,#eef6f8 100%);border-bottom:1px solid var(--cp-line)}
.preview-status{display:inline-block;margin:0 0 24px;padding:9px 13px;background:var(--cp-pale);color:var(--cp-blue);font-size:12px;font-weight:800}
.preview-hero h1{font-size:clamp(46px,6vw,78px);line-height:1.18;letter-spacing:-.055em;margin:0}.preview-hero h1 em{color:var(--cp-blue);font-style:normal}.preview-hero .worldview{margin:30px 0 18px;font-family:Georgia,"Noto Serif JP",serif;font-size:19px}.preview-hero .lead{max-width:780px;line-height:2;color:var(--cp-muted)}
.preview-facts{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:38px;padding-top:24px;border-top:1px solid var(--cp-line);font-size:13px}.preview-facts b{font:28px Georgia,serif;color:var(--cp-blue);margin-right:5px}
.preview-note{background:var(--cp-navy);color:white;padding:36px;box-shadow:16px 16px 0 #b7ddea}.preview-note span{color:#77d5ee;font-size:11px;font-weight:800;letter-spacing:.1em}.preview-note strong{font-size:22px;line-height:1.55;margin:18px 0;display:block}.preview-note p{color:#c6d6de;font-size:13px;line-height:1.9;margin:0}
.local-preview{padding:90px clamp(28px,8vw,130px);display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:#f4efe5}.local-preview .kicker{color:#99620b}.local-preview h2{font-size:clamp(32px,4vw,52px);line-height:1.3;letter-spacing:-.045em;margin:8px 0 20px}.local-preview>div>p:last-child{color:var(--cp-muted);line-height:2}.local-preview ul{margin:0;padding:0;list-style:none;border-top:2px solid var(--cp-navy)}.local-preview li{display:grid;grid-template-columns:48px 1fr;border-bottom:1px solid #cfc5b1;padding:18px 0}.local-preview li b{color:#99620b;font:18px Georgia,serif}.local-preview li span{font-weight:800}
.preview-section,.sample-section,.mission-section{padding:110px clamp(28px,8vw,130px)}.preview-heading{max-width:760px}.preview-heading h2,.sample-intro h2,.mission-section h2,.preview-cta h2{font-size:clamp(34px,4.6vw,58px);line-height:1.3;letter-spacing:-.045em;margin:8px 0 22px}.preview-heading>p:last-child,.sample-intro>p:last-child,.mission-section>div>p:last-child{line-height:2;color:var(--cp-muted)}
.lesson-list{margin-top:58px;border-top:2px solid var(--cp-navy)}.lesson-list article{display:grid;grid-template-columns:130px 1fr;gap:34px;padding:34px 0;border-bottom:1px solid var(--cp-line)}.lesson-list article>span{color:var(--cp-blue);font:18px Georgia,serif}.lesson-list h3{font-size:24px;margin:0 0 10px}.lesson-list p{margin:0 0 18px;color:var(--cp-muted);line-height:1.8}.lesson-list strong{display:block;font-size:17px;line-height:1.8}.lesson-list small{display:block;margin-top:13px;color:#77909c}
.sample-section{background:var(--cp-navy);color:white;display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.sample-intro .kicker{color:#77d5ee}.sample-intro>p:last-child{color:#b8cbd6}.sample-card{background:white;color:var(--cp-navy);padding:42px;box-shadow:18px 18px 0 var(--cp-blue)}.sample-label{margin:28px 0 10px;color:var(--cp-blue);font-size:11px;font-weight:900;letter-spacing:.13em}.sample-label:first-child{margin-top:0}.sample-card blockquote{margin:0;padding:22px 24px;background:#edf6f8;border-left:4px solid var(--cp-blue);font-size:20px;font-weight:800;line-height:1.8}.pattern-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--cp-line)}.pattern-grid div{padding:18px}.pattern-grid div+div{border-left:1px solid var(--cp-line)}.pattern-grid span{display:block;color:#78919d;font-size:11px;margin-bottom:8px}.pattern-grid b{line-height:1.8}.dialogue{margin:0}.dialogue div{display:grid;grid-template-columns:60px 1fr;padding:12px 0;border-bottom:1px solid #e3edf1}.dialogue dt{color:var(--cp-blue);font-weight:800}.dialogue dd{margin:0;line-height:1.7}.checkpoint{margin-top:30px;padding:20px;background:var(--cp-navy);color:white}.checkpoint span{color:#77d5ee;font-size:11px;font-weight:900}.checkpoint p{margin:8px 0 0;line-height:1.7}
.mission-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.mission-section ol{margin:0;padding:0;list-style:none;border-top:2px solid var(--cp-navy)}.mission-section li{display:grid;grid-template-columns:46px 1fr;padding:17px 0;border-bottom:1px solid var(--cp-line)}.mission-section li span{color:var(--cp-blue);font-family:Georgia,serif}.mission-score{grid-column:1/-1;margin-top:16px;background:#e5f2f5;padding:28px;display:flex;flex-wrap:wrap;gap:14px}.mission-score b{width:100%}.mission-score span{background:white;padding:9px 13px;font-size:12px;font-weight:800}.mission-score small{width:100%;color:var(--cp-muted);line-height:1.7}
.preview-cta{text-align:center;background:var(--cp-blue);color:white;padding:100px 28px}.preview-cta>p{color:#b7ecf8;font-size:12px;font-weight:900}.preview-cta .primary-btn{margin-top:28px}.preview-cta small{display:block;margin-top:22px;color:#d4e8ee}
@media(max-width:800px){.preview-hero,.local-preview,.sample-section,.mission-section{grid-template-columns:1fr}.preview-note{box-shadow:8px 8px 0 #b7ddea}.mission-score{grid-column:auto}.lesson-list article{grid-template-columns:95px 1fr}}
@media(max-width:560px){.preview-hero{padding:56px 22px 68px}.preview-hero h1{font-size:42px}.preview-section,.local-preview,.sample-section,.mission-section{padding:72px 22px}.preview-note{padding:26px}.lesson-list article{grid-template-columns:1fr;gap:10px;padding:27px 0}.lesson-list h3{font-size:21px}.sample-card{padding:24px;box-shadow:8px 8px 0 var(--cp-blue)}.sample-card blockquote{font-size:17px}.pattern-grid{grid-template-columns:1fr}.pattern-grid div+div{border-left:0;border-top:1px solid var(--cp-line)}.preview-facts{display:grid;grid-template-columns:1fr 1fr}.preview-facts span:last-child{grid-column:1/-1}}
