@charset "utf-8";

header {
    position: fixed;
    width: 100%;
    z-index: 999;
}

.header_inner {
    padding: 20px 60px;
    display: flex;
    justify-content: space-between;
}

.logo_header {
    width: 340px;
    align-self: center;
}

header nav {
    align-self: center;
}

.btn-menu {
    display: none;
}

.g-nav {
    display: flex;
}

.g-nav li {
    display: block;
}
nav li::before {
    content: none; 
}

.g-nav li a {
    padding: 1rem 20px;
    font-size: 16px;
    display: inline-block;
    color: var(--text);
}

.g-nav li .btn_header-contact {
    display: block;
    padding: 14px 20px;
    color: #ffffff;
    background-color: var(--forest-bl);
    border: solid 1px var(--forest-bl);
    border-radius: 6px;
    transition: .4s;
}
.g-nav li .btn_header-contact:hover {
    background-color: #ffffff;
    color: var(--forest-bl);
}
.g-nav li .btn_header-contact img {
    padding-right: 0.5rem;
}

.g-nav li .btn_assessment {
    display: block;
    padding: 14px 20px;
    color: #ffffff;
    background-color: var(--forest-bl-light);
    border: solid 1px var(--forest-bl-light);
    border-radius: 6px;
    transition: .4s;
    margin-right: 1rem;
}
.g-nav li .btn_assessment:hover {
    background-color: #ffffff;
    color: var(--forest-bl-light);
}

/*----------------------------FOOTER------------------------------*/

footer {
    background-color: var(--gray);
}
footer::before {
    content: '';
    display: block;
    width: 100%;
    height: 220px;
    background-image: url(../img/illust_town-edited.png);
    background-repeat: repeat-x;
    background-size: cover;
    margin-bottom: -10px;
}

.footer_container {
    background-color: var(--forest-bl-dark);
    color: #ffffff;
}

.footer_inner {
    padding: 80px 0;
    display: flex;
}

.footer_box {
    width: 50%;
}

.logo_footer {
    max-width: 340px;
    margin-bottom: 40px;
}
.footer_map {
    display: inline-block;
    text-decoration: underline;
}
.footer_nav {
    display: flex;
    justify-content: space-between;
}
.footer_nav a:hover {
    text-decoration: underline;
}
.footer_nav_top {
    font-weight: 500;
    font-size: 20px;
}
.footer_nav_sub {
    font-weight: 400;
    font-size: 16px;
    color: #8FB0D1;
    margin-top: 1rem;
}
.footer_nav._privacy-n-sns {
    font-size: 14px;
}

.copyright {
    font-size: 0.8rem;
}

.mb-10 {
    display: block;
    margin-bottom: 10px;
}

@media (max-width:1199px){ /*-----------------------tablet*/
    
    header {
        background-color: #ffffff;
    }
    .header_inner {
        padding: 0.8rem;
        display: flex;
        justify-content: space-between;
    }


    .btn-menu {
        display: block;
        width: fit-content;
        text-align: center;
        /*position: absolute;
        top: 20px;
        right: 20px;*/
        border: none;
        background-color: #ffffff;
        color: var(--forest-bl-dark);
    }
    .btn-menu i {
        font-size: 1.5rem;
        padding-bottom: 4px;
    }

    .g-nav {
        flex-direction: column;
        background-color: #ffffff;
        width: 0;
        position: absolute;
        top: 70px;
        right: 0;
        z-index: 2;
        overflow: hidden;
        white-space: nowrap;
        transition: .5s;
    }
    .g-nav.open-menu {
        width: 100%;
    }

    .g-nav li {
        text-align: center;
    }
    .g-nav li::after {
        content: "";
        height: 1px;
        width: 90%;
        background-color: #dcdcdc;
        display: block;
        margin: 0 auto;
    }
    .g-nav li a {
        padding: 20px;
        display: block;
    }
    .g-nav li .btn_header-contact {
        border-radius: 0;
    }
    .g-nav li .btn_assessment {
        border-radius: 0;
        margin: 0;
    }

    
    footer::before {
        height: 120px;
    }

    .footer_nav {
        flex-direction: column;
        padding-left: 40px;
    }
    .footer_nav_top {
        margin-bottom: 20px;
    }
}


@media (max-width:600px){ /*-----------------------smartphone*/

    .logo_header {
        width: 200px;
    }

    .btn-menu {
        width: fit-content;
    }
    .btn-menu i {
        padding-bottom: 0;
    }

    .g-nav {
        top: 54px;
    }

    
    .footer_inner {
        padding: 40px 0;
        flex-direction: column;
    }
    .footer_box {
        width: 100%;
        margin-bottom: 40px;
    }
    .footer_info {
        padding-left: 40px;
    }
}