#key .key-slider {
  line-height: 0;
}

#key .key-slider .object-cover {
  width: 100% !important;
  height: 121.33333333333333vw !important;
}

@media screen and (min-width: 768px) {
  #key .key-slider .object-cover {
    height: 900px !important;
  }
}

#rss {
  padding: 13.333333333333334vw 0 10.666666666666666vw;
}

#rss h2 {
  width: 166px;
  margin: 0 auto 35px;
  font-size: 20px;
  letter-spacing: 0.06em;
  line-height: 40px;
  border-top: 1px solid;
  border-bottom: 1px solid;
}

#rss #feed {
  padding: 0 2.666666666666667vw 10px;
}

#rss #feed .item {
  width: 100%;
  display: table;
  margin-bottom: 15px;
}

#rss #feed .item .photo {
  width: 38.13333333333333vw;
  display: table-cell;
  vertical-align: top;
}

#rss #feed .item dl {
  display: table-cell;
  vertical-align: middle;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 0.06em;
  padding: 0px 0 10px 5.733333333333333vw;
}

#rss #feed .item dl dt {
  margin-bottom: 6px;
}

#rss .more {
  text-align: center;
}

#rss .more a {
  position: relative;
}

#rss .more a:after {
  content: "";
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #292525;
  transform: rotate(0deg);
  display: inline-block;
  margin-left: 15px;
  position: relative;
  top: -1px;
}

@media screen and (max-width: 767px) {
  #rss #feed .item .photo span {
    width: 100% !important;
    height: 0 !important;
    padding-top: 26vw;
  }
}

@media screen and (min-width: 768px) {
  #rss {
    padding: 115px 0 74px;
  }
  #rss h2 {
    width: 250px;
    margin: 0 auto 50px;
    font-size: 30px;
    line-height: 50px;
    padding: 11px 0 4px;
  }
  #rss #feed {
    width: 820px;
    margin: 0 auto 23px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 80px;
  }
  #rss #feed .item {
    width: 220px;
    display: block;
    margin-bottom: 0px;
  }
  #rss #feed .item .photo {
    width: 100%;
    display: block;
  }
  #rss #feed .item .photo a span {
    transition: 0.3s all ease-in-out;
  }
  #rss #feed .item .photo a:hover span {
    opacity: 0.8;
  }
  #rss #feed .item dl {
    display: block;
    font-size: 14px;
    line-height: 28px;
    padding: 18px 0 0px;
  }
  #rss #feed .item dl dt {
    margin-bottom: 4px;
  }
  #rss #feed .item dl dd {
    min-height: 56px;
  }
  #rss #feed .item dl dd a:hover {
    text-decoration: underline;
  }
  #rss .more a {
    font-size: 14px;
  }
  #rss .more a:hover {
    opacity: 0.6;
  }
}

#sec1 {
  padding-bottom: 26vw;
  position: relative;
  z-index: 0;
}

#sec1:after {
  content: "";
  width: 28.266666666666666vw;
  height: 23.066666666666666vw;
  background-image: url("../img/index/sec1_deco2.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: 0;
  left: 0.8vw;
  z-index: -1;
}

#sec1 .blk1 {
  position: relative;
  margin-bottom: 10vw;
}

#sec1 .blk1 h2 {
  font-size: 4.666666666666667vw;
  line-height: 9.333333333333334vw;
  letter-spacing: 0.15em;
  border: 1px solid #d9d2cd;
  padding: 4vw 10vw;
  position: absolute;
  top: 6.666666666666667vw;
  left: 4vw;
  z-index: 1;
}

#sec1 .blk1 .img img {
  height: 118.66666666666667vw;
}

#sec1 .blk2 {
  padding: 0 6.6666666666666665vw;
}

@media screen and (min-width: 768px) {
  #sec1 {
    padding-bottom: 0;
  }
  #sec1:before {
    content: "";
    background-image: url("../img/index/sec1_deco1.png");
    background-repeat: no-repeat;
    background-size: 100%;
    width: 46px;
    height: 37px;
    position: absolute;
    right: calc(50% - 581px);
    bottom: 397px;
  }
  #sec1:after {
    width: 163px;
    height: 133px;
    bottom: -110px;
    left: calc(50% - 667px);
    z-index: 2;
  }
  #sec1 .blk1 {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto -30px;
  }
  #sec1 .blk1 h2 {
    font-size: 35px;
    line-height: 70px;
    padding: 30px 60px 32px 72px;
    left: 50px;
    top: 50px;
  }
  #sec1 .blk1 .img {
    width: 100%;
  }
  #sec1 .blk1 .img img {
    height: 920px;
  }
  #sec1 .blk2 {
    max-width: 1040px;
    width: 94%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding: 62px 0 0 19px;
    background-image: url("../img/shared/bg.jpg");
  }
  #sec1 .blk2 .txt {
    height: 510px;
    margin: 0 auto;
    line-height: 70px;
    background: url("../img/index/sec1_line.png") repeat left top/auto;
    padding-top: 30px;
    border-left: 1px solid #c0b3aa;
  }
}

#sec2 {
  padding: 5vw 0 17.333333333333332vw;
  position: relative;
}

#sec2:before {
  content: "";
  width: 5.066666666666666vw;
  height: 5.866666666666666vw;
  background-image: url("../img/index/sec5_deco3.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: 7.333333333333333vw;
  top: 237.06666666666666vw;
}

#sec2 h2 {
  padding-left: 2.67vw;
  position: relative;
  z-index: 1;
}

#sec2 h2 span {
  font-size: 12vw;
  letter-spacing: 0;
  line-height: 10vw;
  margin-bottom: 5vw;
}

#sec2 h2 small {
  font-size: 6vw;
  letter-spacing: 0.15em;
  line-height: 8vw;
}

#sec2 .blk .set1 {
  position: relative;
  z-index: 0;
  padding-bottom: 27.333333333333332vw;
  margin-bottom: 2.6666666666666665vw;
}

#sec2 .blk .set1:before {
  content: "";
  background: #d9d2cd;
  position: absolute;
  bottom: 0vw;
  left: 24vw;
  right: -4vw;
  top: 42.666666666666664vw;
  z-index: -1;
}

#sec2 .blk .set1 h3 {
  width: 55.86666666666667vw;
  position: absolute;
  bottom: 8vw;
  left: 17.2vw;
}

#sec2 .blk .set1 .img {
  width: 91.33333333333333vw;
  margin: -9vw 0 0 15.6vw;
  position: relative;
  z-index: 1;
}

#sec2 .blk .set2 {
  position: relative;
  z-index: 0;
  padding: 3.466666666666667vw 0 28.533333333333335vw;
  margin-bottom: 6.666666666666667vw;
}

#sec2 .blk .set2:before {
  content: "";
  background: #d9d2cd;
  position: absolute;
  bottom: 0vw;
  left: 2.67vw;
  right: 32vw;
  top: 0;
  z-index: -1;
}

#sec2 .blk .set2 h3 {
  width: 32.8vw;
  position: absolute;
  bottom: 9.066666666666666vw;
  left: 33.333333333333336vw;
}

#sec2 .blk .set2 .img {
  width: 90vw;
  margin-left: -5.733333333333333vw;
  position: relative;
  z-index: 1;
}

#sec2 .blk .col-text {
  padding: 0 2.67vw;
}

#sec2 .blk .col-text .txt {
  margin-bottom: 6vw;
}

@media screen and (min-width: 768px) {
  #sec2 {
    padding: 183px 0 164px;
  }
  #sec2:before {
    width: 29px;
    height: 34px;
    right: calc(50% - 621px);
    top: 1221px;
  }
  #sec2 h2 {
    display: table;
    padding-left: 0;
    text-align: center;
    margin: 0 0 76px -114px;
  }
  #sec2 h2 span {
    font-size: 90px;
    line-height: 90px;
    margin-bottom: 40px;
  }
  #sec2 h2 small {
    font-size: 45px;
    line-height: 55px;
  }
  #sec2 .blk .set1 {
    width: 692px;
    padding-bottom: 205px;
    margin-bottom: 0;
    position: absolute;
    right: -178px;
    top: -193px;
  }
  #sec2 .blk .set1:before {
    left: 63px;
    right: -50vw;
    top: 429px;
  }
  #sec2 .blk .set1 h3 {
    width: 419px;
    bottom: 62px;
    left: 13px;
  }
  #sec2 .blk .set1 .img {
    width: 100%;
    margin: 0;
  }
  #sec2 .blk .set2 {
    width: 677px;
    padding: 26px 0 214px;
    margin: 0 -30px 0 -173px;
  }
  #sec2 .blk .set2:before {
    left: 63px;
    right: 184px;
  }
  #sec2 .blk .set2 h3 {
    width: 245px;
    bottom: 68px;
    left: 293px;
  }
  #sec2 .blk .set2 .img {
    width: 100%;
    margin-left: 0;
  }
  #sec2 .blk .col-text {
    width: 536px;
    padding: 0;
    margin: 486px -25px 0 0;
  }
  #sec2 .blk .col-text .txt {
    width: 462px;
    margin-bottom: 40px;
  }
  #sec2 .blk .col-text .btn-common {
    margin-left: auto;
  }
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  #sec2 h2 {
    margin-left: calc(-50vw + 51%);
  }
  #sec2 .blk .set1 {
    right: -200px;
  }
  #sec2 .blk .col-text {
    width: 506px;
    margin-right: 5px;
  }
}

#sec3 {
  position: relative;
  z-index: 0;
  padding-bottom: 13.2vw;
}

#sec3:before {
  content: "";
  height: 52.13333333333333vw;
  background-image: url("../img/index/sec3_deco.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

#sec3:after {
  content: "";
  background: #231e1a;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 25.733333333333334vw;
  z-index: -2;
}

#sec3 h2 {
  font-size: 12.533333333333333vw;
  letter-spacing: 0;
  line-height: 10vw;
  position: relative;
  z-index: 1;
  padding: 0 2.67vw;
  margin: -5.5vw 0 8vw;
}

#sec3 h3 {
  padding: 0 2.67vw;
  font-size: 6.066666666666666vw;
  letter-spacing: 0.15em;
  line-height: 10vw;
  margin-bottom: 6vw;
}

#sec3 h3 span {
  font-size: 11.266666666666667vw;
}

#sec3 .txt {
  padding: 0 2.67vw 10.666666666666666vw;
}

@media screen and (min-width: 768px) {
  #sec3 {
    padding-bottom: 92px;
  }
  #sec3:before {
    height: 395px;
  }
  #sec3:after {
    top: 392px;
  }
  #sec3 .img {
    width: 1300px;
    margin: 0 -150px;
  }
  #sec3 h2 {
    font-size: 90px;
    line-height: 90px;
    padding: 0;
    margin: -50px 0 45px 47px;
  }
  #sec3 h3 {
    padding: 0;
    font-size: 35px;
    line-height: 50px;
    margin: 0 0 48px 47px;
  }
  #sec3 h3 span {
    font-size: 65px;
    margin-right: 5px;
  }
  #sec3 .txt {
    width: 560px;
    padding: 0;
    margin-left: 121px;
  }
  #sec3 .btn-circle {
    position: absolute;
    bottom: 24px;
    right: 65px;
    z-index: 1;
  }
}

#sec4 {
  padding: 7.6vw 0 33.333333333333336vw;
  position: relative;
}

#sec4:before {
  content: "";
  width: 23.333333333333332vw;
  height: 12vw;
  background-image: url("../img/index/sec4_deco1.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: -4.666666666666667vw;
  top: 98.4vw;
}

#sec4:after {
  content: "";
  width: 32.8vw;
  height: 20.933333333333334vw;
  background-image: url("../img/index/sec4_deco2.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: 11.2vw;
  left: -4vw;
}

#sec4 .img {
  padding: 0 4vw;
}

#sec4 .col-right {
  position: relative;
  z-index: 1;
  margin-top: -5.066666666666666vw;
}

#sec4 .col-right ul {
  width: 58.666666666666664vw;
  margin: 0 auto 5.34vw;
}

#sec4 .col-right ul li {
  width: 10.666666666666666vw;
  height: 31.2vw;
  text-align: center;
  font-size: 4.333333333333333vw;
  line-height: 10.666666666666666vw;
  letter-spacing: 0.15em;
  border-top: 2px solid #231e1a;
  background: #d9d2cd;
}

#sec4 .col-right .row-text {
  padding: 0 6.67vw;
}

#sec4 .col-right .row-text h2 {
  font-size: 6.066666666666666vw;
  letter-spacing: 0.15em;
  line-height: 9vw;
  margin-bottom: 5vw;
}

#sec4 .col-right .row-text h2 small {
  font-size: 4.333333333333333vw;
  letter-spacing: 0.15em;
}

#sec4 .col-right .row-text .txt {
  margin-bottom: 8vw;
}

@media screen and (min-width: 768px) {
  #sec4 {
    padding: 100px 0 168px;
  }
  #sec4:before {
    width: 135px;
    height: 69px;
    right: -31px;
    top: 265px;
  }
  #sec4:after {
    width: 189px;
    height: 121px;
    bottom: 103px;
    left: auto;
    right: 433px;
  }
  #sec4 .img {
    width: calc(100% - 534px);
    padding: 0;
    position: relative;
    z-index: 1;
  }
  #sec4 .img img {
    height: 790px;
  }
  #sec4 .col-right {
    width: 534px;
    margin-top: 30px;
    padding: 0;
  }
  #sec4 .col-right ul {
    width: 337px;
    margin: 0 auto 49px;
  }
  #sec4 .col-right ul li {
    width: 62px;
    height: 182px;
    font-size: 25px;
    line-height: 62px;
    padding-top: 5px;
  }
  #sec4 .col-right .row-text {
    padding: 0 49px;
  }
  #sec4 .col-right .row-text h2 {
    font-size: 35px;
    line-height: 55px;
    margin-bottom: 44px;
  }
  #sec4 .col-right .row-text h2 small {
    font-size: 25px;
    margin-bottom: -7px;
  }
  #sec4 .col-right .row-text .txt {
    margin: 0 20px 42px 3px;
  }
  #sec4 .col-right .row-text .btn-common {
    margin: 0 auto;
  }
}

#sec5 {
  padding: 0 0 29.6vw;
}

#sec5 h2 {
  font-size: 7.8vw;
  line-height: 10vw;
  letter-spacing: 0.15em;
  position: relative;
  padding-top: 11.2vw;
  margin-bottom: 12vw;
}

#sec5 h2:before {
  content: "";
  background-image: url("../img/shared/icon_flower.png");
  background-repeat: no-repeat;
  background-size: 5.333333333333333vw;
  background-position: center top;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

#sec5 .col-left .logo {
  width: 49.2vw;
  margin: 0 0 -12vw 34.266666666666666vw;
}

#sec5 .col-left .tel-common {
  position: relative;
  z-index: 1;
  margin-bottom: 7vw;
}

#sec5 .col-left .reserve-btn {
  margin-bottom: 13.333333333333334vw;
}

#sec5 .col-left .img {
  width: 61.6vw;
  margin: 0 auto 17.6vw;
}

#sec5 .col-right .info {
  padding: 0 2.67vw 13px;
  font-size: 13px;
  letter-spacing: 0.06em;
  line-height: 25px;
  text-align: left;
}

#sec5 .col-right .info dl {
  width: 100%;
  display: table;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid #c0b3aa;
}

#sec5 .col-right .info dl dt {
  width: 78px;
  display: table-cell;
}

#sec5 .col-right .info dl dd {
  display: table-cell;
}

#sec5 .col-right .info dl dd a {
  text-decoration: underline;
}

#sec5 .col-right #gmap .gmap {
  width: 70.66666666666667vw;
  height: 480px;
  margin: 0 auto 15vw;
  position: relative;
}

#sec5 .col-right #gmap .gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

@media screen and (min-width: 768px) {
  #sec5 {
    padding: 0 0 146px;
    position: relative;
  }
  #sec5:before {
    content: "";
    background-image: url("../img/index/sec5_deco1.png");
    background-repeat: no-repeat;
    background-size: 100%;
    width: 212px;
    height: 408px;
    position: absolute;
    left: calc(50% - 602px);
    top: 7px;
  }
  #sec5:after {
    content: "";
    background-image: url("../img/index/sec5_deco3.png");
    background-repeat: no-repeat;
    background-size: 100%;
    width: 29px;
    height: 34px;
    position: absolute;
    bottom: 25px;
    right: calc(50% - 549px);
  }
  #sec5 h2 {
    font-size: 45px;
    line-height: 60px;
    padding: 60px 0 0 5px;
    margin-bottom: 92px;
  }
  #sec5 h2:before {
    background-size: 30px;
  }
  #sec5 .col-left {
    width: 380px;
    margin-left: -20px;
    position: relative;
  }
  #sec5 .col-left:before {
    content: "";
    background-image: url("../img/index/sec5_deco2.png");
    background-repeat: no-repeat;
    background-size: 100%;
    width: 200px;
    height: 249px;
    position: absolute;
    left: -108px;
    bottom: -319px;
  }
  #sec5 .col-left .logo {
    width: 195px;
    margin: 11px 0 -47px 140px;
  }
  #sec5 .col-left .tel-common {
    margin: 0 0px 30px 0;
  }
  #sec5 .col-left .reserve-btn {
    margin-bottom: 70px;
  }
  #sec5 .col-left .img {
    width: 100%;
    margin: 0;
  }
  #sec5 .col-right {
    width: 560px;
    margin-right: -17px;
  }
  #sec5 .col-right .info {
    padding: 0 0 42px;
    font-size: 16px;
    line-height: 35px;
  }
  #sec5 .col-right .info dl {
    padding-bottom: 17px;
    margin-bottom: 17px;
  }
  #sec5 .col-right .info dl dt {
    width: 112px;
  }
  #sec5 .col-right .info dl dd a:hover {
    text-decoration: none;
  }
  #sec5 .col-right #gmap {
    position: relative;
  }
  #sec5 .col-right #gmap .gmap {
    width: 100%;
    height: 560px;
  }
  #sec5 .col-right #gmap .btn-group {
    width: 160px;
    position: absolute;
    left: -188px;
    bottom: -16px;
    z-index: 1;
  }
  #sec5 .col-right #gmap .btn-group .btn-common {
    width: 100%;
  }
  #sec5 .col-right #gmap .btn-group .btn-common a {
    font-size: 16px;
    padding: 9px 17px 9px 0;
  }
  #sec5 .col-right #gmap .btn-group .btn-common a:after {
    right: 12px;
  }
  #sec5 .col-right #gmap .btn-group .print {
    font-size: 14px;
    margin-top: 3px;
  }
  #sec5 .col-right #gmap .btn-group .print:hover {
    text-decoration: underline;
  }
}

#sec6 {
  padding-bottom: 13.333333333333334vw;
}

#sec6 .box {
  background-image: url("../img/shared/bg2.jpg");
  padding: 11.2vw 5.333333333333333vw 10.666666666666666vw;
}

#sec6 .box h2 {
  font-size: 6.066666666666666vw;
  line-height: 10vw;
  letter-spacing: 0.15em;
  margin-bottom: 6vw;
}

#sec6 .box .txt {
  margin-bottom: 9vw;
}

#sec6 .box .blk {
  font-size: 13px;
  letter-spacing: 0.06em;
  line-height: 25px;
  text-align: left;
}

#sec6 .box .blk dl {
  width: 100%;
  display: table;
  border-bottom: 1px solid #aa957e;
  padding-bottom: 14px;
  margin-bottom: 14px;
}

#sec6 .box .blk dl dt {
  width: 80px;
  display: table-cell;
}

#sec6 .box .blk dl dd {
  display: table-cell;
}

@media screen and (min-width: 768px) {
  #sec6 {
    padding-bottom: 135px;
  }
  #sec6 .box {
    width: 1100px;
    margin: 0 -50px;
    padding: 103px 70px 72px;
  }
  #sec6 .box h2 {
    font-size: 35px;
    line-height: 50px;
    margin: 0 16px 27px 0;
  }
  #sec6 .box .txt {
    margin: 0 11px 50px 0;
  }
  #sec6 .box .blk {
    font-size: 16px;
    line-height: 30px;
  }
  #sec6 .box .blk .col {
    width: 460px;
  }
  #sec6 .box .blk dl {
    padding-bottom: 14px;
    margin-bottom: 15px;
  }
  #sec6 .box .blk dl dt {
    width: 126px;
  }
}
