@charset "utf-8";
:root {
  --vw: 1vw;
  --media_sp: 750;
  --media_pc: 1680;
}
html, body {
  width: 100%;
  font-family: "I-OTFゴシックオールドPro M";
}
.img{font-size:0;}
.pc{display:block;}
.sp {display: none;}

#container{
  width:100%;
  min-width:998px;
  position: relative;
}
.head {
  position: absolute;
  top:40px;
  left:40px;
  box-sizing: border-box;
  width: 180px;
  z-index: 99999;
}
.head .head_logo {
  width: 100%;
}
#contents {
  position: relative;
  margin:0 auto;
}
img {
  max-width: 100%;
}


@media all and (max-width: 750px) {
  .pc{display:none;}
  .sp {display: block;}
  #container{
    min-width:inherit;
  }
  .head {
    top: 5.333vw;
    left: 5.333vw;
    width: 30.667%;
  }
  img {
    max-width: auto;
  }
}

.section{
  width:100%;
}
.section:nth-child(2n+1){
  background-color:#f2f3f3;
}
.secblk{
  max-width: 998px;
  padding:0 50px;
  box-sizing: border-box;
  margin:0 auto;
}
.main{
  text-align: center;
  padding:106px 0 112px;
  overflow: hidden;
}
h1{
  font-size:115.31px;
  font-family: "I-OTFゴシックオールドPro B";
  line-height:1.189;
  letter-spacing: 0;
  margin-bottom:17px;
}
h1 .mid{
  font-family: "I-OTFゴシックオールドPro M"
}
h1 .over{
  font-size:37.81px;
  display:block;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
}
h1 .over::before,
h1 .over::after{
  content:'';
  display:inline-block;
  width:21px;
  height:35px;
  background-image: url("../img/ttl_l.png");
  background-repeat: no-repeat;
  background-size: contain;
  margin:0 15px;
  position: relative;
  bottom:-2px;
}
h1 .over::after{
  background-image: url("../img/ttl_r.png");
}
.main_wrap > .img{
  width:272px;
  margin-left:-6px;
  float:left;
  position: relative;
}
.main_wrap > .img::after{
  content:'';
  display:block;
  width:100%;
  height:0;
  padding-bottom:45.588%;
  background-image: url("../img/main_img_after.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top:100%;
  left:0;
  z-index: 0;
}
.main_wrap .txt_wrap{
  width:618px;
  padding-left:280px;
  padding-top:14px;
}
.main_wrap .txt_wrap .txt{
  font-size:22.15px;
  line-height: 1.747;
  margin-bottom:27px;
  font-family: "I-OTFゴシックオールドPro D";
}
.main_wrap .txt_wrap .img{
  width:334px;
  margin:0 auto 33px;
}
.main_wrap .point_wrap{
  width:600px;
  margin:0 auto 25px;
  display:flex;
  justify-content: space-between;
  align-items: center;
}
.main_wrap .point_wrap .point{
  width:190px;
  height:190px;
  color:#fff;
  background-color:#ff6101;
  box-sizing:border-box;
  border-radius: 100px;
  font-size:27.67px;
  font-family: "I-OTFゴシックオールドPro B";
  padding: 40px 0;
  line-height: 1.321;
}
.main_wrap .point_wrap .point.ls{
  letter-spacing: -0.02em;
}
.main_wrap .point_wrap .point sup{
  font-size:40%;
  position: relative;
  top:-3px;
  margin-right: -12px;
}
.main_wrap .cap{
  font-size:15px;
  line-height:1;
}

@media all and (max-width: 750px) {
  .secblk{
    width:100%;
    max-width: inherit;
    padding:0 8%;
  }
  .main{
    padding:calc(165 / var(--media_sp) * 100vw) 0 calc(110 / var(--media_sp) * 100vw);
  }
  h1{
    font-size: calc(85.06 / var(--media_sp) * 100vw);
    line-height:1.19;
    margin-bottom: calc(35 / var(--media_sp) * 100vw);
    letter-spacing: -0.02em;
  }
  h1 .over{
    font-size: calc(30.8 / var(--media_sp) * 100vw);
    margin-bottom: calc(25 / var(--media_sp) * 100vw);
  }
  h1 .over::before,
  h1 .over::after{
    width: calc(18 / var(--media_sp) * 100vw);
    height: calc(29 / var(--media_sp) * 100vw);
    margin:0 calc(15 / var(--media_sp) * 100vw);
    bottom: calc(-2 / var(--media_sp) * 100vw);
  }
  h1 .over::after{
    background-image: url("../img/ttl_r.png");
  }
  h1 .nw{
    white-space: nowrap;
    letter-spacing: -0.06em;
  }
  .main_wrap > .img{
    width:37.937%;
    margin-left:-2.222%;
  }
  .main_wrap .txt_wrap{
    width:100%;
    padding-left:39.683%;
    padding-top: calc(10 / var(--media_sp) * 100vw);
    text-align: left;
    box-sizing: border-box;
  }
  .main_wrap .txt_wrap .txt{
    font-size: calc(27.88 / var(--media_sp) * 100vw);
    margin-bottom: calc(22 / var(--media_sp) * 100vw);
  }
  .main_wrap .txt_wrap .txt .ls{
    letter-spacing: -0.03em;
    white-space: nowrap;
  }
  .main_wrap .txt_wrap .img{
    width:77.632%;
    margin:0 auto 0 0;
  }
  .main_wrap .point_wrap{
    width:100%;
    margin:calc(45 / var(--media_sp) * 100vw) auto calc(40 / var(--media_sp) * 100vw);
    z-index: 1;
    position: relative;
  }
  .main_wrap .point_wrap .point{
    /*width: 31.587%;
    height: 31.587%;*/
    width: calc(199 / var(--media_sp) * 100vw);
    height: calc(199 / var(--media_sp) * 100vw);
    border-radius: 50%;
    font-size: calc(29.02 / var(--media_sp) * 100vw);
    padding: calc(45 / var(--media_sp) * 100vw) 0;
  }
  .main_wrap .point_wrap .point.ls{
    letter-spacing: -0.04em;
  }
  .main_wrap .point_wrap .point sup{
    top: calc(-3 / var(--media_sp) * 100vw);
    margin-right: calc(-12 / var(--media_sp) * 100vw);
  }
  .main_wrap .cap{
    font-size: calc(22 / var(--media_sp) * 100vw);
  }
}

.course{
  padding:108px 0 110px;
}
.course .secblk{
  display:flex;
  justify-content: space-between;
  align-items: center;
}
.course .secblk .txt_wrap{
  width:449px;
}
h2{
  font-size:42px;
  line-height: 1;
  color:#ff6101;
  margin-bottom:5px;
}
.course .price{
  font-size:21px;
  margin-bottom:14px;
  font-family: "I-OTFゴシックオールドPro D";
}
.course .price strong{
  font-size:65px;
  font-weight: normal;
  position: relative;
  bottom:-2px;
  letter-spacing: 0;
}
.course .price strong span{
  font-size:30px;
  position: relative;
  bottom:2px;
}
.course .ttl{
  font-size:24px;
  line-height: 1.5;
  margin-bottom:6px;
  font-family: "I-OTFゴシックオールドPro D";
}
.course .txt{
  font-size:17px;
  line-height: 1.588;
  margin-bottom:11px;
  text-align: justify;
}
.course .txt strong{
  font-weight: normal;
  display:block;
  color:#ff6101;
}
.course .txt span{
  letter-spacing: 0.125em;
}
.course .supp{
  font-size:17px;
  line-height: 1.471;
  letter-spacing: 0.06em;
}
.course .supp span{
  display:block;
  padding-left: 6.1em;
  text-indent: -6.1em;
}
.course .supp span span{
  color:#666464;
  display:inline-block;
  padding-left: 0;
  text-indent: 0;
}
.course .secblk .img_wrap{
  width:400px;
}
.course .secblk .img_wrap .img{
  width:400px;
}
.course .secblk .img_wrap .img + .img{
  width:127px;
  margin:30px auto 0;
}
.course.sec03 .secblk .img_wrap .img + .img{
  width:140px;
}

@media all and (max-width: 750px) {
  .course{
    padding: calc(105 / var(--media_sp) * 100vw) 0 calc(113 / var(--media_sp) * 100vw);
  }
  .course .secblk{
    display:block;
  }
  .course .secblk .txt_wrap{
    width:100%;
    margin-bottom: calc(50 / var(--media_sp) * 100vw);
  }
  h2{
    font-size: calc(64 / var(--media_sp) * 100vw);
    margin-bottom: calc(15 / var(--media_sp) * 100vw);
  }
  .course .price{
    font-size: calc(32 / var(--media_sp) * 100vw);
    margin-bottom: calc(21 / var(--media_sp) * 100vw);
  }
  .course .price strong{
    font-size: calc(100 / var(--media_sp) * 100vw);
    bottom: calc(-2 / var(--media_sp) * 100vw);
  }
  .course .price strong span{
    font-size: calc(45.98 / var(--media_sp) * 100vw);
    bottom: calc(2 / var(--media_sp) * 100vw);
  }
  .course .ttl{
    font-size: calc(38 / var(--media_sp) * 100vw);
    line-height: 1.474;
    margin-bottom: calc(20 / var(--media_sp) * 100vw);
  }
  .course .txt{
    font-size: calc(26 / var(--media_sp) * 100vw);
    line-height: 1.615;
    margin-bottom: calc(5 / var(--media_sp) * 100vw);
  }
  .course .txt span{
    letter-spacing: 0.02em;
  }
  .course .supp{
    font-size: calc(26 / var(--media_sp) * 100vw);
    line-height: 1.615;
    letter-spacing: 0.02em;
  }
  .course .supp span{
    padding-left: 5.8em;
    text-indent: -5.8em;
  }
  .course .supp span span{
    padding-left: 0;
    text-indent: 0;
  }
  .course .secblk .img_wrap{
    width:100%;
  }
  .course .secblk .img_wrap .img{
    width:100%;
  }
  .course .secblk .img_wrap .img + .img{
    width:31.429%;
    margin: calc(47 / var(--media_sp) * 100vw) auto 0;
  }
  .course.sec03 .secblk .img_wrap .img + .img{
    width:34.762%;
  }
}

.sec02{
  padding:107px 0 110px;
}
.sec02 .txt{
  text-align: center;
  font-size:21px;
  line-height: 1.524;
  margin-bottom:63px;
  letter-spacing: 0.05em;
}
.adv_wrap{
  width:898px;
  display:flex;
  justify-content: space-between;
  align-items: flex-start;
}
.adv_wrap .advblk{
  width:430px;
}
.adv_wrap .advblk .img{
  position: relative;
}
.adv_wrap .advblk .img .ttl{
  width:100%;
  position: absolute;
  top:32px;
  left:50%;
  transform: translate(-50%,0);
  font-size:22px;
  font-family: "I-OTFゴシックオールドPro D";
  color:#ff6101;
  text-align: center;
  letter-spacing: 0.05em;
}
.a_txt{
  font-size:18px;
  line-height:1.5;
  margin-top:12px;
  letter-spacing: 0.01em;
}
.a_txt a{
  color:#ff6101;
  display: inline-block;
  border-bottom: 1px solid #ff6101;
  line-height: 1;
  opacity:1;
  transition-duration: .3s;
  box-sizing: border-box;
  padding-right: 8px;
}
.a_txt a:hover{
  opacity:.7;
  transition-duration: .3s;
}
.a_txt a span{
  position: relative;
  display: inline-block;
  padding: 7px;
}
.a_txt a span::before {
  content: '';
  width: 7px;
  height: 7px;
  border-top: solid 2px #ff6101;
  border-right: solid 2px #ff6101;
  position: absolute;
  left: 4px;
  top: 3px;
  transform: rotate(45deg);
}
.remarks_wrap{
  width:898px;
  box-sizing:border-box;
  border:1px solid #aaa;
  padding:15px 20px;
  margin-top:37px;
}
.remarks_wrap p{
  font-size:15px;
  line-height:1.667;
}


@media all and (max-width: 750px) {
  .sec02{
    padding:calc(108 / var(--media_sp) * 100vw) 0 calc(110 / var(--media_sp) * 100vw);
  }
  .sec02 .txt{
    font-size: calc(28 / var(--media_sp) * 100vw);
    line-height: 1.643;
    margin-bottom: calc(55 / var(--media_sp) * 100vw);
    letter-spacing: 0.02em;
  }
  .adv_wrap{
    width:100%;
    display:block;
  }
  .adv_wrap .advblk{
    width:100%;
  }
  .adv_wrap .advblk:nth-child(n+2){
    margin-top: calc(60 / var(--media_sp) * 100vw);
  }
  .adv_wrap .advblk .img .ttl{
    top: 8.148%;
    font-size: calc(36 / var(--media_sp) * 100vw);
    letter-spacing: 0.02em;
  }
  .a_txt{
    font-size: calc(26 / var(--media_sp) * 100vw);
    line-height:1.615;
    margin-top: calc(24 / var(--media_sp) * 100vw);
    letter-spacing: 0;
  }
  .a_txt a{
    padding-right: calc(8 / var(--media_sp) * 100vw);
  }
  .a_txt a span{
    padding: 6px;
  }
  .a_txt a span::before {
    content: '';
    width: 6px;
    height: 6px;
    border-top: solid 0.267vw #ff6101;
    border-right: solid 0.267vw #ff6101;
    left: calc(6 / var(--media_sp) * 100vw);
    top: calc(6.5 / var(--media_sp) * 100vw);
  }
  .remarks_wrap{
    width:100%;
    padding: calc(30 / var(--media_sp) * 100vw);
    margin-top: calc(50 / var(--media_sp) * 100vw);
  }
  .remarks_wrap p{
    font-size: calc(22 / var(--media_sp) * 100vw);
    line-height:1.545;
    letter-spacing: 0;
  }
  .remarks_wrap p .spacer{
    width:1px;
    height: calc(22 / var(--media_sp) * 100vw);
    display:block;
  }
}

.caption{
  padding:35px 0;
}
.caption p{
  font-size:15px;
  color:#221815;
  line-height:1.667;
  letter-spacing: 0.02em;
  text-indent: -1.3em;
  padding-left: 1.3em;
}
.caption span{
  color:#666464;
}

@media all and (max-width: 750px) {
  .caption{
    padding: calc(55 / var(--media_sp) * 100vw) 0;
  }
  .caption p{
    font-size: calc(20 / var(--media_sp) * 100vw);
    line-height:1.7;
    text-indent: -1.35em;
    padding-left: 1.35em;
  }
}

/* footer */
footer {
	background-color: #fff;
  max-width: 998px;
  margin: 0 auto;
  padding: 50px;
  box-sizing: border-box;
}
footer .wrap {
  max-width: 898px;
  margin: 0 auto;
}
footer .foot_tel {
  float: right;
  width: 226px;
	font-family: "FOT-筑紫明朝 Pr6 L";
  font-size: 14px;
	line-height: 1.6;
}
footer .foot_tel img {
	display: inline-block;
	margin-bottom: 10px;
}
footer .foot_tel .cap {
	display: inline-block;
  font-size: 12px;
}
footer .foot_logo {
  float: left;
}
footer .foot_logo .logo {
  display: block;
  width: 327px;
  margin-bottom: 12px;
}
footer .foot_logo a,
footer .foot_logo span {
  display: inline-block;
	font-family: "FOT-筑紫明朝 Pr6 L";
  font-size: 12px;
}
footer .foot_logo span.boder {
  margin: 0 10px;
}
footer .foot_logo span.copyright {
  display: block;
	margin-top: 10px;
}
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

@media screen and (max-width:750px) {
  footer {
      max-width: inherit;
      padding: 10.067% 0;
    }
    footer .wrap {
      width: 84%;
    }
    footer .foot_tel {
      float: none;
      width: 100%;
      margin-bottom: 6.667%;
      font-size: 2.933vw;
    }
    footer .foot_tel img {
      display: block;
      width: 54.746%;
      margin-bottom: 3.681%;
    }
    footer .foot_tel .cap {
      font-size: 2.933vw;
    }
    footer .foot_logo {
      float: none;
      width: 100%;
    }
    footer .foot_logo .logo {
      width: 64.746%;
      margin-bottom: 2.181%;
    }
    footer .foot_logo a,
    footer .foot_logo span {
      font-size: 2.933vw;
    }
    footer .foot_logo span.boder {
      margin: 0 2.067%;
    }
    footer .foot_logo span.copyright {
      margin-top: 2.181%;
    }
}
