/* 紙の明るさと、小さな遊び心 */
:root{--green:#285b49;--soft:#eaf6ef;--yellow:#f6cf57}body{background:#fffefa;color:#263e35}.learning,.trial{background:#eaf6ef}.button{box-shadow:none!important}.teacher-note,.future-topic,.game-example,.cc-course,.learning .step,.concept-copy>span{box-shadow:none!important}.cc-course:hover{transform:none}.cc-course{border:1px solid #dce8e0;background:#fff!important}.cc-course h3{border-left:4px solid #f6cf57;padding-left:14px}.cc-course:nth-of-type(2) h3{border-color:#80bea0}.cc-course:nth-of-type(3) h3{border-color:#e98972}.cc-age{display:inline-block;padding:4px 10px;border-radius:6px;background:#eaf6ef}.game-example{background:transparent;border:0;border-left:2px solid #f6cf57;border-radius:0;padding:12px 0 12px 32px}.game-example h3{padding:0;background:none;border-radius:0;margin-top:24px}.example-label{color:#285b49}.speed-demo{margin:24px 0;display:grid;gap:18px}.speed-row{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:12px;font-size:13px;color:#456351}.speed-track{height:32px;border-bottom:2px dashed #b8d6c4;position:relative;margin-right:12px}.speed-character{position:absolute;bottom:5px;left:0;width:28px;height:25px;background:#f6cf57;border:2px solid #285b49;border-radius:10px 10px 5px 5px}.speed-character:before,.speed-character:after{content:'';position:absolute;top:8px;width:3px;height:5px;background:#285b49;border-radius:2px}.speed-character:before{left:6px}.speed-character:after{right:6px}.speed-character.fast{background:#e98972}.speed-demo.has-played .slow{animation:travel 3.6s ease-in-out 1 both}.speed-demo.has-played .fast{animation:travel 1.4s ease-in-out 1 both}@keyframes travel{from{left:0}to{left:calc(100% - 30px)}}
.future{background:#214e3d;color:#fff}.future .eyebrow,.future h2{color:#fff}.future-topic,.future-topic:nth-of-type(n){background:transparent;border:0;border-top:1px solid #ffffff38;border-radius:0;box-shadow:none;padding:36px 0}.future-topic h3,.future-topic .topic-content p{color:#fff}.future-topic .topic-kicker{color:#e5f5e9;background:#ffffff14}.future-topic .topic-heading{border-color:#ffffff38}.future-topic .reading-highlight{color:#fff;background:linear-gradient(transparent 70%,#c9b85c66 70%)}.future-topic .it-key-message,.future-topic .exam-key-message{background:#ffffff0d;border-left:3px solid #f6cf57;color:#fff}.future-topic .ai-skills li{background:#ffffff0c;border:1px solid #ffffff38}.future-topic .ai-skills strong,.future-topic .ai-skills span{color:#fff}.future-topic .ai-skills li+li:after,.future-topic a{color:#e3f3e8}.topic-illustration{border-radius:24px;background:#fffefa;padding:8px}.learning-grid article{border-bottom:2px solid #bcdcc9}
@media(hover:hover){.button:hover{transform:translateY(-2px)}.course-jumps a:hover{background:#eaf6ef}.cc-course:hover .cc-age{animation:label-nudge .35s ease-out 1}}@keyframes label-nudge{50%{transform:rotate(-3deg) translateY(-2px)}}
@media(max-width:700px){.game-example{padding:8px 0 8px 20px}.future-topic{padding:28px 0}.topic-illustration{padding:5px;border-radius:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ACCESSも隣接セクションと同じ見出し上余白に揃える */
.access-wrap{padding-top:60px}.access-wrap #access{margin-top:0;padding-top:0;border-top:0}.access-wrap #access>.chapter{margin-top:0}
@media(max-width:700px){.access-wrap{padding-top:42px}}
