/* Recruit detail — balanced compact layout */
.recruit-detail-page {
  padding-bottom: 5rem;
}

@media (min-width: 768px) {
  .recruit-detail-page {
    padding-bottom: 6rem;
  }
}

.recruit-detail-hero {
  margin-bottom: 2.5rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

@media (min-width: 768px) {
  .recruit-detail-hero {
    margin-bottom: 4rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

.recruit-detail-hero .flex-wrap {
  gap: 0.625rem;
  margin-bottom: 1.25rem;
}

.recruit-detail-hero .editorial-title {
  margin-bottom: 1rem;
}

.recruit-detail-hero .editorial-lead {
  margin-bottom: 1.5rem;
}

.recruit-detail-body {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  max-width: 54rem;
}

@media (min-width: 768px) {
  .recruit-detail-body {
    gap: 3.5rem;
  }
}

/* Section cards — readable padding */
.recruit-detail-body > section {
  padding: 2.25rem !important;
  border-radius: 2rem;
  border-color: #cbd5e1 !important;
}

@media (min-width: 768px) {
  .recruit-detail-body > section {
    padding: 3rem !important;
    border-radius: 2.5rem;
  }
}

@media (min-width: 1024px) {
  .recruit-detail-body > section {
    padding: 4rem !important;
  }
}

.recruit-detail-body > section > .flex.items-center {
  gap: 1.25rem;
  margin-bottom: 1.75rem !important;
  padding-inline: 0.5rem !important;
}

@media (min-width: 768px) {
  .recruit-detail-body > section > .flex.items-center {
    margin-bottom: 2rem !important;
    padding-inline: 0.75rem !important;
  }
}

.recruit-detail-body > section > .flex.items-center h2 {
  font-size: 1.5rem;
}

@media (min-width: 768px) {
  .recruit-detail-body > section > .flex.items-center h2 {
    font-size: 1.75rem;
  }
}

.recruit-detail-body > section > p.font-bold {
  margin-bottom: 1.75rem !important;
}

@media (min-width: 768px) {
  .recruit-detail-body > section > p.font-bold {
    margin-bottom: 2rem !important;
  }
}

/* 仕事内容 — mission & duty text */
.recruit-detail-body > section.bg-white > p.text-slate-900 {
  font-size: 0.9375rem !important;
  line-height: 1.65;
}

@media (min-width: 768px) {
  .recruit-detail-body > section.bg-white > p.text-slate-900 {
    font-size: 1rem !important;
  }
}

@media (min-width: 1024px) {
  .recruit-detail-body > section.bg-white > p.text-slate-900 {
    font-size: 1.0625rem !important;
  }
}

.recruit-detail-body > section.bg-white > .grid > .flex > p {
  font-size: 0.8125rem !important;
  line-height: 1.55;
}

@media (min-width: 768px) {
  .recruit-detail-body > section.bg-white > .grid > .flex > p {
    font-size: 0.875rem !important;
  }
}

/* 応募資格 — requirement items */
.recruit-detail-body > section.bg-slate-100 .grid li p {
  font-size: 0.875rem !important;
  line-height: 1.55;
}

@media (min-width: 1024px) {
  .recruit-detail-body > section.bg-slate-100 .grid li p {
    font-size: 0.9375rem !important;
  }
}

.recruit-detail-body > section > h3 {
  margin-bottom: 1.25rem !important;
}

@media (min-width: 768px) {
  .recruit-detail-body > section > h3 {
    margin-bottom: 1.5rem !important;
  }
}

.recruit-detail-body > section > .grid {
  gap: 1rem !important;
}

@media (min-width: 768px) {
  .recruit-detail-body > section > .grid {
    gap: 1.25rem !important;
  }
}

.recruit-detail-body > section > .grid > .flex {
  gap: 1rem;
  padding: 0.875rem 1.25rem !important;
  border-radius: 1.5rem;
}

@media (min-width: 768px) {
  .recruit-detail-body > section > .grid > .flex {
    padding: 1.25rem 1.5rem !important;
  }
}

.recruit-detail-body > section > .grid.lg\:grid-cols-2 {
  gap: 2rem !important;
}

@media (min-width: 768px) {
  .recruit-detail-body > section > .grid.lg\:grid-cols-2 {
    gap: 2.5rem !important;
  }
}

.recruit-detail-body > section > .grid.lg\:grid-cols-2 > div {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.recruit-detail-body > section > .grid.lg\:grid-cols-2 ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.recruit-detail-body > section > .divide-y > div {
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
  gap: 1rem !important;
}

@media (min-width: 768px) {
  .recruit-detail-body > section > .divide-y > div {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
    gap: 2rem !important;
  }
}

@media (min-width: 1024px) {
  .recruit-detail-body > section > .divide-y > div {
    gap: 3rem !important;
  }
}

.recruit-detail-body > .text-center.pt-8 {
  padding-top: 0.5rem;
}

.recruit-detail-body > .border-t {
  margin-top: 2rem !important;
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

@media (min-width: 768px) {
  .recruit-detail-body > .border-t {
    margin-top: 2.5rem !important;
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
}

.recruit-detail-body > .border-t > span {
  margin-bottom: 1.25rem !important;
}

@media (min-width: 768px) {
  .recruit-detail-body > .border-t > span {
    margin-bottom: 1.5rem !important;
  }
}
