@charset "utf-8";

/****************************************

          General Setting

*****************************************/
body {
	color: #000;
	font-size: 14px;
	*font-size: 85%;
	line-height: 1.6em;
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	}


/****************************************

		no_script
		regacy
 
*****************************************/
#no_script,
#regacy {
	display:block;
	background-color:#FFCCCC;
	color:#CC0000;
	font-weight:bold;
	clear:both;
	text-align:center;
	line-height:130%;
	padding:10px 0;
}


/****************************************

          Typography

*****************************************/
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	}


/****************************************

          List

*****************************************/
ol {
	margin: 0 0 0 1.8em;
	padding: 0;
	}


/****************************************

          Link

*****************************************/
a {outline: none;}

a:link,
a:visited {
	color: #666;
	text-decoration: none;
	}
a:hover {
	text-decoration: underline;
	color: #000;
	}


/****************************************

          Utility

*****************************************/
.clearfix {zoom:1;}
	.clearfix:after {
		content: ""; 
		display: block; 
		clear: both;}
		* html .clearfix { height: 1%; }
.clear {clear: both;}

.msg {color: #F00;}
.fc01 {color: #900;}
.fc02 {color: #FF6600;}

.fontS {font-size: 80%;}
.fontL {font-size: 130%;}
.lh {line-height: 1.8em;}

.fl {float: left;}
.fr {float: right;}

.tc {text-align: center;}
.tr {text-align: right;}

/*
↓↓　余白調節に。お好みで追加削除して下さい　↓↓
*/
.pmall0{
	padding: 0px;
	margin: 0px;
	}
.pt5 {padding-top: 5px;}
.pt10 {padding-top: 10px;}
.pt15 {padding-top: 15px;}
.pt20 {padding-top: 20px;}
.pt25 {padding-top: 25px;}
.pt30 {padding-top: 30px;}
.pt40 {padding-top: 40px;}
.pt50 {padding-top: 50px;}
.pr5 {padding-right: 5px;}
.pr10 {padding-right: 10px;}
.pr20 {padding-right: 20px;}
.pr30 {padding-right: 30px;}
.pb5 {padding-bottom: 5px;}
.pb10 {padding-bottom: 10px;}
.pb20 {padding-bottom: 20px;}
.pb30 {padding-bottom: 30px;}
.pb35 {padding-bottom: 35px;}
.pb40 {padding-bottom: 40px;}
.pb50 {padding-bottom: 50px;}
.pl5 {padding-left: 5px;}
.pl10 {padding-left: 10px;}
.pl20 {padding-left: 20px;}
.pl25 {padding-left: 25px;}
.pl30 {padding-left: 30px;}
.pl60 {padding-left: 60px;}
.pall5 {padding: 5px;}
.pall10 {padding: 10px;}
.pall20 {padding: 20px;}
.pall30 {padding: 30px;}

.mt5 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt40 {margin-top: 40px;}
.mt50 {margin-top: 50px;}
.mr5 {margin-right: 5px;}
.mr10 {margin-right: 10px;}
.mr15 {margin-right: 15px;}
.mr20 {margin-right: 20px;}
.mr30 {margin-right: 30px;}
.mb0 {margin-bottom: 0 !important;}
.mb5 {margin-bottom: 5px;}
.mb10 {margin-bottom: 10px;}
.mb15 {margin-bottom: 15px;}
.mb20 {margin-bottom: 20px;}
.mb25 {margin-bottom: 25px;}
.mb30 {margin-bottom: 30px;}
.mb40 {margin-bottom: 40px;}
.mb50 {margin-bottom: 50px;}
.ml5 {margin-left: 5px;}
.ml10 {margin-left: 10px;}
.ml20 {margin-left: 20px;}
.ml25 {margin-left: 25px;}
.ml30 {margin-left: 30px;}

ul.lishare,
li.lishare {
	list-style-type: disc;
	margin-left: 1.4em;
	}

ul.phL li {
	float: left;
	}

.oline {
	background-image: url(../img/common/orangeline.gif);
	background-repeat: no-repeat;
	background-position: center bottom;
	}
.bd-d {border-bottom: dotted 1px #999999;}

.tblshare th,
.tblshare td {
	padding: 10px;
	border: solid 1px #CCCCCC;
	}
.tblshare th {
	text-align: left;
	background-color: #EFEFEF;
	white-space: nowrap;
	}
.w200 {width: 200px;}
.w400 {width: 400px;}
.w460 {width: 460px;}
.w600 {width: 600px;}
.w700 {width: 700px;}
.w960 {width: 960px;}

.nowrap {white-space: nowrap;}

/****************************************

          Layout

*****************************************/
#page {
	background-image: url(../img/common/header-bg.png);
	background-repeat: repeat-x;
	background-position: left top;
	}
.wrap {
	margin: 0 auto;
	width: 960px;
	clear: both;
	}
	
#contents h1 {margin: 45px 0;}

/*
Page Top
*/
.pageTop {
	clear: both;
	}


/****************************************

          Header

*****************************************/
header {
	padding-bottom: 17px;
	background-image: url(../img/common/header-btmbg.gif);
	background-repeat: repeat-x;
	background-position: left bottom;
	}
header .wrap {
	padding-top: 13px;
	position: relative;
	}
	header h1 {
		font-size: 12px;
		font-weight: bold;
		}
	header #logo {
		float: left;
		width: 300px;
		padding: 30px 0 25px;
		}

/*
Primary Navigation
*/
header .wrap #primary {
	width: 250px;
	position: absolute;
	top: 13px;
	right: 0px;
	text-align: right;
	}
	header #primary ul {margin-bottom: 15px;}
	header #primary li {display: inline;}
	header #primary li img {
		vertical-align: top;
		margin-left: 8px;
		}

/*
Global Navigation
*/
header #gnav {
	clear: both;
	background-image: url(../img/common/gnav-bg.png);
	background-repeat: repeat-x;
	}
header #gnav ul {
	width: 960px;
	margin: 0 auto;
	z-index: 9999;
	}
	header #gnav li {float: left;}
	header #gnav li img {vertical-align: top;}
	header #gnav ul ul {
		width: auto;
		margin: 0;
		}
/* メインメニュー */
#gnav ul {   display:block;   list-style-type: none;   margin:0;   padding:0;}

/* サブメニュー1段目 */
#gnav ul ul {   display:none;   position:absolute;   top:100%;   left:0;}

/* サブメニュー2段目以降 */
#gnav ul ul ul {   top:0;   left:100%;}

/* リスト */
#gnav li  {   float:left;}
#gnav li li {   clear:both;}
#gnav li:hover {   position:relative;}
#gnav li:hover > ul {   display: block}



/****************************************

          Footer

*****************************************/
footer {clear: both;}
footer nav {
	background-color: #333;
	color: #FFF;
	padding: 15px 0;
	overflow: hidden;
	font-size: 12px;
	text-shadow: 2px 2px 2px #222;
	}
	footer ul li:first-child {border-left: solid 1px #FFFFFF;}
	footer ul li {
		float: left;
		padding: 0 1em;
		line-height: 12px;
		border-right: solid 1px #FFFFFF;
		}
footer ul li a:link,
footer ul li a:visited {
	color: #FFF;
	text-decoration: none;
	}
footer ul li a:hover {
	text-decoration: underline;
	color: #999;
	}
/*
Copyright
*/
.copyright {
	text-align: right;
	margin-top: 40px;
	}



/****************************************

          index

*****************************************/
.slider {
	clear: both;
	margin-bottom: 30px;
	background-image: url(../img/top/slide-bg.gif);
	background-repeat: repeat;
	padding: 0 0 50px;
	}
.sliderInner {
	background: none repeat scroll 0 0 #FFF;
	border-radius: 2px 2px 2px 2px;
	box-shadow: 0 10px 10px -10px #777777;
	}
@media only screen and (min-width: 1024px) {
.sliderInner .wrap {min-width: 1400px;}
}
.sliderInner ul {
	height: 416px;
	overflow: hidden;
	}
.lead {
	min-height: 261px;
	background-image: url(../img/top/lead-bg.jpg);
	background-repeat: no-repeat;
	background-position: right top;	
	}
.lead p {
	line-height: 2.2em;
	text-shadow:
		0px 0px 3px #FFFFFF,
		0px 0px 3px #FFFFFF,
		0px 0px 3px #FFFFFF;
	}

.topNews {
	float: left;
	width: 667px;
	}	
.topNews article dl {margin: 20px 8px 0;}
	.topNews article dt {
		font-weight: bold;
		margin-bottom: 10px;
		}
	.topNews article dt time {
		display: inline-table;
		background-image: url(../img/common/icon01.gif);
		background-repeat: no-repeat;
		background-position: left center;
		padding-left: 25px;
		width: 100px;
		}
	.topNews article dd {
		padding-left: 125px;
		color: #6B6A67;
		}
		
aside {
	float: right;
	width: 262px;
	}
.contactbox {position: relative;}
.contactbox img.btn {
	position: absolute;
	top: 35px;
	left: 22px;
	}

.recrutbox {
	position: relative;
	margin: 20px 0;
	}
.recrutbox img.btn {
	position: absolute;
	top: 250px;
	left: 21px;
	}

.aboutbox {
	padding: 20px 0;
	border-top: dotted 1px #999999;
	border-bottom: dotted 1px #999999;
	}
.aboutbox address {
	font-size: 11px;
	font-style: normal;
	line-height: 1.8;
	margin: 2px 0 5px;
	}
.aboutbox p a:link,
.aboutbox p a:visited {
	font-size: 11px;
	color: #00F;
	text-decoration: underline;
	}
.aboutbox p a:hover {
	text-decoration: none;
	}


/****************************************

          about

*****************************************/
.company table {
	width: 460px;
	float: left;
	}
.company table+table {float: right;}
.company th {width: 150px;}
.company .en th {background-color: #FFF3CD;}

.history th {vertical-align: middle;}
.history dl {
	display: block;
	margin-bottom: 8px;
	}
	.history dt {
		float: left;
		width: 180px;
		}
	.history dd {
		overflow: hidden;
		zoom: 1;
		}


/****************************************

          equipments

*****************************************/
.expertise {margin-right: -6px;}
.unit {
	width: 235px;
	float: left;
	margin-right: 6px;
	margin-bottom: 30px;
	}
.unit h3 {
	background-repeat: no-repeat;
	background-position: left top;
	min-height: 30px;
	color: #FFF;
	font-weight: bold;
	font-size: 15px;
	line-height: 28px;
	}
	.unit h3 span {
		font-size: 18px;
		padding-left: 8px;
		margin-right: 0.6em;
		}
.unit h3.orangetit {background-image: url(../img/equipments/tit-orange.png);}
.unit h3.bluetit {background-image: url(../img/equipments/tit-blue.png);}
.unit h3.blacktit {background-image: url(../img/equipments/tit-black.png);}

.unit dl {
	border: solid 1px #CCCCCC;
	border-top: none;
	padding: 13px 16px 8px 5px;
	position: relative;
	min-height: 140px;
	}
	.unit dt {
		float: left;
		width: 145px;
		text-align: center;
		display: block;
		}
	.unit.docu dt {width: 121px;}
	.unit dd ul {
		float: right;
		}
	.unit dd p {
		font-size: 12px;
		position: absolute;
		bottom: 5px;
		left: 5px;
		}

.number {
	width: 460px;
	float: left;
	}
	.number + .number {float: right;}
.number h3 {
	background-image: url(../img/equipments/tit-gray.png);
	background-repeat: no-repeat;
	background-position: left top;
	min-height: 30px;
	font-weight: bold;
	font-size: 15px;
	line-height: 28px;
	padding-left: 13px;
	}


/****************************************

          contact

*****************************************/
.tblcontact .en {
	display: block;
	font-size: 11px;
	color: #F60;
	}
.tblcontact td {vertical-align: middle;}
.tblcontact input {
	padding: 5px;
	border: solid 1px #E0E0E0;
	width: 300px;
	}
.tblcontact textarea {
	padding: 5px;
	border: solid 1px #E0E0E0;
	width: 500px;
	}
	.tblcontact input#postcode {width: 100px;}
	.tblcontact input#address,
	.tblcontact input#oters {
		width: 500px;
		margin-top: 5px;
		}
.tblcontact input:focus,
.tblcontact textarea:focus {
	background:#F3F3F3;
	border: solid 1px #CCC;
	}
.tblcontact input[type=radio],
.tblcontact input[type=checkbox] {
	width: auto;
	border: none;
	}
.tblcontact input[type=radio]:focus,
.tblcontact input[type=checkbox]:focus {background: none;}
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	margin-bottom: 20px;
	padding: 4px 12px;
	padding: 8px 10px;
	border: 1px solid #666;
	background: #666;
	color: #FFFFFF;
	text-decoration: none;
	font-weight: bold;
	line-height: normal;
	cursor: pointer;
	/* Old browsers */
	}
	input[type="submit"]:hover,
	input[type="reset"]:hover,
	input[type="button"]:hover {
	  	border: 1px solid #000;
		background: #000;
		color: #fff;
		}
	input[type="submit"]:active,
	input[type="reset"]:active,
	input[type="button"]:active {
		position: relative;
		top:1px;
		}

.access {
	width: 330px;
	float: left;
	}


/****************************************

          recruit

*****************************************/
nav.area {margin-bottom: 45px;}
nav.area li {
	display: inline;
	margin-right: 35px;
	}
.mapbtn img {
	margin-left: 10px;
	vertical-align: text-bottom;
	}
	.mapbtn img:active {
		position: relative;
		top:1px;
		}
.tblrecruit {border: solid 1px #CCCCCC;}
.tblrecruit th,
.tblrecruit td {
	padding: 10px;
	border-bottom: solid 1px #CCCCCC;
	}
.tblrecruit th {
	text-align: left;
	background-color: #EFEFEF;
	white-space: nowrap;
	}


/****************************************

          expertise

*****************************************/
#expertise .flow {position: relative;}
#expertise .flow figure {
	width: 140px;
	float: left;
	margin-right: 10px;
	}
#expertise .flow figcaption {
	color: #006600;
	font-weight: bold;
	text-align: center;
	margin: 0 10px;
	}
#expertise .flow figure p img {
	position: absolute;
	top: 37px;
	}
#expertise .flow figure.flow01 p img {left: 127px;}
#expertise .flow figure.flow02 p img {left: 271px;}
#expertise .flow figure.flow03 p img {left: 421px;}
#expertise .flow figure.flow04 p img {left: 575px;}
#expertise .flow figure.flow05 p img {left: 724px;}