@charset "UTF-8";

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


.main-ttl-area {
  display: block;
  width: 100%;
  padding-top: calc(130 var(--w-formulae));
  padding-bottom: calc(105 var(--w-formulae));
  text-align: center;

  @media (width < 1200px) {
    padding-top: 204px
  }

  & .page-ttl {
    font-size: calc(38 var(--w-formulae));
    font-weight: 700;
    letter-spacing: .08em;
    margin-bottom: calc(24 var(--w-formulae));

  }
  & .en {
    font-size: calc(16 var(--w-formulae));
    font-weight: 400;
    letter-spacing: .08em;
  }
}

.fv-area {
  display: block;
  width: 100%;
  max-width: 1830px;
  padding: 0 15px;
  margin: 0 auto;

  & .topic-path {
    margin-left: calc(30 var(--w-formulae));
    margin-bottom: calc(15 var(--w-formulae));
  }
}



.recruit-info-area {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
  column-gap: 33px;

  & .side-menu-area {
    display: block;
    padding-top: 40px;
    flex: 1 0 calc(((100vw - 1400px) / 2) + (1400px * .155));
  }
  & .right-side {
    padding-top: 150px;
    overflow: hidden;
    flex: 1 1  calc(((100vw - 1400px) / 2) + (1400px * .82142857));
  }
}
@media (width < 1400px) {
  .recruit-info-area .side-menu-area {
    flex-basis: 15.5%;
  }
  .recruit-info-area .right-side {
    flex-basis: 82.142857%;
  }
}

.anchor-links {
  position: sticky;
  top: 120px;
  float: right;
  margin-left: 42px;

  & h4 {
    display: inline-block;
    height: 25px;
    padding: 0 1em;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    letter-spacing: .08em;
    background-color: gray;
    color: #fff;
    border-radius: 100px;
    margin-bottom: 40px;

    &::before {
      content: '';
      display: inline-block;
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background-color: currentColor;
      vertical-align: middle;
      margin-right: 7px;
    }
  }
  & li {
    min-width: 175px;
    margin-bottom: 1em;

    & a {
      display: inline-block;
      font-feature-settings: "palt";
      font-size: calc(13 var(--w-formulae));
      font-weight: 700;
      letter-spacing: .05em;
      line-height: 1.5384615384615385;
      color: currentColor;
      padding-left: 22px;
      text-indent: -22px;
      transition: color .3s ease;

      &::before {
        content: '';
        display: inline-block;
        height: 1px;
        width: 12px;
        background-color: currentColor;
        vertical-align: middle;
        margin-right: 10px;
      }
    }
  }
}
@media (hover: hover) {
  .anchor-links li a {
    opacity: 1;
    transition: opacity .3s ease;

    &:hover {
      opacity: .4;
    }
  }
}

.recruit-info-area .anchor-links li a.current {
  color: var(--car-color);
  transition: color .3s ease;
}


.recruit-info-area .anchor-links h4 {
  background-color: var(--car-color);
}





.lead-section {
  font-feature-settings: "palt";
  display: block;
  width: 100%;
  padding: calc(140 var(--w-formulae)) 30px calc(80 var(--w-formulae)) 0;
  border-radius: 30px 0 0 30px;
  background-color: var(--color3);
  position: relative;

  & .inner {
    padding-left: calc(110 var(--w-formulae));
    overflow: hidden;
  }

  & .bg-illust {
    position: absolute;
    top: -150px;
    left: 497px;
    width: 609px;
    height: 936px;
    z-index: 0;
    transition: .3s ease;

    @media (width < 1400px) {
      left: auto;
      right: 44px;
    }
    @media (width < 1300px) {
      top: -100px;
      right: calc(44 / 1300 * 100vw);
      width: calc(540 / 1300 * 100vw);
      height: calc(933 / 1300 * 100vw);
      transition: .3s ease;
    }
  }

  &::after {
    content: '';
    display: block;
    width: calc(100% - 740px);
    height: 101px;
    background-image: linear-gradient(to right, transparent 70px, var(--color3) 70px), url(/recruit/newgraduates/shared/images/bg-orn-rb.svg);
    background-repeat:  no-repeat;
    background-position: left bottom;
    background-size: auto 100%;
    position: absolute;
    top: calc(100% - 1px);
    left: 741px;
    z-index: -1;

    @media (width < 1400px) {
      width: 410px;
      right: 0;
      left: auto;
    }
  }
}
@media (width < 1200px) {
  .lead-section .inner {
    padding-left: calc(65 / 1400 * 100vw)
  }
}

.lead-sec-ttl {
  display: flex;
  flex-direction: column-reverse;
  align-items: start;
  margin-bottom: calc(70 var(--w-formulae));
  padding-top: calc(35 var(--w-formulae));
  position: relative;
  z-index: +1;

  & .en {
    display: inline-block;
    height: calc(25 var(--w-formulae));
    padding: 0 1em;
    font-size: calc(16 var(--w-formulae));
    line-height: calc(23 var(--w-formulae));
    letter-spacing: .08em;
    border-radius: 100px;
    background-color: var(--car-color);
    color: #fff;
    margin-bottom: calc(15 var(--w-formulae));

    &::before {
      content: '';
      display: inline-block;
      width: calc(5 var(--w-formulae));
      height: calc(5 var(--w-formulae));
      border-radius: 50%;
      background-color: currentColor;
      vertical-align: middle;
      margin-right: calc(5 var(--w-formulae));
      transform: translateY(-30%);
    }
  }
  & .sec-ttl {
    font-size: calc(40 var(--w-formulae));
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: .12em;
    color: var(--car-color);
  }
}
.lead-txt {
  font-size: calc(18 var(--w-formulae));
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 2.3333333333333335;
  color: var(--car-color);
}







.program-area {
  margin-top: 99px;
  background-color: var(--color3);

  & .inner {
    display: block;
    width: calc(100% - 120px);
    border-radius: 0 30px 30px 0;
    background-color: #fff;
    padding: 0 0 calc(160 var(--w-formulae)) calc(110 var(--w-formulae));
  }
}
.program-area.last .inner {
  padding-bottom: 120px;
  border-bottom-right-radius: 0;
}

@media (width < 1200px) {
  .program-area .inner {
    padding-left: calc(65 / 1400 * 100vw);
  }
}

.info-sec-ttl {
  font-feature-settings: "palt";
  color: var(--car-color);
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: calc(60 var(--w-formulae));
  padding-top: calc(76 var(--w-formulae));

  & .en {
    font-size: calc(16 var(--w-formulae));
    letter-spacing: .08em;
    margin-bottom: calc(30 var(--w-formulae));

    &::before {
      content: '';
      display: inline-block;
      width: calc(5 var(--w-formulae));
      height: calc(5 var(--w-formulae));
      border-radius: 50%;
      background-color: currentColor;
      vertical-align: middle;
      margin-right: 10px;
      transform: translateY(-50%);
    }
  }
  & .sec-ttl {
    font-size: calc(40 var(--w-formulae));
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.2;
  }
}

.prog-list {
  display: block;
  width: 100%;
  max-width: calc(840 var(--w-formulae));
  margin-bottom: calc(80 var(--w-formulae));

  & li {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: calc(35 var(--w-formulae));
    margin-right: calc(30 var(--w-formulae));

    & + & {
      margin-top: calc(40 var(--w-formulae));
    }

    & .img-box {
      display: block;
      width: calc(280 var(--w-formulae));
      height: calc(200 var(--w-formulae));
      border-radius: 28px;
      overflow: hidden;

      @media (width < 1103px) {
        width: calc(280 / 1103 * 100vw);
      }
    }
  }

  & .txt {
    font-feature-settings: "palt";
    display: block;
    padding-top: .75em;

    & .prog-ttl {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      min-height: calc(40 var(--w-formulae));
      font-size: calc(18 var(--w-formulae));
      font-weight: 700;
      letter-spacing: .06em;
      line-height: 1.25;
      text-align: center;
      color: #fff;
      background-color: var(--car-color);
      border-radius: calc(10 var(--w-formulae));
    }

    & .prog-des {
      font-size: calc(14 var(--w-formulae));
      line-height: 2;
      margin-top: .75em;
      text-align: justify;
    }
  }
}
.others {
  font-feature-settings: "palt";
  display: block;
  width: 100%;
  max-width: calc(840 var(--w-formulae));

  & .ttl {
    font-size: calc(16 var(--w-formulae));
    font-weight: 500;
    letter-spacing: .08em;
    color: var(--car-color);
    margin-bottom: 2em;

    &::before {
      content: '';
      display: inline-block;
      width: calc(5 var(--w-formulae));
      height: calc(5 var(--w-formulae));
      border-radius: 50%;
      background-color: currentColor;
      vertical-align: middle;
      margin-right: 10px;
      transform: translateY(-25%);
    }
  }

  & .training + .training {
    margin-top: .85em;
  }
}

.training {
  display: flex;
  align-items: first baseline;
  column-gap: calc(12 var(--w-formulae));
  margin-right: calc(30 var(--w-formulae));

  & dt {
    display: inline-block;
    min-width: calc(303 var(--w-formulae));
    background-image: linear-gradient(90deg, #595757 2px, transparent 0);
    background-size: 7px 1px;
    background-repeat: repeat-x;
    background-position: left 0 top .7em;

    & span {
      display: inline;
      font-size: calc(16 var(--w-formulae));
      font-weight: 700;
      line-height: 1.25;
      letter-spacing: .06em;
      padding-right: .6em;
      background-color: #fff
    }
  }

  & dd {
    font-size: calc(14 var(--w-formulae));
    line-height: 1.8571428571428572;
    text-align: justify;
  }
}


.inter-sec-1  {
  margin-top: 115px;
  margin-right: -120px;

  & .mask {
    height: 400px;
    border-radius: 30px 0 0 0;
    -webkit-mask: url(/recruit/newgraduates/career/images/mask-1_pc.svg) no-repeat left center / auto 100%;
    mask: url(/recruit/newgraduates/career/images/mask-1_pc.svg) no-repeat left center / auto 100%;

    @media (width < 1400px) {
      height: calc(400 / 1400 * 100vw);
      border-top-left-radius: calc(30 / 1400 * 100vw);
    }

    & img {
      object-position: top;
    }
  }
}




.program-area-2 {
  display: block;
  width: 100%;
  padding: calc(94 var(--w-formulae)) 30px calc(120 var(--w-formulae)) calc(110 var(--w-formulae));
  border-radius: 30px 0 0 30px;
  background-color: var(--color3);
  position: relative;

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

  & .training dt span {
    background-color: var(--color3);
  }
}
@media (width < 1200px) {
  .facility-area {
    padding-left: calc(65 / 1400 * 100vw)
  }
}



.inter-sec-2  {
  width: calc(((100vw - 1800px) / 2) + (1800px * .82142857));
  margin-left: auto;
  background-color: #fff;
  overflow: hidden;

  @media (width < 1800px) {
    width: 82.142857%;
  }

  & .mask {
    height: 400px;
    border-radius: 0 0 0 30px;
    -webkit-mask: url(/recruit/newgraduates/career/images/mask-2_pc.svg) no-repeat left center / auto 100%;
    mask: url(/recruit/newgraduates/career/images/mask-2_pc.svg) no-repeat left center / auto 100%;
    @media (width < 1400px) {
      height: calc(400 / 1400 * 100vw);
      border-bottom-left-radius: calc(30 / 1400 * 100vw);
    }
  }
}



.more-contents-bttn-area {
  width: calc(((100vw - 1800px) / 2) + (1800px * .82142857));
  margin-top: calc(80 var(--w-formulae));
  margin-bottom: calc(190 var(--w-formulae));
  margin-left: auto;
  overflow: hidden;

  @media (width < 1800px) {
    width: 82.142857%;
  }
}

.more.contents-bttn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(180 var(--w-formulae));
  width: 100%;
  padding-right: calc(100% - calc(950 var(--w-formulae)));
  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: 18px 18px;
  border-radius: 30px 0 0 30px;
  overflow: hidden;
  position: relative;

  &::after {
    position: absolute;
    right: calc(100% - calc(1028 var(--w-formulae)));
    content: '';
    display: block;
    width: calc(38 var(--w-formulae));
    height: calc(38 var(--w-formulae));
    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(26 var(--w-formulae));
    font-weight: 700;
    font-feature-settings: "palt";
    letter-spacing: .08em;
    line-height: 1.3846153846153846;
    padding-left: calc(75 var(--w-formulae));
    text-indent: calc(-75 var(--w-formulae));

    &::before {
      content: '';
      display: inline-block;
      width: calc(60 var(--w-formulae));
      height: 1px;
      background-color: #fff;
      margin-right: calc(15 var(--w-formulae));
      vertical-align: middle;
    }
  }
}
@media (hover: hover) {
  .more.contents-bttn {
    transition: .3s ease;

    &::after {
      transition: background-color .3s ease
    }
    & .jp::before {
      transition: background-color .3s ease
    }
  }
  .more.contents-bttn:hover {
    color: var(--car-color);
    background-color: rgba(var(--car-rgb), .2);
    background-image: linear-gradient(rgba(255, 255, 255, .25) 1px, transparent 0), linear-gradient(90deg, rgba(255, 255, 255, .25) 1px, transparent 0);
  
    &::after {
      background-color: var(--car-color);
      background-image: url(/recruit/newgraduates/shared/images/bttn-popup_wht.svg);
    }
    & .jp::before {
      background-color: var(--car-color);
    }
  }
}

