@charset "utf-8";


/* footer position --------------------------------  */

/* scroll bar */
html{overflow-y:scroll;}

/* footer fixed bottom */
html{ height:100%;}
body{ height:100%;}

/* footer inside container */
/*
* html #container{height:100%;}
div#container{position:relative;min-height: 100%;}
body > #container {height: auto;}
div#main{padding-bottom:30px;}
#footer{position:absolute;bottom:0px;height:30px;}
*/

/* footer inside containerWrap */
* html #containerWrap{height:100%;}
div#containerWrap{position:relative;min-height: 100%;}
body > #containerWrap {height: auto;}
div#container{padding-bottom:360px;}
#footer{position:absolute;bottom:0px;height: 310px;background: url(../img/footer_bg.gif) repeat-x;width: 100%;}
#footerInner { height: 310px;}


/* frame layout  ----------------------------------  */

body {
	background: url(../img/body_bg.gif) repeat-x #fff;
}

body#home #containerWrap { background: url(../img/body_bg_home.jpg) no-repeat center 140px;}
#containerWrap { background: url(../img/body_bg_sub.jpg) no-repeat center 133px;}

#container {
	width: 990px;
	margin: 0 auto;
}

#header {
	height: 133px;
	position: relative;
	margin: 0 0 16px;
}

#mainVisual {
	height: 266px;
}

#main {
	width: 750px;
	float: right;
}

#sidebar {
	width: 202px;
	float: left;
}

#footerInner {
	width: 990px;
	margin: 0 auto;
	position: relative;
}

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

#header img { display: block;}

#header #logo {
	position: absolute;
	left: 0px;
	top: 18px;
}

#headerTel {
	position: absolute;
	left: 435px;
	top: 38px;
}

#headerPlace {
	position: absolute;
	right: 0px;
	top: 13px;
}

#headerContact {
	position: absolute;
	right: 0px;
	top: 33px;
}

#gNavi {
	position: absolute;
	left: 0px;
	bottom: 1px;
}

/* mainvisual  --------------------------------------  */

#mainVisual {
	margin: 0 0 26px 39px;
	background: url(../img/mainvisual_bg.png) no-repeat;
	position: relative;
}

#mainVisual img {
	position: absolute;
	top: 32px;
	left : 62px;
}

/* maintitle  --------------------------------------  */

#mainTitle {
	margin: 0 0 10px 39px;
}


/* main common class  -------------------------------  */

#pankuzu {
	font-size: 12px;
	margin: 0 0 10px;
}

.cw{
	padding:20px 40px;
}

.cw li a{
	color:#444;
	text-decoration:underline;
}

.cw li a:hover{
	color:#444;
	font-weight:bold;
	text-decoration:underline;
}

.cw ol li{
	width:210px;
	font-size:90%;
	list-style-type:upper-roman;
}

.cw ul li{
	width:190px;
	font-size:90%;
	list-style-type:none;
}

.mainBox01{

	background:url(../../image/main_frame01_02.jpg) #ffffff top left repeat-y;
	padding:10px 10px;

}

.mainBox02{

	background:url(../../image/main_frame02_02.jpg) #ffffff top left repeat-y;
	padding:0px 5px;

}

.mainBox03{

	background:url(../../image/main_frame01_02.jpg) #ffffff top left repeat-y;
	padding:10px 15px;

}

.mainBox04{

	padding:10px 15px;

}

.contentBox {
    margin-bottom: 20px;
}

.left_float{
	float:left;
}
.right_float{
	float:right;
}

.clear{
clear:both;
font-size:0px;
height:1px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50{

	margin-bottom:50px;

}

.mt10{

	margin-top:10px;

}


/* sidebar  -----------------------------------------  */

#sidebar .widget { margin: 0 0 20px;}

#sideBanner img { display: block;}
#sideBanner li { margin: 0 0 10px;}

#sideNavi {
	border: 3px solid #ccc;
	padding: 1px;
	margin:  0 0 20px;
	line-height: 1.2;
}

#sideNavi h2 {
	color: #CCFFFF;
	font-size: 15px;
	font-weight: bold;
	padding: 11px 0 0px 12px;
	background: url(../img/l_navi_title1_bg.jpg) no-repeat;
	min-height: 28px;
	margin: 0 0 2px;
}

#sideNavi h3 {
	background: url(../img/l_navi_title2_bg.jpg) no-repeat;
	padding: 5px 0 0px 19px;
	min-height: 20px;
	color: #122A87;
	font-weight: bold;
}

#sideNavi li {
	border-top: 1px dotted #a6a6a6;
	font-size: 12px;
	padding: 8px 10px;
}

#sideNavi li a {
	background: url(../img/icon_link1.png) no-repeat left center;
	padding: 0 0 0 18px;
	text-decoration: none;
}


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

#footer {
	font-size: 12px;
}

#footerLogo {
	position: absolute;
	left: 0;
	top: 21px;
}

#footerMap {
	position: absolute;
	left: 283px;
	top: 21px;
	width: 432px;
	line-height: 1.3;
}

#footerMap img { display: block;margin: 0 0 8px;}

#footerMap .tel { 
	display: inline-block;
	font-size: 18px;font-weight: bold;
	padding: 2px 0 0 24px;
	background: url(../img/footer_tel_icon.gif) no-repeat left center;
}

#footerNavi {
	position: absolute;
	right: 18px;
	top: 21px;
}

#footerNavi li {margin: 0 0 6px;}

#footerNavi a {
	background: url(../img/icon_link1.png) no-repeat left center;
	padding: 0 0 0 18px;
	text-decoration: none;
}

#pagetop {
	position: absolute;
	right: 0;
	top: -28px;
}

#pagetop img { display: block;}

#copyright {
	position: absolute;
	right: 0;
	bottom: 6px;
	color: #fff;
	font-size: 10px;
}



/* top  ---------------------------------------------  */

#topIntro img {
	display: block;
	float: left;
}

#mainContact {
	height: 107px;
	position: relative;
	background: url(../img/main_contact_bg.png) no-repeat;
	margin: 0 0 20px;
}

#mainContact img { display: block;}
#mcText1 {position: absolute;left: 12px;top: 10px;}
#mcText2 {position: absolute;left: 12px;top: 34px;}
#mcText3 {position: absolute;left: 12px;top: 68px;}
#mcTel {position: absolute;left: 323px;top: 27px;}
#mcText4 {position: absolute;left: 323px;top: 77px;}
#mcBtn {position: absolute;left: 582px;top: 27px;}

#topQA h2 { margin: 0 0 6px;}

#topCase { padding: 0 0 20px;}

#topCase #caseTitle { margin: 0 0 20px;}

#topCase .caseCont {
	background: url(../img/top_case_bg.gif) no-repeat;
	margin: 0 0 14px;
}

#topCase .caseCont .inner {
	padding: 8px 20px 10px 80px;
	background: url(../img/top_case_bg_bottom.gif) no-repeat bottom;
	position: relative;
}

#topCase .caseCont h3 { margin: 0 0 10px;}

#main #topCase .caseCont p {
	padding: 0 0 0 25px;
	margin: 0 0 4px;
}

#topCase .caseCont .illust {
	position: absolute;
	left: 18px;
	top: 40px;
}

#topKnowledge {margin: 0 0 40px;}
#main #topKnowledge ul {margin: 0;}

#topNews {
	background: url(../img/top_news_bg.gif) repeat-y;
	position: relative;
}

#main #topNews h2 { margin: 0;}

#topNews .inner {
	background: url(../img/top_news_bg_bottom.gif) no-repeat bottom;
	padding: 10px 18px 8px;
}

#topNews #topNewsBtn {
	position: absolute;
	right: 8px;
	top: 8px;
}

#topNews dl { margin: 0 0 6px;}
#topNews dt { width: 120px;float: left;margin-right: 10px;}
#topNews dd { width: 580px; float: left;}

#topNews dd a { background: url(../img/icon_link1.png) no-repeat left center;padding: 0 0 0 18px;}


