.faq-hero {
  --subpage-hero-height: 527px;
  --subpage-hero-image: url("../assets/images/recruit/faq/hero.webp");
  --subpage-hero-image-top: 0;
  --subpage-hero-image-height: 100%;
  --subpage-hero-image-size: cover;
  --subpage-hero-image-position: 70% center;
  --subpage-hero-divider-shift: -49px;
  --subpage-hero-overlay: linear-gradient(90deg, rgba(65, 49, 30, 0.24) 0%, rgba(65, 49, 30, 0) 34%, rgba(65, 49, 30, 0) 76%, rgba(154, 101, 64, 0.2) 100%);
  --subpage-hero-mobile-overlay: var(--subpage-hero-overlay);
  --subpage-hero-logo-width: 106px;
  --subpage-hero-title-font-size: 54px;
  --subpage-hero-title-line-height: 74px;
  --subpage-hero-title-letter-spacing: 2.16px;
  --subpage-hero-lead-font-size: 21px;
  --subpage-hero-lead-font-weight: 700;
  --subpage-hero-lead-line-height: 38px;
  --subpage-hero-divider-height: 530px;
  --subpage-hero-divider-after-height: 337px;
}

.recruit-faq {
  min-height: auto;
  padding: 150px 0 160px;
}

.recruit-faq__lead {
  display: flex;
  flex-direction: column;
  gap: 18px;
  text-align: center;
}

.recruit-faq__lead .section-heading__eyebrow {
  color: var(--color-accent);
}

.recruit-faq__lead p:not(.section-heading__eyebrow) {
  color: var(--color-text-muted);
  font-size: 18px;
  font-weight: 700;
  line-height: 36px;
}

.recruit-faq__group {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.recruit-faq__group + .recruit-faq__group {
  margin-top: 64px;
}

.recruit-faq__category {
  color: var(--color-accent);
  font-size: 24px;
  font-weight: 700;
  line-height: 34px;
}

.recruit-faq .faq__inner {
  gap: 60px;
}

.recruit-faq .faq__list {
  display: flex;
  flex-direction: column;
}

.faq-bottom-cta .location-list-cta__button[href="#line-consultation"] {
  color: #fff;
  background: linear-gradient(180deg, #8dc76e 0%, #7bc653 50%, #4ab412 100%);
  pointer-events: none;
}

@media (max-width: 768px) {
  .faq-hero {
    --subpage-hero-mobile-overlay: linear-gradient(90deg, rgba(51, 38, 22, 0.95) 0%, rgba(51, 38, 22, 0.72) 42%, rgba(51, 38, 22, 0.16) 100%);
  }

  .faq-hero .subpage-hero__panel {
    gap: 0;
  }

  .faq-hero p {
    margin-top: 24px;
  }

  .recruit-faq {
    min-height: 0;
    padding: 64px 0 72px;
  }

  .recruit-faq .faq__inner {
    width: 100%;
    max-width: var(--sp-canvas-width, min(440px, 100vw));
    gap: 52px;
    padding-inline: 20px;
  }

  .recruit-faq__lead {
    gap: 18px;
    text-align: left;
  }

  .recruit-faq__lead .section-heading__eyebrow {
    color: var(--color-text-primary);
    font-family: var(--font-yu);
    font-size: 36px;
    font-weight: 700;
    line-height: 42px;
    letter-spacing: 1.28px;
    transform: skewX(-8deg);
    transform-origin: left center;
  }

  .recruit-faq__lead h2 {
    display: none;
  }

  .recruit-faq__lead p:not(.section-heading__eyebrow) {
    color: var(--color-text-primary);
    font-size: 14px;
    font-weight: 500;
    line-height: 24px;
  }

  .recruit-faq__group {
    gap: 28px;
  }

  .recruit-faq__group + .recruit-faq__group {
    margin-top: 48px;
  }

  .recruit-faq__category {
    font-size: 22px;
    line-height: 32px;
    text-align: center;
  }

  .recruit-faq .faq__list,
  .recruit-faq .faq-item {
    width: 100%;
  }

  .recruit-faq .faq-item {
    height: auto;
    min-height: 0;
    overflow: hidden;
    border-bottom-color: #ddd4ca;
  }

  .recruit-faq .faq-item[open] {
    height: auto;
  }

  .recruit-faq .faq-item summary {
    align-items: flex-start;
    height: auto;
    min-height: 65px;
    gap: 9px;
    padding: 20px 26px 18px 0;
  }

  .recruit-faq .faq-item__q,
  .recruit-faq .faq-item__answer > span {
    font-size: 14px;
    line-height: 24px;
  }

  .recruit-faq .faq-item__question {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 15px;
    line-height: 25px;
  }

  .recruit-faq .faq-item__chevron {
    top: 23px;
    right: 0;
    width: 18px;
    height: 18px;
  }

  .recruit-faq .faq-item__answer {
    width: 100%;
    gap: 12px;
    padding: 0 30px 22px 0;
  }

  .recruit-faq .faq-item__answer p {
    flex: 1 1 auto;
    width: auto;
    font-size: 12px;
    line-height: 21px;
  }

  .faq-bottom-cta.location-list-cta--recruit {
    min-height: 281px;
  }

  .faq-bottom-cta.location-list-cta--recruit .location-list-cta__inner {
    min-height: 281px;
  }

  .faq-bottom-cta.location-list-cta--recruit .location-list-cta__content {
    padding: 40px 0;
  }

  .faq-bottom-cta.location-list-cta--recruit h2 {
    font-size: 18px;
    line-height: 29px;
    letter-spacing: 1.28px;
  }

  .faq-bottom-cta.location-list-cta--recruit .location-list-cta__buttons {
    margin-top: 31px;
  }

  .faq-bottom-cta.location-list-cta--recruit .location-list-cta__button {
    height: 48px;
    font-size: 15px;
  }
}
