@charset "UTF-8";
/*
 * sub_layout.css
 *
 */

/* !mainvisual
---------------------------------------------------------- */
.subMain {
	width: 100%;
	height:300px;
	background:url(../img/sub_main.jpg) 50% 50% no-repeat;
	background-size:cover;
	top:70px;
	position:relative;
	margin-bottom:70px;
	-webkit-animation: bg 2s 1 ease;
	-moz-animation: bg 2s 1 ease;
	animation: bg 2s 1 ease ;
}
	.subMain p.enTit {
		font-family: 'Roboto', sans-serif;
		font-size:48px;
		font-weight:500;
		color:#31424E;
		text-align:center;
		letter-spacing:0.04em;
		top:55px;
		padding-bottom:15px;
		margin-bottom:75px;
		position:relative;
	}
		.subMain p.enTit:after {
			display:block;
			position:absolute;
			content:"";
			width:60px;
			height:1px;
			background:#31424E;
			bottom:0;
			left:50%;
			margin-left:-30px;
		}
	.subMain h1 {
		font-size:22px;
		font-weight:bold;
		color:#31424E;
		text-align:center;
		letter-spacing:0.1em;
	}
	
@keyframes bg {
    0% {
        opacity: 0;
    }
	30% {
        opacity: 0;
    }
	100% {
        opacity: 1;
    }
}

@media screen and (max-width:1039px){
.subMain {
	height:250px;
	margin-bottom:70px;
}
	.subMain p.enTit {
		font-size:42px;
		top:40px;
		padding-bottom:10px;
		margin-bottom:60px;
	}
	.subMain h1 {
		font-size:20px;
	}
}

@media screen and (max-width:767px){
.subMain {
	height:170px;
	top:60px;
	margin-bottom:60px;
}
	.subMain p.enTit {
		font-size:30px;
		top:25px;
		padding-bottom:8px;
		margin-bottom:40px;
	}
		.subMain p.enTit:after {
			width:40px;
			left:50%;
			margin-left:-20px;
		}
	.subMain h1 {
		font-size:16px;
	}
}

/* !contents
---------------------------------------------------------- */
#contents {
	width:100%;
	position:relative;
	overflow:hidden;
}

.basic {
	width:auto;
	padding:90px 50px 100px 50px;
}
	.basic .inner {
		width:auto;
		max-width:1100px;
		margin-left:auto;
		margin-right:auto;
	}
	

@media screen and (max-width:1039px){
.basic {
	padding:70px 30px 80px 30px;
}
}
	
@media screen and (max-width:767px){
.basic {
	padding:60px 20px 70px 20px;
}
}

/* !会社概要
---------------------------------------------------------- */
dl.history {
	width:100%;
	max-width:1000px;
	margin:0 auto;
	position:relative;
}
	dl.history:before {
		position:absolute;
		content:"";
		width:1px;
		height:100%;
		background:#D6E7E2;
		top:0;
		left:150px;
	}
	dl.history dt {
		display: block;
		width:150px;
		float:left;
	}
	dl.history dd {
		position:relative;
		display: block;
		width:auto;
		margin-left:150px;
		padding-left:45px;
		margin-bottom:30px;
	}
		dl.history dd:last-child {
			margin-bottom:0;
		}
		dl.history dd:before {
			position:absolute;
			display:inline-block;
			content:"";
			width:11px;
			height:11px;
			background:#FFF;
			border:3px solid #B0D0C9;
			border-radius:50%;
			top:8px;
			left:-8px;
		}
		
.map {
	width:100%;
	max-width:1000px;
	margin:0 auto;
}

@media screen and (max-width:1039px){
	dl.history:before {
		left:140px;
	}
	dl.history dt {
		width:140px;
	}
	dl.history dd {
		margin-left:140px;
		padding-left:40px;
	}
		dl.history dd:before {
			top:6px;
		}
}
	
@media screen and (max-width:767px){
	dl.history:before {
		left:110px;
	}
	dl.history dt {
		width:110px;
	}
	dl.history dd {
		margin-left:110px;
		padding-left:20px;
	}
}

/* !事業概要
---------------------------------------------------------- */
.businessIcon {
	width:100%;
	padding:0 0 0 0;
}
	.businessIcon ul {
		width:100%;
		max-width:900px;
		margin:0 auto;
	}
		.businessIcon ul li {
			display:block;
			z-index:1;
			width:31%;
			height:240px;
			float:left;
			margin-right:3.5%;
			margin-bottom:30px;
			position:relative;
		}
			.businessIcon ul li:nth-child(3n) {
				margin-right:0;
			}
			.businessIcon ul li:last-child {
				margin-bottom:0;
			}
			.businessIcon ul li:nth-child(4) {
				margin-bottom:0;
			}
			.businessIcon ul li:nth-child(5) {
				margin-bottom:0;
			}
				.businessIcon ul li div.bg {
					position:absolute;
					width:100%;
					height:100%;
					top:0;
					left:0;
					z-index:2;
					transition: all .6s ease;
				}
				.businessIcon ul li div.business01 {
					background:url(../../img/business_img01.jpg) 50% 50% no-repeat;
					background-size:cover;
				}
				.businessIcon ul li div.business02 {
					background:url(../../img/business_img02.jpg) 50% 50% no-repeat;
					background-size:cover;
				}
				.businessIcon ul li div.business03 {
					background:url(../../img/business_img03.jpg) 50% 50% no-repeat;
					background-size:cover;
				}
				.businessIcon ul li div.business04 {
					background:url(../../img/business_img04.jpg) 50% 50% no-repeat;
					background-size:cover;
				}
				.businessIcon ul li div.business05 {
					background:url(../../img/business_img05.jpg) 50% 50% no-repeat;
					background-size:cover;
				}
				.businessIcon ul li div.business06 {
					background:url(../../img/business_img06.jpg) 50% 50% no-repeat;
					background-size:cover;
				}
				.businessIcon ul li div.mask {
					position:absolute;
					width:100%;
					height:100%;
					background:rgba(0, 0, 0, .45);
					top:0;
					left:0;
					z-index:3;
					transition: all 1.2s ease;
				}
					.businessIcon ul li div.mask p {
						position:absolute;
						font-size:18px;
						font-weight:bold;
						color:#FFF;
						text-align:center;
						letter-spacing:0.1em;
						top:43%;
						left:0;
						right:0;
						margin:auto;
					}
					
ul.businessList li {
	position:relative;
	display:inline-block;
	line-height:1.6;
	padding:1em 1.2em 1em 2.2em;
	background:#F1F8F7;
	margin-right:10px;
	margin-bottom:20px;
}
ul.businessList li:last-child {
	margin-bottom:0;
}
	ul.businessList li:before {
		position:absolute;
		content:"";
		width:6px;
		height:6px;
		background:#F36F20;
		border-radius:50%;
		top:25px;
		left:18px
	}
								
@media screen and (max-width:1039px){
.businessIcon {
	padding:0 0 0 0;
}
		.businessIcon ul li {
			height:180px;
		}
					.businessIcon ul li a div.mask p {
						font-size:16px;
						letter-spacing:0;
						top:44%;
					}
					.businessIcon ul li div.mask p {
						position:absolute;
						font-size:15px;
						font-weight:bold;
						color:#FFF;
						text-align:center;
						letter-spacing:0;
						top:42%;
						left:0;
						right:0;
						margin:auto;
					}
					
ul.businessList li {
	padding:1em 1.2em 1em 2.3em;
}
	ul.businessList li:before {
		top:22px;
		left:16px
	}
}

@media screen and (max-width:767px){
.businessIcon {
	padding:0 0 0 0;
}
	.businessIcon ul {
		height:auto;
		margin:0 auto;
	}
		.businessIcon ul li {
			width:50%;
			height:170px;
			margin-right:0;
			margin-bottom:0;
		}
			.businessIcon ul li:nth-child(even) {
				margin-right:0;
			}

			.businessIcon ul li:nth-child(3) {
				margin-right:0;
			}
			.businessIcon ul li:nth-child(4) {
				margin-left:0;
				margin-bottom:0;
			}
			.businessIcon ul li:nth-child(5) {
				margin-bottom:0;
			}
					.businessIcon ul li div.mask p {
						font-size:14px;
					}
					
ul.businessList li {
	position:relative;
	display:block;
	line-height:1.6;
	padding:1em 1.2em 1em 2.3em;
	background:#F1F8F7;
	margin-right:10px;
	margin-bottom:5px;
}
	ul.businessList li:before {
		position:absolute;
		content:"";
		width:6px;
		height:6px;
		background:#F36F20;
		border-radius:50%;
		top:22px;
		left:16px
	}
}

@media screen and (max-width:359px){
		.businessIcon ul li {
			height:160px;
		}
					.businessIcon ul li div.mask p {
						font-size:13px;
					}
}

/* !施工実績
---------------------------------------------------------- */
table.works {
	border: 1px solid #C7DED7;
	border-collapse: collapse;
	margin: 0;
	padding: 0;
	width: 100%;
}
	table.works tr {
		border: 1px solid #C7DED7;
	}
	table.works th,
	table.works td {
		line-height:1.6;
		padding: 0.8em;
	}
	table.works th{
		background:#EDF5F4;
		text-align:center;
		font-weight:bold;
		vertical-align:top;
		border-right:1px solid #C7DED7;
	}
	table.works td{
		background:#FFF;
		vertical-align:top;
		border-right:1px solid #C7DED7;
	}
@media screen and (max-width:1039px){
	table.works th,
	table.works td {
		padding: 0.6em;
	}
}

@media screen and (max-width:767px){
table.works thead {
    display: none;
}
	table.works tr {
		display: block;
		border: 0;
		padding: 0;
		border-bottom:1px solid #C7DED7;
	}
	  	table.works tr:last-child {
			border-bottom:0;
		}
	table.works td {
		border-right:0;
		display: block;
		border-bottom:1px dotted #C7DED7;
	}
	  	table.works tr:nth-child(even) td {
			background:#F1F8F7;
		}
	  table.works tr td:last-child {
		  border-bottom:0;
	  }
		table.works td:before {
			display:block;
			font-weight:bold;
			content: attr(aria-label);
		}
		table.works td br {
			display:none;
		}
}

/* !採用情報
---------------------------------------------------------- */
.recruitIntro {
	width:auto;
	padding:100px 0 0 0;
}
	.recruitIntro div.inner {
		width:auto;
		margin-left:7%;
		margin-bottom:100px;
	}
		.recruitIntro div.inner div.left {
			width:43%;
			float:left;
		}
			.recruitIntro div.inner div.left h2 {
				font-weight:bold;
				color:#F26E1F;
				line-height:1;
				margin-bottom:50px;
			}
				.recruitIntro div.inner div.left h2 span {
					display:inline-block;
					position:relative;
					font-family: 'Roboto', sans-serif;
					font-size:24px;
					font-weight:500;
					letter-spacing:0.04em;
					padding-right:120px;
					margin-right:20px;
				}
					.recruitIntro div.inner div.left h2 span:after {
						position:absolute;
						content:"";
						width:100px;
						height:1px;
						background:#F26E1F;
						top:14px;
						right:0;
					}
		.recruitIntro div.inner img {
			display:block;
			width:50%;
			margin-left:50%;
		}
	.recruitIntro ul.photo2 {
		width:100%;
	}
		.recruitIntro ul.photo2 li {
			width:33.33%;
			float:left;
		}
			.recruitIntro ul.photo2 li img {
				display:block;
				width:100%;
			}
@media screen and (max-width:1039px){
.recruitIntro {
	padding:80px 0 0 0;
}
	.recruitIntro div.inner {
		margin-left:5%;
		margin-bottom:80px;
	}
			.recruitIntro div.inner div.left h2 {
				margin-bottom:40px;
			}
				.recruitIntro div.inner div.left h2 span {
					font-size:22px;
					padding-right:100px;
				}
					.recruitIntro div.inner div.left h2 span:after {
						width:80px;
						top:13px;
					}
}

@media screen and (max-width:767px){
.recruitIntro {
	padding:60px 0 0 0;
}
	.recruitIntro div.inner {
		width:auto;
		margin:0 20px 50px 20px;
	}
		.recruitIntro div.inner div.left {
			width:100%;
			float:none;
			margin-bottom:50px;
		}
				.recruitIntro div.inner div.left h2 span {
					font-size:20px;
					padding-right:80px;
				}
					.recruitIntro div.inner div.left h2 span:after {
						width:60px;
						top:11px;
					}
		.recruitIntro div.inner img {
			width:100%;
			max-width:320px;
			margin:0 auto;
		}
	.recruitIntro ul.photo2 {
		width:100%;
		max-width:360px;
		margin:0 auto;
	}
		.recruitIntro ul.photo2 li {
			width:100%;
			float:none;
			padding:0 20px;
		}
			.recruitIntro ul.photo2 li img {
				display:block;
				width:100%;
			}
}

/* !お問い合わせ
---------------------------------------------------------- */
.telBox {
	max-width:700px;
	background:#F1EEEB;
	padding:30px;
	margin:0 auto 100px auto;
}
	.telBox p {
		text-align:center;
		font-size:18px;
	}
		.telBox p i.fa {
			margin-right:0.4em;
			font-size:24px;
			color:#F36F20;
		}
		.telBox p span {
			font-family: 'Roboto', sans-serif;
			font-size:30px;
			color:#F36F20;
			margin-left:20px;
			letter-spacing:0.04em;
		}
		.telBox p br {
			display:none;
		}
			
ul.contactStep {
	width:100%;
	margin:0 auto 55px auto;
}
	ul.contactStep li {
		width:30%;
		float:left;
		margin-right:5%;
	}
		ul.contactStep li:last-child {
			margin-right:0;
		}
		ul.contactStep li.norm {
			display:block;
			height:54px;
			line-height:54px;
			background:#FCD7C0;
			text-align:center;
			font-size:20px;
			font-weight:bold;
			color:#F36F20;
			position:relative;
		}
			ul.contactStep li.norm:after {
				position:absolute;
				content:"";
				width: 0;
				height: 0;
				border-style: solid;
				border-width: 27px 0 27px 27px;
				border-color: transparent transparent transparent #FCD7C0;
				top:0;
				right:-27px;
			}
				ul.contactStep li:last-child.norm:after {
					display:none;
				}
		ul.contactStep li.current {
			display:block;
			height:54px;
			line-height:54px;
			background:#F36F20;
			text-align:center;
			font-size:20px;
			font-weight:bold;
			color:#FFF;
			position:relative;
		}
			ul.contactStep li.current:after {
				position:absolute;
				content:"";
				width: 0;
				height: 0;
				border-style: solid;
				border-width: 27px 0 27px 27px;
				border-color: transparent transparent transparent #F36F20;
				top:0;
				right:-27px;
			}
				ul.contactStep li:last-child.current:after {
					display:none;
				}

#contactForm {
	width:auto;
	max-width:1000px;
	margin:0 auto;
}

@media screen and (max-width:1039px){
.telBox {
	margin:0 auto 80px auto;
}
	.telBox p {
		font-size:16px;
	}
		.telBox p i.fa {
			font-size:22px;
		}
		.telBox p span {
			font-size:28px;
		}
}

@media screen and (max-width:767px){
.telBox {
	padding:20px;
	margin:0 auto 70px auto;
}
	.telBox p {
		font-size:16px;
	}
		.telBox p i.fa {
			font-size:18px;
		}
		.telBox p span {
			font-size:22px;
			margin-left:0;
		}
		.telBox p br {
			display:block;
		}
		
ul.contactStep {
	margin:0 auto 50px auto;
}
	ul.contactStep li {
		width:28%;
		margin-right:8%;
	}
		ul.contactStep li.norm {
			height:46px;
			line-height:46px;
			font-size:100%;
		}
			ul.contactStep li.norm:after {
				border-width: 23px 0 23px 23px;
				right:-23px;
			}
		ul.contactStep li.current {
			height:46px;
			line-height:46px;
			font-size:100%;
		}
			ul.contactStep li.current:after {
				border-width: 23px 0 23px 23px;
				right:-23px;
			}
	
}

/* !ニュースリリース
---------------------------------------------------------- */
.news {
	border-top:1px dotted #D5CCC4;
}
.topicsList{
	width:auto;
}
	.topicsList a{
		display:block;
		width:auto;
		padding:1.2em 0.6em;
		background:#FFF;
		color:#31424E;
		-webkit-transition: all 0.4s ease;
		-moz-transition: all 0.4s ease;
		transition: all 0.4s ease;
		border-bottom:1px dotted #D5CCC4;
	}
	.topicsList a dt{
		width:20%;
		font-weight:normal;
		line-height:1.6;
		float:left;
		
	}
	.topicsList a dd{
		width:80%;
		font-weight:normal;
		line-height:1.6;
		float:left;
		-webkit-transition: all 0.4s ease;
		-moz-transition: all 0.4s ease;
		transition: all 0.4s ease;
	}
		.topicsList a:hover dd{
			color:#F36F20;
		}
	
ul.articleNavi{
	width:60%;
	margin-left:auto;
	margin-right:auto;
}
	ul.articleNavi li {
		width:33.3%;
		float:left;
	}
	ul.articleNavi li a{
		display:block;
		height:50px;
		line-height:50px;
		background:#DFECE9;
		color:#31424E;
		text-align:center;
		-webkit-transition: all .5s;
		transition: all .5s;
		margin-left:1px;
	}
	ul.articleNavi li a:hover{
		background:#C9DEDA;
	}
		ul.articleNavi li:first-child a{
			border-radius:4px 0 0 4px;
		}
		ul.articleNavi li:last-child a{
			border-radius:0 4px 4px 0;
		}
	
.articleBody {
	margin-bottom:50px;
}
	.articleBody p.date{
		color:#F36F20;
		font-weight:bold;
		margin-bottom:5px;
	}
	.articleBody h2.tit{
		font-size:20px;
		font-weight:bold;
		line-height:1.6;
		border-bottom:1px solid #D6E7E2;
		padding-bottom:15px;
		margin-bottom:30px;
	}
	.articleBody div.txt p {
		margin-bottom:20px;
	}
	
.imgBlock {
	text-align:center;
}
.imgBlock div {
	margin-bottom:20px;
}
.imgBlock img {
	display:block;
	width:auto;
	max-width:80%;
	margin:0 auto 20px auto;
}

@media screen and (max-width:1039px){
		.topicsList a:hover dd{
			color:#31424E;
		}

ul.articleNavi li a:hover{
	background:#DFECE9;
}
	.articleBody h2.tit{
		font-size:18px;
	}
}

@media screen and (max-width:767px){
	.topicsList a dt{
		width:100%;
		float:none;
		margin-bottom:5px;
	}
	.topicsList a dd{
		width:100%;
		float:none;
	}
	
ul.articleNavi{
	width:100%;
	font-size:12px;
}
	
	.articleBody h2.tit{
		font-size:16px;
	}

.imgBlock img {
	width:100%;
	max-width:320px;
}
}
