@charset "utf-8";

/*=========================================

layout

=========================================*/

body {
	background: url(../images/contents/bg.png) no-repeat right -50px bottom -100px fixed #fff;
}

#wrap {
	width: 100%;
	height: auto !important; /* for IE6 */
	height: 100%;  /* for IE6 */
	min-height: 100%;
	position: relative;
}



/*=========================================

header

=========================================*/

#header {
	width: 960px;
	height: 120px;
	margin: 0 auto;
	text-align: left;
	position: relative;
	clear: both;
}

#header h1{
	margin-top: 15px;
	float: left;
}

#header h2{
	width: 68px;
	height: 90px;
	background: url(../images/contents/logo_TU.png) no-repeat 0 0;
	text-indent: -9999em;
	display: block;
	position: absolute;
	top: 25px;
	right: 0;
}

#header h2 a{
	width: 68px;
	height: 90px;
	display: block;
}

/*-----------------------------------------
header navi
-----------------------------------------*/

#headerNavi {
	width: 340px;
	position: absolute;
	top: 0;
	right: 0;
}

#hnav {
	margin-right: 1em;
	font-size: 86%;
	float: left;
}

#hnav li {
	margin-right: 0;
	display: inline-block;
}

#hnav li a {
	height: 20px;
	margin: 0 0.5em;
	color: #666;
	text-decoration: none;
	line-height: 20px;
}

#hnav li#hnav_01 a:before,
#hnav li#hnav_02 a:before {
	content: "\f054";
	color: #96c72d;
	font-family: FontAwesome;
	display: inline-block;
}
#hnav li#hnav_01 a:hover,
#hnav li#hnav_02 a:hover {
	color: #007c36;
}

#hnav li#hnav_03 a {
	width: 100px;
	height: 20px;
	margin: 0;
	background: #007c36;
	color: #fff;
	line-height: 20px;
	text-align: center;
	display: block;
}
#hnav li#hnav_03 a:hover {
	background: #009944;
}

/*-----------------------------------------
counter
-----------------------------------------*/

#counter {
	margin-top: 3px;
}



/*=========================================

global navi

=========================================*/

#globalNavi {
	width: 100%;
	background: #5cb531;
}

#gnav {
	width: 960px;
	height: 50px;
	margin: 0 auto;
	border-bottom: none;
}

#gnav > li {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight: bold;
	line-height: 50px;
	float: left;
	position: relative;
  	z-index: 10000;
}

#gnav > li > a {
	width: 191px;
	height: 50px;
	border-right: 1px solid #92ca78;
	color: #fff;
	text-decoration: none;
	display: block;
}
#gnav > li:first-child > a {
	width: 190px;
	border-left: 1px solid #92ca78;
}

#gnav > li.gnaf_off > a:after {
	margin-left: .25em;
	content: "\f055";
	font-family: FontAwesome;
	display: inline-block;
}
#gnav > li.gnaf_home > a:before {
	margin-right: .25em;
	content: "\f015";
	font-family: FontAwesome;
	display: inline-block;
}
#gnav > li.gnaf_on > a:after {
	margin-left: .25em;
	content: "\f056";
	font-family: FontAwesome;
	display: inline-block;
}
#gnav > li.gnaf_home > a:after {
	display: none;
}

#gnav > li.gnaf_on:hover {
	background: #009944;
}

/*-----------------------------------------
global navi (sub)
-----------------------------------------*/

#gnav > li > ul.gnav_sub {
	width: 192px;
	background: #ebf3e8;
	text-align: left;
	display: none;
	position: absolute;
	top: 50px;
	left: -1px;
}

#gnav > li > ul.gnav_sub > li {
	font-size: 82%;
	line-height: 1;
}

#gnav > li > ul.gnav_sub > li > a {
	width: 170px;
	padding: 14px 10px;
	border: 1px solid #fff;
	color: #666;
	text-decoration: none;
	display: block;
	position: relative;
}
#gnav > li > ul.gnav_sub > li.s_off > a:after {
	width: 1em;
	margin-top: -.5em;
	content: "\f138";
	color: #5cb531;
	font-family: FontAwesome;
	text-align: center;
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 1em;
}
#gnav > li > ul.gnav_sub > li.s_off > a:hover {
	background: #cfe2c7;
}

/*-----------------------------------------
global navi (sub-child)
-----------------------------------------*/

#gnav > li > ul.gnav_sub > li.s_off_02 a {
	padding: 10px;
	background: #fff;
	border-bottom: 1px solid #edefec;
	font-weight: normal;
	line-height:1.2em;
}
#gnav > li > ul.gnav_sub > li.s_off_02 a:after {
	width: 1em;
	margin-top: -.5em;
	content: "\f0da";
	color: #999;
	font-family: FontAwesome;
	text-align: center;
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 1em;
}

#gnav > li > ul.gnav_sub > li.s_off_02 a:hover {
	background: #edefec;
	color: #5cb531;
}






/*=========================================

contents

=========================================*/

#contents {
	width: 960px;
	margin: 0 auto;
	padding: 20px 0 130px;
	text-align: left;
}

#contents_home {
	width: 960px;
	margin: 0 auto;
	padding: 10px 0 370px;
	text-align: left;
}



/*=========================================

main

=========================================*/

#main {
	width: 620px;
	text-align: left;
	float: left;
}

#main_home {
	width: 620px;
	text-align: left;
	float: right;
}




/*=========================================

sidebar

=========================================*/

#sidebar {
	width: 300px;
	text-align: left;
	float: right;

}

#sidebar_home {
	width: 320px;
	text-align: left;
	float: left;
}


/*=========================================

page up

=========================================*/

#pageUp a {
	position: fixed;
	bottom: 30px;
	right: 20px;
}



/*=========================================

footer

=========================================*/

#footer {
	width: 100%;
	padding-top: 1px;
	background: #e5e8e5;
	text-align: left;
	position: absolute;
	bottom:0;
}

#copyright {
	width: 100%;
	margin-top: 10px;
	padding: 5px 0;
	background: #666;
	color: #fff;
	text-align: center;
}

/*-----------------------------------------
footer navi
-----------------------------------------*/

#footer #links {
	width: 960px;
	margin: 20px auto;
	position: relative;
}

#footer h2 {
	float: left;
}

#footerNavi,
#footerNavi1,
#footerNavi2 {
	margin-left: 1em;
	padding-left: 0.5em;
	border-left: 2px solid #fff;
	float: left;
}

#fnav li {
	margin-right: 1em;
	font-size:92%;
	display: inline-block;
}
#fnav a {
	text-decoration: none;
}

#fnav01 a,
#fnav02 a,
#fnav01 span,
#fnav02 span {
	padding-left: 16px;
	text-decoration: none;
	background: url(../images/footer/icon_link.png) no-repeat 0 center;
}


#fnav02 {
	margin-bottom: 2em;
	margin-left: 3.5em;
}
#fnav02 li {
	margin-right: 1em;
}

#fnav02 li:before {
  width: 14px;
  background: url(../images/gnav/icon_gn_sub.png) no-repeat 0 center;
}


/*-----------------------------------------
address
-----------------------------------------*/

#address {
	width: 280px;
	padding: 10px;
	background: #f9f8f8;	
	border: 5px solid #eeeded;
}

#address_c {	
	width: 270px;
	padding: 10px;
	background: #f9f8f8;
	border: 5px solid #eeeded;
}



/*=========================================

ニュース（ラベル）

=========================================*/

span.date {
	width: 6em;
	display: inline-block;
}

span.label {
	width: 9em;
	margin: 0 0 .25em .5em;
	background: #000;
	border-bottom: none !important;
	border-radius: 5px;
	color: #fff;
	font-size: 11px;
	font-weight: normal;
	text-align: center;
	display: inline-block;
}

span.label-awards       { background: #C12C20; }
span.label-news         { background: #5AB89C; }
span.label-recruit      { background: #3F0180; }
span.label-pressrelease { background: #DDA600; }