#pageVisual h1.page_ttl.white,
#pageVisual h1.page_ttl.white span{
    color: #fff;
}

.about-efds input[type="text"]::placeholder,
.about-efds textarea::placeholder {
    color: #ccc;
    font-size: 16px;
    font-weight: 400;
}

.about-efds .comments {
    font-size: 15px;
    font-weight: 400;
    color: #333;
}
.about-efds .sideText {
    font-size: 15px;
    font-weight: bold;
    color: #333;
}

/* efds */
.h-system {
    background: #c4fcd2!important;
    color: #2E9648!important;
    display: flex!important;
    align-items: center!important;
}

.sec1__ttl {
    line-height: 1;
    gap: 20px;
}

.lp__btn {
    justify-content: center;
}

.lp__btn a{
    border-radius: 10px!important;
    color: #fff !important;
    background: #2E9648!important;
    line-height: 80px !important;
    padding: 0 !important;
    font-size: 24px !important;
    font-weight: bold !important;
    width: 100% !important;
}

.lp__btn > *{
    max-width: 583px;
    width: 100%;
}

.red {
    color: #FF0000;
}

.lp-main .pc__only {
    display: block;
}

.lp-main .sp__only {
    display: none;
}

#main .pc__only {
    display: block;
}
#main .sp__only {
    display: none;
}
@media screen and (min-width: 829px){
    .sect1 {
        position: relative;
        padding-bottom: 130px;
    }
     .sect1::before {
        position: absolute;
        content: '';
        background-image: url(../../../../uploads/2025/06/bg_pc-scaled.webp);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: 100% 100%;
        width: 100%;
        height: 100%;
        bottom: 0;
        left: 0;
    }
}

@media screen and (max-width: 828px){
    .efds figure {
        margin: 0;
    }
    .sect1 {
        position: relative;
    }
    .sect1::before {
        position: absolute;
        content: '';
        background-image: url(../../../../uploads/2025/06/bg_sp.webp);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: 100% 100%;
        width: 100%;
        height: 100%;
        bottom: -100px;
        left: 0;
    }
    .sect1::after {
        position: absolute;
        content: '';
        background-color: #C4FCD2;
        background-repeat: no-repeat;
        background-position: 100% 100%;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: -1;
    }

    .sec1__ttl {
        line-height: 1.5;
    }
    .sec1__ttl h2 {
        font-size: 30px !important;
    }
    .sect1__columns {
        gap: 45px;
        text-align: center;
    }

    #main .sect1 .wp-block-image img {
        max-width: 250px;
    }

    
    .lp-main .pc__only {
        display: none;
    }

    .lp-main .sp__only {
        display: block;
    }
    #main .pc__only {
        display: none;
    }
    #main .sp__only {
        display: block;
    }
}

.sect3 {
    position: relative;
    padding: 80px 0 120px;
    box-sizing: border-box;
}
.sect3::before {
    position: absolute;
    content: '';
    background-image: url(../../../../uploads/2025/06/bg2-scaled.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% 100%;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.sect__ttl {
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 80px;
    text-align: center;
}

.sect__ttl.white {
    color: #fff;
}

.ttl__label {
    padding: 9px 30px;
    box-sizing: border-box;
    background: #2e9648;
    color: #fff;
    font-size: 30px;
    font-weight: bold;
}

@media screen and (max-width: 828px){
    .sect__ttl {
        font-size: 30px;
        margin-bottom: 60px;
    }
}

.efds .sect3 .columns {
    display: flex;
    align-items: center;
    margin: 0;
    gap: 73px;
    margin-bottom: 40px;
}
.efds .sect3 .column {
    padding: 0;
    flex-basis: 42.5%;
    max-width: auto;
}
.efds .sect3 .column + .column {
    flex-basis: 51%;
}

.sect3 p {
    font-size: 24px;
    font-weight: bold;
}

.sect3 .lp__btn {
    position: relative;
    display: flex;
    margin-top: 60px;
}
.sect3 .lp__btn a {
    text-decoration: none;
    display: block;
    text-align: center;
}

.sect3 .ttl__label {
    margin-bottom: 30px;
}

@media screen and (max-width: 828px){
    .efds .sect3 .columns {
        flex-direction: column;
        gap: 30px;
    }
    .sect3 .lp__btn {
        padding: 0 15px;
        margin-top: 40px;
    }
}

.sect4 .ttl__label {
    margin-bottom: 20px;
}
.sect4 {
    padding: 70px 0 92px;
}
.sect4 .sect__ttl {
    margin-bottom: 60px;
}
.efds .sect4 .columns {
    display: flex;
    margin: 0;
    gap: 30px;
    padding: 30px;
    box-sizing: border-box;
    background: #C4FCD2;
    margin-bottom: 40px;
}
.efds .sect4 .column {
    padding: 0;
    flex-basis: 47.5%;
    max-width: auto;
}
.efds .sect4 .column + .column {
    flex-basis: 47.5%;
}
.efds .sect4 p {
    font-size: 18px;
    font-weight: bold;
}

@media screen and (max-width: 828px){
    .efds .sect4 .columns {
        flex-direction: column;
    }
}

.efds .sect5 {
    background: #C4FCD2;
    padding: 40px 0 68px;
}
.efds .sect5 .sect__ttl {
    margin-bottom: 35px;
    font-size: 30px;
}
.movie__contents {
    width: 100%;
    text-align: center;
    margin: auto;
}
.movie__contents video {
    width: 100%;
    max-width: 740px;
}

.efds .sect6 {
    padding: 60px 0 133px;
    position: relative;
}
.efds .sect6::before {
    position: absolute;
    content: '';
    background: url(../../../../uploads/2025/06/bg-images-scaled.jpg) no-repeat;
    background-size: cover;
    background-position: 100% 100%;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.efds .sect6 .sect__ttl {
    margin-bottom: 47px;
    font-size: 36px;
    color: #fff;
}

.efds .sect6 table {
    border-collapse: separate;
    border-spacing: 5px;
}

.efds .sect6 th,
.efds .sect6 td {
    border: none;
    background: #F8F8F8;
    font-weight: bold;
    padding: 25px 20px;
    box-sizing: border-box;
}

.efds .sect6 th {
    background: #D5D5D5;
    color: #2E9648;
    width: 275px;
    text-align: center;
    align-content: center;
}

@media screen and (max-width: 828px){
    .efds .sect6 th,
    .efds .sect6 td {
        width: 100%;
        display: block;
    }
}

.efds .sect7 {
    padding-top: 100px;
}
.efds .sect7 .sect__ttl {
    font-size: 36px;
    margin-bottom: 47px;
}

.efds .gallery_img {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 30px;
}

.efds .gallery_img figure {
    margin: 0;
    flex-basis: 31%;
}

@media screen and (max-width: 828px){
    .efds .gallery_img {
        flex-direction: column;
    }
}

/* ここまでefds */

/* footer */
#footer_contact.cta__efds {
    background: #2E9648;
    padding: 40px 0 30px;
}
#footer_contact.cta__efds .wrapper {
    background: #fff;
    max-width: 900px;
    margin: auto;
    padding-top: 42px;
    padding-bottom: 77px;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
}
#footer_contact.cta__efds .wrapper h2 {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 0;
}

.cta__btn a {
    border-radius: 5px;
    color: #fff;
    background: #2E9648;
    line-height: 60px;
    padding: 0;
    font-size: 16px;
    font-weight: bold;
    width: 300px;
    display: block;
    text-align: center;
    text-decoration: none;
}

/* home */
.efds__banner{
    background: #C4FCD2;
    padding: 100px 0;
}
.efds__banner .image {
    max-width: 1000px;
    margin: auto;
}

@media screen and (max-width: 828px){
    .efds__banner {
        padding: 50px 0;
    }
    .efds__banner .image {
        width: 100%;
    }
}