.ttl {
  font-size: 6vw;
  line-height: 1.2;
  letter-spacing: 0.18em;
}
.ttl span {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.5);
}
@media only screen and (min-width: 768px) {
  .ttl {
    font-size: 28px;
    line-height: 22px;
  }
  .ttl span {
    font-size: 13px;
  }
}

#sec1 {
  background: url("../img/index/sec1_bg.jpg") top center/cover;
  padding: 6vw 0px 12vw;
}
#sec1 h2 {
  height: 80vw;
  letter-spacing: 0.18em;
  font-size: 6vw;
  margin: 10vw auto;
}
#sec1 .sec1-txt {
  margin: 4vw 0px;
}
@media only screen and (min-width: 768px) {
  #sec1 {
    padding: 98px 0px;
  }
  #sec1 h2 {
    height: 370px;
    font-size: 28px;
    margin: 0 auto;
    line-height: 48px;
  }
  #sec1 .sec1-txt {
    text-align: center;
    margin: 12px 0px 0px;
  }
}

#sec2 {
  padding: 6vw 0px 20vw;
}
#sec2 .sec2-row {
  position: relative;
  margin: 0px 1%;
  padding: 4vw 0px;
}
#sec2 .sec2-row::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 50%;
  width: 1px;
  height: 100%;
  transform: translateX(-50%);
  background: #434848;
}
#sec2 .sec2-row .sec2-box {
  text-align: center;
  width: 46%;
  align-self: center;
}
#sec2 .sec2-row .sec2-box h2 {
  font-size: 6vw;
  line-height: 1.2;
  margin: 0px 0px 2vw;
}
#sec2 .sec2-row .sec2-box h2 span {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
}
#sec2 .sec2-row .sec2-box .sec2-txt1 {
  color: rgba(255, 255, 255, 0.5);
}

#sec2 .sec2-txt1 {
  line-height: 1.5em;
	margin-top: 10px;
}

#sec2 .sec2-row ul {
  width: 46%;
}
@media only screen and (min-width: 768px) {
  #sec2 {
    padding: 31px 0px 181px;
  }
  #sec2 .sec2-row {
    margin: 0px 261px;
    padding: 29px 0px 41px;
  }
  #sec2 .sec2-row .sec2-box {
    width: 280px;
  }
  #sec2 .sec2-row .sec2-box h2 {
    font-size: 28px;
    line-height: 21px;
    margin: -22px 0px 12px;
  }
  #sec2 .sec2-row .sec2-box h2 span {
    font-size: 13px;
  }
  #sec2 .sec2-row ul {
    width: 200px;
  }
  #sec2 .sec2-row ul li {
    line-height: 35px;
  }
}

#sec3 {
  background: url("../img/index/sec3_bg_sp.jpg") top center/cover;
  padding: 36vw 0px 18vw;
}
#sec3 h2 {
  font-size: 6vw;
  height: 62vw;
  position: relative;
  letter-spacing: 0.16em;
  margin: 0px auto;
  line-height: 1.6;
}
#sec3 h2::before,
#sec3 h2::after {
  content: "";
  position: absolute;
  top: -28vw;
  left: 42%;
  width: 1px;
  height: 22vw;
  background: #fff;
}
#sec3 h2::after {
  left: 52%;
  top: -44vw;
  height: 33vw;
}
@media only screen and (min-width: 768px) {
  #sec3 {
    padding: 172px 0px 80px;
  }
  #sec3 h2 {
    font-size: 28px;
    height: 290px;
    line-height: 48px;
  }
  #sec3 h2::before {
    left: 45px;
    height: 100px;
    top: -120px;
  }
  #sec3 h2::after {
    height: 170px;
    top: -200px;
    left: 52px;
  }
}

#sec4 {
  padding: 20vw 0px 12vw;
}
#sec4 .sec4-txt1 {
  margin: 4vw 0px 10vw;
}
#sec4 .sec4-row1 {
  position: relative;
  z-index: 1;
}
#sec4 .sec4-row1::before {
  content: "";
  position: absolute;
  top: 14vw;
  left: 10%;
  width: 71%;
  height: 34vw;
  border: 1px solid #656969;
  z-index: -1;
}
#sec4 .sec4-row1 .sec4-txt2 {
  position: absolute;
  top: 5vw;
  left: 8%;
  width: 45%;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
}
#sec4 .sec4-row1 .sec4-img2 {
  width: 45%;
  margin: 0px 2% 0px auto;
}
#sec4 .sec4-row1 .sec4-img1 {
  width: 75%;
  margin: 6vw 0px 0px;
}
#sec4 .sec4-row2 {
  margin: 12vw 0px 0px;
  position: relative;
}
#sec4 .sec4-row2::before {
  content: "";
  position: absolute;
  top: 32vw;
  left: 20%;
  width: 60%;
  height: 48vw;
  border: 1px solid #656969;
  z-index: -1;
}
#sec4 .sec4-row2 .sec4-img3 {
  width: 70%;
  margin: 0px 2% 0px auto;
}
#sec4 .sec4-row2 .sec4-img4 {
  width: 50%;
  margin: 16vw 0px 0px;
}
#sec4 .sec4-row2 .sec4-txt3,
#sec4 .sec4-row2 .sec4-txt4 {
  color: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 85vw;
  left: 52%;
  text-align: center;
  width: 50%;
}
#sec4 .sec4-row2 .sec4-txt4 {
  top: 56vw;
  left: 14%;
}
@media only screen and (min-width: 768px) {
  #sec4 {
    padding: 215px 0px 120px;
  }
  #sec4 .sec4-txt1 {
    height: 320px;
    position: absolute;
    top: 98px;
    left: -13px;
    margin: 0px;
  }
  #sec4 .sec4-row1 {
    width: 850px;
    margin: 0px 0px 0px auto;
    flex-direction: row-reverse;
  }
  #sec4 .sec4-row1::before {
    width: 419px;
    height: 350px;
    top: 75px;
    left: 266px;
  }
  #sec4 .sec4-row1 .sec4-txt2 {
    width: 170px;
    font-size: 14px;
    top: 424px;
    left: auto;
    right: 145px;
  }
  #sec4 .sec4-row1 .sec4-img1 {
    width: 474px;
    margin: 114px 0px 0px;
  }
  #sec4 .sec4-row1 .sec4-img2 {
    width: 344px;
    margin: 0px;
  }
  #sec4 .sec4-row2 {
    margin: 56px 0px 0px auto;
    flex-direction: row-reverse;
    width: 966px;
  }
  #sec4 .sec4-row2::before {
    width: 360px;
    height: 300px;
    top: 150px;
    left: 290px;
  }
  #sec4 .sec4-row2 .sec4-img3 {
    width: 491px;
    margin: 0px;
  }
  #sec4 .sec4-row2 .sec4-img4 {
    width: 440px;
    margin: 232px 0px 0px;
  }
  #sec4 .sec4-row2 .sec4-txt3,
  #sec4 .sec4-row2 .sec4-txt4 {
    width: 220px;
    font-size: 14px;
    left: 75px;
    top: 186px;
  }
  #sec4 .sec4-row2 .sec4-txt4 {
    left: auto;
    right: 144px;
    top: 418px;
  }
}

#sec5 {
  padding: 6vw 0px 20vw;
}
#sec5 .sec5-txt1 {
  margin: 4vw 0px 10vw;
}
#sec5 .sec5-row1 {
  position: relative;
  z-index: 1;
}
#sec5 .sec5-row1::before {
  content: "";
  position: absolute;
  top: 35vw;
  left: 20%;
  width: 60%;
  height: 48vw;
  border: 1px solid #656969;
  z-index: -1;
}
#sec5 .sec5-row1 .sec5-img1 {
  width: 75%;
}
#sec5 .sec5-row1 .sec5-img2 {
  width: 40%;
  margin: 6vw 2% 0px auto;
}
#sec5 .sec5-row2 {
  position: relative;
  z-index: 1;
  margin: 8vw 0px 0px;
}
#sec5 .sec5-row2::before {
  content: "";
  position: absolute;
  top: 32vw;
  left: 4%;
  width: 72%;
  height: 52vw;
  border: 1px solid #656969;
  z-index: -1;
}
#sec5 .sec5-row2 .sec5-img3 {
  width: 70%;
}
#sec5 .sec5-row2 .sec5-img4 {
  width: 90%;
  margin: 6vw 2% 0px auto;
}
@media only screen and (min-width: 768px) {
  #sec5 {
    padding: 88px 0px 190px;
  }
  #sec5 h2 {
    width: 240px;
    margin: 0px -14px 0px auto;
  }
  #sec5 .sec5-txt1 {
    height: 400px;
    position: absolute;
    top: 99px;
    right: -14px;
    margin: 0px;
  }
  #sec5 .sec5-row1::before {
    width: 420px;
    height: 343px;
    top: 213px;
    left: 423px;
  }
  #sec5 .sec5-row1 .sec5-img1 {
    width: 600px;
    margin: 3px 0px 0px 86px;
  }
  #sec5 .sec5-row1 .sec5-img2 {
    width: 368px;
    margin: 79px 0px 0px auto;
  }
  #sec5 .sec5-row2 {
    margin: 0px;
  }
  #sec5 .sec5-row2::before {
    width: 337px;
    height: 360px;
    top: 334px;
    left: 173px;
  }
  #sec5 .sec5-row2 .sec5-img3 {
    width: 530px;
    margin: -316px 0px 0px 32px;
  }
  #sec5 .sec5-row2 .sec5-img4 {
    width: 725px;
    margin: 68px -10px 0px auto;
  }
} 



.sec2-box .course-info {
  margin-top: 24px;
  margin-bottom: 16px;
}
.sec2-box .course-name {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 6px;
}
.sec2-box .course-price {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .sec2-box .course-info {
    margin-top: 16px;
    margin-bottom: 12px;
  }
  .sec2-box .course-name {
    font-size: 16px;
  }
  .sec2-box .course-price {
    font-size: 14px;
  }
}

.mt20{
	margin-top: 20px;
}

/*# sourceMappingURL=index.css.map */
