* {
    margin: 0;
    padding: 5px 0;  
}

header {
    font-family: serif;
    color: #6d563a;
    width: auto;
    position: fixed;
    top: 0;
    z-index: 999;
    width: 100%;
    height: 185px; 
    background-color: #80d7e3;
    display: block;
}

.logo-and-name {
    display: flex;
    align-items: center;
    gap: 30px;
}

.logo-and-name img {
    height: 60px;
    padding-left: 10px;
}

.logo-and-name a {
    text-decoration: none;
    color: #6d563a;
    font-weight: bold;
}

.gnavi__wrap {
    width: 100%;
    margin: 0 auto;
}

.gnavi__lists {
    display: flex;
    list-style: none;
}

.gnavi__list {
    width: 25%;
    position: relative;
    transition: all .3s;
}

.gnavi__list:hover {
    background-color: #0097b2;
}

.gnavi__list a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px;
    text-decoration: none;
    color: #ffffff;
    font-size: 15px;
    letter-spacing: 0.05em;
    font-weight: 600;
    transition: all .3s;
}

.gnavi__list:hover a {
    color: #6d563a;
}

.dropdown__lists {
    list-style: none;
    padding-left: 0;
    display: none;
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
}

.gnavi__list:hover .dropdown__lists {
    display: block;
}

.dropdown__list {
    background-color: #ffffff;
    height: 40px;
    transition: all .3s;
}

.dropdown__list:hover {
    background-color: #0097b2;
}

.dropdown__list a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #6d563a;
    text-decoration: none;
    position: relative;
}

.dropdown__list a::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #6d563a;
    border-left: 2px solid #6d563a;
    transform: rotate(135deg);
    position: absolute;
    right: 15px;
    top: calc(50% - 5px);
}


@media screen and (min-width: 1020px) {
    .sp {
        display: none;
    }
}

@media screen and (max-width: 1020px) {
    header {
    font-family: serif;
    color: #6d563a;
    width: auto;
    position: fixed;
    top: 0;
    z-index: 999;
    width: 100%;
    height: fit-content; 
    background-color: #80d7e3;
    display: block;
    }

    .sp {
        display: block;
    }

    .logo-and-name {
        position: sticky;
        top: 0;
        z-index: 999;
        width: 100%;
        display: flex;
        gap: 40px;
        align-items: center;
        background-color: #80d7e3;
        padding-left: 3%;
    }

    .logo-and-name img {
        height: 50px;
    }

    .logo-and-name h1 {
        color: #6d563a;
        font-weight: bold;
    }

    .logo-and-name a {
        text-decoration: none;
        color: #6d563a;
    }

    .menu {
        max-width: 100%;
        text-align: center;
    }

    .menu a {
        display: block;
        text-decoration: none;
        color: #6d563a;
        text-align: center;
    }

    .menu label {
        display: block;
        margin: 0;
        line-height: 1;
        color :#fff;
        background : #80d7e3;
        cursor :pointer;
    }

    .menu input {
        display: none;
    }

    .menu ul {
        margin: 0;
        padding: 0;
        background :#f4f4f4;
        list-style: none;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.5s ease;
    }

    #menu_bar01:checked ~ #links01,
    #menu_bar02:checked ~ #links02,
    #menu_bar03:checked ~ #links03,
    #menu_bar04:checked ~ #links04 {
        max-height: fit-content;
        opacity: 1;
    }

    .pc {
        display: none;
    }
}