#key {
   background: url("../img/scene/kv.jpg") no-repeat center/cover;
}

h2 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   letter-spacing: 0.1em;
}

#sec1 {
   background: url("../img/scene/sec1-photo.png") no-repeat center top 129px;
   padding: 624px 0 113px;
}

#sec1 .desc {
   display: flex;
   flex-wrap: wrap;
   flex-direction: row-reverse;
   margin-right: -90px;
}

#sec1 .txt-vertical {
   height: 320px;
   padding: 229px 76px 0 0;
}

#sec1 .txt-vertical+.txt-vertical {
   padding-right: 27px;
}
#sec1 h3{
   position:
   absolute;
   top: 80px;
   left: 70px;
}
#sec2 {
   position: relative;
}

#sec2:before {
   content: '';
   width: 750px;
   height: 1310px;
   background: url("../img/scene/sec2-deco1.png") no-repeat center top;
   position: absolute;
   bottom: -293px;
   left: 0;
}

#sec2 h2,
#sec2 h3 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   font-size: 50px;
   letter-spacing: 0.1em;
   line-height: 80px;
}

#sec2 h2 span,
#sec2 h3 span {
   display: inline-block;
   font-size: 65px;
   letter-spacing: 0.1em;
}

#sec2 h2 small,
#sec2 h3 small {
   font-size: 30px;
}

#sec2 .box1 {
   display: flex;
   flex-wrap: wrap;
   padding-bottom: 129px;
   position: relative;
}

#sec2 .box1:before {
   content: '';
   width: 160px;
   height: 73%;
   background: url("../img/share/bg-wood.jpg") repeat center top;
   position: absolute;
   top: -160px;
   left: -250px;
}

#sec2 .box1:after {
   content: '';
   width: 250px;
   height: 73%;
   background: url("../img/share/bg-wood.jpg") repeat center top;
   position: absolute;
   top: -92px;
   left: -64px;
}

#sec2 .box1 .photo {
   position: relative;
   z-index: 1;
}

#sec2 .box1 h2 {
   padding: 64px 0 0 46px;
   position: relative;
   z-index: 1;
}

#sec2 .box1 h2:before {
   content: '';
   width: 74px;
   height: 52px;
   background: url("../img/scene/sec2-deco.png") no-repeat center top/cover;
   position: absolute;
   top: 22px;
   left: -43px;
}

#sec2 .box1 h2 span {
   border-bottom: 4px solid #ff0000;
}

#sec2 .box1 .txt {
   width: 436px;
   padding: 66px 0 0 83px;
}

#sec2 .box2 {
   padding: 100px 0 256px 570px;
   position: relative;
}

#sec2 .box2:before {
   content: '';
   width: 250px;
   height: 89%;
   background: url("../img/share/bg-wood.jpg") repeat center top;
   position: absolute;
   top: -82px;
   right: -170px;
}

#sec2 .box2:after {
   content: '';
   width: 250px;
   height: 88.7%;
   background: url("../img/share/bg-wood.jpg") repeat center top;
   position: absolute;
   top: -13px;
   right: 104px;
}

#sec2 .box2 .photo {
   position: absolute;
   top: 0;
   left: -220px;
   z-index: 1;
}

#sec2 .box2 h3 {
   margin-right: -10px;
   position: relative;
   z-index: 1;
}

#sec2 .box2 h3:before {
   content: '';
   width: 74px;
   height: 52px;
   background: url("../img/scene/sec2-deco.png") no-repeat center top/cover;
   position: absolute;
   top: -60px;
   right: -46px;
}

#sec2 .box2 h3 span {
   border-bottom: 4px solid #ff0000;
}

#sec2 .box2 h3 small {
   display: block;
   line-height: 1;
   letter-spacing: 0.1em;
   position: absolute;
   bottom: -36px;
   left: 90px;
}

#sec2 .box2 .txt {
   text-align: justify;
   padding: 71px 0 0 4px;
   position: relative;
   z-index: 1;
}

#sec2 .box2 .txt span {
   text-decoration: underline;
}

#sec3 {
   padding-bottom: 100px;
}

#sec3 h2,
#sec3 h3 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   font-size: 45px;
   letter-spacing: 0.1em;
   line-height: 50px;
}

#sec3 h2 small,
#sec3 h3 small {
   display: block;
   font-size: 30px;
   letter-spacing: 0.1em;
}

#sec3 h2 span,
#sec3 h3 span {
   display: inline-block;
   background-color: #fff;
   color: #ff0000;
   letter-spacing: 0.1em;
}

#sec3 .box01 {
   padding-bottom: 171px;
   position: relative;
}

#sec3 .box01 .photo {
   position: absolute;
   top: 0;
   right: -130px;
}

#sec3 .box01 h2 {
   padding-top: 3px;
   position: relative;
   z-index: 1;
}

#sec3 .box01 h2 small {
   margin-bottom: -3px;
   margin-left: -3px;
}

#sec3 .box01 h2 span {
   margin-bottom: 6px;
   margin-left: -11px;
   padding: 3px 4px 7px 9px;
}

#sec3 .box01 .txt {
   width: 370px;
   text-align: justify;
   padding-top: 48px;
}

#sec3 .box02 {
   padding: 53px 0 146px 549px;
   position: relative;
}

#sec3 .box02 .photo {
   position: absolute;
   top: 0;
   left: -143px;
}

#sec3 .box02 h3 {
   margin-right: -20px;
   position: relative;
   z-index: 1;
}

#sec3 .box02 h3 small {
   margin-bottom: 4px;
   padding-left: 18px;
}

#sec3 .box02 h3 span {
   margin-bottom: 5px;
   padding: 2px 4px 9px 10px;
}

#sec3 .box02 .txt {
   width: 370px;
   text-align: justify;
   padding: 42px 0 0 80px;
   position: relative;
   z-index: 1;
}

#sec3 .button a {
   margin: 0 auto;
}

#sec4 {
   background: url("../img/share/bg01.jpg") repeat center top;
   padding: 109px 0 148px;
   position: relative;
}

#sec4:before {
   content: '';
   width: 750px;
   height: 1305px;
   background: url("../img/scene/sec4-deco.png") no-repeat center top;
   position: absolute;
   top: 144px;
   left: 0;
}

#sec4 h2 {
   font-size: 50px;
   line-height: 70px;
   text-align: center;
}

#sec4 h2 span {
   display: inline-block;
   position: relative;
}

#sec4 h2 span:before {
   content: '';
   width: 50px;
   height: 50px;
   border-top: 2px solid #ff0000;
   border-left: 2px solid #ff0000;
   box-sizing: border-box;
   position: absolute;
   top: -7px;
   left: -106px;
}

#sec4 h2 span:after {
   content: '';
   width: 50px;
   height: 50px;
   border-bottom: 2px solid #ff0000;
   border-right: 2px solid #ff0000;
   box-sizing: border-box;
   position: absolute;
   bottom: -37px;
   right: -105px;
}

#sec4 h2 small {
   display: block;
   font-size: 30px;
}

#sec4 .box01 {
   width: 900px;
   margin: 0 auto;
   padding-top: 126px;
   padding-bottom: 216px;
   position: relative;
}

#sec4 .box01 .photo-map {
   background: url("../img/share/bg02.jpg") repeat center top;
   padding: 90px 68px 90px 64px;
   position: absolute;
   top: 616px;
   left: 44%;
}

#sec4 .box01 h3 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   font-size: 45px;
   letter-spacing: 0.1em;
   line-height: 50px;
   padding: 51px 0 32px;
}

#sec4 .box01 .txt {
   width: 335px;
   text-align: justify;
}

#sec4 .box02 {
   display: flex;
   flex-wrap: wrap;
   flex-direction: row-reverse;
   margin-top: 74px;
   padding-bottom: 69px;
   position: relative;
}

#sec4 .box02 h3 {
   height: 300px;
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   font-size: 45px;
   letter-spacing: 0.1em;
   line-height: 50px;
   padding-top: 33px;
   padding-right: 48px;
}

#sec4 .box02 .txt {
   height: 350px;
   text-align: justify;
   padding: 72px 40px 0 0;
}

#sec4 .box02 .txt .txt-latin {
   display: inline-block;
   transform: rotate(-90deg);
   position: relative;
   left: -3px;
}

#sec4 .box02 .slider-fade {
   width: 710px;
   position: absolute;
   top: 0;
   left: -70px;
}

#sec4 .box02 .slider-fade .slick-dots {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   margin-top: 13px;
   position: absolute;
   top: 100%;
   right: 0;
}

#sec4 .box02 .slider-fade .slick-dots li {
   width: 15px;
   height: 15px;
   border-radius: 50%;
   background-color: #fff;
   position: relative;
}

#sec4 .box02 .slider-fade .slick-dots li+li {
   margin-left: 10px;
}

#sec4 .box02 .slider-fade .slick-dots li button {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   cursor: pointer;
   opacity: 0;
}

#sec4 .box02 .slider-fade .slick-dots li.slick-active,
#sec4 .box02 .slider-fade .slick-dots li:hover {
   background-color: #ff0000;
}

#sec5 {
   background: url("../img/scene/sec5-bg.jpg") no-repeat center/cover;
   color: #fff;
   text-align: center;
   padding: 330px 0 326px;
   position: relative;
}

#sec5 h2 {
   font-size: 50px;
   line-height: 72px;
}

#sec5 h2 span {
   display: inline-block;
   position: relative;
}

#sec5 h2 span:before {
   content: '';
   width: 50px;
   height: 50px;
   border-top: 2px solid #ff0000;
   border-left: 2px solid #ff0000;
   box-sizing: border-box;
   position: absolute;
   top: -28px;
   left: -66px;
}

#sec5 h2 span:after {
   content: '';
   width: 50px;
   height: 50px;
   border-bottom: 2px solid #ff0000;
   border-right: 2px solid #ff0000;
   box-sizing: border-box;
   position: absolute;
   bottom: -23px;
   right: -65px;
}