img {
    height: auto;
}

.page_nav {
    max-width: 900px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.page_nav li {
    width: 48%;
}

.sec_wrap {
    max-width: 1054px;
    width: 90%;
    margin: 80px auto 0;
    display: flex;
    flex-direction: column;
    gap: 120px 0;
}

.sec_wrap section {
    display: flex;
    flex-direction: column;
    gap: 50px 0;
}

.sec_wrap .container {
    display: flex;
    justify-content: space-between;
}

.sec_wrap .container .txt_wrap {
    width: 50%;
}

.sec_wrap .container .image_wrap {
    width: 47%;
}

.sec_wrap .container:nth-child(even) .image_wrap {
    order: -1;
}

.sec_balloon {
    max-width: 380px;
    margin: 0 auto;
}

.sec_ttl {
    text-align: center;
    color: #a38a77;
    font-size: clamp(18px,1.9vw,22px);
    line-height: 1.7;
    letter-spacing: 0.05em;
    margin-top: 10px;
}

.q_txt {
    font-family: 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'Arial', sans-serif;
    color: #6992a2;
    font-size: clamp(14px,1.5vw,16px);
    line-height: 1.7;
    margin-bottom: 20px;
}

.q_txt::before {
    display: inline-block;
    content: '';
    width: 1.5em;
    height: 1px;
    background-color: #6992a2;
    vertical-align: super;
}

.a_txt {
    font-size: clamp(14px,1.5vw,16px);
    line-height: 1.7;
    margin-top: 0.5em;
}

.sec01 .container04 .image_wrap {
    display: grid;
    grid-template-columns: 1fr 31.8%;
    gap: 10px;
}

.sec01 .container04 .image_wrap .img01 {
    grid-column: 1/3;
}

.sec01 .container07 {
    display: grid;
    grid-template-columns: 50% 1fr;
    gap: 0 3%;
}

.sec01 .container07 .wide {
    grid-column: 1/3;
}

.sec01 .container07 .image {
    grid-column: 2;
    grid-row: 1/6;
}


.sec02 .container06 {
    flex-direction: column;
}


/* SPのみ */
@media screen and (max-width:730px) {
    .page_nav {
        margin-top: 30px;
    }

    .sec_wrap {
        gap: 100px 0;
        margin-top: 50px;
    }

    .sec_wrap section {
        gap: 30px 0;
    }

    .sec_wrap .container {
        flex-direction: column;
        gap: 20px 0;
    }

    .sec_wrap .container .txt_wrap {
        width: 100%;
    }

    .sec_wrap .container .image_wrap {
        width: 100%;
    }

    .sec_wrap .container:nth-child(even) .image_wrap {
        order: initial;
    }

    .q_txt {
        margin-bottom: 15px;
    }


    .sec01 .container07 {
        display: flex;
        gap: 0;
    }

    .sec01 .container07 .image {
        margin: 20px 0;
    }

    .sec02 .container06 {
        gap: 0;
    }
}