/* Site-wide layout fix: header flex, nav ellipsis, full-width banner */
html {
	overflow-x: hidden !important;
}
body {
	overflow-x: hidden !important;
	max-width: 100%;
}
.header,
.nav {
	width: 100% !important;
	max-width: 100vw !important;
	overflow-x: hidden !important;
}
.header .head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: nowrap !important;
	overflow: visible !important;
}
.header .logo {
	float: none !important;
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	padding: 24px 0 !important;
	box-sizing: border-box !important;
}
.header .logo a {
	display: block;
	line-height: 0;
}
.header .logo img {
	height: 59px !important;
	width: auto !important;
	max-width: none !important;
	display: block !important;
}
.header .center_intrl {
	float: none !important;
	flex: 1 1 auto !important;
	display: block !important;
	margin: 0 16px 0 24px !important;
	text-align: left !important;
	min-width: 0 !important;
}
.header .center_intrl h4 {
	margin: 0;
	line-height: 1.3;
}
.header .center_intrl p {
	margin: 10px 0 0;
}
.header .top_tel {
	float: none !important;
	flex: 0 0 auto !important;
	margin-top: 0 !important;
	margin-left: 20px !important;
	white-space: nowrap;
}
.nav .nav-box li a {
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}
.site-page-banner,
.banner.nbanner,
.banner.nbanner.about-banner {
	display: block !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding: 0 !important;
	overflow: hidden !important;
	position: relative !important;
	left: 0 !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box !important;
	line-height: 0 !important;
}
.site-page-banner #nbanner,
.banner.nbanner #nbanner,
.site-page-banner #nbanner ul,
.banner.nbanner #nbanner ul,
.site-page-banner #nbanner li,
.banner.nbanner #nbanner li {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	float: none !important;
	overflow: hidden !important;
	position: static !important;
}
.site-page-banner img,
.banner.nbanner img,
#nbanner img,
.nbanner img {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	transform: none !important;
	float: none !important;
	border: 0 !important;
}
.s_content {
	overflow-x: hidden;
	max-width: 100%;
}
@media (max-width: 767px) {
.header .center_intrl {
	display: none !important;
}
.header .top_tel {
	margin-right: 50px;
}
}
@media (max-width: 640px) {
.header .top_tel {
	display: none !important;
}
}
