html{scroll-behavior:smooth}body{font-family:var(--font-dialogue)}h1,h2,h3,.course-card h3,.rank-stop b{font-family:var(--font-comic);font-weight:400;font-synthesis:none}#growth,#curriculum{scroll-margin-top:20px}.course-map{border-block:4px solid #171717;background:#e5f8ff;padding:42px 0}.course-map h2{font-size:clamp(28px,4.5vw,48px);line-height:1.5}.map-intro{font-size:18px;line-height:1.9;max-width:900px}.course-map .rank-road{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;overflow:visible}.course-map .rank-stop{min-width:0;border:3px solid #171717;border-radius:16px;background:#fff;box-shadow:4px 5px 0 #171717;color:#171717;text-align:center;padding:18px 10px;text-decoration:none;display:flex;flex-direction:column;align-items:center}.rank-stop img{height:145px;width:100%;object-fit:contain}.rank-stop b{font-size:23px;margin-top:10px}.rank-stop p{font-size:14px;line-height:1.7}.course-map .teacher{margin-bottom:0}.course-index{padding-block:50px}.course-index h2,.exam-door h2{font-size:clamp(28px,4vw,44px);line-height:1.5}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}.course-card{display:flex;flex-direction:column;border:3px solid #171717;border-radius:15px;padding:24px;background:#fff19b;color:#171717;text-decoration:none;box-shadow:5px 6px 0 #171717;min-width:0}.course-card:nth-child(3n+2){background:#cdf0ff}.course-card:nth-child(3n){background:#ffe0ee}.course-card h3{font-size:23px;line-height:1.6;margin:14px 0}.course-card p{font-size:16px;line-height:1.9;margin:0 0 16px}.course-card>span{font-size:13px;margin-top:auto}.course-card>b{font-size:15px;margin-top:15px}.source-note{margin-top:30px;font-size:15px}.exam-door{padding:35px 24px;background:#fff19b;border:4px solid #171717;box-shadow:6px 7px 0 #171717;margin-block:45px 65px;text-align:center}.exam-door>p{line-height:1.9}.exam-door .button{white-space:normal;line-height:1.7}.lesson-page{background:#fffaf0}.lesson-nav{display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap;background:#ffe600;padding:14px 5%;border-bottom:3px solid #171717}.lesson-nav a{color:#171717;min-height:44px;display:flex;align-items:center}.lesson-wrap{width:min(100% - 32px,1000px);margin:35px auto 70px}.lesson-wrap h1{font-size:clamp(26px,5vw,44px);line-height:1.5}.lesson-wrap h2{font-size:clamp(23px,4vw,31px);line-height:1.6}.lesson-wrap p,.lesson-wrap li{font-size:17px;line-height:1.95}.lesson-guide{display:flex;gap:20px;align-items:center;background:#fff;border:3px solid #171717;border-radius:16px;padding:18px;margin:24px 0}.lesson-guide img{width:95px;height:130px;object-fit:contain}.lesson-guide p{font-size:19px}.lesson-wrap section{margin-top:35px}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.source-card{padding:20px;border:2px solid #171717;border-radius:12px;background:#fff;color:#171717;text-decoration:none}.source-card span{font-size:12px;color:#524e43}.source-card h3{font-size:19px;line-height:1.8}.source-card b{font-size:14px}.lesson-comic{background:#fff;border:3px solid #171717;border-radius:10px;margin:18px 0;overflow:hidden}.lesson-comic summary{cursor:pointer;padding:19px;font-size:18px;line-height:1.7;background:#fff19b}.lesson-comic summary small{display:block;font-size:12px}.lesson-comic img{display:block;width:100%;max-width:724px;height:auto;margin:0 auto}.lesson-comic>a{display:block;padding:20px}.upcoming{background:#eee;padding:12px;font-size:14px!important;border-radius:7px}.lesson-next{background:#d9f3ff;padding:25px;border:3px solid #171717;border-radius:12px}.lesson-next a{white-space:normal}.challenge-main h1{font-size:clamp(27px,5vw,43px);line-height:1.5}.challenge-main>p{line-height:1.9}.course-card:hover,.source-card:hover,.rank-stop:hover{outline:3px solid #0758ea;outline-offset:3px}
@media(max-width:760px){.course-grid,.source-grid{grid-template-columns:1fr}.course-map .rank-road{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.course-map .rank-stop:last-child{grid-column:1/-1;max-width:260px;width:100%;justify-self:center}.rank-stop img{height:120px}.course-map{padding:28px 0}.map-intro{font-size:16px}.course-card h3{font-size:23px}.course-card{padding:20px}.lesson-guide{gap:12px;padding:12px}.lesson-guide img{width:70px;height:110px}.lesson-guide p{font-size:16px}.lesson-wrap p,.lesson-wrap li{font-size:16px}.lesson-wrap{width:calc(100% - 28px)}.exam-door{width:calc(100% - 32px);box-sizing:border-box}.lesson-comic summary{font-size:16px;padding:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.research-reading{border:2px solid #171717;border-radius:12px;margin:18px 0;background:#fff;overflow:hidden}.research-reading>summary{padding:19px 22px;background:#fff2b0;cursor:pointer;font-size:19px;line-height:1.7}.research-reading[open]>summary{border-bottom:2px solid #171717}.reading-body{padding:22px;overflow-wrap:anywhere;overflow-x:auto}.reading-body section{margin:0}.reading-body .container{width:auto;max-width:none;padding:0}.reading-body h2,.reading-body h3{font-size:23px;line-height:1.7;margin:25px 0 12px}.reading-body h4{font-size:19px;line-height:1.7}.reading-body img{max-width:100%;height:auto;object-fit:contain}.reading-body table{border-collapse:collapse;min-width:520px;width:100%;font-size:15px}.reading-body th,.reading-body td{padding:12px;border:1px solid #c8c8bd;text-align:left}.reading-body th{background:#fff3bd}.reading-body pre{white-space:pre-wrap;background:#f5f5eb;padding:15px}.reading-body figure{margin:20px 0}.reading-body ul,.reading-body ol{padding-left:24px}.reading-body .art-box,.reading-body .art-memo{padding:18px;background:#f2f8e9;border-radius:10px;margin:18px 0}.reading-body aside{margin:25px 0;padding:18px;background:#f2f8e9}.reading-body .lp-btn{display:inline-block;padding:10px;line-height:1.7}.reading-body .lp-grid,.reading-body .lp-grid--2,.reading-body .lp-grid--3{display:block}.reading-body .lab-value{font-size:24px;font-weight:bold}@media(max-width:600px){.research-reading>summary{padding:15px;font-size:17px}.reading-body{padding:16px}.reading-body h2,.reading-body h3{font-size:21px}}

.money-section h1{font-size:clamp(24px,4vw,42px);line-height:1.7}
