.header-nav {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   z-index: 4;
}

.bgParallax {
   background: transparent !important;
   position: relative;
}

.imgParallax {
   display: block;
   clip: rect(0, auto, auto, 0);
   margin-bottom: 0;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   z-index: 0;
}

.imgParallax img {
   width: 100%;
   height: 100vh !important;
   position: fixed;
   top: 0;
   left: 0;
   padding: 0;
   margin: 0;
   object-fit: cover;
   z-index: 99;
}

.ob-img {
   background-size: cover;
   background-position: center center;
   position: relative;
}

.ob-img img {
   object-fit: cover;
   width: 100% !important;
   height: 100% !important;
}

@media only screen and (min-width: 768px) {
   .ob-img img {
      position: absolute;
      top: 0px;
      left: 0px;
      right: 0px;
      bottom: 0px;
   }
}

@media only screen and (min-width: 768px) {
   .d__flex {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
   }

   .jus {
      justify-content: space-between;
   }
}

#header {
   background: #fff;
}

.bnr__fixed {
   position: absolute;
   bottom: 73px;
   right: 20px;
   width: 38vw;
   z-index: 3;
}

@media only screen and (min-width: 768px) {
   .bnr__fixed {
      bottom: 50px;
      right: 50px;
      width: 351px;
      height: 221px;
   }
}

#key {
   height: 100vh;
   overflow: hidden;
   position: relative;
   z-index: 1;
}

#key .gr {
   width: 100vw;
   margin: 0 auto 5vw;
   position: relative;
   z-index: 1;
}

#key .gr span {
   display: inline-block;
   line-height: 1;
   padding: 5vw 3vw;
   font-size: 5vw;
   background: #fff;
}

#key .gr .catch-1 {
   width: 15vw;
   height: 83vw;
   position: absolute;
   line-height: 15vw;
   top: 8vw;
   right: 8vw;
   z-index: 2;
}

#key .gr .catch-1 span {
   border: 2px solid #d8000d;
}

#key .gr .catch-2 {
   width: 15vw;
   height: 80vw;
   position: absolute;
   line-height: 55px;
   top: 0vw;
   left: 9vw;
   z-index: 2;
}

#key .gr .catch-3 {
   width: 15vw;
   height: 57vw;
   position: absolute;
   line-height: 15vw;
   top: 60vw;
   left: 19vw;
   z-index: 2;
}

#key .gr .catch-4 {
   width: 15vw;
   height: 55vw;
   position: absolute;
   line-height: 15vw;
   top: 49vw;
   left: 20vw;
   z-index: 2;
}

@media only screen and (min-width: 768px) {
   #key {}

   #key .gr {
      margin: 0 auto 30px;
      width: -webkit-max-content;
      width: -moz-max-content;
      width: max-content;
   }

   #key .gr span {
      padding: 20px 10px;
      font-size: 30px;
   }

   #key .gr .catch-1 {
      width: 55px;
      height: 464px;
      line-height: 55px;
      top: 12px;
      right: 58px;
   }

   #key .gr .catch-1 span {
      border: 3px solid #d8000d;
   }

   #key .gr .catch-2 {
      width: 55px;
      height: 356px;
      line-height: 55px;
      top: 7px;
      left: 58px;
   }

   #key .gr .catch-3 {
      width: 55px;
      height: 310px;
      line-height: 55px;
      top: 290px;
      left: 105px;
   }

   #key .gr .catch-4 {
      width: 55px;
      height: 310px;
      line-height: 55px;
      top: 255px;
      left: 122px;
   }
}

.decobox {
   width: 100%;
   color: #d4d4d4;
   font-size: 18vw;
   line-height: 1;
   letter-spacing: 0;
   text-align: center;
   position: absolute;
   top: 45%;
   left: 0;
   transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
   .decobox {
      text-align: center;
      top: 55%;
   }
}

#sec1 {
   text-align: center;
   background: url("../img/course/sec1_bg.jpg") no-repeat center;
   background-size: cover;
   color: #fff;
   padding: 25vw 0;
}

#sec1 .title {
   text-align: center;
   margin-bottom: 10vw;
}

#sec1 .title h2 {
   font-size: 7vw;
   font-weight: 500;
   line-height: 1;
}

#sec1 .title h3 {
   line-height: 1;
   font-size: 9.33vw;
   padding: 8vw 0;
}

#sec1 .title h3 span {
   font-weight: 700;
   position: relative;
   margin-right: 5vw;
   letter-spacing: 0.05em;
}

#sec1 .title h3 span::before {
   content: "";
   background: url("../img/course/sec1_deco03.png") no-repeat center;
   background-size: 100% auto;
   position: absolute;
   top: -2vw;
   left: -6vw;
   bottom: -3vw;
   right: -5vw;
}

#sec1 .title h4 {
   font-size: 7vw;
   text-transform: uppercase;
}

#sec1 .text {
   text-align: justify;
}

#sec1 .text p+p {
   margin-top: 5vw;
}

@media only screen and (min-width: 768px) {
   #sec1 {
      padding: 123px 0 105px;
   }

   #sec1 .title {
      margin-bottom: 86px;
   }

   #sec1 .title h2 {
      font-size: 60px;
   }

   #sec1 .title h3 {
      font-size: 80px;
      padding: 50px 0 65px;
   }

   #sec1 .title h3 span {
      margin-right: 47px;
   }

   #sec1 .title h3 span::before {
      top: -10px;
      left: -56px;
      bottom: -21px;
      right: -51px;
   }

   #sec1 .title h4 {
      font-size: 54px;
      text-transform: uppercase;
   }

   #sec1 .text {
      font-size: 15px;
      line-height: 35px;
      text-align: center;
   }

   #sec1 .text p+p {
      margin-top: 20px;
   }
}

#sec2 {
   position: relative;
   z-index: 2;
}

#sec2 .set1,
#sec2 .set2 {
   position: relative;
}

#sec2 .bgParallax {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: -1;
}

#sec2 .photo {
   height: 110vw;
   position: relative;
   margin: 0 auto 8vw;
}

#sec2 .box {}

#sec2 .box__in {
   color: #fff;
   margin-bottom: 10vw;
}

#sec2 .box__in .title__c {
   margin-bottom: 10vw;
}

#sec2 .box__in .title__c h2 {
   display: block;
   background: #d8000d;
   position: relative;
   padding: 5vw 10vw;
   line-height: 1;
   font-weight: 700;
   font-size: 6vw;
   color: #fff;
   text-align: center;
}

#sec2 .box__in .title__c h2::before,
#sec2 .box__in .title__c h2::after {
   content: "";
   background: url("../img/course/icon-2.png") no-repeat top center;
   background-size: 100% auto;
   width: 10vw;
   height: 10vw;
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   left: 5vw;
}

#sec2 .box__in .title__c h2::after {
   right: 5vw;
   left: auto;
}

#sec2 .box__in .title__c h2 span {
   font-size: 8.33vw;
   margin-bottom: 3vw;
   display: inline-grid;
}

#sec2 .box__in .text {
   text-align: justify;
   margin-bottom: 10vw;
}

#sec2 .box__in .info {
   border: 4px solid #d8000d;
   padding: 10vw 0 10vw;
   text-align: center;
}

#sec2 .box__in .info h3 {
   line-height: 1;
   font-size: 18px;
   margin-bottom: 25px;
}

#sec2 .box__in .info p {
   font-size: 15px;
}

#sec2 .set1 {
   padding-top: 20vw;
   padding-bottom: 25vw;
}

#sec2 .set1 .photo {}

#sec2 .set1 .box__in {}

#sec2 .set1 .product__box {
   position: relative;
   background: #fff;
   width: 100vw;
}

#sec2 .set1 .product__box .smoke {
   width: 30vw;
   position: absolute;
   top: -14vw;
   left: -7vw;
   z-index: 1;
}

#sec2 .set1 .product__box .smoke__photo {
   width: 55vw;
   left: -19vw;
   position: absolute;
   top: -5vw;
}

#sec2 .set1 .product__box dl {
   padding-top: 5vw;
   padding-left: 38vw;
   padding-bottom: 6vw;
   padding-right: 8vw;
   line-height: 1.6;
}

#sec2 .set1 .product__box dl dt {
   margin-bottom: 3vw;
   font-weight: 500;
   font-size: 23px;
}

#sec2 .set1 .product__box dl dt span {
   font-weight: 700;
}

#sec2 .set1 .product__box dl dd {
   font-size: 18px;
}

#sec2 .set2 {
   padding-top: 20vw;
   padding-bottom: 25vw;
}

#sec2 .set2 .photo {}

#sec2 .set2 .product__box {
   margin-right: 0;
   margin-left: auto;
   width: 100vw;
   position: relative;
   background: #fff;
   padding-bottom: 6vw;
}

#sec2 .set2 .product__box .smoke__photo01 {
   width: 37vw;
   top: 0;
   position: absolute;
   left: -12vw;
}

#sec2 .set2 .product__box .smoke__photo02 {
   width: 29vw;
   top: -4vw;
   right: -3vw;
   position: absolute;
}

#sec2 .set2 .product__box .product__text {
   font-size: 17px;
   padding: 4vw 21vw 4vw 24vw;
   font-weight: 700;
   line-height: 1.6;
}

@media only screen and (min-width: 768px) {
   #sec2 {
      margin-bottom: 0;
   }

   #sec2 .photo {
      width: 495px;
      height: 843px;
      position: absolute;
   }

   #sec2 .box {
      width: 765px;
      margin-left: auto;
   }

   #sec2 .box__in {
      width: 515px;
      margin-left: auto;
      margin-bottom: 65px;
   }

   #sec2 .box__in .title__c {
      margin-bottom: 43px;
   }

   #sec2 .box__in .title__c h2 {
      padding: 14px 73px 26px;
      font-size: 36px;
      letter-spacing: 2px;
   }

   #sec2 .box__in .title__c h2::before,
   #sec2 .box__in .title__c h2::after {
      width: 61px;
      height: 60px;
      top: 50%;
      left: 23px;
   }

   #sec2 .box__in .title__c h2::after {
      right: 23px;
      left: auto;
   }

   #sec2 .box__in .title__c h2 span {
      font-size: 50px;
      margin-bottom: 10px;
      display: inline-grid;
   }

   #sec2 .box__in .text {
      text-align: center;
      margin-bottom: 38px;
      letter-spacing: 0.05em;
   }

   #sec2 .box__in .info {
      border: 6px solid #d8000d;
      padding: 41px 0 37px;
      text-align: center;
   }

   #sec2 .box__in .info h3 {
      font-size: 20px;
   }

   #sec2 .box__in .info p {
      font-size: 17px;
      line-height: 35px;
   }

   #sec2 .set1 {
      padding-top: 185px;
      padding-bottom: 186px;
   }

   #sec2 .set1 .photo {
      left: -101px;
      top: -26px;
   }

   #sec2 .set1 .box__in {
      margin-bottom: 135px;
   }

   #sec2 .set1 .product__box {
      margin-right: -100px;
      margin-left: auto;
      width: 560px;
   }

   #sec2 .set1 .product__box .smoke {
      width: 276px;
      top: -144px;
      left: -182px;
   }

   #sec2 .set1 .product__box .smoke__photo {
      width: 303px;
      left: -232px;
      top: -35px;
   }

   #sec2 .set1 .product__box dl {
      padding-top: 40px;
      padding-left: 90px;
      padding-bottom: 45px;
      padding-right: 0;
      letter-spacing: 0px;
   }

   #sec2 .set1 .product__box dl dt {
      margin-bottom: 20px;
      font-size: 30px;
      letter-spacing: 1px;
   }

   #sec2 .set1 .product__box dl dt span {
      font-weight: 700;
   }

   #sec2 .set1 .product__box dl dd {
      font-size: 26px;
   }

   #sec2 .set2 {
      padding-top: 185px;
      padding-bottom: 286px;
   }

   #sec2 .set2 .photo {
      left: -100px;
      top: -24px;
   }

   #sec2 .set2 .product__box {
      margin-right: -100px;
      margin-left: auto;
      width: 759px;
      padding-bottom: 40px;
   }

   #sec2 .set2 .product__box .smoke__photo01 {
      width: 303px;
      top: -65px;
      left: -80px;
   }

   #sec2 .set2 .product__box .smoke__photo02 {
      width: 199px;
      top: -41px;
      right: -89px;
   }

   #sec2 .set2 .product__box .product__text {
      font-size: 26px;
      padding: 29px 0 19px 164px;
      line-height: 60px;
      letter-spacing: 0px;
   }
}

#sec3 {
   position: relative;
   z-index: 2;
   padding-bottom: 20vw;
}

#sec3 .row {
   position: relative;
   margin-bottom: 0;
   flex-direction: row-reverse;
}

#sec3 .row .photo {
   height: 70vh;
}

#sec3 .row .photo img {
   object-position: 50% 100%;
}

#sec3 .row .col {
   padding-top: 12vw;
}

#sec3 .row .col .col__wrap {
   width: 90%;
   max-width: 518px;
   margin: 0 auto;
   text-align: center;
}

#sec3 .row .col .col__wrap h2 {
   display: block;
   align-items: center;
   background: #d8000d;
   position: relative;
   padding: 5vw 10vw;
   line-height: 1;
   font-weight: 700;
   font-size: 8.33vw;
   color: #fff;
   text-align: center;
   margin-bottom: 9vw;
}

#sec3 .row .col .col__wrap h2::before,
#sec3 .row .col .col__wrap h2::after {
   content: "";
   background: url("../img/course/icon-2.png") no-repeat top center;
   background-size: 100% auto;
   width: 10vw;
   height: 10vw;
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   left: 5vw;
}

#sec3 .row .col .col__wrap h2::after {
   right: 5vw;
   left: auto;
}

#sec3 .row .col .col__wrap h2 span {
   font-size: 8.33vw;
}

#sec3 .row .col .col__wrap .price {
   font-size: 6vw;
   margin-bottom: 20px;
   letter-spacing: 0.1em;
   line-height: 1.3em;
}

#sec3 .row .col .col__wrap .price span {
   font-size: 8.33vw;
   font-weight: 700;
}

#sec3 .row .col .col__wrap .text {
   margin-bottom: 10vw;
   text-align: justify;
}

#sec3 .row .col .box {
   border: 4px solid #d8000d;
   padding: 10vw 0 10vw;
   text-align: center;
}

#sec3 .row .col .box h3 {
   line-height: 1;
   font-size: 18px;
   margin-bottom: 25px;
}

#sec3 .row .col .box p {
   font-size: 15px;
}

#sec3 .bnr {
   width: 66.66vw;
   margin: 0 auto;
   padding-top: 8vw;
}

@media only screen and (min-width: 768px) {
   #sec3 {
      padding-bottom: 151px;
   }

   #sec3 .row {
      margin-bottom: 0;
      flex-direction: row-reverse;
   }

   #sec3 .row .photo {
      width: 50%;
      height: 822px;
   }

   #sec3 .row .photo img {
      object-position: 50% 50%;
   }

   #sec3 .row .col {
      width: 50%;
      padding-top: 130px;
   }

   #sec3 .row .col .col__wrap {
      width: 90%;
      max-width: 518px;
      margin: 0 auto;
      text-align: center;
   }

   #sec3 .row .col .col__wrap h2 {
      padding: 20px 80px;
      font-size: 50px;
      margin-bottom: 33px;
   }

   #sec3 .row .col .col__wrap h2::before,
   #sec3 .row .col .col__wrap h2::after {
      width: 61px;
      height: 60px;
      left: 23px;
   }

   #sec3 .row .col .col__wrap h2::after {
      right: 23px;
      left: auto;
   }

   #sec3 .row .col .col__wrap h2 span {
      font-size: 50px;
   }

   #sec3 .row .col .col__wrap .price {
      font-size: 36px;
      margin-bottom: 19px;
   }

   #sec3 .row .col .col__wrap .price span {
      font-size: 50px;
   }

   #sec3 .row .col .col__wrap .text {
      margin-bottom: 28px;
      text-align: center;
   }

   #sec3 .row .col .box {
      border: 6px solid #d8000d;
      padding: 42px 0 42px;
   }

   #sec3 .row .col .box h3 {
      font-size: 20px;
   }

   #sec3 .row .col .box p {
      font-size: 17px;
      line-height: 35px;
   }

   #sec3 .bnr {
      width: 750px;
      margin: 0 auto;
      padding-top: 80px;
   }
}

#sec4 {
   position: relative;
   z-index: 3;
   padding-bottom: 20vw;
   padding-top: 20vw;
}

#sec4 h2 {
   font-size: 10vw;
   text-align: center;
   position: relative;
   margin-bottom: 10vw;
   font-weight: 500;
   line-height: 1;
}

#sec4 h2::before {
   content: "";
   background: url("../img/course/sec4_deco01.png") no-repeat center;
   background-size: 100% auto;
   width: 21vw;
   height: 12vw;
   position: absolute;
   top: -18vw;
   left: 50%;
   transform: translateX(-50%);
}

#sec4 .row-1 {
   max-width: 770px;
   margin: 0 auto 15vw;
}

#sec4 .row-1 .group__text {
   background: url("../img/course/line2.png") repeat top left;
   line-height: 30px;
   padding-left: 25px;
}

#sec4 .row-1 .group__text span {
   display: inline-block;
   position: relative;
   padding-left: 0;
}

#sec4 .row-1 .group__text span::before {
   content: "";
   width: 3px;
   height: 3px;
   border-radius: 50%;
   background: #000;
   position: absolute;
   top: 15px;
   margin-top: -2px;
   left: -14px;
}

#sec4 .row-2 {
   max-width: 770px;
   margin: 0 auto;
}

#sec4 .row-2 .cv {
   border: 3px solid #000;
   text-align: center;
   padding-top: 7vw;
   padding-bottom: 7vw;
}

#sec4 .row-2 .cv .btn-reserve {
   margin-bottom: 28px;
}

#sec4 .row-2 .cv h3 {
   font-size: 18px;
   font-weight: 700;
   line-height: 1;
   margin-bottom: 12px;
}

#sec4 .row-2 .cv ul {
   justify-content: center;
   gap: 30px;
}

#sec4 .row-2 .cv ul .tel span {
   font-size: 30px;
   background-position: 0% 70%;
}

#sec4 .row-2 .cv ul .tel small {
   line-height: 1.5;
   color: #959595;
   font-size: 11px;
   letter-spacing: 0.08em;
   font-weight: 400;
}

#sec4 .row-2 .cv ul .fax {
   display: -webkit-flex;
   display: -moz-flex;
   display: -ms-flex;
   display: -o-flex;
   display: flex;
   align-items: center;
   gap: 10px;
   justify-content: center;
   margin-top: 13px;
}

#sec4 .row-2 .cv ul .fax small {
   font-size: 13px;
   line-height: 1;
   display: inline-block;
   background: #000000;
   color: #fff;
   padding: 4px 9px;
   position: relative;
   top: 3px;
}

#sec4 .row-2 .cv ul .fax code {
   font-size: 31px;
}

#sec4 .row-2 .cv .note {
   color: #959595;
   font-size: 13px;
}

@media only screen and (min-width: 768px) {
   #sec4 {
      padding-bottom: 63px;
      padding-top: 141px;
   }

   #sec4 h2 {
      font-size: 66px;
      margin-bottom: 78px;
   }

   #sec4 h2::before {
      width: 133px;
      height: 76px;
      top: -135px;
      left: 50%;
   }

   #sec4 .row-1 {
      max-width: 770px;
      margin: 0 auto 62px;
   }

   #sec4 .row-1 .group__text {
      background: url("../img/course/line.png") repeat top left;
      line-height: 52px;
      letter-spacing: 3px;
      font-size: 18px;
   }

   #sec4 .row-1 .group__text span {}

   #sec4 .row-1 .group__text span::before {
      width: 4px;
      height: 4px;
      left: -14px;
      top: 26px;
   }

   #sec4 .row-2 {
      max-width: 770px;
   }

   #sec4 .row-2 .cv {
      border: 5px solid #000;
      text-align: center;
      padding-top: 33px;
      padding-bottom: 30px;
   }

   #sec4 .row-2 .cv .btn-reserve {
      margin-bottom: 37px;
   }

   #sec4 .row-2 .cv .btn-reserve a {
      width: 321px;
      height: 58px;
   }

   #sec4 .row-2 .cv h3 {
      font-size: 19px;
      margin-bottom: 15px;
   }

   #sec4 .row-2 .cv ul {
      justify-content: center;
      gap: 35px;
   }

   #sec4 .row-2 .cv ul .tel,
   #sec4 .row-2 .cv ul .fax {
      line-height: 1;
   }

   #sec4 .row-2 .cv ul .tel span {
      font-size: 31px;
   }

   #sec4 .row-2 .cv ul .tel small {
      line-height: 1.5;
      font-size: 13px;
   }

   #sec4 .row-2 .cv ul .fax {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      gap: 10px;
      margin-top: 0;
   }

   #sec4 .row-2 .cv ul .fax small {
      font-size: 14px;
      padding: 3px 5px;
      line-height: 1;
      top: 2px;
   }

   #sec4 .row-2 .cv ul .fax code {
      font-size: 31px;
   }

   #sec4 .row-2 .cv .note {
      font-size: 13px;
      line-height: 1;
      padding-top: 6px;
      letter-spacing: 0;
   }



}

#sec5 {
   position: relative;
   z-index: 2;
   margin-bottom: 15vw;
}

#sec5 .set1 {
   margin-bottom: 10vw;
   text-align: center;
}

#sec5 .set1 .wrap {
   width: 100%;
}

#sec5 .set1 h2 {
   background: #d8000d;
   color: #fff;
   font-size: 13.33vw;
   font-weight: 700;
   padding: 9vw 0;
   line-height: 1;
   position: relative;
   text-align: center;
   margin-bottom: 7vw;
}

#sec5 .set1 h2::before,
#sec5 .set1 h2::after {
   content: "";
   background: url("../img/course/sec5_deco01.jpg") no-repeat top center;
   background-size: 100% auto;
   width: 10vw;
   height: 10vw;
   position: absolute;
   top: 0;
   left: 0;
}

#sec5 .set1 h2::after {
   background: url("../img/course/sec5_deco02.jpg") no-repeat top center;
   background-size: 100% auto;
   top: auto;
   left: auto;
   right: 0;
   bottom: 0;
}

#sec5 .set1 p {
   margin-bottom: 0;
   text-align: justify;
}

#sec5 .title__c h3 {
   font-size: 15.33vw;
   font-weight: 500;
   line-height: 1;
   margin-bottom: 9vw;
   position: relative;
}

#sec5 .title__c h3::before {
   content: "";
   background: #d8000d;
   height: 1vw;
   position: absolute;
   bottom: -5vw;
   width: 100vw;
}

#sec5 .title__c h3::after {
   content: "";
   background: url("../img/course/sec5_deco03.png") no-repeat center;
   background-size: 100% auto;
   width: 13vw;
   height: 13vw;
   position: absolute;
   bottom: -11vw;
}

#sec5 .title__c dl {
   font-size: 8.33vw;
   font-weight: 500;
   display: -webkit-flex;
   display: -moz-flex;
   display: -ms-flex;
   display: -o-flex;
   display: flex;
   margin-bottom: 8vw;
}

#sec5 .title__c dl dt {
   margin-right: 2vw;
   min-width: 25vw;
}

#sec5 .title__c dl dd {
   letter-spacing: 0;
}

#sec5 .title__c dl dd span {
   margin-right: 10px;
}

#sec5 .text {
   margin-bottom: 10vw;
}

#sec5 .floormap {}

#sec5 .photo {
   height: 80vw;
}

#sec5 .set2 {
   margin-bottom: 100px;
}

#sec5 .set2 .photo {}

#sec5 .set2 .row-1 {
   flex-direction: row-reverse;
}

#sec5 .set2 .col {
   padding-top: 10vw;
}

#sec5 .set2 .col .title__c {
   padding-left: 12vw;
}

#sec5 .set2 .col .title__c h3::before {
   left: -9vw;
}

#sec5 .set2 .col .title__c h3::after {
   left: -15vw;
}

#sec5 .set3 {
   margin-bottom: 20vw;
}

#sec5 .set3 .photo {}

#sec5 .set3 .col {
   padding-top: 10vw;
}

#sec5 .set3 .col .title__c h3::before {
   right: 10vw;
}

#sec5 .set3 .col .title__c h3::after {
   right: 0;
}

@media only screen and (min-width: 768px) {
   #sec5 {
      margin-bottom: 72px;
      padding-top: 100px;
   }

   #sec5 .set1 {
      margin-bottom: 79px;
   }

   #sec5 .set1 .wrap {
      max-width: 1342px;
   }

   #sec5 .set1 h2 {
      font-size: 89px;
      padding: 49px 0 58px;
      margin-bottom: 68px;
   }

   #sec5 .set1 h2::before,
   #sec5 .set1 h2::after {
      width: 70px;
      height: 70px;
      top: 0;
      left: 0;
   }

   #sec5 .set1 h2::after {
      top: auto;
      left: auto;
      right: 0;
      bottom: 0;
   }

   #sec5 .set1 p {
      text-align: center;
   }

   #sec5 .title__c h3 {
      font-size: 92px;
      margin-bottom: 40px;
   }

   #sec5 .title__c h3::before {
      height: 8px;
      bottom: -21px;
      width: 50vw;
   }

   #sec5 .title__c h3::after {
      width: 104px;
      height: 105px;
      bottom: -68px;
   }

   #sec5 .title__c dl {
      font-size: 50px;
      letter-spacing: -2px;
      margin-bottom: 73px;
   }

   #sec5 .title__c dl dt {
      margin-right: 18px;
      min-width: 131px;
   }

   #sec5 .title__c dl dd {
      letter-spacing: 0;
   }

   #sec5 .title__c dl dd span {
      margin-right: 10px;
   }

   #sec5 .text {
      margin-bottom: 52px;
      padding-left: 44px;
      width: 359px;
   }

   #sec5 .floormap {
      width: 444px;
   }

   #sec5 .photo {
      width: 754px;
      height: 618px;
      position: relative;
      z-index: 2;
   }

   #sec5 .set2 {
      margin-bottom: 100px;
   }

   #sec5 .set2 .photo {
      margin-right: -170px;
   }

   #sec5 .set2 .row-1 {
      flex-direction: row-reverse;
   }

   #sec5 .set2 .col {
      margin-left: -100px;
      padding-top: 0;
      width: 504px;
      margin-top: -8px;
   }

   #sec5 .set2 .col .title__c {
      padding-left: 124px;
   }

   #sec5 .set2 .col .title__c h3::before {
      left: -31px;
   }

   #sec5 .set2 .col .title__c h3::after {
      left: -127px;
   }

   #sec5 .set3 {
      margin-bottom: 0;
   }

   #sec5 .set3 .photo {
      margin-left: -170px;
   }

   #sec5 .set3 .col {
      margin-right: -100px;
      width: 480px;
      padding-top: 0;
      margin-top: 4px;
   }

   #sec5 .set3 .col .text {

      padding-left: 15px;

      width: auto;
   }

   #sec5 .set3 .col .title__c h3::before {
      right: 38px;
   }

   #sec5 .set3 .col .title__c h3::after {}
}

#sec6 {
   position: relative;
   padding-bottom: 20vw;
   padding-top: 20vw;
}

#sec6 .row {
   margin-bottom: 0;
}

#sec6 .row .col-1 {
   display: -webkit-flex;
   display: -moz-flex;
   display: -ms-flex;
   display: -o-flex;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 58vw;
   height: 72vw;
   margin: 0 auto 18vw;
}

#sec6 .row .col-1 h2 {
   border: 4px solid #000000;
   font-size: 8.33vw;
   font-weight: 500;
   width: 100%;
   height: 110%;
   line-height: 1.8;
   padding-top: 8vw;
   padding-right: 2vw;
}

#sec6 .row .col-1 h2 small {
   font-size: 36px;
}

#sec6 .row .col-2 {}

#sec6 .row .col-2 .text {
   margin-bottom: 10vw;
}

#sec6 .row .col-2 .catch {
   position: relative;
}

#sec6 .row .col-2 .catch .catch__txt {
   background: url("../img/course/sec6_deco02.png") no-repeat center;
   background-size: 100% 100%;
   padding: 11vw 8vw 10vw 7vw;
   font-size: 15px;
   width: 56vw;
   margin-bottom: -10vw;
}

#sec6 .row .col-2 .catch .deco {
   width: 24vw;
   position: relative;
   margin-left: auto;
   margin-right: -4vw;
}

@media only screen and (min-width: 768px) {
   #sec6 {
      padding-bottom: 237px;
      padding-top: 47px;
   }

   #sec6 .row {
      margin-bottom: 0;
   }

   #sec6 .row .col-1 {
      width: 350px;
      height: 405px;
      margin: 0 0 0 29px;
   }

   #sec6 .row .col-1 h2 {
      border: 5px solid #000000;
      font-size: 56px;
      font-weight: 500;
      width: 100%;
      height: 110%;
      line-height: 88px;
      padding-top: 33px;
      letter-spacing: 4px;
   }

   #sec6 .row .col-1 h2 small {
      font-size: 36px;
   }

   #sec6 .row .col-2 {
      width: 559px;
      margin-top: -20px;
   }

   #sec6 .row .col-2 .text {
      width: 85%;
      margin-bottom: 32px;
      font-size: 17px;
      line-height: 35px;
   }

   #sec6 .row .col-2 .catch .catch__txt {
      padding: 37px 59px 45px 44px;
      font-size: 18px;
      line-height: 35px;
      width: 276px;
   }

   #sec6 .row .col-2 .catch .deco {
      width: 144px;
      position: absolute;
      top: 135px;
      right: -9px;
      margin-right: 0;
   }
}



@media only screen and (min-width: 768px) and (max-width: 1299px) {
   #sec2 .set2 .product__box .smoke__photo02 {
      right: -56px;
   }

   #sec5 .set1 .wrap {
      max-width: 1130px;
   }

   #sec5 .set3 .col .text {
      padding-right: 20px;
   }
}

@media only screen and (max-width: 767px) {
   .popup-body .other .box {
      padding-top: 30px;
   }
}

@media only screen and (min-width: 768px) {
   .popup-body .drink-1 .list-menu {
      gap: 90px;
   }

   .popup-body .drink-1 .list-menu .col {
      max-width: 400px;
   }

   .popup-body .other .box {
      display: grid;
      grid-template-columns: 373px 1fr;
      align-items: center;
      gap: 64px;
      max-width: 800px;
      margin: 0 auto;
      padding-top: 50px;
   }

   .popup-body .other .list-menu {
      padding-top: 0;
   }

   .popup-body .other .list-menu .col {
      width: 100%;
      max-width: 100%;
   }
}

@media only screen and (max-width: 768px) {
.line_he{
   display: block;
   margin: 0 0 -36px 0;
}
}

@media only screen and (max-width: 768px) {
.course_posi{
   bottom: -85px !important;
}
}