.sp_menu {
    display: none
}

@media screen and (max-width: 1024px) {
    #header .inner {
        width: 99%;
        padding: 8spx 0;
        min-width: inherit
    }

    #header .inner #logo {
        width: 250px;
        margin-top: 5px
    }

    #header #tel {
        display: none
    }

    #catch {
        width: 95%
    }

    #navi {
        display: none
    }

    #flash {
        width: 100%;
        height: auto
    }

    .foot_navi {
        display: none
    }

    .foot_navi ul {
        width: 100%;
        margin-top: 20px;
        background: transparent
    }

    .foot_navi ul li {
        display: block;
        width: 100%;
        margin: 0 0 10px;
        padding-bottom: 10px;
        border-bottom: 1px dashed #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%
    }

    .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;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

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

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

    .page_title_box {
        padding: 90px 0 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 #20cbff
    }

    #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 0.3s ease;
        transition: all 0.3s ease;
        -webkit-transform: rotateX(90deg);
        transform: rotateX(90deg);
        -webkit-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 0.3s ease;
        transition: all 0.3s ease;
        -webkit-transform: rotateX(90deg);
        transform: rotateX(90deg);
        -webkit-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: #ccc;
        -webkit-transition: all 0.5s;
        transition: all 0.5s;
        visibility: hidden;
        opacity: 0;
        z-index: 90
    }

    .side-open .menu {
        -webkit-transition: all 0.5s;
        transition: all 0.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 0.5s;
        transition: all 0.5s;
        visibility: visible;
        opacity: 1
    }

    .side-open .menu li .dropdown {
        display: none
    }

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

    .menu li a span {
        display: none
    }

    .menu li a:hover {
        opacity: 0.7
    }

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

    .menu-btn span {
        color: #53d7ff
    }

    .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 0.5s ease 0s forwards;
        animation: anim 0.5s ease 0s forwards
    }

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

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

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

    .menu-btn:hover span:nth-child(5):after {
        -webkit-animation: anim 0.5s ease 0.4s forwards;
        animation: anim 0.5s ease 0.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
    }

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

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

    .rsingle,
    .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%
    }

    .tbl_scroll {
        padding-bottom: 10px;
        overflow: auto;
        white-space: nowrap
    }

    .tbl_scroll::-webkit-scrollbar {
        height: 5px
    }

    .tbl_scroll::-webkit-scrollbar-track {
        background: #f1f1f1
    }

    .tbl_scroll::-webkit-scrollbar-thumb {
        background: #bcbcbc
    }

    .tbl_scroll::-webkit-scrollbar-piece {
        background: #eee
    }

    .tbl_scroll::-webkit-scrollbar-piece:start {
        background: #eee
    }
}

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

    .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: 300px;
        margin: 0 auto 30px
    }

    .contact_bnr li {
        display: block;
        margin: 0 auto 10px
    }

    .contact_bnr li a {
        margin: 0 auto
    }

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

    .contact_bnr li.mailbtn a {
        font-size: 14px
    }

    .lsingle {
        margin-bottom: 20px
    }

    .list3 li {
        width: 100%;
        padding: 10px
    }

    .mtitle_middle {
        font-size: 1.4rem
    }

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

    .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;
        height: 300px
    }

    .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%;
        -webkit-box-sizing: border-box;
        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.4rem;
        letter-spacing: 0.1rem
    }

    .form dl {
        margin: 10px 0
    }

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

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

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

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

    .form .textarea.textarea03 {
        width: 35%
    }

    .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
    }

    .form .form-contents form dl dt:not(.pattern-exclusion) {
        margin-bottom: 25px;
    }
}

