/* ============================================================
   採用情報：コンサルタント（/recruit/consultant）専用
   Figma デザインなし → /company（page-hero 縮小版・会社概要の表）に合わせて作成
   ============================================================ */

/* ---------- page hero（縮小版は style.css の .page-hero--sm） ---------- */
.page-hero--recruit .page-hero__lead { word-break: auto-phrase; }
@media (min-width: 768px) {
  .page-hero--recruit .page-hero__inner { padding-top: 200px; }
  .page-hero--recruit .page-hero__lead { max-width: 640px; }
}
@media (min-width: 768px) and (max-width: 1100px) {
  .page-hero--recruit .page-hero__lead { max-width: 480px; }
}

/* ---------- 募集要項（/company の .company-table と同じ作り） ---------- */
.recruit { padding: 66px var(--gutter) 150px; }
.recruit__inner { max-width: 1280px; margin: 0 auto; }
.recruit-table { margin-top: 30px; padding: 20px 0; }
.recruit-table__row {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding-bottom: 31px;
  border-bottom: 1px solid var(--sub);
  color: var(--darktext);
}
.recruit-table__row + .recruit-table__row { margin-top: 30px; }
.recruit-table dt {
  flex: none;
  width: 160px;
  font-family: var(--ff-noto);
  font-weight: 700;
  font-size: var(--fs-body);
  line-height: var(--lh);
}
.recruit-table dd { flex: 1 1 0; min-width: 0; font-size: var(--fs-body); }
.recruit-table__list { display: flex; flex-direction: column; gap: 8px; }
/* 「・」で始まる行を折り返し時にぶら下げる */
.recruit-table__list li { padding-left: 1em; text-indent: -1em; }

/* ============================================================
   SP（TOP #SP / company SP のルールに準拠）
   ============================================================ */
@media (max-width: 767px) {
  .page-hero--recruit .page-hero__lead { max-width: 260px; }
  .recruit { padding: 40px var(--gutter) 60px; }
  .recruit-table { margin-top: 16px; padding: 8px 0; }
  .recruit-table__row { flex-direction: column; gap: 8px; padding-bottom: 16px; }
  .recruit-table__row + .recruit-table__row { margin-top: 16px; }
  .recruit-table dt { width: auto; font-size: 14px; }
  .recruit-table dd { line-height: var(--lh-tight); }
  .recruit-table__list { gap: 6px; }
}

/* ============================================================
   採用トップ（/recruit）— 募集中の職種カード
   既存クラスには手を入れず、追加のみ（.post-card と同じ白カード）
   ============================================================ */
.recruit--jobs { padding-bottom: 150px; }
.job-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 40px;
}
.job-card {
  height: 100%;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 32px;
  padding: 32px;
  border-radius: var(--radius-card);
  background: #fff;
  color: var(--darktext);
  transition: box-shadow .2s;
}
.job-card:hover { box-shadow: var(--shadow); }
.job-card__main { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.job-card__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.job-card__title { font-size: var(--fs-h3); font-weight: 700; line-height: var(--lh); color: var(--mainblue); }
.job-card__text { font-size: var(--fs-body); }
.job-card__more {
  align-self: flex-end;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: var(--fs-body);
  color: var(--mainblue);
}
.job-card__more img { width: 24px; height: 24px; transform: rotate(90deg); }

@media (max-width: 1100px) {
  .job-list { grid-template-columns: 1fr; }
  .job-card { min-height: 0; }
}
@media (max-width: 767px) {
  .recruit--jobs { padding-bottom: 60px; }
  .job-list { gap: 12px; margin-top: 16px; }
  .job-card { gap: 20px; padding: 20px 16px; }
  .job-card__main { gap: 10px; }
  .job-card__tags { gap: 6px; }
  .job-card__tags .tag { padding: 4px 12px; font-size: 11px; }
  .job-card__title { font-size: 18px; }
  .job-card__text { line-height: var(--lh-tight); }
  .job-card__more { font-size: 13px; }
  .job-card__more img { width: 20px; height: 20px; }
}
