#key {
   background: url("../img/room/key.jpg") no-repeat center/cover;
}

#lead {
   position: relative;
}

@media only screen and (max-width: 767px) {
  header .logo {
      top: 35vh;
      left: 45%;
   }
   #lead {
      padding: 20vw 0 0;
   }

   #lead .wrap {
      padding: 0 4vw;
   }

   #lead h2 {
      width: 45vw;
      height: 55vw;
      text-align: left;
      margin-left: auto;
   }

   #lead .txt {
      padding: 6vw 4.6vw 0;
   }

   #lead .button {
      padding-top: 8vw;
   }

   #lead .button a {
      width: 86vw;
   }

   #lead .button a:after {
      right: 2vw;
   }

   #lead .box-1 {
      padding-bottom: 20vw;
   }

   #lead .box-2 {
      padding-bottom: 20vw;
      position: relative;
   }

   #lead .box-2 .photo-1 {
      width: 60%;
      padding-top: 12vw;
   }

   #lead .box-2 .photo-2 {
      width: 35%;
      position: absolute;
      top: 0;
      right: 0;
   }

   #lead .box-3 {
      padding-bottom: 20vw;
      position: relative;
   }

   #lead .box-3 .photo-1 {
      width: 60%;
      padding-top: 12vw;
   }

   #lead .box-3 .photo-2 {
      width: 35%;
      position: absolute;
      top: 0;
      right: 0;
   }

   #lead .box-3 .photo-3 {
      width: 35%;
      position: absolute;
      top: 55vw;
      left: 4vw;
   }

   #lead .box-3 .photo-4 {
      width: 50%;
      margin-left: auto;
      padding: 20vw 4vw 0 0;
   }

   #lead .box-3 .txt {
      width: 100%;
      box-sizing: border-box;
      padding-left: 20px;
      text-indent: -20px;
   }

   #lead .bg-parallax {
      min-height: 80vw;
   }
}

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

   #lead h2 {
      width: 180px;
      height: 306px;
      text-align: left;
      margin-left: auto;
      position: relative;
      left: 15px;
   }

   #lead .box-1 {
      padding-bottom: 180px;
   }

   #lead .box-1 .txt {
      padding-top: 105px;
   }

   #lead .box-1 .button {
      padding-top: 70px;
   }

   #lead .box-2 {
      position: relative;
      padding-bottom: 78px;
   }

   #lead .box-2 .photo-1 {
      width: 585px;
      position: absolute;
      bottom: 78px;
      left: -100px;
   }

   #lead .box-2 .photo-2 {
      width: 383px;
      margin-left: auto;
      position: relative;
      left: 200px;
   }

   #lead .box-2 .txt {
      width: 350px;
      margin-left: auto;
      padding: 384px 30px 102px 0;
   }

   #lead .box-3 {
      position: relative;
      margin-bottom: 280px;
   }

   #lead .box-3 .photo-1 {
      width: 739px;
      padding-top: 204px;
      position: relative;
      left: -164px;
   }

   #lead .box-3 .photo-2 {
      width: 370px;
      position: absolute;
      top: 0;
      right: -203px;
   }

   #lead .box-3 .photo-3 {
      width: 373px;
      padding-top: 200px;
      position: relative;
      left: -80px;
   }

   #lead .box-3 .photo-4 {
      width: 562px;
      position: absolute;
      bottom: 0;
      right: -63px;
   }

   #lead .box-3 .txt {
      width: 350px;
      padding: 266px 0 30px 19px;
      text-indent: -19px;
   }

   #lead .bg-parallax {
      background-image: url("../img/room/lead-parallax-img.jpg");
      min-height: 800px;
   }
}

#special {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #special {
      padding-bottom: 20vw;
      margin-top:20vw;
   }

   #special h3 {
      font-size: 5.6vw;
   }

   #special .price {
      font-size: 4vw;
      line-height: 2;
   }

   #special .price span {
      font-size: 5.6vw;
   }

   #special .box-1 .col {
      padding-top: 8vw;
   }

   #special .box-1 .price {
      padding-top: 2vw;
   }

   #special .box-1 hr {
      border: 0;
      border-top: 1px solid #000;
      margin-top: 6vw;
   }

   #special .box-1 .txt {
      padding-top: 6vw;
   }

   #special .box-2 {
      padding-top: 12vw;
   }

   #special .box-2 .col {
      padding-top: 8vw;
   }

   #special .box-2 .txt {
      padding-top: 5vw;
   }
}

@media only screen and (min-width: 768px) {
   #special {
      margin-top:200px;
      padding-bottom: 264px;
   }

   #special .box-1 {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      gap: 20px;
      padding-bottom: 222px;
   }

   #special .box-1 figure {
      width: 584px;
      position: relative;
      left: -100px;
   }

   #special .box-1 .col {
      width: 370px;
      padding: 43px 0;
   }

   #special .box-1 h3 {
      padding-bottom: 20px;
   }

   #special .box-1 .price span {
      font-size: 20px;
   }

   #special .box-1 hr {
      border: 0;
      border-top: 1px solid #000;
      margin-top: 45px;
      margin-right: -20px;
   }

   #special .box-1 .txt {
      padding-top: 47px;
   }

   #special .box-2 {
      display: flex;
      justify-content: space-between;
      gap: 20px;
   }

   #special .box-2 figure {
      width: 631px;
      order: 2;
      margin-right: -100px;
   }

   #special .box-2 .col {
      width: 380px;
      order: 1;
      padding: 48px 0;
   }

   #special .box-2 h3 {
      letter-spacing: 0.14em;
   }

   #special .box-2 .txt {
      padding-top: 63px;
   }
}