@charset "utf-8";


.careerpath-wrap{
  background-color: #F0F6FC;
}
.careerpath-wrap:before{
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
}
@media print, screen and (min-width:781px) {
  .careerpath-wrap:before{
    background-image: url("../img/img_main.jpg");
    height: 400px;
  }
  .careerpath-inner{
    background-image: url("../img/bg_career.png");
    background-repeat: repeat-y;
    background-size: 100% auto;
    padding-top: 1px;
    padding-bottom: 104px;
  }
}
@media screen and (max-width: 780px) {
  .careerpath-wrap:before{
    background-image: url("../img/img_main_sp.jpg");
    height: 200px;
  }
  .careerpath-inner{
    background-image: url("../img/bg_career_sp.png");
    background-repeat: repeat-y;
    background-size: 100% auto;
    padding-top: 1px;
    padding-bottom: 70px;
  }
}

/* ------- CAREERPATH ---------------------------------------------- */
.careerpath-list{
  counter-reset: number 0;
}
.careerpath-sec{
  background-color: #FFF;
}
.careerpath-sec .ttl-wrap{
  cursor: pointer;
  position: relative;
}
.careerpath-sec .ttl-wrap .sub{
  background: #245AA5;
  background: linear-gradient(40deg, rgba(36, 90, 165, 1) 0%, rgba(28, 123, 255, 1) 100%);
  color: #FFF;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: italic;
  text-align: center;
}
.careerpath-sec .ttl-wrap .sub:after{
  counter-increment: number 1;
  content: counter(number);
}
.careerpath-sec .ttl-wrap .ttl{
  font-weight: 700;
}
.careerpath-sec .ttl-wrap .ttl h2{
  letter-spacing: .03em;
  line-height: 1.43;
}
.careerpath-sec .ttl-wrap .ttl p{
  line-height: 1.66;
}
.btn-careerpath{
  text-align: center;
}
.btn-careerpath:before{
  content: "More";
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: italic;
}
.careerpath-sec.active .btn-careerpath:before{
  content: "CLOSE";
}
.btn-careerpath > div,
.careerpath-sec .btn-close > div{
  background-color: #333333;
  border-radius: 50%;
  position: relative;
}
.btn-careerpath > div:before,
.btn-careerpath > div:after,
.careerpath-sec .btn-close > div:before,
.careerpath-sec .btn-close > div:after{
  background-color: #FFF;
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transition: .3s;
}
.btn-careerpath > div:before{
  transform: translate(-50%,-50%);
}
.careerpath-sec.active .btn-careerpath > div:before,
.careerpath-sec .btn-close > div:before{
  transform: translate(-50%,-50%) rotate(45deg);
}
.btn-careerpath > div:after{
  transform: translate(-50%,-50%) rotate(-90deg);
}
.careerpath-sec.active .btn-careerpath > div:after,
.careerpath-sec .btn-close > div:after{
  transform: translate(-50%,-50%) rotate(-45deg);
}
.careerpath-sec .btn-close{
  cursor: pointer;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: italic;
}


.careerpath-profile .profile dt{
  border-bottom: 1px solid #707070;
  line-height: 1.7;
}
.careerpath-profile .profile dt > div{
  display: flex;
  align-items: center;
}
.careerpath-profile .profile dt .when{
  white-space: nowrap;
}
.careerpath-profile .profile dt .when strong{
  background-image: linear-gradient(transparent 70%, rgba(28,119,243,.60) 70%);
  padding: 0 10px;
}
.careerpath-profile .profile dt .branch{
  color: #666666;
  white-space: nowrap;
}
.careerpath-profile .profile dd{
  position: relative;
}
.careerpath-profile .profile dd:before,
.careerpath-profile .profile dd:after{
  content: "";
  display: block;
}
.careerpath-profile .profile:last-child dd:before,
.careerpath-profile .profile:last-child dd:after{
  display: none;
}
.careerpath-profile .profile dd:before{
  background-color: #707070;
  width: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
}
.careerpath-profile .profile dd:after{
  background-image: url("../img/bg_arrow.svg");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  bottom: 0;
}

.column-sec{
  background-color: #F0F6FC;
  position: relative;
}
.column-sec:before,
.column-sec:after{
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  position: absolute;
}
.column-sec:before{
  background-image: url("../img/img_column1.svg");
}
.column-sec:after{
  background-image: url("../img/img_column2.svg");
}
.column-sec .ttl{
  text-align: center;
}
.column-sec .ttl p{
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: italic;
  text-decoration: underline;
  transform: rotate(-5deg);
  line-height: 1;
}
.column-sec .ttl h3{
  font-weight: 700;
  letter-spacing: .03em;
}
@media print, screen and (min-width:781px) {
  .careerpath-list{
    margin-top: -75px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1088px;
    width: 90%;
  }
  .careerpath-sec{
    margin-left: 40px;
  }
  .careerpath-sec:nth-child(n + 2){
    margin-top: 40px;
  }
  .careerpath-sec .ttl-wrap{
    display: flex;
    align-items: center;
    padding: 35px 35px 35px 188px;
  }
  .careerpath-sec .ttl-wrap .sub{
    align-self: flex-start;
    padding: 25px;
    position: absolute;
    left: -40px;
    top: 0;
  }
  .careerpath-sec .ttl-wrap .sub:after{
    margin-left: 5px;
  }
  .careerpath-sec .ttl-wrap .ttl{
    margin-right: auto;
  }
  .careerpath-sec .ttl-wrap .ttl h2{
    font-size: 2.8rem;
  }
  .careerpath-sec .ttl-wrap .ttl p{
    font-size: 1.8rem;
  }
  .careerpath-sec .ttl-wrap .image{
    margin-right: 22px;
    width: 80px;
  }
  .btn-careerpath{
    margin-right: 0;
    margin-left: 20px;
    width: 105px;
  }
  .btn-careerpath,
  .careerpath-sec .btn-close{
    display: flex;
    align-items: center;
  }
  .btn-careerpath:before{
    font-size: 1.2rem;
    width: 40px;
  }
  .btn-careerpath > div,
  .careerpath-sec .btn-close > div{
    margin-left: 12px;
    height: 50px;
    width: 50px;
  }
  .btn-careerpath > div:before,
  .btn-careerpath > div:after,
  .careerpath-sec .btn-close > div:before,
  .careerpath-sec .btn-close > div:after{
    height: 2px;
    width: 12px;
  }
  .careerpath-sec .btn-close{
    justify-content: center;
    margin-top: 50px;
  }
  
  
  .careerpath-detail{
    padding: 0 75px 50px 192px;
  }
  
  
  .careerpath-profile .profile{
    
  }
  .careerpath-profile .profile dt{
    font-size: 2.0rem;
    display: flex;
    padding-bottom: 25px;
    padding: 25px 0;
  }
  .careerpath-profile .profile dt > div{
    padding-left: 20px;
    padding-right: 20px;
  }
  .careerpath-profile .profile dt > div:not(:last-child){
    border-right: 1px solid #707070;
  }
  .careerpath-profile .profile dt .branch{
    font-size: 1.4rem;
  }
  .careerpath-profile .profile dd{
    padding-left: 120px;
    padding-bottom: 45px;
    padding-top: 30px;
  }
  .careerpath-profile .profile dd:before{
    left: 58px;
  }
  .careerpath-profile .profile dd:after{
    height: 12px;
    width: 15px;
    left: 51px;
  }
  
  
  .column-sec{
    border-radius: 264px;
    padding: 1px 145px 90px;
    margin-top: 120px;
  }
  .column-sec:before{
    height: 103px;
    width: 80px;
    left: 98px;
    top: -46px;
  }
  .column-sec:after{
    height: 77px;
    width: 77px;
    right: 40px;
    bottom: 0;
  }
  .column-sec .ttl{
    margin-top: -30px;
  }
  .column-sec .ttl > p{
    font-size: 6.5rem;
  }
  .column-sec .ttl > h3{
    font-size: 2.6rem;
    margin-top: 40px;
  }
  .column-sec .column-wrap > p{
    font-size: 1.4rem;
    margin-top: 20px;
  }
}
@media screen and (max-width: 780px) {
  .careerpath-list{
    margin-top: -52px;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  .careerpath-sec:nth-child(n + 2){
    margin-top: 20px;
  }
  .careerpath-sec .ttl-wrap{
    display: flex;
    align-items: center;
    padding: 25px 5% 10px 5%;
  }
  .careerpath-sec .ttl-wrap .sub{
    font-size: 1.0rem;
    line-height: 1.3;
    align-self: flex-start;
    padding: 15px;
    text-align: center;
    position: absolute;
    left: 0;
    top: 0;
  }
  .careerpath-sec .ttl-wrap .sub:after{
    margin-left: 5px;
  }
  .careerpath-sec .ttl-wrap .ttl{
    margin-right: auto;
    padding-bottom: 15px;
  }
  .careerpath-sec .ttl-wrap .ttl h2{
    font-size: 1.5rem;
  }
  .careerpath-sec .ttl-wrap .ttl p{
    font-size: 1.2rem;
  }
  .careerpath-sec .ttl-wrap .image{
    flex-grow:1;
    align-self: flex-end;
    margin-right: 5%;
    margin-top: 10%;
    width: 40px;
    min-width: 40px;
    max-width: 40px;
  }
  .btn-careerpath{
    margin-right: 0;
    margin-left: 5%;
    width: 35px;
  }
  .btn-careerpath{
    display: flex;
    flex-direction: column-reverse;
    text-align: center;
  }
  .btn-careerpath:before{
    font-size: 1.2rem;
  }
  .btn-careerpath > div,
  .careerpath-sec .btn-close > div{
    height: 35px;
    width: 35px;
  }
  .btn-careerpath > div:before,
  .btn-careerpath > div:after,
  .careerpath-sec .btn-close > div:before,
  .careerpath-sec .btn-close > div:after{
    height: 2px;
    width: 12px;
  }
  .careerpath-sec .btn-close{
    font-size: 1.0rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
  }
  .careerpath-sec .btn-close > div{
    margin-left: 7px;
  }
  
  
  
  .careerpath-detail{
    padding: 0 5% 50px;
  }
  
  
  .careerpath-profile .profile dt{
    padding-bottom: 25px;
    padding: 25px 0;
  }
  .careerpath-profile .profile dt .when{
    font-size: 1.5rem;
  }
  .careerpath-profile .profile dt .branch{
    font-size: 1.2rem;
    margin-top: 10px;
    padding-left: 5%;
    padding-right: 5%;
  }
  .careerpath-profile .profile dt .assignment{
    font-size: 1.8rem;
     padding-left: 5%;
    padding-right: 5%;
  }
  .careerpath-profile .profile dd{
    padding-left: 10%;
    padding-bottom: 45px;
    padding-top: 20px;
  }
  .careerpath-profile .profile dd:before{
    left: 5%;
  }
  .careerpath-profile .profile dd:after{
    height: 6px;
    width: 7px;
    left: calc(5% - 3px);
  }
  
  
  .column-sec{
    border-radius: 132px;
    padding: 1px 10% 65px;
    margin-top: 50px;
  }
  .column-sec:before{
    height: 52px;
    width: 40px;
    left: 49px;
    top: -23px;
  }
  .column-sec:after{
    height: 38px;
    width: 38px;
    right: 20px;
    bottom: 0;
  }
  .column-sec .ttl{
    margin-top: -30px;
  }
  .column-sec .ttl > p{
    font-size: 4.0rem;
  }
  .column-sec .ttl > h3{
    font-size: 1.9rem;
    margin-top: 20px;
  }
  .column-sec .column-wrap > p{
    font-size: 1.3rem;
    margin-top: 20px;
  }
}





/* ------- EVALUATION ---------------------------------------------- */
@media print, screen and (min-width:781px) {
}
@media screen and (max-width: 780px) {
}

