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

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

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

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

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

/* SPのみ */
@media screen and (max-width:730px) {
    .bottom_note {
        margin-top: 20px;
    }
}




.sec01 .container {
    display: flex;
    justify-content: space-between;
    background: linear-gradient(
        to bottom,
        #fff 0%,
        #cddce8 100%
    );
}

.sec01 .box01 {
    width: 57%;
}

.sec01 .box01 .sec_ttl {
    margin-bottom: -6%;
}

.sec01 .box01 .image img {
    mix-blend-mode: multiply;
    position: relative;
    z-index: 1;
}

.sec01 .box01 .image::after {
    position: absolute;
    translate: -50% -50%;
    top: 51%;
    left: 49%;
    content: '';
    width: 70%;
    height: 70%;
    background-color: #fff;
    border-radius: 50%;
    filter: blur(5px);
}

.sec01 .box02 {
    width: 43%;
}

.sec01 .box02 .sec_ttl_en {
    margin-bottom: 5px;
}

.sec01 .box02 .image {
    margin-top: 20px;
}


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

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

    .sec01 .box01 {
        width: 100%;
    }

    .sec01 .box02 {
        width: 100%;
    }
}


.sec02 .container01 {
    width: 90%;
    margin: 40px auto 0;
    display: flex;
    justify-content: space-between;
}

.sec02 .container01 .box01 {
    width: 90%;
}

.sec02 .container01 .box02 {
    width: 45%;
    margin: 5% 0 0 -25%;
}

.sec02 .container01 .box02 .txt {
    font-size: clamp(16px,2vw,20px);
}

.sec02 .container01 .box02 .txt .large {
    font-size: clamp(23px,3vw,30px);
}

.sec02 .container01 .box02 ul {
    width: 80%;
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    gap: 15px 0;
}

.sec02 .container02 {
    background-color: #e8f4f4;
    padding: 30px;
    margin-top: 50px;
}

.sec02 .container02 .inner {
    display: flex;
    justify-content: space-between;
    max-width: 900px;
    margin: 0 auto;
}

.sec02 .container02 .box {
    width: 47%;
}

.sec02 .container02 .sec_lead {
    margin-bottom: 20px;
}

.sec02 .container02 .note {
    margin-top: 15px;
}

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

    .sec02 .container01 {
        flex-direction: column;
        gap: 40px 0;
    }

    .sec02 .container01 .box01 {
        margin: 0 auto;
    }

    .sec02 .container01 .box02 {
        width: 80%;
        margin: 0 auto;
    }

    .sec02 .container01 .box02 ul {
        width: 95%;
        margin: 20px auto 0;
    }

    .sec02 .container02 .inner {
        flex-direction: column;
        gap: 35px 0;
    }

    .sec02 .container02 .box {
        width: 100%;
    }
}


.sec03 .bg {
    background-image: url(../images/access/sec03_bg.jpg);
    background-size: cover;
}

.sec03 .sec_top_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sec03 .sec_top_container .txt_wrap {
    width: 45%;
    text-align: center;
}

.sec03 .sec_ttl {
    margin-top: 10px;
}

.sec03 .sec_top_container .image {
    width: 55%;
}

.sec03 .sec_bottom_container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px 5%;
    margin-top: 40px;
    padding: 0 30px 70px;
}

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

.sec03 .box_ttl .large {
    font-size: clamp(28px,3vw,30px);
}

.sec03 .box_ttl .red {
    color: #761728;
}

.sec03 .box01 .box_ttl .deco {
    position: absolute;
    width: 25%;
    top: -40%;
    left: -8%;
}

.sec03 .box01 .image {
    width: calc(60% + 30px);
    margin-left: -30px;
}

.sec03 .box01 .image .cap {
    right: auto;
    left: 5px;
}

.sec03 .box01 ul {
    position: relative;
    z-index: 1;
    width: 90%;
    margin: -15% auto 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.sec03 .box01 ul li {
    width: 49%;
}

.sec03 .box01 ul li:nth-child(odd) {
    margin-top: 10px;
}

.sec03 .box01 ul li:nth-child(even) {
    margin-top: -20%;
}


.sec03 .box02 .box_ttl .deco {
    position: absolute;
    width: 27%;
    top: -20%;
    left: -10%;
}


.sec03 .box03 {
    grid-column: 1/3;
}

.sec03 .box03 .box_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: justify;
    gap: 0 20px;
}

.sec03 .box03 .box_ttl .deco {
    position: static;
    translate: 0 0;
    width: 12%;
}

.sec03 .box03 .image {
    max-width: 800px;
    margin: 30px auto 0;
}



.sec03 .column {
    background-color: #f1f2de;
    padding: 30px 20px 35px;
    margin-top: 30px;
}

.sec03 .column .inner {
    max-width: 800px;
    margin: 0 auto;
}

.sec03 .column .txt_wrap {
    border-top: 0.5px dashed #076baf;
    border-bottom: 0.5px dashed #076baf;
    padding: 15px 0 20px;
    margin-top: 20px;
}

.sec03 .column .sec_ttl .deco {
    display: inline-block;
    background-image: url(../images/access/column_deco.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    padding: 3px 20px 7px 10px;
}

.sec03 .column .sec_txt {
    margin-top: 15px;
}

.sec03 .column .note {
    margin-top: 10px;
}



/* SPのみ */
@media screen and (max-width:730px) {
    .sec03 .sec_top_container {
        background-color: #fff;
        flex-direction: column;
        gap: 20px 0;
    }

    .sec03 .sec_top_container .txt_wrap {
        width: 100%;
    }

    .sec03 .sec_top_container .image {
        width: 100%;
    }

    .sec03 .sec_bottom_container {
        display: flex;
        flex-direction: column;
        gap: 70px;
        padding: 0 20px;
        margin-top: 50px;
    }

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

    .sec03 .box01 .box_ttl .deco {
        width: 28%;
        top: -80%;
        left: -10px;
    }

    .sec03 .box01 .image {
        width: calc(60% + 20px);
        margin-left: -20px;
    }

    .sec03 .box01 ul {
        width: 100%;
    }

    .sec03 .box02 .box_ttl .deco {
        width: 31%;
        top: -40%;
        left: -13px;
    }

    .sec03 .box03 {
        margin-top: -30px;
    }

    .sec03 .box03 .box_ttl {
        flex-direction: column;
        align-items: flex-start;
        text-align: center;
    }

    .sec03 .box03 .box_ttl .deco {
        width: 30%;
        margin-bottom: -2%;
    }

    .sec03 .box03 .box_ttl h4 {
        margin: 0 auto;
    }

    .sec03 .column {
        margin-top: 0;
        padding: 30px 20px;
    }

    .sec03 .column .txt_wrap {
        margin-top: 15px;
        padding: 10px 0 15px;
    }
}