﻿@import url('https://fonts.googleapis.com/css?family=Poppins:200,400,700');
@import url('https://fonts.googleapis.com/css?family=Oswald');

/*****************************************************************************
 RESET CSS
 *****************************************************************************/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
figure {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset,
img {
	border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
	font-weight: normal;
}

ol,
ul {
	list-style: none;
}

caption,
th {
	text-align: left;
}

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

q:before,
q:after {
	content: '';
}

abbr,
acronym {
	border: 0;
}

img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
	-ms-interpolation-mode: bicubic;
}

main {
	display: block;
}

/*****************************************************************************
 CLEAR
 *****************************************************************************/
.clearfix:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: inline-table;
}

/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}

/* End hide from IE-mac */

/*****************************************************************************
 BASICS
 *****************************************************************************/
html {
	font-size: 62.5%;
}

body {
	background: #fff;
	font-family: 'Montserrat', 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
	line-height: 1.8;
	color: #000;
	font-size: 14px;
	font-size: 1.4rem;
	-webkit-text-size-adjust: none;
	min-width: 1080px;
}

body,
html {
	height: 100%;
	margin: 0 auto;
}

body * {
	box-sizing: border-box;
}

a {
	text-decoration: none;
	color: #000;
	outline: none;
	transition: all 0.3s;
}

a:hover {
	text-decoration: none;
	color: #333;
}

a:hover img {
	opacity: 0.8;
	transition: all 0.3s;
}

::selection {
	background: rgba(16, 22, 36, 0.6);
}

::-moz-selection {
	background: rgba(16, 22, 36, 0.4);
}

/* common */
.inner {
	width: 1080px;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
}

.sp {
	display: none;
}

.mincho {
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}

.cen {
	text-align: center;
}

.red {
	color: #E50000;
}

.blue {
	color: #2959a4;
}

.bold {
	font-weight: bold;
}

main {}

@media screen and (max-width: 768px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
}

@media screen and (max-width: 480px) {
	body {
		font-size: 12px;
	}
}

#fixedTop {
	right: 10px;
	bottom: 10px;
	width: 50px;
	height: 50px;
	line-height: 50px;
	color: #fff;
	font-size: 20px;
	text-align: center;
	display: none;
	background: rgba(0, 0, 0, 0.7);
	position: fixed;
	z-index: 9999;
	border-radius: 50%;
	-webkit-transform: translateZ(0);
}

#fixedTop:hover {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.6;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.row {
	clear: both;
	display: flex;
	flex-flow: row wrap;
}

.row-reverse {
	clear: both;
	display: flex;
	flex-flow: row-reverse wrap;
}

.col-01,
.col-02,
.col-024,
.col-03,
.col-04,
.col-05,
.col-06,
.col-07,
.col-08,
.col-09,
.col-10,
.col-11,
.col-12 {
	padding: 0 15px;
	display: inline-block;
	border: 0px solid red;
}

.col-01 {
	width: 8.33333%;
}

.col-02 {
	width: 16.66667%;
}

.col-024 {
	width: 20%;
}

.col-03 {
	width: 25%;
}

.col-04 {
	width: 33.33333%;
}

.col-05 {
	width: 41.66667%;
}

.col-06 {
	width: 50%;
}

.col-07 {
	width: 58.33333%;
}

.col-08 {
	width: 66.66667%;
}

.col-09 {
	width: 75%;
}

.col-10 {
	width: 83.33333%;
}

.col-11 {
	width: 91.66667%;
}

.col-12 {
	width: 100%;
}

.col-half {
	padding: 0px;
	display: inline-block;
	width: 50%;
}


.tocontact {
	height: 30px;
}

.tocontact li {
	display: inline-block;
}

.tocontact li a {
	display: inline-block;
	color: #fff;
	width: 100%;
	min-width: 120px;
	height: 30px;
	text-align: center;
	vertical-align: middle;
	line-height: 30px;
	padding: 0px 10px;
}

.tocontact li.phone a {
	font-size: 24px;
	background: #0d3594;
}

.tocontact li.fax a {
	font-size: 24px;
	background: #2959a4;
}

.tocontact li.form a {
	background: #f37800;
}

.tocontact li.phone a:hover,
.tocontact li.form a:hover {
	opacity: 0.8;
}


/*--header--*/
.sb-slide {
	display: none;
}

header {
	position: relative;
	height: 80px;
	border-bottom: 5px solid #0d3594;
}

header h1 {
	float: left;
	padding: 8px;
}

header h1 img {
	width: 227px;
}

header .head_navi {
	float: right;
	text-align: right;
}

header .navi {
	margin-right: 20px;
	padding-top: 10px;
}

header .navi li {
	display: inline-block;
	padding-left: 20px;
}

header .navi li:not(:last-child):after {
	content: "|";
	color: #a6cefb;
	margin-left: 20px;
}

header .navi li a:hover {
	color: #4374C0;
}

/*--footer--*/
footer {
	position: relative;
	border-top: 5px solid #0d3594;
	background: #fff linear-gradient(#fff, #e1e1e1);
	padding-top: 50px;
}

footer h1 {
	padding: 2px 0px 0px;
}

footer h1 img {
	width: 227px;
}

footer .foot_info {
	margin-left: 65px;
	width: 340px;
}

footer .foot_info dl {
	padding: 20px 0px;
	color: #333;
	font-size: 13px;
	line-height: 1.4;
}

footer .foot_info dl:first-child {
	border-bottom: 1px solid #d0d0d0;
}

footer .foot_info dl dt {
	font-weight: bold;
}

footer .foot_info dl dd {
	padding-left: 5px;
}

footer .foot_info dl dd a {
	color: #f49d22;
}

footer .foot_navi {
	text-align: right;
}

footer .foot_navi .tocontact {
	margin-bottom: 30px;
}

footer .foot_navi .navi {
	display: inline-block;
	width: 176px;
	text-align: left;
	vertical-align: top;
	line-height: 1.6;
}

footer .foot_navi .navi a {
	font-size: 13px;
	color: #666;
}

footer .foot_navi .navi a:hover {
	color: #f37800;
}

footer .foot_navi .navi>li {
	font-weight: bold;
	margin-bottom: 8px;
}

footer .foot_navi .navi li:before {
	content: "\f105";
	font-family: Fontawesome;
	color: #a6cefb;
	font-weight: normal;
	margin-right: 5px;
}

footer .foot_navi .navi li ul li {
	padding-left: 20px;
	font-weight: normal;
}

footer .copyright {
	margin-top: 60px;
	background: #0d3594;
	text-align: center;
	color: #fff;
	font-family: "Poppins";
	font-size: 11px;
	letter-spacing: 0.1em;
	font-weight: 200;
	padding: 10px;
}


@media screen and (max-width: 768px) {
	* {
		-webkit-text-size-adjust: 100%;
		-webkit-appearance: none;
	}

	body {
		min-width: initial;
		min-width: auto;
	}

	.inner {
		width: 100%;
	}

	img {
		max-width: 100%;
		height: auto;
	}

	main {
		width: 100%;
		padding-top: calc(2.6875vw * 5);
	}

	.col-01,
	.col-02,
	.col-024,
	.col-03,
	.col-04,
	.col-05,
	.col-06,
	.col-07,
	.col-08,
	.col-09,
	.col-10,
	.col-11,
	.col-12 {
		padding: 0px 5px;
	}

	.col-01 {
		width: 100%;
	}

	.col-02 {
		width: 100%;
	}

	.col-024 {
		width: 100%;
	}

	.col-03 {
		width: 100%;
	}

	.col-04 {
		width: 100%;
	}

	.col-05 {
		width: 100%;
	}

	.col-06 {
		width: 100%;
	}

	.col-07 {
		width: 100%;
	}

	.col-08 {
		width: 100%;
	}

	.col-09 {
		width: 100%;
	}

	.col-10 {
		width: 100%;
	}

	.col-11 {
		width: 100%;
	}

	.col-12 {
		width: 100%;
	}

	.col-half {
		width: 100%;
	}


	/*slidemenu*/
	#sb-site {
		background: #fff;
	}

	.sb-slidebar {
		background: #ddd;
		min-height: 100%;
	}

	.sb-slide {
		display: block;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 1000;
		font-size: calc(4.6875vw * 1.2);
		line-height: 1.2;
		-webkit-transform: translate3d(0, 0, 2px);
		transform: translate3d(0, 0, 2px);
	}

	.sb-slide .sb-close,
	.sb-active .sb-slide .sb-toggle-right {
		display: none;
	}

	.sb-active .sb-slide .sb-close {
		display: flex;
	}

	.sb-slidebar ul.navi li {
		border-bottom: 1px dotted #bbb;
	}

	.sb-slidebar ul.navi li.sb-close {
		align-items: left;
		display: block;
		height: 3.2em;
	}

	.sb-slidebar ul.navi li a {
		display: block;
		padding: 0.7em 1.1em;
	}

	.sb-slidebar ul.navi li a:before {
		content: "\f105";
		font-family: FontAwesome;
		margin-right: 5px;
		color: #0d3594;
	}

	.sb-slidebar ul.tocontact {
		height: auto;
		margin-top: 10px;
		padding: 0px 3% 50px;
	}

	.sb-slidebar ul.tocontact li {
		width: 100%;
		margin-bottom: 5px;
	}

	.sb-slidebar ul.tocontact li a {
		padding: 5px;
		height: 40px;
	}

	/*--header--*/
	.sb-slide {
		width: 100%;
		height: 13.5vw;
		display: flex;
		overflow: hidden;
		border-bottom: 2px solid #0d3594;
	}

	.sb-slide h1 {
		width: 70%;
		background: #fff;
	}

	.sb-slide h1 a {
		display: block;
		height: 13.5vw;
		padding: 8px 3vw 10px;
	}

	.sb-slide h1 a img {
		max-height: 100%;
	}

	.sb-slide .phone,
	.sb-slide .menu {
		width: 15%;
		height: 13.5vw;
		position: relative;
		font-size: calc(4.6875vw * 1.2);
		color: #fff;
	}

	.sb-slide .phone {
		background: #f37800;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.sb-slide .phone a {
		color: #fff;
		display: block;
	}

	.sb-slide .menu {
		background: #0d3594;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
	}

	.sb-toggle-right,
	.sb-close {
		width: 100%;
		height: 13.5vw;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	footer .foot_navi {
		display: none;
	}

}

@media screen and (max-width: 480px) {
	footer .foot_info {
		margin: 0px 5px;
		max-width: calc(100% - 10px);
	}

}

@media screen and (max-width: 375px) {
	.sb-slide h1 a {
		padding: 4px 3vw 5px;
	}

}



/*****************************************************************************
 PAGE COMMON
 *****************************************************************************/
h2 {
	text-align: center;
	font-size: 40px;
	line-height: 36px;
	padding: 80px 0px;
}

h2 span {
	display: block;
	font-size: 14px;
	color: #4d6ebc;
}

.page_ttl {
	background-size: cover;
}

.page_ttl h2 {
	color: #fff;
	background: rgba(13, 18, 27, 0.5);
}

.page_ttl h2 span {
	color: #fff;
}

#business .page_ttl,
#works .page_ttl,
#construction .page_ttl {
	background: url("../img/business/ttl_bg.jpg") no-repeat center top;
}

#company .page_ttl,
#recruit .page_ttl,
#contact .page_ttl {
	background: url("../img/company/ttl_bg.jpg") no-repeat center top;
}

h3.page_h3 {
	font-size: 30px;
	border-bottom: 1px solid #a6cefb;
	padding-bottom: 5px;
	margin-bottom: 20px;
	line-height: 1.4;
}

h3.page_h3 span {
	color: #4d6ebc;
	font-size: 13px;
	padding-left: 15px;
}

.link_btn {
	display: inline-block;
	width: 240px;
	border-width: 1px;
	border-style: solid;
	text-align: center;
	padding: 6px;
}

.link_btn:after {
	content: "\f138";
	font-family: FontAwesome;
	margin-left: 5px;
}

.page_link {
	padding: 60px 0px 40px;
}

.page_link li {}

.page_link a {
	display: block;
	text-align: center;
	border: 1px solid #0d3594;
	color: #0d3594;
	font-weight: bold;
	padding: 6px;
	font-size: 14px;
}

.page_link a:after {
	content: "\f107";
	font-family: FontAwesome;
	margin-left: 5px;
}

.page_link a:hover {
	border: 1px solid #fff;
	color: #fff;
}



@media screen and (max-width: 768px) {
	.page_ttl h2 {
		padding: 60px 0px;
	}

	h3.page_h3 {
		margin-top: 20px;
		font-size: 28px;
	}

	h3.page_h3 span {
		font-size: 12px;
		display: block;
		padding-left: 5px;
	}

	.page_link {
		padding: 60px 10% 40px;
	}

	.page_link li {
		margin-bottom: 5px;
	}

}


@media screen and (max-width: 480px) {
	h2 {
		font-size: 36px;
		padding: 70px 0px 50px;
	}

	h2 span {
		font-size: 13px;
	}

	.page_ttl h2 {
		padding: 40px 0px;
	}

	.page_link {
		padding: 60px 5% 40px;
	}

}


/*****************************************************************************
 INDEX
 *****************************************************************************/
#loading {
	width: 100%;
	height: 100%;
	margin: 0;
	background: #0d3594;
	opacity: 1.0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10001;
}

#loading img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.mainimage {
	position: relative;
}

.mainimage .bxslider li,
.mainimage .bxslider li img {
	width: 100%;
}

/* #top_business{padding:30px 0px;}
#top_business .col-04{text-align:center;}
#top_business .col-04 > div{height:300px;position:relative;background:#101624;color:#fff;padding-top:40px;}
#top_business .civil div{background:url("../img/index/construction1bg.jpg") no-repeat top left;background-size:cover;}
#top_business .plant div{background:url("../img/index/construction2bg.jpg") no-repeat top center;background-size:cover;}
#top_business .painting div{background:url("../img/index/construction3bg.jpg") no-repeat top right;background-size:cover;}
#top_business h4{font-size:28px;}
#top_business h4:after{content:"";display:block;width:48px;height:1px;background:#fff;margin:0px auto 30px;}
#top_business p{height:90px;margin-bottom:10px;}
#top_business .link_btn{color:#fff;border-color:#fff;}
#top_business .link_btn:hover{background:#101624;} */

#information {
	padding: 60px 0px 100px;
}

#information .information_inner {
	height: 200px;
	overflow-x: hidden;
	overflow-y: scroll;
}

#information dl {
	display: flex;
	flex-flow: row nowrap;
	padding: 20px 0px;
	border-bottom: 1px solid #eee;
}

#information dl dt {
	width: 130px;
	margin-right: 44px;
}

#information dl dt p {
	background: #eee;
	color: #0d3594;
	text-align: center;
	padding: 5px;
}

#information dl dd {
	color: #222;
	font-size: 16px;
}

#information dl dd p.bold {
	margin-bottom: 5px;
}

#recruit_banner {
	background: url("../img/index/recruit_bg.jpg") repeat #072262;
	color: #fff;
}

#recruit_banner .recruit_banner_inner {
	background: url("../img/index/recruit_bg.png") no-repeat top left;
	height: 380px;
	padding: 70px 10px 0px 630px;
	overflow: hidden;
}

#recruit_banner h3 {
	font-size: 30px;
	margin-bottom: 30px;
	line-height: 1.4;
}

#recruit_banner p {
	font-size: 15px;
	margin-bottom: 40px;
}

#recruit_banner .link_btn {
	color: #fff;
	border-color: #fff;
	background: #072262;
}

#recruit_banner .link_btn:hover {
	background: #04163F;
}

#top_works {
	padding: 30px 0px 100px;
	background: #e9edf0;
}

#top_works ul {
	padding: 5px;
}

#top_works ul li {
	width: 25%;
	padding: 10px;
	height: 250px;
}

#top_works ul li:nth-child(n+9) {
	display: none;
}

#top_works ul li a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
}

#top_works ul li a img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

#top_works ul li a p.works_name {
	position: absolute;
	width: 100%;
	height: 4em;
	bottom: 0px;
	background: rgba(0, 0, 0, 0.5);
	padding: 10px 15px;
	bottom: 0px;
	color: #fff;
	font-weight: bold;
	line-height: 1.2;
}

#top_works ul li a p.works_type {
	position: absolute;
	font-size: 13px;
	color: #fff;
	bottom: 4em;
	left: 0px;
	padding: 5px 15px;
}

#top_works ul li p.type_plant {
	background: #969988;
}

#top_works ul li p.type_plumbing {
	background: #82979c;
}

#top_works ul li p.type_heavy {
	background: #8c908b;
}

#top_works ul li p.type_civil {
	background: #9f9474;
}

#top_works ul li p.type_painting {
	background: #939c82;
}

#top_works .link_btn {
	color: #0d3594;
	border-color: #0d3594;
	margin: 40px auto;
}

#top_works .link_btn:hover {
	background: #0d3594;
	color: #fff;
}

#philosophy {
	padding: 60px 0px 120px;
}

#philosophy .col-12 {
	position: relative;
}

#philosophy .greeting {}

#philosophy .philosophy_inner {
	display: block;
	width: 930px;
	background: #fff;
	padding: 60px 50px;
	margin: -50px auto 0px;
	position: relative;
}

#philosophy h3 {
	font-size: 30px;
	line-height: 1.2;
	margin-bottom: 40px;
}

#philosophy .philosophy_inner p {
	font-size: 16px;
	line-height: 2.4em;
}

.gallery li {
	width: 16.666%;
}

#top_sss {
	background: url("../img/common/SSS-bg.jpg") no-repeat center bottom #8fa2b5;
	background-attachment: fixed;
	background-size: cover;
	text-align: center;
	min-height: 100vh;
	height: 100%;
	position: relative;
}

#top_sss div.pc {
	height: 480px;
	position: absolute;
	bottom: 20px;
	left: 0;
	right: 0;
	margin: auto;
}

.map iframe {
	width: 100%;
	height: 420px;
	vertical-align: bottom;
}


@media screen and (max-width: 768px) {

	#top_business {
		padding: 30px 10%;
	}

	#top_business .col-04 {
		margin-bottom: 10px;
	}

	#top_business p {
		margin-bottom: 0px;
	}

	#information dl dt {
		width: 120px;
		margin-right: 20px;
	}

	#information dl dd {
		width: calc(100% - 140px);
	}

	#recruit_banner .recruit_banner_inner {
		background: none;
		padding: 70px 10px 0px 10px;
		text-align: center;
	}

	#top_works ul li {
		width: 50%;
	}

	#philosophy {
		padding: 30px 0px 90px;
	}

	#philosophy .philosophy_inner {
		width: 94%;
		margin: -30px auto 30px;
		padding: 40px 30px;
	}

	#philosophy h3 {
		font-size: 26px;
		line-height: 1.5;
	}

	.gallery li {
		width: 33.333%;
	}

	#top_sss {
		min-height: 10px;
		height: auto;
	}

	#top_sss div {
		width: 100%;
		overflow: hidden;
	}

	#top_sss div img {
		width: 100%;
		max-width: 100% !important;
		margin: 0px -10%;
	}

	.map iframe {
		height: 320px;
	}

}


@media screen and (max-width: 480px) {

	#top_business {
		padding: 30px 0px;
	}

	#information dl dt {
		width: 90px;
		margin-right: 10px;
	}

	#information dl dt p {
		padding: 5px 0px;
	}

	#information dl dd {
		width: calc(100% - 100px);
	}

	#information dl dt p {
		padding: 5px;
		font-size: 10px;
	}

	#information dl dd {
		font-size: 14px;
	}

	#recruit_banner .recruit_banner_inner {
		padding: 50px 10px 0px 10px;
	}

	#recruit_banner h3 {
		font-size: 26px;
		margin-bottom: 20px;
	}

	#recruit_banner p {
		font-size: 14px;
		margin-bottom: 30px;
	}

	#top_works ul {
		width: 90%;
		margin: 0px auto;
	}

	#top_works ul li {
		width: 100%;
	}

	#philosophy .philosophy_inner {
		padding: 20px 10px;
		margin-top: -10px;
	}

	#philosophy h3 {
		font-size: 19px;
	}

	#philosophy .philosophy_inner p {
		font-size: 14px;
		line-height: 2em;
	}

	#top_sss div img {
		width: 100%;
		margin: 0px -14%;
	}

	.map iframe {
		height: 220px;
	}

}


/*****************************************************************************
 事業紹介 工事実績 施工実績
 *****************************************************************************/
#business #civil {
	padding: 80px 0px 40px;
}

#business #plant {
	padding: 40px 0px;
}

#business #painting {
	padding: 40px 0px 90px;
}

#business section ul li {
	font-size: 16px;
	margin-bottom: 5px;
	color: #333;
}

#business section ul li:before {
	content: "\f14a";
	font-family: FontAwesome;
	margin-right: 5px;
	color: #0d3594;
}


#construction #plant {
	padding: 80px 0px 40px;
}

#construction #electrical {
	padding: 40px 0px;
}

#construction #civil {
	padding: 40px 0px 90px;
}

#construction table {
	width: 100%;
	color: #333;
}

#construction table th {
	background: #efefef;
	text-align: center;
	padding: 10px;
	font-weight: bold;
	font-size: 15px;
	letter-spacing: 0.1em;
}

#construction table tr th:first-child {
	width: 50.5%;
}

#construction table td {
	padding: 10px 5px;
	border-bottom: #eee solid 1px;
}


#works #plant {
	padding: 50px 0px;
}

#works #plumbing {
	padding: 50px 0px;
}

#works #heavy {
	padding: 50px 0px;
}

#works #civil {
	padding: 50px 0px;
}

#works #painting {
	padding: 50px 0px 100px;
}

#works .page_link li:nth-of-type(1) a:hover {
	background: #969988;
}

#works .page_link li:nth-of-type(2) a:hover {
	background: #82979c;
}

#works .page_link li:nth-of-type(3) a:hover {
	background: #8c908b;
}

#works .page_link li:nth-of-type(4) a:hover {
	background: #9f9474;
}

#works .page_link li:nth-of-type(5) a:hover {
	background: #939c82;
}

.works_box {
	margin: 20px auto 40px;
	width: 100%;
	font-size: 16px;
}

.works_box h4 {
	font-size: 22px;
	margin-bottom: 5px;
	line-height: 1.4;
}

#works #plant .works_box h4:before {
	content: "\f0ad";
	font-family: FontAwesome;
	margin-right: 5px;
	font-size: 120%;
	color: #969988;
}

#works #plumbing .works_box h4:before {
	content: "\f0ad";
	font-family: FontAwesome;
	margin-right: 5px;
	font-size: 120%;
	color: #82979c;
}

#works #heavy .works_box h4:before {
	content: "\f0ad";
	font-family: FontAwesome;
	margin-right: 5px;
	font-size: 120%;
	color: #8c908b;
}

#works #civil .works_box h4:before {
	content: "\f0ad";
	font-family: FontAwesome;
	margin-right: 5px;
	font-size: 120%;
	color: #9f9474;
}

#works #painting .works_box h4:before {
	content: "\f0ad";
	font-family: FontAwesome;
	margin-right: 5px;
	font-size: 120%;
	color: #939c82;
}

.no_item {
	padding: 50px 10px;
	text-align: center;
	background: linear-gradient(90deg, #fff, #f5f5f5, #fff);
	color: #666;
}

.works_box li {
	width: 16.66667%;
	padding: 1px;
}


@media screen and (max-width: 768px) {
	#construction .scroll {
		overflow-x: scroll !important;
	}

	#construction .scroll table {
		min-width: 1000px;
	}

	#construction .scroll>p {
		font-size: 11px;
		color: #666;
	}

	.works_box h4 {
		font-size: 20px;
	}

	.works_box li {
		width: 20%;
	}

}


@media screen and (max-width: 480px) {
	#business section ul li {
		font-size: 15px;
	}

	#construction .scroll table {
		min-width: 900px;
	}

	.works_box h4 {
		font-size: 18px;
	}

	.works_box li {
		width: 25%;
	}

}


/*****************************************************************************
 会社概要 採用情報
 *****************************************************************************/
#company .map {
	padding-top: 90px;
}

#company .map dl {
	margin-bottom: 10px;
}

#company .map dt {
	font-size: 28px;
}

#company .map dt:before {
	content: "\f0f7";
	font-family: FontAwesome;
	margin-right: 5px;
	color: #2959a4;
}

#company .map dd {
	font-size: 16px;
}

#company .map a i {
	color: #f49d22;
}

#company #outline {
	padding: 80px 0px 40px;
}

#company #outline table {
	width: 100%;
	font-size: 15px;
	border-top: #eee solid 1px;
}

#company #outline table th {
	width: 24%;
	background: #efefef;
	padding: 10px 20px;
	border-bottom: 1px solid #fff;
	/*vertical-align:top;*/
}

#company #outline table td {
	padding: 10px 20px;
	border-bottom: #eee solid 1px;
}


#recruit #intro {
	padding: 80px 0px 40px;
	text-align: center;
}

#recruit #requirements {
	padding: 40px 0px 90px;
}

#recruit .gallery a {
	pointer-events: none;
}

#recruit #intro h3 {
	font-size: 30px;
	margin-bottom: 20px;
	line-height: 1.4;
}

#recruit #intro p {
	font-size: 16px;
	margin-bottom: 40px;
}

#recruit #intro .tocontact {
	margin-bottom: 60px;
	height: 40px;
}

#recruit #intro .tocontact li.phone a {
	font-size: 28px;
	padding: 5px 40px;
	height: 40px;
}

#requirements table {
	width: 100%;
	font-size: 15px;
	border-top: #E2F0FF solid 1px;
}

#requirements table th {
	width: 22%;
	background: #EBF5FF;
	padding: 10px 20px;
	border-bottom: 1px solid #fff;
}

#requirements table td {
	padding: 10px 20px;
	border-bottom: #E2F0FF solid 1px;
}


#contact #form {
	padding: 80px 0px;
}

#form p {
	margin-bottom: 5px;
}

#form .red {
	padding: 0px 0.2em;
}

#form table {
	width: 100%;
	font-size: 15px;
	border-top: #FFEFDA solid 1px;
	margin: 20px auto;
}

#form table th {
	width: 22%;
	background: #FFF4E2;
	padding: 10px 20px;
	border-bottom: 1px solid #fff;
}

#form table td {
	padding: 10px 20px;
	border-bottom: #FFEFDA solid 1px;
}

input[type="text"] {
	font-size: 16px;
	padding: 0.5em;
	height: 38px;
	width: 580px;
	max-width: 100% !important;
	border: 3px solid #eee;
}

input[type="text"].w5 {
	width: 100px !important;
}

textarea {
	font-size: 16px;
	padding: 0.5em;
	width: 580px;
	max-width: 100%;
	height: 160px;
	border: 3px solid #eee;
}

label {
	margin-right: 20px;
}

label,
input[type='checkbox'] {
	cursor: pointer;
}

#button {
	margin: 50px auto;
	width: 86%;
}

#button input[type="submit"],
#button input[type="reset"],
#button input[type="button"] {
	width: 100%;
	height: 50px;
	border: none;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	color: white;
	padding: 15px;
	margin-bottom: 10px;
	letter-spacing: 0.1em;
}

.btn_submit {
	background: #F78D27;
}

.btn_reset {
	background: #9a9a9a;
}

#button input:hover {
	cursor: pointer;
	opacity: 0.9;
}


@media screen and (max-width: 768px) {
	#company #outline table th {
		padding: 10px;
	}

	#company #outline table td {
		padding: 10px;
	}

	#recruit .gallery li {
		width: 25%;
	}

	#recruit #intro h3 {
		font-size: 26px;
	}

	#recruit #intro p {
		font-size: 15px;
	}

	#requirements table th {
		padding: 10px;
		width: 27%;
	}

	#requirements table td {
		padding: 10px;
	}

	#form table th {
		display: block;
		width: 100%;
	}

	#form table td {
		display: block;
		width: 100%;
	}

	input[type="text"] {
		width: 100%;
	}

	textarea {
		width: 100%;
	}

}


@media screen and (max-width: 480px) {
	#company #outline table {
		font-size: 13px;
	}

	#company #outline table th {
		display: block;
		width: 100%;
	}

	#company #outline table td {
		display: block;
		width: 100%;
	}

	#company .map {
		padding-top: 70px;
	}

	#company .map dt {
		font-size: 24px;
	}

	#company .map dd {
		font-size: 14px;
	}

	#recruit .gallery li {
		width: 33.333%;
	}

	#recruit #intro h3 {
		font-size: 22px;
	}

	#recruit #intro p {
		font-size: 13px;
	}

	#recruit #intro .tocontact li.phone a {
		padding: 5px 30px;
	}

	#requirements table {
		font-size: 13px;
	}

	#requirements table th {
		display: block;
		width: 100%;
	}

	#requirements table td {
		display: block;
		width: 100%;
	}


	#form table {
		font-size: 13px;
	}

	#form table th {
		padding: 10px;
	}

	#form table td {
		padding: 10px;
	}

}
































#top_business {
	padding: 30px 0px;
}

#top_business .col-04,
#top_business .col-06,
#top_business .col-12 {
	text-align: center;
	margin: 15px 0;
}

#top_business .col-04>div,
#top_business .col-06>div,
#top_business .col-12>div {
	height: 300px;
	position: relative;
	background: #101624;
	color: #fff;
	padding-top: 40px;
}

#top_business .col-12>div {
	height: auto;
	padding-top: 7.5vw;
	padding-bottom: 7.5vw;
}



#top_business .civil div {
	background: url("../img/index/construction1bg.jpg") no-repeat top left;
	background-size: cover;
}

#top_business .plant div {
	background: url("../img/index/construction2bg.jpg") no-repeat center center;
	background-size: cover;
}

#top_business .painting div {
	background: url("../img/index/construction3bg.jpg") no-repeat top right;
	background-size: cover;
}

#top_business h4 {
	font-size: 28px;
}

#top_business h4:after {
	content: "";
	display: block;
	width: 48px;
	height: 1px;
	background: #fff;
	margin: 0px auto 30px;
}

#top_business p {
	height: 90px;
	margin-bottom: 10px;
}

#top_business .link_btn {
	color: #fff;
	border-color: #fff;
}

#top_business .link_btn:hover {
	background: #101624;
}



@media screen and (max-width: 768px) {

	#top_business {
		padding: 30px 10%;
	}

	#top_business .col-04,
	#top_business .col-06,
	#top_business .col-12 {
		margin-bottom: 10px;
	}

	#top_business p {
		margin-bottom: 0px;
	}

}


@media screen and (max-width: 480px) {

	#top_business {
		padding: 30px 0px;
	}
}














					#history {
	padding: 5vw 0;
	border:1.5vw solid #f9f9f9;
}


#history h3 {
	font-size:90px;
	line-height:1.25;
	color:#333;
	font-weight:600;
	text-align:center;
	padding:0;
	margin:0.5em 0;
	letter-spacing:0.02em
}

#history h3 small {
	display:block;
	font-size:0.5em;
}

#history h4 {
	font-size:45px;
	line-height:1.25;
	color:#333;
	font-weight:600;
	text-align:center;
	padding:0.5em 0 0.3em;
	margin:0.5em 0;
	border-top:5px double #333;
	border-bottom:5px double #333;
	letter-spacing:0.01em
}

#history p.lead {
	font-size:18px;
	text-align:center;
	line-height:1.7;
	padding:0;
	margin:2em 0;
	opacity:0.7
}

#history li {
	border:0px solid red;
	padding:0;
	margin:0 0 10vw 0;
}


@media screen and (max-width: 768px) {

	#history h3 {
		font-size:calc( 9.0vw * 0.9 );
	}

	#history h4 {
		font-size:calc( 4.5vw * 0.9 );
	}

	#history p.lead {
		font-size:calc( 1.8vw *  1.4 );
	}

}


@media screen and (max-width: 480px) {
	#history p.lead {
		font-size:calc( 1.8vw *  1.6 );
	}
}

