/* -- key -- */
#key {
   width: 100%;
   height: 980px;
   background: url("../img/index/key-bg.jpg") no-repeat center/cover;
   margin: 0 auto;
}

#key h2 {
   width: 180px;
   height: 310px;
   font-size: 32px;
   line-height: 90px;
   letter-spacing: 0.2em;
   color: #fff;
   position: absolute;
   top: 141px;
   left: 50%;
   transform: translateX(-50%);
}

@media only screen and (max-width: 767px) {
   #key {
      background-image: url(../img/index/sp_key-bg.jpg);
      height: 70vh;
   }

   #key h2 {
      width: 90px;
      height: 180px;
      font-size: 16px;
      line-height: 45px;
      letter-spacing: 0.2em;
      top: 90px;
   }
}

/* -- news -- */
#rss {
   width: 334px;
   position: absolute;
   top: 96.2%;
   right: 0;
}

#rss h2 {
   font-size: 24px;
   line-height: 24px;
   letter-spacing: 0.08em;
}

#rss .txt {
   font-size: 16px;
   line-height: 32px;
   letter-spacing: 0.08em;
   padding-top: 8px;
}

#rss .txt a {
   display: inline-block;
   color: #184e18;
   border-bottom: 1px solid #184e18;
   margin-left: 35px;
}

#rss .txt a:hover {
   text-decoration: none;
   border-color: transparent;
}

#rss .more {
   font-size: 14px;
   line-height: 29px;
   letter-spacing: 0.08em;
   text-align: right;
   padding-top: 7px;
}

#rss .more a {
   display: inline-block;
   color: #184e18;
   border-bottom: 1px solid #184e18;
}

#rss .more a:hover {
   text-decoration: none;
   border-color: transparent;
}

@media only screen and (max-width: 767px) {
   #rss {
      width: max-content;
      margin: 0 auto;
      padding-top: 40px;
      position: static;
   }

   #rss h2 {
      font-size: 16px;
      line-height: 20px;
      letter-spacing: 0.1em;
   }

   #rss .txt {
      font-size: 12px;
      line-height: 21px;
      letter-spacing: 0.08em;
   }

   #rss .more {
      font-size: 12px;
      line-height: 21px;
      letter-spacing: 0.08em;
   }
}

/* -- modal -- */
.covid-box {
   width: 590px;
   font-size: 15px;
   line-height: 30px;
   letter-spacing: 0;
   margin: 0 auto;
}

.covid-box h2 {
   font-size: 24px;
   line-height: 48px;
   letter-spacing: 0.1em;
}

.covid-box h2 span {
   border-bottom: 1px dashed #999;
}

.covid-box .txt1 {
   padding-top: 30px;
}

.covid-box .list {
   border-right: 1px solid #999;
   border-left: 1px solid #999;
   margin-top: 30px;
   padding: 10px 0;
   position: relative;
}

.covid-box .list:before {
   content: '';
   width: 50px;
   border-top: 1px solid #999;
   border-bottom: 1px solid #999;
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
}

.covid-box .list:after {
   content: '';
   width: 50px;
   border-top: 1px solid #999;
   border-bottom: 1px solid #999;
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
}

.covid-box ul {
   display: inline-block;
   line-height: 26px;
   text-align: left;
}

.covid-box .txt2 {
   text-align: left;
   padding-top: 30px;
}

@media only screen and (max-width: 767px) {
   .covid-box {
      width: 100%;
      font-size: 11px;
      line-height: 21px;
   }

   .covid-box h2 {
      font-size: 15px;
      line-height: 21px;
      letter-spacing: 0.2em;
   }

   .covid-box h2 span {
      display: block;
      border-bottom-style: solid;
      padding-bottom: 10px;
   }

   .covid-box .txt1 {
      text-align: left;
      padding-top: 15px;
   }

   .covid-box .list {
      text-align: left;
      margin-top: 15px;
      padding: 15px 10px;
   }

   .covid-box .list:before {
      width: 25px;
   }

   .covid-box .list:after {
      width: 25px;
   }

   .covid-box .txt2 {
      padding-top: 15px;
   }
}

/* -- sec1 -- */
#sec1 {
   position: relative;
}

#sec1 .wrap {
   padding-top: 190px;
   padding-bottom: 220px;
}

#sec1 .wrap:before {
   content: '';
   width: 135px;
   height: 194px;
   background: url("../img/index/sec1-deco2.png") no-repeat center top/cover;
   position: absolute;
   top: 345px;
   right: 82px;
}

#sec1 h2 {
   font-size: 26px;
   line-height: 60px;
   letter-spacing: 0.35em;
   padding: 88px 0 0 176px;
   position: relative;
}

#sec1 h2 span {
   display: inline-block;
   vertical-align: bottom;
   line-height: 1.7;
}

#sec1 h2 img {
   padding: 25px 0 0 188px;
}

#sec1 .photo1 {
   padding-left: 87px;
   position: relative;
}

#sec1 .photo1:before {
   content: '';
   width: 308px;
   height: 302px;
   background: url("../img/index/sec1-deco1.png") no-repeat center top/cover;
   position: absolute;
   top: 334px;
   left: -43px;
}

#sec1 .photo1:after {
   content: '';
   width: 236px;
   height: 1px;
   background-color: #96887a;
   position: absolute;
   bottom: -3px;
   left: 84px;
   transform: rotate(-45deg);
}

#sec1 .photo2 {
   width: 630px;
   height: 473px;
   position: absolute;
   bottom: -110px;
   right: -102px;
   z-index: 2;
}
#sec1 .photo2 span:nth-child(1){
   display: block;
   position: absolute;
   top: 0;
   right: 0;
   z-index: 1;
}
#sec1 .photo2 span:nth-child(2){
   display: block;
   position: absolute;
   bottom: 0;
   left: 0;
}
@media only screen and (max-width: 767px) {
   #sec1 {
      padding-bottom: 70px;
   }

   #sec1 .wrap {
      padding: 0 10%;
   }

   #sec1 .wrap:before {
      width: 70px;
      height: 100px;
      top: 0;
      right: auto;
      left: 12%;
   }

   #sec1 h2 {
      font-size: 16px;
      line-height: 30px;
      letter-spacing: 0.35em;
      text-align: right;
      padding: 60px 0 0;
   }

   #sec1 h2 span {
      line-height: 1.3;
   }

   #sec1 h2 img {
      width: 70px;
      padding-top: 10px;
   }

   #sec1 .photo1 {
      padding-top: 120px;
      padding-left: 0;
   }

   #sec1 .photo1:before {
      background-image: url(../img/index/sp_sec1-deco1.png);
      width: 154px;
      height: 151px;
      top: 290px;
      left: -20px;
   }

   #sec1 .photo1:after {
      display: none;
   }

   #sec1 .photo2 {
      width: 100%;
      height: auto;
      padding-top: 45px;
      position: static;
   }
   #sec1 .photo2 span:nth-child(1){
      width: 70%;
      margin-bottom: -10%;
      margin-left: auto;
      position: relative;
   }
   #sec1 .photo2 span:nth-child(2){
      width: 80%;
      position: static;
   }
}

/* -- sec2 -- */
#sec2 {
   padding-bottom: 323px;
}

#sec2 .bg-parallax {
   background-image: url(../img/index/sec2-bg.jpg);
   min-height: inherit;
   padding: 222px 0 177px;
}

#sec2 .bg-parallax h2 {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 320px;
   height: 320px;
   font-size: 28px;
   line-height: 60px;
   letter-spacing: 0.2em;
   color: #fff;
   border: 1px solid #fff;
   box-sizing: border-box;
   margin-right: -11px;
   margin-left: auto;
}

#sec2 .txt {
   width: 850px;
   line-height: 40px;
   margin: 0 auto;
   padding-top: 154px;
}

@media only screen and (max-width: 767px) {
   #sec2 {
      padding-bottom: 20px;
   }

   #sec2 .bg-parallax {
      padding: 90px 0;
   }

   #sec2 .bg-parallax h2 {
      width: 180px;
      height: 180px;
      font-size: 16px;
      line-height: 30px;
      letter-spacing: 0.2em;
      margin: 0 auto;
   }

   #sec2 .txt {
      width: auto;
      line-height: 30px;
      padding: 50px 3% 0;
   }

   #sec2 .txt br {
      display: none;
   }
}

/* -- sec3 -- */
#sec3 {
   padding-bottom: 105px;
   position: relative;
   z-index: 1;
}

#sec3:before {
   content: '';
   width: 50%;
   background: url("../img/shared/bg01.jpg") repeat center top;
   padding-right: 342px;
   position: absolute;
   top: 0;
   bottom: -57px;
   left: 0;
}

#sec3 .wrap {
   padding-top: 96px;
   z-index: 1;
}

#sec3 .wrap:before {
   content: '';
   width: 248px;
   height: 282px;
   background: url("../img/index/sec3-deco1.png") no-repeat center top/cover;
   position: absolute;
   top: -234px;
   left: 160px;
}

#sec3 .photo {
   position: absolute;
   top: -70px;
   right: -50px;
}

#sec3 .photo h2 {
   width: 96px;
   height: 350px;
   font-size: 24px;
   line-height: 48px;
   letter-spacing: 0.08em;
   color: #eae3d4;
   position: absolute;
   top: 72px;
   left: 30px;
}

#sec3 .photo h2 span {
   background-color: #262114;
   padding: 32px 0 45px;
}

#sec3 .photo .photo2 {
   position: absolute;
   bottom: -315px;
   left: -96px;
}

#sec3 .box {
   width: 496px;
   border: 1px solid #fff;
   text-align: center;
   box-sizing: border-box;
   padding: 48px 49px 67px;
}

#sec3 .box h3 {
   font-size: 26px;
   line-height: 53px;
   letter-spacing: 0.08em;
   color: #362418;
   background: url("../img/index/sec3-deco2.png") no-repeat center top;
   padding-top: 101px;
}

#sec3 .box h3 span {
   font-size: 34px;
}

#sec3 .box .txt {
   text-align: justify;
   padding-top: 35px;
}

@media only screen and (max-width: 767px) {
   #sec3 {
      background: transparent;
      padding-bottom: 30px;
      position: relative;
   }

   #sec3:before {
      width: 100%;
      height: 70%;
      padding-right: 0;
      top: auto;
      bottom: 0;
   }

   #sec3 .wrap {
      padding: 100px 6% 0;
   }

   #sec3 .wrap:before {
      width: 125px;
      height: 140px;
      top: 0;
      right: 6%;
      left: auto;
      z-index: 1;
   }

   #sec3 .photo {
      width: 85%;
      margin: 0 auto;
      position: relative;
      top: auto;
      right: auto;
   }

   #sec3 .photo h2 {
      width: 60px;
      height: 250px;
      font-size: 16px;
      line-height: 30px;
      letter-spacing: 0.08em;
      top: 40px;
      left: 20px;
   }

   #sec3 .photo h2 span {
      padding: 15px 0 30px;
   }

   #sec3 .photo .photo2 {
      width: 58%;
      right: -10%;
      bottom: -18%;
      left: auto;
   }

   #sec3 .box {
      width: 100%;
      margin-top: 15%;
      padding: 35px 40px;
   }

   #sec3 .box h3 {
      font-size: 15px;
      line-height: 36px;
      letter-spacing: 0.08em;
      background-size: 110px 50px;
      padding-top: 70px;
   }

   #sec3 .box h3 span {
      font-size: 24px;
   }

   #sec3 .box .txt {
      padding-top: 20px;
   }

   #sec3 .box .txt br {
      display: none;
   }
}

/* -- sec4 -- */
#sec4 {
   padding-top: 298px;
   padding-bottom: 204px;
   position: relative;
}

#sec4:before {
   content: '';
   width: 100%;
   height: 650px;
   background: url("../img/index/sec4-bg.jpg") no-repeat center/cover;
   position: absolute;
   top: 0;
   left: 0;
}

#sec4 .set1 {
   padding-top: 119px;
   position: relative;
}

#sec4 .set1 .photo {
   position: absolute;
   top: 0;
   left: -151px;
}

#sec4 .set1 .box {
   width: 550px;
   background-color: #262114;
   color: #fff;
   box-sizing: border-box;
   margin-right: -150px;
   margin-left: auto;
   padding: 70px;
   position: relative;
   z-index: 1;
}

#sec4 .set1 .box:after {
   content: '';
   width: 180px;
   height: 151px;
   background: url("../img/index/sec4-deco1.png") no-repeat center top/cover;
   position: absolute;
   bottom: -135px;
   left: 86px;
}

#sec4 .set1 .box h2 {
   font-size: 26px;
   line-height: 60px;
   letter-spacing: 0.08em;
   color: #e9e2d3;
}

#sec4 .set1 .box .txt {
   padding-top: 17px;
}

#sec4 .set2 {
   padding: 63px 0 0;
}

#sec4 .set2 .example {
   font-size: 32px;
   line-height: 72px;
   letter-spacing: 0.08em;
   text-align: center;
   margin-bottom: 29px;
   padding-bottom: 65px;
   padding-left: 60px;
   position: relative;
}

#sec4 .set2 .example span {
   display: inline-block;
   vertical-align: bottom;
   line-height: 1.7;
}

#sec4 .set2 .example:before {
   content: '';
   width: 100%;
   height: 75px;
   background: url("../img/index/sec4-deco2.png") no-repeat center bottom;
   position: absolute;
   bottom: 0;
   left: 16px;
}

#sec4 .set2 h4 {
   width: 652px;
   font-size: 24px;
   line-height: 60px;
   letter-spacing: 0.08em;
   text-align: center;
   margin: 0 auto;
   padding-bottom: 44px;
   position: relative;
}

#sec4 .set2 h4:before {
   content: '';
   width: 80px;
   height: 80px;
   border-top: 1px solid #96887a;
   border-left: 1px solid #96887a;
   position: absolute;
   top: 40px;
   left: 0;
}

#sec4 .set2 h4:after {
   content: '';
   width: 80px;
   height: 80px;
   border-bottom: 1px solid #96887a;
   border-right: 1px solid #96887a;
   position: absolute;
   bottom: 0;
   right: 0;
}

#sec4 .set2 h4 strong {
   display: block;
   color: #d3d0bc;
   font-weight: inherit;
   font-size: 80px;
   line-height: 80px;
   letter-spacing: 0;
   padding-bottom: 4px;
}

#sec4 .set2 h4 .hightline {
   background-image: linear-gradient(to bottom, transparent 50%, #e4d98d 50%);
}

#sec4 .set2 .box01 {
   padding-bottom: 90px;
   position: relative;
}

#sec4 .set2 .box01 .photo1 {
   text-align: right;
   padding: 33px 27px 0 0;
}

#sec4 .set2 .box01 .txt {
   width: 502px;
   margin-left: auto;
   padding-top: 46px;
   padding-right: 55px;
}

#sec4 .set2 .box01 .photo2 {
   text-align: center;
   position: absolute;
   top: 204px;
   left: 0;
}

#sec4 .set2 .box01 .photo2 .cap {
   font-size: 22px;
   line-height: 48px;
   letter-spacing: 0.08em;
   color: #eae4d5;
   position: absolute;
   bottom: -70px;
   left: 44px;
}

#sec4 .set2 .box01 .photo2 .cap span {
   background-color: #7b725c;
   padding: 2px 13px;
}

#sec4 .set2 .box02 {
   padding-bottom: 393px;
   position: relative;
}

#sec4 .set2 .box02 .photo1 {
   position: absolute;
   top: 210px;
   left: -20px;
}

#sec4 .set2 .box02 .photo2 {
   position: absolute;
   top: 437px;
   left: 173px;
}

#sec4 .set2 .box02 .txt {
   width: 350px;
   text-align: justify;
   margin-left: auto;
   padding-top: 82px;
   padding-right: 50px;
}

#sec4 .set2 .box03 {
   padding-bottom: 70px;
   position: relative;
}

#sec4 .set2 .box03 .photo {
   position: absolute;
   top: 219px;
   left: -20px;
}

#sec4 .set2 .box03 .txt {
   width: 360px;
   text-align: justify;
   margin-left: auto;
   padding-top: 113px;
   padding-right: 50px;
}
@media only screen and (max-width: 1200px) {
   #sec4 .set1 .box{
      margin-right: -50px;
   }
}
@media only screen and (max-width: 767px) {
   #sec4 {
      padding-top: 50%;
      padding-bottom: 80px;
   }

   #sec4:before {
      height: auto;
      padding-top: 86%;
   }
   #sec4 .set1 {
      padding-top: 0;
   }

   #sec4 .set1 .photo {
      position: static;
   }

   #sec4 .set1 .box {
      width: auto;
      margin: 0;
      padding: 40px 35px;
   }

   #sec4 .set1 .box:after {
      width: 90px;
      height: 75px;
      bottom: -50px;
      right: 5px;
      left: auto;
   }

   #sec4 .set1 .box h2 {
      font-size: 16px;
      line-height: 30px;
      letter-spacing: 0.08em;
   }

   #sec4 .set1 .box .txt {
      width: auto;
      padding-top: 20px;
   }

   #sec4 .set2 {
      padding: 40px 7% 0;
   }

   #sec4 .set2 .example {
      font-size: 16px;
      line-height: 36px;
      letter-spacing: 0.08em;
      padding: 0 0 45px;
      margin-bottom: 20px;
   }

   #sec4 .set2 .example:before {
      width: 200px;
      height: 52px;
      background-size: cover;
      left: 50%;
      transform: translateX(-50%);
   }

   #sec4 .set2 h4 {
      width: 100%;
      font-size: 15px;
      line-height: 30px;
      letter-spacing: 0.05em;
      padding-bottom: 15px;
   }

   #sec4 .set2 h4:before {
      width: 40px;
      height: 40px;
   }

   #sec4 .set2 h4:after {
      width: 40px;
      height: 40px;
   }

   #sec4 .set2 h4 strong {
      font-size: 45px;
      line-height: 1;
      padding-bottom: 10px;
   }

   #sec4 .set2 .box01 {
      padding-bottom: 38px;
   }

   #sec4 .set2 .box01 .photo1 {
      padding: 25px 0 0;
   }

   #sec4 .set2 .box01 .txt {
      width: auto;
      padding: 15px;
   }

   #sec4 .set2 .box01 .photo2 {
      padding-top: 20px;
      position: relative;
      top: auto;
      left: auto;
   }

   #sec4 .set2 .box01 .photo2 .cap {
      width: 100%;
      font-size: 13px;
      line-height: 27px;
      letter-spacing: 0.08em;
      bottom: -40px;
      left: 0;
   }

   #sec4 .set2 .box02 {
      padding-top: 60px;
      padding-bottom: 70px;
   }

   #sec4 .set2 .box02 .photo1 {
      position: static;
      padding: 25px 0 0;
   }

   #sec4 .set2 .box02 .photo2 {
      width: 85%;
      position: static;
      margin: -15% auto 0;
   }

   #sec4 .set2 .box02 .txt {
      width: auto;
      padding: 0 15px;
   }

   #sec4 .set2 .box03 {
      padding-bottom: 0;
   }

   #sec4 .set2 .box03 .photo {
      position: static;
      padding: 25px 0 0;
   }

   #sec4 .set2 .box03 .txt {
      width: auto;
      padding: 15px 15px 0;
   }
}

/* -- sec5 -- */
#sec5 {
   padding-bottom: 129px;
}

#sec5 .set1 {
   background: url("../img/shared/bg02.jpg") repeat center top;
}

#sec5 .set1 .wrap {
   padding-top: 48px;
   padding-bottom: 52px;
}

#sec5 .set1 .box {
   width: 470px;
   border: 1px solid #fff;
   text-align: center;
   box-sizing: border-box;
   margin-left: -34px;
   padding: 55px 54px 107px;
}

#sec5 .set1 .box h2 {
   font-size: 26px;
   line-height: 53px;
   letter-spacing: 0.08em;
   color: #362418;
   padding-top: 145px;
   position: relative;
}

#sec5 .set1 .box h2:before {
   content: '';
   width: 100%;
   height: 100%;
   background: url("../img/index/sec5-deco1.png") no-repeat center top;
   position: absolute;
   top: 0;
   left: -4px;
}

#sec5 .set1 .box h2 span {
   font-size: 34px;
}

#sec5 .set1 .box .txt {
   text-align: justify;
   padding-top: 22px;
}

#sec5 .set1 .sec5-slider1 {
   width: 625px;
   position: absolute;
   top: -42px;
   right: -51px;
}

#sec5 .set1 .sec5-slider1 .slick-slide dd {
   font-size: 22px;
   line-height: 44px;
   letter-spacing: 0.08em;
   color: #fff;
   text-align: center;
   margin-top: -23px;
   position: relative;
   z-index: 1;
}

#sec5 .set1 .sec5-slider1 .slick-slide dd span {
   display: inline-block;
   background-color: #7b725c;
   padding: 0 25px;
   margin-bottom: 2px;
   margin-right: 21px;
}

#sec5 .set1 .sec5-slider1 .slick-dots {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   position: absolute;
   bottom: 68px;
   left: -259px;
}

#sec5 .set1 .sec5-slider1 .slick-dots li {
   width: 15px;
   height: 15px;
   border-radius: 50%;
   background-color: #aba089;
   margin: 0 4px;
   position: relative;
}

#sec5 .set1 .sec5-slider1 .slick-dots li button {
   display: block;
   width: 100%;
   height: 100%;
   cursor: pointer;
   opacity: 0;
   position: absolute;
   top: 0;
   left: 0;
}

#sec5 .set1 .sec5-slider1 .slick-dots li.slick-active, #sec5 .set1 .sec5-slider1 .slick-dots li:hover {
   background-color: #ad3100;
}

#sec5 .set2 h3 {
   text-align: center;
   font-size: 32px;
   line-height: 60px;
   letter-spacing: 0.08em;
   padding: 90px 0 75px;
   position: relative;
}

#sec5 .set2 h3:after {
   content: '';
   width: 218px;
   height: 1px;
   background-color: #96887a;
   position: absolute;
   top: 48px;
   left: 50%;
   transform: rotate(-45deg);
   margin-left: -255px;
}

#sec5 .set2 .sec5-slider2 {
   margin: 0 -12px;
   padding-bottom: 55px;
}

#sec5 .set2 .sec5-slider2 .item {
   width: 470px;
}

#sec5 .set2 .sec5-slider2 .item+.item {
   margin-left: 85px;
}

#sec5 .set2 .sec5-slider2 .item h4 {
   font-size: 26px;
   line-height: 60px;
   letter-spacing: 0.08em;
   text-align: center;
   padding: 24px 0 9px;
}

#sec5 .set2 .sec5-slider2 .item .txt {
   padding: 0 9px;
}

#sec5 .set2 .sec5-slider2 .slick-arrow {
   width: 80px;
   height: 80px;
   border: 0;
   overflow: hidden;
   text-indent: -9999px;
   cursor: pointer;
   position: absolute;
   top: 223px;
   z-index: 1;
   transition: all 0.3s;
}
#sec5 .set2 .sec5-slider2 .slick-arrow:hover{
   opacity: 0.7;
}
#sec5 .set2 .sec5-slider2 .slick-arrow.slick-prev {
   background: url("../img/index/sl-prev.png") no-repeat center top/cover;
   left: -70px;
}

#sec5 .set2 .sec5-slider2 .slick-arrow.slick-next {
   background: url("../img/index/sl-next.png") no-repeat center top/cover;
   right: -68px;
}

#sec5 .set2 .sec5-slider2 .slick-dots {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: center;
   width: 100%;
   position: absolute;
   bottom: 0;
   left: 0;
}

#sec5 .set2 .sec5-slider2 .slick-dots li {
   width: 15px;
   height: 15px;
   border-radius: 50%;
   background-color: #aba089;
   margin: 0 10px;
   position: relative;
}

#sec5 .set2 .sec5-slider2 .slick-dots li button {
   display: block;
   width: 100%;
   height: 100%;
   cursor: pointer;
   opacity: 0;
   position: absolute;
   top: 0;
   left: 0;
}

#sec5 .set2 .sec5-slider2 .slick-dots li.slick-active,
#sec5 .set2 .sec5-slider2 .slick-dots li:hover {
   background-color: #ad3100;
}
@media only screen and (max-width: 1200px) {
   #sec5 .set2 .sec5-slider2 .slick-arrow.slick-prev{
      left: -30px;
   }
   #sec5 .set2 .sec5-slider2 .slick-arrow.slick-next{
      right: -30px;
   }
}
@media only screen and (max-width: 767px) {
   #sec5 {
      padding-bottom: 0;
   }

   #sec5 .wrap {
      padding: 0 6%;
   }

   #sec5 .set1 .wrap {
      padding-top: 45px;
      padding-bottom: 60px;
   }

   #sec5 .set1 .box {
      width: 100%;
      margin-left: 0;
      padding: 20px 30px 90px;
   }

   #sec5 .set1 .box h2 {
      font-size: 16px;
      line-height: 30px;
      letter-spacing: 0.1em;
      padding-top: 80px;
   }

   #sec5 .set1 .box h2:before {
      background-size: 140px 65px;
   }

   #sec5 .set1 .box h2 span {
      font-size: 24px;
   }

   #sec5 .set1 .box .txt {
      padding-top: 20px;
   }

   #sec5 .set1 .sec5-slider1 {
      width: auto;
      margin-top: 15px;
      padding: 0 4%;
      position: relative;
      top: auto;
      right: auto;
   }

   #sec5 .set1 .sec5-slider1 .slick-slide dd {
      font-size: 13px;
      line-height: 24px;
      letter-spacing: 0.08em;
      margin-top: -5px;
   }

   #sec5 .set1 .sec5-slider1 .slick-slide dd span {
      padding: 0 15px;
      margin-right: 0;
   }

   #sec5 .set1 .sec5-slider1 .slick-dots {
      justify-content: center;
      width: 100%;
      top: -70px;
      bottom: auto;
      left: 0;
   }

   #sec5 .set1 .sec5-slider1 .slick-dots li {
      width: 11px;
      height: 11px;
   }

   #sec5 .set2 {
      padding: 35px 7% 70px;
   }

   #sec5 .set2 h3 {
      font-size: 18px;
      line-height: 30px;
      letter-spacing: 0.08em;
      padding: 0 0 35px;
   }

   #sec5 .set2 h3:after {
      width: 100px;
      top: -20px;
      margin-left: -120px;
   }

   #sec5 .set2 .sec5-slider2 {
      padding-bottom: 40px;
   }

   #sec5 .set2 .sec5-slider2 .item {
      width: 100%;
      margin: 0 10px;
   }

   #sec5 .set2 .sec5-slider2 .item+.item {
      margin: 0 10px;
   }

   #sec5 .set2 .sec5-slider2 .item h4 {
      font-size: 15px;
      line-height: 30px;
      letter-spacing: 0.08em;
      padding: 20px 0 10px;
   }

   #sec5 .set2 .sec5-slider2 .item .txt {
      padding: 0;
   }

   #sec5 .set2 .sec5-slider2 .slick-arrow {
      width: 40px;
      height: 40px;
      top: 37%;
   }

   #sec5 .set2 .sec5-slider2 .slick-arrow.slick-prev {
      left: -20px;
   }

   #sec5 .set2 .sec5-slider2 .slick-arrow.slick-next {
      right: -20px;
   }

   #sec5 .set2 .sec5-slider2 .slick-dots li {
      width: 11px;
      height: 11px;
      margin: 0 5px;
   }
}

/* -- sec6 -- */
#sec6 .set1 {
   background: url("../img/index/sec6-bg.jpg") no-repeat center/cover;
   color: #fff;
   padding: 152px 0 128px;
}

#sec6 .set1 h2 {
   font-size: 30px;
   line-height: 62px;
   letter-spacing: 0.1em;
   padding-left: 7px;
}

#sec6 .set1 h2 span {
   font-size: 36px;
}

#sec6 .set1 .txt {
   width: 528px;
   text-align: justify;
   padding: 43px 0 0 7px;
}

#sec6 .set2 {
   padding: 247px 0 251px;
}

#sec6 .set2 .wrap:before {
   content: '';
   width: 632px;
   height: 654px;
   background: url("../img/index/sec6-photo5.png") no-repeat center top/cover;
   position: absolute;
   bottom: -341px;
   right: -20px;
   z-index: -1;
}

#sec6 .set2 h3 {
   width: 120px;
   font-size: 30px;
   line-height: 60px;
   letter-spacing: 0.1em;
   padding-left: 57px;
   position: relative;
   z-index: 1;
}

#sec6 .set2 h3:after {
   content: '';
   width: 218px;
   height: 1px;
   background-color: #96887a;
   position: absolute;
   top: -58px;
   left: -15%;
   transform: rotate(-45deg);
}

#sec6 .set2 ul li:nth-child(1) {
   position: absolute;
   top: -140px;
   right: 5px;
}

#sec6 .set2 ul li:nth-child(2) {
   position: absolute;
   top: 190px;
   left: 52.9%;
   transform: translateX(-50%);
}

#sec6 .set2 ul li:nth-child(2):before {
   content: '';
   width: 308px;
   height: 303px;
   background: url("../img/index/sec6-deco1.png") no-repeat center top/cover;
   position: absolute;
   top: -90px;
   left: -175px;
}

#sec6 .set2 ul li:nth-child(3) {
   position: absolute;
   top: 529px;
   left: 7px;
}

#sec6 .set2 .txt {
   width: 438px;
   margin-left: auto;
   padding: 302px 30px 0 0;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
   #sec6 .set2 h3::after{
      top: -150px;
   }
   #sec6 .set2 .txt{
      padding-top: 0;
   }
}
@media only screen and (max-width: 767px) {
   #sec6 .set1 {
      padding: 75px 0;
   }

   #sec6 .set1 .wrap {
      padding: 0 12%;
   }

   #sec6 .set1 h2 {
      font-size: 16px;
      line-height: 30px;
      letter-spacing: 0.08em;
   }

   #sec6 .set1 h2 span {
      font-size: 24px;
   }

   #sec6 .set1 .txt {
      width: auto;
      padding-top: 20px;
   }

   #sec6 .set2 {
      background: url("../img/index/sp_sec6-photo5.png") no-repeat center bottom/100% auto;
      padding: 100px 0 60px;
   }

   #sec6 .set2 .wrap:before {
      display: none;
   }

   #sec6 .set2 h3 {
      width: 60px;
      height: 180px;
      font-size: 18px;
      line-height: 30px;
      letter-spacing: 0.1em;
      padding-left: 0;
      position: absolute;
      top: 0;
      left: 10%;
   }

   #sec6 .set2 h3:after {
      width: 120px;
      top: -30px;
      left: -40px;
   }

   #sec6 .set2 .photo {
      width: 65%;
      margin-left: auto;
   }

   #sec6 .set2 .photo li+li {
      padding-top: 25px;
   }

   #sec6 .set2 .photo li:nth-child(1) {
      position: static;
   }

   #sec6 .set2 .photo li:nth-child(2) {
      position: static;
      transform: translateX(0);
   }

   #sec6 .set2 .photo li:nth-child(2):before {
      width: 150px;
      height: 148px;
      top: 120px;
      left: -120px;
   }

   #sec6 .set2 .photo li:nth-child(3) {
      position: static;
   }

   #sec6 .set2 .txt {
      width: auto;
      text-align: justify;
      padding: 60px 7% 0;
   }

   #sec6 .set2 .txt br {
      display: none;
   }
}

/* -- sec7 -- */
#sec7 {
   background: url("../img/index/sec7-bg.jpg") no-repeat center/cover;
   padding: 35px 0;
}

#sec7 .photo {
   position: absolute;
   top: 124px;
   left: -150px;
}

#sec7 .box {
   width: 497px;
   color: #fff;
   border: 1px solid #fff;
   text-align: center;
   box-sizing: border-box;
   margin-right: 23px;
   margin-left: auto;
   padding: 55px 54px 60px;
}

#sec7 .box h2 {
   background: url("../img/index/sec7-deco.png") no-repeat center top;
   font-size: 26px;
   line-height: 53px;
   letter-spacing: 0.08em;
   padding-top: 132px;
   position: relative;
}

#sec7 .box h2 span {
   font-size: 34px;
}

#sec7 .box .txt {
   text-align: justify;
   padding-top: 40px;
}

@media only screen and (max-width: 767px) {
   #sec7 {
      background: transparent;
      padding: 70% 3% 70px;
      position: relative;
   }

   #sec7:before {
      content: '';
      width: 100%;
      padding-top: 80%;
      background: url("../img/index/sp_sec7-bg.jpg") no-repeat center/cover;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec7 .photo {
      margin-bottom: 30px;
      position: static;
   }

   #sec7 .box {
      width: auto;
      color: #000;
      border-color: #000;
      margin: 0;
      padding: 40px 35px;
   }

   #sec7 .box h2 {
      font-size: 16px;
      line-height: 30px;
      letter-spacing: 0.1em;
      background-image: url(../img/index/sp_sec7-deco.png);
      background-size: 100% auto;
      padding-top: 70px;
   }

   #sec7 .box h2 span {
      font-size: 24px;
   }

   #sec7 .box .txt {
      width: auto;
      padding-top: 15px;
   }
}

/* -- sec8 -- */
#sec8 {
   padding: 87px 0 160px;
}

#sec8 .wrap {
   padding-top: 100px;
}

#sec8 .photo {
   position: absolute;
   top: 0;
   right: -185px;
}

#sec8 .box {
   width: 458px;
   background: url("../img/shared/body-bg.jpg") repeat center top;
   box-sizing: border-box;
   padding: 32px 50px 68px 24px;
   position: relative;
   z-index: 1;
}

#sec8 .box h2 {
   font-size: 32px;
   line-height: 66px;
   letter-spacing: 0.08em;
}

#sec8 .box h2 img {
   padding-left: 7px;
}

#sec8 .box .txt {
   padding-top: 4px;
}

#sec8 .price {
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
   border-top: 1px dashed #7b725c;
   border-bottom: 1px dashed #7b725c;
   margin-top: 122px;
   padding: 43px 0 43px;
   position: relative;
}

#sec8 .price:before {
   content: '';
   width: 0;
   height: 100%;
   border-left: 1px dashed #7b725c;
   position: absolute;
   top: 0;
   left: 50%;
}

#sec8 .price dl {
   width: 50%;
   box-sizing: border-box;
   padding: 0 53px;
}

#sec8 .price dl dt {
   font-size: 26px;
   line-height: 42px;
   letter-spacing: 0.1em;
}

#sec8 .price dl dt small {
   font-size: 18px;
}

#sec8 .price dl dd {
   font-size: 16px;
   line-height: 30px;
   padding-top: 6px;
}

#sec8 .price dl+dl dt {
   margin-right: -15px;
}
@media only screen and (max-width: 1100px) {
   #sec8 .price dl{
      padding: 0 40px;
   }
}
@media only screen and (max-width: 767px) {
   #sec8 {
      padding: 0 0 80px;
   }

   #sec8 .wrap {
      padding: 0;
   }

   #sec8 .box {
      width: auto;
      padding: 0 10% 40px;
   }

   #sec8 .box h2 {
      font-size: 18px;
      line-height: 36px;
      letter-spacing: 0.08em;
   }

   #sec8 .box h2 img {
      width: 120px;
   }

   #sec8 .box .txt {
      padding-top: 15px;
   }
   #sec8 .box .txt br{
      display: none;
   }

   #sec8 .photo {
      padding-left: 3%;
      position: static;
   }

   #sec8 .price {
      display: block;
      margin-top: 30px;
      padding: 0;
   }

   #sec8 .price:before {
      display: none;
   }

   #sec8 .price dl {
      width: 100%;
      padding: 20px 16%;
   }

   #sec8 .price dl+dl {
      border-top: 1px dashed #7b725c;
   }

   #sec8 .price dl dt {
      font-size: 15px;
      line-height: 21px;
      letter-spacing: 0.1em;
   }

   #sec8 .price dl dt small {
      font-size: 12px;
   }

   #sec8 .price dl dd {
      font-size: 12px;
      line-height: 24px;
      padding-top: 10px;
   }
}

/* -- sec9 -- */
#sec9 {
   padding: 53px 0 150px;
   position: relative;
}

#sec9:before {
   content: '';
   background: url("../img/shared/bg02.jpg") repeat center top;
   position: absolute;
   top: 150px;
   right: 0;
   bottom: 0;
   left: 100px;
}

#sec9 .wrap:before {
   content: '';
   width: 190px;
   height: 155px;
   background: url("../img/index/sec9-deco.png") no-repeat center top/cover;
   position: absolute;
   top: 400px;
   left: -38px;
}

#sec9 .photo {
   width: 50%;
   height: 400px;
   background: url("../img/index/sec9-photo.jpg") no-repeat center/cover;
   padding-right: 150px;
   position: absolute;
   top: 0;
   left: 0;
}

#sec9 .box {
   width: 497px;
   background-color: #262114;
   color: #fff;
   box-sizing: border-box;
   margin-right: -22px;
   margin-left: auto;
   padding: 75px 72px;
}

#sec9 .box h2 {
   font-size: 26px;
   line-height: 42px;
   letter-spacing: 0.1em;
   color: #e9e2d3;
}

#sec9 .box .txt {
   padding-top: 28px;
}

#sec9 .flm {
   text-align: center;
   padding-top: 90px;
   padding-left: 100px;
}

@media only screen and (max-width: 767px) {
   #sec9 {
      background: url(../img/shared/bg02.jpg) repeat center top;
      padding: 0;
   }

   #sec9:before {
      display: none;
   }

   #sec9 .photo {
      width: 100%;
      height: auto;
      padding-top: 45%;
      padding-right: 0;
      position: static;
   }

   #sec9 .wrap {
      padding: 30px 6% 90px;
   }

   #sec9 .wrap:before {
      display: none;
   }

   #sec9 .box {
      width: auto;
      margin: 0;
      padding: 50px 30px;
      position: relative;
   }

   #sec9 .box:after {
      content: '';
      width: 90px;
      height: 70px;
      background: url("../img/index/sec9-deco.png") no-repeat center top/cover;
      position: absolute;
      bottom: -30px;
      right: 0;
   }

   #sec9 .box h2 {
      font-size: 18px;
      line-height: 21px;
      letter-spacing: 0.1em;
   }

   #sec9 .box .txt {
      padding-top: 20px;
   }

   #sec9 .flm {
      padding: 50px 0 0;
   }
}

/* -- sec10 -- */
#sec10 {
   padding: 104px 0 127px;
}

#sec10 h2 {
   font-size: 34px;
   line-height: 50px;
   letter-spacing: 0.1em;
   position: absolute;
   top: 0;
   left: 65px;
}

#sec10 h2:after {
   content: '';
   width: 218px;
   height: 1px;
   background-color: #96887a;
   position: absolute;
   top: -55px;
   left: -96px;
   transform: rotate(-45deg);
}

#sec10 .table-info {
   margin-left: 327px;
   padding-top: 10px;
}

#sec10 .table-info dl {
   display: table;
   width: 100%;
   box-sizing: border-box;
   border-bottom: 1px dashed #96887a;
   line-height: 24px;
   padding-bottom: 12px;
}

#sec10 .table-info dl+dl {
   padding-top: 11px;
}

#sec10 .table-info dl>* {
   display: table-cell;
   vertical-align: top;
   text-align: left;
}

#sec10 .table-info dl dt {
   width: 225px;
}

#sec10 .table-info dl dd span {
   font-size: 20px;
}

#sec10 .box {
   border: 1px solid #8e7f71;
   text-align: center;
   margin-top: 96px;
   padding: 45px 0 53px;
}

#sec10 .box h3 {
   font-size: 24px;
   line-height: 50px;
   letter-spacing: 0.1em;
}

#sec10 .box .txt {
   padding-top: 22px;
}

@media only screen and (max-width: 767px) {
   #sec10 {
      padding: 40px 3% 50px;
   }

   #sec10 h2 {
      font-size: 24px;
      line-height: 25px;
      letter-spacing: 0.1em;
      text-align: center;
      position: relative;
      left: 0;
   }

   #sec10 h2:after {
      width: 120px;
      height: 1px;
      top: -35px;
      left: 50%;
      margin-left: -90px;
   }

   #sec10 .table-info {
      margin-left: 0;
      padding-top: 30px;
   }

   #sec10 .table-info dl {
      display: block;
      font-size: 12px;
      line-height: 15px;
      letter-spacing: 0.08em;
      padding: 10px 3%;
   }

   #sec10 .table-info dl>* {
      display: block;
   }

   #sec10 .table-info dl dd span {
      font-size: 15px;
   }

   #sec10 .box {
      margin-top: 40px;
      padding: 40px 35px;
   }

   #sec10 .box h3 {
      font-size: 16px;
      line-height: 25px;
      letter-spacing: 0.1em;
   }

   #sec10 .box .txt {
      padding-top: 20px;
   }
}

/* -- sec11 -- */
#sec11 {
   padding-bottom: 118px;
}

#sec11 .map {
   width: 100%;
   max-width: 1200px;
   padding-top: 600px;
   margin: 0 auto;
   position: relative;
}

#sec11 .map>* {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#sec11 .btn-list {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding-top: 82px;
}

#sec11 .btn-list li {
   text-align: center;
   padding: 0 29px;
}

#sec11 .btn-list .gmap_print {
   padding-top: 22px;
}

#sec11 .btn-list .gmap_print a {
   display: inline-block;
   color: #184e18;
   line-height: 32px;
   border-bottom: 1px solid #184e18;
}

#sec11 .btn-list .gmap_print a:hover {
   text-decoration: none;
   border-color: transparent;
}

@media only screen and (max-width: 767px) {
   #sec11 {
      padding-bottom: 0;
   }

   #sec11 .map {
      width: 94%;
      padding-top: 480px;
      margin: 0 auto;
   }

   #sec11 .btn-list {
      display: block;
      padding: 40px 7%;
   }

   #sec11 .btn-list li {
      padding: 0;
   }

   #sec11 .btn-list li+li {
      padding-top: 20px;
   }
}
