@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@500;600;700&display=swap";.site-header{border-bottom:1px solid var(--line);z-index:30;background:#fffdf8f7;align-items:center;gap:18px;height:92px;padding:0 42px;display:flex;position:sticky;top:0}.brand{cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;gap:10px;padding:0;display:flex}.brand img{object-fit:cover;border-radius:50%;width:52px;height:52px}.brand span{letter-spacing:.035em;white-space:nowrap;font:700 1.35rem Georgia,serif}.brand em{letter-spacing:.08em;color:var(--red);border:1px solid var(--red);white-space:nowrap;padding:3px 6px;font-size:.54rem;font-style:normal}.desktop-nav{align-self:stretch;align-items:center;gap:18px;display:flex}.desktop-nav a{color:#5e5952;white-space:nowrap;place-items:center;height:100%;font-size:.8rem;font-weight:600;display:grid;position:relative}.desktop-nav a.active{color:var(--red)}.desktop-nav a.active:after{content:"";background:var(--red);height:2px;position:absolute;bottom:0;left:0;right:0}.header-search{border:1px solid var(--line);background:var(--paper2);align-items:center;gap:10px;width:min(320px,24vw);height:46px;margin-left:auto;padding:0 16px;display:flex}.header-search input{background:0 0;border:0;outline:0;width:100%}.header-actions{align-items:center;gap:8px;display:flex}.icon-button{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid;position:relative}.notification-dot{background:var(--red);border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:9px}.profile-button{cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;display:flex}.profile-avatar,.admin-avatar{background:var(--gold);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-family:Noto Serif JP;font-weight:700;display:grid}.profile-name{white-space:nowrap;font-size:.76rem;font-weight:600}.mobile-menu-button,.mobile-drawer,.bottom-nav{display:none}.main-content{min-height:calc(100vh - 92px)}.welcome-section{align-items:center;min-height:220px;padding:48px 0 36px;display:flex;position:relative;overflow:hidden}.welcome-section h1{z-index:1;margin:12px 0 13px;font-size:clamp(1.85rem,2.35vw,2.65rem);line-height:1.5;position:relative}.welcome-section p{color:var(--muted)}.line-crane{opacity:.4;width:360px;height:220px;position:absolute;top:18px;right:1%}.line-crane:before,.line-crane:after,.line-crane span{content:"";background:var(--gold);transform-origin:0;height:1px;position:absolute}.line-crane:before{width:210px;top:90px;right:12px;transform:rotate(-53deg)}.line-crane:after{width:190px;top:150px;right:64px;transform:rotate(25deg)}.line-crane span:first-child{width:110px;top:105px;left:40px;transform:rotate(-28deg)}.line-crane span:nth-child(2){width:150px;top:52px;left:121px;transform:rotate(68deg)}.line-crane span:nth-child(3){width:170px;top:143px;left:90px;transform:rotate(-68deg)}.dashboard-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:38px;display:grid}.dashboard-main{min-width:0}.dashboard-side{flex-direction:column;gap:20px;display:flex;position:sticky;top:112px}.section-block{margin-bottom:60px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.section-heading h2{margin:4px 0 0;font-size:1.6rem}.section-heading>a,.section-heading>button{color:var(--red);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.continue-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);grid-template-columns:minmax(320px,48%) 1fr;min-height:330px;display:grid}.lesson-thumbnail{background:var(--sumi);height:168px;position:relative;overflow:hidden}.lesson-thumbnail.large{height:100%;min-height:330px}.lesson-thumbnail img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.lesson-card:hover .lesson-thumbnail img{transform:scale(1.025)}.category-ai活用 img{object-position:34% center;filter:sepia(.08)saturate(.85)brightness(1.08)}.category-データ分析 img{object-position:75% center;filter:sepia(.4)saturate(.75)brightness(1.15)}.category-実践 img{object-position:right center;filter:grayscale(.65)sepia(.4)brightness(1.18)}.duration-badge{color:#fff;background:#1f1d1bdb;padding:3px 7px;font-size:.7rem;position:absolute;bottom:9px;right:10px}.play-orb{width:68px;height:68px;color:var(--red);background:#fffdf8ed;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 28px #0003}.play-orb svg{margin-left:4px}.thumb-center{color:#fff;background:#292724ad;justify-content:center;align-items:center;gap:7px;font-size:.8rem;font-weight:600;display:flex;position:absolute;inset:0}.continue-copy{flex-direction:column;justify-content:center;padding:38px 42px;display:flex}.continue-copy h3{margin:15px 0 9px;font-size:1.8rem}.continue-copy>p{color:var(--muted);font-size:.87rem;line-height:1.8}.continue-progress{justify-content:space-between;margin:24px 0 9px;font-size:.75rem;display:flex}.continue-progress span:last-child{color:var(--red);font-weight:700}.progress-row{align-items:center;gap:12px;display:flex}.progress-track{background:#e9e2d8;flex:1;height:5px;overflow:hidden}.progress-track span{background:var(--red);height:100%;display:block}.progress-row strong{color:var(--red);font-size:.78rem}.continue-copy .primary-button{align-self:flex-start;min-width:240px;margin-top:22px}.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.lesson-grid.wide{grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-card{border:1px solid var(--line);background:var(--paper);min-width:0;transition:all .2s}.lesson-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.lesson-card.locked{opacity:.72}.lesson-card-body{padding:17px}.lesson-card-title-row{align-items:flex-start;gap:8px;min-height:47px;display:flex}.lesson-card-title-row>a{flex:1;font-family:Noto Serif JP;font-weight:700;line-height:1.55}.favorite-icon{cursor:pointer;color:#8c857c;background:0 0;border:0;padding:2px}.favorite-icon.active{color:var(--red)}.publish-date,.unlock-date{color:var(--muted);margin:10px 0 0;font-size:.69rem}.unlock-date{color:var(--sumi);align-items:center;gap:4px;display:flex}.lesson-card .progress-row{margin-top:12px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.course-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.course-card{background:var(--paper);border:1px solid var(--line);grid-template-columns:108px 1fr;min-height:260px;display:grid}.course-mark{background:var(--red);position:relative;overflow:hidden}.course-gold .course-mark{background:var(--gold)}.course-charcoal .course-mark{background:var(--sumi)}.course-mark span{background:#ffffff94;width:150px;height:1px;position:absolute;top:40%;left:-24px;transform:rotate(48deg)}.course-mark span:nth-child(2){top:63%;transform:rotate(-42deg)}.course-mark span:nth-child(3){top:80%;transform:rotate(70deg)}.course-card-body{padding:26px 28px 22px}.course-card h3{margin:8px 0 9px;font-size:1.2rem}.course-card p{color:var(--muted);min-height:55px;font-size:.75rem;line-height:1.75}.course-meta{justify-content:space-between;margin:18px 0 8px;font-size:.7rem;display:flex}.course-meta strong{color:var(--red)}.text-link{color:var(--red);justify-content:flex-end;align-items:center;margin-top:18px;font-size:.75rem;font-weight:700;display:flex}.side-card{background:var(--paper);border:1px solid var(--line);padding:27px}.progress-card{text-align:center}.progress-card h2{margin:6px 0 22px;font-size:1.3rem}.progress-card>p{color:var(--muted);font-size:.73rem}.progress-ring{--progress:42%;background:conic-gradient(var(--red) var(--progress),#ebe4da 0);border-radius:50%;place-items:center;width:152px;height:152px;margin:0 auto 16px;display:grid;position:relative}.progress-ring:before{content:"";background:var(--paper);border-radius:50%;position:absolute;inset:12px}.progress-ring div{position:relative}.progress-ring strong{font:500 2.6rem Noto Serif JP}.progress-ring small{color:var(--muted);font-size:.62rem;display:block}.progress-card .secondary-button{width:100%;margin-top:13px}.certificate-note{background:var(--paper2);color:var(--muted);margin-top:18px;padding:12px;font-size:.64rem}.certificate-note span{color:var(--red);font-weight:700}.release-card{background:var(--sumi);color:#fff;gap:15px;display:flex}.release-card>svg{color:var(--gold);flex-shrink:0}.release-card h3{margin:5px 0 12px;line-height:1.6}.release-card p{color:var(--goldsoft);margin:0;font-size:.74rem}.plan-badge{background:var(--redsoft);color:var(--red);padding:5px 8px;font-size:.65rem;font-weight:700}.plan-mini-card h3{margin:14px 0 7px;font-size:1rem}.plan-mini-card p{color:var(--muted);font-size:.72rem}.plan-mini-card a{color:var(--red);justify-content:flex-end;align-items:center;font-size:.72rem;font-weight:700;display:flex}.line-support{background:var(--sumi);color:#fff;justify-content:space-between;align-items:center;min-height:235px;margin:10px 0 70px;padding:36px 42px;display:flex;overflow:hidden}.line-support-copy{max-width:640px}.line-support h2{margin:6px 0 12px;font-size:1.55rem}.line-support p{color:#d3cec5;font-size:.82rem;line-height:1.8}.line-support>img{object-fit:cover;border-radius:50%;width:160px;height:160px;margin-right:40px}.line-button{margin-top:18px}.copy-lesson-title{color:var(--goldsoft);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-top:12px;padding:0;font-size:.73rem;display:flex}.page-hero{border-bottom:1px solid var(--line);padding:64px 0 34px}.page-hero h1{margin:7px 0 12px;font-size:2.7rem}.page-hero p{color:var(--muted)}.segmented{margin:34px auto;display:flex}.segmented button{border:1px solid var(--line);background:var(--paper);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-width:200px;height:48px;display:flex}.segmented button+button{border-left:0}.segmented button.active{background:var(--sumi);color:#fff}.course-detail-hero{color:#fff;background:var(--red);padding:45px 0 50px}.course-detail-hero.course-gold{background:#9d793c}.course-detail-hero.course-charcoal{background:var(--sumi)}.back-link{align-items:center;gap:7px;margin-bottom:33px;font-size:.75rem;display:flex}.course-detail-hero .eyebrow{color:var(--goldsoft)}.course-detail-hero h1{margin:8px 0 12px;font-size:2.8rem}.course-detail-hero p{color:#ffffffd1;max-width:720px;line-height:1.8}.course-detail-progress{align-items:center;gap:20px;max-width:540px;margin-top:28px;font-size:.75rem;display:flex}.course-detail-progress .progress-row{flex:1}.course-detail-progress .progress-track{background:#ffffff38}.course-detail-progress .progress-track span{background:#fff}.course-detail-progress .progress-row strong{color:#fff}.course-curriculum{padding:50px 0 80px}.curriculum-row{background:var(--paper);border:1px solid var(--line);border-bottom:0;grid-template-columns:58px 50px 1fr 170px;align-items:center;gap:18px;padding:21px 25px;display:grid}.curriculum-row:last-child{border-bottom:1px solid var(--line)}.curriculum-row.locked{opacity:.64}.curriculum-number{color:var(--gold);font:1.2rem Georgia}.curriculum-state{border:1px solid var(--line);width:40px;height:40px;color:var(--red);place-items:center;display:grid}.curriculum-state svg{width:18px}.curriculum-copy span{color:var(--red);font-size:.63rem}.curriculum-copy h3{margin:3px 0 5px;font-size:1rem}.curriculum-copy p{color:var(--muted);margin:0;font-size:.71rem}.curriculum-meta{text-align:right;font-size:.69rem}.curriculum-meta>span{color:var(--muted);justify-content:flex-end;align-items:center;gap:5px;display:flex}.curriculum-meta a{color:var(--red);margin-top:10px;font-weight:700;display:inline-block}.curriculum-meta small{margin-top:8px;display:block}.search-tools{padding:35px 0 4px}.search-large{border:1px solid var(--line);background:var(--paper);align-items:center;gap:13px;max-width:760px;height:60px;padding:0 20px;display:flex}.search-large input{background:0 0;border:0;outline:0;width:100%}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:19px;display:flex}.filter-row button{border:1px solid var(--line);background:var(--paper);cursor:pointer;padding:7px 14px;font-size:.72rem}.filter-row button.active{background:var(--red);color:#fff;border-color:var(--red)}.empty-state{text-align:center;background:var(--paper);border:1px solid var(--line);padding:90px 20px}.empty-state>span{border:1px solid var(--gold);width:66px;height:66px;color:var(--gold);border-radius:50%;place-items:center;margin:auto;display:grid}.empty-state h2{margin:20px 0 8px}.empty-state p{color:var(--muted)}.empty-state .primary-button{margin-top:24px}.watch-page{padding-bottom:70px}.watch-topbar{height:58px;color:var(--muted);justify-content:space-between;align-items:center;font-size:.73rem;display:flex}.watch-topbar a{color:var(--sumi);align-items:center;gap:7px;display:flex}.player-shell{aspect-ratio:16/9;background:#171614;width:min(1500px,100% - 64px);max-height:844px;margin:auto;position:relative;overflow:hidden}.player-shell>video{object-fit:contain;background:#171614;width:100%;height:100%;display:block}.demo-video-note{color:var(--muted);text-align:right;margin-top:10px;font-size:.69rem}.watch-layout{grid-template-columns:minmax(0,1fr) 360px;gap:38px;padding-top:36px;display:grid}.watch-title-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:25px;padding-bottom:31px;display:flex}.watch-title-row h1{margin:9px 0 13px;font-size:2.1rem}.watch-title-row p{color:var(--muted);line-height:1.8}.favorite-button{border:1px solid var(--line);background:var(--paper);cursor:pointer;white-space:nowrap;align-self:start;align-items:center;gap:7px;padding:10px 15px;display:flex}.favorite-button.active{color:var(--red);border-color:var(--red)}.completion-banner{background:var(--paper2);border:1px solid var(--line);align-items:center;gap:15px;margin:24px 0;padding:17px 20px;display:flex}.completion-banner>span{background:var(--goldsoft);border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.completion-banner.complete>span{background:var(--green);color:#fff}.completion-banner div{flex:1}.completion-banner strong{font-size:.84rem}.completion-banner p{color:var(--muted);margin:2px 0 0;font-size:.69rem}.completion-banner a{color:var(--red);align-items:center;font-size:.75rem;font-weight:700;display:flex}.content-panel{background:var(--paper);border:1px solid var(--line);margin-bottom:22px;padding:29px}.panel-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.panel-heading h2{margin:4px 0 0;font-size:1.3rem}.panel-heading>button{border:1px solid var(--gold);color:#8a6b32;cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:7px;padding:8px 13px;display:flex}.prompt-panel pre{white-space:pre-wrap;background:var(--paper2);border-left:3px solid var(--red);margin:22px 0 0;padding:18px;font-family:Noto Sans JP;font-size:.77rem;line-height:1.9}.download-row{text-align:left;border:0;border-top:1px solid var(--line2);cursor:pointer;background:0 0;align-items:center;gap:14px;width:100%;margin-top:20px;padding:17px 3px 2px;display:flex}.download-row>svg:first-child{color:var(--red)}.download-row span{flex:1}.download-row strong,.download-row small{display:block}.download-row small{color:var(--muted);margin-top:4px}.transcript-heading{cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.transcript-heading>div{text-align:left}.transcript-panel>p{color:#57534e;border-top:1px solid var(--line2);grid-template-columns:60px 1fr;margin-top:18px;padding-top:17px;font-size:.77rem;line-height:1.9;display:grid}.transcript-panel time{color:var(--red);font-size:.67rem}.watch-side .line-support{margin:0 0 20px;padding:28px;display:block}.watch-side .line-support>img{width:105px;height:105px;margin:24px auto 0}.watch-side .line-support h2{font-size:1.2rem}.watch-side .line-support .primary-button{width:100%;padding:0 10px;font-size:.75rem}.side-question{border:1px solid var(--line);background:var(--paper);gap:12px;padding:20px;display:flex}.side-question>svg{color:var(--gold);flex-shrink:0}.side-question strong{font-size:.77rem}.side-question p{color:var(--muted);margin:5px 0 0;font-size:.68rem;line-height:1.75}.mypage-layout{grid-template-columns:minmax(0,1fr) 350px;gap:35px;padding:42px 0 80px;display:grid}.profile-summary{align-items:center;gap:20px;display:flex}.large-avatar{background:var(--gold);color:#fff;border-radius:50%;place-items:center;width:72px;height:72px;font:1.8rem Noto Serif JP;display:grid}.profile-summary h2{margin:5px 0 2px}.profile-summary p{color:var(--muted);margin:0;font-size:.75rem}.profile-summary .secondary-button{margin-left:auto}.details-grid{border-top:1px solid var(--line2);grid-template-columns:repeat(2,1fr);margin:26px 0 0;display:grid}.details-grid div{border-bottom:1px solid var(--line2);padding:17px 0}.details-grid div:nth-child(odd){padding-right:24px}.details-grid dt{color:var(--muted);font-size:.68rem}.details-grid dd{margin:6px 0 0;font-size:.85rem;font-weight:600}.plan-notice{background:var(--paper2);gap:12px;margin-top:20px;padding:16px;display:flex}.plan-notice svg{color:var(--gold);flex-shrink:0}.plan-notice p{margin:0;font-size:.69rem;line-height:1.7}.setting-row{border-bottom:1px solid var(--line2);cursor:pointer;justify-content:space-between;align-items:center;padding:19px 0;display:flex}.setting-row>span{align-items:center;gap:13px;display:flex}.setting-row svg{color:var(--gold)}.setting-row strong,.setting-row small{display:block}.setting-row small{color:var(--muted);margin-top:4px}.setting-row input{width:42px;height:23px;accent-color:var(--red)}.required-note{color:var(--muted);margin:16px 0 0;font-size:.65rem}.account-links>button{border:0;border-top:1px solid var(--line2);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:16px 2px;display:flex}.account-links>button svg:first-child{color:var(--gold)}.account-links>button svg:last-child{margin-left:auto}.account-links .logout{color:var(--red)}.certificate-card>svg{color:var(--gold);width:38px;height:38px;margin-bottom:16px}.certificate-card h2{font-size:1.4rem;line-height:1.5}.certificate-card p{color:var(--muted);font-size:.71rem;line-height:1.8}.certificate-card .secondary-button{width:100%;margin-top:15px}.mypage-side .line-support{margin:20px 0;padding:27px;display:block}.mypage-side .line-support>img{width:110px;height:110px;margin:23px auto 0}.mypage-side .line-support h2{font-size:1.15rem}.mypage-side .line-button{width:100%;padding:0 8px;font-size:.74rem}.login-page{background:var(--paper);grid-template-columns:56% 44%;min-height:100vh;display:grid}.login-brand-panel{min-height:100vh;position:relative;overflow:hidden}.login-art{object-fit:cover;width:100%;height:100%}.login-art-shade{background:#1d1b184d;position:absolute;inset:0}.login-brand-copy{color:#fff;flex-direction:column;justify-content:center;padding:55px 7vw;display:flex;position:absolute;inset:0}.login-brand-copy>img{border-radius:50%;width:60px;position:absolute;top:44px;left:55px}.login-brand-copy>span{font:700 1.4rem Georgia;position:absolute;top:59px;left:130px}.login-brand-copy h1{text-shadow:0 2px 20px #0004;font-size:clamp(2.5rem,4.2vw,4.6rem);line-height:1.45}.login-brand-copy p{line-height:2}.login-form-panel{place-items:center;padding:50px;display:grid}.login-form{width:min(440px,100%)}.login-form h2{margin:8px 0 12px;font-size:2.1rem}.login-form>p{color:var(--muted);font-size:.8rem;line-height:1.8}.login-form form{margin-top:34px}.login-form label{margin-bottom:18px;font-size:.72rem;font-weight:700;display:block}.login-form input{border:1px solid var(--line);background:var(--paper2);width:100%;height:51px;margin-top:8px;padding:0 14px}.password-input{position:relative}.password-input button{cursor:pointer;background:0 0;border:0;position:absolute;top:13px;right:8px}.login-form .primary-button{width:100%;margin-top:8px}.forgot-link{color:var(--red);cursor:pointer;background:0 0;border:0;margin:19px auto 31px;font-size:.72rem;display:block}.login-help{background:var(--paper2);gap:12px;padding:17px;display:flex}.login-help svg{color:var(--gold)}.login-help strong{font-size:.75rem}.login-help p{color:var(--muted);margin:4px 0 0;font-size:.66rem;line-height:1.7}.login-legal{text-align:center;margin-top:25px;font-size:.6rem!important}.header-actions{position:relative}.notification-panel{z-index:70;background:var(--paper);border:1px solid var(--line);width:min(360px,100vw - 32px);box-shadow:var(--shadow);padding:17px;position:absolute;top:55px;right:0}.notification-panel>div{justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.notification-panel>div>button{color:var(--red);cursor:pointer;background:0 0;border:0;font-size:.68rem}.notification-panel article{border-top:1px solid var(--line2);gap:10px;padding:13px 2px;display:flex}.notification-panel article>span{background:var(--red);color:#fff;align-self:start;padding:3px 5px;font-size:.5rem}.notification-panel article p{margin:0}.notification-panel article strong,.notification-panel article small{display:block}.notification-panel article strong{font-size:.73rem}.notification-panel article small{color:var(--muted);margin-top:4px;font-size:.64rem;line-height:1.6}.app-toast{z-index:200;background:var(--sumi);color:#fff;align-items:center;gap:11px;width:min(430px,100vw - 32px);padding:15px 17px;font-size:.75rem;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 15px 45px #0004}.app-toast.success>svg{color:#94c497}.app-toast>svg{color:var(--gold);flex-shrink:0}.app-toast span{flex:1}.app-toast button{color:#fff;cursor:pointer;background:0 0;border:0;padding:2px}.app-toast button svg{width:18px}.locked-lesson-link{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.locked-lesson-title{text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.locked-lesson-title:hover{text-decoration:underline}.player-shell>video{cursor:pointer}.video-controls{z-index:5;color:#fff;background:linear-gradient(#0000,#0b0a09e8);padding:35px 18px 13px;position:absolute;bottom:0;left:0;right:0}.video-seek{width:100%;height:18px;accent-color:var(--red);cursor:pointer;margin:0}.video-control-row{align-items:center;gap:6px;display:flex}.video-control-row button{color:#fff;cursor:pointer;background:0 0;border:0;place-items:center;width:38px;height:36px;display:grid;position:relative}.video-control-row button:hover{background:#ffffff1c}.video-control-row button svg{width:20px}.video-control-row button small{font-size:.47rem;font-weight:700;position:absolute}.video-time{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:5px;font-size:.69rem}.control-spacer{flex:1}.volume-range{accent-color:#fff;width:78px}.video-control-row select{color:#fff;cursor:pointer;background:#26231f;border:1px solid #ffffff52;height:31px;padding:0 6px}.center-play{z-index:4;color:#fff;cursor:pointer;background:#b5332ee8;border:1px solid #ffffff80;border-radius:50%;place-items:center;width:70px;height:70px;display:grid;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 30px #0006}.center-play svg{width:28px;height:28px}.player-loading,.player-error{z-index:6;color:#fff;text-align:center;background:#151311aa;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex;position:absolute;inset:0 0 70px}.player-loading svg{animation:1s linear infinite player-spin}.player-error strong,.player-error span{display:block}.player-error span{color:#ddd;font-size:.72rem}@keyframes player-spin{to{transform:rotate(360deg)}}.transcript-heading>svg{transition:transform .2s}.transcript-heading>svg.open{transform:rotate(180deg)}.login-feedback{border-left:3px solid var(--green);background:#e8f1e7;padding:12px 14px;color:#405742!important;margin:-16px 0 20px!important;font-size:.68rem!important}.admin-app{background:#f3efe8;grid-template-columns:258px 1fr;min-height:100vh;display:grid}.admin-sidebar{background:var(--sumi);color:#fff;z-index:50;flex-direction:column;height:100vh;min-height:100vh;display:flex;position:sticky;top:0}.admin-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:11px;padding:24px 21px;display:flex}.admin-brand img{border-radius:50%;width:43px;height:43px}.admin-brand strong,.admin-brand span{display:block}.admin-brand strong{font-family:Georgia}.admin-brand span{color:#bdb7ad;margin-top:2px;font-size:.63rem}.admin-brand button{display:none}.admin-sidebar nav{padding:18px 11px}.admin-sidebar nav button{color:#d3cec5;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;height:46px;padding:0 13px;font-size:.75rem;display:flex}.admin-sidebar nav button svg{width:19px}.admin-sidebar nav button.active{color:#fff;border-left:2px solid var(--red);background:#b5332e40}.admin-sidebar nav em{background:var(--red);border-radius:50%;place-items:center;width:20px;height:20px;margin-left:auto;font-size:.58rem;font-style:normal;display:grid}.admin-side-bottom{border-top:1px solid #ffffff1a;margin-top:auto;padding:14px}.admin-side-bottom>a{color:#c3bdb4;align-items:center;gap:8px;padding:10px 6px 18px;font-size:.69rem;display:flex}.admin-side-bottom>div{align-items:center;gap:10px;display:flex}.admin-side-bottom strong,.admin-side-bottom small{display:block}.admin-side-bottom small{color:#aaa399}.admin-body{min-width:0}.admin-header{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:80px;padding:0 34px;display:flex}.admin-header>div:first-of-type span{color:var(--gold);letter-spacing:.14em;font-size:.56rem}.admin-header h1{margin:2px 0 0;font:600 1.12rem Noto Sans JP}.admin-header>div:last-child{align-items:center;gap:8px;display:flex}.admin-menu{display:none}.admin-content{max-width:1500px;margin:auto;padding:32px}.admin-welcome{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.admin-welcome h2{margin:5px 0;font-size:1.8rem}.admin-welcome p{color:var(--muted);margin:0;font-size:.75rem}.admin-quick{gap:9px;display:flex}.admin-quick button,.admin-primary,.admin-secondary{border:1px solid var(--line);background:var(--paper);cursor:pointer;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 15px;font-size:.72rem;font-weight:700;display:inline-flex}.admin-quick button:last-child,.admin-primary{background:var(--red);color:#fff;border-color:var(--red)}.admin-secondary{background:0 0}.admin-kpis{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px;display:grid}.admin-kpis article{background:var(--paper);border:1px solid var(--line);padding:20px;position:relative}.admin-kpis article>svg{color:var(--gold);width:21px;position:absolute;top:18px;right:18px}.admin-kpis article>span{color:var(--muted);font-size:.67rem}.admin-kpis strong{margin:8px 0 3px;font:600 2.2rem Noto Serif JP;display:block}.admin-kpis strong small{margin-left:4px;font:600 .68rem Noto Sans JP}.admin-kpis p{color:var(--muted);margin:0;font-size:.63rem}.admin-kpis .attention{border-top:3px solid var(--red)}.admin-kpis .attention svg,.admin-kpis .attention strong{color:var(--red)}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.admin-panel{background:var(--paper);border:1px solid var(--line);padding:23px}.admin-panel.full{min-height:calc(100vh - 145px)}.admin-panel-heading{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.admin-panel-heading h3{margin:4px 0 0;font-size:1.05rem}.admin-panel-heading>button{color:var(--red);cursor:pointer;background:0 0;border:0;align-items:center;font-size:.68rem;display:flex}.attention-row{border:0;border-top:1px solid var(--line2);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:13px;width:100%;padding:16px 0;display:flex}.attention-row>span{background:var(--redsoft);width:37px;height:37px;color:var(--red);border-radius:50%;place-items:center;display:grid}.attention-row.calm>span{color:var(--gold);background:#eee7d9}.attention-row div{flex:1}.attention-row strong{font-size:.74rem}.attention-row p{color:var(--muted);margin:3px 0 0;font-size:.63rem}.attention-row>svg{width:17px}.launch-bar{background:#e9e3da;height:7px}.launch-bar span{background:var(--red);width:12%;height:100%;display:block}.launch-list{margin:0;padding:10px 0 0;list-style:none}.launch-list li{border-bottom:1px solid var(--line2);align-items:center;gap:10px;padding:10px 0;font-size:.7rem;display:flex}.launch-list li svg{width:17px;color:var(--gold)}.launch-list li span{color:var(--muted);margin-left:auto}.launch-list li.done svg,.launch-list li.done span{color:var(--green)}.table-wrap{overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:780px}.table-wrap th{text-align:left;color:var(--muted);background:var(--paper2);padding:10px 12px;font-size:.63rem;font-weight:500}.table-wrap td{border-bottom:1px solid var(--line2);padding:13px 12px;font-size:.69rem}.table-wrap td strong,.table-wrap td small{display:block}.table-wrap td small{color:var(--muted);margin-top:3px}.table-progress{align-items:center;gap:7px;display:flex}.table-progress>span{background:#e7e0d6;width:60px;height:4px}.table-progress i{background:var(--red);height:100%;display:block}.list-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.list-toolbar>label{border:1px solid var(--line);align-items:center;gap:9px;width:min(360px,40%);height:43px;padding:0 12px;display:flex}.list-toolbar input{background:0 0;border:0;outline:0;width:100%}.list-toolbar>div{align-items:center;gap:9px;display:flex}.list-toolbar select{border:1px solid var(--line);background:var(--paper);height:42px;padding:0 10px}.content-admin-list article{border-top:1px solid var(--line2);grid-template-columns:48px 1fr 80px 50px 75px;align-items:center;gap:13px;padding:13px 0;display:grid}.video-file-mark{background:var(--redsoft);width:43px;height:43px;color:var(--red);place-items:center;display:grid}.video-file-mark.tone-1{color:#8b692e;background:#eee3cc}.video-file-mark.tone-2{color:var(--sumi);background:#e4e1dc}.content-admin-list strong{font-size:.74rem}.content-admin-list p{color:var(--muted);margin:3px 0 0;font-size:.63rem}.content-admin-list>article>span:not(.video-file-mark):not(.status-badge){font-size:.68rem}.content-admin-list button{color:var(--red);cursor:pointer;background:0 0;border:0;align-items:center;font-size:.68rem;display:flex}.payment-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.payment-summary div{background:var(--paper2);padding:15px}.payment-summary span{color:var(--muted);font-size:.65rem}.payment-summary strong{margin-top:5px;display:block}.audit-note{background:var(--paper2);gap:11px;margin-top:20px;padding:15px;display:flex}.audit-note svg{color:var(--gold)}.audit-note p{margin:0;font-size:.68rem;line-height:1.7}.release-date-big{background:var(--sumi);color:#fff;align-items:center;gap:15px;margin:20px 0;padding:19px;display:flex}.release-date-big svg{color:var(--gold)}.release-date-big strong,.release-date-big span{display:block}.release-date-big span{color:#ccc5bb;margin-top:3px;font-size:.65rem}.field-label{margin-bottom:8px;font-size:.68rem;font-weight:700;display:block}.release-options{gap:9px;display:grid}.release-options button{text-align:left;border:1px solid var(--line);cursor:pointer;background:0 0;padding:14px 14px 14px 40px;position:relative}.release-options button>span{border:1px solid var(--line);border-radius:50%;width:14px;height:14px;position:absolute;top:17px;left:14px}.release-options button.active{border-color:var(--red);background:var(--redsoft)}.release-options button.active>span{border:4px solid var(--red)}.release-options strong{font-size:.72rem}.release-options p{color:var(--muted);margin:4px 0 0;font-size:.62rem;line-height:1.6}.save-release{width:100%;margin-top:16px}.release-item{border-top:1px solid var(--line2);grid-template-columns:28px 1fr auto;align-items:center;padding:12px 0;font-size:.7rem;display:grid}.release-item>span:first-child{color:var(--gold);font-family:Georgia}.add-slot{border:1px dashed var(--gold);color:#8b6b34;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;width:100%;height:41px;margin-top:13px;display:flex}.settings-list h2{margin-top:5px}.settings-list>div{border-top:1px solid var(--line2);align-items:center;gap:12px;padding:15px 0;display:flex}.service-icon{background:var(--sumi);color:#fff;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.service-icon.firebase{background:#e39e3b}.service-icon.drive{background:#447c59}.settings-list p{flex:1;margin:0}.settings-list p strong,.settings-list p small{display:block}.settings-list p small{color:var(--muted)}.config-status{color:#8a5d1e;background:#f6e8d1;padding:5px 7px;font-size:.63rem}.modal-backdrop{z-index:100;background:#1917158c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-modal{background:var(--paper);width:min(540px,100%);max-height:calc(100vh - 40px);padding:32px;position:relative;overflow-y:auto;box-shadow:0 25px 80px #0004}.modal-close{cursor:pointer;background:0 0;border:0;position:absolute;top:18px;right:18px}.admin-modal h2{margin:5px 0 24px}.admin-modal>label,.form-grid label{margin-bottom:15px;font-size:.68rem;font-weight:700;display:block}.admin-modal input:not([type=file]),.admin-modal select{border:1px solid var(--line);background:var(--paper2);width:100%;height:44px;margin-top:7px;padding:0 10px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-help{background:var(--paper2);color:var(--muted);padding:12px;font-size:.64rem;line-height:1.7}.modal-actions{justify-content:flex-end;gap:9px;margin-top:23px;display:flex}.upload-drop{border:1px dashed var(--gold);color:#846834;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;height:150px;display:flex!important}.upload-drop span{color:var(--muted);margin-top:4px;font-weight:400}.upload-drop input{display:none}.action-dialog{background:var(--paper);width:min(500px,100%);max-height:calc(100vh - 40px);padding:32px;position:relative;overflow-y:auto;box-shadow:0 25px 80px #0004}.action-dialog h2{margin:5px 0 21px}.action-dialog-body{color:var(--muted);font-size:.76rem;line-height:1.8}.action-dialog-body p{margin:0}.dialog-field{color:var(--sumi);margin-bottom:15px;font-size:.69rem;font-weight:700;display:block}.dialog-field input{border:1px solid var(--line);background:var(--paper2);width:100%;height:45px;margin-top:7px;padding:0 11px;display:block}.dialog-details{margin:0}.dialog-details>div{border-bottom:1px solid var(--line2);justify-content:space-between;gap:20px;padding:11px 0;display:flex}.dialog-details dt{color:var(--muted)}.dialog-details dd{color:var(--sumi);margin:0;font-weight:700}.admin-empty{text-align:center;color:var(--muted);background:var(--paper2);padding:30px;font-size:.73rem}.sample-data-label{color:var(--muted);margin:0 0 10px;font-size:.66rem}@media (width<=1180px){.desktop-nav{display:none}.page-width{width:min(100% - 56px,1100px)}.lesson-grid.wide{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:minmax(0,1fr) 300px;gap:25px}.course-grid{grid-template-columns:repeat(2,1fr)}.course-grid.compact{grid-template-columns:1fr}.watch-layout{grid-template-columns:1fr 300px}.admin-kpis{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.page-width{width:calc(100% - 32px)}.site-header{height:70px;padding:0 16px}.brand img{width:42px;height:42px}.brand span{font-size:1.05rem}.header-search,.profile-button,.notification-button{display:none}.mobile-menu-button{background:0 0;border:0;place-items:center;width:42px;height:42px;display:grid}.mobile-drawer{z-index:29;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;padding:13px 16px 20px;display:flex;position:fixed;top:70px;left:0;right:0}.mobile-drawer a{border-bottom:1px solid var(--line2);align-items:center;gap:10px;padding:13px 5px;display:flex}.main-content{min-height:calc(100vh - 70px);padding-bottom:68px}.bottom-nav{z-index:40;border-top:1px solid var(--line);background:#fffdf8fa;grid-template-columns:repeat(4,1fr);height:67px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:#7c766e;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.59rem;display:flex}.bottom-nav a.active{color:var(--red)}.is-playback .main-content{padding-bottom:0}.welcome-section{min-height:230px;padding:43px 0 30px}.welcome-section h1{font-size:1.7rem}.welcome-section p{font-size:.76rem}.line-crane{display:none}.dashboard-grid{display:block}.dashboard-side{grid-template-columns:1fr 1fr;margin-bottom:45px;display:grid;position:static}.continue-card{grid-template-columns:1fr}.lesson-thumbnail.large{min-height:250px}.continue-copy{padding:28px}.lesson-grid,.lesson-grid.wide{grid-template-columns:repeat(2,1fr)}.course-grid,.course-grid.compact{grid-template-columns:1fr}.line-support{padding:27px}.line-support>img{width:120px;height:120px;margin-right:0}.course-detail-hero h1{font-size:2rem}.curriculum-row{grid-template-columns:38px 1fr 110px}.curriculum-state,.curriculum-copy p{display:none}.watch-topbar{width:calc(100% - 32px)}.player-shell{aspect-ratio:16/9;width:100%}.demo-video-note{text-align:left}.watch-layout{grid-template-columns:1fr}.watch-side{grid-template-columns:1fr 1fr;gap:15px;display:grid}.watch-side .line-support{margin:0}.mypage-layout{grid-template-columns:1fr}.mypage-side{grid-template-columns:1fr 1fr;gap:20px;display:grid}.mypage-side .line-support{margin:0}.login-page{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{min-height:100vh;padding:35px 24px}.admin-app{display:block}.admin-sidebar{width:258px;transition:left .2s;position:fixed;left:-270px}.admin-sidebar.open{left:0}.admin-brand button{color:#fff;background:0 0;border:0;margin-left:auto;display:block}.admin-menu{background:0 0;border:0;place-items:center;margin-right:14px;display:grid}.admin-header{justify-content:flex-start;padding:0 18px}.admin-header>div:last-child{margin-left:auto}.admin-content{padding:22px 16px}.admin-welcome{align-items:flex-start}.admin-quick{flex-direction:column}.admin-grid{grid-template-columns:1fr}}@media (width<=560px){.brand span{font-size:.86rem}.brand em{padding:2px 4px;font-size:.5rem}.welcome-section{min-height:205px}.welcome-section h1{font-size:1.42rem}.section-heading h2{font-size:1.3rem}.section-heading>a{font-size:.69rem}.continue-copy h3{font-size:1.4rem}.continue-copy .primary-button{width:100%;min-width:0}.lesson-grid,.lesson-grid.wide{grid-template-columns:1fr}.lesson-thumbnail{height:190px}.dashboard-side{grid-template-columns:1fr}.line-support{display:block}.line-support>img{margin:24px auto 0}.course-card{grid-template-columns:70px 1fr}.page-hero{padding-top:42px}.page-hero h1{font-size:2rem}.segmented button{flex:1;min-width:0;font-size:.72rem}.curriculum-row{grid-template-columns:32px 1fr}.curriculum-meta{text-align:left;grid-column:2;justify-content:space-between;align-items:center;display:flex}.curriculum-meta>span{justify-content:flex-start}.course-detail-progress{display:block}.course-detail-progress .progress-row{margin-top:10px}.player-shell{aspect-ratio:16/9}.watch-title-row{display:block}.watch-title-row h1{font-size:1.65rem}.favorite-button{margin-top:18px}.completion-banner{align-items:flex-start}.completion-banner a{display:none}.content-panel{padding:22px 19px}.panel-heading{align-items:flex-start}.watch-side,.mypage-side{grid-template-columns:1fr}.profile-summary{flex-wrap:wrap}.profile-summary .secondary-button{width:100%;margin-left:0}.details-grid{grid-template-columns:1fr}.details-grid div:nth-child(odd){padding-right:0}.admin-welcome{display:block}.admin-quick{flex-direction:row;margin-top:18px}.admin-kpis{grid-template-columns:1fr 1fr}.admin-kpis article{padding:15px}.admin-kpis strong{font-size:1.7rem}.list-toolbar{flex-direction:column;align-items:stretch}.list-toolbar>label{width:100%}.list-toolbar>div{flex-wrap:wrap}.content-admin-list article{grid-template-columns:42px 1fr auto}.content-admin-list article>span:not(.video-file-mark):not(.status-badge),.content-admin-list article>button{display:none}.payment-summary,.form-grid{grid-template-columns:1fr}}@media (width<=820px){.video-controls{padding:25px 10px 8px}.video-control-row{gap:2px}.video-control-row button{width:34px;height:32px}.video-control-row button svg{width:18px}.video-time{margin-left:2px;font-size:.62rem}.volume-range{width:55px}.center-play{width:56px;height:56px}.player-loading,.player-error{inset:0 0 58px}.app-toast{bottom:82px;right:16px}}@media (width<=560px){.volume-range{display:none}.video-control-row select{width:54px;padding:0 3px;font-size:.65rem}.video-time{font-size:.58rem}.video-control-row button{width:31px}.center-play{width:50px;height:50px}.content-admin-list article{grid-template-columns:42px 1fr auto auto}.content-admin-list article>button{display:flex!important}.action-dialog{padding:27px 21px}}:root{--ivory:#f5f0e8;--paper:#fffdf8;--paper2:#faf6ef;--sumi:#292724;--muted:#706b64;--red:#b5332e;--red2:#942722;--redsoft:#f4e4e1;--gold:#b89555;--goldsoft:#eadcc0;--line:#dfd6c9;--line2:#ebe4da;--green:#59735a;--shadow:0 10px 35px #402f1f12,0 2px 8px #402f1f0d;color:var(--sumi);background:var(--ivory);font-synthesis:none;text-rendering:optimizelegibility;font-family:Noto Sans JP,Yu Gothic,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:.02em;font-family:Noto Serif JP,Yu Mincho,serif}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #b5332e40}.page-width{width:min(1420px,100% - 96px);margin-inline:auto}.eyebrow{color:var(--gold);letter-spacing:.16em;font-size:.69rem;font-weight:700;display:block}.primary-button,.secondary-button{border:1px solid var(--red);cursor:pointer;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 22px;font-weight:700;display:inline-flex}.primary-button{background:var(--red);color:#fff}.primary-button:hover{background:var(--red2)}.secondary-button{color:#8d6c34;border-color:var(--gold);background:0 0}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.category-label{color:var(--red);font-size:.7rem;font-weight:700}.status-badge{white-space:nowrap;border-radius:30px;align-items:center;gap:5px;padding:5px 9px;font-size:.66rem;font-weight:700;display:inline-flex}.status-badge svg{width:13px}.status-badge.active{color:#49624a;background:#e6efe5}.status-badge.grace{color:#8a5d1e;background:#f6e8d1}
