/* ===== Base ===== */
:root{
  --brand:#004c8c;
  --bg:#f7f9fc;
  --ink:#222;
  --muted:#444;
  --card:#fff;
  --line:#e0e4e8;
}

*,
*::before,*::after{ box-sizing:border-box; }
html,body{ margin:0; }
body{
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic Pro",Meiryo,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.7;
}
a{ color:inherit; text-decoration:none; }
.container{ width:min(92%,1200px); margin-inline:auto; }

/* ===== Header (unified) ===== */
.site-header{ background:var(--brand); color:#fff; }
.header-inner{
  display:flex; justify-content:space-between; align-items:center; padding:1rem 0;
}
.logo-text{ font-size:1.4rem; font-weight:700; }
.site-nav{ display:flex; gap:1.2rem; font-size:.95rem; }
.site-nav a{ color:#fff; opacity:.95; }
.site-nav a[aria-current="page"]{ text-decoration:underline; text-underline-offset:4px; }
.btn-primary.small{
  background:#fff; color:var(--brand); padding:.45rem 1rem; border-radius:6px; font-weight:700;
}
.btn-primary.small:hover{ opacity:.9; }

/* ===== Hero ===== */
.hero{
  background:linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.25)),
             url("images/recruit-hero.jpg") center/cover no-repeat;
  color:#fff;
}
.hero .container{ padding:3.2rem 0; text-align:center; }
.hero h1{ font-size:2.2rem; margin:.2rem 0 .4rem; }
.hero p{ margin:0; opacity:.95; }

/* ===== Sections ===== */
.section{ padding:3rem 0; }
.section .container{ background:var(--card); border:1px solid var(--line); border-radius:10px; padding:2rem; }
.section + .section{ margin-top:1rem; }
.section h1,.section h2{
  color:var(--brand); font-weight:800; margin:0 0 .8rem;
}
.mt-24{ margin-top:1.5rem; }
.center{ text-align:center; }
.btn-primary{
  background:var(--brand); color:#fff; padding:.8rem 1.8rem; border-radius:8px; display:inline-block; font-weight:700;
}
.btn-primary:hover{ opacity:.92; }

/* ===== Grid & Cards ===== */
.recruit-grid{
  display:grid; gap:2rem; align-items:center;
  grid-template-columns:1.15fr .85fr;
}
.recruit-photo{
  min-height:280px; border-radius:10px;
  background:url("images/recruit-photo.jpg") center/cover no-repeat;
  box-shadow:0 6px 20px rgba(0,0,0,.08);
}
.cards-2{ display:grid; gap:1.4rem; grid-template-columns:1fr 1fr; }
.card{
  background:var(--card); border:1px solid var(--line); border-radius:12px; padding:1.2rem 1.2rem 1.1rem;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.card h2{ margin:.2rem 0 1rem; font-size:1.2rem; }
.list{ margin:0; padding-left:1.2rem; color:var(--muted); }
.list li{ margin:.35rem 0; }

/* ===== Footer (unified) ===== */
.site-footer{ background:#e9eef2; margin-top:3rem; }
.footer-inner{ text-align:center; padding:2rem 0 1rem; }
.footer-links{
  list-style:none; margin:1rem 0; padding:0;
  display:flex; gap:1rem; flex-wrap:wrap; justify-content:center;
}
.footer-links a{ color:var(--brand); font-weight:600; }
.copy{ font-size:.85rem; color:#666; }

/* ===== Responsive ===== */
@media (max-width: 900px){
  .recruit-grid{ grid-template-columns:1fr; }
}
@media (max-width: 768px){
  .header-inner{ flex-direction:column; gap:.6rem; text-align:center; }
  .site-nav{ flex-wrap:wrap; justify-content:center; }
  .cards-2{ grid-template-columns:1fr; }
  .hero .container{ padding:2.4rem 0; }
}
