@charset "UTF-8";
/* CSS Document */


@media screen and (max-width: 767px) {



    .contents .container {
        padding: 0px 0px 70px;
    }

    /* contents02 */

    .contents02 {
        padding-top: 0px;
    }

    /* layout01 */

    .layout01 {
        padding: 40px 0px 40px;
    }

    .layout01::after {
        height: 30px;
        margin-bottom: -30px;
    }

    .layout01 .box-text {
        text-align: left;
        padding: 0px 8%;
    }

    .layout01 h2 {
        font-size: 20px;
        margin-bottom: 30px;
    }

    /* layout02 */

    .layout02 {
        gap: 40px 30px;
        padding-top: 20px;
        justify-content: center;
    }

    .layout02 .box {
        width: 150px;
        height: 175px;
        padding-top: 130px;
    }

    .layout02 .box::before {
        background-size: auto 20px;
        margin-right: -22px;
    }

    .layout02 .box::after {
        font-size: 50px;
        margin-top: -20px;
    }

    .layout02 h6 {
        font-size: 13px;
    }

    /* layout03*/

    .layout03 {
        width: 100%;
        justify-content: center;
        flex-direction: column;
        gap: 30px;
    }

    .layout03 .box {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 0px 20px;
    }

    .layout03 .box-img {
        width: 40%;
        max-width: 160px;
    }

    .layout03 .box-img img {
        width: 100%;
        height: auto;
    }

    .layout03 h4 {
        font-size: 15px;
        letter-spacing: 0em;
    }

    .layout03 h5 {
        font-size: 35px;
        padding: 12px 0px;
    }

    .layout03 h6 {
        font-size: 12px;
    }

    .layout03 p {
        padding-top: 10px;
    }

    /* layout04 */

    .layout04 .box-wrap:not(:last-child) {
        margin-bottom: 60px;
    }

    .box-question {
        margin-bottom: 60px;
        padding-left: 5%;
    }

    .box-question .box-img img {
        min-height: 220px;
        max-width: 100%;
    }

    .box-question .box-title {
        position: static;
        padding: 0px;
        padding-top: 20px;
        width: 100%;
    }


    .box-question .box-title h2 {
        line-height: 1.4;
        text-align: left;
    }

    .box-question .box-title h2::before {
        font-size: 32px;
    }

    .box-talk {
        width: 88%;
    }

    .box-talk .box {
        min-height: 80px;
        padding-left: 100px;
    }

    .box-talk .box:not(:last-child) {
        margin-bottom: 35px;
    }

    .box-talk .box::before {
        width: 80px;
        height: 80px;
    }


    .pc-view {
        display: none;
    }

    .sp-view {
        display: inline-block;
    }

}
