.page_nav {
    max-width: 1054px;
    width: 90%;
    margin: 50px auto 80px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.page_nav li {
    width: calc(100%/3 - 20px*2/3);
}

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

.sec_ttl {
    color: #fff;
    text-align: center;
    padding: 10px 0;
    font-size: clamp(18px,2vw,22px);
    margin-bottom: 30px;
}

.sec_lead {
    font-weight: 600;
    font-size: clamp(17px, 2vw, 20px);
    color: #604c4e;
    letter-spacing: 0.05em;
}

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

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

    .page_nav {
        margin: 20px auto 40px;
        gap: 15px;
    }

    .page_nav li {
        width: calc(100%/2 - 15px/2);
    }

    .main_contents {
        width: 100%;
        gap: 60px 0;
    }

    .sec_ttl {
        margin-bottom: 20px;
    }

    .sec_lead {
        text-align: center;
    }
    
    .sec_container {
        width: 90%;
        margin: 0 auto;
    }
}


#sec01 .sec_ttl {
    background: linear-gradient(
        to right,
        #a0916e 0%,
        #846f3e 100%
    );
}

#sec01 .box01 {
    display: grid;
    grid-template-columns: 51% 1fr 1fr;
    gap: 20px;
}

#sec01 .box01 .txt_wrap {
    grid-column: 1;
    grid-row: 1;
    margin-right: 10px;
}

#sec01 .box01 .img01 {
    grid-column: 1;
    grid-row: 2/5;
}

#sec01 .box01 .img01 .cap {
    bottom: 0;
}

#sec01 .box01 .image .txt {
    text-align: center;
    font-size: clamp(10px,1.3vw,14px);
    margin-top: 5px;
}

#sec01 .box01 .img02,
#sec01 .box01 .img03 {
    grid-row: 1/3;
}

#sec01 .box01 .img04 {
    grid-column: 2;
    grid-row: 3/5;
}
#sec01 .box01 .img05 {
    grid-column: 3;
    grid-row: 3/5;
}

/* SP調整 */
@media screen and (max-width:730px) {
    #sec01 .box01 {
        grid-template-columns: repeat(2,1fr);
        gap: 20px;
    }

    #sec01 .box01 .txt_wrap {
        grid-column: 1/3;
        margin: 0 0 5px 0;
    }

    #sec01 .box01 .img01 {
        grid-column: 1/3;
        grid-row: 3;
        margin: -20% 0 0;
    }

    #sec01 .box01 .img01 .cap {
        bottom: -5px;
        right: 0;
    }
    
    #sec01 .box01 .image .txt {
        letter-spacing: -0.05em;
    }

    #sec01 .box01 .img02 {
        grid-column: 1;
        grid-row: initial;
    }

    #sec01 .box01 .img03 {
        grid-column: 2;
        grid-row: initial;
    }

    #sec01 .box01 .img04 {
        grid-column: 1;
        grid-row: initial;
    }

    #sec01 .box01 .img05 {
        grid-column: 2;
        grid-row: initial;
    }
}




#sec02 .sec_ttl {
    background: linear-gradient(to right,
        #718c71 0%,
        #4a633a 100%);
}


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

#sec02 .box01-01 {
    width: 54%;
}

#sec02 .box01-01 .image {
    margin-top: 20px;
}

#sec02 .box01-01 .image .foot {
    display: block;
    margin-top: 3px;
    text-align: right;
    font-size: clamp(12px,1.3vw,14px);
}

#sec02 .box01-01 .image .foot .small {
    font-size: clamp(11px,1.2vw,13px);
}

#sec02 .box01-02 {
    width: 43%;
}

#sec02 .box01-02 .lead {
    text-align: center;
    font-size: clamp(16px,1.7vw,18px);
    margin-bottom: 10px;
}

#sec02 .box01-02 .image {
    max-width: 400px;
    margin: 0 auto;
}


#sec02 .box02 {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: -8%;
}

#sec02 .box02-01 {
    width: 48%;
}

#sec02 .box02-01 .image {
    margin-top: 20px;
}

#sec02 .box02-02 {
    width: 48%;
}

#sec02 .box02-02 .note {
    text-align: right;
    margin-top: 10px;
}

#sec02 .box03 {
    margin-top: 90px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 30px;
}

#sec02 .box03-01 {
    margin-top: 20px;
}

#sec02 .box03-02 {
    grid-column: 2;
    grid-row: 1/5;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

#sec02 .box03-02 .image_wrap {
    width: calc(100%/2 - 20px/2);
}

#sec02 .box03-02 .icon {
    position: absolute;
    width: 25%;
    bottom: 4%;
    right: 3%;
}

#sec02 .box03-02 .txt {
    font-size: clamp(13px, 1.4vw, 16px);
    margin-top: 5px;
    line-height: 1.2;
}

#sec02 .box03-02 .txt .small {
    font-size: clamp(10px, 1.2vw, 12px);
}

#sec02 .box04 {
    display: flex;
    justify-content: space-between;
    margin-top: 80px;
}

#sec02 .box04-01 {
    width: 48%;
}

#sec02 .box04-02 {
    width: 48%;
}


#sec02 .box05 {
    display: grid;
    grid-template-columns: 43% 1fr;
    gap: 0 30px;
    margin-top: 80px;
}

#sec02 .box05 .sec_lead {
    grid-column: 1/3;
}


#sec02 .box05-01 {
    margin: 5% auto 0;
}

#sec02 .box05-01 .icon {
    position: absolute;
    width: 20%;
    top: -8%;
    right: 3%;
}

#sec02 .box05-01 .txt {
    font-size: clamp(13px, 1.4vw, 16px);
    margin-top: 5px;
    line-height: 1.2;
    text-align: right;
}

#sec02 .box05-01 .txt .small {
    font-size: clamp(11px, 1.2vw, 12px);
}

#sec02 .box05-02 {
    max-width: 480px;
    margin: 20px auto 0;
    grid-column: 2;
    grid-row: 2/4;
}

#sec02 .box05-02 .note {
    text-align: right;
    margin-top: 5px;
}


/* SP調整 */
@media screen and (max-width:730px) {
    #sec02 .box01 {
        flex-direction: column;
        gap: 20px 0;
    }

    #sec02 .box01-01,
    #sec02 .box01-02 {
        width: 100%;
    }

    #sec02 .box02 {
        margin-top: 40px;
        flex-direction: column;
        gap: 15px 0;
    }

    #sec02 .box02-01 {
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    #sec02 .box02-01 .image {
        order: -1;
        margin: 0 0 10px;
    }

    #sec02 .box02-02 {
        width: 100%;
    }


    #sec02 .box03 {
        margin-top: 40px;
        display: flex;
        flex-direction: column;
    }

    #sec02 .box03-02 {
        margin-top: 20px;
        gap: 15px;
    }
    
    #sec02 .box03-02 .image_wrap {
        width: calc(100%/2 - 15px/2);
    }

    #sec02 .box03-02 .txt {
        margin-top: 3px;
    }

    #sec02 .box03-01 {
        order: 3;
        margin-top: 15px;
    }


    #sec02 .box04 {
        flex-direction: column;
        gap: 20px 0;
        margin-top: 50px;
    }

    #sec02 .box04-01,
    #sec02 .box04-02 {
        width: 100%;
    }

    #sec02 .box05 {
        margin-top: 50px;
        display: flex;
        flex-direction: column;
    }

    #sec02 .box05-01 {
        width: 80%;
    }

    #sec02 .box05-01 .icon {
        width: 23%;
        right: -4%;
    }
}



#sec03 .sec_ttl {
    background: linear-gradient(to right,
        #467091 0%,
        #274559 100%);
}


#sec03 .box01 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 5%;
}

#sec03 .box01 .sec_lead {
    grid-column: 1/3;
}


#sec03 .box01-01 {
    max-width: 450px;
    margin: 20px auto 0;
}

#sec03 .box01-02 {
    grid-column: 2;
    grid-row: 2/4;
    align-self: flex-end;
    margin-top: 20px;
}

/* SP調整 */
@media screen and (max-width:730px) {
    #sec03 .box01 {
        display: flex;
        flex-direction: column;
    }

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



#sec04 .sec_ttl {
    background: linear-gradient(to right,
        #8f5267 0%,
        #692d39 100%);
}

#sec04 .box01 {
    display: grid;
    grid-template-columns: 1fr 45%;
    gap: 0 5%;
}

#sec04 .box01 .sec_lead {
    grid-column: 1/3;
}

#sec04 .box01 .sec_txt {
    grid-column: 1/3;
    margin-bottom: 30px;
}

#sec04 .box01-01 .icon {
    position: absolute;
    width: 18%;
    top: 5%;
    right: -5%;
}

#sec04 .box01-01 .deco {
    position: absolute;
    width: 22%;
    bottom: -16%;
    left: -5%;
}

#sec04 .box01-01 .txt {
    font-size: clamp(13px, 1.4vw, 16px);
    margin-top: 5px;
    line-height: 1.2;
    text-align: right;
}

#sec04 .box01-01 .txt .small {
    font-size: clamp(11px, 1.2vw, 12px);
}

#sec04 .box01-02 {
    max-width: 450px;
    margin: 0 auto;
}




#sec04 .box02 {
    display: flex;
    justify-content: space-between;
    margin-top: 70px;
}

#sec04 .box02-01 {
    width: 48%;
}

#sec04 .box02-02 {
    width: 48%;
}

#sec04 .box02-02 .icon {
    position: absolute;
    top: -5%;
    right: 3%;
    width: 18%;
}

#sec04 .box02-02 .txt {
    font-size: clamp(13px, 1.4vw, 16px);
    margin-top: 5px;
    line-height: 1.2;
    text-align: right;
}

#sec04 .box02-02 .txt .small {
    font-size: clamp(11px, 1.2vw, 12px);
}

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

    #sec04 .box01 {
        display: flex;
        flex-direction: column;
    }
    
    #sec04 .box01 .sec_lead {
        letter-spacing: -0.03em;
    }

    #sec04 .box01 .sec_txt {
        margin-bottom: 20px;
    }

    #sec04 .box01-01 {
        margin-bottom: 20px;
    }

    #sec04 .box01-01 .icon {
        width: 22%;
        top: 53%;
        right: 2%;
    }

    #sec04 .box01-01 .deco {
        width: 25%;
        bottom: -15%;
        left: -3%;
    }


    #sec04 .box02 {
        flex-direction: column;
        gap: 20px 0;
        margin-top: 50px;
    }

    #sec04 .box02-01,
    #sec04 .box02-02 {
        width: 100%;
    }
    
    #sec04 .box02-02 .icon {
        width: 22%;
        top: 53%;
        right: 2%;
    }
}



#sec05 .sec_ttl {
    background: linear-gradient(to right,
        #4e8485 0%,
        #295549 100%);
}

#sec05 .box_ttl {
    font-size: clamp(15px, 1.5vw, 17px);
    margin-top: 5px;
    line-height: 1.2;
}

#sec05 .box_ttl .small {
    font-size: clamp(11px, 1.2vw, 12px);
}

#sec05 .box_txt {
    font-size: clamp(13px, 1.4vw, 14px);
    line-height: 1.6;
    margin-top: 5px;
}

#sec05 .box01 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

#sec05 .box01 .image .icon {
    position: absolute;
    width: 18%;
    top: -5%;
    right: 3%;
}

#sec05 .box01-01 .image {
    margin-top: 20px;
}

#sec05 .box01-02 {
    align-self: flex-end;
}

#sec05 .box01-06 {
    width: 90%;
    margin: 0 auto;
}

#sec05 .box02 {
    margin-top: 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

#sec05 .box02 .box_ttl {
    text-align: center;
    margin: 10px 0;
}

#sec05 .box02-01 .image {
    margin-top: 20px;
}

#sec05 .box02-04 .note {
    text-align: right;
    margin-top: 20px;
}

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

    #sec05 .box01 {
        display: flex;
        flex-direction: column;
    }

    #sec05 .box01-01 {
        display: flex;
        flex-direction: column;
    }

    #sec05 .box01-01 .image {
        order: -1;
        margin: 0 0 15px;
    }

    #sec05 .box01-02 {
        margin: -10px 0;
    }

    #sec05 .box01-06 {
        width: 105%;
        margin: 0 -5.5% 0 auto;
    }

    #sec05 .box02 {
        margin-top: 50px;
        display: flex;
        flex-direction: column;
    }

    #sec05 .box02-01 {
        display: flex;
        flex-direction: column;
    }

    #sec05 .box02-01 .image {
        order: -1;
        margin: 0 0 15px;
    }

    #sec05 .box02-02 {
        margin-top: -15px;
    }
}


#sec06 .sec_ttl {
    background: linear-gradient(to right,
        #5a5f89 0%,
        #373751 100%);
}

#sec06 .box_ttl {
    font-size: clamp(15px, 1.5vw, 17px);
    margin-top: 5px;
    line-height: 1.2;
}

#sec06 .box_ttl .small {
    font-size: clamp(11px, 1.2vw, 12px);
}

#sec06 .box_txt {
    font-size: clamp(13px, 1.4vw, 14px);
    line-height: 1.6;
    margin-top: 5px;
}

#sec06 .box01 {
    display: flex;
    justify-content: space-between;
    border-bottom: 0.5px solid #604c4e;
    padding-bottom: 70px;
    margin-bottom: 70px;
}

#sec06 .box01-01 {
    width: 48%;
}

#sec06 .box01-01 .icon {
    position: absolute;
    width: 18%;
    top: 5%;
    right: -5%;
}

#sec06 .box01-02 {
    width: 48%;
    display: flex;
    justify-content: space-between;
    align-self: flex-end;
}

#sec06 .box01-02 .txt_wrap {
    width: 48%;
}

#sec06 .box01-02 .image {
    width: 48%;
}


#sec06 .box02 {
    display: flex;
    justify-content: space-between;
}

#sec06 .box02-01 {
    width: 48%;
}

#sec06 .box02-01 .image_wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

#sec06 .box02-01 .image_wrap .image,
#sec06 .box02-01 .image_wrap .box_txt {
    width: 48%;
}

#sec06 .box02-01 .balloon {
    margin-top: 30px;
}

#sec06 .box02-02 {
    width: 48%;
}


#sec06 .box03 {
    display: flex;
    justify-content: space-between;
    margin-top: 80px;
}

#sec06 .box03-01 {
    width: 48%;
}

#sec06 .box03-02 {
    width: 45%;
}




/* SP調整 */
@media screen and (max-width:730px) {
    #sec06 .box01 {
        flex-direction: column;
        gap: 20px 0;
        padding-bottom: 40px;
        margin-bottom: 40px;
    }

    #sec06 .box01-01 {
        width: 100%;
    }

    #sec06 .box01-01 .icon {
        position: absolute;
        width: 18%;
        top: -5%;
        right: 3%;
    }

    #sec06 .box01-02 {
        width: 100%;
    }


    #sec06 .box02 {
        flex-direction: column;
        gap: 20px 0;
    }

    #sec06 .box02-01,
    #sec06 .box02-02 {
        width: 100%;
    }

    #sec06 .box02-01 .balloon {
        margin-top: 20px;
    }



    #sec06 .box03 {
        flex-direction: column;
        gap: 10px 0;
    }

    #sec06 .box03-01,
    #sec06 .box03-02 {
        width: 100%;
    }
}