@charset "UTF-8";
:root {
  --font-base: "Noto Sans JP", sans-serif;
  --font-en: "Lato", sans-serif;
  --font-ubuntu: "Ubuntu", sans-serif;
  --leading-trim: calc((1em - 1lh) / 2);
  --blue: #2635A7;
  --bg-noise: url("../img/common/bg-noise-blue.png") repeat;
  --bg-noise-yel: url("../img/common/bg-noise-yellow.png") repeat;
  --border: #2635A71A;
  --border02: #2635A733;
  --yellow: #FFF100;
  --grey: #F2F3F4;
  --header-height: 71px;
  --sp-fixed-btns-height: 46px;
  --radius: 10px;
  --mask-arrow: url("../img/common/icon-arrow.svg") no-repeat center center/ contain;
  --top-part-height: min(calc(70 / 1280) * 100vw, 70px);
}
@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px;
  }
}
@media screen and (max-width: 768px) {
  :root {
    --header-height: 60px;
  }
}

.p-recruit-search {
  background: #F8F9F9;
  padding-block: 50px 40px;
}
.p-recruit-search__quick-wrap {
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1019607843);
}
.p-recruit-search__tax-area {
  padding-top: 40px;
}
.p-recruit-search__tax-btn {
  background: rgba(223, 227, 233, 0.6);
}
.p-recruit-search__close-btn-wrap {
  margin-top: 40px;
  text-align: center;
}
.p-recruit-search__close-btn {
  display: inline-grid;
  grid-template-columns: max-content 17px;
  align-items: center;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.03em;
  color: var(--blue);
  gap: 0 8px;
}
.p-recruit-search__close-btn::after {
  content: "";
  width: 17px;
  aspect-ratio: 14/8;
  background: var(--blue);
  -webkit-mask: url("../img/common/icon-simple-arrow-top.svg") no-repeat center center/contain;
  mask: url("../img/common/icon-simple-arrow-top.svg") no-repeat center center/contain;
  rotate: 180deg;
  transition: rotate 0.25s ease;
}
.p-recruit-search__close-btn.is-open::after {
  rotate: 0deg;
}

.p-recruit-jobs {
  padding-block: 100px 200px;
}
.p-recruit-jobs__list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 22px;
}
@media screen and (max-width: 768px) {
  .p-recruit-jobs__list {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}
.p-recruit-jobs__list-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
}
@media screen and (max-width: 768px) {
  .p-recruit-jobs__list-item {
    display: block;
  }
}
.p-recruit-jobs__list-item:nth-child(n+3) {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p-recruit-jobs__list-item:nth-child(n+3) {
    margin-top: 0;
  }
}
.p-recruit-jobs .c-job-card__link {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
}
@media screen and (max-width: 768px) {
  .p-recruit-jobs .c-job-card__link {
    display: block;
  }
}
.p-recruit-jobs .c-job-card__cont {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  justify-items: start;
}
@media screen and (max-width: 768px) {
  .p-recruit-jobs .c-job-card__cont {
    display: block;
  }
}
.p-recruit-jobs__no-job-text {
  margin-top: 40px;
}

.p-recruit-job-mv {
  padding-block: 110px calc(105px + var(--top-part-height));
}
@media screen and (max-width: 768px) {
  .p-recruit-job-mv {
    padding-block: 70px calc(70px + var(--top-part-height));
  }
}
.p-recruit-job-mv.--has-img .p-recruit-job-mv__inner {
  display: grid;
  grid-template-columns: calc(500 / 1120 * 100%) 1fr;
  gap: 0 calc(70 / 1120 * 100%);
}
@media screen and (max-width: 899px) {
  .p-recruit-job-mv.--has-img .p-recruit-job-mv__inner {
    grid-template-columns: 1fr 40%;
    gap: 0 40px;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit-job-mv.--has-img .p-recruit-job-mv__inner {
    grid-template-columns: 1fr;
    gap: 50px 0;
  }
}
.p-recruit-job-mv .c-employment {
  font-size: 2rem;
}
.p-recruit-job-mv__ttl {
  font-size: 4.2rem;
  font-weight: bold;
  color: var(--blue);
  line-height: normal;
  margin-block: var(--leading-trim);
  margin-top: calc(var(--leading-trim) + 25px);
}
@media screen and (max-width: 768px) {
  .p-recruit-job-mv__ttl {
    font-size: 2.6rem;
  }
}
.p-recruit-job-mv__area-list {
  margin-top: 35px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 7px;
}
.p-recruit-job-mv__area {
  display: inline-block;
  background: #DFE3E9;
  border-radius: 3px;
  padding: 8px 20px;
  font-size: 1.4rem;
  color: var(--blue);
  line-height: 1;
}
.p-recruit-job-mv__desc {
  margin-block: var(--leading-trim);
  margin-top: calc(var(--leading-trim) + 38px);
}
.p-recruit-job-mv.--has-img .p-recruit-job-mv__desc {
  max-width: 455px;
}
@media screen and (max-width: 768px) {
  .p-recruit-job-mv.--has-img .p-recruit-job-mv__desc {
    max-width: unset;
  }
}
.p-recruit-job-mv__img {
  border-radius: var(--radius);
  aspect-ratio: 550/362;
  overflow: hidden;
}
.p-recruit-job-mv__img > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-recruit-job-sec {
  padding-block: 50px 200px;
}
@media screen and (max-width: 768px) {
  .p-recruit-job-sec {
    padding-bottom: 130px;
  }
}
.p-recruit-job-sec__inner {
  width: calc(928 / 1120 * 100%);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-recruit-job-sec__inner {
    min-width: 75vw;
  }
}
@media screen and (max-width: 599px) {
  .p-recruit-job-sec__inner {
    min-width: unset;
    width: 100%;
  }
}
.p-recruit-job-sec__block {
  background: #fff;
  padding: 60px 40px;
}
@media screen and (max-width: 599px) {
  .p-recruit-job-sec__block {
    padding-inline: 20px;
  }
}
.p-recruit-job-sec__block + .p-recruit-job-sec__block {
  margin-top: 20px;
}
.p-recruit-job-sec__block-inner {
  display: grid;
  grid-template-columns: calc(188 / 848 * 100%) 1fr;
  gap: 0 calc(56 / 848 * 100%);
  align-items: start;
}
@media screen and (max-width: 1023px) {
  .p-recruit-job-sec__block-inner {
    grid-template-columns: 1fr;
    gap: 60px 0;
  }
}
.p-recruit-job-sec__block-ttl {
  font-size: 2rem;
  letter-spacing: 0;
}
.p-recruit-job-sec__dl {
  container-type: inline-size;
  container-name: dl;
}
.p-recruit-job-sec__dl-item {
  padding-block: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1019607843);
  display: grid;
  grid-template-columns: 1fr calc(414 / 605 * 100%);
  align-items: start;
  line-height: 1.75;
}
.p-recruit-job-sec__dl-item:first-child {
  padding-top: 0;
}
.p-recruit-job-sec__dl-item {
  /* .p-recruit-job-sec__dlの幅が600px以下の場合 */
}
@container dl (max-width: 600px) {
  .p-recruit-job-sec__dl-item {
    grid-template-columns: 1fr;
    gap: 20px 0;
  }
}
.p-recruit-job-sec__dt {
  font-size: 1.4rem;
  font-weight: bold;
}
.p-recruit-job-sec__dd {
  font-size: 1.5rem;
  font-weight: 400;
}
.p-recruit-job-sec__dd.benefits {
  display: grid;
  gap: 30px 0;
}
.p-recruit-job-sec__dd-list-wrap {
  display: grid;
  gap: 10px 0;
}
.p-recruit-job-sec__dd-list-ttl {
  line-height: 1.5;
  margin-block: 0;
}
.p-recruit-job-sec__dd-list.--has-gap {
  display: grid;
  gap: 15px 0;
}
.p-recruit-job-sec__dd-list .item {
  display: grid;
  grid-template-columns: 13px 1fr;
  align-items: start;
  gap: 0 5px;
  line-height: 1.5;
}
.p-recruit-job-sec__dd-list .item.--no-grid {
  display: block;
}
.p-recruit-job-sec__dd-list .item::before {
  content: "";
  width: 13px;
  display: block;
  aspect-ratio: 1/1;
  background: #000;
  border-radius: 50%;
  margin-top: calc((1lh - 1em) / 2);
}
.p-recruit-job-sec__dd-list .item.--no-grid::before {
  display: inline-block;
}
.p-recruit-job-sec__dd.benefits .p-recruit-job-sec__dd-list .item::before {
  content: "・";
  background: none;
  border-radius: unset;
  margin-top: 0;
}
.p-recruit-job-sec__btn-wrap {
  margin-top: 40px;
}
.p-recruit-job-sec__btn {
  display: grid;
  grid-template-columns: 1fr max(100 / 928 * 100%, 55px);
  gap: 0 3px;
}
.p-recruit-job-sec__btn .c-btn__btn {
  width: 100%;
  justify-content: center;
}
.p-recruit-job-sec__btn .c-btn-text {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-recruit-job-sec__btn .c-btn-text {
    font-size: 1.8rem;
  }
}
.p-recruit-job-sec__btn .c-arrow {
  width: 100%;
}
.p-recruit-job-sec__btn .c-arrow svg {
  width: calc(25 / 100 * 100%);
}
.p-recruit-job-sec__back-box {
  margin-top: 120px;
  border-top: 1px solid rgba(0, 0, 0, 0.1019607843);
  padding-top: 30px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-recruit-job-sec__back-box {
    margin-top: 80px;
  }
}
.p-recruit-job-sec__back-link {
  display: inline-grid;
  grid-template-columns: 12px 1fr;
  align-items: baseline;
  gap: 0 5px;
  font-size: 1.4rem;
  color: var(--blue);
  font-weight: 400;
}