/**
 * basic
 */
body{
  font-family: 'Lucida Grande', Verdana, Arial,'Hiragino Kaku Gothic Pro', sans-serif;
  *font-family: Verdana, メイリオ, Meiryo, 'ＭＳ ゴシック', sans-serif;
  font-size:80%;
  line-height: 1;
  background:url(../images/background_line.gif) repeat-y center top;
}

a img,
:link img,
:visited img {
  border: none;
}

img.icon{
  margin-left:0.5em;
  }

a {text-decoration: none; outline:0;}
a:link {color: #0192b5; outline:0;}
a:visited {color: #0192b5; outline:0;}
a:active {color: #0192b5; outline:0;}
a:hover {
  color: #0192b5;
  text-decoration:underline;
  outline:0;
}

html{
  background:url(../images/background.jpg) repeat-x #bdbdbd;
}

#wrapper{
  width:970px;
  margin:0 auto;
}

#container{
  padding:20px 10px;
  background:url(../images/background_containner.png) repeat-y center top;
  float:left;
}

#contents_main{
   width:910px;
   position:relative;
   float:left;
   padding:0 20px;
}

#main{
	float:left;
	width: 610px;
	margin:0 20px 0 0;
  }
  
#main.home{
	width: 570px;
	margin:0 20px 0 0;
  }

#sub{
	float:left;
	width: 320px;
  }
  
/**
 * Rollover
 */
 a:hover{
  /* IE */
  filter: alpha(opacity=80);
  /* Safari Opera */
  opacity:0.80;
  /* Firefox Netscape */
  -moz-opacity:0.80;
}

ul#global_navi li a:hover{
  /* IE */
  background-color:#FDD23C;
  filter: alpha(opacity=80);
  /* Safari Opera */
  opacity:0.80;
  /* Firefox Netscape */
  -moz-opacity:0.80;
}


/**
 * Common
*/
p.link a{
  background:url(../images/arrow_01.gif) no-repeat center left;
  /*padding-left:20px;*/
}

p.link{
  margin:0.3em 0 !important;
}

p.more_watch{
  clear: both;
  margin:0.5em 20px 0 0;
  font-size:85%;
  text-align:right;
}

p.lead{
  line-height: 1.6;
}

.caution{
  font-size:85%;
  color:#666666;
  line-height:1.3;
  letter-spacing:0.01em;
  margin:1em 0 0 0;
  font-weight: normal;
}

span.caution{
    margin-left:1em;
}

strong.red{
  color:#FF0000;
}

.small{
  font-size:85%;
  font-weight:normal;
}
  
span.project{
   color:#FFF;
   background-color:#BBB;
   padding:2px 5px;
   font-size:10px;
  }

/**
 * header
 */
 #header{
	width:950px;
	position:relative;
	margin:0px auto -5px auto;
	border-bottom:double 5px #666;
	padding:40px 0 15px 0;
  }
  
ul#global_navi{
	position:absolute;
	top:53px;
	right:0;
}

ul#global_navi li{
  float:left;
  display:block;
  margin-right:8px;
  padding-left:15px;
  border-left:solid 1px #000;
  line-height:1px;
  list-style:none;
  height:11px;
  }

ul#global_navi li.first{
  border:none;
  }
  
ul.lang{
	position:absolute;
	top:-5px;
	right:0;
	margin:0;
}

ul.lang li{
  font-size:85%;
  float:left;
  display:block;
  margin-left:5px;
  list-style:none;
  padding:2px 5px;
  }
  
ul.lang li.active{
  background-color:#000;
  color: #FFF;
}

ul.lang li a {text-decoration: none; outline:0;}
ul.lang li a:link {color: #000; outline:0;}
ul.lang li a:visited {color: #000; outline:0;}
ul.lang li a:active {color: #000; outline:0;}
ul.lang li a:hover {
  color: #000;
  text-decoration:underline;
  outline:0;
}

#head_parts{
 position:absolute;
 right:0;
 bottom:0;
 }
   
/**
 * common_table
*/
table.entry{
  margin:0 0 10px 0;
  border-collapse: separate;
  width: 100%;
  background-color:#E6E6E6;
  padding: 10px;
}
  
table.entry th,
table.entry td{
  padding:5px;
  }
  
table.entry th{
	text-align: left;
	line-height:1.2;
  }

/**
 * caution
 */
.caution_box{
  clear:both;
  margin:1em 0 0 0;
  padding:10px;
  line-height:1.4;
  background:url(../images/back_line_04.png);
}

.caution_box p.ttl{
  background:url(../images/icns/error.png) no-repeat center left;
  padding-left:20px;
  font-weight:bold;
  margin:0;
}

.caution_box
.caution_box ul{
  margin:0 1em;}

/**
 * button
 */
div.btn{
  text-align: center;
  clear:both;
  margin:1em 0;
  }

/**
 * Footer
 */
#footer{
	width:950px;
	margin:0px auto 0 auto;
	clear:both;
	padding:20px 0;
	border-top:solid 1px #000;
}

#footer ul.sub_navi{
  margin:0;
  }

#footer ul.sub_navi li{
  list-style: none;
  display: block;
  float:left;
  margin-left:0.5em;
  padding-left:1em;
  border-left:solid 1px #333;
  line-height:1;
  font-size:85%;
  }
 
#footer ul.sub_navi li.first{
  border-left: none;
  }
  
#footer ul.sub_navi li a {text-decoration: none; outline:0;}
#footer ul.sub_navi li a:link {color: #333; outline:0;}
#footer ul.sub_navi li a:visited {color: #333; outline:0;}
#footer ul.sub_navi li a:active {color: #333; outline:0;}
#footer ul.sub_navi li a:hover {
  color: #333;
  text-decoration:underline;
  outline:0;
}

#footer p.copy{
  clear:both;
  text-align:right;
  font-size:85%;
  }

/**
 * home
 */
#main .slideshow{
	height:330px;
	width:610px;
	overflow: hidden;
  }

#main .slideshow img{
  height:330px;
  width:610px;
  }
  
h1{
  display: none;
}  

#home_main h2{
  clear:both;
  margin:20px 0 10px 0;
}

#home_main h2 img{
	background-color: #000;
	padding: 5px 150px 5px 10px;
}

#home_main ul{
  margin:0 10px;
}

#home_main ul.box_service li{
	list-style: none;
	float: left;
	width:274px;
	margin:0 10px 10px 10px;
	border-right:dotted 1px #000;
	border-bottom:dotted 1px #000;
}

#home_main ul.box_service li img{
  width:120px;
  }

#home_main ul.box_service li h3{
  margin:10px 10px 10px -1px;
  border-left:solid 4px #000;
  padding: 0 0 0  8px;
  font-size:120%;
  line-height:1.2;
  }

#home_main ul.box_service li img.image{
  float:right;
  margin:10px;
  /*border:solid 1px #000;*/
  }
 
#home_main ul.box_service li p{
  margin:10px;
  line-height:1.5;
  font-size:90%;
  }
  
 #home_main ul.box_news li{
	list-style:none;
	background-color: #EEE;
	width:180px;
	margin:8px;
	font-size:85%;
	float:left;
   }
 
#home_main ul.box_news li p{
  line-height:1.5;
  margin:10px;
  font-size:90%;
  }

#home_main ul.box_news li .photo{
  float:right;
  margin:28px 10px 10px 10px;
  }
  
#home_main ul.box_news li .photo div
{
 	width:80px;
	height:80px;
	border:solid 1px #DDD;
	background-color:#FFF;
	text-align:center;
	display:table-cell;
	vertical-align:middle;
 }
 
#sub ul.twitter{
  margin:0;
  padding:0;
}

#sub ul.twitter li{
  background-color:#000;
  list-style:none;
  padding:10px;
  margin:0;
  border-bottom:solid 1px #666;
  color: #FFF;
  }

#sub ul.twitter li img.photo{
  float:left;
  margin:0 10px 0 0;
  }

#sub ul.twitter li p.name{
  margin:0;
  line-height:1;
  }

#sub ul.twitter li p.text{
  margin:0.5em 0;
  line-height:1;
  }

#sub ul.twitter li p.date{
  margin:0;
  color:#CCC;
  font-size:85%;
  line-height:1;
  }

#sub ul.tools
{
  margin:0;
}

#sub ul.tools li
{
  list-style: none;
  display: inline;
  padding:5px 7px;

}

#sub ul.tools li img
{
  vertical-align: middle;
  /*height: 30px;*/
}


#home_main ul.box_service li p.more,
#home_main ul.box_news li p.more{
  display:none;
  }

.hovering {
	cursor:pointer;
	    /* IE */
    filter: alpha(opacity=60);
	background:url(../images/back_home_list.png) no-repeat;
    /* Safari Opera */
    opacity:0.60;
    /* Firefox Netscape */
    -moz-opacity:0.60;
}


/**
 * contents
 */
 #contents_head{
   position:relative;
   width:910px;
 }
 
#contents_main  #contents_head h2{
   font-size:100%;
   margin-bottom:20px;
   width:80px;
   height:80px;
   color: #FFF;
   background-color:#000;
   padding:10px;
   line-height:1.2;
   position:relative;
   text-align:right;
   }
   
 #contents_main  #contents_head h2 span{
   position:absolute;
   right:10px;
   bottom:10px;
   }
   
#contents_main  #contents_head p.lead{
  position:absolute;
  left:110px;
  bottom: 0px;
  * bottom: 1.5em;
  margin:0;
}

 dl.data{
   margin-bottom:2.5em;
   clear:both;
   }
 
dl.data dt{
	float:left;
	width:120px;
	clear:both;
	line-height:1.5;
	margin:0 0 0.5em 0;
  }

dl.data dd{
	float:left;
	line-height:1.8;
	margin:0 0 0.5em 0;
	width:790px;
  }
  
dl.data dd img.photo{
  float:left;
  margin-right:10px;
  border:solid 1px #DDD;
  padding: 1px;
  width:70px
  }
  
dl.data dd p.data{
  margin:0.5em 0 0 110px;
  font-size:80%;
  }

#contents_main.service dl dt{
  clear:both;
  background-color:#000;
  padding:5px 10px;
  margin-bottom:10px;
  color: #FFF;
  font-size:85%;
  clear:both;
  }
#contents_main.service dl dd img.logo{
  float:left;
  margin:0 10px 20px 0;
  }
  
#contents_main.service dl dd{
  padding:0 0 20px 0;
  line-height:1.6;
  }
  
#contents_main.service dl dd h3{
   font-size:120%;
   margin:0.5em 0;
   }
   
#contents_main.service dl dd h3 span.project{
   color:#FFF;
   background-color:#BBB;
   padding:3px 7px;
   font-weight: normal;
   font-size:75%;
   margin:0 0.5em 0 0;
   vertical-align: middle;
  }
  
#contents_main.service dl dd p.image{
   margin:1.5em 0;
   text-align:center;
   }
   
#contents_main.service dl dd p.image img{
    border:solid 1px #DDD;
	}
 
#contents_main.recruit h3{
  clear: both;
  font-size:110%;
  margin:0 0 1em 0;
  padding-left:10px;
  border-left:double 5px #000;
  }
  
#contents_main.contact  table.form{
  border-collapse:collapse;
  }

#contents_main.contact table.form th,
#contents_main.contact table.form td{
  padding:5px;
  }
    
#contents_main.contact table.form th{
  text-align:right;
  }
  
#contents_main.works ul.heightLineParent{
  margin:0 0 0 10px;
  }
  
#contents_main.works ul.heightLineParent li{
  list-style:none;
  float:left;
  width:180px;
  margin:10px;
  text-align:center;
  font-size:85%;
  border:solid 1px #DDD;
  padding:10px;
  }

#contents_main.voice p.comment{
  background-color:#EEE;
  padding:15px;
  margin-bottom:15px;
  }
 
/**
 * icns
 */
.icon{
  vertical-align:middle;
  }
  

/**
 * banner
 */  
#sub .banner{
	margin-bottom:20px;
  }


/**
 * clearfix
 */
.clearfix: after{
  content: "";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
}

* html .clearfix{
  display: inline-block;
}

/**
 * ie7
 */
*: first-child+html .clearfix {
  display: inline-block;
}

/**
 * ie8
 */
html>/**/body .clearfix
{
  display: inline-block;
}

/**
 * common_tabs
 */
 
#tabs ul.tab
{
  font-size: 85%;
  margin: 0 0 0 20px;
  padding: 0;
}

#sub_left #tabs
{
  margin: 7px;
}

#tab1,
#tab2,
#tab3
{
  background-color: #FFF;
  border: solid 1px #CCC;
  padding: 10px;
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  margin-bottom: 10px;
}

/**
 * common_pager
 */
 
ul.pager{
  clear: both;
  text-align: center;
  padding-top: 1em;
  margin: 0;
  padding: 0;
  font-size:85%;
}

ul.pager li{
  display: inline;
  margin: 0;
  padding: 0;
}

ul.pager li strong{
	padding: 0.3em 0.5em;
	display: inline-block;
	color: #fff;
	background-color: #333;
}

ul.pager li a{
  padding: 0.3em 0.5em;
  display: inline-block;
  text-decoration: none;
}

ul.pager li a:hover,
ul.pager li a:active{
  color: #fff;
  background-color: #333;
  
}

ul.pager li.next,
ul.pager li.prev{
  padding: 0.3em 0;
}
