.wrap{max-width:760px; margin:0 auto; padding:0 24px;}

header .wrap{max-width:1080px;}
footer .wrap{max-width:1080px;}

.page-hero{
  position:relative; color:#fff; overflow:hidden;
  background:
  linear-gradient(105deg, rgba(15,32,25,0.86) 0%, rgba(15,32,25,0.55) 60%, rgba(15,32,25,0.2) 100%),
  url("../assets/recruit.webp") center/cover no-repeat,
  linear-gradient(135deg,#163a2e,#24483c);
}
.page-hero .wrap{position:relative; z-index:2; max-width:1080px; padding:64px 24px 48px;}
.page-hero .eyebrow{color:var(--gold); font-weight:700; font-size:13px; letter-spacing:0.08em; margin-bottom:8px;}
.page-hero h1{font-size:32px; margin:8px 0 12px;}
.page-hero p{color:#e4e6e0; font-size:15px; max-width:640px; margin:0;}
.crumb{font-size:12px; color:#c9cdc2; margin-bottom:12px;}
.crumb a{color:#c9cdc2;}

section{padding:56px 0;}
.form-card{background:var(--white); border:1px solid var(--border); border-radius:14px; padding:36px;}
.field{margin-bottom:24px;}
.field label{display:block; font-size:14px; font-weight:700; color:var(--navy); margin-bottom:8px;}
.req-badge{display:inline-block; background:var(--gold-strong); color:#fff; font-size:10px; font-weight:700; padding:2px 8px; border-radius:4px; margin-left:8px; vertical-align:middle;}
.opt-badge{display:inline-block; background:var(--bg); color:var(--text-sub); font-size:10px; font-weight:700; padding:2px 8px; border-radius:4px; margin-left:8px; vertical-align:middle; border:1px solid var(--border);}
.field input[type=text], .field input[type=email], .field input[type=tel], .field textarea{
  width:100%; border:1px solid var(--border); border-radius:8px; padding:12px 14px; font-size:14px;
  font-family:inherit; color:var(--text); background:var(--bg);
}
.field input:focus, .field textarea:focus{outline:2px solid var(--gold-strong); outline-offset:1px; background:#fff;}
.field textarea{min-height:140px; resize:vertical;}
.note{font-size:12px; color:var(--text-sub); margin:6px 0 0;}
.err-msg{color:var(--err); font-size:12px; margin:6px 0 0; font-weight:700;}
.subj-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px;}
.subj-item{display:flex; align-items:center; gap:8px; border:1px solid var(--border); border-radius:8px; padding:12px 14px; font-size:13px; cursor:pointer; background:var(--bg);}
.subj-item input{width:16px; height:16px; accent-color:var(--navy);}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.submit-btn{background:var(--navy); color:#fff; width:100%; padding:16px; font-size:15px; font-weight:700; border:none; border-radius:8px; cursor:pointer;}
.submit-btn:hover{background:var(--navy-light);}

.alert-ok{background:rgba(99,153,34,0.12); border:1px solid rgba(99,153,34,0.4); color:#3b6d11; border-radius:10px; padding:20px 24px; margin-bottom:24px; font-size:14px;}
.alert-ok b{display:block; font-size:16px; margin-bottom:6px;}
.alert-err{background:rgba(226,75,74,0.1); border:1px solid rgba(226,75,74,0.4); color:var(--err); border-radius:10px; padding:16px 20px; margin-bottom:24px; font-size:13px;}
.direct{font-size:13px; color:var(--text-sub); text-align:center; margin-top:24px;}
.direct a{color:var(--navy); font-weight:700;}

@media(max-width:860px){

  .form-card{padding:24px;}
  .subj-grid{grid-template-columns:1fr;}

}


/* =========================================================
   レスポンシブ（下層ページ共通）
   ※ common.css より後に読み込まれるので、ここで上書きする
   ========================================================= */
@media(max-width:1024px){
  section{padding:44px 0;}
  .page-hero .wrap{padding-top:52px; padding-bottom:40px;}
  .page-hero h1{font-size:27px;}
}
@media(max-width:600px){
  .page-hero .wrap{padding-left:16px; padding-right:16px; padding-top:36px; padding-bottom:28px;}
  .page-hero h1{font-size:22px; line-height:1.45;}
  .page-hero p{font-size:14px;}
  .crumb{font-size:11px; margin-bottom:10px;}
  section{padding:34px 0;}
  h2{font-size:19px;}
  .final-cta{padding:40px 0;}
  .final-cta .btn-primary{padding:13px 22px;}
}

@media(max-width:600px){
  .form-card{padding:16px;}
  .field input, .field textarea{font-size:16px;} /* iOSの自動ズーム防止 */
}
