#course {
  font-size: 14px;
  line-height: 29px;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 2px;
}
#course .photo {
  position: relative;
}
#course .photo span {
  position: absolute;
  background: url(../img/shared/bd_bg.jpg) repeat;
  color: #663e26;
  font-size: 6.3vw;
  letter-spacing: 2px;
  line-height: 1.5;
  z-index: 2;
}
#course .photo span small {
  font-size: 4.7vw;
}
#course .wrap {
  padding-bottom: 0;
}
#course section {
  color: #4f4f4f;
  background: transparent;
}
#course section img {
  width: auto;
  max-width: 100%;
  height: auto;
}
#course #sec1 {
  padding: 11vw 0 30vw;
  position: relative;
  z-index: 1;
}
#course #sec1:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/course/s1_deco.png) no-repeat center top;
  width: 100%;
  height: 833px;
  background-size: 100%;
  z-index: -1;
}
#course #sec1 .photo1 {
  margin: 0 -1% -17vw;
}
#course #sec1 h2 {
  text-align: right;
}
#course #sec1 .txt {
  margin: 2.7vw 0 3vw 2vw;
  letter-spacing: 3px;
}
#course #sec1 .sec1-js {
  width: 89vw;
  margin: 0 auto -9vw;
  line-height: 1;
}
#course #sec1 .btn-ani a span:after {
  content: '\f107';
}
#course #sec2 {
  position: relative;
}
#course #sec2:before {
  content: '';
  position: absolute;
  top: -74vw;
  left: 0;
  background: url(../img/course/s2_deco.png) no-repeat center top;
  background-size: 100%;
  width: 100%;
  height: 657px;
  z-index: -1;
}
#course #sec2 .flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
#course #sec2 .flex h4 {
  font-size: 22px;
  border-right: 1px solid;
  padding: 6px 18px 0 0;
  letter-spacing: 4px;
}
#course #sec2 .set1 h2 {
  margin: 0 6vw 10vw 7vw;
  position: relative;
  padding-bottom: 4px;
}
#course #sec2 .set1 h2:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: -7vw;
  right: -3vw;
  height: 1px;
  background: #664737;
}
#course #sec2 .set1 .bg {
  background: url(../img/shared/bg-bl.jpg) repeat;
  color: #fff;
  padding-bottom: 8.7vw;
  position: relative;
  z-index: 1;
}
/*#course #sec2 .set1 .bg:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 83vw;
  height: 61vw;
  background: url(../img/course/s2_set1_bg.png) no-repeat center bottom;
  background-size: contain;
  z-index: -1;
}*/
#course #sec2 .set1 .bg .photo1 {
  margin: 0 -5%;
}
#course #sec2 .set1 .bg .content {
  text-align: center;
  padding-top: 4vw;
  z-index: 2;
  position: relative;
}
#course #sec2 .set1 .bg .content:before {
  content: '';
  position: absolute;
  top: -42px;
  right: -3vw;
  background: url(../img/course/s2_burn.png) no-repeat center top;
  background-size: contain;
  width: 100vw;
  height: 286px;
  z-index: -1;
}
#course #sec2 .set1 .bg .content h3 {
  font-size: 12vw;
  line-height: 12.8vw;
  display: block;
  letter-spacing: 8px;
  margin-left: 8px;
  margin-bottom: 4vw;
}
#course #sec2 .set1 .bg .content h3 small {
  display: block;
  font-size: 7vw;
  margin-bottom: 2vw;
  letter-spacing: 5px;
}
#course #sec2 .set1 .bg .content .border {
  border-bottom: 1px solid;
  padding-bottom: 25px;
  margin: 0 6%;
}
#course #sec2 .set1 .bg .content .price {
  font-size: 20px;
  margin: 5vw 0 0vw;
  letter-spacing: 3px;
  padding-bottom: 0;
}
#course #sec2 .set1 .bg .content .price small {
  font-size: 13.5px;
}
#course #sec2 .set1 .bg .row .txt {
  margin: 2vw 0vw 5vw 2vw;
  letter-spacing: 3px;
}
#course #sec2 .set1 .bg .row .flex {
  gap: 5vw;
  margin-left: 2vw;
}
#course #sec2 .set1 .bg .row .photo {
     margin: 13vw auto 0;
    width: 89vw;
}
#course #sec2 .set2 {
  padding: 7.5vw 0 12vw;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
#course #sec2 .set2:before {
  content: '';
  position: absolute;
  top: 24vw;
  right: 0;
  width: 100%;
  height: 122vw;
  background: url(../img/shared/bg1.jpg) repeat;
  z-index: -1;
  transform: skewY(20deg);
  transform-origin: right;
}
#course #sec2 .set2 .row .photo {
  margin-left: -3vw;
}
#course #sec2 .set2 .row .content {
  text-align: center;
  margin-top: 4vw;
}
#course #sec2 .set2 .row .content h3 {
  font-size: 11.8vw;
  color: #322c25;
  letter-spacing: 9px;
  line-height: 1;
  margin-left: 11px;
}
#course #sec2 .set2 .row .content .price {
  font-size: 20px;
  margin: 5vw 0 0vw;
  letter-spacing: 3px;
  padding-bottom: 0;
}
#course #sec2 .set2 .row .content .price small {
  font-size: 13.5px;
}

#course #sec2 .set2 .row .content .txt {
  text-align: left;
  margin: 0 0 0 2vw;
  letter-spacing: 3px;
}
#course #sec2 .set2 .row .content .flex {
  margin: 6vw 0 0 4vw;
  gap: 4vw;
  text-align: left;
}
#course #sec2 .set3 {
  padding-bottom: 14vw;
}
#course #sec2 .set3 .bg {
  color: #fff;
  background: url(../img/shared/bg2.jpg) repeat;
  position: relative;
  z-index: 1;
  padding: 10.5vw 0 8.3vw;
}
#course #sec2 .set3 .bg:before {
  content: '';
  position: absolute;
  top: 9px;
  left: 9px;
  bottom: 9px;
  right: 9px;
  border: 1px solid #cbbbaa;
}
#course #sec2 .set3 .bg h3 {
  text-align: center;
  font-size: 6.4vw;
}
#course #sec2 .set3 .bg h3 span {
  letter-spacing: 3px;
  margin-left: 6px;
  position: relative;
}
#course #sec2 .set3 .bg h3 span:before,
#course #sec2 .set3 .bg h3 span:after {
  content: '';
  position: absolute;
  top: 53%;
  left: calc(100% + 9px);
  width: 9vw;
  height: 1px;
  background: #fff;
}
#course #sec2 .set3 .bg h3 span::before {
  left: auto;
  right: calc(100% + 9px);
}
#course #sec2 .set3 .bg .txt {
  margin: 6vw 0 0 6vw;
  font-size: 13px;
  line-height: 25px;
  letter-spacing: 0px;
}
#course #sec2 .set3 .btn-popup {
  margin: 10vw 0 8vw;
}
#course #sec2 .set3::before {
  content: '';
  position: absolute;
  bottom: 50vw;
  left: 0;
  width: 100vw;
  height: 53vw;
  background: url(../img/course/s2_s3_deco.png) no-repeat center top;
  background-size: contain;
  z-index: -1;
}
#course #sec3 {
  background: url(../img/shared/bg-bl.jpg) repeat;
  color: #fff;
  padding: 13vw 0 9vw;
  position: relative;
}
#course #sec3 .wrap {
  position: relative;
  z-index: 2;
}
#course #sec3 .wrap:before {
  content: '';
  position: absolute;
  top: -13vw;
  left: 0;
  width: 100%;
  height: 86vw;
  background: rgba(255, 255, 255, 0.1);
  z-index: -1;
  clip-path: polygon(0 0, 100% 0, 100% 58%, 0% 100%);
}
#course #sec3 h2 {
  margin: 0 -6%;
}
#course #sec3 h3 {
  margin: 6vw 0;
}
#course #sec3 .txt {
  margin-left: 2vw;
  letter-spacing: 3px;
}
#course #sec3 .banners {
  margin-top: 7vw;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#course #sec3 .banners p {
  width: calc(50% - 2vw);
}
#course #sec4 {
  background: url(../img/shared/bg-bl.jpg) repeat;
  color: #fff;
}
#course #sec4 .wrap {
  position: relative;
  z-index: 1;
}
#course #sec4 .wrap:before {
  content: '';
  position: absolute;
  top: -46vw;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/course/s4_bg.png) no-repeat center top;
  background-size: contain;
  z-index: -1;
}
#course #sec4 .floor-ttl {
  width: 34vw;
  margin-left: auto;
  margin-right: 6vw;
}
#course #sec4 .row1 {
  position: relative;
  z-index: 2;
}
#course #sec4 .row1 h2 {
  margin: -11vw 0 -11vw 2%;
  position: relative;
  z-index: 2;
}
#course #sec4 .row1 .photo {
  width: 75vw;
  margin-left: auto;
}
#course #sec4 .row1 .photo span {
  bottom: -9.5vw;
  right: 5vw;
  padding: 4vw 0 0vw;
  height: 27vw;
}
#course #sec4 .row2 {
  margin: -11vw 0 5vw;
}
#course #sec4 .row2 .photo {
  width: 67vw;
}
#course #sec4 .row2 .photo span {
  top: -22vw;
  left: 5vw;
  padding: 3vw 0 0vw;
  height: 52vw;
}
#course #sec4 .row2 .txt {
  margin: 3vw 0 0 3vw;
  padding-bottom: 0;
}
#course #sec5 {
  background: url(../img/shared/bg-bl.jpg) repeat;
  color: #fff;
  padding: 5vw 0 21vw;
  position: relative;
  z-index: 1;
}
#course #sec5:before {
  content: '';
  position: absolute;
  top: -3vw;
  left: 0;
  width: 100%;
  height: 500vw;
  background: url(../img/course/s5_bg.png) no-repeat center top;
  background-size: contain;
  z-index: -1;
}
#course #sec5:after {
  content: '';
  position: absolute;
  bottom: 69vw;
  right: 0;
  width: 50%;
  height: 64vw;
  background: url(../img/course/s5_deco.png) no-repeat center top;
  background-size: contain;
  z-index: -1;
}
#course #sec5 .photo span {
  bottom: 0vw;
  left: 2vw;
  padding: 0 4vw;
  letter-spacing: 2.5px;
}
#course #sec5 .floor-ttl {
  width: 33vw;
  margin: 0 2vw -12vw auto;
}
#course #sec5 h2 {
  margin-left: 2vw;
  margin-bottom: -8vw;
  position: relative;
  z-index: 2;
}
#course #sec5 .row1 .photo1 {
  width: 83vw;
}
#course #sec5 .row1 .photo2 {
  margin: 3.4vw -3px 0 20vw;
}
#course #sec5 .row1 .photo2 span {
  bottom: auto;
  top: 3vw;
  left: auto;
  right: 0;
}
#course #sec5 .row2 {
  margin: 2vw 0 -1vw;
}
#course #sec5 .row2 .txt {
  letter-spacing: 3px;
  margin-left: 10px;
  margin-bottom: 2vw;
}
#course #sec5 .row2 .photo {
  width: 63vw;
}
#course #sec5 .row2 .photo span {
  bottom: auto;
  top: 7vw;
  left: auto;
  right: -18vw;
}
#course .remodal-wrapper {
  padding: 0;
}
#course .remodal {
  background: url(../img/shared/bd_bg.jpg) repeat;
  padding: 30px 10px 50px;
}
#course .remodal-close {
  position: sticky;
  top: 15px;
  margin-left: auto;
  width: 35px;
}
#course .remodal-close img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#course .remodal-close:before {
  display: none;
}
#course .remodal h2 {
  text-align: center;
  font-size: 8.8vw;
  line-height: 1;
  margin: 20px 0 10px;
}
#course .remodal .note {
  text-align: center;
  margin-bottom: 30px;
}
#course .remodal .item {
  width: 87vw;
  margin: 0 auto;
  border-top: 1px solid;
  border-bottom: 1px solid;
  text-align: center;
  padding: 40px 0 31px;
  margin-bottom: 5px;
}
#course .remodal .item h3 {
  font-size: 22px;
  color: #322c25;
  line-height: 1.2;
}
#course .remodal .item h3 small {
  font-size: 14px;
    display: block;
}
#course .remodal .item .price {
  font-size: 20px;
  margin: 5vw 0 0vw;
  letter-spacing: 3px;
  padding-bottom: 0;
}
#course .remodal .item .price small {
  font-size: 13.5px;
}
#course .remodal .item p.text{
    padding-bottom: 15px;
}
#course .remodal .item .box {
  border: 1px solid #cdbbac;
  padding-top: 25px;
 /* min-height: 122vw;*/
        padding-bottom: 25px;
}
#course .remodal .item .box h4 {
  font-size: 15px;
  display: inline-block;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
#course .remodal .item .box h4:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: -5px;
  right: -5px;
  height: 1px;
  background: #322c25;
}
#course .remodal .item .box ul {
  text-align-last: left;
  margin-left: 10vw;
}
#course .remodal .item .box ul .note1 {
  font-size: 11.5px;
}
#course .remodal .button {
  text-align: center;
  color: #4f4f4f;
  font-size: 14px;
}
#course .remodal .button img {
  width: 25px;
  margin: 0 auto;
  height: 25px;
  display: block;
}

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