.page_nav {
    max-width: 850px;
    width: 88%;
    margin: 30px auto;
    display: flex;
    justify-content: space-between;
}

.page_nav li {
    width: calc(95%/3);
}

.page_nav li a {
    display: block;
    background-color: #42bab4;
    color: #fff;
    padding: 10px 5px;
    text-align: center;
    font-size: clamp(15px,1.6vw,20px);
    position: relative;
}

.page_nav li a::after {
    position: absolute;
    translate: 0 -50%;
    top: 50%;
    right: 10px;
    content: '';
    width: 15px;
    height: 10px;
    background-color: #fff;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    animation: move-y 1s infinite ease-in-out;
}

@keyframes move-y {
    0% {
        top: 50%;
    }

    50% {
        top: 58%;
    }

    100% {
        top: 50%;
    }
}

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

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

.sec_ttl {
    text-align: center;
    font-size: clamp(25px, 2.8vw, 28px);
}

.sec_lead {
    text-align: center;
    font-size: clamp(18px,2vw,23px);
    line-height: 1.8;
    margin-top: 15px;
}

.sec_txt {
    margin-top: 20px;
    font-size: clamp(13px, 1.4vw, 15px);
    line-height: 1.7;
}

/* SPのみ */
@media screen and (max-width:730px) {
    .page_nav {
        width: 90%;
        flex-wrap: wrap;
        gap: 8px 0;
    }

    .page_nav li {
        width: 49%;
    }

    .page_nav li:nth-child(3) {
        width: 54%;
        margin: 0 auto;
    }

    .page_nav li a {
        padding: 10px 10px 10px 0;
    }

    .page_nav li a::after {
        width: 10px;
        height: 5px;
        right: 5px;
    }


    .sec_txt {
        margin-top: 15px;
    }


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






#sec01 {
    background: linear-gradient(
        to bottom,
        #829fbd 0%,
        #829fbd 70%,
        #fff 100%
    );
    padding: 30px 50px;
}

#sec01 .sec_ttl_en {
    color: #fff;
    font-size: clamp(20px, 2vw, 25px);
}

#sec01 .sec_ttl {
    color: #fff;
    font-size: clamp(25px, 3vw, 30px);
}

#sec01 .sec_lead {
    color: #fff;
    font-size: clamp(16px,1.6vw,18px);
    margin-bottom: 30px;
}

#sec01 .container {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}

#sec01 .container .image {
    width: 53%;
}

#sec01 .container .txt_wrap {
    width: 44%;
}

#sec01 .con_lead {
    font-size: clamp(18px,2vw,23px);
}

#sec01 .con_txt {
    margin-top: 15px;
    font-size: clamp(13px,1.4vw,15px);
    line-height: 1.6;
}

/* SPのみ */
@media screen and (max-width:730px) {
    
    #sec01 {
        padding: 25px 20px 30px;
    }

    #sec01 .image {
        margin: 0 -20px;
    }

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

    #sec01 .container .image {
        width: calc(100% + 40px);
    }

    #sec01 .container .txt_wrap {
        width: 100%;
    }
}



#sec02 {
    background-color: #f2eff0;
    padding: 30px 50px 40px;
}

#sec02 .sec_ttl_en {
    color: #00a29a;
}

#sec02 .sec_ttl {
    color: #00a29a;
    letter-spacing: 0.05em;
}

/* SPのみ */
@media screen and (max-width:730px) {
    #sec02 {
        padding: 25px 20px 30px;
    }
}






#sec03 .sec_top_container {
    padding: 30px 50px;
}


#sec03 .sec_top_container .sec_ttl_en {
    color: #00a29a;
}

#sec03 .sec_ttl {
    color: #00a29a;
    letter-spacing: 0.05em;
}


#sec03 .sec_bottom_container {
    padding: 30px 50px;
    background: linear-gradient(
        to bottom,
        #fff 0%,
        #f2efe5 20%
    );
}

#sec03 .bottom_ttl {
    max-width: 250px;
    width: 70%;
    margin: 0 auto;
}

#sec03 .sec_bottom_container .sec_ttl_en {
    color: #978474;
    margin-top: -2%;
}

#sec03 .box_wrap {
    max-width: 900px;
    margin: 20px auto 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 5%;
}

#sec03 .box {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
}

#sec03 .box_ttl {
    font-size: clamp(18px,2vw,20px);
    text-align: center;
    margin: auto 0;
}

#sec03 .box_lead {
    text-align: center;
    color: #978474;
    font-size: clamp(15px,1.7vw,19px);
    margin-top: 15px;
}

#sec03 .box_wrap .image {
    margin: 30px auto 0;
}

#sec03 .box_wrap .note {
    margin-top: 20px;
}

#sec03 .box02 .image {
    width: 85%;
}



/* SPのみ */
@media screen and (max-width:730px) {
    #sec03 .sec_top_container {
        padding: 0 20px;
    }

    #sec03 .sec_bottom_container {
        padding: 20px 20px 40px;
    }

    #sec03 .sec_bottom_container .sec_ttl_en {
        margin-top: -5%;
    }

    #sec03 .box_wrap {
        display: flex;
        flex-direction: column;
        gap: 30px 0;
    }

    #sec03 .box_ttl {
        margin: 0 -20px;
    }
}

#sec04 {
    background-color: #f2efe5;
    padding: 30px 20px 50px;
}

#sec04 .sec_lead {
    margin: 0 0 20px;
}

#sec04 .box {
    max-width: 900px;
    margin: 50px auto 0;
    background-color: #fff;
    border: 3px solid #cdc5a8;
    padding: 40px 30px 30px;
    position: relative;
}

#sec04 .box .icon {
    width: 82px;
    position: absolute;
    translate: -50% -50%;
    top: -5px;
    left: 50%;
}

#sec04 .box_ttl {
    text-align: center;
}

#sec04 .box_ttl img {
    max-width: none;
    width: auto;
    max-height: 57px;
    height: 11vw;
}

#sec04 .box_lead {
    color: #e6282c;
    font-size: clamp(18px,2vw,20px);
}

#sec04 .box_txt {
    margin-top: 10px;
    line-height: 1.7;
    font-size: clamp(13px,1.4vw,15px);
}

#sec04 .box .flex {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    gap: 0 4%;
}

#sec04 .box .image {
    width: 46%;
}

#sec04 .box .image .note {
    margin-top: 5px;
}

#sec04 .box .txt_wrap {
    width: 48%;
}



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

    #sec04 {
        padding: 20px 20px 30px;
    }

    #sec04 .box .icon {
        width: 70px;
    }

    #sec04 .box {
        margin-top: 45px;
        padding: 40px 20px 20px;
    }

    #sec04 .box .flex {
        flex-direction: column;
        gap: 15px 0;
    }

    #sec04 .box .image,
    #sec04 .box .txt_wrap {
        width: 100%;
    }
}