@charset "UTF-8";

@media screen and (max-width: 1024px) {

    /*index*/
    .index .mainimg {
        height: auto;
        padding: 0 0 8rem;
    }
    .index .mainimg .slider .set {
        gap: 2vw;
        margin: 0 2vw 0 0;
    }
    .index .mainimg .slider .picA,
    .index .mainimg .slider .picC {
        width: 28vw;
        height: 46vw;
    }
    .index .mainimg .slider .picB {
        width: 80vw;
        height: 52vw;
    }
    .index .mainimg .window {
        width: 88%;
        position: relative;
        left: auto;
        top: auto;
        margin: -3rem auto 0;
        padding: 2rem;
    }
    .index .mainimg .window h2 {
        font-size: 1.8rem;
    }
    .index .mainimg .window h2 {
        margin: 0 0 0.8rem;
    }
    .index .mainimg .window p {
        font-size: 1.4rem;
    }
    .index .mainimg .window {
        margin-bottom: 3rem;
    }
    .index .mainimg .scroll {
        width: 6rem;
        position: static;
        margin: 0 auto 0;
    }
    .index .mainimg .arrow {
        width: 6rem;
        left: 50%;
        bottom: 9.7rem;
        transform: translateX(-50%);
    }


    .index_cnt1 {
        padding: 5rem 0 8rem;
    }
    :is(.index_cnt1, .index_cnt3, .index_cnt5) .illust {
        opacity: 0.4;
        z-index: 0;
    }
    :is(.index_cnt1, .index_cnt3, .index_cnt5) .inner {
        position: relative;
        z-index: 1;
    }
    .index_cnt1 .illust:nth-of-type(1) {
        width: 9rem;
        left: 3%;
        top: 38rem;
    }
    .index_cnt1 .illust:nth-of-type(2) {
        width: 9rem;
        right: 3%;
        top: 14rem;
    }
    .index_cnt1 .inner .titleA {
        margin-bottom: 3rem;
    }
    .index_cnt1 .inner .cmt {
        font-size: 1.5rem;
        line-height: 2.2;
        text-align: left;
    }
    .index_cnt1 .inner .cmt {
        margin-bottom: 4rem;
    }
    .index_cnt1 .inner .flex {
        display: block !important;
    }
    .index_cnt1 .inner .flex .buttonA,
    .index_cnt1 .inner .flex .buttonB {
        min-width: initial;
        margin-bottom: 1.4rem;
    }


    .index_cnt2 .slider .pic {
        height: 52vw;
        padding: 0 0.2rem;
    }
    .index_cnt2 .catch_img {
        display: none;
    }
    .index_cnt2 .catch {
        width: 26rem;
        height: 7rem;
        font-size: 2rem;
        left: 4%;
        bottom: auto;
        transform: translateY(-50%) rotate(-5.6deg);
        background: #fff;
        box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.08);
        display: grid;
        place-items: center;
        font-family: "Yomogi", "Zen Kaku Gothic New", sans-serif;
        font-weight: 400;
        letter-spacing: 0.1em;
        text-indent: 0.1em;
        position: absolute;
    }


    .index_cnt3 {
        padding: 8rem 0 0;
    }
    .index_cnt3 .illust {
        width: 7rem;
        right: 4%;
        top: 14rem;
    }
    .index_cnt3 .inner .titleA {
        margin-bottom: 4rem;
    }
    .index_cnt3 .inner .col2 {
        display: block !important;
    }
    .index_cnt3 .inner .col2 :is(.left, .right) {
        width: auto;
        flex: initial;
    }
    .index_cnt3 .inner .col2 .left {
        margin: 0 0 2.5rem;
    }
    .index_cnt3 .inner .col2 .right .titleC {
        margin: 0 0 2rem;
    }
    .index_cnt3 .inner .col2 .right .price p {
        font-size: 2.2rem;
    }
    .index_cnt3 .inner .col2 .right .price {
        margin-bottom: 2rem;
    }
    .index_cnt3 .inner .col2 .right .cmt {
        font-size: 1.5rem;
        line-height: 2.2;
    }
    .index_cnt3 .inner .col2 .right .cmt {
        margin-bottom: 3rem;
    }
    .index_cnt3 .inner .col2 .right .flex {
        display: block !important;
    }
    .index_cnt3 .inner .col2 .right .flex .buttonB {
        margin-bottom: 1.4rem;
    }
    .index_cnt3 .inner .col2 {
        margin-bottom: 6rem;
    }
    .index_cnt3 .inner .grid {
        display: block;
    }
    .index_cnt3 .inner .grid .li {
        margin: 0 0 5rem;
    }
    .index_cnt3 .inner .grid .li .pic {
        margin: 0 0 2rem;
    }
    .index_cnt3 .inner .grid .li .titleC {
        margin-bottom: 2rem;
    }
    .index_cnt3 .inner .grid .li .flex {
        display: block !important;
    }
    .index_cnt3 .inner .grid .li .flex .buttonB {
        margin-bottom: 1.4rem;
    }


    .index_cnt3 {
        margin: 0 0 6rem;
    }
    .index_cnt4 {
        padding: 5rem 0 5rem;
    }
    .index_cnt4 .inner .titleB {
        padding: 0 0 0 8rem;
    }
    .index_cnt4 .inner .titleB .illust {
        width: 9rem;
        left: -2.5rem;
        top: -0.4rem;
    }
    .index_cnt4 .inner {
        margin-bottom: 3rem;
    }
    .index_cnt4 .pic {
        width: 100%;
        height: 52vw;
    }
    .index_cnt4 .pic {
        margin-bottom: 3rem;
    }
    .index_cnt4 .buttonB {
        min-width: initial;
        position: static;
        margin: 0 auto 0;
    }


    .index_cnt4 {
        margin-bottom: 6rem;
    }
    .index_cnt5::before {
        width: 92%;
        height: calc(100% - 8rem);
        top: 8rem;
    }
    .index_cnt5 .illust {
        width: 12rem;
        left: auto;
        right: 3%;
        top: 0;
    }
    .index_cnt5 .inner {
        padding: 7rem 0 5rem;
    }
    .index_cnt5 .inner .titleB {
        margin: 0 0 3rem;
    }
    .index_cnt5 .inner .webgene-blog {
        width: 100%;
    }
    .index_cnt5 .inner .webgene-blog .webgene-item {
        padding: 0 0.6rem;
    }
    .index_cnt5 .inner .webgene-blog .webgene-item .dl .dt {
        font-size: 1.7rem;
        padding: 1.6rem 2rem 0;
    }
    .index_cnt5 .inner .webgene-blog .webgene-item .dl .cmt {
        padding: 1.2rem 2rem 2rem;
    }
    .index_cnt5 .inner .webgene-blog .webgene-item .dl .cmt p {
        font-size: 1.4rem;
    }
    .index_cnt5 .inner .webgene-blog :is(.slick-prev, .slick-next) {
        width: 4.4rem;
        height: 4.4rem;
        top: -6.4rem;
    }
    .index_cnt5 .inner .webgene-blog .slick-prev {
        left: auto;
        right: 5.6rem;
    }
    .index_cnt5 .inner .webgene-blog .slick-next {
        left: auto;
        right: 0;
        transform: none;
    }
    .index_cnt5 .inner .webgene-blog {
        margin-bottom: 3rem;
    }
    .index_cnt5 .inner .buttonC {
        min-width: initial;
        margin: 0 auto 0;
    }


    .index_cnt5 {
        margin-bottom: 6rem;
    }
    .index_cnt6 .inner .flex {
        flex-wrap: wrap;
    }
    .index_cnt6 .inner .flex .li {
        width: 50%;
        height: 44vw;
    }
    .index_cnt6 .inner .sns {
        top: 50%;
        transform: translate(-50%, -50%);
    }
    .index_cnt6 .inner .sns a {
        font-size: 1.5rem;
    }
    .index_cnt6 .inner .more {
        width: 4.4rem;
        left: auto;
        right: 1.5rem;
        top: 50%;
        transform: translateY(-50%);
    }

    .index .index_cnt6 {
        margin-bottom: 6rem;
    }




    /*about*/
    .about_cnt1 {
        background-size: 200% auto;
        padding: 6rem 0 0;
    }
    :is(.about_cnt1, .about_cnt2, .about_cnt3) .illust {
        opacity: 0.4;
        z-index: 0;
    }
    :is(.about_cnt1, .about_cnt2, .about_cnt3) .inner {
        position: relative;
        z-index: 1;
    }
    .about_cnt1 .illust {
        opacity: 100;/*追加*/
        width: 12rem;
        /*left: 4%;
        top: 46rem;*/
    }
    .about_cnt1 .inner .titleA {
        margin-bottom: 4rem;
    }
    .about_cnt1 .inner .catch_img {
        display: none;
    }
    .about_cnt1 .inner .catch {
        font-size: 2rem;
        display: block;
        margin-bottom: 2.5rem;
    }
    .about_cnt1 .inner .cmt {
        font-size: 1.5rem;
        line-height: 2.2;
        text-align: left;
    }
    .about_cnt1 .inner {
        margin-bottom: 6rem;
    }
    .about_cnt1 .pic {
        height: 55vw;
    }


    .about_cnt2::before {
        width: 92%;
        height: 40rem;
        top: 20rem;
    }
    .about_cnt2 .illust {
        width: 8rem;
        left: auto;
        right: 4%;
        top: 5rem;
    }
    .about_cnt2 .inner {
        padding: 5rem 0 0;
    }
    .about_cnt2 .inner .pic {
        width: 100%;
        height: 52vw;
        position: static;
        margin: 0 0 3rem;
    }
    .about_cnt2 .inner .titleB {
        margin: 0 0 2.5rem;
    }
    .about_cnt2 .inner .cmt {
        font-size: 1.5rem;
        line-height: 2.2;
    }
    .about_cnt2 > .inner {
        margin-bottom: 5rem;
    }
    .about_cnt2 > .pic {
        width: 100%;
        height: 52vw;
    }


    .about_cnt3 {
        padding: 5rem 0 0;
    }
    .about_cnt3 .illust:nth-of-type(1) {
        width: 8rem;
        left: auto;
        right: 4%;
        top: 0;
    }
    .about_cnt3 .illust:nth-of-type(2) {
        display: none;
    }
    .about_cnt3 .inner .cmt {
        font-size: 1.5rem;
        line-height: 2.2;
    }


    .about_cnt3 {
        margin: 0 0 6rem;
    }
    .about_cnt4 {
        padding: 5rem 0 5rem;
    }
    .about_cnt4 .inner .titleB {
        margin: 0 0 3rem;
    }
    .about_cnt4 .inner .grid {
        width: 100%;
        display: block;
    }
    .about_cnt4 .inner .grid .li {
        margin: 0 0 4rem;
    }
    .about_cnt4 .inner .grid .li:nth-of-type(even) {
        margin: 0 0 4rem;
    }
    .about_cnt4 .inner .grid .li .window::before {
        left: -0.8rem;
        top: 0.9rem;
    }
    .about_cnt4 .inner .grid .li .window {
        min-height: initial;
        padding: 2rem 2rem 2.5rem;
    }
    .about_cnt4 .inner .grid .li .window .titleC {
        margin: 0 0 1.5rem;
    }
    .about_cnt4 .inner .grid .li .window .cmt {
        font-size: 1.4rem;
    }




    /*service*/
    .service_cnt1 {
        padding: 5rem 0 5rem;
    }
    .service_cnt1::before {
        width: 100%;
        height: 30rem;
        top: 30rem;
    }
    .service_cnt1 .pic:nth-of-type(1) {
        width: 40%;
        height: 36vw;
        left: auto;
        right: 4%;
        top: 2rem;
    }
    .service_cnt1 .pic:nth-of-type(2) {
        display: none;
    }
    .service_cnt1 .inner .catch_img {
        display: none;
    }
    .service_cnt1 .inner .catch {
        font-size: 2.2rem;
        font-family: "Yomogi", "Zen Kaku Gothic New", sans-serif;
        font-weight: 400;
        letter-spacing: 0.08em;
        margin: 0 0 12rem;
        display: block;
    }
    .service_cnt1 .inner .check .li {
        font-size: 1.5rem;
        line-height: 2.2;
    }
    .service_cnt1 .inner .check {
        margin-bottom: 3rem;
    }
    .service_cnt1 .inner .sub_img {
        display: none;
    }
    .service_cnt1 .inner .sub {
        font-size: 2rem;
        font-family: "Yomogi", "Zen Kaku Gothic New", sans-serif;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0.08em;
        display: block;
    }
    .service_cnt1 .inner .read {
        font-size: 1.5rem;
    }


    .service_cnt2 {
        padding: 6rem 0 0;
    }
    .service_cnt2 .inner .titleA {
        margin-bottom: 4rem;
    }
    .service_cnt2 .inner .col2 {
        display: block !important;
    }
    .service_cnt2 .inner .col2 :is(.left, .right) {
        width: auto;
        flex: initial;
    }
    .service_cnt2 .inner .col2 .left {
        margin: 0 0 2.5rem;
    }
    .service_cnt2 .inner .col2 .right .titleC {
        margin: 0 0 2rem;
    }
    .service_cnt2 .inner .col2 .right .price p {
        font-size: 2.2rem;
    }
    .service_cnt2 .inner .col2 .right .price {
        margin-bottom: 2rem;
    }
    .service_cnt2 .inner .col2 .right .cmt {
        font-size: 1.5rem;
        line-height: 2.2;
    }
    .service_cnt2 .inner .col2 {
        margin-bottom: 4rem;
    }
    .service_cnt2 .inner .window {
        padding: 2rem 0 2.5rem;
    }
    .service_cnt2 .inner .window .label {
        font-size: 1.7rem;
        margin: 0 0 0 1.5rem;
        padding: 1rem 2rem;
    }
    .service_cnt2 .inner .window .cmt {
        font-size: 1.4rem;
        padding: 0 2rem 0 2rem;
    }
    .service_cnt2 .inner .window {
        margin-bottom: 3rem;
    }
    .service_cnt2 .inner .grid {
        display: block;
    }
    .service_cnt2 .inner .grid .dl {
        margin: 0 0 3rem;
    }
    .service_cnt2 .inner .grid .dl .dt {
        min-width: initial;
        font-size: 1.6rem;
        padding: 1rem 2rem;
    }
    .service_cnt2 .inner .grid .dl .dd {
        min-height: initial;
        font-size: 1.4rem;
        padding: 4rem 2rem 2.5rem;
    }
    .service_cnt2 .inner .grid {
        margin-bottom: 3rem;
    }
    .service_cnt2 .inner .read {
        font-size: 1.4rem;
    }
    .service_cnt2 .inner .read {
        margin-bottom: 2.5rem;
    }
    .service_cnt2 .inner .flex {
        display: block !important;
    }
    .service_cnt2 .inner .flex .buttonA {
        margin-bottom: 1.4rem;
    }
    .service_cnt2 .inner .flex {
        margin-bottom: 6rem;
    }
    .service_cnt2 .inner .windowB {
        padding: 2rem 0 2.5rem;
    }
    .service_cnt2 .inner .windowB .label {
        font-size: 1.7rem;
        margin: 0 0 0 1.5rem;
        padding: 1rem 2rem;
    }
    .service_cnt2 .inner .windowB .label {
        margin-bottom: 2rem;
    }
    .service_cnt2 .inner .windowB .pic {
        width: 88%;
        height: 50vw;
        position: static;
        margin: 0 auto 0;
    }
    .service_cnt2 .inner .windowB .pic {
        margin-bottom: 2rem;
    }
    .service_cnt2 .inner .windowB .cmt {
        width: 100%;
        font-size: 1.4rem;
        padding: 0 2rem;
    }


    .service_cnt3 {
        padding: 6rem 0 0;
    }
    .service_cnt3 .inner {
        margin-bottom: 3rem;
    }
    .service_cnt3 .slider .pic {
        height: 52vw;
        padding: 0 0.2rem;
    }


    .service_cnt3 {
        margin: 0 0 6rem;
    }
    .service_cnt4 {
        padding: 5rem 0 5rem;
    }
    .service_cnt4 .inner .titleB {
        margin: 0 0 3rem;
    }
    .service_cnt4 .inner .dl .dt {
        font-size: 1.6rem;
        padding: 1.2rem 4rem 1.2rem 1.5rem;
    }
    .service_cnt4 .inner .dl .dt::before {
        font-size: 2rem;
        margin: 0 1rem 0 0;
    }
    .service_cnt4 .inner .dl .dd {
        font-size: 1.4rem;
        padding: 1.5rem 2rem 2rem;
    }




    /*other*/
    .other_cnt1 {
        padding: 5rem 0 0;
    }
    .other_cnt1 .inner .titleA {
        margin-bottom: 3rem;
    }
    .other_cnt1 .inner .flex {
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.8rem;
    }
    .other_cnt1 .inner .flex .li {
        width: calc(50% - 0.4rem);
        max-width: initial;
        margin: 0;
    }
    .other_cnt1 .inner .flex .li p {
        width: 100%;
        height: 4.4rem;
    }
    .other_cnt1 .inner .flex .li p a {
        font-size: 1.4rem;
        padding: 0 2.4rem 0 1.2rem;
    }
    .other_cnt1 .inner .flex .li p a::after {
        right: 1.4rem;
    }

    .other_cnt1 {
        margin: 0 0 6rem;
    }
    .other_cnt2 {
        margin-bottom: 5rem;
    }
    .other_cnt3 {
        padding: 5rem 0 5rem;
    }
    .other_cnt3 {
        margin-bottom: 5rem;
    }
    .other_cnt4 {
        margin-bottom: 5rem;
    }
    .other_cnt5 {
        padding: 5rem 0 5rem;
    }
    .other_cnt5 {
        margin-bottom: 5rem;
    }

    /*プラン共通*/
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .sliderB {
        width: 100%;
        margin: 3rem 0 0 !important;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .sliderB .pic {
        width: 88vw;
        height: 58vw;
        margin: 0 0.5rem 0 0;
    }
      :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .sliderB :is(.slick-prev, .slick-next) {
        width: 4.4rem;
        height: 4.4rem;
        top: 50%;
        bottom: auto;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .sliderB .slick-prev {
        left: 1rem;
        right: auto;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .sliderB .slick-next {
        left: auto;
        right: 1rem;
    }

    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .col2 {
        display: block !important;
        margin: 3rem 0 0;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .col2 .cmt {
        font-size: 1.5rem;
        line-height: 2.2;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .col2 .cmt {
        margin: 0 0 2.5rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .col2 .price {
        min-height: initial;
        border-left: none;
        border-top: 0.2rem solid #000;
        margin: 0 0 0 !important;
        padding: 2rem 0 0 !important;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .col2 .price .num {
        font-size: 2.2rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .col2 .price .sub {
        font-size: 1.4rem;
        margin: 0 0 0.8rem !important;
    }

    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window {
        margin: 3rem 0 0 !important;
        padding: 0.4rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl {
        padding:2rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dt {
        font-size: 1.8rem;
        padding: 0;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd {
        padding: 0;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .flex {
        display: block;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .flex .li {
        font-size: 1.4rem;
        margin: 0 0 0.6rem;
        padding: 1.2rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .col2 {
        display: block !important;
        margin: 0;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .col2 .dl :is(.dt, .dd) {
        font-size: 1.4rem;
        padding: 0 0 1rem;
        margin: 0 0 1.4rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .col2 .dl .dt {
        padding-left: 0.5rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .col2 .dl .dd {
        padding-right: 0.5rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .cmt {
        font-size: 1.4rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd.cmt {
        font-size: 1.4rem;
        padding: 1.5rem 2rem 2.5rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .window {
        margin: 1.5rem 0 0 !important;
        padding: 1.5rem 1.2rem 2rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .window .catch {
        font-size: 1.5rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .window .catch {
        margin: 0 0 1.2rem;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .window .cmt {
        padding: 0;
    }

    :is(.other_cnt3, .other_cnt6) .inner .read {
        font-size: 1.4rem;
        margin: 2.5rem 0 0;
    }
    :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner > .buttonA {
        min-width: initial;
        margin: 2.5rem auto 0 !important;
    }

    .other .other_cnt6 {
        margin-bottom: 6rem;
    }




    /*flow*/
    .flow_cnt1 {
        padding: 5rem 0 0;
    }
    :is(.flow_cnt2, .flow_cnt3, .flow_cnt4, .flow_cnt5)::before {
        width: 92%;
        height: calc(100% - 4rem);
        top: 4rem;
    }
    .flow_cnt1 {
        margin: 0 0 5rem;
    }
    .flow_cnt2 {
        padding: 4rem 0 4rem;
    }
    :is(.flow_cnt3, .flow_cnt4, .flow_cnt5) {
        margin: 5rem 0 0;
        padding: 4rem 0 4rem;
    }
    :is(.flow_cnt2, .flow_cnt3, .flow_cnt4, .flow_cnt5) .inner .col2 .pic {
        width: 100%;
        height: 58vw;
        margin: 0 0 2.5rem !important;
    }
    :is(.flow_cnt2, .flow_cnt3, .flow_cnt4, .flow_cnt5) .inner .col2 .pic::before {
        left: 1rem;
        top: 1rem;
    }
    :is(.flow_cnt2, .flow_cnt3, .flow_cnt4, .flow_cnt5) .inner .col2 .step {
        font-size: 3rem;
    }
    :is(.flow_cnt2, .flow_cnt3, .flow_cnt4, .flow_cnt5) .inner .col2 .step {
        margin: 0 0 2rem;
    }
    :is(.flow_cnt2, .flow_cnt3, .flow_cnt4, .flow_cnt5) .inner .col2 h3 {
        font-size: 2rem;
    }
    :is(.flow_cnt2, .flow_cnt3, .flow_cnt4, .flow_cnt5) .inner .col2 .cmt {
        font-size: 1.5rem;
        line-height: 2.2;
        margin: 2rem 0 0;
    }
    .flow_cnt2 .inner .col2 .cmt {
        margin-bottom: 2.5rem;
    }
    .flow_cnt2 .inner .col2 .buttonA {
        min-width: initial;
        margin: 0 auto 0;
    }
    .flow_cnt3 .inner .col2 .right .window {
        margin: 2.5rem 0 0;
        padding: 2rem;
    }
    .flow_cnt3 .inner .col2 .right .window h4 {
        font-size: 1.7rem;
    }
    .flow_cnt3 .inner .col2 .right .window h4 {
        margin: 0 0 1.5rem;
    }
    .flow_cnt3 .inner .col2 .right .window .cmt {
        font-size: 1.4rem;
    }
    .flow_cnt4 .inner .col2 {
        margin: 0 0 4rem;
    }
    .flow_cnt4 .inner .window {
        padding: 2rem 1.5rem 2.5rem;
    }
    .flow_cnt4 .inner .window h4 {
        font-size: 1.6rem;
    }
    .flow_cnt4 .inner .window h4 {
        margin: 0 0 2rem;
    }
    .flow_cnt4 .inner .window .flex {
        flex-wrap: wrap;
        gap: 1.2rem;
    }
    .flow_cnt4 .inner .window .flex .dl {
        width: calc(33.3% - 0.8rem);
    }
    .flow_cnt4 .inner .window .flex .dl .dt {
        font-size: 1.3rem;
    }
    .flow_cnt5 .inner .window {
        margin: 4rem 0 0;
        padding: 2rem 1.5rem 2.5rem;
    }
    .flow_cnt5 .inner .window h4 {
        font-size: 1.6rem;
    }
    :is(.flow_cnt2, .flow_cnt3, .flow_cnt4, .flow_cnt5) .inner > .col2 :is(.left, .right) {
        width: auto;
        flex: initial;
    }
    .flow_cnt5 .inner .window h4 {
        margin: 0 0 2rem;
    }
    .flow_cnt5 .inner .window .col2 {
        display: block !important;
        padding: 0;
    }
    .flow_cnt5 .inner .window .col2 :is(.left, .right) {
        width: auto;
        flex: initial;
    }
    .flow_cnt5 .inner .window .col2 .right {
        border-left: none;
        border-top: 0.2rem solid #000;
        padding: 2.5rem 0 0;
    }
    .flow_cnt5 .inner .window .col2 .label {
        width: 11rem;
        height: 3.4rem;
        font-size: 1.4rem;
    }
    .flow_cnt5 .inner .window .col2 .label {
        margin-bottom: 1.5rem;
    }
    .flow_cnt5 .inner .window .col2 .flex {
        gap: 3.5rem;
    }
    .flow_cnt5 .inner .window .col2 .flex .li:not(:first-child)::before {
        left: -2.2rem;
        top: 2.4rem;
    }
    .flow_cnt5 .inner .window .col2 .flex .li img {
        height: 5rem;
    }
    .flow_cnt5 .inner .window .col2 .flex .li p {
        font-size: 1.2rem;
    }


    .flow_cnt6 {
        padding: 6rem 0 0;
    }
    .flow_cnt6 .inner .titleB {
        margin: 0 0 3rem;
    }
    .flow_cnt6 .inner .set .li {
        border-bottom-width: 0.2rem;
        padding: 0 0 2.5rem;
    }
    .flow_cnt6 .inner .set .li:not(:first-of-type) {
        padding-top: 2.5rem;
    }
    .flow_cnt6 .inner .set .li .titleC {
        margin: 0 0 1.8rem;
    }
    .flow_cnt6 .inner .set .li .cmt {
        font-size: 1.5rem;
        line-height: 2.2;
    }


    .flow_cnt6 {
        margin: 0 0 6rem;
    }
    .flow_cnt7 {
        padding: 5rem 0 5rem;
    }
    .flow_cnt7 .inner .titleB {
        margin: 0 0 3rem;
    }
    .flow_cnt7 .inner .dl .dt {
        font-size: 1.6rem;
        padding: 1.2rem 4rem 1.2rem 1.5rem;
    }
    .flow_cnt7 .inner .dl .dt::before {
        font-size: 2rem;
        margin: 0 1rem 0 0;
    }
    .flow_cnt7 .inner .dl .dd {
        font-size: 1.4rem;
        padding: 1.5rem 2rem 2rem;
    }




    /*gallery*/
    .gallery_cnt1 {
        padding: 5rem 0;
    }
    .gallery_cnt1 .inner .typeA {
        column-gap: 0.8rem;
        row-gap: 0;
    }
    .gallery_cnt1 .inner .typeA .tabLabel {
        flex: 0 1 calc(50% - 0.4rem);
        font-size: 1.4rem;
        padding: 0 2.4rem 0 1.2rem;
        margin: 0 0 0.8rem;
    }
    .gallery_cnt1 .inner .typeA .tabLabel::after {
        right: 1.4rem;
    }
    .gallery_cnt1 .inner .typeA .titleB {
        margin: 4.2rem 0 0;
    }
    .gallery_cnt1 .inner .col2 {
        display: block !important;
        margin: 3rem 0 0;
    }
    .gallery_cnt1 .inner .col2 :is(.left, .right) {
        width: auto;
        flex: initial;
    }
    .gallery_cnt1 .inner .col2 .left .window {
        width: 100%;
        padding: 1.5rem 0 0 2rem;
    }
    .gallery_cnt1 .inner .col2 .left .window .dt {
        font-size: 1.8rem;
    }
    .gallery_cnt1 .inner .col2 .left .window .sub {
        font-size: 1.3rem;
    }
    .gallery_cnt1 .inner .col2 .left .window .cate {
        font-size: 1.3rem;
        margin: 0.6rem 0 1.2rem;
    }
    .gallery_cnt1 .inner .col2 .left .window {
        margin: 0 0 1.5rem;
    }
    .gallery_cnt1 .inner .col2 .left .link {
        font-size: 1.4rem;
        margin: 0 0 0 2rem;
    }
    .gallery_cnt1 .inner .col2 .left .sns {
        margin: -1.6rem 0 0 18rem;
    }
    .gallery_cnt1 .inner .col2 .left .sns {
        margin-bottom: 2.5rem;
    }
    .gallery_cnt1 .inner .col2 .left .cmt {
        font-size: 1.5rem;
        line-height: 2.2;
    }
    .gallery_cnt1 .inner .col2 .left {
        margin: 0 0 3rem;
    }
    .gallery_cnt1 .inner .col2 .right {
        height: 90vw;
        margin: 0 0 0 !important;
    }
    .gallery_cnt1 .inner .col2 .right .pic {
        width: 60%;
        height: 78vw;
    }
    .gallery_cnt1 .inner .col2 .right .pic:nth-of-type(1) {
        top: 0;
    }
    .gallery_cnt1 .inner .col2 .right .pic:nth-of-type(2) {
        left: auto;
        right: 0;
        top: 12vw;
    }


    /*.gallery_cnt2 {
        padding: 6rem 0 0;
    }*/
    .gallery_cnt1 .inner .typeA .content .titleB {
        margin: 0 0 3rem;
    }
    .gallery_cnt1 .inner .typeA .content .grid {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 1.2rem;
        row-gap: 2.5rem;
    }
    .gallery_cnt1 .inner .typeA .content .grid .li .dl .dt {
        font-size: 1.3rem;
        margin: 1rem 0 0;
    }

    .gallery .gallery_cnt2 {
        margin: 0 0 6rem;
    }




    /*column&columndetail共通*/
    :is(.column_cnt1, .columndetail_cnt1) {
        padding: 5rem 0 0;
    }
    :is(.column_cnt1, .columndetail_cnt1) .inner .webgene-blog {
        flex-wrap: wrap;
        gap: 1.5rem;
    }
    :is(.column_cnt1, .columndetail_cnt1) .inner .webgene-blog .webgene-item .buttonA {
        width: 16rem;
        max-width: initial;
        margin: 0;
    }
    :is(.column_cnt1, .columndetail_cnt1) .inner .webgene-blog .webgene-item .buttonA a {
        font-size: 1.4rem;
        padding: 0 0 0.8rem 0.6rem;
    }
    :is(.column_cnt1, .columndetail_cnt1) .inner .webgene-blog .webgene-item .buttonA a::after {
        width: 1.5rem;
        height: 0.8rem;
        right: 0.4rem;
        top: 0.4rem;
    }




    /*column*/
    .column_cnt1 {
        margin: 0 0 3rem;
    }
    .column_cnt2 .inner .webgene-blog {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 2.5rem;
    }
    .column_cnt2 .inner .webgene-blog .webgene-item .dl .dt {
        font-size: 1.7rem;
    }
    .column_cnt2 .inner .webgene-blog .webgene-item .dl .cmt p {
        font-size: 1.4rem;
    }
    .column_cnt2 .inner .webgene-blog .webgene-pagination {
        grid-column: 1;
        margin: 3.5rem 0 0;
    }

    .column .column_cnt2 {
        margin: 0 0 6rem;
    }




    /*columndetail*/
    .columndetail_cnt1 {
        margin: 0 0 3rem;
    }
    .columndetail_cnt2 .inner .webgene-blog {
        padding: 2.5rem 2rem 3rem;
    }
    .columndetail_cnt2 .inner .webgene-blog .webgene-item .dl .dt {
        font-size: 1.8rem;
    }
    .columndetail_cnt2 .inner .webgene-blog .webgene-item .dl .dt {
        margin: 0 0 1.5rem;
    }
    .columndetail_cnt2 .inner .webgene-blog .webgene-item .dl .pic {
        width: 100%;
    }
    .columndetail_cnt2 .inner .webgene-blog .webgene-item .dl .cmt {
        padding: 0;
    }
    .columndetail_cnt2 .inner .buttonC {
        min-width: initial;
        margin: 3rem auto 0;
    }

    .columndetail .columndetail_cnt2 {
        margin: 0 0 6rem;
    }




    /*access*/
    .access_cnt1 {
        padding: 5rem 0 0;
    }
    .access_cnt1 .inner .titleA {
        margin-bottom: 3rem;
    }
    .access_cnt1 .inner .col2 {
        display: block !important;
    }
    .access_cnt1 .inner .col2 :is(.left, .right) {
        width: auto;
        flex: initial;
    }
    .access_cnt1 .inner .col2 .left .grid .dl {
        min-height: 5rem;
        padding: 1.2rem 1.5rem;
    }
    .access_cnt1 .inner .col2 .left .grid .dl :is(.dt, .dd) {
        font-size: 1.4rem;
    }
    .access_cnt1 .inner .col2 .left .grid .dl .dt {
        min-width: 6em;
    }
    .access_cnt1 .inner .col2 .left .grid .dl .dd {
        width: calc(100% - 6em);
    }
    .access_cnt1 .inner .col2 .left h4 {
        font-size: 1.5rem;
        padding: 0 0 0 1.5rem;
    }
    .access_cnt1 .inner .col2 .left h4:nth-of-type(2) {
        margin: 2.5rem 0 0;
    }
    .access_cnt1 .inner .col2 .left .cmt {
        font-size: 1.5rem;
        padding: 0 0 0 1.5rem;
    }
    .access_cnt1 .inner .col2 .right iframe {
        height: 60vw;
    }


    .access_cnt2 {
        padding: 6rem 0 0;
    }
    .access_cnt2 .slider {
        margin: 3rem 0 0;
    }
    .access_cnt2 .slider .pic {
        height: 52vw;
    }
    .access_cnt2 .inner .grid {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 1rem;
        row-gap: 1rem;
        margin: 2.5rem 0 0;
    }
    .access_cnt2 .inner .grid .li {
        height: 26vw;
    }

    .access .access_cnt2 {
        margin: 0 0 6rem;
    }




    /*contact&formcomplete共通*/
    .contact_cnt1 {
        padding: 5rem 0 0;
    }
    .contact_cnt1 .inner .buttonA {
        min-width: initial;
    }
    .contact_cnt1 .inner .buttonA {
        margin: 0 0 2.5rem;
    }
    .contact_cnt1 .inner .catch {
        font-size: 1.7rem;
    }
    .contact_cnt1 .inner .catch {
        margin-bottom: 5rem;
    }
    .contact_cnt1 .inner .titleB {
        margin-bottom: 2rem;
    }
    .contact_cnt1 .inner .window {
        width: 100%;
        margin: 0 auto 0;
        padding: 2rem 0;
    }
    .contact_cnt1 .inner .window .tel a {
        font-size: 2.6rem;
    }
    .contact_cnt1 .inner .window .tel {
        margin: 0 0 1.2rem;
    }
    .contact_cnt1 .inner .window .dd {
        font-size: 1.4rem;
    }

    .contact_cnt2 {
        padding: 6rem 0 6rem;
    }




    /*フォーム*/
    .form {
        margin: 3rem 0 0;
    }
    .form .dl {
        display: block;
    }
    .form .dl :is(.dt, .dd) {
        min-height: initial;
    }
    .form .dl .dt {
        padding: 1.2rem 1.5rem;
    }
    .form .dl .dt .label {
        font-size: 1.5rem;
    }
    .form .dl .dd {
        padding: 0 1.5rem 1.5rem;
    }
    .form :is(.formInput, .formTextArea) {
        font-size: 1.5rem;
        padding: 0 1.2rem;
    }
    .form .formInput {
        height: 4.6rem;
    }
    .form .formTextArea {
        height: 16rem;
        padding: 1.2rem;
    }
    .form .dl:nth-of-type(4) :is(.dt, .dd) {
        min-height: initial;
    }
    .form .dl:nth-of-type(4) .dt {
        padding-top: 1.2rem;
    }
    .form .checkArea {
        padding: 1.5rem 0 2rem;
    }
    .form .checkArea .terms {
        height: 16rem;
        margin: 0 1.5rem;
        padding: 1.5rem;
    }
    .form .checkArea .terms p {
        font-size: 1.4rem;
    }
    .form .checkArea .terms {
        margin-bottom: 2rem;
    }
    .form .checkArea .col {
        width: 92%;
        height: auto;
        margin: 0 auto 0;
        padding: 1.2rem;
    }
    .form .checkArea .col .privacyLabel {
        font-size: 1.4rem;
    }
    .form .checkArea {
        margin-bottom: 3rem;
    }
    .form .send {
        width: 100%;
        max-width: 32rem;
        height: 6.4rem;
        margin: 0 auto 0;
    }
    .form .send .formBtn {
        font-size: 1.5rem;
        padding: 0 4.5rem 0 3rem;
    }
    .form .send .formBtn::after {
        width: 2rem;
        height: 2rem;
        right: 1.4rem;
    }




    /*formcomplete*/
    .formcomplete_cnt1 {
        padding: 5rem 0 6rem;
    }
    .formcomplete_cnt1 .inner .cmt {
        font-size: 1.5rem;
        text-align: left;
    }

}
@media screen and (max-width: 767px) {
  .index_cnt1 .illust:nth-of-type(1),.index_cnt1 .illust:nth-of-type(2),.about_cnt3 .illust:nth-of-type(1),
  :is(.mainimg, .maintitle) .side,:is(.mainimg, .maintitle) .sns,.about_cnt2 .illust{display:none;}
      
.other_cnt1 .inner .flex .li p a::after {
        right: 0.8rem;
    }
  :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .col2 :is(.left,.right) .dt {
    width: 55%;}
  :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd .col2 :is(.left,.right) .dd {
    width: 45%;}
  .titleA {
        padding: 1.6rem 2.5rem 0.8rem;
    }
  .icon01{
    width: 70% !important;
    object-position: center !important;
}
  .icon04{
    width: 35% !important;
    object-position: center !important;
}
  .flow_cnt5 .inner .window .col2 {
    width: 100%;
    max-width: 100rem;
  }
      .contact_cnt1 .inner .catch {
        font-size: 1.6rem;
    }
  .resr_link {
        display: grid;
        grid-template-columns: 1fr !important;
        justify-items: center;
        gap: 2rem;
    }
  .contact_cnt1 .inner .buttonA {
        margin: auto;
    }
}
@media screen and (max-width: 1024px) {
  
 /*index*/
    .index .mainimg {
        height: auto;
        padding: 7rem 0 3rem;
    }
  .index .mainimg .scroll,.index .mainimg .arrow{display:none;}
  .index .mainimg .slider .pic {
            width: 73.17vw;
        height: 55.61vw;
}
    .header .nav {
      padding: 5rem 0 6rem;}
.nav.globalMenuSp .ul:nth-of-type(1) {
  order: 2;
}
.nav.globalMenuSp .ul:nth-of-type(2) {
  order: 1;
}
  .header .nav {
    gap: 0;
  }
  .header .nav .ul:first-of-type {
        border-top: none;
    }
  :is(.other_cnt2, .other_cnt3, .other_cnt4, .other_cnt5, .other_cnt6) .inner .window > .dl > .dd.cmt {
        padding: 0rem 0rem 2.5rem;
    }
  .index_cnt2 .catch {
        top: 100%;}
  .gall_02,.gall_03{display:none;}
  .resr_link {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
    gap: 2rem;
}
}
@media screen and (min-width:768px) and ( max-width:1024px) {
  .index_cnt1 .illust:nth-of-type(1) {
        right: 3%;
        left: auto;
  }
  .about_cnt2 .illust,.service_cnt2 .inner .window .spbr br{display:none;}
  .service_cnt1 .inner .catch {
    margin: 0 0 4.3rem;
}
  .service_cnt2 .inner .flex,.index_cnt1 .inner .flex,.index_cnt3 .inner .col2 .right .flex {
    display: flex !important;}
  .index_cnt3 .inner .grid .li .flex {
    display: flex !important;}
      :is(.buttonA, .buttonB, .buttonC) {
        max-width: 32rem;}
  :is(.flow_cnt3, .flow_cnt5) .inner > .col2 {
        display: flex !important;
        flex-direction: column-reverse;
    }
  .contact_cnt1 .inner .buttonA {
        margin: auto;
    }
}
@media screen and (min-width:1024px) and ( max-width:1400px) {
  .index_cnt3 .inner .grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
  }
  .service_cnt2 .inner .col2 {
    display: flex !important;
  }
  .service_cnt2 .inner .grid {
    display: grid;
  }
}
@media screen and (min-width: 1025px){
  .bottom .grid .dl .dd {
    justify-content: center;}
  .bottom .grid .dl .dd.tel a {
    padding: 0;}
    .spbr br{display:none;}
  .slick-list.draggable {
    margin-top: 8rem;
}
  .service_cnt2 .inner .windowB .pic {
    width: 35%;}
  .service_cnt2 .inner .windowB .cmt {
    width: 60%;}
  .index_cnt3 .illust {
    top: 27.1rem;
}
  .gall_02,.gall_03{display:none;}
}