/* 見本教材（2027年度の完成形）用 */
.skip{position:absolute;left:-9999px;top:0;background:#27241f;color:#fff;padding:10px 14px;z-index:100;border-radius:0 0 8px 0}
.skip:focus{left:0}
:focus-visible{outline:3px solid #1d5fbf;outline-offset:2px;border-radius:4px}
.tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:14px 0 22px}
.tools .lbl{font-size:13px;color:var(--mute);margin-right:2px}
.tbtn{font:inherit;font-size:14px;line-height:1.4;min-height:44px;min-width:44px;padding:8px 14px;border:1px solid #8c8478;border-radius:999px;background:#fff;color:var(--ink);cursor:pointer}
.tbtn[aria-pressed="true"]{background:#27241f;color:#fff;border-color:#27241f}
.tbtn:hover{border-color:var(--ink)}
.sep{width:1px;height:28px;background:var(--line);margin:0 4px}
.lesson h2{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;margin-top:42px}
.lesson h2 .tbtn{font-size:13px;min-height:40px;padding:6px 12px}
.lesson p,.lesson li{font-size:1.06em;line-height:2.15}
rt{font-size:.58em;color:#5b554c;letter-spacing:0}
.no-ruby rt{display:none}
.no-ruby .lesson p,.no-ruby .lesson li{line-height:1.95}
.fig{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0}
.fig svg{display:block;width:100%;height:auto}
.fig figcaption{font-size:.92em;color:var(--mute);margin-top:8px}
.kind{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;list-style:none;padding:0;margin:12px 0}
.kind li{border:2px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.kind li b{display:block;font-size:1.05em}
.kind .c1{border-color:#8a6a43}.kind .c2{border-color:#2f6f8f}.kind .c3{border-color:#3f7a3a}.kind .c4{border-color:#7a4f8f}
.note{background:var(--warm-soft);border-radius:12px;padding:12px 16px;margin:14px 0}
.call{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0}
.call div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.call b{font-size:1.5em;display:block;letter-spacing:.04em}
.quiz fieldset{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px 16px;margin:0 0 14px}
.quiz legend{font-weight:700;padding:0 6px}
.quiz label{display:flex;gap:10px;align-items:flex-start;padding:8px 6px;border-radius:8px;cursor:pointer;min-height:44px}
.quiz label:hover{background:var(--bg)}
.quiz input{width:22px;height:22px;margin-top:6px;flex:0 0 auto}
.quiz .fb{margin:8px 0 0;padding:10px 12px;border-radius:8px;display:none}
.quiz .fb.ok{display:block;background:#e6f0e3;color:#24481f}
.quiz .fb.ng{display:block;background:#f6e2dc;color:#6e2a17}
.quiz .score{font-weight:700}
.status{min-height:1.5em;font-size:.95em;color:var(--mute)}
.badge{display:inline-block;font-size:12px;background:#27241f;color:#fff;border-radius:999px;padding:2px 10px;letter-spacing:.06em}
.src{font-size:.9em;color:var(--mute)}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media (forced-colors:active){.tbtn[aria-pressed="true"]{border:3px solid CanvasText}}
