@charset "utf-8";
/* *****ヘッダー部***** */
/*動画の上に文字*/
.container-video {
  position: relative;
  height: 600px;
  overflow: hidden;
  opacity: 0.01;
  animation: load 1.5s 0.8s ease-out forwards;
}
.container-video #video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -1000;
  overflow: hidden;
  transform: translate(-50%, -50%) scale(1.05);
}
@keyframes load {
  100% {
    opacity: 1;
  }
}
.table-center {
  display: table;
  width: 100%;
  position: relative;
  height: 100%;
}
.table-center > div {
  display: table-cell;
  vertical-align: middle;
  position: relative;
  text-align: center;
}
.table-center > div p {
  color: #fff;
  text-shadow: 0 0px 5px rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 10px;
  font-size: 2em;
  font-weight: 600;
}
/*画像の上に文字*/
.container-headerimg{
	position: relative;
	padding-top: 10%;
}
.container-headerimg img.bg{
	width: 100%;
	min-height: 400px;
	object-fit: cover;
}
.container-headerimg img.line{
	width: 100%;
	max-height: 20px;
	object-fit: cover;
	vertical-align: bottom;
}
.container-headerimg div.message{
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0%;
	-ms-transform: translate(0%,-50%);
	-webkit-transform: translate(0%,-50%);
	transform: translate(0%,-50%);
	margin:0;
	padding:1.0rem;
	padding-left: 40%;
	color: rgba(255,255,255,1.00);
	background-color: rgba(255,255,255,0.50);
}
.container-headerimg div.message div{
	text-align: right;
	margin: 0;
	padding: 0;
	font-size: 1.5rem;
}
.container-headerimg div.message div p{
	display: inline-block;
	text-align: left;
	margin: 0;
	padding: 0;
}
.container-headerimg div.message div p span{
	font-size: 0.8rem;
}
.container-headerimg img.on-bg{
	position: absolute;
	height: 100%;
	bottom: 0;
	left: 0;
}
@media screen and (max-width: 992px) {
	.container-headerimg div.message{
		padding-left:1.0rem;
	}
}

.top-img{
	margin-top: 3.0rem;
	position: relative;
}
.top-img img{
	width: 100%;
}
.top-img div{
	margin: 0;
	padding: 0;
}
.insta{
	position: absolute;
	width: 100%;
	text-align: center;
	bottom: 0;
}
.insta i{
	font-size: 2.0rem;
}
@media screen and (max-width: 768px) {
	.insta{
		top: 45%;
		bottom: 55%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
}
/* *****代表挨拶***** */
.greeting{
	position: relative;
}
.greeting img{
	width: 100%;
}
.greeting div.message{
	width: 60%;
	position: absolute;
  top: 50%;
  left: 61%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:1.0rem;
	color: rgba(255,255,255,1.00);
	background-color: rgba(0,0,0,0.50);
}
.greeting div.message div{
	text-align: right;
	margin: 0;
	padding: 0;
	font-size: 1.5rem;
}
.greeting div.message div p{
	display: inline-block;
	text-align: left;
	margin: 0;
	padding: 0;
}
.greeting div.message div p span{
	font-size: 0.8rem;
}
@media screen and (max-width: 992px) {
	.greeting div.message{
		width: 90%;
		left: 50%;
		padding: 0.5rem;
	}
}
@media screen and (max-width: 768px) {
	.greeting div.message{
		position: static;
		width: 100%;
		transform: none;
	}
}

/* *****事業内容***** */
#sec2 header{
	text-align: center;
	margin: 1.0rem 0 2.0rem;
}
#sec2 header img{
	width:50px;
	margin-bottom: 1.0rem;
}
#sec2 header h3{
	font-size: 1.5rem;
}

/* *****施工実績***** */
#sec3 img{
	width: 100%;
}
.works{
}
.works h4 {
	font-size: 1.2rem;
}
.works h4 span {
	display: flex;
	align-items: center;
	color: #00772B;
	font-size: 1.0rem;
	text-transform: uppercase;
}
.works h4 span::before {
	content: '';
	display: inline-block;
	margin-right: 20px;
	width: 2.0rem;
	height: 1px;
	background-color: #00772B;
}
.works table {
	width: 95%;
	margin: 1.0rem auto;
	background-color: rgba(0,0,0,0.50);
	color: #ffffff;
}
.works table caption{
	font-weight: bold;
	caption-side: top;
	text-align: center;
	padding-bottom: 0.1rem;
}
.works th {
	width: 50%;
	padding: 1.0rem 0.5rem 1.0rem 0.5rem;
	font-weight: normal;
	text-align: right;
}
.works th.w-img{
	padding-top: 0;
}
.works td {
	padding: 1.0rem 2.0rem 1.0rem 0.5rem;
	text-align: left;
}
.colspan2{
	text-align: center !important;
}
.justflare h4{
	margin-bottom: 1.0rem;
	border-bottom: solid 3px #cce4ff;
	position: relative;
}
.justflare h4:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #5472cd;
  bottom: -3px;
  width: 20%;
}
.justflare p{
	font-size: 0.9rem;
}
@media screen and (max-width: 576px) {
	.works {
		width: 80%;
		margin: 0 auto;
	}
	.works table{
		width: 100%;
		padding: 0;
	}
	.works th,
	.works td {
		display: block;
		width: 100%;
	}
	.works th{
		text-align: left;
		padding-bottom: 0;
	}
	.works th.w-img{
		border-bottom: rgba(255,255,255,0.5) solid 1px;
		padding: 0 0.5rem 1.0rem 0.5rem;
	}
	.works td{
		text-align: right;
		padding-top: 0;
		border-bottom: rgba(255,255,255,0.5) solid 1px;
	}
	.works td.w-img{
		border-bottom: none;
		padding-bottom: 0.5rem;
	}
	.colspan2{
		border-bottom: rgba(255,255,255,0.5) solid 1px;
		padding-bottom: 1.0rem;
	}
	.table-last td:last-child {
		border-bottom: none;
	}
}

/* *****求人情報***** */
#sec4{
	padding-top: 0;
}
.recruit div.rec-header{
	width: 100%;
	position: relative;
}
.recruit div.rec-header img{
	width: 100%;
}
.recruit div.rec-header h2{
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin:0;
	padding:0;
	color: rgba(255,255,255,1.00);
}
.recruit table {
	width: 90%;
	margin: 3.0rem auto;
	border-collapse: collapse;
}
.recruit table caption{
	caption-side: bottom;
	text-align: right;
}
.recruit th {
	width: 9.5rem;
	padding: 1.0rem 0.5rem;
}
.recruit td {
	padding: 1.0rem;
}
.rec1 th{
	background-color: rgba(0,49,184,1.00);
	color: rgba(255,255,255,1.00);
	border: rgba(128,170,255,1.00) solid 1px;
}
.rec1 td{
	background-color: rgba(252,253,255,1.00);
	color: rgba(0,0,0,1.00);
	border: rgba(128,170,255,1.00) solid 1px;
}
.rec2 th{
	background-color: rgba(100,100,100,1.00);
	color: rgba(255,255,255,1.00);
	border: rgba(50,50,50,1.00) solid 1px;
}
.rec2 td{
	background-color: rgba(255,255,255,1.00);
	color: rgba(0,0,0,1.00);
	border: rgba(50,50,50,1.00) solid 1px;
}
.rec-side{
	position: relative;
}
.rec-side img{
	width: 100%;
}
.rec-side div{
	position: absolute;
	width: 70%;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin:0;
	padding:1.0rem;
	background-color: rgba(255,255,255,0.80);
}
.rec-side a.btn{
	display: block;
    padding-left: 3rem;
    padding-right: 3rem;
    margin: 1.0rem auto;
    font-weight: bold;
	border-width: 3px;
    border-color: rgba(100,100,100,0.80);
	color: rgba(150,150,150,1.0);
}
@media screen and (max-width: 576px) {
	.recruit table{
		width: 100%;
		padding: 0;
	}
	.recruit th,
	.recruit td {
		display: block;
		width: 100%;
	}
	.table-last td:last-child {
		border-bottom: none;
	}
	.rec-side div{
		width: 90%;
	}
}

/* *****会社概要***** */
.company div.com-header{
	width: 100%;
	height: 10.0rem;
	position: relative;
	overflow: hidden;
}
.company div.com-header img{
	width: 100%;
}
.company div.com-header h2{
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin:0;
	padding:0.5rem 2.0rem;
	background-color: rgba(0,0,0,0.50);
	color: rgba(255,255,255,1.00);
}
.detail{
}
.detail table{
  border-collapse: collapse;
	margin: 3.0rem auto;
}
.detail th,
.detail td{
  padding: 10px;
  border-top: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
  text-align:center;
  box-sizing:border-box;
}
.detail th {
  width: 8.0rem;
}
.detail td{
	text-align: left;
}
@media screen and (max-width: 576px) {
.company {
    width: 100%;
  }
  .detail table th,
  .detail tabletd {
    display: block;
    width: 100%;
    border-bottom:none;
  }
  .detail tr:last-child{
    border-bottom: solid 1px #ccc;
  }
}
