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

/* -- -- */
#sec1 {
   width: 1000px;
   height: 610px;
   background: url(../img/menu/bg_story1.jpg) no-repeat center top;
   margin-top: 30px;
}

#sec2 {
   width: 1000px;
   height: 502px;
   background: url(../img/menu/bg_story2.jpg) no-repeat center top;
}

#sec3 {
   width: 1010px;
   height: 359px;
   background: url(../img/menu/bg_story3.jpg) no-repeat center top;
   margin: 0 -5px;
}

#sec4 {
   width: 1000px;
   height: 583px;
   background: url(../img/menu/bg_story4.jpg) no-repeat center top;
}

/* -- -- */
#sec5 {
   background: url("../img/menu/sec5-bg.jpg") no-repeat center top;
   padding: 144px 0 58px;
}
#sec5 .txt {
   padding: 49px 0 32px;
}
#sec5 .txt p+p {
   padding-top: 32px;
}
#sec5 .price-box {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   margin: 0 -20px;
}
#sec5 .price-box p {
   width: 307px;
   background: url("../img/menu/sec5-price_bg.png") no-repeat center top/cover;
   box-sizing: border-box;
   font-size: 25px;
   line-height: 40px;
   letter-spacing: 0.05em;
   margin-top: 80px;
   padding: 12px 0 13px;
}
#sec5 .price-box p+p {
   margin-left: 58px;
}
#sec5 .price-box p:nth-child(3n +1) {
   margin-left: 0;
}
#sec5 .price-box p:nth-child(2) {
   position: relative;
}
#sec5 .price-box p:nth-child(2):before {
   content: '';
   width: 307px;
   height: 35px;
   background: url("../img/menu/sec5-catch_1.png") no-repeat center top/cover;
   position: absolute;
   bottom: 100%;
   left: 0;
}
#sec5 .price-box p:last-child {
   margin-left: 82px;
   position: relative;
}
#sec5 .price-box p:last-child:before {
   content: '';
   width: 307px;
   height: 37px;
   background: url("../img/menu/sec5-catch_2.png") no-repeat center top/cover;
   position: absolute;
   bottom: 100%;
   left: 0;
}

/* -- -- */
#sec6 {
   background: url("../img/menu/sec6-photo.jpg") no-repeat center top;
   padding-bottom: 391px;
}
#sec6 h2 {
   padding: 142px 0 0 169px;
}
#sec6 ul {
   padding: 61px 0 0 422px;
}
#sec6 ul li+li {
   padding-top: 45px;
}
#sec6 ul li span {
   display: block;
   font-size: 30px;
   line-height: 32px;
   letter-spacing: 0.05em;
   padding-bottom: 13px;
}

/* -- -- */
#sec7 {
   padding-bottom: 136px;
   position: relative;
}
#sec7:before {
   content: '';
   width: 100%;
   height: 700px;
   background: url("../img/menu/sec7-bg.jpg") no-repeat center top;
   position: absolute;
   top: 414px;
   left: 0;
}
#sec7 .block01 {
   padding-bottom: 114px;
   position: relative;
}
#sec7 .block01 .photo {
   position: absolute;
   top: -76px;
   right: -140px;
}
#sec7 .block01 dl dt {
   font-size: 30px;
   line-height: 32px;
   letter-spacing: 0.05em;
   padding-bottom: 17px;
}
#sec7 .block01 .dl1 {
   margin-top: -8px;
   padding-left: 66px;
}
#sec7 .block01 .box-menu {
   width: 387px;
   border: 1px solid #2e2e2e;
   text-align: center;
   margin: 28px 0 0 69px;
   padding: 18px 0 28px;
}
#sec7 .block01 .box-menu ul {
   padding-top: 15px;
}
#sec7 .block01 .dl2 {
   width: 453px;
   margin-left: auto;
   margin-top: -80px;
}
#sec7 .block02 {
   background: url("../img/menu/sec7-photo2.png") no-repeat left top;
   padding-top: 22px;
   padding-bottom: 80px;
}
#sec7 .block02 h3 {
   width: 375px;
   font-size: 22px;
   line-height: 32px;
   letter-spacing: 0.05em;
   position: relative;
   margin-left: auto;
   padding-bottom: 22px;
}
#sec7 .block02 h3:before {
   content: '';
   width: 471px;
   height: 1px;
   background-image: linear-gradient(to right, #fff, transparent);
   position: absolute;
   bottom: 0;
   left: -50px;
}
#sec7 .block02 h3 small {
   display: block;
   font-size: 16px;
   line-height: 24px;
}
#sec7 .block02 ul {
   width: 379px;
   margin-left: auto;
   padding-top: 25px;
   line-height: 35px;
}
#tel{
	padding-bottom: 20px;
	text-align: center;
   background: url("../img/shared/tel_bg.png") no-repeat center 0;
   height:210px;
   padding:20px 0 0;
   position: relative;
   width:800px;
   margin:0 auto;
}
#tel .num{
   position: relative;
   display:inline-block;
   text-align: center;
   margin:0 auto;
   left:0;
   font-size:30px;
}
#tel .num span{
   font-size:16px;
}
#tel .num:before{
   content:'';
   width:29px;
   height:29px;
   background: url("../img/shared/icon_tel.png") no-repeat center 0;
   position:absolute;
   left:-30px;
   top:36px;
}
#tel .txt {
	text-align: center;
   font-size:13px;
   margin-bottom:10px;
}
/* -- -- */
#sec8 {
   padding-bottom: 144px;
   position: relative;
}
#sec8>div {
   display: flex;
   flex-wrap: wrap;
   position: relative;
}
#sec8>div>* {
   width: 50%;
}
#sec8 .col h3 {
   text-align: center;
}
#sec8 .col .txt {
   width: 365px;
   margin: 0 auto;
   text-align: justify;
   letter-spacing: 0.03em;
}
#sec8 .photo {
   background: url("../img/menu/sec8-photo1.jpg") no-repeat center/cover;
}
#sec8 .sec8-slider .slick-slide {
   height: 600px;
}
#sec8 .sec8-slider .slide1 {
   background: url("../img/menu/sec8-sl_photo1.jpg") no-repeat center/cover;
}
#sec8 .sec8-slider .slide2 {
   background: url("../img/menu/sec8-sl_photo2.jpg") no-repeat center/cover;
}
#sec8 .sec8-slider dl {
   width: 180px;
   font-size: 22px;
   line-height: 40px;
   letter-spacing: 0.05em;
   text-shadow: 0px 0px 19.53px black;
   text-align: center;
   padding: 82px 0 0 90px;
}
#sec8 .sec8-slider .slick-dots {
   display: block !important;
   position: absolute;
   bottom: 28px;
   left: -23px;
}
#sec8 .sec8-slider .slick-dots li {
   width: 6px;
   height: 76px;
   background-color: transparent;
   border: 1px solid #2e2e2e;
   box-sizing: border-box;
   position: relative;
}
#sec8 .sec8-slider .slick-dots li+li {
   margin-top: 10px;
}
#sec8 .sec8-slider .slick-dots li button {
   display: block;
   width: 100%;
   height: 100%;
   opacity: 0;
   cursor: pointer;
   position: absolute;
   top: 0;
   left: 0;
}
#sec8 .sec8-slider .slick-dots li.slick-active, #sec8 .sec8-slider .slick-dots li:hover {
   background-color: #2e2e2e;
}
#sec8 .note {
   position: absolute;
   bottom: 9px;
   left: 50%;
   padding-left: 30px;
   z-index: 1;
}
#sec8 .set1 .col {
   padding-bottom: 83px;
}
#sec8 .set1 .col h3 {
   padding: 38px 0 34px;
}
#sec8 .set2 .col {
   padding-bottom: 57px;
}
#sec8 .set2 .col h3 {
   padding: 101px 0 40px;
}

.txt_s{
	font-size: 80%;
	margin-top: 1em;
}