.recruit-message {
  position: relative;
  min-height: 680px;
  padding: 110px max(24px, calc((100% - var(--max)) / 2));
  display: flex;
  align-items: center;
  color: #fff;
  background-color: #101812;
  background-image: url("作業現場.jpg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.recruit-message__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10, 22, 14, .9) 0%, rgba(10, 22, 14, .72) 48%, rgba(10, 22, 14, .2) 100%);
}

.recruit-message__content {
  position: relative;
  z-index: 1;
  max-width: 720px;
}

.recruit-message .section-label {
  color: var(--lime);
}

.recruit-message h2 {
  margin: 0 0 36px;
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.3;
}

.recruit-message__text {
  font-size: clamp(16px, 1.5vw, 19px);
  font-weight: 600;
  line-height: 2;
}

.recruit-message__text p {
  margin: 0 0 12px;
}

.job-types {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
}

.job-types span {
  white-space: nowrap;
}

@media (max-width: 640px) {
  .recruit-message {
    min-height: 620px;
    padding: 80px 20px;
    background-position: center;
  }

  .recruit-message__shade {
    background: rgba(10, 22, 14, .68);
  }

  .recruit-message h2 {
    font-size: 38px;
  }

  .recruit-message__text {
    font-size: 16px;
    line-height: 1.9;
  }

  .job-types {
    display: grid;
    gap: 6px;
  }
}
