.page_lead {
    max-width: 800px;
    width: 90%;
    margin: 5px auto 0;
}

.page_txt {
    text-align: center;
    font-size: clamp(13px,1.6vw,17px);
    margin-top: 20px;
}

.page_deco {
    max-width: 200px;
    width: 35%;
    margin: 30px auto 0;
}

.all_wrap {
    max-width: 1054px;
    width: 90%;
    margin: 0 auto;
}

.wrap01 .img01 {
    max-width: 600px;
    margin: 30px auto 20px;
}

.wrap01 .txt {
    text-align: center;
    font-size: clamp(13px,1.6vw,17px);
    margin-bottom: 30px;
}

.wrap01 .txt::after {
    background-color: #878787;
    display: block;
    content: '';
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    width: 30px;
    height: 20px;
    margin: 15px auto 0;
}

.wrap01 .img02 {
    max-width: 700px;
    margin: 0 auto;
}

.wrap02 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 40px;
}

.wrap02 .box01 .icon01 {
    position: absolute;
    width: 22%;
    top: 22%;
    left: -5%;
}

.wrap02 .box01 .icon02 {
    position: absolute;
    width: 20%;
    top: 29%;
    right: -3%;
}

.wrap02 .box02 .icon01 {
    position: absolute;
    width: 23%;
    top: 31%;
    right: -2%;
}

.wrap02 .box03 .icon01 {
    position: absolute;
    width: 23%;
    top: 11%;
    right: 2%;
}

.wrap02 .box04 {
    grid-column: 2;
    grid-row: 2/4;
}

.wrap02 .box04 .icon01 {
    position: absolute;
    width: 23%;
    top: 65%;
    left: -13%;
    z-index: 1;
}

.wrap02 .box04 .icon02 {
    position: absolute;
    width: 23%;
    top: 41%;
    right: -8%;
}


.wrap03 {
    max-width: 550px;
    margin: 100px auto 120px;
}

.wrap03 .txt_wrap .txt {
    font-size: clamp(12px,1.3vw,13px);
}

.wrap03 .txt_wrap .tel {
    width: 80%;
    margin: 15px 0 0;
}

.wrap04 {
    border: 2px solid #603813;
    padding: 30px;
    margin-top: 80px;
}

.wrap04 .wrap_lead {
    text-align: center;
    color: #603813;
    font-size: clamp(15px,2vw,24px);
}

.wrap04 .box_wrap {
    max-width: 900px;
    margin: 30px auto 0;
    display: flex;
    justify-content: space-between;
}

.wrap04 .box_wrap .box {
    width: 48%;
}

.wrap04 .box_wrap .box .lead {
    background-color: #603813;
    color: #fff;
    padding: 10px 0;
    text-align: center;
    font-size: clamp(13px,1.5vw,17px);
    position: relative;
}

.wrap04 .box_wrap .box .lead::before {
    position: absolute;
    translate: 0 100%;
    bottom: 0;
    left: 15%;
    content: '';
    width: 30px;
    height: 15px;
    background-color: #603813;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
}

.wrap04 .box_wrap .box .flex {
    display: flex;
    justify-content: space-between;
    padding: 30px 20px 20px;
    background: linear-gradient(
        to bottom,
        #d9d0ad 60%,
        #fff 100%
    );
}

.wrap04 .box_wrap .box .flex .image {
    width: 30%;
}

.wrap04 .box_wrap .box .flex .txt {
    width: 65%;
    font-size: clamp(11px,1.2vw,14px);
}

/* SP調整 */
@media screen and (max-width:730px) {

    .page_txt {
        margin-top: 15px;
    }

    .page_deco {
        margin-top: 25px;
    }

    .wrap01 .txt {
        margin-bottom: 20px;
    }

    .wrap01 .txt::after {
        width: 25px;
        height: 13px;
    }

    .wrap01 .img02 {
        margin: 0 -5%;
    }

    .wrap02 {
        display: flex;
        flex-direction: column;
        margin-top: 20px;
        gap: 15px;
    }

    .wrap02 .box04 {
        margin-bottom: 20%;
    }

    .wrap02 .box04 .icon01 {
        top: 94%;
        left: 13%;
    }

    .wrap02 .box04 .icon02 {
        top: 94%;
        right: 9%;
    }

    .wrap03 {
        flex-direction: column;
        gap: 15px 0;
        margin: 50px auto 100px;
    }

    .wrap04 {
        margin-top: 50px;
        padding: 20px;
    }

    .wrap04 .box_wrap {
        margin-top: 20px;
        flex-direction: column;
        gap: 20px 0;
    }

    .wrap04 .box_wrap .box {
        width: 100%;
    }

    .wrap04 .box_wrap .box .lead::before {
        width: 20px;
        height: 10px;
    }

    .wrap04 .box_wrap .box .flex {
        padding: 20px 15px 10px;
    }
}