.sp_menu {
    display: none
}

@media screen and (max-width: 1366px) {
    #header #logo {
        width: 400px
    }

    #header #navi li {
        margin-right: 10px;
        padding-right: 10px
    }
}

@media screen and (max-width: 1024px) {
    #header #head_right {
        display: none
    }

    #footer {
        padding-bottom: 48px
    }

    #footer>.inner {
        margin: 0 auto;
        max-width: 95%
    }

    #footer>.inner .link {
        display: none
    }

    #footer .information>.inner {
        max-width: 95%
    }

    .foot_contact {
        padding: 6%;
        justify-content: space-evenly
    }

    .foot_contact .foot_image {
        width: 50%
    }

    .foot_contact .foot_detail {
        width: 38%
    }

    .foot_contact .foot_logo {
        margin-bottom: 30px;
        width: 100%
    }

    .foot_contact .foot_txt {
        margin-bottom: 20px;
        width: 100%
    }

    .foot_contact .phone {
        margin-bottom: 20px
    }

    #slideshow #catch {
        width: 90%
    }

    #slideshow #catch2 {
        width: 90%
    }

    #slideshow .next_contents {
        display: none
    }

    .slide-img {
        height: 50vh
    }

    .single_01,
    .single_02,
    .single_03,
    .single_04,
    .single_05,
    .single_06,
    .single_07,
    .single_08 {
        width: 95%
    }

    .single_01,
    .single_02,
    .single_03,
    .single_04 {
        padding-bottom: 50px
    }

    .bg_common {
        padding-top: 50px
    }

    .column3 .child {
        width: 48.5%;
        margin: 0 3% 3% 0
    }

    .column3 .child:nth-child(3n) {
        margin: 0 3% 3% 0
    }

    .column3 .child:nth-child(2n) {
        margin: 0 0 3% 0
    }

    .column4 .child {
        width: 48.5%;
        margin: 0 3% 3% 0
    }

    .column4 .child:nth-child(2n) {
        margin: 0 0 3% 0
    }

    .mtitle_ribon span {
        font-size: 1.8rem;
        padding: 5px 30px
    }

    .mtitle_balloon {
        margin-bottom: 20px
    }

    .mtitle_top {
        font-size: 3rem;
        margin-bottom: 20px
    }

    .article .article_image {
        width: 50%
    }

    .article .article_detail {
        width: 50%;
        padding: 25px 0
    }

    .article .article_detail .inner {
        width: 90%
    }

    .ggmap {
        padding-bottom: 75.25%
    }

    .tbl_simple th,
    .tbl_simple td {
        padding: 10px 7px
    }

    .cell_01 {
        width: 30%
    }

    .flex_type {
        width: 100%
    }

    .about_box .inner {
        padding: 35px 20px
    }

    .index_bnr .inner {
        width: 97%;
        padding: 22px
    }

    .index_bnr .title {
        font-size: 2.5rem
    }

    .img_contents {
        padding: 70px 0 0
    }

    .img_contents .img_area {
        left: inherit;
        right: 0;
        width: 70%;
        margin-left: 0
    }

    .img_contents .img_container .txt {
        display: inline-block;
        background: rgba(255, 255, 255, 0.7);
        padding: 30px
    }

    .img_contents .img_container .txt_01 {
        margin-bottom: 30px
    }

    .blog_contents .blog_main,
    .blog_contents .blog_side {
        width: 100%
    }

    .blog_contents .blog_side {
        margin-top: 30px
    }

    .pages {
        margin-top: 30px
    }

    .pages .page_next,
    .pages .page_prev {
        display: block;
        float: none
    }

    .pages .page_next {
        margin-bottom: 10px
    }

    .pc-tcenter {
        text-align: left
    }

    .pc {
        display: none
    }

    .tb {
        display: block
    }

    .page_title_box .inner {
        width: 95%
    }

    .breadcrumb_box .breadcrumb {
        width: 95%
    }

    #sp_navi {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 4;
        width: 100%
    }

    #sp_navi ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center
    }

    #sp_navi ul li {
        width: 33.3333333333333%;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff
    }

    #sp_navi ul li:last-child {
        border-right: none
    }

    #sp_navi ul li a {
        display: block;
        padding: 5px 0;
        text-align: center;
        background: #fff;
        color: #e60012;
        font-family: "YakuHanJP", "Roboto Condensed", "sans-serif";
        font-size: 1.8rem;
        line-height: 1.2
    }

    #sp_navi ul li a.sp_home:before {
        font-family: "Font Awesome 5 Free";
        content: "\f015";
        font-weight: 900
    }

    #sp_navi ul li a.sp_tel:before {
        font-family: "Font Awesome 5 Free";
        content: "\f095";
        font-weight: 900
    }

    #sp_navi ul li a.sp_mail:before {
        font-family: "Font Awesome 5 Free";
        content: "\f0e0";
        font-weight: 900
    }

    #sp_navi ul li a.sp_access:before {
        font-family: "Font Awesome 5 Free";
        content: "\f279";
        font-weight: 900
    }

    #sp_navi ul li a.sp_menu:before {
        font-family: "Font Awesome 5 Free";
        content: "\f0c9";
        font-weight: 900
    }

    #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;
        left: -240px;
        width: 240px;
        height: 100%;
        background-color: #fff;
        z-index: 500;
        -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 {
        border-bottom: 1px solid #eee
    }

    #drawernav>ul>li>a {
        display: block;
        padding: 10px 20px;
        font-size: 1.4rem;
        color: #333
    }

    #drawernav>ul>li>a:before {
        font-family: "Font Awesome 5 Free";
        content: "\f0da";
        font-weight: 900;
        color: #ffd610;
        margin-right: 10px
    }

    #drawer_logo {
        width: 90%;
        margin: 0 auto 20px
    }

    .drawer_phone {
        margin-top: 20px
    }

    .drawer_phone a {
        display: block;
        text-align: center;
        font-size: 2rem;
        font-weight: 600
    }

    .drawer_phone a:before {
        font-family: "Font Awesome 5 Free";
        content: "\f095";
        font-weight: 900;
        margin-right: 10px
    }

    .drawernav_ttl {
        position: relative;
        background-color: #3f9877;
        color: #fff;
        margin-bottom: 30px;
        padding: 15px 0;
        font-family: "YakuHanJP", "Roboto Condensed", "sans-serif";
        font-size: 2rem;
        font-weight: 600;
        text-align: center
    }

    .drawernav_ttl:after {
        position: absolute;
        top: 50%;
        right: 5%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-family: "Font Awesome 5 Free";
        font-family: "Font Awesome 5 Free";
        content: "\f00d";
        font-weight: 900
    }

    .sub_drawernav>ul>li a {
        display: block;
        padding: 5px 20px 5px 40px;
        font-size: 1.4rem;
        color: #fff
    }

    .sub_drawernav>ul>li a:before {
        font-family: "Font Awesome 5 Free";
        content: "\f105";
        font-weight: 900;
        margin-right: 10px
    }

    .icon-bar {
        height: 2px;
        background: #fff;
        display: block;
        margin-bottom: 6px;
        -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 {
        display: block;
        position: fixed;
        top: 15px;
        right: 10px;
        width: 60px;
        height: 60px;
        padding: 15px;
        cursor: pointer;
        z-index: 3;
        background: #3f9877;
        color: #fff;
        font-size: 1rem;
        text-align: center;
        letter-spacing: 0
    }

    .drawer-opened #page {
        right: -240px;
        box-shadow: 1px 0 2px #000;
        -webkit-box-shadow: 1px 0 2px #000
    }

    .drawer-opened .fixed-content {
        left: -240px
    }

    .drawer-opened #drawernav {
        left: 0
    }

    .drawer-opened #overlay {
        z-index: 2;
        opacity: 0.3;
        right: -240px;
        position: fixed
    }

    #nav-toggle {
        display: block;
        position: fixed;
        top: 2em;
        right: 5%;
        height: 32px;
        cursor: pointer
    }

    #nav-toggle>div {
        position: relative;
        width: 36px
    }

    #nav-toggle span {
        width: 100%;
        height: 1px;
        left: 0;
        display: block;
        background: #e60012;
        position: absolute;
        transition: transform .6s ease-in-out, top .5s ease
    }

    #nav-toggle span:nth-child(1) {
        top: 0
    }

    #nav-toggle span:nth-child(2) {
        top: 14px
    }

    #nav-toggle span:nth-child(3) {
        top: 28px
    }

    #nav-toggle:hover span:nth-child(1) {
        top: 4px
    }

    #nav-toggle:hover span:nth-child(3) {
        top: 23px
    }

    .open #nav-toggle span {
        background: #e60012
    }

    .open #nav-toggle span:nth-child(1) {
        top: 15px;
        transform: rotate(45deg)
    }

    .open #nav-toggle span:nth-child(2) {
        top: 15px;
        width: 0;
        left: 50%
    }

    .open #nav-toggle span:nth-child(3) {
        top: 15px;
        transform: rotate(-45deg)
    }

    #nav-toggle {
        z-index: 1000
    }

    #container {
        z-index: 900
    }

    #gloval-nav {
        display: block;
        background: #fff;
        color: #3f9877;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 990;
        text-align: center;
        display: flex;
        visibility: hidden;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        opacity: 0;
        transition: opacity .6s ease, visibility .6s ease
    }

    #gloval-nav #gloval_logo {
        margin: 0 auto 30px;
        width: 150px
    }

    #gloval-nav a {
        display: block;
        color: #333;
        text-decoration: none;
        padding: 10px 0;
        transition: color .6s ease
    }

    #gloval-nav a:hover {
        color: #3f9877
    }

    #gloval-nav a span {
        display: block;
        color: #e60012;
        font-size: 1rem
    }

    #gloval-nav ul {
        list-style: none
    }

    #gloval-nav ul li {
        opacity: 0;
        transform: translateX(200px);
        transition: transform .6s ease, opacity .2s ease
    }

    #gloval-nav ul li:nth-child(2) {
        transition-delay: .15s
    }

    #gloval-nav ul li:nth-child(3) {
        transition-delay: .3s
    }

    #gloval-nav ul li:nth-child(4) {
        transition-delay: .45s
    }

    #gloval-nav ul li:nth-child(5) {
        transition-delay: .6s
    }

    #gloval-nav ul li:nth-child(6) {
        transition-delay: .75s
    }

    #gloval-nav ul li:nth-child(7) {
        transition-delay: .9s
    }

    .open {
        overflow: hidden
    }

    .open #gloval-nav {
        visibility: visible;
        opacity: 1
    }

    .open #gloval-nav li {
        opacity: 1;
        transform: translateX(0);
        transition: transform 1s ease, opacity .9s ease
    }
}

@media screen and (max-width: 667px) {
    body {
        font-size: 1.3rem
    }

    #header .inner #logo {
        width: 50%
    }

    #footer>.inner {
        display: none
    }

    #footer .information {
        text-align: center;
        padding: 30px 0
    }

    #footer .information .inner>div {
        margin-bottom: 20px;
        width: 100%
    }

    #footer .information .inner .link_list {
        display: none
    }

    #footer .information .inner .sub_link_list {
        display: none
    }

    #footer .information .inner .copyright {
        width: 100%
    }

    #footer .flogo {
        margin: 0 auto 10px
    }

    .foot_contact {
        padding: 6% 6% 10%
    }

    .foot_contact .foot_image {
        margin-bottom: 20px;
        width: 100%
    }

    .foot_contact .foot_detail {
        width: 100%
    }

    .foot_contact .contact_btn {
        width: 100%
    }

    .slide-img {
        height: 40vh
    }

    .single,
    .single_02,
    .single_03,
    .single_04 {
        padding-bottom: 30px
    }

    .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
    }

    .column4 .child {
        width: 100%
    }

    .column4 .child:nth-child(2n),
    .column4 .child:nth-child(4n) {
        margin: 0 0 3%
    }

    .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: 2rem;
        letter-spacing: .1em
    }

    .mtitle_big span {
        font-size: 1.4rem
    }

    .mtitle_middle {
        font-size: 2rem
    }

    .mtitle {
        text-align: center
    }

    .mtitle span {
        display: block;
        margin-left: 0
    }

    .mtitle_small span {
        display: block
    }

    .mtitle_top {
        font-size: 2rem
    }

    .mtitle_news {
        margin-bottom: 20px
    }

    .mtitle_news span {
        font-size: 2rem;
        padding-bottom: 10px
    }

    .mtitle_balloon {
        font-size: 2rem
    }

    .mtitle_point {
        margin-bottom: 15px;
        font-size: 2rem;
        letter-spacing: .1em
    }

    .mtitle_point span {
        font-size: 1.4rem
    }

    .contact_btn li .contact_w_01 {
        width: 100%
    }

    .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
    }

    .company th {
        width: 32%
    }

    .tbl_company th {
        width: 30%
    }

    .tbl_form tr th,
    .tbl_form tr td {
        display: block;
        box-sizing: border-box
    }

    .tbl_form tr th {
        width: 100%
    }

    .article {
        display: block
    }

    .article .article_image,
    .article .article_detail {
        width: 100%
    }

    .article .article_image {
        display: none
    }

    .sns_list {
        display: block
    }

    .sns_list li {
        width: 100%;
        margin: 0 0 15px
    }

    .sns_list li:nth-child(3n) {
        margin: 0 0 15px
    }

    .sns_list li:last-child {
        margin: 0
    }

    .ggmap {
        padding-bottom: 70.25%
    }

    .flex_type .flex_image,
    .flex_type .flex_detail {
        width: 100%
    }

    .flex_type .flex_image {
        margin-top: 15px
    }

    .history_list li .history_list_year {
        min-width: 145px;
        max-width: 145px
    }

    .history_list li .history_list_txt .txt_list {
        padding: 6px 0 0 25px
    }

    .gallery_ul {
        font-size: 1rem
    }

    .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
    }

    .news_box .mtitle_news,
    .news_box .news_list {
        width: 100%
    }

    .news_list li a {
        padding: 10px
    }

    .news_list li a .news_category {
        display: inline-block;
        margin-right: 0
    }

    .news_list li a .news_title {
        margin-top: 20px;
        width: 100%
    }

    .mbox {
        padding: 30px 20px 40px
    }

    .about_box .inner {
        padding: 35px 20px 50px
    }

    .img_contents {
        padding: 0
    }

    .img_contents .img_area {
        top: 110px;
        width: 100%
    }

    .img_contents .img_container .txt {
        margin: 100px auto 0;
        width: 100%;
        padding: 20px
    }

    .page_navi {
        margin-bottom: 0
    }

    .page_navi li {
        margin: 0 0 20px;
        width: 100%
    }

    .page_navi li:nth-child(2n) {
        margin: 0 0 20px
    }

    .page_navi li:last-child {
        margin: 0
    }

    .page_navi li a .txt_title {
        font-size: 1.5rem
    }

    .recruit_bnr li {
        margin: 0 0 10px
    }

    .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: 100px 0 0
    }

    .form dl {
        margin: 10px 0
    }

    .form dl dt {
        float: none;
        width: 100%;
        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 .textarea03 {
        width: 35%
    }
    #slideshow #renewal {
        z-index: 2;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        -webkit- transform: translateY(-50%) translateX(-50%);
        width: 100%;
    }
    .bg_test {
        height: 500px;
    }
    
    .bg_test-text {                  
        width: 100%;
    }
}

/*# sourceMappingURL=smartphone.css.map */