@charset "UTF-8";
/* CSS Document */

/*
共通
WordPress対策・全ページ余白なし
*/

* {
	margin: 0;
	padding: 0;
}
 
body {
	margin: 0;
	padding: 0;
	color: #4E4E4E;
	background: #fff;
	font-family: "Noto Sans JP", sans-serif;
}
 
img {
	vertical-align: bottom;
	max-width: 100%;
}
 
h1,h2,h3,h4,h5 {
	font-family: "Noto Sans JP", sans-serif;
}

p {
	color: #4E4E4E;
	font-family: "Noto Sans JP", sans-serif;
}

font,span {
	
}
 
a {
	text-decoration: none;
	font-family: "Noto Sans JP", sans-serif;
}

/*Googleフォント*/
.noto-sans-jp {
	font-family: "Noto Sans JP", sans-serif;
	/*font-weight: 400; regular*/
	/*font-weight: 500; medium*/
	/*font-weight: 700; bold*/
}

.raleway {
	font-family: "Raleway", sans-serif;
	/*font-weight: 400; regular*/
	/*font-weight: 500; medium*/
	/*font-weight: 600; semibold*/
}

/*共通*/
/*PC*/
@media only screen and (min-width: 1025px) {
	.pc { 
		display: block !important; 
	}
	
	.smp { 
		display: none !important; 
	}
	
	p {
		font-size: 16px;
		font-weight: 400;
		letter-spacing: 1px;
		line-height: 26px;
		text-align: left;
	}
	
	/*電話番号をクリックしても自動発信しない*/
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
	
	main {
		position: relative;
		width: 100%;
		height: auto;
		padding: 120px 0 0 0;
		overflow: hidden;
	}
 
}

/*SMP*/
@media only screen and (max-width: 1024px) {
	.pc { 
		display: none !important; 
	}
	
	.smp { 
		display: block !important; 
	}
	
	p {
		font-size: 12px;
		font-weight: 400;
		letter-spacing: 0.8px;
		line-height: 20px;
		text-align: left;
	}
	
	main {
		position: relative;
		width: 100%;
		height: auto;
		padding: 60px 0 0 0;
		overflow: hidden;
	} 
	
}

/*共通メインビジュアル*/
/*PC*/
@media only screen and (min-width: 1025px) {
	#common_mv {
		position: relative;
		width: 100%;
		height: auto;
	}
	
	#common_mv .title {
		position: relative;
		width: 1100px;
		height: auto;
		margin: 90px auto 55px auto;
	}
	
	#common_mv .title p {
		font-size: 50px;
		font-family: "Raleway", sans-serif;
		font-weight: 600;
		letter-spacing: 6px;
		line-height: 50px;
		text-align: left;
		color: #66AD47;
	}
	
	#common_mv .title h1 {
		margin-top: 18px;
		font-size: 20px;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 500;
		letter-spacing: 3px;
		line-height: 20px;
		text-align: left;
		color: #1E3C0D;
	}
	
	#common_mv .title .text_item {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		overflow: hidden;
	}
	
	#common_mv .text_item {
		transform: translateX(-101%);
	}
	
	#common_mv .text_item > font {
		display: block;
	}
	
	#common_mv .is-active .text_item {
		transform: translateX(0);
		transition: transform cubic-bezier(0.74, 0, 0.24, 0.99) 1.1s;
	}
	
	#common_mv .is-active .text_item:nth-child(1) {
		transition-delay: 0s;
	}
	
	#common_mv .is-active .text_item:nth-child(1) > font {
		transition-delay: 0s;
	}
	
	#common_mv .is-active .text_item:nth-child(2) {
		transition-delay: 0.15s;
	}
	
	#common_mv .is-active .text_item:nth-child(2) > font {
		transition-delay: 0.15s;
	}

	#common_mv .text_item > font {
		transform: translateX(101%);
	}
	
	#common_mv .is-active .text_item > font {
		transform: translateX(0);
		transition: transform cubic-bezier(0.74, 0, 0.24, 0.99) 1.1s;
	}
	
	#common_mv .img {
		position: relative;
		width: 100%;
		height: 350px;
		overflow: hidden;
	}
	
	#common_mv .img img {
		display: block;
		position: relative;
		width: 100%;
		height: 350px;
		object-fit: cover;
		object-position: center;
	}
}

/*SMP*/
@media only screen and (max-width: 1024px) {
	#common_mv {
		position: relative;
		width: 100%;
		height: auto;
	}
	
	#common_mv .title {
		position: relative;
		width: 80%;
		height: auto;
		margin: 35px auto 30px auto;
	}
	
	#common_mv .title p {
		font-size: 25px;
		font-family: "Raleway", sans-serif;
		font-weight: 600;
		letter-spacing: 3px;
		line-height: 25px;
		text-align: left;
		color: #66AD47;
	}
	
	#common_mv .title h1 {
		margin-top: 8px;
		font-size: 13px;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 500;
		letter-spacing: 2px;
		line-height: 13px;
		text-align: left;
		color: #1E3C0D;
	}
	
	#common_mv .title .text_item {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		overflow: hidden;
	}
	
	#common_mv .text_item {
		transform: translateX(-101%);
	}
	
	#common_mv .text_item > font {
		display: block;
	}
	
	#common_mv .is-active .text_item {
		transform: translateX(0);
		transition: transform cubic-bezier(0.74, 0, 0.24, 0.99) 1.1s;
	}
	
	#common_mv .is-active .text_item:nth-child(1) {
		transition-delay: 0s;
	}
	
	#common_mv .is-active .text_item:nth-child(1) > font {
		transition-delay: 0s;
	}
	
	#common_mv .is-active .text_item:nth-child(2) {
		transition-delay: 0.15s;
	}
	
	#common_mv .is-active .text_item:nth-child(2) > font {
		transition-delay: 0.15s;
	}

	#common_mv .text_item > font {
		transform: translateX(101%);
	}
	
	#common_mv .is-active .text_item > font {
		transform: translateX(0);
		transition: transform cubic-bezier(0.74, 0, 0.24, 0.99) 1.1s;
	}
	
	#common_mv .img {
		position: relative;
		width: 100%;
		height: 150px;
		overflow: hidden;
	}
	
	#common_mv .img img {
		display: block;
		position: relative;
		width: 100%;
		height: 150px;
		object-fit: cover;
		object-position: center;
	}

}

/*404ページ*/
/*PC*/
@media only screen and (min-width: 1025px) {
	#er {
		position: relative;
		width: 800px;
		height: auto;
		margin: 160px auto 230px auto;
	}
	
	#er .title {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 65PX auto;
	}
	
	#er .title h1 {
		font-size: 40px;
		font-family: "Raleway", sans-serif;
		font-weight: 600;
		letter-spacing: 3px;
		line-height: 40px;
		text-align: center;
		color: #66AD47;
	}
	
	#er .title h1 big {
		position: relative;
		margin-right: 20px;
		font-size: 60px;
		letter-spacing: 6px;
		line-height: 60px;
	}
	
	#er .title p {
		margin-top: 24px;
		font-size: 24px;
		letter-spacing: 2px;
		line-height: 24px;
		text-align: center;
		color: #1E3C0D;
	}
	
	#er .text {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	#er .text p {
		line-height: 32px;
		text-align: center;
	}
	
	#er .text p a {
		font-weight: 500;
		color: #278F49;
	}
	
	#er .text p a:hover {
		text-decoration: underline;
	}
	
}

/*SMP*/
@media only screen and (max-width: 1024px) {
	#er {
		position: relative;
		width: 100%;
		height: auto;
		margin: 90px auto 100px auto;
	}
	
	#er .title {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 32px auto;
	}
	
	#er .title h1 {
		font-size: 20px;
		font-family: "Raleway", sans-serif;
		font-weight: 600;
		letter-spacing: 2px;
		line-height: 20px;
		text-align: center;
		color: #66AD47;
	}
	
	#er .title h1 big {
		position: relative;
		margin-right: 10px;
		font-size: 30px;
		letter-spacing: 3px;
		line-height: 30px;
	}
	
	#er .title p {
		margin-top: 12px;
		font-size: 13px;
		letter-spacing: 1px;
		line-height: 13px;
		text-align: center;
		color: #1E3C0D;
	}
	
	#er .text {
		position: relative;
		width: 270px;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	#er .text p {
		line-height: 22px;
		text-align: center;
	}
	
	#er .text p a {
		font-weight: 500;
		color: #278F49;
		text-decoration: underline;
	}
	
}

/*アニメーション*/
/*PC*/
@media only screen and (min-width: 1025px) {
	/*文字がぬるりと現れる*/
	.matrix p,
	.matrix h1 {
		display: block;
		overflow: hidden;
		opacity: 0;
	}
	
	.matrix p font,
	.matrix h1 font {
		display: block;
		opacity: 0;
		transform: matrix(1, 0, 0, 1, 0, 100);
		transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
	}
	
	.matrix.is-animated p,
	.matrix.is-animated h1 {
		opacity: 1;
	}
	
	.matrix.is-animated p font,
	.matrix.is-animated h1 font {
		opacity: 1;
		transform: matrix(1, 0, 0, 1, 0, 0);
	}
	
}

/*SMP*/
@media only screen and (max-width: 1024px) {
	/*文字がぬるりと現れる*/
	.matrix p,
	.matrix h1 {
		display: block;
		overflow: hidden;
		opacity: 0;
	}
	
	.matrix p font,
	.matrix h1 font {
		display: block;
		opacity: 0;
		transform: matrix(1, 0, 0, 1, 0, 100);
		transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
	}
	
	.matrix.is-animated p,
	.matrix.is-animated h1 {
		opacity: 1;
	}
	
	.matrix.is-animated p font,
	.matrix.is-animated h1 font {
		opacity: 1;
		transform: matrix(1, 0, 0, 1, 0, 0);
	}
}