@charset "UTF-8";

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





    /*index*/
    /*メインビジュアル*/
    .index .mainimg {
        padding: 7rem 0 0;
    }
    .index .mainimg .slider {
        width: 94%;
        border-radius: 0 2rem 2rem 0;
    }
    .index .mainimg .slider .pic {
        height: 64vw;
    }
    .index .mainimg h2 {
        font-size: 2.2rem;
        white-space: normal;
        writing-mode: horizontal-tb;
        position: relative;
        top: auto;
        right: auto;
        z-index: 3;
        padding: 3.2rem 6% 0;
    }
    .index .mainimg .wave {
        width: 120vw;
        top: calc(7rem + 50vw);
        left: 5vw;
    }

    /*眠りのお悩みに寄り添う*/
    .index_cnt1 {
        padding: 7rem 0 8rem;
    }
    .index_cnt1 .pic {
        width: 94%;
        border-radius: 0 2rem 2rem 0;
        position: relative;
        top: auto;
    }
    .index_cnt1 .deco {
        font-size: 16vw;
        top: calc(7rem + 53vw);
        left: 3vw;
    }
    .index_cnt1 .illust {
        width: 24vw;
        top: calc(7rem + 34vw);
        left: auto;
        right: 8vw;
    }
    .index_cnt1 .inner {
        width: 88%;
        margin: 0 auto;
        padding: 6rem 0 0;
    }
    .index_cnt1 .inner .titleA h3 {
        font-size: 2.2rem;
        margin: 0.4rem 0 0 !important;
    }
    .index_cnt1 .inner .cmt {
        margin: 2rem 0 3rem;
    }
    .index_cnt1 .inner .cmt br {
        display: none;
    }

    /*こんなお悩みありませんか？*/
    .index_cnt2 {
        border-radius: 50% 50% 0 0 / 16rem 16rem 0 0;
        padding: 3rem 0 6rem;
    }
    .index_cnt2 .inner .title {
        width: 88%;
        max-width: 51.2rem;
    }
    .index_cnt2 .inner .title .icon {
        width: 3.6rem;
        margin: 0 0 0 14%;
    }
    .index_cnt2 .inner .flex {
        margin: 2rem auto 3rem;
    }
    .index_cnt2 .inner .flex .dl {
        width: 50%;
        height: 17rem;
        background-size: contain !important;
        background-position: center !important;
    }
    .index_cnt2 .inner .flex .dl .dd.icon {
        height: 9rem;
    }
    .index_cnt2 .inner .flex .dl .dd.icon img {
        width: auto !important;
        max-height: 6rem;
        margin: 0 0 0.6rem !important;
    }
    .index_cnt2 .inner .flex .dl .dt {
        font-size: 1.3rem;
    }
    .index_cnt2 .inner .cmt {
        font-size: 1.4rem;
        text-align: left;
    }
    .index_cnt2 .inner .cmt br {
        display: none;
    }

    /*おすすめのメニュー*/
    .index_cnt3 {
        padding: 5rem 0 10rem;
    }
    .index_cnt3::before {
        border-radius: 5rem 5rem 0 0;
    }
    .index_cnt3 .inner .grid {
        grid-template-columns: minmax(0, 38rem);
        gap: 2.4rem;
        margin: 3rem 0 4rem;
    }
    .index_cnt3 .inner .grid .set .pic {
        height: auto;
        aspect-ratio: 380/268;
    }
    .index_cnt3 .inner .grid .set h4 {
        font-size: 2.2rem;
        margin: 2rem 0 1.6rem;
    }
    .index_cnt3 .inner .grid .set h4 a {
        padding: 0 2rem 0 2.4rem;
    }
    .index_cnt3 .inner .grid .set .read {
        min-height: 0;
        font-size: 1.4rem;
        margin: 0 2rem 1rem;
        padding: 1.2rem 1.6rem;
    }
    .index_cnt3 .inner .grid .set .check {
        margin: 0 2rem;
    }

    /*よくあるご質問・施術の流れ*/
    .index_cnt4 {
        padding: 5rem 0 6rem;
    }
    .index_cnt4 .inner .grid {
        grid-template-columns: minmax(0, 57.6rem);
        row-gap: 5rem;
    }
    .index_cnt4 .inner .grid .dl .dd.balloon {
        justify-self: center;
        margin: 0 !important;
    }
    .index_cnt4 .inner .grid .dl .dt {
        font-size: 2.6rem;
        margin: 0 0 1.6rem;
    }
    .index_cnt4 .inner .grid .dl .dd.pic {
        margin: 0 0 2rem;
    }

    /*お客様の声*/
    .index_cnt5 {
        padding: 0 0 6rem;
    }
    .index_cnt5 .inner .sub {
        gap: 1.6rem;
        font-size: 1.8rem;
        margin: 0 auto 1.4rem;
    }
    .index_cnt5 .inner .sub::before,
    .index_cnt5 .inner .sub::after {
        height: 2.6rem;
    }
    .index_cnt5 .inner .window {
        height: 16rem;
        padding: 5.2rem 0 0 2.4rem;
    }
    .index_cnt5 .inner .window .pic img {
        object-position: 70% center;
    }
    .index_cnt5 .inner .window .titleB h3 {
        font-size: 2.4rem;
    }

    /*お知らせ*/
    .index_cnt6 {
        padding: 9rem 0 8rem;
    }
    .index_cnt6 .wave {
        width: 160vw;
        top: -1rem;
        left: -40vw;
    }
    .index_cnt6 .inner .window {
        grid-template-columns: minmax(0, 1fr);
        border-radius: 2rem;
        padding: 3.6rem 2rem 4rem;
    }
    .index_cnt6 .inner .window .titleB {
        margin: 0 auto;
    }
    .index_cnt6 .inner .window .buttonA {
        order: 3;
        margin: 3rem auto 0 !important;
    }
    .index_cnt6 .inner .window .webgene-blog {
        grid-column: 1;
        margin: 2.4rem 0 0;
    }
    .index_cnt6 .inner .window .webgene-blog .webgene-item .dl {
        padding: 1.8rem 4.4rem 1.8rem 0.4rem;
    }
    .index_cnt6 .inner .window .webgene-blog .webgene-item .dl::after {
        width: 2.8rem;
        height: 2.8rem;
        right: 0;
    }
    .index_cnt6 .inner .window .webgene-blog .webgene-item .dl .dd.day {
        font-size: 1.3rem;
        margin: 0 1rem 0 0;
    }
    .index_cnt6 .inner .window .webgene-blog .webgene-item .dl .dd.cate {
        min-width: 9rem;
        font-size: 1.2rem;
    }
    .index_cnt6 .inner .window .webgene-blog .webgene-item .dl .dt {
        font-size: 1.5rem;
        margin: 0.8rem 0 0;
    }
    .index .bottom {
        background: linear-gradient(to bottom, #eae4da 5rem, transparent 5rem);
    }





    /*about*/
    /*頑張ってきた身体に*/
    .about_cnt1 {
        padding: 0 0 8rem;
    }
    .about_cnt1 .inner .col2 .left {
        padding: 0;
    }
    .about_cnt1 .inner .col2 .right {
        margin: 0;
    }
    .about_cnt1 .inner .col2 .right .illust {
        width: 60%;
        top: auto;
        bottom: -12%;
        left: auto;
        right: 0;
    }

    /*來の想い*/
    .about_cnt2 {
        border-radius: 5rem 5rem 0 0;
        padding: 5rem 0 10rem;
    }
    .about_cnt2 .inner .titleA {
        margin: 0 0 3rem;
    }
    .about_cnt2 .inner .col2:not(:last-of-type) {
        margin: 0 0 4rem;
    }
    .about_cnt2 .inner .col2 .pic {
        width: 100%;
    }
    .about_cnt2 .inner .col2 .cmt {
        max-width: none;
    }
    .about_cnt2 .inner .col2:nth-of-type(2) .left,
    .about_cnt2 .inner .col2:nth-of-type(3) .right {
        padding: 0;
    }

    /*「來」という名前*/
    .about_cnt3 {
        padding: 6rem 0 0;
    }
    .about_cnt3 .inner .window {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
        row-gap: 2rem;
        padding: 3rem 2rem;
    }
    .about_cnt3 .inner .window .pic {
        width: 16rem;
    }

    /*施術者メッセージ*/
    .about_cnt4 {
        padding: 8rem 0 8rem;
    }
    .about_cnt4 .inner .col2 .left {
        padding: 0;
    }
    .about_cnt4 .inner .col2 .left .name {
        padding: 0 0 0 1rem;
    }
    .about_cnt4 .inner .col2 .left .name p:first-of-type {
        font-size: 2.4rem;
    }
    .about_cnt4 .inner .col2 .right .titleA {
        margin: 0 0 2rem;
    }
    .about_cnt4 .inner .col2 .right .cmt {
        margin: 0;
    }

    /*サロン概要*/
    .about_cnt5 {
        padding: 9rem 0 8rem;
    }
    .about_cnt5 .wave {
        width: 160vw;
        top: -2rem;
        left: -40vw;
    }
    .about_cnt5 .inner {
        width: 88%;
    }
    .about_cnt5 .inner .window {
        border-radius: 2rem;
        padding: 4rem 2rem;
    }
    .about_cnt5 .inner .window .titleB {
        margin: 0 0 2.4rem;
    }
    .about_cnt5 .inner .window .flex {
        flex-direction: column;
        gap: 3rem;
    }
    .about_cnt5 .inner .window .flex .grid {
        width: 100%;
        margin: 0;
    }
    .about_cnt5 .inner .window .flex .grid .dl {
        grid-template-columns: 8.5rem minmax(0, 1fr);
        font-size: 1.4rem;
        padding: 1rem 0;
    }
    .about_cnt5 .inner .window .flex .grid .dl .dt {
        padding: 0;
    }
    .about_cnt5 .inner .window .flex .photo {
        width: 100%;
        height: auto;
        aspect-ratio: 571/420;
    }
    .about_cnt5 .inner .window .flex .photo .pic:nth-of-type(1) {
        width: 45.5%;
        height: 100%;
    }
    .about_cnt5 .inner .window .flex .photo .pic:nth-of-type(2) {
        width: 63%;
        height: 71.4%;
    }
    .about_cnt5 .inner .map {
        height: 30rem;
        border-radius: 2rem;
        margin: 4rem 0 0;
    }
    .about .bottom {
        background: linear-gradient(to bottom, #f0eae0 5rem, transparent 5rem);
    }





    /*features*/
    :is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 .pic {
        width: 100%;
    }
    :is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 .left,
    :is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 .right {
        padding: 0 !important;
    }
    /*写真を先に表示*/
    :is(.features_cnt1, .features_cnt3, .features_cnt5) .inner .col2 {
        display: flex !important;
        flex-direction: column-reverse;
        gap: 0;
    }
    :is(.features_cnt1, .features_cnt3, .features_cnt5) .inner .col2 .left {
        margin: 0 !important;
    }
    :is(.features_cnt1, .features_cnt3, .features_cnt5) .inner .col2 .right {
        margin: 0 0 3rem;
    }
    :is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 .title {
        margin: 0 0 1.6rem;
    }
    :is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 .title h3 {
        font-size: 2.2rem;
        padding: 0 5rem 0 0;
    }
    :is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 .title .num {
        font-size: 8rem;
        transform-origin: right top;
        top: -1rem !important;
        right: 0;
        left: auto !important;
    }
    :is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 .cmt {
        max-width: none;
    }
    .features_cnt1,
    .features_cnt3,
    .features_cnt5 {
        padding: 6rem 0 !important;
    }
    .features_cnt1 {
        padding-top: 0 !important;
    }
    :is(.features_cnt2, .features_cnt4) {
        padding: 6rem 0 !important;
    }
    :is(.features_cnt2, .features_cnt4)::before {
        width: 100%;
        border-radius: 0;
    }
    .features_cnt6 {
        padding: 9rem 0 8rem;
    }
    .features_cnt6 .wave {
        width: 160vw;
        top: -2rem;
        left: -40vw;
    }
    .features_cnt6 .inner {
        width: 88%;
    }
    .features_cnt6 .inner .window {
        border-radius: 2rem;
        padding: 4rem 2rem;
    }
    .features_cnt6 .inner .window .cmt {
        font-size: 1.4rem;
        text-align: left;
        margin: 0 0 3rem;
    }
    .features_cnt6 .inner .window .cmt br {
        display: none;
    }
    .features_cnt6 .inner .window .buttonA {
        margin: 0 auto !important;
    }
    .features .bottom {
        background: linear-gradient(to bottom, #f0eae0 5rem, transparent 5rem);
    }





    /*concern*/
    .concern_cnt1 {
        padding: 0 0 5rem;
    }
    .concern_cnt1 .inner h3 {
        font-size: 2.2rem;
        margin: 0 0 1.6rem;
    }
    :is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .col2 {
        margin: 0 0 4rem;
    }
    :is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .col2 .left {
        padding: 2rem 2rem 2rem 1.6rem;
    }
    :is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .col2 .left .cate {
        height: auto;
        font-size: 1.4rem;
        padding: 0.8rem 1.6rem;
    }
    :is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .col2 .right .pic {
        height: 60vw;
    }
    :is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .cmt {
        font-size: 1.4rem;
        text-align: left;
        margin: 2.4rem 0 3rem !important;
    }
    :is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .cmt br {
        display: none;
    }
    .concern_cnt2 {
        border-radius: 50% 50% 0 0 / 16rem 16rem 0 0;
        padding: 3rem 0 12rem;
    }
    .concern_cnt2 .inner .titleA {
        margin: 0 0 3rem;
    }
    .concern_cnt3 {
        padding: 5rem 0 6rem;
    }
    .concern_cnt3 .inner .col2 .right .balloon {
        width: 11rem;
        height: 5rem;
        font-size: 1.3rem;
        top: -2.8rem;
        left: auto;
        right: 1rem;
        padding: 0 0 2.2rem;
    }
    .concern_cnt4 {
        padding: 9rem 0 6rem;
    }
    .concern_cnt5 {
        margin: 6rem 0 0;
        padding: 9rem 0 8rem;
    }
    .concern_cnt5 .wave {
        width: 160vw;
        top: -2rem;
        left: -40vw;
    }
    .concern_cnt5 .inner {
        width: 88%;
    }
    .concern_cnt5 .inner .window {
        border-radius: 2rem;
        text-align: left;
        padding: 4rem 2rem;
    }
    .concern_cnt5 .inner .window h3 {
        font-size: 2rem;
        text-align: center;
        margin: 0 0 2rem;
    }
    .concern_cnt5 .inner .window .cmt {
        font-size: 1.4rem;
    }
    .concern_cnt5 .inner .window .cmt br {
        display: none;
    }
    .concern .bottom {
        background: linear-gradient(to bottom, #f0eae0 5rem, transparent 5rem);
    }





    /*menu*/
    /*來の施術メニュー*/
    .menu_cnt1 {
        padding: 0 0 6rem;
    }
    .menu_cnt1 .inner .title {
        row-gap: 0.8rem;
        margin: 0 0 3rem;
    }
    .menu_cnt1 .inner .title h3 {
        font-size: 2.6rem;
    }
    .menu_cnt1 .inner .title p {
        font-size: 1.4rem;
    }
    .menu_cnt1 .inner .grid {
        grid-template-columns: minmax(0, 38rem);
        gap: 3rem;
    }
    .menu_cnt1 .inner .grid .dl .dd.pic {
        height: auto;
        aspect-ratio: 380/268;
    }
    .menu_cnt1 .inner .grid .dl .dd.num {
        top: auto;
        bottom: 12rem;
    }
    .menu_cnt1 .inner .grid .dl .dt {
        font-size: 2.2rem;
        margin: 2rem 0 2rem;
    }

    /*各メニュー（共通）*/
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) {
        margin: 0 !important;
        padding: 6rem 0 !important;
    }
    .menu_cnt4 {
        margin: 0 0 6rem !important;
    }
    :is(.menu_cnt2, .menu_cnt4)::before {
        width: 100%;
        border-radius: 0;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .title {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 1.6rem;
        margin: 0 0 2.4rem;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .title h3 {
        font-size: 2.2rem;
        text-align: left;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .title .num {
        order: -1;
        font-size: 7rem;
        line-height: 1 !important;
        position: static;
        transform-origin: left center;
        margin: 0 -1rem 0 0;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .left .pic {
        width: 100%;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right {
        padding: 0;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price {
        margin: 0 0 2.4rem !important;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price .dl {
        min-height: 6.4rem;
        grid-template-columns: 13rem minmax(0, 1fr);
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price .dl .dt {
        font-size: 1.3rem;
        padding: 0 0.8rem 0 1.4rem;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price .dl .dd {
        align-items: center;
        font-size: 2.2rem;
        padding: 0;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner h4 {
        font-size: 2.2rem;
        margin: 5rem 0 2rem !important;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex {
        row-gap: 2rem;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex .dl {
        min-height: 0;
        background: #fff;
        border-radius: 1rem;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        padding: 0;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex .dl::before {
        display: none;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex .dl .dd.pic {
        order: -1;
        width: 100%;
        height: auto;
        aspect-ratio: 400/300;
        border-radius: 0;
        position: static;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex .dl .dt {
        font-size: 2rem;
        margin: 0;
        padding: 2rem 2rem 1rem;
    }
    :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex .dl .dd.cmt {
        font-size: 1.4rem;
        padding: 0 2rem 2.4rem;
    }

    /*フェイシャルケアの施術内容・セットメニュー*/
    .menu_cnt4 .inner .grid {
        grid-template-columns: minmax(0, 1fr);
        margin: 4rem 0 0;
    }
    .menu_cnt4 .inner .grid .window,
    .menu_cnt4 .inner .grid .window:nth-of-type(2) {
        min-height: 0;
        padding: 2.4rem 2rem;
    }
    .menu_cnt4 .inner .grid .window .sub {
        font-size: 2.2rem;
        padding: 0;
    }
    .menu_cnt4 .inner .grid .window .ol .li {
        height: auto;
        min-height: 4rem;
        font-size: 1.4rem;
        padding: 0.8rem 0 0.8rem 0.4rem;
    }
    .menu_cnt4 .inner .grid .window .cmt {
        font-size: 1.4rem;
    }
    .menu_cnt4 .inner .grid .window .add {
        font-size: 3rem;
    }
    .menu_cnt4 .inner .grid .window .add span:first-of-type {
        font-size: 2rem;
    }
    .menu_cnt4 .inner .grid .window .add span:last-of-type {
        font-size: 1.6rem;
    }





    /*flow*/
    .flow_cnt1 {
        padding: 0 0 3rem;
    }
    .flow_cnt2 {
        margin: 0 0 6rem;
        padding: 5rem 0 6rem;
    }
    .flow_cnt2::before {
        width: 100%;
        border-radius: 0;
    }
    .flow_cnt2 .inner .set,
    .flow_cnt2 .inner .set:nth-of-type(n) {
        padding: 0 0 5rem 5.6rem;
    }
    .flow_cnt2 .inner .set:last-of-type {
        padding-bottom: 0;
    }
    .flow_cnt2 .inner .set:not(:last-of-type)::after {
        top: 5.6rem;
        bottom: 1.6rem;
        left: 2.2rem;
    }
    .flow_cnt2 .inner .set .num {
        width: 4.6rem;
        font-size: 5rem;
        line-height: 1 !important;
        top: -0.6rem;
    }
    .flow_cnt2 .inner .set .title {
        row-gap: 0.4rem;
        margin: 0 0 1.6rem;
    }
    .flow_cnt2 .inner .set .title h4 {
        font-size: 2.2rem;
    }
    .flow_cnt2 .inner .set .title p {
        font-size: 1.3rem;
    }
    .flow_cnt2 .inner .set .cmt {
        font-size: 1.4rem;
        margin: 0 0 2rem !important;
    }
    .flow_cnt2 .inner .set .info {
        padding: 1.6rem;
    }
    .flow_cnt2 .inner .set .info p {
        font-size: 1.3rem;
    }
    .flow_cnt2 .inner .set .info .pic {
        width: 100%;
        margin: 0;
    }
    .flow_cnt2 .inner .set > .pic {
        border-radius: 1rem;
    }
    .flow_cnt2 .inner .set .flex {
        flex-direction: column;
        gap: 1.2rem;
    }
    .flow_cnt2 .inner .set .flex .pic {
        width: 100%;
        border-radius: 1rem;
    }





    /*voice*/
    .voice_cnt1 {
        padding: 0 0 6rem;
    }
    .voice_cnt1 .inner .titleA {
        margin: 0 0 4rem;
    }
    .voice_cnt1 .inner h4 {
        font-size: 2.4rem;
        margin: 0 0 2rem;
    }
    .voice_cnt1 .inner .col2:not(:last-of-type) {
        margin: 0 0 5rem;
    }
    .voice_cnt1 .inner .col2 .left {
        margin: 0 0 2rem !important;
    }
    .voice_cnt1 .inner .col2 :is(.left, .right) {
        row-gap: 2rem;
    }
    .voice_cnt1 .inner .col2 .dl {
        padding: 2.4rem 2rem 2rem;
    }
    .voice_cnt1 .inner .col2 .dl .dt {
        font-size: 2rem;
        margin: 0 0 1rem;
        padding: 0 0 1rem;
    }
    .voice_cnt1 .inner .col2 .dl .dd {
        font-size: 1.4rem;
        padding: 0;
    }





    /*faq*/
    .faq_cnt1 {
        padding: 0 0 4rem;
    }
    .faq_cnt1 .inner .flex {
        gap: 0.8rem;
    }
    .faq_cnt1 .inner .flex .buttonA {
        width: auto !important;
        height: 4.4rem;
        margin: 0 !important;
    }
    .faq_cnt1 .inner .flex .buttonA a {
        font-size: 1.3rem;
        padding: 0 3.8rem 0 1.4rem;
    }
    .faq_cnt1 .inner .flex .buttonA a::after {
        right: 1rem;
    }
    :is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) {
        padding: 0 0 2.4rem;
    }
    .faq_cnt6 {
        padding: 0 0 8rem;
    }
    :is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window {
        border-radius: 2rem;
        padding: 3.6rem 1.6rem;
    }
    :is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window h3 {
        font-size: 2.4rem;
        margin: 0 0 2rem;
    }
    :is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window .dl:not(:last-of-type) {
        margin: 0 0 1.2rem;
    }
    :is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window .dl .dt {
        align-items: flex-start;
        gap: 0.8rem;
        font-size: 1.4rem;
        padding: 1.4rem 4.4rem 1.4rem 1.4rem;
    }
    :is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window .dl .dt::before {
        width: 1.8rem;
        font-size: 2.2rem;
    }
    :is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window .dl .dt::after {
        width: 1.2rem;
        height: 1.2rem;
        right: 1.6rem;
    }
    :is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window .dl .dd {
        font-size: 1.4rem;
        padding: 1.2rem 1.4rem 1.4rem;
    }
    :is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window .dl .dd br {
        display: none;
    }





    /*topics&topicsdetail共通*/
    :is(.topics_cnt1, .topicsdetail_cnt1) {
        padding: 0 0 3rem;
    }
    :is(.topics_cnt1, .topicsdetail_cnt1) .inner .webgene-blog {
        gap: 0.8rem;
    }
    :is(.topics_cnt1, .topicsdetail_cnt1) .inner .webgene-blog .buttonA {
        width: auto !important;
        height: 4.4rem;
        margin: 0 !important;
    }
    :is(.topics_cnt1, .topicsdetail_cnt1) .inner .webgene-blog .buttonA a {
        font-size: 1.3rem;
        padding: 0 3.8rem 0 1.4rem;
    }
    :is(.topics_cnt1, .topicsdetail_cnt1) .inner .webgene-blog .buttonA a::after {
        right: 1rem;
    }
    :is(.topics_cnt2, .topicsdetail_cnt2) {
        padding: 0 0 8rem;
    }
    :is(.topics_cnt2, .topicsdetail_cnt2) .inner .window {
        border-radius: 2rem;
    }

    /*topics*/
    .topics_cnt2 .inner .window {
        padding: 2.4rem 1.6rem 4rem;
    }
    .topics_cnt2 .inner .window .webgene-blog .webgene-item .dl {
        grid-template-columns: 10rem auto minmax(0, 1fr);
        column-gap: 1.4rem;
        padding: 1.6rem 3.4rem 1.6rem 0;
    }
    .topics_cnt2 .inner .window .webgene-blog .webgene-item .dl::after {
        width: 2.4rem;
        height: 2.4rem;
        right: 0;
    }
    .topics_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.pic {
        height: 13rem;/*7*/
    }
    .topics_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.day {
        font-size: 1.2rem;
        margin: 0;
    }
    .topics_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.cate {
        min-width: 0;
        height: 2rem;
        font-size: 1.1rem;
        margin: 0 0 0 -0.6rem;
        padding: 0 1rem;
    }
    .topics_cnt2 .inner .window .webgene-blog .webgene-item .dl .dt {
        font-size: 1.4rem;
        margin: 0.6rem 0 0;
    }
    .topics_cnt2 .inner .window .webgene-blog .webgene-pagination {
        margin: 3rem 0 0;
    }

    /*topicsdetail*/
    .topicsdetail_cnt2 .inner .window {
        padding: 3rem 1.6rem 4rem;
    }
    .topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.day {
        font-size: 1.3rem;
        margin: 0 1rem 0 0;
    }
    .topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.cate {
        min-width: 9rem;
        font-size: 1.2rem;
    }
    .topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dt {
        font-size: 2rem;
        margin: 0.8rem 0 2rem;
        padding: 0 0 1.4rem;
    }
    .topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo {
        padding: 0;
    }
    .topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo .slider {
        width: 100%;
        margin: 0 0 0.8rem;
    }
    .topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo .slider .slick-img {
        height: auto;
        aspect-ratio: 700/465;
    }
    .topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo .thumbnail {
        width: calc(100% + 0.8rem);
        margin: 0 0 0 -0.4rem;
    }
    .topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo .thumbnail .thumbnail-img {
        height: auto;
        aspect-ratio: 200/130;
        padding: 0 0.4rem;
    }
    .topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.cmt {
        max-width: none;
        font-size: 1.4rem;
        margin: 2.4rem 0 0;
        padding: 0;
    }
    .topicsdetail_cnt2 .inner .window .buttonA {
        margin: 4rem auto 0 !important;
    }
}

@media screen and (max-width: 520px){
.index .mainimg h2{
  font-size: 1.8rem;}
  .menu_cnt4 .inner .grid .window .cmt {
        font-size: 1.3rem;
    }
}
@media screen and (max-width: 767px){
      .about_cnt5 .inner .window .flex .grid .dl {
        grid-template-columns: auto;
        gap: 1rem;
    }
      :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .title {
        flex-direction: column;}
  :is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .buttonA {
    min-width: 30rem;
  }
      .topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo .slider .slick-img {
        aspect-ratio: auto;
    }
}

@media (min-width:768px) and (max-width:1024px){
  .index_cnt2 .inner .title h3 {
    text-align: center;
}
  .index_cnt2 .inner .title h3 img {
    width: 70%;
}
      .index_cnt3 .inner .grid,.index_cnt4 .inner .grid,.menu_cnt1 .inner .grid {
        grid-template-columns: 1fr 1fr;}
      .bottom .flex {
        flex-direction: row;
  }
  :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex {
        display: flex;
        gap: 24px;
    }
  :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex .dl{
    width:50%;}
  :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price .dl {
        grid-template-columns: 12rem minmax(0, 1fr);
    }
  .about_cnt5 .inner .window .flex,.flow_cnt2 .inner .set .flex {
    flex-direction: row;}
  :is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 {
    display: flex !important;
  }
  .index_cnt2 .inner .flex .dl {
    width: 25%;}
}

@media screen and (max-width: 1024px){
  :is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 > div {
    flex: 0 1 auto;
}
}
@media screen and (min-width: 1025px){
  .spbr br{display:none;}
}