*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#1d1d1d;font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;line-height:1.85;font-size:16px}
a{color:inherit}img{max-width:100%}
.in{max-width:1160px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.nw{display:inline-block}.o{font-family:"Oswald",sans-serif;letter-spacing:.12em}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:820px){.g3{grid-template-columns:1fr}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
header.site{border-bottom:1px solid #e5e5e2}header.site .in{display:flex;align-items:center;gap:16px;padding-block:12px;flex-wrap:wrap}
.logo{font-weight:900;font-size:23px;text-decoration:none;line-height:1.3}.logo small{display:block;font-size:12px;color:#666;font-weight:400}
header nav{margin-left:auto;display:flex;gap:16px;font-size:14px;font-weight:700;flex-wrap:wrap;align-items:center}header nav a{text-decoration:none}header nav a.cta{background:#f7a600;padding:8px 16px}
.hero{background:linear-gradient(90deg,rgba(29,29,29,.88) 38%,rgba(29,29,29,.15)),url(/img/panorama.jpg) center/cover,#333;color:#fff}.hero .in{padding-block:76px}
.hero .o{color:#f7a600}.hero h1{font-size:clamp(28px,4.6vw,50px);font-weight:900;line-height:1.35;margin:8px 0}
.band{background:#f7a600}.band div{color:#1d1d1d;text-align:center;padding:14px 16px;font-weight:700}.band .cd{font-family:"Oswald",sans-serif;font-size:1.6em;margin:0 2px}.band .sep{margin:0 6px}
.sec{padding-block:38px}.sec h2.en{font-family:"Oswald",sans-serif;font-size:34px;margin:0;line-height:1.1}.sec .s{color:#666;margin:0 0 16px}
.c{border:2px solid #1d1d1d;padding:16px;display:block;position:relative;text-decoration:none}.c:before{content:"";position:absolute;left:-2px;top:-2px;width:30px;height:6px;background:#f7a600}
.c b{display:block;font-size:18px;font-weight:900}.c span{font-size:13px;color:#666;display:block}.c em{font-style:normal;font-weight:700;color:#9a6200}
.f{display:block;border:2px solid #1d1d1d;text-decoration:none}.f i{display:block;aspect-ratio:4/3;background-color:#9aa;background-size:cover;background-position:center}.f small{display:block;font-family:"Oswald",sans-serif;color:#9a6200;padding:8px 12px 0;letter-spacing:.1em}.f b{display:block;padding:0 12px 10px;font-size:18px}
.gray{background:#f3f3f1}
/* 記事のページ */
.crumb{font-size:13px;color:#666;padding-block:10px}.crumb a{color:#666}
.page-h{background:#1d1d1d;color:#fff}.page-h .in{padding-block:30px}.page-h .o{color:#f7a600;font-size:14px}.page-h h1{font-size:clamp(24px,4vw,38px);line-height:1.4;margin:4px 0 6px}.page-h p{margin:0;color:#ddd}
.art{max-width:820px;margin:0 auto;padding-block:26px 40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.art h2{font-size:22px;margin:34px 0 10px;padding-left:12px;border-left:8px solid #f7a600;line-height:1.5}
.art h3{font-size:18px;margin:22px 0 6px}
.art p,.art li{font-size:16px}.art ul,.art ol{padding-left:1.4em}.art li{margin:4px 0}
.box{border:2px solid #1d1d1d;padding:14px 16px;margin:16px 0;position:relative}.box:before{content:"";position:absolute;left:-2px;top:-2px;width:30px;height:6px;background:#f7a600}
.box.y{background:#fff8e6}.point{font-weight:700}
.tw{overflow-x:auto;margin:12px 0}table{border-collapse:collapse;width:100%;font-size:15px;min-width:520px}th,td{border:1px solid #c9c9c4;padding:8px 10px;text-align:left;vertical-align:top}th{background:#f3f3f1;white-space:nowrap}
.src{font-size:13.5px;color:#444;background:#f7f7f4;padding:12px 16px;margin-top:30px}.src h2{font-size:16px;border:0;padding:0;margin:0 0 6px}.src ul{margin:0}.src li{font-size:13.5px}
.ask{background:#1d1d1d;color:#fff;padding:20px;margin-top:26px}.ask h2{color:#fff;border-left-color:#f7a600;margin-top:0}.ask a{color:#ffd166}
.toc{background:#f7f7f4;padding:12px 16px;font-size:15px}.toc ol{margin:6px 0 0}
footer.site{border-top:1px solid #e5e5e2;font-size:13px;color:#555}footer.site .in{padding-block:22px;display:flex;flex-wrap:wrap;gap:8px 22px}footer.site a{color:#555}
rt{font-size:.55em}body.nofuri rt{display:none}
/* はたらく方向け（やさしい日本語の決まり 8：UDフォント／2：ふりがなを消すボタン） */
body.wk{font-family:"BIZ UDPGothic","Noto Sans JP",sans-serif}
.furi{display:flex;gap:8px;flex-wrap:wrap;padding-block:10px 0}.furi button{border:2px solid #1d1d1d;background:#fff;padding:5px 12px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.furi button[aria-pressed=true]{background:#f7a600}
/* 練習問題 */
.q{background:#fff;border:2px solid #1d1d1d;padding:16px;margin:0 0 14px;position:relative}.q:before{content:"";position:absolute;left:-2px;top:-2px;width:34px;height:6px;background:#f7a600}
.tag{display:flex;gap:6px;flex-wrap:wrap;font-size:12px;font-weight:700}.tag span{background:#1d1d1d;color:#fff;padding:0 8px}.tag span:first-child{background:#f7a600;color:#1d1d1d}
.mon{font-size:18px;font-weight:700;margin:10px 0 6px}
.chs{display:grid;gap:8px;margin-top:8px}.ch{display:flex;align-items:center;gap:10px;text-align:left;border:2px solid #1d1d1d;background:#fff;padding:10px 12px;font:inherit;font-size:16px;cursor:pointer;color:#1d1d1d}
.ch .no{font-family:"Oswald",sans-serif;font-size:20px;min-width:1.2em}.ch.ok{background:#e7f6e7;border-color:#1f7a1f}.ch.ng{background:#fdeaea;border-color:#b32020}
.res{margin-top:10px;border-left:6px solid #f7a600;padding:4px 12px;background:#fffaf0}.res b{display:block;font-size:17px;word-break:keep-all}.res p{margin:4px 0 0}
.score{position:sticky;bottom:0;background:#1d1d1d;color:#fff;text-align:center;padding:10px 16px;font-weight:700}
.kai{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}.kai a{border:2px solid #1d1d1d;padding:4px 12px;text-decoration:none;font-weight:700}
