/* ============================================================
   entrysheet.css — エントリーシート固有スタイル
   ============================================================ */

/* インライン入力グループ（氏名分割・電話分割・郵便番号・年月） */
.es-inline {
  display: flex;
  align-items: center;
  gap: 6px 8px;
  flex-wrap: wrap;
}

.es-inline .contact-input { width: auto; }

/* XS: 年月・郵便番号前半 */
.contact-input--xs {
  max-width: 72px;
  min-width: 56px;
}

/* S2: 郵便番号後半・電話各パート */
.contact-input--s2 {
  max-width: 88px;
  min-width: 64px;
}

/* 姓名用 */
.contact-input--name {
  max-width: 200px;
}

/* 住所（フル幅） */
.es-address { margin-top: 8px; }

/* --------------------------------------------------------
   職歴ブロック
   -------------------------------------------------------- */
.es-career-block {
  background: #f9f9f9;
  border: 1px solid #e4e4e4;
  border-radius: 8px;
  padding: clamp(12px, 1.25vw, 18px);
}

.es-career-table {
  width: 100%;
  border-collapse: collapse;
}

.es-career-table tr {
  border-bottom: 1px solid #ececec;
}

.es-career-table tr:first-child {
  border-top: none;
}

.es-career-table th {
  width: clamp(100px, 22%, 160px);
  padding: clamp(8px, 0.83vw, 12px) clamp(8px, 0.83vw, 12px) clamp(8px, 0.83vw, 12px) 0;
  font-size: clamp(11px, 0.73vw, 13px);
  font-weight: 700;
  color: #444;
  vertical-align: top;
  white-space: nowrap;
  text-align: left;
}

.es-career-table td {
  padding: clamp(6px, 0.63vw, 10px) 0 clamp(6px, 0.63vw, 10px) clamp(8px, 0.83vw, 12px);
  vertical-align: top;
}

.es-career-table .contact-input,
.es-career-table .contact-textarea {
  font-size: 14px;
}

.es-career-table .contact-textarea {
  min-height: 100px;
}

/* --------------------------------------------------------
   希望勤務地
   -------------------------------------------------------- */
.es-location-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 4px;
}

.es-location-section {
  background: #fafafa;
  border: 1px solid #eeeeee;
  border-radius: 6px;
  padding: 12px 16px;
}

.es-location-section__title {
  font-size: clamp(12px, 0.73vw, 13px);
  font-weight: 700;
  color: #333;
  margin: 0 0 10px;
}

.es-location-section .contact-check-group {
  padding-top: 0;
}

/* --------------------------------------------------------
   Responsive — 768px
   -------------------------------------------------------- */
@media (max-width: 768px) {
  .es-career-table,
  .es-career-table tbody,
  .es-career-table tr,
  .es-career-table th,
  .es-career-table td {
    display: block;
    width: 100%;
  }

  .es-career-table th {
    padding: 10px 0 2px;
    border: none;
    white-space: normal;
  }

  .es-career-table td {
    padding: 2px 0 10px;
  }

  .es-career-table tr:first-child { border-top: none; }

  .contact-input--name { max-width: 100%; }
}
