:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#272b2f;font-size:16px;line-height:1.5;background:#f8f9fa}*{box-sizing:border-box}body{margin:0}a{color:#007bff;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #87bfff;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.65}.topbar{height:64px;background:#343a40;color:white;display:flex;align-items:center;position:sticky;top:0;z-index:20}.topbar-inner{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 16px}.home .topbar-inner{max-width:960px;margin:auto;padding:0 15px}.brand{color:white;font-weight:700}.home .brand{font-size:20px}.menu-button{border:1px solid #4a4f53;border-radius:4px;background:transparent;width:56px;height:40px;padding:8px 13px;color:#b6babd}.menu-button span{display:block;height:2px;background:currentColor;margin:5px 0}.menu-panel{position:absolute;right:16px;top:57px;min-width:190px;background:white;border:1px solid #ddd;border-radius:4px;box-shadow:0 3px 8px #0002;color:#343a40;padding:6px;z-index:30}.home .menu-panel{right:max(16px,calc((100vw - 930px)/2))}.menu-panel a{display:block;padding:8px 14px;color:#343a40}.hero{background:white;text-align:center;padding:30px 15px 36px;border-radius:0 0 4px 4px}.hero h1{font-size:32px;font-weight:400;margin:0}.catalog{max-width:960px;margin:auto;padding:48px 15px}.course-group+.course-group{margin-top:30px}.group-title{font-size:30px;font-weight:400;margin:0 0 16px}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 30px}.course-card{background:white;border:1px solid #d9dcdf;border-radius:3px;overflow:hidden;box-shadow:0 2px 3px #00000012;display:flex;flex-direction:column}.course-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#eee}.cover{position:relative;aspect-ratio:16/9;background:linear-gradient(#100a02,#030602);color:white;display:grid;place-items:center;text-align:center;overflow:hidden}.cover:before{content:"";position:absolute;inset:10%;border:2px solid #e9c95d;box-shadow:inset 0 0 0 13px #090901,inset 0 0 0 14px #6e5c21}.cover-inner{position:relative;width:72%;line-height:1.3;font-family:"Times New Roman","Yu Mincho",serif}.cover-step{font-size:clamp(28px,4.3vw,47px);font-weight:400;white-space:nowrap}.cover-subtitle{display:table;max-width:100%;margin:18px auto 0;background:#f8d773;color:#171100;padding:2px 22px;font-size:clamp(16px,2.1vw,23px)}.cover-pending{background:#eceff1;border-bottom:1px solid #ddd;display:grid;place-items:center;aspect-ratio:16/9;color:#72787d;font-size:18px}.card-body{padding:14px 20px 20px;display:flex;flex-direction:column;flex:1}.course-title{font-size:24px;font-weight:400;margin:0 0 35px;min-height:36px}.progress{height:16px;border-radius:4px;background:#e9ecef;overflow:hidden}.progress-fill{background:#007bff;height:100%;transition:width .2s}.card-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:24px;gap:10px}.btn{display:inline-block;background:#007bff;border:1px solid #007bff;color:white;padding:6px 12px;border-radius:4px;font-size:16px;line-height:1.5;text-align:center;text-decoration:none}.btn:hover{background:#0069d9;color:white;text-decoration:none}.completion{color:#6c757d;white-space:nowrap}.workspace{min-height:calc(100vh - 120px);background:white;display:flex}.sidebar{width:300px;flex:none;background:#f8f9fa;border-right:1px solid #d5d9dc;position:relative;min-height:calc(100vh - 120px)}.sidebar h2{font-size:16px;margin:0;padding:24px 16px 6px}.sidebar .course-image,.sidebar .cover,.sidebar .cover-pending{width:100%}.sidebar .cover-step{font-size:32px}.sidebar .cover-subtitle{font-size:16px;padding:0 8px;margin-top:14px}.sidebar-progress{padding:24px 16px;text-align:center}.sidebar-progress .progress{margin-bottom:5px}.collapse-sidebar{position:absolute;bottom:14px;right:16px;background:none;border:0;color:#737c83;font-size:27px;line-height:1}.content{padding:24px;flex:1;min-width:0}.breadcrumb{font-size:13px;color:#6c757d;margin-bottom:12px;display:flex;gap:9px;flex-wrap:wrap}.breadcrumb span+span:before{content:"/";margin-right:9px;color:#adb5bd}.lesson-box{border:1px solid #d9dcdf;border-radius:4px;overflow:hidden}.lesson-box h2{font-size:16px;font-weight:400;color:#00a1dd;background:#f7f7f7;border-bottom:1px solid #d5d8da;padding:11px 20px;margin:0}.lesson-list{padding:20px;display:grid;gap:8px}.lesson-row{border:1px solid #ddd;border-radius:3px;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#555}.lesson-row .btn{font-size:14px;padding:4px 10px;flex:none}.lesson-heading{font-size:24px;line-height:1.4;font-weight:400;margin:0 0 16px}.lesson-copy{max-width:100%;font-size:18px;line-height:1.9}.lesson-copy img{max-width:100%;height:auto}.lesson-copy p{margin:24px 0}.lesson-copy iframe,.lesson-copy video{max-width:100%}.lesson-nav{padding:10px 16px}.lesson-nav h3{font-size:16px;color:#6c757d;margin:8px 0 12px}.lesson-nav a{display:block;padding:6px 0}.sidebar-tools{display:flex;justify-content:space-between;padding:14px 16px 0}.text-btn{background:none;border:0;color:#555;padding:0;font-size:22px;line-height:1}.lesson-finish{text-align:center;padding:45px 0 25px}.footer{padding:16px 15px;color:#6c757d;background:#f5f5f5;font-size:14px}.footer-inner{max-width:960px;margin:auto}.import-note{border:1px solid #e0e3e6;background:#f8f9fa;border-radius:3px;color:#626970;padding:24px;font-size:16px}.import-note p{margin:0 0 14px}.import-note p:last-child{margin:0}.local-note{font-size:13px;color:#6c757d;text-align:center;margin-top:12px}.sidebar-hidden .sidebar{display:none}.show-sidebar{position:fixed;left:0;bottom:70px;border:1px solid #ccc;background:#f8f9fa;color:#6c757d;border-radius:0 4px 4px 0;padding:10px;z-index:10}.mobile-outline{display:none}.empty{color:#6c757d;padding:12px;margin:0}@media(min-width:1200px){.home .topbar{height:56px}}@media(max-width:767px){.topbar{height:56px}.brand{font-size:16px!important}.hero{padding:24px 15px}.hero h1{font-size:27px}.catalog{padding:30px 16px}.course-grid{grid-template-columns:1fr;gap:24px}.group-title{font-size:25px}.course-title{font-size:23px;margin-bottom:28px}.cover-step{font-size:45px}.cover-subtitle{font-size:23px}.workspace{display:block;min-height:calc(100vh - 112px)}.sidebar{width:100%;min-height:0;border-right:0;border-bottom:1px solid #d5d9dc}.sidebar .course-image,.sidebar .cover,.sidebar .cover-pending{max-width:420px;margin:auto}.sidebar h2{padding:14px 16px}.sidebar-progress{max-width:420px;margin:auto;padding:16px}.course-view .sidebar{display:none}.content{padding:20px 16px}.lesson-list{padding:12px}.lesson-row{padding:10px 12px}.lesson-row .btn{font-size:14px}.lesson-heading{font-size:22px}.lesson-copy{font-size:17px}.lesson-view .sidebar{display:none}.lesson-view .sidebar.mobile-open{display:block}.mobile-outline{display:block;margin-bottom:18px;background:#f8f9fa;color:#343a40;border:1px solid #ddd;border-radius:3px;padding:7px 12px}.collapse-sidebar{display:none}.footer{padding:16px}.breadcrumb{font-size:13px}.show-sidebar{display:none}}
/* Layout details observed in the original member views. */
.home .topbar{position:relative;height:56px}
.lesson-copy{font-size:16px;line-height:1.5}
.lesson-copy p{margin:0 0 1rem}
.lesson-copy h1{font-size:40px;font-weight:400;line-height:1.2;margin:0 0 .5rem}
.lesson-copy h2{font-size:32px;font-weight:400;line-height:1.2;margin:0 0 .5rem}
.lesson-copy h3{font-size:28px;font-weight:400;line-height:1.2;margin:0 0 .5rem}
.lesson-copy h4{font-size:24px;font-weight:400;line-height:1.2;margin:0 0 .5rem}
.lesson-copy figure{margin:0 auto 1rem}
.lesson-copy figure.image{text-align:center}
.lesson-copy figure.image img{display:block;margin:auto}
.lesson-copy figcaption{font-size:13px;color:#6c757d;padding:.5rem 0}
.lesson-copy ul,.lesson-copy ol{padding-left:40px;margin-top:0;margin-bottom:1rem}
.lesson-copy table{border-collapse:collapse;width:100%;margin:1rem 0}
.lesson-copy th,.lesson-copy td{border:1px solid #ccc;padding:8px;vertical-align:top}
.lesson-copy pre{white-space:pre-wrap;background:#eee;border:1px solid #ccc;padding:12px;font-size:14px}
.lesson-copy hr{border:0;border-top:4px solid #ddd;margin:1rem 0}
.lesson-copy blockquote{border-left:5px solid #ccc;margin:1rem 0;padding:0 1rem}
@media(max-width:767px){.lesson-copy h1{font-size:30px}.lesson-copy h2{font-size:27px}.lesson-copy h3{font-size:24px}.lesson-copy figure.table{overflow-x:auto}}
/* Course navigation and local progress controls. */
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.home .footer{background:white;padding:28px 15px}.sidebar{position:sticky;top:64px;height:calc(100vh - 64px);min-height:0;align-self:flex-start;display:flex;flex-direction:column}.sidebar .course-image{height:auto}.sidebar h2{flex:none}.sidebar-tools{flex:none}.lesson-nav{overflow-y:auto;flex:1}.lesson-nav a{color:#343a40;padding:7px 0;line-height:1.5}.lesson-nav a[aria-current]{color:#009fe3}.collapse-sidebar{position:static;align-self:flex-end;flex:none;margin:8px 16px 14px}.check-circle{display:inline-flex;width:17px;height:17px;border:1px solid currentColor;border-radius:50%;align-items:center;justify-content:center;vertical-align:middle;font-size:12px;margin-right:8px;flex:none;line-height:1}.check-circle.checked{color:inherit}.lesson-list{gap:0}.lesson-row{border-radius:0;border-bottom:0}.lesson-row:first-child{border-radius:3px 3px 0 0}.lesson-row:last-child{border-bottom:1px solid #ddd;border-radius:0 0 3px 3px}.lesson-row:only-child{border-radius:3px}.lesson-row>span{display:flex;align-items:center}.lesson-pager{display:flex;align-items:center;justify-content:space-between;gap:15px}.btn-outline{background:white;color:#007bff}.btn-outline:hover{background:#007bff;color:white}.btn.disabled{opacity:.65;cursor:default}.lesson-finish{padding:24px 0}.playback-settings{flex:none;padding:10px 16px;border-bottom:1px solid #ddd;background:white}.playback-settings label{display:flex;gap:8px;align-items:start;font-size:14px;margin:8px 0}.playback-settings input{margin-top:4px}.playback-settings small{font-size:12px;color:#6c757d}.lesson-copy img{cursor:zoom-in}.image-lightbox{max-width:96vw;max-height:94vh;background:#111;border:0;padding:40px 12px 12px;color:white}.image-lightbox::backdrop{background:#000c}.image-lightbox img{display:block;max-width:90vw;max-height:calc(90vh - 50px);object-fit:contain}.image-lightbox button{position:absolute;right:8px;top:0;border:0;background:none;color:white;font-size:30px;padding:0 8px}.lesson-copy figure img{width:auto}.lesson-copy figure.image-style-side{float:right;max-width:50%;margin-left:1.5em}.lesson-copy:after{content:"";display:block;clear:both}@media(max-width:767px){.sidebar{position:static;top:auto;height:auto}.lesson-nav{max-height:60vh}.sidebar .collapse-sidebar{display:none}.lesson-pager{gap:8px}.lesson-pager .btn{padding:6px 10px;font-size:14px}.footer-inner{font-size:13px;flex-wrap:wrap}.lesson-copy figure.image-style-side{float:none;max-width:100%;margin:0 auto 1rem}.mobile-outline{font-size:14px}.playback-settings{padding-bottom:14px}}
