:root{color-scheme:light;--navy:#10172e;--navy-light:#1b2544;--ink:#18223b;--muted:#5e6a7d;--turquoise:#35ded1;--purple:#aa94ef;--coral:#ff8a7e;--paper:#f7f8fc;--line:#dfe5ed}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;font-family:"Yu Gothic","Meiryo",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.8}a{color:inherit}img{display:block;max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #007d87;outline-offset:6px}.container{width:min(1200px,calc(100% - 80px));margin-inline:auto}.skip-link{position:absolute;left:18px;top:-80px;background:white;padding:12px 20px;z-index:20}.skip-link:focus{top:12px}.site-header{background:var(--navy);color:white;border-bottom:1px solid #ffffff1c}.header-inner{min-height:108px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:17px;text-decoration:none}.brand-logo{width:100px;height:auto}.brand strong{font-size:20px;letter-spacing:.02em}.brand-sub{display:block;font-size:11px;color:#c6cfe4;letter-spacing:.2em}.header-link{font-size:14px;text-decoration:none;border-bottom:1px solid #8995b4;padding:10px 0;white-space:nowrap}.header-link span{padding-left:20px;color:var(--turquoise);font-size:21px}.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:white}.hero-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent,#000)}.hero:before{content:"";position:absolute;z-index:-1;right:-150px;top:-250px;width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,#268d9c20,transparent 68%)}.hero-inner{display:grid;grid-template-columns:1.05fr 1fr;gap:74px;padding-top:80px;padding-bottom:68px;align-items:center}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:700;line-height:1.8;color:var(--turquoise);margin:0 0 24px;display:flex;align-items:center;gap:10px}.eyebrow>span{width:6px;height:6px;background:var(--turquoise);border-radius:50%;flex:none}.hero h1{font-size:clamp(40px,4.7vw,65px);line-height:1.28;letter-spacing:.045em;margin:0 0 26px;font-weight:800}.hero h1 em{font-style:normal;color:var(--turquoise)}.title-dot{color:var(--coral)}.hero-description{max-width:510px;font-size:14px;line-height:2;color:#ced5e7}.hero-description p{margin:0 0 8px}.primary-link{display:inline-flex;gap:52px;align-items:center;background:var(--turquoise);color:#0c2e38;font-size:14px;font-weight:700;text-decoration:none;padding:13px 23px;border-radius:6px;margin-top:23px;min-height:48px}.primary-link span{font-size:24px;line-height:1}.primary-link:hover{background:#7befdf}.hero-preview{position:relative;padding-top:16px}.preview-label{font-size:12px;color:#c4cee6;margin:0 0 17px 4px;display:flex;align-items:center;gap:10px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--turquoise);box-shadow:0 0 0 4px #35ded112}.preview-window{border:1px solid #526482;border-radius:13px;overflow:hidden;box-shadow:18px 20px 0 #aa94ef14,0 30px 50px #0003;background:#f4f6f8;transform:rotate(-2deg)}.window-bar{background:#25314b;height:33px;display:flex;align-items:center;gap:5px;padding-inline:14px}.window-bar i{width:6px;height:6px;border-radius:50%;background:#ff8a7e}.window-bar i:nth-child(2){background:#d8bc78}.window-bar i:nth-child(3){background:#35ded1}.window-bar span{font-size:8px;letter-spacing:.15em;color:#c6d1e1;margin-left:auto}.preview-window img{width:100%;aspect-ratio:11/7;object-fit:cover;object-position:top}.preview-caption{margin:36px 0 0 18px;border-left:2px solid var(--purple);padding-left:18px}.preview-caption>span{font-size:9px;letter-spacing:.19em;color:var(--purple);display:block;margin-bottom:4px}.preview-caption strong{font-size:20px;letter-spacing:.06em}.preview-caption p{font-size:12px;color:#b9c3db;margin:3px 0 0}.orbit-mark{position:absolute;right:-25px;bottom:24px;color:var(--coral);font-size:44px;font-weight:300}.hero-bottom{border-top:1px solid #ffffff1c;padding-block:21px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#aab7d2;font-size:11px;letter-spacing:.07em}.hero-bottom>span:first-child{font-weight:700;letter-spacing:.14em;color:#e0e6f1}.hero-bottom b{color:var(--turquoise);font-size:15px;margin-right:6px}.hero-bottom>span>span{padding:0 12px;color:#64718e}.section-pad{padding:86px 0 90px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.eyebrow.light{color:#6c5b9f;margin-bottom:12px}.section-heading h2{font-size:29px;line-height:1.55;letter-spacing:.03em;margin:0}.section-heading>p{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:4px}.lesson-list{display:grid;gap:26px}.lesson-card{display:grid;grid-template-columns:1.05fr 1fr;background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 8px 28px #14213b04}.card-image-link{display:flex;text-decoration:none;background:#dfe6ec}.lesson-cover{position:relative;width:100%;min-height:370px;padding:30px 34px 48px;overflow:hidden;background:linear-gradient(140deg,#e3eaed,#cedbe2)}.lesson-cover:after{content:"";position:absolute;inset:0;border:14px solid #ffffff0c;pointer-events:none}.lesson-cover img{width:100%;height:290px;object-fit:cover;object-position:top;border:1px solid #c1ced9;border-radius:7px;box-shadow:0 15px 26px #29465a20}.cover-number{position:absolute;bottom:1px;right:22px;font-size:110px;font-weight:800;line-height:1;color:#13273d16;letter-spacing:-.09em}.cover-label{position:absolute;bottom:17px;left:36px;color:#476170;font-size:11px;letter-spacing:.24em;font-weight:700}.card-body{padding:35px 40px}.card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.lesson-badge{background:#edf8f6;color:#176d69;font-size:12px;font-weight:700;padding:4px 11px;border-radius:5px}.edition{font-size:11px;letter-spacing:.1em;color:#7c719e}.card-body h3{font-size:27px;line-height:1.55;letter-spacing:.025em;margin:17px 0 13px}.card-description{font-size:13px;line-height:1.95;color:var(--muted);margin:0;max-width:390px}.tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:7px;margin:19px 0 25px}.tags li{border:1px solid #e4e7ed;color:#637183;border-radius:3px;font-size:10px;padding:2px 8px}.sample-button{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--navy);color:white;border-radius:5px;padding:13px 18px;min-height:50px;font-size:13px;font-weight:700;text-decoration:none}.sample-button>span{color:var(--turquoise);font-size:22px;line-height:1}.sample-button:hover{background:#283755}.coming-section{background:#edf0f7;border-top:1px solid #e3e7ef}.coming-inner{display:grid;grid-template-columns:1fr 1fr;gap:95px;padding-top:55px;padding-bottom:60px}.coming-inner .eyebrow{color:#74669d;font-size:9px;margin-bottom:12px}.coming-inner h2{font-size:24px;line-height:1.6;margin:0 0 14px}.coming-inner p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:2;margin:0}.upcoming-list{list-style:none;padding:0;margin:10px 0 0}.upcoming-list li{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid #d9dfeb;font-size:11px;color:#7a8497}.upcoming-list li>span:first-child{font-size:10px;letter-spacing:.13em;color:#626e86}.upcoming-list b{font-size:22px;margin-left:10px;color:#75819a;font-weight:500}.site-footer{background:var(--navy);color:white}.footer-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-top:36px;padding-bottom:34px}.footer-inner strong{font-size:15px}.footer-inner p{font-size:11px;color:#bac5dc;margin:10px 0 0}.footer-inner .footer-note{font-size:10px;color:#92a0bd;margin-top:4px}.copyright{font-size:10px;color:#a0aec9;white-space:nowrap}.not-found{min-height:70vh;display:grid;place-items:center;padding:60px 24px;text-align:center}.not-found h1{font-size:42px;margin:0}.not-found p{max-width:540px}.not-found .sample-button{max-width:300px;margin:24px auto}
@media(min-width:1600px){.hero-inner{padding-top:95px;padding-bottom:88px}}@media(max-width:1000px){.container{width:calc(100% - 48px)}.hero-inner{gap:40px;padding-top:58px}.hero h1{font-size:47px}.hero-description{font-size:13px}.eyebrow{font-size:8px;letter-spacing:.09em}.brand strong{font-size:17px}.brand-logo{width:80px}.card-body{padding:27px}.card-body h3{font-size:23px}.lesson-cover{padding:35px 22px 44px;min-height:360px}.lesson-cover img{height:280px}.coming-inner{gap:50px}.orbit-mark{right:-10px}}
@media(max-width:680px){.container{width:calc(100% - 40px)}.header-inner{min-height:90px;gap:12px}.brand{gap:9px}.brand-logo{width:61px}.brand strong{font-size:14px;letter-spacing:0}.brand-sub{font-size:9px;letter-spacing:.09em}.header-link{font-size:10px}.header-link span{padding-left:6px;font-size:17px}.hero-inner{grid-template-columns:1fr;gap:32px;padding-top:40px;padding-bottom:40px}.hero h1{font-size:47px;margin-bottom:20px}.hero-description{font-size:13px;line-height:1.95;max-width:none}.hero-description p{margin-bottom:8px}.eyebrow{font-size:7.5px;letter-spacing:.08em;gap:7px;white-space:normal;margin-bottom:19px}.primary-link{margin-top:16px}.hero-preview{max-width:440px;width:100%;margin:auto;padding:0 6px}.preview-label{font-size:10px;margin-bottom:14px}.preview-window{transform:rotate(-1.5deg)}.preview-caption{margin-top:25px;margin-left:7px}.preview-caption strong{font-size:18px}.preview-caption p{font-size:11px}.orbit-mark{font-size:35px;bottom:8px;right:1px}.hero-bottom{padding-block:18px;align-items:flex-start;flex-direction:column;gap:8px;font-size:9px}.hero-bottom>span:first-child{font-size:10px}.section-pad{padding:48px 0 50px}.section-heading{display:block;margin-bottom:24px}.section-heading h2{font-size:25px}.section-heading>p{margin-top:16px;font-size:12px}.section-heading>p br{display:none}.lesson-card{grid-template-columns:1fr}.lesson-cover{min-height:260px;padding:24px 25px 41px}.lesson-cover img{height:210px}.cover-label{left:27px;bottom:12px;font-size:9px}.cover-number{font-size:85px;right:20px;bottom:0}.card-body{padding:25px}.card-body h3{font-size:24px}.card-description{font-size:13px}.sample-button{font-size:13px;min-height:52px}.coming-inner{grid-template-columns:1fr;gap:22px;padding-top:37px;padding-bottom:37px}.coming-inner h2{font-size:22px}.coming-inner p:not(.eyebrow){font-size:12px}.upcoming-list{margin-top:0}.upcoming-list li{padding-block:15px}.footer-inner{display:block;padding:29px 0}.footer-inner p{font-size:10px}.copyright{display:block;margin-top:22px}.not-found h1{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* v02：動画・教材への導線。未設定URLはクリックできない案内として表示。 */
.card-subtitle{font-size:12px;font-weight:700;color:#74669d;line-height:1.8;margin:0 0 10px}.resource-links{margin-top:15px;border-top:1px solid var(--line)}.resource-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:49px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;text-decoration:none;line-height:1.8}.resource-link:not(.is-pending){color:#246a7a}.resource-link:not(.is-pending):hover{text-decoration:underline}.resource-link.is-pending{color:#788294}.resource-status{font-size:9px;background:#f1f3f7;border-radius:4px;padding:2px 7px;white-space:nowrap;font-weight:400}.resource-arrow{color:#35798b;font-size:18px}.resource-note{font-size:10px;line-height:1.9;color:#788294;margin:10px 0 0}@media(max-width:680px){.lesson-badge{font-size:10px}.card-subtitle{font-size:11px}.resource-link{font-size:11px;min-height:50px}.resource-status{font-size:8px;padding:2px 5px}}
