@charset "UTF-8";
/*ヘッダーナビゲーション
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------*/

.header-wrap {
  position: relative;
}

.header-wrap .upper{position: absolute;right:8px;top:8px;}
.header-wrap .upper li{
		margin:0;
		float:left;
		padding:0.5em 0.6em;
		font-size:0.8em;
		}
.header-wrap .upper li:nth-child(5){
		padding:0 0.6em;
		}

.header-wrap .upper li a{color:#333}
.header-wrap .upper li a:hover{color:#1a84c7}
.header-wrap .upper li.gs_tel{
            float: left;
            line-height: 80%;
            font-size: 1.1em;
            text-align: right;
            font-family: "din-2014", sans-serif;
            font-weight: 500;
 		}
         .header-wrap .upper li.gs_tel a:hover{
            color:#333
             }
.header-wrap .upper li.gs_tel:before{margin-right:5px; content:"\f095"; font-family: "Font Awesome 5 Free";font-weight: bold;}		
.header-wrap .upper li.gs_tel span{font-size:0.6em;color:#666;font-weight:normal}
.header-wrap .upper li.login a:hover{margin-right:5px; content:"\f023"; font-family: "Font Awesome 5 Free";font-weight: bold;}
.header-wrap .upper li.login:before{margin-right:5px; content:"\f023"; font-family: "Font Awesome 5 Free";font-weight: bold;}
.header-wrap .upper li a.targetblank:after{color:#333}

.search_wrap{
		width:16em;
		margin:0
	}
	.mm-search_wrap{
			width:100%;
			margin:0;
			padding: 10px 4%;
		}

dl.search{
	position:relative;
	background-color:#fff;
	border:1px solid #eee;
	margin:0;
}
dl.search dt{
	padding:0.3em 0.5em 0.3em;
}
dl.search dt input{
	width:100%;
	padding:0.2em 0;
	background:none;
	font-size:100%;
	border:none;
}
dl.search dd{
	position:absolute;
	top:0;
	right:0;
}
dl.search dd button{
	display:block;
	/*padding:0;*/
	background:none;
	border:none;
	cursor:pointer;
}
dl.search dd button span{
	display:block;
	padding:0.7em 0.2em 0.5em 0;
}
header.globalnavi.fixed {
    /*padding: 5px 0;*/
}
header.globalnavi.fixed .header-wrap .upper {
display:none;
}

.logo-wrap,
header.globalnavi.fixed .logo-wrap{
  float: left;
	padding:5px 0 8px 10px;
}
header.globalnavi .logo-wrap .head-txt{text-align: center;padding:.2em 0 .1em;color:#555;font-weight: 500;display: block}
header.globalnavi.fixed .logo-wrap .head-txt{display:none}
.logo-wrap img {
	vertical-align: middle;
    width:224px;height: auto;
}
header.globalnavi.fixed .logo-wrap img {width:140px;height: auto;}
header.globalnavi .nav_fixed {
    display: none;
}
header.globalnavi.fixed .nav_fixed {
    display: block;
}
header.globalnavi .btn_webcm_wrap {display: inline-block; position: absolute;top: /*.4em*/50%;margin-left:1em}
header.globalnavi a.btn_webcm {
	font-size: .7em;
    border: 2px #1aadff solid;
    text-decoration: none;
    padding: 0.3em .5em;
    color: #1aadff;
    letter-spacing: .3px;
}
	header.globalnavi a.btn_webcm i{color:#1aadff}
	header.globalnavi a.btn_webcm:hover {background:#1aadff;color:#fff;}
	header.globalnavi a.btn_webcm:hover i {color:#fff;}
	header.globalnavi.fixed .btn_webcm_wrap {margin-left:.6em;position: absolute;top: .6em;}
	header.globalnavi.fixed a.btn_webcm {font-size:0.6em;padding: 0.4em 0.6em;}

header.globalnavi .top-mnu {
	margin:48px 0 0px 0;
	float: right;
	z-index: 99999
}
	header.globalnavi.fixed .top-mnu {
	margin:6px 0 0;
	}
span.btn-docs a {
	border: 2px solid rgba(26,132,199,1);
	background: rgba(26,132,199,1);
	color: #fff;
    /*border: 2px solid #005eae;
    color:#005eae;*/
    float: left;
    text-align: center;
    font-weight: 700;
	padding: 0.1em 1em;
	/*margin:5px 15px 0;*/
	margin:3px 15px 0;
    border-radius: 30px;
}
	span.btn-docs a:hover {
		border: 2px solid rgba(26,132,199,1);
		background: #fff;
		color:rgba(26,132,199,1);
		transition: background 0.2s ease 0s;
	}
span.btn-estimate a {
    border: 2px solid #f9a712;
    background: #f9a712;
    color: #fff;
    float: left;
    text-align: center;
    font-weight: 700;
	padding: 0.1em 1em;
	margin:3px 10px 0 0;
    border-radius: 30px;
}
	span.btn-estimate a:hover {
		background: #fff;
		color:#f9a712;
		transition: background 0.2s ease 0s;
	}


.site-menu-sub-list {
  margin-bottom: 30px;
}

.site-menu-sub-list li{
  
}

.site-menu-sub-list i {
  margin-right: 5px;
}

.site-menu {
  position: static;
  float: none;
}



.site-menu li {
  white-space: normal;
  position: static;
}

.site-menu > li > ul {
  max-width: 240px;
 width:auto;
  left: auto;
	top:100%
}

.site-menu > li > ul li .sf-with-ul::after {
   font-family: "Font Awesome 5 Free";font-weight: bold;
  content: "\f0da";
  right: 1em;
  position: absolute;
}



.mm-menu {
  z-index: 777;
}



.toggle-mnu {
  display: block;
  width: 28px;
  height: 28px;
position: absolute;
	top:20px;
	right:14px;
  /*position: relative;
 float: right;*/
  z-index: 777;
}
.toggle-mnu span:after, .toggle-mnu span:before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
}

.toggle-mnu span:after {
  top: 18px;
}

.toggle-mnu span {
  position: relative;
  display: block;
}

.toggle-mnu span, .toggle-mnu span:after, .toggle-mnu span:before {
  width: 100%;
  height: 2px;
  background-color: #1a84c7;
  -webkit-transition: all 0.3s;
          transition: all 0.3s;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  border-radius: 2px;
}

.toggle-mnu.on span {
  background-color: transparent;
}

.toggle-mnu.on span:before {
  -webkit-transform: rotate(45deg) translate(-1px, 0px);
      -ms-transform: rotate(45deg) translate(-1px, 0px);
          transform: rotate(45deg) translate(-1px, 0px);
}

.toggle-mnu.on span:after {
  -webkit-transform: rotate(-45deg) translate(6px, -7px);
      -ms-transform: rotate(-45deg) translate(6px, -7px);
          transform: rotate(-45deg) translate(6px, -7px);
}



.site-menu a {
  /*color: #333;
  background-color: #fff;*/
}

.site-menu > li {
  /*background-color: #fff;
  border-left: #ddd 1px solid;*/
}
.site-menu > li > a.subnav{padding-right: 26px;}
.site-menu > li > a.subnav:after {
	position: absolute;
	bottom: 0.4em;
	right:14px;
	content:"\f0d7";
	font-family: "Font Awesome 5 Free";
	font-weight: bold;color:#005eae;
  -webkit-transition: all 0.5s ease;
          transition: all 0.5s ease;
}
.site-menu > li > a.subnav:hover {
	color:#fff
}

.site-menu > li > a {
	padding: 0.4em 15px;
  border-bottom: 5px solid transparent;
  -webkit-transition: all 0.5s ease;
          transition: all 0.5s ease;
}

.site-menu > li > a + * {
	order-top: rgba(26,132,199,1) solid 5px
}

.site-menu > li > a + * a {
  -webkit-transition: all 0.25s ease;
          transition: all 0.25s ease;
  border-bottom: #ddd 1px solid;
}

.site-menu > li > a + * a:hover {
}

.site-menu > li:hover > a{
  background:rgba(26,132,199,1);
color: #fff;
}
.site-menu > li:hover > a i {color:#fff;}
.site-menu > li:hover > a.subnav:after{
color: #fff;
}

.site-menu .site-menu-sub-box {
 background: rgba(3,92,159,.88);
  padding: 35px 0;
}



body:after {
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: rgba(0,0,0,0.4);
    content: '';
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
}
body.overlay:after {
    z-index: 1;
    opacity: 1;
}


.site-menu-main-ttl {
  position: relative;
  padding-bottom: .5em;
  border-bottom: 2px solid #ccc;
	margin:0 0 .5em 0;
    font-size:  1.8em;       /* 文字サイズ指定 */
     font-weight:  600;   /* 文字の太さ調整 */
	color:#fff;
	letter-spacing:.3px
}
	.site-menu-main-ttl:after {
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: 2;
  content: '';
  width: 10%;
  height: 2px;
  background-color: #fff;
}


.site-menu-sub-ttl {
  position: relative;
  padding-bottom: .5em;
  /*border-bottom: 2px solid #ccc;*/
	margin:0 0 .5em 0;
    font-size:  1em;       /* 文字サイズ指定 */
     font-weight:  600;   /* 文字の太さ調整 */
	color:#fff;
	letter-spacing:.3px
}

	.mega-txt {font-size:.86em;line-height: 1.6;margin:0 0 .5em 0;color:rgba(215,235,250,1.00);font-weight: 100}
	.mega-txt a{display: block}

ul.site-menu-sub-list {
  display: block;
  float: none;
  position: relative;
  box-shadow: none;
	width:100%;
	margin: 1em 0
}
ul.site-menu-sub-list li {
	background: rgba(255,255,255,0.9);
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    border-bottom: #ddd 1px solid;
    padding: 1.2em 1em;
    zoom: 1;
	margin-bottom:2px;
	
}
ul.site-menu-sub-list li:hover {
	background: rgba(255,255,255,1.00);
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
	
}
ul.site-menu-sub-list li a{font-size:1em;font-weight: 400}
ul.site-menu-sub-list li a:hover{
	color:#005eae !important
}

ul.site-menu-sub-list li.order {
	background: rgba(249, 167, 18,0.9);
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    border-bottom: #f9a712 1px solid;
    padding: 1.2em 1em;
    zoom: 1;
	margin-bottom:2px;
	
}

ul.site-menu-sub-list li.order:hover {
	background: rgba(249, 167, 18,1.00);
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
	
}
ul.site-menu-sub-list li.order a{color:#fff !important;font-size:1em;font-weight: 400}
ul.site-menu-sub-list li.order a i{color:#fff !important;}
ul.site-menu-sub-list li.order a:hover{
	color:#fff !important
}

ul.link-sub {
  display: block;
  float: none;
  position: relative;
  box-shadow: none;
	width:100%;
	margin: auto;
	padding:0 0;
	
}

ul.link-sub li {
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    border-bottom:none;
	padding:0.4em 0 0.4em 0.6em;
    zoom: 1;
	white-space:normal;
	background: none;
	border-left:1px solid rgba(255,255,255,0.23)
}
		ul.link-sub li a{
			font-size:.8em;
			color:rgba(255,255,255,0.9);
			letter-spacing: .8px
			}
		ul.link-sub li a:hover{
			text-decoration: underline;
			color:#fff;
		}
		ul.link-sub li:hover{
			/*background: rgba(255,255,255,0.23)*/
		}
		/*ul.link-sub li a:before{
			font-family: "Font Awesome 5 Free";
			font-weight: bold;
			content: "\f0da";
			padding-right:.3em;
			}*/
		 ul.link-sub li > .targetblank:after {
			color:#fff;
		}
		 ul.link-sub li > .targetblank:hover {
			background: none;
		}
ul.link-mega-sub {
  display: block;
  float: none;
  position: relative;
  box-shadow: none;
	width:100%;
	margin: auto;
	padding:0
}

ul.link-mega-sub li {
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    border-bottom:none;
	padding:0.6em 0.7em;
    zoom: 1;
	white-space:normal;
	background: none
}
		ul.link-mega-sub li a{
			font-size:.9em;
			color:#fff
			}
		ul.link-mega-sub li a:hover{
			color:#fff;
		}
		ul.link-mega-sub li:hover{
			background: rgba(255,255,255,0.23)
		}
		ul.link-mega-sub li a:before{
			font-family: "Font Awesome 5 Free";
			font-weight: bold;
			content: "\f0da";
			padding-right:.3em;
			}


/*.row {
  margin-right: -15px !important;
  margin-left: -15px !important;
}*/

.site-menu .container {

padding:auto !important;
	width:100%;margin: auto
}

.site-menu .container .row {
	
  margin-right: -15px !important;
  margin-left: -15px !important;
}

.site-menu .container .col-lg-1, .site-menu .container .col-lg-10, .site-menu .container .col-lg-11, .site-menu .container .col-lg-12, .site-menu .container .col-lg-2, .site-menu .container .col-lg-3, .site-menu .container .col-lg-4, .site-menu .container .col-lg-5, .site-menu .container .col-lg-6, .site-menu .container .col-lg-7, .site-menu .container .col-lg-8, .site-menu .container .col-lg-9, .site-menu .container .col-md-1, .site-menu .container .col-md-10, .site-menu .container .col-md-11, .site-menu .container .col-md-12, .site-menu .container .col-md-2, .site-menu .container .col-md-3, .site-menu .container .col-md-4, .site-menu .container .col-md-5, .site-menu .container .col-md-6, .site-menu .container .col-md-7, .site-menu .container .col-md-8, .site-menu .container .col-md-9, .site-menu .container .col-sm-1, .site-menu .container .col-sm-10, .site-menu .container .col-sm-11, .site-menu .container .col-sm-12, .site-menu .container .col-sm-2, .site-menu .container .col-sm-3, .site-menu .container .col-sm-4, .site-menu .container .col-sm-5, .site-menu .container .col-sm-6, .site-menu .container .col-sm-7, .site-menu .container .col-sm-8, .site-menu .container .col-sm-9, .site-menu .container .col-xs-1, .site-menu .container .col-xs-10, .site-menu .container .col-xs-11, .site-menu .container .col-xs-12, .site-menu .container .col-xs-2, .site-menu .container .col-xs-3, .site-menu .container .col-xs-4, .site-menu .container .col-xs-5, .site-menu .container .col-xs-6, .site-menu .container .col-xs-7, .site-menu .container .col-xs-8, .site-menu .container .col-xs-9 {
  padding-right: 15px !important;
  padding-left: 15px !important;
}


.menu-new-item {
  margin-bottom: 30px;
}

.menu-new-item h3 {
  margin: 15px 0;
}

.menu-new-item a {
  padding: 0;
  font-size: 1em;
  border-bottom: none;

}

.menu-new-item p {
  font-size: 14px;
  color: #666;
}

.site-menu > li > a + * .menu-new-item a {
  border-bottom: none;
}

.site-menu > li > a + * .menu-new-item a:hover {
  /*color: #333;*/
}

/*==========  Desktop First Method  ==========*/
/* Large Devices, Wide Screens */
/* Medium Devices, Desktops */
@media screen and (max-width:768px) {
header.globalnavi .btn_webcm_wrap {position: absolute;top: 1.8em;left:224px;}

}

@media only screen and (max-width: 1160px) {



header.globalnavi .btn_webcm_wrap {position: absolute;top: 1.8em;left:160px;}

header.globalnavi.fixed .btn_webcm_wrap {position: absolute;top: .6em;left:148px;}
header.globalnavi.fixed a.btn_webcm {font-size:0.6em;}
	
	
ul.site-menu-sub-list li {
    padding: .4em;
}

	ul.site-menu-sub-list li a{color:#005eae}

ul.link-mega-sub li {
 	padding:0.3em 0
}

.header-wrap .upper li{
		padding:0.3em 0.5em;
		font-size:0.7em;
		}

}
@media screen and (max-width:996px) {
.logo-wrap img {width:150px;}
header.globalnavi {
    padding: 1px 0 6px;
}
	
.mm-panels .container-fluid .col-lg-3 {
  padding-right: 0px !important;
  padding-left: 0px !important;
}

	.upper{display:none}
  .top-mnu ul {
    display: none;
  }
.mm-listview > li > span.btn-docs{
    display:inline-block;
    margin: 0 0 0 8px;
	width:48%;
}
.mm-listview > li > span.btn-estimate{
    display:inline-block;
    margin: 0;
	width:48%;
}
span.btn-docs a{
    color:#005eae;
	background: #f1f1f1;
	padding: 0.7em 1em;
	margin:0;
	width:100%;
	
}
span.btn-estimate a{
	padding: 0.7em .9em;
	margin:0;
	width:100%;
	
}
	span.btn-docs a:hover,
	span.btn-estimate a:hover{
		color:#fff;
		background: #005eae;
		transition: background 0.2s ease 0s;

	}
.mm-listview li a.mm-inline-link {
	white-space: normal;
	overflow: visible;

    display:inline;
    padding: 10px 0 !important;
    margin: 0 5px 5px 0 !important;
	font-size:0.86em
}

.mm-gs_tel{margin:0;display: inline;}
.mm-gs_tel:before{margin-right:5px; content:"\f095"; font-family: "Font Awesome 5 Free";font-weight: bold;}
.mm-gs_mail{margin:0;display: inline;}
.mm-gs_mail:before{margin-right:5px; content:"\f0e0"; font-family: "Font Awesome 5 Free";font-weight: bold;}
.site-menu-sub-ttl {
	font-size:.9em;
    margin: 0px 0 5px;
}

	.mm-link_list li{
	line-height:160%;
	margin:0;
	padding:0;font-size:.8em;
}
	.mm-link_list li a{
	color:#fff;
}

	.mm-link_list li:before{
		font-family: "Font Awesome 5 Free";
		font-weight:bold;
		content: "\f0a9";
		color:#fff;
		padding-right:0.3em;
		}

ul.link-sub {
	padding:0
}

ul.link-sub li {
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    border-bottom:none;
	padding:0.1em 0;
    zoom: 1;
	white-space:normal;
	border-left:none;
}
    ul.link-sub li a {margin:0; }
}
@media screen and (max-width:768px) {
		header.globalnavi {
		padding:5px 0;
	}
		header.globalnavi.fixed {
		padding:10px 0;
	}
	.logo-wrap img {width:159px;}

	header.globalnavi .logo-wrap .head-txt{padding: 0}


}
@media screen and (max-width:480px) {
		header.globalnavi {
		padding:0;
	}
	.logo-wrap img {width:150px;}
	header.globalnavi .btn_webcm_wrap{display:none}
	header.globalnavi .logo-wrap .head-txt{padding:.1em 0 .1em;}
	
}



/* Small Devices, Tablets */
@media only screen and (max-width: 996px) {
  /*Disable Animation on Mobile Devices*/
  .animated {
    /*CSS transitions*/
    -webkit-transition-property: none !important;
    transition-property: none !important;
    /*CSS transforms*/
    -ms-transform: none !important;
    -webkit-transform: none !important;
    transform: none !important;
    /*CSS animations*/
    -webkit-animation: none !important;
    animation: none !important;
  }

}

/* Extra Small Devices, Phones */
/* Custom, iPhone Retina */
/*==========  Mobile First Method  ==========*/
/* Custom, iPhone Retina */
/* Extra Small Devices, Phones */
/* Small Devices, Tablets */
/* Medium Devices, Desktops */
@media only screen and (min-width: 997px) {

  .toggle-mnu,.nav_sm {
    display: none;
  }
  .toggle-mnu, #mobile-menu, html.mm-blocking #mm-blocker {
    display: none;
  }
  html.mm-opening .mm-slideout {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0);
  }
	
	
}

/* Large Devices, Wide Screens */




/***********************************************************************
 * site_menu 修正
 ***********************************************************************/

.menu_overlay{
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    z-index: 10;
    display: none;
}
.menu_overlay.active{
    display: block;
}
.menu_sp_overlay{
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: none;
    z-index: 10;
    display: block;
    transform: translateX(-100%);    
    transition: background-color .4s ease;
    transition-duration: .4s;
    transition-delay: .5s;
}
.menu_sp_overlay.active{
    transform: translateX(0%);
    background-color: rgba(0,0,0,0.7);
}
@keyframes openMenu {
    0% {
        transform: translateX(-100%);
    }
    1% {
        transform: translateX(-30%);
    }
    100% {
        transform: translateX(0%);
    }
}
@keyframes closeMenu {
    0% {
        transform: translateX(0%);
    }
    99% {
        transform: translateX(-30%);
    }
    100% {
        transform: translateX(-100%);
    }
}
#mobile-menu{
    position: fixed;
    display: none;
    transform: translateX(-100%);
}
#mobile-menu.active{
    display: block;
    animation: openMenu .5s ease 0s alternate forwards;
}
#mobile-menu.inactive{
    display: block;
    animation: closeMenu .5s ease 0s alternate backwards
}
.top-mnu .site-menu-sub-box{
    position: absolute;
    display: none;
    top: 100%;
    left: 0;
    width: 100%;
}
.top-mnu .site-menu{
    display: -ms-flexbox;
    -js-display: flex;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin-bottom: 0px;
}
.top-mnu .site-menu > li > a,
.top-mnu .site-menu > li > span > a{
    font-size: 0.8em;
    display: block;
    position: relative;
}
.top-mnu .site-menu > li > a + * .menu-new-item a{
    display: block;
}
.top-mnu.pc .sp-navbar{
    display: none;
}
.top-mnu.pc .subnav_btn{
    display: none;
}
.top-mnu.pc .smallSubMenu{
    position: relative;
}
.top-mnu.pc .smallSubMenu .site-menu-sub-box{
    padding: 0px;
    background: #fff;
    width: 210px;
}
.top-mnu.pc .smallSubMenu .site-menu-sub-box ul{
    margin-bottom: 0px;
}
.top-mnu.pc .smallSubMenu .site-menu-sub-box ul li a{
    padding: .5em 1em;
    display: block;
}

@media only screen and (min-width: 1280px){
    .top-mnu .site-menu > li > a,
    .top-mnu .site-menu > li > span > a{
        font-size: 0.8em;
    }
}
@media screen and (max-width:1196px) {
header.globalnavi.fixed .top-mnu {
	margin: 10px 0 0;
}
.logo-wrap img {
    width: 180px;
}
.top-mnu .site-menu > li > a,
.top-mnu .site-menu > li > span > a{
    font-size: 0.7em;

}
.site-menu > li > a.subnav {
    padding-right: 26px;
}
.site-menu > li > a {
    padding: 0.6em 0;
}
.site-menu a.subnav:after {	bottom: 0.6em;}


}
@media screen and (max-width:1028px) {
/*.site-menu > li > a.subnav{padding-right: 10px;}*/
.site-menu > li > a.subnav:after {

    bottom:0.5em;
    right: 0;

}


}
@media screen and (max-width:996px) {
    .top-mnu.pc,.site-menu-main-ttl,
    .nav_fixed{
        display: none;
    }
    .menu_sp_overlay{
        z-index: 250;
    }
    #mobile-menu{
        width: 80%;
        min-width: 140px;
        max-width: 440px;
        position: fixed;
        overflow-x: hidden;
        overflow-y: hidden;
        height: 100vh;
        background: rgba(3,92,159,1);
        border-color: rgba(255, 255, 255, 0.4);
        color: #fff;
        z-index: 300;
    }
    #mobile-menu .mobile_menu_main_page{
        transform: translateX(0%);
        transition: transform .4s ease;
        width: 100%;
        height: 100vh;
        overflow-x: hidden;
        overflow-y: auto;
    }
    #mobile-menu .mobile_menu_main_page.hasPageOpen{
        transform: translateX(-30%);
    }
    #mobile-menu .site-menu-sub-box{
        display: block;
        position: absolute;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 100vh;
        overflow-x: hidden;
        overflow-y: auto;
        transform: translateX(100%);
        -moz-transition: transform .4s ease;
        -webkit-transition: transform .4s ease;
        transition: transform .4s ease;
        z-index: 2;
        background:  rgba(26,132,199,1);
    }
    #mobile-menu .site-menu-sub-box.active{
        transform: translateX(0%);
    }
    #mobile-menu .site-menu-sub-box .container{
        padding: 0px 35px;
    }
    #mobile-menu .site-menu-sub-box .container .row{
        padding: 20px 0px;
    }
    #mobile-menu .site-menu-sub-box .container > .row{
        padding: 0px 0px;
    }
    #mobile-menu .site-menu-sub-box.subpage-menu2 .container .row{
        padding: 20px 0px;
    }
    #mobile-menu .site-menu-sub-box .container .row > div{
        border-right: none!important;
    }
    #mobile-menu .site-menu-sub-box .container .row ul.link-sub li{
        padding: 10px;
        line-height: 20px;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
        tap-highlight-color: rgba(0, 0, 0, 0.1);
        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }
    #mobile-menu .site-menu-sub-box .container .row ul.link-sub li a::after{
        color: #fff;
    }
    #mobile-menu .site-menu-sub-box .container .row ul.site-menu-sub-list li a{
        display: block;
        line-height: 20px;
        padding: 10px;
        margin: 0 0 0 10px;
    }
    #mobile-menu .sp-navbar{
        padding: 0px 40px;
        border-bottom: 1px solid rgba(255,255,255,0.4);
        /*background:  rgba(3,92,159,1);*/
        position: relative;
    }
    #mobile-menu .sp-navbar .subnav_back_btn{
        width: 20px;
        height: 20px;
        position: absolute;
        transform: translateY(-50%);
        left: 0px;
        top: 50%;
        margin-bottom: 0px;
        margin-left: 20px;
    }
    #mobile-menu .sp-navbar .subnav_back_btn::after{
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        border-bottom: 2px solid rgba(255, 255, 255, 1);
        border-right: 2px solid rgba(255, 255, 255, 1);
        width: 8px;
        height: 8px;
        -webkit-transform: translate(-50%,-50%) rotate(135deg);
        -moz-transform: translate(-50%,-50%) rotate(135deg);
        -ms-transform: translate(-50%,-50%) rotate(135deg);
        -o-transform: translate(-50%,-50%) rotate(135deg);
        transform: translate(-50%,-50%) rotate(135deg);
    }
    #mobile-menu .sp-navbar .sp-title{
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        text-align: center;
        color: #fff;
        width: 100%;
        display: block;
        padding: 10px 0px;
        line-height: 20px;
        margin-bottom: 0px;
    }
    #mobile-menu .site-menu > li,
    #mobile-menu .site-menu-sub-box .full_list li{
        border-bottom: 1px solid rgba(255,255,255,0.4);
    }
    #mobile-menu .site-menu > li > a,
    #mobile-menu .site-menu > li > span,
    #mobile-menu .site-menu-sub-box .full_list li a{
        padding: 10px;
        margin-left: 10px;
        margin-bottom: 0px;
        border-bottom: 0px;
        display: block;
        line-height: 20px;
        color: #fff;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
        tap-highlight-color: rgba(0, 0, 0, 0.1);
    }
    #mobile-menu .site-menu-sub-box .full_list li a::after{
        color: #fff;
    }
    #mobile-menu .site-menu > li:hover > a{
        background: rgba(26,132,199,1);
        color: #fff;
    }
    #mobile-menu .site-menu > li > a.subnav{
        margin-right: 50px;
        position: relative;
    }
    #mobile-menu .site-menu > li > a.subnav::after{
        display: none;
    }
    #mobile-menu .site-menu > li > .subnav_btn{
        width: 50px;
        background: rgba(255, 255, 255, 0.2);
        border-left: 1px solid rgba(255,255,255,0.4);
        height: 40px;
        position: absolute;
        right: 0px;
        transform: translateY(-100%);
        margin-bottom: 0px;
    }
    #mobile-menu .site-menu > li > .subnav_btn:hover{
        background: rgba(255, 255, 255, 0.2);
    }
    #mobile-menu .site-menu > li > .subnav_btn::after{
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        border-bottom: 2px solid rgba(255, 255, 255, .5);
        border-right: 2px solid rgba(255, 255, 255, .5);
        width: 8px;
        height: 8px;
        -webkit-transform: translate(-50%,-50%) rotate(-45deg);
        -moz-transform: translate(-50%,-50%) rotate(-45deg);
        -ms-transform: translate(-50%,-50%) rotate(-45deg);
        -o-transform: translate(-50%,-50%) rotate(-45deg);
        transform: translate(-50%,-50%) rotate(-45deg);
    }
    #mobile-menu .site-menu > li > span.btn-estimate{
        display: inline-block;
        margin: 0;
        width: 49%;
        padding:3% 2% 0;
    }
    #mobile-menu .site-menu > li > span.btn-docs{
        display: inline-block;
        margin: 0;
        width: 49%;
        padding:3% 2% 0;
    }
    #mobile-menu .site-menu > li .targetblank:after{
        color: #fff;
    }
    #mobile-menu .site-menu > li a.inline-link {
        white-space: normal;
        overflow: visible;
        display: inline;
        padding: 10px 0;
        margin: 0 5px 5px 0;
        font-size: 0.86em;
        color: #fff;
    }
    
    
    
    
}

@media screen and (min-width:997px) {
    body{
        overflow-y: auto!important;
    }
    #mobile-menu.active{
        display: none;
    }
    .menu_sp_overlay.active{
        transform: translateX(-100%);
    }
}
