/* 計算・パズル（追加分 calc2）の紙面 */

/* 書き込み線（答え欄） */
.c2-line{display:inline-block; border-bottom:1px solid #222; height:1.2em; vertical-align:bottom;}
.c2-line.fx{flex:1 1 auto; min-width:20mm;}

/* ---------- 100マス計算 ---------- */
.c2-time{font-size:11pt; margin:0 0 4mm; display:flex; align-items:flex-end; flex-wrap:wrap; gap:0 1.5mm;}
.c2-time span{margin-left:3mm;}
.c2-time span:first-child{margin-left:0;}
.c2-time b{display:inline-block; width:11mm; border-bottom:1px solid #222; height:1.3em;}
.c2-hm{flex:1 1 auto; min-height:0; display:grid; border:2px solid #222; width:100%;}
.c2-hm > div{display:flex; align-items:center; justify-content:center;
  border-right:1px solid #555; border-bottom:1px solid #555; font-variant-numeric:tabular-nums;}
.c2-hm .hc{background:#eee; font-weight:700;}
.c2-hm .op{background:#222; color:#fff;}
.c2-hm10x10{font-size:15pt;}
.c2-hm10x5{font-size:18pt;}
.c2-hm5x5{font-size:22pt;}
/* 5マス×5は横長にならないよう紙の幅を詰める */
.c2-hm5x5{width:150mm; margin:0 auto;}
.c2-hm.ans{flex:0 0 auto; height:auto; font-size:12pt;}
.c2-hm.ans > div{padding:1.2mm 0;}
.c2-hm.ans .cc{color:#000;}

/* ---------- 虫食い算 ---------- */
.c2-box{display:inline-block; width:10mm; height:10mm; border:1.5px solid #222; vertical-align:middle;
  text-align:center; line-height:10mm; font-size:15pt;}
.c2-box.on{background:#eee; font-weight:700;}
.c2-mk.yoko .c2-yk{font-size:17pt; display:flex; align-items:center; gap:2.5mm;}
.c2-mk .no{font-size:11pt; color:#444; min-width:8mm;}
.c2-mk.hiss .c2-hs{display:flex; align-items:flex-start; gap:2mm; justify-content:center;}
.c2-ht{border-collapse:collapse; font-size:18pt; font-variant-numeric:tabular-nums;}
.c2-ht td{width:11mm; height:12mm; text-align:center; padding:0;}
.c2-ht td.op{width:9mm;}
.c2-ht tr.sum td{border-top:2px solid #222;}
.sheet.ansheet .c2-ht{font-size:13pt;}
.sheet.ansheet .c2-ht td{height:9mm; width:9mm;}
.sheet.ansheet .c2-box{width:8mm; height:8mm; line-height:8mm; font-size:12pt;}

/* ---------- 生活の文章題 ---------- */
.c2-bn{font-size:13.5pt; line-height:1.65;}
.c2-bn .t{display:flex; gap:2mm;}
.c2-bn .no{min-width:7mm; font-weight:700;}
.c2-bn .a{display:flex; align-items:flex-end; gap:2mm; margin:3mm 0 0 9mm;}
.c2-bn .a .k{font-size:11pt; border:1px solid #222; padding:0 1.5mm; line-height:1.4;}
.c2-bn .a .k + .c2-line.fx{margin-right:5mm;}
.c2-ba{font-size:12.5pt; line-height:1.9;}
.c2-ba .no{display:inline-block; min-width:8mm;}
.c2-ba .ex{color:#444; margin-left:3mm; font-size:11pt;}

/* ---------- 数字の読み書き ---------- */
.c2-sj{display:flex; align-items:flex-end; gap:3mm; font-size:15pt;}
.c2-sj .no{font-size:11pt; min-width:8mm; color:#444;}
.c2-sj .q{flex:0 0 90mm; font-weight:700; letter-spacing:.04em;}
.c2-sj .q.long{font-size:12pt; letter-spacing:0;}
.c2-sj .h{font-size:10pt; color:#444; white-space:nowrap;}
.c2-sj.wide .c2-line.fx{min-width:60mm;}

@media screen and (max-width:760px){
  .c2-hm5x5{width:100%;}
  .c2-hm{min-height:120mm;}
  .c2-sj .q{flex-basis:auto;}
}
