/* Hero Section */
.hero-driver {
  position: relative;
  color: #fff;
  padding: 100px 0;
  background-color: #333;
}
.hero-driver__bg {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  z-index: 0;
}
.hero-driver__bg img {
  width: 100%; height: 100%; object-fit: cover;
  opacity: 0.6;
}
.hero-driver__inner {
  position: relative; z-index: 1;
}
.hero-driver__title {
  font-size: 32px; font-weight: bold; margin: 15px 0;
}
.hero-driver__subtitle {
  display: block; font-size: 18px; opacity: 0.9; margin-top: 10px;
}
.hero-driver__actions {
  display: flex; gap: 15px; margin: 30px 0;
}
.hero-driver__badges {
  display: flex; gap: 10px; list-style: none; padding: 0;
}
.badge {
  background: rgba(255,255,255,0.2); border: 1px solid #fff;
  padding: 4px 12px; border-radius: 4px; font-size: 14px;
}

/* Job Card (募集要項) */
.job-card {
  background: #f9f9f9; padding: 40px; border-radius: 8px; margin: 60px 0;
}
.job-card__row {
  display: flex; border-bottom: 1px solid #ddd; padding: 15px 0;
}
.job-card__row dt { width: 25%; font-weight: bold; }
.job-card__row dd { width: 75%; margin: 0; }

/* Points Grid */
.points-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px;
}
.point-item {
  background: #fff; border: 1px solid #eee; padding: 25px; border-radius: 8px;
}

/* CTA Box */
.cta-box {
  text-align: center; background: #eef5f7; padding: 60px 20px; border-radius: 8px;
}
.cta-box__btns {
  display: flex; justify-content: center; gap: 20px; margin-top: 30px;
}

/* Responsive */
@media (max-width: 768px) {
  .hero-driver__title { font-size: 24px; }
  .hero-driver__actions { flex-direction: column; }
  .job-card__row { flex-direction: column; }
  .job-card__row dt { width: 100%; margin-bottom: 5px; }
  .job-card__row dd { width: 100%; }
  .points-grid { grid-template-columns: 1fr; }
  .cta-box__btns { flex-direction: column; }
}