@charset "utf-8";

/* ハンバーガーアイコン */
.hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 25px;
    height: 20px;
    cursor: pointer;
    position: absolute;
    top: 25px;
    right: 20px;
    z-index: 1100;
}

.hamburger span {
    height: 3px;
    background: #333;
    border-radius: 2px;
    transition: 0.3s;
}

/* ハンバーガー開閉時のアニメーション */
.hamburger.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.hamburger.open span:nth-child(2) {
    opacity: 0;
}

.hamburger.open span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* スマホ版ナビはPCでは非表示 */
.mobile_nav {
    display: none;
}

/* スマホ版 */
@media (max-width: 768px) {

    /* PC版ナビを非表示 */
    #nav {
        display: none;
    }

    /* スマホ版ナビ */
    .mobile_nav {
        display: flex;
        flex-direction: column;
        align-items: flex-start;

        position: fixed;
        top: 0;
        right: 0;

        width: 50%;
        height: 100vh;
        box-sizing: border-box;

        padding: 100px 30px;
        margin: 0;

        background-color: #f6f3ef;
        z-index: 1000;

        transform: translateX(100%);
        transition: transform 0.3s ease;
    }

    .mobile_nav.active {
        transform: translateX(0);
    }

    .mobile_nav ul {
        display: flex;
        flex-direction: column;
        gap: 30px;

        width: 100%;
        margin: 0;
        padding: 0;
    }

    .mobile_nav ul li {
        margin-bottom: 0;
    }

    .hamburger {
        display: flex;
        position: fixed;

        top: 25px;
        right: 20px;
        left: auto;

        width: 25px;
        height: 20px;

        z-index: 2000;
    }
}