#header #key {
  background: url(../img/scene/key.jpg) no-repeat center top/cover;
}
#header #key .key-ttl {
  top: 283px;
  left: 141px;
}
#sec1 {
  padding: 171px 0 112px;
  position: relative;
}
#sec1::before {
  content: "";
  background: url(../img/scene/sec1_deco1.png) no-repeat;
  width: 1380px;
  height: 433px;
  position: absolute;
  top: 18px;
  left: calc(50% - 500px);
  z-index: -2;
}
#sec1::after {
  content: "";
  background: url(../img/scene/sec1_deco2.png) no-repeat center top/cover;
  height: 952px;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
}
#sec1 .wrap::before {
  content: "";
  background: url(../img/scene/sec1_deco3.png) no-repeat;
  width: 1072px;
  height: 654px;
  position: absolute;
  right: 0;
  bottom: -112px;
  z-index: -1;
}
#sec1 h2 {
  position: absolute;
  top: -110px;
  right: -19px;
  z-index: 2;
}
#sec1 .gr-pt {
  position: relative;
}
#sec1 .gr-pt .image {
  margin-left: -100px;
  display: inline-block;
}
#sec1 .gr-pt .image::before {
  background: url(../img/shared/bg2.jpg);
  top: 20px;
  bottom: -20px;
  right: 20px;
  left: -20px;
}
#sec1 .gr-pt h3 {
  position: absolute;
  bottom: -136px;
  left: -21px;
}
#sec1 .photo {
  position: absolute;
  top: 214px;
  right: 37px;
}
#sec1 .txt {
  margin: 158px auto 0;
  width: 682px;
}
#sec2 {
  background: url(../img/scene/sec2_bg1.png) no-repeat center top/100% auto;
  padding: 75px 0 93px;
  position: relative;
}
#sec2::before {
  content: "";
  background: url(../img/scene/sec2_deco1.png) no-repeat;
  width: 1279px;
  height: 244px;
  position: absolute;
  top: 27px;
  left: calc(50% - 414px);
  z-index: -1;
}
#sec2::after {
  content: "";
  background: url(../img/scene/sec2_deco2.png) no-repeat;
  width: 2050px;
  height: 1143px;
  position: absolute;
  top: 126px;
  left: calc(50% - 800px);
  z-index: -2;
}
#sec2 .wrap::before {
  content: "";
  background: url(../img/scene/sec2_deco3.png) no-repeat;
  width: 1024px;
  height: 817px;
  position: absolute;
  bottom: 151px;
  left: -720px;
  z-index: -1;
}
#sec2 .set1 {
  margin: 100px 0 63px;
  position: relative;
}
#sec2 .set1 .photo {
  margin: 0 -82px 0 auto;
  width: 680px;
}
#sec2 .set1 .photo::before {
  top: 20px;
  right: -20px;
  bottom: -20px;
  left: 20px;
}
#sec2 .set1 h3 {
  position: absolute;
  top: -16px;
  left: -7px;
}
#sec2 .set2 .item1 {
  display: flex;
  align-items: flex-start;
  margin-bottom: 84px;
}
#sec2 .set2 .item1 .left {
  flex: 1;
  margin-top: 73px;
  position: relative;
}
#sec2 .set2 .item1 .left .photo {
  height: 359px;
  margin-left: -120px;
}
@media screen and (max-width: 1240px) and (min-width: 768px) {
  #sec2 .set2 .item1 .left .photo {
    margin-left: calc(-50vw + 50%);
  }
}
#sec2 .set2 .item1 .left .sub {
  position: absolute;
  top: -103px;
  right: -63px;
}
#sec2 .set2 .item1 .right {
  width: 485px;
  margin: 0 5px 0 51px;
  text-align: center;
}
#sec2 .set2 .item1 .right .tit {
  font-weight: 700;
  margin: 27px 0 10px;
}
#sec2 .set2 .item1 .right .tit dt {
  margin-bottom: 4px;
}
#sec2 .set2 .item1 .right .tit dt span {
  background: #b10505;
  color: #fff;
  display: inline-block;
  padding: 6px 30px;
  font-size: 26px;
  letter-spacing: 0.05em;
}
#sec2 .set2 .item1 .right .tit dd {
  font-size: 40px;
  letter-spacing: 0.05em;
  line-height: 70px;
}
#sec2 .set2 .item1 .right .price {
  color: #be0101;
  background: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 30px;
  padding: 6px 15px;
  font-size: 20px;
}
#sec2 .set2 .item1 .right .price span {
  font-size: 30px;
  letter-spacing: 0.05em;
}
#sec2 .set2 .item1 .right .txt {
  text-align: left;
}
#sec2 .set2 .item2 {
  position: relative;
}
#sec2 .set2 .item2 .gr-pt {
  position: relative;
  width: 580px;
  margin: 0 -16px 0 auto;
}
#sec2 .set2 .item2 .gr-pt .photo::before {
  top: 15px;
  right: -15px;
  bottom: -15px;
  left: 15px;
}
#sec2 .set2 .item2 .gr-pt .sub {
  position: absolute;
  top: -75px;
  left: -101px;
  z-index: 2;
}
#sec2 .set2 .item2 .photo-cr {
  position: absolute;
  top: -159px;
  left: 32px;
}
#sec2 .set2 .item3 {
  margin: 61px 40px 0;
  position: relative;
  background: #1e2332;
  color: #fff;
  padding: 57px 50px 36px;
}
#sec2 .set2 .item3::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 20px;
  right: -20px;
  bottom: -10px;
  background:
    url(../img/shared/vertical_line.jpg) repeat-y left top,
    url(../img/shared/vertical_line.jpg) repeat-y right top,
    url(../img/shared/hor_line.png) repeat-x top left,
    url(../img/shared/hor_line.png) repeat-x bottom left;
}
#sec2 .set2 .item3 h3 {
  font-size: 30px;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 700;
  margin-bottom: 33px;
}
#sec2 .set2 .item3 .list {
  display: flex;
  justify-content: space-between;
  line-height: 32px;
  max-width: 560px;
  margin: 0 auto;
}
#sec3 {
  position: relative;
  padding: 28px 0 90px;
  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;
  width: 1268px;
  height: 248px;
  position: absolute;
  top: 70px;
  right: calc(50% - 288px);
  z-index: -1;
}
#sec3 h2 {
  position: absolute;
  top: 92px;
  left: 39px;
  z-index: 2;
}
#sec3 .catch {
  margin: 0 -120px 0 auto;
  width: -moz-fit-content;
  width: fit-content;
}
#sec3 .gr-txt {
  width: 490px;
  margin: 22px 7px 0 auto;
}
#sec3 .gr-txt h3 {
  font-size: 35px;
  font-weight: 700;
  line-height: 61px;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 27px;
}
#sec3 .gr-txt h3 .color {
  letter-spacing: 0;
  color: #b19348;
}
#sec3 .gr-txt h3 .fs50 {
  font-size: 50px;
}
#sec3 .gr-txt .btn-link {
  width: 382px;
  margin: 35px auto 0;
}
#sec3 .photo {
  position: absolute;
  top: 291px;
  left: -251px;
}
#sec4 {
  padding: 87px 0 99px;
  color: #fff;
  position: relative;
}
#sec4::before {
  content: "";
  background: url(../img/scene/sec4_deco2.png) no-repeat;
  width: 1610px;
  height: 318px;
  position: absolute;
  bottom: 147px;
  left: calc(50% - 807px);
  z-index: -2;
}
#sec4 .set1 {
  position: relative;
  padding: 43px 0 54px;
}
#sec4 .set1::before {
  content: "";
  background: url(../img/shared/bg2.jpg);
  position: absolute;
  top: 0;
  right: -13px;
  bottom: 0;
  left: 13px;
  z-index: -1;
}
#sec4 .set1::after {
  content: "";
  background: #1e2332;
  position: absolute;
  top: 20px;
  right: 7px;
  bottom: -20px;
  left: -7px;
  z-index: -2;
}
#sec4 .set1 .group::before {
  content: "";
  background: url(../img/scene/sec4_deco1.png) no-repeat;
  width: 707px;
  height: 490px;
  position: absolute;
  top: 256px;
  left: -158px;
  z-index: -1;
}
#sec4 .set1 h2 {
  text-align: center;
}
#sec4 .set1 .list {
  font-size: 26px;
  line-height: 39px;
  font-weight: 700;
  background: #1e2332;
  padding: 64px 35px 69px;
  width: 954px;
  margin: 35px auto 0;
}
#sec4 .set1 .list li:not(:last-child) {
  margin-bottom: 35px;
}
#sec4 .set1 .box-shared {
  padding: 38px 40px 39px;
}
#sec4 .set1 .box-shared .reserve {
  margin-top: 17px;
}
#sec4 .set2 .bnr {
  width: 730px;
  margin: 83px auto 0;
}
#sec4 .set2 .bnr::before {
  background: url(../img/scene/sec4_bnr_deco.png) no-repeat;
  width: 380px;
  height: 228px;
}
#sec4 .set2 .bnr a::before {
  border-color: #1e2332;
}
#sec4 .set2 .bnr a::after {
  background: url(../img/scene/sec4_bnr_arr.png) no-repeat right bottom;
}
#sec4 .set2 .bnr a .photo img {
  height: 259px;
}
#sec4 .set2 .bnr a h3 {
  top: 49px;
  left: 28px;
}
#sec5 {
  background: url(../img/scene/sec5_bg1.png) no-repeat center top/100% auto;
  position: relative;
  padding: 56px 0 77px;
}
#sec5::before {
  content: "";
  background: url(../img/scene/sec5_deco1.png) no-repeat center top/cover;
  height: 842px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: -2;
}
#sec5::after {
  content: "";
  background: url(../img/scene/sec5_deco2.png) no-repeat;
  width: 966px;
  height: 924px;
  position: absolute;
  top: 0;
  left: calc(50% - 166px);
  z-index: -1;
}
#sec5 .set1 {
  position: relative;
}
#sec5 .set1::before {
  content: "";
  background: url(../img/scene/sec5_bg.png);
  position: absolute;
  top: -56px;
  right: 0;
  bottom: -314px;
  left: 0;
  z-index: -1;
}
#sec5 .set1 h2 {
  text-align: center;
}
#sec5 .set1 h3 {
  margin: 9px 0 24px -1px;
}
#sec5 .set1 .item1 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
#sec5 .set1 .item1 .floormap {
  width: 734px;
}
#sec5 .set1 .item1 .catch {
  flex: 1;
  margin: 0 9px 0px -23px;
}
#sec5 .set1 .item1 .catch span {
  font-size: 32px;
  letter-spacing: 0.1em;
  display: inline-block;
  padding: 7px 6px 10px;
  background: #1e2332;
  color: #fff;
  text-align: center;
}
#sec5 .set1 .txt {
  width: 484px;
  margin: 40px 6px 0 auto;
}
#sec5 .set2 {
  padding: 134px 0 0;
  position: relative;
}
#sec5 .set2::before {
  content: "";
  background: url(../img/scene/sec5_deco3.png) no-repeat;
  width: 1214px;
  height: 824px;
  position: absolute;
  top: 134px;
  left: calc(50% - 411px);
  z-index: -1;
}
#sec5 .set2::after {
  content: "";
  background: url(../img/scene/sec5_deco4.png) no-repeat;
  width: 794px;
  height: 675px;
  position: absolute;
  bottom: 69px;
  right: calc(50% + 31px);
  z-index: -1;
}
#sec5 .set2 h3 {
  position: absolute;
  top: -120px;
  left: 148px;
  z-index: 1;
}
#sec5 .set2 .item1 {
  display: flex;
  justify-content: space-between;
}
#sec5 .set2 .item1 .photo {
  width: 600px;
  margin-left: -58px;
}
#sec5 .set2 .item1 .photo::before {
  background: #1e2332;
  top: 20px;
  left: -20px;
  bottom: -20px;
  right: 20px;
}
#sec5 .set2 .item1 .gr-txt {
  width: 420px;
  margin: 204px 14px 0 0;
}
#sec5 .set2 .item1 .gr-txt .catch {
  text-align: center;
  margin-bottom: 49px;
}
#sec5 .set2 .item1 .gr-txt .catch span {
  font-size: 30px;
  letter-spacing: 0.1em;
  display: inline-block;
  padding: 7px 6px 10px;
  background: #1e2332;
  color: #fff;
  text-align: center;
}
#sec5 .set2 .item2 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: -55px;
}
#sec5 .set2 .item2 .photo::before {
  background: #1e2332;
  top: -20px;
  right: -20px;
  bottom: 20px;
  left: 20px;
}
#sec5 .set2 .item3 {
  margin: 47px 0 0;
  width: 670px;
}
#sec5 .set2 .item3 .note {
  text-align: right;
  margin: 8px 8px 0px 0;
}
#sec6 {
  background: url(../img/scene/sec6_bg.png) no-repeat center top/100% auto;
  padding: 186px 0 99px;
  color: #fff;
  position: relative;
}
#sec6::before {
  content: "";
  background: url(../img/shared/bg4.jpg);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
}
#sec6::after {
  content: "";
  background: url(../img/scene/sec6_deco1.png) no-repeat;
  width: 1291px;
  height: 264px;
  position: absolute;
  top: 17px;
  left: calc(50% - 885px);
  z-index: -1;
}
#sec6 .wrap::before {
  content: "";
  background: url(../img/scene/sec6_deco2.png) no-repeat;
  width: 818px;
  height: 700px;
  position: absolute;
  bottom: -99px;
  right: -522px;
  z-index: -1;
}
#sec6 h2 {
  text-align: center;
}
#sec6 .faq {
  margin: 61px -48px 0;
  padding: 38px 30px 47px 89px;
  background: #1e2332;
  font-weight: 700;
}
#sec6 .faq .item:not(:last-child) {
  margin-bottom: 32px;
}
#sec6 .faq .item dl {
  display: flex;
}
#sec6 .faq .item dl dt {
  font-size: 36px;
  letter-spacing: 0.05em;
  width: 62px;
  color: #f5e6c0;
}
#sec6 .faq .item dl dd {
  flex: 1;
  font-size: 20px;
  line-height: 39px;
  letter-spacing: 0.05em;
  margin-top: -5px;
}
#sec6 .faq .item .q dd {
  margin-top: 2px;
}
#sec6 .faq .item .a {
  margin-top: 34px;
}
#sec6 .faq .item .a dt {
  color: #b10505;
}
@media screen and (max-width: 1250px) and (min-width: 768px) {
  #sec3 h2 {
    left: 0;
  }
  #sec3 .catch {
    margin-right: calc(-50vw + 500px + 20px);
  }
}
@media screen and (max-width: 1199px) and (min-width: 768px) {
  #header #key .key-ttl {
    left: 40px;
  }
}
