@charset "utf-8";

/*MV*/

img {
  height: auto;
}

#recruit .mv {
  margin-bottom: calc(157 / 1366 * 100vw);
  @media screen and (max-width: 768px) {
    margin-bottom: calc(-8 / 375 * 100vw);
  }
}

#recruit .mv .mv_img .mv_text01 {
  bottom: -1.8em;
  width: calc(320 / 1366 * 100vw);
}
@media screen and (max-width: 768px) {
  #recruit .mv .mv_img .mv_text01 {
    width: calc(92 / 375 * 100vw);
    bottom: auto;
    left: auto;
    right: 4.5%;
    top: calc(-70 / 375 * 100vw);
  }

  #recruit .mv .mv_img {
    width: 89.5%;
    margin: calc(-6 / 375 * 100vw) auto 0;
  }
}

/*共有*/
.btn_entry {
  position: relative;
  z-index: 0;
  display: block;
  font-weight: 900;
  font-size: calc(14 / 1366 * 100vw);
  color: #000;
  border-bottom: 1px solid #000;
  margin: 0 auto 0;
  width: calc(235 / 1366 * 100vw);
  aspect-ratio: 235 / 43;
  padding: calc(7 / 1366 * 100vw) 0 calc(16 / 1366 * 100vw) calc(25 / 1366 * 100vw);
  &::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    background-color: #00428e;
    top: calc(11 / 1366 * 100vw);
    left: 0;
    transform: translate(0, 0);
    width: calc(10 / 1366 * 100vw);
    aspect-ratio: 1;
    border-radius: calc(99 / 1366 * 100vw);
  }
  &::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    background-image: url("../img/recruit/arrow_entry.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    top: 0;
    right: 0;
    width: calc(24 / 1366 * 100vw);
    aspect-ratio: 1;
  }

  @media screen and (max-width: 768px) {
    font-size: calc(14 / 375 * 100vw);
    width: calc(175 / 375 * 100vw);
    aspect-ratio: 175.47 / 42.99;
    padding: calc(7 / 375 * 100vw) 0 calc(18 / 375 * 100vw) calc(21 / 375 * 100vw);
    margin-top: calc(88 / 375 * 100vw);
    &::before {
      top: calc(13 / 375 * 100vw);
      width: calc(10 / 375 * 100vw);
      border-radius: calc(99 / 375 * 100vw);
    }
    &::after {
      width: calc(24 / 375 * 100vw);
    }
  }
}

.ttl02 {
  font-weight: bold;
  font-size: calc(25 / 1366 * 100vw);
  line-height: calc(77 / 25);
  color: #000;

  .en {
    display: block;
    font-weight: 900;
    font-size: calc(50 / 1366 * 100vw);
    line-height: 1.2;
    margin-bottom: calc(-14 / 1366 * 100vw);
    letter-spacing: 0.035em;
  }
  @media screen and (max-width: 768px) {
    font-size: calc(18 / 375 * 100vw);
    line-height: calc(52 / 18);
    .en {
      display: block;
      font-size: calc(38 / 375 * 100vw);
      line-height: calc(44 / 38);
      margin-bottom: 0;
      letter-spacing: 0;
    }
  }
}
/*----------*/
.essential_point {
  /* padding-bottom: calc(109 / 1366 * 100vw); */

  @media screen and (max-width: 768px) {
    /* padding-bottom: calc(102 / 375 * 100vw); */
  }
}

.select_career {
  margin-bottom: calc(107 / 1366 * 100vw);
  .inner {
    padding-bottom: calc(30 / 1366 * 100vw);
    margin: 0 auto;
    width: 87.55%;
    display: flex;
    justify-content: center;
    gap: 0 calc(20 / 1366 * 100vw);
    border-bottom: 1px solid #000;
  }

  .career00 {
    position: relative;
    /* z-index: 0; */
    width: 36.7%;
    background-color: #445058;
    padding: calc(20 / 1366 * 100vw) calc(20 / 1366 * 100vw) calc(20 / 1366 * 100vw) calc(40 / 1366 * 100vw);
    display: flex;
    justify-content: center;
    border-radius: calc(68 / 1366 * 100vw);
    transition: 0.3s;
    > * {
      position: relative;
      z-index: 1;
    }
    &.on {
      background-color: #000;
      /* border-radius: 68px 68px 0 0; */
    }

    &::after {
      content: "";
      display: block;
      position: absolute;
      z-index: -1;
      background-image: url("../img/recruit/dec01.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 60%;
      aspect-ratio: 641/ 98;
      transition: 0.1s;
      /* filter: invert(29%) sepia(10%) saturate(876%) hue-rotate(161deg) brightness(90%) contrast(81%); */
    }

    &.on::after {
      bottom: calc(-30 / 1366 * 100vw);
      width: 146%;
      transition: 0.3s;
    }

    .ttl {
      position: relative;
      z-index: 0;
      font-size: calc(12 / 1366 * 100vw);
      line-height: calc(37 / 12);
      color: #fff;
      margin-right: auto;
      padding-left: calc(27 / 1366 * 100vw);
      align-self: center;
      margin-top: calc(7 / 1366 * 100vw);
      .en {
        display: block;
        font-weight: 900;
        font-size: calc(24 / 1366 * 100vw);
        line-height: calc(29 / 24);
        margin-bottom: calc(-4 / 1366 * 100vw);
      }
      &::before {
        content: "";
        position: absolute;
        z-index: 0;
        display: block;
        background-color: #3286e6;
        top: calc(10 / 1366 * 100vw);
        left: 0;
        width: calc(10 / 1366 * 100vw);
        aspect-ratio: 1;
        border-radius: calc(99 / 1366 * 100vw);
      }
    }
    img {
      width: calc(100 / 1366 * 100vw);
      height: auto;
      align-self: center;
      border-radius: calc(999 / 1366 * 100vw);
      transition: 0.3s;
    }
  }

  @media screen and (max-width: 768px) {
    overflow: hidden;
    padding-top: calc(35 / 375 * 100vw);
    margin-bottom: calc(52 / 375 * 100vw);
    .inner {
      width: 100%;
      padding: 0 0 calc(14 / 375 * 100vw) 0;
      justify-content: space-between;
    }

    .career00 {
      position: relative;
      /* z-index: 0; */
      width: 48.3%;
      padding: calc(30 / 375 * 100vw) 0 calc(11 / 375 * 100vw) calc(30 / 375 * 100vw);

      > * {
        position: relative;
        z-index: 1;
      }
      &.on {
        background-color: #000;
        /* border-radius: 68px 68px 0 0; */
        img {
          border: 4px solid #000;
        }
      }

      &::after {
        background-image: url("../img/recruit/dec01_sp.svg");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        aspect-ratio: 242 / 117;
        bottom: calc(-16 / 375 * 100vw);
        left: auto;
        right: 0;
        transform: translate(0, 0);
        width: auto;
        height: 115.6%;
        opacity: 0;
      }

      &.on::after {
        bottom: calc(-16 / 375 * 100vw);
        width: auto;
        right: -34%;
        opacity: 1;
      }

      &.btn_new {
        border-radius: 0 calc(47 / 375 * 100vw) calc(47 / 375 * 100vw) 0;
      }
      &.btn_career {
        border-radius: calc(47 / 375 * 100vw) 0 0 calc(47 / 375 * 100vw);
        &::after {
          transform: scale(-1, 1) translate(0, 0);
          left: 0;
          right: auto;
        }

        &.on::after {
          left: -34%;
        }
      }

      .ttl {
        font-size: calc(10 / 375 * 100vw);
        line-height: calc(37 / 10);
        padding-left: 0;
        margin-top: calc(7 / 375 * 100vw);
        .en {
          font-size: calc(17 / 375 * 100vw);
          line-height: calc(29 / 18);
          margin-bottom: calc(-10 / 375 * 100vw);
        }
        &::before {
          top: calc(10 / 375 * 100vw);
          left: calc(-16 / 375 * 100vw);
          width: calc(8 / 375 * 100vw);
          border-radius: calc(99 / 375 * 100vw);
        }
      }
      img {
        position: absolute;
        z-index: 1;
        top: calc(-34 / 375 * 100vw);
        left: calc(58 / 375 * 100vw);
        width: calc(68 / 375 * 100vw);
        border: 4px solid #445058;
        border-radius: calc(999 / 375 * 100vw);
      }
    }
  }
}

.unit_career {
  /* margin-bottom: calc(60 / 1366 * 100vw); */
  .unit_page {
    display: none;
    flex-flow: wrap;
    margin: 0 auto;
    width: 72.84%;
    justify-content: space-between;
    &.on {
      display: flex;
    }
    .card_career {
      background-color: #fff;
      border-radius: calc(30 / 1366 * 100vw);
      padding: calc(85 / 1366 * 100vw) calc(60 / 1366 * 100vw);
      width: 64.73%;
      .data_career {
        display: flex;
        flex-flow: column;
        gap: calc(41 / 1366 * 100vw) 0;
        .data_content {
          display: flex;
          justify-content: space-between;
          padding-bottom: calc(9 / 1366 * 100vw);
          border-bottom: 1px solid #e5e5e5;
          > dt {
            font-weight: bold;
            font-size: calc(16 / 1366 * 100vw);
            min-width: calc(101 / 1366 * 100vw);
          }
          > dd {
            font-size: calc(14 / 1366 * 100vw);
            letter-spacing: 0.05em;
            line-height: calc(32 / 14);
            width: calc(353 / 1366 * 100vw);
            margin-top: calc(-6 / 1366 * 100vw);
          }
          .data_work {
            display: flex;
            flex-flow: column;
            gap: calc(2 / 1366 * 100vw);
            .work_content {
              display: flex;
              align-self: baseline;
              align-items: baseline;
              gap: 0 calc(20 / 1366 * 100vw);
              dt {
                min-width: calc(88 / 1366 * 100vw);
                background-color: #445058;
                border-radius: 2px;
                color: #fff;
                font-weight: 500;
                font-size: calc(13 / 1366 * 100vw);
                line-height: 1;
                text-align: center;
                align-self: baseline;
                padding: calc(5 / 1366 * 100vw) 0 calc(5 / 1366 * 100vw);
              }
            }
          }
        }
      }
    }
  }
  .btn_entry {
    margin-top: calc(40 / 1366 * 100vw);
  }
  @media screen and (max-width: 768px) {
    /* margin-bottom: calc(40 / 375 * 100vw); */
    .unit_page {
      width: 84%;
      flex-flow: column;

      .card_career {
        margin-top: calc(23 / 375 * 100vw);
        border-radius: calc(30 / 375 * 100vw);
        padding: calc(61 / 375 * 100vw) calc(30 / 375 * 100vw) calc(80 / 375 * 100vw);
        width: 100%;
        .data_career {
          flex-flow: column;
          gap: calc(32 / 375 * 100vw) 0;
          .data_content {
            flex-flow: column;
            gap: calc(14 / 375 * 100vw) 0;
            padding-bottom: calc(7 / 375 * 100vw);
            > dt {
              font-size: calc(16 / 375 * 100vw);
              min-width: auto;
            }
            > dd {
              font-size: calc(14 / 375 * 100vw);
              line-height: 1.8;
              width: 100%;
              margin-top: 0;
            }
            .data_work {
              gap: calc(15 / 375 * 100vw) 0;
              .work_content {
                gap: 0 calc(20 / 375 * 100vw);
                dt {
                  min-width: calc(88 / 375 * 100vw);
                  font-size: calc(13 / 375 * 100vw);
                  padding: calc(5 / 375 * 100vw) 0 calc(5 / 375 * 100vw);
                }
                dd {
                  font-size: calc(13 / 375 * 100vw);
                }
              }
            }
          }
        }
      }
    }
    .btn_entry {
      margin-top: calc(40 / 375 * 100vw);
    }
  }
}

.link_mynavi {
  margin: calc(60 / 1366 * 100vw) auto 0;
  /* width: 72.84%; */
  width: 100%;
  border-radius: calc(30 / 1366 * 100vw);
  background: #e8e8e8;
  padding: calc(50 / 1366 * 100vw) calc(60 / 1366 * 100vw);
  display: flex;
  align-items: center;
  justify-content: space-between;
  a {
    width: 29.51%;
    align-self: center;
    align-self: center;
  }
  .box_text {
    width: 65.8%;
    font-size: calc(14 / 1366 * 100vw);
    line-height: calc(32 / 14);
    letter-spacing: 0.13em;
  }
  @media screen and (max-width: 768px) {
    flex-flow: column;
    margin: calc(40 / 375 * 100vw) auto 0;
    gap: calc(37 / 375 * 100vw) 0;
    padding: calc(60 / 375 * 100vw) calc(30 / 375 * 100vw) calc(66 / 375 * 100vw);
    /* width: 84%; */
    border-radius: calc(30 / 375 * 100vw);
    a {
      width: 100%;
    }
    .box_text {
      width: 100%;
      font-size: calc(14 / 375 * 100vw);
      letter-spacing: 0.13em;
    }
  }
}
.process {
  margin: calc(109 / 1366 * 100vw) auto 0;
  width: 87.85%;
  &.off {
    display: none;
  }
  .ttl02 {
    margin-bottom: calc(40 / 1366 * 100vw);
    margin-left: 8.5%;
  }
  .list_process {
    position: relative;
    z-index: 0;
    display: flex;
    flex-flow: wrap;
    gap: calc(109 / 1366 * 100vw) calc(90 / 1366 * 100vw);
    margin-bottom: calc(60 / 1366 * 100vw);
    &::before {
      content: "";
      display: block;
      position: absolute;
      z-index: -1;
      background-image: repeating-linear-gradient(to right, #fff 0px, #fff 4px, #000 4px, #000 8px);
      background-size: 8px 100%;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 96.33%;
      height: 2px;
    }
    &::after {
      content: "";
      display: block;
      position: absolute;
      z-index: -2;
      background-color: #000;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      aspect-ratio: 1200 / 42;
      border-radius: calc(99 / 1366 * 100vw);
    }
    .process00 {
      position: relative;
      z-index: 0;
      width: calc(232 / 1366 * 100vw);
      aspect-ratio: 1;
      border-radius: calc(999 / 1366 * 100vw);
      border: 1px solid #000;
      background-color: #fff;
      display: flex;
      flex-flow: column;
      align-items: center;
      font-size: calc(20 / 1366 * 100vw);
      font-weight: bold;
      line-height: calc(29 / 20);
      text-align: center;
      .size_s {
        display: block;
        font-size: calc(12 / 1366 * 100vw);
      }
      .dec_no {
        font-weight: 900;
        font-size: calc(36 / 1366 * 100vw);
        line-height: calc(43 / 36);
        display: flex;
        flex-flow: column;
        align-items: center;
        border-bottom: 1px solid #000;
        margin: calc(27 / 1366 * 100vw) 0 calc(24 / 1366 * 100vw);
        .en {
          display: block;
          font-weight: 900;
          font-size: calc(8 / 1366 * 100vw);
          line-height: 1;
          margin-bottom: calc(-4 / 1366 * 100vw);
        }
      }

      &::before {
        content: "";
        display: block;
        position: absolute;
        z-index: 1;
        background: radial-gradient(circle at center, #3286e6 0%, #3286e6 40%, white 40%, white 100%);
        width: calc(19 / 1366 * 100vw);
        aspect-ratio: 1;
        border-radius: calc(99 / 1366 * 100vw);
        left: 50%;
        transform: translate(-50%, 0);
      }
      &::after {
        content: "";
        display: block;
        position: absolute;
        z-index: 0;
        border-left: 2px dotted #717171;
        width: 1px;
        height: calc(54 / 1366 * 100vw);
        left: 50%;
        transform: translate(-50%, 0);
      }
    }
    .process01 {
      order: 1;
      margin-left: calc(100 / 1366 * 100vw);
    }
    .process02 {
      order: 4;
      margin-left: calc(221 / 1366 * 100vw);
    }
    .process03 {
      order: 2;
      .dec_no {
        margin-bottom: calc(36 / 1366 * 100vw);
      }
    }
    .process04 {
      order: 5;
      .dec_no {
        margin-bottom: calc(21 / 1366 * 100vw);
      }
    }
    .process05 {
      order: 3;
      order: 2;
      .dec_no {
        margin-bottom: calc(36 / 1366 * 100vw);
      }
    }
    .process06 {
      order: 6;
      .dec_no {
        margin-bottom: calc(36 / 1366 * 100vw);
      }
    }
    .process01,
    .process03,
    .process05 {
      &::before {
        bottom: calc(-65 / 1366 * 100vw);
      }
      &::after {
        bottom: calc(-54 / 1366 * 100vw);
      }
    }
    .process02,
    .process04,
    .process06 {
      &::before {
        top: calc(-65 / 1366 * 100vw);
      }
      &::after {
        top: calc(-54 / 1366 * 100vw);
      }
    }
  }
  @media screen and (max-width: 768px) {
    width: 94.66%;
    margin-top: calc(102 / 375 * 100vw);
    .ttl02 {
      margin-bottom: calc(58 / 375 * 100vw);
      margin-left: 5.8%;
    }

    .list_process {
      flex-flow: row wrap;
      justify-content: space-between;
      gap: 0;
      &::before {
        content: "";
        display: block;
        position: absolute;
        z-index: -1;
        background-image: repeating-linear-gradient(to bottom, #fff 0px, #fff 4px, #000 4px, #000 8px);
        background-size: 8px 100%;
        left: 50%;
        width: 2px;
        height: 110%;
      }
      &::after {
        content: "";
        display: block;
        position: absolute;
        z-index: -2;
        background-color: #000;
        width: auto;
        height: 112%;
        aspect-ratio: 15 / 790;
        border-radius: calc(99 / 375 * 100vw);
      }
      .process00 {
        width: calc(156 / 375 * 100vw);
        border-radius: calc(999 / 375 * 100vw);
        font-size: calc(14 / 375 * 100vw);
        line-height: calc(25 / 14);
        align-self: flex-start;
        .size_s {
          font-size: calc(10 / 375 * 100vw);
        }
        .dec_no {
          font-size: calc(25 / 375 * 100vw);
          line-height: calc(43 / 25);
          margin: calc(16 / 375 * 100vw) 0 calc(9 / 375 * 100vw);
          .en {
            font-size: calc(8 / 375 * 100vw);
            margin-bottom: calc(-4 / 375 * 100vw);
          }
        }
        &::before {
          width: calc(11 / 375 * 100vw);
          border-radius: calc(99 / 375 * 100vw);
          top: 50%;
          transform: translate(0, -50%);
        }
        &::after {
          width: calc(20 / 375 * 100vw);
          height: 0;
          border-bottom: 2px dotted #717171;
          border-left: 0;
        }
      }
      .process01 {
        order: 1;
        margin-left: 0;
      }
      .process02 {
        order: 2;
        margin-left: 0;

        margin-top: calc(108 / 375 * 100vw);
      }
      .process03 {
        order: 3;
        margin-top: calc(-48 / 375 * 100vw);
        .dec_no {
          margin-bottom: calc(20 / 375 * 100vw);
        }
      }
      .process04 {
        order: 4;
        margin-top: calc(59 / 375 * 100vw);
        .dec_no {
          margin-bottom: calc(5 / 375 * 100vw);
        }
      }
      .process05 {
        order: 5;
        margin-top: calc(-49 / 375 * 100vw);
        .dec_no {
          margin-bottom: calc(20 / 375 * 100vw);
        }
      }
      .process06 {
        order: 6;
        margin-top: calc(59 / 375 * 100vw);
        .dec_no {
          margin-bottom: calc(20 / 375 * 100vw);
        }
      }

      .process01,
      .process03,
      .process05 {
        &::before {
          left: auto;
          right: calc(-29 / 375 * 100vw);
        }
        &::after {
          left: auto;
          right: calc(-20 / 375 * 100vw);
          transform: translate(0, -50%);
          top: 50%;
        }
      }
      .process02,
      .process04,
      .process06 {
        &::before {
          left: calc(-27 / 375 * 100vw);
        }
        &::after {
          left: auto;
          left: calc(-20 / 375 * 100vw);
          transform: translate(0, -50%);
          top: 50%;
        }
      }
    }
  }
}
