    @charset "utf-8";


    * {
        margin: 0;
        padding: 0;
    }

    .sp {
        display: none;
    }

    :root {
        --small: 40px;
        --medium: 80px;
        --large: 104px;
    }

    :root {
        --main_color_black: #030303;
        --main_color_red: #cf101a;
        --main_color_beige: #e1dcd8;
    }


    html {
        font-size: 10px;
    }

    body {
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 400;
        font-style: normal;
        color: #fff;
        letter-spacing: .1em;
    }

    .w1080 {
        width: 100%;
        max-width: 1080px;
        margin: 0 auto;
    }

    figure {
        text-align: center;
    }

    /*btn_area*/
    .btn_area {
        margin-top: 24px;
        display: flex;
        justify-content: center;
        gap: 32px;
    }

    .btn_area a {
        padding: 20px 91px;
        background: var(--main_color_red);
        font-size: 3.6rem;
        border-radius: 50px;
        text-decoration: none;
        color: #fff;
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transition: all 0.4s;
        transition: all 0.4s;
    }

    .btn_area a:hover {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
        -webkit-transition: all 0.4s;
        transition: all 0.4s;
    }

    .btn_area a:last-child {
        background: var(--main_color_black);
        border: 2px solid #fff;
    }


    /*-------------------------------
    #fv
    -------------------------------*/
    /* #fv {
        background: url(../images/fv_bg.webp) top center / cover no-repeat;
    }

    #fv figure {
        text-align: center;
    } */

    #fv {
        background: url(../images/fv_bg.webp) top center / cover no-repeat;
        position: relative;
        overflow: hidden;
    }

    #fv figure {
        text-align: center;
        position: relative;
        z-index: 2;
    }

    #fv figure {
        text-align: center;
        position: relative;
        z-index: 2;
        opacity: 0;
        animation: fadeIn 5s ease forwards;
    }

    @keyframes fadeIn {
        from {
            opacity: 0;
        }

        to {
            opacity: 1;
        }
    }

    #fv .bg-text-container {
        position: absolute;
        top: 10%;
        left: 0;
        width: 100%;
        z-index: 1;
        transform: translateY(-50%);
    }

    #fv .bg-text-wrapper {
        display: flex;
        position: absolute;
        white-space: nowrap;
        will-change: transform;
    }

    #fv .bg-text-wrapper:nth-child(1) {
        animation: scroll-left 30s linear infinite;
    }

    #fv .bg-text-wrapper:nth-child(2) {
        animation: scroll-left 30s linear infinite;
        animation-delay: -15s;
    }

    #fv .bg-text-set {
        flex-shrink: 0;
        padding-right: 200px;
    }

    #fv .bg-text {
        font-size: 200px;
        font-weight: 700;
        color: rgba(255, 255, 255, 0.1);
        white-space: nowrap;
        font-style: italic;
        line-height: 1.2;
        text-align: center;
        font-family: "Oswald", sans-serif;
    }

    @keyframes scroll-left {
        from {
            transform: translateX(100%);
        }

        to {
            transform: translateX(-100%);
        }
    }

    /*-------------------------------
    #top_offer
    -------------------------------*/
    #top_offer {
        position: relative;
        background: var(--main_color_black);
        z-index: 1
    }

    #top_offer::before {
        content: '';
        position: absolute;
        top: 350px;
        bottom: 650px;
        left: 0;
        right: 0;
        background-color: #a60d15;
        transform: skewY(-20deg) translateY(130px);
        z-index: -1;
    }

    #top_offer .inner {
        padding: var(--medium) 0;
        text-align: center;
    }

    #top_offer h2 {
        margin-top: var(--small);
    }


    #top_offer p {
        margin-top: 16px;
        font-size: 3.6rem;
        font-weight: bold;
    }

    #top_offer p span {
        font-size: 3rem;
    }

    #top_offer h3 {
        margin-top: 72px;
    }

    #top_offer .movie {
        margin-top: var(--small);
    }

    #top_offer .movie video {
        width: 100%;
        margin: 0 auto;
    }

    /*-------------------------------
    #worries
    -------------------------------*/
    #worries {
        background: var(--main_color_black);
    }

    #worries .inner {
        position: relative;
        padding: 50px 0 98px;
        text-align: center;
    }

    #worries .inner h2 {
        text-align: center;
    }

    #worries .worries_wrapper {
        display: flex;
        justify-content: center;
        margin-top: var(--small);
        gap: 32px;
    }

    #worries .worries_wrapper .box {
        padding-bottom: 32px;
        background: #fff;
    }

    #worries .worries_wrapper .box p {
        margin-top: 16px;
        font-size: 2.6rem;
        line-height: 1.2;
        color: var(--main_color_black);
    }

    #worries .inner p.note {
        margin-top: var(--small);
        font-size: 4rem;
    }

    #worries figure.float_arrow {
        position: absolute;
        bottom: -50px;
        left: 50%;
        transform: translateX(-50%);
        width: 10px;
        height: auto;
    }

    /*-------------------------------
    #concept
    -------------------------------*/
    #concept {
        background: url(../images/concept_bg.webp) top center / cover no-repeat;
    }

    #concept .inner {
        padding: var(--medium) 0;
        display: flex;
        justify-content: space-between;
    }

    #concept .inner h2 img {
        width: calc(100% / 2);
        margin: 0 auto;
    }

    #concept .msg {
        margin-top: var(--small);
        font-size: 2rem;
        color: var(--main_color_black);
    }

    #concept .msg_wrapper .msg p span:first-of-type {
        font-size: 2.6rem;
    }

    #concept .msg_wrapper .msg p span:last-of-type {
        font-size: 3.4rem;
        font-weight: bold;
    }


    /*-------------------------------
    #about
    -------------------------------*/
    #about {
        background: url(../images/about_bg.webp) top center / cover no-repeat;
    }

    #about .inner {
        padding: var(--medium) 0;
        text-align: center;
    }

    #about h2 {
        padding-bottom: var(--small);
    }

    body.no-scroll {
        overflow: hidden;
    }

    #about .modal_wrapper {
        margin: var(--medium) 0 var(--small);
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 24px;
    }

    #about .modal-trigger {
        display: inline-block;
        border: 3px solid transparent;
        transition: .2s ease-in;
        text-decoration: none;
        cursor: pointer;
    }

    #about .modal-trigger:hover {
        filter: brightness(1.3);
        transition: .2s ease-in;
    }

    #about .modal {
        display: none;
        position: fixed;
        z-index: 1000;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        overflow: auto;
        background-color: rgba(0, 0, 0, 0.4);
    }

    #about .modal-content {
        background-color: #fefefe;
        border: 1px solid #888;
        width: fit-content;
        max-width: 100%;
        border-radius: 8px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        padding: 20px;
        padding-top: 40px;
        max-height: 90vh;
        overflow-y: auto;
        position: relative;
    }

    #about .modal-content img {
        max-width: 100%;
        height: auto;
        display: block;
        margin: 10px auto;
    }

    #about .modal-content img.sp,
    #about .modal-trigger img.sp {
        display: none;
    }

    #about .modal-content img.pc,
    #about .modal-trigger img.pc {
        display: block;
    }

    #about .close-btn {
        color: #aaa;
        font-size: 28px;
        font-weight: bold;
        cursor: pointer;
        position: absolute;
        top: 10px;
        left: 10px;
        padding: 5px 10px;
        line-height: 1;
    }

    #about .close-btn:hover,
    #about .close-btn:focus {
        color: #000;
        text-decoration: none;
    }

    #about .no-scroll {
        overflow: hidden;
    }

    /*--------------------------------
    #tv
    --------------------------------*/
    #tv {
        background: url(../images/tv_bg.webp) top center / cover no-repeat;
    }

    #tv .inner {
        padding: var(--medium) 0;
        text-align: center;
    }

    #tv .inner figure {
        margin-top: 24px;
    }

    /*--------------------------------
    #achivement
    --------------------------------*/
    #achivement {
        background: url(../images/achivement_bg.webp) top center / cover no-repeat;
    }

    #achivement .inner {
        padding: var(--medium) 0;
        text-align: center;
    }

    #achivement .inner figure {
        margin-top: var(--small);
        filter: drop-shadow(0px 3px 10px #000);
    }

    /*--------------------------------
    #reason
    --------------------------------*/
    #reason {
        background: url(../images/reason_bg.webp) top center / cover no-repeat;
    }

    #reason .inner {
        padding: var(--medium) 20px;
        font-size: 2rem;
    }

    #reason .inner h2 {
        text-align: center;
    }

    #reason .reason_wrapper {
        margin-top: var(--small);
    }

    #reason .reason_wrapper .box p {
        margin-top: 16px;
        text-align: justify;
    }

    #reason .reason_wrapper .box h3 {
        padding-bottom: 8px;
        border-bottom: 1px solid #fff;
        font-size: 3rem;
    }

    #reason .reason_wrapper .box:nth-child(n+2) {
        margin-top: 104px;
    }

    #reason .reason_wrapper .box figure {
        flex-shrink: 0;
    }

    #reason .reason_wrapper .box.flex {
        display: flex;
        justify-content: center;
        gap: 24px;
    }

    #reason .reason_wrapper .box:nth-child(even).flex {
        flex-flow: row-reverse;
    }

    #reason .reason_wrapper .box.flex .txt_area {
        margin-top: var(--small);
    }

    #reason p.note {
        margin-top: 104px;
        text-align: center;
        font-size: 2.4rem;
        line-height: 2.5;
    }

    /*--------------------------------
    #review
    --------------------------------*/
    #review {
        background: url(../images/review_bg.webp) top center / cover no-repeat;
    }

    #review .inner {
        padding: var(--medium) 0;
        text-align: center;
    }

    #review .inner h2 {
        text-align: center;
    }

    #review .inner h2 img {
        width: calc(100% / 4);
        margin: 0 auto;
    }

    #review p {
        margin-top: 16px;
        font-size: 2.5rem;
    }

    #review p span {
        font-size: 3rem;
    }

    #review .slide_wrapper {
        margin-top: var(--small);
        padding: 0 60px;
    }

    #review .slick-arrow {
        position: absolute;
        top: 50%;
        margin-top: -16px;
        width: 20px;
        height: 33px;
        opacity: 0.7;
        z-index: 10;
    }

    #review .prev-arrow {
        left: -50px;
    }

    #review .next-arrow {
        right: -50px;
    }

    #review .slick-track {
        display: flex !important;
    }

    #review .slick-slide {
        height: auto !important;
        text-align: center;
    }

    .slick-slider {
        margin: 0 auto;
    }

    .slick-slide img {
        margin: 0 auto;
        display: block;
    }

    /*--------------------------------
    #main_offer
    --------------------------------*/
    #main_offer {
        background: url(../images/main_offer.webp) top center / cover no-repeat;
    }

    #main_offer .inner {
        padding: var(--medium) 0;
        text-align: center;
    }

    #main_offer h2 {
        position: relative;
        padding: 7px 45px;
        font-size: 4.5rem;
        font-weight: bold;
        text-align: center;
        z-index: 2;
        width: fit-content;
        margin: 0 auto;
    }

    #main_offer h2::before {
        position: absolute;
        top: 0px;
        left: 0;
        width: 100%;
        height: 100%;
        background: #B20000;
        background: linear-gradient(90deg, rgba(178, 0, 0, 1) 0%, rgba(100, 25, 25, 1) 100%);
        transform: skew(338deg);
        content: '';
        z-index: -1;
    }

    #main_offer p.note {
        margin-top: 32px;
        font-size: 2.5rem;
        line-height: 2.5;
        color: var(--main_color_black);
    }

    #main_offer .btn_area_outer {
        margin-top: 24px;
        background-color: rgba(255, 255, 255, 0.7);
        padding: var(--small);
    }

    #main_offer .btn_area_outer h3 {
        font-size: 5rem;
        padding-bottom: 4px;
        border-bottom: 5px solid var(--main_color_red);
        width: fit-content;
        margin: 0 auto;
        color: var(--main_color_black);
    }

    #main_offer .btn_area_outer p {
        margin-top: 8px;
        font-size: 3.6rem;
        font-weight: bold;
        color: var(--main_color_black);
    }

    #main_offer .btn_area_outer p span {
        font-size: 3rem;
    }

    #main_offer .btn_area a {
        font-size: 3.3rem;
    }

    #main_offer .btn_area a:last-child {
        background: #fff;
        border: 2px solid var(--main_color_black);
        color: var(--main_color_black);
    }

    /*--------------------------------
     #faq
     --------------------------------*/
    #faq {
        background: url(../images/faq_bg.webp) top center / cover no-repeat;
    }

    #faq .inner {
        padding: var(--medium) 0;
    }

    #faq .inner h2 {
        text-align: center;
    }

    #faq .inner h2 img {
        width: calc(100% / 8);
        margin: 0 auto;
    }

    /*アコーディオンメニュー*/
    #faq .accordion_wrapper {
        margin-top: var(--small);
        border-bottom: 1px solid #fff;
    }

    #faq .accordion_one {
        margin: 0 auto;
    }

    .accordion_one .accordion_header {
        border-top: 1px solid #fff;
        color: #fff;
        font-size: 2.3rem;
        padding: 24px 24px;
        position: relative;
        z-index: +1;
        cursor: pointer;
        transition-duration: 0.2s;
    }

    .accordion_one.d2 {
        padding: 0 24px 24px;
    }

    .accordion_one.d2 .accordion_header {
        border: none;
        background: #686868;
        font-size: 2rem;
    }

    .accordion_one .accordion_header p:first-of-type {
        position: absolute;
    }

    .accordion_one .accordion_header p:last-of-type {
        padding: 0 20px 0 30px;
    }

    .accordion_one .accordion_header span.icon {
        position: absolute;
        display: block;
        width: 20px;
        height: 20px;
        right: 30px;
        top: 0;
        bottom: 0;
        margin: auto;
        cursor: pointer;
    }

    .accordion_one .accordion_header span.icon::before {
        content: "";
        position: absolute;
        background: #fff;
        transition: 0.3s cubic-bezier(0.45, 0.01, 0.27, 1.4);
        width: 3px;
        height: 21px;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
    }

    .accordion_one .accordion_header span.icon::after {
        content: "";
        position: absolute;
        background: #fff;
        transition: 0.3s cubic-bezier(0.45, 0.01, 0.27, 1.4);
        height: 3px;
        width: 20px;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
    }

    .accordion_one .accordion_header.open span.icon::before {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    .accordion_one .accordion_header.open span.icon::after {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    .accordion_one .accordion_inner {
        display: none;
        padding: 0;
        box-sizing: border-box;
    }


    /*--------------------------------
#information
--------------------------------*/
    #information {
        background: url(../images/info_bg.webp) top center / cover no-repeat;
    }

    #information .inner {
        padding: var(--medium) 20px;

    }

    #information .inner h2 {
        text-align: center;
    }

    #information .inner h2 img {
        width: calc(100% / 2);
        margin: 0 auto;
    }

    #information table {
        color: #fff;
        border-collapse: separate;
        border-spacing: 0 72px;
    }

    #information table.company_table th {
        position: relative;
        padding: 16px 72px;
        vertical-align: middle;
        border-right: 1px solid #fff;
    }

    #information table.company_table td {
        padding: 0 86px;
        vertical-align: middle;
    }

    #information table.company_table td a {
        color: #fff;
    }

    #information table.company_table td a:hover {
        text-decoration: none;
    }


    #information table.company_table td .closeddays {
        display: inline-block;
        background-color: #8a8a8a;
        padding: 8px 16px;
    }

    #information .map {
        position: relative;
        width: 100%;
        padding-bottom: 40%;
    }

    #information .map iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: all 0.7s ease;
    }

    /*--------------------------------
#flow
--------------------------------*/
    #flow {
        background: url(../images/flow_bg.webp) top center / cover no-repeat;
    }

    #flow .inner {
        padding: var(--medium) 20px;
    }

    #flow .inner h2 {
        text-align: center;
    }

    #flow .inner h2 img {
        width: calc(100% / 1.5);
        margin: 0 auto;
    }

    #flow .table_wrapper {
        padding-top: var(--small);
        margin: 0 auto;
    }

    #flow table.flow_table {
        border-collapse: collapse;
    }

    #flow table.flow_table tr {
        border-bottom: 2px solid #fff;
    }

    #flow table.flow_table th,
    td {
        padding: 40px 32px;
        vertical-align: middle;
    }


    #flow table.flow_table th {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        color: var(--main_color_red);
        font-family: "Oswald", sans-serif;
        font-optical-sizing: auto;
        line-height: 1;
    }

    #flow table.flow_table th .main {
        font-size: 7rem;
        font-weight: bold;
    }

    #flow table.flow_table th .sub {
        font-size: 2.7rem;
        font-weight: normal;
    }

    #flow table.flow_table td {
        color: #fff;

    }

    #flow table.flow_table td .title {
        display: inline-block;
        font-size: 2.5rem;
        font-weight: bold;
        line-height: 1;
        padding-bottom: 16px;
    }

    /*--------------------------------
     #form
     -------------------------------*/
    #form {
        background: #f9f9f9;
        color: var(--main_color_black);
    }

    #form .inner {
        padding: var(--medium) 20px;
    }

    #form .inner h2 {
        text-align: center;
        font-size: 4rem;
    }

    #form .inner h2 span {
        border-bottom: 3px solid var(--main_color_red);
        font-size: 5rem;
    }

    #form .inner h2 img {
        width: calc(100% / 6);
        margin: 0 auto;
    }

    #form .flow_wrapper {
        margin-top: var(--small);
        display: flex;
        justify-content: center;
        gap: 60px;
    }

    #form .step {
        background: #e9e9e9;
        padding: 32px 24px;
        width: 30%;
    }

    #form .step p.title {
        font-weight: bold;
        font-size: 2.3rem;
    }

    #form .step p.desc {
        font-size: 1.8rem;
    }

    #form p.note {
        padding: 0 50px;
    }

    #form p.note a {
        color: var(--main_color_black);
    }

    #form p.note a:hover {
        text-decoration: none;
    }

    /*--------------------------------
     footer
-------------------------------*/
    footer {
        background: var(--main_color_black);
        color: #fff;
        padding: var(--small);
        text-align: center;
    }



    /*タブレット
------------------------------*/
    @media screen and (max-width: 1024px) {

        .btn_area a {
            padding: 15px 30px;
            font-size: 3rem;
        }

        /*-------------------------------
    #fv
    -------------------------------*/
        #fv {
            background: url(../images/fv_bg_sp.webp) top center / cover no-repeat;
        }

        #fv .bg-text-container {
            top: 20%;
        }

        #fv .bg-text {
            font-size: 120px;
        }

        #fv .bg-text-set {
            padding-right: 150px;
        }

        /*-------------------------------
    #top_offer
    -------------------------------*/
        #top_offer {
            padding: 0 20px;
        }

        #top_offer .inner {
            padding: var(--small) 0;
        }

        #top_offer h2 {
            margin: var(--small) auto 0;
        }

        #top_offer p {
            font-size: 3rem;
        }

        #top_offer p:last-of-type {
            margin-top: 16px;
        }

        #top_offer h3 {
            margin-top: var(--medium)
        }


        /*-------------------------------
    #worries
    -------------------------------*/
        #worries {
            padding: 0 20px;
        }

        #worries .worries_wrapper {
            gap: 8px;
        }

        #worries .worries_wrapper .box p {
            margin-top: 16px;
            font-size: 2.2rem;
            text-align: center;
        }

        #worries .inner p.note {
            font-size: 3.5rem;
        }


        /*-------------------------------
    #concept
    -------------------------------*/
        #concept {
            padding: 0 20px;
        }

        #concept .inner {
            flex-flow: row;
        }

        #concept .msg {
            font-size: 1.6rem;
        }

        #concept .msg_wrapper .msg p span:first-of-type {
            font-size: 2rem;
        }

        #concept .msg_wrapper .msg p span:last-of-type {
            font-size: 2.5rem;
        }

        /*-------------------------------
    #about
    -------------------------------*/
        #about {
            padding: 0 20px;
        }

        #about .inner {
            padding: var(--medium) 0;
            text-align: center;
        }

        #about h2 {
            padding-bottom: var(--small);
        }

        #about .modal_wrapper {
            margin: var(--small) 0;
            gap: 8px;
        }

        #about .modal-content {
            max-width: 90%;
            padding: 0;
            padding-top: 10px;
        }

        #about .close-btn {
            font-size: 17px;
            top: 5px;
        }

        #about .close-btn:hover,
        #about .close-btn:focus {
            color: #000;
            text-decoration: none;
        }

        #about .no-scroll {
            overflow: hidden;
        }

        #about .modal-content img.sp,
        #about .modal-trigger img.sp {
            display: block;
        }

        #about .modal-content img.pc,
        #about .modal-trigger img.pc {
            display: none;
        }

        @media screen and (max-width: 1024px) and (min-width: 751px) {
            #about .modal_wrapper a.modal-trigger .pc {
                display: block;
            }

            #about .modal_wrapper a.modal-trigger .sp {
                display: none;
            }

            #about .modal_wrapper a.modal-trigger {
                width: 48%;
            }


        }


        /*--------------------------------
    #tv
    --------------------------------*/
        #tv {
            padding: 0 20px;
        }

        #tv .inner figure {
            margin-top: 16px;
        }

        /*--------------------------------
    #achivement
    --------------------------------*/
        #achivement {
            padding: 0 20px;
        }

        /*--------------------------------
    #reason
    --------------------------------*/
        #reason {
            padding: 0 20px;
        }

        #reason .inner {
            padding: var(--medium) 0;
            font-size: 1.6rem;
        }

        #reason .reason_wrapper .box figure .pc {
            display: none;
        }

        #reason .reason_wrapper .box figure .sp {
            display: block;
        }

        #reason .reason_wrapper .box br.pc {
            display: none;
        }

        #reason .reason_wrapper .box p {
            margin-top: 8px;
        }

        #reason .reason_wrapper .box h3 {
            padding-bottom: 4px;
            font-size: 2.3rem;
        }

        #reason .reason_wrapper .box:nth-child(n+2) {
            margin-top: 40px;
        }

        #reason .reason_wrapper .box.flex {
            flex-flow: column;
            gap: 8px;
        }

        #reason .reason_wrapper .box:nth-child(even).flex {
            flex-flow: column;
        }

        #reason .reason_wrapper .box.flex .txt_area {
            margin-top: 0;
        }

        #reason p.note {
            margin-top: 40px;
            font-size: 1.8rem;
            line-height: 1.8;
        }

        /*--------------------------------
    #review
    --------------------------------*/
        #review {
            padding: 0 20px;
        }

        #review .inner h2 img {
            width: calc(100% / 2);
        }

        #review .slide_wrapper {
            margin-top: var(--small);
            padding: 0 20px;
        }

        #review .prev-arrow {
            left: -35px;
        }

        #review .next-arrow {
            right: -35px;
        }

        #review li {
            padding: 5px;
        }


        /*--------------------------------
    #main_offer
    --------------------------------*/
        #main_offer {
            padding: 0 20px;
        }

        #main_offer .inner {
            padding: 48px 0;
        }

        #main_offer h2 {
            padding: 7px 45px;
            font-size: 3.5rem;
        }

        #main_offer p.note {
            margin-top: 16px;
            font-size: 1.8rem;
            line-height: 1.6;
        }

        #main_offer .btn_area_outer {
            margin-top: 16px;
        }

        #main_offer .btn_area_outer h3 {
            font-size: 3.5rem;
            line-height: 1.4;
        }

        #main_offer .btn_area_outer p {
            font-size: 2.3rem;
            line-height: 1.4;
        }

        #main_offer .btn_area_outer p span {
            font-size: 2rem;
        }

        #main_offer .btn_area a {
            font-size: 2.3rem;
        }

        /*--------------------------------
     #faq
     --------------------------------*/
        #faq {
            padding: 0 20px;
        }

        #faq .inner h2 img {
            width: calc(100% / 5);
        }

        /*アコーディオンメニュー*/
        .accordion_one .accordion_header {
            font-size: 18px;
        }

        .accordion_one.d2 {
            padding: 0 16px 24px;
        }

        .accordion_one.d2 .accordion_header {
            font-size: 1.6rem;
        }

        .accordion_one .accordion_header p:last-of-type {
            padding: 0 10px 0 23px;
        }

        .accordion_one .accordion_header span.icon {
            width: 20px;
            height: 20px;
            right: 15px;
        }

        .accordion_one .accordion_header span.icon::before {
            width: 2px;
            height: 15px;
        }

        .accordion_one .accordion_header span.icon::after {
            height: 2px;
            width: 15px;
        }

        .accordion_one .accordion_header .i_box {
            width: 30px;
            height: 30px;
            margin-top: -15px;
        }

        /*--------------------------------
          #information
         --------------------------------*/
        #information {
            padding: 0 20px;
        }

        #information .inner {
            padding: var(--medium) 0;
            font-size: 1.4rem;
        }

        #information .inner h2 img {
            width: calc(100% - 60px);
        }

        #information table {
            width: 100%;
        }

        #information table.company_table th {
            padding: 16px;
            border-right: none;
            border-bottom: 1px solid #fff;
            display: block;
        }

        #information table.company_table td {
            padding: 16px;
            display: block;
        }

        #information .map {
            position: relative;
            width: 100%;
            padding-bottom: 60%;
        }

        /*--------------------------------
#flow
--------------------------------*/
        #flow {
            padding: 0 20px;
        }

        #flow .inner {
            padding: var(--medium) 0;
        }

        #flow .inner h2 {
            text-align: center;
        }

        #flow .inner h2 img {
            width: 100%;
        }

        #flow .table_wrapper {
            padding-top: var(--small);
        }

        #flow table.flow_table tr {
            border-bottom: 1px solid #fff;
        }

        #flow table.flow_table th,
        td {
            padding: 8px 8px 10px;
            display: block;
        }

        #flow table.flow_table th {
            margin-top: 24px;
        }


        #flow table.flow_table th .main {
            font-size: 3.5rem;
        }


        #flow table.flow_table td .title {
            font-size: 2.5rem;
            padding-bottom: 8px;
        }


        /*--------------------------------
     #form
     -------------------------------*/
        #form {
            padding: 0 20px;
        }

        #form .inner {
            padding: var(--medium) 0;
        }

        #form .inner h2 {
            font-size: 2.5rem;
        }

        #form .inner h2 span {
            font-size: 3rem;
        }

        #form .inner h2 img {
            width: calc(100% / 6);
            margin: 0 auto;
        }

        #form .flow_wrapper {
            flex-direction: row;
            gap: 15px;
            padding: 0 20px;
        }

        #form .step {
            padding: 16px;
            width: auto;
        }

        #form .step p.title {
            font-size: 1.8rem;
        }

        #form .step p.desc {
            font-size: 1.4rem;
        }

        #form p.note {
            padding: 0;
            font-size: 1.4rem;
        }


    }




    /*スマホ
------------------------------*/

    @media screen and (max-width: 750px) {

        :root {
            --small: 24px;
            --medium: 48px;
            --large: 64px;
        }

        .pc {
            display: none !important;
        }

        .sp {
            display: block;
        }

        .w1080 {
            max-width: none;
        }

        /*btn_area*/
        .btn_area {
            margin-top: 24px;
            flex-flow: column;
            gap: 16px;
        }

        .btn_area a {
            padding: 10px 30px;
            font-size: 2.5rem;
        }

        /*-------------------------------
    #fv
    -------------------------------*/
        #fv {
            background: url(../images/fv_bg_sp.webp) top center / cover no-repeat;
        }

        #fv .bg-text {
            font-size: 80px;
            /* 小サイズ */
        }

        #fv .bg-text-set {
            padding-right: 100px;
        }

        #fv .bg-text-container {
            top: 10%;
        }

        /*-------------------------------
    #top_offer
    -------------------------------*/
        #top_offer {
            position: relative;
            z-index: 1;
            padding: 0 15px;
        }

        #top_offer .inner {
            padding: var(--small) 0;
        }

        #top_offer::before {
            top: 220px;
            bottom: 420px;
            transform: skewY(-27deg) translateY(0px);
        }

        #top_offer h2 {
            margin: var(--medium) auto 0;
        }

        #top_offer p {
            font-size: 2.2rem;
        }

        #top_offer p span {
            font-size: 1.6rem;
        }

        #top_offer p:last-of-type {
            margin-top: 16px;
        }

        #top_offer h3 {
            margin-top: var(--medium)
        }

        /*-------------------------------
    #worries
    -------------------------------*/
        #worries {
            padding: 0 15px;
        }

        #worries .inner {
            padding: 16px 0 56px;
        }

        #worries .worries_wrapper {
            flex-flow: column;
            gap: 16px;
        }

        #worries .worries_wrapper .box {
            display: flex;
            align-items: center;
            padding-bottom: 0;
            padding-right: 16px;
        }

        #worries .worries_wrapper .box p {
            margin-top: 0;
            font-size: 1.8rem;
            flex-shrink: 0;
            text-align: left;
        }

        #worries .worries_wrapper .box figure {
            width: 40%;
        }

        #worries .inner p.note {
            font-size: 2.5rem;
        }

        #worries figure.float_arrow {
            bottom: -30px;
            width: 8px;
        }

        /*-------------------------------
    #concept
    -------------------------------*/
        #concept {
            background: url(../images/concept_bg.webp) top center / cover no-repeat;
            padding: 0 15px;
        }

        #concept .inner {
            padding: var(--medium) 0;
            flex-flow: column;
            justify-content: center;
            gap: 16px;
            text-align: center;
        }


        #concept .inner h2 img {
            width: calc(100% - 100px);
            margin: 0 auto;
        }

        /*-------------------------------
    #about
    -------------------------------*/
        #about {
            padding: 0 15px;
        }

        /*--------------------------------
    #tv
    --------------------------------*/
        #tv {
            padding: 0 15px;
        }

        #tv .inner figure {
            margin-top: 8px;
        }

        /*--------------------------------
    #achivement
    --------------------------------*/
        #achivement {
            padding: 0 15px;
        }


        /*--------------------------------
    #reason
    --------------------------------*/
        #reason {
            padding: 0 15px;
        }

        #reason .reason_wrapper .box h3 {
            padding-bottom: 8px;
            font-size: 2.3rem;
        }

        /*--------------------------------
    #review
    --------------------------------*/
        #review {
            padding: 0 15px;
        }


        #review .inner h2 img {
            width: calc(100% / 2);
        }

        #review p {
            margin-top: 16px;
            font-size: 1.6rem;
        }

        #review p span {
            font-size: 2rem;
        }

        #review .slide_wrapper {
            margin-top: var(--small);
            padding: 0 20px;
        }

        #review .prev-arrow {
            left: -30px;
        }

        #review .next-arrow {
            right: -30px;
        }

        /*--------------------------------
    #main_offer
    --------------------------------*/
        #main_offer {
            padding: 0 15px;
        }

        #main_offer h2 {
            font-size: 2.5rem;
        }

        /*--------------------------------
     #faq
     --------------------------------*/
        #faq {
            padding: 0 15px;
        }

        #faq .inner h2 img {
            width: calc(100% / 4);
        }

        /*アコーディオンメニュー*/
        .accordion_one .accordion_header {
            font-size: 1.6rem;
            padding: 16px 16px;
        }

        /*--------------------------------
          #information
         --------------------------------*/
        #information {
            padding: 0 15px;
        }

        #information table {
            border-spacing: 0 24px;
        }


        /*--------------------------------
#flow
--------------------------------*/
        #flow {
            padding: 0 15px;
        }

        /*--------------------------------
     #form
     -------------------------------*/
        #form {
            padding: 0 15px;
        }

        #form .flow_wrapper {
            flex-direction: column;
            justify-content: center;
            gap: 30px;
        }

        /*---------------------------
    #float_bnr
------------------------------*/
        #float_bnr {
            position: fixed;
            bottom: 0;
            left: 0;
            z-index: 10;
        }

        #float_bnr a {
            display: block;
        }

        #float_bnr a:hover {
            opacity: .8s;
        }

        /*---------------------------
    #page_top
------------------------------*/
        #page_top {
            position: fixed;
            display: none;
            right: 6%;
            width: 50px;
            height: 50px;
            border-radius: 50px;
            background: rgba(189, 189, 189, 0.9) no-repeat;
            z-index: 5;
            touch-action: manipulation;
        }



        #page_top a::before {
            position: absolute;
            top: 32%;
            left: 48%;
            transform: translate(-50%, -50%);
            width: 15px;
            height: 15px;
            color: #fff;
            font-family: 'Font Awesome 5 Free';
            font-weight: 900;
            content: '\f077';
            font-size: 20px;
            text-align: center;
        }

        /*--------------------------------
     footer
-------------------------------*/
        footer {
            font-size: 1rem;
        }

    }