/* menu */

.menu {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000; /* ボタンが上に表示されるように調整 */
}

.hamburger_menu {
    position: relative;
    width: 40px;
    height: 30px;
    cursor: pointer;
    z-index: 1001; /* メニューの上に表示するためにz-indexを設定 */
}

.hamburger_menu span {
    position: absolute;
    background-color: #fff;
    height: 2px;  /* 線の太さを2pxに変更 */
    width: 100%;
    transition: all 0.4s ease-in-out;
}

.hamburger_menu span:nth-of-type(1) {
    top: 50%;  /* 上の線を中央に */
    transform: translateY(-6px);
}

.hamburger_menu span:nth-of-type(2) {
    top: 50%;  /* 下の線を中央に */
    transform: translateY(6px);
}

.hamburger_menu.active span:nth-of-type(1) {
    transform: translateY(0) rotate(25deg);  /* 上の線が×になるように変更 / 45degで正方形 */
}

.hamburger_menu.active span:nth-of-type(2) {
    transform: translateY(0) rotate(-25deg);  /* 下の線が×になるように変更 / -45degで正方形  */
}

.nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.9);  /* 背景色を.navに設定 */
    opacity: 0;
    pointer-events: none;
    transition: opacity 1s ease;
}

.nav.open {
    opacity: 1;
    pointer-events: auto;
}

.nav__list {
    list-style: none;
    text-align: center;
}

.nav__item {
    margin: 20px 0;
}

.nav__link {
    text-decoration: none;
    color: #fff;
    font-size: 24px;
    transition: color 0.3s ease;
}

.nav__link:hover {
    color: #fff;
}
