.sp_menu {
    display: none
}

@media screen and (max-width: 768px) {
    .bnr li {
        width: 100%;
        float: none
    }

    .view {
        height: 100%
    }

    .view .mask,
    .view .content {
        height: 100%
    }

    #header {
        position: static
    }

    #header .inner {
        width: 98%;
        padding: 0 0 12px;
        min-width: inherit
    }

    #header .inner #logo {
        width: 220px
    }

    #header .inner #tel {
        display: none
    }

    #navi {
        display: none
    }

    #slideshow {
        height: 50vh
    }

    .foot_navi ul {
        width: 100%
    }

    .foot_navi ul li {
        display: block;
        width: 100%;
        margin: 0 0 10px;
        padding-bottom: 10px;
        border-bottom: 1px dotted #DDDDDD;
        text-align: left
    }

    .foot_navi ul li:last-child {
        margin: 0;
        padding-bottom: 0;
        border-bottom: none
    }

    #footer .inner {
        padding: 20px 0;
        margin: 0 auto;
        width: 95%
    }

    .single {
        width: 95%;
        padding: 50px 0
    }

    .single02 {
        padding: 50px 0
    }

    .concept-wrap {
        margin: 30px 0;
        padding: 30px 0
    }

    .concept-wrap .bg-back,
    .concept-wrap .figure {
        width: 100%
    }

    .concept-wrap .concept-inner {
        margin: 0 auto !important
    }

    .concept-wrap .concept-inner .in-wrap {
        float: none;
        width: 95%;
        margin: 0 auto
    }

    .concept-wrap .concept-inner .in-wrap .concept-box {
        width: 100%;
        padding: 5%;
        margin: auto;
        box-sizing: border-box
    }

    .concept-wrap .concept-inner .in-wrap .concept-box .conts-ttl {
        font-size: 2rem
    }

    .pickup .image,
    .pickup .detail_box {
        float: none;
        width: 100%
    }

    .pickup .image img {
        width: 100%
    }

    .pickup .detail_box {
        min-height: initial
    }

    .pickup .detail_box .detail_txt {
        float: none;
        width: 100%
    }

    .bg_top_bnr .inner,
    .bg_contact .inner {
        padding: 30px 0
    }

    .page_title_box {
        padding: 40px 0
    }

    .breadcrumb_box .breadcrumb {
        width: 95%
    }

    #sp_navi {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background: rgba(20, 118, 193, 0.8)
    }

    #sp_navi ul {
        display: table;
        width: 100%
    }

    #sp_navi ul li {
        display: table-cell;
        width: 33.3%;
        border-right: 1px solid #933338
    }

    #sp_navi ul li:last-child {
        border-right: none
    }

    #sp_navi ul li a {
        display: block;
        padding: 10px 0;
        font-family: 'FontAwesome';
        text-align: center;
        color: #FFFFFF;
        font-size: 2.5rem
    }

    .sp_menu {
        display: block
    }

    .btn__box {
        position: relative;
        width: 500px;
        height: 40px;
        margin: 100px auto 0;
        font-size: 13px;
        cursor: pointer;
        -webkit-perspective: 500px;
        perspective: 500px
    }

    .btn__box a {
        position: absolute;
        display: block;
        width: 500px;
        height: 38px;
        line-height: 38px;
        color: rgba(255, 255, 255, 0);
        border: 1px solid rgba(255, 255, 255, 0);
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        -webkit-transform: rotateX(90deg);
        transform: rotateX(90deg);
        -webkit-transform-origin: 50% 50% -20px;
        -ms-transform-origin: 50% 50% -20px;
        transform-origin: 50% 50% -20px
    }

    .btn__box:after {
        position: absolute;
        display: block;
        width: 500px;
        height: 38px;
        line-height: 38px;
        color: rgba(255, 255, 255, 0);
        border: 1px solid rgba(255, 255, 255, 0);
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        -webkit-transform: rotateX(90deg);
        transform: rotateX(90deg);
        -webkit-transform-origin: 50% 50% -20px;
        -ms-transform-origin: 50% 50% -20px;
        transform-origin: 50% 50% -20px;
        top: 0;
        left: 0;
        width: 500px;
        height: 38px;
        line-height: 38px;
        color: #fff;
        border: 1px solid #fff;
        -webkit-transform: rotateX(0deg);
        transform: rotateX(0deg);
        content: ""
    }

    .btn__box:hover a {
        color: #fff;
        border: 1px solid #fff;
        -webkit-transform: rotateX(0deg);
        transform: rotateX(0deg);
        z-index: 2
    }

    .btn__box:hover:after {
        color: rgba(255, 255, 255, 0);
        border: 1px solid rgba(255, 255, 255, 0);
        -webkit-transform: rotateX(-90deg);
        transform: rotateX(-90deg);
        z-index: 1
    }

    .menu {
        position: fixed;
        display: table;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff;
        -webkit-transition: all .5s;
        transition: all .5s;
        visibility: hidden;
        opacity: 0;
        z-index: 9999
    }

    .side-open .menu {
        -webkit-transition: all .5s;
        transition: all .5s;
        visibility: visible;
        opacity: 1
    }

    .menu ul {
        display: table-cell;
        vertical-align: middle
    }

    .menu li {
        width: 500px;
        margin: 0 auto;
        text-align: center;
        opacity: 0
    }

    .side-open .menu li {
        -webkit-transition: all .5s;
        transition: all .5s;
        visibility: visible;
        opacity: 1
    }

    .menu li a {
        display: block;
        height: 60px;
        line-height: 60px;
        -webkit-transition: all .5s;
        transition: all .5s;
        text-decoration: none;
        font-weight: bold;
        font-size: 14px;
        color: #424242;
    }

    .menu li a:hover {
        opacity: 0.7
    }

    .menu-btn {
        position: fixed;
        top: 0px;
        right: 5px;
        width: 56px;
        height: 56px;
        line-height: 56px;
        font-size: 0.9rem;
        text-align: center;
        cursor: pointer;
        z-index: 99999;
        background-color: #424242;
    }

    .menu-btn span {
        color: #fff
    }

    .menu-btn span:after {
        content: attr(data-txt-open)
    }

    .side-open .menu-btn span:after {
        content: attr(data-txt-close)
    }

    .menu-btn:hover span:nth-child(1):after {
        -webkit-animation: anim .5s ease 0s forwards;
        animation: anim .5s ease 0s forwards
    }

    .menu-btn:hover span:nth-child(2):after {
        -webkit-animation: anim .5s ease .1s forwards;
        animation: anim .5s ease .1s forwards
    }

    .menu-btn:hover span:nth-child(3):after {
        -webkit-animation: anim .5s ease .2s forwards;
        animation: anim .5s ease .2s forwards
    }

    .menu-btn:hover span:nth-child(4):after {
        -webkit-animation: anim .5s ease .3s forwards;
        animation: anim .5s ease .3s forwards
    }

    .menu-btn:hover span:nth-child(5):after {
        -webkit-animation: anim .5s ease .4s forwards;
        animation: anim .5s ease .4s forwards
    }

    @-webkit-keyframes anim {
        0% {
            -webkit-transform: translateY(0px);
            transform: translateY(0px)
        }

        50% {
            -webkit-transform: translateY(-5px);
            transform: translateY(-5px)
        }

        100% {
            -webkit-transform: translateY(0px);
            transform: translateY(0px)
        }
    }

    .blogBox {
        width: 48%;
        margin: 0 2.5% 15px 0
    }

    .blogBox:nth-child(2n) {
        margin-right: 0
    }

    .blogBox figure {
        height: 140px
    }

    .mtitle4 {
        text-align: center;
        font-size: 25px
    }

    .mtitle4 span {
        font-size: 14px
    }

    .mtext1 {
        font-size: 17px
    }

    .mtext2 {
        font-size: 1.7rem;
        text-align: left;
    }


    .flex-child2 {
        width: 100%;
        margin: 0 auto 10px
    }

    .flex-child2.column1 {
        width: 100%
    }

    .flex-child2.column1 .rsingle,
    .flex-child2.column1 .lsingle {
        float: none;
        width: 100%
    }

    .note {
        font-size: 12px
    }

    .bnr-list li {
        width: 32%;
        text-align: center;
        margin: 0 1.5% 5px 0
    }

    .lsingle,
    .rsingle {
        float: none;
        width: 100%
    }

    .news-bl dt {
        float: initial;
    }

    .news-bl dd {
        /* padding: initial; */
        padding: 5px 0;
    }

    .p-recruit {
        text-align: left;
    }

    .gallery {
        flex-direction: column;
    }

    .gallery li {
        width: 100%;
        margin: 10px 0;
    }

    .t-m-100 {
        margin-top: -50px;
    }
}

@media screen and (max-width: 480px) {
    body {
        font-size: 1.2rem
    }

    .fleft0,
    .fleft1,
    .fleft2,
    .fright0,
    .fright1,
    .fright2 {
        display: block;
        float: none;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 15px
    }

    .spbr {
        display: block
    }

    .pcbr {
        display: none
    }

    .visual .inner .ballon_parent {
        width: 100%
    }

    .visual .inner .ballon_parent li img {
        width: 45%
    }

    #footer {
        text-align: center
    }

    #footer .inner .copyright {
        text-align: center
    }

    #footer .inner .flogo {
        float: none;
        width: 95%;
        margin: 0 auto
    }

    .contact_bnr li {
        display: block;
        margin-bottom: 20px
    }

    .contact_bnr li:last-child {
        margin-bottom: 0
    }

    .contact_bnr li.mailbtn a {
        font-size: 1.5rem;
    }

    .lsingle {
        margin-bottom: 20px
    }

    .mtitle,
    .mtitle2 {
        font-size: 1.4rem;
        text-align: center
    }

    .mtitle span,
    .mtitle2 span,
    .mtitle-g span {
        font-size: 3rem
    }

    .mtitle3 {
        font-size: 2rem
    }

    .mtitle_middle {
        font-size: 1.4rem
    }

    .mtitle_middle:first-letter {
        font-size: 1.6rem
    }

    .btn01 {
        width: 95%
    }

    .concept-wrap .in-wrap .concept-box .conts-ttl {
        letter-spacing: 0
    }

    .snip_parent {
        padding: 40px 0
    }

    .snip_parent .snip figcaption>div.two h3 {
        font-size: 1.6rem
    }

    .snip_parent .snip figcaption>div.two h3 span {
        font-size: 1.2rem
    }

    .ggmap {
        position: relative;
        padding-bottom: 46.25%;
        height: 0;
        overflow: hidden
    }

    .gallery_ul li {
        float: none;
        width: 100%;
        margin: 0 0 15px 0
    }

    .gallery_ul li:nth-child(3n) {
        margin: 0 0 15px 0
    }

    .gallery_ul li:last-child {
        margin: 0
    }

    .gallery_ul li a {
        height: auto
    }

    .pickup .detail_box {
        padding: 10px
    }

    .pickup .detail_box .bnr_tel {
        width: 95%;
        box-sizing: border-box
    }

    .characteristic .child {
        float: none;
        width: 100%;
        margin: 0 0 15px
    }

    .characteristic .child:nth-child(2n) {
        margin: 0 0 15px
    }

    .characteristic .child:last-child {
        margin: 0
    }

    .characteristic .child dt {
        font-size: 1.4rem
    }

    .page_title_box .page_title {
        font-size: 2.7rem;
        letter-spacing: .1rem
    }

    .form dl {
        margin: 10px 0
    }

    .form dl dt {
        float: none;
        width: 100%;
        height: 20px;
        line-height: 20px;
        padding-top: 10px
    }

    .form dl dd {
        width: 100%;
        padding-left: 0;
        padding-bottom: 10px;
        padding-top: 10px;
        line-height: 20px
    }

    .form dl dd:last-child {
        border-bottom: 0px;
        margin-bottom: 0px
    }

    .form .textarea,
    .form textarea,
    .form .dropdown {
        width: 95%
    }

    .form .textarea02 {
        width: 43.5%
    }

    .form button {
        width: 95%
    }

    .btn__box {
        width: 100%;
        -webkit-perspective: 200px;
        perspective: 200px
    }

    .btn__box a {
        width: 100%
    }

    .btn__box:after {
        width: 100%;
        width: 100%
    }

    .menu li {
        width: 100%
    }

    .menu li a {
        height: 50px;
        line-height: 50px
    }

    .bnr-list {
        padding: 10px
    }

    .bnr-list li {
        width: 100%;
        text-align: center;
        margin: 0 auto 5px
    }

    #wrapper {
        overflow-y: hidden
    }

}

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

    .mtext2 {
        font-size: 1.5rem;
    }
}

/*# sourceMappingURL=smartphone.css.map */