.txt {
   text-align: justify;
}

@media only screen and (max-width: 767px) {
   .txt br {
      display: none;
   }
}

@media only screen and (min-width: 768px) {
   .txt-c .txt {
      text-align: center;
   }
}

@media only screen and (max-width: 767px) {
   .key-parallax .slide-item1:before {
      content: '';
      width: 100%;
      height: 50%;
      background: url("../img/curry/key-img.jpg") no-repeat top left/210% auto;
      position: absolute;
      top: 0;
      left: 0;
   }

   .key-parallax .slide-item1:after {
      content: '';
      width: 100%;
      height: 50%;
      background: url("../img/curry/key-img.jpg") no-repeat right bottom/210% auto;
      position: absolute;
      bottom: 0;
      left: 0;
   }
}

@media only screen and (min-width: 768px) {
   .key-parallax .slide-item1 {
      background: url("../img/curry/key-img.jpg") no-repeat center top/cover;
   }
}

#lead {
   background: transparent;
   position: relative;
}
/*#lead .h-32 {
      font-size: 5.4vw;
}*/

@media only screen and (max-width: 767px) {
   #lead {
      padding: 20vw 0;
   }

   #lead .txt {
      padding-top: 8vw;
   }
#lead .h-32 {
      font-size: 5.4vw;
}
}

@media only screen and (min-width: 768px) {
   #lead {
      padding: 270px 0 286px;
   }

   #lead .txt {
      padding-top: 70px;
   }
#lead .h-32 {
      font-size: 32px;
}
}

#sec1 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec1 {
      padding: 25vw 0 16vw;
   }

   #sec1:before {
      content: '';
      width: 100%;
      height: 100%;
      background: url("../img/curry/sec1-deco.png") no-repeat center top/100% auto;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec1 time {
      display: block;
      padding-top: 2vw;
   }

   #sec1 figure {
      margin-top: 6vw;
   }

   #sec1 .txt {
      padding-top: 6vw;
   }
}

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

   #sec1:before {
      content: '';
      width: 100%;
      height: 100%;
      background: url("../img/curry/sec1-deco.png") no-repeat center top;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec1 time {
      display: block;
      font-size: 18px;
      line-height: 36px;
      letter-spacing: 0.3em;
      padding: 22px 0 47px;
   }

   #sec1 time span {
      letter-spacing: inherit;
      line-height: inherit;
   }

   #sec1 figure {
      width: 405px;
      margin: 0 auto;
   }

   #sec1 .txt {
      padding-top: 65px;
   }
}

#sec2 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec2 {
      padding-bottom: 12vw;
   }

   #sec2 .photo {
      display: flex;
      justify-content: center;
      align-items: center;
      background: url("../img/curry/sec2-bg-img.jpg") no-repeat center top/cover;
      width: 100%;
      height: 60vw;
      box-sizing: border-box;
   }

   #sec2 .photo .wrap {
      padding: 0 4vw;
   }

   #sec2 h2 {
      background: url("../img/curry/sec2-ttl-deco.png") no-repeat center left/auto 100%;
      padding: 4vw 0 0vw 15vw;
   }

   #sec2 figure {
      margin-top: -8vw;
   }

   #sec2 h3 {
      padding-top: 8vw;
   }

   #sec2 .txt {
      padding-top: 6vw;
   }
}

@media only screen and (min-width: 768px) {
   #sec2 .photo {
      background: url("../img/curry/sec2-bg-img.jpg") no-repeat center top/cover;
      width: 100%;
      height: 492px;
      padding: 248px 0 0;
      box-sizing: border-box;
   }

   #sec2 h2 {
      width: 393px;
      background: url("../img/curry/sec2-ttl-deco.png") no-repeat center left;
      margin-left: auto;
      padding: 80px 0 10px 108px;
   }

   #sec2 figure {
      width: 595px;
      position: absolute;
      top: -60px;
      right: -33px;
   }

   #sec2 .col {
      width: 380px;
      padding: 87px 0 224px;
   }

   #sec2 h3 {
      letter-spacing: 0.3em;
   }

   #sec2 .txt {
      padding-top: 26px;
   }
}

#sec3 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec3 {
      padding-bottom: 12vw;
   }

   #sec3 .photo {
      display: flex;
      justify-content: center;
      align-items: center;
      background: url("../img/curry/sec3-bg-img.jpg") no-repeat center top/cover;
      width: 100%;
      height: 60vw;
      box-sizing: border-box;
   }

   #sec3 .photo .wrap {
      padding: 0 4vw;
   }

   #sec3 h2 {
      background: url("../img/curry/sec2-ttl-deco.png") no-repeat center left/auto 100%;
      padding: 4vw 0 0vw 15vw;
   }

   #sec3 figure:nth-child(1) {
      margin-top: -8vw;
      position: relative;
      z-index: 1;
   }

   #sec3 figure:nth-child(2) {
      margin-top: -8vw;
      margin-right: -14vw;
   }

   #sec3 h3 {
      letter-spacing: 0.25em;
      padding-top: 8vw;
   }

   #sec3 .txt {
      padding-top: 6vw;
   }
}

@media only screen and (min-width: 768px) {
   #sec3 .photo {
      background: url("../img/curry/sec3-bg-img.jpg") no-repeat center top/cover;
      width: 100%;
      height: 492px;
      padding: 150px 0 0;
      box-sizing: border-box;
   }

   #sec3 h2 {
      width: 370px;
      background: url("../img/curry/sec2-ttl-deco.png") no-repeat center left;
      margin-left: auto;
      padding: 80px 0 10px 125px;
   }

   #sec3 figure:nth-child(1) {
      width: 515px;
      position: absolute;
      top: -122px;
      right: 47px;
      z-index: 1;
   }

   #sec3 figure:nth-child(2) {
      width: 650px;
      position: absolute;
      top: 243px;
      right: -250px;
   }

   #sec3 .col {
      width: 380px;
      padding: 95px 0 310px;
   }

   #sec3 h3 {
      letter-spacing: 0.3em;
      line-height: 50px;
   }

   #sec3 .txt {
      padding-top: 26px;
   }
}

#sec4 {
   background: #000;
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec4 {
      padding: 25vw 0 16vw;
   }

   #sec4 time {
      display: block;
      padding-top: 2vw;
   }

   #sec4 .photo {
      box-shadow: 0px 0px 52px 5.7px rgba(217, 213, 176, 0.3);
      margin-top: 8vw;
   }

   #sec4 .txt {
      padding-top: 8vw;
   }
}

@media only screen and (min-width: 768px) {
   #sec4 {
      padding: 157px 0 160px;
   }

   #sec4 time {
      display: block;
      line-height: 36px;
      letter-spacing: 0.3em;
      padding: 22px 0 87px;
   }

   #sec4 .photo {
      width: 405px;
      margin: 0 auto;
      box-shadow: 0px 0px 52px 5.7px rgba(217, 213, 176, 0.3);
   }

   #sec4 .txt {
      padding-top: 65px;
   }
}

#sec5 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec5 {
      padding: 20vw 0;
   }

   #sec5 .col {
      padding-top: 8vw;
   }
   #sec5 h3 {
	   color: #BCBCBC;
	   font-size: 20px;
      letter-spacing: 0.3em;
      line-height: 40px;
   }
   #sec5 .txt {
      padding-top: 6vw;
   }

   #sec5 .photo-2,
   #sec5 .button {
      padding-top: 8vw;
   }

   #sec5 .photo-2 .slick-dots {
      gap: 6vw;
      padding-top: 6vw;
   }

   #sec5 .photo-2 .slick-dots li {
      width: 3vw;
      height: 3vw;
   }

   #sec5 .photo-2 .slick-dots li button {
      height: 100%;
      border-radius: 50%;
   }

   #sec5 .photo-2 .slick-dots li.slick-active button {
      background-color: #fff;
   }
}

@media only screen and (min-width: 768px) {
   #sec5 {
      padding: 150px 0 142px;
   }

   #sec5 .col {
      width: 460px;
      margin-left: auto;
      padding-top: 45px;
      position: relative;
      right: -10px;
   }

   #sec5 h2 {
      letter-spacing: 0.3em;
      line-height: 50px;
   }
   #sec5 h3 {
	   color: #BCBCBC;
	   font-size: 20px;
      letter-spacing: 0.3em;
      line-height: 40px;
   }
   #sec5 .txt {
      padding-top: 30px;
   }

   #sec5 .photo-1 {
      width: 720px;
      position: absolute;
      top: 0;
      left: -250px;
   }

   #sec5 .photo-2 {
      display: flex;
      justify-content: flex-end;
      gap: 20px;
      position: relative;
      right: -80px;
      padding-top: 100px;
   }

   #sec5 .button {
      padding-top: 83px;
   }

   #sec5 .button a {
      max-width: 500px;
      margin: 0 auto;
   }
}
@media only screen and (max-width: 767px) {
   .popup-course .box {
      padding-top: 8vw;
   }

   .popup-course .box .item + .item {
      padding-top: 8vw;
   }
	.popup-course .box .col {
		margin-top: 8vw;
	}
   .popup-course .box h3 {
      font-size: 4vw;
      line-height: 1.2;
      letter-spacing: 0.15em;
      border-bottom: 1px solid #7b7b7b;
      padding-bottom: 12px;
   }

   .popup-course .box dl {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      line-height: 22px;
      letter-spacing: 0.15em;
      border-bottom: 1px solid #7b7b7b;
      padding: 12px 0;
   }

   .popup-course .box dl dt {
      flex: 1 0 0;
   }
}

@media only screen and (min-width: 768px) {
   .popup-course .box {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 35px;
      padding-top: 60px;
   }

   .popup-course .box .item+.item {
      padding-top: 60px;
   }

   .popup-course .box h3 {
      font-size: 17px;
      line-height: 22px;
      letter-spacing: 0.15em;
      border-bottom: 1px solid #7b7b7b;
      padding-bottom: 12px;
   }

   .popup-course .box dl {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 15px;
      line-height: 22px;
      letter-spacing: 0.15em;
      border-bottom: 1px solid #7b7b7b;
      padding: 12px 0;
   }

   .popup-course .box dl dt {
      flex: 1 0 0;
   }
}