.sp_menu {
    display: none
}

@media screen and (max-width: 1024px) {
    #header .inner {
        width: 95%;
        margin: 0 auto;
        padding: 24px 0
    }

    #header .inner #head_right {
        display: none
    }

    #navi {
        display: none
    }

    #page-top {
        bottom: 12%
    }

    .foot_navi {
        display: none
    }

    #footer {
        padding-bottom: 60px
    }

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

    .single,
    .single_02,
    .single_03 {
        width: 95%
    }

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

    .single_04 {
        padding-bottom: 50px;
        width: 80%
    }

    .bg_common {
        padding-top: 50px
    }

    .bg_b {
        margin-bottom: 50px
    }

    .snip figure.snip1432 figcaption>div.one {
        height: 25%
    }

    .top_contents {
        padding: 0 0 50px 0
    }

    .top_contents .top_contents_img {
        left: 10px;
        width: 230px
    }

    .gallery_ul li a {
        height: 155px
    }

    .pc-tcenter {
        text-align: left
    }

    .breadcrumb_box {
        margin-bottom: 30px
    }

    .breadcrumb_box .breadcrumb {
        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: #12356a;
        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: #12356a;
        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";
        font-weight: 900;
        content: "\f0da";
        margin-right: 10px;
        color: #e3f1fa
    }

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

    .icon-bar {
        height: 2px;
        background: #FFFFFF;
        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 {
        background: #12356a;
        display: block;
        position: fixed;
        top: 2%;
        right: 2%;
        z-index: 600;
        width: 35px;
        padding: 19px 10px 12px;
        cursor: pointer
    }

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

    #header .inner #logo {
        font-size: 2rem
    }

    .slideshow #catch {
        width: 80%
    }

    .swiper-slide {
        padding: 15rem 0
    }

    .contact_btn {
        display: block
    }

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

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

    .single,
    .single_02 {
        padding-bottom: 30px
    }

    .single_04 {
        padding-bottom: 30px;
        width: 95%
    }

    .bg_common {
        padding-top: 30px
    }

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

    .half .child,
    .triple .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
    }

    .bg_02:before {
        width: 122px;
        height: 110px;
        background-image: url(../img/bg_02_before_sp.png);
        background-size: contain
    }

    .bg_02:after {
        width: 90px;
        height: 82px;
        background-size: contain
    }

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

    .mtitle_big span {
        font-size: 1.4rem
    }

    .mtitle_middle {
        font-size: 2rem
    }

    .mtile_news {
        font-size: 2rem
    }

    .mtile_news span {
        font-size: 1.4rem
    }

    .mtitle {
        font-size: 2rem
    }

    .mtitle_policy {
        font-size: 1.8rem
    }

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

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

    .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: 60.25%
    }

    .article {
        display: block
    }

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

    .article .article_image {
        display: none
    }

    .article .article_detail {
        padding: 25px 0
    }

    .snip {
        margin-bottom: 0
    }

    .snip figure.snip1432 {
        margin-bottom: 20px;
        min-width: 100%
    }

    .icon_top {
        width: 80px
    }

    .bnr {
        margin-bottom: 30px
    }

    .bnr .bnr_list {
        margin: 0;
        border-right: none;
        border-bottom: 1px solid #030913
    }

    .bnr .bnr_list:last-child {
        border-bottom: none
    }

    .bnr .bnr_list:after {
        display: none
    }

    .bnr .bnr_list .ico {
        margin: 0 auto 15px;
        width: 150px
    }

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

    .gallery_ul li a {
        height: 130px
    }

    .item_flow .item_flow_num {
        width: 35px;
        height: 35px;
        line-height: 35px
    }

    .item_flow .item_flow_num span {
        font-size: 2rem
    }

    .item_flow .item_flow_ttl {
        padding-left: 80px
    }

    .icon_type {
        font-size: 1rem
    }

    .ol_list li {
        font-size: 1.3rem
    }

    .ol_first_list>li {
        font-size: 1.5rem
    }

    .top_contents {
        padding: 0
    }

    .top_contents .top_contents_img {
        left: 50%;
        width: 144px;
        overflow: hidden;
        margin-left: -72px
    }

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

    .sp_w300 {
        width: 60%
    }

    .pc {
        display: none
    }

    .sp {
        display: block
    }

    .group_bnr {
        width: 150px
    }

    .page_title_box .inner {
        padding: 50px 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
    }

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

