header {
    position: relative;
}

header .key-txt {
    position: absolute;
    color: #fff;
    font-size: 6.5vw;
    text-align: center;
    line-height: 1.5;
    z-index: 3;
    width: 100%;
    letter-spacing: 0.2em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 0, 0, 0.5);
}

header .key-txt span {
    font-size: 8vw;
}

header .logo {
    width: 25%;
}

header h1 {
    color: #000;
    padding: 0 5%;
}

#sec1 {
    /* background: url("../img/ryuen_party/s1_bg.jpg") no-repeat center top/100% auto; */
    padding: 0 0 10vw;
}

#sec1 h2 {
    margin-bottom: 5vw;
}

#sec1 ul {
    margin-top: 8vw;
    padding: 0 12%;
}

#sec1 ul li+li {
    margin-top: 4vw;
}

#sec2 {
    padding-bottom: 10vw;
    background: url("../img/ryuen_party/s1_bg.jpg") no-repeat center top/100% auto;
    padding-top: 5vw;
}

#sec2 h2 {
    position: absolute;
    width: 50%;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 2;
    padding-right: 25%;
}

#sec2 h4 {
    position: absolute;
    text-align: center;
    width: 100%;
    font-size: 5vw;
    line-height: 1.5;
    top: 16vw;
    z-index: 2;
    padding-right: 25%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#sec2 .deco {
    position: absolute;
    width: 8%;
    left: 65%;
    top: 19vw;
    z-index: 5;
}

#sec2 .slide-nav {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 4;
    width: 34vw;
}

#sec2 .slide-nav .slick-track {
    -webkit-transform: translate3d(0px, 0px, 0px) !important;
    transform: translate3d(0px, 0px, 0px) !important;
}

#sec2 .slide-nav .slick-slide {
    position: relative;
}

#sec2 .slide-nav .slick-slide .on {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 1;
}

#sec2 .slide-nav .slick-slide.slick-current .on {
    opacity: 0;
}

#sec2 .slide-nav .slick-slide:nth-child(1) {
    width: 26vw;
    margin-right: -11vw;
}

#sec2 .slide-nav .slick-slide:nth-child(2) {
    margin-top: 19vw;
    width: 17vw;
}

#sec2 .slide1 .group {
    padding-top: 40vw;
}

#sec2 .slide1 .group h3 {
    margin: 9vw 0 5vw;
}

#sec2 .slide1 .group p.img {
    margin-top: 7vw;
}

#sec3 {
    position: relative;
    z-index: 2;
    background-image: url(../img/ryuen_party/s3_bg.jpg);
    padding-bottom: 12vw;
}

#sec3:before {
    content: "";
    position: absolute;
    left: 0;
    background-image: url(../img/ryuen_party/s3_bg.jpg);
    background-position: center top;
    background-repeat: repeat;
    width: 100%;
    height: 25vw;
    bottom: 95%;
    -webkit-transform: skewY(-7deg);
    transform: skewY(-7deg);
}

#sec3 .wrap {
    z-index: 2;
}

#sec3 h2 {
    padding: 0 10%;
}

#sec3 h2+.txt {
    margin: 3vw 0 8vw;
}

#sec3 .tit1 {
    padding: 0 12%;
    margin: 4vw 0 5vw;
}

#sec3 p.price {
    font-size: 6vw;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0.1em;
}

#sec3 p.price span {
    font-size: 7vw;
}

#sec3 .box {
    margin: 7vw 0 4vw;
    border: 1px solid;
    position: relative;
    padding: 10vw 3% 8vw;
}

#sec3 .box h4 {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 57%;
    text-align: center;
    font-size: 6vw;
    top: -5vw;
    background-image: url(../img/ryuen_party/s3_bg.jpg);
}

#sec3 .tit2 {
    margin-top: 7vw;
}

#sec3 .group {
    background: url("../img/ryuen_party/s3_bgbox.jpg");
    padding: 10vw 3% 10vw;
}

#sec3 .group .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#sec3 .group .flex p.deco {
    width: 10%;
}

#sec3 .group .flex .col {
    border: 1px solid;
    position: relative;
    width: 37%;
    padding: 8vw 2% 6vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

#sec3 .group .flex .col h4 {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 75%;
    top: -4vw;
    background-image: url(../img/ryuen_party/s3_bgbox.jpg);
}

#sec3 .group .flex .col p.price {
    font-size: 3.5vw;
    letter-spacing: 0;
    text-align: left;
}

#sec3 .group .flex .col p.price span {
    font-size: 4.5vw;
}

#sec3 .group .flex .col:nth-child(1) h4 {
    padding: 0 5%;
}

#sec3 .group .toggle {
    border: 1px solid;
    margin-top: 8vw;
    position: relative;
    padding: 10vw 3% 8vw;
}

#sec3 .group .toggle .toggle-link {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 65%;
    text-align: center;
    font-size: 6vw;
    top: -6vw;
    background-image: url(../img/ryuen_party/s3_bgbox.jpg);
}

#sec3 .group .toggle .toggle-main {
    padding-top: 15px;
}

#sec3 .group .toggle .toggle-main ul li {
    list-style-position: inside;
    list-style-image: url(../img/ryuen_party/s8-li-img.png);
}

#sec4 {
    background: url("../img/ryuen_party/s4_bg.jpg") no-repeat center/cover;
    color: #fff;
    padding: 12vw 0;
}

#sec4 .tel {
    margin-left: auto;
    width: 65%;
}

#sec4 .tel p.note {
    font-size: 2vw;
    text-align: center;
}

#sec3 .group .toggle .toggle-main ul li.ttl {
    list-style-image: none;
    font-size: 15px;
}

#sec3 .group .toggle .toggle-main ul li+.ttl {
    margin-top: 16px;
}

#sec3 .group .toggle .toggle-main ul+ul {
    margin-top: 15px;
}