@charset "utf-8";
/*!
 * base CSS
 * ---------------------------------------------
 * 共通レイアウトに関わるCSS
 */

/* reset
--------------------------------------------- */

article,aside,details,figcaption,figure,footer,header,menu,nav,section { 
    display:block;
}

article,aside,details,figcaption,figure,footer,header,menu,nav,section,
* {
	margin: 0;
	padding: 0;
}
fieldset,img {
	border: 0;
}
* {
	font-size:100%;
}
body {
	font: 100%/1 "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック","Osaka",Arial,sans-serif;
}
ol,ul,li {
  list-style: none;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}
.pc-hidden {
	display: none;
}
.pc-brk {
	display: block;
}

/*  PIE ！パス確認ください！
---------------------------------*/

#navMenu li,
.lang li a,
.search input,
.pagetop a,.pagetop a:after {
	position: relative;
	behavior: url(/resources/js/PIE.php);
}

/*===================================
	font
=====================================*/

body,
a,a:visited {
	color: #373737;
}
.lang,.lang a,.lang a:visited {
	color: #454545;
}
#footer,#footer a,#footer a:visited {
	color: #fff;
}

body {
	font-size: 14px;
}
.lang,
.copy {
	font-size: 12px;
}
.copy span,
sup {
	font-size: 10px;
}
.lang {
	text-align: center;
}
.block {
	line-height: 1.6;
}

/*===================================
	link
=====================================*/

a,a:visited {
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
.lang a:hover{
	text-decoration: none;
}

/*===================================
	layout	
=====================================*/

.inner,
.wrapper {
	width: 940px;
	margin-left: auto;
	margin-right: auto;
}
#footer {
	margin-top: -1px;
}
.pagetop,
#footer,
.copy,
.block {
	position: relative;
}
#navMenu ul,
.lang,
.wrapper,
.block {
	overflow: hidden;
	zoom: 1;
}
.pagetop {
	z-index: 5;
}
#footer {
	z-index: 10;
}

/*===================================
	background	border
=====================================*/

body {
	background-color: #fff;
}
#header,
#footer {
	background-color: #454545;
}
#navMenu,
.pagetop a,
.footNavi {
	background-color: #555;
}
#footer {
	border-top: solid 1px #454545;
}
.footNavi {
	border-bottom: solid 1px #505050;
}
.search input {
	display: block;
	border: none;
	background: none;
}

/*  sprite
---------------------------------*/

.subst,
#navMenu li a,
.pagetop a,.pagetop a span,
.search dd input {
	background-image: url(../images/base/sprite.png);
	background-repeat: no-repeat;
}
#navMenu li a,
.pagetop a,.pagetop a span {
	display: block;
}
#navMenu li a,
.pagetop a,.pagetop a span,
.search dd input {
	text-indent: -999em;
}
.pagetop a:hover,.pagetop a span:hover,
.lang li a:hover,
.search dd input:hover {
	opacity: .7;
}

/*===================================
	header	
=====================================*/

.logo {
	height: 55px;
	padding-top: 14px;	
}
.logo .subst {
	width: 176px;
	height: 36px;
	margin-left: 16px;
	background-position: -100px -150px;
}
.otherNavi {
	position: relative;
}
.lang,
.search {
	position: absolute;
	
}
.lang {
	top: -114px;
	left: 495px;
}
.lang li {
	float: left;
	margin-right: 11px;
}
.lang li a {
	display: block;
	width: 82px;
	height: 22px;
	background: #bfbfbf;
	-webkit-border-radius: 11px;
	-moz-border-radius: 11px;
	-ms-border-radius: 11px;
	-o-border-radius: 11px;
	border-radius: 11px;
	line-height: 23px;
}
.search {
	top: -116px;
	right: 2px;
}
.search dd {
	margin: -26px 0 0 189px;
}
.search dt input {
	width: 181px;
	height: 24px;
	border: solid 1px #d8d8d8;
	background: #fff;
	box-shadow: 1px 1px 3px 0 #e8e8e8 inset;
	text-indent: 10px;
	line-height: 25px;
}
.search dd input {
	width: 51px;
	height: 27px;
	background-color: #555;
	background-position: -450px -150px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-ms-border-radius: 3px;
	-o-border-radius: 3px;
	border-radius: 3px;
	cursor: pointer;
}

/*===================================
	globalNavi
=====================================*/

#navMenu {
	height: 58px;
	padding: 4px 0 0;
	border-bottom: solid 1px #f4f4f4;
}
#navMenu ul {
	padding-bottom: 2px;
}
#navMenu li {
	float: left;
	margin-left: 1px;
}
#navMenu li,
#navMenu li.n1:hover {
	background: -webkit-gradient(linear, left top, left bottom, from(#555), to(#454545));
	background: -webkit-linear-gradient(top, #555, #454545);
	background: -moz-linear-gradient(top, #555, #454545);
	background: -ms-linear-gradient(top, #555, #454545);
	background: -o-linear-gradient(top, #555, #454545);
	background: linear-gradient(top, #555, #454545);
	-pie-background: linear-gradient(top, #555, #454545);
}
#navMenu li.n1 {
	margin: 0;
}
.about #navMenu li.n2,
.around #navMenu li.n3,
.products #navMenu li.n4,
.ir #navMenu li.n5,
.career #navMenu li.n6,
#navMenu li:hover {
	border-bottom: solid 2px #f8f8f8;
	background: -webkit-gradient(linear, left top, left bottom, from(#eaeaea), to(#eaeaea));
	background: -webkit-linear-gradient(top, #eaeaea, #eaeaea);
	background: -moz-linear-gradient(top, #eaeaea, #eaeaea);
	background: -ms-linear-gradient(top, #eaeaea, #eaeaea);
	background: -o-linear-gradient(top, #eaeaea, #eaeaea);
	background: linear-gradient(top, #eaeaea, #eaeaea);
	-pie-background: linear-gradient(top, #eaeaea, #eaeaea);
}
#navMenu li.n1:hover {
	border: none;
}
#navMenu li a {
	width: 174px;
	height: 56px;
}
#navMenu li.n1 a,
.home #navMenu li.n1 a:hover {
	width: 65px;
	background-position: -100px -50px;
}
#navMenu li.n2 a {
	background-position: -166px -50px;
}
#navMenu li.n3 a {
	background-position: -341px -50px;
}
#navMenu li.n4 a {
	background-position: -516px -50px;
}
#navMenu li.n5 a {
	background-position: -691px -50px;
}
#navMenu li.n6 a {
	background-position: -866px -50px;
}
#navMenu li.n1 a:hover {
	background-position: -100px 13px;
}
.about #navMenu li.n2 a,
#navMenu li.n2 a:hover {
	background-position: -166px 13px;
}
.around #navMenu li.n3 a,
#navMenu li.n3 a:hover {
	background-position: -341px 13px;
}
.products #navMenu li.n4 a,
#navMenu li.n4 a:hover {
	background-position: -516px 13px;
}
.ir #navMenu li.n5 a,
#navMenu li.n5 a:hover {
	background-position: -691px 13px;
}
.career #navMenu li.n6 a,
#navMenu li.n6 a:hover {
	background-position: -866px 13px;
}
.home #navMenu li.n1 a,
.about #navMenu li.n2 a,
.around #navMenu li.n3 a,
.products #navMenu li.n4 a,
.ir #navMenu li.n5 a,
.career #navMenu li.n6 a {
	cursor: default;
}

/*===================================
	pagetop	
=====================================*/

.pagetop {
	padding-top: 25px;
}
.pagetop a {
	width: 220px;
	height: 44px;
	margin-left: 720px;
	background-position: -700px -150px;
	-webkit-border-radius: 3px 3px 0 0;
	-moz-border-radius: 3px 3px 0 0;
	-ms-border-radius: 3px 3px 0 0;
	-o-border-radius: 3px 3px 0 0;
	border-radius: 3px 3px 0 0;
}
.pagetop a span {
	position: fixed;
	margin-left: 220px;
	bottom: 10px;
	content: "";
	width: 50px;
	height: 50px;
	background-color: #555;
	background-position: 0 -150px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}
.footNavi ul:before {
	content: "";
	display: block;
	position: absolute;
	top: -1px;
	margin-left: 720px;
	width: 220px;
	height: 1px;
	background-color: #555;
}

/*===================================
	footer	
=====================================*/

.footNavi {
	position: relative;
	height: 55px;
	padding-top: 29px;
}
.footNavi li {
	display: inline;
	padding-right: 21px;
}
.footNavi li:after {
	content: "";
	padding-left: 21px;
	border-right: solid 1px #fff;
}
.footNavi li.end:after {
	display: none;
}
.copy {
	padding: 50px 0 30px;
}
.copy .subst {
	position: absolute;
	top: 44px;
	right: 9px;
	width: 123px;
	height: 26px;
	background-position: -300px -150px;
}

/*===================================
	other
=====================================*/

a.pdf,
a.xls,
a.outside,
span.outside {
	display: inline-block;
	position: relative;
	padding-right: 32px;
}
a.outside {
	padding-right: 20px;
}
.content a.outside,
span.outside {
	padding-right: 30px;
}
a.pdf:after,
a.xls:after,
a.outside:after,
span.outside:after {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	content: "";
	width: 28px;
	height: 17px;
}
a.outside:after,
span.outside:after {
	top: 5px;
	width: 12px;
	height: 11px;
}
.content a.outside:after,
span.outside:after {
	right: 10px;
}
a.pdf:after {
	background: url(../images/base/ico_pdf.png) no-repeat 100% 100%;
}
a.xls:after {
	background: url(../images/base/ico_xls.png) no-repeat 100% 100%;
}
a.outside:after,
span.outside:after {
	background: url(../images/base/ico_outside.png) no-repeat 100% 100%;
}
a.outside:hover:after {
	background: url(../images/base/ico_outside_w_on.png) no-repeat 100% 100%;
}
.content a.outside:hover:after,
a:hover span.outside:after {
	background-image: url(../images/base/ico_outside_on.png);
}

/************************************************************************************
smaller than 660px
*************************************************************************************/
@media screen and (max-width: 660px) {
	
	html {
		-webkit-text-size-adjust: 100%;
	}
	
	/* スマートフォン用のパーツを表示 */

	.pc-hidden,
	.sp-brk {
		display: block;
	}
	.sp-hidden {
		display: none;
	}
	.pc-brk {
		display: inline;
	}
	
	/*===================================
		font
	=====================================*/
	
	.forpc,.forpc a,.forpc a:visited,
	.lang,.lang a,.lang a:visited,
	#navMenuSp b.open {
		color: #fff;
	}
	.searchSp h3,
	#navMenuSp li a,#navMenuSp li a:visited {
		color: #565656;
	}
	#navMenuSp li li a,#navMenuSp li li a:visited {
		color: #555;
	}
	body {
		font-size: 18.5px;
	}
	#navMenuSp li li {
		font-size: 18px;
	}
	.lang,
	#navMenuSp li {
		font-size: 24px;
	}
	#navMenuSp {
		font-size: 28px;
	}
	.footNavi {
		font-size: 16px;
	}
	.copy {
		font-size: 10px;
	}
	.forpc {
		font-size: 13px;
	}
	.copy span,
	.searchSp h3 {
		font-size: 12px;
	}
	.lang {
		text-align: left;
	}
	.searchSp h3,
	#navMenuSp b {
		font-weight: normal;
	}
	.forpc a:hover,
	#navMenuSp li a:hover {
		text-decoration: none;
	}
	
	/*===================================
		layout	
	=====================================*/
	
	.inner,
	.wrapper {
		width: 600px;
		padding-left: 20px;
		padding-right: 20px;
	}
	.wrapper {
		margin-left: auto;
		margin-right: auto;
	}
	#navMenuSp li ul {
		overflow: hidden;
	}

	/*===================================
		background	
	=====================================*/
	
	#navMenuSp {
		background: #373737;
	}
	.searchSp input {
		display: block;
		border: none;
		background: none;
	}
	
	/*  sprite
	---------------------------------*/
	
	.forpc a,
	#navMenuSp h2,#navMenuSp b,#navMenuSp li a,
	.searchSp dd input {
		background: url(../images/base/sprite.png) no-repeat;
	}
	.forpc a,
	#navMenuSp b,#navMenuSp li a {
		display: block;
	}
	#navMenuSp h2,
	.searchSp dd input {
		text-indent: -999em;
	}
	.searchSp dd input:hover {
		opacity: .7;
	}
	
	/*===================================
		header	
	=====================================*/
	
	.logo {
		height: 83px;
		/*
		padding-top: 31px;
		*/
		padding-top: 0;
		border-top: solid 61px #555;
	}
	.logo .subst {
		width: 264px;
		height: 54px;
		margin-left: 9px;
		background-position: -100px -200px;

		margin-top: 13px;
	}
	.otherNavi {
		position: absolute;
		top: 0;
	}
	.forpc {
		padding-top: 16px;
	}
	.forpc a {
		width: 50px;
		height: 30px;
		padding: 1px 0 0 44px;
		background-position: -1100px -50px;
	}
	.lang {
		top: 14px;
		left: inherit;
		right: 24px;
	}
	.lang li {
		display: inline-block;
		float: none;
		margin: 0;
	}
	.lang li:nth-of-type(1) {
		padding-right: 21px;
		border-right: solid 2px #454545;
	}
	.lang li:nth-of-type(2) {
		padding-left: 14px;
	}
	.lang li a {
		display: inline;
		width: auto;
		height: auto;
		background: none;
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		-ms-border-radius: 0;
		-o-border-radius: 0;
		border-radius: 0;
		line-height: 33px;
	}
	.searchSp dd {
		margin: -53px 0 0 505px;
	}
	.searchSp dt input {
		width: 486px;
		height: 49px;
		border: solid 2px #d8d8d8;
		background: #fff;
		text-indent: 10px;
		line-height: 50px;
	}
	.searchSp dd input {
		width: 94px;
		height: 52px;
		background-color: #555;
		background-position: -450px -200px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-ms-border-radius: 5px;
		-o-border-radius: 5px;
		border-radius: 5px;
		cursor: pointer;
	}
	
	/*===================================
		globalNavi
	=====================================*/
	
	#navMenuSp h2 {
		position: absolute;
		top: 66px;
		right: 24px;
		width: 93px;
		height: 70px;
		background-color: #373737;
		background-position: -550px -152px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-ms-border-radius: 5px;
		-o-border-radius: 5px;
		border-radius: 5px;
		box-shadow: 1px 1px 0 0 #313131;
		cursor: pointer;
	}
	#navMenuSp div {
		position: absolute;
		left: 0;
		width: 100%;
		height: 100%;
		min-height: 1000px;
		padding-top: 32px;
		background: #373737;
		z-index: 100;
	}
	.searchSp,
	#navMenuSp ul {
		width: 600px;
		margin-left: auto;
		margin-right: auto;
	}
	.searchSp {
		margin-bottom: 42px;
	}
	.searchSp h3 {
		margin-bottom: 6px;
	}
	#navMenuSp li {
		margin-bottom: 12px;
	}
	#navMenuSp b {
		cursor: pointer;
	}
	#navMenuSp b,
	#navMenuSp li a {
		height: 64px;
		padding-left: 19px;
		background-color: #f0f0f0;
		background-position: 557px 26px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-ms-border-radius: 5px;
		-o-border-radius: 5px;
		border-radius: 5px;
		box-shadow: -2px -2px 0 0 #e2e2e2 inset;
		line-height: 65px;
	}
	#navMenuSp b.open {
		background-color: #ff1b00;
		background-position: 557px -50px;
		-webkit-border-radius: 5px 5px 0 0;
		-moz-border-radius: 5px 5px 0 0;
		-ms-border-radius: 5px 5px 0 0;
		-o-border-radius: 5px 5px 0 0;
		border-radius: 5px 5px 0 0;
		box-shadow: none;
	}
	#navMenuSp li ul {
		width: auto;
		margin: 0 0 27px -1px;
		padding: 5px 0 25px 0;
		background: #fff;
		-webkit-border-radius: 0 0 5px 5px;
		-moz-border-radius: 0 0 5px 5px;
		-ms-border-radius: 0 0 5px 5px;
		-o-border-radius: 0 0 5px 5px;
		border-radius: 0 0 5px 5px;
	}
	#navMenuSp li li {
		float: left;
		margin: 0 0 0 20px;
		padding-left: 24px;
		border-bottom: solid 1px #dcdcdc;
	}
	#navMenuSp li li:nth-of-type(1) {
		float: none;
		margin-right: 17px;
		border-bottom-width: 2px;
	}
	#navMenuSp li li a {
		width: 228px;
		height: 53px;
		padding-left: 19px;
		background-color: #fff;
		background-position: -1100px 17px;
		box-shadow: none;
		line-height: 54px;
	}
	#navMenuSp li li:nth-of-type(1) a {
		width: auto;
	}
	#navMenuSp  a.outside {
		padding-right: 0;
	}
	#navMenuSp  a.outside:after {
		top: 16px;
		right: 10px;
	}
	#navMenuSp a.outside:hover:after {
		background-image: url(../images/base/ico_outside_on_sp.png);
	}
	
	/*===================================
		pagetop	
	=====================================*/
	
	.pagetop {
		padding-top: 65px;
	}
	.pagetop a {
		height: 47px;
		margin: 0 auto;
		background-position: -700px -200px;
		-webkit-border-radius: 5px 5px 0 0;
		-moz-border-radius: 5px 5px 0 0;
		-ms-border-radius: 5px 5px 0 0;
		-o-border-radius: 5px 5px 0 0;
		border-radius: 5px 5px 0 0;
	}
	.pagetop a span {
		right: 10px;
		margin-left: 0px;
		z-index: -1;
	}
	.footNavi ul:before {
		position: inherit;
		top: inherit;
		margin: -34px auto 33px;
	}
	
	/*===================================
		footer	
	=====================================*/

	#footer {
		 border-top: 0;
	 }

	.footNavi ul:before {
		display: none;
	}

	.footNavi {
		height: auto;
		padding: 20px 0 5px;
	}
	.footNavi li {
		display: inline-block;
		margin-bottom: 15px;
		padding-right: 21px;
	}
	.copy {
		padding: 24px 0 24px;
	}
	.copy .subst {
		top: 20px;
		right: 10px;
	}
	
	/*===================================
		other
	=====================================*/
	
	a.pdf,
	a.xls {
		padding-right: 43px;
	}
	a.outside {
		padding-right: 33px;
	}
	.content a.outside,
	span.outside {
		display: inline;
		padding-right: 43px;
	}
	a.pdf:after,
	a.xls:after {
		width: 38px;
		height: 25px;
	}
	a.outside:after,
	span.outside:after {
		top: 0;
		width: 22px;
		height: 20px;
	}
	.lg a.outside:after {
		top: inherit;
		bottom: 1px;
	}
	a.pdf:after {
		background-image: url(../images/base/ico_pdf_sp.png);
	}
	a.xls:after {
		background-image: url(../images/base/ico_xls_sp.png);
	}
	a.outside:after,
	span.outside:after {
		background: url(../images/base/ico_outside_sp.png) no-repeat 100% 100%;
	}
	a.outside:hover:after {
		background: url(../images/base/ico_outside_w_on_sp.png) no-repeat 100% 100%;
	}
	.content a.outside:hover:after,
	a:hover span.outside:after {
		background-image: url(../images/base/ico_outside_on_sp.png);
	}
}