/* 下層ページ (recruit__) */
.recruit { padding-top: 80px; }
@media (max-width: 767px) {
  .recruit { padding-top: 60px; }
}
.recruit__crumb-bar { padding-block: 24px; background: var(--color-white); }
@media (max-width: 767px) {
  .recruit__crumb-bar { padding-block: 16px; }
}
.recruit__crumb { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 12px; color: var(--color-text-sub); }
.recruit__crumb-item:not(:last-child)::after { content: "/"; margin-left: 8px; }
.recruit__hero {
  padding-block: 72px 64px;
  background: var(--color-brand-pale) url("../images/recruit-hero.webp") center / cover;
}
@media (max-width: 767px) {
  .recruit__hero {
    padding-block: 44px 40px;
    background-image: url("../images/recruit-hero-sp.webp");
  }
}
.recruit__hero .common__heading { margin-bottom: 0; }
.recruit__text { margin: 0 0 1.6em; font-size: 15px; line-height: 2.1; text-align: start; }
@media (max-width: 767px) {
  .recruit__text { font-size: 14px; }
}
.recruit__message { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
@media (max-width: 767px) {
  .recruit__message { grid-template-columns: 1fr; gap: 28px; }
}
.recruit__img { width: 100%; border-radius: 4px; box-shadow: 0 16px 40px var(--color-card-shadow); }
.recruit__jobs { background: var(--color-brand-pale); }
.recruit__job-list { display: grid; gap: 16px; }
.recruit__job { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 28px; background: var(--color-white); border-left: 4px solid var(--color-brand); }
@media (max-width: 767px) {
  .recruit__job { flex-direction: column; align-items: flex-start; gap: 8px; padding: 20px; }
}
.recruit__job-title { margin: 0; font-size: 18px; font-weight: 700; }
.recruit__job-text { margin: 4px 0 0; font-size: 13px; color: var(--color-text-sub); text-align: start; }
.recruit__job-type { flex: none; padding: 4px 16px; border: 1px solid var(--color-brand); border-radius: 2px; font-size: 12px; color: var(--color-brand); }
.recruit__table { width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 56px; }
.recruit__table th, .recruit__table td { padding: 18px 16px; border-bottom: 1px solid var(--color-line); text-align: start; vertical-align: top; line-height: 1.9; }
.recruit__table th { width: 24%; font-weight: 700; color: var(--color-brand); }
@media (max-width: 767px) {
  .recruit__table th, .recruit__table td { display: block; width: 100%; padding: 4px 0; border: 0; }
  .recruit__table th { padding-top: 16px; }
  .recruit__table td { padding-bottom: 16px; border-bottom: 1px solid var(--color-line); }
}
