/* ========================================
  採用エントリー
======================================== */

/* ========================================
  エントリー TOP画像
======================================== */

.recruit-hero {
  width: 100%;
  overflow: visible;
}

.recruit-hero-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.recruit-entry-area {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);

  /* 波の高さを確保 */
  margin-top: 80px;

  /* 波の下から内容までの余白 */
  padding: 120px 0 40px;

  background-color: var(--recruit-color-green-200);

  /* 上端を波形に切り抜く */
  clip-path: polygon(
    0 40px,
    8% 30px,
    16% 22px,
    25% 28px,
    35% 42px,
    46% 50px,
    57% 42px,
    68% 24px,
    79% 16px,
    90% 23px,
    100% 36px,
    100% 100%,
    0 100%
  );
}

.recruit-entry-section {
  width: 100%;
}

.recruit-entry-section + .recruit-entry-section {
  margin-top: 80px;
}

.recruit-entry-title {
  margin: 0 0 24px;
  text-align: center;
  font-size: clamp(1.5rem, 1.324rem + 0.751vw, 2rem);
  color: var(--recruit-color-green-500);
  font-weight: 500;
}

/* 白いカード */
.recruit-entry-card {
  width: clamp(21.938rem, 7.743rem + 60.563vw, 62.25rem);
  margin: 0 auto;
  padding: 40px 0px;
  background-color: var(--recruit-color-white);
  border-radius: clamp(1.5rem, 0.928rem + 2.441vw, 3.125rem);
  box-sizing: border-box;
}

/* 新卒採用カード */
.recruit-sinsotsu-card {
  min-height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* リンク全体 */
.recruit-entry-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--recruit-color-green-400);
  text-decoration: none;
}

/* 第二新卒採用とエントリーはこちらの間隔 */
.recruit-career-block-second .recruit-entry-guide {
  margin-top: 40px;
}

/* 文字と画像の間隔 */
.recruit-sinsotsu-card .recruit-entry-link {
  margin-top: 24px;
}

/* 矢印と案内文 */
.recruit-entry-guide {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.recruit-arrow-icon {
  display: block;
  width: 40px;
  height: auto;
  margin-right: 8px;
}

.recruit-entry-guide-text {
  margin: 0;
  font-size: clamp(1.25rem, 1.162rem + 0.376vw, 1.5rem);
  color: var(--recruit-color-green-400);
  font-weight: 700;
}

/* マイナビ画像を入れる段落 */
.recruit-mynavi-wrap {
  margin: 24px 0 0;
  text-align: center;
  line-height: 0;
}

/* マイナビ画像 */
.recruit-mynavi-image {
  display: block;
  width: clamp(19.563rem, 18.748rem + 3.474vw, 21.875rem);
  height: auto;
}

/* マイナビ画像のリンク */
.recruit-entry-link:hover {
  opacity: 0.7;
  transform: translateY(2px);
}

/* ========================================
  経験者採用
======================================== */

.recruit-career-card {
  min-height: 330px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.recruit-career-block {
  text-align: center;
}

.recruit-career-block-second {
  margin-top: 80px;
}

.recruit-career-heading {
  margin: 0;
  font-size: 32px;
  font-weight: 500;
}

.recruit-career-description {
  margin: 40px 0 0;
  color: var(--recruit-color-green-400);
  font-size: clamp(1.25rem, 1.162rem + 0.376vw, 1.5rem);
  font-weight: 700;
}

.recruit-career-block-second .recruit-entry-link {
  margin-top: 40px;
}

.recruit-image-list {
  width: min(1200px, 100%);
  margin: 80px auto;

  display: flex;
  justify-content: center;
  align-items: center;

  gap: 24px;

  padding-inline: 120px;
  box-sizing: border-box;
}

.recruit-image-item {
  display: block;

  /* 最大384px、最小231pxまで徐々に縮小 */
  width: clamp(231px, 26vw, 384px);
  aspect-ratio: 384 / 208;
  height: auto;

  object-fit: cover;
}

#new-graduate,
#career {
  scroll-margin-top: 80px;
}

/* 231px × 3枚 + 24px × 2 が入らなくなったら縦並び */
@media (max-width: 980px) {
  .recruit-image-list {
    flex-direction: column;
    margin: 40px auto;
    gap: 16px;
    padding-inline: 0;
  }

  .recruit-image-item {
    width: clamp(231px, calc(77.521vw - 59.703px), 400px);
    min-width: 231px;
  }
}
