@charset "utf-8";

/* ---------------------sub_mv-------------------- */
.sub_mv {
  background: url(/recruit/assets/img/about/sub_mv.jpg) no-repeat center/cover;
}

/* ---------------------management-------------------- */
.management {
  max-width: 1300px;
  margin: 0 auto;
  padding: 104px 0;
  background: url(/recruit/assets/img/about/management_bg.jpg) no-repeat center center/contain;
}

.management h2 {
  margin-bottom: 80px;
}

.management h2 .en {
  display: block;
  width: fit-content;
  margin: 0 auto;
  color: var(--orange);
}

.management h2 .en::before {
  background: url(/recruit/assets/img/orange_h2_deco.svg) no-repeat center center/cover;
}

.management h2 .ja {
  display: block;
  width: fit-content;
  margin: 0 auto;
  color: var(--dark_orange);
}

.management h2 .ja::before {
  background-color: var(--orange);
  left: 50%;
  transform: translateX(-50%);
}

.management .texts {
  width: fit-content;
  margin: 0 auto;
}

.management .texts p {
  margin-bottom: 40px;
  font-size: 20px;
  line-height: 15px;
}

.management .texts li {
  margin-bottom: 40px;
  padding-left: 40px;
  font-size: 22px;
  line-height: 20px;
  position: relative;
}

.management .texts li:last-child {
  margin-bottom: 0;
}

.management .texts li::before {
  content: '';
  display: block;
  width: 14px;
  aspect-ratio: 14/16;
  background: url(/recruit/assets/img/about/polygon_b.svg) no-repeat center center/cover;
  position: absolute;
  top: 50%;
  left: 6px;
  transform: translateY(-50%);
}

/* ---------------------business-------------------- */
.business {
  padding: 104px 0;
  background-color: var(--buck);
}

.business h2 {
  margin-bottom: 40px;
}

.business h2 .en {
  display: block;
  color: var(--main);
}

.business h2 .en::before {
  background: url(/recruit/assets/img/main_rec.svg) no-repeat center center/cover;
}

.business h2 .ja {
  display: block;
  color: var(--dark_green);
}

.business h2 .ja::before {
  background-color: var(--main);
}

.business .texts {
  line-height: 1.8;
}

.business .texts p {
  margin-bottom: 40px;
}

.business dl {
  display: flex;
  justify-content: space-between;
}

.business .li {
  width: 360px;
  aspect-ratio: 360/518;
  padding: 50px 40px;
  background-color: white;
  border-radius: 20px;
}

.business .li .photo {
  width: 280px;
  aspect-ratio: 280/207;
  margin-bottom: 24px;
}

.business dt {
  margin-bottom: 24px;
  font-size: 24px;
  font-weight: 400;
  line-height: 18px;
}

/* ---------------------loss-------------------- */
.loss {
  display: flex;
  padding: 104px 0;
  justify-content: space-between;
}

.loss .texts {
  width: 571px;
}

.loss h2 {
  margin-bottom: 40px;
}

.loss h2 .en {
  display: block;
  color: var(--pink);
}

.loss h2 .en::before {
  background: url(/recruit/assets/img/pink_rec.svg) no-repeat center center/cover;
}

.loss h2 .ja {
  display: block;
  color: var(--dark_pink);
}

.loss h2 .ja::before {
  background-color: var(--pink);
}

.loss .texts p {
  line-height: 1.8;
}

.loss .photo {
  width: 485px;
  aspect-ratio: 485/480;
}

/* ---------------------flow-------------------- */
.flow {
  padding: 104px 0;
  background-color: var(--buck);
}

.flow h2 {
  margin-bottom: 40px;
}

.flow h2 .en {
  display: block;
  color: var(--blue);
}

.flow h2 .en::before {
  background: url(/recruit/assets/img/blue_rec.svg) no-repeat center center/cover;
}

.flow h2 .ja {
  display: block;
  color: var(--dark_blue);
}

.flow h2 .ja::before {
  background-color: var(--blue);
}

.flow p,
.flow .ja {
  line-height: 1.8;
}

.flow .lead {
  margin-bottom: 40px;
}

.flow ul {
  display: flex;
  margin-bottom: 40px;
  padding: 40px;
  justify-content: space-between;
  background-color: white;
  border-radius: 20px;
}

.flow li {
  height: 295px;
  position: relative;
}

.flow li::after {
  content: '';
  display: block;
  width: 53px;
  aspect-ratio: 53/140;
  background: url(/recruit/assets/img/about/flow_arrow_pc.svg) no-repeat center center/cover;
  position: absolute;
  bottom: 0;
  right: -55px;
}

.flow li:last-child::after {
  display: none;
}

.flow li:nth-child(1) {
  width: 260px;
}

.flow li:nth-child(2) {
  width: 356px;
}

.flow li:nth-child(3) {
  width: 270px;
}

.flow .li_num {
  font-size: 96px;
  font-weight: 700;
  color: rgba(172, 220, 255, 0.3);
  line-height: 60px;
}

.flow li .ja {
  display: block;
  margin: -30px 0 0 30px;
}

.flow li:nth-child(1) .ja {
  margin-bottom: 51px;
}

.flow li:nth-child(2) .ja {
  margin-bottom: 42px;
}

.flow li:nth-child(3) .ja {
  margin-bottom: 70px;
}

.flow li .photo {
  margin: 0 auto;
}

.flow li:nth-child(1) .photo {
  width: 59px;
  aspect-ratio: 59/156;
}

.flow li:nth-child(2) .photo {
  width: 318px;
  aspect-ratio: 318/162;
}

.flow li:nth-child(3) .photo {
  width: 139px;
  aspect-ratio: 139/146;
}

.flow .text {
  text-align: center;
}

/* ---------------------message-------------------- */
.message {
  max-width: 1300px;
  margin: 0 auto;
  padding: 104px 0;
  background: url(/recruit/assets/img/about/message_bg.jpg) no-repeat center center/cover;
}

.message h2 {
  margin-bottom: 54px;
}

.message h2 .en {
  display: block;
  color: var(--main);
}

.message h2 .en::before {
  background: url(/recruit/assets/img/main_rec.svg) no-repeat center center/cover;
}

.message h2 .ja {
  display: block;
  color: var(--dark_green);
}

.message h2 .ja::before {
  background-color: var(--main);
}

.message .flex {
  display: flex;
  justify-content: space-between;
  align-items: end;
}

.message .photo {
  width: 476px;
  aspect-ratio: 476/540;
}

.message .texts {
  width: 590px;
  line-height: 1.8;
}

.message .lead {
  font-size: 24px;
  font-weight: 500;
}

.message .text {
  margin: 16px 0 40px;
}

.message .sign {
  line-height: 26px;
  text-align: end;
}

.message .position {
  margin-right: 16px;
  font-size: 20px;
}

.message .name {
  font-family: 'Noto Serif JP', serif;
  font-size: 36px;
  font-weight: 700;
}

@media screen and (max-width: 750px) {
  /* ---------------------sub_mv-------------------- */
  .sub_mv {
    height: calc((100 / 750) * 440 * 1vw);
    background: url(/recruit/assets/img/about/sub_mv_sp.jpg) no-repeat center/cover;
  }

  /* ---------------------management-------------------- */
  .management {
    max-width: calc((100 / 750) * 750 * 1vw);
    margin: 0 auto;
    padding: calc((100 / 750) * 128 * 1vw) 0;
    background: url(/recruit/assets/img/about/management_bg_sp.jpg) no-repeat center center/cover;
  }

  .management h2 {
    margin-bottom: calc((100 / 750) * 96 * 1vw);
  }

  .management h2 .ja::before {
    background-color: var(--orange);
    left: 50%;
    transform: translateX(-50%);
  }

  .management .texts {
    width: 100%;
    max-width: calc((100 / 750) * 570 * 1vw);
    margin: 0 auto;
  }

  .management .texts p {
    margin-bottom: calc((100 / 750) * 64 * 1vw);
    font-size: calc((100 / 750) * 26 * 1vw);
    line-height: calc((100 / 750) * 19 * 1vw);
  }

  .management .texts li {
    margin-bottom: calc((100 / 750) * 32 * 1vw);
    padding-left: calc((100 / 750) * 46 * 1vw);
    font-size: calc((100 / 750) * 32 * 1vw);
    line-height: 1.8;
    position: relative;
  }

  .management .texts li::before {
    width: calc((100 / 750) * 23 * 1vw);
    aspect-ratio: 14/16;
    background: url(/recruit/assets/img/about/polygon_b.svg) no-repeat center center/cover;
    top: calc((100 / 750) * 18 * 1vw);
    left: calc((100 / 750) * 7 * 1vw);
    transform: none;
  }

  /* ---------------------business-------------------- */
  .business {
    padding: calc((100 / 750) * 128 * 1vw) 0;
  }

  .business h2 {
    margin-bottom: calc((100 / 750) * 64 * 1vw);
  }

  .business .texts p {
    margin-bottom: calc((100 / 750) * 64 * 1vw);
  }

  .business dl {
    display: block;
  }

  .business .li {
    width: 100%;
    aspect-ratio: 670/814;
    margin-bottom: calc((100 / 750) * 40 * 1vw);
    padding: calc((100 / 750) * 60 * 1vw);
    border-radius: calc((100 / 750) * 40 * 1vw);
  }

  .business .li:last-child {
    margin-bottom: 0;
  }

  .business .li .photo {
    width: 100%;
    aspect-ratio: 550/400;
    margin-bottom: calc((100 / 750) * 40 * 1vw);
  }

  .business dt {
    margin-bottom: calc((100 / 750) * 40 * 1vw);
    font-size: calc((100 / 750) * 36 * 1vw);
    line-height: calc((100 / 750) * 26 * 1vw);
  }

  /* ---------------------loss-------------------- */
  .loss {
    display: block;
    padding: calc((100 / 750) * 128 * 1vw) 0;
  }

  .loss .texts {
    width: 100%;
    margin-bottom: calc((100 / 750) * 64 * 1vw);
  }

  .loss h2 {
    margin-bottom: calc((100 / 750) * 64 * 1vw);
  }

  .loss .photo {
    width: 100%;
    aspect-ratio: 1/1;
  }

  /* ---------------------flow-------------------- */
  .flow {
    padding: calc((100 / 750) * 104 * 1vw) 0;
  }

  .flow h2 {
    margin-bottom: calc((100 / 750) * 64 * 1vw);
  }

  .flow .lead {
    margin-bottom: calc((100 / 750) * 64 * 1vw);
  }

  .flow ul {
    display: block;
    margin-bottom: calc((100 / 750) * 64 * 1vw);
    padding: calc((100 / 750) * 80 * 1vw) calc((100 / 750) * 60 * 1vw);
    border-radius: calc((100 / 750) * 40 * 1vw);
  }

  .flow li {
    height: 100%;
    margin-bottom: calc((100 / 750) * 180 * 1vw);
  }

  .flow li::after {
    width: calc((100 / 750) * 140 * 1vw);
    aspect-ratio: 140/100;
    background: url(/recruit/assets/img/about/flow_arrow_sp.svg) no-repeat center center/cover;
    position: absolute;
    bottom: calc((100 / 750) * -140 * 1vw);
    right: 50%;
    transform: translateX(50%);
  }

  .flow li:last-child::after {
    display: none;
  }

  .flow li:nth-child(1) {
    width: 100%;
  }

  .flow li:nth-child(2) {
    width: 100%;
  }

  .flow li:nth-child(3) {
    width: 100%;
    margin-bottom: 0;
  }

  .flow .li_num {
    display: block;
    font-size: calc((100 / 750) * 160 * 1vw);
    line-height: calc((100 / 750) * 100 * 1vw);
  }

  .flow li .ja {
    margin: calc((100 / 750) * -34 * 1vw) 0 0 0;
  }

  .flow li:nth-child(1) .ja {
    margin-bottom: calc((100 / 750) * 30 * 1vw);
  }

  .flow li:nth-child(2) .ja {
    margin-bottom: calc((100 / 750) * 30 * 1vw);
  }

  .flow li:nth-child(3) .ja {
    margin-bottom: calc((100 / 750) * 30 * 1vw);
  }

  .flow li .photo {
    margin: 0 auto;
  }

  .flow li:nth-child(1) .photo {
    width: calc((100 / 750) * 100 * 1vw);
    aspect-ratio: 100/266;
  }

  .flow li:nth-child(2) .photo {
    width: calc((100 / 750) * 418 * 1vw);
    aspect-ratio: 418/221;
  }

  .flow li:nth-child(3) .photo {
    width: calc((100 / 750) * 194 * 1vw);
    aspect-ratio: 194/204;
  }

  /* ---------------------message-------------------- */
  .message {
    max-width: 750px;
    padding: calc((100 / 750) * 128 * 1vw) 0;
    background: url(/recruit/assets/img/about/message_bg_sp.jpg) no-repeat center center/cover;
  }

  .message h2 {
    margin-bottom: calc((100 / 750) * 64 * 1vw);
  }

  .message .flex {
    display: block;
  }

  .message .photo {
    width: 100%;
    aspect-ratio: 670/540;
    margin-bottom: calc((100 / 750) * 60 * 1vw);
  }

  .message .texts {
    width: 100%;
  }

  .message .lead {
    font-size: calc((100 / 750) * 35 * 1vw);
  }

  .message .text {
    margin: 1em 0 calc((100 / 750) * 27 * 1vw);
  }

  .message .sign {
    line-height: calc((100 / 750) * 35 * 1vw);
  }

  .message .position {
    margin-right: calc((100 / 750) * 26 * 1vw);
    font-size: calc((100 / 750) * 30 * 1vw);
  }

  .message .name {
    font-size: calc((100 / 750) * 48 * 1vw);
  }
}
