/* CSS Document */
/* CSS Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP&display=swap");
.sp_only {
  display: none;
}
@media screen and (max-width: 750px) {
  .sp_only {
    display: inline-block;
  }
}

@media screen and (max-width: 750px) {
  .pc_only {
    display: none;
  }
}

.fade__up {
  -webkit-transition: all 1.2s cubic-bezier(0.37, 0, 0.63, 1) 0.01s;
  -webkit-transition: all 1s cubic-bezier(0.37, 0, 0.63, 1) 0.01s;
  transition: all 1s cubic-bezier(0.37, 0, 0.63, 1) 0.01s;
  opacity: 0;
  -webkit-transform: translate(0%, 30px);
          transform: translate(0%, 30px);
}
.fade__up.active {
  opacity: 1;
  -webkit-transform: translate(0%, 0px);
          transform: translate(0%, 0px);
}

.font--serif {
  font-family: "Noto Serif JP", serif;
}

.font--en {
  font-family: "acumin-pro", sans-serif;
}

.environment-page {
  background: #5A0808;
  color: #ffffea;
  max-width: 100vw;
  overflow: hidden;
}

/* ---------------- mv ---------------- */
.environment-mv {
  padding-top: 162px;
  color: #FFFFEA;
  position: relative;
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  .environment-mv {
    padding-top: 80px;
  }
}
.environment-mv .environment-mv__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 24px;
  padding: 52px 0 47px;
}
@media screen and (max-width: 750px) {
  .environment-mv .environment-mv__head {
    padding: 13vw 0 6vw;
    gap: 5%;
  }
}
.environment-mv .environment-mv__head h1 {
  font-size: 60px;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .environment-mv .environment-mv__head h1 {
    font-size: 5.5vw;
    line-height: 1em;
  }
}
.environment-mv .environment-mv__head p {
  font-size: clamp(14px, 1.3vw, 20px);
}
@media screen and (max-width: 750px) {
  .environment-mv .environment-mv__head p {
    font-size: 3.5vw;
  }
}
.environment-mv .environment-mv__image {
  display: -ms-grid;
  display: grid;
  place-items: center;
  background: #E0DCD0;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .environment-mv .environment-mv__image {
    height: auto;
  }
}
@media screen and (max-width: 750px) {
  .environment-mv .environment-mv__box__wrap {
    width: 100%;
    position: absolute;
    bottom: -48vw;
    left: 0;
  }
}
.environment-mv .environment-mv__box {
  width: min(1296px, 78%);
  margin: -334px auto 0;
  background-color: #D6D2C4;
  color: #5A0808;
  position: relative;
  z-index: 2;
  padding: 70px 70px 80px;
  text-align: center;
  translate: 0 166px;
}
@media screen and (max-width: 750px) {
  .environment-mv .environment-mv__box {
    margin: 0 auto;
    translate: 0;
    padding: 10vw 8%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 90%;
  }
}
.environment-mv .environment-mv__box p {
  font-size: 27px;
}
@media screen and (max-width: 750px) {
  .environment-mv .environment-mv__box p {
    font-size: 4.5vw;
    line-height: 1;
  }
}
.environment-mv .environment-mv__box ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  margin: 0 auto;
  max-width: 1200px;
  margin-top: 30px;
}
@media screen and (max-width: 750px) {
  .environment-mv .environment-mv__box ul {
    display: block;
    margin-top: 6vw;
  }
  .environment-mv .environment-mv__box ul li:not(:first-child) {
    margin-top: -1px;
  }
}

.env-section-head {
  text-align: center;
}
.env-section-head span {
  font-size: clamp(20px, 1.5vw, 30px);
}
@media screen and (max-width: 750px) {
  .env-section-head span {
    font-size: 5vw;
  }
}
.env-section-head h2 {
  margin-top: 12px;
  font-size: 54px;
  letter-spacing: -0.06em;
}
@media screen and (max-width: 750px) {
  .env-section-head h2 {
    margin-top: 3vw;
    font-size: 7vw;
  }
}

/* ---------------- env-data ---------------- */
.env-data {
  background: #5A0808;
  color: #ffffea;
  padding: 370px 0 200px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .env-data {
    padding: 65vw 0 18vw;
  }
}
.env-data::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/recruit/environment/data_bg_pc.webp") center/cover;
  pointer-events: none;
}
@media screen and (max-width: 750px) {
  .env-data::before {
    background: url("../images/recruit/environment/data_bg_sp.webp") center/cover;
  }
}
.env-data .content__inner {
  max-width: 1440px;
  position: relative;
  z-index: 2;
}
.env-data .env-section-head {
  text-align: center;
}
.env-data .env-section-head span {
  font-size: 25px;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .env-data .env-section-head span {
    font-size: 5vw;
  }
}
.env-data .env-section-head h2 {
  margin-top: 25px;
  font-size: clamp(28px, 3vw, 55px);
  line-height: 1;
  letter-spacing: -0.06em;
}
@media screen and (max-width: 750px) {
  .env-data .env-section-head h2 {
    margin-top: 3vw;
    font-size: 7vw;
  }
}
.env-data .env-data__wrap {
  margin-top: 110px;
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap {
    margin-top: 11vw;
  }
  .env-data .env-data__wrap img {
    width: 100%;
  }
}
.env-data .env-data__wrap .env-data__block {
  border: 1px solid #FFFFEA;
  padding: 73px 60px;
  border-radius: 12px;
  display: -ms-grid;
  display: grid;
  color: #FFFFEA;
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap .env-data__block {
    padding: 8vw 6vw;
    display: block;
  }
}
.env-data .env-data__wrap .env-data__block.env-data__block--1 {
  -ms-grid-columns: 0.9fr 68px 0.8fr;
  grid-template-columns: 0.9fr 0.8fr;
  -ms-grid-rows: (1fr)[2];
  grid-template-rows: repeat(2, 1fr);
  -webkit-column-gap: 68px;
     -moz-column-gap: 68px;
          column-gap: 68px;
}
.env-data .env-data__wrap .env-data__block.env-data__block--1 > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.env-data .env-data__wrap .env-data__block.env-data__block--1 > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
.env-data .env-data__wrap .env-data__block.env-data__block--1 > *:nth-child(3) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}
.env-data .env-data__wrap .env-data__block.env-data__block--1 > *:nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap .env-data__block.env-data__block--1 {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
}
.env-data .env-data__wrap .env-data__block.env-data__block--1 figure {
  -ms-grid-row-span: 2;
  grid-row: span 2/span 2;
}
.env-data .env-data__wrap .env-data__block.env-data__block--1 dd {
  margin-top: 35px;
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap .env-data__block.env-data__block--1 dd {
    margin-top: 6vw;
  }
}
.env-data .env-data__wrap .env-data__block.env-data__block--1 .env-data__box-b-bottom {
  border-bottom: 1px solid #FFFFEA;
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap .env-data__block.env-data__block--1 .env-data__box-b-bottom {
    padding-bottom: 8vw;
    border-bottom: none;
    position: relative;
    top: 0;
    left: 0;
  }
  .env-data .env-data__wrap .env-data__block.env-data__block--1 .env-data__box-b-bottom:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: -6vw;
    height: 1px;
    width: calc(100% + 12vw);
    background-color: #FFFFEA;
  }
}
.env-data .env-data__wrap .env-data__block.env-data__block--1 dl:last-child {
  -ms-flex-item-align: end;
      -ms-grid-row-align: end;
      align-self: end;
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap .env-data__block.env-data__block--1 dl:last-child dd {
    margin-top: 8vw;
    padding: 0 2vw;
  }
}
.env-data .env-data__wrap .env-data__block.env-data__block--2 {
  -ms-grid-columns: 46% 54%;
  grid-template-columns: 46% 54%;
}
.env-data .env-data__wrap .env-data__block.env-data__block--2 dl:first-child {
  padding-right: 10%;
  margin-right: 10%;
  border-right: 1px solid #FFFFEA;
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap .env-data__block.env-data__block--2 dl:first-child {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
  }
}
.env-data .env-data__wrap .env-data__block.env-data__block--2 dl:first-child dd {
  margin-top: 36px;
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap .env-data__block.env-data__block--2 dl:first-child dd {
    margin-top: 0;
  }
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap .env-data__block.env-data__block--2 dl:last-child dt {
    padding-top: 8vw;
  }
}
.env-data .env-data__wrap .env-data__block.env-data__block--2 dl:last-child dd {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 44px;
  padding-right: 8px;
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap .env-data__block.env-data__block--2 dl:last-child dd {
    margin-top: 0;
    display: none;
  }
}
.env-data .env-data__wrap .env-data__block.env-data__block--3 {
  -ms-grid-columns: 65% 6% 29%;
  grid-template-columns: 65% 29%;
  -webkit-column-gap: 6%;
     -moz-column-gap: 6%;
          column-gap: 6%;
}
@media screen and (max-width: 1200px) {
  .env-data .env-data__wrap .env-data__block.env-data__block--3 {
    -ms-grid-columns: 55% 45%;
    grid-template-columns: 55% 45%;
  }
}
.env-data .env-data__wrap .env-data__block.env-data__block--3 figure {
  -ms-grid-row-span: 2;
  grid-row: span 2/span 2;
}
.env-data .env-data__wrap .env-data__block.env-data__block--3 .env-data__label_box:nth-child(2) {
  padding-top: 50px;
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap .env-data__block.env-data__block--3 .env-data__label_box:nth-child(2) {
    padding-top: 0;
  }
}
.env-data .env-data__wrap .env-data__block.env-data__block--3 .env-data__label_box:last-child {
  padding-bottom: 50px;
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap .env-data__block.env-data__block--3 .env-data__label_box:last-child {
    padding-bottom: 0;
  }
}
.env-data .env-data__wrap .env-data__block .env-data__label {
  font-size: clamp(14px, 1.1vw, 18px);
}
.env-data .env-data__wrap .env-data__block .env-data__label span {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px 20px;
  min-width: 180px;
  text-align: center;
  border-radius: 100px;
  border: 1px solid #FFFFEA;
}
.env-data .env-data__wrap .env-data__block .env-data__label_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 750px) {
  .env-data .env-data__wrap .env-data__block .env-data__label_box.pc_only {
    display: none;
  }
}
.env-data .env-data__wrap .env-data__block .env-data__label_box p {
  margin-right: 64px;
}

/* ---------------- growth ---------------- */
.growth {
  background: #E0DCD0;
  color: #770312;
  padding-bottom: 520px;
  position: relative;
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  .growth {
    padding-bottom: 41vw;
  }
}
.growth .growth__head {
  text-align: center;
  padding: 198px 0 80px;
}
@media screen and (max-width: 750px) {
  .growth .growth__head {
    padding: 20vw 0 10vw;
  }
}
.growth .growth__head span {
  display: inline-block;
  font-size: 25px;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .growth .growth__head span {
    font-size: 4vw;
  }
}
.growth .growth__head h2 {
  margin-top: 18px;
  font-size: 56px;
  line-height: 1.3;
  letter-spacing: -0.08em;
}
@media screen and (max-width: 750px) {
  .growth .growth__head h2 {
    margin-top: 3vw;
    font-size: 7vw;
  }
}
.growth .growth__body {
  border-top: 1px solid #770312;
  border-bottom: 1px solid #770312;
}
.growth .growth__inner {
  max-width: 1440px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 65% 43%;
  grid-template-columns: 65% 43%;
  border-left: 1px solid #770312;
  padding: 115px 80px 95px;
}
@media screen and (max-width: 750px) {
  .growth .growth__inner {
    padding: 9vw 6vw;
    padding-right: 0vw;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 10vw;
    border-right: none;
  }
}
.growth .growth__list {
  display: -ms-grid;
  display: grid;
}
@media screen and (max-width: 750px) {
  .growth .growth__list .growth__item:first-child, .growth .growth__list .growth__item:nth-child(2), .growth .growth__list .growth__item:nth-child(3), .growth .growth__list .growth__item:last-child {
    padding-bottom: 0;
  }
  .growth .growth__list .growth__item:first-child:after, .growth .growth__list .growth__item:nth-child(2):after, .growth .growth__list .growth__item:nth-child(3):after, .growth .growth__list .growth__item:last-child:after {
    display: none;
  }
  .growth .growth__list .growth__item:last-child {
    padding-bottom: 0;
  }
}
.growth .growth__item {
  padding: 0 0 30px;
  position: relative;
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  .growth .growth__item {
    padding-bottom: 8vw;
  }
}
.growth .growth__item:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 1px;
  background-color: #770312;
}
@media screen and (max-width: 750px) {
  .growth .growth__item:after {
    left: -6vw;
  }
}
.growth .growth__item:not(:first-child) {
  padding-top: 78px;
}
@media screen and (max-width: 750px) {
  .growth .growth__item:not(:first-child) {
    padding-top: 8vw;
  }
}
.growth .growth__item span {
  display: inline-block;
  font-size: clamp(14px, 1.3vw, 20px);
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .growth .growth__item span {
    font-size: 4vw;
  }
}
.growth .growth__item h3 {
  margin-top: 34px;
  font-size: clamp(20px, 1.5vw, 30px);
  line-height: 1.5;
  letter-spacing: -0.05em;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
}
@media screen and (max-width: 750px) {
  .growth .growth__item h3 {
    margin-top: 5vw;
    font-size: 5vw;
  }
}
.growth .growth__item p {
  margin-top: 10px;
  font-size: clamp(14px, 1.1vw, 18px);
  line-height: 2.1;
}
@media screen and (max-width: 750px) {
  .growth .growth__item p {
    margin-top: 1vw;
    font-size: 3.5vw;
    line-height: 2em;
  }
}
@media screen and (max-width: 750px) {
  .growth .growth__item .growth__item-img {
    margin-top: 8vw;
    position: relative;
    top: 0;
    left: 0;
    z-index: 2;
  }
  .growth .growth__item .growth__item-img:after {
    content: "";
    position: absolute;
    bottom: 51%;
    left: -6vw;
    z-index: -1;
    width: 100vw;
    height: 1px;
    background-color: #770312;
  }
}
.growth .growth__images {
  display: -ms-grid;
  display: grid;
  -ms-flex-line-pack: start;
      align-content: start;
  gap: 10px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 750px) {
  .growth .growth__images {
    display: none;
  }
}
.growth .growth__images picture {
  display: block;
}
.growth .growth__images img {
  display: block;
  max-width: 100vw;
  width: 41vw;
}
.growth .growth__images--wide {
  position: absolute;
  bottom: -360px;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 750px) {
  .growth .growth__images--wide {
    bottom: -26vw;
  }
}
.growth .growth__images--wide img {
  max-width: 1600px;
  width: 90%;
  margin: 0 auto;
}

/* ---------------- benefit ---------------- */
.benefit {
  background: url("../images/recruit/environment/benefit_bg_pc.webp") center/cover;
  padding: 550px 0 180px;
  color: #FFFFEA;
}
@media screen and (max-width: 750px) {
  .benefit {
    padding: 40vw 0 8vw;
  }
}
.benefit .content__inner {
  max-width: 1500px;
}
.benefit .benefit__list {
  margin: 30px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.benefit .benefit__list li {
  width: 24%;
  border: 1px solid #FFFFEA;
  padding-bottom: 24px;
  line-height: 2;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  aspect-ratio: 360/310;
  padding: 60px 0 38px;
}
@media screen and (max-width: 750px) {
  .benefit .benefit__list li {
    width: 50%;
    aspect-ratio: unset;
    padding: 5vw 0;
    text-align: center;
  }
  .benefit .benefit__list li img {
    margin: 0 auto;
    width: 68%;
  }
}
.benefit .benefit__list li figcaption {
  font-size: clamp(14px, 1.1vw, 18px);
  margin-top: 9px;
}
@media screen and (max-width: 750px) {
  .benefit .benefit__list li figcaption {
    font-size: 3.4vw;
    margin-top: 0;
  }
}