@charset "UTF-8";

.txt-center {
  text-align: center;
}

.dis-flex {
  display: flex;
}

#key {
  background: url(../img/scene/key.png), #e9e5de;
  background-position: center bottom;
  background-size: cover;
  min-height: 798px;
}

#key:before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  background-image: url(../img/scene/kv_shadow.png);
  background-position: center top;
  background-repeat: repeat-x;
  height: 392px;
}

#sec1 {
  padding: 99px 0px 166px;
  position: relative;
  overflow: hidden;
}

#sec1:before {
  content: "";
  position: absolute;
  background: #e0dad0;
  transform: skewY(37deg);
  right: -210px;
  left: -2500px;
  bottom: 0px;
  height: 1361px;
  z-index: -1;
}

#sec1 .inner1 {
  margin-top: 57px;
  justify-content: space-between;
}

#sec1 .inner1 .sec1-img1 {
  margin-left: 25px;
}

#sec1 .inner1 .txt {
  width: 415px;
  margin: 64px 24px 0px 0px;
}

#sec1 .inner2 {
  margin: 103px -39px 0px -48px;
  padding: 88px 0px 83px 83px;
  background-image: url(../img/scene/sec1_img2.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  color: #fff;
}

#sec1 .inner2:before {
  content: "";
  position: absolute;
  top: -23px;
  left: 0px;
  background-image: url(../img/scene/sec1_deco_line.png);
  background-position: left top;
  background-repeat: no-repeat;
  width: 1111px;
  height: 516px;
}

#sec1 .inner2 .txt {
  width: 380px;
  margin: 32px 0px 0px;
  letter-spacing: 0.1em;
}

#sec2 {
  background-image: url(../img/scene/bg_white.jpg);
  background-position: center top;
  background-repeat: repeat;
}

#sec2 .wrap {
  justify-content: space-between;
  padding-bottom: 91px;
}

#sec2 .sec2-img {
  width: 644px;
  margin: 85px 0px 0px 25px;
  position: relative;
}

#sec2 .sec2-img:before {
  content: "";
  position: absolute;
  top: 57px;
  right: -43px;
  background-image: url(../img/scene/sec2_line.png);
  width: 19px;
  height: 211px;
  background-position: center center;
  background-repeat: no-repeat;
}

#sec2 .sec2-img li+li {
  margin: 205px 0px 0px 25px;
}

#sec2 .col-txt {
  margin: 108px 25px 0px 0px;
}

#sec2 .txt {
  margin-top: 31px;
  letter-spacing: 0.14em;
  line-height: 32px;
  height: 310px;
}

#sec3 {
  margin-top: 148px;
}

#sec3 [class^=inner] {
  justify-content: space-between;
}

#sec3 .inner1 .col-txt {
  width: 345px;
  margin: 50px 0px 0px 37px;
  position: relative;
}

#sec3 .inner1 .col-txt:before {
  content: "";
  position: absolute;
  top: 8px;
  left: -58px;
  background-image: url(../img/scene/sec3_line.png);
  width: 9px;
  height: 354px;
  background-position: center center;
  background-repeat: no-repeat;
}

#sec3 .inner1 .price {
  margin-top: 21px;
}

#sec3 .inner1 .txt {
  margin-top: 44px;
  line-height: 32px;
  letter-spacing: 0.14em;
}

#sec3 .inner1 .txt li+li {
  margin-top: 17px;
}

#sec3 .inner1 .sec3-img {
  margin-right: -250px;
  position: relative;
}

#sec3 .inner1 .sec3-img:before {
  content: "";
  position: absolute;
  top: 10px;
  left: -10px;
  right: 10px;
  bottom: -10px;
  border: 1px solid #98920a;
  z-index: 1;
}

#sec3 .inner2 {
  margin: 60px 42px 0px 45px;
}

#sec3 .inner2 li+li {
  margin-top: 155px;
}

#sec3 .inner3 {
  margin: 84px 33px 0px 31px;
  padding: 50px 80px;
  background: #e6decd;
  box-sizing: border-box;
}

#sec3 .season {
  text-align: center;

  >div {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 60px auto 0 20px;
    gap: 50px;
  }

  p {
    width: 400px;
    margin-top: 20px;
    text-align: start;
  }

}

#sec3 .price {
  font-size: 26px;
  letter-spacing: 0.16em;
}

#sec3 h3 {
  font-size: 19px;
  line-height: 35px;
  letter-spacing: 0.16em;
  margin: 39px 0px 0px 5px;
}

#sec3 h3 span {
  color: #88871b;
}

#sec3 .box {
  margin: 89px 193px 0px 194px;
  padding: 49px 44px 54px;
  box-sizing: border-box;
  background: url(../img/scene/sec3_line2.png), url(../img/scene/sec3_line3.png);
  background-position: left top, right top;
  background-repeat: no-repeat;
}

#sec3 .inner4 {
  margin-top: 31px;
}

#sec3 h4 {
  font-size: 19px;
  letter-spacing: 0.16em;
  font-weight: 600;
}

#sec3 h5 {
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.7;
  text-align: center;
  background: #fff;
  width: 244px;
  margin: 0px auto;
}

#sec3 .sec3-btn {
  margin-top: 16px;
}

#sec3 .sec3-tel {
  margin-top: 28px;
  font-size: 28px;
  letter-spacing: 0.03em;
  line-height: 1.03;
}

#sec3 .sec3-tel small {
  font-size: 16px;
  letter-spacing: 0.03em;
}

#sec4 {
  margin-top: 197px;
  padding-bottom: 114px;
  position: relative;
}

#sec4:before {
  content: "";
  position: absolute;
  left: 0px;
  bottom: 0px;
  background-image: url(../img/scene/bg_white.jpg);
  background-position: center center;
  background-repeat: repeat;
  z-index: -1;
  width: calc(50% + 270px);
  height: 705px;
}

#sec4 .inner1 {
  position: relative;
}

#sec4 .inner1 h2 {
  position: absolute;
  top: 130px;
  left: 0px;
  right: 0px;
  z-index: 1;
}

#sec4 .sec4-img1 {
  margin: 0px -172px 0px -158px;
  position: relative;
}

#sec4 .sec4-img1:before {
  content: "";
  position: absolute;
  top: -21px;
  left: -22px;
  background-image: url(../img/scene/sec4_line.png);
  background-position: center center;
  background-repeat: no-repeat;
  width: 1352px;
  height: 598px;
  z-index: 1;
}

#sec4 .inner2 .col-txt {
  position: relative;
  z-index: 1;
  width: 642px;
  margin: -35px 0px 0px -15px;
}

#sec4 .inner2 .col-txt li {
  background: #fff;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 19px;
  line-height: 33px;
  letter-spacing: 0.16em;
  padding: 5.5px 30px 5.5px 30px;
  display: inline-block;
}

#sec4 .inner2 .col-txt li span {
  color: #88871b;
}

#sec4 .inner2 .col-txt li+li {
  margin-top: 9px;
}

#sec4 .inner2 .col-txt .txt1 {
  margin-left: 3px;
}

#sec4 .inner2 .col-txt .txt1 li+li {
  margin-left: 66px;
}

#sec4 .inner2 .col-txt .txt2 {
  margin: 69px 0px 0px 75px;
}

#sec4 .inner2 .col-txt .txt2 li:first-child {
  margin-left: 56px;
}

#sec4 .inner2 .col-txt .txt3 {
  margin-top: 70px;
}

#sec4 .inner2 .col-txt .txt3 li+li {
  margin-left: 17px;
}

#sec4 .inner2 .sec4-img2 {
  margin: 53px -26px 0px -12px;
}

#sec4 .inner2 .sec4-img2 li+li {
  margin-top: 1px;
}

#sec4 .sec4-img3 {
  margin-top: 90px;
}

#sec5 {
  position: relative;
  overflow: hidden;
  margin-top: 140px;
  padding-bottom: 169px;
}

#sec5:before {
  content: "";
  position: absolute;
  background: #e0dad0;
  transform: skewy(-37deg);
  left: 0px;
  right: -2000px;
  bottom: 0px;
  height: 1132px;
}

#sec5 .inner {
  justify-content: space-between;
}

#sec5 .col-txt {
  width: 298px;
  margin: -3px 0px 0px 85px;
}

#sec5 .txt {
  margin-top: 34px;
  letter-spacing: 0.14em;
  line-height: 32px;
}

#sec5 .sec5-btn {
  margin-top: 32px;
}

#sec5 .sec5-img1 {
  margin-right: -18px;
}

#sec5 .sec5-img2 {
  margin-top: 64px;
}

.remodal-close {
  margin: 0px -6px 0px auto;
}

.remodal-cancel {
  margin-top: 96px;
}

.remodal {
  background-image: url(../img/scene/bg_white.jpg);
  background-position: center top;
  background-repeat: repeat;
  padding: 34px 49px 97px;
  position: relative;
  line-height: 32px;
  letter-spacing: 0.14em;
  vertical-align: top;
}

.remodal:before {
  content: "";
  position: absolute;
  top: 0px;
  left: 13px;
  right: 13px;
  bottom: 0px;
  border-left: 1px solid #888915;
  border-right: 1px solid #888915;
}

.remodal .note {
  margin-top: 22px;
}

.remodal .inner {
  margin-top: 52px;
  justify-content: space-between;
}

.remodal .inner h3 {
  border: 1px solid #000000;
  padding: 1px;
  margin-bottom: 13px;
}

.remodal .inner dl {
  display: flex;
  justify-content: space-between;
  text-align: left;
  border-bottom: 1px solid #c0c0c0;
}

.remodal .inner dl dd {
  margin-left: auto;
  text-align: right;
}

.remodal .col {
  width: 408px;
}

.remodal .col .row+.row {
  margin-top: 47px;
}

@media only screen and (min-width: 768px) {
  .remodal {
    max-width: 968px;
  }
}

#sec6 {
  position: relative;
  margin-bottom: -50px;
  background-image: url(../img/scene/sec6_img.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 148px 0px 166px;
  color: #fff;
}

#sec6:before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  bottom: 0px;
  background-image: url(../img/scene/sec6_deco.png);
  background-position: left top;
  background-repeat: repeat;
  width: 60px;
}

#sec6 .inner {
  position: relative;
  z-index: 1;
  width: 500px;
  margin-left: 140px;
}

#sec6 .txt {
  margin-top: 32px;
  letter-spacing: 0.14em;
  line-height: 32px;
}

footer {
  background-image: url(../img/shared/footer_bg.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}