﻿:root{--primary: #0E7490;--primary-dark: #0B4F63;--primary-light: #CFFAFE;--accent: #F59E0B;--ink: #0A1A24;--body-bg: #EEF4F7;--paper: #FFFFFF;--text: #0F1E28;--text-2: #5B6B76;--muted: #94A3B8;--line: #DCE6EC;--shadow: 0 1px 2px rgba(10,26,36,.06), 0 10px 28px rgba(14,116,144,.10);--ok: #0F9D58;--ng: #DC2626;--warn: #F59E0B}*{box-sizing:border-box}html,body{margin:0;padding:0}body.app-layout{font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;color:var(--text);background:var(--body-bg);line-height:1.65;display:flex;flex-direction:column;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-0.01em;text-wrap:balance}a{color:var(--primary);text-decoration:none}.wrap{max-width:980px;margin:0 auto;padding:0 16px;width:100%}.wrap.narrow{max-width:760px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.eyebrow{font-size:.8rem;letter-spacing:.08em;color:var(--primary-light);margin:0 0 4px}.hd{background:linear-gradient(90deg, #0A1A24, #0E2A36);color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 1px 0 rgba(255,255,255,.06),0 4px 16px rgba(0,0,0,.18)}.hd .wrap{display:flex;align-items:center;gap:16px;height:56px}.hd .brand{display:flex;align-items:center;gap:8px;color:#fff;font-weight:700;white-space:nowrap}.hd .brand .logo{display:block}.hd .exam-switch{margin:0}.hd .exam-select{appearance:none;background:var(--primary);color:#fff;border:0;border-radius:999px;padding:6px 32px 6px 14px;font-weight:700;font-size:.95rem;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='white' stroke-width='2'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.hd .nav{display:flex;gap:2px;margin-left:auto}.hd .nav a{white-space:nowrap;color:#b7c6cf;padding:6px 10px;border-radius:8px;font-size:.95rem;font-weight:500;position:relative}.hd .nav a:hover{color:#fff}.hd .nav a.on{color:#fff}.hd .nav a.on::after{content:"";position:absolute;left:12px;right:12px;bottom:-2px;height:2px;background:#5ec2da;border-radius:2px}.hd .hd-r{display:flex;align-items:center;gap:8px}.hd .hd-r .user{font-size:.85rem;color:#cbd5e1;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hd .hd-r form{margin:0}@media(max-width: 720px){.hd .wrap{flex-wrap:wrap;height:auto;padding:8px 12px;gap:8px}.hd .brand .name{display:none}.hd .nav{order:3;width:100%;justify-content:space-around;margin:0}.hd .hd-r .user{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:10px 18px;font-weight:700;border:1px solid rgba(0,0,0,0);cursor:pointer;font-size:1rem;background:var(--paper);color:var(--text);white-space:nowrap;transition:transform .08s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.btn-p{background:linear-gradient(180deg, #1593B3, #0E7490);color:#fff;box-shadow:0 2px 6px rgba(14,116,144,.35)}.btn.btn-p:hover{box-shadow:0 6px 14px rgba(14,116,144,.35)}.btn.btn-g{background:#fff;color:var(--primary-dark);border-color:var(--line)}.btn.btn-g:hover{border-color:var(--primary)}.btn.btn-s{padding:6px 12px;font-size:.9rem;border-radius:8px}.chip{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.85rem;background:var(--line);color:var(--text-2)}.chip.chip-o{background:#fef3c7;color:#92400e}.chip.chip-ok{background:#dcfce7;color:#166534}.chip.chip-ng{background:#fee2e2;color:#991b1b}.chip-btn{border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.12);color:#fff;cursor:pointer;margin:2px}.page-hero{position:relative;overflow:hidden;color:#fff;padding:32px 0 36px;background:linear-gradient(120deg, #0B4F63 0%, #0E7490 60%, #16A3C4 100%)}.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 40%, rgba(255, 255, 255, 0.18) 0, rgba(255, 255, 255, 0) 28%),radial-gradient(circle at 85% 40%, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0) 44%),radial-gradient(circle at 85% 40%, rgba(255, 255, 255, 0.06) 0, rgba(255, 255, 255, 0) 60%);pointer-events:none}.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:22px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 24' preserveAspectRatio='none'><path d='M0 14 Q 150 0 300 14 T 600 14 T 900 14 T 1200 14 V 24 H 0 Z' fill='%23EEF4F7'/></svg>") bottom/100% 100% no-repeat}.page-hero .wrap{position:relative;z-index:1}.page-hero .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.page-hero h1{margin:0;font-size:1.75rem;font-weight:900}.page-hero .sub{margin:6px 0 0;color:#ddf4fa;max-width:640px}.sec{font-size:1.15rem;font-weight:900;margin:28px 0 12px;display:flex;align-items:center;gap:8px}.sec::before{content:"";width:4px;height:18px;border-radius:2px;background:var(--primary)}.grid-2{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:16px}.card{background:var(--paper);border:1px solid rgba(220,230,236,.8);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.sc .h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px}.sc .h b{font-size:1.15rem;font-weight:900}.sc .h span{font-size:.85rem}.sc .kv{display:grid;grid-template-columns:repeat(3, 1fr);gap:8px}.sc .kpi{display:flex;flex-direction:column}.sc .kpi .v{font-size:1.6rem;font-weight:900;color:var(--primary-dark)}.sc .kpi .v small{font-size:.8rem;color:var(--text-2);font-weight:400;margin-left:2px}.sc .kpi .l{font-size:.75rem;color:var(--text-2)}.sc .bar{height:8px;background:#e6eef2;border-radius:4px;margin:14px 0;overflow:hidden}.sc .bar i{display:block;height:100%;background:linear-gradient(90deg, #16A3C4, #0E7490);border-radius:4px}.sc .f{display:flex;gap:8px;flex-wrap:wrap}.crumbs{margin:18px 0 12px;color:var(--text-2);font-size:.9rem}.crumbs a{font-weight:600}.problem .src{font-size:.8rem;margin:0 0 10px;display:inline-block;background:var(--primary-light);color:var(--primary-dark);padding:2px 10px;border-radius:999px}.problem .src a{color:inherit;text-decoration:underline}.problem .body{font-size:1.1rem;line-height:1.8}.problem .body p{margin:0 0 .6em}.problem .fig{font-size:.9rem}.choices{display:flex;flex-direction:column;gap:8px;margin:12px 0 24px}.choice{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font:inherit;font-size:1.02rem;cursor:pointer;color:var(--text);box-shadow:0 1px 2px rgba(10,26,36,.04);transition:border-color .12s,box-shadow .12s,transform .08s}.choice .n{flex:0 0 28px;height:28px;border-radius:50%;background:var(--primary-light);color:var(--primary-dark);font-weight:700;display:inline-flex;align-items:center;justify-content:center}.choice .t{flex:1}.choice .t .exp{display:block;margin-top:6px;color:var(--text-2);font-size:.9rem}.choice:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(14,116,144,.15);transform:translateY(-1px)}.choice.is-correct{border-color:var(--ok);background:#f0fdf4}.choice.is-correct .n{background:var(--ok);color:#fff}.choice.is-selected:not(.is-correct){border-color:var(--ng);background:#fef2f2}.choice.is-selected:not(.is-correct) .n{background:var(--ng);color:#fff}.review .choice{cursor:default}.verdict{display:flex;align-items:baseline;gap:12px;padding:12px 16px;border-radius:12px;margin:16px 0}.verdict b{font-size:1.2rem}.verdict.ok{background:#dcfce7;color:#166534}.verdict.ng{background:#fee2e2;color:#991b1b}.actions{display:flex;gap:8px;margin:16px 0 32px}.tbl{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.tbl th,.tbl td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:.95rem}.tbl th{background:#f8fafc;color:var(--text-2);font-weight:600}.flash{padding:8px 0;font-size:.95rem}.flash.flash-notice{background:#dcfce7;color:#166534}.flash.flash-alert{background:#fee2e2;color:#991b1b}.ft{margin-top:auto;padding:24px 0;color:var(--text-2);font-size:.8rem}.ft .wrap{display:flex;flex-direction:column;gap:4px}.app-main{padding-bottom:32px}.auth{max-width:440px;margin:32px auto;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px 24px}.auth h1{margin:0 0 4px;font-size:1.4rem;text-align:center}.auth>.muted{text-align:center;margin:0 0 18px;font-size:.95rem}.auth .field{margin-bottom:14px}.auth .field label{display:block;font-size:.85rem;color:var(--text-2);margin-bottom:4px}.auth .field input[type=email],.auth .field input[type=password]{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;font:inherit}.auth .field small{display:block;margin-top:2px;font-size:.8rem}.auth .field.check{display:flex;align-items:center;gap:6px}.auth .field.check label{margin:0}.auth .wide{width:100%}.auth form{margin:0}.auth .auth-links{display:flex;justify-content:center;gap:16px;margin-top:16px;font-size:.9rem}.oauth form{margin:0 0 8px}.oauth .btn{width:100%}.oauth .oauth-google{background:#fff;color:var(--text);border-color:var(--line)}.oauth .oauth-apple{background:#000;color:#fff}.oauth .or{display:flex;align-items:center;gap:10px;color:var(--text-2);font-size:.8rem;margin:12px 0 16px}.oauth .or::before,.oauth .or::after{content:"";flex:1;height:1px;background:var(--line)}#error_explanation{color:var(--ng);font-size:.9rem}.chip-acc{background:var(--primary-light);color:var(--primary-dark)}.grid-3{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px;margin-top:16px}.kpi-card{display:flex;flex-direction:column;align-items:center}.kpi-card .v{font-size:2rem;font-weight:900;color:var(--primary-dark)}.kpi-card .l{font-size:.8rem;color:var(--text-2)}.srs{margin:16px 0 32px}.srs .srs-q{margin:0 0 10px;font-weight:600}.srs-grades{display:grid;grid-template-columns:repeat(3, 1fr);gap:8px}.srs-grades form{margin:0}.srs-grades .grade{width:100%;display:flex;flex-direction:column;gap:2px;padding:10px 6px}.srs-grades .grade b{font-size:1rem}.srs-grades .grade small{font-size:.75rem;color:var(--text-2);font-weight:400}.srs-grades .grade.g1{border-color:#fcd34d}.srs-grades .grade.g2{border-color:var(--primary)}.srs-grades .grade.g3{border-color:var(--ok)}.due-card{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:-10px;border-left:4px solid var(--primary)}ul.plain{list-style:none;padding:0;margin:0 0 10px}ul.plain li{padding:4px 0;border-bottom:1px dashed var(--line);font-size:.95rem}ul.plain li small{margin-left:6px}.daily-bars{display:flex;gap:6px;align-items:flex-end;height:120px;margin-bottom:12px}.daily-bars .db{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.daily-bars .db i{display:block;width:100%;max-width:28px;background:var(--primary);border-radius:4px 4px 0 0;min-height:2px}.daily-bars .db small{font-size:.7rem;color:var(--text-2);margin-top:4px}.tbl.compact td,.tbl.compact th{padding:6px 10px}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form input[type=date],.inline-form input[type=number]{padding:8px;border:1px solid var(--line);border-radius:8px;font:inherit}.inline-form input[type=number]{width:90px}.figimg{margin:8px 0 4px;text-align:center}.figimg img{max-width:100%;max-height:360px;border:1px solid var(--line);border-radius:8px;background:#fff}.mock-grid{grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));margin-top:0}.mock-cell .h{display:flex;justify-content:space-between;margin-bottom:8px}.mock-cell .h b{font-size:1.05rem}.mock-cell .score{display:flex;flex-direction:column;margin-bottom:10px}.mock-cell .score .v{font-size:1.6rem;font-weight:700}.mock-cell .score .v small{font-size:.8rem;font-weight:400;color:var(--text-2);margin-left:2px}.mock-cell .score .l{font-size:.78rem;color:var(--text-2)}.mock-cell .score.ok .v{color:var(--ok)}.mock-cell .score.ng .v{color:var(--ng)}.mock-cell form{margin:0}.mock-bar{height:6px;background:var(--line);border-radius:3px;margin:0 0 12px;overflow:hidden}.mock-bar i{display:block;height:100%;background:var(--primary)}details.rv{margin-bottom:8px;padding:0}details.rv summary{padding:12px 16px;cursor:pointer;list-style:none;display:flex;gap:8px;align-items:center}details.rv summary .muted{font-weight:400}details.rv .rv-body{padding:0 16px 12px}details.rv .rv-body .problem{border:0;padding:0 0 8px}details.rv.ng{border-color:#fecaca}.countdown,.goal{display:flex;align-items:baseline;gap:6px}.countdown .v,.goal .v{font-size:1.5rem;font-weight:700}.countdown .v small,.goal .v small{font-size:.8rem;font-weight:400;margin-left:2px}.countdown .l,.goal .l{font-size:.85rem;color:#e0f2fe}.countdown .chip,.goal .chip{margin-left:6px}.hero-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.hero-side .hero-link{color:#e0f2fe;font-size:.85rem;text-decoration:underline}.mock-card{margin-top:12px;border-left-color:var(--accent)}.form-v .field{margin-bottom:14px}.form-v .field label{display:block;font-size:.85rem;color:var(--text-2);margin-bottom:4px}.form-v .field input[type=date],.form-v .field input[type=number]{padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit}.form-v .field small{display:block;margin-top:2px;font-size:.8rem}.form-v .actions{margin:8px 0 0}.setup h1{margin:0 0 4px;font-size:1.3rem}.setup fieldset{border:0;padding:0;margin:14px 0 0}.setup fieldset legend{font-size:.85rem;color:var(--text-2);margin-bottom:6px}.setup fieldset{display:flex;flex-wrap:wrap;gap:8px}.setup .seg input{position:absolute;opacity:0}.setup .seg span{display:inline-flex;flex-direction:column;align-items:center;padding:8px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:600}.setup .seg span small{font-weight:400;font-size:.75rem;color:var(--text-2)}.setup .seg input:checked+span{background:var(--primary);color:#fff;border-color:var(--primary)}.setup .seg input:checked+span small{color:#e0f2fe}.setup .seg input:focus-visible+span{outline:2px solid var(--primary-dark)}.hd .menu{position:relative}.hd .menu .avatar{width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;border:0;font-weight:700;cursor:pointer}.hd .menu .menu-sheet{position:absolute;right:0;top:42px;background:var(--paper);color:var(--text);border:1px solid var(--line);border-radius:12px;min-width:220px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:6px;z-index:20}.hd .menu .menu-sheet .menu-head{padding:8px 10px;border-bottom:1px solid var(--line);margin-bottom:4px;display:flex;flex-direction:column}.hd .menu .menu-sheet .menu-head .muted{font-size:.8rem}.hd .menu .menu-sheet .menu-item{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:8px;color:var(--text);background:none;border:0;font:inherit;cursor:pointer}.hd .menu .menu-sheet .menu-item:hover{background:var(--body-bg)}.hd .menu .menu-sheet .menu-item.out{color:var(--ng)}.hd .menu .menu-sheet form{margin:0}.tabbar{display:none}@media(max-width: 720px){.hd .nav{display:none}.hd .wrap{flex-wrap:nowrap;height:52px}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--paper);border-top:1px solid var(--line);z-index:15;padding-bottom:env(safe-area-inset-bottom, 0px)}.tabbar a{flex:1;text-align:center;padding:10px 0 8px;font-size:.8rem;color:var(--text-2);font-weight:600}.tabbar a.on{color:var(--primary);border-top:2px solid var(--primary);margin-top:-1px}.app-main{padding-bottom:72px}.ft{padding-bottom:72px}}.ft-links{margin-left:10px}.ft-links a{color:var(--text-2);text-decoration:underline}.lg-head{padding:36px 0 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.lg-head h1{font-size:26px;margin:0}.lg-head .upd{font-size:13px;color:var(--text-2);margin-top:6px}.lg-tabs{display:flex;gap:6px}.lg-tabs a{padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:.9rem;color:var(--text-2);background:var(--paper)}.lg-tabs a.on{background:var(--primary);color:#fff;border-color:var(--primary)}.lg-grid{display:grid;grid-template-columns:220px minmax(0, 680px);gap:48px;justify-content:center;align-items:start;margin-top:8px}.lg-toc{position:sticky;top:76px}.lg-toc h3{font-size:12px;color:var(--text-2);margin:0 0 8px;font-weight:600}.lg-toc ol{list-style:none;margin:0;padding:0;font-size:13px}.lg-toc li a{display:block;padding:5px 10px;color:var(--text);line-height:1.5;border-radius:6px}.lg-toc li a:hover{background:var(--primary-light)}.lg-body{font-size:15px;line-height:1.9;color:var(--text);background:var(--paper);border-radius:16px;padding:24px 28px;box-shadow:var(--shadow)}.lg-body h2{font-size:17px;margin:34px 0 10px;padding-top:12px;border-top:1px solid var(--line)}.lg-body h2:first-child{margin-top:0;border-top:0;padding-top:0}.lg-body h3{font-size:15px;margin:20px 0 8px}.lg-body ol{padding-left:1.6em;margin:0 0 12px}.lg-body li{margin-bottom:6px}.lg-body ul{padding-left:1.4em;margin:6px 0 10px}.lg-body p{margin:0 0 12px}.lg-body a{color:var(--primary);font-weight:600}.lg-body table{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0 14px}.lg-body table th,.lg-body table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.lg-body table th{background:var(--body-bg);font-weight:600}@media(max-width: 900px){.lg-grid{grid-template-columns:minmax(0, 1fr)}.lg-toc{position:static}.lg-toc ol{display:flex;flex-wrap:wrap;gap:4px}.lg-toc li a{border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:4px 9px}}@media(max-width: 760px){.lg-head{padding-top:22px}.lg-head h1{font-size:22px}.lg-body{font-size:14px;padding:18px 16px}}.lg-search{display:flex;gap:8px;margin:0 0 18px}.lg-search .input{flex:1;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--paper)}.lg-sec{margin:22px 0}.lg-sec h2{font-size:1.05rem;margin:0 0 10px}.lg-sec h2 .muted{font-weight:400;font-size:.9rem}.lg-sec.others{opacity:.85}.lg-grid-cards{display:grid;grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));gap:10px}.lg-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;color:var(--text);text-decoration:none}.lg-card b{font-size:1.02rem}.lg-card b small{margin-left:6px;font-weight:400;font-size:.8rem}.lg-card .def{font-size:.9rem;color:var(--text-2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lg-card .meta{font-size:.75rem}.lg-card.read{border-left:3px solid var(--primary)}.lg-card.topic{background:var(--primary-light)}.lg-card:hover{border-color:var(--primary)}.chip-exam{background:var(--primary-light);color:var(--primary-dark);font-size:.72rem;padding:1px 8px}.lg-rel{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}.lg-rel .chip{text-decoration:none}.lg-def{font-size:1.05rem;font-weight:600;line-height:1.8}.lg-law{margin:14px 0;padding:12px 16px;border-left:3px solid var(--line);background:var(--paper);color:var(--text-2);font-size:.95rem}.lg-law .src{display:block;font-size:.75rem;font-weight:700;color:var(--primary-dark);margin-bottom:4px}.lg-law p{margin:0;white-space:pre-wrap}.lg-list{margin:10px 0}.lg-list h3{font-size:.95rem;margin:0 0 4px}.lg-fig{margin:16px 0;text-align:center}.lg-fig img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:10px}.lg-fig figcaption{font-size:.85rem;color:var(--text-2);margin-top:6px}.lg-compare{margin:14px 0;overflow-x:auto}.lg-compare h3{font-size:.95rem;margin:0 0 6px}.lg-compare table{border-collapse:collapse;width:100%;font-size:.92rem}.lg-compare table th,.lg-compare table td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.lg-compare table thead th{background:var(--primary-light);color:var(--primary-dark)}.lg-compare table tbody th{background:var(--body-bg);font-weight:600;width:22%}.lg-prob{margin:10px 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.lg-prob .src{font-size:.8rem}.lg-prob p{margin:6px 0;font-size:.95rem}.lg-prob .ans{color:var(--primary-dark)}.lg-problist{list-style:none;padding:0;margin:0}.lg-problist li{padding:8px 0;border-bottom:1px solid var(--line)}.lg-problist li a{color:var(--text);text-decoration:none}.lg-problist li a:hover{color:var(--primary)}.term-link{color:var(--primary);text-decoration:underline dotted;font-weight:600}.lg-terms-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.lg-terms-card .lg-rel{margin:0}.lg-toc h3{margin-top:16px}.law-note{margin-top:12px;padding:10px 14px;border-radius:10px;background:#fffbeb;border-left:4px solid var(--accent);font-size:.9rem;line-height:1.7;color:var(--text)}.law-note .lbl{display:inline-block;font-size:.72rem;font-weight:700;color:#92400e;margin-right:8px}.drawer-backdrop{position:fixed;inset:0;background:rgba(10,26,36,.35);opacity:0;pointer-events:none;transition:opacity .2s;z-index:60}.drawer-backdrop.open{opacity:1;pointer-events:auto}.term-drawer{position:fixed;top:0;right:0;height:100%;width:min(520px,92vw);background:var(--paper);box-shadow:-12px 0 40px rgba(10,26,36,.18);transform:translateX(104%);transition:transform .28s cubic-bezier(0.2, 0.8, 0.2, 1);z-index:61;display:flex;flex-direction:column}.term-drawer.open{transform:translateX(0)}.drawer-close{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;border-radius:999px;background:var(--body-bg);font-size:1.3rem;cursor:pointer;color:var(--text-2)}.drawer-close:hover{background:var(--line)}.drawer-content{padding:18px 22px 40px;overflow-y:auto;-webkit-overflow-scrolling:touch}.drawer-content .drawer-head{padding-right:40px}.drawer-content .drawer-head .crumbs{margin:0 0 4px;font-size:.8rem}.drawer-content .drawer-head h2{font-size:1.35rem;margin:0 0 6px}.drawer-content .drawer-head h2 small{font-size:.85rem;font-weight:400;margin-left:6px}.drawer-content .drawer-head .upd{font-size:.78rem;margin-bottom:10px}.drawer-content .lg-def{font-size:1rem}.drawer-content .drawer-body-blocks{box-shadow:none;padding:0;background:rgba(0,0,0,0);font-size:.95rem}.drawer-content .drawer-body-blocks h2{font-size:1.02rem;margin:22px 0 8px}.drawer-content .lg-fig img{border-radius:8px}.drawer-content .drawer-h3{font-size:.85rem;color:var(--text-2);margin:18px 0 6px}.drawer-content .drawer-foot{margin-top:18px}.drawer-content .drawer-loading{padding:40px 0;text-align:center}body.drawer-open{overflow:hidden}.lg-formula{margin:14px 0;padding:12px 16px;border-radius:10px;background:var(--body-bg);border-left:4px solid var(--primary)}.lg-formula .ttl{font-size:.8rem;font-weight:700;color:var(--primary-dark);margin-bottom:4px}.lg-formula .katex-src{overflow-x:auto;font-size:1.05rem}.lg-formula .note{margin:6px 0 0;font-size:.9rem;color:var(--text-2)}.lg-callout,.lg-practice{--co: var(--primary);--co-bg: #F0FAFC;--co-ink: var(--primary-dark);position:relative;margin:18px 0;padding:14px 16px 14px 18px;border-radius:14px;background:var(--co-bg);border:1px solid color-mix(in srgb, var(--co) 28%, white);box-shadow:0 1px 2px rgba(10,26,36,.04)}.lg-callout .lbl,.lg-practice .lbl{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;padding:3px 10px 3px 8px;border-radius:999px;background:var(--co);color:#fff;font-size:.74rem;font-weight:800;letter-spacing:.02em}.lg-callout .lbl::before,.lg-practice .lbl::before{content:"";width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,.95);-webkit-mask:var(--co-icon) center/contain no-repeat;mask:var(--co-icon) center/contain no-repeat}.lg-callout p,.lg-practice p{margin:0;line-height:1.85;font-size:.97rem;color:var(--text)}.lg-callout::after,.lg-practice::after{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:var(--co)}.lg-callout.point{--co-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='3'/><circle cx='12' cy='12' r='3.5' fill='black'/></svg>")}.lg-callout.trap{--co: #DC2626;--co-bg: #FFF5F5;--co-ink: #991B1B;--co-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3 2.5 20h19L12 3z' fill='black'/><rect x='11' y='9' width='2' height='6' fill='white'/><circle cx='12' cy='17.5' r='1.2' fill='white'/></svg>")}.lg-practice{--co: #D97706;--co-bg: #FFFBEB;--co-ink: #92400E;--co-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 7h16v12H4z M9 7V5h6v2' fill='none' stroke='black' stroke-width='3'/></svg>")}.lg-body .lg-callout+.lg-callout{margin-top:10px}@media(max-width: 760px){.lg-callout,.lg-practice{padding:12px 12px 12px 14px}.lg-callout p,.lg-practice p{font-size:.93rem}}.course-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:18px;margin:8px 0 40px}.course-card{display:block;background:var(--paper);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;color:inherit;text-decoration:none;border:1px solid var(--line)}.course-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;background:#fff}.course-card .body{padding:16px 18px 18px}.course-card h2{margin:0 0 4px;font-size:1.15rem}.course-card .sub{color:var(--primary);font-weight:700;font-size:.9rem;margin-bottom:6px}.course-card p{margin:0 0 10px;font-size:.92rem;line-height:1.7}.course-card .meta{font-size:.8rem;color:var(--text-2);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.course-card:hover{border-color:var(--primary)}.course-cover{max-width:680px;margin:0 auto 20px}.course-cover img{width:100%;border-radius:16px}.lesson-list{list-style:none;margin:8px auto 40px;padding:0;max-width:760px;display:grid;gap:10px}.lesson-list li a{display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto auto;column-gap:14px;padding:14px 18px;background:var(--paper);border:1px solid var(--line);border-radius:14px;color:inherit;text-decoration:none;box-shadow:var(--shadow)}.lesson-list li a .no{grid-row:1/4;align-self:start;font-weight:800;color:var(--primary);font-size:.95rem;padding-top:2px}.lesson-list li a .ttl{font-weight:700;font-size:1.05rem}.lesson-list li a .goal{font-size:.9rem;color:var(--text-2);line-height:1.6;margin-top:2px}.lesson-list li a .meta{font-size:.78rem;margin-top:6px}.lesson-list li a:hover{border-color:var(--primary)}.lesson-list li.read a .no::after{content:" ✓";color:var(--success, #15803D)}.lesson-no{font-size:.85rem;font-weight:800;color:var(--primary);letter-spacing:.04em}.lg-toc .goal{font-size:.88rem;line-height:1.7;color:var(--text);margin:0 0 16px;padding:10px 12px;background:#f0fafc;border-radius:10px}.lg-toc .toc{list-style:none;margin:0 0 16px;padding:0}.lg-toc .toc li{font-size:.86rem;line-height:1.5;margin:0 0 6px}.lg-toc .toc li a{color:var(--text-2);text-decoration:none}.lg-toc .toc li li.on a,.lg-toc .toc li.on a{color:var(--primary);font-weight:700}.lg-toc .toc.lessons li.on a{color:var(--primary);font-weight:700}.lg-toc .toc.lessons li.read a::after{content:" ✓";color:var(--success, #15803D)}.lesson-nav{display:flex;justify-content:space-between;gap:12px;margin-top:32px;padding-top:18px;border-top:1px solid var(--line);flex-wrap:wrap}.lg-callout.exam{--co-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 3h14v18H5z' fill='none' stroke='black' stroke-width='3'/><path d='M8 8h8M8 12h8M8 16h5' stroke='black' stroke-width='2.5'/></svg>")}.lg-callout.build{--co: #7C3AED;--co-bg: #F5F3FF;--co-ink: #5B21B6;--co-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 21l6-6M14 4l6 6-8 8-6-6z' fill='none' stroke='black' stroke-width='3'/></svg>")}.lg-callout.try{--co: #059669;--co-bg: #ECFDF5;--co-ink: #065F46;--co-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 4l12 8-12 8z' fill='black'/></svg>")}.lg-sim{margin:18px 0}.sim{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 12px 10px;box-shadow:0 1px 2px rgba(10,26,36,.04)}.sim .sim-title{font-weight:800;font-size:.95rem;color:var(--primary-dark);margin:0 0 8px;display:flex;align-items:center;gap:6px}.sim .sim-title::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary)}.sim .sim-canvas{display:block;width:100%;border-radius:8px;margin-bottom:8px}.sim .sim-controls{display:grid;gap:6px;margin:4px 0 8px}.sim .sim-control{display:grid;grid-template-columns:1fr;gap:2px}.sim .sim-control label{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-2)}.sim .sim-control label .val{color:var(--primary-dark);font-weight:700;font-variant-numeric:tabular-nums}.sim .sim-control input[type=range]{width:100%;accent-color:var(--primary)}.sim .sim-control select{font-size:.9rem;padding:4px 8px;border:1px solid var(--line);border-radius:8px}.sim .sim-control.toggle{grid-template-columns:1fr auto;align-items:center}.sim .sim-control.toggle input{width:20px;height:20px;accent-color:var(--primary)}.sim .sim-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap}.sim .sim-readouts{display:flex;gap:12px;flex-wrap:wrap}.sim .sim-readouts .ro{font-size:.8rem;color:var(--text-2)}.sim .sim-readouts .ro .k::after{content:": "}.sim .sim-readouts .ro .v{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.sim .sim-reset,.sim .sim select,.sim .sim button{font-family:inherit}.sim .sim-reset{font-size:.78rem;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--text-2);cursor:pointer}.sim .sim-note{margin-top:8px;font-size:.85rem;color:var(--text);line-height:1.7;padding:8px 10px;background:#ecfdf5;border-radius:8px;border-left:3px solid #059669}body.embed{background:#fff}body.embed .hd,body.embed .tabbar,body.embed footer,body.embed .ft{display:none !important}body.embed .wrap{padding:8px;max-width:none}body.embed .lg-sim{margin:0}.ar-cats{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}.ar-cats .chip.on{background:var(--primary, #0E7490);color:#fff;border-color:rgba(0,0,0,0)}.ar-meta{font-size:13px;margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ar-lead{font-size:1.05em;font-weight:500;line-height:1.9;padding:0 0 4px}.ar-faq{display:grid;gap:8px;margin:0 0 24px}.ar-faq details{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px 14px}.ar-faq summary{font-weight:700;cursor:pointer}.ar-faq p{margin:8px 0 0}.ar-cta{margin:28px 0;padding:18px 20px;border-radius:14px;background:#f0fafc;border:1px solid #cdebf2}.ar-cta p{margin:0 0 12px}.ar-cta .row{display:flex;flex-wrap:wrap;gap:8px}.ar-src,.ar-more{padding-left:1.2em}.ar-src li,.ar-more li{margin:4px 0}.ar-src{font-size:13px}.lg-quiz{margin:18px 0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.lg-quiz .lbl{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--primary);border-radius:999px;padding:2px 10px}.lg-quiz .q{font-weight:600;margin:8px 0}.lg-quiz ol{margin:0 0 8px;padding-left:1.6em}.lg-quiz ol li{margin:4px 0;word-spacing:.9em}.lg-quiz details summary{cursor:pointer;color:var(--primary);font-weight:600}.lg-quiz details p{margin:8px 0 0}.lg-quiz:has(details[open]) li.ok{color:var(--primary-dark);font-weight:700}.lg-src-note{font-size:12px;margin:-4px 0 12px}.ex-wrap{max-width:1120px;margin:0 auto;padding:0 20px 64px}.ex-hero{--h1: #0B4F63;--h2: #0E7490;margin:10px 0 26px;padding:28px 30px;border-radius:22px;color:#fff;background:radial-gradient(120% 140% at 100% 0%, rgba(94, 194, 218, 0.35), transparent 55%),linear-gradient(135deg, var(--h1), var(--h2));display:grid;grid-template-columns:minmax(0, 1fr) 300px;gap:26px;align-items:center;box-shadow:0 18px 40px -22px rgba(11,79,99,.7)}.ex-hero.kougaku{--h1: #1E3A5F;--h2: #2563EB}.ex-hero h1{font-size:1.9rem;line-height:1.35;margin:8px 0 10px;font-weight:900;letter-spacing:.01em}.ex-hero .ex-lead{margin:0 0 14px;color:rgba(255,255,255,.88);line-height:1.8}.ex-hero .ex-lead a.term-link{color:#fff;text-decoration-color:rgba(255,255,255,.5)}.ex-hero .ex-meta{display:flex;gap:8px;align-items:center}.ex-hero .ex-no{font-weight:800;font-size:.95rem}.ex-hero .ex-no small{opacity:.7;font-weight:500}.ex-hero .ex-subj{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35)}.ex-hero .ex-stats{display:flex;flex-wrap:wrap;gap:8px}.ex-hero .ex-stats span{font-size:13px;padding:5px 11px;border-radius:10px;background:rgba(0,0,0,.18)}.ex-hero .ex-stats span b{font-size:1.05rem;margin:0 2px}.ex-hero .ex-progress{margin-top:14px;height:6px;border-radius:999px;background:rgba(255,255,255,.2);overflow:hidden}.ex-hero .ex-progress i{display:block;height:100%;background:#a5f3fc;border-radius:999px}.ex-hero .ex-goal{background:#fff;color:var(--text);border-radius:16px;padding:16px 18px;box-shadow:0 10px 24px -14px rgba(0,0,0,.4)}.ex-hero .ex-goal .lbl{display:inline-block;font-size:12px;font-weight:800;color:var(--primary);letter-spacing:.06em;margin-bottom:6px}.ex-hero .ex-goal p{margin:0;line-height:1.75;font-weight:600}.ex-grid{display:grid;grid-template-columns:230px minmax(0, 760px);gap:40px;justify-content:center;align-items:start}.ex-toc{position:sticky;top:76px;font-size:13px}.ex-toc>ol{list-style:none;padding:0;margin:0 0 22px;counter-reset:s}.ex-toc>ol li a{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;color:var(--text);text-decoration:none}.ex-toc>ol li a:hover{background:#f0fafc}.ex-toc>ol .sn{flex:0 0 22px;height:22px;border-radius:50%;background:#e6f4f7;color:var(--primary);font-weight:800;display:grid;place-items:center;font-size:12px}.ex-toc>ol li.warn .sn{background:#fee2e2;color:#b91c1c}.ex-toc>ol li.pencil .sn{background:#ede9fe;color:#6d28d9}.ex-toc>ol li.check .sn{background:#dcfce7;color:#15803d}.ex-toc .ex-toc-all h3{font-size:12px;color:var(--text-2);margin:0 0 6px}.ex-toc .ex-toc-all ol{list-style:none;padding-left:0;margin:0;max-height:46vh;overflow:auto}.ex-toc .ex-toc-all li{margin:3px 0;line-height:1.5}.ex-toc .ex-toc-all li a{color:var(--text-2);text-decoration:none}.ex-toc .ex-toc-all li.on a{color:var(--primary);font-weight:700}.ex-toc .ex-toc-all li.read a::after{content:" ✓";color:#15803d}.ex-body{background:var(--paper);border-radius:20px;padding:30px 34px;box-shadow:var(--shadow);border:1px solid var(--line)}.ex-step{--st: var(--primary);--st-bg: #E6F4F7;display:flex;align-items:center;gap:12px;margin:44px 0 18px;padding:0 0 12px;border-bottom:2px solid var(--st-bg);font-size:1.3rem}.ex-step:first-of-type{margin-top:26px}.ex-step .ex-step-no{flex:0 0 auto;font-size:11px;font-weight:900;letter-spacing:.08em;color:#fff;background:var(--st);padding:5px 10px;border-radius:8px}.ex-step .ex-step-tx{font-weight:900}.ex-step.warn{--st: #DC2626;--st-bg: #FEE2E2}.ex-step.pencil{--st: #7C3AED;--st-bg: #EDE9FE}.ex-step.check{--st: #16A34A;--st-bg: #DCFCE7}.ex-step.cut{--st: #EA580C;--st-bg: #FFEDD5}.ex-step.solve{--st: #0F172A;--st-bg: #E2E8F0}.lg-sensei{display:flex;gap:14px;align-items:flex-start;margin:20px 0}.lg-sensei .av{flex:0 0 64px;width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 2px var(--sv, #A5F3FC),0 6px 14px -8px rgba(0,0,0,.4);background:#fff}.lg-sensei .bubble{position:relative;flex:1;background:var(--sb, #ECFEFF);border:1px solid var(--sv, #A5F3FC);border-radius:4px 16px 16px 16px;padding:10px 14px 12px}.lg-sensei .bubble .nm{display:block;font-size:11px;font-weight:800;color:var(--sn, #0E7490);margin-bottom:2px;letter-spacing:.06em}.lg-sensei .bubble p{margin:0;line-height:1.8;font-weight:500}.lg-sensei .bubble::before{content:"";position:absolute;left:-8px;top:12px;width:14px;height:14px;background:inherit;border-left:1px solid var(--sv, #A5F3FC);border-bottom:1px solid var(--sv, #A5F3FC);transform:rotate(45deg)}.lg-sensei.point{--sb: #FFFBEB;--sv: #FCD34D;--sn: #B45309}.lg-sensei.warn{--sb: #FFF1F2;--sv: #FDA4AF;--sn: #BE123C}.lg-problem{margin:18px 0;border:2px solid #0f172a;border-radius:14px;overflow:hidden;background:#fff}.lg-problem .hd{display:flex;gap:10px;align-items:center;background:#0f172a;color:#fff;padding:8px 14px}.lg-problem .hd .tag{font-weight:900;letter-spacing:.1em;font-size:12px;background:#fff;color:#0f172a;padding:2px 8px;border-radius:6px}.lg-problem .hd .src{font-size:12px;opacity:.85}.lg-problem .q{margin:14px 16px 10px;font-weight:600;line-height:1.8}.lg-problem ol{list-style:none;margin:0 16px 16px;padding:0;display:grid;gap:6px}.lg-problem ol li{display:flex;gap:10px;align-items:baseline;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;word-spacing:.4em}.lg-problem ol .no{flex:0 0 24px;height:24px;border-radius:50%;background:#0f172a;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;word-spacing:0}.lg-elim{margin:18px 0}.lg-elim h3{font-size:1rem;margin:0 0 10px}.lg-elim ol{list-style:none;padding:0;margin:0;display:grid;gap:8px}.lg-elim li{display:flex;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid #fecaca;background:#fff7f7}.lg-elim li.ok{border:2px solid #16a34a;background:#f0fdf4}.lg-elim li .mk{flex:0 0 34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:18px;color:#fff;background:#dc2626}.lg-elim li.ok .mk{background:#16a34a}.lg-elim li .bd{flex:1}.lg-elim li .bd b{display:block;word-spacing:.3em}.lg-elim li .bd p{margin:4px 0 0;font-size:.93rem;color:var(--text-2);line-height:1.75}.lg-elim li.ng .bd b{text-decoration:line-through;text-decoration-color:rgba(220,38,38,.55)}.lg-check{margin:18px 0;padding:18px 20px;border-radius:16px;background:linear-gradient(180deg, #F0FDF4, #fff);border:1px solid #bbf7d0}.lg-check h3{margin:0 0 10px;font-size:1rem;color:#15803d}.lg-check ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lg-check li{position:relative;padding-left:30px;line-height:1.7;font-weight:500}.lg-check li::before{content:"✓";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:6px;background:#16a34a;color:#fff;font-size:13px;font-weight:900;display:grid;place-items:center}.lg-quiz{border:2px solid #ddd6fe;background:#faf8ff;border-radius:16px;padding:16px 18px}.lg-quiz .lbl{background:#7c3aed}.lg-quiz .qz-choices{list-style:none;padding:0;display:grid;gap:8px}.lg-quiz .qz-choices li{margin:0}.lg-quiz .qz-choice{width:100%;display:flex;gap:10px;align-items:baseline;text-align:left;font:inherit;color:inherit;cursor:pointer;padding:10px 12px;border-radius:12px;border:1px solid #ddd6fe;background:#fff;word-spacing:.9em;transition:transform .08s,border-color .15s}.lg-quiz .qz-choice:hover{border-color:#7c3aed;transform:translateY(-1px)}.lg-quiz .qz-choice .no{flex:0 0 24px;height:24px;border-radius:50%;background:#ede9fe;color:#6d28d9;display:grid;place-items:center;font-size:12px;font-weight:800;word-spacing:0}.lg-quiz .qz-choice.is-ok{border:2px solid #16a34a;background:#f0fdf4}.lg-quiz .qz-choice.is-ok .no{background:#16a34a;color:#fff}.lg-quiz .qz-choice.picked.is-ng{border:2px solid #dc2626;background:#fff1f2}.lg-quiz .qz-choice.picked.is-ng .no{background:#dc2626;color:#fff}.lg-quiz .qz-result{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f0fdf4;border:1px solid #bbf7d0}.lg-quiz .qz-result.ng{background:#fff7ed;border-color:#fed7aa}.lg-quiz .qz-result .qz-verdict{font-size:1.05rem;margin-right:8px}.lg-quiz .qz-result .qz-ans{font-weight:700;color:var(--text-2);font-size:13px}.lg-quiz .qz-result p{margin:6px 0 0;line-height:1.8}.ex-probs{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:10px}.ex-prob{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#f8fafc;color:inherit;text-decoration:none;transition:border-color .15s,transform .08s}.ex-prob:hover{border-color:var(--primary);transform:translateY(-1px)}.ex-prob .src{font-size:12px;font-weight:700;color:var(--primary)}.ex-prob .tx{font-size:13px;color:var(--text-2);line-height:1.6}.ex-prob .go{font-size:13px;font-weight:800;color:var(--primary);margin-top:auto}.ex-next{display:block;margin:36px 0 10px;padding:20px 22px;border-radius:18px;color:#fff;text-decoration:none;background:linear-gradient(135deg, #0B4F63, #0E7490);box-shadow:0 14px 30px -18px rgba(11,79,99,.8)}.ex-next .lbl{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;opacity:.8}.ex-next .ttl{display:block;font-size:1.2rem;font-weight:900;margin-top:4px}.ex-next .goal{display:block;font-size:13px;opacity:.85;margin-top:6px;line-height:1.6}.ex-next:hover{filter:brightness(1.06)}.ex-prev{font-size:13px}.ex-prev a{color:var(--text-2)}@media(max-width: 960px){.ex-hero{grid-template-columns:minmax(0, 1fr);padding:22px 20px}.ex-hero h1{font-size:1.5rem}.ex-grid{grid-template-columns:minmax(0, 1fr)}.ex-toc{position:static}.ex-toc .ex-toc-all{display:none}.ex-toc>ol{display:flex;flex-wrap:wrap;gap:4px}.ex-toc>ol li a{padding:5px 8px;border:1px solid var(--line);background:var(--paper)}}@media(max-width: 640px){.ex-wrap{padding:0 12px 48px}.ex-body{padding:18px 14px;border-radius:14px}.ex-step{font-size:1.12rem}.lg-sensei .av{flex-basis:48px;width:48px;height:48px}}.ex-plan{margin:8px 0 22px;padding:18px 20px;border-radius:18px;background:#f0fafc;border:1px solid #cdebf2}.ex-plan .ex-plan-hd h2{margin:0 0 4px;font-size:1.1rem}.ex-plan .ex-plan-hd p{margin:0 0 12px;font-size:14px}.ex-plan .ex-weeks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:8px}.ex-plan .ex-weeks li{background:#fff;border-radius:12px;padding:10px 12px;border:1px solid #dceff4}.ex-plan .ex-weeks li b{display:block;color:var(--primary);font-size:13px}.ex-plan .ex-weeks li span{font-size:13px;line-height:1.6}.ex-lessons{list-style:none;padding:0;margin:0 0 40px;display:grid;gap:10px}.ex-lessons li a{display:flex;gap:16px;align-items:center;padding:14px 16px;border-radius:16px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);color:inherit;text-decoration:none;transition:transform .08s,border-color .15s}.ex-lessons li a:hover{transform:translateY(-1px);border-color:var(--primary)}.ex-lessons .no{flex:0 0 64px;height:64px;border-radius:14px;display:grid;place-items:center;align-content:center;color:#fff;font-weight:900;font-size:1.5rem;line-height:1;background:linear-gradient(135deg, #0B4F63, #0E7490)}.ex-lessons .no small{font-size:11px;font-weight:700;opacity:.85}.ex-lessons li.kougaku .no{background:linear-gradient(135deg, #1E3A5F, #2563EB)}.ex-lessons .bd{display:grid;gap:3px;min-width:0}.ex-lessons .tags{display:flex;gap:8px;align-items:center;font-size:12px;flex-wrap:wrap}.ex-lessons .tags .subj{font-weight:800;color:var(--primary);background:#e6f4f7;padding:2px 8px;border-radius:999px}.ex-lessons .tags .done{color:#15803d;font-weight:700}.ex-lessons li.kougaku .subj{color:#1d4ed8;background:#dbeafe}.ex-lessons .ttl{font-weight:900;font-size:1.05rem}.ex-lessons .goal{font-size:13px;color:var(--text-2);line-height:1.6}.ex-lessons li.read a{background:#fbfffc}.report-box{margin:28px 0 8px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:0 16px}.report-box summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:700;color:var(--primary-dark);display:flex;align-items:center;gap:8px}.report-box summary::-webkit-details-marker{display:none}.report-box summary .ic{width:20px;height:20px;border-radius:50%;background:var(--primary-light);color:var(--primary-dark);display:inline-flex;align-items:center;justify-content:center;font-size:.8rem}.report-box[open] summary{border-bottom:1px solid var(--line)}.report-box .report-form{padding:14px 0 16px;display:flex;flex-direction:column;gap:12px}.report-box .report-form .kinds{display:flex;flex-wrap:wrap;gap:8px 16px}.report-box .report-form .kinds label{font-size:.95rem;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.report-box .report-form textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:.95rem;resize:vertical}.report-box .report-form textarea:focus{outline:2px solid var(--primary-light);border-color:var(--primary)}.report-box .report-form .foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
