/* =================== Getting the new tags to behave START ====================== */

article, aside, audio, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, meter, nav, output, progress, section, source, video { display: block; }
mark, rp, rt, ruby, summary, time { display: inline }

/* ==================== Getting the new tags to behave END ======================= */





/* ========================= Global properties START ============================= */

body {
	min-width: 980px;
	height: 100%;
	font-family:"Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", Osaka, "MS P Gothic", "ＭＳ Ｐゴシック", sans-serif;
	font-size: 0.75em;
	color: #393939;
}

html {
	background:#FFFFFF;
	min-width: 980px;
	height: 100%;
	margin: 0;
	padding: 0;
	outline: 0;
	vertical-align: top;
	font-size: 100%;
}

div {
	border: 0 none;
	font-size: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: top;
}

a {
	outline: none;
	color: #000;
	text-decoration: none;
}

	a:hover {
		text-decoration: underline;
		color: #005b94;

	}
	
/* ========================= Global properties END =============================== */






/* ========================= Global Structure START ============================== */
/* ヘッダ色分け */
#header-tail {
	background: #fff url(../images/header-tail.gif) repeat-x 50% 0%;
}
#companies #header-tail {
	background: #fff url(../images/header-tail-red.gif) repeat-x 50% 0%;
}
#facilities #header-tail {
	background: #fff url(../images/header-tail-yellow.gif) repeat-x 50% 0%;
}
#techlist #header-tail {
	background: #fff url(../images/header-tail-green.gif) repeat-x 50% 0%;
}
	header {
		position: relative;
		z-index:2;
		width: 968px;
		height: 174px;
		margin: 0 auto;
	}
	#toppage header {
		height: 600px;
	}
	.mainVisual{ position:absolute; z-index:1; top:110px; left:4px; width:962px; height:400px; overflow:hidden}

#content-tail {
	background: #fff;
}
	#content {
		width: 968px;
		margin: 0 auto;
		position:relative;
		z-index:1
	}

#footer-tail {
	background: url(../images/footer-tail.gif) repeat-x 50% 0%;
	width: 100%;
}
	footer {
	width: 968px;
	overflow: hidden;
	margin: 0 auto;
	}

/* ========================= Global Structure END ================================ */


/* ====================== Left & Right alignment START =========================== */

.fleft {
	float: left;
}

	img.fleft {
		margin: 0 20px 0 0;
	}
	
	img.fleft1 {
		float: left;
		margin: 2px 19px 0 0;
	}
	
	img.fleft2 {
		float: left;
		margin: 2px 19px 25px 0;
	}
	
	img.fleft3 {
		float: left;
		margin: 2px 19px 17px 0;
	}

.fright {
	float: right;
}

	ul.fright1 {
		float: right;
		padding: 0 63px 15px 0;
	}

.col-1, .col-2, .col-3, .col-4 {
	float: left;
	overflow: hidden;
}

.block-1, .block-2, .block-3, .block-4 {
	float: left;
	overflow: hidden;
}

.aligncenter {
	padding: 15px 0 0 0;
	text-align: center;
}

.wrapper {
	width: 100%;
	overflow: hidden;
}

.clear {
	clear: both;
}

/* ====================== Left & Right alignment END ============================= */





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

header strong {
	display: block;
	line-height: 1.286em;
	font-size: 1.167em;
	font-weight: normal;
	color: #676565;
	position: absolute;
	top: 78px;
	left: 226px;
}

#navi {
	overflow: hidden;
	position: absolute;
	top: 65px;
	right: 233px;
}

	#navi li {
		background: url(../images/navi-divider.gif) no-repeat 0% 4px;
		float: left;
		margin: 0 0 0 -1px;
		padding: 0 12px 0 12px;
		font-size: 1.167em;
		color: #676565;
	}
	
		#navi li a {
			text-decoration: none;
			color: #676565;
		}
		
			#navi li a:hover {
				color: #fff;
			}

nav {
	background: url(../images/menu-bg.png) no-repeat 0% 7px;
	width: 962px;
	height: 64px;
	position: absolute;
	z-index:99;
	top: 110px;
	left: 5px;
}

#toppage nav {
	background: url(../images/menu-bg.png) no-repeat 0% 7px;
	top: 520px;
}

	#menu {
		float: left;
		padding: 0;
	}
	
		#menu > li {
			background: url(../images/menu-divider.gif) no-repeat left 7px;
			float: left;
			margin: 0 0 0 -10px;
			padding:0 20px 0 10px;
			position:relative; z-index:1;
		}
		#menu > li:first-child {
			background: none;
			margin: 0 0 0 0;
		}
		
			#menu > li > a {
				display:table-cell;
				height: 46px;
				margin: 0 32px 0 11px;
				padding: 18px 7px 0 7px;
				font-weight: bold;
				text-shadow: 1px 1px 0 #030303;
				text-decoration: none;
				color: #fff;
				line-height:1.3em;
			}
			#menu > li > a:hover {
					color: #91cbff;
				}
			#menu > li:first-child a{
				padding: 20px 7px 0 7px;
				font-size:1.5em;
			}
			#menu > li:last-child a{
				padding: 25px 7px 0 7px;
			}				

				/* アクティブメニュー */
				#menu > li.act > a:hover {
					color: #fff;
				}			
				#menu > li.act {
					padding:0;
				}					
				/* 色帯 右端と左端 */
				#toppage #menu > li.act{
					background-image: url(../images/menu-left-lightblue.png),url(../images/menu-right-lightblue.png);
					background-repeat:no-repeat,no-repeat;
					background-position:top left,top right;
				} 
				#enquiry #menu > li.act{
					background-image: url(../images/menu-left-lightblue2.png),url(../images/menu-right-lightblue.png);
					background-repeat:no-repeat,no-repeat;
					background-position:top left,top right;
				}
	
				#aboutus #menu > li.act {
					background-image: url(../images/menu-left-blue.png),url(../images/menu-right-blue.png);
					background-repeat:no-repeat,no-repeat;
					background-position:top left,top right;
				}
				#companies #menu > li.act{
					background-image: url(../images/menu-left-red.png),url(../images/menu-right-red.png);
					background-repeat:no-repeat,no-repeat;
					background-position:top left,top right;
				}
				#techlist #menu > li.act{
					background-image: url(../images/menu-left-green.png),url(../images/menu-right-green.png);
					background-repeat:no-repeat,no-repeat;
					background-position:top left,top right;
				}
				#facilities #menu > li.act{
					background-image: url(../images/menu-left-yellow.png),url(../images/menu-right-yellow.png);
					background-repeat:no-repeat,no-repeat;
					background-position:top left,top right;
				}
					#facilities #menu > li.act a{
						color: #000;
						text-shadow: 1px 1px 0 #D9A300;
					}
						
				
				/* グローバルメニュー色帯背景 */
				#menu > li.act > a   {
					display: inline-block;
					height:50px;
					margin: 0px 32px 0 11px;
				}
				#toppage #menu > li.act > a, 
				#enquiry #menu > li.act > a {
					background: url(../images/menu-tail-lightblue.gif) repeat-x 0% 0%;
				}
				#aboutus #menu > li.act > a {
					background: url(../images/menu-tail-blue.gif) repeat-x 0% 0%;
				}
				#companies #menu > li.act > a {
					background: url(../images/menu-tail-red.gif) repeat-x 0% 0%;
				}
				#techlist #menu > li.act > a {
					background: url(../images/menu-tail-green.gif) repeat-x 0% 0%;
				}
				#facilities #menu > li.act > a {
					background: url(../images/menu-tail-yellow.gif) repeat-x 0% 0%;
				}

#icons {
	position: absolute;
	z-index:100;
	top: 131px;
	right: 29px;
}

#toppage #icons {
	top: 595px;
}

	#icons li {
		float: left;
		padding: 0 0 0 14px;
	}

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





/* ============================= content START =================================== */

#content #indent {
	padding: 0 0 62px 0;
}

#content #indent-1 {
	padding: 28px 0 67px 0;
}
#content p{
	line-height:1.5;
	margin:10px 0;
	font-size:1.2em;
}

#column-left {
	float: left;
	width: 738px;
	padding: 0 18px 0 15px;
}

#column-right {
	float: left;
	width: 192px;
	padding: 0 5px 0 0;
}


/* ============================== content END ==================================== */

/* =================== txt, links, lines, titles START =========================== */

h1 {
	line-height: 1.2em;
	font-weight: normal;
	color: #fff;
	position: absolute;
	top: 40px;
	left: 2px;
}

h2 {
	padding: 0 0 16px 0;
	line-height: 1.385em;
	font-size: 2.167em;
	font-weight: normal;
	color: #252525;
}

	h2 em {
		display: block;
		margin: 0 0 -1px 0;
		font-style: normal;
	}
	
	h2 strong {
		display: block;
		padding: 0 0 6px 0;
		font-weight: normal;
	}
	
	h2 b {
		display: block;
		padding: 0 0 3px 0;
		font-weight: normal;
	}
	
	h2 span {
		display: block;
		padding: 0 0 10px 0;
	}

h3 {
	padding: 0 0 18px 0;
	line-height: 1.4em;
	font-size: 1.3em;
	color: #373737;
}

	h3 em {
		display: block;
		margin: 0 0 -18px 0;
		font-style: normal;
	}

.link {
	background: url(../images/link-tail.gif) repeat-x 0% 0%;
	display: inline-block;
	height: 36px;
	float: left;
	overflow: hidden;
	line-height: 36px;
	text-decoration: none;
	font-size: 1em;
	font-weight: bold;
	color: #fff;
}
	.link span {
		background-image: url(../images/link-left.gif),url(../images/link-right.gif);
		background-repeat:no-repeat,no-repeat;
		background-position:top left,top right;
		display: inline-block;
		padding: 0 20px 0 19px;
	}
	.link:hover span {
		cursor: pointer;
		color: #000;
	}

.link-indent {
	margin: 0 0 40px 0 !important;
}

.link-indent1 {
	margin: 0 0 39px 0 !important;
}

.link-indent2 {
	margin: 0 0 41px 0 !important;
}

/* ==================== txt, links, lines, titles END ============================ */





/* ============================= forms START ===================================== */

#contact-form {
	width: 155px;
	overflow: hidden;
}

	#contact-form label {
		background: url(../images/contact-input.gif) no-repeat 0% 19px;
		display: block;
		width: 100%;
		min-height: 71px;
		overflow: hidden;
		position:relative
	}
	#contact-form .message{ background:none}
	#contact-form .error, #contact-form .empty{ position:relativee; font:10px Arial, Helvetica, sans-serif; color:#000; display:none}
	#contact-form strong {
		background: url(../images/contact-textarea.gif) no-repeat 0% 19px;
		display: block;
		width: 100%;
		overflow: hidden;
	}
	.success{ padding-bottom:15px; padding-left:10px; display:none}
	.success strong{ color:#F0AB0C}
	#contact-form b {
		display: block;
		padding: 0 0 1px 0;
		line-height: 1.286em;
		font-size: 1.167em;
		font-weight: normal;
		color: #bdbdbd;
	}
	
	#contact-form input {
		background: none;
		width: 135px;
		height: 16px;
		padding: 10px 10px 10px 10px;
		border: none;
		float: left;
		font-family: Arial, Helvetica, sans-serif;
		font-size: 1em;
		color: #000;
	}
	
	#contact-form textarea {
		background: none;
		width: 135px;
		height: 181px;
		padding: 10px 10px 10px 10px;
		border: none;
		float: left;
		font-family: Arial, Helvetica, sans-serif;
		font-size: 1em;
		color: #000;
	}
	
	#contact-form a.link {
		float: right;
		margin: 27px 0 0 0;
	}
	
		#contact-form em a.link {
			float: left;
			margin: 27px 0 0 0;
			font-style: normal;
		}

#search-form {
	background: url(../images/search-input.png) no-repeat 0% 0%;
	width: 229px;
	height: 34px;
	overflow: hidden;
	position: absolute;
	top: 58px;
	right: 5px;
}

	#search-form input {
		background: none;
		width: 181px;
		height: 16px;
		padding: 9px 0 9px 9px;
		border: none;
		float: left;
		font-family: Arial, Helvetica, sans-serif;
		font-size: 1em;
		color: #000;
	}
	
	#search-form input#search-submit {
		background: url(../images/search-submit.gif) no-repeat 0% 0%;
		width: 39px;
		height: 34px;
		padding: 0;
		border: none;
		float: left;
		cursor: pointer;
	}

/* ============================== forms END ====================================== */

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

footer .inner {
	padding: 20px 6px 20px 23px;
}

	footer .block-1 {
		width: 582px;
		padding: 0 20px 0 0;
	}
	
	footer .block-2 {
		width: 169px;
		padding: 0 20px 0 0;
	}
	
	footer .block-3 {
		width: 204px;
		padding: 0 20px 0 0;
	}
	
	footer .block-4 {
		width: 337px;
		text-align:right;
		color:#005B94;
	}

footer p {
	padding: 28px 0 0 0;
	line-height: 1.385em;
	font-size: 1.083em;
	text-align: right;
	color: #ffc204;
}

	footer p span {
		padding: 0 4px 0 0;
	}
	
	footer p a {
		margin: 0 0 0 4px;
		text-decoration: none;
		color: #ffc204;
	}
	
		footer p a:hover {
			text-decoration: underline;
		}
		
	footer p strong {
		display: block;
		text-align: right;
		font-weight: normal;
	}

footer ul {
	overflow: hidden;
}

	footer ul li {
		line-height: 1.5em;
		font-size: 1em;
		font-weight: bold;
		color: #fff;
	}
	
		footer ul li a {
			text-decoration: none;
			color: #fff;
		}
		
		footer ul li a:hover {
			text-decoration: underline;
		}

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


/* 共通　右カラム 技術リストdl */
#techmenu{
	margin:3px 0 30px 0;
}
#techmenu dt{
	text-align:center;
	height:78px;
	margin-left:-1px;
}
#techmenu dd{
	border-left:1px solid #DDD;
	border-bottom:1px solid #DDD;
	border-right:1px solid #DDD;
	box-shadow:0px 1px 4px 1px rgba(237,237,237,0.83);
	-webkit-box-shadow:0px 1px 4px 1px rgba(237,237,237,0.83);
	-moz-box-shadow:0px 1px 4px 1px rgba(237,237,237,0.83);
	padding:10px;
	margin-top:-3px;
}
#techmenu li{
	border-bottom:1px dashed #CCC;
	padding:3px 0;
	font-size:1.1em;
}
#techmenu li:last-child{
	border-bottom:none;
}

#techmenu .list {
	padding: 0 0 21px 0;
	overflow: hidden;
}

	#techmenu .list li {
		font-size: 1.1em;
		font-weight: bold;
		color: #010101;
		padding:5px 0;
	}
	#techmenu .list li.act {
		padding-left:28px;
		background:url(../images/marker-selected.png) no-repeat left center;
	}
		#techmenu .list li a {
			background: url(../images/marker.gif) no-repeat 0% 2px;
			padding: 0 0 0 28px;
			text-decoration: none;
			color: #010101;
		}
		
		#techmenu .list li a:hover {
			background: url(../images/marker-act.gif) no-repeat 0% 2px;
			color: #005b94;
			text-decoration: underline;
		}





/* 写真角丸＋ボーダー＋影 */
.photo{
	display:block;
	border:5px solid #FFF;
	border-radius:5px;
	box-shadow:1px 1px 4px 1px rgba(0,0,0,0.2);
	-webkit-box-shadow:1px 1px 4px 1px rgba(0,0,0,0.2);
	-moz-box-shadow:1px 1px 4px 1px rgba(0,0,0,0.2);
}

/* おといあわせはこちら */
.enquiry{
	font-size:1.2em;
	margin:40px 0;
	min-height:100px;
	padding:10px;
	border:1px solid #CCC;
	box-shadow:0px 1px 4px 1px rgba(237,237,237,0.83);
	-webkit-box-shadow:0px 1px 4px 1px rgba(237,237,237,0.83);
	-moz-box-shadow:0px 1px 4px 1px rgba(237,237,237,0.83);
	background:url(../images/top_enquiry_back.gif) bottom right no-repeat;
}
.enquiry p{
	text-align:center;
	margin:10px;
}
.enquiry span:first-child{
	font-size:1.2em;
	font-weight:bolder;
	color:#005B94;
}
.enquiry span:last-child{
	padding:0 0 0 20px;
}
.enquiry a{
	color:inherit;
	text-decoration:underline;
}

/* TOP写真 */
#toppage .photo{
	float:left;
	margin:2px 20px 0 2px;
}
#toppage .aboutus{
  overflow: hidden;
  zoom: 1;	
}


/* BNとは aboutus */
#merits{
		font-size: 1.167em;
		margin:15px 0;
}
#merits dt{
	width:300px;
	float:left;
}
#merits dd{
	width:410px;
	height:85px;
	float:left;
	padding:15px 0 10px 15px;
	line-height:1.5;
}

/* 企業一覧 companies*/
#companies #column-left dl:first-of-type{
	border-top:2px solid rgb(232,5,59);
	padding:10px 0; 
}
#companies #column-left dl{
	border-top:1px solid rgb(232,5,59);
	padding:10px 0; 
	overflow:hidden;
	zoom:1;
}
#companies #column-left dl:last-of-type{
	border-bottom:2px solid rgb(232,5,59);
	padding:10px 0; 
}

#companies #column-left dt{
	float:right;
	text-align:left;
	width:550px;
	border-bottom:1px solid #ccc;
	font-size:1.4em;
	padding:5px 0;
}
#companies #column-left dt a{
	display:inline-block;
	background:url(../images/icon_arrow.png) right no-repeat;
	width:100%;
}
#companies #column-left dt a:hover{
	background:url(../images/icon_arrow-act.png) right no-repeat;
}
#companies #column-left dd.comment{
	float:right;
	width:550px;
	text-align:left;
	padding:5px 0;
	font-size:1.1em;
}
#companies #column-left dd.comment p{
	font-size:1em;
}
#companies #column-left dd.comment table{
	width:100%;
	border-top:2px solid #DDD;
	border-bottom:2px solid #DDD;
}
#companies #column-left dd.comment th{
	font-weight:normal;
	padding:5px;
	border-bottom:1px solid #DDD;
	border-right:1px solid #DDD;
	white-space: nowrap;
}
#companies #column-left dd.comment td{
	padding:5px;
	border-bottom:1px solid #DDD;
}

#companies #column-left dd.photo{
	min-height:100px;
	width:155px;
	margin-left:3px;
}
#companies #column-left dd.photo:empty{
	background:url(../images/no_image.png) center no-repeat;
}



/* 技術一覧 */
#techlist .tech-list p{
	width:220px;
	float:left;
	margin:0 10px 10px 0;
	padding:10px 5px ;
	border-radius:8px;
	background:#EEE;
	background: -prefix-linear-gradient(left top, #EEE, #E3E3E3);
	background: linear-gradient(to bottom right, #EEE, #E3E3E3);
	font-size:1.4em;
}
#techlist .tech-list p img{
	display:block;
	margin:0 0 5px 0; 
	border:5px solid #DDD;
	border-radius:5px;
	display:none; /* 写真あればこの行削除 */
}
#techlist .tech-list p a{
	background:url(../images/icon_arrow.png) left no-repeat;
	padding:0 0 0 20px;
}
#techlist .tech-list p a:hover{
	background:url(../images/icon_arrow-act.png) left no-repeat;
}
/* 技術 下層ページ */
#techlist #column-left dl{
	padding:10px;
	margin:0 0 20px 0;
	font-size:1.1em;
	background:#F5F5F5;
	zoom:1;
	overflow:hidden;
}
#techlist #column-left dt{
	padding:5px 0;
	margin:0 0 5px 0;
	font-size:1.2em;
	border-bottom:1px solid rgb(0,162,63);
	width:550px;
	float:left;
	font-weight:bolder;
}
#techlist #column-left dd{
	line-height:1.3;
}
#techlist #column-left dd p{
	font-size:1em;
}
#techlist #column-left dd ul{
	list-style-type:square;
	margin:5px 0 5px 20px;
}
#techlist #column-left dd.comment{
	width:550px;
	float:left;
}
#techlist #column-left dd.photo{
	width:150px;
	height:150px;
	float:right;
	background:url(../images/no_image.png) center no-repeat;
}


/* 設備一覧 */
#tbl{
	border:10px solid rgba(204,204,204,0.5);
	border-radius:15px ;
}
#facilities table{
	width:100%;
	font-size:1.1em;
}
#facilities caption{
	padding:10px 0;
	background:rgba(204,204,204,0.5);
	text-align:left;
	font-size:1.1em;
}
#facilities th{
	border-right:1px solid #FFF;
	padding:5px 0px 5px 10px;
	background:rgb(255,183,0);
	letter-spacing:0.8em;
}
#facilities td{
	border-bottom:1px solid rgb(255,183,0);
	border-right:1px solid rgb(255,183,0);
	padding:5px;
}
#facilities th:last-child,
#facilities td:last-child{
	border-right:none;
}
#facilities td:nth-of-type(1){
}
#facilities td:nth-of-type(2){
	text-align:center;
}
#facilities td:nth-of-type(3){
}

#facilities #column-left ul{
	text-align:center;
	
}
#facilities #column-left li{
	font-size:1.2em;
	display:inline-block;
	padding:10px 30px;
	border-radius:5px 5px 0 0;
	background:rgba(204,204,204,0.5);
	background: -prefix-linear-gradient(left top, rgba(204,204,204,0.5), rgba(204,204,204,1));
	background: linear-gradient(to bottom, rgba(204,204,204,0.5), rgba(204,204,204,1));
	cursor:pointer;

}
#facilities #column-left li.act{
	border-top:rgb(255,183,0) 5px solid;
	background:rgba(204,204,204,0.5);
	padding:8px 30px 8px ;
}






