@charset "UTF-8";

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

    /* macbook16 */
    img.mainvisimg {
        /*    height: auto;*/
        /*    object-fit: none;*/
    }
}

@media screen and (max-width: 1240px) {
    .cont {
        max-width: 96%;
        max-width: 100%;
    }

    .inner {
        max-width: 100%;
    }

    .inner {
        padding-left: 5%;
        padding-right: 5%;
    }

    ul.nav>* {
        font-size: 1.5vw;
        margin: 0 1.5vw;
    }
}

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

/* ------------------------------------------------------------------------------------------------------------ */

/*モバイルサイズ*/

/* ------------------------------------------------------------------------------------------------------------ */

/*@media screen and (max-width: 767px), (orientation: landscape){*/
@media screen and (max-width: 768px) {

    .toggle {
        display: inline-block;
    }

.spCenter {
    text-align: center;
}

    img.mainvisimg {
        object-fit: initial;
    }

    .mainvis {
        background: #000 url(../img/mainvis_sp.png) no-repeat center top;
        background-size: 100% auto;
    }
.single-post,
.page-template-news-php {
    background: #000 url(../img/bg_z.png) no-repeat top center;
    background-size: 200%;
}

    div#navi {
        padding: 0;
    }

    /*@media screen and (max-width: 767px) {*/
    .pcview_only {
        display: none;
    }

    .spview_only {
        display: inherit;
        /*display: initial;*/
    }

    .col.flex {
        display: block !important;
    }

    .col [class*="w_per"] {
        width: 100% !important;
        display: block;
    }
    .col [class*="w_per"].pcview_only {
        display: none;
    }

    [class*="w_per"]>img {
        width: 100%;
    }

    .f_left {
        float: none !important;
    }

    .f_right {
        float: none !important;
    }

    #main,
    .mainvis,
    .block,
    .container,
    .cont {
        min-width: 0;
    }

    #main,
    .mainvis {
        overflow-x: hidden;
    }

    .container,
    .mainvis,
    .inner {
        width: 100%;
    }

    .inner {
        padding-left: 20px;
        padding-right: 20px;
    }

    .pagetop {
        width: 50px;
        height: 50px;
        right: 0px;
        font-size: 14px;
    }

    .pagetop a {
        width: 44px;
        height: 44px;
    }

    .pagetop.footPosition {
        bottom: 105px;
    }
    .faq_re, .machines,
    body {
        font-size: 14px;
        line-height: 1.9;
    }

    .txtSS {
        font-size: 12px;
    }

    .txtS {
        font-size: 13px;
    }

    .txtN {
        font-size: 16px;
    }

    .txtM {
        font-size: 18px;
    }


    .txt20 {
        font-size: 18px;
        line-height: 1.4;
    }

    .txt25 {
        font-size: 20px;
        line-height: 1.4;
    }

    .txt30 {
        font-size: 22px;
        line-height: 1.3;
    }

    .txt35 {
        font-size: 25px;
        line-height: 1.3;
    }

    .txt40 {
        font-size: 30px;
        line-height: 1.2;
    }

    .txt45 {
        font-size: 32px;
        line-height: 1.2;
    }

    .txt50 {
        font-size: 35px;
        line-height: 1.1;
    }

    .txt55 {
        font-size: 40px;
        line-height: 1.1;
    }


    .outer_nav {
        /*    display: none;*/
        display: block;
        transition: all .4s;
        position: fixed;
        width: 100%;
        height: 100vh;
        background: #000;
        top: 0;
        left: -110vw;
        z-index: 99;
        padding: 10px 30px;
    }

    .nav_show .outer_nav {
        left: 0;
    }

    .outer_nav a.head_logo {
        display: none;
    }

    ul.nav {
        display: block;
        text-align: center;
        margin: 40px auto;
        padding-right: 0;
    }

    ul.nav>* {
        font-size: 22px;
        display: block;
        font-weight: 200;
        margin: 40px auto;
    }

    ul.nav>* a {
        text-decoration: underline;
        display: block;
    }

    .services {
        margin: -120px auto 0;
        margin: -140px auto 0;
    }

    .service_pic {
        /*    max-width: 80%;*/
        max-width: 100%;
        padding-right: 30px;
        padding-right: 0px;
        margin-left: -20px;
        margin-left: 0;
    }

section#SERVICE2 .services {
    border: 1px solid #BD9233;
    background: #fff;
}

section#SERVICE2 {
    border-bottom: none;
}

section#SERVICE2 .service {}

section#SERVICE2 .service .service_pic ~ * {
    padding: 0 20px 0 30px;
    margin-left: 0 !important;
}

section#SERVICE2 .service .service_pic {
    margin-right: 20px;
}

section#SERVICE2 .service ~ .service {
    border-top: 1px solid #BD9233;
    border-left: none;
}
section#SERVICE2 .service ~ .service .service_tit,
section#SERVICE2 .service .service_tit {
    text-align: center;
    min-height: 0;
    height: auto;
}

p.service_btnArea .btn {
    text-align: left;
}

    .txt_align {
        /*    opacity: 0;*/
        right: auto;
        left: 100%;
    }

    .service_btnArea {
        text-align: center;
        text-align: left;
    }

    .about.w_per50 {
        padding-left: 0%;
        padding-right: 0%;
    }

    .page_top .about.w_per50 img,
    .about.w_per50 img {
        margin-left: 0%;
    }

    .txt_featured {
        margin: 60px auto 30px;
        margin: 10px auto;
        font-size: 19px;
    }

    br+br+br {
        display: none;
    }

    section#ABOUT {
        background-size: 200% auto;
        margin-top: -1px;
        padding-bottom: 40px;
        padding-top: 80px;
        padding-top: 20px;
    }

    .btnArea {
/*        text-align: left;*/
    }
    .t_left.sp_center {
        text-align: center !important;
    }

    .btn {
        min-width: 200px;
        font-size: 15px;
        padding: .7em 2em .7em 2em;
    }

    .spview_only.head_contact {
        display: block;
        width: 100%;
        text-align: center;
    }

    .spview_only.head_contact .contact {
        position: relative;
        width: 300px;
        max-width: 80%;
        display: inline-block;
        padding: 1.3em 2em;
        font-size: 20px;
    }

    .sp_head_logo {
        background: rgba(0, 0, 0, 0.2);
        height: 60px;
        padding: 8px 10px 6px;
    }

    .sp_head_logo a img {
        height: 40px;
        display: block;
        width: auto;
    }

    .mainvis_itmGroup {
        text-align: center;
        line-height: 1.5;
    }

    .mainvis_itm.mainvis_itm_3 {
        font-size: 30px;
        line-height: 1.3;
        margin: 20px auto 10px;
    }

    .about:first-of-type {
/*        margin-top: -120px;*/
    }

    .machines_slides .btnArea {
        margin-top: -40px;
    }

    .faq_re .btnArea {
        text-align: center;
    }

    .faq_head {
        font-size: 18px;
    }

    .faq_no {
        font-size: 38px;
        padding: 2px 14px 15px;
    }

    .faq_txt {
        padding: 10px;
    }

    img[src*="assets/img/machine_itm"] {
        border-radius: 5% 5% 20px 20px;
        overflow: hidden;
    }

    .machines,
    .voices {
        margin-top: 20px;
    }

    .machines_slides .btnArea {
        top: 526px;
    }

    .modal_img img {
        max-width: 70%;
        display: block;
        margin: auto;
    }

    .modal_catch {
        font-size: 19px;
        line-height: 1.4;
    }

    .modal_tit {
        font-size: 26px;
        margin-top: 10px;
        line-height: 1.3;
    }

    .modal_inner {
        padding: 20px 12px 20px 12px;
        font-size: 15px;
    }

    .modal_picG {
        margin-top: 30px;
    }

    .bnrSlider_itm {
        margin: 0 10px;
    }

    .mainvis.mainvis_re {
        display: block;
        background: #000;
    }

    .mainvis.mainvis_re .mainvis_re_col1 {
        min-height: 260px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    div#mainvis_figs {
        width: 100%;
/*        bottom: 0;*/
        top: auto;
        top: 18%;
        top: 38%;
        top: 38%;
        height: auto;
        left: 0;
        right: 0;
        padding: 40px 20px 10px;
    }

    div#mainvis_figs.pcview_only {
        display: none;
    }

    .mainvis_re2 {
        min-height: 0;
    }

    p#about_img {
        position: relative;
        margin-bottom: 60px;
        width: 100%;
/*        width: calc(100% + 60px);*/
/*        margin: 0 -34px 60px;*/
    }

    .voices {
        margin-left: -20px;
        margin-right: -20px;
    }

    .voices_itm {
        border: 1px solid #B9B9B9;
        margin: 0 10px;
        padding: 20px 10px 20px 15px;
    }

    .voice_tit {
        font-size: 22px;
        letter-spacing: -0.4px;
        margin-bottom: 13px;
        line-height: 1.5;
        text-align: center;
    }
.voice_txt .clr_gold {
    font-size: 18px;
    line-height: 1.7;
        margin-top: 13px;
    margin-bottom: 10px;
    display: block;
}
    .voice_txt .clr_gold + br,
    .voice_tit ~ br {
        display: none;
    }

    .news_list_itm {
        padding-left: 0;
    }

    .mainvis_re2 {
        padding-top: 60px;
    }
    section#TRAINER {
        padding-top: 40px;
    }
section#MACHINE {
/*        background: #000 url(../img/bg_m_sp.png) no-repeat center top;*/
/*        background-size: 100% auto;*/
}
section#COMPANY {
/*        background: #000 url(../img/bg_bottom_sp.jpg) no-repeat center bottom 27vw;*/
/*        background-size: 100% auto;*/
}
.bg_black_grad2 {
/*        background: #000 url(../img/bg_bottom_sp.jpg) no-repeat center bottom 33vw;*/
/*        background-size: 100% auto;*/
}
section#MACHINE_2 {
    /*    background: #000 url(../img/bg_m2_sp.jpg) no-repeat center top;*/
    /*    background-size: 100% auto;*/
/*    background: transparent;*/
}
section#TRAINER {
/*    background: #000 url(../img/bg_sp_1.jpg) no-repeat center top;*/
/*    background-size: 100% auto;*/
/*    background: transparent;*/
}
.bg_machine_sp {
/*    background: #000 url(../img/bg_machine_sp2.jpg) no-repeat center top;*/
/*    background-size: 100% auto;*/
/*    line-height: 1.3;*/
}
section#about_SERVICE {
/*    background:#000 url(../img/bg_about_SERVICE.jpg) no-repeat center top -20%;*/
/*    background-size: 100% auto;*/
/*    background: transparent;*/
    padding-top: 1px;
    padding-bottom: 40px;
}
#main.page_about {
/*    background:#000 url(../img/bg_about_SERVICE.jpg) no-repeat center top;*/
/*    background-size: 100% auto;*/
}
.bg_black_grad {
/*    background: #000 url(../img/bg_sp_2.jpg) no-repeat center top;*/
/*    background-size: 100% auto;*/
}
#main.page_top {
    background: #000 url(../img/bg_top_1_sp.jpg) no-repeat center top;
    background-size: 100% auto;
}
.bg_black_grad2 {
    background: #000 url(../img/bg_top_2_sp.jpg) no-repeat center bottom;
    background-size: 100% auto;
}
#main.page_about {
    background: #000 url(../img/bg_about_sp.jpg) no-repeat center top;
    background-size: 100% auto;
    line-height: 2;
}
.w713 {
    width: auto;
}
iframe {
    width: 100%;
}
.footer_logo {
    max-width: 80%;
    margin: auto;
}
.about_tit3 {
/*    text-align: center;*/
    line-height: 1.3;
}
#page_about_sec1 {
    padding-top: 1px;
}
.trainer_tit {
    font-size: 20px;
    margin-top: 20px;
    text-align: center;
    line-height: 1.4;
}
    .tit_sub,
    .machine_tit {
/*        font-size: 23px;*/
        text-align: center;
    }
    .tit01 {
        text-align: center;
        font-size: 42px;
    }
    .tit01_spWhite {
        color: #fff;
    }

    .machines_pics {
        padding: 0px;
    }
    .txt_featured,
    .machine_pic_tit,
    .machine_pic_tit2 {
        text-align: center;
        line-height: 1.8;
    }
.machines_pic_tit3 {
/*    text-align: center;*/
/*    margin-bottom: 12px !important;*/
}
.txtL {
    font-size: 26px;
}
.tit_sub, .machine_tit {
    font-size: 19px;
    font-size: 15px;
}
.machine_tit_bar {
    padding: 10px;
}
.cat_vis {
/*    background: #000 url(../img/cat_vis.png) no-repeat center top;*/
/*    background-size: 100% auto;*/
    min-height: 320px;
    min-height: 270px;
    min-height: 290px;
    padding-top: 30vw;
}
.tit_haifun {
/*    margin-left: 1em;*/
}

}

/* ------------------------------------------------------------------------------------------------------------ */

/*iPhone 414*/

/* ------------------------------------------------------------------------------------------------------------ */

@media screen and (max-width: 414px) {
div#mainvis_figs {
    top: 48%;
}
#main.page_about {
/*    background:#000 url(../img/bg_about_SERVICE.jpg) no-repeat center top;*/
    background-size: 103% auto;
}
}

/* ------------------------------------------------------------------------------------------------------------ */

/*iPhone 375*/

/* ------------------------------------------------------------------------------------------------------------ */

@media screen and (max-width: 375px) {
div#mainvis_figs {
    top: 40%;
}
}

/* ------------------------------------------------------------------------------------------------------------ */

/*小さめサイズ*/

/* ------------------------------------------------------------------------------------------------------------ */

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