@charset "UTF-8";

/*
	##### DNP RECRUITING #####
	/recruit/newgraduates/career/css/career_sp.css
*/

.main-ttl-area {
  display: block;
  width: 100%;
  padding-top: calc(196 / 750 * 100vw);
  padding-bottom: calc(105 / 750 * 100vw);
  text-align: center;

  & .page-ttl {
    font-size: calc(40 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .08em;
    margin-bottom: calc(24 / 750 * 100vw);
  }
  & .en {
    font-size: calc(18 / 750 * 100vw);
    font-weight: 400;
    letter-spacing: .08em
  }
}

.fv-area {
  display: none;
  width: calc(700 / 750 * 100vw);
  margin: 0 auto calc(190 / 750 * 100vw);

   & .topic-path {
    display: none;
   }
   & .image-box {
    width: 100%;
    height: calc(400 / 750 * 100vw);
    border-radius: calc(28 / 750 * 100vw);
    overflow: hidden
   }
}


.recruit-info-area {
  width: 100%;
  margin: 0 auto;

  & .side-menu-area {
    display: none;
  }
  & .right-side {
    display: block;
    width: 100%;
    overflow: hidden;
  }
}


.lead-section {
  font-feature-settings: "palt";
  display: block;
  width: calc(725 / 750 * 100vw);
  padding: calc(170 / 750 * 100vw) 0 calc(150 / 750 * 100vw);
  margin-left: auto;
  border-radius: calc(30 / 750 * 100vw) 0 0 calc(30 / 750 * 100vw);
  background-color: var(--color3);
  position: relative;

  & .bg-illust {
    position: absolute;
    top: calc(600 / 750 * 100vw);
    left: calc(62 / 750 * 100vw);
    display: block;
    width: calc(600 / 750 * 100vw);
    height: calc(860 / 750 * 100vw);
    z-index: 0;
  }

  &::after {
    content: '';
    display: block;
    width: calc(410 / 750 * 100vw);
    height: calc(101 / 750 * 100vw);
    background: url(/recruit/newgraduates/shared/images/bg-orn-rb.svg) no-repeat left bottom / auto 100%;
    position: absolute;
    top: calc(100% - 1px);
    right: 0;
  }
}
.lead-sec-ttl {
  display: flex;
  flex-direction: column-reverse;
  align-items: start;
  margin-bottom: calc(782 / 750 * 100vw);
  position: relative;
  z-index: +1;

  & .en {
    display: inline-block;
    height: calc(40 / 750 * 100vw);
    padding: 0 calc(45 / 750 * 100vw);
    font-size: calc(25 / 750 * 100vw);
    line-height: calc(40 / 750 * 100vw);
    letter-spacing: .08em;
    border-radius: 0 100px 100px 0;
    background-color: var(--car-color);
    color: #fff;
    margin-bottom: calc(40 / 750 * 100vw);

    &::before {
      content: '';
      display: inline-block;
      width: calc(6 / 750 * 100vw);
      height: calc(6 / 750 * 100vw);
      border-radius: 50%;
      background-color: currentColor;
      vertical-align: middle;
      margin-right: calc(13 / 750 * 100vw);
      transform: translateY(-30%);
    }
  }
  & .sec-ttl {
    font-size: calc(62 / 750 * 100vw);
    font-weight: 700;
    line-height: 1.6129032258064515;
    letter-spacing: .06em;
    color: var(--car-color);
    padding-left: calc(45 / 750 * 100vw)
  }
}
.lead-txt {
  font-size: calc(32 / 750 * 100vw);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 2.1875;
  color: var(--car-color);
  padding-left: calc(45 / 750 * 100vw)
}










.program-area {
  margin-top: calc(99 / 750 * 100vw);
  background-color: var(--color3);

  & .inner {
    display: block;
    width: calc(725 / 750 * 100vw);
    border-radius: 0 calc(30 / 750 * 100vw) calc(30 / 750 * 100vw) 0;
    background-color: #fff;
    padding: calc(187 / 750 * 100vw) 0 calc(170 / 750 * 100vw);
    overflow: hidden;

    & .prog {
      padding: 0 calc(47.5 / 750 * 100vw);
    }
  }
}
.program-area.last {
  margin-top: 0;

   & .inner {
    padding-bottom: calc(70 / 750 * 100vw);
    border-bottom-right-radius: 0;
   }
}


.info-sec-ttl {
  font-feature-settings: "palt";
  color: var(--car-color);
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: calc(80 / 750 * 100vw);

  & .en {
    font-size: calc(25 /750 * 100vw);
    letter-spacing: .08em;
    line-height: 1.4;
    margin-bottom: calc(40 / 750 * 100vw);
    padding-left: calc(18 / 750 * 100vw);
    text-indent: calc(-18 / 750 * 100vw);

    &::before {
      content: '';
      display: inline-block;
      width: calc(8 / 750 * 100vw);
      height: calc(8 / 750 * 100vw);
      border-radius: 50%;
      background-color: currentColor;
      vertical-align: middle;
      margin-right: calc(10 / 750 * 100vw);
      transform: translateY(-25%);
    }
  }
  & .sec-ttl {
    font-size: calc(54 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.2592592592592593;
  }
}

.prog-list {
  display: block;
  width: 100%;
  margin-bottom: calc(100 / 750 * 100vw);

  & li {
    display: block;

    & + & {
      margin-top: calc(60 / 750 * 100vw);
    }

   & .img-box {
      display: block;
      width: 100%;
      height: calc(400 / 750 * 100vw);
      border-radius: calc(30 / 750 * 100vw) calc(30 / 750 * 100vw) 0 0;
      overflow: hidden;

    }
  }

  & .txt {
    font-feature-settings: "palt";
    display: block;
    padding: calc(55 / 750 * 100vw);
    background-color: var(--color3);
    border-radius: 0 0 calc(30 / 750 * 100vw) calc(30 / 750 * 100vw);


    & .prog-ttl {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      min-height: calc(70 / 750 * 100vw);
      padding: calc(8 / 750 * 100vw) 0;
      font-size: calc(32 / 750 * 100vw);
      font-weight: 700;
      letter-spacing: .03em;
      line-height: 1.25;
      text-align: center;
      color: #fff;
      background-color: var(--car-color);
      border-radius: calc(15 / 750 * 100vw);
    }

    & .prog-des {
      font-size: calc(28 / 750 * 100vw);
      letter-spacing: .05em;
      line-height: 2.0714285714285716;
      margin-top: .75em;
      text-align: justify;
    }
  }
}


.others {
  font-feature-settings: "palt";
  display: block;
  width: 100%;

  & .ttl {
    font-size: calc(30 / 750 * 100vw);
    font-weight: 500;
    letter-spacing: .08em;
    line-height: 1.6666666666666667;
    color: var(--car-color);
    margin-bottom: calc(40 / 750 * 100vw);

  }
}
.other-list {
  display: block;
  padding-bottom: calc(70 / 750 * 100vw);

  & .training + .training {
    margin-top: calc(40 / 750 * 100vw);
  }
  & dt {
    font-size: calc(28 / 750 * 100vw);
    font-weight: 700;
    line-height: 1.7857142857142858;
    letter-spacing: .06em;

    &::before {
      content: '';
      display: inline-block;
      width: calc(8 / 750 * 100vw);
      height: calc(8 / 750 * 100vw);
      border-radius: 50%;
      background-color: var(--car-color);
      vertical-align: middle;
      margin-right: calc(12 / 750 * 100vw);
      transform: translateY(-25%);
    }
  }
  & dd {
    font-size: calc(26 / 750 * 100vw);
    line-height: 1.9230769230769231;
    letter-spacing: .06em;
    padding-left: calc(20 / 750 * 100vw);
    text-align: justify;
  }
}


.inter-sec-1  {
  position: relative;
  width: 100%;

  & .mask {
    width: 100%;
    height: calc(435 / 750 * 100vw);
    -webkit-mask: url(/recruit/newgraduates/career/images/mask-1_sp.svg) no-repeat left center / auto 100%;
    mask: url(/recruit/newgraduates/career/images/mask-1_sp.svg) no-repeat left center / auto 100%;
  }
}





.program-area-2 {
  display: block;
  width: calc(725 / 750 * 100vw);
  padding: calc(206 / 750 * 100vw) calc(47.5 / 750 * 100vw) calc(70 / 750 * 100vw);
  margin-top: calc(100 / 750 * 100vw);
  margin-left: auto;
  border-radius: calc(30 / 750 * 100vw) 0 0 calc(30 / 750 * 100vw);
  background-color: var(--color3);
  position: relative;

  &::before {
    content: '';
    display: block;
    width: calc(410 / 750 * 100vw);
    height: calc(101 / 750 * 100vw);
    background: url(/recruit/newgraduates/shared/images/bg-orn-rt.svg) no-repeat right bottom / cover;
    position: absolute;
    top: calc(-100 / 750 * 100vw);
    right: 0;
    z-index: -1;
  }

  & .prog-list .txt {
    background-color: #fff
  }
}


.inter-sec-2  {
  position: relative;
  width: 100%;
  overflow: hidden;

  & .mask {
    width: 100%;
    height: calc(450 / 750 * 100vw);
    -webkit-mask: url(/recruit/newgraduates/career/images/mask-2_sp.svg) no-repeat left center / auto 100%;
    mask: url(/recruit/newgraduates/career/images/mask-2_sp.svg) no-repeat left center / auto 100%;
  }
}


.more-contents-bttn-area {
  margin-top: calc(170 / 750 * 100vw);
  margin-bottom: calc(230 / 750 * 100vw);
  overflow: hidden;
}

.more.contents-bttn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(204 / 750 * 100vw);
  width: calc(725 / 750 * 100vw);
  margin-left: auto;
  color: #fff;
  background-color: var(--car-color);
  background-image: linear-gradient(#147688 1px, transparent 0), linear-gradient(90deg, #147688 1px, transparent 0);
  background-position: center;
  background-size: calc(18 / 750 * 100vw) calc(18 / 750 * 100vw);
  border-radius: calc(30 / 750 * 100vw) 0 0 calc(30 / 750 * 100vw);
  overflow: hidden;
  position: relative;

  &::after {
    position: absolute;
    right: calc(50 / 750 * 100vw);
    content: '';
    display: block;
    width: calc(60 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
    border-radius: 50%;
    background: no-repeat center center / contain;
    background-color: #fff;
    background-image: url(/recruit/newgraduates/shared/images/bttn-popup_cr.svg);
}

  & .jp {
    font-size: calc(36 / 750 * 100vw);
    font-weight: 700;
    font-feature-settings: "palt";
    letter-spacing: .08em;
    line-height: 1.3888888888888888;
    text-indent: calc(-82 / 750 * 100vw);

    &::before {
      content: '';
      display: inline-block;
      width: calc(60 / 750 * 100vw);
      height: calc(2 / 750 * 100vw);
      background-color: #fff;
      margin-right: calc(22 / 750 * 100vw);
      vertical-align: middle;
    }
  }
}

