#key {
  background-image: url("../img/shinsakae-shop/key_sp.jpg");
}

@media screen and (min-width: 768px) {
  #key {
    background-image: url("../img/shinsakae-shop/key.jpg");
  }
}

#sec1 {
  padding: 20vw 6.7vw;
  position: relative;
}

#sec1:before {
  content: '';
  width: 50vw;
  height: 100vw;
  background-image: url("../img/shinsakae-shop/sec1_deco2.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: 0;
  top: -26vw;
}

#sec1 h2 {
  margin-bottom: 6vw;
  position: relative;
  z-index: 1;
}

#sec1 h2 small.r1 {
  display: table;
  margin: 0 0 2vw auto;
  font-size: 6.4vw;
  letter-spacing: 0.1em;
  position: relative;
  padding-bottom: 1vw;
}

#sec1 h2 small.r1:after {
  content: '';
  height: 1px;
  background: #181818;
  position: absolute;
  right: -6.7vw;
  bottom: 0;
  left: 0;
}

#sec1 h2 small.r1 span {
  font-size: 7vw;
}

#sec1 h2 span.db {
  font-size: 9vw;
  letter-spacing: 0.05em;
  line-height: 12vw;
  margin-left: -7vw;
}

#sec1 h2 span.db small {
  font-size: 7.6vw;
  margin-left: -1.5vw;
}

#sec1 .txt {
  margin-bottom: 10vw;
}

#sec1 .deco {
  width: 80vw;
  position: absolute;
  left: -20vw;
  top: -20vw;
}

@media screen and (min-width: 768px) {
  #sec1 {
    padding: 137px 0px 113px;
  }
  #sec1:before {
    width: 250px;
    height: 543px;
    top: 0;
  }
  #sec1 .inner {
    max-width: 1300px;
    width: 100%;
    margin: 0 auto;
  }
  #sec1 h2 {
    margin: 0 -14px 61px 0;
  }
  #sec1 h2 small.r1 {
    margin: 0 0 34px auto;
    font-size: 48px;
    padding-bottom: 8px;
  }
  #sec1 h2 small.r1:after {
    right: -30vw;
    bottom: 0;
  }
  #sec1 h2 small.r1 span {
    font-size: 56px;
    letter-spacing: 0.1em;
  }
  #sec1 h2 span.db {
    font-size: 80px;
    line-height: 90px;
    margin: 0 8px 0 0;
  }
  #sec1 h2 span.db small {
    font-size: 60px;
    margin-left: -29px;
  }
  #sec1 .txt {
    order: 2;
    width: 310px;
    height: 500px;
    letter-spacing: 0.14em;
    margin: 52px 43px 0 0;
  }
  #sec1 .img {
    order: 1;
    max-width: 819px;
    width: calc(100% - 310px);
    height: 577px;
    position: relative;
    z-index: 1;
  }
  #sec1 .deco {
    width: 845px;
    left: 0;
    top: -266px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1500px) {
  #sec1 .deco {
    left: calc(50% - 750px);
  }
}

@media screen and (min-width: 768px) and (max-width: 1490px) {
  #sec1 h2 {
    margin-right: calc(-50vw + 55%);
  }
}

@media screen and (min-width: 768px) and (max-width: 1360px) {
  #sec1 .txt {
    margin-right: 90px;
  }
  #sec1 .img {
    max-width: 770px;
  }
}

#sec2 {
  position: relative;
  z-index: 0;
}

#sec2:before {
  content: '';
  background-image: url("../img/shared/pattern1.jpg");
  background-size: 30vw;
  position: absolute;
  left: 0;
  right: 0;
  top: 8vw;
  bottom: 0;
  z-index: -3;
}

#sec2 .cl-yellow3 {
  text-shadow: 1px 1px 0px #7b7253, -1px -1px 0px #7b7253, 0px 0px 4px #5a512b;
}

#sec2 .set1 {
  position: relative;
  z-index: 0;
  padding: 0 6.7vw 15vw;
}

#sec2 .set1:before {
  content: '';
  width: 80vw;
  height: 80vw;
  background-image: url("../img/shinsakae-shop/sec2_set1_deco1.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  left: 0;
  top: 80vw;
  z-index: -1;
}

#sec2 .set1:after {
  content: '';
  width: 96vw;
  background: #000;
  position: absolute;
  left: 0vw;
  top: 130vw;
  bottom: 45vw;
  z-index: -2;
}

#sec2 .set1 .col-right {
  margin-bottom: 8vw;
}

#sec2 .set1 .col-right .img1 {
  margin: 0 -6.7vw 5vw auto;
}

#sec2 .set1 .col-right .img2 {
  width: 60vw;
  height: 40vw;
  margin: 0 -6.7vw 5vw auto;
}

#sec2 .set1 .col-right .img3 {
  width: 60vw;
  height: 40vw;
  margin: 0 -6.7vw 0 auto;
}

#sec2 .set1 .col-left h2 {
  white-space: nowrap;
  position: absolute;
  left: 3vw;
  top: 81vw;
  z-index: 1;
}

#sec2 .set1 .col-left h2 .fz60 {
  font-size: 9vw;
}

#sec2 .set1 .col-left h2 .fz150 {
  font-size: 20vw;
}

#sec2 .set1 .col-left h2 .fz120 {
  font-size: 16vw;
}

#sec2 .set1 .col-left h2 .r1 {
  line-height: 15vw;
  letter-spacing: 0;
}

#sec2 .set1 .col-left h2 .r1 span {
  position: relative;
}

#sec2 .set1 .col-left h2 .r1 .r1-2 {
  margin-top: -8vw;
  left: 7vw;
}

#sec2 .set1 .col-left h2 .r1 .r1-3 {
  margin-top: -7vw;
}

#sec2 .set1 .col-left h2 .r1 .r1-4 {
  margin-top: -8vw;
  left: 7vw;
}

#sec2 .set1 .col-left h2 .r1 .r1-5 {
  margin-top: -4vw;
}

#sec2 .set1 .col-left h2 .r2 {
  margin-top: 42vw;
}

#sec2 .set1 .col-left .txt {
  margin-bottom: 8vw;
  position: relative;
  z-index: 1;
}

#sec2 .set1 .col-left .floormap {
  margin: 0 -3.3vw;
  position: relative;
  z-index: 0;
}

#sec2 .set1 .col-left .floormap:before {
  content: '';
  width: 18vw;
  height: 60vw;
  background-image: url("../img/shinsakae-shop/sec2_set1_deco3.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  left: 0;
  top: -20vw;
  z-index: -1;
}

#sec2 .set2 {
  padding: 0 6.7vw 20vw;
  position: relative;
  z-index: 0;
}

#sec2 .set2:before {
  content: '';
  width: 100vw;
  height: 100vw;
  background-image: url("../img/shinsakae-shop/sec2_set2_deco1.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: -50vw;
  top: 60vw;
  z-index: -1;
}

#sec2 .set2:after {
  content: '';
  width: 96vw;
  background: #000;
  position: absolute;
  right: 0vw;
  top: 105vw;
  bottom: 45vw;
  z-index: -2;
}

#sec2 .set2 .col-left .img1 {
  margin: 0 0 8vw -6.7vw;
}

#sec2 .set2 .col-right h2 {
  margin-bottom: 6vw;
}

#sec2 .set2 .col-right h2 .fz36 {
  font-size: 6vw;
  letter-spacing: 0.1em;
  line-height: 10vw;
  margin-bottom: 3vw;
}

#sec2 .set2 .col-right h2 .fz60 {
  font-size: 9vw;
}

#sec2 .set2 .col-right h2 .fz120 {
  font-size: 16vw;
}

#sec2 .set2 .col-right h2 span.db {
  line-height: 13vw;
}

#sec2 .set2 .col-right .txt {
  margin-bottom: 8vw;
}

#sec2 .set2 .col-right .floormap {
  margin: 0 -3.3vw;
}

@media screen and (min-width: 768px) {
  #sec2:before {
    background-size: auto;
    top: 61px;
  }
  #sec2 .set1 {
    padding: 0 0px 67px;
  }
  #sec2 .set1:before {
    width: 602px;
    height: 507px;
    left: calc(50% - 750px);
    top: 244px;
  }
  #sec2 .set1:after {
    width: 1300px;
    height: 679px;
    left: calc(50% - 700px);
    top: 448px;
    bottom: auto;
  }
  #sec2 .set1 .inner {
    max-width: 1396px;
    width: 100%;
    margin: 0 auto;
  }
  #sec2 .set1 .col-right {
    order: 2;
    width: calc(100% - 703px);
    margin-bottom: 0;
  }
  #sec2 .set1 .col-right .img1 {
    height: 634px;
    margin: 0 calc(-50vw + 101%) 34px -102px;
  }
  #sec2 .set1 .col-right .img2 {
    max-width: 603px;
    width: calc(100% - 20px);
    height: 265px;
    margin: 0 -2px 37px auto;
  }
  #sec2 .set1 .col-right .img3 {
    max-width: 602px;
    width: calc(100% - 20px);
    height: 295px;
    margin: 0 -2px 0 auto;
  }
  #sec2 .set1 .col-left {
    order: 1;
    width: 703px;
    position: relative;
    z-index: 0;
  }
  #sec2 .set1 .col-left:before {
    content: '';
    width: 90px;
    height: 303px;
    background-image: url("../img/shinsakae-shop/sec2_set1_deco2.png");
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: 47px;
    top: 448px;
    z-index: -1;
  }
  #sec2 .set1 .col-left h2 {
    position: relative;
    left: auto;
    top: auto;
    margin: 120px auto 18px;
  }
  #sec2 .set1 .col-left h2 .fz60 {
    font-size: 60px;
  }
  #sec2 .set1 .col-left h2 .fz150 {
    font-size: 150px;
  }
  #sec2 .set1 .col-left h2 .fz120 {
    font-size: 120px;
  }
  #sec2 .set1 .col-left h2 .r1 {
    line-height: 150px;
  }
  #sec2 .set1 .col-left h2 .r1 .r1-2 {
    margin-top: -46px;
    left: 39px;
  }
  #sec2 .set1 .col-left h2 .r1 .r1-3 {
    margin-top: -39px;
    left: -10px;
  }
  #sec2 .set1 .col-left h2 .r1 .r1-4 {
    margin-top: -48px;
    left: 36px;
  }
  #sec2 .set1 .col-left h2 .r1 .r1-5 {
    margin-top: -22px;
    left: -5px;
  }
  #sec2 .set1 .col-left h2 .r2 {
    margin-top: 309px;
  }
  #sec2 .set1 .col-left .txt {
    width: 450px;
    margin: 0 0 98px 121px;
  }
  #sec2 .set1 .col-left .floormap {
    width: 656px;
    margin: 0 0 0 auto;
  }
  #sec2 .set1 .col-left .floormap:before {
    width: 90px;
    height: 303px;
    left: auto;
    right: -62px;
    top: -241px;
  }
  #sec2 .set2 {
    padding: 0 0 148px;
  }
  #sec2 .set2:before {
    width: 600px;
    height: 599px;
    right: calc(50% - 600px);
    top: 0;
  }
  #sec2 .set2:after {
    width: calc(50% + 600px);
    height: 679px;
    right: 0;
    top: 214px;
    bottom: auto;
  }
  #sec2 .set2 .inner {
    max-width: 1310px;
    width: 94%;
    margin: 0 auto;
  }
  #sec2 .set2 .col-left {
    width: calc(100% - 656px);
  }
  #sec2 .set2 .col-left .img1 {
    height: 599px;
    margin: 0 -2px -27px -44px;
  }
  #sec2 .set2 .col-left .img2 {
    max-width: 581px;
    height: 407px;
    margin: 0 66px 0 auto;
  }
  #sec2 .set2 .col-right {
    width: 656px;
    margin-top: 101px;
    position: relative;
    z-index: 0;
  }
  #sec2 .set2 .col-right:before {
    content: '';
    width: 99px;
    height: 319px;
    background-image: url("../img/shinsakae-shop/sec2_set2_deco2.png");
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    right: -45px;
    top: 179px;
    z-index: -1;
  }
  #sec2 .set2 .col-right h2 {
    width: 509px;
    margin: 0 0 34px auto;
  }
  #sec2 .set2 .col-right h2 .fz36 {
    font-size: 36px;
    line-height: 50px;
    letter-spacing: 0.02em;
    margin-bottom: 46px;
  }
  #sec2 .set2 .col-right h2 .fz60 {
    font-size: 60px;
  }
  #sec2 .set2 .col-right h2 .fz120 {
    font-size: 120px;
    margin-right: -7px;
  }
  #sec2 .set2 .col-right h2 span.db {
    line-height: 100px;
  }
  #sec2 .set2 .col-right .txt {
    width: 460px;
    margin: 0 47px 118px auto;
  }
  #sec2 .set2 .col-right .floormap {
    margin: 0;
  }
}

@media screen and (min-width: 768px) and (max-width: 1440px) {
  #sec2 .set2 .col-left .img2 {
    margin: 0 45px 0 -40px;
  }
  #sec2 .set2 .col-right .floormap {
    margin-left: -20px;
  }
}
