@charset "UTF-8";
body {
    font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
    color: #111111;
}

h2 {
    font-weight: 900;
}

h3,
h4,
h5,
h6 {
    font-weight: 700;
}

h2,
h3,
h4,
h5,
h6 {
    letter-spacing: .1em;
}

p {
    letter-spacing: .06em;
    line-height: 1.83;
    font-weight: 700;
}

.hp_fz_95e {
    font-size: .95em !important;
}

.hp_color_red {
    color: #f43b3b;
}

.br-sp {
    display: none !important;
}

@media (max-width:700px) {
    .br-sp {
        display: block !important;
    }
}

/* レイアウト */
/*============================================*/
.inner {
    max-width: 1350px;
    width: 100%;
    margin: 0 auto;
    padding: 84px 50px;
}

/* heading */
/*============================================*/
.lv2-heading {
    /* font-size: 80px; */
    font-size: clamp(30px, 4.2vw, 80px);
    text-align: center;
    margin-bottom: 1em;
}

.lv2-heading__gradient {
    display: inline-block;
    background-image: -moz-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    background-image: -webkit-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    background-image: -ms-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.lv2-heading__white {
    display: inline-block;
    color: rgb(255, 255, 255);
}

/* fv */
/*============================================*/
.fv img {
    width: 100%;
}

/* cta */
/*============================================*/
.cta {
    background: url(../img/cta/bg.jpg)no-repeat;
    background-position: center;
    background-size: cover;
    background-position: left center;
}

.cta__inner {
    padding-top: 120px;
    padding-bottom: 120px;
}

/* .cta__catch {
    color: #fff;
    font-weight: 700;
    font-size: 36px;
    font-size: clamp(16px, 1.9vw, 36px);
    text-align: center;
    margin-bottom: 12px;
    letter-spacing: .1em;
} */

.cta__catch img {
    width: 100%;
}

.cta__catch {
    max-width: 656px;
    width: 100%;
    margin: 0 auto 22px;
}
.cta__heading {
    text-align: center;
    /* font-size: 48px; */
    font-size: clamp(18px, 2.5vw, 48px);
    color: #fff;
    margin-bottom: 55px;
}

.cta__heading-em {
    font-size: 1.6em;
}

.cta__heading-em,
.cta__heading-yellow {
    line-height: 1;
}

.cta__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
}

/* mail & tel */
.cta-mail,
.cta-tel {
    background: #fff;
    padding: 10px;
    border-radius: 4px;
}

/* tel */
.cta-tel__btn {
    background: #f43b3b;
    display: block;
}

.cta-tel__btn img {
    padding: 29px 22px 32px;
    width: 100%
}

.cta-mail {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

/* mail */
.cta-mail__ttl {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: .1em;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    margin-bottom: 34px;
}

.cta-mail__ttl::before,
.cta-mail__ttl::after {
    content: "";
    display: block;
    height: 2px;
    width: 30px;
    background: #de0000;
    transform: rotate(45deg);
}

.cta-mail__ttl::before {
    margin-right: 32px;
}

.cta-mail__ttl::after {
    transform: rotate(-45deg);
    margin-left: 32px;
}

.cta-mail__ttl-em {
    font-size: 1.2em;
    transform: translateY(-3px);
}

.cta-mail__ttl-red {
    color: #de0000;
}

.cta-mail__btn {
    display: block;
    color: #fff;
    background: #f43b3b;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: .2em;
    padding: 36px 15px 30px;
    line-height: 1;
    text-align: center;
    border-radius: 4px;
    border-bottom: 6px solid #c90000;
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
}

.cta-mail__btn::before {
    content: "\f0e0";
    font-weight: 900;
     font-family: "Font Awesome 5 Free";
}

/* works */
/*============================================*/
.works__inner {
    max-width: 1700px;
}

.works-item {
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.12);
}

.works-item__head {
    padding: 18px 30px;
    background-image: -moz-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    background-image: -webkit-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    background-image: -ms-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    color: #fff;
}

.works-item__heading {
    display: flex;
    align-items: center;
    /* font-size: 39px; */
    font-size: clamp(19px, 2.1vw, 39px);
}

.works-item__tag {
    display: inline-block;
    background: #fff;
    color: #1da96f;
    /* font-size: 22px; */
    font-size: clamp(16px, 1.2vw, 22px);
    letter-spacing: .1em;
    font-weight: 700;
    border-radius: 90px;
    line-height: 1;
    padding: 15px 22px;
    margin-right: 30px;
}

.works-item__tag-num {
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    font-size: 1.4em;
    line-height: 1;
}

.works-item__body {
    padding: 36px 30px;
}

.works-item__body img {
    width: 100%;
}

.works-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}

/* pt */
/*============================================*/
.pt {
    background: url(../img/pt/bg.jpg)no-repeat;
    background-position: center bottom;
    background-size: cover;
    padding-bottom: 120px;
}

.pt::before {
    content: "";
    display: block;
    background: url(../img/triangle-white.png) no-repeat;
    background-position: top center;
    background-size: contain;
    height: 120px;
}

.pt__lv2-heading-num img {
    width: 70px;
    height: 100px;
}

.pt__catch {
    display: block;
    max-width: 750px;
    width: 100%;
    margin: 0 auto 15px;
}

.pt__catch img {
    width: 100%;
    max-width: 100%;
}

.pt-list {
    margin-top: 148px;
}

.pt-item {
    background: #fff;
    position: relative;
    padding: 120px 25px 58px;
    border-radius: 4px;
}

.pt-item + .pt-item {
    margin-top: 80px;
}

.pt-item__pic {
    margin-bottom: 60px;
}

.pt-item__pic img {
    width: 100%;
}

.pt-item__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 120px;
    height: 120px;
    background-image: -moz-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    background-image: -webkit-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    background-image: -ms-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    color: #fff;
    font-size: 21.6px;
    letter-spacing: .1em;
    border-radius: 90px;
    border: #fff 3px solid;
    line-height: 1;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
}


.pt-item__icon-num {
    display: block;
    font-size: 2.66em;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 0;
    margin-top: 10px;
    line-height: 1;
}

.pt-item__ttl {
    /* font-size: 60px; */
    font-size: clamp(25px, 3.1vw, 60px);
    color: #1da96f;
    margin-bottom: 60px;
    text-align: center;
}

.pt-item__catch {
    max-width: 908px;
    width: 100%;
    margin: 0 auto 60px;
}

.pt-item__catch img {
    width: 100%;
}

.pt-item__catch-sp {
    display: none;
}

.pt-item__col {
    display: grid;
    grid-template-columns: 47% 53%;
    align-items: center;
}

.pt-item__pic02 img {
    width: 100%;
}

.pt-item__txt-area {
    padding-right: 40px;
}

.pt-item__txt {
    /* font-size: 24px; */
    font-size: clamp(17px, 1.3vw, 24px);
}

.pt-item__txt + .pt-item__txt {
    margin-top: 44px;
}

.pt-item__txt-em {
    color: #f43b3b;
}

/* voice */
/*============================================*/
.voice-item + .voice-item {
    margin-top: 44px;
}

.voice-item__head {
    background-image: -moz-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    background-image: -webkit-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    background-image: -ms-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    color: #fff;
    padding: 30px 26px;
    border-radius: 4px 4px 0 0;
}

.voice-item__heading {
    /* font-size: 42px; */
    font-size: clamp(21px, 2.2vw, 42px);
}

.voice-item__tag {
    display: inline-block;
    background: #fff;
    color: #1da96f;
    letter-spacing: .1em;
     /* font-size: 30px; */
    font-size: clamp(15px, 1.6vw, 30px);
    padding: 13px 32px;
    line-height: 1;
    border-radius: 4px;
    margin-right: 50px;
}

.voice-item__tag-num {
    font-size: 1.4em;
    letter-spacing: 0;
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
}

.voice-mes {
    background: rgba(255, 246, 89, 0.4);
    padding: 30px 66px 24px;
    margin-bottom: 40px;
}

.voice-item__body {
    border: 4px solid #1da96f;
    padding: 60px 74px 60px;
    border-top: none;
    border-radius: 0 0 4px 4px;
}

.voice-mes__heading {
    text-align: center;
    font-size: clamp(17px, 1.6vw, 30px);
    margin-bottom: 32px;
}

.voice-mes__col {
    display: grid;
    grid-template-columns: 50% 35%;
    gap: 15%;
    margin-bottom: 26px;
}

.voice-mes__pic img {
    width: 100%;
}

.voice-mes__txt {
    /* font-size: 20px; */
    font-size: clamp(15px, 1.1vw, 20px);
}

.voice-mes__border {
    border-bottom: 1px solid;
}

.voice-item__lv3-heading {
    font-family: 'Oswald', sans-serif;
    color: #1da96f;
    text-align: center;
    font-size: 40px;
    border-top: 2px solid #1da96f;
    border-bottom: 2px solid #1da96f;
    padding: 17px 35px;
    margin-bottom: 34px;
}

.voice-item__foot img {
    width: 100%;
}


/* person */
/*============================================*/
.person {
    background: url(../img/person/bg.jpg)no-repeat;
    background-position: center;
    background-size: cover;
}

.person::before {
    content: "";
    display: block;
    background: url(../img/triangle-white.png) no-repeat;
    background-position: top center;
    background-size: contain;
    height: 120px;
}

.person__heading {
    max-width: 1106px;
    width: 100%;
    margin: 0 auto 48px;
}

.person__heading img {
    width: 100%;
}

.person-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    gap: 10px;
    background: #fff;
    padding: 12px;
}

.person-item img {
    width: 100%;
}

.person-item {
    display: block;
}

.person-item-sp {
    display: none;
}

/* support */
/*============================================*/
.support__catch {
    display: block;
    max-width: 908px;
    width: 100%;
    margin: 0 auto;
}

.support__catch img {
    width: 100%;
}

.support-item {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

.support-item + .support-item {
    margin-top: 78px;
}

.support-item__pic {
    grid-row: 1;
    grid-column: 1;
    width: 50%;
    position: relative;
    z-index: 8;

}

.support-item__cont-sp {
    display: none;
}

.support-item__pic img {
    width: 100%;
    border: #1da96f 4px solid;
}

.support-item__cont {
    grid-row: 1;
    grid-column: 1;
    width: 54%;
    margin: 50px 0 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 56px 44px;
    border: #1da96f 4px solid;
    min-height: 415px;
}

@media (max-width:1024px) {
    .support-item__cont {
         min-height: auto;
    }
}

.support-item:nth-child(odd) .support-item__cont{
    padding-left: 9%;
}

.support-item:nth-child(even) .support-item__cont{
    padding-right: 9%;
    margin: 50px auto 0 0;
}

.support-item:nth-child(even) .support-item__pic {
    margin-left: auto;
}

.support-item__ttl {
    /* font-size: 42px; */
    font-size: clamp(21px, 2.2vw, 42px);
    font-weight: 700;
    line-height: 1.23;
    text-align: center;
    margin-bottom: 20px;
}

.support-item__ttl::after {
    content: "";
    display: block;
    height: 4px;
    width: 40px;
    background: #1da96f;
    margin: 25px auto 0;
}

.support-item__txt {
    /* font-size: 24px; */
    font-size: clamp(16px, 1.3vw, 24px);
}

.support-item__txt + .support-item__txt {
    margin-top: 1.7em;
}

.support-item__txt-red {
    color: #f43b3b;
}

/* flow */
/*============================================*/
.flow__head {
    background: url(../img/flow/bg.jpg)no-repeat;
    background-position: 94% 50%;;
    background-size: cover;
    padding: 124px 50px;
}

.lv2-heading.flow__lv2-heading {
    margin-bottom: 0;
}

.flow-item__heading {
    /* font-size: 48px; */
    font-size: clamp(16px, 2.5vw, 48px);
    border-bottom: 4px dotted #009e96;
    padding-bottom: 22px;
    margin-bottom: 34px;
}

.flow-item {
    background: #fff;
    padding: 26px 70px 60px;
    position: relative;
    border: rgb(29, 169, 111) solid 4px;
    border-radius: 4px;

}

.flow-item + .flow-item {
    margin-top: 130px;
}

.flow-item::after {
    content: "";
    display: block;
    position: absolute;
    width: 80px;
    height: 32px;
    background: url(../img/flow/triangle.png)no-repeat;
    background-position: center;
    background-size: contain;
    bottom: -50px;
    left: 50%;
    transform: translate(-50%,100%);
}

.flow-item:last-of-type::after {
    content: none;
}

.flow-item__tag {
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    background-image: -moz-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    background-image: -webkit-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    background-image: -ms-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    color: #fff;
    display: inline-block;
    /* font-size: 30px; */
    font-size: clamp(15px, 1.6vw, 30px);
    padding: 13px 24px;
    line-height: 1;
    border-radius: 4px;
    margin-right: 40px;
}

.flow-item__tag-num {
    font-size: 1.4em;
    letter-spacing: 0;
}

.flow-item__txt {
    font-size: clamp(16px, 1.7vw, 27px);
}

.flow-item__txt-em {
    color: #f43b3b;
}

/* price */
/*============================================*/
.price {
  background-image: -moz-linear-gradient( -30deg, rgb(0,79,30) 10%, rgb(0,171,105) 65%, rgb(0,79,30) 100%);
  background-image: -webkit-linear-gradient( -30deg, rgb(0,79,30) 10%, rgb(0,171,105) 65%, rgb(0,79,30) 100%);
  background-image: -ms-linear-gradient( -30deg, rgb(0,79,30) 10%, rgb(0,171,105) 65%, rgb(0,79,30) 100%);
  position: relative;
}

.price::before {
    content: '';
    position: absolute;
    background: url(../img/price/bg01.png)no-repeat;
    background-position: left bottom;
    background-size: contain;
    width: 22%;
    max-width: 425px;
    height: 100%;
    left: 0;
    bottom: 0;
}

.price::after {
    content: '';
    position: absolute;
    background: url(../img/price/bg02.png)no-repeat;
    background-position: right bottom;
    background-size: contain;
    width: 22%;
    max-width: 425px;
    height: 100%;
    right: 0;
    bottom: 0;
}

.price__heading {
    /* font-size: 60px; */
    font-size: clamp(20px, 3.2vw, 60px);
    color: #fff;
    text-align: center;
    margin-bottom: 60px;
}

.price__cont {
    background: #fff;
    padding: 50px 10%;
    text-align: center;
}

.price__lv3-heading {
    color: #1da96f;
    /* font-size: 52px; */
    font-size: clamp(17px, 2.8vw, 45px);
    font-weight: 900;
    letter-spacing: .06em;
    margin-bottom: 24px;
    line-height: 1.3;
}

.price__txt {
    /* font-size: 28px; */
    font-size: clamp(15px, 1.5vw, 25px);
}

.price__txt + .price__txt {
    margin-top: 36px;
}

.price-sp {
    display: none;
}
/* faq */
/*============================================*/
.faq__head {
    background: url(../img/faq/bg.jpg)no-repeat;
    background-position: left center;
    padding: 124px 50px;
}

.faq__head-sp {
    display: none;
}

.lv2-heading.faq__lv2-heading {
    margin-bottom: 0;
}

.faq__lv2-heading-inner {
    display: block;
    margin: 0 auto;
    max-width: 524px;
    width: 100%;
}

.faq__lv2-heading-inner img {
    width: 100%;
}

.faq-item__head {
    display: flex;
    align-items: center;
    background-image: -moz-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    background-image: -webkit-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    background-image: -ms-linear-gradient( -10deg, rgb(0,171,105) 0%, rgb(0,112,69) 100%);
    /* font-size: 42px; */
    font-size: clamp(15px, 2.2vw, 42px);
    font-weight: 700;
    letter-spacing: .1em;
    color: #fff;
    padding-top: .9em;
    padding-bottom: .9em;
}

.faq-item__head,
.faq-item__body {
    padding-left: 18px;
    padding-right: 18px;
}

.faq-item__body {
    display: flex;
    padding-top: 3em;
    padding-bottom: 3em;
}

.faq-item__icon-q {
    display: block;
    width: 80px;
    margin-right: 25px;
    flex-shrink: 0;
    flex-grow: 0;
}

.faq-item__icon-q img {
    width: 100%;
}

.faq-item__icon-a {
    display: block;
    text-align: center;
    width: 80px;
}

.faq-item__icon-a img {
    width: 35px;
}

.faq-item__txtarea {
    padding-left: 25px;
    width: calc(100% - 80px);
}

.faq-item__txt {
    /* font-size: 28px; */
    font-size: clamp(14px, 1.5vw, 28px);
    letter-spacing: .075em;
}

.faq-item__txt + .faq-item__txt {
    margin-top: 1.25em;
}

.faq-list br {
    display: none;
}
/* notes */
/*============================================*/
.notes img {
    width: 100%;
}

/* outro */
/*============================================*/
.outro img {
    width: 100%;
}

/* footer */
/*============================================*/
.footer {
    background: #004f1e;
    color: #fff;
    padding: 22px 0;
}

.footer__copy {
    text-align: center;
    font-weight: 400;
    line-height: 1;
}

.footer__copy small {
    font-size: 12px;
}

@media (max-width:1440px) {
/* price */
/*============================================*/
    .cta__catch {
        max-width: 550px;
    }
}

@media (max-width:1439px) {

}

@media (max-width:1279px) {
    .cta {
        background-position: 10%;
    }

    .cta__catch {
        max-width: 450px;
    }

    .cta-mail__ttl {
        margin-bottom: 18px;
    }

    .cta-mail__btn {
        font-size: 26px;
    }

/* price */
/*============================================*/
    .price__cont {
        padding: 50px 110px;
    }

/* works */
/*============================================*/
    .works-item__heading {
        flex-direction: column;
    }

    .works-item__tag {
        margin-right: 0;
        margin-bottom: 10px;
        padding: 8px 22px;
    }

    .works-item__body {
        padding: 30px 15px;
    }

    /* pt */
    /* ==================================== */
    .pt__catch img {
        max-width: 90%;
    }

    .cta-tel__btn img {
        padding: 20px 22px 20px;
    }
}

@media (max-width:1024px) {
    .inner {
        padding: 64px 20px;
    }

/* cta */
/*============================================*/
    .cta-mail__btn {
        font-size: 22px;
    }

    .cta__list {
        gap: 42px;
    }
/* works */
/*============================================*/
    .works-list {
        gap: 20px;
    }

    .works-item__body {
        padding: 12px;
    }

/* pt */
/*============================================*/
    .pt__lv2-heading-num img {
        width: 50px;
        height: 80px;
    }

    .pt-list {
        margin-top: 115px;
    }

    .pt-item {
        padding: 95px 20px 58px;
    }

    .price__txt {
        font-size: clamp(14px, 1.5vw, 28px);
    }
/* voice */
/*================================================*/
    .voice-item__body {
        padding: 60px 48px 60px;
    }

/* support */
/*============================================*/
    .support-item:nth-child(odd) .support-item__cont {
        padding-left: 7%;
    }

    .support-item:nth-child(even) .support-item__cont {
        padding-right: 7%;
    }

    .support-item__cont {
        padding: 35px 25px;
    }

    .support-item__ttl::after {
        margin: 20px auto 0;
    }

    .support-item__txt {
        font-size: clamp(15px, 1.3vw, 22px);
    }

/* flow */
/* =============================================== */
    .flow__head {
        padding: 85px 45px;
    }

/* faq */
/* =============================================== */

    .faq__head {
        padding: 90px 45px;
    }

    .faq-item__icon-q {
        width: 55px;
    }

    .faq-item__icon-a {
        width: 55px;
    }

    .faq-item__icon-a img {
        width: 26px;
    }

    .faq-item__body {
        padding-top: 2.5em;
        padding-bottom: 2.5em;
    }

}

@media (max-width:950px) {
    .pt-item__txt + .pt-item__txt {
        margin-top: 25px;
    }

    .flow-item {
        padding: 26px 65px 45px;
    }

    .cta__catch {
        max-width: 350px;
    }
}



@media (max-width:850px) {
    .cta-mail__ttl {
        margin-bottom: 8px;
    }

    .cta-mail__btn {
        font-size: 20px;
    }
    /* price */
    /* ===================================== */
    .price::before {
        width: 150px;
        height: 412px;
    }

    .price::after {
        width: 150px;
        height: 412px;
    }
    /* pt_ */
    /* ===================================== */
    .pt {
        padding-bottom: 65px;
    }

    .pt-item {
        padding: 80px 20px 58px;
    }

    .pt-item__ttl {
        margin-bottom: 35px;
    }

    .pt-item__pic {
        margin-bottom: 45px;
    }

    .pt-item__catch {
        margin: 0 auto 35px;
    }

    .pt-item__txt {
        font-size: clamp(14px, 1.3vw, 24px);
    }

    .pt-item__txt + .pt-item__txt {
        margin-top: 18px;
    }

    .pt::before {
        height: 65px;
    }

    /* voice_ */
    /* ===================================== */
    .voice-item__lv3-heading {
        font-size: 30px;
    }

    .voice::before {
        height: 65px;
    }

    .voice-item__body {
        padding: 55px 35px 60px;
    }

    .voice-mes {
        padding: 30px 50px 24px;
    }

    .voice-mes__col {
        grid-template-columns: 51% 36%;
        gap: 13%;
    }

    /* person */
    /* ===================================== */
    .person::before {
        height: 65px;
    }

    /* support_ */
    /* ===================================== */
    .support__catch {
        max-width: 500px;
    }

    .support-item__txt {
        font-size: clamp(14px, 1.3vw, 22px);
    }

    .support-item__cont {
        padding: 35px 15px;
    }

    .support-item:nth-child(odd) .support-item__cont {
        padding-left: 6%;
    }

    .support-item:nth-child(even) .support-item__cont {
        padding-right: 6%;
    }

    .support-item + .support-item {
        margin-top: 45px;
    }

      /* flow_ */
    /* ===================================== */
    .flow-item {
        padding: 25px 45px 45px;
    }
}

@media (max-width:750px) {
    .inner {
        padding: 50px 10px;
    }
    /* cta */
    /* ==============------------------------ */
    .cta-mail__btn {
        font-size: 19px;
    }

    .cta-mail__ttl {
        font-size: 22px;
    }

    .cta-mail__ttl::before,
    .cta-mail__ttl::after {
        width: 27px;
    }

    .cta-mail__ttl::after {
        margin-left: 15px;
    }

    .cta-mail__ttl::before {
        margin-right: 15px;
    }

    .cta-tel__btn img {

    }

    /* price */
    /* ==============------------------------ */
    .price::before {
        width: 140px;
    }

    .price::after {
        width: 140px;
    }
    /* faq */
    /* ==============------------------------ */
    .faq__head {
        padding: 67px 45px;
    }

    .cta-mail__btn {
        font-size: 18px;
        padding: 22px 15px;
        border-bottom: 3px solid #c90000;
        max-width: 300px;
    }
}

@media (max-width:700px) {
     /* cta */
    /* ==============------------------------ */
    .cta {
        background: url(../img/cta/sp/bg.jpg)no-repeat;
        background-size: cover;
        background-position: top left;
    }
    .cta__list {
        display: block;
    }

    .cta-mail {
        margin-bottom: 14px;
        padding: 16px;
    }

    .cta-tel {
        padding: 4px;
    }

    .cta {
        background-position: right;
    }

    .cta__heading {
        font-size: clamp(15px, 2.5vw, 48px);
        margin-bottom: 25px;
        -webkit-text-stroke: 0.5px #1da96f;
    }

    .cta-tel__btn {
        text-align: center;
    }

    .cta__catch {
        max-width: 280px;
    }
    /* works */
    /* ==============------------------------ */
    .works-list {
        display: block;
    }

    .works-item + .works-item {
        margin-top: 33px;
    }

    .works-item__tag {
        padding: 8px 22px;
        display: flex;
        align-items: center;
    }

    .works-item__head {
        padding: 18px;
    }

    .works-item__heading {
        flex-direction: row;
        font-size: 24px;
    }

    .works-item__tag {
        margin-bottom: 0;
        margin-right: 16px;
    }


    /* pt */
    /* ==============------------------------ */
    .pt {
        padding-bottom: 30px;
    }

    .pt::before {
        height: 30px;
    }

    .pt__lv2-heading-num img {
        width: 30px;
        height: 45px;
    }

    .pt-list {
        margin-top: 85px;
    }

    .pt-item__icon {
        width: 90px;
        height: 90px;
    }

    .pt-item__icon-num {
        font-size: 1.6em;
    }

    .pt-item {
        padding: 55px 10px 30px;
    }

    .pt-item__ttl {
        margin-bottom: 20px;
    }

    .pt-item__pic {
        margin-bottom: 26px;
    }

    .pt-item__catch {
        margin: 0 auto 20px;
    }

    .pt-item__col {
        grid-template-columns: 1fr;
    }

    .pt-item__txt-area {
       padding-right: 0;
       grid-row: 2;
        grid-column: 1;
        margin-top: 20px;
    }

    .pt-item__pic02 {
        margin-top: 15px;
        grid-row: 1;
        grid-column: 1;
    }

    .pt__lv2-heading-num {
        margin-top: 10px;
        display: inline-block;
    }

    .pt-item__catch {
        display: none;
    }

    .pt-item__catch-sp {
        display: block;
        margin-bottom: 15px;
    }

    .pt-item__catch-sp img {
        width: 100%;
    }

     /* voice */
    /* ==============------------------------ */
    .voice::before {
        height: 30px;
    }

    .voice-item__heading {
        display: flex;
        align-items: center;
        font-size: clamp(20px, 2.2vw, 42px);
    }

    .voice-mes__txt {
        font-size: clamp(14px, 1.1vw, 20px);
    }

    .voice-item__head {
        padding: 10px;
    }

    .voice-item__tag {
        margin-right: 0;
        max-width: 65px;
        width: 100%;
        padding: 10px;
        text-align: center;
        margin-right: 12px;
    }

    .voice-item__tag-num {
        display: block;
    }

    .voice-item__body {
        padding: 20px 16px;
    }

    .voice-mes {
        padding: 20px 10px;
        margin-bottom: 20px;
    }

    .voice-mes__heading {
        margin-bottom: 22px;
    }

    .voice-item__lv3-heading {
        font-size: 25px;
    }

    .voice-item__lv3-heading {
        margin-bottom: 20px;
    }

    /* person */
    /* =============================== */
    .person::before {
        height: 30px;
    }

    .person-item {
        display: none;
    }

    .person-item-sp {
        display: block;
    }

    .person-item-sp img {
        width: 100%;
    }

    /* support */
    /* =============================== */
    .support-item {
        display: block;
    }

    .support-item__pic {
        display: none;
    }

    .support-item__txt + .support-item__txt {
        margin-top: 1em;
    }

    .support-item__ttl::after {
        display: none;
    }

    .support-item__cont-sp {
        display: block;
    }

    .support-item__pic {
        display: none;
    }

    .support-item__cont-sp img {
        width: 100%;
    }

    .support-item:nth-child(odd) .support-item__cont {
        padding-left: 2%;
        padding-right: 2%;
    }

    .support-item:nth-child(even) .support-item__cont {
        padding-right: 2%;
        padding-left: 2%;
    }

    .support-item__cont {
        width: 100%;
        margin: 0 auto !important;
        padding: 24px 0;
    }

    .support-item__txt {
        margin-top: 1.5em;
    }
     /* flow */
    /* =============================== */
    .flow__head {
        padding: 38px 45px;
    }

    .flow-item__tag {
        margin-right: 15px;
        padding: 8px;
        font-size: 12px;
    }

    .flow-item {
        padding: 25px 15px;
    }

    .flow-item__txt {
        font-size: clamp(14px, 1.2vw, 23px);
    }

    .flow-item + .flow-item {
        margin-top: 98px;
    }

    .flow-item::after {
        bottom: -35px;
    }

    .flow-item__heading {
        font-size: 20px;
        margin-bottom: 25px;
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

     /* price */
    /* =============================== */
    .price::before {
        display: none;
     }

    .price::after {
        display: none;
    }

    .price {
        display: none;
    }

    .price-sp {
        display: block;
    }

    .price-sp img {
        width: 100%;

    }

     /* faq */
    /* =============================== */
    .faq__head {
        display: none;
    }

    .faq__head-sp {
        display: block;
    }

    .faq__head-sp img {
        width: 100%;
    }

    .faq-item__icon-q {
        width: 42px;
        margin-right: 20px;
    }

    .faq-item__icon-a img {
        width: 20px;
    }

    .faq-item__icon-a {
        width: 48px;
    }

    .faq-item__body {
        padding-top: 1.5em;
        padding-bottom: 1.5em;
    }

    .faq-item__txtarea {
        width: 100%;
        padding-left: 20px;
    }

    .faq-list br {
        display: block;
    }

   .footer__copy small {
        font-size: 9px;
    }

    .person-list {
        grid-template-columns: 1fr 1fr 1fr;
        padding: 5px;
        gap: 5px;
    }
}

@media (max-width:599px) {
    .voice-mes {
        padding-left: 20px;
        padding-right: 20px;
    }

    .voice-mes__col {
        display: block;
    }

    .voice-mes__pic:nth-child(2) {
        max-width: 200px;
        margin-left: auto;
        margin-right: auto;
    }

    .voice-mes__pic + .voice-mes__pic {
        margin-top: 20px;
    }

}
