@media screen and (max-width: 1115px) {
    .fv_left-main img {
        right: -7vw;
    }
}
@media screen and (max-width: 1054px) {
    .fv_left_block {
        width: calc(100% - 39vw);
    }
    .fv_left-main img {
        min-width: 78vw;
    }
    .fv_left-bnr img {
        min-width: 55vw;
    }
    .fv_right_block {
        width: 37vw;
    }
    .return_parcent {
        min-width: 37vw;
    }
    .column_btn {
        padding: 1.5vw;
        max-width: 37vw;
        gap: 1.5vw;
    }
}
@media screen and (max-width: 980px) {
    .return_head {
        margin-bottom: 0.9em;
    }
    .caption {
        width: 100%;
        max-width: 100%;
    }
    .caption p {
        font-size: 1.2vw;
    }
}
@media screen and (max-width: 912px) and (min-width: 834px) {
}
@media screen and (max-width: 912px) and (min-width: 821px) {
    .return_number {
        margin-top: 0.7em;
    }
}
@media screen and (max-width: 820px) and (min-width: 768px) {
    #fv {
        background-size: auto 82.2vw;
        margin-bottom: 4em;
        height: 82.2vw;
    }
    .fv-inner {
        max-width: 100vw;
        height: 77.5vw;
    }
    .fv_left-main {
        min-height: 61vw;
    }
    .fv_left-main img {
        min-width: 78vw;
    }
    .fv_left-bnr img {
        min-width: 51vw;
    }
    .fv_right_block {
        width: 37vw;
    }
    .fv_head_text {
        margin: 0 0 0.3em 0;
        font-size: 4.2vw;
    }
    .return_parcent {
        min-width: 37vw;
    }
    .return_head {
        font-size: 3.2vw;
    }
    .return_number {
        margin-top: 2vw;
    }
    .column_btn {
        padding: 1.6vw;
        max-width: 37vw;
        gap: 1.6vw;
    }
    .btn-Price {
        padding: 12px 0 12px 5em;
    }
}
@media screen and (width: 768px) {
    .fv-inner {
        height: 78.5vw;
    }
}
@media screen and (max-width: 767px) {
    #fv {
        background: none;
        margin-bottom: 4em;
        width: 100%;
        height: auto;
    }
    .fv-inner {
        flex-direction: column;
        max-width: 100%;
    }
    .fv_left_block {
        width: 100%;
    }
    .fv_left-main {
        min-height: auto;
    }
    .fv_left-main img {
        min-width: 100%;
        height: auto;
        position: relative;
        right: 0;
        bottom: 0;
    }
    .fv_left-bnr {
        background: #e2ea9a;
        display: block;
        padding-bottom: 5em;
        width: 100%;
        height: auto;
        text-align: center;
    }
    .fv_left-bnr img {
        margin: 5%;
        width: 90%;
        min-width: 90%;
        height: auto;
    }
    .fv_right_block {
        width: 100%;
    }
    .fv_right_block_sp-Wrap {
        display: flex;
        flex-wrap: wrap;
        background: #ffffff;
        margin: -5em 0 0 0;
        padding: 1em 2% 1em 2%;
        width: 100%;
        border-radius: 3em 3em 0 0;
        gap: 0;
    }
    .fv_right_block_sp-Left {
        width: calc(45% - 0.25em);
    }
    .fv_logo_list {
        padding-block: 0 0;
        max-width: 100%;
    }
    .fv_head_text {
        margin: 0 0 0 0;
        font-size: 5.5vw;
    }
    .fv_right_block_sp-Right {
        width: calc(54% - 0.25em);
    }
    .return_parcent {
        min-width: 100%;
    }
    .return_head {
        margin-top: 0.5em;
        font-size: 4.4vw;
    }
    .return_number {
        margin-top: 0.7em;
        font-size: 6vw;
    }
    .return_number .large {
        font-size: 18vw;
    }
    .return_number .small {
        font-size: 12vw;
    }
    .return_number .parcent {
        font-size: 12vw;
    }
    .return_number .parcent sup {
        top: 1.5em;
        font-size: 2.4vw;
    }
    .sp_Only {
        display: block;
        padding: 0 3% 0 3%;
    }
    .sp_Only p {
        margin-bottom: 5em;
        font-size: 1.4vw;
        line-height: 1.6em;
        color: #a9815d;
    }

    .column_btn {
        padding: 1.5em 3%;
        max-width: 100%;
        gap: 2em;
    }
    .btn-Doc {
        padding: 1.5em 0 1.5em 3em;
        text-align: left;
        font-size: 4.2vw;
    }
    .btn-Price {
        padding: 1.5em 0 1.5em 5em;
        font-size: 4.2vw;
        line-height: 1em;
    }
    .btn-Price span br {
        display: none;
    }

    .caption {
        display: none;
    }
}


@media screen and (max-width: 767px) {
    .campaign {
        margin: 0 auto 5em auto;
        width: 100%;
    }
}

@media screen and (max-width: 1279px) {
    .sec01-head_title {
        background: url(../images/sec01-title.svg) center top no-repeat;
        background-size: auto 13em;
        width: 100%;
        height: 13em;
        text-align: center;
        position: relative;
        overflow: hidden;
    }
}
@media screen and (max-width: 1099px) and (min-width: 768px) {
    .btn-Doc {
        font-size: 1.9vw;
    }
    .btn-Price {
        font-size: 1.9vw;
        padding: 1.2vw 0 1.2vw 4em;
    }
    .sec01-head-inner ul.sec01_list {
        margin: 0 5%;
        max-width: 90%;
    }
    .sec01-01, .sec01-02, .sec01-03, .sec01-04, .sec01-05 {
        margin: 0 5% 4em 5%;
        max-width: 90%;
    }
    .sec01-01_head h3,
    .sec01-02_head h3,
    .sec01-03_head h3,
    .sec01-04_head h3,
    .sec01-05_head h3 {
        background-size: 9vw auto;
    }
    .sec01-01_head h3, .sec01-02_head h3, .sec01-03_head h3, .sec01-04_head h3, .sec01-05_head h3 {
        font-size: 4.2vw;
    }
    .sec01-01_body, .sec01-03_body, .sec01-04_body, .sec01-05_body {
        padding: 0;
    }
    .sec01-text {
        font-size: 2.0vw;
        line-height: 1.6em;
    }
    .sec02-caption p {
        font-size: 1.4vw;
    }
    .sec02-img04 {
        min-width: 100%;
    }
    .cta {
        background: #fef1f4;
        margin: 0 5% 5em 5%;
        padding: 5em 3%;
        width: 90%;
    }
    .cta-head {
        margin: 0 auto 2em auto;
        width: 100%;
    }
    .cta-body {
        width: 100%;
    }
    .sec02-head {
        margin: 0 5% 3em 5%;
        max-width: 90%;
    }
    .sec02-head img {
        max-width: 46vw;
    }
    .sec02-head h1 {
        font-size: 3.6vw;
    }
    .sec02-01, .sec02-02, .sec02-03, .sec02-04, .sec02-05 {
        margin: 0 5% 5em 5%;
        max-width: 90%;
    }
    .sec02-title h2, .sec02-title h2, .sec02-title h2, .sec02-title h2 {
        font-size: 2.8vw;
    }
    .sec02-title p {
        font-size: 2.0vw;
    }
    .sec02-01-body {
        max-width: 90%;
    }
    .sec02-01-body p {
        font-size: 1.6vw;
    }
    .sec02-02-img01 {
        max-width: 90%;
    }
    .sec02-02-img02 {
        max-width: 90%;
    }
    ul.sec02-03-list {
        max-width: 90%;
    }
    ul.sec02-03-list li {
        grid-template-columns: 30vw 1fr;
        max-width: 100%;
    }
    .sec02-03-img {
        width: 30vw;
    }
    .sec02-03-text-head p {
        font-size: 2.0vw;
    }
    .sec02-03-text-info dl:first-child {
        width: 16.4vw;
    }
    .sec02-03-text-info dl:last-child {
        width: 25.6vw;
    }
    .sec02-03-text-info dl dt {
        font-size: 1.4vw;
    }
    .sec02-03-text-info dl dd {
        font-size: 1.4vw;
    }
    .open-btn {
        font-size: 1.4vw;
    }
    .sec02-04-list {
        max-width: 90%;
    }
    .sec02-04-list-title h3 {
        font-size: 1.6vw;
    }
    ul.sec02-04-list-text li {
        font-size: 1.6vw;
    }
    .sec02-05-body {
        max-width: 90%;
    }
    .sec02-05-body p {
        font-size: 1.4vw;
    }
    .cta.bg-B {
        margin-bottom: 5em;
    }
    .faq-inner {
        max-width: 90%;
    }
    .faq-inner h2.faq-title {
        min-height: 17.4vw;
        font-size: 4.6vw;
    }
    .faq-inner h2.faq-title span::after {
        background-size: 14.4vw 17.2vw;
        width: 14.4vw;
        height: 17.2vw;
        right: -17.2vw;
    }
    .faq-area {
        max-width: 100%;
    }
    .q-icon, .a-icon {
        font-size: 2.8vw;
    }
    .q-icon span {
        font-size: 6.0vw;
    }
    .info p.text, .in .textArea {
        font-size: 2.4vw;
    }
    .contact-head {
        max-width: 90%;
    }
    .contact-head p {
        font-size: 2.4vw;
    }
    .contact-head h2 {
        font-size: 3.4vw;
    }
    .contact-btn {
        max-width: 90%;
    }
    .btn-Doc-c {
        font-size: 1.9vw;
    }
    .contact-area dl > .btnArea > .btn-Price {
        font-size: 1.9vw;
        padding: 0.6vw 0 0.6vw 4em;
    }
    .btn-online {
        padding-left: 5.5em;
        font-size: 1.9vw;
    }
    .contact-area dl dd {
        font-size: 1.6vw;
    }
    .contact-phone-inner {
        max-width: 90%;
    }
    .contact-phone-head p {
        font-size: 1.8vw;
    }
    .contact-phone-body p.text {
        font-size: 3.2vw;
    }
    .contact-phone-body p.tel a.phone {
        font-size: 12vw;
    }
    .contact-phone-body p.time {
        font-size: 2.4vw;
    }
    .contact-phone-aside p {
        font-size: 1.2vw;
    }
    .bottomLink ul {
        max-width: 62%;
    }
    .bottomLink ul li {
        font-size: 1.2vw;
    }
}

@media screen and (max-width: 767px) {
    html,body {
        font-size: 3.2vw;
    }
    .sec01-header {
        margin: 0 auto 3em auto;
    }
    .sec01-head_title {
        background: url(../images/sec01-title_sp.svg) center top no-repeat;
        background-size: 100% auto;
        width: 100%;
        height: 35vw;
    }
    .sec01-head-inner {
        padding-bottom: 5%;
    }
    .sec01-head-inner ul.sec01_list {
        margin: 0 auto;
        max-width: 94%;
    }
    .sec01-head-inner ul.sec01_list li:first-child {
        width: 100%;
    }
    .sec01-head-inner ul.sec01_list li {
        width: 100%;
    }
    .sec01-01, .sec01-02, .sec01-03, .sec01-04, .sec01-05 {
        margin: 0 auto 3em auto;
        max-width: 94%;
    }
    .sec01-01_head h3,
    .sec01-02_head h3,
    .sec01-03_head h3,
    .sec01-04_head h3,
    .sec01-05_head h3 {
        background-size: 12vw auto;
        padding: 0.8em 0 0.5em 16vw;
    }
    .sec01-01_head h3, .sec01-02_head h3, .sec01-03_head h3, .sec01-04_head h3, .sec01-05_head h3 {
        font-size: 4.8vw;
    }
    .sec01-01_body, .sec01-03_body, .sec01-04_body, .sec01-05_body {
        flex-direction: column;
        padding: 0;
    }
    .sec01-text {
        font-size: 3.8vw;
        line-height: 1.6em;
    }
    .sec02-img01 {
        width: 83%;
        min-width: 83%;
    }
    .sec02-img02_03 {
        flex-direction: column;
    }
    .sec02-img02 {
        padding-right: 0;
        padding-bottom: 2em;
        border-right: 0;
        border-bottom: 1px solid #875732;
    }
    .sec02-img03 {
        padding-top: 2em;
        padding-left: 0;
    }
    .sec02-img02, .sec02-img03 {
        width: 100%;
    }
    .sec02-caption p {
        font-size: 3.2vw;
    }
    .sec02-img04 {
        min-width: 100%;
    }
    .sec01-03_body .sec01-img,
    .sec01-04_body .sec01-img,
    .sec01-05_body .sec01-img  {
        margin: 0 auto;
        min-width: auto;
        width: 70%;
    }
    .sec01-04_head h3 span {
        font-size: 4.6vw;
    }

    .cta {
        background: none;
        margin: 0 3% 3em 3%;
        padding: 3em 0;
        width: 94%;
    }
    .cta-head {
        margin: 0 auto 2em auto;
        width: 100%;
    }
    .cta-body {
        width: 100%;
    }
    .cta-btn {
        flex-direction: column;
    }
    .cta-btn li {
        width: 100%;
    }
    .cta-btn li > .btnArea > .btn-Doc {
        padding: 1.5em 0 1.5em 5em;
        text-align: left;
        font-size: 4.2vw;
    }
    .cta-btn li > .btnArea > .btn-Price {
        padding: 1.5em 0 1.5em 5em;
        font-size: 4.2vw;
        line-height: 1em;
    }


    .sec02-head {
        margin: 0 3% 2em 3%;
        max-width: 94%;
    }
    .sec02-head img {
        max-width: 84vw;
    }
    .sec02-head h1 {
        font-size: 5.2vw;
    }
    .sec02-01, .sec02-02, .sec02-03, .sec02-04, .sec02-05 {
        margin: 0 3% 3em 3%;
        max-width: 94%;
    }
    .sec02-title h2, .sec02-title h2, .sec02-title h2, .sec02-title h2 {
        font-size: 5.0vw;
    }
    .sec02-title h2 span {
        background-image: url(../images/icon-before.svg), url(../images/icon-after.svg);
        background-position: left bottom, right top;
        background-repeat: no-repeat, no-repeat;
        background-size: auto 2em;
        padding: 0 1.5em;
        display: inline-block;
        text-align: center;
    }
    .sec02-title h2 br {
        display: block;
    }
    .sec02-title p {
        padding: 0 1em;
        font-size: 3.6vw;
        text-align: left;
    }
    .sec02-01-body {
        max-width: 90%;
    }
    .sec02-01-body p {
        font-size: 1.6vw;
    }
    .sec02-02-img01 {
        max-width: 90%;
    }
    .sec02-02-img02 {
        max-width: 90%;
    }
    ul.sec02-03-list {
        max-width: 90%;
        gap: 2em;
    }
    ul.sec02-03-list li {
        display: flex;
        flex-direction: column;
        padding: 0;
        max-width: 100%;
        border-radius: 0 0 1.4em 1.4em;
    }
    .sec02-03-img {
        width: 100%;
    }
    .sec02-03-img img {
        width: 100%;
        height: auto;
        border-radius: 1.4em 1.4em 0 0;
    }
    .sec02-03-img .sec02-03-icon {
        top: 0;
    }
    .sec02-03-img .sec02-03-icon img {
        border-radius: 0;
    }
    .sec02-03-text {
        padding-bottom: 2em;
    }
    .sec02-03-text-head p {
        font-size: 4.2vw;
        padding: 0 3.2em;
    }
    .sec02-03-text-info {
        flex-direction: column;
        align-items: center;
        margin-bottom: 2em;
    }
    .sec02-03-text-info dl:first-child {
        width: 70%;
    }
    .sec02-03-text-info dl:last-child {
        width: 70%;
    }
    .sec02-03-text-info dl dt {
        font-size: 3.2vw;
    }
    .sec02-03-text-info dl dd {
        font-size: 3.2vw;
    }
    .open-btn {
        font-size: 3.2vw;
    }

    .swiper-wrap {
        padding: 0 3%;
        width: 100%;
    }
    .swiper-container {
        margin-left: 0;
        margin-right: 0;
    }
    .swiper-slide {
        display: flex;
        flex-direction: column;
        background: #ffffff;
        gap: 1em;
    }
    .sec02-04-list {
        flex-direction: column;
        max-width: 90%;
        gap: 2em;
    }
    /* .sec02-04-list li {
        width: 100%;
        gap: 1em;
    } */
    .sec02-04-list-title {
        
        grid-template-columns: 30% 1fr;
        padding: 0 1.5rem;
        min-height: 4em;
        gap: 1.5em;
    }
    .sec02-04-list-title h3 {
        font-size: 5.4vw;
    }
    ul.sec02-04-list-text {
        padding: 0 1.5rem 2rem 1.5rem;
        width: 100%;
    }
    ul.sec02-04-list-text li {
        font-size: 3.2vw;
    }
    .sec02-05-body {
        max-width: 90%;
    }
    .sec02-05-body img {
        margin-bottom: 1rem;
    }
    .sec02-05-body p {
        font-size: 2.8vw;
    }
    .contact-aside {
        margin: 0 0 2em 0;
        padding: 0 3%;
        width: 100%;
    }
    .contact-aside p {
    font-size: 2.8vw;
    text-align: left;
    }

    .swiper-button-next, .swiper-container-rtl .swiper-button-prev {
        background-image: url(../images/btn-next.svg);
        right: 10px;
        left: auto;
    }.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
        background-image: url(../images/btn-prev.svg);
        left: 10px;
        right: auto;
    }

    .swiper-button-next, .swiper-button-prev {
        position: absolute;
        top: 50%;
        width: 38px;
        height: 38px;
        margin-top: -22px;
        z-index: 1000;
        cursor: pointer;
        -moz-background-size: 38px 38px;
        -webkit-background-size: 38px 38px;
        background-size: 38px 38px;
        background-position: center;
        background-repeat: no-repeat;
    }


    .cta.bg-B {
        background: none;
        margin-bottom: 3em;
    }
    .cta.bg-B > .cta-body > .cta-btn > li > .btn-Doc {
        padding: 1.5em 0 1.5em 3em;
        text-align: left;
        font-size: 4.2vw;
    }
    .faq-inner {
        padding: 2em 0 3em 0;
        max-width: 94%;
    }
    .faq-inner h2.faq-title {
        margin-bottom: 0;
        min-height: 17.4vw;
        font-size: 4.6vw;
    }
    .faq-inner h2.faq-title span::after {
        background-size: 14.4vw 17.2vw;
        width: 14.4vw;
        height: 17.2vw;
        right: -17.2vw;
    }
    .faq-area {
        max-width: 100%;
    }
    q {
        display: grid;
        grid-template-columns: 3em 1fr;
        background: url(../images/btn-faq-plus.svg) 2em center no-repeat;
        background-size: 1.5em 1.5em;
        padding: 1.5em 1em 1em 5em;
    }
    .q-icon, .a-icon {
        font-size: 4.2vw;
        text-align: center;
    }
    .q-icon span {
        font-size: 8.0vw;
    }
    .info p.text, .in .textArea {
        padding-left: 1em;
        font-size: 4.0vw;
    }
    .contact-head {
        max-width: 90%;
    }
    .contact-head p {
        font-size: 4.2vw;
    }
    .contact-head p br {
        display: block;
    }
    .contact-head h2 {
        font-size: 4.8vw;
        text-align: left;
    }
    .contact-btn {
        max-width: 94%;
    }
    .contact-area {
        width: 100%;
    }
    .btn-Doc-c {
        padding: 1.5em 0 1.5em 0;
        font-size: 4.2vw;
    }
    .btn-Doc-c span br {
        display: none;
    }
    .btn-Price {
        font-size: 4.2vw;
    }
    .btn-online {
        padding: 1em 0 1em 7em;
        font-size: 4.2vw;
    }
    .btn-online span br {
        display: none;
    }
    .contact-area dl dd {
        font-size: 2.8vw;
    }
    .contact-phone-inner {
        max-width: 90%;
    }
    .contact-phone-head p {
        font-size: 3.2vw;
        line-height: 3em;
    }
    .contact-phone-body {
        padding: 1rem 0;
    }
    .contact-phone-body p.text {
        font-size: 3.2vw;
    }
    .contact-phone-body p.tel a.phone {
        font-size: 14vw;
    }
    .contact-phone-body p.time {
        font-size: 3.2vw;
    }
    .contact-phone-aside p {
        font-size: 2.8vw;
    }
    .bottomLink ul {
        flex-direction: column;
        max-width: 100%;
        gap: 1em;
    }
    .bottomLink ul li {
        width: 100%;
        font-size: 2.8vw;
    }

    #footer .ftBox {
        padding: 20px 20px 74px 20px;
    }

    #pageTop {
        right: 0;
        bottom: 0 !important;
    }
    #pageTop a {
        width: 74px;
    }
    #pageTop span {
        background: url(../images/icon-06.svg) #ffffff no-repeat;
        background-size: 32px 40px;
        background-position-x: center;
        background-position-y: bottom 3px;
        width: 74px;
        height: 74px !important;
        font-size: 10px;
        border-radius: 0;
    }
    #pageTop span span {
        padding-top: 2.9vw !important;
        font-size: 3.2vw;
        color: #dc1a1f;
    }
    #pageTop span span:before {
        border-top: 2px solid #dc1a1f;
        border-right: 2px solid #dc1a1f;
        width: 6px !important;
        height: 6px !important;
        margin-left: -5px !important;
        top: 7px;
    }
    .fixed_header_cta {
        padding: 0;
    }
    .fixed_header_cta .btnArea {
        justify-content: start;
        gap: 0;
    }.fixed_header_cta .btn {
        height: 74px;
    }
    .fixed_header_cta .btn.doc {
        width: 50%;
        height: 74px;
        display: block;
    }
    .fixed_header_cta .btn.online a {
        background-color: #ffe7d9;
    }
    .fixed_header_cta .btn.doc a {
        background-color: #ff7726;
    }
    .fixed_header_cta .btn a {
        border-radius: 0;
    }
    .fixed_header_cta .btn p {
        font-size: 3.2vw;
        margin-top: 3px;
    }
    .fixed_header_cta .btn.online {
        display: block !important;
        width: calc(50% - 74px);
    }
    .fixed_header_cta .btn.online p {
        font-size: 3.2vw;
        margin-top: 3px;
        color: #875732;
    }

}

/*PageTop調整*/
@media (max-width: 767px) and (min-width: 720px) {
    #pageTop span span {
        padding-top: 0.4vw !important;
        font-size: 2.0vw;
    }
}
@media (max-width: 719px) and (min-width: 644px) {
    #pageTop span span {
        padding-top: 0.8vw !important;
        font-size: 2.0vw;
    }
}
@media (max-width: 643px) and (min-width: 625px) {
    #pageTop span span {
        padding-top: 1vw !important;
        font-size: 2.0vw;
    }
}
@media (max-width: 624px) and (min-width: 525px) {
    #pageTop span span {
        padding-top: 1.8vw !important;
        font-size: 2.4vw;
    }
}
@media (max-width: 524px) and (min-width: 442px) {
    #pageTop span span {
        padding-top: 2.4vw !important;
        font-size: 2.6vw;
    }
}
@media (max-width: 441px) and (min-width: 419px) {
    #pageTop span span {
        padding-top: 2.6vw !important;
        font-size: 2.8vw;
    }
}

/* PC時（Swiper無効） */
@media (min-width: 768px) {
    .swiper-container {
        display: none;
    }
    .sec02-body,
    .sec02-03-body {
        display: flex;
        gap: 20px;
    }
    .static-images img {
        width: 30%;
    }
}

/* スマホ時（Swiper適用） */
@media (max-width: 767px) {
    .swiper-container {
        display: block;
        padding-bottom: 1.5em;
    }
    .sec02-body,
    .sec02-03-body {
        display: none;
    }
    .swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
        bottom: 0px;
    }
}

@media (max-width: 767px) {
    .animation02 {
    position: relative;
    display: block;
    animation: move_fuwa_01 1s ease-in-out infinite alternate;
    }
}

@media (max-width: 767px) {
    .btn-Doc-c span:before {
        background-size: 64px 76px;
        width: 64px;
        height: 76px;
        top: -0.5em;
        left: 0.5em;
    }
    .btn-Price span:before {
        background-size: 50px 76px;
        width: 50px;
        height: 76px;
        top: -0.5em;
        left: 0.8em;
    }
    .btn-online span:before {
        background-size: 83px 76px;
        width: 83px;
        height: 76px;
        top: -1.2em;
        left: 0.5em;
    }
}
/*追従スクロール表示／非表示*/
.fixed_header_cta {
	opacity: 0;
	-webkit-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out
}
.scrollOn .fixed_header_cta {
	opacity: 1
}