@charset "utf-8";

.pc-off {
    display: none;

    @media screen and (max-width: 767px) {
        display: block;
    }
}

.sp-off {
    display: block;

    @media screen and (max-width: 767px) {
        display: none;
    }
}

.inner {
    margin: 0 auto;
}

/* .w1440 {
    max-width: 144rem;
    width: 100%;
} */

.w1400 {
    max-width: 140rem;
    width: 100%;
}

.w1345 {
    max-width: 134.5rem;
    width: 100%;
}

.w1300 {
    max-width: 130rem;
    width: calc(100% - 6rem);

    @media screen and (max-width: 924px) {
        width: 100%;
    }
}

.w1200 {
    max-width: 120rem;
    width: 100%;
}

.w1080 {
    max-width: 108rem;
    width: 100%;
}

.page-title {
    display: none;
}

/* 1 */
#section-1 {
    background-image: url("../../img/page/lstep/mv_pic.png");
    background-size: cover;
    position: relative;
    padding: 5rem;
    padding-top: 10rem;
    /* overflow: hidden; */
    /* padding: 80px 20px 140px; */

    @media screen and (max-width: 767px) {
        background-image: url("../../img/page/lstep/mv_pic_sp.png");
        padding: 2.5rem 0;
    }
}

.sec1-content {
    width: 100%;
    display: flex;
    gap: 2rem;
    margin-bottom: 3rem;

    @media screen and (max-width: 767px) {
        flex-direction: column;
        gap: 0;
    }
}

.sec1-left {
    width: 65%;

    @media screen and (max-width: 767px) {
        order: 1;
        display: flex;
        flex-direction: column;
        width: 100%;
    }
}

.sec1-right {
    object-fit: cover;
    display: flex;
    align-items: center;
    width: 50%;

    @media screen and (max-width: 767px) {
        order: 0;
        width: 100%;
    }

    & img {
        width: 100%;
    }
}

.sec1-tagline {
    background: #179876;
    display: inline-flex;
    padding: 0.5rem 2rem;
    border-radius: 4px;
    align-items: center;
    justify-content: center;
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1.4;
    text-align: left;
    letter-spacing: 0.1em;
    color: #ffffff;
    position: relative;
    /* margin: auto; */
    margin-bottom: 2rem;
    margin-left: 9rem;
    width: 37.6rem;

    &::after {
        content: "";
        position: absolute;
        bottom: -9px;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 10px solid #179876;
    }

    @media screen and (max-width: 939px) {
        font-size: 1.8rem;
    }

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        padding: 0.5rem 1rem;
        width: 27.1rem;
        margin-left: 0;
        align-items: center;
        justify-content: center;
        margin: auto;
        margin-bottom: 2rem;
    }
}

.sec1-title {
    margin: auto;
    margin-bottom: 3rem;
    display: flex;
}

.sec1-des {
    position: relative;
    margin-bottom: 4rem;

    &::before {
        content: "";
        position: absolute;
        bottom: -0.5rem;
        background-color: #f9ff41;
        height: 2rem;
        width: 58%;
        z-index: -1;

        @media screen and (max-width: 767px) {
            height: 1rem;
            width: 100%;
            top: 1.3rem;
            left: 0;
        }
    }

    @media screen and (max-width: 767px) {
        margin: auto;
        margin-bottom: 2rem;
    }
}

.sec1-features {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    width: 100%;

    @media screen and (max-width: 767px) {
        flex-direction: column;
        gap: 0;
    }
}

.sec1-feat {
    @media screen and (max-width: 767px) {
        max-width: 75%;
        margin: auto;
    }
}

.sec1-feat-2 {
    display: flex;
    gap: 2rem;
}

/* .sec1-feat {
    border: 2rem solid rgba(23, 152, 118, 0.2);
    border-radius: 50%;
    width: 20.7rem;
    height: 20.7rem;
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    background-color: #fff;

    .num {
        font-family: "Futura PT";
        font-weight: 500;
        font-size: 3.3rem;
        text-align: center;
        color: #179876;
        padding-top: 4rem;
        padding-bottom: 1rem;

        @media screen and (max-width: 767px) {
            padding-top: 2.5rem;
            padding-bottom: 1rem;
            font-size: 2.3rem;
        }
    }

    .feat-txt {
        font-family: "Noto Sans JP";
        font-weight: bold;
        font-size: 2.4rem;
        letter-spacing: 0.01em;
        line-height: 3rem;
        text-align: center;
        color: #000;

        @media screen and (max-width: 767px) {
            font-size: 1.6rem;
            line-height: 2rem;
        }
    }

    @media screen and (max-width: 767px) {
        border: 1rem solid rgba(23, 152, 118, 0.2);
        width: 14.4rem;
        height: 14.4rem;
    }
}

.sec1-feat-2 {
    display: flex;
    gap: 1rem;
} */

.sec1-btn-container {
    display: flex;
    width: 100%;
    gap: 2rem;
    align-items: flex-start;
    position: relative;
    padding: 1rem;
    padding-left: 0;
    box-sizing: border-box;
    /* justify-content: center; */

    & a {
        text-decoration: none !important;
    }

    @media screen and (max-width: 767px) {
        flex-direction: column;
        padding: 0;
    }
}

.sec1-btn-box {
    /* min-width: 0;
    flex-shrink: 0; */
    /* width: 100%; */
    width: 46rem;

    @media screen and (max-width: 767px) {
        width: 100%;
    }
}

.sec1-btn {
    display: flex;
    align-items: center;
    padding: 1.6rem 2.5rem;
    border-radius: 5.1rem;
    color: #fff;
    font-weight: bold;
    font-size: 1.6rem;
    text-decoration: none;
    /* width: 39rem; */
    /* width: 100%; */
    /* transition: transform 0.2s ease; */
    transition: 0.3s opacity;

    &:hover {
        opacity: 0.6;
    }

    /* &:hover {
        transform: scale(1.03);
    } */

    /* @media screen and (max-width: 1120px) {
        padding: 1.6rem 2rem;
    } */

    @media screen and (max-width: 767px) {
        padding: 1rem 1rem;
        margin-bottom: 1rem;
    }
}

.sec1-btn .sec1-icon {
    background-color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6rem;
    height: 6rem;
    margin-right: 12px;

    @media screen and (max-width: 767px) {
        width: 4.5rem;
        height: 4.5rem;
    }

    & img {
        @media screen and (max-width: 767px) {
            width: 2.5rem;
            height: 2.2rem;
        }
    }
}

.btn-blue {
    background: linear-gradient(90deg, rgba(75, 200, 232, 1) 0%, rgba(9, 66, 200, 1) 100%);
}

.btn-green {
    background: linear-gradient(90deg, rgba(69, 193, 55, 1) 0%, rgba(0, 123, 21, 1) 100%);
}

.btn-pink {
    background: linear-gradient(90deg, rgba(245, 109, 150, 1) 0%, rgba(246, 67, 121, 1) 100%);
}

.sec1-btn-des {
    display: flex;
    align-items: center;
    width: 85%;
    justify-content: space-between;
}

.sec1-btn-txt {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.4rem;
    letter-spacing: 0.01em;
    line-height: 3.5rem;
    text-align: left;
    color: #fff;

    @media screen and (max-width: 1374px) {
        font-size: 2rem;
    }

    @media screen and (max-width: 1120px) {
        font-size: 1.2rem;
    }

    @media screen and (max-width: 820px) {
        font-size: 1.6rem;
    }
}

.sec1-arrow {
    position: relative;
    right: 1rem;
    top: 0.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sec1-note {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 1.4rem;
    letter-spacing: 0.03em;
    line-height: 3.5rem;
    text-align: center;
    color: #707070;
    position: relative;

    @media screen and (max-width: 767px) {
        text-align: center;
        line-height: 2rem;
        font-size: 1.2rem;
    }
}

/* 2 */

#section-2 {
    position: relative;
    padding-top: 10rem;
    padding-bottom: 14rem;
    display: flex;
    padding-left: 2rem;
    padding-right: 2rem;

    @media screen and (max-width: 767px) {
        padding: 8rem 2.5rem;
    }
}

.sec2-box {
    position: relative;
    border: 0.5rem solid #179876;
    border-radius: 12px;
    padding: 2rem 8rem 0;
    text-align: center;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    width: 95.8rem;
    /* height: 35.5rem; */
    margin: auto;
    box-sizing: border-box;

    @media screen and (max-width: 767px) {
        height: auto;
        border-radius: 0;
        padding: 5rem 1rem 0;
    }
}

.sec2-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3rem;
    text-align: center;
    color: #333;
    position: relative;
    background-color: #fff;
    top: -10.5rem;
    padding: 0 5rem;
    /* width: 77.5rem; */
    margin: auto;
    line-height: 1.6;

    @media screen and (max-width: 767px) {
        font-size: 1.9rem;
        width: calc(100% - 0rem);
        left: 0;
        top: -10rem;
        padding: 0 0.9rem;
        box-sizing: border-box;
    }

    /* @media screen and (max-width: 500px) {
        font-size: 1.6rem;
    } */
}

.sec2-title-2 {
    @media screen and (max-width: 767px) {
        font-size: 2.2rem;
    }
}

.sec2-description {
    position: relative;
    top: -7rem;
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3rem;
    text-align: center;
    color: #333;
    padding-bottom: 5rem;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        padding-bottom: 3rem;
        letter-spacing: 0.02em;
        line-height: 1.3;
    }
}

.sec2-description-2 {
    position: relative;
    top: -7rem;
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3rem;
    text-align: center;
    color: #333;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        letter-spacing: 0.15em;
        line-height: 1.3;
    }
}

.green-des {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 4rem;
    text-align: center;
    color: #179876;

    @media screen and (max-width: 767px) {
        font-size: 2.1rem;
    }
}

.phone {
    position: absolute;
    right: -8rem;
    bottom: -12rem;
    /* transform: rotate(4deg); */
    z-index: 2;
    width: 20%;

    @media screen and (max-width: 1024px) {
        right: -2rem;
        bottom: -14.5rem;
    }

    @media screen and (max-width: 767px) {
        right: -2rem;
        bottom: -8rem;
    }

    @media screen and (max-width: 500px) {
        width: 30%;
    }
}

/* 3 */

#section-3 {
    /* text-align: center; */
    padding: 7rem;
    background-color: #eaf4f2;

    @media screen and (max-width: 767px) {
        padding: 4rem 2.5rem;
    }
}

.sec3-user-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 5rem;
    text-align: center;
    color: #0d4b3b;
    padding-bottom: 9rem;

    @media screen and (max-width: 01024px) {
        font-size: 4rem;
    }

    @media screen and (max-width: 767px) {
        font-size: 2.4rem;
    }
}

.sec3-user-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-bottom: 7rem;
    width: 100%;
    /* justify-content: space-between; */

    @media screen and (max-width: 767px) {
        margin-bottom: 4rem;
        flex-direction: column;
        gap: 7rem;
        justify-content: center;
        align-items: center;
    }
}

.sec3-user-card {
    position: relative;
    background: white;
    border-radius: 12px;
    padding: 4rem 2rem;
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 38.5rem !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    /* text-align: center; */

    @media screen and (max-width: 767px) {
        box-sizing: border-box;
        max-width: 100%;
    }
}

.circle-number {
    background-color: #179876;
    width: 7.5rem;
    height: 7.5rem;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 2.9rem;
    text-align: left;
    color: #fff;
    position: absolute;
    top: -4.2rem;
    left: 0;
    right: 0;
    margin: auto;
}

.sec3-card-img {
    margin-top: 1rem;
    text-align: center;
}

.sec3-card-des-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.5rem;
    text-align: center;
    line-height: 1.6;
    color: #179876;
    /* padding: 2rem 0; */
    height: 7.2rem;
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 2rem 0;
}

.sec3-card-des span {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 1.6rem;
    letter-spacing: 0.02em;
    line-height: 1.8;
    text-align: left;
    color: #333;

    @media screen and (max-width: 767px) {
        text-align: left;
    }
}

.sec3-arrow {
    display: flex;
    margin: auto;
    margin-bottom: 5rem;

    @media screen and (max-width: 767px) {
        margin-bottom: 2rem;
    }
}

.sec3-bottom-text {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 5rem;
    line-height: 1.6;
    text-align: center;
    color: #0d4b3b;

    @media screen and (max-width: 767px) {
        font-size: 2.4rem;
    }
}

/* 4 */

#section-4 {
    text-align: center;
    padding: 5rem;
    background-color: #179876;

    @media screen and (max-width: 767px) {
        padding: 4rem 2.5rem 2rem;
    }
}

.sec4-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 5rem;
    text-align: center;
    color: #fff;
    margin-bottom: 8rem;
    padding-bottom: 4.4rem;

    @media screen and (max-width: 767px) {
        font-size: 2.4rem;
        margin-bottom: 4rem;
        padding-bottom: 2rem;
    }
}

.sec4-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
    /* margin-bottom: 2rem; */
    justify-content: center;

    @media screen and (max-width: 767px) {
        margin-bottom: 3rem;
    }
}

.sec4-card {
    box-sizing: border-box;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 0 25px 0 #094e3c;
    display: flex;
    flex-direction: column;
    position: relative;
    width: 51.5rem;
    /* height: 54rem; */
    padding: 5rem 3rem;
    color: #fff;
    margin-top: 1rem;
    margin-bottom: 8rem;
    gap: 0.1rem;

    @media screen and (max-width: 767px) {
        padding: 3rem;
        margin-bottom: 1rem;
        height: auto;
        /* height: 39.4rem; */
    }
}

.sec4-num {
    font-family: "Noto Sans JP";
    font-weight: 500;
    font-size: 11rem;
    text-align: left;
    color: #cce6df;
    position: absolute;
    top: -6.5rem;

    @media screen and (max-width: 767px) {
        font-size: 5.8rem;
        top: -3.5rem;
        left: 2.5rem;
    }
}

.sec4-description {
    display: flex;
    flex-direction: column;
    justify-content: center;

    @media screen and (max-width: 767px) {
    }
}

.sec4-subtitle {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.5rem;
    text-align: center;
    color: #179876;
    margin: 3rem 0;

    @media screen and (max-width: 767px) {
        font-size: 2.3rem;
        margin-top: 2rem;
        margin-bottom: 3rem;
    }
}

.sec4-des {
    font-family: "Noto Sans JP";
    font-weight: 500;
    font-size: 2rem;
    text-align: left;
    color: #333;
    margin-bottom: 3rem;
    line-height: 1.6;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
    }
}

.sec4-img {
    width: 100%;
    /* max-height: 30rem; */
    max-height: 43rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;

    @media screen and (max-width: 767px) {
    }

    & img {
        max-height: 100%;
        object-fit: contain;
    }
}

.sec4-btn {
    display: flex;
    justify-content: center;
    gap: 4rem;
    margin-top: 2rem;
    flex-wrap: wrap;
    padding-bottom: 5rem;

    @media screen and (max-width: 767px) {
        padding-bottom: 2rem;
    }
}

.btn-orange {
    position: relative;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    background: linear-gradient(90deg, rgba(232, 180, 75, 1) 0%, rgba(229, 141, 9, 1) 100%);
    text-decoration: none !important;
    border: none;
    border-radius: 5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 44rem;
    height: 9.7rem;
    transition: 0.3s opacity;

    &:hover {
        opacity: 0.7;
    }

    @media screen and (max-width: 767px) {
        height: 6.4rem;
    }
}

.btn-des {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.4rem;
    letter-spacing: 0.03em;
    line-height: 3.5rem;
    text-align: left;
    color: #fff;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
    }
}

.sec4-arrow {
    position: absolute;
    right: 2rem;
    display: flex;
    align-items: center;
    margin-top: 0.5rem;

    @media screen and (max-width: 767px) {
        margin-top: 0;
    }
}

/* 5 */

#section-5 {
    padding: 7rem;
    padding-bottom: 8rem;
    position: relative;
    background: #eaf4f2;

    @media screen and (max-width: 767px) {
        padding: 4rem 2.5rem 1rem;
    }
}

.sec5-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 5rem;
    text-align: center;
    color: #179876;
    margin-bottom: 5.6rem;

    @media screen and (max-width: 767px) {
        margin-bottom: 3rem;
        font-size: 2.4rem;
    }
}

.sec5-des {
    font-family: "Noto Sans JP";
    font-weight: 500;
    font-size: 2.5rem;
    line-height: 4.1rem;
    text-align: center;
    color: #333;
    margin-bottom: 6.5rem;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        margin-bottom: 4rem;
    }
}

.sec5-content {
    background: #fff;
    padding: 7rem 4rem;
    border-radius: 1.2rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    margin-bottom: 5rem;

    @media screen and (max-width: 767px) {
        padding: 3rem 2rem;
    }
}

.sec5-content-2 {
    background: #fff;
    padding: 7rem 4rem;
    border-radius: 1.2rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    margin-bottom: 5rem;

    @media screen and (max-width: 767px) {
        padding: 3rem 2rem;
    }
}

.sec5-content-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.5rem;
    text-align: center;
    line-height: 1.6;
    color: #070707;
    margin-bottom: 3rem;
    position: relative;
    z-index: 2;

    @media screen and (max-width: 767px) {
        font-size: 2.2rem;
        margin-bottom: 2rem;
    }

    &::before {
        content: "";
        position: absolute;
        bottom: 0.5rem;
        background-color: #f9ff41;
        height: 2rem;
        width: 58%;
        z-index: -1;

        @media screen and (max-width: 767px) {
            height: 1rem;
            width: 100%;
            top: 2rem;
            left: 0;
        }
    }
}

.sec5-content-title-2 {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.5rem;
    text-align: center;
    line-height: 1.6;
    color: #070707;
    margin-bottom: 3rem;
    position: relative;
    z-index: 2;

    @media screen and (max-width: 767px) {
        font-size: 2.2rem;
        margin-bottom: 2rem;
    }

    &::before {
        content: "";
        position: absolute;
        bottom: 0.5rem;
        background-color: #f9ff41;
        height: 2rem;
        width: 49%;
        z-index: -1;

        @media screen and (max-width: 767px) {
            height: 1rem;
            width: 100%;
            top: 2rem;
            left: 0;
        }
    }
}

.sec5-content-title-3 {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.5rem;
    text-align: center;
    line-height: 1.6;
    color: #070707;
    margin-bottom: 3rem;
    position: relative;
    z-index: 2;

    @media screen and (max-width: 767px) {
        font-size: 2.2rem;
        margin-bottom: 2rem;
    }

    &::before {
        content: "";
        position: absolute;
        bottom: 0.5rem;
        background-color: #f9ff41;
        height: 2rem;
        width: 44%;
        z-index: -1;

        @media screen and (max-width: 767px) {
            height: 1rem;
            width: 100%;
            top: 2rem;
            left: 0;
        }
    }
}

.sec5-content-des {
    font-family: "Noto Sans JP";
    font-weight: 500;
    font-size: 2rem;
    line-height: 3.2rem;
    text-align: center;
    color: #333;
    margin-bottom: 4rem;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        text-align: left;
        margin-bottom: 2rem;
    }
}

.sec5-content-img {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 3.5rem;

    @media screen and (max-width: 767px) {
        flex-direction: column;
    }
}

.sec5-content-left-img {
    width: 48%;

    @media screen and (max-width: 767px) {
        width: 100%;
    }
}

.sec5-content-right-img {
    width: 48%;

    @media screen and (max-width: 767px) {
        width: 100%;
    }
}

.sec5-content-center-img {
    width: 100%;
    margin: auto;
}

.sec5-img1 {
    width: 100%;
    height: 45rem;
    object-fit: contain;

    @media screen and (max-width: 767px) {
        height: auto;
    }
}

.sec5-img2 {
    width: 100%;
    height: 44.7rem;
    object-fit: contain;

    @media screen and (max-width: 767px) {
        height: auto;
    }
}

.sec5-img3 {
    width: 100%;
    height: 47.7rem;
    object-fit: contain;
    @media screen and (max-width: 767px) {
        height: auto;
    }
}

.sec5-img4 {
    width: 100%;
    height: 47.1rem;
    object-fit: contain;

    @media screen and (max-width: 767px) {
        height: auto;
    }
}

.sec5-img5 {
    width: 36rem;
    height: 36rem;
    object-fit: contain;

    @media screen and (max-width: 767px) {
        height: auto;
    }
}

/* 6 */

#section-6 {
    padding: 7rem;
    /* text-align: center; */
    @media screen and (max-width: 767px) {
        padding: 4rem 2.5rem;
    }
}

.sec6-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 5rem;
    text-align: center;
    color: #0d4b3b;
    margin-bottom: 6rem;

    @media screen and (max-width: 767px) {
        font-size: 2.4rem;
        margin-bottom: 3rem;
    }
}

.sec6-container {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
    justify-content: center;
    width: 100%;
}

.sec6-content {
    background: #fff;
    box-shadow: 0 0 25px 0 #d9d9d9;
    width: 36.8rem;
    /* height: 52.8rem; */
    box-sizing: border-box;
    padding-bottom: 3rem;
}

.sec6-content-title {
    background-color: #179876;
    color: #fff;
    font-size: 14px;
    padding: 1rem 3rem;
    width: 15rem;
    text-align: left;
    display: inline-block;
    clip-path: polygon(0% 0%, 95% 0%, 80% 100%, 0% 100%);

    @media screen and (max-width: 767px) {
        width: 13.7rem;
    }
}

.sec6-content-img {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    /* height: 19.5rem; */
    min-height: 0;
    padding: 3rem;
    margin: auto;

    @media screen and (max-width: 767px) {
        padding: 1rem;
    }
}

.sec6-img1 {
    height: 19.5rem;
    object-fit: contain;
}

.sec6-img2 {
    width: 20.8rem;
    height: 19.5rem;
    object-fit: contain;
}

.sec6-img3 {
    height: 19.5rem;
    object-fit: contain;
}

.sec6-content-description {
    padding: 0 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sec6-content-subtitle {
    font-size: 2.5rem;
    font-weight: bold;
    color: #178a6a;
    margin-bottom: 2.5rem;

    @media screen and (max-width: 767px) {
        margin-bottom: 2rem;
    }
}

.sec6-content-des {
    font-size: 1.6rem;
    color: #333;
    line-height: 1.8;
    text-align: justify;
    letter-spacing: 0.015em;
}

/* 7 */

.sec7 {
    padding: 7rem;
    background-image: url(../../img/page/lstep/banner.jpg);
    background-size: cover;

    @media screen and (max-width: 767px) {
        padding: 4rem 2.5rem;
    }
}

.sec7-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.7rem;
    line-height: 7.8rem;
    text-align: center;
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2rem;
    margin-bottom: 4rem;

    @media screen and (max-width: 767px) {
        font-size: 2rem;
        line-height: 4rem;
        text-underline-offset: 1rem;
    }
}

.sec7-btn-container {
    display: flex;
    width: 100%;
    gap: 2rem;
    align-items: flex-start;
    position: relative;
    padding: 1rem;
    box-sizing: border-box;
    justify-content: center;

    & a {
        text-decoration: none !important;
    }

    @media screen and (max-width: 924px) {
        flex-direction: column;
        padding: 0;
        max-width: 30rem;
        margin-right: auto;
        margin-left: auto;
    }

    @media screen and (max-width: 767px) {
        /* max-width: 100%; */
    }
}

.sec7-btn-box {
    /* min-width: 0;
    flex-shrink: 0; */
    /* width: 100%; */
    width: 46rem;

    @media screen and (max-width: 767px) {
        width: 100%;
    }
}

.sec7-btn-title {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 2.2rem;
    letter-spacing: 0.03em;
    line-height: 3.5rem;
    text-align: center;
    color: #fff;
    margin-bottom: 2rem;

    @media screen and (max-width: 1074px) {
        font-size: 1.8rem;
        line-height: 2.4rem;
        margin-bottom: 1rem;
    }

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
    }
}

.sec7-btn {
    display: flex;
    align-items: center;
    padding: 1.6rem 2.5rem;
    border-radius: 5.1rem;
    color: #fff;
    font-weight: bold;
    font-size: 1.6rem;
    text-decoration: none;
    /* width: 39rem; */
    /* width: 100%; */
    /* transition: transform 0.2s ease; */
    transition: 0.3s opacity;

    &:hover {
        opacity: 0.6;
    }

    /* &:hover {
        transform: scale(1.03);
    } */

    @media screen and (max-width: 1120px) {
        padding: 1.6rem 2rem;
    }

    @media screen and (max-width: 767px) {
        padding: 1rem 2rem;
        margin-bottom: 1rem;
    }
}

.sec7-btn .sec7-icon {
    background-color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6rem;
    height: 6rem;
    margin-right: 12px;

    @media screen and (max-width: 1370px) {
        width: 4.5rem;
        height: 4.5rem;
    }

    & img {
        @media screen and (max-width: 1370px) {
            width: 2.5rem;
            height: 2.2rem;
        }
    }
}

.sec7-btn-des {
    display: flex;
    align-items: center;
    width: 85%;
    justify-content: space-between;
}

.sec7-btn-txt {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.4rem;
    letter-spacing: 0.01em;
    line-height: 3.5rem;
    text-align: left;
    color: #fff;

    @media screen and (max-width: 1374px) {
        font-size: 2rem;
    }

    @media screen and (max-width: 1120px) {
        font-size: 1.2rem;
    }

    @media screen and (max-width: 820px) {
        font-size: 1.6rem;
    }
}

.sec7-arrow {
    position: relative;
    right: 0;
    top: 0.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sec7-note {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 1.4rem;
    letter-spacing: 0.03em;
    line-height: 3.5rem;
    text-align: center;
    color: #fff;
    position: relative;

    @media screen and (max-width: 1024px) {
        text-align: right;
        line-height: 2rem;
        font-size: 1.2rem;
    }

    @media screen and (max-width: 924px) {
        max-width: 30rem;
        margin-right: auto;
        margin-left: auto;
    }
}

/* 8 */

#section-8 {
    padding: 7rem;
    background: #eaf4f2;

    @media screen and (max-width: 767px) {
        padding: 4rem 2.5rem;
    }

    .table-scroll {
        @media screen and (max-width: 767px) {
            padding-bottom: 0;
        }
    }
}

.sec8-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 5rem;
    text-align: center;
    color: #0d4b3b;
    margin-bottom: 6.8rem;

    @media screen and (max-width: 767px) {
        font-size: 2.4rem;
        margin-bottom: 3rem;
    }
}

.sec8-table-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.5rem;
    text-align: center;
    color: #0d4b3b;
    padding-top: 7rem;
    padding-bottom: 5rem;

    @media screen and (max-width: 767px) {
        font-size: 1.8rem;
        /* margin-bottom: 3rem; */
        padding-top: 3.5rem;
        padding-bottom: 2rem;
    }
}

.lstep-pricing-table {
    width: 100%;
    background: white;
    border-radius: 5px;
    /* padding-bottom: 4rem; */
    margin-bottom: 8rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);

    @media screen and (max-width: 767px) {
        margin-bottom: 5rem;
        overflow: auto;
    }
}

.lstep-pricing-table-des {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 1.8rem;
    line-height: 3.5rem;
    color: #000;
    display: flex;
    justify-content: center;
    /* padding-bottom: 3rem; */

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        text-align: left;
        padding: 0 1.5rem;
    }
}

.lstep-pricing-table-wrapper {
    overflow-x: auto;
    width: 108rem;
    margin: auto;
    padding: 4rem 0;
    padding-top: 5rem;
    /* width: 100%; */

    @media screen and (max-width: 767px) {
        box-sizing: border-box;
        padding-top: 0;
        padding: 2.5rem 0.5rem 2rem;
        /* max-width: 100%; */
        width: fit-content;
        width: 100%;
    }

    & table {
        table-layout: fixed;
        width: 100%;

        @media screen and (max-width: 767px) {
            width: fit-content;
        }
    }
}

.lstep-table-1 {
    width: 100%;
    border-collapse: collapse;
    height: 7rem;
}

th,
td {
    border: 20px solid #fff;
    text-align: center;
    background-color: #f4f4f6;
    /* padding: 1.2rem; */

    @media screen and (max-width: 767px) {
        border: 10px solid #fff;
    }
}

.highlight-black {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 1.7rem;
    line-height: 2.4rem;
    text-align: center;
    color: #000;
    background-color: #f4f4f6;
    padding: 2rem;
    /* width: auto; */
    width: 28.3rem;

    @media screen and (max-width: 980px) {
        width: auto;
    }

    @media screen and (max-width: 767px) {
        width: auto;
        font-size: 1.6rem;
        padding: 1rem 0.5rem;
    }
}

.highlight-black-2 {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 1.7rem;
    line-height: 2.4rem;
    text-align: center;
    color: #000;
    background-color: #f4f4f6;
    padding: 2rem;
    width: 28.3rem;

    @media screen and (max-width: 980px) {
        width: auto;
    }

    @media screen and (max-width: 767px) {
        width: auto;
        font-size: 1.6rem;
        padding: 1rem 0.5rem;
    }
}

.highlight-green {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 3.4rem;
    text-align: center;
    color: #fff;
    background-color: #56a089;
    width: auto;

    @media screen and (max-width: 767px) {
        width: auto;
        font-size: 1.6rem;
        line-height: 2rem;
        padding: 1rem;
    }
}

.highlight-green-td {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2rem;
    line-height: 2.4rem;
    text-align: center;
    color: #1e765a;
    background-color: #f5f8f7;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        padding: 2rem 1rem;
    }
}

.highlight-blue {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 3.4rem;
    text-align: center;
    color: #fff;
    background: #7e92ca;
    width: auto;

    @media screen and (max-width: 767px) {
        width: auto;
        font-size: 1.6rem;
        line-height: 2rem;
        padding: 2rem 1rem;
    }
}

.highlight-blue-td {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2rem;
    line-height: 2.4rem;
    text-align: center;
    color: #596998;
    background-color: #f5f6f7;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        padding: 2rem 0;
    }
}

.lstep-table-2 {
    width: 100%;
    border-collapse: collapse;
    height: 6.2rem;
}

th,
td {
    border: 10px solid #fff;
    text-align: center;
    background-color: #f4f4f6;
    padding: 2rem;
}

.sec8-small-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 4.2rem;
    text-align: center;
    color: #0d4b3b;
    margin-bottom: 6rem;

    @media screen and (max-width: 767px) {
        font-size: 2.4rem;
        margin-bottom: 5rem;
    }
}

.sec8-content2 {
    background: #ffffff;
    border-radius: 5px;
    overflow: hidden;
    text-align: center;
    margin-bottom: 5rem;
}

.sec8-content2-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.5rem;
    text-align: center;
    line-height: 1.6;
    color: #fff;
    background: #f26e21;
    padding: 3rem;
    margin-bottom: 3rem;

    @media screen and (max-width: 767px) {
        font-size: 1.7rem;
        padding: 2rem;
    }
}

.sec8-content2-des {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.5rem;
    text-align: center;
    line-height: 1.6;
    color: #333;
    margin-bottom: 3rem;
    padding: 2.5rem 2rem;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        padding: 0 2rem;
    }
}

.sec8-content2-table {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    padding-bottom: 4rem;

    @media screen and (max-width: 930px) {
        flex-direction: column;
    }
}

.sec8-content2-item-box {
    background: #f4f4f6;
    padding: 3rem 1rem;
    border-radius: 10px;
    /* min-width: 160px; */
    box-sizing: border-box;
    text-align: center;
    width: 33rem;
    height: 29.4rem;
    align-items: center;
    justify-content: flex-end;
    display: flex;
    flex-direction: column;

    @media screen and (max-width: 768px) {
        margin: 0;
        width: calc(100% - 3rem);
        height: auto;
        padding: 4rem 1rem;
        justify-content: center;
    }
}

.sec8-content2-item-box-lightyellow {
    background: #fffae3;
    padding: 5rem 1rem;
    border-radius: 10px;
    /* min-width: 160px; */
    box-sizing: border-box;
    text-align: center;
    width: 33rem;
    height: 29.4rem;
    align-items: center;
    justify-content: center;
    display: flex;
    flex-direction: column;

    @media screen and (max-width: 768px) {
        margin: 0;
        width: calc(100% - 3rem);
        height: auto;
        padding: 4rem 1rem;
        justify-content: center;
    }
}

.sec8-content2-item {
    background: #ffffff;
    padding: 6rem 1rem;
    border-radius: 10px;
    /* min-width: 160px; */
    box-sizing: border-box;
    text-align: center;

    @media screen and (max-width: 980px) {
        padding: 2rem 1rem;
    }

    & img {
        @media screen and (max-width: 980px) {
            width: 6.2rem;
        }
    }

    /* @media screen and (max-width: 767px) {
        padding: 2rem 1rem;
    } */
}

.sec8-content2-plan {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 4rem;
    text-align: center;
    color: #333;
    margin-bottom: 1rem;

    @media screen and (max-width: 767px) {
        margin-bottom: 2rem;
    }
}

.sec8-content2-plan-orange1 {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 4rem;
    text-align: center;
    color: #333;
    margin-bottom: 5rem;

    @media screen and (max-width: 767px) {
        font-size: 2.1rem;
        margin-bottom: 0;
        line-height: 3.5rem;
    }
}

.sec8-content2-list {
    margin-bottom: 2rem;
    & li {
        text-align: left;
        list-style: disc;
        font-family: "Noto Sans JP";
        font-weight: 500;
        font-size: 2rem;
        line-height: 1.6;
        color: #333;

        @media screen and (max-width: 767px) {
            font-size: 1.4rem;
            /* line-height: 2.4rem; */
        }
    }

    @media screen and (max-width: 767px) {
        padding-left: 5rem;
        padding-right: 3rem;
        margin-bottom: 1rem;
    }
}

.sec8-content2-price {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-style: black;
    font-size: 2.9rem;
    line-height: 65px;
    text-align: center;
    color: #f26e21;

    @media screen and (max-width: 767px) {
        font-size: 2.5rem;
    }
}

.sec8-content2-money {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 4.5rem;
    line-height: 6.5rem;
    text-align: center;

    @media screen and (max-width: 767px) {
        font-size: 3.4rem;
    }
}

.sec8-content2-result {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 4.5rem;
    text-align: center;
    color: #333;
}

.sec8-content2-result-mail {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 2.2rem;
    line-height: 4.5rem;
    text-align: center;
    color: #333;
}

.sec8-content2-result-num {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 3.2rem;
    line-height: 4.5rem;
    text-align: center;
    color: #333;
}

.sec8-content2-result-price {
    font-size: 2.8rem;
    font-weight: bold;
    color: #f26e21;

    @media screen and (max-width: 767px) {
        font-size: 2.5rem;
    }
}

.sec8-content2-result-money {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 4.4rem;
    line-height: 6.5rem;
    text-align: center;
    color: #f26e21;

    @media screen and (max-width: 767px) {
        font-size: 3.4rem;
    }
}

.sec8-content3 {
    background: #ffffff;
    border-radius: 5px;
    overflow: hidden;
    text-align: center;
    margin-bottom: 5rem;
}

.sec8-content3-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.5rem;
    line-height: 1.6;
    text-align: center;
    color: #fff;
    background: #22b9a5;
    padding: 3rem;
    margin-bottom: 3rem;

    @media screen and (max-width: 767px) {
        font-size: 1.7rem;
        padding: 2rem;
    }
}

.sec8-content3-des {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.5rem;
    line-height: 1.6;
    text-align: center;
    color: #333;
    margin-bottom: 3rem;
    padding: 2.5rem 2rem;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        padding: 0 2rem;
    }
}

.sec8-content3-table {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    padding-bottom: 4rem;

    @media screen and (max-width: 930px) {
        flex-direction: column;
    }
}

.sec8-content3-item-box {
    background: #f4f4f6;
    padding: 3rem 1rem;
    border-radius: 10px;
    /* min-width: 160px; */
    box-sizing: border-box;
    text-align: center;
    width: 33rem;
    height: 29.4rem;
    align-items: center;
    justify-content: flex-end;
    display: flex;
    flex-direction: column;

    @media screen and (max-width: 768px) {
        margin: 0;
        width: calc(100% - 3rem);
        height: auto;
        padding: 4rem 1rem;
        justify-content: center;
    }
}

.sec8-content3-item-box-lightyellow {
    background: #fffae3;
    padding: 5rem 1rem;
    border-radius: 10px;
    /* min-width: 160px; */
    box-sizing: border-box;
    text-align: center;
    width: 33rem;
    height: 29.4rem;
    align-items: center;
    justify-content: center;
    display: flex;
    flex-direction: column;

    @media screen and (max-width: 768px) {
        margin: 0;
        width: calc(100% - 3rem);
        height: auto;
        padding: 4rem 1rem;
        justify-content: center;
    }
}

.sec8-content3-item {
    background: #ffffff;
    padding: 6rem 1rem;
    border-radius: 10px;
    /* min-width: 160px; */
    box-sizing: border-box;
    text-align: center;

    @media screen and (max-width: 980px) {
        padding: 2rem 1rem;
    }

    & img {
        @media screen and (max-width: 980px) {
            width: 6.2rem;
        }
    }

    /* @media screen and (max-width: 767px) {
        padding: 2rem 1rem;
    } */
}

.sec8-content3-plan {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 4rem;
    text-align: center;
    color: #333;
    margin-bottom: 1rem;

    @media screen and (max-width: 767px) {
        margin-bottom: 2rem;
    }
}

.sec8-content3-plan-orange1 {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 4rem;
    text-align: center;
    color: #333;
    margin-bottom: 5rem;

    @media screen and (max-width: 767px) {
        font-size: 2.1rem;
        margin-bottom: 0;
        line-height: 3.5rem;
    }
}

.sec8-content3-list {
    margin-bottom: 2rem;
    & li {
        text-align: left;
        list-style: disc;
        font-family: "Noto Sans JP";
        font-weight: 500;
        font-size: 2rem;
        line-height: 1.6;
        color: #333;

        @media screen and (max-width: 767px) {
            font-size: 1.4rem;
            /* line-height: 2.4rem; */
        }
    }

    @media screen and (max-width: 767px) {
        padding-left: 5rem;
        padding-right: 3rem;
        margin-bottom: 1rem;
    }
}

.sec8-content3-price {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-style: black;
    font-size: 2.9rem;
    line-height: 65px;
    text-align: center;
    color: #22b9a5;
    @media screen and (max-width: 767px) {
        font-size: 2.5rem;
    }
}

.sec8-content3-money {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 4.5rem;
    line-height: 6.5rem;
    text-align: center;

    @media screen and (max-width: 767px) {
        font-size: 3.4rem;
    }
}

.sec8-content3-result {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 4.5rem;
    text-align: center;
    color: #333;
}

.sec8-content3-result-mail {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 2.2rem;
    line-height: 4.5rem;
    text-align: center;
    color: #333;
}

.sec8-content3-result-num {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 3.2rem;
    line-height: 4.5rem;
    text-align: center;
    color: #333;
}

.sec8-content3-result-price {
    font-size: 2.8rem;
    font-weight: bold;
    color: #22b9a5;

    @media screen and (max-width: 767px) {
        font-size: 2.5rem;
    }
}

.sec8-content3-result-money {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 4.4rem;
    line-height: 6.5rem;
    text-align: center;
    color: #22b9a5;

    @media screen and (max-width: 767px) {
        font-size: 3.4rem;
    }
}

.sec8-content4 {
    background: #ffffff;
    border-radius: 5px;
    overflow: hidden;
    text-align: center;
    margin-bottom: 9rem;

    @media screen and (max-width: 767px) {
        margin-bottom: 5rem;
    }
}

.sec8-content4-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.5rem;
    text-align: center;
    color: #fff;
    line-height: 1.6;
    background: #c7a04a;
    padding: 3rem;
    margin-bottom: 3rem;

    @media screen and (max-width: 767px) {
        font-size: 1.7rem;
        padding: 2rem;
    }
}

.sec8-content4-des {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.5rem;
    line-height: 1.6;
    text-align: center;
    color: #333;
    margin-bottom: 3rem;
    padding: 2.5rem 2rem;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        padding: 0 2rem;
    }
}

.sec8-content4-table {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    padding-bottom: 4rem;

    @media screen and (max-width: 930px) {
        flex-direction: column;
    }
}

.sec8-content4-item-box {
    background: #f4f4f6;
    padding: 3rem 1rem;
    border-radius: 10px;
    /* min-width: 160px; */
    box-sizing: border-box;
    text-align: center;
    width: 33rem;
    height: 29.4rem;
    align-items: center;
    justify-content: flex-end;
    display: flex;
    flex-direction: column;

    @media screen and (max-width: 768px) {
        margin: 0;
        width: calc(100% - 3rem);
        height: auto;
        padding: 4rem 1rem;
        justify-content: center;
    }
}

.sec8-content4-item-box-lightyellow {
    background: #fffae3;
    padding: 5rem 1rem;
    border-radius: 10px;
    /* min-width: 160px; */
    box-sizing: border-box;
    text-align: center;
    width: 33rem;
    height: 29.4rem;
    align-items: center;
    justify-content: center;
    display: flex;
    flex-direction: column;

    @media screen and (max-width: 768px) {
        margin: 0;
        width: calc(100% - 3rem);
        height: auto;
        padding: 4rem 1rem;
        justify-content: center;
    }
}

.sec8-content4-item {
    background: #ffffff;
    padding: 6rem 1rem;
    border-radius: 10px;
    /* min-width: 160px; */
    box-sizing: border-box;
    text-align: center;

    @media screen and (max-width: 980px) {
        padding: 2rem 1rem;
    }

    & img {
        @media screen and (max-width: 980px) {
            width: 6.2rem;
        }
    }

    /* @media screen and (max-width: 767px) {
        padding: 2rem 1rem;
    } */
}

.sec8-content4-plan {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 4rem;
    text-align: center;
    color: #333;
    margin-bottom: 1rem;

    @media screen and (max-width: 767px) {
        margin-bottom: 2rem;
        /* font-size: 2.1rem; */
    }
}

.sec8-content4-plan-orange1 {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 4rem;
    text-align: center;
    color: #333;
    margin-bottom: 5rem;

    @media screen and (max-width: 767px) {
        font-size: 2.1rem;
        margin-bottom: 0;
        line-height: 3.5rem;
    }
}

.sec8-content4-list {
    margin-bottom: 2rem;
    & li {
        text-align: left;
        list-style: disc;
        font-family: "Noto Sans JP";
        font-weight: 500;
        font-size: 2rem;
        line-height: 1.6;
        color: #333;

        @media screen and (max-width: 767px) {
            font-size: 1.4rem;
            /* line-height: 2.4rem; */
        }
    }

    @media screen and (max-width: 767px) {
        padding-left: 5rem;
        padding-right: 3rem;
        margin-bottom: 1rem;
    }
}

.sec8-content4-price {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-style: black;
    font-size: 2.9rem;
    line-height: 65px;
    text-align: center;
    color: #c7a04a;

    @media screen and (max-width: 767px) {
        font-size: 2.5rem;
    }
}

.sec8-content4-money {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 4.5rem;
    line-height: 6.5rem;
    text-align: center;

    @media screen and (max-width: 767px) {
        font-size: 3.4rem;
    }
}

.sec8-content4-result {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 4.5rem;
    text-align: center;
    color: #333;
}

.sec8-content4-result-mail {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 2.2rem;
    line-height: 4.5rem;
    text-align: center;
    color: #333;
}

.sec8-content4-result-num {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 3.2rem;
    line-height: 4.5rem;
    text-align: center;
    color: #333;
}

.sec8-content4-result-price {
    font-size: 2.8rem;
    font-weight: bold;
    color: #c7a04a;

    @media screen and (max-width: 767px) {
        font-size: 2.5rem;
    }
}

.sec8-content4-result-money {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 4.4rem;
    line-height: 6.5rem;
    text-align: center;
    color: #c7a04a;

    @media screen and (max-width: 767px) {
        font-size: 3.4rem;
    }
}

.sec8-memo-des {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.4rem;
    line-height: 1.6;
    text-align: center;
    color: #333;
    margin-bottom: 4rem;

    @media screen and (max-width: 767px) {
        font-size: 1.8rem;
        margin-bottom: 0;
        text-align: left;
    }
}

#section-9 {
    /* background: ; */

    @media screen and (max-width: 767px) {
        padding: 4rem 2.5rem 5rem;
    }
}

.green-plus {
    text-align: center;
    margin-top: 8rem;
    margin-bottom: 4rem;

    @media screen and (max-width: 767px) {
        width: 20%;
        margin: auto;
        /* padding-top: 5rem; */
        padding-bottom: 3rem;
    }
}

.lstep-pricing-table-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.5rem;
    line-height: 1.6;
    text-align: center;
    color: #0d4b3b;
    margin-bottom: 3rem;

    @media screen and (max-width: 767px) {
        font-size: 1.8rem;
        padding: 0 3rem;
    }
}

.line-table {
    padding-bottom: 0rem;
    box-sizing: border-box;

    @media screen and (max-width: 767px) {
        padding: 0 0.5rem;
        table-layout: fixed;
    }
}

.lstep-line-title {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.divider {
    border-top: 1px solid #a6afad;
    margin-top: 8rem;
    width: 97%;

    @media screen and (max-width: 767px) {
        margin-top: 4rem;
    }
}

.divider-2 {
    border-top: 2px solid #a6afad;
    width: 89%;

    @media screen and (max-width: 767px) {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }
}

.lstep-pricing-line-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.5rem;
    text-align: center;
    margin-top: 5rem;
    color: #038e37;
    background-color: white;
    width: 22rem;
    margin: auto;
    position: relative;
    top: -3rem;
    /* padding-bottom: 1rem; */

    @media screen and (max-width: 767px) {
        font-size: 2.4rem;
        top: -1.5rem;
        width: 15rem;
    }
}

.highlight-light-green {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 1.6rem;
    text-align: center;
    color: #fff;
    background: #00b947;
    width: auto;
    /* line-height: 3.9rem; */

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        padding: 1rem;
    }
}

.highlight-light-green-td {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2rem;
    line-height: 2.4rem;
    text-align: center;
    color: #1d765a;
    background-color: #f5f8f7;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        padding: 2rem 0.5rem;
    }
}

.lstep-pricing-lstep-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3.5rem;
    text-align: center;
    margin-top: 5rem;
    color: #e88d15;
    background-color: white;
    width: 22rem;
    margin: auto;
    position: relative;
    top: -3rem;
    /* padding-bottom: 1rem; */

    @media screen and (max-width: 767px) {
        font-size: 2.4rem;
        top: -1.5rem;
        width: 15rem;
    }
}

.highlight-orange {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 1.6rem;
    text-align: center;
    color: #fff;
    background: #f8940e;
    width: auto;
    /* line-height: 3.9rem; */

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        padding: 1rem;
    }
}

.highlight-orange-td {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2rem;
    line-height: 2.4rem;
    text-align: center;
    color: #8d550d;
    background-color: #fff9f2;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        padding: 2rem 0.5rem;
    }
}

.line-table-des {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 1.8rem;
    line-height: 3.5rem;
    text-align: center;
    color: #000;
    padding-bottom: 5rem;
    padding-top: 1rem;

    @media screen and (max-width: 767px) {
        font-size: 1.4rem;
        line-height: 2.4rem;
        padding: 0 3rem;
        padding-top: 2rem;
        padding-bottom: 3rem;
        text-align: left;
    }

    & a {
        text-decoration: underline;
    }
}

.lstep-combination {
    margin-top: 10rem;
    background: #ffffff;
    overflow: hidden;
    text-align: center;
    margin-bottom: 12rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);

    @media screen and (max-width: 767px) {
        margin: 0;
        padding-bottom: 3rem;
    }
}

.lstep-combination-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    font-size: 3.5rem;
    text-align: center;
    color: #fff;
    background: #179876;
    padding: 2rem 0;

    @media screen and (max-width: 767px) {
        border-top-left-radius: 15px;
        border-top-right-radius: 15px;
        font-size: 2.4rem;
    }
}

.lstep-combination-table {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1rem;

    @media screen and (max-width: 767px) {
        flex-direction: column;
        gap: 2rem;
    }
}

.combination-item {
    background: #ffffff;
    padding: 5rem 1rem;
    border-radius: 10px;
    /* min-width: 160px; */
    box-sizing: border-box;
    text-align: center;
    width: 27%;

    @media screen and (max-width: 767px) {
        padding: 0;
        width: 100%;
    }
}

.combination-item-1 {
    background: #ffffff;
    padding: 5rem 0;
    border-radius: 10px;
    /* min-width: 160px; */
    box-sizing: border-box;
    text-align: center;
    width: 5%;

    @media screen and (max-width: 767px) {
        padding: 0;
        /* width: 100%; */
        width: 6.2rem;
    }

    & img {
        @media screen and (max-width: 767px) {
            width: 6.2rem;
        }
    }
}

/* .combination-item img {
  max-width: 40px;
  height: auto;
} */

.line-label {
    display: inline-block;
    background: #068e37;
    color: #fff;
    font-size: 2.1rem;
    padding: 1rem 2.2rem;
    border-radius: 5px;
    margin-bottom: 8px;
    font-family: "Noto Sans JP";
    font-weight: bold;
    text-align: center;

    @media screen and (max-width: 767px) {
        margin-top: 3rem;
        font-size: 1.6rem;
        margin-bottom: 2rem;
    }
}

.line-label.orange {
    background: #f8940e;

    @media screen and (max-width: 767px) {
        margin-top: 1rem;
    }
}

.combination-plan {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.3rem;
    line-height: 4rem;
    text-align: center;
    color: #333;

    @media screen and (max-width: 767px) {
        font-size: 2.1rem;
        line-height: 2rem;
    }
}

.combination-price {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-style: black;
    font-size: 2.6rem;
    line-height: 6.5rem;
    text-align: center;
    color: #333;

    @media screen and (max-width: 767px) {
        font-size: 2rem;
        line-height: 4rem;
    }
}

.combination-money {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 4.4rem;
    line-height: 6.5rem;
    text-align: center;
    color: #333;

    @media screen and (max-width: 767px) {
        font-size: 3.6rem;
    }
}

.result {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2rem;
    line-height: 4.5rem;
    text-align: center;
    color: #333;
}

.result-mail {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 2.2rem;
    line-height: 4.5rem;
    text-align: center;
    color: #333;
}

.result-num {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 3.2rem;
    line-height: 4.5rem;
    text-align: center;
    color: #333;
}

.result-price {
    font-size: 2.6rem;
    font-weight: bold;
    color: #219653;

    @media screen and (max-width: 767px) {
        font-size: 2rem;
    }
}

.result-money {
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 4.4rem;
    line-height: 6.5rem;
    text-align: center;
    color: #047658;

    @media screen and (max-width: 767px) {
        font-size: 3.6rem;
    }
}

.lstep-contract {
    padding: 7rem;
    margin-bottom: 3rem;
    margin: auto;
    background-color: #f8f8f8;

    @media screen and (max-width: 767px) {
        padding: 5rem 2rem;
        padding-bottom: 3rem;
    }
}

.lstep-contract-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 5rem;
    text-align: center;
    color: #0d4b3b;
    margin-bottom: 3rem;

    @media screen and (max-width: 767px) {
        font-size: 2.4rem;
        margin-bottom: 2rem;
    }
}

.lstep-contract-subtitle {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 1.8rem;
    line-height: 3.5rem;
    color: #000;
    display: flex;
    justify-content: center;
    padding-bottom: 3rem;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
    }
}

.contract-step {
    display: flex;
    align-items: flex-start;
    margin-bottom: 5rem;
    gap: 4rem;

    @media screen and (max-width: 767px) {
        gap: 3rem;
        margin-bottom: 3rem;
    }
}

.step-icon,
.step-icon-2 {
    flex-shrink: 1;
    text-align: center;
    position: relative;
    width: 10%;

    @media screen and (max-width: 767px) {
        width: 25%;
    }
}

.step-icon img {
    width: 100%;
    height: auto;
}

.step-label {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.3rem;
    text-align: center;
    color: #56a089;
    margin-bottom: 1rem;

    @media screen and (max-width: 767px) {
        font-size: 1.4rem;
    }
}

.step-icon::after {
    content: "";
    position: absolute;
    width: 2px;
    height: 10rem;
    background-color: #d3d3d3;
    left: 50%;
    bottom: -12rem;
    transform: translateX(-50%);
    z-index: 999;
}

.step:last-child .step-icon::after {
    display: none;
}

.step-content {
    text-align: left;
    display: inline;
    width: 85%;
}

.step-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 3rem;
    text-align: left;
    color: #333;
    position: relative;
    top: -5px;

    @media screen and (max-width: 767px) {
        font-size: 1.8rem;
    }
}

.step-text {
    margin-top: 1rem;
    padding: 4rem;
    background-color: #fff;
    border-radius: 5px;
    /* box-shadow: 0 2px 5px rgba(0,0,0,0.05); */

    @media screen and (max-width: 767px) {
        padding: 2rem;
    }
}

.step-des {
    padding-bottom: 2rem;
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 1.7rem;
    line-height: 3rem;
    text-align: left;
    color: #000;

    @media screen and (max-width: 767px) {
        font-size: 1.4rem;
    }
}

.btn-consult {
    box-sizing: border-box;
    display: inline-block;
    background-color: transparent;
    font-weight: bold;
    border-radius: 6rem;
    margin-top: 2rem;
    text-decoration: none !important;
    text-align: center;
    display: inline-flex;
    border: 3px solid #000;
    gap: 1rem;
    width: 32.5rem;
    height: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s opacity;

    & a {
        color: #000;
    }

    &:hover {
        opacity: 0.7;
    }

    @media screen and (max-width: 767px) {
        width: auto;
        height: 5.5rem;
        padding: 1rem 1.5rem;
        gap: 0.7rem;
    }
}

.btn-consult-icon img {
    height: 3rem;

    @media screen and (max-width: 767px) {
        height: auto;
        width: 80%;
    }
}

.btn-consult-des {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.1rem;
    letter-spacing: 0.06em;
    text-align: left;
    color: #000 !important;
    padding-top: 0.3rem;

    @media screen and (max-width: 767px) {
        font-size: 1.2rem;
        padding-top: 0;
    }
}

.down-space {
    padding-bottom: 13rem;

    @media screen and (max-width: 767px) {
        padding-bottom: 3rem;
    }
}

.lstep-faq {
    padding: 7rem;
    margin-bottom: 3rem;
    margin: auto;

    @media screen and (max-width: 767px) {
        padding: 5rem 2.5rem 3rem;
    }
}

.lstep-faq-title {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 5rem;
    text-align: center;
    color: #0d4b3b;
    margin-bottom: 9.6rem;

    @media screen and (max-width: 767px) {
        font-size: 2.4rem;
        margin-bottom: 3rem;
    }
}

.faq-item {
    margin-bottom: 2rem;
    border-radius: 5px;
    overflow: hidden;
}

.faq-question {
    background-color: #179876;
    padding: 3rem;
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2rem;
    letter-spacing: 0.2em;
    line-height: 3.4rem;
    text-align: left;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;

    @media screen and (max-width: 767px) {
        padding: 2rem;
        font-size: 1.6rem;
        text-align: left;
        gap: 1.2rem;
    }

    & div {
        display: flex;
    }

    & p {
        color: #fff;
    }
}

.faq-question span {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.5rem;
    letter-spacing: 0.15em;
    text-align: left;
    color: #fff;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        text-align: left;
    }
}

.toggle-icon {
    font-size: 2.4rem;
    font-weight: bold;
}

.faq-answer {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    line-height: 3.4rem;
    text-align: left;
    color: #313131;
    padding: 3rem;
    display: none;

    @media screen and (max-width: 767px) {
        padding: 2rem;
    }

    & div {
        display: flex;
    }
}

.display-ans {
    display: inline-flex;
}

.faq-answer span {
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 2.5rem;
    letter-spacing: 0.15em;
    text-align: center;
    color: #333;

    @media screen and (max-width: 767px) {
        font-size: 1.7rem;
    }
}

.faq-answer p {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    line-height: 3.4rem;
    text-align: left;
    color: #313131;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
    }
}

.faq-item.active .faq-answer {
    display: block;
    animation: slideDown 0.3s ease-out forwards;
}

.last {
    margin-bottom: 7rem;
}

@media screen and (max-width: 767px) {
    .lstep-pricing-table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .lstep-pricing-table-wrapper table {
        min-width: 800px;
        width: max-content;
    }

    .lstep-pricing-table-wrapper th,
    .lstep-pricing-table-wrapper td {
        white-space: nowrap;
    }
}

.green-line-table,
.orange-lstep-table {
    overflow: auto;
}
