.p-top-jobs {
  align-items: center;
  background-color: var(--background-color);
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-bottom: 80px;
}

.p-top-jobs .p-card {
  width: 100%;
}

.p-top-jobs__heading {
  color: var(--text-color);
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-bold);
  text-align: center;
}
.page-recruit-info__grid{
  max-width:1120px;
  margin-inline:auto;
  padding-inline:20px;
}

.page-recruit-info__cards{
  display:grid;
  grid-template-columns: repeat(3, 340px);
  column-gap: 40px;
  row-gap: 40px;
  justify-content: center;
}

/* 各カードリンクはブロック化（既存でもOKだが明示） */
.page-recruit-info__cards .p-card__box{
  display: flex;
  flex-direction: column;
  width:100%;
  box-sizing: border-box;
}


@media (max-width: 1200px) {

  .page-recruit-info__cards{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    column-gap: 40px;
    row-gap: 40px;
    justify-content: center;     /* 端数スペースは中央寄せ */
  }
  .page-recruit-info__cards .p-card__box{
    width: 100%;                 /* 親列幅にフィット */
  }
} 

@media screen and (max-width: 767px) {
  .page-recruit-info__grid{ padding-inline: 13px; }
  .page-recruit-info__cards{
    grid-template-columns: 1fr;
    column-gap: 26px;
    row-gap: 26px;
    justify-content: stretch;
  }
  .page-recruit-info__cards .p-card__box{ width: 100%; }
  
}
