@charset "UTF-8";

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

#kv {
	width: 100%;
	height: 0;
	margin: 3.2em auto 0;
	padding: 0 0 101.17%;
	position: relative;
	z-index: 1;

}
	#kv div.slick_box {
		width: 100%;
		padding: 0;
		margin: 0 auto;
	}
		#kv div.slick_box div.kv {
			width: 100%;
			height: 26.7em;
			margin: 0 auto;
			padding: 0;
			border-bottom: 2px solid #0e3963;
		}
			#kv div.slick_box div.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: 50;
			}
			#kv div.kv .kv_cont {
				position: absolute;
				content: '';
				margin: auto;
				padding: 0;
				width: 90%;
				top: 3em;
				left: 0;
				right: 0;
				z-index: 100;
			}
				#kv div.kv .kv_cont h3 {
					display: inline-block;
					margin: 0 auto 3%;
					padding: 0;
					font-size: 4.6vw;
					line-height: 160%;
					font-weight: 500;
					color: #fff;
				}
				#kv div.kv .kv_cont p {
					display: inline-block;
					margin: 0;
					padding: 3%;
					font-size: 3.6vw;
					line-height: 160%;
					text-align: left;
				}
				#kv div.kv .kv_cont .btn {
					margin: 2% auto 0;
					padding: 0;
				}
					#kv div.kv .kv_cont .btn a {
						display: inline-block;
						margin: 2% auto 0;
						padding: 2% 5% 2% 7%;
						font-size: 3.8vw;
						line-height: 160%;
						text-decoration: none;
						color: #000;
						transition: 0.2s linear;
						position: relative;
					}
						#kv div.kv .kv_cont .btn a:after {
							position: absolute;
							content:'\f101';
							font-family:'Font Awesome 5 Free';
							font-weight:900;
							font-size: 12px;
							top: 50%;
							transform: translateY(-50%);
							-webkit- transform: translateY(-50%);
							left: 3%;
							margin: auto;
						}
		#kv div.slick_box div.kv00 {
			background: url(../images/top/sp_kv_00.jpg) right center / cover no-repeat;
		}
				#kv div.kv.kv00 .kv_cont p {
					color: #fff;
					background: rgba(46,17,0,0.6);
				}
					#kv div.kv.kv00 .kv_cont .btn a {
						color: #fff;
						background: rgba(46,17,0,0.6);
					}
						#kv div.kv.kv00 .kv_cont .btn a:after {
							color: #fff;
						}
		#kv div.slick_box div.kv01 {
			background: url(../images/top/sp_kv_01.jpg) right center / cover no-repeat;
		}
				#kv div.kv.kv01 .kv_cont p {
					background: rgba(255,255,255,0.6);
				}
					#kv div.kv.kv01 .kv_cont .btn a {
						background: rgba(255,255,255,0.6);
					}
						#kv div.kv.kv01 .kv_cont .btn a:after {
							color: #000;
						}
		#kv div.slick_box div.kv02 {
			background: url(../images/top/sp_kv_02.jpg) center center / cover no-repeat;
		}
				#kv div.kv.kv02 .kv_cont p {
					color: #fff;
					background: rgba(253,146,75,0.7);
				}
					#kv div.kv.kv02 .kv_cont .btn a {
						color: #fff;
						background: rgba(253,146,75,0.7);
					}
						#kv div.kv.kv02 .kv_cont .btn a:after {
							color: #fff;
						}
		#kv div.slick_box div.kv03 {
			background: url(../images/top/sp_kv_03.jpg) center center / cover no-repeat;
		}
				#kv div.kv.kv03 .kv_cont p {
					color: #fff;
					background: rgba(0,135,19,0.6);
				}
					#kv div.kv.kv03 .kv_cont .btn a {
						color: #fff;
						background: rgba(0,135,19,0.6);
					}
						#kv div.kv.kv03 .kv_cont .btn a:after {
							color: #fff;
						}
		#kv div.slick_box div.kv04 {
			background: url(../images/top/sp_kv_04.jpg) center center / cover no-repeat;
		}
				#kv div.kv.kv04 .kv_cont p {
					color: #fff;
					background: rgba(0,174,255,0.6);
				}
					#kv div.kv.kv04 .kv_cont .btn a {
						color: #fff;
						background: rgba(0,174,255,0.6);
					}
						#kv div.kv.kv04 .kv_cont .btn a:after {
							color: #fff;
						}


/* トップAbout */
div.top_about {
	width: 100%;
	margin: 10% auto 0;
	padding: 0;
}
	div.top_about h4 {
		margin: 0 auto;
		padding: 0;
		font-size: 8.0vw;
		line-height: 110%;
		font-weight: 700;
		font-family: 'Vesper Libre', serif;
		position: relative;
	}
		div.top_about h4:after {
			position: absolute;
			content: '';
			display: block;
			width: 2em;
			height: 3px;
			margin: 0 auto;
			padding: 0;
			background: #fd924b;
			bottom: 0;
			left: 0;
			right: 0;
		}
	div.top_about h5 {
		margin: 1% auto 0;
		padding: 0;
		font-size: 3.2vw;
		line-height: 140%;
		font-weight: 300;
	}
	div.top_about div.about_top {
		margin: 5% auto 0;
		padding: 0 3%;
		font-size: 3.4vw;
		line-height: 160%;
	}
	div.top_about div.about_in {
		margin: 5% auto 0;
		padding: 0;
	}
		div.top_about div.about_in .box {
			width: 100%;
			margin: 0;
			padding: 0;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			text-decoration: none;
			position: relative;
		}
			div.top_about div.about_in .box.box0 {
				height: 25em;
				background: url(../images/top/kv_00.jpg) center center / cover no-repeat;
			}
			div.top_about div.about_in .box.box1 {
				height: 20em;
				background: url(../images/top/kv_01.jpg) center center / cover no-repeat;
			}
			div.top_about div.about_in .box.box2 {
				height: 15em;
				background: url(../images/top/kv_02.jpg) center center / cover no-repeat;
			}
			div.top_about div.about_in .box.box3 {
				height: 12em;
				background: url(../images/top/kv_03.jpg) center center / cover no-repeat;
			}
			div.top_about div.about_in .box.box4 {
				height: 11em;
				background: url(../images/top/kv_04.jpg) center center / cover no-repeat;
			}
			div.top_about div.about_in .box:after {
				position: absolute;
				content: '';
				width: 100%;
				height: 100%;
				margin: 0;
				padding: 0;
				top: 0;
				left: 0;
			}
				div.top_about div.about_in .box.box0:after {
					background: rgba(46,17,0,0.4);
				}
				div.top_about div.about_in .box.box1:after {
					background: rgba(255,255,255,0.5);
				}
				div.top_about div.about_in .box.box2:after {
					background: rgba(253,146,75,0.4);
				}
				div.top_about div.about_in .box.box3:after {
					background: rgba(0,135,19,0.3);
				}
				div.top_about div.about_in .box.box4:after {
					background: rgba(0,174,255,0.3);
				}
				div.top_about div.about_in .box p {
					width: 90%;
					margin: 0;
					padding: 3% 5%;
					font-size: 3.4vw;
					line-height: 160%;
					color: #000;
					text-align: left;
					position: relative;
					z-index: 10;
				}
				div.top_about div.about_in .box .btn {
					width: 60%;
					margin: 3% 0 0;
					padding: 3% 3% 3% 4%;
					font-size: 3.4vw;
					line-height: 160%;
					color: #000;
					position: relative;
					z-index: 10;
				}
					div.top_about div.about_in .box .btn:after {
						position: absolute;
						content:'\f101';
						font-family:'Font Awesome 5 Free';
						font-weight:900;
						font-size: 12px;
						top: 50%;
						transform: translateY(-50%);
						-webkit- transform: translateY(-50%);
						left: 3%;
						margin: auto;
					}
					div.top_about div.about_in .box.box0 p,
					div.top_about div.about_in .box.box0 .btn {
						background: rgba(46,17,0,1);
						color: #fff;
					}
					div.top_about div.about_in .box.box1 p,
					div.top_about div.about_in .box.box1 .btn {
						background: #fff;
					}
					div.top_about div.about_in .box.box2 p,
					div.top_about div.about_in .box.box2 .btn {
						background: rgba(253,146,75,1);
					}
					div.top_about div.about_in .box.box3 p,
					div.top_about div.about_in .box.box3 .btn {
						background: rgba(0,135,19,1);
						color: #fff;
					}
					div.top_about div.about_in .box.box4 p,
					div.top_about div.about_in .box.box4 .btn {
						background: rgba(0,174,255,1);
						color: #fff;
					}


/* トップInfo/Greeting */
div.top_info_greeting {
	width: 100%;
	margin: 0 auto;
	padding: 10% 0;
	background: #fff;
}
	div.info_greeting_in {
		margin: 0 auto;
		padding: 0;
	}
		div.info_greeting_in div.top_info {
			width: 100%;
			margin: 0 auto;
			padding: 0 3%;
		}
			div.info_greeting_in div.top_info h4 {
				margin: 0 auto;
				padding: 0;
				font-size: 8.0vw;
				line-height: 110%;
				font-weight: 700;
				font-family: 'Vesper Libre', serif;
				position: relative;
			}
				div.info_greeting_in div.top_info h4:after {
					position: absolute;
					content: '';
					display: block;
					width: 2em;
					height: 3px;
					margin: 0 auto;
					padding: 0;
					background: #fd924b;
					bottom: 0;
					left: 0;
					right: 0;
				}
			div.info_greeting_in div.top_info h5 {
				margin: 1% auto 0;
				padding: 0;
				font-size: 3.2vw;
				line-height: 140%;
				font-weight: 300;
			}
			div.info_greeting_in div.top_info dl {
				margin: 0;
				padding: 5% 0 0;
				font-size: 3.4vw;
				line-height: 160%;
				font-weight: 300;
				text-align: left;
			}
				div.info_greeting_in div.top_info dl dt {
					display: block;
					margin: 3% 0 0;
					padding: 0;
				}
					div.info_greeting_in div.top_info dl dt:first-of-type {
						margin: 0;
					}
					div.info_greeting_in div.top_info dl dt span {
						display: inline-block;
						width: 10em;
						margin: 0 5% 0 0;
						padding: 0.1em 1.0em 0.2em;
						font-size: 2.8vw;
						line-height: 120%;
						text-align: center;
						border-radius: 0.3em;
						vertical-align: 0.2em;
					}
						div.info_greeting_in div.top_info dl dt span.info {
							background: #0e3963;
							color: #fff;
						}
						div.info_greeting_in div.top_info dl dt span.estate {
							background: #fff;
							border: 1px solid #333;
						}
						div.info_greeting_in div.top_info dl dt span.scaffold {
							background: rgba(253,146,75,1);
						}
						div.info_greeting_in div.top_info dl dt span.farm {
							background: rgba(0,135,19,1);
							color: #fff;
						}
						div.info_greeting_in div.top_info dl dt span.koya {
							background: rgba(0,174,255,1);
							color: #fff;
						}
				div.info_greeting_in div.top_info dl dd {
					display: block;
					margin: 0;
					padding: 0;
				}
		div.info_greeting_in div.top_greeting {
			width: 100%;
			margin: 10% auto 0;
			padding: 0 3%;
		}
			div.info_greeting_in div.top_greeting h4 {
				margin: 0 auto;
				padding: 0;
				font-size: 8.0vw;
				line-height: 110%;
				font-weight: 700;
				font-family: 'Vesper Libre', serif;
				position: relative;
			}
				div.info_greeting_in div.top_greeting h4:after {
					position: absolute;
					content: '';
					display: block;
					width: 2em;
					height: 3px;
					margin: 0 auto;
					padding: 0;
					background: #fd924b;
					bottom: 0;
					left: 0;
					right: 0;
				}
			div.info_greeting_in div.top_greeting h5 {
				margin: 1% auto 0;
				padding: 0;
				font-size: 3.2vw;
				line-height: 140%;
				font-weight: 300;
			}
			div.info_greeting_in div.top_greeting .msg {
				margin: 0;
				padding: 5% 0 0;
				font-size: 3.4vw;
				line-height: 160%;
				font-weight: 300;
				text-align: left;
			}

/* トップInstagram */
div.top_instagram {
	width: 100%;
	margin: 0 auto 0;
	padding: 10% 0 15%;
}
	div.top_instagram h4 {
		margin: 0 auto;
		padding: 0;
		font-size: 8.0vw;
		line-height: 110%;
		font-weight: 700;
		font-family: 'Vesper Libre', serif;
		position: relative;
	}
		div.top_instagram h4:after {
			position: absolute;
			content: '';
			display: block;
			width: 2em;
			height: 3px;
			margin: 0 auto;
			padding: 0;
			background: #fd924b;
			bottom: 0;
			left: 0;
			right: 0;
		}
	div.top_instagram h5 {
		margin: 1% auto 0;
		padding: 0;
		font-size: 3.2vw;
		line-height: 140%;
		font-weight: 300;
	}
	div.top_instagram div.insta_top {
		margin: 5% auto 0;
		padding: 0 3%;
		font-size: 3.4vw;
		line-height: 160%;
	}
	div.top_instagram #insta {
		margin: 0 auto;
		padding: 0 3%;
		list-style: none;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: flex-start;
	}
		div.top_instagram #insta li {
			display: inline-block;
			width: 46%;
			margin: 3% 2% 0;
			padding: 0;
		}
			div.top_instagram #insta li img {
				width: 100%;
				height: auto;
			}
	div.top_instagram .insta_btn {
		margin: 3% auto 0;
		padding: 0;
	}
		div.top_instagram .insta_btn a {
			display: inline-block;
			width: 70%;
			margin: 0 auto;
			padding: 1em 0;
			font-size: 3.8vw;
			line-height: 160%;
			color: #fff;
			background: linear-gradient(70deg, #f6c367, #f6175b, #3d33e6);
			text-decoration: none;
		}
			div.top_instagram .insta_btn a i {
				display: inline-block;
				margin: 0 3% 0 0;
				padding: 0;
				font-size: 4.4vw;
				vertical-align: -0.1em;
			}


}