/* =============
TB
============= */

@media screen and (max-width: 1200px) {

    .padding {
        padding: 0 4%;
    }

/* ------------------------
overview
------------------------ */
    .overview_list {
        width: 85%;
    }

/* ------------------------
contact
------------------------ */
    #contact {
        height: 100vh;
    }

    .contact_contents {
        flex-direction: column;
        align-items: center;
        gap: 60px;
    }

    .office_name {
        margin: 0 auto;
    }

    .consaltation {
        text-align: center;
    }

/* ------------------------
footer
------------------------ */
    footer {
        justify-content: center;
    }

}



/* =============
SP
============= */

@media screen and (max-width: 840px) {

    .padding {
        padding: 0 4%;
    }

/* ------------------------
header
------------------------ */
    header {
        height: 120px;
        flex-direction: column;
    }

    header.padding {
        padding: 10px 0 0;
    }

    .nav {
        width: 100%;
        height: 50px;
        background-color: #004d81;
        font-size: 0.875rem;
        justify-content: space-between;
        align-items: center;
        padding: 4%;
    }

    .nav a {
        color: #fff;
    }

/* ------------------------
overview
------------------------ */
    .overview_list {
        width: 90%;
        flex-direction: column;
        align-items: center;
    }

    .overview_list dt {
        width: 90%;
        border: none;
        padding: 15px 0 0px 10px;
    }

    .overview_list dd {
        width: 90%;
        padding: 10px 0 15px 1.5rem;
    }

/* ------------------------
contact
------------------------ */
    .contact_contents {
        flex-direction: column;
        align-items: center;
        gap: 60px;
    }

    .office_name {
        margin: 0 auto;
    }

    .consaltation {
        text-align: center;
    }

    .consaltation button {
        width: 200px;
        height: 50px;
        justify-content: baseline;
    }

    .consaltation a {
        font-size: 0.8rem;
        padding-left: 5px;
        line-height: 6.2;
    }

/* ------------------------
footer
------------------------ */
    footer {
        justify-content: center;
    }

}

@media screen and (max-width: 400px) {

    .nav li {
        font-size: 0.7rem;
    }
}