/* =========================================================================
   ENISHI — docs.css
   Shared by privacy.html / terms.html / recruit.html
   Only layout helpers here; all text styling relies on shared .prose etc.
   ========================================================================= */

/* Centered document column for legal / recruit prose */
.doc-body{
  max-width: 860px;
  margin-inline: auto;
}

/* Recruit — section spacing & blocks */
.recruit-section{ background: var(--surface); }
.recruit-section .wrap{ padding-block: 72px 80px; }
.recruit-block{ max-width: 860px; margin-inline: auto; }
.recruit-block + .recruit-block{ margin-top: 56px; }

.recruit-block__head{
  display: flex; flex-direction: column; gap: 10px;
  margin-bottom: 22px;
}
.recruit-block__title{
  font-family: var(--font-heading); font-weight: 700;
  font-size: 24px; letter-spacing: .5px; color: var(--ink);
  line-height: 1.3;
}

/* 募集職種 — 2-col card grid, stacks ≤860px */
.job-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.job-card{ display: flex; flex-direction: column; gap: 14px; }
.job-card__icon{
  width: 52px; height: 52px; border-radius: 14px;
}
.job-card__icon i, .job-card__icon svg{ width: 24px; height: 24px; }
.job-card__title{
  font-family: var(--font-heading); font-weight: 700;
  font-size: 18px; color: var(--ink); line-height: 1.4;
}
.job-card__desc{
  font-size: 14px; line-height: 1.85; color: var(--muted); margin: 0;
}
.job-card__tag{ margin-top: auto; }

/* CTA */
.recruit-cta{ margin-top: 44px; text-align: center; }

@media (max-width: 860px){
  .job-grid{ grid-template-columns: 1fr; }
  .recruit-section .wrap{ padding-block: 56px 64px; }
}
