@charset "UTF-8";

#kv {
	width: 100%;
	padding: 0;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	position: relative;
}
	#kv h2 {
		width: 40%;
		margin: 0;
		padding: 0 3% 0 0;
		font-size: 7.2vw;
		line-height: 140%;
		font-weight: 400;
		text-align: left;
		writing-mode: vertical-rl;
		overflow: hidden;
		position: relative;
	}
		#kv h2:after {
			position: absolute;
			content: '';
			display: block;
			width: 100%;
			height: 100%;
			margin: 0;
			padding: 0;
			background: #fff;
			top: 0;
			left: 0;
			transition: 2.0s linear;
			z-index: 1;
		}
			#kv h2.fadein.scrollin:after {
				left: -100%;
			}
	#kv .img {
		width: 60%;
		margin: 0;
		padding: 0;
	}
		#kv .img img {
			width: 100%;
			height: auto;
		}

div.about {
	width: 100%;
	margin: 10% auto 0;
	padding: 0 3%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
	div.about .ttl {
		opacity: 0;
		width: 28%;
		margin: 0;
		padding: 0;
		text-align: left;
		writing-mode: vertical-rl;
	}
		div.about .ttl.scrollin {
			-webkit-animation: bottomIn 0.8s ease-in-out 0s 1 forwards;
			animation: bottomIn 0.8s ease-in-out 0s 1 forwards;
		}

		div.about .ttl h4 {
			display: inline-block;
			margin: 0;
			padding: 0.5em 0;
			font-size: 3.2vw;
			line-height: 120%;
			color: #fff;
			font-weight: 500;
			letter-spacing: 0.1em;
			background: #005124;
			font-family: 'Caveat', cursive;
		}
		div.about .ttl h3 {
			margin: 0 1% 0 0;
			padding: 0.5em 0 0;
			font-size: 6.4vw;
			line-height: 140%;
			font-weight: 400;
		}
			div.about .ttl h3 span {
				color: #006C33;
			}
	div.about .txt {
		width: 68%;
		margin: 0;
		padding: 0;
		text-align: left;
		font-family	: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, sans-serif;
	}
		div.about .txt p {
			margin: 3% 0 0;
			padding: 0;
		}
	div.about .img {
		width: 100%;
		margin: 5% auto 0;
		padding: 0;
		position: relative;
	}
	div.about .img img {
		width: 80%;
		height: auto;
	}
		div.about .img .everyone {
			opacity: 0;
			position: absolute;
			display: block;
			width: 80%;
			height: auto;
			margin: 0;
			padding: 0;
			bottom: -15%;
			left: 15%;
			z-index: 1;
		}
			div.about .img .everyone.scrollin {
				-webkit-animation: slideInLeft 0.8s ease-in-out 0s 1 forwards;
				animation: slideInLeft 0.8s ease-in-out 0s 1 forwards;
			}


div.business {
	margin: 20% auto 0;
	padding: 0;
	position: relative;
}
	div.business:before {
		position: absolute;
		content: '';
		display: block;
		width: 150%;
		height: 85%;
		margin: 0;
		padding: 0;
		background: rgba(0,109,53,0.05);
		transform: skewY(-10deg);
		top: 13%;
		right: 0;
	}
	div.business div.business_cont1,
	div.business div.business_cont2 {
		width: 100%;
		margin: 0 auto;
		padding: 0 3%;
	}
		div.business div.business_cont1 .ttl {
			opacity: 0;
			margin: 0 auto;
			padding: 0;
			text-align: left;
			writing-mode: vertical-rl;
		}
			div.business div.business_cont1 .ttl.scrollin {
				-webkit-animation: bottomIn 0.8s ease-in-out 0s 1 forwards;
				animation: bottomIn 0.8s ease-in-out 0s 1 forwards;
			}

			div.business div.business_cont1 .ttl h4 {
				display: inline-block;
				margin: 0;
				padding: 0.5em 0;
				font-size: 3.2vw;
				line-height: 120%;
				color: #fff;
				font-weight: 500;
				letter-spacing: 0.1em;
				background: #005124;
				font-family: 'Caveat', cursive;
			}
			div.business div.business_cont1 .ttl h3 {
				margin: 0 1% 0 0;
				padding: 0.5em 0 0;
				font-size: 6.4vw;
				line-height: 140%;
				font-weight: 400;
			}
		div.business div.link_cont {
			width: 100%;
			margin: 10% auto 0;
			padding: 0;
		}
			div.business div.link_cont .img {
				margin: 0;
				padding: 0;
				position: relative;
			}
				div.business div.link_cont .img img {
					width: 95%;
					height: auto;
				}
				div.business div.link_cont .img h6 {
					position: absolute;
					margin: 0;
					padding: 0;
					font-size: 3.4vw;
					line-height: 120%;
					font-weight: 400;
					color: #BABABA;
					letter-spacing: 0.1em;
					text-align: right;
					font-family: 'Caveat', cursive;
					writing-mode: vertical-rl;
					bottom: 0;
					right: -0.6em;
				}
				div.business div.link_cont .img a {
					position: absolute;
					display: block;
					width: 35%;
					margin: 0;
					padding: 0;
					text-decoration: none;
					bottom: -35%;
					left: -2%;
				}
					div.business div.link_cont .img a h5 {
						width: 100%;
						margin: 0 auto;
						padding: 3% 0;
						font-size: 4.6vw;
						line-height: 160%;
						color: #fff;
						font-weight: 400;
						background: #005124;
					}
					div.business div.link_cont .img a img {
						display: block;
						width: 45%;
						height: auto;
						margin: -3px 0 0;
						padding: 0;
						float: right;
					}
			div.business div.link_cont p {
				margin: 3% 0 0;
				padding: 0 0 0 38%;
				text-align: left;
				font-family	: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, sans-serif;
			}

div.compnay {
	width: 100%;
	margin: 20% auto 0;
	padding: 0 3%;
	text-align: left;
}
	div.compnay div.compnay_cont1 {
		width: 100%;
		margin: 0 auto;
		padding: 0;
	}
	div.compnay div.compnay_cont2 {
		width: 100%;
		margin: 0 auto 0;
		padding: 0;
	}
		div.compnay div.compnay_cont1 .ttl_name {
			width: 100%;
			margin: 0;
			padding: 0;
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
		}
			div.compnay div.compnay_cont1 .ttl_name .ttl {
				opacity: 0;
				width: 20%;
				margin: 0;
				padding: 0;
				writing-mode: vertical-rl;
				position: relative;
			}
				div.compnay div.compnay_cont1 .ttl_name .ttl.scrollin {
					-webkit-animation: bottomIn 0.8s ease-in-out 0s 1 forwards;
					animation: bottomIn 0.8s ease-in-out 0s 1 forwards;
				}

				div.compnay div.compnay_cont1 .ttl_name .ttl:before {
					position: absolute;
					content: '';
					display: block;
					width: 160%;
					height: 18em;
					margin: 0;
					padding: 0;
					background: url(../images/top/ttl_bg.jpg) center / contain no-repeat;
					top: -1.5em;
					right: 3em;
					z-index: -1;
				}
				div.compnay div.compnay_cont1 .ttl_name .ttl h4 {
					display: inline-block;
					margin: 0;
					padding: 0.5em 0;
					font-size: 3.2vw;
					line-height: 120%;
					color: #fff;
					font-weight: 500;
					letter-spacing: 0.1em;
					background: #005124;
					font-family: 'Caveat', cursive;
				}
				div.compnay div.compnay_cont1 .ttl_name .ttl h3 {
					margin: 0 1% 0 0;
					padding: 0.5em 0 0;
					font-size: 6.4vw;
					line-height: 140%;
					font-weight: 400;
				}
		div.compnay div.compnay_cont2 .cont_box {
			margin: 15% auto 0;
			padding: 0;
		}
	div.compnay div.name_box {
		margin: 0;
		padding: 0;
	}
		div.compnay div.name_box h2 {
			margin: 0;
			padding: 0;
			font-size: 4.0vw;
			line-height: 180%;
			font-weight: 500;
		}
			div.compnay div.name_box h2 span {
				font-size: 3.6vw;
				line-height: 180%;
			}
			div.compnay div.name_box h2 img {
				width: 7%;
				height: auto;
				margin-right: 0.5em;
				vertical-align: -0.2em;
			}
		div.compnay div.name_box h6 {
			margin: 1em 0 0;
			padding: 0;
			font-weight: 400;
			font-family	: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, sans-serif;
		}
		div.compnay div.name_box .tel_fax {
			margin: 0.2em 0 0;
			padding: 0;
			font-family	: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, sans-serif;
		}
			div.compnay div.name_box .tel_fax a {
				display: inline-block;
				margin: 0;
				padding: 0;
				color: #000000;
				text-decoration: none;
			}
			div.compnay div.name_box .tel_fax img {
				width: 1.2em;
				height: auto;
				margin-right: 0.5em;
				vertical-align: -0.1em;
			}
		div.compnay div.name_box p {
			font-family	: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, sans-serif;
		}
		div.compnay div.compnay_cont1 div.name_box {
			width: 78%;
			margin: 20% 0 0 !important;
		}
		div.compnay div.compnay_cont2 div.cont_box:nth-of-type(2) div.name_box {
			margin: 0 0 0 12% !important;
		}
			div.compnay div.compnay_cont1 div.name_box p {
				margin: 3% 0 0;
				padding: 0;
			}
			div.compnay div.compnay_cont2 div.name_box p {
				margin: 0;
				padding: 0;
			}
	div.compnay div.gmap {
		width: 100%;
		height: 20em;
		margin: 3% auto 0;
		padding: 0;
		position: relative;
	}
		div.compnay div.gmap iframe {
			position: absolute;
			width: 100%;
			height: 100%;
			margin: 0;
			padding: 0;
			top: 0;
			left: 0;
		}

div.news {
	margin: 20% auto 0;
	padding: 0 0 10%;
	position: relative;
}
	div.news:before {
		position: absolute;
		content: '';
		display: block;
		width: 150%;
		height: 150%;
		margin: 0;
		padding: 0;
		background: rgba(0,109,53,0.05);
		transform: skewY(-10deg);
		top: 15%;
		right: 0;
	}
	div.news div.news_cont {
		width: 100%;
		margin: 0 auto;
		padding: 0 3%;
	}
		div.news div.news_cont .ttl {
			opacity: 0;
			margin: 0 auto;
			padding: 0;
			text-align: left;
			writing-mode: vertical-rl;
		}
			div.news div.news_cont .ttl.scrollin {
				-webkit-animation: bottomIn 0.8s ease-in-out 0s 1 forwards;
				animation: bottomIn 0.8s ease-in-out 0s 1 forwards;
			}

			div.news div.news_cont .ttl h4 {
				display: inline-block;
				margin: 0;
				padding: 0.5em 0;
				font-size: 3.2vw;
				line-height: 120%;
				color: #fff;
				font-weight: 500;
				letter-spacing: 0.1em;
				background: #005124;
				font-family: 'Caveat', cursive;
			}
			div.news div.news_cont .ttl h3 {
				margin: 0 1% 0 0;
				padding: 0.5em 0 0;
				font-size: 6.4vw;
				line-height: 140%;
				font-weight: 400;
			}
		div.news div.news_cont .info {
			width: 100%;
			max-height: 20em;
			margin: 10% auto 0;
			padding: 0;
			text-align: left;
			background: #ffffff;
			overflow-x: auto;
			position: relative;
			z-index: 1;
		}
			div.news div.news_cont dl {
				width: 100%;
				margin: 0;
				padding: 5% 5%;
				font-size: 3.6vw;
				line-height: 180%;
				font-family	: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, sans-serif;
			}
				div.news div.news_cont dl dt {
					width: 100%;
					margin: 0;
					padding: 3% 0 0;
					font-weight: 600;
					white-space: nowrap;
				}
				div.news div.news_cont dl dd {
					width: 100%;
					margin: 0;
					padding: 1% 0 3%;
					border-bottom: 1px solid #73A883;
				}


