@charset "UTF-8";
/* 付属教材の印刷用ページ。色・影・角丸は style.css のトークンだけを使う。 */

body{background:var(--sky-050)}
.mat{
  max-width:960px;margin-inline:auto;padding:32px 24px 64px;
  color:var(--text);
}
.mat-head{
  display:grid;gap:12px;padding:26px 28px;border:1px solid var(--border);
  border-radius:var(--radius-lg);background:#fff;box-shadow:var(--sh-card);
}
.mat-kicker{font-size:12px;font-weight:800;color:var(--blue-ink)}
.mat-head h1{font-size:28px;line-height:1.45;color:var(--navy)}
.mat-head p{line-height:1.9;color:var(--navy-soft)}
.mat-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.mat-actions .btn{cursor:pointer;font-family:inherit}

.mat-sheet{
  position:relative;margin-top:22px;padding:30px 34px 36px;border:1px solid var(--border);
  border-radius:var(--radius-lg);background:#fff;box-shadow:var(--sh-card);
}
.mat-sheet__no{
  position:absolute;right:28px;top:24px;font-size:28px;font-weight:800;
  color:var(--sky-200);
}
.mat-sheet h2{font-size:24px;line-height:1.5;color:var(--navy)}
.mat-sheet h3{font-size:15px;line-height:1.6;color:var(--navy)}
.mat-lead{margin-top:8px;line-height:1.9;color:var(--navy-soft)}
.mat-grid{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mat-grid label,.mat-lines label{
  display:grid;gap:8px;font-weight:800;color:var(--navy);
}
.mat-grid span,.mat-lines span{font-size:12.5px}
.mat-grid b,.mat-lines b{
  display:block;min-height:64px;border:1px solid var(--border);
  border-radius:var(--radius-sm);background:var(--sky-050);
}
.mat-note{
  margin-top:18px;padding:16px;border:1px solid var(--card-border);
  border-radius:var(--radius-md);background:var(--sky-100);
}
.mat-note p{margin-top:6px;line-height:1.9;color:var(--navy-soft)}
.mat-table{
  width:100%;margin-top:20px;border-collapse:separate;border-spacing:0;
  border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;
}
.mat-table th,.mat-table td{
  min-height:48px;padding:12px;border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);text-align:left;vertical-align:top;
}
.mat-table th{background:var(--sky-200);color:var(--navy);font-size:12.5px}
.mat-table tr:last-child td{border-bottom:0}
.mat-table th:last-child,.mat-table td:last-child{border-right:0}
.mat-lines{margin-top:18px;display:grid;gap:14px}
.mat-templates{margin-top:20px;display:grid;gap:14px}
.mat-templates section{
  padding:16px;border:1px solid var(--card-border);
  border-radius:var(--radius-md);background:var(--sky-100);
}
.mat-templates p{margin-top:8px;line-height:2;color:var(--text)}
.mat-checks{margin-top:20px;display:grid;gap:10px;list-style:none;padding:0}
.mat-checks li{
  position:relative;padding:10px 12px 10px 40px;border-bottom:1px solid var(--border);
  font-weight:700;color:var(--navy);
}
.mat-checks li::before{
  content:"";position:absolute;left:10px;top:12px;width:18px;height:18px;
  border:1.5px solid var(--blue-ink);border-radius:var(--radius-sm);background:#fff;
}

@media (max-width:700px){
  .mat{padding:20px 16px 40px}
  .mat-head,.mat-sheet{padding:22px 18px}
  .mat-grid{grid-template-columns:1fr}
  .mat-table{font-size:12px}
  .mat-table th,.mat-table td{padding:8px}
}

@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff}
  .mat{max-width:none;padding:0}
  .mat-head{box-shadow:none;border:0;padding:0 0 8mm}
  .mat-actions{display:none}
  .mat-sheet{
    min-height:260mm;margin:0;padding:0;box-shadow:none;border:0;border-radius:0;
    break-after:page;page-break-after:always;
  }
  .mat-sheet:last-child{break-after:auto;page-break-after:auto}
  .mat-sheet__no{right:0;top:0}
  .mat-grid b,.mat-lines b{min-height:22mm;background:#fff}
  .mat-note,.mat-templates section{background:#fff}
}
