.wrap {
  padding: 0 4%;
}
#header #key .key-ttl {
  position: absolute;
  left: 0;
  bottom: 9.1vw;
  width: 27.5%;
}
#sec1 {
  padding: 6.3vw 0 22vw;
  background: url(../img/scene/sec1_deco1.png) no-repeat center top/100% auto;
  position: relative;
}
#sec1::before {
  content: "";
  background: url(../img/scene/sec1_deco2.png) no-repeat center bottom/100% auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#sec1 h2 {
  margin-left: -4vw;
  width: 84%;
  position: relative;
  z-index: 2;
}
#sec1 .photo {
  margin: -14.7vw -4vw 0 auto;
  width: 60.5%;
  position: relative;
  z-index: 1;
}
#sec1 .gr-pt {
  margin: -15.7vw 0 6vw;
  position: relative;
}
#sec1 .gr-pt .image {
  margin: 0 -4vw 0 -2vw;
}
#sec1 .gr-pt .image::before {
  background: url(../img/shared/bg2.jpg);
  top: 9px;
  right: 9px;
  bottom: -9px;
}
#sec1 .gr-pt h3 {
  position: absolute;
  top: 0;
  left: -4vw;
  width: 67%;
}
#sec2 {
  padding: 5.5vw 0 16vw;
  position: relative;
}
#sec2::before {
  content: "";
  background: url(../img/scene/sec2_deco1.png) no-repeat center top/100% auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
}
#sec2 .item1 {
  position: relative;
}
#sec2 .item1 .photo1 {
  width: 62%;
  margin: 61vw 0 0 -2.5vw;
}
#sec2 .item1 .photo1::before {
  top: -6px;
  left: -10px;
  bottom: 6px;
  right: 6px;
}
#sec2 .item1 .photo2 {
  margin: 4.8vw 0 0 21%;
  width: 61.5%;
}
#sec2 .item1 .photo2::before {
  top: 6px;
  right: -6px;
  bottom: -6px;
  left: 6px;
}
#sec2 .item1 .photo3 {
  position: absolute;
  top: -13.5vw;
  right: -4vw;
  width: 60.5%;
}
#sec2 .item2 {
  text-align: center;
  padding: 3.5vw 0 0;
  position: relative;
}
#sec2 .item2::before {
  content: "";
  background: url(../img/scene/sec2_deco2.png) no-repeat left top/100% auto;
  position: absolute;
  top: -5.5vw;
  left: -4vw;
  width: 58%;
  bottom: 0;
  z-index: -2;
}
#sec2 .item2 .note {
  text-align: center;
}
#sec2 .item2 .tit {
  font-weight: 700;
  margin: 2.5vw 0 0;
}
#sec2 .item2 .tit dt {
  margin-bottom: 2vw;
}
#sec2 .item2 .tit dt span {
  background: #b10505;
  color: #fff;
  display: inline-block;
  padding: 0 15px;
  font-size: 3.5vw;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
#sec2 .item2 .tit dd {
  font-size: 6.7vw;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
#sec2 .item2 .price {
  color: #be0101;
  background: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  width: -moz-fit-content;
  width: fit-content;
  margin: 2vw auto 15px;
  padding: 2px 7px;
  font-size: 4.5vw;
}
#sec2 .item2 .price span {
  font-size: 7.2vw;
  letter-spacing: 0.05em;
}
#sec3 {
  position: relative;
  padding: 9.5vw 0 20vw;
  color: #fff;
}
#sec3::before {
  content: "";
  background: url(../img/shared/bg4.jpg);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
}
#sec3::after {
  content: "";
  background: url(../img/scene/sec3_deco.png) no-repeat center top/100% auto;
  position: absolute;
  top: 5.2vw;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#sec3 h2 {
  margin: 0 20%;
}
#sec3 .photo {
  margin: 0 -4vw;
}
#sec3 .gr-txt {
  text-align: center;
  margin-top: 5.5vw;
}
#sec3 .gr-txt h3 {
  font-size: 4.7vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 4vw;
}
#sec3 .gr-txt h3 .color {
  letter-spacing: 0;
  color: #b19348;
}
#sec3 .gr-txt h3 .fs50 {
  font-size: 6.7vw;
}
#sec3 .gr-txt .btn-link {
  width: 85%;
  margin: 12vw auto 0;
}
#sec4 {
  padding: 7.3vw 0 0;
}
#sec4 .set1 {
  background: #1e2332;
  color: #fff;
  padding: 4.3vw 0 6vw;
  position: relative;
}
#sec4 .set1::before {
  content: "";
  background: url(../img/scene/sec4_deco1.png) no-repeat left top/100% auto;
  position: absolute;
  top: 0;
  left: 0;
  width: 82.1%;
  bottom: 0;
}
#sec4 .set1 .group {
  background: url(../img/shared/bg2.jpg);
  padding: 9vw 0 11vw;
}
#sec4 .set1 .group .list {
  font-size: 16px;
  line-height: 28px;
  font-weight: 700;
  background: #1e2332;
  padding: 7vw 3% 7vw;
  margin-top: 8vw;
}
#sec4 .set1 .group .list li:not(:last-child) {
  margin-bottom: 0;
}
#sec4 .set2 {
  padding: 7.5vw 0 14.4vw;
  background: url(../img/scene/sec4_deco2.png) no-repeat center top/100% auto;
}
#sec5 .set1 {
  background: url(../img/scene/sec5_bg1.png) no-repeat center top/100% auto;
  padding: 81vw 0 7vw;
}
#sec5 .set1 h2 {
  margin: 0 15%;
}
#sec5 .set1 h3 {
  margin: -4.9vw -4vw 0;
}
#sec5 .set1 .floormap {
  margin: 0 -4vw;
}
#sec5 .set1 .catch {
  text-align: center;
  margin: 20px 0 10px;
}
#sec5 .set1 .catch span {
  font-size: 3.5vw;
  letter-spacing: 0.05em;
  display: inline-block;
  padding: 0 23px;
  background: #1e2332;
  color: #fff;
  text-align: center;
  line-height: 2;
}
#sec5 .set2 {
  padding-bottom: 12vw;
  background: url(../img/scene/sec5_line.jpg) repeat-x left bottom;
}
#sec5 .set2 h3 {
  margin: 0 -4vw;
}
#sec5 .set2 .js {
  margin: 0 -2vw 10vw -4vw;
}
#sec5 .set2 .js .slick-list {
  overflow: visible !important;
}
#sec5 .set2 .js .sl::before {
  background: #1e2332;
  top: 8px;
  left: 8px;
  bottom: -8px;
  right: -4vw;
}
#sec5 .set2 .note {
  margin: 4px 0 10px;
  font-size: 14px;
  letter-spacing: 0.1em;
}
#sec5 .set2 .catch {
  text-align: center;
  margin-bottom: 11px;
}
#sec5 .set2 .catch span {
  font-size: 3.5vw;
  letter-spacing: 0.05em;
  display: inline-block;
  padding: 0 15px;
  background: #1e2332;
  color: #fff;
  text-align: center;
  line-height: 2;
}
#sec5 .set2 .btn-link {
  width: 85%;
  margin: 22px auto 0;
}
#sec6 {
  padding: 21.7vw 0 15vw;
  color: #fff;
  position: relative;
  background: url(../img/scene/sec6_deco.png) no-repeat center top/100% auto;
}
#sec6::before {
  content: "";
  background: url(../img/shared/bg4.jpg);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
}
#sec6 h2 {
  width: 52%;
  margin: 0 auto 7vw;
}
#sec6 .faq {
  padding: 5.5vw 4.5% 8vw;
  background: #1e2332;
}
#sec6 .faq .item:not(:last-child) {
  margin-bottom: 10px;
}
#sec6 .faq .item dl {
  display: flex;
}
#sec6 .faq .item dl dt {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.05em;
  width: 34px;
  color: #f5e6c0;
}
#sec6 .faq .item dl dd {
  flex: 1;
  font-size: 14px;
  line-height: 28px;
  letter-spacing: 0.05em;
  margin-top: 2px;
}
#sec6 .faq .item .a {
  margin-top: 7px;
}
#sec6 .faq .item .a dt {
  color: #b10505;
}
