@charset "utf-8";

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
}

:focus {
	outline: 0;
}
body {
	color: black;
	background: white;
	font-family:"メイリオ","Meiryo",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	font-size:78%;
}
ol, ul {
	list-style: none;
}

img{
	vertical-align:bottom;
}

table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}

/********** 汎用
****************************************/

.center{
	text-align:center;
}

.right{
	text-align:right;
}

.fl{
	float:left;
	margin:0 10px 0 0;
}

.fr{
	float:right;
	margin:0 0 0 10px;
}


.clmn_01{
	background:url(../images/cmn_long_mdl.gif) 0 0 repeat-y;
	margin-bottom:15px;
	height:1%;
}

.clmn_01 .in{
	background:url(../images/cmn_long_btm.gif) left bottom no-repeat;
	overflow:hidden;
	padding:0 20px 15px 20px;
	height:1%;

}

.clmn_01 h2{
	margin-left:-20px;
	margin-right:-20px;
	margin-bottom:15px;
}

.clmn_01 h3{
	margin-top:25px;
	margin-bottom:15px;
}


.clmn_02{
	background:url(../images/cmn_long_mdl.gif) 0 0 repeat-y;
	margin-bottom:15px;
	height:1%;
}

.clmn_02 .in{
	background:url(../images/cmn_long_btm.gif) left bottom no-repeat;
	height:1%;
}


.clmn_02 .in_in{
	background:url(../images/cmn_long_top.gif) left top no-repeat;
	overflow:hidden;
	padding:15px 20px 15px 20px;
	height:1%;
	position:relative;
}

.big_h{
	position:relative;
}

.big_h p{
	margin-right:340px;
}


.big_h h2{
	position:absolute;
	left:470px;
	top:50%;
	margin-top:-45px;
}

h1{
	margin-bottom:15px;
}

.table_01{
	border-top:#cbcbcb 1px solid;
	border-left:#cbcbcb 1px solid;
	width:715px;
	margin:0 auto;
}

.table_01 th,.table_01 td{
	border-bottom:#cbcbcb 1px solid;
	border-right:#cbcbcb 1px solid;
	padding:5px 10px;
}

.table_01 th{
	background-color:#f7f7f7;
	width:210px;
	text-align:center;
}

.table_01 td{

}


.table_02{
	border-top:#cbcbcb 1px solid;
	border-left:#cbcbcb 1px solid;
	width:715px;
	margin:0 auto;
}

.table_02 td{
	border-bottom:#cbcbcb 1px solid;
	border-right:#cbcbcb 1px solid;
	padding:5px 10px;
	width:33%;
	text-align:center;
}

.table_02 td.g{
	background-color:#f7f7f7;
}


.three_clumn{
	background:url(../images/cmn_dline.gif) 235px 0 repeat-y;
	overflow:hidden;
	_height:1%;
	margin-right:-40px;
	width:766px;
}

.three_clumn dl{
	width:255px;
	float:left;
	display:inline;
	margin-right:0;
	margin-bottom:10px;
}

.three_clumn dl dt{
	margin-bottom:15px;

.three_clumn dl dd{}

	width:220px;
}


dl.case{

}

dl.case dt{
	background:url(../images/cmn_dot.gif) 0 0 repeat-x;
	margin-bottom:10px;
	padding-top:20px;
}

dl.case dd{
	background:url(../images/cmn_gra.gif) 0 0 repeat-x;
	margin-bottom:10px;
	padding:10px 10px 0 10px;
}


/********** 全体
****************************************/

body{
	background:#f6f6f6 url(../images/cmn_bg.gif) center top repeat-y;
	line-height:150%;
}

#wrapper{
	width:800px;
	margin:0 auto;
	background-color:#fff;
}

.page_top #header{
	height:381px;
	background:url(../images/top_hdr_bg.jpg) 0 0 no-repeat;
	position:relative;
}

#header{
	height:411px;
	background:url(../images/cmn_hdr_bg.jpg) 0 0 no-repeat;
	position:relative;
	z-index:2;
}

#header #h_logo dt{
	position:absolute;
	top:41px;
	left:45px;

}

#header #h_logo dd{
	position:absolute;
	top:70px;
	left:215px;
}

#header #h_contact dt.tel{
	position:absolute;
	top:15px;
	right:237px;
}


#header #h_contact dd.tel{
	position:absolute;
	top:15px;
	right:71px;
}


#header #h_contact dt.mail{
	position:absolute;
	top:45px;
	right:237px;
}


#header #h_contact dd.mail{
	position:absolute;
	top:45px;
	left:569px;
}

#header #h_nav{
	position:absolute;
	top:71px;
	right:16px;
	width:271px;
	height:34px;
}

#header #h_nav li{
	float:left;
	margin-right:3px;
	display:inline;
}


#header #g_nav{
	position:absolute;
	top:320px;
	left:86px;
	width:631px;
	height:54px;
	overflow:visible;
	z-index:1;
}

#header #g_nav dt{
	float:left;
}

#header #g_nav dt a{
	display:block;
}

#header #g_nav dd{
	display:none;

}

#header #g_nav dd{
	width:150px;
	position:absolute;
	top:50px;
	padding:0;
	overflow:hidden;

}

#header #g_nav dd.nav01{
	left:5px;
}

#header #g_nav dd.nav02{
	left:160px;
}

#header #g_nav dd.nav03{
	left:317px;
}

#header #g_nav dd.nav04{
	left:475px;
}



#header #g_nav ul{
	border:#afaeae 1px solid;
	border-bottom:none;
	position:relative;
	height:1%;
}

#header #g_nav ul li{
	float:none;
	background-color:#fff;
	border-bottom:#afaeae 1px solid;
	position:relative;
	height:1%;
}

#header #g_nav ul li a{
	display:block;
	color:#000;
	text-decoration:none;
	padding:5px;
	position:relative;
	height:1%;


}

#header #g_nav ul li a:hover{
	background-color:#fbf0ea;
}

#header #h_catch{
	position:absolute;
	top:184px;
	left:58px
}

#header .mail a{
	color:#fff;
	text-decoration:underline;
}

#contents{
	width:766px;
	margin:15px auto 0 auto;
	z-index:0;
}


#bread{
	position:absolute;
	top:395px;
	left:20px;
	z-index:0;
}

#footer ul{
	background:url(../images/cmn_ftr_bg.gif) 0 0 no-repeat;
	text-align:center;
	padding-top:7px;
	height:24px;
}

#footer ul li{
	display:inline;
	margin:0 2px;
}

#footer ul li a{
	background:url(../images/cmn_arw.gif) left center no-repeat;
	padding-left:17px;
	vertical-align:bottom;
}

a{
	color:#a40000;
	text-decoration:none;
}

a:hover{
	color:#333333;
}


#footer p{
	text-align:center;
	padding:5px 0 15px 0;
}


#header strong{
	font-size:83%;
	font-weight:normal;
	color:#333;
	position:absolute;
	top:12px;
	left:45px;
}

#footer strong{
	font-size:83%;
	font-weight:normal;
	color:#333;
	text-align:center;
	display:block;
	margin-top:10px;
	margin-bottom:0;
}



/********** トップ
****************************************/

.page_top #contents #top_bn{
	width:778px;
	margin-right:-12px;
	margin-bottom:13px;
}

.page_top #contents #top_bn:after{
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}


.page_top #contents #top_bn li{
	float:left;
	margin-right:12px;
}

.page_top #contents .top_ser_rec{
	overflow:hidden;
	_height:1%;
	margin-bottom:10px;
}

.page_top #contents #top_banner{
	width:759px;
	padding-left:3px;
	padding-bottom:15px;
}

.page_top #contents .top_ser_rec .top_service,.page_top #contents .top_recruit{
	width:377px;
	background:url(../images/cmn_short_mdl.jpg) 0 0 repeat-y;
}


.page_top #contents .top_service{
	float:left;
}

.page_top #contents .top_recruit{
	float:right;

}

.page_top #contents .top_service .in{
	background:url(../images/top_pic_02.jpg) 213px 39px no-repeat;
	height:310px;
	position:relative;
	overflow:hidden;
}

.page_top #contents .top_recruit .in{
	background:url(../images/top_pic_03.jpg) 176px 39px no-repeat;
	height:238px;
	position:relative;
	overflow:hidden;
}

.page_top #contents .top_service h2,.page_top #contents .top_recruit h2{
	margin:0 0 10px 0;
}

.page_top #contents .top_service p,.page_top #contents .top_recruit p{
	margin:0 150px 10px 20px;
}

.page_top #contents .top_service ul,.page_top #contents .top_recruit ul{
	overflow:hidden;
	padding:0 0 15px 19px;
	width:358px;
	background:url(../images/cmn_short_btm.jpg) left bottom no-repeat;
	position:absolute;
	bottom:0;
}

.page_top #contents .top_service ul li,.page_top #contents .top_recruit ul li{
	float:left;
	margin-right:2px;
}

.page_top #contents .top_info{
	position:relative;
}

.page_top #contents .top_info dt{
	position:absolute;
	left:0;
}

.page_top #contents .top_info dd{
	padding-left:130px;
	margin-bottom:5px;
}

.page_top #contents .top_info dd.godetail{
	text-align:right;
	padding-bottom:10px;
	margin-bottom:10px;
	background:url(../images/cmn_dot.gif) left bottom repeat-x;
}

.page_top #contents .top_info dd.godetail a{
	background:url(../images/cmn_arw.gif) 0 center no-repeat;
	padding-left:20px;
	text-decoration:underline;
}

.page_top #contents .top_info dd.last{
	background:none;
	padding-bottom:0;
}

/********** ポリシー
****************************************/


.page_policy #contents .policy_f{
	background:url(../images/cmn_dot_gra.gif) left bottom repeat-x;
	padding:10px 0;
	margin-bottom:10px;
	position:relative;
	_height:1%;
}

.page_policy #contents .policy_f dd{
	margin-left:240px;
}

.page_policy #contents .policy_f dt{
	position:absolute;
	top:50%;
	left:0;
	margin-top:-25px;
}




.info_news{
	position:relative;
}

.info_news dt{
	position:absolute;
	left:0;
}

.info_news dd{
	padding-left:130px;
	margin-bottom:5px;
}

.info_news dd.info_arw{
	text-align:right;
	background:url(../images/cmn_dot_gra.gif) left bottom repeat-x;
	padding-left:130px;
	padding-bottom:15px;
	margin-bottom:15px;
}

.info_news dd.info_arw a{
	background:url(../images/cmn_arw.gif) 0 center no-repeat;
	padding-left:20px;
	text-decoration:underline;
}

.info_news dd.info_line{
	background:url(../images/cmn_dot_gra.gif) left bottom repeat-x;
	padding-left:130px;
	padding-bottom:15px;
	margin-bottom:15px;
}

/********** サイトマップ
****************************************/

.page_sitemap .sitemap{
	padding-left:50px;

}

.page_sitemap .sitemap dl{
	float:left;
	width:160px;
	margin-right:12px;
	display:inline;
}

.page_sitemap .sitemap dt{
	margin-bottom:10px;
}

.page_sitemap .sitemap dd{
	margin-left:5px;
	margin-bottom:5px;
}





/********** form
****************************************/


span.must{
	color:#a40000;
}

span.txt{
	margin:0 5px;
}

input.long{
	width:310px;
}


input.mdl{
	width:216px;
}

textarea{
	width:310px;
	height:100px;
}

.btn_submit{
	text-align:center;
	margin:15px 0;
}

.btn_submit img,.btn_submit input{
	vertical-align:top;
}

.confirm_must{
	color:#ff0000;
}