/* pdf-layout.css - 画面プレビュー用の用紙レイアウト（厚労省様式の履歴書・職務経歴書） */

/*
  このファイルは「画面で見るプレビュー」の見た目を作ります。
  PDFそのものは pdf-lib が数値で組み立てるため、このCSSはPDFには使われません
  （Phase 2でhtml2canvasによる画像化をやめ、テキストPDFへ作り替えたため）。
  サイズは絶対値（mm）で指定し、実際の用紙と同じ縮尺で見えるようにしています。
*/

.pdf-template {
  background-color: white !important;
  color: black !important;
  font-family: 'Noto Sans JP', serif !important;
  font-size: 10.5pt;
  line-height: 1.4;
  /* 用紙の中身はサイト側のタイポグラフィから切り離す。
     body に字間・行間を足しても、mm単位で組んだ枠がずれないようにするため
     （サイト共通CSSの変更が書類のレイアウトに漏れる事故を防ぐ。2026-07-19） */
  letter-spacing: normal;
  word-spacing: normal;
  width: 210mm;
  min-height: 297mm; /* A4縦。厚労省様式はA4×2枚構成 */
  padding: 13mm 12mm; /* マージン */
  box-sizing: border-box;
  position: relative;
}

/* 2ページ目以降は改ページ。プレビューでは各ページを白紙として区切って見せる */
.pdf-page + .pdf-page {
  margin-top: 8mm;
}
.pdf-page[data-page="1"] {
  page-break-after: always;
}

/* ====== 共通テーブルスタイル ====== */
.pdf-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 4mm;
  border: 1px solid black;
}

.pdf-table th,
.pdf-table td {
  border: 1px solid black;
  padding: 1mm 2mm;
  vertical-align: middle;
}

.pdf-table th {
  font-weight: normal;
  text-align: left;
}

.text-center { text-align: center !important; }
.text-right { text-align: right !important; }
.border-none { border: none !important; }
.border-bottom-none { border-bottom: none !important; }
.border-top-none { border-top: none !important; }
.border-right-none { border-right: none !important; }
.border-left-none { border-left: none !important; }
.border-bottom-dotted { border-bottom: 1px dotted black !important; }

.font-bold { font-weight: bold; }
.font-large { font-size: 16pt; }
.font-small { font-size: 9pt; }

/* ====== 履歴書（厚生労働省 履歴書様式例）====== */
.resume-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 3mm;
}

.resume-title {
  font-size: 22pt;
  font-weight: bold;
  letter-spacing: 8px;
}

.resume-date {
  font-size: 10.5pt;
  padding-bottom: 1mm;
}

/* 基本情報テーブル（氏名・生年月日・性別・写真） */
.resume-basic-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid black;
  margin-bottom: 0;
}

.resume-basic-table td {
  border: 1px solid black;
  padding: 1.5mm 2.5mm;
  vertical-align: middle;
  /* 指定した幅を「内側の余白まで含んだ幅」として扱う。こうしないと余白のぶんだけ
     列が広がり、写真の列がPDFの30mmより太くなる（2026-07-30 バッチ7-b） */
  box-sizing: border-box;
}

/* 寸法はPDF生成（js/pdf-generator.js の hKana=6・hName=23・hBirth=11・hAddr=14・
   PHOTO_W=30・PHONE_W=30）と同じ数値にそろえる。画面プレビューとPDFで配置が
   食い違って見える不具合の対処（2026-07-24 修正指示書 P4。実機指摘①③。
   電話欄は2026-07-30 バッチ7-bで38mm→30mm＝写真枠の左辺にそろえた） */
.cell-kana {
  font-size: 9pt;
  height: 6mm;
}

/* ふりがなは氏名の真上に来るように、ラベル幅を決めて値の開始位置をそろえる
   （PDF側: ふりがなの値=左端から18mm・氏名の値=20mm。セルの内側余白2.5mmを差し引いた幅） */
.kana-label {
  display: inline-block;
  width: 15.5mm;
}

.kana-value {
  display: inline-block;
}

.cell-name {
  height: 23mm;
  vertical-align: middle;
}

.name-label {
  display: inline-block;
  width: 17.5mm;
  font-size: 10.5pt;
  vertical-align: middle;
}

.name-value {
  font-size: 20pt;
  letter-spacing: 2px;
  vertical-align: middle;
}

/* 幅はPDF側と同じ割り付けにする（2026-07-30 バッチ7-b）。
   PDF: 生年月日=左端から116mm・性別=40mm・写真=30mm。合計186mm＝紙の内側の幅 */
.cell-birth {
  height: 11mm;
  width: 116mm;
}

.cell-gender {
  width: 40mm;
}

.cell-label-inline {
  font-size: 9pt;
}

/* 写真枠。幅はPDFの PHOTO_W と同じ30mm＝右端は紙の内側の右端にそろう。
   内側の余白を置くと、その分だけ列が太くなって写真枠の左辺が電話欄とずれるため、
   余白は0にして写真が枠いっぱいに入る形にする（2026-07-30 バッチ7-b。
   PDF側も枠と写真をぴたりと同じ30×40mmで描いている） */
.resume-photo-cell {
  width: 30mm;
  text-align: center;
  vertical-align: middle;
  padding: 0 !important;
}

/* 写真枠: セル枠と箱枠が重なる「二重枠」をやめ、枠は1本だけにする（2026-07-19裁定）。
   大きさは実際に貼る写真と同じ 縦4cm×横3cm にそろえ、迷わず貼れるようにする */
.resume-photo-box {
  width: 100%;
  height: 40mm;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.resume-photo-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.resume-photo-placeholder {
  /* 30mm×40mmの枠の内側に必ず収める（2026-07-23 実機指摘g: 説明文が枠からはみ出していた） */
  box-sizing: border-box;
  width: 100%;
  padding: 1mm 0.5mm;
  text-align: center;
  font-size: 6.5pt;
  color: #666;
  line-height: 1.35;
  letter-spacing: -0.2px;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* 現住所・連絡先テーブル */
.resume-contact-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid black;
  border-top: none;
  margin-bottom: 3mm;
}

.resume-contact-table td {
  border: 1px solid black;
  padding: 1.5mm 2.5mm;
  vertical-align: top;
}

/* 電話の欄は写真枠と同じ30mm＝写真枠の左辺と電話欄の縦線を1本にそろえる
   （2026-07-30 バッチ7-b。PDF側の PHONE_W と同じ数値） */
.cell-tel-label {
  width: 30mm;
  font-size: 9.5pt;
  vertical-align: top;
}

/* 電話番号は欄の中央に置き、数字幅をそろえる（PDF側と同じ見え方にする。実機指摘③） */
.cell-tel {
  width: 30mm;
  vertical-align: middle;
  text-align: center;
  font-size: 10pt;
  font-variant-numeric: tabular-nums;
}

/* 住所が1行なら14mm・2行になったら1行ぶん広がる（表のセルの height は最小の高さとして働く）。
   PDF側の H_ADDR_1 / H_ADDR_2 と同じ考え方（2026-07-29 バッチ5） */
.cell-address {
  height: 14mm;
}

.cell-note {
  font-size: 8.5pt;
}

/* 現住所・連絡先とも「〒」の値・ふりがな・住所を同じ位置からそろえる。
   数値はPDF側の ADDR_INDENT（左端から22mm）と同じ＝セルの内側余白2.5mmを引いた19.5mm
   （2026-07-29 バッチ5。1行目=〒と注記／2行目=住所または「同上」） */
.addr-label {
  display: inline-block;
  width: 19.5mm;    /* PDF側の ADDR_INDENT 22mm − セルの内側余白2.5mm */
}

.addr-indent {
  margin-left: 19.5mm;
}

/* 連絡先テーブルのふりがなも、〒の値と同じ位置から始める（縦の線を1本にそろえる）。
   氏名の上のふりがな（.resume-basic-table）は氏名に合わせるため、ここでは変えない */
.resume-contact-table .kana-label {
  width: 19.5mm;
}

/* 住所は最大2行。入力欄で改行した位置をそのまま出す（pre-wrap）。
   3行以上になる長さはPDF生成時に知らせて止める（黙って欠けさせない）。
   行送り4.2mm・上の余白1.6mm＝PDF側の ADDR_LINE_H と同じにして、
   1行なら欄が14mm・2行なら18.2mm になるようそろえる（2026-07-29 バッチ5） */
.address-text {
  display: block;
  margin-top: 1.6mm;
  font-size: 10.5pt;
  line-height: 4.2mm;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* 学歴・職歴／免許・資格テーブル */
.history-table th:nth-child(1),
.license-table th:nth-child(1) { width: 13%; text-align: center; }
.history-table th:nth-child(2),
.license-table th:nth-child(2) { width: 9%; text-align: center; }
.history-table th:nth-child(3),
.license-table th:nth-child(3) { width: 78%; text-align: center; }

.history-table td,
.license-table td { height: 8mm; }

/* 志望動機・本人希望などの自由記入欄 */
.free-table { margin-bottom: 3mm; }

.free-label {
  font-weight: normal;
  font-size: 10pt;
  text-align: left;
  padding: 1.5mm 2.5mm;
  background-color: #fafafa;
}

.free-body {
  height: 62mm;
  vertical-align: top;
  padding: 2.5mm !important;
  white-space: pre-wrap;
  line-height: 1.6;
}

.free-body-short {
  height: 34mm;
}

.resume-footnote {
  font-size: 9pt;
  margin-top: 2mm;
}


/* ====== 職務経歴書 ====== */
.cv-header {
  text-align: center;
  margin-bottom: 8mm;
  position: relative;
}

.cv-title {
  font-size: 18pt;
  font-weight: bold;
  letter-spacing: 2px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.cv-date-name {
  position: absolute;
  right: 0;
  top: 0;
  text-align: right;
  font-size: 11pt;
}

.cv-section {
  margin-bottom: 6mm;
}

.cv-section-title {
  font-weight: bold;
  font-size: 12pt;
  border-bottom: 1px solid black;
  margin-bottom: 2mm;
  padding-bottom: 1mm;
}

/* 職務要約 */
.cv-summary-text {
  font-size: 11pt;
  line-height: 1.6;
  white-space: pre-wrap;
}

/* 職務経歴詳細 */
.cv-career-block {
  margin-bottom: 5mm;
}

.cv-company-name {
  font-weight: bold;
  font-size: 11pt;
  margin-bottom: 1mm;
}

.cv-career-detail-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10pt;
}

.cv-career-detail-table th,
.cv-career-detail-table td {
  border: 1px solid black;
  padding: 1.5mm 2mm;
  vertical-align: top;
}

.cv-career-detail-table th {
  background-color: #f0f0f0;
  width: 25%;
}

.cv-career-content {
  white-space: pre-wrap;
}
