/* layout for mobile */
header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0px 0px 0px 0px;
    padding: 22px 0px 15px 0px;
}

header nav {
    display: none;
}

/* layout for Tablet */
@media screen and (min-width:481px){

    header nav {
	display: flex;
        justify-content: space-between;
 
        width: 300px;
	margin: 0px 10px 0px 0px;
    }
}

/* layout for PC */
@media screen and (min-width:960px){

    header nav {
        width: 400px;
	margin: 0px 20px 0px 0px;
    }
}




/* component for Mobile */
.c_logo {
    margin: 0px 0px 0px 0px;
}

.c_logo img{
    width: 180px;
}

.c_hamburger_button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content:center;
    appearance: none;
    background-color: transparent;
    border: none;
    cursor: pointer;
    gap: 10px;
    height: 64px;
    width: 64px;
}

.c_hamburger_mark {
    background-color: #FFFFFF;
    display: block;
    height: 2px;
    width: 62.5%;
}

#hamburger:checked ~ .c_hamburger_button {
    position: fixed;
    right: 0;
}

#hamburger:checked ~ .c_hamburger_button .c_hamburger_mark:nth-of-type(1){
    transform: translate(2px, 1px) rotate(45deg);
    transform-origin: 0%;
}

#hamburger:checked ~ .c_hamburger_button .c_hamburger_mark:nth-of-type(2){
    opacity: 0;
}

#hamburger:checked ~ .c_hamburger_button .c_hamburger_mark:nth-of-type(3){
    transform: translate(2px, 3px) rotate(-45deg);
    transform-origin: 0%;
}

.c_hamburger_bg {
   display: none;
}

#hamburger:checked ~ .c_hamburger_bg {

    background-color: #041121;
    cursor: pointer;

    display: block;

    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;

    opacity: 0.9;
}


#hamburger:checked ~ .c_hamburger_nav {

    display: flex;
    justify-content: center;
    flex-direction: column;

    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;    

    align-items: center;

}

.c_hamburger_a {
    margin: 0px 0px 40px 0px;
}


/* component for Tablet */
@media screen and (min-width:481px){
    .c_logo {
        margin: 0px 0px 0px 10px;
    }  
    
    .c_hamburger_button {
	display: none;    
    }

    .c_hamburger_a {
        margin: 0px 0px 0px 0px;
    }
}

/* component for PC */
@media screen and (min-width:960px){
    .c_logo {
        margin: 0px 0px 0px 20px;
    }
}


