/* ===== Hero: 全幅+スタッフ写真 ===== */
.hero--recruit {
  margin-top: var(--header-height);
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #fc7d27 0%, #e06a1c 100%);
  padding: var(--space-3xl) var(--space-xl) 80px;
  text-align: center;
}

.hero--recruit .hero__stripe-bg {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 20px,
    rgba(255,255,255,0.04) 20px,
    rgba(255,255,255,0.04) 40px
  );
  z-index: 0;
}

.hero--recruit .hero__inner {
  position: relative;
  z-index: 2;
  max-width: var(--container-max);
  margin: 0 auto;
}

.hero--recruit .hero__badge-hiring {
  display: inline-block;
  padding: 6px 24px;
  background: #fff;
  color: var(--color-recruit);
  font-size: var(--font-size-sm);
  font-weight: 700;
  border-radius: var(--radius-full);
  margin-bottom: var(--space-lg);
}

.hero--recruit .hero__title {
  font-size: 2.25rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.12em;
  line-height: 1.5;
  margin-bottom: var(--space-md);
}

.hero--recruit .hero__subtitle {
  font-size: var(--font-size-md);
  color: rgba(255,255,255,0.85);
  margin-bottom: var(--space-xl);
}


@media (max-width: 768px) {
  .hero--recruit { padding-bottom: var(--space-2xl); }
  .hero--recruit .hero__title { font-size: var(--font-size-xl); }
}

/* Recruit theme */
.recruit-hero-text {
  max-width: 600px;
  margin: var(--space-xl) auto 0;
  text-align: center;
  font-size: var(--font-size-base);
  color: var(--color-text-light);
  line-height: 1.8;
}

/* Appeal points */
.appeal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-xl);
}
.appeal-card {
  text-align: center;
  padding: var(--space-2xl) var(--space-lg);
  background: var(--color-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
}
.appeal-card__number {
  font-family: "Inter", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--color-recruit);
  line-height: 1;
  margin-bottom: var(--space-sm);
}
.appeal-card__title {
  font-size: var(--font-size-md);
  font-weight: 700;
  color: var(--color-primary-dark);
  margin-bottom: var(--space-sm);
}
.appeal-card__desc {
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
  line-height: 1.6;
}

/* Recruit card header colors */
.recruit-card__header--helper {
  background: #7dd9b7;
}

/* Recruit grid */
.recruit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: var(--space-xl);
}
.recruit-card__row--action {
  padding-top: var(--space-md);
  display: flex;
  justify-content: center;
}
.btn--outline-sm {
  display: inline-block;
  padding: 10px 28px;
  border: 2px solid var(--color-primary);
  color: var(--color-primary);
  border-radius: var(--radius-full);
  font-size: var(--font-size-sm);
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.btn--outline-sm:hover {
  background: var(--color-primary);
  color: #fff;
}

/* Apply section */
.apply-box {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  padding: var(--space-3xl);
  box-shadow: var(--shadow-md);
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}
.apply-box__title {
  font-size: var(--font-size-xl);
  font-weight: 700;
  color: var(--color-primary-dark);
  margin-bottom: var(--space-lg);
}
.apply-box__text {
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
  line-height: 1.8;
  margin-bottom: var(--space-xl);
}
.apply-box__phone {
  font-family: "Inter", sans-serif;
  font-size: var(--font-size-2xl);
  font-weight: 700;
  color: var(--color-primary);
}
.apply-box__note {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  margin-top: var(--space-sm);
}

@media (max-width: 768px) {
  .appeal-grid { grid-template-columns: 1fr; }
  .recruit-grid { grid-template-columns: 1fr; }
}
