@charset "utf-8";


body.no-scroll {
    overflow: hidden;
}

.header-contents-wrapper {
    position: relative;
}



#header-contents.movie {
    background-color: initial !important;
}


.grovi-headerbtn-block {
    position: fixed;
    z-index: 5000;
    display: none;
}

@media ((max-width: 1024px)) {
    .grovi-headerbtn-block {
        display: block;
        top: 7.56vw;
        right: 5.64vw;
    }
}

.grovi-headerbtn {
    cursor: pointer;
    border-radius: 5px;
    height: 5.64vw;
    width: 6.41vw;
}

.grovi-headerbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 2px;
    border-radius: 2px;
    background: #8762bb;
    width: 5.13vw;
}

.grovi-headerbtn span:nth-of-type(1) {
    top: 0.90vw;
}

.grovi-headerbtn span:nth-of-type(2) {
    top: 2.82vw;
}

.grovi-headerbtn span:nth-of-type(3) {
    top: 4.74vw;
}

/*activeクラスが付与されると線が回転して×に*/

.grovi-headerbtn.active span:nth-of-type(1) {
    top: 2.82vw;
    left: 0.64vw;
    transform: translateY(-50%) rotate(-45deg);
    width: 5.13vw;
}

.grovi-headerbtn.active span:nth-of-type(2) {
    opacity: 0;
    /*真ん中の線は透過*/
}

.grovi-headerbtn.active span:nth-of-type(3) {
    top: 2.82vw;
    left: 0.64vw;
    transform: translateY(-50%) rotate(45deg);
    width: 5.13vw;
}

.grovi-headerlogo-block {
    position: absolute;
    top: 34px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 2000;
}

@media ((max-width: 1024px)) {
    .grovi-headerlogo-block {
        position: fixed;
        top: 7.18vw;
    }
}

.grovi-headerlogo {
    width: 146px;
}

@media ((max-width: 1024px)) {
    .grovi-headerlogo {
        width: 37.31vw;
    }
}

.grovi-headermenu-block {
    position: fixed;
    top: 0;
    background-color: #efefef;
    width: 100%;
    height: 100%;
    z-index: 4000;
    transition: opacity 0.5s ease;
    opacity: 0;
    /* 初期は透明 */
    pointer-events: none;
    /* 初期はクリックできない */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.grovi-headermenu-block.active {
    opacity: 1;
    pointer-events: auto;
    /* 表示中はクリック可能 */
}


.grovi-headermenu-wrapper {
    width: 100%;
    height: auto;
    padding-top: 14.36vw;
}


@media (max-width: 1024px) {
    .grovi-headermenu-title {
        margin-bottom: 5.64vw;
    }
}


.grovi-headermenu-title p {}


@media (max-width: 1024px) {
    .grovi-headermenu-title p {
        text-align: center;
        font-size: 7.05vw;;
        color: #8762bb;
        line-height: 1;
    }
}


.grovi-headermenu-nav {
    text-align: center;
}

.grovi-headermenu-nav ul li {}

/* .grovi-headermenu-nav ul li.out {
    background-color: #eee5e6 !important;
} */

@media (max-width: 1024px) {
    .grovi-headermenu-nav ul li {
        margin: 0 auto;
        width: 73.08vw;
        height: 13.59vw;;
        background-color: #b092db;
        margin-bottom: 4.10vw;
        border-radius: 20px;
        letter-spacing: 0.05em;
    }
}


.grovi-headermenu-nav ul li a {}

@media (max-width: 1024px) {
    .grovi-headermenu-nav ul li a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        color: #ffffff;
        font-size: 5.15vw;
    }
}

.store-btn {
    border: 1px solid #9575c2;
    position: relative;
    font-size: 5.15vw;
    color: #8762bb;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: initial !important;
}

.store-btn::after {}

@media (max-width: 1024px) {
    .store-btn::after {
        border-right: solid 0.26vw #b092db;
        border-top: solid 0.26vw #b092db;
        content: "";
        display: block;
        height: 2.56vw;
        position: absolute;
        right: 9.49vw;
        top: 40%;
        transform: rotate(135deg);
        transition: transform .3s ease-in-out, top .3s ease-in-out;
        width: 2.56vw;
    }
}

.store-btn.open::after {
    top: 45%;
    transform: rotate(-45deg);
}

.store-btn a {
    color: #ffffff !important;
}

.store-contents {
    display: none;
}

.store-contents li {
    border: 1px solid #9575c2;
    background-color: initial !important;
}

.store-contents li a {
    color: #8762bb !important;
}

.store-contents li.plus a {
    font-size: 4.62vw !important;
}

.grovi-headersns-nav {}

@media (max-width: 1024px) {
    .grovi-headersns-nav {
        padding-top: 2.31vw;;
        margin-bottom: 15.13vw;
    }
}

.grovi-headersns-nav ul {}

@media (max-width: 1024px) {
    .grovi-headersns-nav ul {
        display: flex;
        justify-content: center;
        gap: 8.21vw;;
    }
}

.grovi-headersns-nav ul li {}

@media (max-width: 1024px) {
    .grovi-headersns-nav ul li {
        width: 7.31vw;;
    }
}
