@charset "utf-8";


body.no-scroll {
    overflow: hidden;
}

#header-contents {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 500px;
    z-index: 5000;
}

@media ((max-width: 780px)) {
    #header-contents {
        left: 0;
        transform: initial;
        width: 100%;
    }
}

.header-logo-menu-contents {
    background-color: #000000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 24px;
    padding-right: 24px;
    width: 100%;
    height: 70px;
}

@media ((max-width: 780px)) {
    .header-logo-menu-contents {
        padding-left: calc((37 / 780)* 100vw);
        padding-right: calc((37 / 780)* 100vw);
        height: calc((109 / 780)* 100vw);
    }
}


.headerbtn {
    cursor: pointer;
    height: 22px;
    width: 26px;
    position: relative;
    z-index: 9999;
}

@media ((max-width: 780px)) {
    .headerbtn {
        height: calc((38 / 780)* 100vw);
        width: calc((45 / 780)* 100vw);
    }
}

.headerbtn span {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    transition: all .4s;
    height: 2px;
    background: #ffffff;
    width: 26px;
}

@media ((max-width: 780px)) {
    .headerbtn span {
        height: calc((4 / 780) * 100vw);
        background: #ffffff;
        width: calc((42 / 780) * 100vw);
    }
}


.headerbtn span:nth-of-type(1) {
    top: 2px;
}

@media ((max-width: 780px)) {
    .headerbtn span:nth-of-type(1) {
        top: calc((2 / 780) * 100vw);
    }
}

.headerbtn span:nth-of-type(2) {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.headerbtn span:nth-of-type(3) {
    bottom: 2px;
}

@media ((max-width: 780px)) {
    .headerbtn span:nth-of-type(3) {
        bottom: calc((2 / 780) * 100vw);
    }
}

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

.headerbtn.active span:nth-of-type(1) {
    transform: translateX(-50%) rotate(40deg);
    top: 45%;
    /* 真ん中に配置 */
}

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

.headerbtn.active span:nth-of-type(3) {
    transform: translateX(-50%) rotate(-40deg);
    top: 45%;
    /* 真ん中に配置 */
}


.headerlogo {
    width: 73px;
}

@media ((max-width: 780px)) {
    .headerlogo {
        width: calc((115 / 780) * 100vw);
    }
}


.headermenu-block {
    position: fixed;
    top: 0;
    background-color: #000000;
    width: 500px;
    height: 100vh;
    z-index: 4000;
    transition: opacity 0.5s ease, visibility 0s linear 0.5s;
    /* visibilityを遅延 */
    opacity: 0;
    visibility: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

@media ((max-width: 780px)) {
    .headermenu-block {
        width: 100%;
    }
}

.headermenu-block.active {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease, visibility 0s linear 0s;
    /* 即座に表示 */
}


.headermenu-wrapper {
    width: 500px;
    height: auto;
    padding-top: 67px;
    text-align: center;
    background-color: #000000;
}

@media ((max-width: 780px)) {
    .headermenu-wrapper {
        width: 100%;
        padding-top: calc((105 / 780) * 100vw);
    }
}


.headermenu-title {
    margin-bottom: 27px;
}

@media ((max-width: 780px)) {
    .headermenu-title {
        margin-bottom: calc((43 / 780) * 100vw);
    }
}

.headermenu-title p {
    font-size: 38.46px;
    color: #ffffff;
    line-height: 1;
    display: inline-block;
}

@media ((max-width: 780px)) {
    .headermenu-title p {
        font-size: calc((60 / 780) * 100vw);
    }
}

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

.headermenu-nav ul li {}

.headermenu-nav ul li {
    margin: 0 auto;
    width: 363px;
    height: 62px;
    border: 1px solid #ffffff;
    margin-bottom: 18px;
}

@media ((max-width: 780px)) {
    .headermenu-nav ul li {
        width: calc((567 / 780) * 100vw);
        height: calc((100 / 780) * 100vw);
        margin-bottom: calc((28 / 780) * 100vw);
    }
}

.headermenu-nav ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #ffffff;
}

.headermenu-nav .headermenu li a {
    font-size: 38.46px;
}

@media ((max-width: 780px)) {
    .headermenu-nav .headermenu li a {
        font-size: calc((60 / 780) * 100vw);
    }
}

.headermenu-nav ul li p {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #ffffff;
    font-size: 38.46px;
}

@media ((max-width: 780px)) {
    .headermenu-nav ul li p {
        font-size: calc((60 / 780) * 100vw);
    }
}

/*ヘッダーアコーディオン*/

.store-btn {
    position: relative;
}

.store-btn::after {
    border-right: solid 2px #fff;
    border-top: solid 2px #fff;
    content: "";
    display: block;
    position: absolute;
    height: 9.6px;
    right: 47.4px;
    width: 9.6px;
    top: 40%;
    transform: rotate(135deg);
    transition: transform .3s ease-in-out, top .3s ease-in-out;
}

@media ((max-width: 780px)) {
    .store-btn::after {
        top: 40%;
        height: calc((15 / 780)* 100vw);
        right: calc((74 / 780)* 100vw);
        width: calc((15 / 780)* 100vw);
    }
}

.store-contents {
    display: none;
}

.store-contents li:first-child a,
.store-contents li:nth-child(4) a,
.store-contents li:nth-child(5) a,
.store-contents li:nth-child(8) a,
.store-contents li:nth-child(9) a {
    font-size: 25.76px;
}

@media ((max-width: 780px)) {
    .store-contents li:first-child a,
    .store-contents li:nth-child(4) a,
    .store-contents li:nth-child(5) a,
    .store-contents li:nth-child(8) a,
    .store-contents li:nth-child(9) a {
        font-size: calc((40.18 / 780) * 100vw);
    }
}

.store-contents li:nth-child(2) a,
.store-contents li:nth-child(3) a,
.store-contents li:nth-child(6) a,
.store-contents li:nth-child(7) a {
    font-size: 35.25px;
}

@media ((max-width: 780px)) {
    .store-contents li:nth-child(2) a,
    .store-contents li:nth-child(3) a,
    .store-contents li:nth-child(6) a,
    .store-contents li:nth-child(7) a {
        font-size: calc((55 / 780) * 100vw);
    }
}

.store-contents li {
    background-color: #4f4f4f !important;
}

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


/*sns*/

.headersns-nav {
    padding-top: 9.6px;
    padding-bottom: 67.3px;
}

@media ((max-width: 780px)) {
    .headersns-nav {
        padding-top: calc((15 / 780)* 100vw);
        padding-bottom: calc((105 / 780) * 100vw);
    }
}

.headersns-nav ul {
    display: flex;
    justify-content: center;
    gap: 32.7px;
}

@media ((max-width: 780px)) {
    .headersns-nav ul {
        gap: calc((51 / 780) * 100vw);
    }
}


.headersns-nav ul li {
    width: 28.8px;
}

@media ((max-width: 780px)) {
    .headersns-nav ul li {
        width: calc((45 / 780) * 100vw);
    }
}