.hamburger-menu{
    width: 10%;
}

.hamburger-menu-lines {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    width: 30px;
    height: 30px;
    margin: 4px auto;
}

.hamburger-menu-lines .line {
    width: 100%;
    height: 3px;
    background-color:#555;
    margin-bottom: 5px;
    transition:  0.3s ease;
}

.hamburger-menu-lines .line-1.modal-open {
    transform: translateY(8px) rotate(45deg);
    transition: 0.3s;
}

.hamburger-menu-lines .line-2.modal-open {
    opacity: 0;
}

.hamburger-menu-lines .line-3.modal-open {
    transform: translateY(-8px) rotate(-45deg);
    transition: 0.3s;
}

#nav-modal{
    display:none;
    top:0;
    left:0;
    opacity: 0;
    transition: opacity 0.5s;
}

#nav-modal.show {
    opacity: 1;
}

#nav-modal.hide {
    opacity: 0;
    transition: opacity 0.5s;
}


.nav-modal-wrapper{
    position: absolute;
    width:100%;
    height:100vh;
    background:rgba(50,50,50,0.5);
    z-index: 1000;
}

.nav-modal-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width:85%;
    height:75%;
    max-width:750px;
    margin:0 auto;
    background:#fafafa;
    border:4px solid #333333;
    border-radius:24px;
    position:relative;
    top:15%;
}

.nav-modal-title{
    font-size:3.75rem;
    border-bottom:solid 3px #333333;
    font-weight:bold;
    width:90%;
    max-width: 500px;
    margin: 0 auto 3rem;
    padding-left:5%;
    padding-bottom:4px;
}

.nav-modal-menu{
    font-weight:bold;
    position:relative;
    left:25%;
    width: 450px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    list-style:none;
    gap: 28px;
}

.nav-modal-menu>li{
    font-size:3.25rem;
}

.nav-modal-menu>li a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 75%;
    height: 3.5rem;
    transform-origin: left top;
    transform: scale(0, 1);
    transition: transform 0.6s;
    border-bottom: 2px solid black;
}

.nav-modal-menu>li a:hover::after {
    transform: scale(1, 1); /*ホバー後、x軸方向に1（相対値）伸長*/
}

@media(maX-width:768px){
    .nav-modal-menu {
        position: relative;
        left: 10%;
        width: 85%;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        list-style: none;
        gap: 12px;
    }

    .nav-modal-container {
        height: 60%;
    }
}