#sp_wrap {
	text-align: center;
	color: #fff;
	font-size: 1.5rem;
}

#sp_wrap span {
	display: block;
	padding: 10px 0;
	line-height: 150%;
}

#sp_wrap form input[type="text"] {
	font-size: 2rem;
	background: rgba(255, 255, 255, 1);
	padding: 10px;
	color: #333;
	border: solid 1px #666;
	width: 75%;
	margin: 10px auto 0;
	display: block;
}

#sp_wrap form input[type="submit"] {
	font-size: 2rem;
	background: rgba(255, 255, 255, 1);
	padding: 5px 30px;
	color: #333;
	border: solid 1px #666;
	margin: 10px auto 0;
	cursor: pointer;
	border-radius: 5px;
	display: block;
}

a#modal {
	text-align: center;
	display: inline-block;
	margin: 0 auto;
}

.close-animatedModal {
	margin: 20px 0;
}

#animatedModal {
	overflow: hidden;
}

#sp_search .s_close {
	text-align: left;
}

#sp_search {
	text-align: center;
	color: #fff;
	font-size: 1.5rem;
	display: inherit;
	padding: 20px;
}

#sp_search span {
	padding-bottom: 10px;
	display: block;
}

#sp_search form input[type="text"] {
	font-size: 2rem;
	background: rgba(0, 0, 0, 0);
	padding: 10px;
	color: #fff;
	border: solid 1px #666;
	width: 60%;
	margin-top: 10px;
}

#sp_search form input[type="submit"] {
	font-size: 2rem;
	background: rgba(0, 0, 0, 0);
	padding: 5px 20px;
	color: #fff;
	border: solid 1px #666;
	margin-top: 10px;
	cursor: pointer;
	border-radius: 5px;
}

#sp-nav {
	display: none;
	overflow-y: scroll;
}

#sp-nav .pdf {
	margin-left: 10px;
	vertical-align: -6px;
	width: 21px;
	height: 24px;
}

body {
	padding-top: 135px;
}

header {
	width: 100%;
	z-index: 9;
	height: 135px;
	position: fixed;
	background: #fff;
	top: 0;
	left: 0;
	transition: .3s;
	box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.1);
	z-index: 999;
	font-family: "Noto Sans Japanese";
}

header .header_inner {
	display: table;
	position: relative;
	max-width: 1470px;
	margin: 0 auto;
	font-size: .85rem;
	height: 67px;
	padding: 0 15px;
}

header .header_inner h1 {
	display: table-cell;
	width: 100%;
	vertical-align: middle;
}

header .header_inner h1 img {
	width: 175px;
	height: 37px;
}

header .header_inner .search {
	display: none;
	margin: 0;
}


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

	header .header_inner h1 img {
		width: 150px;
		height: auto;
	}

}

header .header_inner .g_search {
	position: absolute;
	top: 17px;
	right: 290px;
	width: 430px;
}

header .header_inner .g_search input[type="text"] {
	padding: 5px;
	font-size: 1rem;
	width: 340px;
	vertical-align: middle;
}

header .header_inner .g_search input[type="submit"] {
	font-size: 1rem;
	height: 32px;
	margin-left: 4px;
	margin-bottom: -1px;
	width: 61px;
	border: 0;
	background: url(../img/pc_search.png) no-repeat;
	background-size: 61px 32px;
	vertical-align: middle;
}

header .header_inner .link {
	display: table-cell;
	white-space: nowrap;
	vertical-align: middle;
}

header .header_inner .link a {
	display: inline-block;
	margin-left: 0;
	padding: 5px 15px;
	line-height: 100%;
	border-radius: 3px;
	transition: .4s;
	background: #d01816;
	color: #fff;
}

header .header_inner .link a:hover {
	text-decoration: none;
	opacity: .6;
}

header .header_inner .link a:nth-child(1):before {
	content: url(../img/icn_tel.png);
	vertical-align: -4px;
	padding-right: 3px;
}

header .header_inner .link a:nth-child(2):before {
	content: url(../img/icn_tel.png);
	vertical-align: -4px;
	padding-right: 3px;
}

header .header_inner .lng {
	display: table-cell;
	white-space: nowrap;
	padding-left: 10px;
	vertical-align: middle;
}

header .header_inner .lng a {
	display: inline-block;
	margin-left: 1px;
	padding: 4px 5px;
	line-height: 100%;
	border-bottom: 2px solid #fff;
	transition: .4s;
}

header .header_inner .lng a:hover {
	text-decoration: none;
	border-bottom: 2px solid #ccc;
}

header .header_inner .lng a.ov {
	border-bottom: 2px solid #c00;
}

header nav#pc_nav {
	transition: .3s;
	overflow: hidden;
	background: #eeeeee;
	background: -moz-linear-gradient(top, #eeeeee 0%, #ffffff 100%);
	background: -webkit-linear-gradient(top, #eeeeee 0%, #ffffff 100%);
	background: linear-gradient(to bottom, #eeeeee 0%, #ffffff 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
}

header nav#pc_nav ul {
	overflow: hidden;
	max-width: 1470px;
	width: 100%;
	margin: 0 auto;
	display: table;
	table-layout: fixed;
	text-align: center;
	height: 65px;
}

header nav#pc_nav ul li {
	display: table-cell;
	table-layout: fixed;
	vertical-align: middle;
	height: 65px;
	font-family: "Noto Sans Japanese";
}

header nav#pc_nav ul li:first-child {
	width: 10%;
}

header nav#pc_nav ul li:first-child a {
	border-left: 1px solid #ccc;
}

header nav#pc_nav ul li a {
	display: table-cell;
	width: 1000px;
	text-align: center;
	height: 65px;
	border-right: 1px solid #ccc;
	border-bottom: 3px solid #fff;
	vertical-align: middle;
	position: relative;
	font-size: 1.1rem;
}

header nav#pc_nav ul li a:hover {
	text-decoration: none;
}

header nav#pc_nav ul li a:before {
	position: absolute;
	left: 0;
	bottom: -3px;
	content: "";
	display: inline-block;
	width: 0;
	height: 3px;
	background: #999;
	transition: .3s;
}

header nav#pc_nav ul li a.active:before {
	background: none;
}

header nav#pc_nav ul li a:hover:before {
	width: 100%;
}

header nav#pc_nav ul li.pu a:after {
	content: url(../img/pu.png);
	margin-left: 3px;
}

header nav#pc_nav ul li a.active {
	display: table-cell;
	width: 1000px;
	text-align: center;
	height: 65px;
	border-right: 1px solid #ccc;
	border-bottom: 3px solid #c00;
	vertical-align: middle;
}

header #navi_index nav#pc_nav ul li:nth-child(1) a {
	border-bottom: 3px solid #c00;
}

header #navi_index nav#pc_nav ul li:nth-child(1) a:before {
	background: none;
}

header #navi_company nav#pc_nav ul li:nth-child(2) a {
	border-bottom: 3px solid #c00;
}

header #navi_company nav#pc_nav ul li:nth-child(2) a:before {
	background: none;
}

header #navi_research nav#pc_nav ul li:nth-child(5) a {
	border-bottom: 3px solid #c00;
}

header #navi_research nav#pc_nav ul li:nth-child(5) a:before {
	background: none;
}

/* header #navi_safety nav#pc_nav ul li:nth-child(6) a {
	border-bottom: 3px solid #c00;
}

header #navi_safety nav#pc_nav ul li:nth-child(6) a:before {
  background: none;
} */

header #navi_csr nav#pc_nav ul li:nth-child(6) a {
	border-bottom: 3px solid #c00;
}

header #navi_csr nav#pc_nav ul li:nth-child(6) a:before {
	background: none;
}



.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}

#top-head .logo {
	float: left;
	font-size: 36px;
}

#sp-nav ul {
	list-style: none;
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 14px;
}

#sp-nav ul li {
	float: left;
}

#sp-nav ul li a {
	padding: 0 30px;
}

/* Fixed */
#top-head.fixed {
	margin-top: 0;
	top: 0;
	position: fixed;
	height: auto;
	background: #fff;
	transition: top 0.65s ease-in;
	-webkit-transition: top 0.65s ease-in;
	-moz-transition: top 0.65s ease-in;
}

#top-head.fixed .logo {
	font-size: 24px;
	color: #333;
}

#top-head.fixed #sp-nav ul li a {
	color: #333;
	padding: 0 20px;
}

/* Toggle Button */
#nav-toggle {
	display: none;
	position: fixed;
	right: 6px;
	top: 6px;
	width: 34px;
	height: 36px;
	cursor: pointer;
	z-index: 999999;
	background: #666666;
	padding: 8px;
}

#nav-toggle div {
	position: relative;
}

#nav-toggle span {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #fff;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}

#nav-toggle p {
	font-size: .7rem !important;
	text-align: center;
	display: block;
	color: #fff;
	padding-top: 28px;
	line-height: 100%;
}

#nav-toggle span:nth-child(1) {
	top: 0;
}

#nav-toggle span:nth-child(2) {
	top: 10px;
}

#nav-toggle span:nth-child(3) {
	top: 20px;
}

@media only screen and (min-width: 981px) {

	header.scroll {
		display: table;
		height: 68px;
	}

	header.scroll .wrap {
		max-width: 1470px;
		margin: 0 auto;
		height: 68px;
	}

	header.scroll .header_inner {
		display: table-cell;
		height: 68px;
		vertical-align: middle;
	}

	header.scroll .header_inner h1 {
		padding: 0 10px;
	}

	header.scroll #pc_nav {
		display: table-cell;
		height: 68px;
		vertical-align: middle;
	}

	header.scroll nav#pc_nav ul {
		overflow: hidden;
		max-width: auto;
		width: 100%;
		margin: 0 auto;
		display: table;
		table-layout: auto;
		font-size: .85rem;
	}

	header.scroll nav#pc_nav ul li {
		white-space: nowrap;
	}

	header.scroll nav#pc_nav ul li a {
		padding: 0 5px;
	}

	header.scroll .header_inner .link {
		display: none;
	}

	header.scroll .header_inner .lng {
		display: none;
	}

	header.scroll .header_inner .g_search {
		display: none;
	}

}

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

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

	/* Fixed */
	#top-head.fixed {
		margin-top: 0;
		top: 0;
		position: absolute;
		height: 65px;
		transition: top 0.65s ease-in;
		-webkit-transition: top 0.65s ease-in;
		-moz-transition: top 0.65s ease-in;
	}

	header {
		position: absolute;
	}


	body {
		padding-top: 65px;
	}

	header {
		height: 65px;
	}

	header .header_inner {
		width: 98%;
		padding: 0 1%;
	}

	#sp-nav {
		display: block;
		position: fixed;
	}

	#pc_nav {
		display: none;
	}

	header .header_inner .search {
		display: block;
		position: absolute;
		top: 50%;
		margin-top: -20px;
		right: 65px;
	}

	header .header_inner .search img {
		height: 36px;
	}

	header .header_inner .link {
		display: none;
	}

	header .header_inner .lng {
		display: none;
	}

	header .header_inner .g_search {
		display: none;
	}

	#top-head {
		top: 0;
		margin-top: 0;
	}

	#top-head.fixed {
		padding-top: 0;
		background: transparent;
	}

	#mobile-head {
		height: 56px;
		z-index: 999;
		position: relative;
		width: 0;
	}

	#top-head.fixed .logo,
	#top-head .logo {
		position: absolute;
		left: 13px;
		top: 13px;
		color: #333;
		font-size: 26px;
	}

	.child {
		display: none;
	}

	.menu {
		position: relative;
	}

	#spwrap ul li a {
		display: block;
	}

	#spwrap .child {
		display: none;
		padding: 0;
	}

	.switch .menu:after {
		position: absolute;
		top: 50%;
		right: 10px;
		margin-top: -.8rem;
		font-family: FontAwesome;
		content: '\f078';
		font-size: 1.4rem;
		-moz-transition: all, 0.25s, linear;
		-o-transition: all, 0.25s, linear;
		-webkit-transition: all, 0.25s, linear;
		transition: all, 0.25s, linear;
	}

	.switch .menu.active:after {
		-moz-transform: translate(0, 50%);
		-ms-transform: translate(0, 50%);
		-webkit-transform: translate(0, 50%);
		transform: translate(0, 50%);
		-moz-transform: rotate(-180deg);
		-ms-transform: rotate(-180deg);
		-webkit-transform: rotate(-180deg);
		transform: rotate(-180deg);
	}

	#sp-nav {
		position: fixed;
		top: -1500px;
		width: 100%;
		text-align: center;
		padding: 0;
		transition: .5s ease-in-out;
		background: #f4f4f4;
		height: 100vh;
		overflow-y: scroll;
		overflow-x: hidden;
	}

	#sp-nav ul {
		list-style: none;
		position: static;
		right: 0;
		bottom: 0;
		font-size: 14px;
	}

	#sp-nav ul li {
		float: none;
		position: static;
		text-align: left;
		background: #fff;
	}

	#sp-nav ul li a {
		font-size: 1.2rem;
		border-bottom: 1px solid #ccc;
		display: block;
		padding: 20px 20px 20px 75px;
	}

	#sp-nav ul li li {
		background: #f6f6f6;
	}

	#sp-nav ul li li a {
		font-size: 1.1rem;
		border-bottom: 1px solid #ccc;
		display: block;
		padding: 20px;
		line-height: 1.5;
	}

	#sp-nav ul li li a .small {
		display: block;
		font-size: .9rem;
	}

	#sp-nav ul li li.sub1 a {
		padding: 15px 20px 15px 3rem;
	}

	#sp-nav ul li li.sub2 a {
		padding: 15px 20px 15px 4.5rem;
	}

	#sp-nav ul li li.nolink {
		font-size: 1.1rem;
		display: block;
		padding: 20px 20px 10px;
		font-weight: bold;
	}

	#sp-nav ul li a:hover {
		text-decoration: none;
	}

	#sp-nav ul li:nth-child(1) a {
		background: url(../img/nav_00.png) no-repeat 10px center;
		background-size: 50px 40px;
	}

	#sp-nav ul li:nth-child(2) a {
		background: url(../img/nav_01.png) no-repeat 10px center;
		background-size: 50px 40px;
	}

	#sp-nav ul li:nth-child(3) a {
		background: url(../img/nav_02.png) no-repeat 10px center;
		background-size: 52px 33px;
	}

	#sp-nav ul li:nth-child(4) a {
		background: url(../img/nav_03.png) no-repeat 10px center;
		background-size: 50px 40px;
	}


	#sp-nav ul li:nth-child(5) a {
		background: url(../img/nav_04.png) no-repeat 10px center;
		background-size: 50px 40px;
	}

	#sp-nav ul li:nth-child(6) a {
		background: url(../img/nav_05.png) no-repeat 10px center;
		background-size: 50px 40px;
	}

	#sp-nav ul li:nth-child(7) a {
		background: url(../img/nav_07.png) no-repeat 10px center;
		background-size: 50px 40px;
	}

	#sp-nav ul li:nth-child(8) a {
		background: url(../img/nav_06.png) no-repeat 10px center;
		background-size: 50px 40px;
	}

	#sp-nav ul li:nth-child(3) a:after,
	#sp-nav ul li:nth-child(4) a:after,
	#sp-nav ul li:nth-child(8) a:after {
		content: url(../img/pu.png);
		margin: 10px 0 0 5px;
		position: relative;
		top: 0px;
	}


	#sp-nav ul li:nth-child(1) li a,
	#sp-nav ul li:nth-child(2) li a,
	#sp-nav ul li:nth-child(3) li a,
	#sp-nav ul li:nth-child(4) li a,
	#sp-nav ul li:nth-child(5) li a,
	#sp-nav ul li:nth-child(6) li a,
	#sp-nav ul li:nth-child(7) li a {
		background: none;
	}


	#sp-nav ul li:nth-child(1) li a:after,
	#sp-nav ul li:nth-child(2) li a:after,
	#sp-nav ul li:nth-child(3) li a:after,
	#sp-nav ul li:nth-child(4) li a:after,
	#sp-nav ul li:nth-child(5) li a:after,
	#sp-nav ul li:nth-child(6) li a:after,
	#sp-nav ul li:nth-child(7) li a:after {
		content: none;
	}

	#sp-nav .tel a {
		font-size: 1.3rem;
		display: block;
		text-align: center;
		background: #fff;
		padding: 20px 0;
		max-width: 300px;
		margin: 30px auto;
		border-radius: 5px;
		background: #d01816;
		color: #fff;
	}

	#sp-nav .tel a:hover {
		text-decoration: none;
	}

	#sp-nav .tel a:before {
		content: "";
		background: url(../img/sp_tel.png) no-repeat 0 center;
		background-size: 80%;
		padding: 10px 0 10px 40px;
	}

	#sp-nav .lng {
		text-align: center;
		display: block;
		font-size: 1.5rem;
		padding-bottom: 120px;
	}

	#sp-nav .lng a {
		border-bottom: 3px solid #f4f4f4;
	}

	#sp-nav .lng a.ov {
		border-bottom: 3px solid #c00;
		padding-bottom: 5px;
	}

	#nav-toggle {
		display: block;
	}

	/* #nav-toggle 切り替えアニメーション */
	.open #nav-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}

	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}

	.open #nav-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}

	/* #sp-nav スライドアニメーション */
	.open #sp-nav {
		/* #sp-nav top + #mobile-head height */
		-moz-transform: translateY(1500px);
		-webkit-transform: translateY(1500px);
		transform: translateY(1500px);
	}
}