.sec_kodawari {
    background-color: #604c4e;
    padding: 40px 0;
}

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

.sec_kodawari .sec_ttl {
    color: #bcb299;
    text-align: center;
    font-size: clamp(14px,1.5vw,16px);
}

.sec_kodawari .sec_lead {
    text-align: center;
    color: #fff;
    font-size: clamp(16px,1.6vw,18px);
    margin: 10px 0 30px;
}

.sec_kodawari ul {
    display: grid;
    grid-template-columns: repeat(5,1fr);
}

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

    .sec_kodawari_inner {
        width: 100%;
    }

    .sec_kodawari .sec_lead {
        margin-bottom: 30px;
    }

    .sec_kodawari ul {
        grid-template-columns: repeat(2,1fr);
    }
}


.plan_btn_wrap {
    max-width: 480px;
    width: 90%;
    margin: 50px auto 0;
}

.plan_btn_wrap .lead {
    text-align: center;
    font-size: clamp(18px,2vw,22px);
    margin-bottom: 20px;
}

.plan_btn_wrap ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px 0;
}

.plan_btn_wrap ul li {
    width: calc(100%/2 - 20px/2);
}

.plan_btn_wrap ul li.limited_btn {
    width: 100%;
}


.plan_point_wrap {
    display: flex;
    flex-direction: column;
    gap: 120px 0;
    margin: 100px 0;
}

.plan_point {
    max-width: 900px;
    width: 90%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 4%;
}

.plan_point_ttl {
    position: relative;
    grid-column: 1;
    grid-row: 1/3;
    align-self: flex-start;
}

.plan_point_lead {
    font-size: clamp(16px, 2vw, 22px);
    color: #604c4e;
    letter-spacing: 0.05em;
}

.plan_point_txt {
    font-size: clamp(14px, 1.5vw, 16px);
    line-height: 1.8;
    margin-top: 10px;
}

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

    .plan_btn_wrap {
        margin-top: 40px;
    }

    .plan_point_wrap {
        margin: 50px 0 80px;
        gap: 70px 0;
    }

    .plan_point {
        display: flex;
        flex-direction: column;
    }

    .plan_point_ttl {
        margin: 0 -5.5%;
    }

    .plan_point .txt_wrap {
        border-left: 1px solid #604c4e;
        padding: 15px 0 10px 20px;
        margin-left: 18%;
    }
}




#plan_point01 .box01 {
    grid-column: 1;
    grid-row: 3;
    width: 90%;
    margin: 30px auto 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
}

#plan_point01 .box01 .img01 {
    grid-column: 1;
    grid-row: 1/3;
}

#plan_point01 .box01 .img03 {
    grid-column: 2;
    grid-row: 1;
    width: 80%;
    margin: 0 auto;
}

#plan_point01 .box01 .img02 {
    margin-top: 40px;
}

#plan_point01 .box02 {
    grid-column: 2;
    grid-row: 2/5;
    margin-top: 30px;
}


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

    #plan_point01 .box01 {
        width: 100%;
        margin-top: 20px;
    }

    #plan_point01 .box01 .img01 {
        grid-column: 1;
        grid-row: 1;
    }

    #plan_point01 .box01 .img02 {
        grid-column: 2;
        grid-row: 1 / 3;
        margin-top: 30px;
    }

    #plan_point01 .box01 .img03 {
        grid-column: 1;
        grid-row: 2;
        margin-top: 20px;
    }

    #plan_point01 .box02 {
        margin-top: 20px;
    }
}





#plan_point02 .box01 {
    grid-column: 1;
    grid-row: 3;
    max-width: 400px;
    margin: 40px 0 0 auto;
}

#plan_point02 .box02 {
    grid-column: 2;
    grid-row: 2/5;
    max-width: 450px;
    margin: 40px auto 0;
}


/* SP調整 */
@media screen and (max-width:730px) {
    #plan_point02 .box01 {
        margin-top: 20px;
    }

    #plan_point02 .box02 {
        margin-top: 30px;
        width: 90%;
    }
}





#plan_point03 .box01 {
    grid-column: 1;
    grid-row: 3;
    max-width: 400px;
    margin: 40px 0 0 auto;
}

#plan_point03 .box02 {
    grid-column: 2;
    grid-row: 2/5;
}

#plan_point03 .box02 .img01 {
    max-width: 350px;
    margin: 20px auto 50px;
}

#plan_point03 .box02 .img02 {
    max-width: 450px;
    margin: 0 auto;
}


/* SP調整 */
@media screen and (max-width:730px) {
    #plan_point03 .box01 {
        margin-top: 20px;
    }

    #plan_point03 .box02 .img01 {
        width: 85%;
        margin: 20px auto 30px;
    }

    #plan_point03 .box02 .img02 {
        width: 90%;
    }
}




#plan_point04 .box01 {
    grid-column: 1;
    grid-row: 3;
    display: grid;
    grid-template-columns: 25% 1fr;
    gap: 15px 20px;
    margin-top: 20px;
}

#plan_point04 .box01 .lead {
    grid-column: 1/3;
    font-size: clamp(15px, 1.6vw, 18px);
    color: #604c4e;
    letter-spacing: 0.05em;
}

#plan_point04 .box01 .txt {
    font-size: clamp(13px,1.4vw,14px);
    line-height: 1.7;
}

#plan_point04 .box01 .img01 {
    grid-column: 1/3;
}

#plan_point04 .box02 {
    grid-column: 2;
    grid-row: 2/4;
    max-width: 350px;
    margin: 30px auto 0;
}

#plan_point04 .gooddesign {
    grid-column: 2;
    width: 85%;
    margin: 30px auto 0;
}

/* SP調整 */
@media screen and (max-width:730px) {
    #plan_point04 .box01 {
        order: 3;
    }

    #plan_point04 .box02 {
        margin-top: 20px;
        width: 85%;
    }

    #plan_point04 .gooddesign {
        order: 4;
    }
}






#plan_point05 .box01 {
    grid-column: 1;
    grid-row: 3;
    margin-top: 40px;
}

#plan_point05 .box02 {
    grid-column: 2;
    grid-row: 2/4;
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}

#plan_point05 .box02 .img01 {
    width: 47%;
}
#plan_point05 .box02 .img02 {
    width: 48%;
}


/* SP調整 */
@media screen and (max-width:730px) {
    #plan_point05 .box01 {
        order: 4;
        margin-top: 30px;
    }
}



#plan_point06 .box01 {
    grid-column: 2;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px 0;
    margin-top: 30px;
}

#plan_point06 .box01 .img01 {
    width: 23%;
}

#plan_point06 .box01 .img02 {
    width: 53%;
}

/* SP調整 */
@media screen and (max-width:730px) {
    #plan_point06 .box01 .img01 {
        width: 30%;
    }

    #plan_point06 .box01 .img02 {
        width: 58%;
        align-self: flex-end;
    }
}



#plan_point07 .box01 {
    margin-top: 30px;
}
#plan_point07 .box02 {
    grid-column: 1/3;
    width: 90%;
    margin: 30px auto 0;
}


#plan_point08 .box01 {
    grid-column: 1;
    grid-row: 3;
    max-width: 200px;
    margin: 30px 0 0 auto;
}

#plan_point08 .box02 {
    grid-column: 2;
    grid-row: 2/7;
    margin-top: 30px;
}


/* SP調整 */
@media screen and (max-width:730px) {
    #plan_point08 .box01 {
        width: 40%;
        margin: 20px auto 0;
    }

    #plan_point08 .box02 {
        margin-top: 20px;
    }
}


#plan_point09 .box01 {
    grid-column: 1;
    grid-row: 3;
    margin-top: 30px;
}

#plan_point09 .box02 {
    grid-column: 2;
    grid-row: 2/5;
    margin-top: 30px;
}


/* SP調整 */
@media screen and (max-width:730px) {
    #plan_point09 .box01 {
        order: 4;
        margin: 30px -5.5% 0;
    }
}


#plan_point10 .box01 {
    margin-top: 30px;
}

#plan_point10 .box01 .image_wrap {
    display: flex;
    justify-content: space-between;
}

#plan_point10 .box01 .img01 {
    width: 42%;
}

#plan_point10 .box01 .img02 {
    width: 53%;
    align-self: center;
}

#plan_point10 .box01 .txt {
    font-size: clamp(13px, 1.4vw, 14px);
    line-height: 1.7;
    margin-top: 20px;
}




.type_modal {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    z-index: 10000;
    display: none;
}

.type_modal .modal_bg {
    position: absolute;
    background-color: hsla(0, 0%, 0%, 0.5);
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.type_modal .modal_inner {
    max-width: 500px;
    width: 90%;
    height: 90%;
    overflow: hidden;
    position: absolute;
    translate: -50% -50%;
    top: 50%;
    left: 50%;
}

.type_modal .close_btn {
    display: block;
    width: 40px;
    height: 40px;
    position: relative;
    margin: 0 0 5px auto;
    cursor: pointer;
}

.type_modal .close_btn span {
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #fff;
}

.type_modal .close_btn span:nth-child(1) {
    top: 20px;
    rotate: 45deg;
}

.type_modal .close_btn span:nth-child(2) {
    top: 20px;
    rotate: -45deg;
}

.type_contents {
    overflow-y: scroll;
    background-color: #fff;
    padding: 40px 30px;
    height: calc(100% - 50px);
}