@charset "UTF-8";

@media print, screen and (min-width:769px) {

/*====================================
下層ページ共通
=====================================*/
#main.sub {

}
/* ページタイトル */
#sub_kv {
	width: 100%;
	height: 450px;
	margin: 0 auto 0;
	padding: 200px 0 0;
	border-bottom: 5px solid #0e3963;
	position: relative;
}
	#sub_kv:before {
		position: absolute;
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		background: rgba(0,0,0,0.4);
		top: 0;
		left: 0;
		z-index: 5;
	}
	#sub_kv.about {
		background: url(../images/sub/about_kv.jpg) center center / cover no-repeat;
	}
	#sub_kv.lumber {
		background: url(../images/sub/about_00.jpg) center center / cover no-repeat;
	}
	#sub_kv.estate {
		background: url(../images/sub/about_01.jpg) center center / cover no-repeat;
	}
	#sub_kv.scaffold {
		background: url(../images/sub/about_02.jpg) bottom center / cover no-repeat;
	}
	#sub_kv.farm {
		background: url(../images/sub/about_03.jpg) bottom center / cover no-repeat;
	}
	#sub_kv.koya {
		background: url(../images/sub/about_04.jpg) center center / cover no-repeat;
	}
	#sub_kv.company {
		background: url(../images/sub/company_kv.jpg) center center / cover no-repeat;
	}
	#sub_kv.recruit {
		background: url(../images/sub/recruit_kv.jpg) center center / cover no-repeat;
	}
	#sub_kv.contact {
		background: url(../images/sub/contact_kv.jpg) center center / cover no-repeat;
	}
	#sub_kv h3 {
		margin: 0 auto;
		padding: 0;
		font-size: 48px;
		line-height: 110%;
		font-weight: 700;
		color: #fff;
		font-family: 'Vesper Libre', serif;
		position: relative;
		z-index: 10;
	}
		#sub_kv h3:after {
			position: absolute;
			content: '';
			display: block;
			width: 90px;
			height: 3px;
			margin: 0 auto;
			padding: 0;
			background: #fd924b;
			bottom: 0;
			left: 0;
			right: 0;
		}
	#sub_kv h4 {
		margin: 10px auto 0;
		padding: 0;
		font-size: 20px;
		line-height: 140%;
		font-weight: 300;
		color: #fff;
		position: relative;
		z-index: 10;
	}

	h4.cont_ttl {
		max-width: 1200px;
		margin: 0 auto;
		padding: 20px;
		font-size: 32px;
		line-height: 140%;
		font-weight: 500;
		font-family: 'Vesper Libre', serif;
		border-top: 1px solid #0e3963;
		border-bottom: 1px solid #0e3963;
	}
		h4.cont_ttl span {
			display: block;
			margin: 0 auto;
			padding: 0;
			font-size: 20px;
			line-height: 140%;
			font-weight: 300;
			font-family: 'Noto Sans JP', sans-serif;
		}
div.contact_btn {
	margin: 30px auto 0;
	padding: 0;
}
	div.contact_btn a {
		display: inline-block;
		width: 350px;
		margin: 0 auto;
		padding: 15px 0;
		font-size: 18px;
		line-height: 160%;
		font-weight: 400;
		color: #fff;
		text-decoration: none;
		background: #0e3963;
		position: relative;
		transition: 0.2s linear;
	}
		div.contact_btn a:before {
			position: absolute;
			content:'\f0e0';
			font-family:'Font Awesome 5 Free';
			font-weight:900;
			font-size: 20px;
			top: 50%;
			transform: translateY(-50%);
			-webkit- transform: translateY(-50%);
			left: 5%;
			margin: auto;
		}
		div.contact_btn a:hover {
			background: #274d73;
		}

/*====================================
About
=====================================*/
div.pic_cont {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 30px 0;
}
	div.pic_cont ul {
		margin: 0 auto;
		padding: 0;
		list-style: none;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: flex-start;
	}
		div.pic_cont ul li {
			display: inline-block;
			width: 320px;
			margin: 30px 5px 0;
			padding: 0;
		}
			div.pic_cont ul li a {
				transition: 0.2s linear;
			}
				div.pic_cont ul li a:hover {
					opacity: 0.8;
				}
				div.pic_cont ul li a img {
					width: 100%;
					height: 240px;
					vertical-align: bottom;
				}
					div.pic_cont ul li a img.object-fit-img {
						object-fit: cover;
						font-family: 'object-fit: cover;'
					}
		div.pic_cont ul li p {
			margin: 5px auto 0;
			padding: 0;
			font-size: 16px;
			line-height: 160%;
			font-weight: 300;
		}
div.about_cont {
	max-width: 1200px;
	margin: 80px auto 0;
	padding: 0 0 50px;
}
	div.about_cont div.about_top {
		margin: 30px auto 0;
		padding: 0 50px;
		font-size: 16px;
		line-height: 160%;
	}
	div.about_cont div.about_cont_in {
		margin: 0 auto;
		padding: 50px;
		font-size: 16px;
		line-height: 160%;
		border-bottom: 1px solid #ccc;
		display: flex;
	}
		div.about_cont div.about_cont_in:last-of-type {
			border: none;
		}
		div.about_cont div.about_cont_in.rev {
			flex-direction: row-reverse;
		}
		div.about_cont div.about_cont_in .img {
			width: 300px;
			margin: 0;
			padding: 0;
		}
			div.about_cont div.about_cont_in .img img {
				width: 100%;
				height: auto;
			}
		div.about_cont div.about_cont_in .txt {
			width: calc(100% - 300px);
			margin: 0 0 0 30px;
			padding: 0;
			text-align: left;
		}
			div.about_cont div.about_cont_in.rev .txt {
				margin: 0 30px 0 0;
			}
			div.about_cont div.about_cont_in h5 {
				margin: 0 0 10px;
				padding: 0;
				font-size: 22px;
				line-height: 120%;
				font-weight: 300;
			}
			div.about_cont div.about_cont_in .txt .btn {
				margin: 15px auto;
				padding: 0;
				text-align: center;
			}
				div.about_cont div.about_cont_in .txt .btn a {
					display: inline-block;
					width: 200px;
					margin: 0 auto;
					padding: 5px 0;
					font-size: 16px;
					line-height: 160%;
					color: #333;
					text-decoration: none;
					transition: 0.2s linear;
				}
					div.about_cont div.about_cont_in .txt .btn a img {
						display: inline-block;
						width: 40px;
						height: auto;
						margin: 0 10px 0 0;
						padding: 0;
						vertical-align: -0.6em;
					}
				div.about_cont div.about_cont_in .txt .btn.btn_lumber a {
					background: rgba(46,17,0,1);
					color: #fff;
				}
					div.about_cont div.about_cont_in .txt .btn.btn_lumber a:hover {
						background: #5c3b28;
					}
				div.about_cont div.about_cont_in .txt .btn.btn_estate a {
					border: 1px solid #000;
				}
					div.about_cont div.about_cont_in .txt .btn.btn_estate a:hover {
						background: #e9e9e9;
					}
				div.about_cont div.about_cont_in .txt .btn.btn_scaffold a {
					background: rgba(253,146,75,1);
				}
					div.about_cont div.about_cont_in .txt .btn.btn_scaffold a:hover {
						background: #feb077;
					}
				div.about_cont div.about_cont_in .txt .btn.btn_farm a {
					background: rgba(0,135,19,1);
					color: #fff;
				}
					div.about_cont div.about_cont_in .txt .btn.btn_farm a:hover {
						background: #3faa46;
					}
				div.about_cont div.about_cont_in .txt .btn.btn_koya a {
					background: rgba(0,174,255,1);
					color: #fff;
				}
					div.about_cont div.about_cont_in .txt .btn.btn_koya a:hover {
						background: #2ebdff;
					}
div.vision_cont {
	margin: 0 auto;
	padding: 50px 0 150px;
	background: #fff;
}
	div.vision_cont div.vision_top {
		max-width: 1200px;
		margin: 30px auto 0;
		padding: 0 50px;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
	}

div.estate_service_cont,
div.lumber_service_cont {
	max-width: 1200px;
	margin: 80px auto 0;
	padding: 0 0 50px;
}
	div.estate_service_cont div.service_top,
	div.estate_new_arrival div.service_top,
	div.lumber_service_cont div.service_top {
		max-width: 1200px;
		margin: 30px auto 0;
		padding: 0 50px;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
		text-align: left;
	}

div.lumber_performance_cont {
	margin: 0 auto;
	padding: 50px 0 150px;
	background: #fff;
}
div.estate_new_arrival {
	margin: 0 auto;
	padding: 50px 0 50px;
	background: #fff;
}
div.estate_performance_cont {
	margin: 0 auto;
	padding: 50px 0 150px;
}

	div.estate_performance_cont div.performance_top,
	div.lumber_performance_cont div.performance_top {
		max-width: 1200px;
		margin: 30px auto 0;
		padding: 0 50px;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
	}


div.scaffold_service_cont {
	max-width: 1200px;
	margin: 80px auto 0;
	padding: 0 0 50px;
}
	div.scaffold_service_cont div.service_top {
		margin: 30px auto 0;
		padding: 0 50px;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
		text-align: left;
	}

div.koya_service_cont {
	max-width: 1200px;
	margin: 80px auto 0;
	padding: 0 0 50px;
}
	div.koya_service_cont div.koya_top {
		margin: 30px auto 0;
		padding: 0 50px;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
		text-align: left;
		display: flex;
	}
		div.koya_service_cont div.koya_top .img {
			width: 239px;
			margin: 0;
			padding: 0;
		}
		div.koya_service_cont div.koya_top .txt {
			width: calc(100% - 239px);
			margin: 0;
			padding: 0 0 0 40px;
		}

div.scaffold_performance_cont {
	margin: 0 auto;
	padding: 50px 0 150px;
	background: #fff;
}
	div.scaffold_performance_cont div.performance_top {
		max-width: 1200px;
		margin: 30px auto 0;
		padding: 0 50px;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
	}

div.farm_service_cont {
	max-width: 1200px;
	margin: 80px auto 0;
	padding: 0 0 50px;
}
	div.farm_service_cont div.service_top {
		margin: 30px auto 0;
		padding: 0 50px;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
		text-align: left;
	}

div.farm_performance_cont {
	margin: 0 auto;
	padding: 50px 0 150px;
	background: #fff;
}
	div.farm_performance_cont div.performance_top {
		max-width: 1200px;
		margin: 30px auto 0;
		padding: 0 50px;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
	}

div.koya_performance_cont {
	margin: 0 auto;
	padding: 50px 0 150px;
	background: #fff;
}
	div.koya_performance_cont div.koya_top {
		max-width: 1200px;
		margin: 30px auto 0;
		padding: 0 50px;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
	}
	div.koya_performance_cont div.koya_cont {
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 30px 0;
	}
		div.koya_performance_cont div.koya_cont dl {
			margin: 0 auto;
			padding: 0;
			display: flex;
			flex-wrap: wrap;
			align-items: flex-start;
		}
			div.koya_performance_cont div.koya_cont dl dt {
				width: 300px;
				margin: 0;
				padding: 30px 5px 0;
			}
				div.koya_performance_cont div.koya_cont dl dt a {
					transition: 0.2s linear;
				}
					div.koya_performance_cont div.koya_cont dl dt a:hover {
						opacity: 0.8;
					}
					div.koya_performance_cont div.koya_cont dl dt a img {
						width: 100%;
						height: 240px;
						vertical-align: bottom;
					}
						div.koya_performance_cont div.koya_cont dl dt a img.object-fit-img {
							object-fit: cover;
							font-family: 'object-fit: cover;'
						}
			div.koya_performance_cont div.koya_cont dl dd {
				width: calc(100% - 300px);
				margin: 0;
				padding: 30px 0 0 20px;
				font-size: 16px;
				line-height: 160%;
				font-weight: 300;
				text-align: left;
			}

/*====================================
Company
=====================================*/
div.company_cont {
	max-width: 1200px;
	margin: 80px auto 0;
	padding: 0 0 50px;
}
	div.company_cont .company_prof {
		max-width: 800px;
		margin: 30px auto 0;
		padding: 0;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
		text-align: left;
		display: flex;
		border-top: 1px solid #ccc;
		flex-wrap: wrap;
	}
		div.company_cont .company_prof dt {
			width: 20%;
			margin: 0;
			padding: 10px;
			background: #eee;
			border-bottom: 1px solid #ccc;
		}
		div.company_cont .company_prof dd {
			width: 80%;
			margin: 0;
			padding: 10px;
			background: #fff;
			border-bottom: 1px solid #ccc;
		}
div.map_cont {
	margin: 0 auto;
	padding: 50px 0 50px;
	background: #fff;
}
div.map_cont2 {
	margin: 0 auto;
	padding: 50px 0 50px;
}
	div.map_cont div.map_top,
	div.map_cont2 div.map_top {
		max-width: 1200px;
		margin: 30px auto 0;
		padding: 0 50px;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
	}
	div.map_cont div.gmap,
	div.map_cont2 div.gmap {
		max-width: 1200px;
		height: 550px;
		margin: 10px auto 0;
		padding: 0;
		position: relative;
	}
		div.map_cont div.gmap iframe,
		div.map_cont2 div.gmap iframe {
			position: absolute;
			display: block;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
		}
div.greeting_cont {
	margin: 0 auto;
	padding: 50px 0 150px;
	background: #fff;
}
	div.greeting_cont div.greeting_cont_in {
		max-width: 1200px;
		margin: 0 auto;
		padding: 30px 50px 0;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
		/*display: flex;*/
	}
/*
		div.greeting_cont div.greeting_cont_in .img {
			width: 300px;
			margin: 0;
			padding: 0;
		}
			div.greeting_cont div.greeting_cont_in .img img {
				width: 100%;
				height: auto;
			}
			div.greeting_cont div.greeting_cont_in .img h5 {
				margin: 0 auto;
				padding: 0;
				font-size: 16px;
				line-height: 120%;
				font-weight: 300;
			}
*/
		div.greeting_cont div.greeting_cont_in .img {
			display: none;
		}
		div.greeting_cont div.greeting_cont_in .txt {
			/*
			width: calc(100% - 300px);
			margin: 0 0 0 30px;
			*/
			width: 100%;
			margin: 0;
			padding: 0;
			font-size: 16px;
			line-height: 160%;
			font-weight: 100;
			text-align: left;
		}
			div.greeting_cont div.greeting_cont_in .txt p {
				margin: 15px 0 0;
			}
				div.greeting_cont div.greeting_cont_in .txt p:first-of-type {
					margin: 0;
				}
			div.greeting_cont div.greeting_cont_in .txt p.txt_btm {
				margin: 30px 0 0;
				text-align: right;
			}

/*====================================
Recruit
=====================================*/
div.recruit_cont {
	max-width: 1200px;
	margin: 80px auto 0;
	padding: 0 0 300px;
}
	div.recruit_cont div.recruit_cont_in {
		margin: 0 auto;
		padding: 30px 50px 0;
		font-size: 16px;
		line-height: 160%;
		display: flex;
	}
		div.recruit_cont div.recruit_cont_in .img {
			width: 300px;
			margin: 0;
			padding: 0;
		}
			div.recruit_cont div.recruit_cont_in .img img {
				width: 100%;
				height: auto;
			}
		div.recruit_cont div.recruit_cont_in .txt {
			width: calc(100% - 300px);
			margin: 0 0 0 30px;
			padding: 0;
			font-size: 16px;
			line-height: 160%;
			font-weight: 100;
			text-align: left;
		}
			div.recruit_cont div.recruit_cont_in .txt p {
				margin: 15px 0 0;
			}
				div.recruit_cont div.recruit_cont_in .txt p:first-of-type {
					margin: 0;
				}

/*====================================
Contact
=====================================*/
div.contact_cont {
	max-width: 1200px;
	margin: 80px auto 0;
	padding: 0 0 150px;
}
div.contact_cont.short {
	padding: 0 0 300px;
}
	div.contact_cont div.contact_top {
		max-width: 900px;
		margin: 30px auto 0;
		padding: 0;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
		text-align: left;
	}
		div.contact_cont div.contact_top strong {
			font-weight: 500;
		}
			div.contact_cont div.contact_top strong a {
				pointer-events: none;
				text-decoration: none;
				color: #333;
			}
	div.contact_cont .contact_form {
		max-width: 900px;
		margin: 30px auto 0;
		padding: 0;
		font-size: 16px;
		line-height: 160%;
		font-weight: 300;
		text-align: left;
		border-top: 1px solid #ccc;
		display: flex;
		flex-wrap: wrap;
	}
		div.contact_cont .contact_form dt {
			width: 30%;
			margin: 0;
			padding: 10px;
			background: #eee;
			border-bottom: 1px solid #ccc;
			position: relative;
		}
			div.contact_cont .contact_form dt span {
				position: absolute;
				display: inline-block;
				margin: 0;
				padding: 0 8px 3px;
				font-size: 12px;
				line-height: 1.8em;
				background: #0e3963;
				color: #fff;
				top: 11px;
				right: 20px;
			}
		div.contact_cont .contact_form dd {
			width: 70%;
			margin: 0;
			padding: 10px;
			background: #fff;
			border-bottom: 1px solid #ccc;
		}
			div.contact_cont .contact_form dd label {
				display: inline-block;
				width: 10em;
				margin-right: 1em;
				white-space: nowrap;
			}
		#name ,#companyname ,#address ,#telno ,#email {
			width: 100%;
			padding: 3px 5px;
			font-size: 16px;
			line-height: 170%;
			font-family: 'Noto Sans JP', sans-serif;
			border: 1px solid #ccc;
			background: #fff;
		}
		#message {
			width: 100%;
			height: 200px;
			padding: 3px 5px;
			font-size: 16px;
			line-height: 170%;
			font-family: 'Noto Sans JP', sans-serif;
			border: 1px solid #ccc;
			background: #fff;
		}
		div.contact_cont .contact_form dd input[type=radio] {
			margin: 0 5px 0 0;
			width: 15px;
			height: 15px;
			vertical-align: -0.15em;
		}

	#contact_btn {
		width: 100%;
		margin: 0 auto;
		padding: 40px 0 0;
		text-align: center;
	}

	div.form_btn1 {
		display: inline-block;
		width: 320px;
		margin: 5px 5px;
	}
		div.form_btn1 button {
			display: block;
			width: 320px;
			font-size: 22px;
			margin: 0 auto;
			padding: 15px 0;
			background: #0e3963;
			font-family: 'Noto Sans JP', sans-serif;
			color: #fff;
			font-weight: bold;
			cursor: pointer;
			border: none;
			position: relative;
			transition: 0.2s linear;
		}
			div.form_btn1 button::before{
				position: absolute;
				content: '';
				display: block;
				width: 6px;
				height: 6px;
				margin: auto;
				padding: 0;
				border-top: 3px solid #fff;
				border-right: 3px solid #fff;
				top: 50%;
				-webkit-transform: translateY(-50%) rotate(45deg);
				transform: translateY(-50%) rotate(45deg);
				left: 5%;
				transition: 0.2s linear;
			}
			div.form_btn1 button:hover {
				opacity: 0.8;
			}

	div.form_btn2 {
		display: inline-block;
		width: 320px;
		margin: 5px 5px;
	}
		div.form_btn2 button {
			display: block;
			width: 320px;
			font-size: 22px;
			margin: 0 auto;
			padding: 15px 0;
			background: #4c81b5;
			font-family: 'Noto Sans JP', sans-serif;
			color: #fff;
			font-weight: bold;
			cursor: pointer;
			border: none;
			position: relative;
			transition: 0.2s linear;
		}
			div.form_btn2 button::before{
				position: absolute;
				content: '';
				display: block;
				width: 6px;
				height: 6px;
				margin: auto;
				padding: 0;
				border-top: 3px solid #fff;
				border-right: 3px solid #fff;
				top: 50%;
				-webkit-transform: translateY(-50%) rotate(45deg);
				transform: translateY(-50%) rotate(45deg);
				left: 5%;
				transition: 0.2s linear;
			}
			div.form_btn2 button:hover {
				opacity: 0.8;
			}




}
