@charset "utf-8";
@import url(./base_style.css);

#container {
    width:100%;
    margin: 0 auto;
    font-family: "基本フォント";
}
main {
    width: 80%;
    margin:0 auto;
    font-size: 24px;
}
header {
    display: flex;
    padding-bottom: 10px;
    background-color:#fff; 
    z-index: 9999;
}
header h1 img {
    width: 200px;
}
header h1 {
    display: flex;
    padding: 10px;
}
header h1::before {
    content:"";
    display: block;
    background-image: url("../images/mark.png");
    width: 80px;
    height: 80px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
#topnavi {
    margin-left: auto;
}
.s_navi {
	display: none;
}
#topnavi ul{
    display: flex;
    height: 100%;
    font-size: 24px;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
}
#topnavi ul li{
    margin-right: 16px;
    white-space: nowrap;
}
#topnavi ul li a:hover{
    text-decoration: underline 2px #666;
}
#humbuger {
	display: none;
}

footer {
    font-size: 20px;
    text-align: center;
    padding: 20px 0;
}
@media screen and (max-width: 767px) {
    main {
        width: 100%;
    }
    #topnavi {
        display: none;
    }
    .s_navi {
        display: block;
    }
    header {
        padding-bottom: 0;
    }
    header h1 img {
        width: 100px;
    }
    header h1::before {
        width: 40px;
        height: 40px;
    }
    #humbuger {
        display: block;
        width: 50px;
        height: 40px;
        margin: 10px;
        margin-left: auto;
        padding-left: 4px;
        z-index: 100;
    }
    #humbuger span,
    #humbuger span::before,
    #humbuger span::after {
        display: block;
        width: 90%;
        height: 2px;
        background-color: #333;
        border-radius: 2px;
        position: absolute;
        transition: .5s;
    }
    #humbuger span::before,
    #humbuger span::after {
        content: "";
        width: 100%;
    }
    #humbuger span::before {
        transform: translateY(-12px);
    }
    #humbuger span::after {
        transform: translateY(12px);
    }
    #humbuger span{
        position: relative;
        top: 16px;
    }
    
    #humbuger.open span {
        background-color: transparent;
        transition: .5s;
    }
    #humbuger.open span::before {
        transform: rotate(40deg);
        transition: .5s;
    }
    #humbuger.open span::after {
        transform: rotate(-40deg);
        transition: .5s;
    }
    #humbuger.open + #topnavi {
        display: block;
    }
    #topnavi {
        width: 100%;
        height: 100vh;
        background-color: rgba(0, 0, 0, 0.8);
        position: fixed;
        top:60px;
        left: 0;
        z-index: 1;
        margin: 0;
    }
    #topnavi ul{
        padding-top: 20px;
        flex-wrap: wrap;
        height: fit-content;
    }
    #topnavi ul li{
        width: 100%;
        padding: 20px 0;
        text-align: center;
        font-size: 24px;
    }
    #topnavi ul li a{
        color: #fff;
        padding: 10px;
    }
}