/* 講座全体の視線の流れと余白を統一 */
:root{--course-width:1240px}
.shell{max-width:var(--course-width);padding-left:clamp(18px,3.1vw,48px);padding-right:clamp(18px,3.1vw,48px)}
body{font-size:16px;line-height:1.7}
.hero{padding:24px 0 33px;align-items:center}
.hero p{font-size:16px;line-height:1.95;max-width:760px}
.course-roadmap{margin:10px 0 46px;padding:27px 28px;background:#172741;border:1px solid #58718e;border-radius:22px}
.course-roadmap-title{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}
.course-roadmap-title>span{color:#f3d49b;font-size:12px;font-weight:800;letter-spacing:.2em}
.course-roadmap-title strong{font-family:Georgia,'Yu Mincho',serif;font-size:clamp(21px,2.2vw,28px);font-weight:500;color:#f8e5c6}
.course-roadmap-title small{font-size:14px;color:#b7c8df}
.course-roadmap-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.course-roadmap-items a{display:grid;grid-template-columns:33px 1fr;column-gap:9px;row-gap:3px;align-content:start;padding:16px 12px;text-decoration:none;color:#f6f8ff;background:#223554;border:1px solid #455e7e;border-radius:14px;transition:background .2s,border-color .2s}
.course-roadmap-items a:hover,.course-roadmap-items a:focus-visible,.course-roadmap-items a.is-current{background:#364461;border-color:#e3c68d}
.course-roadmap-items a>span{grid-row:1/3;font:22px Georgia,serif;color:#e8cc9b}
.course-roadmap-items a>strong{font-size:16px;line-height:1.4}
.course-roadmap-items a>small{font-size:12px;color:#c0d0e5;line-height:1.5}
.course-chapter{scroll-margin-top:28px!important;margin-top:0!important;margin-bottom:clamp(100px,10vw,145px)!important;position:relative}
.course-chapter-badge{display:inline-flex;align-items:center;min-height:34px;padding:7px 15px;margin:0 0 22px;border-radius:100px;background:#293d5b;border:1px solid #5d7696;color:#f3d7a2;font-size:12px;font-weight:800;letter-spacing:.09em}
.course-chapter h2{line-height:1.4;letter-spacing:.02em}
.course-chapter p{line-height:1.95}
.course-chapter .minor{letter-spacing:.16em}
.solar-intro.course-chapter,.stage.course-chapter{margin-bottom:110px!important}
.stage.course-chapter{margin-bottom:20px!important}.content-grid{margin-top:20px}.polarities{margin-bottom:clamp(95px,10vw,145px)}
.solar-intro .solar-top p,.solar-intro .solar-bottom p{font-size:15px;line-height:1.8}
.stage-top p,.stage-label,.summary,.questions,.aspect p,.aspect h3,.note,.note h3{font-size:clamp(15px,1.4vw,17px);line-height:1.9}
.stage .milestone .name{font-size:15px}.stage .milestone .range{font-size:12px}
.card,.dignity-details,.dignity-wheel-panel,.dispositor-practice,.ruler-section,.ruler-memory,.ruler-benefits{box-shadow:0 14px 38px #070d1c28}
.dignity-layout{gap:32px}.dignity-item{padding:18px 19px;gap:10px}.dignity-item small{font-size:15px}.dignity-why p,.dignity-lesson p{font-size:16px}
.dispositor-note,.dp-note{font-size:15px}
.course-top-link{display:table;margin:55px auto 24px;padding:12px 25px;border:1px solid #c8b080;color:#f7dba7;border-radius:30px;text-decoration:none;font-weight:700}
.course-top-link:hover{background:#2c3852}
@media(max-width:900px){.course-roadmap-items{grid-template-columns:repeat(2,minmax(0,1fr))}.course-roadmap{padding:22px}}
@media(max-width:580px){.hero{padding:12px 0 22px}.hero p{font-size:15px}.course-roadmap{padding:17px 14px;margin-bottom:30px}.course-roadmap-items{gap:9px}.course-roadmap-items a{grid-template-columns:1fr;padding:12px 10px}.course-roadmap-items a>span{grid-row:auto;font-size:20px}.course-roadmap-items a>strong{font-size:14px}.course-roadmap-items a>small{font-size:11px}.course-chapter{margin-bottom:90px!important}.course-chapter-badge{font-size:11px;margin-bottom:15px}.solar-intro .solar-top p,.solar-intro .solar-bottom p{font-size:13px}.stage .milestone .name{font-size:13px}}
@media(prefers-reduced-motion:reduce){.course-roadmap-items a{transition:none}}
