@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%;
        padding-left: 5%;
        padding-right: 5%;
    }


.business_dtl > *,
ul.nav>li>a {
    font-size: 1.5vw;
}
a.head_logo {
    max-width: 10.5vw;
}
.bottom-slide-container,
.top-slide-container {
    width: 140px;
}
}

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

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

/*モバイルサイズ*/

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

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

    .toggle {
        display: inline-block;
    }

    img.mainvisimg {
        /*    object-fit: initial;*/
    }

    div#navi {
        padding: 0;
        height: 74px;
    }

    /*@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;
    }

    [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;
    }

    body {
        font-size: 14px;
    }

    .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: #fff;
/*        background: #000;*/
/*        color: #fff;*/
        z-index: 999;
        top: 0;
        left: -110vw;
        padding: 10px 30px;
    }

    .nav_show .outer_nav {
        left: 0;
    }

     #header .outer_nav a.head_logo {
        /* display: none; */
        position: absolute;
        position: fixed;
        z-index: 9999;
        left: 0;
        top: 3px;
        max-width: 70px;
        right: 0;
        margin: auto;
    }
a.head_logo {
/*    box-shadow: 0 -3px 6px rgba(0, 0, 0, 0.20);*/
/*    box-shadow: 0 3px 2px 4px rgba(0, 0, 0, 0.20);*/
}

.mainvis.mainvis_sp {
    height: calc(100vh - 74px);
    margin-top: 74px;
}
    ul.nav {
        display: block;
        text-align: center;
        padding: 0 20px;
        margin: 110px auto 40px;
    }

    ul.nav>* {
        font-size: 22px;
        font-weight: 200;
        margin: 40px auto;
    }
    ul.nav>li.nav_contact {
        margin-top: 0;
    }

    ul.nav>li>a {
        text-decoration: none;
        display: block;
/*        color: #fff;*/
        font-size: 17px;
    }
    ul.nav>li>a i {
        display: block;
    }
    ul.nav.nav_footer >* {
        border-right: none;
    }

.sub > * {
    font-family: inherit;
}
.nav_footer {
    position: relative;
}
.outer_nav.inner {
    padding-left: 0;
}
.outer_nav.footer_nav {
    position: relative;
    left: 0;
    height: auto;
    background: transparent;
    padding-left: 0;
    padding-right: 0;
}
.outer_nav.footer_nav a.head_logo {
    max-width: 200px;
    margin: auto;
    display: block;
}
.outer_nav.footer_nav .nav {
    margin: 40px auto;
    padding: 0;
}
.outer_nav.footer_nav .nav>li>a {
    color: #fff;
    line-height: 3.3;
}

.tit01 {
    font-size: 50px;
}
.tit02 {
    font-size: 44px;
}

.business_dtl > * {
    font-size: 19px;
    font-family: inherit;
}

.business_dtl {
}

.business {
    margin-left: -20px;
    margin-right: -20px;
    background: none;
    border: none;
}
a.business_itm {
    background: #fff;
}
a.business_itm~ a.business_itm,
a.business_itm~ a.business_itm img {
    border: none !important;
}

.address {
    text-align: center;
}
div#btn_address {
    text-align: center !important;
}

img#mainvis_o_fig ,
img#philosophy_img,
img#fig_person2 {
    display: none;
}

.col.address {
    margin-top: 30px;
}

.vm_net {
    margin-bottom: 0;
}

.box {
    margin-bottom: 0;
    padding: 30px 10px 30px 30px;
}

.tit_catch {
    font-size: 26px;
}
.tit_catch i {
    font-size: 16px;
    padding-left: 14px;
    margin-left: 14px;
    line-height: 1.6;
}

.tit_catch_sub {
    font-size: 14px;
}
.lead_catch {
    font-size: 30px;
    line-height: 2;
}
.lead_txt {
    font-size: 16px;
    line-height: 2.5;
    margin-top: 25px;
}

section#philosophy_sec {
    margin-top: 80px;
    padding-top: 60px;
    padding-bottom: 60px;
}
section#philosophy_sec .tit_wrap {
    margin-top: -100px;
}
.philosophy {
    flex-flow: column-reverse;
    flex-wrap: wrap;
}
.philosophy > * {
    width: 100% !important;
}
section#business_sec {
    padding-top: 120px;
}
iframe {
    margin: 1px -20px 1px;
    width: calc(100% + 40px);
}
}

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

/*iPhone 414*/

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

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

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

/*iPhone 375*/

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

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

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

/*小さめサイズ*/

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

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