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

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

#sec1 {
   padding: 66px 0 265px;
}

#sec1 .inner:before {
   content: '';
   width: 70px;
   height: 51px;
   background: url("../img/menu/sec1-deco.png") no-repeat center top/cover;
   position: absolute;
   top: 40px;
   left: -50px;
}

#sec1 h2 {
   font-size: 50px;
   line-height: 106px;
   letter-spacing: 0.13em;
   padding: 94px 0 0 28px;
   position: relative;
}

#sec1 h2:before {
   content: '';
   width: 140px;
   height: 0;
   border-top: 1px solid #fff;
   position: absolute;
   bottom: 45px;
   left: 343px;
}

#sec1 h2 span {
   font-size: 100px;
}

#sec1 h2 .udl {
   position: relative;
}

#sec1 h2 .udl:before {
   content: '';
   width: 97%;
   height: 0;
   border-bottom: 15px solid #ff0000;
   position: absolute;
   bottom: 11px;
   left: 0;
   z-index: -1;
}

#sec1 h2 strong {
   font-weight: inherit;
   font-size: 75px;
}

#sec1 .photo {
   position: absolute;
   top: 0;
   right: -250px;
}

#sec1 .txt {
   width: 470px;
   padding: 42px 0 0 30px;
   position: relative;
}

#sec1 .txt:before {
   content: '';
   width: 993px;
   height: 250px;
   background: url("../img/share/bg-wood.jpg") repeat center top;
   position: absolute;
   top: 160px;
   left: -77px;
   z-index: -1;
}

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

#sec2:before {
   content: '';
   width: 545px;
   height: 615px;
   background: url("../img/menu/sec2-deco.png") no-repeat center top/cover;
   position: absolute;
   top: 0;
   right: 0;
   z-index: 1;
}

#sec2 h2 {
   text-align: center;
   font-size: 65px;
   line-height: 72px;
   padding-bottom: 108px;
}

#sec2 h2 span {
   color: #ff0000;
   font-size: 110px;
   position: relative;
}

#sec2 h2 span:before {
   content: '';
   width: 91%;
   height: 0;
   border-bottom: 4px solid #ff0000;
   position: absolute;
   bottom: 3px;
   left: 4px;
}

#sec2 .box {
   position: relative;
}

#sec2 .box h3 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   font-size: 45px;
   line-height: 54px;
   letter-spacing: 0.1em;
   color: #dc0000;
}

#sec2 .box h3 span {
   display: inline-block;
   background-color: #fff;
   margin-bottom: 9px;
   padding: 0 0 5px 10px;
}

#sec2 .box .desc {
   text-align: justify;
   position: relative;
   z-index: 2;
}

#sec2 .box .photo:before {
   content: '';
   width: 100px;
   height: 100px;
   background: url("../img/share/bg03.jpg") repeat center top;
   position: absolute;
   bottom: -20px;
   right: -20px;
}

#sec2 .box:nth-child(even) {
   padding-bottom: 259px;
}

#sec2 .box:nth-child(even):before {
   content: '';
   width: 250px;
   height: 119%;
   background: url("../img/share/bg02.jpg") repeat center top;
   position: absolute;
   top: -230px;
   right: -200px;
}

#sec2 .box:nth-child(even) .photo {
   position: absolute;
   top: 0;
   left: -175px;
}

#sec2 .box:nth-child(even) .desc {
   width: 362px;
   margin-left: auto;
   padding-top: 70px;
}

#sec2 .box:nth-child(even) .txt {
   letter-spacing: 0.09em;
   padding-top: 34px;
}

#sec2 .box:nth-child(odd) {
   padding-bottom: 112px;
}

#sec2 .box:nth-child(odd):before {
   content: '';
   width: 200px;
   height: 104.1%;
   background: url("../img/share/bg02.jpg") repeat center top;
   position: absolute;
   top: -20px;
   left: -87px;
}

#sec2 .box:nth-child(odd) .photo {
   position: absolute;
   top: 0;
   right: -2px;
}

#sec2 .box:nth-child(odd) .desc {
   padding: 70px 0 0 55px;
   position: relative;
   z-index: 1;
}

#sec2 .box:nth-child(odd) h3 span {
   padding-right: 5px;
}

#sec2 .box:nth-child(odd) .txt {
   width: 362px;
   letter-spacing: 0.09em;
   padding-top: 47px;
}

#sec3 {
   background: url("../img/menu/sec3-bg.png") no-repeat center top;
   padding: 137px 0 91px;
   position: relative;
}

#sec3 .inner {
   z-index: 1;
}

#sec3 .inner:before {
   content: '';
   width: 250px;
   height: 993px;
   background: url("../img/share/bg-wood.jpg") repeat center top;
   position: absolute;
   top: -168px;
   left: -142px;
   z-index: -1;
}

#sec3 .inner:after {
   content: '';
   width: 250px;
   height: 993px;
   background: url("../img/share/bg-wood.jpg") repeat center top;
   position: absolute;
   top: -33px;
   left: 130px;
   z-index: -1;
}

#sec3 h2 {
   font-size: 65px;
   line-height: 85px;
}

#sec3 h2 small {
   font-size: 50px;
}

#sec3 h2 span {
   font-size: 110px;
   position: relative;
}

#sec3 h2 span:before {
   content: '';
   width: 100%;
   height: 0;
   border-bottom: 4px solid;
   position: absolute;
   bottom: 7px;
   left: -2px;
}

#sec3 .photo1 {
   position: absolute;
   top: 117px;
   right: 0;
   z-index: 1;
}

#sec3 .photo2 {
   padding-top: 60px;
}

#sec3 dl {
   display: flex;
   flex-wrap: wrap;
   padding: 58px 0 0 81px;
}

#sec3 dl dt {
   padding-top: 38px;
}

#sec3 dl dt h3 {
   font-weight: bold;
   font-size: 40px;
   letter-spacing: 0.1em;
   line-height: 40px;
}

#sec3 dl dt .price {
   font-weight: bold;
   font-size: 30px;
   line-height: 30px;
   letter-spacing: 0.1em;
   padding: 23px 0 0 69px;
}

#sec3 dl dt .price small {
   font-size: 25px;
}

#sec3 dl dd {
   width: 487px;
   text-align: justify;
   padding-left: 30px;
}

#sec4 {
   padding-bottom: 203px;
}

#sec4 .row {
   background: url("../img/menu/sec4-bg.jpg") no-repeat center/cover;
   text-align: right;
   padding: 195px 118px 205px 0;
}

#sec4 .row h2 {
   display: inline-block;
   font-size: 50px;
   line-height: 75px;
   text-align: center;
   position: relative;
}

#sec4 .row h2:before {
   content: '';
   width: 50px;
   height: 50px;
   box-sizing: border-box;
   border-top: 2px solid #ff0000;
   border-left: 2px solid #ff0000;
   position: absolute;
   top: -27px;
   left: -57px;
}

#sec4 .row h2:after {
   content: '';
   width: 50px;
   height: 50px;
   box-sizing: border-box;
   border-bottom: 2px solid #ff0000;
   border-right: 2px solid #ff0000;
   position: absolute;
   bottom: -38px;
   right: -57px;
}

#sec4 .row h2 span {
   font-size: 60px;
}

#sec4 dl {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   margin-top: -30px;
   margin-right: -7px;
}

#sec4 dl dt {
   width: 345px;
   text-align: justify;
   padding-top: 80px;
}

#sec4 dl dd {
   width: 600px;
   position: relative;
}

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

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

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

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

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

.menu-list {
   display: flex;
   flex-wrap: wrap;
   margin-bottom: -58px;
   justify-content: space-between;
}

.menu-list .col {
   width: 320px;
   /* margin-left: 20px; */
   padding-bottom: 58px;
}

.menu-list .col:nth-child(3n + 1) {
   /* margin-left: 0; */
}

.menu-list h3 {
   font-weight: bold;
   font-size: 22px;
   letter-spacing: 0.1em;
   color: #ff0000;
}

.menu-list h3:not(:first-child) {
   margin-top: 40px;
}
.menu-list h4 {
   font-weight: bold;
   font-size: 18px;
   letter-spacing: 0.1em;
}
.menu-list h4:not(:first-child) {
   margin-top: 20px;
}
.menu-list .sub {
   font-weight: bold;
   font-size: 18px;
   letter-spacing: 0.1em;
   padding-top: 10px;
}

.menu-list dl {
   display: table;
   width: 100%;
   box-sizing: border-box;
   border-bottom: 1px solid #908985;
   line-height: 25px;
   padding: 7px 0 10px;
}

.menu-list dl+dl {
   padding-top: 14px;
}

.menu-list dl>* {
   display: table-cell;
   vertical-align: top;
}

.menu-list dl dd {
  
   text-align: right;
}

.menu-list dl+p {
   padding-top: 14px;
}

#sec5 {
   padding-bottom: 133px;
}

#sec5 .toggle-link {
   background-color: #ff0000;
   color: #fff;
   padding: 56px 0 19px 7px;
   position: relative;
}

#sec5 .toggle-link:before {
   content: '';
   width: 0;
   height: 100%;
   border-left: 5px solid #fff;
   position: absolute;
   top: 0;
   left: 10px;
}

#sec5 .toggle-link:after {
   content: '';
   width: 32px;
   height: 52px;
   background: url("../img/menu/arrow-down.png") no-repeat center top/cover;
   position: absolute;
   top: 64px;
   right: 44px;
   transition: all 0.3s;
}

#sec5 h2 {
   font-size: 50px;
   line-height: 72px;
   text-align: center;
   color: #fff;
}

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

#sec5 h2 span:before {
   content: '';
   height: 0;
   border-top: 2px solid #fff;
   position: absolute;
   top: 0;
   right: 100%;
   left: 0;
   transition: all 0.3s;
}

#sec5 .toggle-link:hover h2 span:before {
   right: 0;
}

#sec5 .txt {
   display: block;
   font-size: 15px;
   text-align: center;
   padding-top: 17px;
}

#sec5 .toggle-main {
   padding: 35px 0 0;
}

#sec5 .toggle-main .note {
   text-align: center;
}

#sec5 .menu-list {
   padding-top: 71px;
}

#sec5 .toggle.active .toggle-link:after {
   transform: rotate(180deg);
}

#sec6 {
   background: url("../img/share/bg03.jpg") repeat center top;
   color: #000;
   padding: 101px 0 192px;
   position: relative;
}

#sec6:before {
   content: '';
   width: 100%;
   height: 9px;
   background: url("../img/share/bg-wood.jpg") repeat center top;
   position: absolute;
   top: 20px;
   left: 0;
}

#sec6:after {
   content: '';
   width: 9px;
   height: 100%;
   background: url("../img/share/bg-wood.jpg") repeat center top;
   position: absolute;
   top: 0;
   right: 17px;
}

#sec6 .inner:before {
   content: '';
   width: 462px;
   height: 534px;
   background: url("../img/menu/sec6-deco.png") no-repeat center top/cover;
   position: absolute;
   top: -101px;
   right: -250px;
}

#sec6 .title {
   display: flex;
   flex-wrap: wrap;
   flex-direction: row-reverse;
   height: 640px;
   padding-top: 80px;
}

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

#sec6 .sub {
   font-family: 'Noto Serif JP', serif;
   padding: 117px 40px 0 0;
}

#sec6 .sub dt {
   font-weight: 700;
   font-size: 50px;
   line-height: 82px;
   letter-spacing: 0.1em;
}

#sec6 .sub dt strong {
   font-weight: inherit;
   font-size: 100px;
   letter-spacing: 0.04em;
   position: relative;
   z-index: 1;
}

#sec6 .sub dt strong:before {
   content: '';
   width: 0;
   height: 98%;
   border-left: 13px solid #ff0000;
   position: absolute;
   top: 1px;
   right: 20px;
   z-index: -1;
}

#sec6 .sub dd {
   font-weight: 700;
   font-size: 30px;
   letter-spacing: 0.1em;
   padding: 8px 0 0 4px;
}

#sec6 .slider-fade {
   width: 840px;
   position: absolute;
   top: 0;
   left: -87px;
}

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

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

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

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

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

#sec6 .txt {
   margin-top: -52px;
   padding-left: 87px;
   padding-bottom: 67px;
}

#sec6 .box {
   position: relative;
   z-index: 1;
}

#sec6 .box:before {
   content: '';
   width: 303px;
   height: 120%;
   background: url("../img/menu/sec6-deco-bg.jpg") repeat-y center top;
   opacity: 0.2;
   position: absolute;
   top: 0;
   left: -57px;
   z-index: -1;
}

#sec6 .box h3 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   padding: 84px 0 0 49px;
}

#sec6 .box h3 small {
   display: block;
   font-size: 30px;
   letter-spacing: 0.1em;
   line-height: 30px;
   margin-bottom: 16px;
   padding-left: 11px;
}

#sec6 .box h3 span {
   display: inline-block;
   background-color: #fff;
   font-size: 45px;
   letter-spacing: 0.1em;
   line-height: 45px;
   margin-bottom: 6px;
   padding: 3px 2px 12px 11px;
}

#sec6 .box .photo1 {
   position: absolute;
   top: 0;
   right: -140px;
}

#sec6 .box .photo2 {
   position: absolute;
   top: 340px;
   left: -140px;
}

#sec6 .box .box-txt {
   width: 346px;
   text-align: justify;
   margin-left: auto;
   padding: 183px 65px 0 0;
}

#sec7 {
   background: url("../img/share/bg03.jpg") repeat center top;
   color: #000;
   padding-bottom: 100px;
   position: relative;
}

#sec7:after {
   content: '';
   width: 9px;
   height: 100%;
   background: url("../img/share/bg-wood.jpg") repeat center top;
   position: absolute;
   top: 0;
   right: 17px;
}

#sec7 .toggle-link {
   background-color: #000;
   color: #fff;
   padding: 56px 0 19px 7px;
   position: relative;
}

#sec7 .toggle-link:before {
   content: '';
   width: 0;
   height: 100%;
   border-left: 5px solid #ff0000;
   position: absolute;
   top: 0;
   left: 10px;
}

#sec7 .toggle-link:after {
   content: '';
   width: 32px;
   height: 52px;
   background: url("../img/menu/arrow-down-red.png") no-repeat center top/cover;
   position: absolute;
   top: 64px;
   right: 44px;
   transition: all 0.3s;
}

#sec7 h2 {
   font-size: 50px;
   line-height: 72px;
   text-align: center;
   color: #fff;
}

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

#sec7 h2 span:before {
   content: '';
   height: 0;
   border-top: 2px solid #fff;
   position: absolute;
   top: 0;
   left: 0;
   right: 100%;
   transition: all 0.3s;
}

#sec7 .toggle-link:hover h2 span:before {
   right: 0;
}

#sec7 .txt {
   display: block;
   font-size: 15px;
   text-align: center;
   padding-top: 17px;
}

#sec7 .toggle-main {
   padding: 35px 0 0;
}

#sec7 .toggle-main .note {
   text-align: center;
}

#sec7 .menu-list {
   padding-top: 71px;
}

#sec7 .menu-list dl {
   border-color: #685a47;
}

#sec7 .toggle.active .toggle-link:after {
   transform: rotate(180deg);
}