:root{--paper: #f4f6f8;--ink: #1c2a39;--muted: #5b6b7a;--line: #dce3ea;--card: #ffffff;--accent: #36465a;--accent-tint: #eef1f4;--accent-strong: #283545;--shadow-sm: 0 1px 2px rgba(20, 32, 46, .06);--shadow: 0 8px 24px rgba(20, 32, 46, .1);--r-card: 16px;--r-img: 12px}[data-subject=社会]{--accent: #1f7a55;--accent-tint: #e7f2ec;--accent-strong: #155d40}[data-subject=算数]{--accent: #2d5bd0;--accent-tint: #e7ecfb;--accent-strong: #1e40af}[data-subject=国語]{--accent: #c8413b;--accent-tint: #fae9e8;--accent-strong: #9f2f2a}[data-subject=理科]{--accent: #c9781e;--accent-tint: #fbeedd;--accent-strong: #8f560f}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:BIZ UDPGothic,Hiragino Kaku Gothic ProN,Meiryo,system-ui,sans-serif;color:var(--ink);font-size:17px;line-height:1.85;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M24 0H0V24' fill='none' stroke='%23223a5e' stroke-opacity='0.06' stroke-width='1'/%3E%3C/svg%3E");text-rendering:optimizeLegibility}.container{max-width:1000px;margin:0 auto;padding:0 22px}main.container{padding-top:28px;padding-bottom:72px}.site-header{background:#f4f6f8eb;position:sticky;top:0;z-index:10}.site-header__inner{max-width:1000px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:14px}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}.brand__mark{display:block;flex:none}.brand__name{font-family:Zen Maru Gothic,sans-serif;font-weight:700;font-size:19px;letter-spacing:0}.brand__subject{margin-left:auto;font-family:Zen Maru Gothic,sans-serif;font-weight:700;font-size:15px;color:var(--accent-strong);background:var(--accent-tint);padding:3px 12px;border-radius:999px}.site-header__rule{height:3px;background:var(--accent)}a{color:var(--accent-strong)}h1,h2,h3{font-family:Zen Maru Gothic,sans-serif;text-wrap:balance;margin:0}p{text-wrap:pretty}.page-head{margin:6px 0 22px}.page-title{font-size:clamp(24px,4.2vw,34px);font-weight:700;line-height:1.3;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-sub{color:var(--muted);font-size:15px;margin:6px 0 0}.crumbs{font-size:14px;color:var(--muted);margin:0 0 14px;line-height:1.6}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent-strong);text-decoration:underline}.crumbs__sep{margin:0 7px;color:var(--line)}.badge{font-family:Zen Maru Gothic,sans-serif;font-size:14px;font-weight:700;padding:2px 12px;border-radius:999px;line-height:1.7;white-space:nowrap}.badge--kihon{color:var(--accent-strong);background:var(--accent-tint);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}.badge--juken{color:#fff;background:var(--accent)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.tile{position:relative;display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:18px 18px 16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm);overflow:hidden}.tile:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--accent)}.tile__thumb{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-img);background:#eef2f6;border:1px solid var(--line);margin-bottom:10px}.tile__title{font-size:19px;font-weight:700;line-height:1.4}.tile__meta{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.tile--lg .tile__title{font-size:22px}@media(prefers-reduced-motion:no-preference){.tile{transition:transform .16s ease-out,box-shadow .16s ease-out,border-color .16s ease-out}.tile:hover{transform:translateY(-2px)}}.tile:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.eyebrow{display:flex;align-items:center;gap:9px;font-family:Zen Maru Gothic,sans-serif;font-weight:700;font-size:16px;color:var(--accent-strong);margin:36px 0 14px}.eyebrow:before{content:"";width:14px;height:14px;border-radius:4px;background:var(--accent);flex:none}.figure-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-sm);padding:12px;border-top:4px solid var(--accent)}.figure-card__img{width:100%;height:auto;display:block;border-radius:var(--r-img)}.note{background:var(--accent-tint);border-left:4px solid var(--accent);border-radius:10px;padding:14px 18px;font-size:18px;margin:16px 0 0}.terms{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}.term{background:var(--accent-tint);color:var(--accent-strong);border-radius:999px;padding:4px 13px;font-size:15px}.unit-figure+.unit-figure{margin-top:26px}.reveal{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);margin-top:12px;padding:0 18px;overflow:hidden}.reveal>summary{cursor:pointer;list-style:none;font-family:Zen Maru Gothic,sans-serif;font-weight:700;font-size:17px;color:var(--accent-strong);padding:14px 0;display:flex;align-items:center;gap:10px}.reveal>summary::-webkit-details-marker{display:none}.reveal>summary:before{content:"?";display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--accent);color:#fff;font-size:15px;flex:none}.reveal[open]>summary:before{content:"✓"}.answers{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:4px 0 18px;counter-reset:ans}.answers li{background:var(--accent-tint);color:var(--accent-strong);border-radius:8px;padding:6px 13px 6px 10px;font-size:16px;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:7px}.answers li:before{counter-increment:ans;content:counter(ans);font-size:12px;font-weight:700;color:#fff;background:var(--accent);border-radius:999px;min-width:18px;height:18px;display:inline-grid;place-items:center;align-self:center}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px;padding:22px 0 40px;background:#fff6}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.skip{position:absolute;left:12px;top:-48px;background:var(--card);color:var(--ink);padding:8px 14px;border-radius:8px;box-shadow:var(--shadow);z-index:20;transition:top .12s ease-out}.skip:focus{top:12px}
