/* 単元ドリル「プリント」：A4・1枚に詰めた紙面（PDF出力技術 仕様書 §2-4）
   UNIT_MASTER.print.fit が true の単元だけに #pr-sheet.pr-fit が付く。
   - 紙面を A4 の印刷範囲の高さに広げ、問題欄の行を残りの高さいっぱいに均等に伸ばす。
   - 各問の最小の高さ（cellMinH）は使わず、余白・解答線・答えの並びを詰める。
   - 中身が入りきらないときは紙面が伸びて2頁になり、1枚の検査で見つかる（はみ出しを隠さない）。
   画面（印刷ボタンの撮影）とブラウザ印刷の両方に効かせるため、高さ以外は @media の外に書く。 */

#pr-sheet.pr-fit {
  display:grid !important; box-sizing:border-box;
  grid-template-columns:auto auto minmax(0,1fr);
  grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto auto;
  min-height:290mm;
}
#pr-sheet.pr-fit[data-force-landscape="1"] { min-height:204mm; }
#pr-sheet.pr-fit > * { grid-column:1 / -1; }
#pr-sheet.pr-fit > .pr-title-box { grid-row:1; padding:3pt 0 !important; margin-bottom:3pt !important; }
#pr-sheet.pr-fit > .pr-header-row1 { grid-row:2; grid-column:auto; width:auto !important; min-width:0 !important; }
#pr-sheet.pr-fit > .pr-solid { grid-row:3; margin:2pt 0 3pt !important; }
#pr-sheet.pr-fit > .pr-inst { grid-row:4; margin-bottom:2pt !important; }
#pr-sheet.pr-fit > #pr-problems { grid-row:5; align-content:stretch !important; row-gap:4pt !important; column-gap:8pt !important; }
/* 列の幅は中身で広げない（広がると紙の幅を超え、ブラウザ印刷が紙面全体を縮める） */
#pr-sheet.pr-fit > #pr-problems.pr-cols2 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
#pr-sheet.pr-fit > #pr-problems.pr-cols3 { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
#pr-sheet.pr-fit > .pr-dashed { grid-row:6; margin:4pt 0 2pt !important; }
#pr-sheet.pr-fit > .pr-ans-header { grid-row:7; margin-bottom:1pt !important; }
#pr-sheet.pr-fit > #pr-answers { grid-row:8; }
#pr-sheet.pr-fit[data-force-landscape="1"] > #pr-answers { grid-template-columns:repeat(10,minmax(0,1fr)) !important; }
#pr-sheet.pr-fit .pr-row { padding:3pt 5pt !important; gap:1pt !important; min-height:0 !important; }
#pr-sheet.pr-fit .pr-ans-write { min-height:15pt !important; }
#pr-sheet.pr-fit .pr-graph-block { padding-bottom:1pt !important; }
/* 選択肢は横に並べ、問題文と同じ大きさで読めるようにする */
#pr-sheet.pr-fit .pr-choice-list { display:flex !important; flex-wrap:wrap; column-gap:14pt; row-gap:1pt; font-size:12.5pt !important; line-height:1.25 !important; }

/* 表：セルの余白を詰め、問題文の前にある表は問題文の左に置く */
#pr-sheet.pr-fit .pr-q table td, #pr-sheet.pr-fit .pr-q table th,
#pr-sheet.pr-fit .pr-graph-block table td, #pr-sheet.pr-fit .pr-graph-block table th { padding:1pt 6pt !important; height:auto !important; line-height:1.25 !important; }
#pr-sheet.pr-fit .pr-q table, #pr-sheet.pr-fit .pr-graph-block table { margin:1pt auto !important; }
#pr-sheet.pr-fit .pr-q:has(> table:first-child) { display:grid !important; grid-template-columns:auto minmax(0,1fr); column-gap:6pt; align-items:center; }

/* 文字の多い単元：行間・解答線を少し詰める（UNIT_MASTER.print.fitTight） */
#pr-sheet.pr-fit-tight .pr-q { line-height:1.12 !important; }
#pr-sheet.pr-fit-tight > #pr-problems { row-gap:3pt !important; }
#pr-sheet.pr-fit-tight .pr-ans-write { min-height:13pt !important; }

/* 図を問題文の右に置く（UNIT_MASTER.print.fitSide）。図の幅は図の中の文字の大きさ（fitSvgPt）で決まる */
#pr-sheet.pr-fit-side .pr-row { display:grid !important; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto 1fr auto; column-gap:6pt; }
#pr-sheet.pr-fit-side .pr-row > * { grid-column:1; }
#pr-sheet.pr-fit-side .pr-row > .pr-row-header { grid-row:1; }
#pr-sheet.pr-fit-side .pr-row > .pr-choice-list { grid-row:2; align-self:start; }
#pr-sheet.pr-fit-side .pr-row > .pr-ans-box { grid-row:3; }
#pr-sheet.pr-fit-side .pr-row > .pr-graph-block { grid-column:2; grid-row:1 / span 3; align-self:center; padding-bottom:0 !important; }

@media print {
  #page-print #pr-sheet.pr-fit { display:grid !important; min-height:268mm; }
  #page-print #pr-sheet.pr-fit[data-force-landscape="1"] { min-height:186mm; }
}

/* ── 単元ごとの調整（単元仕様書の印刷の節に対応） ── */
/* addition_meaning：A4横・2列。絵を問題文の右に置き、絵の行間を詰める */
#pr-sheet.pr-fit[data-unit="addition_meaning"] .pr-q { line-height:1.12 !important; }
#pr-sheet.pr-fit[data-unit="addition_meaning"] .pr-row > .pr-graph-block { width:48mm; }
#pr-sheet.pr-fit[data-unit="addition_meaning"] .pr-graph-block [data-add-figure] { margin:0 !important; }
#pr-sheet.pr-fit[data-unit="addition_meaning"] [data-add-object],
#pr-sheet.pr-fit[data-unit="addition_meaning"] [data-add-figure] > div > div > div:last-child { line-height:1.15 !important; }
/* 時計の単元：時計が1つの問題は問題文の右に、選ぶ時計は横一列に並べ、番号（①②③）は時計の左上に置く */
#pr-sheet.pr-fit .clock-cell { margin:1px 2px !important; }
#pr-sheet.pr-fit .pr-q:has(> div:only-of-type .clock-cell:only-child){display:grid !important;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:6pt}
#pr-sheet.pr-fit .pr-q:has(> div:only-of-type .clock-cell:only-child) > div{margin:0 !important}
#pr-sheet.pr-fit .clock-cell:not(:only-child){position:relative}
#pr-sheet.pr-fit .clock-cell:not(:only-child) > br{display:none}
#pr-sheet.pr-fit .clock-cell:not(:only-child) > .clock-label{position:absolute;left:0;top:0}
#pr-sheet.pr-fit .pr-q:has(> div + div .clock-cell:only-child):not(:has(> div + div + div)){display:grid !important;grid-template-columns:auto auto minmax(0,1fr);align-items:center;column-gap:4pt}
#pr-sheet.pr-fit .pr-q:has(> div + div .clock-cell:only-child):not(:has(> div + div + div)) > div{margin:0 !important}
/* calendar_date_weekday_1：A4縦・3列。カレンダーのマスの余白を詰める */
#pr-sheet.pr-fit[data-unit="calendar_date_weekday_1"] .pr-q table td, #pr-sheet.pr-fit[data-unit="calendar_date_weekday_1"] .pr-q table th, #pr-sheet.pr-fit[data-unit="calendar_date_weekday_1"] .pr-graph-block table td, #pr-sheet.pr-fit[data-unit="calendar_date_weekday_1"] .pr-graph-block table th{padding:0 1.5pt !important;line-height:1.15 !important}
/* length_reason_1：図を問題文の左に置く */
#pr-sheet.pr-fit[data-unit="length_reason_1"] .pr-q:has(> svg:first-child){display:grid !important;grid-template-columns:auto minmax(0,1fr);column-gap:6pt;align-items:center}
#pr-sheet.pr-fit[data-unit="length_reason_1"] .pr-q > svg:first-child{margin:0 !important}
/* sum_difference_model_1：A4横・2列。問題文は行いっぱいに書き（英語でも2行に収める）、その下に選択肢（2行2列）、選択肢の右にテープ図と答えの欄を置く */
#pr-sheet.pr-fit-side[data-unit="sum_difference_model_1"] .pr-row{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-content:space-between}
#pr-sheet.pr-fit-side[data-unit="sum_difference_model_1"] .pr-row > .pr-row-header{grid-column:1 / -1;grid-row:1}
#pr-sheet.pr-fit-side[data-unit="sum_difference_model_1"] .pr-row > .pr-graph-block{grid-column:2;grid-row:2;align-self:center}
#pr-sheet.pr-fit-side[data-unit="sum_difference_model_1"] .pr-row > .pr-choice-list{grid-column:1;grid-row:2 / span 2;align-self:center;display:grid !important;grid-template-columns:repeat(2,max-content);column-gap:10pt}
#pr-sheet.pr-fit-side[data-unit="sum_difference_model_1"] .pr-row > .pr-ans-box{grid-column:2;grid-row:3;align-self:end;width:26mm;margin:0 0 0 6pt !important}
#pr-sheet.pr-fit[data-unit="sum_difference_model_1"] .pr-graph-block svg{height:auto !important;margin:0 auto !important}
/* number_relation_grid_1：A4縦・1列。表を左、問題文を中、きまりの枠と答えの欄を右に置く */
#pr-sheet.pr-fit[data-unit="number_relation_grid_1"] .pr-row{display:grid !important;padding:1.5pt 4pt !important;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:4pt;align-content:center}
#pr-sheet.pr-fit[data-unit="number_relation_grid_1"] .pr-row > .pr-row-header{grid-column:2;grid-row:1 / span 2;align-self:center}
#pr-sheet.pr-fit[data-unit="number_relation_grid_1"] .pr-row > .pr-graph-block{display:contents}
#pr-sheet.pr-fit[data-unit="number_relation_grid_1"] .pr-graph-block > table{grid-column:1;grid-row:1 / span 2;align-self:center;margin:0 !important}
#pr-sheet.pr-fit[data-unit="number_relation_grid_1"] .pr-graph-block > .number-relation-rules{grid-column:3;grid-row:1;margin:0 !important;padding:1pt 4pt !important;font-size:10pt;line-height:1.3 !important;max-width:none !important;border-width:1.5px !important}
#pr-sheet.pr-fit[data-unit="number_relation_grid_1"] .pr-graph-block td{min-width:6.5mm !important;height:5.5mm !important;padding:0 1.5pt !important}
#pr-sheet.pr-fit[data-unit="number_relation_grid_1"] .pr-graph-block caption{display:none}
#pr-sheet.pr-fit[data-unit="number_relation_grid_1"] .pr-row > .pr-ans-box{grid-column:3;grid-row:2;margin-top:1pt !important}
/* clock_time_interval2_1：時計の図の高さの指定（main.css）を外し、縮尺で描く */
#pr-sheet.pr-fit[data-unit="clock_time_interval2_1"] .pr-graph-block svg{height:auto !important;margin:0 auto !important}
#pr-sheet.pr-fit[data-unit="clock_time_interval2_1"] .pr-graph-block:has(> svg ~ svg){display:flex;align-items:center;gap:6pt}
/* sum_grid_1：main.css の 9pt の指定を外し、問題文・表・答えを 12.5pt で書く */
#pr-sheet.pr-fit[data-unit="sum_grid_1"] .pr-q { font-size:12.5pt !important; line-height:1.2 !important; }
#pr-sheet.pr-fit[data-unit="sum_grid_1"] .pr-row { padding:3pt 5pt !important; gap:1pt !important; }
#pr-sheet.pr-fit[data-unit="sum_grid_1"] .pr-graph-block .sum-grid-table { width:42mm !important; }
#pr-sheet.pr-fit[data-unit="sum_grid_1"] .pr-graph-block .sum-grid-table td { height:7mm !important; font-size:12.5pt !important; }
#pr-sheet.pr-fit[data-unit="sum_grid_1"] .pr-graph-block .sum-grid-caption { font-size:11pt !important; line-height:1.2 !important; }
#pr-sheet.pr-fit[data-unit="sum_grid_1"] .pr-ans-box { font-size:10pt !important; }
#pr-sheet.pr-fit[data-unit="sum_grid_1"] .pr-ans-write { min-height:15pt !important; }
#pr-sheet.pr-fit[data-unit="sum_grid_1"] .pr-ans-cell, #pr-sheet.pr-fit[data-unit="sum_grid_1"] .pr-ans-val { font-size:11pt !important; }
/* make_ten_multi_add2_1：複数頁の専用の並べ方（main.css）をやめ、10題を1枚の2列に流す。
   式は左、「10の くみ」の○と答えの欄は右に置く */
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] > #pr-problems { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; height:auto !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .make-ten-print-page,
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .make-ten-print-page > div { display:contents !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] > #pr-ans-label { break-before:auto !important; page-break-before:auto !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] > #pr-answers { height:auto !important; grid-template-rows:none !important; gap:2pt 6pt !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"]> #pr-answers { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .pr-ans-cell { padding:0 3pt !important; min-height:0 !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .pr-ans-val { font-size:10.5pt !important; line-height:1.2 !important; white-space:nowrap !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .make-ten-print-row { display:grid !important; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto auto; column-gap:6pt; min-height:0 !important; height:auto !important; padding:2pt 6pt !important; break-inside:avoid; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .make-ten-print-row > .pr-row-header { grid-column:1 / -1; grid-row:1; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .make-ten-print-row > .make-ten-print-expression { grid-column:1; grid-row:2 / span 2; align-self:center; margin:1pt 0 0 !important; font-size:14pt !important; gap:3pt !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .make-ten-print-addend small { font-size:9pt !important; margin-top:0 !important; line-height:1.15 !important; white-space:normal !important; word-break:keep-all; text-align:center; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .make-ten-print-plus { flex:0 0 9pt !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .make-ten-print-row > .make-ten-print-pair-space { grid-column:2; grid-row:2; margin:2pt 0 0 !important; gap:4pt !important; justify-content:flex-start !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .make-ten-print-pair-space i { width:24pt !important; height:20pt !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .make-ten-print-row > .pr-ans-box { grid-column:2; grid-row:3; align-self:end; margin:0 !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .make-ten-print-row .pr-q { line-height:1.12 !important; }
#page-print #pr-sheet.pr-fit[data-unit="make_ten_multi_add2_1"] .make-ten-print-row > .pr-ans-box { gap:3pt !important; }
/* number_line_addition2_1：複数頁の専用の並べ方（main.css）をやめ、10題を1枚の2列に流す。
   数直線の右に「まるを つけよう」の指示を置く。答えは数だけを書き、たどった道の図は画面の答え合わせに任せる */
#page-print #pr-sheet.pr-fit[data-unit="number_line_addition2_1"] .number-line-print-page { display:contents !important; }
#page-print #pr-sheet.pr-fit[data-unit="number_line_addition2_1"] .number-line-print-page > .pr-row.number-line-print-row { height:auto !important; min-height:0 !important; padding:2pt 6pt !important; display:grid !important; grid-template-columns:auto minmax(0,1fr); column-gap:8pt; align-items:center; }
#page-print #pr-sheet.pr-fit[data-unit="number_line_addition2_1"] .number-line-print-row > .pr-row-header { grid-column:1 / -1; }
#page-print #pr-sheet.pr-fit[data-unit="number_line_addition2_1"] .number-line-print-row > .number-line-print-instruction { grid-column:2; font-size:10pt !important; line-height:1.25 !important; }
#page-print #pr-sheet.pr-fit[data-unit="number_line_addition2_1"] .number-line-addition-svg { height:auto !important; margin:0 auto !important; }
#page-print #pr-sheet.pr-fit[data-unit="number_line_addition2_1"] .number-line-print-answer-path { display:none !important; }
#page-print #pr-sheet.pr-fit[data-unit="number_line_addition2_1"] #pr-answers .pr-ans-cell { min-height:0 !important; display:flex !important; }
/* length_volume_conservation2_1：問題文は行いっぱいに書き（英語の文が長くても行が増えないように）、その下に選択肢と図を並べる */
#pr-sheet.pr-fit-side[data-unit="length_volume_conservation2_1"] .pr-row > .pr-row-header { grid-column:1 / -1; }
#pr-sheet.pr-fit-side[data-unit="length_volume_conservation2_1"] .pr-row > .pr-graph-block { grid-row:2; }
#pr-sheet.pr-fit-side[data-unit="length_volume_conservation2_1"] .pr-row > .pr-choice-list { align-self:center; }
#pr-sheet.pr-fit-side[data-unit="length_volume_conservation2_1"] .pr-row > .pr-ans-box { grid-column:1 / -1; }
/* sum_difference_model_1：答え（「larger 14, smaller 12」など）が3行に折れないよう、答えは5列で2段に並べる */
#pr-sheet.pr-fit[data-force-landscape="1"][data-unit="sum_difference_model_1"] > #pr-answers { grid-template-columns:repeat(5,minmax(0,1fr)) !important; }
