/* ==============================================================
    [recruit topic]　
   ============================================================== */
.page-recruit-topic__pickup {
  margin-top: 24px;
  padding-top: 88px;
  padding-bottom: 40px;
}
.page-recruit-topic__pickup.page_bg-name::after {
  top: 8px;
  left: 40px;
}


.page-recruit-topic__pickup-container {
  position: relative;
}

.page-recruit-topic__heading {
  transform: translate(-50%, -50%);
  z-index: 10;
}

.page-recruit-topic__pickup-box {
  background: var(--background-color);
  border-radius: 10px;
  display: flex;
  gap: 40px;
  overflow: hidden;
  box-shadow: 0 0 15px #edebe899;
}

.page-recruit-topic__pickup-image {
  width: 430px;
  height: 100%;
  flex: 0 0 40%;
  overflow: hidden;
}
.page-recruit-topic__pickup-image img {
  width: 100%;
  transition: transform .3s ease-in-out;
}

a:hover .page-recruit-topic__pickup-image img {
  transform: scale(1.05);
}

.page-recruit-topic__pickup-text {
  font-size: var(--font-size-body);
  padding: 24px 24px 24px 0;
  color: var(--text-color);
  position: relative;
}
.page-recruit-topic__pickup-text::after {
  content: "…続きを読む";
  position: absolute;
  right: 40px;
  bottom: 40px;
}

.page-recruit-topic__pickup-title {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  margin-bottom: 24px;
}

.page-recruit-topic__pickup-infomation {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.page-recruit-topic__pickup-contents {
  max-height: calc(var(--font-size-body) * var(--line-height-relaxed) * 4);
  line-height: var(--line-height-relaxed);
  overflow: hidden;
  text-overflow: clip;
  display: block;
}

.page-recruit-topic__list {
  padding-top: 80px;
  padding-bottom: 80px;
  color: var(--text-color);
}
.page-recruit-topic__list::before {
  height: 100%;
  top: 104px;
}

.page-recruit-topic__list-title {
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-bold);
  text-align: center;
  margin-bottom: 40px;
}

.page-recruit-topic__list-tag {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 64px;
}

.page-recruit-topic__list-tag .c-tag {
  color: var(--orange-base);
  background: #fff;
  border: 1px solid var(--orange-base);
}
.page-recruit-topic__list-tag .c-tag.active {
  color: #fff;
  background: var(--orange-base);
}

.page-recruit-topic__list-contents{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px 40px;
}
.page-recruit-topic__list-contents .p-card {
  box-shadow: 0 0 15px #edebe899;
  width: min(calc((100% - 40px) / 2), 340px);
  height: auto;
}

@media (max-width: 1200px) {
  .page-recruit-topic__pickup-box {
    gap: 24px;
  }

  .page-recruit-topic__pickup-image {
    flex: 0 0 45%;
    width: auto;
    height: auto;
    aspect-ratio: 16 / 9;
    overflow: hidden;
  }
  .page-recruit-topic__pickup-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .page-recruit-topic__pickup-text {
    min-width: 0;             /* 省略表示の崩れ防止 */
  }

  /* 本文はPCより1行増やして見せる */
  .page-recruit-topic__pickup-contents {
    max-height: calc(var(--font-size-body) * var(--line-height-relaxed) * 5);
    position: relative;
  }

  /* 途中まで感のグラデ（見た目強化） */
  .page-recruit-topic__pickup-contents::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 56px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0),
      var(--background-color) 60%
    );
  }

  /* 既存の「…続きを読む」を配置調整（元CSSのcontentはそのまま） */
  .page-recruit-topic__pickup-text::after {
    right: 24px;
    bottom: 24px;
  }
}

@media(max-width: 767px) {

  .page-recruit-topic__heading {
    transform: translate(-16px, 0);
  }

  .page-recruit-topic__pickup-box {
    flex-direction: column;   /* 縦積み */
    gap: 0;
  }

  .page-recruit-topic__list-contents .p-card {
    width: 100%;
  }
  .page-recruit-topic__pickup-image {
    flex: none;
    width: 100%;
    max-width: 100%;
    height: auto;             /* 元の height:100% を上書き */
    aspect-ratio: 16 / 9;
    overflow: hidden;
  }
  .page-recruit-topic__pickup-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .page-recruit-topic__pickup-text {
    padding: 16px;
  }

  .page-recruit-topic__pickup-title {
    margin-bottom: 12px;
  }

  .page-recruit-topic__pickup-infomation {
    gap: 10px;
    margin-bottom: 10px;
  }

  /* スマホはさらに1行増やす（読みやすさ優先） */
  .page-recruit-topic__pickup-contents {
    max-height: calc(var(--font-size-body) * var(--line-height-relaxed) * 6);
  }

  .page-recruit-topic__pickup-text::after {
    right: 16px;
    bottom: 16px;
  }
}
