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

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

    .padding {
        padding: 0 4%;
    }

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

    .top_contents {
        padding: 60px 10%;
        display: flex;
        flex-direction: column;
    }

    h1 {
        font-size: 70px;
    }

    .top_contents button {
        align-self: center;
    }

/* ------------------------
service
------------------------ */
    .service_contents {
        gap: 20px;
    }

/* ------------------------
voice
------------------------ */
    .voice_contents {
        flex-direction: column;
        align-items: center;
        gap: 50px;
    }

/* ------------------------
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;
    }

/* ------------------------
top
------------------------ */
    #top {
        margin-top: 120px;
    }

    h1 {
        width: 80%;
        font-size: 4.5rem;
    }

    .top_contents p {
        font-size: 1rem;
    }

    .top_contents button {
        margin-top: 120px;
    }

/* ------------------------
service
------------------------ */
    .service_contents {
        flex-direction: column;
        align-items: center;
        gap: 25px;
    }

/* ------------------------
voice
------------------------ */
    .voice_contents {
        flex-direction: column;
        align-items: center;
        gap: 50px;
    }

    .voice_item {
        width: 90%;
    }

/* ------------------------
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;
    }
}
