/*----------------------------------------------------
** SITE.URL / style.css
**
** Ver.1.0
**
** copyright 2020 GRANTEST Inc.
**
**----------------------------------------------------
** entirety
**----------------------------------------------------*/
/*共通*/
section.company_message figure.five_arrows{
}
section.company_message figure.five_arrows picture{
  width: 100%;
  height: 100%;
  display: block;
}
section.company_message figure.five_arrows img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* font color */
.menubtn::before,
section.headermenu dl.box_01 dt p,
section.maincolumn > section dl.box_01 dt p,
section.maincolumn > section > div.title::before{
	color:#103656;
}
section.catchcopy div.inner > *,
header div.pagetop{
	color:#FFF;
}
header,
section.maincolumn > section{
	background-color:#FFF !important;
}
section.container{
	background-color:rgba(255,255,255,1);
}
section.catchcopy{
	background-color:rgba(0,0,0,0);
}
div.catchcopy{
	background-color:#103656;
}
div.slider::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(255,255,255,0.3);
	z-index: 2;
}
/**/
div.container{
	position:relative;
	z-index:1;
}
/*key frams*/
@keyframes fadein01 {
  	0% {
    	opacity:0;
    	transform:translateX(-50px);
  	}
  	100% {
    	opacity:1;
    	transform:translateX(0);
  	}
}
@keyframes fadein02 {
  	0% {
    	opacity:0;
    	transform:translateX(50px);
  	}
  	100% {
    	opacity:1;
    	transform:translateX(0);
  	}
}
@keyframes fadein03 {
  	0% {
    	opacity:0;
    	transform:translateX(-50px);
  	}
  	100% {
    	opacity:1;
    	transform:translateX(0);
  	}
}
@keyframes fadein04 {
  	0% {
    	opacity:0;
    	transform:translateX(50px);
  	}
  	100% {
    	opacity:1;
    	transform:translateX(0);
  	}
}
/*----------------------------------------------------
** Retina Display
**----------------------------------------------------*/
@media only screen and (-webkit-min-device-pixel-ratio:2), (min-resolution: 2dppx){
}
@media screen and (max-width:767px){
	/*SPの設定
	----------------------------------------------------
	/*スライダー*/
	div.slider{
		position:relative;
		z-index:1;
		height:100vh; /* 変数をサポートしていないブラウザのフォールバック */
		height: calc(var(--vh, 1vh) * 100 - 36px);
	}
	div.slider div{
		height:100vh;
	}
	div.catchcopy div.inner > *{
		color:#fff !important;
	}
	div.slidercontents div picture img{
		width:100%;
		object-fit:cover;
		height:100vh;
		height: calc(var(--vh, 1vh) * 100 - 36px);
	}
	div.slider h2{
		font-size:7.5vw;
		color:#000;
		font-weight:700;
		text-align:center;
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%,-50%);
		z-index:5;
		width:100%;
	}
	section.wrap{
		padding:0;
	}
	section.catchcopy div.inner h1{
	}
	div.btn05{
		margin-bottom: 2em;
	}
	div.btn05 input{
		display: block;
		width: 200px;
		margin: 0 auto;
		line-height: 50px;
		border-radius: 5px;
		color: #FFF;
		background-color: #103656;
		padding: 0 20px;
	}
	/*改行*/
	br.sp{
		display:block;
	}
	br.pc{
		display:none;
	}
	/*共通
	-----------------------------*/
	div.inner{
		width:100%;
		padding:0 10px;
		box-sizing:border-box;
	}
	br.sp{
		display:block;
	}
	br.pc{
		display:none;
	}
	/*タイトル*/
	h2.contents_title01{
		margin-top:-10px;
		font-size:18px;
		color:#103656;
		text-align:center;
		font-weight:600;
	}
	/*ボタン*/
	div.btn{
		width:200px;
		margin:0 auto;
		display:table;
	}
	div.btn a{
		display:table-cell;
		font-size:18px;
		width:100%;
		height:50px;
		line-height:50px;
		text-align:center;
		box-sizing:border-box;
		background-color:#103656;
		color:#fff;
		border-radius:10px;
		position:relative;
		z-index:1;
	}
	div.btn a::before{
		content:"";
		position:absolute;
		top:50%;
		right:10px;
		width:15px;
		height:15px;
		transform:translate(-50%,-50%) rotate(45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}
	div.btn02{
		width:200px;
		margin:0 auto;
		display:table;
	}
	div.btn02 a{
		display:table-cell;
		font-size:18px;
		width:100%;
		height:50px;
		line-height:50px;
		text-align:center;
		box-sizing:border-box;
		background-color:#103656;
		color:#fff;
		border-radius:10px;
		position:relative;
		z-index:1;
	}
	div.btn02 a::before{
		content:"";
		position:absolute;
		top:50%;
		right:10px;
		width:15px;
		height:15px;
		transform:translate(-50%,-50%) rotate(45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}
	div.btn03{
		width:200px;
		margin:0 auto;
		display:table;
	}
	div.btn03 a{
    display: table-cell;
    font-size: 18px;
    width: 100%;
    height: 50px;
    line-height: 50px;
    text-align: center;
    box-sizing: border-box;
    background-color: #d40068;
    color: #fff;
    border-radius: 10px;
    position: relative;
    z-index: 1;
	}
	div.btn03 a::before{
		content:"";
		position:absolute;
		top:50%;
		right:10px;
		width:15px;
		height:15px;
		transform:translate(-50%,-50%) rotate(45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}
	div.btn04{
		width:200px;
		margin:0 auto;
		display:table;
	}
	div.btn04 a{
		display:table-cell;
		font-size:18px;
		width:100%;
		height:50px;
		line-height:50px;
		text-align:center;
		box-sizing:border-box;
		background-color:#103656;
		color:#fff;
		border-radius:10px;
		position:relative;
		z-index:1;
	}
	div.btn04 a::before{
		content:"";
		position:absolute;
		top:50%;
		right:10px;
		width:15px;
		height:15px;
		transform:translate(-50%,-50%) rotate(45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}
	/*トップページ
	------------------------------*/
	div.maincolumn > :nth-child(1){
		margin-top:0 !important;
	}
	section.top_contents{
		width:100%;
		background-color:#fff;
	}
	section.company_message{
		width:100%;
		position:relative;
		z-index:1;
		padding:100px 10px 50px 10px;
		box-sizing:border-box;
		background-color:#fff;
	}
	section.company_message::before{
		content:"TOTAL SUPPORT FOR BUILDINGS";
		width:100%;
		text-align:center;
		color:#000;
		font-size:2.4em;
		font-weight:bolder;
		display:table;
		margin:0 auto;
		line-height:1em;
		max-width:1100px;
	}
	section.company_message::after{
		content:"";
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		background-color:#fff;
		z-index:-1;
	}
	section.company_message h2{
		margin:10px 0 20px 0;
		position:relative;
		z-index:1;
		background-color:rgba(0,0,0,0);
		font-size:18px;
		color:#103656;
		text-align:center;
		font-weight:600;
	}
	section.company_message div.message{
		margin:15px 0 30px 0;
	}
	section.company_message div.message p{
		font-size:14px;
		line-height:2em;
		color:#000;
		text-align:left;
	}
  section.company_message figure.five_arrows{
    margin-bottom: 30px;
  }
	section.business{
		position:relative;
		z-index:1;
		padding:80px 0 100px 0;
	}
	section.business::before{
		content:"BUSINESS";
		width:100%;
		text-align:center;
		position:absolute;
		top:10px;
		left:50%;
		color:#000;
		font-size:3.4em;
		font-weight:bolder;
		transform:translateX(-50%);
	}
	section.business div.business_box01{
		position:relative;
		z-index:1;
		width:100%;
		padding-bottom:280px;
		margin-top:20px;
		margin-bottom:15px;
	}
	section.business div.business_box01.visible{
		animation-name:fadein01;
		animation-duration:1s; 
		animation-iteration-count:1;
		animation-fill-mode:forwards;
	}
	section.business div.business_box01::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		height:450px;
		background-color:#fff;
		width:75%;
	}
	section.business div.business_box01 div.inbusiness_box{
		width:100%;
		margin:0 auto;
		position:relative;
		z-index:1;
	}
	section.business div.business_box01 div.inbusiness_box dl{
		width:75%;
		position:relative;
		z-index:2;
		padding:80px 20px 0 20px;
		box-sizing:border-box;
		height:340px;
	}
	section.business div.business_box01 div.inbusiness_box dl dt h3{
		position:relative;
		z-index:1;
	}
	section.business div.business_box01 div.inbusiness_box dl dt h3 p,
	section.business div.business_box02 div.inbusiness_box dl dt h3 p,
	section.business div.business_box03 div.inbusiness_box dl dt h3 p,
	section.business div.business_box04 div.inbusiness_box dl dt h3 p{
		font-size:18px;
		font-weight:700;
	}
	section.business div.business_box01 div.inbusiness_box dl dt h3.paint::before{
		content:"PAINT";
		color:#000;
		font-size:26px;
		line-height:26px;
		position:absolute;
		top:-40px;
		font-weight:700;
	}
	section.business div.business_box02 div.inbusiness_box dl dt h3.apartment::before{
		content:"REPAIR BUSINESS";
		color:#000;
		font-size:26px;
		line-height:26px;
		position:absolute;
		top:25px;
		font-weight:700;
	}
	section.business div.business_box03 div.inbusiness_box dl dt h3.architecture::before{
		content:"ARCHITECTURE";
		color:#000;
		font-size:26px;
		line-height:26px;
		position:absolute;
		top:25px;
		font-weight:700;
	}
	section.business div.business_box04 div.inbusiness_box dl dt h3.public::before{
		content:"PUBLIC WORKS";
		color:#000;
		font-size:26px;
		line-height:26px;
		position:absolute;
		top:35px;
		font-weight:700;
	}
	section.business div.business_box01 div.inbusiness_box dl dt h3,
	section.business div.business_box02 div.inbusiness_box dl dt h3,
	section.business div.business_box03 div.inbusiness_box dl dt h3,
	section.business div.business_box04 div.inbusiness_box dl dt h3{
		color:#103656;
		font-size:17px;
		font-weight:700;
	}	
	section.business div.business_box01 div.inbusiness_box dl dd p{
		font-size:14px;
		line-height:1.8em;
		margin:0 0 10px 0;
	}
	section.business div.business_box01 div.inbusiness_box figure{
		width:85%;
		position:absolute;
		right:0;
		top:355px;
	}
	section.business div.business_box01 div.inbusiness_box figure img{
		width:100%;
		object-fit:cover;
	}
	section.business div.business_box02{
		position:relative;
		z-index:1;
		width:100%;
		padding-bottom:495px;
		margin-bottom:15px;
	}
	section.business div.business_box02.visible{
		animation-name:fadein02;
		animation-duration:1s; 
		animation-iteration-count:1;
		animation-fill-mode:forwards;
	}
	section.business div.business_box02::before{
		content:"";
		position:absolute;
		top:0;
		right:0;
		height:400px;
		background-color:#fff;
		width:75%;
	}
	section.business div.business_box02 div.inbusiness_box{
		width:100%;
		position:relative;
		z-index:1;
		height:125px;
	}
	section.business div.business_box02 div.inbusiness_box dl{
		width:75%;
		position:relative;
		z-index:2;
		padding:95px 20px 0 20px;
		box-sizing:border-box;
		position:absolute;
		top:0;
		right:0;
	}
	section.business div.business_box02 div.inbusiness_box dl dd p{
		font-size:14px;
		line-height:1.8em;
		margin:0 0 10px 0;
	}
	section.business div.business_box02 div.inbusiness_box figure{
		width:85%;
		position:absolute;
		left:0;
		top:370px;
	}
	section.business div.business_box02 div.inbusiness_box figure img{
		width:100%;
		object-fit:cover;
	}
	section.business div.business_box03{
		position:relative;
		z-index:1;
		width:100%;
		padding-bottom:525px;
		margin-bottom:15px;
	}
	section.business div.business_box03.visible{
		animation-name:fadein03;
		animation-duration:1s; 
		animation-iteration-count:1;
		animation-fill-mode:forwards;
	}
	section.business div.business_box03::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		height:455px;
		background-color:#fff;
		width:75%;
	}
	section.business div.business_box03 div.inbusiness_box{
		width:100%;
		position:relative;
		z-index:1;
		height:125px;
	}
	section.business div.business_box03 div.inbusiness_box dl{
		width:75%;
		position:relative;
		z-index:2;
		padding:60px 20px 0 20px;
		box-sizing:border-box;
		position:absolute;
		top:0;
		left:0;
	}
	section.business div.business_box03 div.inbusiness_box dl dd p{
		font-size:14px;
		margin:0 0 10px 0;
		line-height:1.8em;
	}
	section.business div.business_box03 div.inbusiness_box figure{
		width:85%;
		position:absolute;
		right:0;
		top:415px;
	}
	section.business div.business_box03 div.inbusiness_box figure img{
		width:100%;
		object-fit:cover;
	}
	section.business div.business_box04{
		position:relative;
		z-index:1;
		width:100%;
		padding-bottom:425px;
		margin-bottom:15px;
	}
	section.business div.business_box04.visible{
		animation-name:fadein04;
		animation-duration:1s; 
		animation-iteration-count:1;
		animation-fill-mode:forwards;
	}
	section.business div.business_box04::before{
		content:"";
		position:absolute;
		top:0;
		right:0;
		height:465px;
		background-color:#fff;
		width:75%;
	}
	section.business div.business_box04 div.inbusiness_box{
		width:100%;
		margin:0 auto;
		position:relative;
		z-index:1;
		height:125px;
	}
	section.business div.business_box04 div.inbusiness_box dl{
		width:75%;
		z-index:2;
		padding:60px 20px 0 20px;
		box-sizing:border-box;
		position:absolute;
		top:0;
		right:0;
	}
	section.business div.business_box04 div.inbusiness_box dl dd p{
		font-size:14px;
		margin:0 0 10px 0;
		line-height:1.8em;
	}
	section.business div.business_box04 div.inbusiness_box figure{
		width:85%;
		position:absolute;
		left:0;
		top:415px;
	}
	section.business div.business_box04 div.inbusiness_box figure img{
		width:100%;
		object-fit:cover;
	}
	section.top_case{
		position:relative;
		z-index:1;
	}
	section.top_case::before{
		content:"Case";
		width:100%;
		text-align:center;
		position:absolute;
		top:10px;
		left:50%;
		color:#000;
		font-size:3.4em;
		font-weight:bolder;
		transform:translateX(-50%);
	}
	section.top_case{
		position:relative;
		z-index:1;
		padding:80px 0 40px 0;
		background-color:#fff;
	}
	section.top_case::after{
		content:"";
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
	}
	section.top_case ul{
		margin:15px 0 0 0;
	}
	section.top_case ul li{
		margin:0 15px;
		display:block;
		position:relative;
		z-index:1;
		width: 200px !important;
	}
	section.top_case ul li a{
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		z-index:3;
		color:rgba(0,0,0,0);
	}
	section.top_case ul li figure{
		width:200px;
		position:relative;
		z-index:1;
		height: 150px;
	}
	section.top_case ul li figure h3{
		font-size:14px;
		color:#fff;
		background-color:#103656;
		padding:5px 10px;
		position:absolute;
		top:10px;
		left:10px;
		display:table;
	}
	section.top_case ul li figure img{
		width:100%;
		object-fit:cover;
		height: 150px;
	}
	section.top_case ul li div{
		display: table;
		width: 100%;
	}
	section.top_case ul li p{
		display: table-cell;
		background-color:#fff;
		text-align:center;
		font-size:16px;
		height:50px;
		font-weight:700;
		line-height:50px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		width: 100%;
		max-width: 1px;
	}
	section.top_news{
		position:relative;
		z-index:1;
		padding:80px 0 50px 0;
	}
	section.top_news::before{
		content:"NEWS";
		width:100%;
		text-align:center;
		position:absolute;
		top:10px;
		left:50%;
		color:#000;
		font-size:3.4em;
		font-weight:bolder;
		transform:translateX(-50%);
	}
	section.top_news ul{
		width:100%;
		padding:0 10px;
		box-sizing:border-box;
		list-style:none;
		list-style-position:outside;
		margin:15px auto;
	}
	section.top_news ul li{
		width:100%;
		position:relative;
		z-index:1;
		border-bottom:2px dotted #314b6e;
	}
	section.top_news ul li:nth-of-type(1){
		border-top:2px dotted #314b6e;
	}
	section.top_news ul li a{
		position:absolute;
		top:0;
		left:0;
		bottom:0;
		right:0;
		color:rgba(0,0,0,0);
	}
	section.top_news ul li div{
		display:flex;
		font-size:14px;
		padding:0 5px;
		box-sizing:border-box;
		width: 100%;
	}
	section.top_news ul li div time{
		width:50%;
		line-height:50px;
		font-size: 12px;
	}
	section.top_news ul li div p{
		width:50%;
		line-height:50px;
		white-space:nowrap;
		overflow:hidden;
		text-overflow:ellipsis;
		box-sizing: border-box;
	}
	section.top_recruit{
		position:relative;
		z-index:1;
		padding:70px 10px 30px 10px;
		background-color:#fff;
		width:100%;
		box-sizing:border-box;
	}
	section.top_recruit h2.contents_title01{
		color:#d40068;
	}
	section.top_recruit::before{
		content:"RECRUIT";
		width:100%;
		text-align:center;
		position:absolute;
		top:10px;
		left:50%;
		color:#000;
		font-size:3.4em;
		font-weight:bolder;
		transform:translateX(-50%);
	}
	h2.contents_title02{
		color:rgba(255,255,255,0);
		background-color:rgba(0,0,0,0);
		text-align:center;
		margin:0 auto 0 auto;
		font-weight:600;
		position:relative;
		z-index:1;
		display:table;
		width:250px;
		line-height:40px;
		font-size:18px;
	}
	h2.contents_title02::before{
		content:"採用情報";
		position:absolute;
		color:#103656;
		left:50%;
		transform:translateX(-50%);
		font-size:18px;
		font-weight:600;
		text-align:center;
		line-height:2em;
	}
	section.top_recruit div.in_recruit{
		width:100%;
		background-image:url("../img/image025.webp");
		padding:40px 15px;
		box-sizing:border-box;
		position:relative;
		z-index:2;
		background-size:cover;
		background-repeat:no-repeat;
		background-position:center center;
	}
	body.ie section.top_recruit div.in_recruit,
	body.safari section.top_recruit div.in_recruit{
		background-image:url("../img/image025.jpg");
	}
	section.top_recruit div.in_recruit::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		background-image: radial-gradient(#fff 0.3px, transparent 1px);
		background-size: 3px 3px;
	}
	section.top_recruit p{
		font-size:14px;
		margin:0 0 5px 0;
		text-align:center;
		position:relative;
		z-index:1;
	}
	/*回り込み解除*/
	.clearfix:after {
		content:"";
		display:block;
		clear:both;
	}
	.clearfix:before {
　　content:"";
		display:block;
		clear:both;
		}
 	.clearfix {
		display:block;
	}
	/*子ページ
	---------------------------------------------------*/
	/*共通*/
	div.child_title{
		height:200px;
		position:relative;
		z-index:1;
		overflow:hidden;
	}
	div.child_title h2{
		font-size:20px;
		color:#000;
		position:absolute;
		top:50%;
		left:50%;
		text-align:center;
		transform:translate(-50%,-50%);
	}
	div.child_title h2 p{
		font-size:1.4em;
		font-weight:bold;
		color:#000;
	}
	/*タイトル*/
  h1.title01,
	h3.title01{
		text-align:left;
		font-size:26px;
		color:#103656;
		width:100%;
		margin:0 auto 20px auto;
		position:relative;
		z-index:1;
	}
  h1.title01.m_title{
    width: calc(100vw - 20px);
    margin: 0 auto 20px auto;
  }
  h1.title01::before,
	h3.title01::before{
		content:"";
		position:absolute;
		bottom:0;
		left:0;
		border-bottom:1px solid #103656;
		width:100%;
	}
	/*会社概要*/
	section.child_page{
		padding-top:50px;
		background-color:#fff;
	}
	section.philosophy{
		padding:55px 10px 40px 10px;
		width:100%;
		box-sizing:border-box;
	}
	section.philosophy dl{
		margin:0 0 20px 0;
		text-align:left;
	}
	section.philosophy dl dt{
		color:#103656;
		font-size:20px;
		font-weight:700;
	}
	section.philosophy dl dd{
		font-size:14px;
		line-height:1.8em;
	}
	section.message{
		padding:0 10px 20px 10px;
		width:100%;
		box-sizing:border-box;
		overflow: hidden;
	}
		section.message figure{
		width:100%;
		overflow:hidden;
	}
	section.message figure img{
		width:100%;
		object-fit:cover;
	}
	section.message div.message_text{
		font-size:14px;
		line-height:1.8em;
	}
	section.message div.message_text{
		font-size:14px;
		line-height:1.8em;
		box-sizing:border-box;
	}
	section.message div.message_text div.name{
		float: right;
		margin-top: 2rem;
	}
	section.message div.message_text div.name > p{
		display: flex;
		float: right;
		align-items: end;
	}
	section.message div.message_text div.name div.name_img > p{
		opacity: 0;
		height: 0;
	}
	section.message div.message_text div.name div.name_img figure{
		width: 120px;
		height: 60px;
	}
	section.message div.message_text div.name div.name_img figure img{
		width: 100%;
		object-fit: cover;
	}
	section.company_list{
		padding:0 10px 40px 10px;
		width:100%;
		box-sizing:border-box;
	}
	section.company_list dl{
		display:flex;
		width:100%;
		border-bottom:solid #ccc 1px;
	}
	section.company_list dl dt{
		width:30%;
		height:40px;
		padding:10px 0 10px 10px;
		box-sizing:border-box;
	}
	section.company_list dl dd{
		width:70%;
		padding:10px;
		box-sizing:border-box;
	}
	/*採用情報*/
		div.recruit_link{
		width:90%;
		height:150px;
		margin:50px auto 0 auto;
		position:relative;
		z-index:1;
	}
	div.recruit_link figure{
		width:100%;
	}
	div.recruit_link figure img{
		width:100%;
		object-fit:cover;
		height:150px;
	}
	div.recruit_link::before{
	}
	div.recruit_link::after{
		content:"";
		position:absolute;
		top:10px;
		left:10px;
		bottom:10px;
		right:10px;
		border:solid 1px #000;
		z-index:5;
	}
	div.recruit_link a{
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		display:block;
		z-index:6;
	}
	div.recruit_link a{
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		display:block;
		z-index:6;
	}
	div.recruit_link a::before{
		content:"詳しくはこちら";
		color:#000;
		position:absolute;
		border-bottom:20px;
		right:45px;
		bottom:23px;
		font-weight:700;
		font-size:11px;
	}
	div.recruit_link a::after{
		content:"";
		width:10px;
		height:10px;
		border-top:2px solid #000;
		border-right:2px solid #000;
		position: absolute;
		right:30px;
		bottom:23px;
		transform: rotate(45deg);
		display:block;
	}
	div.recruit_link h3{
		position:absolute;
		font-size:16px;
		font-weight:700;
		top:50%;
		left:50%;
		color:#000;
		z-index:3;
		transform:translate(-50%,-50%);
		width:100%;
		text-align:center;
	}
	div.recruit_wrap{
	}
	section.recruit_box{
		padding:30px 10px;
		width:100%;
		box-sizing:border-box;
	}
	section.recruit_box h2{
		font-size:24px;
		color:#103656;
		font-weight:700;
		border-bottom:2px solid #314b6e;
		width:100%;
	}
	section.recruit_box dl{
		width:100%;
		display:flex;
		border-bottom:1px solid #ccc;
		padding:5px 10px;
		box-sizing:border-box;
	}
	section.recruit_box dl:nth-of-type(1){
		border-top:1px solid #ccc;
		margin:15px auto 0 auto;
	}
	section.recruit_box dl dt{
		width:30%;
		height:50px;
	}
	section.recruit_box dl dd{
		width:70%;
	}
	/*施工事例*/
	div.case_box:nth-of-type(1){
		padding:50px 0 0 0;
	}
	div.case_box:nth-of-type(4){
		padding:0 0 50px 0;
	}
	div.case_box:nth-of-type(2),
	div.case_box:nth-of-type(3){
		padding-top:84px;
		margin-top:-75px;
	}
	div.case_box h3{
		width:100%;
		border-bottom:2px solid rgba(8,78,115,0.4);
		position:relative;
		z-index:1;
		font-size:20px;
		color:#103656;
		font-weight:700;
		padding:0 0 0 7px;
		box-sizing:border-box;
	}
	div.case_box h3::before{
		content:"";
		position:absolute;
		bottom:-2px;
		left:0;
		border-bottom:2px solid #103656;
		width:38%;
	}
	div.case_box ul{
		list-style:none;
		list-style-position:outside;
		padding:10px 5px;
		box-sizing:border-box;
		width:100%;
	}
	div.case_box ul li{
		width:50%;
		padding:0 5px 10px 5px;
		float:left;
		box-sizing:border-box;
	}
	div.case_box ul li div{
		position:relative;
		z-index:1;
	}
	div.case_box ul li div a{
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		z-index: 2;
	}
	div.case_box ul li div figure img{
		width:100%;
		object-fit:cover;
		height: 8rem;
	}
	div.case_box ul li > div > div{
		display: table;
		width: 100%;
	}
	div.case_box ul li > div > div > p{
		display: table-cell;
		width:100%;
		line-height:35px;
		color:#000;
		text-align:center;
		font-size:14px;
		background-color:rgba(82,123,177,0.2);
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		max-width: 1px;
	}
	/*施工事例　中身*/
	section.main_detail{
		padding:25px 0;
	}
	section.main_detail h2{
		width:100%;
		border-bottom:2px solid rgba(49,75,110,0.4);
		position:relative;
		z-index:1;
		font-size:20px;
		color:#103656;
		font-weight:700;
	}
	section.main_detail h2::before{
		content:"";
		position:absolute;
		bottom:-2px;
		left:0;
		border-bottom:2px solid #103656;
		width:25%;
	}
	section.main_detail div.detail_top{
		padding:20px 0;
		box-sizing:border-box;
		width:90%;
		margin:0 auto;
	}
	section.main_detail div.detail_top figure img{
		width:100%;
		box-sizing:border-box;
	}
	section.main_detail div.detail_bottom{
	}
	section.main_detail div.detail_bottom ul{
		list-style:none;
		list-style-position:outside;
	}
	section.main_detail div.detail_bottom ul li{
		float:left;
		width:25%;
		padding:0 1px 2px 1px;
		box-sizing:border-box;
	}
	section.main_detail div.detail_bottom ul li img{
		width:100%;
		object-fit:cover;
	}
	/*footer*/
	footer div.footer div.dataarea{
		display: table;
	}
}
@media screen and (min-width:768px) and (max-width:1099px){
	/*TBの設定
	----------------------------------------------------*/
	/*スライダー*/
	div.slider{
		position:relative;
		z-index:1;
		height:100vh; /* 変数をサポートしていないブラウザのフォールバック */
		height: calc(var(--vh, 1vh) * 100 - 36px);
	}
	div.cs_item{
		height:100vh; /* 変数をサポートしていないブラウザのフォールバック */
		height: calc(var(--vh, 1vh) * 100 - 36px);
	}
	div.catchcopy div.inner > *{
		color:#fff !important;
	}
	div.catchcopy div.inner div{
		height:100vh;
	}
	div.slidercontents div picture img{
		width:100%;
		height:100vh;
		height: calc(var(--vh, 1vh) * 100 - 36px);
		object-fit:cover;
	}
	div.slider h2{
		font-size:6vw;
		font-weight:700;
		text-align:center;
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%,-50%);
		z-index:5;
		width:100%;
		color:#000;
	}
	section.wrap{
		padding:0;
	}
	section.catchcopy div.inner h1{
	}
	/*回り込み解除*/
	.clearfix:after {
		content:"";
		display:block;
		clear:both;
	}
	.clearfix:before {
　　content:"";
		display:block;
		clear:both;
		}
 	.clearfix {
		display:block;
	}
	/*共通
	-----------------------------*/
	div.inner{
		width:100%;
		padding:0 10px;
		box-sizing:border-box;
	}
	br.sp{
		display:block;
	}
	br.pc{
		display:none;
	}
	/*タイトル*/
	h2.contents_title01{
		margin-top:-10px;
		font-size:18px;
		color:#314b6e;
		text-align:center;
		font-weight:600;
	}
	/*ボタン*/
	div.btn{
		width:200px;
		margin:0 auto;
		display:table;
	}
	div.btn a{
		display:table-cell;
		font-size:18px;
		width:100%;
		height:50px;
		line-height:50px;
		text-align:center;
		box-sizing:border-box;
		background-color:#103656;
		color:#fff;
		border-radius:10px;
		position:relative;
		z-index:1;

	}
	div.btn a::before{
		content:"";
		position:absolute;
		top:50%;
		right:10px;
		width:15px;
		height:15px;
		transform:translate(-50%,-50%) rotate(45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}
	div.btn02{
		width:200px;
		margin:0 auto;
		display:table;
	}
	div.btn02 a{
		display:table-cell;
		font-size:18px;
		width:100%;
		height:50px;
		line-height:50px;
		text-align:center;
		box-sizing:border-box;
		background-color:#103656;
		color:#fff;
		border-radius:10px;
		position:relative;
		z-index:1;
	}
	div.btn02 a::before{
		content:"";
		position:absolute;
		top:50%;
		right:10px;
		width:15px;
		height:15px;
		transform:translate(-50%,-50%) rotate(45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}
	div.btn03{
		width:250px;
		margin:0 auto;
		display:table;
	}
	div.btn03 a{
		display:table-cell;
		font-size:18px;
		width:100%;
		height:50px;
		line-height:50px;
		text-align:center;
		box-sizing:border-box;
		background-color:#d40068;
		color:#fff;
		border-radius:10px;
		position:relative;
		z-index:1;
		transition: all 0.3s ease;
	}
	div.btn03 a::before{
		content:"";
		position:absolute;
		top:50%;
		right:10px;
		width:15px;
		height:15px;
		transform:translate(-50%,-50%) rotate(45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}	
	div.btn04{
		width:250px;
		margin:0 auto;
		display:table;
	}
	div.btn04 a{
		display:table-cell;
		font-size:18px;
		width:100%;
		height:50px;
		line-height:50px;
		text-align:center;
		box-sizing:border-box;
		background-color:#103656;
		color:#fff;
		border-radius:10px;
		position:relative;
		z-index:1;
		transition: all 0.3s ease;
	}
	div.btn04 a::before{
		content:"";
		position:absolute;
		top:50%;
		right:10px;
		width:15px;
		height:15px;
		transform:translate(-50%,-50%) rotate(45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}
	/*トップページ
	------------------------------*/
	section.top_contents{
		width:100%;
		background-color:#fff;
	}
	section.company_message{
		width:100%;
		position:relative;
		z-index:1;
		padding:100px 10px 50px 10px;
		box-sizing:border-box;
		background-color:#000;
	}
	section.company_message::before{
		content:"TOTAL SUPPORT FOR BUILDINGS";
		width:100%;
		text-align:center;
		position:absolute;
		top:50px;
		left:50%;
		color:#000;
		font-size:3.5em;
		line-height:1em;
		font-weight:bolder;
		transform:translateX(-50%);
	}
	section.company_message::after{
		content:"";
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		background-color:#fff;
		z-index:-1;
	}
	section.company_message h2{
		margin-top:-10px;
		font-size:22px;
		color:#103656;
		background-color:rgba(0,0,0,0);
		margin:70px 0 50px 0; 
		text-align:center;
		font-weight:600;
	}
	section.company_message div.message{
		margin:15px 0 40px 0;
	}
	section.company_message div.message p{
		font-size:14px;
		line-height:2em;
		color:#333;
		text-align:center;
	}
  section.company_message figure.five_arrows{
    width: 400px;
    margin: 0 auto 40px auto;
  }
	section.business{
		position:relative;
		z-index:1;
		padding:110px 0 50px 0;
	}
	section.business::before{
		content:"BUSINESS";
		width:100%;
		text-align:center;
		position:absolute;
		top:10px;
		left:50%;
		color:#000;
		font-size:3.5em;
		font-weight:bolder;
		transform:translateX(-50%);
	}
	section.business div.business_box01{
		position:relative;
		z-index:1;
		width:100%;
		padding-bottom:185px;
		margin-top:20px;
		margin-bottom:30px;
	}
	section.business div.business_box01::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		height:365px;
		background-color:#fff;
		width:75%;
	}
	section.business div.business_box01 div.inbusiness_box{
		width:100%;
		margin:0 auto;
		position:relative;
		z-index:1;
	}
	section.business div.business_box01.visible{
		animation-name:fadein01;
		animation-duration:1s; 
		animation-iteration-count:1;
		animation-fill-mode:forwards;
	}
	section.business div.business_box01 div.inbusiness_box dl{
		width:75%;
		position:relative;
		z-index:2;
		padding:80px 20px 0 20px;
		box-sizing:border-box;
		height:340px;
	}
	section.business div.business_box01 div.inbusiness_box dl dt h3{
		position:relative;
		z-index:1;
	}
	section.business div.business_box01 div.inbusiness_box dl dt h3,
	section.business div.business_box02 div.inbusiness_box dl dt h3,
	section.business div.business_box03 div.inbusiness_box dl dt h3,
	section.business div.business_box04 div.inbusiness_box dl dt h3{
		font-size:18px;
		font-weight:700;
		color:#103656;
	}
	section.business div.business_box01 div.inbusiness_box dl dt h3.paint::before{
		content:"PAINT";
		color:#000;
		font-size:40px;
		line-height:40px;
		position:absolute;
		top:-40px;
		font-weight:700;
	}
	section.business div.business_box02 div.inbusiness_box dl dt h3.apartment::before{
		content:"REPAIR BUSINESS";
		color:#000;
		font-size:40px;
		line-height:40px;
		position:absolute;
		top:25px;
		font-weight:700;
	}
	section.business div.business_box03 div.inbusiness_box dl dt h3.architecture::before{
		content:"ARCHITECTURE";
		color:#000;
		font-size:40px;
		line-height:40px;
		position:absolute;
		top:25px;
		font-weight:700;
	}
	section.business div.business_box04 div.inbusiness_box dl dt h3.public::before{
		content:"PUBLIC WORKS";
		color:#000;
		font-size:40px;
		line-height:40px;
		position:absolute;
		top:25px;
		font-weight:700;
	}
	section.business div.business_box01 div.inbusiness_box dl dd p{
		font-size:14px;
		line-height:14px;
		line-height:1.8em;
	}
	section.business div.business_box01 div.inbusiness_box figure{
		width:65%;
		position:absolute;
		right:0;
		top:215px;
	}
	section.business div.business_box01 div.inbusiness_box figure img{
		width:100%;
		object-fit:cover;
	}
	section.business div.business_box02{
		position:relative;
		z-index:1;
		width:100%;
		padding-bottom:425px;
		margin-bottom:30px;
	}
	section.business div.business_box02.visible{
		animation-name:fadein02;
		animation-duration:1s; 
		animation-iteration-count:1;
		animation-fill-mode:forwards;
	}
	section.business div.business_box02::before{
		content:"";
		position:absolute;
		top:0;
		right:0;
		height:290px;
		background-color:#fff;
		width:75%;
	}
	section.business div.business_box02 div.inbusiness_box{
		width:100%;
		position:relative;
		z-index:1;
		height:125px;
	}
	section.business div.business_box02 div.inbusiness_box dl{
		width:75%;
		position:relative;
		z-index:2;
		padding:70px 20px 0 20px;
		box-sizing:border-box;
		position:absolute;
		top:0;
		right:0;
	}
	section.business div.business_box02 div.inbusiness_box dl dd p{
		font-size:14px;
		line-height:14px;
		line-height:1.8em;
	}
	section.business div.business_box02 div.inbusiness_box figure{
		width:65%;
		position:absolute;
		left:0;
		top:205px;
	}
	section.business div.business_box02 div.inbusiness_box figure img{
		width:100%;
		object-fit:cover;
	}
	section.business div.business_box03{
		position:relative;
		z-index:1;
		width:100%;
		padding-bottom:375px;
		margin-bottom:30px;
	}
	section.business div.business_box03::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		height:275px;
		background-color:#fff;
		width:75%;
	}
	section.business div.business_box03 div.inbusiness_box{
		width:100%;
		position:relative;
		z-index:1;
		height:125px;
	}
	section.business div.business_box03.visible{
		animation-name:fadein03;
		animation-duration:1s; 
		animation-iteration-count:1;
		animation-fill-mode:forwards;
	}
	section.business div.business_box03 div.inbusiness_box dl{
		width:75%;
		position:relative;
		z-index:2;
		padding:70px 20px 0 20px;
		box-sizing:border-box;
		position:absolute;
		top:0;
		left:0;
	}
	section.business div.business_box03 div.inbusiness_box dl dd p{
		font-size:14px;
		line-height:14px;
		line-height:1.8em;
	}
	section.business div.business_box01 div.inbusiness_box dl dd div.btn02,
	section.business div.business_box03 div.inbusiness_box dl dd div.btn02{
		margin:10px 0 0 0;
	}
	section.business div.business_box02 div.inbusiness_box dl dd div.btn02,
	section.business div.business_box04 div.inbusiness_box dl dd div.btn02{
		margin:10px 0 0 auto;
	}
	section.business div.business_box03 div.inbusiness_box figure{
		width:65%;
		position:absolute;
		right:0;
		top:195px;
	}
	section.business div.business_box03 div.inbusiness_box figure img{
		width:100%;
		object-fit:cover;
	}
	section.business div.business_box04{
		position:relative;
		z-index:1;
		width:100%;
		padding-bottom:395px;
		margin-bottom:15px;
	}
	section.business div.business_box04.visible{
		animation-name:fadein04;
		animation-duration:1s; 
		animation-iteration-count:1;
		animation-fill-mode:forwards;
	}
	section.business div.business_box04::before{
		content:"";
		position:absolute;
		top:0;
		right:0;
		height:300px;
		background-color:#fff;
		width:75%;
	}
	section.business div.business_box04 div.inbusiness_box{
		width:100%;
		margin:0 auto;
		position:relative;
		z-index:1;
		height:125px;
	}
	section.business div.business_box04 div.inbusiness_box dl{
		width:75%;
		position:relative;
		z-index:2;
		padding:70px 20px 0 20px;
		box-sizing:border-box;
		position:absolute;
		top:0;
		right:0;
	}
	section.business div.business_box04 div.inbusiness_box dl dd p{
		font-size:14px;
		line-height:14px;
		line-height:1.8em;
	}
	section.business div.business_box04 div.inbusiness_box figure{
		width:65%;
		position:absolute;
		left:0;
		top:220px;
	}
	section.business div.business_box04 div.inbusiness_box figure img{
		width:100%;
		object-fit:cover;
	}
	section.top_case{
		position:relative;
		z-index:1;
		background-color:#fff;
		padding:110px 0 50px 0;
	}
	section.top_case::before{
		content:"CASE";
		width:100%;
		text-align:center;
		position:absolute;
		top:10px;
		left:50%;
		color:#000;
		font-size:3.5em;
		font-weight:bolder;
		transform:translateX(-50%);
	}
	section.top_case::after{
		content:"";
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
	}
	section.top_case ul{
		margin:15px 0 0 0;
	}
	section.top_case ul li{
		margin:0 15px;
		display:block;
		position:relative;
		z-index:1;
		width: 200px !important;
	}
	section.top_case ul li a{
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		z-index:3;
		color:rgba(0,0,0,0);
	}
	section.top_case ul li figure{
		width:200px;
		position:relative;
		z-index:1;
		height: 150px;
	}
	section.top_case ul li figure h3{
		font-size:14px;
		color:#fff;
		background-color:#103656;
		padding:5px 10px;
		position:absolute;
		top:10px;
		left:10px;
		display:table;
	}
	section.top_case ul li figure img{
		width:100%;
		object-fit:cover;
		height: 150px;
	}
	section.top_case ul li div{
		display: table;
		width: 100%;
	}
	section.top_case ul li p{
		display: table-cell;
		background-color:#fff;
		text-align:center;
		font-size:16px;
		height:40px;
		font-weight:700;
		line-height:40px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		width: 100%;
		max-width: 1px;
	}
	section.top_news{
		position:relative;
		z-index:1;
		padding:110px 0 50px 0;
	}
	section.top_news::before{
		content:"NEWS";
		width:100%;
		text-align:center;
		position:absolute;
		top:10px;
		left:50%;
		color:#000;
		font-size:3.5em;
		font-weight:bolder;
		transform:translateX(-50%);
	}
	section.top_news ul{
		width:100%;
		padding:0 10px;
		box-sizing:border-box;
		list-style:none;
		list-style-position:outside;
		margin:15px auto;
	}
	section.top_news ul li{
		width:100%;
		position:relative;
		z-index:1;
		border-bottom:2px dotted #314b6e;
	}
	section.top_news ul li:nth-of-type(1){
		border-top:2px dotted #314b6e;
	}
	section.top_news ul li a{
		position:absolute;
		top:0;
		left:0;
		bottom:0;
		right:0;
		color:rgba(0,0,0,0);
	}
	section.top_news ul li div{
		display:flex;
		font-size:14px;
		padding:0 15px;
		box-sizing:border-box;
	}
	section.top_news ul li div time{
		width:30%;
		line-height:50px;
		padding:0 10px 0 0;
	}
	section.top_news ul li div p{
		width:70%;
		line-height:50px;
		white-space:nowrap;
		overflow:hidden;
		text-overflow:ellipsis;
	}
	section.top_recruit{
		position:relative;
		z-index:1;
		padding:100px 20px 30px 20px;
		background-color:#fff;
		width:100%;
		box-sizing:border-box;
	}
	section.top_recruit h2.contents_title01{
		color:#d40068;
		font-size:18px;
		margin:0 0 15px 0;
	}
	section.top_recruit::before{
		content:"RECRUIT";
		width:100%;
		text-align:center;
		position:absolute;
		top:10px;
		left:50%;
		color:#000;
		font-size:3.5em;
		font-weight:bolder;
		transform:translateX(-50%);
	}
	h2.contents_title02{
		color:rgba(255,255,255,0);
		background-color:rgba(0,0,0,0);
		text-align:center;
		margin:0 auto 0 auto;
		font-weight:600;
		position:relative;
		z-index:1;
		display:table;
		width:250px;
		line-height:40px;
		font-size:18px;
	}
	h2.contents_title02::before{
		content:"採用情報";
		position:absolute;
		color:#103656;
		font-size:18px;
		font-weight:600;
		text-align:center;
		line-height:2em;
	}
	section.top_recruit div.in_recruit{
		width:100%;
		background-image:url("../img/image024.webp");
		padding:70px 0;
		position:relative;
		z-index:1;
	}
	body.ie section.top_recruit div.in_recruit,
	body.safari section.top_recruit div.in_recruit{
		background-image: url("../img/image024.jpg");
	}
	section.top_recruit div.in_recruit::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		background-image:radial-gradient(#fff 0.3px, transparent 1px);
		background-size:3px 3px;
	}
	section.top_recruit p{
		font-size:14px;
		margin:0 0 30px 0;
		text-align:center;
		position:relative;
		z-index:2;
	}
		/*子ページ
	---------------------------------------------------*/
	/*共通*/
	div.child_title{
		height:300px;
		position:relative;
		z-index:1;
		overflow:hidden;
	}
	div.child_title h2{
		font-size:32px;
		color:#000;
		position:absolute;
		top:50%;
		left:50%;
		text-align:center;
		transform:translate(-50%,-50%);
	}
	div.child_title h2 p{
		font-size:70px;
		font-weight:bold;
		color:#000;
	}
	/*タイトル*/
  h1.title01,
	h3.title01{
		text-align:left;
		font-size:32px;
		color:#103656;
		width:100%;
		margin:0 auto 40px auto;
		position:relative;
		z-index:1;
	}
  h1.title01.m_title{
    width: calc(100vw - 20px);
    margin: 0 auto 40px auto;
  }
  h1.title01::before,
	h3.title01::before{
		content:"";
		position:absolute;
		bottom:0;
		left:0;
		border-bottom:1px solid #314b6e;
		width:100%;
	}
	/*会社概要*/
	section.child_page{
		padding-top:50px;
		background-color:#fff;
	}
	section.philosophy{
		padding:80px 10px 60px 10px;
		width:100%;
		box-sizing:border-box;
	}
	section.philosophy dl{
		margin:0 0 40px 0;
		text-align:center;
	}
	section.philosophy dl dt{
		color:#103656;
		font-size:26px;
		font-weight:700;
	}
	section.philosophy dl dd{
		font-size:16px;
		line-height:1.8em;
	}
	section.message{
		padding:0 10px 40px 10px;
		width:100%;
		box-sizing:border-box;
		overflow: hidden;
	}
	section.message figure{
		width:100%;
		height:250px;
		overflow:hidden;
	}
	section.message figure img{
		width:100%;
		object-fit:cover;
	}
	section.message div.message_text{
		font-size:16px;
		line-height:1.8em;
		padding:0 30px;
		box-sizing:border-box;
	}
	section.message div.message_text div.name{
		float: right;
		margin-top: 2rem;
	}
	section.message div.message_text div.name > p{
		display: flex;
		align-items: center;
		float: right;
	}
	section.message div.message_text div.name div.name_img > p{
		opacity: 0;
		height: 0;
	}
	section.message div.message_text div.name div.name_img figure{
		width: 120px;
		height: 60px;
	}
	section.message div.message_text div.name div.name_img figure img{
		width: 100%;
		object-fit: cover;
	}
	section.company_list{
		padding:0 10px 60px 10px;
		width:100%;
		box-sizing:border-box;
	}
	section.company_list dl{
		display:flex;
		width:100%;
		border-bottom:solid #ccc 1px;
	}
	section.company_list dl dt{
		width:30%;
		height:50px;
		padding:15px 0 15px 15px;
		box-sizing:border-box;
	}
	section.company_list dl dd{
		width:70%;
		padding:15px;
		box-sizing:border-box;
	}
	/*採用情報*/
	div.recruit_link{
		width:80%;
		height:250px;
		margin:100px auto;
		position:relative;
		z-index:1;
	}
	div.recruit_link figure{
		width:100%;
	}
	div.recruit_link figure img{
		width:100%;
		object-fit:cover;
		height:250px;
	}
	div.recruit_link::before{
	}
	div.recruit_link::after{
		content:"";
		position:absolute;
		top:10px;
		left:10px;
		bottom:10px;
		right:10px;
		border:solid 1px #000;
		z-index:5;
	}
	div.recruit_link a{
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		display:block;
		z-index:6;
	}
	div.recruit_link a::before{
		content:"詳しくはこちら";
		color:#000;
		position:absolute;
		border-bottom:20px;
		right:60px;
		bottom:30px;
		font-weight:700;
	}
	div.recruit_link a::after{
		content:"";
		width:15px;
		height:15px;
		border-top:2px solid #000;
		border-right:2px solid #000;
		position: absolute;
		right: 35px;
		bottom: 33px;
		transform: rotate(45deg);
		display:block;
	}
	div.recruit_link h3{
		position:absolute;
		font-size:24px;
		font-weight:700;
		top:50%;
		left:50%;
		color:#000;
		z-index:3;
		transform:translate(-50%,-50%);
		width:100%;
		text-align:center;
	}
	div.recruit_wrap{
	}
	section.recruit_box{
		padding:40px 20px;
		width:100%;
		box-sizing:border-box;
	}
	section.recruit_box h2{
		font-size:26px;
		color:#103656;
		font-weight:700;
		border-bottom:2px solid #314b6e;
		width:100%;
	}
	section.recruit_box dl{
		width:100%;
		display:flex;
		margin:0 auto;
		border-bottom:1px solid #ccc;
		padding:5px 10px;
		box-sizing:border-box;
	}
	section.recruit_box dl:nth-of-type(1){
		border-top:1px solid #ccc;
		margin:15px auto 0 auto;
	}
	section.recruit_box dl dt{
		width:30%;
		height:50px;
	}
	section.recruit_box dl dd{
		width:70%;
	}
	/*施工事例*/
	div.case_box:nth-of-type(1){
		padding:50px 0 0 0;
	}
	div.case_box:nth-of-type(4){
		padding:0 0 50px 0;
	}
	div.case_box:nth-of-type(2),
	div.case_box:nth-of-type(3){
		padding-top:120px;
		margin-top:-100px;
	}
	div.case_box h3{
		width:100%;
		border-bottom:2px solid rgba(8,75,115,0.4);
		position:relative;
		z-index:1;
		font-size:26px;
		color:#103656;
		font-weight:700;
		padding:0 0 0 15px;
		box-sizing:border-box;
	}
	div.case_box h3::before{
		content:"";
		position:absolute;
		bottom:-2px;
		left:0;
		border-bottom:2px solid #314b6e;
		width:21%;
	}
	div.case_box ul{
		list-style:none;
		list-style-position:outside;
		padding:30px 10px;
		box-sizing:border-box;
		width:100%;
	}
	div.case_box ul li{
		width:33.3333%;
		padding:0 10px 20px 10px;
		box-sizing:border-box;
		float:left;
	}
	div.case_box ul li div{
		position:relative;
		z-index:1;
	}
	div.case_box ul li div a{
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		z-index: 2;
	}
	div.case_box ul li div figure img{
		width:100%;
		object-fit:cover;
		height: 165px;
	}
	div.case_box ul li div > div{
		display: table;
		width: 100%;
	}
	div.case_box ul li div > div > p{
		display: table-cell;
		width:100%;
		line-height:45px;
		color:#000;
		text-align:center;
		font-size:18px;
		background-color:rgba(82,123,177,0.2);
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		max-width: 1px;
	}
	/*施工事例　中身*/
	section.main_detail{
		padding:30px 0;
	}
	section.main_detail h2{
		width:100%;
		border-bottom:2px solid rgba(49,75,110,0.4);
		position:relative;
		z-index:1;
		font-size:22px;
		color:#103656;
		font-size:24px;
		font-weight:700;
	}
	section.main_detail h2::before{
		content:"";
		position:absolute;
		bottom:-2px;
		left:0;
		border-bottom:2px solid #103656;
		width:25%;
	}
	section.main_detail div.detail_top{
		padding:50px 0;
		box-sizing:border-box;
		width:85%;
		margin:0 auto;
	}
	section.main_detail div.detail_top figure img{
		width:100%;
		box-sizing:border-box;
	}
	section.main_detail div.detail_bottom{
	}
	section.main_detail div.detail_bottom ul{
		list-style:none;
		list-style-position:outside;
	}
	section.main_detail div.detail_bottom ul li{
		float:left;
		width:25%;
		padding:0 1px 2px 1px;
		box-sizing:border-box;
	}
	section.main_detail div.detail_bottom ul li img{
		width:100%;
		object-fit:cover;
	}
}
@media screen and (min-width:1100px){
	/*
	PCの設定----------------------------------------------------
	** top slider
	**----------------------------------------------------*/
	section.topslider{
		height:367px;
	}
	section.topslider ul{
		height:360px;
	}
	section.topslider ul li,
	section.topslider ul li img{
		width:640px;
		height:360px;
	}
	/*スライダー*/
	div.slider{
		position:relative;
		z-index:1;
		height:100vh; /* 変数をサポートしていないブラウザのフォールバック */
		height:calc(var(--vh, 1vh) * 100 - 37px);
	}
	div.slider div.slidercontents div{
		width:100%;
	}
	div.slidercontents div picture img{
		width:100%;
		object-fit:cover;
	}
	div.slider h2{
		font-size:4vw;
		font-weight:700;
		text-align:center;
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%,-50%);
		z-index:5;
		color:#000;
	}
	div.slider h2 span{
		font-size: 2.5vw;
		font-weight: 700;
	}
	div.btn05{
		margin-bottom: 2em;
	}
	div.btn05 input{
		display: block;
		width: 200px;
		margin: 0 auto;
		line-height: 50px;
		border-radius: 5px;
		color: #FFF;
		background-color: #103656;
		padding: 0 20px;
	}
	/*共通
	-----------------------------*/
	div.inner{
		width:1100px;
		margin:0 auto;
	}
	/*タイトル*/
	h2.contents_title01{
		margin-top:-5px;
		font-size:22px;
		color:#103656;
		text-align:center;
		font-weight:600;
		position:relative;
		z-index:2;
	}
	/*ボタン*/
	div.btn{
		width:250px;
		margin:0 auto;
		display:table;
	}
	div.btn a{
		display:table-cell;
		font-size:18px;
		width:100%;
		height:50px;
		line-height:50px;
		text-align:center;
		box-sizing:border-box;
		background-color:#103656;
		color:#fff;
		border-radius:10px;
		position:relative;
		z-index:1;
		transition: all 0.3s ease;
	}
	div.btn a:hover{
		background-color:rgba(8,78,115,0.8);
		color:#fff;
		height:50px;
		font-size:18px;
	}
	div.btn a::before{
		content:"";
		position:absolute;
		top:50%;
		right:10px;
		width:15px;
		height:15px;
		transform:translate(-50%,-50%) rotate(45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}
	div.btn a:hover::before{
		border-color:#fff;
	}
	div.btn02{
		width:250px;
		margin:0 auto;
		display:table;
	}
	div.btn02 a{
		display:table-cell;
		font-size:18px;
		width:100%;
		height:50px;
		line-height:50px;
		text-align:center;
		box-sizing:border-box;
		background-color:#103656;
		color:#fff;
		border-radius:10px;
		position:relative;
		z-index:1;
		transition: all 0.3s ease;
	}
	div.btn02 a:hover{
		background-color:rgba(8,78,115,0.8);
		color:#fff;
		height:50px;
	}
	div.btn02 a::before{
		content:"";
		position:absolute;
		top:50%;
		right:10px;
		width:15px;
		height:15px;
		transform:translate(-50%,-50%) rotate(45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}
	div.btn02 a:hover::before{
		border-color:#fff;
	}
	div.btn03{
		width:250px;
		margin:0 auto;
		display:table;
	}
	div.btn03 a{
		display:table-cell;
		font-size:18px;
		width:100%;
		height:50px;
		line-height:50px;
		text-align:center;
		box-sizing:border-box;
		background-color:#d40068;
		color:#fff;
		border-radius:10px;
		position:relative;
		z-index:1;
		transition: all 0.3s ease;
	}
	div.btn03 a:hover{
		background-color:#fff;
		color:#e68ab4;
		height:50px;
	}
	div.btn03 a::before{
		content:"";
		position:absolute;
		top:50%;
		right:10px;
		width:15px;
		height:15px;
		transform:translate(-50%,-50%) rotate(45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}
	div.btn03 a:hover::before{
		border-color:#d40068;
	}
	div.btn04{
		width:250px;
		margin:0 auto;
		display:table;
	}
	div.btn04 a{
		display:table-cell;
		font-size:18px;
		width:100%;
		height:50px;
		line-height:50px;
		text-align:center;
		box-sizing:border-box;
		background-color:#103656;
		color:#fff;
		border-radius:10px;
		position:relative;
		z-index:1;
		transition: all 0.3s ease;
	}
	div.btn04 a:hover{
		background-color:#82ccdf;
		color:#fff;
		height:50px;
	}
	div.btn04 a::before{
		content:"";
		position:absolute;
		top:50%;
		right:10px;
		width:15px;
		height:15px;
		transform:translate(-50%,-50%) rotate(45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}
	div.btn04 a:hover::before{
		border-color:#fff;
	}
	/*回り込み解除*/
	.clearfix:after {
		content:"";
		display:block;
		clear:both;
	}
	.clearfix:before {
　　content:"";
		display:block;
		clear:both;
		}
 	.clearfix {
		display:block;
	}
	/*改行*/
	br.sp{
		display:none;
	}
	br.pc{
		display:block;
	}
	/*トップページ
	------------------------------*/
	section.top_contents{
		width:100%;
		background-color:#fff;
	}
	section.company_message{
		width:100%;
		position:relative;
		z-index:1;
		padding:107px 0 50px 0;
		background-color:#fff;
	}
	section.company_message::before{
		content:"TOTAL SUPPORT FOR BUILDINGS";
		width:1100px;
		text-align:center;
		color:#000;
		font-size:4.5em;
		font-weight:bolder;
		line-height:1em;
		max-width:1100px;
		margin:0 auto;
		display:block;
	}
	section.company_message::after{
		content:"";
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		background-color:#fff;
		z-index:-1;
	}
	h2.message_title{
		margin:0 0 30px 0;
		font-size:30px;
		position:relative;
		z-index:2;
		line-height:2em;
		font-weight:600;
		text-align:center;
		background-color:rgba(0,0,0,0);
		color:#103656;
	}
	section.company_message div.message{
		margin:15px 0 50px 0;
	}
	section.company_message div.message p{
		font-size:14px;
		line-height:2em;
		color:#000;
		text-align:center;
		position:relative;
		z-index:2;
	}
  section.company_message figure.five_arrows{
    width: 480px;
    margin: 0 auto 50px auto;
  }
	section.business{
		position:relative;
		z-index:1;
		padding:145px 0 50px 0;
	}
	section.business::before{
		content:"BUSINESS";
		position:absolute;
		top:0;
		left:50%;
		color:#000;
		font-size:4.5em;
		font-weight:bolder;
		transform:translateX(-50%);	
		width:100%;
		text-align:center;
	}
	section.business div.business_box01{
		position:relative;
		z-index:1;
		width:100%;
		margin-bottom:265px;
		margin-top:20px;
	}
	section.business div.business_box01.visible{
		animation-name:fadein01;
		animation-duration:1s; 
		animation-iteration-count:1;
		animation-fill-mode:forwards;
	}
	section.business div.business_box01::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		height:300px;
		background-color:#fff;
		width:60%;
	}
	section.business div.business_box01 div.inbusiness_box{
		width:1100px;
		margin:0 auto;
		position:relative;
		z-index:1;
	}
	section.business div.business_box01 div.inbusiness_box dl{
		width:50%;
		position:relative;
		z-index:2;
		padding:80px 20px 0 20px;
		box-sizing:border-box;
	}
	section.business div.business_box01 div.inbusiness_box dl dt h3{
		position:relative;
		z-index:1;
	}
	section.business div.business_box01 div.inbusiness_box dl dt h3,
	section.business div.business_box02 div.inbusiness_box dl dt h3,
	section.business div.business_box03 div.inbusiness_box dl dt h3,
	section.business div.business_box04 div.inbusiness_box dl dt h3{
		font-size:22px;
		font-weight:700;
		color:#103656;
	}
	section.business div.business_box01 div.inbusiness_box div.btn02,
	section.business div.business_box03 div.inbusiness_box div.btn02{
		margin:0 0 0 auto !important;
	}
	section.business div.business_box02 div.inbusiness_box div.btn02,
	section.business div.business_box04 div.inbusiness_box div.btn02{
		margin:0 auto 0 0 !important;
	}
	section.business div.business_box01 div.inbusiness_box dl dt h3.paint::before{
		content:"PAINT";
		color:#000;
		font-size:50px;
		line-height:35px;
		position:absolute;
		top:-40px;
		font-weight:bold;
	}
	section.business div.business_box02 div.inbusiness_box dl dt h3.apartment::before{
		content:"REPAIR BUSINESS";
		color:#000;
		font-size:50px;
		line-height:45px;
		position:absolute;
		top:25px;
		font-weight:bold;
	}
	section.business div.business_box03 div.inbusiness_box dl dt h3.architecture::before{
		content:"ARCHITECTURE";
		color:#000;
		font-size:50px;
		line-height:42px;
		position:absolute;
		top:25px;
		font-weight:bold;
	}
	section.business div.business_box04 div.inbusiness_box dl dt h3.public::before{
		content:"PUBLIC WORKS";
		color:#000;
		font-size:50px;
		line-height:45px;
		position:absolute;
		top:25px;
		font-weight:bold;
	}
	section.business div.business_box01 div.inbusiness_box dl dd p{
		font-size:14px;
		line-height:14px;
		line-height:1.8em;
		margin:0 0 10px 0;
	}
	section.business div.business_box01 div.inbusiness_box figure{
		width:50%;
		position:absolute;
		right:0;
		top:120px;
	}
	section.business div.business_box01 div.inbusiness_box figure img{
		width:100%;
		object-fit:cover;
	}
	section.business div.business_box02{
		position:relative;
		z-index:1;
		width:100%;
		margin-bottom:365px;
	}
	section.business div.business_box02.visible{
		animation-name:fadein02;
		animation-duration:1s; 
		animation-iteration-count:1;
		animation-fill-mode:forwards;
	}
	section.business div.business_box02::before{
		content:"";
		position:absolute;
		top:175px;
		right:0;
		height:300px;
		background-color:#fff;
		width:60%;
	}
	section.business div.business_box02 div.inbusiness_box{
		width:1100px;
		margin:0 auto;
		position:relative;
		z-index:1;
		height:125px;
	}
	section.business div.business_box02 div.inbusiness_box dl{
		width:50%;
		position:relative;
		z-index:2;
		padding:80px 20px 0 20px;
		box-sizing:border-box;
		position:absolute;
		top:175px;
		right:0;
	}
	section.business div.business_box02 div.inbusiness_box dl dd p{
		font-size:14px;
		line-height:14px;
		line-height:1.8em;
		margin:0 0 10px 0;
	}
	section.business div.business_box02 div.inbusiness_box figure{
		width:50%;
		position:absolute;
		left:0;
		top:0;
	}
	section.business div.business_box02 div.inbusiness_box figure img{
		width:100%;
		object-fit:cover;
	}
	section.business div.business_box03{
		position:relative;
		z-index:1;
		width:100%;
		margin-bottom:400px;
	}
	section.business div.business_box03.visible{
		animation-name:fadein03;
		animation-duration:1s; 
		animation-iteration-count:1;
		animation-fill-mode:forwards;
	}
	section.business div.business_box03::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		height:300px;
		background-color:#fff;
		width:60%;
	}
	section.business div.business_box03 div.inbusiness_box{
		width:1100px;
		margin:0 auto;
		position:relative;
		z-index:1;
		height:125px;
	}
	section.business div.business_box03 div.inbusiness_box dl{
		width:50%;
		position:relative;
		z-index:2;
		padding:80px 20px 0 20px;
		box-sizing:border-box;
		position:absolute;
		top:0;
		left:0;
	}
	section.business div.business_box03 div.inbusiness_box dl dd p{
		font-size:14px;
		line-height:14px;
		line-height:1.8em;
		margin:0 0 10px 0;
	}
	section.business div.business_box03 div.inbusiness_box figure{
		width:50%;
		position:absolute;
		right:0;
		top:175px;
	}
	section.business div.business_box03 div.inbusiness_box figure img{
		width:100%;
		object-fit:cover;
	}
	section.business div.business_box04{
		position:relative;
		z-index:1;
		width:100%;
		margin-bottom:365px;
	}
	section.business div.business_box04.visible{
		animation-name:fadein04;
		animation-duration:1s; 
		animation-iteration-count:1;
		animation-fill-mode:forwards;
	}
	section.business div.business_box04::before{
		content:"";
		position:absolute;
		top:150px;
		right:0;
		height:300px;
		background-color:#fff;
		width:60%;
	}
	section.business div.business_box04 div.inbusiness_box{
		width:1100px;
		margin:0 auto;
		position:relative;
		z-index:1;
		height:125px;
	}
	section.business div.business_box04 div.inbusiness_box dl{
		width:50%;
		position:relative;
		z-index:2;
		padding:80px 20px 0 20px;
		box-sizing:border-box;
		position:absolute;
		top:150px;
		right:0;
	}
	section.business div.business_box04 div.inbusiness_box dl dd p{
		font-size:14px;
		line-height:14px;
		line-height:1.8em;
		margin:0 0 10px 0;
	}
	section.business div.business_box04 div.inbusiness_box figure{
		width:50%;
		position:absolute;
		left:0;
		top:0;
	}
	section.business div.business_box04 div.inbusiness_box figure img{
		width:100%;
		object-fit:cover;
	}
	section.top_case{
		position:relative;
		z-index:1;
		padding:145px 0 50px 0;
	}
	section.top_case::before{
		content:"CASE";
		position:absolute;
		top:10px;
		left:50%;
		color:#000;
		font-size:4.5em;
		font-weight:bolder;
		transform:translateX(-50%);
		z-index:3;
		width:100%;
		text-align:center;
	}
	section.top_case::after{
		content:"";
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		background-color:#fff;
	}
	section.top_case div.case_wrap{
		margin:40px 0;
	}
	section.top_case ul{
		list-style:none;
		list-style-position:outside;
	}
	section.top_case ul li{
		margin:0 25px;
		position:relative;
		z-index:1;
		width:300px;
	}
	section.top_case ul li a{
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		z-index:10;
		color:rgba(0,0,0,0);
		z-index: 5;
	}
	section.top_case ul li figure{
		width:300px;
		position:relative;
		z-index:1;
	}
	section.top_case ul li figure h3{
		font-size:12px;
		color:#fff;
		background-color:#103656;
		padding:10px;
		position:absolute;
		top:10px;
		left:10px;
		display:table;
	}
	section.top_case ul li figure img{
		width:100%;
		object-fit:cover;
		height: 250px;
	}
	section.top_case ul li div{
		display: table;
		width: 100%;
	}
	section.top_case ul li p{
		display: table-cell;
		background-color:#fff;
		text-align:center;
		font-size:16px;
		height:70px;
		font-weight:700;
		line-height:70px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		width: 100%;
		max-width: 1px;
	}
	section.top_news{
		position:relative;
		z-index:1;
		padding:145px 0 50px 0;
	}
	section.top_news::before{
		content:"NEWS";
		position:absolute;
		top:10px;
		left:50%;
		color:#000;
		font-size:4.5em;
		font-weight:bolder;
		transform:translateX(-50%);
		width:100%;
		text-align:center;
	}
	section.top_news ul{
		width:800px;
		list-style:none;
		list-style-position:outside;
		margin:40px auto;
	}
	section.top_news ul li{
		width:100%;
		position:relative;
		z-index:1;
		border-bottom:2px dotted #314b6e;
	}
	section.top_news ul li:nth-of-type(1){
		border-top:2px dotted #314b6e;
	}
	section.top_news ul li a{
		position:absolute;
		top:0;
		left:0;
		bottom:0;
		right:0;
		transition: all 0.3s ease;
		color:rgba(0,0,0,0);
	}
	section.top_news ul li a:hover{
		background-color:rgba(224,243,231,0.5);
	}
	section.top_news ul li div{
		display:flex;
		font-size:14px;
		padding:0 15px;
		box-sizing:border-box;
	}
	section.top_news ul li div time{
		width:30%;
		line-height:50px;
	}
	section.top_news ul li div p{
		width:70%;
		line-height:50px;
		white-space:nowrap;
		overflow:hidden;
		text-overflow:ellipsis;
	}
	section.top_recruit{
		position:relative;
		z-index:1;
		padding:125px 0 30px 0;
		background-color:#000;
	}
	section.top_recruit::before{
		content:"RECRUIT";
		position:absolute;
		top:10px;
		left:50%;
		color:#000;
		font-size:4.5em;
		font-weight:bolder;
		transform:translateX(-50%);
		width:100%;
		text-align:center;
		z-index:2;
	}
	section.top_recruit::after{
		content:"";
		position:absolute;
		background-color:#fff;
		top:0;
		right:0;
		left:0;
		bottom:0;
	}
	h2.contents_title02{
		color:rgba(255,255,255,0);
		background-color:rgba(0,0,0,0);
		text-align:center;
		margin:0 auto 0 auto;
		font-weight:600;
		position:relative;
		z-index:1;
		display:table;
		width:250px;
		line-height:40px;
		font-size:22px;
	}
	h2.contents_title02::before{
		content:"採用情報";
		position:absolute;
		color:#103656;
		font-size:22px;
		font-weight:600;
		text-align:center;
		line-height:2em;
	}
	section.top_recruit div.in_recruit{
		width:900px;
		margin:0 auto;
		background-image:url("../img/image024.webp");
		padding:70px 0;
		position:relative;
		z-index:1;
	}
	.ie section.top_recruit div.in_recruit,
	.safari section.top_recruit div.in_recruit{
		background-image:url(../img/image024.jpg);
		background-size:cover;
		background-position:center center;
		background-repeat:no-repeat;
	}
	section.top_recruit div.in_recruit::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		background-image:radial-gradient(#fff 0.3px, transparent 1px);
		background-size:3px 3px;
	}
	section.top_recruit div.in_recruit::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
	}
	section.top_recruit div.in_recruit p{
		font-size:14px;
		margin:0 0 30px 0;
		text-align:center;
		position:relative;
		z-index:2;
	}
	/*子ページ
	---------------------------------------------------*/
	/*共通*/
	div.child_title{
		height:300px;
		position:relative;
		z-index:1;
		overflow:hidden;
	}
	div.child_title h2{
		font-size:32px;
		color:#000;
		position:absolute;
		top:50%;
		left:50%;
		text-align:center;
		transform:translate(-50%,-50%);
	}
	div.child_title h2 p{
		font-size:70px;
		font-weight:bold;
		color:#000;
	}
	/*タイトル*/
  h1.title01,
	h3.title01{
		text-align:left;
		font-size:32px;
		color:#103656;
		width:1100px;
		margin:0 auto 50px auto;
		position:relative;
		z-index:1;
	}
  h1.title01::before,
	h3.title01::before{
		content:"";
		position:absolute;
		bottom:0;
		left:0;
		border-bottom:1px solid #103656;
		width:100%;
	}
	/*会社概要*/
	section.child_page{
		padding-top:70px;
		background-color:#fff;
	}
	section.philosophy{
		padding:100px 0 50px 0;
	}
	section.philosophy dl{
		margin:0 0 50px 0;
		text-align:center;
	}
	section.philosophy dl dt{
		color:#103656;
		font-size:28px;
		font-weight:700;
	}
	section.philosophy dl dd{
		font-size:16px;
		line-height:1.8em;
	}
	section.message{
		padding:50px 0 100px 0;
	}
	section.message > figure{
		width:1100px;
		height:425px;
		margin:0 auto;
		overflow:hidden;
	}
	section.message > figure img{
		width:100%;
		object-fit:cover;
	}
	section.message div.message_text{
		font-size:16px;
		line-height:1.8em;
		padding:0 30px;
		box-sizing:border-box;
	}
	section.message div.message_text span:nth-of-type(1){
		display:table;
		margin:0 0 0 auto;
		font-size: 24px;
		font-weight: 700;
		margin-top: 1rem;
	}
	section.message div.message_text div.name{
		margin-top: 2rem;
		text-align: right;
		float: right;
	}
	section.message div.message_text div.name > p{
		display: flex;
		align-items: center;
		float: right;
	}
	section.message div.message_text div.name div.name_img > p{
		opacity: 0;
		height: 0;
	}
	section.message div.message_text div.name div.name_img figure{
		width: 120px;
		height: 60px;
	}
	section.message div.message_text div.name div.name_img figure img{
		width: 100%;
		object-fit: cover;
	}
	section.company_list{
		padding:0 0 100px 0;
	}
	section.company_list dl{
		display:flex;
		border-bottom:solid #ccc 1px;
		width:1000px;
		margin:0 auto;
	}
	section.company_list dl dt{
		width:30%;
		height:50px;
		padding:15px 0 15px 15px;
		box-sizing:border-box;
	}
	section.company_list dl dd{
		width:70%;
		padding:15px;
		box-sizing:border-box;
	}
	/*採用情報*/
	section.recruit_box{
		padding:50px 0;
	}
	div.recruit_link{
		width:800px;
		height:300px;
		margin:100px auto;
		position:relative;
		z-index:1;
	}
	div.recruit_link::before{
	}
	div.recruit_link::after{
		content:"";
		position:absolute;
		top:10px;
		left:10px;
		bottom:10px;
		right:10px;
		border:solid 1px #000;
		z-index:5;
	}
	div.recruit_link a{
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		display:block;
		z-index:6;
	}
	div.recruit_link a::before{
		content:"詳しくはこちら";
		color:#000;
		position:absolute;
		border-bottom:20px;
		right:60px;
		bottom:30px;
		font-weight:700;
	}
	div.recruit_link a::after{
		content:"";
		width:15px;
		height:15px;
		border-top:2px solid #000;
		border-right:2px solid #000;
		position: absolute;
		right: 35px;
		bottom: 33px;
		transform: rotate(45deg);
		display:block;
	}
	div.recruit_link figure{
		position:absolute;
		top:0;
		left:0;
		bottom:0;
		right:0;
		height:300px;
		width:100%;
	}
	div.recruit_link figure img{
		width:100%;
		object-fit:cover;
		height:300px;
	}
	div.recruit_link h3{
		position:absolute;
		font-size:26px;
		font-weight:700;
		top:50%;
		left:50%;
		color:#000;
		z-index:3;
		transform:translate(-50%,-50%);
	}
	section.recruit_box h2{
		font-size:26px;
		color:#103656;
		font-weight:700;
		border-bottom:2px solid #103656;
		width:1100px;
		margin:0 auto;
	}
	section.recruit_box dl{
		width:1050px;
		display:flex;
		margin:0 auto;
		border-bottom:1px solid #ccc;
		padding:5px 10px;
		box-sizing:border-box;
	}
	section.recruit_box dl:nth-of-type(1){
		border-top:1px solid #ccc;
		margin:30px auto 0 auto;
	}
	section.recruit_box dl dt{
		width:30%;
		height:50px;
	}
	section.recruit_box dl dd{
		width:70%;
	}
	/*施工事例*/
	div.case_box:nth-of-type(1){
		padding:100px 0 0 0;
	}
	div.case_box:nth-of-type(4){
		padding:0 0 50px 0;
	}
	div.case_box:nth-of-type(2),
	div.case_box:nth-of-type(3){
		padding-top:100px;
		margin-top:-100px;
	}
	div.case_box h3{
		width:100%;
		border-bottom:2px solid rgba(49,75,110,0.4);
		position:relative;
		z-index:1;
		font-size:26px;
		color:#103656;
		font-weight:700;
		padding:0 0 0 15px;
		box-sizing:border-box;
	}
	div.case_box h3::before{
		content:"";
		position:absolute;
		bottom:-2px;
		left:0;
		border-bottom:2px solid #103656;
		width:25%;
	}
	div.case_box ul{
		list-style:none;
		list-style-position:outside;
		padding:30px 10px;
		box-sizing:border-box;
		width:100%;
	}
	div.case_box ul li{
		width:33.3333%;
		float:left;
		padding:0 10px 20px 10px;
		box-sizing:border-box;
	}
	div.case_box ul li div{
		position:relative;
		z-index:1;
	}
	div.case_box ul li div a{
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		z-index: 2;
	}
	div.case_box ul li div figure img{
		width:100%;
		object-fit:cover;
		height: 225px;
	}
	div.case_box ul li > div > div{
		display: table;
		width: 100%;
	}
	div.case_box ul li div > div > p{
		display: table-cell;
		width:100%;
		line-height:45px;
		color:#000;
		text-align:center;
		font-size:20px;
		background-color:rgba(82,123,177,0.2);
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		max-width: 1px;
	}
	/*施工事例　中身*/
	section.main_detail{
		width:900px;
		margin:0 auto;
		padding:50px 0;
	}
	section.main_detail h2{
		width:100%;
		border-bottom:2px solid rgba(49,75,110,0.4);
		position:relative;
		z-index:1;
		font-size:22px;
		color:#103656;
		font-size:24px;
		font-weight:700;
	}
	section.main_detail h2::before{
		content:"";
		position:absolute;
		bottom:-2px;
		left:0;
		border-bottom:2px solid #103656;
		width:25%;
	}
	section.main_detail div.detail_top{
		padding:50px 0;
		box-sizing:border-box;
		width:85%;
		margin:0 auto;
	}
	section.main_detail div.detail_top figure img{
		width:100%;
		box-sizing:border-box;
	}
	section.main_detail div.detail_bottom{
	}
	section.main_detail div.detail_bottom ul{
		list-style:none;
		list-style-position:outside;
	}
	section.main_detail div.detail_bottom ul li{
		float:left;
		width:25%;
		padding:0 1px 2px 1px;
		box-sizing:border-box;
	}
	section.main_detail div.detail_bottom ul li img{
		width:100%;
		object-fit:cover;
	}
}
/*----------------------------------------------------
** Internet Explorer
**----------------------------------------------------*/
