.re{ max-width: 960px; margin: 0 auto; padding: 28px 16px 56px; }
.re-head{ margin-bottom: 18px; }
.re-title{ font-size: 32px; margin: 0; }
.re-sub{ margin-top: 4px; color:#666; letter-spacing: .06em; }

.re-steps{ display:flex; gap:14px; margin-top:18px; flex-wrap:wrap; }
.re-step{ display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid #ddd; border-radius:10px; background:#fff; }
.re-step__num{ width:28px; height:28px; display:grid; place-items:center; border-radius:999px; border:1px solid #ddd; font-weight:700; }
.re-step.is-active{ border-color:#2a73ff; }
.re-step.is-active .re-step__num{ border-color:#2a73ff; }

.re-body{ background:#fff; border:1px solid #eee; border-radius:14px; padding:18px; }
.re-lead{ line-height:1.8; margin-bottom: 14px; }
.re-job{ margin-bottom: 10px; }

.re-form{ margin-top: 8px; }
.re-field{ margin: 14px 0; }
.re-label{ font-weight:700; margin-bottom:8px; }
.re-input{ width:100%; padding:12px 12px; border:1px solid #ccc; border-radius:10px; }
.re-input--s{ width: 110px; max-width: 33%; }

.re-field--inline{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.re-radio{ display:flex; gap:14px; flex-wrap:wrap; }
.re-radio label{ display:flex; gap:8px; align-items:center; }

.re-grid2{ display:grid; grid-template-columns: 1fr; gap: 10px; }
.re-split{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }

.re-dl{ margin: 12px 0; border-top:1px solid #eee; }
.re-row{ display:grid; grid-template-columns: 160px 1fr; gap:12px; padding:12px 0; border-bottom:1px solid #eee; }
.re-row dt{ color:#555; font-weight:700; }
.re-row dd{ margin:0; }

.re-actions{ display:flex; gap:12px; justify-content:flex-end; margin-top: 18px; flex-wrap:wrap; }
.re-btn{ padding:12px 18px; border-radius:12px; border:1px solid #2a73ff; background:#2a73ff; color:#fff; font-weight:700; cursor:pointer; }
.re-btn.is-ghost{ background:#fff; color:#2a73ff; }

.re-privacy{ margin-top: 14px; color:#666; font-size: 13px; line-height: 1.6; }

@media (max-width: 640px){
  .re-row{ grid-template-columns: 1fr; }
  .re-split{ grid-template-columns: 1fr; }
}


/* ヘッダー被り防止（SP） */
.page-template-page-recruit-entry .r-entry {
  padding-top: 24px;
}

/* タイトル欠け防止 */
.page-template-page-recruit-entry h1,
.page-template-page-recruit-entry .r-entry__title {
  overflow: visible;
  line-height: 1.4;
}


/* main.reが違う時の保険：このページの main に直接当てる */
body.page-template-page-recruit-entry-php main,
body.page-template-page-recruit-entry main{
  padding-top: 120px !important;
}

/* recruit-entry：先頭がヘッダーに潜る対策（PC/SP共通） */
body.page-template-page-recruit-entry main.re{
  padding-top: 120px;
}

/* recruit-entry：性別ラジオが押せない応急処置（クリック復活） */
body.page-template-page-recruit-entry .mw_wp_form label,
body.page-template-page-recruit-entry .mw_wp_form .mwform-radio-field,
body.page-template-page-recruit-entry .mw_wp_form input[type="radio"]{
  pointer-events: auto !important;
  cursor: pointer;
}

body.page-template-page-recruit-entry .mw_wp_form input[type="radio"]{
  appearance: auto !important;
  -webkit-appearance: radio !important;
  opacity: 1 !important;
  position: static !important;
}

body.page-template-page-recruit-entry .mw_wp_form .mwform-radio-field{
  position: relative;
  z-index: 5;
}

/* 性別（radio）が選べない対策：見た目とクリックを強制復旧 */
body.page-template-page-recruit-entry .re-radio{
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

body.page-template-page-recruit-entry .re-radio label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  position: relative;
  z-index: 2;              /* 上に出す */
  pointer-events: auto;
}

body.page-template-page-recruit-entry .re-radio input[type="radio"]{
  -webkit-appearance: radio;
  appearance: auto;         /* “普通のradio”に戻す */
  width: 18px;
  height: 18px;
  margin: 0;
  pointer-events: auto;
}

/* もし透明の何かがクリックを吸ってる場合の保険 */
body.page-template-page-recruit-entry .re-radio,
body.page-template-page-recruit-entry .re-radio *{
  pointer-events: auto;
}