.header {
    display: block;
    margin-bottom: 80px;
}

.header__pc__nav__wrap {
    display: none;
}

.header__sp__wrap {
    position: fixed;
    width: 100%;
    z-index: 1000;
    top: 0;
}

.header__sp {
    display: flex;
    /* justify-content: center; */
    align-items: center;
    padding: 14px 24px 14px 16px;
    position: fixed;
    z-index: 100;
    background: #fff;

    /* opacity: 0.5; */
    width: 100%;

    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);

}

.header__sp__l-wrap {
    display: flex;
    align-items: center;
}

.header__sp__r-wrap {
    display: flex;
    align-items: center;
    margin-right: 50px;
    height: 56.92px;
}

.header__sp__logo {
    font-size: 24px;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    text-decoration: none;
    max-width: 280px;

}

.header__sp__logo a {
    color: #000;
    font-weight: 400;
    text-decoration: none;
}

.header__sp__nav__wrap {
    background-color: #fff;
    width: 100%;
    margin-left: auto;
    margin-right: 0;
    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    transform: translateX(100%);
    /* transition: transform .5s; */
    height: 100vh;
    display: flex;
    flex-direction: column;
}

.close__btn {

    position: absolute;
    top: 32px;
    right: 32px;
    width: 22px;
    height: 15px;
    cursor: pointer;
}

.header__sp__nav {
    padding: 158px 0 40px;
    /* display: none; */
    max-width: 600px;
    margin: 0 auto;
}

.header__sp__nav>li {
    margin-bottom: 32px;
    /*  border-bottom: 1px solid #A69891; */
    /*  padding-left: 8px; */
    text-align: center;

}

.header__sp__nav__under {
    max-width: 300px;
    border-radius: 10px 10px 0 0;
    margin: 0 auto;
    height: 40px;
    /*  filter: drop-shadow(0px 2px 2px #686868); */
}

body .header__sp__nav__under01 {
    background-color: #68B3DB;
    margin-top: 55px;
    margin-bottom: 20px;
}

.header__sp__nav__under02 {
    background-color: #ED5757;
}

.header__sp__nav .header__sp__nav__under>a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.header__sp__nav li a {
    text-decoration: none;
    color: #000;
    padding-left: 8px;
    display: inline-block;
    width: 100%;
    font-weight: 600;
}



.header__pc__new-work__dt {
    height: 100%;
    display: flex;
    align-items: center;
}

.header__sp__nav__new-work {
    margin-top: 12px;
}

.header__sp__nav__new-work>li {
    font-size: 18px;
}

.header__sp__nav__new-work>li:not(:last-child) {
    margin-bottom: 10px;
    border-bottom: #A69891 dotted 1px;
    padding-bottom: 11px;
}

.header__sp__nav__contact__btn {
    max-width: 228px;
    margin: 0 auto;
    display: block;
    margin-top: auto;
    margin-bottom: 72px;
    margin-bottom: calc(72px + 25vw);
}

/* ヘッダーsp ハンバーガーメニューBTN */
.l-header__nav-btn {
    width: 60px;
    font-size: 10px;
    position: absolute;
    z-index: 510000;
    margin-right: 0;
    margin-left: auto;
    height: 49px;
    right: 0;
    /* background-color: #eba03b; */
    cursor: pointer;
}

.l-header__nav-btn-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    height: 100%;
    /* padding: 6px 15px 10px; */
    height: 55px;
    position: absolute;
    bottom: 8px;
    height: 100%;
    width: 100%;
}

.l-header__nav-btn .l-header__nav-btn-inner .l-header__nav-btn-line {
    position: absolute;
    width: 55%;
    bottom: 45.5%;
}

#btn_spmenu span {
    display: block;
    width: 20px;
    height: 2px;
    background-color: #000;
    margin: 0 auto;
    transition: all .3s ease-in-out;
    border-radius: 50px;
}

.l-header__nav-btn .l-header__nav-btn-inner div span:nth-child(1) {
    top: calc(50% - 8px);
}

.l-header__nav-btn .l-header__nav-btn-inner div span:nth-child(2) {
    top: calc(50% - 2px);
}

.l-header__nav-btn .l-header__nav-btn-inner div span:nth-child(3) {
    top: calc(50% + 4px);
}

body.is_menu_open #btn_spmenu span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: center center;
    transform-origin: center center;
    top: 50%;
    margin-top: 0;
}

body.is_menu_open #btn_spmenu span:nth-child(3) {
    top: 50%;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: center center;
    margin-top: 0;
}

body.is_menu_open #btn_spmenu span:nth-child(2) {
    width: 0;
    left: 50%;
}

.l-header__nav-btn .l-header__nav-btn-inner div span {
    display: block;
    position: absolute;
    height: 1px;
    width: 100%;
    left: 0;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out;
    background-color: #fff;
}

/* ハンバーガーメニュー関連 */
body.is_menu_open {
    position: fixed;
    width: 100%;
    height: 100%;
}

.hm__txt {
    font-size: 9px;
    font-family: "Noto Sans JP", sans-serif;
}

/* ヘッダーsp ハンバーガーメニューblack_bg */
body.is_menu_open #js_black_bg {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
}

.slideOutUp {
    -webkit-animation-name: slideOutUp;
    animation-name: slideOutUp;
}

.header__pc__nav__yoyaku {
    display: none;
}



/* フッター */
.footer__wrap {
    background-color: #3FC476;
    padding: 80px 20px;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);


}

.footer__logo {
    max-width: 280px;
    margin: 0 auto;
    display: block;
}

.footer__nav {
    margin-top: 40px;
    text-align: center;
}

.footer__nav__btn {
    color: #fff;
    text-decoration: none;

}

.footer__nav__list li:not(:last-child) {
    margin-bottom: 32px;
}

.cr {
    font-size: 12px;
    text-align: center;
    padding: 24px 10px 10px;
    margin-bottom: 25vw;
}

/*  */
.fixed__btn {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 100;
}

/* =========================================
   fv
========================================= */
.fv {
    position: relative;
}

.fv__img {}

.fv__btn {
    /* background-color: #22639A; */
    position: absolute;
    /* height: 28.9vw; */
    bottom: 1.5%;
    display: block;
    opacity: 0.5;
    width: 96%;
    padding-top: 29.7%;
    border-radius: 0 200px 200px 0;
}

/* =========================================
   about
========================================= */
.about {}

.about__img {}

/* =========================================
   problems
========================================= */
.problems {}

.problems__img {}

/* =========================================
   solve
========================================= */
.solve {}

.solve__img01 {}

/* =========================================
   online
========================================= */
.online {
    position: relative;
}

.online__video__content__img {}

.solve__img02 {}

.online__video {
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 33.5%;
    width: 74%;
    aspect-ratio: 363 / 203;
}

.online__video iframe {
    width: 100%;
    height: 100%;
}

/* =========================================
   campaign
========================================= */
.campaign {
    position: relative;
}

.campaign__img {}

.contact__link__btn {
    /* background-color: #22639A; */
    position: absolute;
    /* height: 24.8vw; */
    bottom: 11.1%;
    display: block;
    opacity: 0.5;
    width: 79%;
    margin: 0 auto;
    left: 0;
    right: 0;
    padding-top: 22.4%;
}

/* =========================================
   market-reorganization
========================================= */
.market-reorganization {}

.market-reorganization__img {}

/* =========================================
   price
========================================= */
.price {}

.price__img {}

/* =========================================
   hybrid
========================================= */
.hybrid {}

.hybrid__img {}

/* =========================================
   celibacy-contract
========================================= */
.celibacy-contract {}

.celibacy-contract__img {}

/* =========================================
   streamlining
========================================= */
.streamlining {}

.streamlining__img {}

/* =========================================
   price__detail
========================================= */
.price__detail {}

.price__detail__img {}

/* =========================================
   customer-reviews
========================================= */
.customer-reviews {
    position: relative;
    /*  margin-left: 7.2vw; */
}

.ttl__img {
    /*  position: absolute;
    left: 0;
    right: 0; */

    margin: 0 auto;
    display: flex;
    justify-content: center;
    width: calc(345/375*100%);
}

.customer-reviews__ttl {
    width: 54vw;
}

.customer-reviews__list__wrap {
    margin-top: 40px;
    position: relative;
    /*  margin-left: 7.2vw; */

}

.customer-reviews__list {}



/* ↓コメントアウトされていた要素 */
.customer-reviews__list__item {
    width: 320px;
    /* margin: 20px 0; */
    padding: 8px;

}

.customer-reviews__list__item__img {

    box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25);
    width: 100%;
}

.customer-reviews__list__item__txtarea {}

.customer-reviews__list__item__ttl {}

.pcustomer-reviews__list__item__txt {}

.customer-reviews__list__arrow {
    position: absolute;
    top: 140px;
    width: 32px;
    height: 32px;
    cursor: pointer;
    left: 0;
    right: 0;
    margin: auto;
}

.customer-reviews__list__arrow-l {
    left: -296px;
}

.customer-reviews__list__arrow-r {
    right: -296px;
    transform: rotate(180deg);
}

/* ※HTML側の記述（pが付いている）に合わせています */

/* =========================================
   flow
========================================= */
.flow {
    background-color: #00AF50;
    padding-top: 10vw;
    padding: 21.4vw 0 14vw;
    /* padding-left: 7.2vw; */
}

.flow__ttl {
    width: 54vw;
}

.flow__list__wrap {
    position: relative;
    margin-top: 32px;
    padding-left: 7.2vw;
}

.flow__list {}

.flow__list__item {
    width: 320px;
    margin: 0px 0 20px;
    padding: 8px;
}

.flow__list__item__img {
    /* box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25); */
    filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.25));
}

.flow__list__arrow {
    position: absolute;
    top: 200px;
    width: 32px;
    height: 32px;
    cursor: pointer;
}

.flow__list__arrow-l {
    left: calc(5.7vw - 0px);
}

.flow__list__arrow-r {
    left: calc(5.7vw + 300px);
    ;
    transform: rotate(180deg);
}

/* =========================================
   faq
========================================= */
.faq {
    padding: 21.4vw 4.3vw;
}

.faq__ttl {
    width: 59.5vw;

}

.faq__category {
    margin: 0 auto;
    margin-top: 40px;
    max-width: 343px;
}

.faq__category-l {
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    border-bottom: #000 1px solid;
    padding-bottom: 14px;
}

.faq__category__btn__wrap {
    display: flex;
    margin-top: 12px;
    justify-content: space-between;
}

.faq__category__btn {
    padding: 7px 16px;
    background-color: #DADADA;
    font-size: 12px;
    border-radius: 100px;
    cursor: pointer;
}

.faq__category__btn.active {
    background-color: #00AF50;
    color: #fff;
    cursor: auto;
}

.faq__list {
    margin-top: 40px;
}

.faq__list li {
    margin-bottom: 16px;
}

.faq__list__q {
    display: flex;
    background-color: #00AF50;
    border-radius: 8px;
    padding: 8px 16px;
    gap: 16px;
    align-items: center;
    cursor: pointer;
    transition: border-radius .3s;
}

.faq__list__q.is-open {
    border-radius: 8px 8px 0 0;
}

.faq__list__q__l {
    display: flex;
    gap: 16px;
    align-items: center;
}

.faq__list__q__l__en {
    color: #FFFF00;
    font-weight: 900;
}

.faq__list__q__l__txt {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.faq__list__q__r {
    width: 24px;
    margin-left: auto;
}

.faq__list__a {
    padding: 16px;
    border-radius: 0 0 8px 8px;
    border: 1px solid #00AF50;
    display: none;
}

.faq__list__a__l {
    display: flex;
    gap: 16px;
    align-items: start;
}

.faq__list__a__l__en {
    /* A */


    font-weight: 900;
    font-size: 16px;
    /* leading-trim and text-edge are draft CSS properties.

Read more: https://drafts.csswg.org/css-inline-3/#leading-trim
*/


    /* green-grd */
    background: linear-gradient(180deg, #06C755 0%, #02913C 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;

    position: relative;
    top: 6px;


}

.faq__list__a__l__txt {
    font-size: 14px;
    line-height: 2;
}

/* =========================================
   cta02
========================================= */
.cta02 {
    position: relative;
}

.cta__img {}

.contact__link__btn02 {
    /* background-color: #22639A; */
    position: absolute;
    /* height: 91vw; */
    bottom: 16.8%;
    display: block;
    opacity: 0.5;
    width: 86%;
    margin: 0 auto;
    left: 0;
    right: 0;
    padding-top: 93.5%;
}

/* =========================================
   contact
========================================= */
.contact {
    background-color: #e8f5e9;
    padding: 21.4vw 0 calc(21.4vw - 0.5rem);
}

.contact__ttl {
    width: 69.5vw;
    margin-bottom: calc(40px - 0.5rem);
}

/* =========================================
   legal
========================================= */
.legal {
    padding: 80px 27px;
}

.legal__ttl {
    width: 100%;

}

.legal__content__wrap {}

.legal__content {
    color: 080808;

}

.legal__content__wrap .legal__content:not(:last-child) {
    margin-bottom: 40px;
}

.legal__content__ttl {
    font-size: 20px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 24px;
}

.legal__content__txt {
    border: #888888 solid 1px;
    border-radius: 4px;
    padding: 24px 20px 0;
    line-height: 2;
    height: 380px;
    overflow: auto;

}

.img-pc {
    display: none !important;
}

@media (min-width: 768px) {
    .img-sp {
        display: none !important;
    }

    .img-pc {
        display: block !important;
    }

    .header__sp__r-sns__wrap {
        display: none;
    }

    .header {
        margin-bottom: 96px;
    }

    .header__sp {
        padding: 0 27px;
        justify-content: center;
        position: relative;
    }

    .header__pc__nav__wrap {
        width: 100%;
        height: 96px;
        display: block;
        max-width: 847px;
    }

    .header__pc__nav {
        display: flex;
        height: 100%;
        align-items: center;
        font-weight: 600;
    }

    .header__pc__nav>li {
        height: 100%;
        position: relative;
        line-height: 1.1;
    }

    .header__pc__nav>li>a {
        transition: opacity .5s;
    }

    .header__pc__nav>li.header__pc__nav__contact {
        min-width: 225px;
        max-width: 225px;
        width: 225px;
        margin-left: auto;

        /* Rectangle 2 */
        height: 52px;



        box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25);


    }

    .header__pc__nav>li.header__pc__nav__contact>a {
        color: #fff;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /* .header__pc__nav>li>a:hover {
        opacity: 0.4;
    } */

    .header__pc__nav>li:not(:last-child) {
        margin-right: 30px;
    }

    .header__pc__nav>li>a {
        text-decoration: none;
        color: #3B4043;
        height: 100%;
        display: flex;
        align-items: center;
    }

    .header__pc__new-work {
        cursor: pointer;
    }

    .header__pc__new-work__list__wrap {
        position: absolute;
        background-color: #fff;
        max-width: 100%;
        top: 60px;
        background: rgba(255, 255, 255, 0.8);
        overflow: hidden;
        height: 0;
        transition: all 0.5s;
    }

    .header__pc__new-work__list {
        /*  display: none; */
        width: 100%;
        font-size: 12px;
        padding: 10px 7px;
        /* white-space: nowrap; */
        border-top: 3px solid #eba03b;
    }

    /* .header__pc__new-work:hover .header__pc__new-work__list{
          display:block;
      } */
    .header__pc__new-work__list li:not(:last-child) {
        margin-bottom: 10px;
    }

    .header__pc__new-work__list li a {
        text-decoration: none;
        color: #000;
    }

    .l-header__nav-btn {
        display: none;
    }

    .header__sp__r-wrap {
        display: flex;
        align-items: center;
        margin-right: 0;
        /*   height: 56.92px; */
        position: relative;
        width: 300px;
    }

    /* .header__sp {
          
          padding: 0 7.7%;
          background-color:transparent;
          width: 100%;
          border-bottom: #eba03b 5.8px solid;
      } */
    .header__sp__shisa {
        width: 74px;
    }

    .header__sp__logo {
        /* padding: 10px 0; */
        margin-right: 110px;
        min-width: 240px;
        max-width: 280px;
    }

    .header__sp__mail__icon {
        width: 59.67px;
        margin-right: 26%;
    }

    .header__sp__cart__icon {
        width: 39px;
        position: relative;
        margin: 0 181px 0 20px;
    }



    @media screen and (min-width: 768px) and (max-width:1100px) {

        .header__pc__nav__wrap {
            /*   max-width: 670px;
    } */
        }

        .header__pc__nav li {
            /* height: 100%; */
            font-size: 14px;
        }



        .header__sp__logo {
            margin-right: 40px;
            font-size: 20px;
            min-width: 180px;
            width: 120px;
        }

        .header__pc__nav__wrap {
            max-width: 670px;
        }

        .header__pc__nav>li.header__pc__nav__contact {
            min-width: 200px;
            width: 200px;
            max-width: 200px;
            height: 45px;

        }



    }

    /* フッター */
    .footer__wrap {
        background-color: #3FC476;
        padding: 80px 20px;
        box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);


    }

    .footer__logo {
        max-width: 280px;
        margin: 0 auto;
        display: block;
    }

    .footer__nav {
        margin-top: 42px;
        text-align: center;
    }

    .footer__nav__btn {
        color: #fff;
        text-decoration: none;

    }

    .footer__nav__list {
        display: flex;
        justify-content: center;
    }

    .footer__nav__list li:not(:last-child) {
        margin-bottom: 0;
        margin-right: 32px;
    }

    .cr {
        font-size: 12px;
        text-align: center;
        padding: 8px 10px 10px;
        margin-bottom: 110px;
    }

    .fixed__btn {
        position: fixed;
        bottom: 0;
        width: 100%;
        z-index: 1000;
        max-width: 916px;
        width: 90%;
        left: 0;
        right: 0;
        margin: auto;
        filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.25));
        display: none;

        /* opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;  */





    }

    .fixed__btn.is-show {
        display: block;

        visibility: visible;
        /* 2秒周期で「ボヨヨーン」アニメーションを無限に繰り返す */
        animation: boyoyon 2.5s infinite;
    }

    @keyframes boyoyon {
        0% {
            transform: scale(1);
        }

        /*  5% {
    transform: scale(1);
  } */

        35% {
            transform: scale(1);
            /* 勢いで少し縮む */
        }

        40% {
            transform: scale(1.1);
            /* 再び少し大きく */
        }

        45% {
            transform: scale(1.05);
            /* 元のサイズに戻る */
        }

        50% {
            transform: scale(1.1);
            /* 元のサイズに戻る */
        }

        55% {
            transform: scale(1.08);
            /* 元のサイズに戻る */
        }

        60% {
            transform: scale(1.1);
            /* 元のサイズに戻る */
        }

        80% {
            transform: scale(1.1);
            /* 次の動きまで少し待機 */
        }

        85% {
            transform: scale(1);
            /* 次の動きまで少し待機 */
        }

        90% {
            transform: scale(1.02);
            /* 次の動きまで少し待機 */
        }

        100% {
            transform: scale(1);
            /* 次の動きまで少し待機 */
        }
    }

    /* =========================================
   fv
========================================= */
    .fv {
        position: relative;
    }

    .fv__img {}

    .fv__btn {
        /*  background-color: #22639A; */
        position: absolute;
        /* height: 28.9vw; */
        bottom: 7.7%;
        display: block;
        opacity: 0.5;
        width: 44.3%;
        border-radius: 0 200px 200px 0;
        padding-top: 12.7%;
    }

    .about__img, .problems__img, .solve__img01, .solve__img02-pc, .campaign__img, .market-reorganization__img, .price__img, .hybrid__img, .celibacy-contract__img, .streamlining__img, .price__detail__img, .cta__img {
        max-width: 1200px;
        margin: 0 auto;
        width: 100%;
    }

    /* =========================================
   about
========================================= */
    .about {
        margin: 5.8vw 0;
    }

    .about__img {}

    /* =========================================
   problems
========================================= */
    .problems {}

    .problems__img {}

    /* =========================================
   solve
========================================= */
    .solve {}

    .solve__img01 {}

    /* =========================================
   online
========================================= */
    .online {}

    .online__video__content__img {}

    .solve__img02 {}

    .online__video {
        position: absolute;
        margin: auto;
        left: 0;
        right: 0;
        top: 30.5%;
        width: 61%;
        aspect-ratio: 358 / 198;
        max-width: 730px;
    }

    .online__video video {}

    /* =========================================
   campaign
========================================= */
    .campaign {
        position: relative;
    }

    .campaign__img {}

    .contact__link__btn-pc__wrap {
        position: absolute;
        padding-top: min(514px, 43%);
        max-width: 1000px;
        /*  background-color: red; */
        width: 83.5%;
        margin: 0 auto;
        bottom: 8.5%;
        display: block;
        opacity: 0.5;
        left: 0;
        right: 0;
    }

    .contact__link__btn {
        /* background-color: #ff002b; */
        position: absolute;
        /* height: 24.5vw; */
        bottom: 11.5%;
        display: block;
        opacity: 0.5;
        width: 87.5%;
        margin: 0 auto;
        left: min(7.5%, 145px);
        right: auto;
        padding-top: min(498px, 6.5%);
        max-width: 1000px;
        z-index: 100000;

    }

    /* =========================================
   market-reorganization
========================================= */
    .market-reorganization {}

    .market-reorganization__img {}

    /* =========================================
   price
========================================= */
    .price {
        margin: 5.8vw 0;
    }

    .price__img {}

    /* =========================================
   hybrid
========================================= */
    .hybrid {}

    .hybrid__img {}

    /* =========================================
   celibacy-contract
========================================= */
    .celibacy-contract {}

    .celibacy-contract__img {}

    /* =========================================
   streamlining
========================================= */
    .streamlining {}

    .streamlining__img {}

    /* =========================================
   price__detail
========================================= */
    .price__detail {}

    .price__detail__img {}

    /* =========================================
   customer-reviews
========================================= */
    .customer-reviews {
        position: relative;
        margin: 5.8vw 0;
    }

    .ttl__img {
        /*  position: absolute;
    left: 0;
    right: 0; */

        margin: 0 auto;
        display: flex;
        justify-content: center;
        width: calc(345/375*100%);
    }

    .customer-reviews__ttl {
        width: 24vw;
        width: 20.5rem;
    }

    .customer-reviews__list__wrap {
        max-width: 1200px;
        margin: 0 auto;
        margin-top: 64px;
        position: relative;

    }

    .customer-reviews__list {
        max-width: 1200px;
        margin: 0 auto;
    }



    /* ↓コメントアウトされていた要素 */
    .customer-reviews__list__item {
        width: 400px;
        padding: 8px 20px;

    }

    .customer-reviews__list__item__img {

        box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25);
    }

    .customer-reviews__list__item__txtarea {}

    .customer-reviews__list__item__ttl {}

    .pcustomer-reviews__list__item__txt {}

    .customer-reviews__list__arrow {
        position: absolute;
        top: 0;
        width: 48px;
        height: 48px;
        cursor: pointer;
        bottom: 0;
        margin: auto;
        left: auto;
        right: auto;
    }

    .customer-reviews__list__arrow>img {
        width: 100%;
    }

    .customer-reviews__list__arrow-l {
        left: -0;
    }

    .customer-reviews__list__arrow-r {
        left: auto;
        right: 0;
        transform: rotate(180deg);
    }

    /* ※HTML側の記述（pが付いている）に合わせています */

    /* =========================================
   flow
========================================= */
    .flow {
        background-color: #00AF50;
        padding-top: 10vw;
        padding: 5.8vw 0;
    }

    .flow__ttl {
        width: 24vw;
        width: 20.5rem;
    }

    .flow__list__wrap {
        position: relative;
        margin: 0 auto;
        margin-top: 64px;
        max-width: 1200px;
        padding: 0;
    }

    .flow__list {}

    .flow__list__item {
        width: 320px;
        margin: 0px 0 20px;
        padding: 8px 16px;
    }

    .flow__list__item__img {
        /* box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25); */
        filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.25));
    }

    .flow__list__arrow {
        position: absolute;
        top: 0;
        width: 48px;
        height: 48px;
        cursor: pointer;
        bottom: 0;
        margin: auto;
    }

    .flow__list__arrow>img {
        width: 100%;
    }

    .flow__list__arrow-l {
        left: -0;
    }

    .flow__list__arrow-r {
        left: auto;
        transform: rotate(180deg);
        right: 0;
    }

    /* =========================================
   faq
========================================= */
    .faq {
        padding: 5.8vw 0;
        margin: 0 27px;
    }

    .faq__ttl {
        width: 26.5vw;
        width: 22.6rem;

    }

    .faq__category {
        margin: 0 auto;
        margin-top: 64px;
        max-width: 595px;
        display: flex;
        align-items: center;
        gap: 20px;
    }

    .faq__category-l {
        text-align: left;
        font-size: 14px;
        font-weight: 600;
        border-bottom: none;
        padding-bottom: 0;
        border-right: 1px solid #000;
        height: 40px;
        padding-right: 20px;
        display: flex;
        align-items: center;
    }

    .faq__category__btn__wrap {
        display: flex;
        margin-top: 0;
        justify-content: space-between;
        gap: 20px;
        align-items: center;
    }

    .faq__category__btn {
        padding: 7px 24px;
        background-color: #DADADA;
        font-size: 14px;
        border-radius: 100px;
        height: 37px;
        display: flex;
        align-items: center;
        font-weight: 500;

    }

    .faq__category__btn.active {
        background-color: #00AF50;
        color: #fff;
        font-size: 18px;
        height: 43px;
    }

    .faq__list {
        margin: 0 auto;
        margin-top: 40px;
        max-width: 1200px;
    }

    .faq__list li {
        margin-bottom: 16px;
    }

    .faq__list__q {
        display: flex;
        background-color: #00AF50;
        border-radius: 8px;
        padding: 16px 40px;
        gap: 16px;
        align-items: center;
        cursor: pointer;
        transition: border-radius .3s;
    }

    .faq__list__q.is-open {
        border-radius: 8px 8px 0 0;
    }

    .faq__list__q__l {
        display: flex;
        gap: 32px;
        align-items: center;
    }

    .faq__list__q__l__en {
        color: #FFFF00;
        font-weight: 900;
        font-size: 24px;
    }

    .faq__list__q__l__txt {
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        line-height: 1.5;
    }

    .faq__list__q__r {
        width: 24px;
        margin-left: auto;
    }

    .faq__list__a {
        padding: 16px 40px;
        border-radius: 0 0 8px 8px;
        border: 1px solid #00AF50;
        display: none;
    }

    .faq__list__a__l {
        display: flex;
        gap: 32px;
        align-items: start;
    }

    .faq__list__a__l__en {
        /* A */


        font-weight: 900;
        font-size: 24px;
        /* leading-trim and text-edge are draft CSS properties.

Read more: https://drafts.csswg.org/css-inline-3/#leading-trim
*/


        /* green-grd */
        background: linear-gradient(180deg, #06C755 0%, #02913C 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        text-fill-color: transparent;

        position: relative;
        top: 6px;


    }

    .faq__list__a__l__txt {
        font-size: 18px;
        line-height: 2;
    }

    /* =========================================
   cta02
========================================= */
    .cta02 {
        position: relative;
        margin: 5.8vw 0;
    }

    .cta__img {}

    .contact__link__btn02 {
        /* background-color: #22639A; */
        position: absolute;
        /* height: 91vw; */
        bottom: 12.7%;
        display: block;
        opacity: 0.5;
        width: 73.2%;
        margin: 0 auto;
        left: 0;
        right: 0;
        padding-top: 9%;
        padding-top: min(116px, 9.6%);
        max-width: 879px;
    }

    /* =========================================
   contact
========================================= */
    .contact {
        padding: 5.8vw 0;
    }

    .contact__ttl {
        width: 26.3rem;
        margin-bottom: calc(64px - 2rem);
    }

    /* =========================================
   legal
========================================= */
    .legal {
        padding: 5.8vw 27px 5.8vw;
    }

    .legal__content__wrap {
        max-width: 1200px;
        margin: 0 auto;
    }

    .legal__content {
        color: 080808;

    }

    .legal__content__wrap .legal__content:not(:last-child) {
        margin-bottom: 0;
    }

    .legal__content__ttl {
        font-size: 20px;
        text-align: center;
        font-weight: 700;
        margin-bottom: 40px;
    }

    .legal__ttl {
        width: 34.7rem;

    }

    .legal__content__txt {
        border: #888888 solid 1px;
        border-radius: 4px;
        padding: 24px 20px 0;
        line-height: 2;
        height: 380px;
        overflow: auto;

    }

    @media (max-width: 1200px) {
        .customer-reviews__ttl {
            width: 27vw;
            /* width: 20.5rem; */
        }

        .flow__ttl {
            width: 27vw;
        }

        .faq__ttl {
            width: 29.77vw;

        }

        .contact__ttl {
            width: 34.75vw;
            margin-bottom: calc(64px - 2rem);
        }

        .legal__ttl {
            width: 45.7vw;

        }
    }

}