@charset "UTF-8";
@media screen and (max-width: 767px) {
  .txt:not(.except) br:not(.except):not(.sp) {
    display: none;
  }
}
#sec1 {
  padding-top: 10vw;
  position: relative;
}
#sec1::before {
  content: "";
  width: 100%;
  height: 100vw;
  background: url("../img/course/sec1_deco1_sp.png") 0 0/100% no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#sec1::after {
  content: "";
  width: 100%;
  height: 150vw;
  background: url("../img/course/sec1_deco2_sp.png") left bottom/100% no-repeat;
  position: absolute;
  top: 42vw;
  left: 0;
  z-index: -1;
}
#sec1 h2.ttl {
  width: 40vw;
  margin: 0 5vw 0 auto;
  position: relative;
  z-index: 1;
}
#sec1 .set1 .gr2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: -47vw 0 0 -5vw;
}
#sec1 .set1 .gr2 .img1, #sec1 .set1 .gr2 .img2 {
  width: 49%;
}
#sec1 .set1 .gr2 .img2 {
  margin-top: 20vw;
}
#sec1 .set2 {
  margin-top: 10vw;
}
@media screen and (min-width: 768px) {
  #sec1 {
    padding-top: 122px;
  }
  #sec1::before {
    width: 50%;
    height: 100%;
    background-image: url("../img/course/sec1_deco1.png");
    left: auto;
    right: 0;
  }
  #sec1::after {
    width: 50%;
    height: 100%;
    background-image: url("../img/course/sec1_deco2.png");
    top: auto;
    bottom: -160px;
  }
  #sec1 h2.ttl {
    width: auto;
    margin: 0;
  }
  #sec1 .set1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 0 -111px 0 49px;
  }
  #sec1 .set1 .gr1 {
    width: 352px;
  }
  #sec1 .set1 .gr2 {
    width: calc(100% - 352px);
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
    margin: 29px 0 0;
  }
  #sec1 .set1 .gr2 .img1, #sec1 .set1 .gr2 .img2 {
    width: auto;
  }
  #sec1 .set1 .gr2 .img2 {
    margin-top: 150px;
  }
  #sec1 .set2 {
    margin: -24px 0 0 68px;
  }
  #sec1 .set2 .txt {
    width: 665px;
  }
}

#sec2 {
  padding: 20vw 0 10vw;
  color: #fff;
  position: relative;
  z-index: 0;
}
#sec2::before {
  content: "";
  width: 100%;
  background: url("../img/course/bg1.jpg");
  -webkit-transform: skewY(-7deg);
          transform: skewY(-7deg);
  position: absolute;
  top: 14vw;
  bottom: 5vw;
  left: 0;
  z-index: -1;
}
#sec2 h2.ttl {
  font-size: 7vw;
  line-height: 1.5;
  letter-spacing: 0.15em;
}
#sec2 h2.ttl small {
  font-size: 5vw;
  letter-spacing: 0.15em;
}
#sec2 h2.ttl .txt1 {
  display: block;
  margin-bottom: 10px;
}
#sec2 h2.ttl .highlight {
  color: #c40004;
}
#sec2 .set1 .price {
  margin-top: 5vw;
  padding-bottom: 5vw;
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  font-size: 20px;
  letter-spacing: 0.05em;
}
#sec2 .set1 .price small {
  font-size: 18px;
  letter-spacing: 0.05em;
}
#sec2 .set1 .gr1 .img {
  margin-left: -4vw;
}
#sec2 .set1 .gr2 {
  margin: 7vw 4vw 0;
}
#sec2 .set1 .gr2 .txtnote, #sec2 .set1 .gr2 .txt {
  margin-top: 7vw;
}
#sec2 .set2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 10vw 4vw 0;
  padding: 10vw 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid;
}
#sec2 .set2 h3.ttl {
  font-size: 5vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#sec2 .set2 ul {
  font-size: 13px;
  letter-spacing: 0.05em;
}
#sec2 .set2 ul li {
  padding-left: 16px;
  position: relative;
}
#sec2 .set2 ul li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
#sec2 .set2 .gr1 {
  width: 25%;
}
#sec2 .set2 .gr2 {
  width: 75%;
}
#sec2 .set3 {
  margin-top: 10vw;
}
#sec2 .set3 dl {
  position: relative;
}
#sec2 .set3 dl dt {
  font-size: 4.5vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
#sec2 .set3 dl dt > span {
  display: inline-block;
  padding: 0 10px;
  background: #c40004;
}
#sec2 .set3 dl dd {
  width: 55vw;
}
#sec2 .set3 .gr1 dl dt {
  left: 49vw;
}
#sec2 .set3 .gr2 {
  margin-top: -5vw;
}
#sec2 .set3 .gr2 dl dt {
  left: 10vw;
}
#sec2 .set3 .gr2 dl dd {
  margin-left: auto;
}
#sec2 .set3 .gr3 {
  margin-top: -5vw;
}
#sec2 .set3 .gr3 dl dt {
  left: 49vw;
}
#sec2 .set3 .gr4 {
  margin-top: 10vw;
}
#sec2 .set3 .gr4 h5 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 3.8vw;
  line-height: 2;
  letter-spacing: 0.15em;
}
#sec2 .set3 .gr4 h5 > span {
  display: block;
  padding: 0vw 10vw 3vw;
  position: relative;
}
#sec2 .set3 .gr4 h5 > span::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 99.5 137.5'%3E%3Cg%3E%3Cpath fill-rule='evenodd' stroke='rgb(153, 153, 153)' stroke-width='1px' stroke-linecap='round' stroke-linejoin='miter' fill='none' d='M95.096,1.003 C95.096,1.003 102.342,17.225 93.353,26.654 C84.363,36.085 80.417,41.152 82.144,51.540 C83.870,61.927 100.184,97.940 70.087,114.557 C48.811,126.304 32.512,113.186 32.512,113.186 C32.512,113.186 26.198,110.460 27.191,117.719 C28.206,125.142 30.936,132.444 16.587,134.196 C2.238,135.947 1.050,135.929 1.050,135.929 '/%3E%3C/g%3E%3Cpath fill='none' stroke='rgb(153, 153, 153)' stroke-width='1px' stroke-linecap='round' stroke-linejoin='miter' d='M95.096,1.003 C95.096,1.003 102.342,17.225 93.353,26.654 C84.363,36.085 80.417,41.152 82.144,51.540 C83.870,61.927 100.184,97.940 70.087,114.557 C48.811,126.304 32.512,113.186 32.512,113.186 C32.512,113.186 26.198,110.460 27.191,117.719 C28.206,125.142 30.936,132.444 16.587,134.196 C2.238,135.947 1.050,135.929 1.050,135.929 '/%3E%3C/svg%3E") right top/contain no-repeat;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
#sec2 .set3 .img1 {
  margin: 0 -4vw;
}
@media screen and (max-width: 767px) {
  #sec2 .set2 h3.ttl {
    width: 10vw;
    height: 50vw;
    margin: 0 auto;
    cursor: vertical-text;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    word-wrap: break-word;
  }
}
@media screen and (min-width: 768px) {
  #sec2 {
    padding: 160px 0 197px;
  }
  #sec2::before {
    -webkit-transform: skewY(-6deg);
            transform: skewY(-6deg);
    top: 105px;
    bottom: 50px;
  }
  #sec2 .wrap {
    width: 100%;
    max-width: 1400px;
    padding: 0 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #sec2 h2.ttl {
    font-size: 40px;
    line-height: 50px;
  }
  #sec2 h2.ttl small {
    font-size: 24px;
  }
  #sec2 h2.ttl .txt1 {
    margin-bottom: 10px;
  }
  #sec2 .set1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #sec2 .set1 .price {
    margin-top: 24px;
    padding-bottom: 12px;
    font-size: 30px;
  }
  #sec2 .set1 .price small {
    font-size: 24px;
  }
  #sec2 .set1 .gr1 {
    width: calc(100% - 435px);
    max-width: 810px;
  }
  #sec2 .set1 .gr1 .img {
    margin-left: 0;
  }
  #sec2 .set1 .gr1 .img img {
    max-width: none;
    float: right;
  }
  #sec2 .set1 .gr2 {
    width: 405px;
    margin: 29px 0 0;
  }
  #sec2 .set1 .gr2 .txtnote {
    margin-top: 29px;
  }
  #sec2 .set1 .gr2 .txt {
    margin-top: 35px;
  }
  #sec2 .set2 {
    width: 800px;
    margin: 50px auto 0;
    padding: 49px 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: 1px solid;
  }
  #sec2 .set2 h3.ttl {
    font-size: 20px;
    letter-spacing: 0.05em;
  }
  #sec2 .set2 ul {
    font-size: 15px;
    letter-spacing: 0.15em;
  }
  #sec2 .set2 ul li {
    padding-left: 20px;
  }
  #sec2 .set2 .gr1 {
    width: 220px;
    text-align: center;
  }
  #sec2 .set2 .gr2 {
    width: 580px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 31px;
       -moz-column-gap: 31px;
            column-gap: 31px;
    padding: 0 48px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-left: 1px solid rgba(255, 255, 255, 0.25);
  }
  #sec2 .set3 {
    width: 1200px;
    display: grid;
    grid-template-columns: repeat(2, 420px);
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
    row-gap: 20px;
    margin: 60px auto 0;
    position: relative;
    z-index: 0;
  }
  #sec2 .set3 dl dt {
    font-size: 20px;
    letter-spacing: 0.05em;
    top: 20px;
    -webkit-transform: none;
            transform: none;
  }
  #sec2 .set3 dl dt > span {
    padding: 5px 26px;
  }
  #sec2 .set3 dl dd {
    width: 420px;
  }
  #sec2 .set3 .gr1 dl dt {
    left: auto;
    right: -50px;
  }
  #sec2 .set3 .gr1 dl dt span:first-child {
    padding-right: 0;
  }
  #sec2 .set3 .gr1 dl dt span:last-child {
    padding-left: 0;
  }
  #sec2 .set3 .gr2 {
    grid-area: 1/2/3/3;
    margin-top: 90px;
  }
  #sec2 .set3 .gr2 dl dt {
    left: auto;
    right: -50px;
  }
  #sec2 .set3 .gr2 dl dd {
    margin-left: auto;
  }
  #sec2 .set3 .gr3 {
    margin-top: 0;
  }
  #sec2 .set3 .gr3 dl dt {
    top: auto;
    bottom: 20px;
    left: auto;
    right: -50px;
  }
  #sec2 .set3 .gr4 {
    width: 500px;
    margin: 0 0 0 100px;
  }
  #sec2 .set3 .gr4 h5 {
    font-size: 15px;
    line-height: 35px;
  }
  #sec2 .set3 .gr4 h5 > span {
    padding: 18px 51px 48px;
  }
  #sec2 .set3 .img1 {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin: 0;
    position: absolute;
    top: 270px;
    right: 50px;
    z-index: -1;
  }
}

#sec3 {
  padding-top: 10vw;
}
#sec3 h2.ttl {
  text-align: center;
}
#sec3 h2.ttl img {
  width: 60vw;
}
#sec3 .set1 {
  margin: 0 4vw;
}
#sec3 .set1 .price {
  margin-top: 5vw;
  padding-bottom: 5vw;
  border-bottom: 1px solid rgba(0, 0, 0, 0.8);
  font-size: 20px;
  letter-spacing: 0.05em;
}
#sec3 .set1 .price small {
  font-size: 18px;
  letter-spacing: 0.05em;
}
#sec3 .set1 .gr2 .img {
  margin: 10vw -4vw 0;
}
#sec3 .set1 .gr2 .txt {
  margin-top: 5vw;
}
#sec3 .set2 {
  margin-top: 10vw;
  padding-bottom: 15vw;
  position: relative;
  z-index: 0;
}
#sec3 .set2::before {
  content: "";
  height: 57vw;
  background: url("../img/course/sec3_i4_sp.jpg") center/cover no-repeat;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(30%, transparent), color-stop(87%, black), to(black));
  -webkit-mask-image: linear-gradient(transparent 30%, black 87%, black);
  mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(30%, transparent), color-stop(87%, black), to(black));
  mask-image: linear-gradient(transparent 30%, black 87%, black);
  position: absolute;
  left: -5vw;
  right: -5vw;
  bottom: 0;
  z-index: -1;
}
#sec3 .set2 h3.ttl {
  font-size: 5vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#sec3 .set2 .gr1 dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 10vw 4vw 0;
  padding: 5vw 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid;
}
#sec3 .set2 .gr1 dl ul li {
  padding-left: 16px;
  position: relative;
}
#sec3 .set2 .gr1 dl ul li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
#sec3 .set2 .gr1 dl dt {
  width: 30%;
}
#sec3 .set2 .gr1 dl dd {
  width: 70%;
}
#sec3 .set2 .gr2 {
  margin-top: 10vw;
}
#sec3 .set2 .gr2 .detail-list dl {
  position: relative;
}
#sec3 .set2 .gr2 .detail-list dl dt {
  font-size: 4.55vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
#sec3 .set2 .gr2 .detail-list dl dt > span {
  display: inline-block;
  padding: 0 10px;
  background: #c40004;
  color: #fff;
}
#sec3 .set2 .gr2 .detail-list dl dd {
  width: 55vw;
}
#sec3 .set2 .gr2 .detail-list dl:first-child dt {
  left: 47vw;
}
#sec3 .set2 .gr2 .detail-list dl:nth-of-type(2) {
  margin-top: -5vw;
}
#sec3 .set2 .gr2 .detail-list dl:nth-of-type(2) dt {
  left: 0;
}
#sec3 .set2 .gr2 .detail-list dl:nth-of-type(2) dd {
  margin-left: auto;
}
#sec3 .set2 .gr2 h5 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 5vw;
  font-size: 3.8vw;
  line-height: 2;
  letter-spacing: 0.15em;
}
#sec3 .set2 .gr2 h5 br {
  display: none;
}
#sec3 .set2 .gr2 h5 > span {
  display: block;
  padding: 0 4vw 9vw 15vw;
  position: relative;
}
#sec3 .set2 .gr2 h5 > span::before {
  content: "";
  width: 100%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 100.5 139.5'%3E%3Cpath fill-rule='evenodd' stroke='rgb(0, 0, 0)' stroke-width='1px' stroke-linecap='round' stroke-linejoin='miter' fill='none' d='M4.904,2.003 C4.904,2.003 -2.342,18.225 6.647,27.654 C15.637,37.085 19.583,42.153 17.856,52.540 C16.130,62.926 -0.184,98.941 29.913,115.556 C51.189,127.305 67.488,114.187 67.488,114.187 C67.488,114.187 73.802,111.460 72.809,118.719 C71.794,126.141 69.064,133.445 83.413,135.196 C97.762,136.946 98.950,136.928 98.950,136.928 '/%3E%3C/svg%3E") left bottom/contain no-repeat;
  position: absolute;
  top: 12vw;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#sec3 .set3 {
  margin-top: -5vw;
}
#sec3 .set3 .slider .img {
  position: relative;
}
#sec3 .set3 .slider .img::after {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #fff;
  position: absolute;
  top: 0;
  left: 0;
}
#sec3 .set3 .slider .slick-dots {
  position: absolute;
  top: 10px;
  right: 10px;
}
#sec3 .set3 .slider .slick-dots button {
  border-radius: 0;
}
#sec3 .set3 .slider .slick-dots .slick-active button {
  background: #fff;
}
#sec3 .set3 .gr2 {
  margin-top: 10vw;
}
#sec3 .txtnote {
  margin-top: 10vw;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #sec3 .set2 h3.ttl {
    width: 7vw;
    height: 30vw;
    margin: 0 auto;
    cursor: vertical-text;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    word-wrap: break-word;
  }
}
@media screen and (min-width: 768px) {
  #sec3 {
    padding-top: 45px;
  }
  #sec3 h2.ttl {
    text-align: left;
  }
  #sec3 h2.ttl img {
    width: auto;
  }
  #sec3 .set1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0;
  }
  #sec3 .set1 .price {
    margin-top: 42px;
    padding-bottom: 12px;
    font-size: 30px;
  }
  #sec3 .set1 .price small {
    font-size: 24px;
  }
  #sec3 .set1 .gr1 {
    width: 549px;
  }
  #sec3 .set1 .gr1 .img {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  #sec3 .set1 .gr2 {
    width: 405px;
    margin-top: 52px;
  }
  #sec3 .set1 .gr2 .txt {
    margin-top: 30px;
  }
  #sec3 .set2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 23px;
    padding-bottom: 199px;
  }
  #sec3 .set2::before {
    height: 610px;
    background-image: url("../img/course/sec3_i4.jpg");
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(90%, black), to(black));
    -webkit-mask-image: linear-gradient(transparent 50%, black 90%, black);
    mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(90%, black), to(black));
    mask-image: linear-gradient(transparent 50%, black 90%, black);
    left: -50px;
    right: -50px;
  }
  #sec3 .set2 h3.ttl {
    font-size: 20px;
  }
  #sec3 .set2 .gr1 {
    width: 400px;
  }
  #sec3 .set2 .gr1 dl {
    display: block;
    margin: 0;
    padding: 43px 50px 49px;
  }
  #sec3 .set2 .gr1 dl ul li {
    padding-left: 20px;
  }
  #sec3 .set2 .gr1 dl dt {
    width: auto;
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    text-align: center;
  }
  #sec3 .set2 .gr1 dl dd {
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 39px;
  }
  #sec3 .set2 .gr2 {
    width: 549px;
    margin: 7px 0 0;
  }
  #sec3 .set2 .gr2 .detail-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
  }
  #sec3 .set2 .gr2 .detail-list dl dt {
    font-size: 20px;
    top: 10px;
    -webkit-transform: none;
            transform: none;
  }
  #sec3 .set2 .gr2 .detail-list dl dt > span {
    padding: 5px 29px;
  }
  #sec3 .set2 .gr2 .detail-list dl dd {
    width: 355px;
  }
  #sec3 .set2 .gr2 .detail-list dl:first-child {
    margin-top: 70px;
  }
  #sec3 .set2 .gr2 .detail-list dl:first-child dt {
    top: auto;
    bottom: 20px;
    left: -20px;
  }
  #sec3 .set2 .gr2 .detail-list dl:nth-of-type(2) {
    margin-top: 0;
  }
  #sec3 .set2 .gr2 .detail-list dl:nth-of-type(2) dt {
    left: -80px;
  }
  #sec3 .set2 .gr2 .detail-list dl:nth-of-type(2) dd {
    margin-left: 0;
  }
  #sec3 .set2 .gr2 h5 {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-top: 37px;
    font-size: 15px;
    line-height: 35px;
  }
  #sec3 .set2 .gr2 h5 br {
    display: block;
  }
  #sec3 .set2 .gr2 h5 > span {
    padding: 0px 24px 49px 71px;
    position: relative;
  }
  #sec3 .set2 .gr2 h5 > span::before {
    top: 14px;
  }
  #sec3 .set3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: -31px;
  }
  #sec3 .set3 .slider .slick-dots {
    top: 30px;
    right: 30px;
  }
  #sec3 .set3 .gr1 {
    width: 550px;
  }
  #sec3 .set3 .gr2 {
    width: 450px;
    margin-top: 0;
  }
  #sec3 .set3 .gr2 .bnr-shared {
    margin-top: 25px;
  }
  #sec3 .set3 .gr2 .bnr-shared a {
    margin: 0 auto;
  }
  #sec3 .txtnote {
    margin-top: 39px;
  }
}

#sec4 {
  padding-top: 15vw;
}
#sec4 h2.ttl {
  text-align: center;
}
#sec4 h2.ttl img {
  width: 70vw;
}
#sec4 .set {
  padding: 0 4vw 15vw;
  border: 1px solid;
  position: relative;
  z-index: 0;
}
#sec4 .set .bgi {
  width: 100%;
  height: 50vw;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#sec4 .set .bgi img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(black), to(black));
  -webkit-mask-image: linear-gradient(transparent, black, black);
  mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(black), to(black));
  mask-image: linear-gradient(transparent, black, black);
}
#sec4 .set .price {
  margin-top: 7vw;
  padding: 5vw 0;
  border-top: 1px solid;
  border-bottom: 1px solid;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}
#sec4 .set .price small {
  font-size: 18px;
  letter-spacing: 0.05em;
}
#sec4 .set .gr .txt {
  margin-top: 7vw;
}
@media screen and (min-width: 768px) {
  #sec4 {
    padding-top: 37px;
  }
  #sec4 h2.ttl img {
    width: auto;
  }
  #sec4 .set {
    margin: 0 -50px;
    padding: 0 50px 159px;
  }
  #sec4 .set .bgi {
    height: 500px;
  }
  #sec4 .set .bgi img {
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(black), to(black));
    -webkit-mask-image: linear-gradient(transparent, black, black);
    mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(black), to(black));
    mask-image: linear-gradient(transparent, black, black);
  }
  #sec4 .set .price {
    width: 50%;
    margin-top: 0;
    padding: 0 0;
    border: 0;
    font-size: 30px;
    line-height: 55px;
  }
  #sec4 .set .price small {
    font-size: 24px;
  }
  #sec4 .set .gr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 44px;
    padding: 38px 0 42px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    position: relative;
  }
  #sec4 .set .gr::before {
    content: "";
    height: 100%;
    border-left: 1px solid;
    position: absolute;
    top: 0;
    left: 50%;
  }
  #sec4 .set .gr .txt {
    width: 50%;
    margin-top: 0;
    padding: 0 70px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}

#sec5 {
  position: relative;
  z-index: 0;
}
#sec5::before {
  content: "";
  width: 100%;
  height: 100vw;
  background: url("../img/course/sec5_deco1.png") 0 0/contain no-repeat;
  position: absolute;
  top: -5vw;
  left: -55vw;
  z-index: -1;
}
#sec5::after {
  content: "";
  width: 100%;
  height: 100vw;
  background: url("../img/course/sec5_deco2.png") 0 0/contain no-repeat;
  position: absolute;
  bottom: -59vw;
  right: -35vw;
  z-index: -1;
}
#sec5 h2.ttl img {
  width: 60vw;
}
#sec5 .h2box {
  text-align: center;
}
#sec5 .h2box .txtnote {
  margin-top: 3vw;
}
#sec5 .set-style .price {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#sec5 .set-style .price small {
  font-size: 18px;
}
#sec5 .set-style ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#sec5 .set-style ul li::before {
  content: "・";
  display: block;
}
#sec5 .set-style .gr1 {
  padding: 5vw 0;
  border-top: 1px solid;
  border-bottom: 1px solid;
  text-align: center;
}
#sec5 .set-style .gr2 {
  padding: 5vw 0;
  text-align: center;
}
#sec5 .set1 {
  margin-top: 10vw;
}
#sec5 .set4 {
  margin-top: 5vw;
  padding: 10vw 7vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #000;
  color: #fff;
  position: relative;
}
#sec5 .set4 h3.ttl {
  position: absolute;
  top: -8vw;
  left: 4vw;
  z-index: 1;
}
#sec5 .set4 h3.ttl img {
  width: 9vw;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
}
#sec5 .set4 .price {
  padding-bottom: 10vw;
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
#sec5 .set4 .price small {
  font-size: 18px;
  letter-spacing: 0.05em;
}
#sec5 .set4 .gr1 .txt {
  margin-top: 5vw;
}
#sec5 .set4 .gr2 {
  margin-top: 5vw;
}
#sec5 .set4 .gr2 ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#sec5 .set4 .gr2 ul li::before {
  content: "・";
  display: block;
}
#sec5 .set4 .gr2 dl {
  text-align: center;
}
#sec5 .set4 .gr2 dl dt {
  padding: 10px 0;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  font-size: 15px;
  letter-spacing: 0.15em;
}
#sec5 .set4 .gr2 dl dd {
  margin-top: 5vw;
}
#sec5 .contactbox {
  margin-top: 10vw;
  padding: 15vw 4vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid;
  outline: 1px solid;
  outline-offset: -10px;
  text-align: center;
}
#sec5 .contactbox .tel dt {
  font-size: 18px;
  letter-spacing: 0.05em;
}
#sec5 .contactbox .tel .tel-number {
  font-size: 20px;
  letter-spacing: 0.05em;
}
#sec5 .contactbox .tel .tel-txt {
  font-size: 11px;
  letter-spacing: 0;
}
#sec5 .contactbox .bnr-web-shared {
  margin-top: 7vw;
}
#sec5 .contactbox .bnr-web-shared a {
  border-color: #c40004;
}
@media screen and (min-width: 768px) {
  #sec5 {
    padding-top: 55px;
  }
  #sec5::before {
    width: 50%;
    height: 100%;
    top: -295px;
    left: 0;
  }
  #sec5::after {
    width: 50%;
    height: 100%;
    background-position: right bottom;
    bottom: -207px;
    right: 0;
  }
  #sec5 h2.ttl img {
    width: auto;
  }
  #sec5 .h2box .txtnote {
    margin-top: 15px;
  }
  #sec5 .set-style {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-top: 1px solid;
    border-bottom: 1px solid;
    margin-top: 20px;
  }
  #sec5 .set-style .price {
    font-size: 30px;
    line-height: 40px;
  }
  #sec5 .set-style .price small {
    font-size: 24px;
  }
  #sec5 .set-style ul li {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #sec5 .set-style .gr1 {
    width: 349px;
    padding: 52px 20px 57px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: 0;
    border-right: 1px solid;
  }
  #sec5 .set-style .gr1 .txtnote {
    margin-top: 6px;
    line-height: 24px;
  }
  #sec5 .set-style .gr2 {
    width: 651px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 45px;
       -moz-column-gap: 45px;
            column-gap: 45px;
    padding: 48px 59px 50px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: left;
  }
  #sec5 .set1 {
    margin-top: 28px;
  }
  #sec5 .set4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 100px;
    padding: 50px 0px 50px;
  }
  #sec5 .set4::before {
    content: "";
    width: 100vw;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
  #sec5 .set4 h3.ttl {
    width: 180px;
    text-align: center;
    position: relative;
    top: -80px;
    left: auto;
  }
  #sec5 .set4 .price {
    padding-bottom: 19px;
    font-size: 30px;
    line-height: 40px;
  }
  #sec5 .set4 .price small {
    font-size: 24px;
  }
  #sec5 .set4 .gr1 {
    width: 353px;
    margin-top: 27px;
  }
  #sec5 .set4 .gr1 .txt {
    margin-top: 28px;
  }
  #sec5 .set4 .gr2 {
    width: 390px;
    margin: 0 0 0 66px;
  }
  #sec5 .set4 .gr2 ul li {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #sec5 .set4 .gr2 dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: left;
  }
  #sec5 .set4 .gr2 dl dt {
    min-width: 37px;
    min-height: 320px;
    padding: 10px 12px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: 0;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    font-size: 20px;
    text-align: center;
  }
  #sec5 .set4 .gr2 dl dd {
    margin: 0 0 0 50px;
  }
  #sec5 .contactbox {
    width: 900px;
    margin: 81px auto 0;
    padding: 85px 50px 92px;
    outline-offset: -20px;
  }
  #sec5 .contactbox .tel dt {
    font-size: 24px;
  }
  #sec5 .contactbox .tel .tel-number {
    font-size: 30px;
    line-height: 40px;
  }
  #sec5 .contactbox .tel .tel-txt {
    font-size: 18px;
  }
  #sec5 .contactbox .bnr-web-shared {
    margin-top: 30px;
  }
  #sec5 .contactbox .bnr-web-shared a {
    width: 350px;
    margin: 0 auto;
    padding: 19px 10px;
  }
  #sec5 .contactbox .bnr-web-shared a span {
    background-position: 0px 4px;
    background-size: 18px;
    font-size: 20px;
  }
}

#sec6 {
  padding: 20vw 0;
  position: relative;
  z-index: 0;
}
#sec6::before {
  content: "";
  width: 100%;
  height: 100vw;
  background: url("../img/course/sec6_bg_sp.jpg") center top/100% no-repeat;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(black), to(transparent));
  -webkit-mask-image: linear-gradient(black, black, transparent);
  mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(black), to(transparent));
  mask-image: linear-gradient(black, black, transparent);
  position: absolute;
  top: 45vw;
  left: 0;
  z-index: -1;
  opacity: 0.15;
}
#sec6 h2.ttl {
  text-align: center;
}
#sec6 h2.ttl img {
  width: 23vw;
}
#sec6 .set1 .gr2 {
  margin-top: 10vw;
}
#sec6 .set2 {
  margin-top: 10vw;
}
#sec6 .set2 .bnr-style {
  min-height: 60vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 5vw;
  padding: 10vw 4vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: url("../img/course/bg1.jpg");
  -webkit-box-shadow: 0px 9px 15px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 9px 15px 0px rgba(0, 0, 0, 0.2);
  color: #fff;
  position: relative;
  z-index: 0;
}
#sec6 .set2 .bnr-style::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url("../img/course/bnr_deco.png") 0 0/contain no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#sec6 .set2 .bnr-style .bnr__img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
#sec6 .set2 .bnr-style .bnr__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  clip-path: polygon(50% 0%, 100% 0%, 100% 100%, 30% 100%);
}
#sec6 .set2 .bnr-style .bnr__ttl {
  min-width: 8vw;
  min-height: 30vw;
  margin: 0 7vw;
  font-size: 6vw;
  line-height: 1.5;
  letter-spacing: 0.15em;
  cursor: vertical-text;
  writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -moz-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: upright;
  word-wrap: break-word;
  position: relative;
}
#sec6 .set2 .bnr-style .bnr__ttl::before {
  content: "";
  width: 23vw;
  height: 7px;
  border-bottom: 1px solid;
  border-right: 1px solid;
  -webkit-transform: skewX(55deg);
          transform: skewX(55deg);
  position: absolute;
  bottom: -5vw;
  left: -12vw;
  z-index: -1;
}
#sec6 .set2 .bnr-style .bnr__content {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  #sec6 {
    padding: 99px 0 150px;
  }
  #sec6::before {
    height: 881px;
    background-image: url("../img/course/sec6_bg.jpg");
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(black), to(transparent));
    -webkit-mask-image: linear-gradient(black, black, transparent);
    mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(black), to(transparent));
    mask-image: linear-gradient(black, black, transparent);
    top: 207px;
  }
  #sec6 h2.ttl {
    text-align: left;
  }
  #sec6 h2.ttl img {
    width: auto;
  }
  #sec6 .set1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 78px;
       -moz-column-gap: 78px;
            column-gap: 78px;
  }
  #sec6 .set1 .gr1 {
    width: 302px;
    position: relative;
    z-index: 0;
  }
  #sec6 .set1 .gr1::before {
    content: "";
    width: 171px;
    height: 193px;
    background: url("../img/course/deco1.png") 0 0/contain no-repeat;
    position: absolute;
    bottom: 50px;
    right: 20px;
    z-index: -1;
  }
  #sec6 .set1 .gr2 {
    width: calc(100% - 380px);
    margin-top: 200px;
  }
  #sec6 .set1 .gr2 .txt {
    min-width: 455px;
    height: 285px;
    margin-left: auto;
  }
  #sec6 .set2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 59px;
  }
  #sec6 .set2 .bnr-style {
    width: 480px;
    min-height: 350px;
    margin-top: 0;
    padding: 20px 0 35px;
  }
  #sec6 .set2 .bnr-style .bnr__img img {
    clip-path: polygon(42% 0%, 100% 0%, 100% 100%, 27% 100%);
  }
  #sec6 .set2 .bnr-style .bnr__ttl {
    min-width: 60px;
    min-height: 184px;
    margin: 0 50px;
    font-size: 40px;
  }
  #sec6 .set2 .bnr-style .bnr__ttl::before {
    width: 115px;
    height: 8px;
    bottom: -36px;
    left: -56px;
  }
}

#popupFloor {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 20vw 0;
  background: url("../img/shared/bg_bd.jpg");
  position: relative;
}
#popupFloor .remodal-close img {
  width: auto;
}
@media screen and (min-width: 768px) {
  #popupFloor {
    padding: 110px 0;
  }
}