@charset "utf-8";


/* content===========================================

[*] General Setting
[1] Utility
[2] Layout
		Page Top
		Breadcrumb
[3] Header
		Logo
		Primary Navigation
		Global Navigation
[4] Footer
		Copyright


[5] index.html
[ ] 


===================================================== */



/* ===========================================================================================

          General Setting

=========================================================================================== */

body {
	color: #000;
	font-size: 14px;
	*font-size: 85%;
	line-height: 1.8em;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	}


/****************************************

		no_script
		regacy
 
*****************************************/

#no_script,
#regacy {
	display:block;
	background-color:#FFCCCC;
	color:#CC0000;
	font-weight:bold;
	clear:both;
	text-align:center;
	line-height:130%;
	padding:10px 0;
}


/****************************************

          Typography

*****************************************/

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	}


/****************************************

          List

*****************************************/

ol {
	margin: 0 0 0 1.8em;
	padding: 0;
	}


/****************************************

          Link

*****************************************/

a {outline: none;}

a:link,
a:visited {
	color: #666;
	text-decoration: none;
	}
a:hover {
	color: #333;
	text-decoration: underline;
	}




/* ===========================================================================================

          Utility

=========================================================================================== */

.clearfix {zoom:1;}
	.clearfix:after {
		content: ""; 
		display: block; 
		clear: both;}
		* html .clearfix { height: 1%; }
.clear {clear: both;}

.fontMincho {
	font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif;
	line-height: 2.2em;
	font-size: 15px;
	}

.lead {
	font-size: 17px;
	letter-spacing: 0.013em;
	}
.fontL { font-size: 24px; }

.mpall0{
	padding: 0px;
	margin: 0px;
	}
/*margin*/
.mt5 {   margin-top:    5px !important;}
.mr5 {   margin-right:  5px !important;}
.mb5 {   margin-bottom: 5px !important;}
.ml5 {   margin-left:   5px !important;}
   
.mt10 {   margin-top:    10px !important;}
.mr10 {   margin-right:  10px !important;}
.mb10 {   margin-bottom: 10px !important;}
.ml10 {   margin-left:   10px !important;}

.mt15 {   margin-top:    15px !important;}
.mr15 {   margin-right:  15px !important;}
.mb15 {   margin-bottom: 15px !important;}
.ml15 {   margin-left:   15px !important;}

.mt20 {   margin-top:    20px !important;}
.mr20 {   margin-right:  20px !important;}
.mb20 {   margin-bottom: 20px !important;}
.ml20 {   margin-left:   20px !important;}

.mt25 {   margin-top:    25px !important;}
.mr25 {   margin-right:  25px !important;}
.mb25 {   margin-bottom: 25px !important;}
.ml25 {   margin-left:   25px !important;}

.mt30 {   margin-top:    30px !important;}
.mr30 {   margin-right:  30px !important;}
.mb30 {   margin-bottom: 30px !important;}
.ml30 {   margin-left:   30px !important;}

.mt40 {   margin-top:    40px !important;}
.mr40 {   margin-right:  40px !important;}
.mb40 {   margin-bottom: 40px !important;}
.ml40 {   margin-left:   40px !important;}

.mt50 {   margin-top:    50px !important;}
.mr50 {   margin-right:  50px !important;}
.mb50 {   margin-bottom: 50px !important;}
.ml50 {   margin-left:   50px !important;}

/*padding*/
.pt5 { padding-top:      5px !important;}
.pr5 { padding-right:    5px !important;}
.pb5 { padding-bottom:   5px !important;}
.pl5 { padding-left:     5px !important;}

.pt10 { padding-top:    10px !important;}
.pr10 { padding-right:  10px !important;}
.pb10 { padding-bottom: 10px !important;}
.pl10 { padding-left:   10px !important;}

.pt15 { padding-top:    15px !important;}
.pr15 { padding-right:  15px !important;}
.pb15 { padding-bottom: 15px !important;}
.pl15 { padding-left:   15px !important;}

.pt20 { padding-top:    20px !important;}
.pr20 { padding-right:  20px !important;}
.pb20 { padding-bottom: 20px !important;}
.pl20 { padding-left:   20px !important;}

.pt25 { padding-top:    25px !important;}
.pr25 { padding-right:  25px !important;}
.pb25 { padding-bottom: 25px !important;}
.pl25 { padding-left:   25px !important;}

.pt30 { padding-top:    30px !important;}
.pr30 { padding-right:  30px !important;}
.pb30 { padding-bottom: 30px !important;}
.pl30 { padding-left:   30px !important;}

.pa25 { padding: 25px; }


/*Negative margin*/
.nmt5 {   margin-top:    -5px !important;}
.nmr5 {   margin-right:  -5px !important;}
.nmb5 {   margin-bottom: -5px !important;}
.nml5 {   margin-left:   -5px !important;}
   
.nmt10 {   margin-top:    -10px !important;}
.nmr10 {   margin-right:  -10px !important;}
.nmb10 {   margin-bottom: -10px !important;}
.nml10 {   margin-left:   -10px !important;}

.nmt15 {   margin-top:    -15px !important;}
.nmr15 {   margin-right:  -15px !important;}
.nmb15 {   margin-bottom: -15px !important;}
.nml15 {   margin-left:   -15px !important;}

.nmt20 {   margin-top:    -20px !important;}
.nmr20 {   margin-right:  -20px !important;}
.nmb20 {   margin-bottom: -20px !important;}
.nml20 {   margin-left:   -20px !important;}

.nmt25 {   margin-top:    -25px !important;}
.nmr25 {   margin-right:  -25px !important;}
.nmb25 {   margin-bottom: -25px !important;}
.nml25 {   margin-left:   -25px !important;}


/*padding*/
.pt5 { padding-top:      5px !important;}
.pr5 { padding-right:    5px !important;}
.pb5 { padding-bottom:   5px !important;}
.pl5 { padding-left:     5px !important;}

.pt10 { padding-top:    10px !important;}
.pr10 { padding-right:  10px !important;}
.pb10 { padding-bottom: 10px !important;}
.pl10 { padding-left:   10px !important;}

.pt15 { padding-top:    15px !important;}
.pr15 { padding-right:  15px !important;}
.pb15 { padding-bottom: 15px !important;}
.pl15 { padding-left:   15px !important;}

.pt20 { padding-top:    20px !important;}
.pr20 { padding-right:  20px !important;}
.pb20 { padding-bottom: 20px !important;}
.pl20 { padding-left:   20px !important;}

.pt30 { padding-top:    30px !important;}
.pr30 { padding-right:  30px !important;}
.pb30 { padding-bottom: 30px !important;}
.pl30 { padding-left:   30px !important;}

.pt40 { padding-top:    40px !important;}
.pr40 { padding-right:  40px !important;}
.pb40 { padding-bottom: 40px !important;}
.pl40 { padding-left:   40px !important;}

.pt50 { padding-top:    50px !important;}
.pr50 { padding-right:  50px !important;}
.pb50 { padding-bottom: 50px !important;}
.pl50 { padding-left:   50px !important;}

.fL {float: left;}
.fR {float: right;}

.t-l {text-align: left;}
.t-c {text-align: center;}
.t-r {text-align: right;}

.txt {
	overflow: hidden;
	zoom: 1;
	}

ul.lishare,
li.lishare {
	list-style-type: disc;
	margin-left: 1.4em;
	}


/*
dlTbl
*/
.dlTbl {
	border-bottom: solid 1px #CCC;
	box-shadow: 0px 1px 0px 0px #FFF;
	}
.dlTbl dt {
	float: left;
	width: 20%;
	}
.dlTbl dd {
	overflow: hidden;
	}
.dlTbl dt,
.dlTbl dd {
	padding: 10px 0 10px 25px;
	border-top: solid 1px #FFF;
	box-shadow: 0px -1px 0px 0px #CCC;
	}

/*
line
	上にborderを引く（上から#CCC/#FFFの二重線）
*/
.line {
	border-top: solid 1px #FFF;
	box-shadow: 0px -1px 0px 0px #CCC;
	}
.line:last-child {
	border-bottom: solid 1px #CCC;
	box-shadow:
	0px 1px 0px 0px #FFF,
	0px -1px 0px 0px #CCC;
	}

/*
lineB
	下にborderを引く（上から#CCC/#FFFの二重線）
*/
.lineB {
	border-bottom: solid 1px #CCC;
	box-shadow: 0px 1px 0px 0px #FFF;
	}

/*
lineC
	下にborderを引く（#999の点線）
*/
.lineC {
	border-bottom: dotted 1px #999;
	}


.box {
	padding: 15px 25px;
	}


/* ===========================================================================================

          Layout

=========================================================================================== */

.wrap {
	margin: 0 auto;
	width: 960px;
	clear: both;
	}
	
#contents {
	background-color: #EFEFEE;
	padding-bottom: 30px;
	}


	/*
	Page Top
	*/
	.pageTop {
		clear: both;
		margin: 0;
		text-align: center;
		}


	/*
	Breadcrumb
	*/
	nav#breadcrumb {
		padding: 17px 0 16px;
		font-size: 88%;
		list-style-type: none;
		color: #666;
		}
		nav#breadcrumb ol {
			list-style-type: none;
			margin: 0;
			padding: 0;
			}
			nav#breadcrumb ol li {
				display: inline-block;
				}
			nav#breadcrumb ol li + li:before{
				content: ">";
				margin: 0 5px;
				}




/* ===========================================================================================

          Header

=========================================================================================== */

/*
トップページ用背景画像
*/
#topHeader {
	background-image: url(../img/top/bg.jpg);
	background-repeat: no-repeat;
	background-position: left top;
	min-height: 820px;
	}
	
/*
中ページ用背景画像
*/
#Header {
	background-image: url(../img/common/bg.jpg);
	background-repeat: no-repeat;
	background-position: left top;
	}

header .wrap {
	position: relative;
	min-height: 230px;
	}
	
	
	/*
	Logo
	*/
	header .wrap .siteTitle {
		padding-top: 49px;
		padding-bottom: 43px;
		}
	

	/*
	Primary Navigation
	*/
	header .wrap #primary {
		position: absolute;
		top: 0;
		right: 0;
		}
		header .wrap #primary ul {
			text-align: right;
			margin-bottom: 14px;
			}
			header .wrap #primary ul li {
				display: inline;
				}
	
	header .wrap #primary p {
		text-align: right;
		margin: 0;
		padding: 0;
		}
	header .wrap #primary img {
		vertical-align: top;
		}
			
	
	/*
	Global Navigation
	*/
		header .wrap #gnav li {
			float: left;
			}
		header .wrap #gnav li + li {
			margin-left: 30px;
			}
		header .wrap #gnav li img {vertical-align: top;}




/* ===========================================================================================

          Footer

=========================================================================================== */

footer {
	clear: both;
	}
footer .wrap {
	padding-top: 13px;
	font-size: 12px;
	}

.arrow {
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	color: #000;
	vertical-align: middle;
	}
	.arrow::before,
	.arrow::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	}
.pp {
	float: right;
	}
	.pp::before {
		top: -2px;
		left: 4px;
		box-sizing: border-box;
		width: 4px;
		height: 4px;
		border: 4px solid transparent;
		border-left: 4px solid #666;
		}


/*
Copyright
*/
.copyright {
	text-align: right;
	color: #666;
	}




/* ===========================================================================================

          index.html

=========================================================================================== */
	
	/*
	ごあいさつ
	*/
	.message {
		padding: 50px 0 30px;
		overflow: hidden;
		border-bottom: solid 1px #CCCCCC;
		box-shadow: 0px 1px 0px 0px #FFFFFF;
		}
	
	
	/*
	施工事例
	*/
	.construction {
		padding: 45px 0 30px;
		overflow: hidden;
		}
		.construction h1 {
			margin-bottom: 32px;
			}
		.construction .gallery {
			margin-right: -15px;
			}
		.construction .gallery figure {
			float: left;
			margin-right: 15px;
			margin-bottom: 15px;
			}
		.construction .gallery figure a:hover {
			opacity: 0.7;
			}
			.construction .gallery figure img {
				vertical-align: top;
				}