@charset "utf-8";

/*===================================================================
Body
===================================================================*/
body {
	margin:0px auto;
	padding:0;
	line-height:1.5;
	font-family:"ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS PGothic", sans-serif;
	letter-spacing:0.1em;
	font-size:0.8em;
	color:#333333;
	width:100%;
}



/*===================================================================
Header
===================================================================*/
header {
	margin:0 auto;
	padding: 10px 0 25px 0;
	background:url("../../image/header/head_bg.jpg") left bottom repeat-x;
	min-width:1024px;
	width:100%;
}

header div#headInner {
	margin:0px auto;
	padding:20px 0 10px 110px;
	background:
	url("../../image/header/head_ico_logo.jpg") left bottom no-repeat,
	url("../../image/header/head_ico_blue.jpg") right 200px bottom no-repeat;
	display:flex;
	width:850px;
}

div#headInner h1 {
	display: inline-block;
	margin: 0;
	padding: 0;
	width:176px;
}

div#headInner h1 a img {
	margin: 0;
	padding: 0;
	max-width: 100%;
}

div#mbbtn {
	display:none;
}



/*===================================================================
Footer
===================================================================*/
footer {
	margin: 0 auto;
	padding: 0 0 10px 0;
	min-width:1024px;
	width: 100%;
}

footer div#footTop {
	margin: 0 auto;
	padding: 0 0 13px 0;
	background:
	url(../../image/footer/foot_bg_cloud.jpg) left top repeat-x,
	url(../../image/footer/foot_underline.jpg) left bottom repeat-x;
	width: 100%;
}

footer div#footTop h3 {
	margin: 0 auto;
	padding: 110px 0 0 0;
	background:url(../../image/footer/foot_bg_sun.png) right bottom no-repeat;
	width: 1024px;
	height: 35px;
}

footer div#footBottom {
	margin: 0 auto;
	padding: 15px 0 15px 0;
	display:flex;
	width: 1024px;
}

footer div#footBottom h2 {
	margin: 0;
	padding: 0;
	text-align:center;
	width:230px;
}

footer div#footBottom p {
	margin: 0;
	padding: 0;
}

footer small {
	display: block;
	text-align: center;
	line-height: 1;
	font-size:0.9em;
}



/*===================================================================
Navi
===================================================================*/
div#headInner ul {
	margin: 0 0 0 10px;
	padding: 0;
	border-left: 1px solid #E1E1E1;
	position:relative;
	line-height:0;
	width:838px;
}

div#headInner ul li {
	display: inline-block;
	margin: 0;
	padding: 0 13px 0 13px;
	border-right: 1px solid #E1E1E1;
	line-height:0;
	vertical-align:middle;
}

div#headInner ul li#headReserv {
	position: absolute;
	bottom: 0px;
	right: 0px;
	border-right:none;
}

li#headReserv a {
	display:block;
	margin:0;
	padding:0;
	background:url(../../image/header/navi_btn_reserve_pc.jpg) left top no-repeat;
	text-indent:-9999px;
	line-height:0;
	width:160px;
	height:63px;
}

li#headReserv a:hover {
	background-position:left top -63px;
}

a#navServices,
a#navExample,
a#navCompany {
	display: block;
	margin:0;
	padding:0;
	text-indent:-9999px;
	width:82px;
	height:47px;
}

a#navServices {background:url(../../image/header/navi_btn_services.jpg) left top no-repeat; background-size:cover;}
a#navExample {background:url(../../image/header/navi_btn_example.jpg) left top no-repeat; background-size:cover;}
a#navCompany {background:url(../../image/header/navi_btn_company.jpg) left top no-repeat; background-size:cover;}

a#navServices:hover,
a#navExample:hover,
a#navCompany:hover {
	background-position:left top -47px;
}



/*===================================================================
Main
===================================================================*/
div.slider {
	margin: 0px;
	max-width: 100%;
}

div.slider img{
	width: 100%;
	height: auto;
}

div.slider .slick-next {
	right: 20px;
	z-index: 99;
}
div.slider .slick-prev {
	left: 15px;
	z-index: 100;
}

article {
	margin: 0;
	padding: 0;
	position: relative;
	background-color: #f3f6ff;
	width: 100%;
	min-width: 1024px;
}

article#mainArt {
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}


/* メインページ左コンテンツ */
div#mainCntL {
	padding:30px 15px 40px 0;
	background-color: #F3F6FF;
	text-align: right;
	width: 61.5%;
}

div#mainCntL div {
	display: inline-block;
	text-align: left;
	width: 600px;
}

div#mainInfo h2 {
	margin:0;
	padding:0;
	background:url(../../image/main_subtit_info.jpg) left top no-repeat;
	text-indent:-9999px;
	width:600px;
	height:44px;
}

div#mainInfo ul{
	margin:0;
	padding:10px 10px 20px 10px;
	background-color:#FFFFFF;
	font-size:0.9em;
	overflow:auto;
	height:175px;
}

div#mainInfo ul li {
	margin:0 0 10px 0;
	padding:0 15px 10px 15px;
	border-bottom:1px solid #C8C8C8;
}

p#mainCatch {
	display:inline-block;
	margin: 35px 0 35px 0;
	padding:0;
	background:url(../../image/main_catch.jpg) left top no-repeat;
	width:600px;
	height:150px;
}

p#mainCatch span {
	visibility:hidden;
}


div#mainLinks {
	margin:0 0 40px 0;
	padding:0;
	width:600px;
}

div#mainLinks a {
	display:block;
	padding:0;
	text-indent:-9999px;
	height:175px;
}

div#mainLinks a#mainServices {
	margin:0 0 10px 0;
	background:url(../../image/main_btn_services.jpg) center top no-repeat;
	background-size:cover;
	float:left;
	width:295px;
}
div#mainLinks a#mainExample {
	margin:0 0 10px 0;
	background:url(../../image/main_btn_exanple.jpg) center top no-repeat;
	background-size:cover;
	float:right;
	width:295px;
}
div#mainLinks a#mainCompany {
	margin:0;
	background:url(../../image/main_btn_company.jpg) center top no-repeat;
	background-size:cover;
	clear:both;
	float:none;
	width:600px;
}

div#mainLinks a#mainServices:hover,
div#mainLinks a#mainExample:hover,
div#mainLinks a#mainCompany:hover {
	background-position:center top -175px;
}


div#mainCntL div#btnReserv {
	text-align:center;
}

div#btnReserv a {
	display:block;
	margin:0px auto 60px auto;
	padding:0;
	background:url(../../image/main_btn_reserve.jpg) left top no-repeat;
	text-indent:-9999px;
	width:400px;
	height:60px;
}

div#btnReserv a:hover {
	background-position:center top -60px;
}

/* カレンダー */
div#g-Calendar {
	margin:0 auto;
	width: 90%;
}

div#g-Calendar h2 {
	margin:0 0 15px 0;
	padding:0;
	background:url(../../image/main_subtit_calendar.jpg) left top no-repeat;
	text-indent:-9999px;
	width:600px;
	height:35px;
}

div#g-Calendar iframe {
	height:400px;
	width:100%;
}

/* メインページ右コンテンツ */
div#mainCntR {
	padding:30px 0 40px 15px;
	background-color: #D9E4FF;
	width: 38.5%;
}

div#mainCntR ul {
	margin:0;
	padding:0;
}


/*下層共通
---------------------------------------------------------*/

h2#lower-tit {
	text-align:center;
	margin:25px 0 30px 0;
}



/*事業内容
---------------------------------------------------------*/
div#servicesCnt {
	margin: 0px auto;
	padding: 0 0 40px 0;
	width:600px;
}

div#servicesCnt div {
	margin:0 0 20px 0;
	display: flex;
	justify-content: space-between;
}

div#servicesCnt div div {
	width: 43%;
}
div#servicesCnt div div img {
	margin:0 10px 0 0;
}

div#servicesCnt div p {
	padding:10px 0 0 0;
	width: 57%;
}


/*施工事例
---------------------------------------------------------*/
div#exampleCnt {
	margin: 0px auto;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width:820px;
}

div#exampleCnt div.exL,
div#exampleCnt div.exS {
	margin:0 0 20px 0;
	padding:20px;
	border:1px solid #004FA2;
	background-color:#FFFFFF;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	align-items:center;
	text-align:center;
	color:#004FA2;
	font-weight:bold;
}

div#exampleCnt div.exL p,
div#exampleCnt div.exS p {
	width:100%;
}

div#exampleCnt div.exL img,
div#exampleCnt div.exS img {
	margin:0 0 20px 0;
}

div#exampleCnt div.exL {
	width:780px;
}

div#exampleCnt div.exL div {
	position:relative;
}

div#exampleCnt div.exL div img.exIco{
	position:absolute;
	left:-30px;
	top:-30px;
}

div#exampleCnt div.exS {
	width:360px;
}


/*会社情報
---------------------------------------------------------*/
div.companyCnt {
	margin: 0px auto;
	padding: 0 0 40px 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width:820px;
}

div.companyCnt h3 {
	margin: 0 0 30px 0;
	padding: 0;
	background: url(../../image/company_subtit.jpg) left top no-repeat;
	text-indent: -9999px;
	width: 820px;
	height: 38px;
}

div.companyCnt iframe {
	margin: 0;
	padding: 0;
	width: 400px;
}

div.companyCnt table {
	margin: 0;
	padding: 0;
	font-size: 1.3em;
	line-height: 2;
	width: 50%;
}

div.companyCnt table th {
	vertical-align: top;
	font-weight: bold;
}

div.companyCnt table th span {
	color: #004FA2;
	font-size:0.8em;
	letter-spacing: 8px;
}



/*   予約フォーム
---------------------------------------------------------*/
div#g-Form {
	position:relative;
	margin:0 auto;
	min-height:1300px;
	max-width:900px;
}

div#g-Form iframe {
	position:absolute;
	top:0px;
	left:0px;
	height:100%;
	width:100%;
}





















/*===================================================================
共通クラス
===================================================================*/
img.mbsiz {
	max-width:100%;
}


/*   汎用box
---------------------------------------------------------*/
.box-flex {
	display: flex;
}


/*   背景色
---------------------------------------------------------*/
.bgc-gray {
	background-color:#F2F2F2;
}


/*   文字色
---------------------------------------------------------*/
.txt-blue{
	color:#0097BF;
}

.txt-gray{
	color:#333333;
}

.txt-red{
	color:#E60012;
}

.txt-green{
	color:#8FC31F;
}


/*   Border
---------------------------------------------------------*/
.bd-bot-bl{
	border-bottom:1px solid #000000;
}

.bd-top-dot{
	border-top:1px dashed #6B6B6B;
}

.bd-bot-dot{
	border-bottom:1px dashed #575757;
}

.bd-gray {
	border:1px solid #848484;
}

.bd-top-gray {
	border-top:1px solid #848484;
}

.bd-bot-gray {
	border-bottom:1px solid #848484;
}


/*   Font
---------------------------------------------------------*/
.siz220{font-size:2.20em;}
.siz180{font-size:1.80em;}
.siz170{font-size:1.70em;}
.siz160{font-size:1.60em;}
.siz150{font-size:1.50em;}
.siz140{font-size:1.40em;}
.siz130{font-size:1.30em;}
.siz120{font-size:1.20em;}
.siz110{font-size:1.10em;}
.siz100{font-size:1.00em;}
.siz095{font-size:0.95em;}
.siz090{font-size:0.90em;}
.siz080{font-size:0.80em;}
.siz075{font-size:0.75em;}
.siz070{font-size:0.70em;}


/*   align
---------------------------------------------------------*/
.alg-lef{text-align:left;}
.alg-rig{text-align:right;}
.alg-cen{text-align:center;}
.val-top{vertical-align:top;}
.val-mid{vertical-align:middle;}
.val-bot{vertical-align:bottom;}


/*   幅
---------------------------------------------------------*/
.haba05{width:5%;}
.haba10{width:10%;}
.haba15{width:15%;}
.haba20{width:20%;}
.haba25{width:25%;}
.haba30{width:30%;}
.haba35{width:35%;}
.haba40{width:40%;}
.haba45{width:45%;}
.haba50{width:50%;}
.haba60{width:60%;}
.haba70{width:70%;}
.haba80{width:80%;}
.haba90{width:90%;}
.haba100{width:100%;}


/*margin-auto --------------------*/

.mar-lr-auto {
	margin-left:auto;
	margin-right:auto;
}

/*margin-top --------------------*/
.top-0m{margin-top:0em;}
.top-5m{margin-top:0.35em;}
.top-10m{margin-top:0.7em;}
.top-15m{margin-top:1.05em;}
.top-20m{margin-top:1.4em;}
.top-30m{margin-top:2.1em;}
.top-40m{margin-top:2.8em;}
.top-50m{margin-top:3.5em;}
.top-60m{margin-top:4.2em;}
.top-70m{margin-top:4.9em;}
.top-80m{margin-top:5.6em;}
.top-90m{margin-top:6.3em;}
.top-100m{margin-top:7.0em;}


/*margin-bottom --------------------*/
.bot-0m{margin-bottom:0em;}
.bot-5m{margin-bottom:0.35em;}
.bot-10m{margin-bottom:0.7em;}
.bot-15m{margin-bottom:1.05em;}
.bot-20m{margin-bottom:1.4em;}
.bot-30m{margin-bottom:2.1em;}
.bot-40m{margin-bottom:2.8em;}
.bot-50m{margin-bottom:3.5em;}
.bot-60m{margin-bottom:4.2em;}
.bot-70m{margin-bottom:4.9em;}
.bot-80m{margin-bottom:5.6em;}
.bot-90m{margin-bottom:6.3em;}
.bot-100m{margin-bottom:7.0em;}


/*margin-left --------------------*/
.lef-0m{margin-left:0px;}
.lef-5m{margin-left:5px;}
.lef-10m{margin-left:10px;}
.lef-15m{margin-left:15px;}
.lef-20m{margin-left:20px;}
.lef-30m{margin-left:30px;}
.lef-40m{margin-left:40px;}
.lef-50m{margin-left:50px;}
.lef-60m{margin-left:60px;}
.lef-70m{margin-left:70px;}
.lef-80m{margin-left:80px;}


/*margin-right --------------------*/
.rig-0m{margin-right:0px;}
.rig-5m{margin-right:5px;}
.rig-10m{margin-right:10px;}
.rig-15m{margin-right:15px;}
.rig-20m{margin-right:20px;}
.rig-30m{margin-right:30px;}
.rig-40m{margin-right:40px;}
.rig-50m{margin-right:50px;}
.rig-60m{margin-right:60px;}
.rig-70m{margin-right:70px;}
.rig-80m{margin-right:80px;}


/*   padding-top
---------------------------------------------------------*/
.pdtop-0m{padding-top:0px;}
.pdtop-5m{padding-top:5px;}
.pdtop-10m{padding-top:10px;}
.pdtop-15m{padding-top:15px;}
.pdtop-20m{padding-top:20px;}
.pdtop-30m{padding-top:30px;}
.pdtop-40m{padding-top:40px;}
.pdtop-50m{padding-top:50px;}


/*   padding-bottom
---------------------------------------------------------*/
.pdbot-0m{padding-bottom:0px;}
.pdbot-5m{padding-bottom:5px;}
.pdbot-10m{padding-bottom:10px;}
.pdbot-15m{padding-bottom:15px;}
.pdbot-20m{padding-bottom:20px;}
.pdbot-30m{padding-bottom:30px;}
.pdbot-40m{padding-bottom:40px;}
.pdbot-50m{padding-bottom:50px;}


/*   padding-right
---------------------------------------------------------*/
.pdrig-0m{padding-right:0px;}
.pdrig-5m{padding-right:5px;}
.pdrig-10m{padding-right:10px;}
.pdrig-15m{padding-right:15px;}
.pdrig-20m{padding-right:20px;}
.pdrig-30m{padding-right:30px;}
.pdrig-40m{padding-right:40px;}
.pdrig-50m{padding-right:50px;}
.pdrig-80m{padding-right:80px;}


/*   padding-left
---------------------------------------------------------*/
.pdlef-0m{padding-left:0px;}
.pdlef-5m{padding-left:5px;}
.pdlef-10m{padding-left:10px;}
.pdlef-15m{padding-left:15px;}
.pdlef-20m{padding-left:20px;}
.pdlef-30m{padding-left:30px;}
.pdlef-40m{padding-left:40px;}
.pdlef-50m{padding-left:50px;}
.pdlef-80m{padding-left:80px;}



@media only screen and (max-width: 700px) {
	/* Header */
	header {
		margin: 0 auto;
		padding: 10px 0 25px 0;
		background: url("../../image/header/head_bg.jpg") left bottom repeat-x;
		min-width: 100%;
		width: 100%;
	}

	header div#headInner {
		margin: 0px auto;
		padding: 0 0 10px 0;
		background: url("../../image/header/head_ico_logo_sp.jpg") left bottom no-repeat;
		display: block;
		position:relative;
		width: 100%;
	}
	div#headInner h1 {
		display: block;
		margin: 0;
		padding: 0;
		text-align: center;
		width: 100%;
	}

	div#headInner h1 a img {
		margin: 0;
		padding: 0;
		max-width: 100%;
	}

	div#mbbtn {
		display: block;
		position: absolute;
		right: 20px;
		top: 10px;
		background: url(../../image/header/navi_mbbtn.jpg) left top no-repeat;
		text-indent:-9999px;
		width: 50px;
		height: 50px;
	}

	/* Navi */
	div#headInner ul {
		display: none;
		margin: 0;
		padding: 0;
		border: none;
		background-color: rgba(0,0,0,0.50);
		position: absolute;
		left: 0px;
		top: 102px;
		z-index:100;
		width: 100%;
	}

	div#headInner ul li {
		display: block;
		margin: 0;
		padding: 0;
		border: none;
		border-bottom: 2px solid #E1E1E1;
		background-color: #FFFFFF;
	}

	div#headInner ul li#headReserv {
		padding: 10px 0 10px 0;
		position: static;
		bottom: 0px;
		right: 0px;
		border-right:none;
		background-color: #D9E4FF;
	}

	li#headReserv a {
		display: block;
		margin: 0;
		padding: 0;
		background: url(../../image/header/navi_btn_reserve_mb.png) center top no-repeat;
		text-indent: -9999px;
		line-height: 0;
		width: 100%;
		height: 35px;
	}

	li#headReserv a:hover {
		background-position: center top -35px;
	}

	a#navServices,
	a#navExample,
	a#navCompany {
		display: block;
		margin: 0;
		padding: 0;
		text-indent: -9999px;
		width: 100%;
		height: 95px;
	}

	a#navServices {background:url(../../image/header/navi_btn_services.jpg) center top no-repeat; background-size:auto;}
	a#navExample {background:url(../../image/header/navi_btn_example.jpg) center top no-repeat; background-size:auto;}
	a#navCompany {background:url(../../image/header/navi_btn_company.jpg) center top no-repeat; background-size:auto;}

	a#navServices:hover,
	a#navExample:hover,
	a#navCompany:hover {
		background-position:center top -95px;
	}


	/* Footer */
	footer {
		min-width: 100%;
		width: 100%;
	}

	footer div#footTop {
		width: 100%;
	}

	footer div#footTop h3 {
		background: none;
		width: 100%;
		height: 35px;
	}

	footer div#footBottom {
		display: block;
		width: 100%;
	}

	footer div#footBottom h2 {
		text-align: center;
		width: 100%;
	}

	footer div#footBottom p {
		text-align: center;
	}

	/* Main */
	article {
		margin: 0;
		padding: 0;
		position: relative;
		background-color: #f3f6ff;
		width: 100%;
		min-width: 100%;
	}

	article#mainArt {
		display: block;
	}

	/* メインページ左コンテンツ */
	div#mainCntL {
		padding: 30px 0 40px 0;
		text-align: left;
		width: 100%;
	}

	div#mainCntL div {
		display: block;
		text-align: left;
		width: 100%;
	}

	div#mainInfo h2 {
		background: url(../../image/main_subtit_info_sp.jpg) center top no-repeat;
		width: 100%;
		height: 38px;
	}

	div#mainInfo ul{
		margin: 0px auto;
		padding: 10px 0 20px 0;
		background-color: #FFFFFF;
		font-size: 0.9em;
		overflow: auto;
		width: 95%;
		height: 175px;
	}

	div#mainInfo ul li {
		margin: 0 0 10px 0;
		padding: 0 15px 10px 15px;
		border-bottom: 1px solid #C8C8C8;
	}

	p#mainCatch {
		margin: 35px auto;
		padding: 0;
		background: url(../../image/main_catch_sp.jpg) center top no-repeat;
		width: 100%;
		height: 230px;
	}

	p#mainCatch span {
		visibility:hidden;
	}


	div#mainLinks {
		margin: 0px auto 40px auto;
		padding: 0;
		width: 95%;
	}

	div#mainLinks a {
		height: 0px;
	}

	div#mainLinks a#mainServices {
		margin: 0 0 10px 2.5%;
		background: url(../../image/main_btn_services.jpg) center top no-repeat;
		background-size: cover;
		padding-bottom: calc(100%*80/295);
		float: left;
		width: 46%;
	}
	div#mainLinks a#mainExample {
		margin: 0 2.5% 10px 0;
		background: url(../../image/main_btn_exanple.jpg) center top no-repeat;
		background-size: cover;
		padding-bottom: calc(100%*80/295);
		float: right;
		width: 46%;
	}
	div#mainLinks a#mainCompany {
		margin: 0px auto;
		background: url(../../image/main_btn_company.jpg) center top no-repeat;
		background-size: cover;
		padding-bottom: calc(100%*167/600);
		clear: both;
		float: none;
		width: 95%;
	}

	div#mainLinks a#mainServices:hover,
	div#mainLinks a#mainExample:hover,
	div#mainLinks a#mainCompany:hover {
		background-position: center top;
	}


	div#mainCntL div#btnReserv {
		text-align: center;
	}

	div#btnReserv a {
		display: block;
		margin: 0px auto 60px auto;
		padding: 0;
		background: url(../../image/main_btn_reserve.jpg) center top no-repeat;
		background-size: cover;
		padding-bottom: calc(100%*57/400);
		text-indent: -9999px;
		width: 95%;
		height: 0px;
	}

	div#mainCntL div#btnReserv img {
		max-width: 100%;
	}

	div#btnReserv a:hover {
		background-position: center top;
	}

	/* カレンダー */
	div#g-Calendar h2 {
		background: url(../../image/main_subtit_calendar_sp.jpg) center top no-repeat;
		width: 100%;
		height: 28px;
	}
	
	div#g-Calendar iframe {
		
	}

	/* メインページ右コンテンツ */
	div#mainCntR {
		padding:30px 0 40px 0;
		background-color: #D9E4FF;
		text-align:center;
		width: 100%;
	}

	div#mainCntR ul {
		margin:0;
		padding:0;
	}

	div#mainCntR ul li a img {
		max-width:100%;
	}

	/* 事業内容 */
	div#servicesCnt {
		width:95%;
	}

	div#servicesCnt div {
		margin:0 0 20px 0;
		display: block;
	}

	div#servicesCnt div img {
		display:block;
		margin: 0px auto;
	}

	/* 施工事例 */
	div#exampleCnt {
		width:95%;
	}

	div#exampleCnt div.exL,
	div#exampleCnt div.exS {
		display: block;
		padding:5%;
	}

	div#exampleCnt div.exL {
		width: 90%;
	}

	div#exampleCnt div.exS {
		width: 90%;
	}

	/* 会社情報 */
	div.companyCnt {
		width:95%;
	}

	div.companyCnt h3 {
		width: 100%;
	}

	div.companyCnt iframe {
		margin: 30px 0 0 0;
		width: 100%;
		height:300px;
	}

	div.companyCnt table {
		width: 100%;
	}

	/* 予約フォーム */
	div#g-Form {
		min-height:1550px;
	}

}






