.page_lead {
    text-align: center;
    padding: 40px 0 30px;
    font-size: clamp(18px,2vw,28px);
}

.page_txt {
    text-align: center;
    font-size: clamp(13px,1.4vw,15px);
    line-height: 1.8;
}

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

.sec_ttl {
    text-align: center;
    font-size: clamp(17px,2vw,20px);
}

.sec_container {
    border-top: 1px solid #000;
    margin-top: 10px;
    padding-top: 30px;
}

.sec_container .inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.sec_txt {
    font-size: clamp(12px,1.3vw,15px);
    line-height: 1.7;
}


.sec_container .image {
    grid-column: 2;
    grid-row: 1/3;
}

.sec_container .note {
    align-self: flex-end;
}

.sec01 .sec_container .inner {
    margin: 0 auto;
}

.sec01 .image {
    max-width: 330px;
    margin: 0 auto;
}



.frame_lead {
    margin: 0 auto;
    border: 1px solid #231815;
    text-align: center;
    font-size: clamp(14px,1.5vw,17px);
}

.frame_lead span {
    display: inline-block;
    width: 98%;
    padding: 2px;
    background-color: #ffff;
    margin: -2px;
}

.sec03 .box01 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.sec03 .box01 .image {
    grid-column: 1;
    grid-row: 1/3;
}


.sec03 .box02 .image {
    margin: 20px 0;
}

.sec03 .box02 .note {
    text-align: right;
}

.sec03 .box02 .frame_lead {
    max-width: 450px;
}


.sec04 .bg {
    background-color: #efeee8;
    padding: 40px;
}

.sec04 .bg .inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 4%;
}

.sec04 .sec_txt {
    font-size: clamp(12px,1.3vw,14px);
}


.sec04 .box01 .sec_txt {
    margin: 20px 0;
}

.sec04 .box01 .image .note {
    text-align: right;
    margin-top: 5px;
}

.sec04 .box01 .note_list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    font-size: clamp(12px,1.3vw,14px);
    margin-top: 10px;
}

.sec04 .box01 .note_list li {
    display: flex;
    align-items: center;
    gap: 0 5px;
}

.sec04 .box01 .note_list li::before {
    content: '';
    width: 5px;
    height: 100%;
}

.sec04 .box01 .note_list li.pink::before {
    background-color: #b70868;
}

.sec04 .box01 .note_list li.blue::before {
    background-color: #004ea2;
}
.sec04 .box01 .note_list li.yellow::before {
    background-color: #f8b62d;
}



.sec04 .box02 .frame_lead {
    max-width: 420px;
}

.sec04 .box02 .frame_lead span {
    background-color: #efeee8;
}

.sec04 .box02 .flex {
    display: grid;
    grid-template-columns: 1fr 53%;
    margin: 20px 0;
    gap: 0 3px;
}

.sec04 .box02 .image_wrap {
    display: flex;
    flex-direction: column;
    gap: 30px 0;
}

.sec04 .box02 .image .ttl {
    font-size: clamp(11px,1.2vw,12px);
    margin-bottom: 5px;
}

.sec04 .box02 .image .note {
    text-align: right;
    margin-top: 5px;
}



/* SP調整 */
@media screen and (max-width:730px) {
    .page_lead {
        padding: 30px 0 20px;
    }

    .sec_wrap {
        margin-top: 60px;
        gap: 80px 0;
    }

    .sec_container {
        padding-top: 15px;
    }

    .sec_container .inner {
        display: flex;
        flex-direction: column;
        gap: 30px 0;
    }

    .sec_container .note {
        grid-column: 1/3;
    }

    .sec01 .image {
        margin-top: -10px;
    }

    .sec03 .box01 {
        grid-template-columns: 1fr 50%;
        gap: 15px;
    }

    .sec03 .box02 .frame_lead {
        max-width: 280px;
    }

    .sec03 .box02 .note {
        text-align: justify;
    }

    .sec04 .bg {
        padding: 30px 20px;
        margin: -30px -5.5% 0;
    }

    .sec04 .bg .inner {
        display: flex;
        flex-direction: column;
        gap: 60px 0;
    }

    .sec04 .box02 .flex {
        margin-bottom: 30px;
    }


    .bottom_note {
        margin-top: 30px;
    }
}