.sp_menu {
    display: none
}

@media screen and (max-width: 1024px) {
    #header {
        background-color: #FFFFFF;
        border-top: 3px solid #850007
    }

    #header:before {
        display: none
    }

    #header .inner {
        width: 95%;
        margin: 0 auto;
        padding: 12px 0;
        height: inherit
    }

    #header .inner #logo {
        width: 65%
    }

    #header .inner #navi {
        display: none
    }

    #page-top {
        bottom: 12%
    }

    #footer {
        padding: 40px 0 100px
    }

    #footer .inner {
        margin: 0 auto;
        width: 95%;
        display: block
    }

    #footer .inner .flogo {
        margin: 0 auto 20px
    }

    #footer .inner .foot_navi {
        display: none
    }

    #slideshow {
        height: 50vh
    }

    .single,
    .single_01,
    .single_02,
    .single_03,
    .single_04 {
        width: 95%;
        padding-bottom: 50px
    }

    .bg_common {
        padding-top: 50px
    }

    .bg_b {
        margin-bottom: 50px
    }

    .column4 .child {
        width: 48.5%
    }

    .column4 .child:nth-child(2n) {
        margin: 0 0 3%
    }

    .mtitle_top {
        margin-bottom: 20px;
        text-align: center
    }

    .news_box {
        margin-bottom: 50px
    }

    .works-area {
        margin-bottom: 6%
    }

    .works-area div img {
        width: 100%;
        height: auto;
        max-height: none
    }

    .flow_contents {
        width: 100%
    }

    .top_main {
        margin-bottom: 40px
    }

    .top_main .inner {
        margin: 20px 0 0
    }

    .top_main .inner:before {
        top: -40px;
        height: 200px
    }

    .top_main .inner .top_main_contents {
        width: 100%
    }

    .top_main .inner .top_main_contents .top_main_txt {
        margin: -250px auto 25px;
        width: 95%;
        box-sizing: border-box
    }

    .top_main .inner .top_main_contents .top_main_img {
        position: relative;
        top: 0;
        left: 0;
        width: 100%
    }

    .article .article_image {
        width: 50%
    }

    .article .article_detail {
        width: 50%;
        padding: 120px 0 40px
    }

    .article .article_detail .inner {
        width: 90%
    }

    .article.article_b {
        margin-bottom: 50px
    }

    .pc-tcenter {
        text-align: left
    }

    .page_title_box .inner {
        padding: 10rem 0
    }

    .page_title_box .page_width {
        width: 95%
    }

    #sp_navi {
        display: block;
        position: fixed;
        bottom: 5px;
        left: 0;
        z-index: 999;
        width: 100%
    }

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

    #sp_navi ul li {
        display: table-cell;
        width: 33.3%;
        box-sizing: border-box;
        padding: 0 2px
    }

    #sp_navi ul li a {
        display: block;
        padding: 5px 0;
        text-align: center;
        background: #850007;
        color: #FFFFFF;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: 2.5rem;
        line-height: 1.2
    }

    #sp_navi ul li a span {
        display: block;
        font-size: 1.2rem
    }

    #page {
        padding: 0;
        position: relative;
        z-index: 2;
        left: 0;
        -webkit-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -moz-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -o-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        -moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        -o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        transition-timing-function: cubic-bezier(1, 0, 0, 1)
    }

    #drawernav {
        display: block;
        position: fixed;
        top: 0;
        right: -240px;
        width: 240px;
        height: 100%;
        background: #111;
        color: #FFFFFF;
        z-index: 500;
        padding-top: 40px;
        -webkit-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -moz-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -o-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        -moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        -o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        transition-timing-function: cubic-bezier(1, 0, 0, 1)
    }

    #drawernav ul {
        list-style: none;
        padding: 0
    }

    #drawernav ul li a {
        display: block;
        padding: 10px 20px;
        font-size: 1.4rem;
        color: #FFFFFF
    }

    #drawernav ul li a:before {
        font-family: "Font Awesome 5 Free";
        content: "\f0da";
        font-weight: 900;
        margin-right: 10px;
        color: #850007
    }

    #drawernav img {
        display: block;
        width: 90%;
        padding: 5px 0;
        margin: 0 auto
    }

    .icon-bar {
        height: 2px;
        background: #FFFFFF;
        display: block;
        margin-bottom: 5px;
        -webkit-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -moz-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -o-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        -moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        -o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        transition-timing-function: cubic-bezier(1, 0, 0, 1)
    }

    .fixed-content {
        right: inherit;
        width: 100%;
        -webkit-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -moz-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -o-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        -moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        -o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        transition-timing-function: cubic-bezier(1, 0, 0, 1)
    }

    #overlay {
        z-index: -1;
        opacity: 0;
        background: #000;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        position: fixed;
        -webkit-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -moz-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -o-transition: all 400ms cubic-bezier(1, 0, 0, 1);
        transition: all 400ms cubic-bezier(1, 0, 0, 1);
        -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        -moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        -o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
        transition-timing-function: cubic-bezier(1, 0, 0, 1)
    }

    #humberger {
        background: #850007;
        color: #FFFFFF;
        display: block;
        position: fixed;
        top: 1.5%;
        right: 2%;
        z-index: 600;
        width: 35px;
        padding: 14px 10px 10px;
        cursor: pointer;
        text-align: center;
        line-height: 1;
        font-size: 1rem
    }

    .drawer-opened #page {
        left: -240px;
        box-shadow: 1px 0 2px #000;
        -webkit-box-shadow: 1px 0 2px #000
    }

    .drawer-opened .fixed-content {
        left: -240px
    }

    .drawer-opened #drawernav {
        right: 0
    }

    .drawer-opened #humberger .icon-bar {
        background: #FFFFFF
    }

    .drawer-opened #humberger :nth-child(1) {
        transform: translate(0, 8px) rotate(45deg);
        -webkit-transform: translate(0, 8px) rotate(45deg)
    }

    .drawer-opened #humberger :nth-child(2) {
        transform: translate(-20px, 0);
        -webkit-transform: translate(-20px, 0);
        opacity: 0
    }

    .drawer-opened #humberger :nth-child(3) {
        transform: translate(0, -8px) rotate(-45deg);
        -webkit-transform: translate(0, -8px) rotate(-45deg)
    }

    .drawer-opened #overlay {
        z-index: 2;
        opacity: 0.3;
        left: -240px;
        position: fixed
    }
}

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

    #footer {
        text-align: center
    }

    #footer .inner .flogo {
        width: 50%
    }

    #footer .copyright {
        font-size: 1rem
    }

    .contact_btn {
        display: block
    }

    .contact_btn li {
        width: 100%;
        margin: 0 0 15px
    }

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

    .bg_common {
        padding-top: 30px
    }

    .half {
        display: block;
        margin-bottom: 40px
    }

    .half .child {
        width: 100%
    }

    .column2 {
        display: block;
        margin-bottom: 0
    }

    .column2 .child {
        width: 100%;
        margin: 0 0 20px
    }

    .column2 .child:nth-child(2n) {
        margin: 0 0 20px
    }

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

    .column3 {
        display: block;
        margin-bottom: 0
    }

    .column3 .child {
        width: 100%;
        margin: 0 0 20px
    }

    .column3 .child:nth-child(3n) {
        margin: 0 0 20px
    }

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

    .column5 .child {
        width: 30%
    }

    .column5 .child:nth-child(5n) {
        margin: 0 2% 2% 0
    }

    .column5 .child:nth-child(3n) {
        margin: 0 0 2% 0
    }

    .mtitle_big {
        margin-bottom: 15px;
        font-size: 2.5rem
    }

    .mtitle_big span {
        font-size: 1.4rem
    }

    .mtitle_middle {
        font-size: 2rem
    }

    .mtitle_small {
        font-size: 1.8rem
    }

    .mtitle_top {
        margin-bottom: 20px;
        text-align: center;
        font-size: inherit
    }

    .mtitle_top span {
        font-size: 1.8em
    }

    .mtitle_recruit {
        width: 120px;
        height: 120px;
        line-height: 120px
    }

    .mtitle_recruit h3 {
        font-size: 1.2rem;
        letter-spacing: .2em
    }

    .mtitle_recruit h3 span {
        font-size: 1.3rem
    }

    .mtitle_flow {
        font-size: 2rem;
        padding: 0 0 30px 70px
    }

    .mtitle_flow span {
        padding: 10px 15px
    }

    .cbtn a {
        width: 100%
    }

    .cbtn.cbtn_01 {
        position: static
    }

    .news_box {
        display: block
    }

    .news_box .news_ttile {
        width: 100%;
        padding: 10px 0
    }

    .scroll_table {
        overflow: auto;
        white-space: nowrap
    }

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

    .scroll_table::-webkit-scrollbar-track {
        background: #F1F1F1
    }

    .scroll_table::-webkit-scrollbar-thumb {
        background: #BCBCBC
    }

    .tbl {
        font-size: 1rem
    }

    .tbl th,
    .tbl td {
        padding: 5px
    }

    .tbl.tbl01 th {
        width: 37%
    }

    .company th {
        width: 30%
    }

    .tbl_new tr th {
        width: 30%
    }

    .tbl_form tr th,
    .tbl_form tr td {
        display: block;
        box-sizing: border-box
    }

    .tbl_form tr th {
        padding-bottom: 0;
        width: 100%
    }

    .ggmap {
        padding-bottom: 56.25%
    }

    .works-area,
    .before-img,
    .works-area p,
    .after-img {
        display: block;
        width: 100%
    }

    .works-area {
        margin-bottom: 40px
    }

    .works-area p {
        transform: rotate(90deg);
        padding: 0
    }

    .works-area div img {
        width: 100%;
        height: auto
    }

    .gallery_ul li {
        width: 48.5%
    }

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

    .gallery_ul li:nth-child(2n) {
        margin: 0 0 3% 0
    }

    .article {
        display: block
    }

    .article .article_image,
    .article .article_detail {
        width: 100%
    }

    .article .article_image {
        display: none
    }

    .article .article_detail {
        padding: 80px 0 40px
    }

    .article .article_detail .article_title {
        top: -60px;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
        right: 50%
    }

    .article.article_b {
        margin-bottom: 40px
    }

    .flow_contents:after {
        left: 23px
    }

    .flow_contents .flow_list {
        margin-left: 70px
    }

    .blog_contents {
        display: block
    }

    .blog_contents .blog_main,
    .blog_contents .blog_side {
        width: 100%
    }

    .blog_contents .blog_main {
        margin-bottom: 30px
    }

    .pages {
        margin-top: 30px
    }

    .pages .page_next,
    .pages .page_prev {
        display: block;
        float: none
    }

    .pages .page_next {
        margin-bottom: 10px
    }

    .top_main .inner .top_main_contents .top_main_txt {
        margin: -100px auto 0;
        padding: 30px 20px
    }

    .link_block a {
        padding: 10px;
        font-size: inherit
    }

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

    .w200,
    .w300,
    .w350,
    .w400 {
        width: 100%
    }

    .pc {
        display: none
    }

    .sp {
        display: block
    }

    .page_title_box .inner {
        padding: 8rem 0
    }

    .page_title_box .page_title {
        padding: 15px 20px 25px 20px;
        top: -45px;
        font-size: 1.3rem;
        letter-spacing: .1em
    }

    .page_title_box .page_title span {
        font-size: 2.2rem
    }

    .breadcrumb {
        top: -80px
    }

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

    .form .form-contents form dl dd:not(.pattern-exclusion) {
        padding-left: 10px;
    }
}

