@charset "utf-8";

/* header.css部分の画像差し替え */
.side_image_wrap {
  background-image: url(../img/recruit_grid5.jpg);
  background-position: 80%;
}

.archive_staff_wrapper {
  position: relative;
  background-color: var(--rec-main-color);
  padding-bottom: 13.5rem;
  font-family: var(--NotoSans);
}

.bgimg_outer {
  position: fixed;
  width: fit-content;
  height: fit-content;
  z-index: 100;
}

.sr_bgimg {
  position: fixed;
  top: 0;
  left: 0;
  aspect-ratio: 418 / 719;
  width: 41.8rem;
  height: 100%;
  overflow: hidden;
  mask-image: url(../img/circle_mask.svg);
  mask-repeat: no-repeat;
  mask-size: 120.1rem;
  mask-position: 100% 25%;
  z-index: 100;
}

.sr_bgimg img {
  object-position: 100% 0;
}

.section_title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .7rem;
  margin: 0 auto;
  color: white;
  font-size: min(2.5rem, 25px);
  letter-spacing: 0;
  line-height: 1em;
}

.section_title .title_circle {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  width: min(6.6rem, 66px);
  background-color: black;
  border-radius: 50%;
  font-weight: 700;
}

/* staff_top */
.staff_top {
  font-family: var(--NotoSans);
  position: relative;
  /* padding: 12.4rem 7rem 11rem 48.9rem; */
  padding: 9rem 7rem 0 48.9rem;
}

.sf_titles {
  position: relative;
  border-bottom: solid .1rem black;
}


.sf_cats {
  font-size: min(2rem, 20px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.sf_title {
  font-size: min(5rem, 50px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(80 / 60);
  padding-bottom: 1.0rem;
}

.sf_image {
  margin-top: 3rem;
  aspect-ratio: 722/420;
  width: 100%;
  overflow: hidden;
}

/* staff */
.staff {
  position: relative;
  padding: 11rem 7rem 0 29.6rem;
}

.staff_inner {
  margin-left: auto;
  width: 72.2rem;
}

.staff_contents {
  margin-top: 4.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  row-gap: 3.2rem;
  /* justify-content: space-between; */
  align-items: center;
  width: 100%;
}

.staff_content {
  width: 23rem;
}

.staff_img {
  aspect-ratio: 1/1;
  width: 100%;
  overflow: hidden;
  border: #CBBFA1 .3rem solid;
  border-radius: 50%;
}

.staff_text {
  margin-top: 1.2rem;
  text-align: center;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1em;
}

.staff_job {
  position: relative;
  padding: 0 0 0 29.6rem;
}

.staff_job_desc {
  margin-top: 10rem;
}

@media screen and (max-width: 699.98px) {

  .archive_staff_wrapper {
    /* padding-bottom: 10rem; */
    padding-bottom: 1.5rem;
  }

  .bgimg_outer {
    position: relative;
    width: 100%;
    height: 26.9rem;
    overflow: hidden;
  }

  .sr_bgimg {
    position: relative;
    height: 67rem;
    z-index: 0;
  }

  .section_title {
    gap: 1rem;
    font-size: 1.7rem;
    letter-spacing: 0;
    line-height: 1em;
  }

  .section_title .title_circle {
    width: 5rem;
  }

  /* staff_top */
  .staff_top {
    position: relative;
    padding: 3rem 2rem 0;
  }

  .sf_cats {
    font-size: 1.5rem;
    letter-spacing: 0;
    line-height: 1em;
  }

  .sf_title {
    font-size: 4.5rem;
    letter-spacing: 0;
    line-height: calc(69 / 45);
    padding-bottom: 0.5rem;
  }

  .sf_image {
    margin-top: 5.5rem;
    margin-left: -2rem;
    width: 37.5rem;
  }

  /* staff */
  .staff {
    padding: 8.5rem 0 0;
  }

  .staff_inner {
    margin-left: unset;
    width: 100%;
    padding: 0 2rem;
  }

  .staff_contents {
    margin-top: 3.5rem;
    flex-wrap: wrap;
    justify-content: space-between;
    /* gap: 3.5rem 2.5rem; */
    gap: 3.2rem 2.5rem;
  }

  .staff_content {
    width: 15.5rem;
  }

  .staff_text {
    /* margin-top: 1.2rem; */
    margin-top: 1.0rem;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.028rem;
    line-height: calc(30 / 14);
  }

  .staff_job {
    padding: 0;
  }


}