/* -------------------------------------
 # 初期設定
 # 汎用クラス
 # 各レイアウト調整用
 # ページ個別背景
 # 枠組み
 # トップページ
________________________________________ */



/* =====================================
# 初期設定
======================================== */
* {
	font-size: 100%;
}
html {
	overflow-y: scroll;
}
body {
	margin: 0 0 20px 6px;
	padding: 0;
	font-size: 13px;
	line-height: 20px;
	font-family: Verdana, Helvetica, Arial, Sans-serif;
	background: url(../img/back_black.gif) repeat-x #000000;
	color: #050505;
}
#pop-bg{
	margin: 0 0 20px 6px;
	padding: 0;
	font-size: 13px;
	line-height: 20px;
	font-family: Verdana, Helvetica, Arial, Sans-serif;
	background-color:#ffffff;
	color: #050505;
}
img {
	border: none;
	line-height:0em;
}
#main h2{
	padding: 0;
	margin: 0 0 14px 0;
}
h1,h2,h3,h4,h5,h6 {
	padding: 0;
	margin: 0 0 20px 0;
}
a {
	color: #050505;
	text-decoration: underline;
}
a:hover {
	color: #999999;
	text-decoration: none;
}
#global-navi:after,
#container:after,
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
#global-navi,
#container,
.clearfix {
	display: inline-block;
}
#service-h {
	padding: 0;
	margin: 0 0 20px 0;
	font-size:1.2em;
}


/* for Mac IE \*/
* html #global-navi,
* html #container,
* html .clearfix { height: 1%; }
#global-navi,
#container,
.clearfix { display: block; }
/* end */



/* =====================================
# 汎用クラス
======================================== */
/* Float --------------------- */
.float-left {
	float: left;
}
.float-right {
	float: right;
}

/* Space --------------------- */
.spM {
	padding-top: 15px;
}
.spM2 {
	padding-top: 15px;
}
.lspM {
	padding-left: 15px;
}
.lspL {
	padding-left: 30px;
}
.bspM {
	padding-bottom: 15px;
}
.centering {
	margin: 0 auto;
}
.no-margin {
	margin: 0 ! important;
}
.sp-p7{
	padding:7px;
}
/* Align --------------------- */
.align-center {
	text-align: center;
}
.align-left {
	text-align: left;
}
.align-right {
	text-align: right;
}
.valign-top {
	vertical-align: top;
}
.valign-middle {
	vertical-align: middle;
}
.valign-bottom {
	vertical-align: bottom;
}

/* Display ------------------- */
.none {
	display: none;
}



/* =====================================
# 各レイアウト調整用
======================================== */
.square-unit {
	width: 564px;
	padding-top:4px;
	_padding-top:6px;

}
.square-unit-bottom{
	width: 564px;
	padding-top:4px;
	_padding-top:4px;

}
.square-unit-careers{
	width: 564px;
	padding-top:0px;

}
.square-unit .space {
	border-top: 1px solid #ffffff;
	border-right: 1px solid #e8e8e8;
	border-bottom: 1px solid #dadada;
	border-left: 1px solid #ffffff;
	padding-bottom: 10px;
	text-align: center;
}
.square-unit .space-left {
	width:176px;
	height:70px;
	margin-right:18px;
	padding:0 0 15px 0;
	_padding:0 0 0px 0;

}
.square-unit .space-right {
	width:176px;
	height:70px;
	padding:0 0 15px 0;
	_padding:0 0 0px 0;
}
.square-unit-bottom .space-left {
	width:176px;
	height:70px;
	margin-right:18px;
	padding:0 0 15px 0;
	_padding:0 0 0px 0;

}
.square-unit-bottom .space-right {
	width:176px;
	height:70px;
	padding:0 0 15px 0;
	_padding:0 0 0px 0;
}
.square-unit .space-bottom {
	width:176px;
	height:70px;
	padding-bottom: 10px;
}
.square-unit-bottom .space-bottom-l {
	width:176px;
	height:70px;
	margin-right:18px;
	padding-bottom: 10px;
}
.square-unit h3 {
	margin: 0 auto;
	height: 85px;
	padding: 0;
}
.square-unit h3 a {
	display: block;
}
.square-unit .text {
	margin: 0 auto;
	text-align: left;
	width: 248px;
}
.square-unit .text p {
	margin: 0;
}
.pagetop {
	text-align: right;
	margin: 12px 0 0 0;
}
.narrow-lv1 {
	width: 527px;
	min-height:505px;
	_height:505px;
	margin: 0 18px 0 19px;
}
.narrow-lv1-func {
	width: 527px;
	min-height:850px;
	_height:850px;
	margin: 0 18px 0 19px;
}
.narrow-lv2 {
	width: 457px;
	margin: 0 27px 0 34px;
}
.narrow-lv2-func {
	width: 457px;
	min-height:500px;
	_height:500px;	
	margin: 0 27px 0 34px;
}
.narrow-lv2-sub {
	width: 527px;
	margin: 50px 0 0 0;
}
.narrow-lv2-sub-loc {
	width: 527px;
	margin: 0;
}
.narrow-lv2-topmar {
	width: 457px;
	margin: 50px 27px 0 34px;
}
.narrow-lv2-voice {
	width: 457px;
	margin: 0 27px 0 34px;
}
.narrow-lv2-voice dl dt{
	font-weight:bold;
}
.h-text {
	font-size: 15px;
	margin: 35px 0 15px 0;
}
.subpage-table-ca{
	width:451px;
	margin:0 0 15px 0;
	padding:0;
	border-left:1px solid #000000;
	border-right:1px solid #000000;
	border-bottom:1px solid #000000;

}
.subpage-table-ca th{
	margin:0;
	padding:0;
}
.subpage-table-ca td{
	padding:10px;
}
.subpage-table-ca .ca-dotted{
	padding:10px;
	border-bottom:1px dotted #666666;
}
.career-yaji{
	padding:0 0 10px 15px;
}
#ca-bottom{
	padding-bottom:10px;
}
.subpage-table{
	width:100%;
	border:1px solid #000000;
}
.location-table{
	width:100%;
}
.subpage-table-bottom{
	margin-top:30px;
	width:100%;
	border:1px solid #000000;
}
.subpage-table-loc{
	width:525px;
	margin-left:1px;
}
.subpage-table-loc th{
	width:100%;
	background-color:#c3ac9e;
	padding-left:5px;	
}
.subpage-table th{
	width:100%;
	padding-left:5px;
}
.subpage-table tr{
	paddng-left:5px;
}
.sitemap-box-a{
	width:52%;
	margin-top:15px;
}
.sitemap-box-b{
	width:48%;
	margin-top:15px;
}
.sitemap-box-b .intend{
	margin-left:95px;
}
.sitemap-box-a .intend{
	margin-left:95px;
}
.sitemap-box-a .intend a{
	color:#59493f;
}
.sitemap-box-b .intend a{
	color:#59493f;
}
sitemap-box-a .intend a:hover{
	color:#776a62;
}
sitemap-box-b .intend a:hover{
	color:#776a62;
}
.sitemap-box-a dd a {
	color:#7e6b5a;
}
.sitemap-box-a dd a:hover {
	color:#b9afa6;
}
.sitemap-box-a dt a {
	font-weight:bold;
	color:#7e6b5a;
}
.sitemap-box-b dt a {
	font-weight:bold;
	color:#7e6b5a;
}
.sitemap-box-b dd a {
	color:#7e6b5a;
}
.sitemap-box-b dd a:hover {
	color:#b9afa6;
}
#profile{
	width:100%;
}

#profile .td-left{
	width:134px;
	padding:0 5px 5px 5px;
}
#profile-e{
	width:100%;
}

#profile-e td{
	vertical-align:top;
}
profile-e .td-left{
	width:134px;
	padding:0 5px 5px 5px;
}


#privacy-dl{
	width:100%;
}
#privacy-dl dt{
	width:100%;
	font-weight:bold;
}
#privacy-dl dd{
	line-height:150%;
	margin:0 0 15px 0;
	padding:0 20px;
}
.font-small{
	font-size:0.9em;
	color:#626262;
}
#vmd-jirei{
	padding:30px 20px 20px 20px;
	font-size:1.5em;
}
#voice-parts{
	padding:30px 20px 20px 20px;
	font-size:1.5em;
	text-decoration:underline;
}
#voice-btn{
	margin:15px 0 15px 0;
	list-style-type:none;
}
#voice-btn li{
	padding:5px 0;
}
#consul-model{
	margin:0 0 0 45px;
	paddin:0px;
	list-style-type:none;
}
#consul-model li{
	padding:5px 0;
}
#consul-model img{
	margin:0 0 0 3px;
}
#research dt{
	font-weight:bold;
	padding-top:10px;
}
#research img{
	padding:3px 0px 0px 3px;
}

#fanction-img{
	position: absolute;
	z-index:1;
	top: 500px;
	left: 242px;
	width: 457px;
	height: 543px;
	text-align:center;
}
/* =====================================
# ページ個別背景
======================================== */
#mission-title {
	background: url(../mission/img/mission-message.jpg) no-repeat;
	background-color:#ffffff;
}
#mission- {
	background: url(../mission/img/mission-title.jpg) no-repeat;
	background-color:#ffffff;
}
#service-title {
	background: url(../service/img/service_back.jpg) no-repeat;
	background-color:#ffffff;
}
#about-title {
	background: url(../about/img/about_back.jpg) no-repeat;
	background-color:#ffffff;
}
#president-title {
	background: url(../about/img/president_back.jpg) no-repeat;
	background-color:#ffffff;
}
#career-title {
	background: url(../careers/img/career_back.jpg) no-repeat;
	background-color:#ffffff;
}
#career-title-line {
	background: url(../careers/img/career_back_line.jpg) no-repeat;
	background-color:#ffffff;
}
#tb-history{
	width:auto;
}
#tb-history .his-td{

}
.red{
	color:#92bb38;
}
.topmargin{
	margin-top:30px;
}
.ca-btn{
	margin-top:10px;
	text-align:right;
}
/* =====================================
# 枠組み
======================================== */
#background {
	background: url(../img/back.gif) repeat-x  -10px 0 #ffffff;
}
#background-pop{
	background-color:#ffffff;
}
#mainframe {
	width: 744px;
	text-align: left;
	background: #ffffff;
}
#header {
	width: 744px;
	height: 68px;
	background: url(../img/back_dot.gif);
}
#header #logo-fla{
	float:left;
	width:57px;
	heihgt:68px;
	margin:0 0 0 6px;
	padding:0;
}
#logo {
	float: left;
	margin: 0;
	padding: 0;
}
#header-navi {
	list-style-type: none;
	float: left;
	padding: 0 0 0 254px;
	height: 68px;
	margin: 0 5px 0 0;
}
#header-navi li {
	float: left;
	padding: 28px 0 0 25px;
	margin: 0;
}
#global-navi-area {
	width: 744px;
	height: 25px;
	background: url(../img/gn_back.gif) no-repeat;
	clear: both;
}
#global-navi {
	list-style-type: none;
	width: 561px;
	height: 25px;
	margin: 0 0 0 179px;
	padding: 0;
	font-size: 0;
}
#global-navi li {
	float: left;
	margin: 0;
	padding: 0;
	height: 25px;
}
#container {
	width: 744px;
	background: url(../img/container_back.gif) no-repeat;
	padding: 0 0 30px 0;
}
#container-pop {
	width: 744px;
	background-color:#ffffff;
	padding: 0 0 30px 0;
}
#contents {
	width: 566px;
	min-height:500px;
	_height:500px;
	float: right;
}
#pan {
	list-style-type: none;
	margin: 0;
	padding: 20px 0 15px 0;
	height: 16px;
	width: 564px;
}
#pan li {
	display: inline;
	padding: 0;
	margin: 0;
	font-size: 11px;
	line-height: 14px ! important;
}
#pan li.current {
	font-weight: bold;
}
#main {
	width: 564px;
	min-height:585px;
	_height:585px;
	clear: left;
}
#sidebar {
	width: 167px;
	float: left;
}
#sidebar-space {
	width: 148px;
	margin-left: 19px;
	background: url(../img/sn_bottom.gif) no-repeat right bottom;
	padding: 0 0 17px 0;
}
#sidebar h3 {
	margin: 0;
}
#side-navi {
	list-style-type: none;
	margin: 0;
	padding: 15px 0 0 0;
	background: url(../img/sn_top.gif) no-repeat;
}
#side-navi li {
	font-size: 0;
	line-height: 0;
}
#side-navi .loc{
	text-align:right;
}
#side-navi .loc-os{
	text-align:right;
	margin-top:-1px;
}
#side-navi .vmd-sub{
	margin-top:1px;
	text-align:right;
}
#footer {
	width: 744px;
	width: 100%;
	background: #2b2b2b;
}
#footer address {
	width: 734px;
	text-align: right;
	font-size: 11px;
	color: #7a7a7a;
	font-style: normal;
	padding: 10px;
}
#footer a {
	color: #7a7a7a;
	text-decoration: none;
}



/* =====================================
# トップページ
======================================== */
#top-body {
	background: url(../img/back_black.gif) no-repeat #ffffff;
}
#top-background {
	background: url(../img/top_back.gif) repeat-x #ffffff;
}
#top-header {
	width: 744px;
	height: 68px;
	background: url(../img/top_hn_back.gif) no-repeat;
}
#top-header #logo-fla-top{
	float:left;
	width:57px;
	heihgt:68px;
	margin:0 0 0 6px;
	padding:0;
}

#top-header-navi {
	list-style-type: none;
	float: left;
	text-align: right;
	padding: 0 5px 0 444px;
	height: 68px;
	margin: 0;
}
#top-header-navi li {
	float: left;
	padding: 28px 0 0 25px;
	margin: 0;
}
#top-fla{
	width: 744px;
	height:240px;
	border-top:1px solid #d7d7d7;
	margin: 0;
	padding: 0;	
}
#top-navi {
	list-style-type: none;
	width: 744px;
	margin: 0;
	padding: 0;
}
#top-navi li {
	margin: 0;
	padding: 0;
	font-size: 0;
	line-height: 0;
}
#top-topics {
	text-align: right;
	margin: 0;
	padding-right: 10px;
}
#keep-topics-height {
	height: 192px;
	width: 712px;
	background: url(../img/top_topics_bg.gif) no-repeat left top;
}

#topics-view {
	width: 711px;
	height: 191px;
	width: 0;
	height: 0;
	position: relative;
	z-index: 5;
	top: 191px;
	left: 711px;
	margin: 0 0 0 22px;
	border-right: 1px solid #999999;
	border-top: 1px solid #999999;
	display: none;
}
#topics-close {
	position: absolute;
	width: 16px;
	height: 16px;
	top: 0;
	left: 671px;
	display: none;
}
#topics-ttl {
	padding: 15px 0 0 0;
	margin: 0;
	display: none;
}
#topics-area {
	scrollbar-3dlight-color: #d1d1d1;
	scrollbar-arrow-color: #fefefe;
	scrollbar-darkshadow-color: #d1d1d1;
	scrollbar-face-color: #d1d1d1;
	scrollbar-highlight-color: #d1d1d1;
	scrollbar-shadow-color: #d1d1d1;
	scrollbar-track-color: #e7e7e7;
	width: 688px;
	height: 145px;
	overflow: scroll;
	overflow-x: hidden;
	overflow-y: scroll;
	font-size: 9px;
	position: relative;
/*	top: 100px;
	left: 700px;*/
/*	visibility: hidden;*/
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	display: none;
}
#topics-area a {
}
#topics-table {
	margin: 12px 0 0 0;
	width: 650px;
	color: #333333;
	display: none;
}
#topics-table th {
	vertical-align: top;
	background: url(../img/topics_dotline2.gif) no-repeat right bottom;
	padding: 0px 4px 4px 4px;
	width: 82px;
	font-weight: normal;
	border-top: 5px solid #ffffff;
}
#topics-table td {
	vertical-align: top;
	background: url(../img/topics_dotline.gif) repeat-x left bottom;
	padding: 0px 4px 4px 15px;
	width: 593px;
	border-top: 5px solid #ffffff;
}
#topics-table th .topics-type {
	background: #ababab;
	color: #ffffff;
	text-align: center;
	white-space: nowrap;
	font-weight: bold;
	margin-top: 2px;
}
#topics-table th .topics-date {
	text-align: right;
}
