@charset "utf-8";
body, h1, ul, dl, dt, dd, a, div { margin: 0; padding: 0; font-size: 100%; }
body{
	width:100%;
	font-family:  'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',Osaka,sans-serif;
	font-size: 13px;
	color: #333;
	line-height: 1.7;
	background-color: #FFFFFF;
	text-align: left;
}
img { vertical-align: bottom; font-size: 0; line-height: 0; }
ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }
a {	color:#408037; outline:none; text-decoration: none; }
a:active, a:hover{ text-decoration: underline;}
a img{ border: none; }
article, aside, dialog, figure, footer, header, hgroup, nav, section { display:block; }
.bold { font-weight: bold; }
.center{ text-align: center; }
.right{ text-align: right; }
.big{ font-size: 115%; }
.small{ font-size: 86%; }
.x-small{ font-size: 79%; }
.clear{ clear: both;}
.f_left{ float:left;}
.f_right{ float: right;}
.note{ color: #ec5300; margin: 0 2px; }
.indent{ text-indent: -1em; padding-left: 1em; margin: 0 0 5px; }
.b_bottom{ border-bottom: 1px dashed #d0d0d0; padding-bottom: 15px; }
p:first-child{ margin-top: 0; }
p:last-child{ margin-bottom: 0; }
label { display: inline-block; }

/*回り込み解除clearfix*/
.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}
.clearfix {display: inline-block;}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

.wrapper{ width: 980px; margin: 0 auto; }
.shadow{ box-shadow: 0px 0px 5px rgba(0,0,0,0.3); }

/*------------------------------------------------------------------------------
	header
------------------------------------------------------------------------------*/
.header_container{ border-top: 4px solid #44b034; padding-top: 6px; }
#key{ font-size: 79%; font-weight: normal; }
#logo_header{ float: left; margin-top: 16px; }
#header_right{ width: 360px; height: 86px; float: right; position: relative; }
#tel_header{ position: absolute; top: -4px; right: 0; }
#header_link{ width: 362px; height: 26px; position: absolute; top: 56px; right: 0; margin-right: -4px; }
#header_link li{ float: left; }

/* グローバルナビ */
#gnavi_container{ background: url(../img/bg_gnavi.gif) repeat-x; box-shadow: 0px 0px 5px rgba(0,0,0,0.3); }
#gnavi{ width: 980px; position: relative; z-index: 1; }
#gnavi ul{ overflow: hidden; }
#gnavi ul li{ float: left; }
#gnavi ul li a{ display: block; width: 164px; height: 66px; overflow: hidden; }
#gnavi ul li a:hover img{ margin-top: -66px; }
#gnavi ul li#home a{ width: 160px; }
#gnavi ul li#home a img{ margin-left: 0; }
#gnavi ul li#products a img{ margin-left: -160px; }
#gnavi ul li#examples a img{ margin-left: -324px; }
#gnavi ul li#company a img{ margin-left: -488px; }
#gnavi ul li#recruit a img{ margin-left: -652px; }
#gnavi ul li#inquiry a img{ margin-left: -816px; }

/* メインイメージ */
#bg_header_main_top{ /*background: url(../img/top/bg_header_main.jpg) repeat-x 50% 20%;*/ 
background-image: linear-gradient(to top, #FFFFFF 0%, #d2e4ee 100%);
background-image: -ms-linear-gradient(bottom, #FFFFFF 0%, #d2e4ee 100%); 
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #FFFFFF), color-stop(1, #d2e4ee)); 
background-image: -moz-linear-gradient(bottom, #FFFFFF 0%, #d2e4ee 100%);}
#bg_header_main{ background: url(../img/top/bg_header_main.jpg) repeat-x 50% 20%; }

/*#bg_header_main .wrapper{ background: url(../img/top/bg_header_main2.jpg) repeat-x 50% 20%; }*/

	
/*------------------------------------------------------------------------------
	main
------------------------------------------------------------------------------*/
#main_container{  background: url(../img/bg_main_container.jpg) repeat-x; padding: 30px 0 50px; }
#main{ width: 720px; float: left; }
#main section{ margin-bottom: 30px; }
#main section:last-child{ margin-bottom: 0; }

/* トップ */
.txt_intro{ margin: 0 10px 0 32px;}
#news p{ border-top: 1px dotted #d0d0d0; padding-top: 8px; }
#news p:first-child{ border: none; padding: 0; }
#news p a{ display: block; }

/*角丸白枠*/
.box{ background-color: #FFF; border: 1px solid #DBDBDB; border-radius: 6px; padding: 4px 4px; box-shadow: 0px 0px 4px rgba(0,0,0,0.2); }
.box_about{ background-color: #f2f2f2; border: 1px solid #DBDBDB; border-radius: 6px; padding: 4px 4px; box-shadow: 0px 0px 4px rgba(0,0,0,0.2); }
.box_in{ padding: 0 14px 14px; }
.box_in section{ margin-bottom: 30px; }
.box_in section:last-child{ margin-bottom: 0px; }
	
/* サブタイトル */
#title_page{ font-size: 1.5em; color: #FFF; padding: 40px 20px; }
.bg_title_green{ font-size: 1.2em; color: #FFF;
	background: url(../img/bg_title_green.png) no-repeat top left; margin: 0 0 0; padding: 5px 8px 5px 36px; }
.sub{ color: #FFF; font-size: 1em; background-color: #F39489; border-radius: 6px; padding: 6px 10px; }
.sub_sub{ color: #555; font-size: 1.2em; border-bottom: 4px solid #80c269; padding-bottom: 4px; }

/* パンくず */
.breadcrumb{ background-color: #f1f1f1; overflow: hidden; font-size: 0.8em; border-radius: 4px; margin: 0 0 14px; padding: 6px 10px; }
.breadcrumb li{ float: left; background: url(../img/bg_bread.png) no-repeat 0px 5px; padding-left: 16px; margin-right: 15px; }
.breadcrumb li a{ text-decoration: underline; }
.breadcrumb li:first-child{ background: none;	padding-left: 0;}

/* 枠リスト */
.b_list{ overflow: hidden; margin: 0 -10px 0 10px; }
.b_list li{ float: left; border: 3px solid #cccccc; margin: 0 10px 10px 0; }

/* 矢リスト */
.arrow li{ background: url(../img/arrow01.png) no-repeat 0px 4px; margin-bottom: 10px; padding-left: 16px; }
.arrow li:last-child{ margin-bottom: 0; }

/* ポイントリスト */
.point_list{ overflow: hidden; }
.point_list dt{ float: left; margin: 0 20px 10px 0; clear: both; }
.point_list dd{ width: 546px; float: left; margin-bottom: 10px; }

/* 番号リスト */
.list_number{ background-color: #ecf8fc; border-left: 4px solid #99d7eb; padding: 14px 20px 14px 35px; margin: 20px 0; }
.list_number li{ margin-bottom: 15px; list-style-type: decimal; }
.list_number li:last-child{ margin-bottom: 0px; }

/* 左ライン */
.left_line{ border-left: 6px solid #E9F9DD; padding: 14px 20px 14px 14px; }

/* 別ウィンドウリンク */
.icon_win a:after{ background: transparent url(../img/icon_win.png) no-repeat 3px 50%;
    content: "";
    display: inline-block;
    height: 14px;
    vertical-align: top;
    width: 20px; }

/* 製品 */
.link_left{ width: 460px; float: left; }
p.link_left_text{ margin: 20px; }
.products_box a:hover{ text-decoration: none; }

/* 会社概要等 */
.txt_com{display:block; text-indent:100%; white-space:nowrap; overflow:hidden; height:54px; background:url(../company/img/txt_com.png) no-repeat;}
.txt_com2{padding:0 5px;}
dl.info_list, dl.info_list2{ overflow: hidden; padding: 10px; }
dl.info_list dt, dl.info_list2 dt { background-color: #e9f9dd; padding: 10px; }
dl.info_list dt{ width: 150px; float: left; clear: both; margin-right: 20px; margin-bottom: 10px; }
dl.info_list dd{ width: 460px; float: left; border-bottom: 1px dotted #CCC; padding: 10px; }
dl.info_list2 dd { padding: 10px 10px 20px; overflow: hidden; }
dl.info_list dd:last-child{ border: 0; }
dl.info_list dd ul{ margin-left: 20px; }
dl.info_list dd ul li{ list-style-type: disc; margin-bottom: 15px; }
dl.info_list dt span, .info dl.info_list dd span{ color:#ED6B45; }
.long{ width: 350px; }
input{ padding: 4px; }
#about_box{ width: 314px; float: right; }
.data_cell th, .data_cell td{ font-size: 88% ;padding: 4px; border-bottom: 1px dotted #CCC; border-top: 1px dotted #CCC; }
.data_cell th{ background-color: #e9f9dd; width: 20%; }
.data_cell td{ background-color: #FFF; width: 80%; }

/* 施工事例 */
.examples_list{ margin-right: -10px; }
.examples_list li{ float: left; margin: 0 9px 10px 0; }
.examples_list li img{ box-shadow: 0px 0px 5px rgba(0,0,0,0.3); }

/* 見積 */
dl.info_list2 .roof ul { overflow: hidden; }
dl.info_list2 .roof li { float: left; margin-left: 12px; text-align: center; }
dl.info_list2 .roof li:first-child { margin-left: 0; }

/* 通信事業 */
.info_list3{ overflow: hidden; padding:0 20px;}
.info_list3 dt { background-color:#e9f9dd; padding: 4px 10px 3px; border-radius:6px; width: 250px; clear: both; margin-top: 10px; font-weight:bold;}
.info_list3 dd{ width: 620px; border-bottom: 1px dotted #CCC; padding: 10px 0 10px 30px; }
.comm_img{float:left; margin: 10px 20px 10px 0;}

/*------------------------------------------------------------------------------
	右サイド
------------------------------------------------------------------------------*/	
#side{ width: 230px; float: right; }
.bnr_side li{ margin-bottom: 14px; }
#side_link{ border-top: 4px solid #44b034; margin-bottom: 20px; }
#side_link h2{ font-size:1.2em; text-align: center; border-bottom: 1px solid #CCC; padding: 0 0 10px; }
#side_link ul{ margin-left: 10px; }
#side_link ul li{ border-bottom: 1px dotted #CCC; }
#side_link ul li a{ display: block; background: url(../img/arrow01.png) no-repeat 0px 15px; padding: 10px 0 10px 16px; }
#side_link ul li a:hover{ background-color: #e9f9dd; }

/*----------------------------------------------------------
	pagetop
----------------------------------------------------------*/
#pagetop { position: fixed; bottom: 20px; right: 40px; }
			
/*------------------------------------------------------------------------------
	footer
------------------------------------------------------------------------------*/
#footer_container { background-color: #d3f4bc; font-size: 86%; padding: 30px 0 0; }
#footer_info{ width: 526px; float: left; }
#footer_info h2{ float: left; }
#footer_info p{ width: 310px; float: right; }
#footer_link{ width: 452px; float: right; }
#footer_link_bnr,#footer_link_txt{ overflow: hidden; margin-bottom: 20px; }
#footer_link_bnr li{ float: left; margin-left: 10px; }
#footer_link_bnr li:first-child,#footer_link_txt li:first-child{ margin-left: 0; }
#footer_link_txt li{ float: left; margin-left: 20px; }
#footer_link_txt{ margin-left: 90px; }

#copyright{ color: #FFF; background-color: #80c269; text-align: center; padding: 10px 0; }
#copyright a{ color: #FFF; }

/*------------------------------------------------------------------------------
	space
------------------------------------------------------------------------------*/
.mb10{ margin-bottom: 10px; }
.mb20{ margin-bottom: 20px; }
.mb30{ margin-bottom: 30px; }
.mb40{ margin-bottom: 40px; }
.p10{ padding: 10px; }
.pt20{ padding-top: 20px; }
.mr10{ margin-right: 10px; }
.ml10{ margin-left: 10px; }
.ml20{ margin-left: 20px; }
.mt10{margin-top:10px;}


/*------------------------------------------------------------------------------
	print
------------------------------------------------------------------------------*/
@media print{
	#pagetop { display: none; }
}