    header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        z-index: 1000;
        width: 90%;
        height: 80px;
        margin: 16px auto 0 auto;
        position: fixed;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        border-radius: 40px;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        background: rgba(255, 255, 255, 0.2);
        padding: 0 1.8rem;
    }

    .logo {
       font-family: "Sirin Stencil", sans-serif;
        font-weight: 400;
        font-style: normal;
        color: var(--main-color2);
        font-size: var(--fs24);
    }

    .g-nav_list {
        display: flex;
        position: relative;
        gap: 1rem;
    }

    .g-nav_list_item>a {
        display: inline-block;
        padding: 2rem 0;
    }

    .g-nav_sublist {
        display: none;
        position: absolute;
        top: 60px;
        left: 0;
        z-index: 10;
        background: #fff;
        /* 背景色（適宜変更してください） */
        padding: 0;
        min-width: 150px;
        /* 幅の指定 */
    }

    /* 3. ホバーした時の処理（表示させる） */
    .g-nav_list_item:hover .g-nav_sublist {
        display: block;
        /* マウスが乗ったら表示 */
    }

    .g-nav_sublist_item a {
        display: block;
        padding: 10px;
        text-decoration: none;
        color: #333;
    }

    .g-nav_sublist_item a:hover {
        background-color: #f0f0f0;
        /* ホバー時の色 */
    }

    .g-nav_list_item.sns-icon {
        display: flex;
        align-items: center;
        /* 垂直中央揃え */
        justify-content: center;
        /* 水平中央揃え */
    }

    /* アイコンを包む a タグの調整 */
    .sns-icon a {
        display: flex;
        /* flexboxを有効に */
        align-items: center;
        /* 垂直中央 */
        padding: 0;
        /* 他のメニューにある padding: 2rem 0; をリセット */
        height: 100%;
        /* 親の高さに合わせる */
    }

    /* 画像自体のサイズ調整 */
    .sns-icon img {
        width: 20px;
        /* テキストのサイズ感に合わせて調整（お好みで） */
        height: auto;
        display: block;
    }

    .menu-btn {
        display: none;
    }

    footer {
        width: 100%;
        margin: 0 auto;
        background-color: var(--sub-color2);
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin-top: 30px;
        padding: 1rem;
        color: #fff;
        align-items: center;
        justify-content: center;
    }

    .copy {
        font-size: var(--fs10);
    }
.toTop {
    background: var(--sub-color2);
    width: 45px;
    height: 45px;
    border-radius: 30px;
    box-shadow: 0 0 3px 0 var(--main-color2);
    font-size: var(--fs18);
    color: var(--sub-color1);
    border: none;
    position: fixed;
    right: 16px;
    bottom: 16px;
    opacity: 0;
    transition: opacity 0.3s;
}

.toTop.show {
    opacity: 1;
}



    @media screen and (max-width: 768px) {
        header {
            margin-top: 10px;
            height: 50px;
            padding: 0 1rem;
        }
.logo {
        font-size: var(--fs17);
    }

        .g-nav {
            position: fixed;
            top: 0;
            right: -150%;
            /* 最初は画面の外に隠す */
            width: 100%;
            height: 100vh;
            background: rgba(255, 255, 255, 0.95);
            transition: all 0.5s;
            z-index: 999;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .g-nav.open {
            right: 0;
        }

        .g-nav_list {
            flex-direction: column;
            /* 縦並びにする */
            text-align: center;
            gap: 1.5rem;
        }

        /* スマホ時はサブメニューを最初から出すか、クリックで出す調整が必要 */
        .g-nav_sublist {
            position: static;
            /* absoluteを解除 */
            display: block;
            /* 今回はシンプルに表示状態に */
            box-shadow: none;
            background: none;
        }

        .menu-btn {
            display: block;
            position: fixed;
            top: 15px;
            right: 8%;
            z-index: 2000;
            width: 40px;
            height: 40px;
            background-color: var(--main-color2);
            border-radius: 50%;
            cursor: pointer;
        }

        /* 真ん中の線 */
        .menu-line {
            display: block;
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: 24px;
            height: 2px;
            background-color: #fff;
            transition: all 0.3s;
        }

        /* 上下の線（擬似要素） */
        .menu-line::before,
        .menu-line::after {
            content: "";
            display: block;
            position: absolute;
            width: 100%;
            height: 100%;
            background-color: #fff;
            transition: all 0.3s;
        }

        .menu-line::before {
            top: -8px;
            /* 上にズラす */
        }

        .menu-line::after {
            top: 8px;
            /* 下にズラす */
        }

        /* --- メニューが開いている時（activeクラス）の演出 --- */

        /* 真ん中の線を透明にする */
        .menu-btn.active .menu-line {
            background-color: transparent;
        }

        /* 上下の線を回転させて「×」にする */
        .menu-btn.active .menu-line::before {
            transform: rotate(45deg);
            top: 0;
        }

        .menu-btn.active .menu-line::after {
            transform: rotate(-45deg);
            top: 0;
        }

        .g-nav_list_item>a {
            border-bottom: var(--main-color2) 3px dotted;
            padding: 1rem 0;
        }
footer {
    margin-top: 0;
}
    }