/* ヘッダー用 */
#search .txt{
   border: none !important;
   outline: none;
}

.m_header_menu__search_icon{
   display: flex;
   justify-content: center;
   align-items: center;
}
.m_header_menu__search_icon::after{
   content: '\f002';
   font-family: fontawesome;
   padding-right: 10px;
   font-size: 20px;
   color: #333;
}

.m_header_menu__search_wrap{
   display: flex;
   justify-content: center;
   align-items: center;
   border: 1px solid #333;
   background: #fff;
}

.hdSearchBox form#search{
   height: initial;
}

.hdSearchBox form#search input.txt::placeholder{
   padding-left: 5px;
}

.hdSearchBox form#search input.txt{
   box-shadow: none;
   padding: initial;
   float: initial;
   display: initial;
   border: initial;
   border-radius: initial;
   border: none;
   outline: none;
   width: 100%;
   padding: 5px;
}

.headerContainer-upper_v2{
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    align-items: flex-end;
    margin-bottom: 7px;
}

.hd_header_container_wrap{
    display: flex;
    padding: 12px 0 0;
    position: relative;
    margin: 5px auto;
    width: 1220px;
}
.hd_header_container{
/*
    padding: 12px 0 0;
    position: relative;
    margin: 5px auto;
    width: 1220px;
*/
}

.hd_container_search{
    margin-left: 20px;
}

.m_header_menu_nav__btn_wrap{
    display: none;
}

.m_header_menu_nav__bottom_wrap{
    display: none;
    width: 100%;
    height: 22px;
    background-color: #164a84;
}

.m_header_menu_nav__bottom{}

.m_header_menu_nav__list{
    margin: 0 auto;
    width: 1220px;
    position: relative;
    *zoom: 1;
}

.m_header_menu_nav__list_item{
    padding: 2px 0 0 0;
    float: left;
    margin: 0 0 0 63px;
    position: relative;
    display: none;
}

.m_header_menu_nav__list_item:first-child {
    margin: 0 0 0 38px;
}

.m_header_menu_nav__list_item--last{
    padding: 2px 0 0 0;
    float: left;
    margin: 0 0 0 63px;
    position: relative;
    display: none;
}

.m_header_menu_nav__list_item--last:first-child{
    margin: 0 0 0 38px;
}

.m_header_container--uppder{
    -ms-align-items: flex-end;
    align-items: flex-end;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}

.m_header_contents{
    -webkit-flex: 0 0 auto;
    -moz-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    -o-flex: 0 0 auto;
    flex: 0 0 auto;
}


/* スマホ用ナビ変更（ヘッダー） */
@media screen and (max-width:768px) {
    #header{
        line-height: initial; 
    }

    .hdSearchBox form#search{
        max-width: 90%;
        min-width: 75%;
    }

    .hd_header_container_wrap{
        height: auto;
        margin: auto;
        width: 100%;
        padding: initial;
    }

    .hCont {
        display: none;
    }
    .m_header_menu_nav {
        display: none;
        position: absolute;
    }

    .m_header_menu_nav--koushihaken{
        margin-top: 64px;
    }
    .m_header_menu_nav--koukaikouza{
        margin-top: 64px;
    }

    .hd_header_container_inner{
        display: flex;
        justify-content: center;
        height: 55px;
        width: 100%;
        right: 0;
        padding: 5px 0;
        background-color: inherit;
        z-index: 99999;
    }

    #overlay {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 999998;
        display: none;
        width: 100%;
        height: 100vh;
        background: rgba(0, 0, 0, .8);
    }

    .m_header_nav__searchbtn{}
    .m_header_nav__searchbtn::after{
        content: '\f002';
        font-family: fontawesome;
        font-size: 20px;
        color: #333;
    }

    .header_wrap{
        height: 60px;
    }

    .header{
        background-color: inherit;
        height: auto;
        width: 95%;
        margin: auto;
    }

    .header--close{
/*
        display: none;
*/
    }

    .hd_header_container{
        display: flex;
        justify-content: center;
        margin: 5px auto;
        height: 55px;
        width: 100%;
        right: 0;
        padding: initial;
        background-color: inherit;
        z-index: 99999;
    }

    .headerContainer-upper{
        align-items: center;
        flex-direction: initial;
        margin-bottom: initial;
    }

    .headerContainer-upper_v2{
        display: flex;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        align-items: center;
        margin-bottom: initial;
    }

    .hd_header_inner-left{
       display: flex;
       flex-direction: initial;
       align-items: center;
       margin-right: 0;
       width: 100%;
       padding-left: 10px;
    }

    .hd_container_search{
       width: 50%;
       margin-left: initial;
    }

    .m_header_menu_nav--toggle{
        -ms-align-items: center;
        align-items: center;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        height: 55px;
        width: 55px;
        justify-content: center;
        position: absolute;
        right: 0;
        z-index: 999;
        cursor: pointer;
    }

    .m_header_menu_nav--toggle_cancel{
        background: rgba(0, 0, 0, .8) !important;
    }

    .m_header_menu_nav__btn_wrap{
        display: none;
        /* display: flex; */
        justify-content: center;
        align-items: center;
        background: #fff;
    }
    .m_header_menu_nav__btn_wrap--open{
        display: flex;
    }
    .m_header_menu_nav__btn{
        display: flex;
        /* width: 100vw; */
    }
    .m_header_menu_nav__btn_inner{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 42px;
    }

    .m_header_menu_nav__btn_inner:hover{
        opacity: .6;
        text-decoration: none;
    }

    .m_header_menu_nav__contact{
        width: 75px;
        margin-left: 5px;
    }
    .m_header_menu_nav__contact_link{
        border: 1px solid #E5002D;
        background: #E5002D;
        color: #fff;
        font-size: 16px;
    }
    .m_header_menu_nav__contact_link:hover{
        color: #fff;
    }
    .m_header_menu_nav__shodan{
        width: 75px;
        margin-left: 5px;
    }
    .m_header_menu_nav__shodan_link{
        border: 1px solid #2a6cae;
        background: #2a6cae;
        color: #fff;
        font-size: 16px;
    }
    .m_header_menu_nav__shodan_link:hover{
        color: #fff;
    }
    .m_header_menu_nav__tel{
        width: 75px;
        margin-left: 5px;
    }
    .m_header_menu_nav__tel_link{
        border: 1px solid #666;
        background: #666;
        color: #fff;
        font-size: 16px;
    }
    .m_header_menu_nav__tel_link:hover{
        color: #fff;
    }
    .m_header_menu_nav__faq{
        width: 60px;
    }
    .m_header_menu_nav__faq_link{
        display: flex;
        justify-content: center;
        align-items: center;
        border: 2px solid #9E2730;
        background: #fff;
        font-weight: bold;
        width: 100%;
        color: #9E2730;
        height: 42px;
        font-size: 16px;
    }
    .m_header_menu_nav__faq_link:hover{
        color: #9E2730;
    }
    .m_header_menu_nav__cancel{
        background: rgba(0, 0, 0, .8);
        width: 90px;
        margin: -10px;
        margin-right: 0;
        margin-left: auto;
    }
    .m_header_menu_nav__cancel_link{}

    .m_header_menu_nav__cancel_line{
        background-color: #fff;
        display: block;
        height: 3px;
        position: absolute;
        transition: .3s;
        width: 60px;
        top: 30px;
        right: -15px;
    }
    .m_header_menu_nav__cancel_line--first{
        transform: rotate(45deg);
    }
    .m_header_menu_nav__cancel_line--second{
        transform: rotate(-45deg);
    }

    .m_header_menu_nav--toggle_koushihaken{
        right: 0;
        /* background: #9E2730; */
        background: #8F1E35;
    }

    .m_header_menu_nav--toggle_koukaikouza{
        right: 0;
        background: #164A84;
    }

    .m_header_menu_nav--line_first{
        transform: translateY(-10px);
    }

    .m_header_menu_nav--line_second{
        transform: translateY(10px);
    }

    .m_header_menu_nav--line_third{}


    .m_header_menu_nav--line_first.open{
        transform: rotate(45deg);
    }

    .m_header_menu_nav--line_second.open{
        opacity: 0;
    }

    .m_header_menu_nav--line_third.open{
        transform: rotate(-45deg);
    }

    .m_header_menu_nav--line{
        background-color: #fff;
        display: block;
        height: 3px;
        position: absolute;
        transition: .3s;
        width: 50%;
    }

    .m_header_menu_nav__bottom{}
    .m_header_menu_nav__bottom_wrap{
        display: block !important;
        position: fixed;
        right: -100%;
        z-index: 999999;
        width: calc(100% - 64px);
        background: transparent;
        height: 100%;
        -webkit-overflow-scrolling: touch;
        overflow: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .m_header_menu_nav__bottom_wrap::-webkit-scrollbar {
        display: none;
    }
    .m_header_menu_nav__list{
        right: auto !important;
        position: static;
        width: 100%;
        height: 100%;
        overflow-x: visible;
        overflow-y: auto;
    }
    .m_header_menu_nav__list_item{
        position: relative;
        display: block;
        float: none;
        margin: 0;
        padding: 0;
        background: #fff;
    }
    .m_header_menu_nav__list_item:first-child{
        margin: 0;
    }


    .m_header_menu_nav__list_item--last{
        position: relative;
        display: block;
        float: none;
        margin: 0;
        padding: 0;
        background: #fff;
    }

    .m_header_menu_nav__list_item--last{
        margin: 0;
    }

    .m_header_menu_nav__list_item_ttl{
        display: block;
        padding: 8px 16px;
        line-height: 1;
        font-weight: bold;
        background: #ccc;
        color: #fff;
        text-align: left;
    }
    .m_header_menu_nav__list_item_ttl--koushihaken_ttl{
        /* background: #9E2730; */
        background: #8F1E35;
        font-size: 16px;
    }
    .m_header_menu_nav__list_item_ttl--koukaikouza_ttl{
        background: #164A84;
    }
    .m_header_menu_nav__list_link{
        position: relative;
        display: block;
        padding: 8px 40px 8px 16px;
        text-decoration: none;
        color: #333;
        line-height: 1;
        float: none;
        height: auto;
        text-align: left;
        font-size: 16px;
        font-weight: 500;
    }
    .m_header_menu_nav__list_link:hover{
        opacity: .6;
        color: #000;
        text-decoration: none;
    }

    .m_header_menu_nav__list_link--border{}
    .m_header_menu_nav__list_link--border::before{
        position: absolute;
        bottom: 0;
        content: '';
        width: 90%;
        height: 2px;
        background: #ccc;
        z-index: 99999;
        left: 15px;
    }

    .m_header_menu_nav__list_link--toggle{}
    .m_header_menu_nav__list_link--toggle::after{
        content: "\f067";
        position: absolute;
        right: 30px;
        top: 50%;
        font: 16px/1 fontawersome;
        transform: translateY(-50%);
        font-family: fontawesome;
    }
    .m_header_menu_nav__inner--open{}
    .m_header_menu_nav__inner--open::after{
        content: "\f068";
    }
    .m_header_menu_nav__inner{
        display: none;
        left: 0;
        z-index: 99999;
    }
    .m_header_menu_nav__inner_list{}
    .m_header_menu_nav__inner_list_link{
        position: relative;
        display: block;
        padding: 8px 24px 8px 35px;
        text-decoration: none;
        color: #333;
        line-height: 1;
        font-size: 14px;
        font-weight: 500;
        float: none;
        height: auto;
        text-align: left;
    }
    .m_header_menu_nav__inner_list_link:hover{
        opacity: .6;
        color: #000;
        text-decoration: none;
    }

    .m_header_menu_nav__inner_list_link--border{}
    .m_header_menu_nav__inner_list_link--border::before{
        position: absolute;
        bottom: 0;
        content: '';
        width: 86%;
        height: 2px;
        background: #ccc;
        z-index: 99999;
        left: 30px;
    }

    .m_header_container{
        font-size: 14px;
    }

    .m_header_container--uppder{
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: unset;
        padding-left: 15px;
        transition: .3s;
    }

    .m_header_contents{
        margin-left: 15px;
    }

    .m_header_menu_company_info{
        right: auto !important;
        position: static;
        width: 100%;
        height: auto;
        background: #fff;
        overflow: hidden;
        margin-top: 20px;
        font-size: 16px;
    }
    .m_header_menu_company_info__ttl_wrap{
        text-align: left;
        background: #E9E9E9;
        padding: 8px 16px;
        font-weight: bold;
    }
    .m_header_menu_company_info__ttl{}
    .m_header_menu_company_info__body{
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        flex-wrap: wrap;
        padding: 10px;
    }
    .m_header_menu_company_info__item{
        min-width: 30%;
        padding: 5px;
        text-align: left;
    }
    .m_header_menu_company_info__link{
        text-decoration: underline;
        color: #000;
    }
    .m_header_menu_company_info__link::before{
        content: "- ";
    }
    .m_header_menu_company_info__link:hover{
        opacity: .6;
    }

    .m_header_menu_close__btn_wrap{
        display: flex;
        justify-content: center;
        height: auto;
        margin-top: 20px;
        margin-bottom: 128px;
        color: #000;
    }

    .m_header_menu_close__btn_wrap:hover{
        color: #000;
        text-decoration: none;
    }
    .m_header_menu_close__btn{
        display: flex;
        justify-content: center;
        align-items: center;
        background: #fff;
        border-radius: 50px;
        padding: 20px 20px 20px 10px;
        font-size: 16px;
        font-weight: 700;
        width: 50%;
    }

    .m_header_menu_close__link{
        font-size: 16px;
    }
    .m_header_menu_close__link::after{
        content: '\f00d';
        position: absolute;
        font-family: fontawesome;
        padding-left: 10px;
        margin-top: 3px;
    }

    .m_header_menu__search_wrap{
        display: flex;
        justify-content: center;
        align-items: center;
        border: 1px solid #333;
        background: #fff;
    }
}

@media screen and (max-width:599px) {
    .heading_logo img{
        width: 100px;
    }

    .header-logo img{
        width: 100px;
    }

    .hd_container_search{
        width: 45%;
    }

    .hdSearchBox form#search input.txt::placeholder{
        font-size: 11px;
    }

    #search .txt::placeholder{
        font-size: 11px;
    }

    .m_header_menu__search_icon::after{
        content: '\f002';
        font-family: fontawesome;
        padding-right: 10px;
        font-size: 16px;
        color: #333;
    }

    .m_header_contents{
        margin-left: initial;
    }

}