@page { size: A4 landscape; margin: 10mm; }

html, body { margin: 0; padding: 0; }

/* ★ スケール用のCSS変数 */
:root{
  --base-font: 10.5pt; /* 基準 */
  --scale: 1;          /* JSが 0.92 などに落とす */
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Meiryo", sans-serif;
  color: #000;
  font-size: calc(var(--base-font) * var(--scale));
  line-height: 1.35;
}

* { box-sizing: border-box; }
/* * { animation: none !important; transition: none !important; } */

.sheet { width: 100%; }

/* ===== ヘッダー ===== */
.header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  column-gap: 8mm;
  margin-top: 2mm;
  margin-bottom: 2mm;
}

.brand { display: flex; align-items: center; }
.brand-logo img { max-height: 10mm; width: auto; }
.brand-text .brand-sub { font-size: 0.86em; margin-bottom: 1mm; }
.brand-text .brand-name { font-size: 1.25em; font-weight: 700; }

.header-title {
  text-align: center;
  font-size: 1.7em;
  font-weight: 800;
  letter-spacing: .06em;
}

.qr { display: flex; justify-content: flex-end; }
/* .qr-img { width: 20mm; height: 20mm; object-fit: cover; border: 1px solid #000; } */
.qr-img { width: 15mm; height: 15mm; object-fit: cover; }

/* 求人番号 */
.jobno { margin: -21px 0 35px 0; }
.jobno-num { font-weight: 700; }

/* ===== 共通パネル ===== */
.panel-title { font-weight: 800; margin: -21px 0 1.5mm 0; }
.mt { margin-top: 4mm; }

/* 罫線テーブル */
table.form {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: 2px solid #000;
}
table.form th, table.form td {
  border: 1px solid #000;
  padding: 2mm 2.5mm;
  vertical-align: middle;
  word-break: break-word;
  white-space: pre-wrap;
}
table.form th {
  width: 22mm;
  text-align: center;
  font-weight: 700;
  background: #fff;
}

/* 中央・右の縦長ブロック用 */
table.form.form-compact th {
  width: 28mm;
  text-align: left;
  padding-left: 3mm;
}

/* セル高さ（枠を保つ） */
td.cell-lg {
	height: 18mm;
	font-size: 0.6rem;
}
td.cell-xl { 
	height: 32mm;
	font-size: 0.6rem;
}

/* ===== 上段3カラム ===== */
.grid-top {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 6mm;
}

a { color: inherit; text-decoration: none; }
a[href]:after { content: "" !important; }

/* 下段2ブロック：天地をそろえる */
.grid-bottom {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 6mm;
  margin-top: 8mm;

  /* ★ これを追加 */
  align-items: stretch;
}

/* ★ パネル自体も高さ100% */
.grid-bottom .panel {
  height: 100%;
}

.grid-bottom .panel {
  height: 100%;
}
