@charset "UTF-8";

#kv {
	width: 1200px;
	height: 700px;
	margin: 50px auto 0;
	padding: 0;
	display: flex;
	justify-content: flex-end;
	position: relative;
}
	#kv h2 {
		width: 200px;
		margin: 0;
		padding: 0;
		font-size: 46px;
		line-height: 140%;
		font-weight: 300 !important;
		text-align: left;
		font-family	: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		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 {
		position: absolute;
		width: 1050px;
		margin: 0;
		padding: 0;
		top: 0;
		right: calc(50% - 350px);
	}

div.about {
	width: 1200px;
	margin: 93px auto 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
	div.about .ttl {
		opacity: 0;
		width: 145px;
		margin: 0;
		padding: 58px 0 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: 18px;
			line-height: 120%;
			color: #fff;
			font-weight: 500;
			letter-spacing: 0.1em;
			background: #005124;
			font-family: 'Caveat', cursive;
		}
		div.about .ttl h3 {
			margin: 0 5px 0 0;
			padding: 15px 0 0;
			font-size: 40px;
			line-height: 140%;
			font-weight: 400;
		}
			div.about .ttl h3 span {
				color: #006C33;
			}
	div.about .txt {
		width: 500px;
		margin: 0;
		padding: 58px 0 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: 17px 0 0;
			padding: 0;
		}
	div.about .img {
		width: 418px;
		margin: 0;
		padding: 0;
		position: relative;
	}
		div.about .img .everyone {
			opacity: 0;
			position: absolute;
			display: block;
			margin: 0;
			padding: 0;
			bottom: -30px;
			left: 50px;
			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: 185px auto 0;
	padding: 0;
	position: relative;
}
	div.business:before {
		position: absolute;
		content: '';
		display: block;
		width: 150%;
		height: 70%;
		margin: 0;
		padding: 0;
		background: rgba(0,109,53,0.05);
		transform: skewY(-10deg);
		top: 183px;
		right: 0;
	}
	div.business div.business_cont1 {
		width: 1200px;
		margin: 0 auto;
		padding: 0 145px 0 100px;
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: flex-start;

	}
	div.business div.business_cont2 {
		width: 1200px;
		margin: 100px auto 0;
		padding: 0 0 0 320px;
	}
		div.business div.business_cont1 .ttl {
			opacity: 0;
			width: 100px;
			margin: 0;
			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: 18px;
				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 5px 0 0;
				padding: 15px 0 0;
				font-size: 40px;
				line-height: 140%;
				font-weight: 400;
			}
		div.business div.link_cont {
			width: 700px;
			margin: 0;
			padding: 0;
		}
			div.business div.link_cont .img {
				margin: 0;
				padding: 0;
				position: relative;
			}
				div.business div.link_cont .img h6 {
					position: absolute;
					margin: 0;
					padding: 0;
					font-size: 18px;
					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: -25px;
				}
				div.business div.link_cont .img a {
					position: absolute;
					display: block;
					width: 200px;
					margin: 0;
					padding: 0;
					text-decoration: none;
					bottom: -110px;
					left: -30px;
					overflow: hidden;
					transition: 0.2s linear;
				}
					div.business div.link_cont .img a:hover {
						opacity: 0.9;
					}
					div.business div.link_cont .img a h5 {
						width: 200px;
						margin: 0 auto;
						padding: 0;
						font-size: 30px;
						line-height: 100px;
						color: #fff;
						font-weight: 400;
						background: #005124;
					}
					div.business div.link_cont .img a img {
						display: block;
						width: 72px;
						margin: -3px 0 0;
						padding: 0;
						float: right;
						transition: 0.2s linear;
					}
						div.business div.link_cont .img a:hover img {
							margin-right: -7px;
						}
			div.business div.link_cont p {
				margin: 20px 0 0;
				padding: 0 0 0 200px;
				font-size: 16px;
				line-height: 180%;
				text-align: left;
				font-family	: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, sans-serif;
			}

div.compnay {
	width: 1200px;
	margin: 200px auto 0;
	padding: 0;
	text-align: left;
}
	div.compnay div.compnay_cont1 {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		display: flex;
		align-items: flex-start;
	}
	div.compnay div.compnay_cont2 {
		width: 100%;
		margin: 120px auto 0;
		padding: 0;
		display: flex;
		align-items: flex-start;
	}
		div.compnay div.compnay_cont1 .ttl_name {
			width: 50%;
			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: 100px;
				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: 130px;
					height: 300px;
					margin: 0;
					padding: 0;
					background: url(../images/top/ttl_bg.jpg) center / contain no-repeat;
					top: -33px;
					right: 64px;
					z-index: -1;
				}
				div.compnay div.compnay_cont1 .ttl_name .ttl h4 {
					display: inline-block;
					margin: 0;
					padding: 0.5em 0;
					font-size: 18px;
					line-height: 120%;
					color: #fff;
					font-weight: 400;
					letter-spacing: 0.1em;
					background: #005124;
					font-family: 'Caveat', cursive;
				}
				div.compnay div.compnay_cont1 .ttl_name .ttl h3 {
					margin: 0 5px 0 0;
					padding: 15px 0 0;
					font-size: 40px;
					line-height: 140%;
					font-weight: 400;
				}
		div.compnay div.compnay_cont2 .cont_box {
			width: 50%;
			margin: 0;
			padding: 0 30px;
		}
	div.compnay div.name_box {
		margin: 0;
		padding: 0;
	}
		div.compnay div.name_box h2 {
			margin: 0;
			padding: 0;
			font-size: 20px;
			line-height: 180%;
			font-weight: 500;
		}
			div.compnay div.name_box h2 span {
				font-size: 16px;
				line-height: 180%;
			}
			div.compnay div.name_box h2 img {
				margin-right: 6px;
				vertical-align: -0.2em;
			}
		div.compnay div.name_box h6 {
			margin: 20px 0 0;
			padding: 0;
			font-size: 16px;
			line-height: 180%;
			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: 5px 0 0;
			padding: 0;
			font-size: 16px;
			line-height: 180%;
			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 20px 0 0;
				padding: 0;
				color: #000000;
				text-decoration: none;
				cursor: none;
				pointer-events: none;
			}
			div.compnay div.name_box .tel_fax img {
				margin-right: 6px;
				vertical-align: -0.1em;
			}
		div.compnay div.name_box p {
			font-size: 16px;
			line-height: 180%;
			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: 335px;
			margin: 123px 35px 0 0 !important;
		}
			div.compnay div.compnay_cont1 div.name_box p {
				margin: 20px 0 0;
				padding: 0;
			}
			div.compnay div.compnay_cont2 div.name_box p {
				margin: 5px 0 0;
				padding: 0;
			}
	div.compnay div.gmap {
		width: 540px;
		height: 320px;
		margin: 0 auto;
		padding: 0;
		position: relative;
	}
		div.compnay div.gmap iframe {
			position: absolute;
			width: 100%;
			height: 100%;
			margin: 0;
			padding: 0;
			top: 0;
			left: 0;
		}
		div.compnay div.compnay_cont1 div.gmap {
			margin-top: 123px !important;
		}
		div.compnay div.compnay_cont2 div.gmap {
			margin-top: 25px !important;
		}

div.news {
	margin: 270px auto 0;
	padding: 20px 0 100px;
	text-align: left;
	position: relative;
	z-index: 1;
}
	div.news:before {
		position: absolute;
		content: '';
		display: block;
		width: 150%;
		height: 200%;
		margin: 0;
		padding: 0;
		background: rgba(0,109,53,0.05);
		transform: skewY(-10deg);
		top: 0;
		right: 0;
		z-index: -1;
	}
	div.news div.news_cont {
		width: 1200px;
		margin: 0 auto;
		padding: 0 145px 0 0;
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: flex-start;
	}
		div.news div.news_cont .ttl {
			opacity: 0;
			width: 100px;
			margin: 0;
			padding: 0;
			writing-mode: vertical-rl;
			position: relative;
		}
			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: 18px;
				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 5px 0 0;
				padding: 15px 0 0;
				font-size: 40px;
				line-height: 140%;
				font-weight: 400;
			}
		div.news div.news_cont .info {
			width: 910px;
			margin: 48px 0 0;
			padding: 30px 75px 55px 70px;
			background: #ffffff;
			position: relative;
		}
			div.news div.news_cont .info:before{
				position: absolute;
				content: '';
				display: block;
				width: 3000px;
				height: 100%;
				margin: 0;
				padding: 0;
				background: #ffffff;
				top: 0;
				left: -3000px;
			}
			div.news div.news_cont dl {
				width: 100%;
				margin: 0;
				padding: 0;
				font-size: 16px;
				line-height: 180%;
				font-family	: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, sans-serif;
				display: flex;
				flex-wrap: wrap;
			}
				div.news div.news_cont dl dt {
					width: 90px;
					margin: 0;
					padding: 25px 0 22px;
					border-bottom: 1px solid #73A883;
					white-space: nowrap;
				}
				div.news div.news_cont dl dd {
					width: calc(100% - 90px);
					margin: 0;
					padding: 25px 0 22px 45px;
				}


