/*
	* Bootstrap 単独ページに掛かる関するカスタムCSS

	@media screen and (max-width: 1309px) {}
	@media screen and (max-width: 991px) {}
	@media print {}
	@media screen and (max-width: 767px) {}
 
	xl-1310(max-1309) 左右余白15pxを含む
	lg-992(max-991)
	md-768(max-767)
	sm-576(max-575)
 
	-------------------

*/

	.home-mv{
		overflow: hidden;
		position: relative;
		display: flex;
		align-items: flex-end; /* 下揃え */
		background: linear-gradient(
	    to bottom,
	    #fff 0,
	    #fff 200px,
	    #c1e2c5 200px,
	    #c1e2c5 100%
	  );
		height: 960px;
	}
	
	.home-mv-text{
		position: relative;
		padding: 0 30px 50px 4%;
		color: #123105;
		white-space: nowrap;
		z-index: 6;
	}
	.home-mv-text .main{
		padding-bottom: 20px;
		margin-bottom: 40px;
		font-size: 64px;
		line-height: 1.5;
		position: relative;
	}
	.home-mv-text .main::before{
		content: '';
		position: absolute;
		bottom: 0px;
		left: 0px;
		display: block;
		background-color: #123105;
		width: 45%;
		height: 2px;
	}
	
	.home-mv-textbak{
		position: absolute;
		bottom: -40px;
		left: 0px;
		font-family: "Andika", sans-serif;
		font-style: normal;
		font-size: 180px;
		font-weight: 700;
		color: rgba(255, 255, 255, 0.3);
		line-height: 1;
		z-index: 3;
	}
	
	.home-mv-promo{
		overflow: hidden;
	}
	@media screen and (max-width: 1309px) {
		.home-mv{
			background: linear-gradient(
		    to bottom,
		    #fff 0,
		    #fff 180px,
		    #c1e2c5 180px,
		    #c1e2c5 100%
		  );
			height: 700px;
		}
		
		.home-mv-text{
			position: relative;
			padding: 0 20px 40px 2%;
			color: #123105;
		}
		.home-mv-text .main{
			padding-bottom: 20px;
			margin-bottom: 34px;
			font-size: 46px;
		}
		
		.home-mv-textbak{
			bottom: -30px;
			font-size: 10vw;
		}
		
		.home-mv-promo{
			overflow: hidden;
		}
	}
	@media screen and (max-width: 991px) {
		.home-mv{
			background: linear-gradient(
		    to bottom,
		    #fff 0,
		    #fff 150px,
		    #c1e2c5 150px,
		    #c1e2c5 100%
		  );
			height: 500px;
		}
		
		.home-mv-text{
			position: relative;
			padding: 0 20px 20px 2%;
			color: #123105;
		}
		.home-mv-text .main{
			padding-bottom: 16px;
			margin-bottom: 28px;
			font-size: 36px;
		}
		
		.home-mv-textbak{
			bottom: -26px;
			font-size: 10vw;
		}
		
		.home-mv-promo{
			overflow: hidden;
		}
	}
	@media print {
		.home-mv{
			background: linear-gradient(
		    to bottom,
		    #fff 0,
		    #fff 150px,
		    #c1e2c5 150px,
		    #c1e2c5 100%
		  );
			height: 360px;
		}
		
		.home-mv-text{
			position: relative;
			padding: 0 20px 20px 2%;
			color: #123105;
		}
		.home-mv-text .main{
			padding-bottom: 16px;
			margin-bottom: 28px;
			font-size: 30px;
		}
		
		.home-mv-textbak{
			bottom: -26px;
			font-size: 10vw;
		}
		
		.home-mv-promo{
			overflow: hidden;
		}
	}
	@media screen and (max-width: 767px) {
		.home-mv{
			display: block;
			height: 98vh;
		}
		
		.home-mv-text{
			position: absolute;
			bottom: 0px;
			left: 0px;
			background:rgba(25,112,35,0.4);
			padding: 15px 3% 140px 3%;
			width: 100%;
			color: #123105;
			white-space: inherit;
			color: white;
			z-index: 6;
		}
		.home-mv-text .main{
			padding-bottom: 10px;
			margin-bottom: 20px;
			font-size: 24px;
		}
		.home-mv-text .main::before{
			background-color: white;
			width: 120px;
		}

		.home-mv-textbak{
			bottom: -20px;
			font-size: 50px;
		}
	}

/* area02 */
	.cus-home-area02{
		position: relative;
		padding: 80px 0;
	}
	.cus-home-area02::before{
		content: '';
		position: absolute;
		top: 0px;
		left: 0px;
		display: block;
		background-color: #e5f0e6;
		width: 80%;
		height: 50%;
		z-index: -1;
	}

	.cus-home-area02-bn{
		display: -webkit-flex;
		display: flex;
	}
	.cus-home-area02-bn .bn-col{
		box-sizing: content-box;
		padding-right: 2%;
		width: 32%;
	}
	.cus-home-area02-bn .bn-col:last-child{
		padding-right: 0%;
	}

	.cus-home-area02-link{
		position: relative;
		display: block;
		color: white;
		text-decoration: none;
	}
	.cus-home-area02-link:hover{
		color: white;
		text-decoration: none;
	}

	.cus-home-area02-link .link-text{
		position: absolute;
		top: 50%;
		left: 50%;
		width: 94%;
		transform: translate(-50%, -50%);
		text-align: center;
		z-index: 9;
	}
	.cus-home-area02-link .link-text .no{
		font-size: 24px;
	}
	.cus-home-area02-link .link-text .text01{
		font-size: 44px;
		line-height: 1.4;
	}
	.cus-home-area02-link .link-text .text02{
		font-size: 16px;
	}

	.cus-home-area02-link .link-img{
		overflow: hidden;
		margin: 0;
	}
	.cus-home-area02-link .link-img img{
		width: 100%;
		height: 630px;
		object-fit: cover;
		font-family: 'object-fit: cover;';
		transition: 0.5s all;
	}
	.cus-home-area02-link .link-img img:hover{
		transform: scale(1.1,1.1);
		transition: 0.7s all;
	}

	.cus-home-area02-subtitle{
		position: absolute;
		top: 80px;
		left: 50%;
		margin-left: -900px;
		font-family: "Andika", sans-serif;
		font-style: normal;
		font-size: 18px;
		font-weight: 700;
		color: #123105;
		writing-mode: vertical-rl;
		text-orientation: mixed;
		z-index: 3;
	}
	.cus-home-area02-subtitle span{
		position: relative;
		display: block;
		padding-top: 18px;
	}
	.cus-home-area02-subtitle span::before{
		content: '';
		position: absolute;
		top: 0px;
		left: 11px;
		display: block;
		background-color: #123105;
		border-radius: 50%;
		width: 7px;
		height: 7px;
	}
	@media screen and (max-width: 1799px) {
		.cus-home-area02-subtitle{
			left: 2%;
			margin-left: 0px;
		}
	}
	@media screen and (max-width: 1709px) {
		.cus-home-area02-title{
			padding-left: 6vw;
		}

		.cus-home-area02-link .link-text .no{
			font-size: 22px;
		}
		.cus-home-area02-link .link-text .text01{
			font-size: 37px;
		}
		.cus-home-area02-link .link-text .text02{
			font-size: 16px;
		}

		.cus-home-area02-link .link-img img{
			height: 36vw;
		}
	}
	@media screen and (max-width: 1309px) {
		.cus-home-area02-title{
			padding-left: 6vw;
		}

		.cus-home-area02{
			padding: 70px 0;
		}
		.cus-home-area02-link .link-text .no{
			font-size: 20px;
		}
		.cus-home-area02-link .link-text .text01{
			font-size: 27px;
		}
		.cus-home-area02-link .link-text .text02{
			font-size: 16px;
		}

		.cus-home-area02-link .link-img img{
			height: 36vw;
		}

		.cus-home-area02-subtitle{
			top: 70px;
		}
	}
	@media screen and (max-width: 991px) {
		.cus-home-area02-title{
			padding-left: 6vw;
		}

		.cus-home-area02{
			padding: 55px 0;
		}
		.cus-home-area02-link .link-text .no{
			font-size: 18px;
		}
		.cus-home-area02-link .link-text .text01{
			font-size: 21px;
		}
		.cus-home-area02-link .link-text .text02{
			font-size: 16px;
		}

		.cus-home-area02-link .link-img img{
			height: 380px;
		}

		.cus-home-area02-subtitle{
			top: 55px;
		}
	}
	@media print {
		.cus-home-area02-title{
			padding-left: 6vw;
		}

		.cus-home-area02{
			padding: 40px 0;
		}
		.cus-home-area02-link .link-text .no{
			font-size: 16px;
		}
		.cus-home-area02-link .link-text .text01{
			font-size: 17px;
		}
		.cus-home-area02-link .link-text .text02{
			font-size: 14px;
		}

		.cus-home-area02-link .link-img img{
			height: 360px;
		}

		.cus-home-area02-subtitle{
			top: 40px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-home-area02-title{
			padding-left: 0px;
		}

		.cus-home-area02{
			padding: 70px 0 40px 0;
		}

		.cus-home-area02-bn{
			display: block;
		}
		.cus-home-area02-bn .bn-col{
			padding-right: 0%;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-home-area02-bn .bn-col:last-child{
			margin-bottom: 0px;
		}

		.cus-home-area02-link .link-text .no{
			margin-bottom: 10px;
			font-size: 18px;
		}
		.cus-home-area02-link .link-text .text01{
			font-size: 22px;
			line-height: 1.4;
		}
		.cus-home-area02-link .link-text .text02{
			text-align: left;
		}

		.cus-home-area02-link .link-img img{
			height: 84vw;
		}

		.cus-home-area02-subtitle{
			top: 40px;
			left: 30px;
			font-size: 16px;
			writing-mode: inherit;
		}
		.cus-home-area02-subtitle span{
			padding-top: 0px;
		}
		.cus-home-area02-subtitle span::before{
			top: 10px;
			left: -16px;
		}
	}

/* area03 */
	.cus-home-area03{
		position: relative;
		padding: 80px 0;
	}
	.cus-home-area03::before{
		content: '';
		position: absolute;
		top: 0px;
		right: 0px;
		display: block;
		background-color: #e5f0e6;
		width: 80%;
		height: 100%;
		z-index: -1;
	}

	.cus-home-area03-con01{
		overflow: hidden;
		position: relative;
		display: table;
		padding: 0 0 0 3%;
		width: 100%;
	}
	.cus-home-area03-con01 .con01-text{
		display: table-cell;
		width: 450px;
		vertical-align: top;
	}
	.cus-home-area03-con01 .con01-bn{
		display: table-cell;
		padding-right: 40px;
		vertical-align: top;
	}
	.cus-home-area03-con01 .con01-subtitle{
		position: absolute;
		top: 0px;
		right: 0px;
		z-index: 3;
	}

	.cus-home-area03-subtitle{
		position: relative;
		left: -40px;
		display: block;
		padding-top: 18px;
		margin: 0;
		font-family: "Andika", sans-serif;
		font-style: normal;
		font-size: 18px;
		font-weight: 700;
		color: #123105;
		writing-mode: vertical-rl;
		text-orientation: mixed;
	}
	.cus-home-area03-subtitle::before{
		content: '';
		position: absolute;
		top: 0px;
		left: 11px;
		display: block;
		background-color: #123105;
		border-radius: 50%;
		width: 7px;
		height: 7px;
	}

	.cus-home-area03-bn{
		display: -webkit-flex;
		display: flex;
	}
	.cus-home-area03-bn .bn-box{
		box-sizing: content-box;
		padding-right: 2%;
		width: 32%;
	}
	.cus-home-area03-bn .bn-box:last-child{
		padding-right: 0%;
	}

	.cus-home-area03-link{
		position: relative;
		display: block;
		background-color: white;
		padding-bottom: 120px;
		color: #121412;
		text-decoration: none;
	}
	.cus-home-area03-link .text{
		position: absolute;
		bottom: 0px;
		left: 0px;
		padding: 15px 15px 0 15px;
		width: 100%;
		height: 120px;
	}
	.cus-home-area03-link .text .day{
		margin: 0;
		font-size: 14px;
		color: #aab2ab;
	}
	.cus-home-area03-link .text .txt{
		overflow: hidden;
		margin-bottom: 5px;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.cus-home-area03-link .text .category{
		text-align: right;
	}
	.cus-home-area03-link .text .category span{
		display: inline-block;
		border: #197023 solid 1px;
		border-radius: 100px;
		padding: 3px 10px;
		font-size: 14px;
		color: #197023;
		line-height: 1.4;
	}
	.cus-home-area03-link .img{
		overflow: hidden;
		margin: 0;
	}
	.cus-home-area03-link .img img{
		width: 100%;
		height: 280px;
		object-fit: cover;
		font-family: 'object-fit: cover;';
		transition: 0.5s all;
	}

	.cus-home-area03-link:hover{
		color: #121412;
		text-decoration: none;
	}
	.cus-home-area03-link:hover .img img{
		transform: scale(1.1,1.1);
		transition: 0.7s all;
	}
	@media screen and (max-width: 1309px) {
		.cus-home-area03{
			padding: 70px 0;
		}

		.cus-home-area03-con01{
			padding: 0 0 0 2%;
		}
		.cus-home-area03-con01 .con01-text{
			padding-right: 15px;
			width: 34vw;
		}
		.cus-home-area03-con01 .con01-bn{
			padding-right: 30px;
		}
	
		.cus-home-area03-subtitle{
			left: -30px;
			font-size: 17px;
		}
	
		.cus-home-area03-link{
			padding-bottom: 120px;
		}
		.cus-home-area03-link .text{
			padding: 10px 10px 0 10px;
			height: 120px;
		}
		.cus-home-area03-link .text .day{
			font-size: 13px;
		}
		.cus-home-area03-link .text .category{
			overflow: hidden;
		}
		.cus-home-area03-link .text .category span{
			padding: 3px 6px;
			font-size: 13px;
		}
		.cus-home-area03-link .img img{
			height: 20vw;
		}
	}
	@media screen and (max-width: 991px) {
		.cus-home-area03{
			padding: 60px 0;
		}

		.cus-home-area03-con01{
			display: block;
			padding: 0 0 0 2%;
		}
		.cus-home-area03-con01 .con01-text{
			display: block;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-home-area03-con01 .con01-bn{
			display: block;
			padding-right: 30px;
		}
		.cus-home-area03-con01 .con01-subtitle{
			top: 200px;
		}
	
		.cus-home-area03-subtitle{
			left: -30px;
			padding-top: 18px;
			font-size: 16px;
		}
		.cus-home-area03-subtitle::before{
			left: 8px;
		}

		.cus-home-area03-link{
			padding-bottom: 120px;
		}
		.cus-home-area03-link .text{
			padding: 10px 10px 0 10px;
			height: 120px;
		}
		.cus-home-area03-link .text .day{
			font-size: 13px;
		}
		.cus-home-area03-link .text .category span{
			padding: 3px 6px;
			font-size: 13px;
		}
		.cus-home-area03-link .img img{
			height: 24vw;
		}
	}
	@media print {
		.cus-home-area03{
			padding: 50px 0;
		}

		.cus-home-area03-con01{
			display: block;
			padding: 0 0 0 2%;
		}
		.cus-home-area03-con01 .con01-text{
			display: block;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-home-area03-con01 .con01-bn{
			display: block;
			padding-right: 30px;
		}
		.cus-home-area03-con01 .con01-subtitle{
			top: 200px;
		}
	
		.cus-home-area03-subtitle{
			left: -30px;
			padding-top: 18px;
			font-size: 14px;
		}
		.cus-home-area03-subtitle::before{
			left: 6px;
		}

		.cus-home-area03-link{
			padding-bottom: 120px;
		}
		.cus-home-area03-link .text{
			padding: 10px 10px 0 10px;
			height: 120px;
		}
		.cus-home-area03-link .text .day{
			font-size: 11px;
		}
		.cus-home-area03-link .text .category span{
			padding: 3px 6px;
			font-size: 11px;
		}
		.cus-home-area03-link .img img{
			height: 24vw;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-home-area03{
			position: relative;
			padding: 70px 0 40px 0;
		}
		.cus-home-area03::before{
			width: 100%;
			height: 100%;
		}

		.cus-home-area03-con01{
			overflow: inherit;
			display: block;
			padding: 0;
			width: auto;
		}
		.cus-home-area03-con01 .con01-text{
			display: block;
			margin: 0 3% 20px 3%;
			width: 94%;
		}
		.cus-home-area03-con01 .con01-bn{
			display: block;
			padding-right: 0px;
		}
		.cus-home-area03-con01 .con01-subtitle{
			top: -30px;
			left: 30px;
		}
	
		.cus-home-area03-subtitle{
			position: relative;
			left: 0px;
			display: block;
			padding-top: 0px;
			font-size: 16px;
			writing-mode: inherit;
		}
		.cus-home-area03-subtitle::before{
			top: 10px;
			left: -16px;
		}
	
		.cus-home-area03-bn{
			display: block;
		}
		.cus-home-area03-bn .bn-box{
			padding-right: 0%;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-home-area03-bn .bn-box:last-child{
			margin-bottom: 0px;
		}

		.cus-home-area03-link .text{
			padding: 10px 10px 0 10px;
		}
		.cus-home-area03-link .text .day{
			font-size: 13px;
		}
		.cus-home-area03-link .text .category span{
			padding: 3px 6px;
			font-size: 13px;
		}
		.cus-home-area03-link .img img{
			height: 64vw;
		}
	}

/* 施工実績スライド */
	.works-view-box {
		overflow: hidden;
		width: 100%;
	}
	.works-slide-track {
		display: flex;
	}

	.works-slide-track .bn-box {
		flex: 0 0 calc(33.333% - 20px);
		margin-right: 20px;
		box-sizing: border-box;
		transition: opacity 0.8s ease; 
		opacity: 1;
	}
	.works-slide-track .bn-box:nth-child(n+4) {
		opacity: 0;
	}
	@media (max-width: 767px) {
    .works-slide-track .bn-box {
			flex: 0 0 100%;
			margin-right: 0;
    }
    .works-slide-track .bn-box:nth-child(n+2) {
			opacity: 0;
    }
    .works-slide-track .bn-box:nth-child(1) {
			opacity: 1;
    }
	}

/* 事業案内 */
	.cus-service-area01-list{
		display: -webkit-flex;
		display: flex;
		padding: 0;
		margin: 0;
		list-style: none;
	}
	.cus-service-area01-list li{
		box-sizing: content-box;
		padding-right: 2%;
		width: 32%;
	}
	.cus-service-area01-list li:last-child{
		padding-right: 0%;
	}

	.cus-service-area01-col{
		position: relative;
		padding: 0 50px 50px 0;
	}
	.cus-service-area01-col::after{
		content: '';
		position: absolute;
		bottom: 0px;
		right: 20px;
		display: block;
		background-color: #197023;
		width: 1px;
		height: 56%;
	}
	.cus-service-area01-col::before{
		content: '';
		position: absolute;
		bottom: 20px;
		right: 0px;
		display: block;
		background-color: #197023;
		width: 70%;
		height: 1px;
	}

	.cus-service-area01-col .col-number{
		position: relative;
		display: inline-block;
		padding-bottom: 20px;
		font-family: "Andika", sans-serif;
		font-style: normal;
		font-size: 60px;
		font-weight: 400;
		color: #197023;
		line-height: 1;
	}
	.cus-service-area01-col .col-number::before{
		content: '';
		position: absolute;
		bottom: 0px;
		left: 25%;
		display: block;
		background-color: #197023;
		width: 50%;
		height: 2px;
	}

	.cus-service-area01-col .col-box{
		padding-left: 20px;
	}
	.cus-service-area01-col .col-box .title{
		font-size: 28px;
		font-weight: 400;
		line-height: 1.4;
	}
	@media screen and (max-width: 1309px) {
		.cus-service-area01-col{
			padding: 0 35px 35px 0;
		}
		.cus-service-area01-col::after{
			right: 15px;
		}
		.cus-service-area01-col::before{
			bottom: 15px;
		}
	
		.cus-service-area01-col .col-number{
			padding-bottom: 18px;
			font-size: 48px;
		}

		.cus-service-area01-col .col-box{
			padding-left: 16px;
		}
		.cus-service-area01-col .col-box .title{
			font-size: 22px;
		}
	}
	@media screen and (max-width: 991px) {
		.cus-service-area01-col{
			padding: 0 25px 25px 0;
		}
		.cus-service-area01-col::after{
			right: 10px;
		}
		.cus-service-area01-col::before{
			bottom: 10px;
		}
	
		.cus-service-area01-col .col-number{
			padding-bottom: 16px;
			font-size: 38px;
		}

		.cus-service-area01-col .col-box{
			padding-left: 0px;
		}
		.cus-service-area01-col .col-box .title{
			font-size: 20px;
		}
	}
	@media print {
		.cus-service-area01-col{
			padding: 0 20px 20px 0;
		}
		.cus-service-area01-col::after{
			right: 6px;
		}
		.cus-service-area01-col::before{
			bottom: 6px;
		}
	
		.cus-service-area01-col .col-number{
			padding-bottom: 14px;
			font-size: 30px;
		}

		.cus-service-area01-col .col-box{
			padding-left: 0px;
		}
		.cus-service-area01-col .col-box .title{
			font-size: 18px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-service-area01-list{
			display: block;
		}
		.cus-service-area01-list li{
			padding-right: 0%;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-service-area01-list li:last-child{
			margin-bottom: 0px;
		}
	
		.cus-service-area01-col{
			padding: 0 25px 25px 0;
		}
		.cus-service-area01-col::after{
			right: 12px;
		}
		.cus-service-area01-col::before{
			bottom: 12px;
		}
	
		.cus-service-area01-col .col-number{
			padding-bottom: 16px;
			font-size: 40px;
		}
	
		.cus-service-area01-col .col-box{
			padding-left: 0px;
		}
		.cus-service-area01-col .col-box .title{
			font-size: 20px;
		}
	}

/* area03 */
	.cus-service-area03-list{
		padding: 0;
		margin: 0;
		list-style: none;
	}
	.cus-service-area03-list li{
		background-color: #e5f0e6;
		padding: 30px 25px;
		margin: 0;
	}
	.cus-service-area03-list li:nth-child(2n){
		background-color: white;
	}

	.cus-service-area03-col{
		display: table;
		width: 100%;
	}
	.cus-service-area03-col .number{
		display: table-cell;
		width: 130px;
		font-family: "Andika", sans-serif;
		font-style: normal;
		font-size: 60px;
		font-weight: 400;
		color: #197023;
		line-height: 1;
		vertical-align: middle;
	}
	.cus-service-area03-col .text{
		display: table-cell;
		margin: 0;
		vertical-align: middle;
	}
	.cus-service-area03-col .text dt{
		position: relative;
		display: inline-block;
		padding-bottom: 14px;
		margin-bottom: 20px;
		font-size: 28px;
		font-weight: 400;
		line-height: 1.4;
	}
	.cus-service-area03-col .text dt::before{
		content: '';
		position: absolute;
		bottom: 0px;
		left: 0px;
		display: block;
		background-color: #197023;
		width: 110%;
		height: 2px;
	}
	.cus-service-area03-col .text dd{
		margin: 0;
	}
	@media screen and (max-width: 1309px) {
		.cus-service-area03-list li{
			padding: 20px 15px;
		}

		.cus-service-area03-col .number{
			width: 100px;
			font-size: 48px;
		}
		.cus-service-area03-col .text dt{
			padding-bottom: 12px;
			margin-bottom: 18px;
			font-size: 22px;
		}
	}
	@media screen and (max-width: 991px) {
		.cus-service-area03-list li{
			padding: 15px 15px;
		}

		.cus-service-area03-col .number{
			width: 80px;
			font-size: 42px;
		}
		.cus-service-area03-col .text dt{
			padding-bottom: 12px;
			margin-bottom: 18px;
			font-size: 20px;
		}
	}
	@media print {
		.cus-service-area03-list li{
			padding: 15px 15px;
		}

		.cus-service-area03-col .number{
			width: 60px;
			font-size: 32px;
		}
		.cus-service-area03-col .text dt{
			padding-bottom: 10px;
			margin-bottom: 16px;
			font-size: 18px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-service-area03-list li{
			padding: 10px;
		}

		.cus-service-area03-col .number{
			width: 45px;
			font-size: 28px;
			vertical-align: top;
		}
		.cus-service-area03-col .text dt{
			padding-bottom: 10px;
			margin-bottom: 16px;
			font-size: 18px;
		}
		.cus-service-area03-col .text dt::before{
			width: 100%;
		}
	}

/* area04 */
	.cus-service-area04-con{
		position: relative;
		display: table;
		width: 100%;
	}
	.cus-service-area04-con::before{
		content: '';
		position: absolute;
		top: 166px;
		left: 50%;
		background-image: url(../img/service/area04-shirushi01.png);
		background-repeat: no-repeat;
		background-size: cover;
		margin-left: -275px;
		width: 302px;
		height: 122px;
		z-index: 3;
	}
	.cus-service-area04-con .con-map{
		display: table-cell;
		width: 50%;
		vertical-align: top;
		text-align: center;
	}
	.cus-service-area04-con .con-text{
		display: table-cell;
		padding-top: 100px;
		vertical-align: top;
	}

	.cus-service-area04-text{
		background-image: url(../img/site/contact-bg.jpg);
		background-position: center center;
		padding: 50px;
		color: white;
	}
	.cus-service-area04-text .title{
		font-size: 24px;
		line-height: 1.5;
	}
	@media screen and (max-width: 1309px) {
		.cus-service-area04-con::before{
			top: 112px;
			left: 50%;
			background-size: 230px 93px;
			margin-left: -209px;
			width: 230px;/* 302-76 */
			height: 93px;/* 122-76 */
		}
		.cus-service-area04-con .con-map{
			padding-right: 20px;
			text-align: right;
		}
		.cus-service-area04-con .con-map img{
			width: 460px;
		}
		.cus-service-area04-con .con-text{
			padding-top: 40px;
		}
	
		.cus-service-area04-text{
			padding: 30px;
		}
		.cus-service-area04-text .title{
			font-size: 20px;
		}
	}
	@media screen and (max-width: 991px) {
		.cus-service-area04-con::before{
			top: 80px;
			left: 50%;
			background-size: 166px 67px;
			margin-left: -151px;
			width: 166px;/* 302-55 */
			height: 67px;/* 122-55 */
		}
		.cus-service-area04-con .con-map{
			padding-right: 20px;
			text-align: right;
		}
		.cus-service-area04-con .con-map img{
			width: 310px;
		}
		.cus-service-area04-con .con-text{
			padding-top: 0px;
		}
	
		.cus-service-area04-text{
			padding: 15px 15px 15px 25px;
		}
		.cus-service-area04-text .title{
			font-size: 18px;
		}
	}
	@media print {
		.cus-service-area04-con::before{
			display: none;
		}
		.cus-service-area04-con .con-map{
			padding-right: 15px;
			text-align: right;
		}
		.cus-service-area04-con .con-map img{
			width: 100%;
		}
		.cus-service-area04-con .con-text{
			padding-top: 0px;
		}
	
		.cus-service-area04-text{
			padding: 15px;
		}
		.cus-service-area04-text .title{
			font-size: 16px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-service-area04-con{
			display: block;
			width: auto;
		}
		.cus-service-area04-con::before{
			display: none;
		}
		.cus-service-area04-con .con-map{
			position: relative;
			display: block;
			margin-bottom: 20px;
			width: auto;
			text-align: center;
		}
		.cus-service-area04-con .con-map::before{
			content: '';
			position: absolute;
			bottom: 80px;
			left: 50%;
			display: block;
			background-image: url(../img/service/area04-shirushi02.png);
			background-repeat: no-repeat;
			background-size: 60px 60px;
			width: 60px;
			height: 60px;
			z-index: 3;
		}
		.cus-service-area04-con .con-text{
			display: block;
			padding-top: 0px;
		}
	
		.cus-service-area04-text{
			padding: 15px;
		}
		.cus-service-area04-text .title{
			font-size: 18px;
		}
	}

/* 施工実績 */
	.cus-works-nav{
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
		padding: 0;
		margin: 0;
		list-style: none;
	}
	.cus-works-nav li{
		box-sizing: content-box;
		padding-right: 2%;
		margin-bottom: 10px;
		width: 32%;
	}
	.cus-works-nav li:nth-child(3n){
		padding-right: 0%;
	}
	.cus-works-nav li .cus-button02{
		margin: 0;
	}
	.cus-works-nav li .cus-button02 a{
		display: block;
		text-align: center;
	}
	@media screen and (max-width: 767px) {
		.cus-works-nav{
			display: block;
		}
		.cus-works-nav li{
			padding-right: 0%;
			margin-bottom: 6px;
			width: auto;
		}
		.cus-works-nav li:last-child{
			margin-bottom: 0px;
		}
	}

/* Entry */
	.cus-works-con{
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
	}
	.cus-works-con .con-col{
		box-sizing: content-box;
		padding-right: 3%;
		margin-bottom: 40px;
		width: 48.5%;
	}
	.cus-works-con .con-col:nth-child(2n){
		padding-right: 0%;
	}

	.cus-works-box{
		background-color: white;
		box-shadow: 1px 1px 6px #c5c5c5;
		border-radius: 2px;
	}

	.cus-works-box .box-slide{
		position: relative;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 400px;
	}
	.cus-works-box .box-slide > .carousel{
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
	}
	.cus-works-box .carousel-control-prev,
	.cus-works-box .carousel-control-next{
		width: 60px;
		top: 0;
		bottom: 0;
	}

	.cus-carousel-hight{
		aspect-ratio: 16 / 9; /* 画像の比率に合わせる */
		background: #f0f0f0; /* 読み込み前のプレースホルダー */
	}

	.cus-works-box .box-text01{
		display: -webkit-flex;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		padding: 10px 15px;
	}
	.cus-works-box .box-text01 .day{
		padding-right: 10px;
		margin: 0;
		font-size: 14px;
	}
	.cus-works-box .box-text01 .category{
		background-color: #197023;
		padding: 3px 10px 0 10px;
		margin: 0;
		font-size: 13px;
		color: white;
	}

	.cus-works-box .box-text02{
		padding: 0 15px 15px 15px;
	}
	.cus-works-box .box-text02 .title{
		position: relative;
		padding-bottom: 12px;
		font-size: 24px;
		font-weight: 400;
		color: #197023;
		line-height: 1.4;
	}
	.cus-works-box .box-text02 .title::before{
		content: '';
		position: absolute;
		bottom: 0px;
		left: 0px;
		display: block;
		background-color: #979797;
		width: 100%;
		height: 1px;
	}
	@media screen and (max-width: 1309px) {
		.cus-works-con .con-col{
			padding-right: 2%;
			margin-bottom: 30px;
			width: 49%;
		}
	
		.cus-works-box .box-slide{
			height: 320px;
		}
	
		.cus-works-box .box-text01{
			padding: 10px;
		}
		.cus-works-box .box-text01 .day{
			font-size: 13px;
		}
		.cus-works-box .box-text01 .category{
			padding: 3px 8px 0 8px;
			font-size: 12px;
		}
	
		.cus-works-box .box-text02{
			padding: 0 10px;
		}
		.cus-works-box .box-text02 .title{
			font-size: 20px;
		}
	}
	@media screen and (max-width: 991px) {
		.cus-works-con .con-col{
			padding-right: 2%;
			margin-bottom: 20px;
			width: 49%;
		}
	
		.cus-works-box .box-slide{
			height: 280px;
		}
	
		.cus-works-box .box-text01{
			padding: 10px;
		}
		.cus-works-box .box-text01 .day{
			font-size: 12px;
		}
		.cus-works-box .box-text01 .category{
			padding: 3px 8px 0 8px;
			font-size: 11px;
		}
	
		.cus-works-box .box-text02{
			padding: 0 10px;
		}
		.cus-works-box .box-text02 .title{
			font-size: 17px;
		}
	}
	@media print {
		.cus-works-con .con-col{
			padding-right: 2%;
			margin-bottom: 20px;
			width: 49%;
		}
	
		.cus-works-box .box-slide{
			height: 220px;
		}
	
		.cus-works-box .box-text01{
			padding: 10px;
		}
		.cus-works-box .box-text01 .day{
			font-size: 11px;
		}
		.cus-works-box .box-text01 .category{
			padding: 3px 8px 0 8px;
			font-size: 10px;
		}
	
		.cus-works-box .box-text02{
			padding: 0 10px;
		}
		.cus-works-box .box-text02 .title{
			font-size: 15px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-works-con{
			display: block;
		}
		.cus-works-con .con-col{
			padding-right: 0%;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-works-con .con-col:last-child{
			margin-bottom: 0px;
		}
	
		.cus-works-box .box-slide{
			height: 64vw;
		}
	
		.cus-works-box .box-text01{
			padding: 10px;
		}
		.cus-works-box .box-text01 .day{
			font-size: 12px;
		}
		.cus-works-box .box-text01 .category{
			padding: 3px 8px 0 8px;
			font-size: 11px;
		}
	
		.cus-works-box .box-text02{
			padding: 10px;
		}
		.cus-works-box .box-text02 .title{
			font-size: 17px;
		}
	}

/* 採用情報 */
	.cus-recruit-area03-list{
		display: -webkit-flex;
		display: flex;
		padding: 0;
		margin: 0;
		list-style: none;
	}
	.cus-recruit-area03-list li{
		box-sizing: content-box;
		padding-right: 2.2%;
		width: 23.35%;
	}
	.cus-recruit-area03-list li:last-child{
		padding-right: 0%;
	}

	.cus-recruit-area03-col{
		position: relative;
		padding: 0 30px 30px 0;
	}
	.cus-recruit-area03-col::after{
		content: '';
		position: absolute;
		bottom: 0px;
		right: 20px;
		display: block;
		background-color: #197023;
		width: 1px;
		height: 56%;
	}
	.cus-recruit-area03-col::before{
		content: '';
		position: absolute;
		bottom: 20px;
		right: 0px;
		display: block;
		background-color: #197023;
		width: 70%;
		height: 1px;
	}

	.cus-recruit-area03-col .col-number{
		position: relative;
		display: inline-block;
		padding-bottom: 20px;
		font-family: "Andika", sans-serif;
		font-style: normal;
		font-size: 50px;
		font-weight: 400;
		color: #197023;
		line-height: 1;
	}
	.cus-recruit-area03-col .col-number::before{
		content: '';
		position: absolute;
		bottom: 0px;
		left: 25%;
		display: block;
		background-color: #197023;
		width: 50%;
		height: 2px;
	}

	.cus-recruit-area03-col .col-box{
		padding-left: 20px;
	}
	.cus-recruit-area03-col .col-box .title{
		font-size: 24px;
		font-weight: 700;
		line-height: 1.4;
	}
	@media screen and (max-width: 1309px) {
		.cus-recruit-area03-col{
			padding: 0 25px 25px 0;
		}
		.cus-recruit-area03-col::after{
			right: 15px;
		}
		.cus-recruit-area03-col::before{
			bottom: 15px;
		}
	
		.cus-recruit-area03-col .col-number{
			padding-bottom: 18px;
			font-size: 42px;
		}

		.cus-recruit-area03-col .col-box{
			padding-left: 16px;
		}
		.cus-recruit-area03-col .col-box .title{
			font-size: 20px;
		}
	}
	@media screen and (max-width: 991px) {
		.cus-recruit-area03-list{
			flex-wrap: wrap;
		}
		.cus-recruit-area03-list li{
			box-sizing: content-box;
			padding-right: 3%;
			margin-bottom: 30px;
			width: 48.5%;
		}
		.cus-recruit-area03-list li:nth-child(2n){
			padding-right: 0%;
		}

		.cus-recruit-area03-col{
			padding: 0 25px 25px 0;
		}
		.cus-recruit-area03-col::after{
			right: 10px;
		}
		.cus-recruit-area03-col::before{
			bottom: 10px;
		}
	
		.cus-recruit-area03-col .col-number{
			padding-bottom: 16px;
			font-size: 38px;
		}

		.cus-recruit-area03-col .col-box{
			padding-left: 0px;
		}
		.cus-recruit-area03-col .col-box .title{
			font-size: 20px;
		}
	}
	@media print {
		.cus-recruit-area03-list{
			flex-wrap: wrap;
		}
		.cus-recruit-area03-list li{
			box-sizing: content-box;
			padding-right: 3%;
			margin-bottom: 30px;
			width: 48.5%;
		}
		.cus-recruit-area03-list li:nth-child(2n){
			padding-right: 0%;
		}

		.cus-recruit-area03-col{
			padding: 0 20px 20px 0;
		}
		.cus-recruit-area03-col::after{
			right: 10px;
		}
		.cus-recruit-area03-col::before{
			bottom: 10px;
		}
	
		.cus-recruit-area03-col .col-number{
			padding-bottom: 16px;
			font-size: 28px;
		}

		.cus-recruit-area03-col .col-box{
			padding-left: 0px;
		}
		.cus-recruit-area03-col .col-box .title{
			font-size: 18px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-recruit-area03-list{
			display: block;
		}
		.cus-recruit-area03-list li{
			padding-right: 0%;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-recruit-area03-list li:last-child{
			margin-bottom: 0px;
		}

		.cus-recruit-area03-col{
			padding: 0 20px 20px 0;
		}
		.cus-recruit-area03-col::after{
			right: 10px;
		}
		.cus-recruit-area03-col::before{
			bottom: 10px;
		}
	
		.cus-recruit-area03-col .col-number{
			padding-bottom: 16px;
			font-size: 24px;
		}

		.cus-recruit-area03-col .col-box{
			padding-left: 0px;
		}
		.cus-recruit-area03-col .col-box .title{
			font-size: 18px;
		}
	}

/* area04 */
	.cus-recruit-area04-con{
		display: -webkit-flex;
		display: flex;
	}
	.cus-recruit-area04-con .con-left{
		box-sizing: content-box;
		padding-right: 4%;
		width: 48%;
	}
	.cus-recruit-area04-con .con-right{
		box-sizing: content-box;
		width: 48%;
	}

	.cus-recruit-area04-link01,
	.cus-recruit-area04-link02{
		position: relative;
		display: block;
	}
	.cus-recruit-area04-link01{
		background-color: #197023;
	}
	.cus-recruit-area04-link02{
		background-color: #9f5318;
	}

	.cus-recruit-area04-link01 .text,
	.cus-recruit-area04-link02 .text{
		position: absolute;
		top: 0px;
		left: 0px;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		font-size: 24px;
		font-weight: 700;
		color: white;
		z-index: 3;
	}

	.cus-recruit-area04-link01 .img,
	.cus-recruit-area04-link02 .img{
		overflow: hidden;
	}
	.cus-recruit-area04-link01 .img img,
	.cus-recruit-area04-link02 .img img{
		opacity: 0.5;
		width: 100%;
		height: 280px;
		object-fit: cover;
		font-family: 'object-fit: cover;';
		transition: 0.5s all;
	}
	.cus-recruit-area04-link01:hover .img img,
	.cus-recruit-area04-link02:hover .img img{
		transform: scale(1.2,1.2);
		transition: 0.7s all;
	}
	@media screen and (max-width: 1309px) {
		.cus-recruit-area04-link01 .text,
		.cus-recruit-area04-link02 .text{
			font-size: 20px;
		}

		.cus-recruit-area04-link01 .img img,
		.cus-recruit-area04-link02 .img img{
			height: 26vw;
		}
	}
	@media screen and (max-width: 991px) {
		.cus-recruit-area04-link01 .text,
		.cus-recruit-area04-link02 .text{
			font-size: 18px;
		}

		.cus-recruit-area04-link01 .img img,
		.cus-recruit-area04-link02 .img img{
			height: 26vw;
		}
	}
	@media print {
		.cus-recruit-area04-link01 .text,
		.cus-recruit-area04-link02 .text{
			font-size: 15px;
		}

		.cus-recruit-area04-link01 .img img,
		.cus-recruit-area04-link02 .img img{
			height: 26vw;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-recruit-area04-con{
			display: block;
		}
		.cus-recruit-area04-con .con-left{
			padding-right: 0%;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-recruit-area04-con .con-right{
			width: auto;
		}

		.cus-recruit-area04-link01 .text,
		.cus-recruit-area04-link02 .text{
			font-size: 16px;
		}

		.cus-recruit-area04-link01 .img img,
		.cus-recruit-area04-link02 .img img{
			height: 42vw;
		}
	}

/* 会社概要 */
	.cus-company-area03-con{
		display: -webkit-flex;
		display: flex;
	}
	.cus-company-area03-con .con-col{
		box-sizing: content-box;
		padding-right: 3%;
		width: 48.5%;
	}
	.cus-company-area03-con .con-col:last-child{
		padding-right: 0%;
	}

	.cus-company-area03-text01{
		position: relative;
		padding-bottom: 6px;
		font-size: 20px;
		font-weight: 700;
	}
	.cus-company-area03-text01::before{
		content: '';
		position: absolute;
		bottom: 0px;
		left: 0px;
		display: block;
		background-color: #197023;
		width: 100%;
		height: 1px;
	}
	@media screen and (max-width: 1309px) {
		.cus-company-area03-text01{
			font-size: 19px;
		}
	}
	@media screen and (max-width: 991px) {
		.cus-company-area03-con .con-col{
			padding-right: 2%;
			width: 49%;
		}

		.cus-company-area03-text01{
			font-size: 18px;
		}
	}
	@media print {
		.cus-company-area03-con .con-col{
			padding-right: 2%;
			width: 49%;
		}

		.cus-company-area03-text01{
			font-size: 15px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-company-area03-con{
			display: block;
		}
		.cus-company-area03-con .con-col{
			padding-right: 0%;
			margin-bottom: 30px;
			width: auto;
		}
		.cus-company-area03-con .con-col:last-child{
			margin-bottom: 0x;
		}
	
		.cus-company-area03-text01{
			font-size: 17px;
		}
	}


























