@charset "utf-8";


@media only screen and (min-width: 481px) {
.menu-wrapper {
	display: none;
}
}
.menu-wrapper {
    position: relative;
    width: 100%;
    height: 300px;
/*    margin-top: 18px;*/
	z-index: 10;
}

.hamburger-menu {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 10px;
    left: 15px;
    cursor: pointer;
    user-select: none;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.line {
    background-color: black;
    height: 4px;
    width: 100%;
    position: absolute;
    transition: all 0.3s;
}

.line:nth-of-type(1) {
    top: 4px;
}

.line:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
}

.line:nth-of-type(3) {
    bottom: 4px;
}

.menu-text {
    position: absolute;
    bottom: -15px;
    font-size: 10px;
    color: black;
    transition: all 0.3s;
    white-space: nowrap;
}

.close-text {
    position: absolute;
    bottom: -15px;
    font-size: 10px;
    color: black;
    transition: all 0.3s;
    white-space: nowrap;
    opacity: 0;
}

.hamburger-menu.active > .line:nth-of-type(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.hamburger-menu.active > .line:nth-of-type(2) {
    display: none;
}

.hamburger-menu.active > .line:nth-of-type(3) {
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
}

.hamburger-menu.active .menu-text {
    opacity: 0;
}

.hamburger-menu.active .close-text {
    opacity: 1;
}

.nav-menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 45%;
    left: 50%;
	transform: translate(-50%, -50%);
    align-items: center;
    justify-content: flex-start;
    padding: 10px;
	width: 100%;
    border: 1px solid #ccc;
    opacity: 0;
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
    max-height: 80%;
	background-color: var(--blue);
	margin-top: 18px;
	padding: 0;

}

.nav-menu.active {
	display: flex;
    animation: fadeIn 0.5s forwards;
	width: 100%;
	margin-top: -6px; /* 251228  */
	border-top:none; /* 251228  */
}

.nav-menu a {
	text-align: left;
    text-decoration: none;
    color: black;
/*    padding: 14px;*/
	padding: 10px; /* 251228  */

    margin: 0;
	color: var(--white);
	border:none;
	border-bottom: solid 2px var(--white);
	width:100%;
	
	font-size:1.4rem;  /*　activeの文字が変わらないようにaとa:activeの両方に記述 */
	font-weight: 700;
}


.nav-menu a:active{
	font-size:1.4rem;
	font-weight: 700;
}


.nav-menu a:last-child {
	border-bottom: none;
}



@keyframes fadeIn {
    0% {
        top: 45%;
        opacity: 0;
    }
    
    100% {
        top: 50%;
        opacity: 1;
    }
}