@charset "utf-8";


*{
	font-size: 100%;
	font-family: "Noto Sans JP","游ゴシック", YuGothic, "メイリオ", Meiryo,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}

.minchou,
.minchou * {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "黎ミン L","Reimin Light", "ヒラギノ明朝 ProN W6","HiraMinProN-W6","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",serif;
	font-weight:500;
}

.gothic,
.gothic * {
	font-family: "Noto Sans JP","游ゴシック", YuGothic, "メイリオ", Meiryo,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}

html{
	word-break:break-all;
	color: #1a1a1a;
	scroll-behavior: smooth;
}

body{
	backface-visibility: hidden;
}

a{
	color:#3a9923;
	text-decoration:none;
}

a:hover{
	text-decoration:underline;
}

::selection {
	background: #3a9923;
	color: #fff;
}

html,
section,
header,
body,
footer {
	display: block;
}

.tategaki {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
header
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
header {
	background-color: #fff;
}

	header > div#header > h1 {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
		height: 90px;
		padding: 0 60px;
		box-sizing: border-box;
		font-size: 2.2em;
		letter-spacing: 0.17em;
	}
	
		header > div#header > h1 > a:hover {
			text-decoration: none;
		}

	header > div#header > ul.nav {
		width: 100%;
		max-width: 1440px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		position: relative;
		z-index: 2;
	}
	
		header > div#header > ul.nav > li {
			width: 20%;
			max-width: 240px;
			position: relative;
		}
		
			header > div#header > ul.nav > li > input[type=checkbox] {
				display: none;
			}
			
			header > div#header > ul.nav > li > label {
				display: flex;
				width: 100%;
				height: 60px;
				justify-content: center;
				align-items: center;
				cursor: pointer;
				color: #3a9923;
				font-size: 1.3em;
				letter-spacing: 0.15em;
			}
			
			header > div#header > ul.nav > li > input[type=checkbox]:checked + label {
				background-color: #3a9923;
				color: #fff;
			}
			
			header > div#header > ul.nav > li > div {
				width: 100%;
				height: 0;
				position: absolute;
				top: 60px;
				left: 0;
				overflow: hidden;
			}
			
			header > div#header > ul.nav > li > input[type=checkbox]:checked + label + div {
				height: auto;
			}
			
				header > div#header > ul.nav > li > div > a {
					display: flex;
					width: 100%;
					height: 60px;
					justify-content: center;
					align-items: center;
					font-size: 1.3em;
					letter-spacing: 0.15em;
					border-top: 1px #3a9923 solid;
					background-color: rgba(255,255,255,0.85);
				}
				
				header > div#header > ul.nav > li > div > a:hover {
					text-decoration: none;
					background-color: rgba(58,153,35,0.5);
					color: #fff;
				}
				
				header > div#header > ul.nav > li > div > a:first-child {
					border: none;
				}
				
			
		
	header > div#slider {
		border-top: 1px #3a9923 solid;
		height: calc(100vh - 350px);
		//background-image: url('../img/slider/01.jpg');
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		position: relative;
		z-index: 1;
	}
	
		header > div#slider  p.slider_comment {
			position: absolute;
			right: 100px;
			bottom: 180px;
			width: calc(100% - 20px);
			max-width: 720px;
		}
		
			header > div#slider  p.slider_comment > img {
				width: 100%;
			}
		
	
	


@media screen and (max-width:1080px){
			header > div#header > ul.nav > li > label {
				font-size: 1.1em;
				letter-spacing: 0.05em;
			}
			
				header > div#header > ul.nav > li > div > a {
					font-size: 1.1em;
					letter-spacing: 0.05em;
				}
				
		header > div#slider  p.slider_comment {
			right: 40px;
			bottom: calc(50% - 75px);
			width: calc(100% - 80px);
		}
}

@media screen and (max-width:750px){
	header > div#header > h1 {
		font-size:1.6em;
		letter-spacing: 0.15em;
		padding: 0 30px;
	}
	
		header > div#header > ul.nav > li {
			width: 100%;
			max-width: 100%;
		}
		
			header > div#header > ul.nav > li > label {
				border-top: 1px #3a9923 solid;
				height: 50px;
			}
			
			header > div#header > ul.nav > li:last-child > label {
				border-bottom: 1px #3a9923 solid;
			}
		
			header > div#header > ul.nav > li > div {
				position: relative;
				top: 0;
				left: 0;
				overflow: hidden;
			}
			
				header > div#header > ul.nav > li > div > a {
					height: 50px;
					background-color: rgba(58,153,35,0.5);
					color: #fff;
					font-weight: 300;
				}
}
@media screen and (max-width:500px){
	header > div#header > h1 {
		font-size:1.4em;
		letter-spacing: 0.10em;
		padding: 0 20px;
	}
	
		header > div#slider  p.slider_comment {
			right: 10px;
			bottom: 48%;
			width: calc(100% - 20px);
		}
}


.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	display: none;
	position: fixed;
	width: 52px;
	height: 60px;
	background: none;
	border: none;
	appearance: none;
	cursor: pointer;
	top: 15px;
	right: 15px;
	z-index: 100;
	background-color: #3a9923;
}
.menu-trigger::after {
	content: 'MENU';
	display: block;
	width: 100%;
	font-size: 0.75em;
	letter-spacing: 0.1em;
	color: #fff;
	margin: 35px 0 0;
	font-weight: 300;
	white-space: nowrap;
}

.menu-trigger.active::after {
	content: 'CLOSE';
}


.menu-trigger span {
	position: absolute;
	left: 10px;
	width: calc(100% - 20px);
	height: 1px;
	background-color: #fff;
	border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {
	top: 10px;
}
.menu-trigger span:nth-of-type(2) {
	top: 21px;
}
.menu-trigger span:nth-of-type(3) {
	top: 32px;
}

.menu-trigger.active span:nth-of-type(1) {
	top: 8px;
	transform: translateY(12px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	width: 32px;
	bottom: 8px;
	left: 10px;
	transform: translateY(-12px) rotate(45deg);
}

@media screen and (max-width:750px){
.menu-trigger {
	display: inline-block;
	
}

header > div#header > ul.nav {
	position: fixed;
	top: 0;
	right: -400px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	width: 100%;
	max-width: 350px;
	height: calc(100vh + 40px);
	box-sizing: border-box;
	z-index: 7;
	background-color: rgba(255,255,255,0.9);
	//background-color: #c1b09d;
	margin: 0;
	padding: 90px 0 80px 0;
}

	header > div#header > ul.nav > a {
		width: 100%;
		box-sizing: border-box;
		text-align: center;
		//color: #fff;
		padding: 10px 0;
		margin: 0;
		font-size: 1.1em;
	}
	
	header > div#header > ul.nav > a.title {
		display: none;
	}
	
	
	header > div#header > ul.nav > a.tel {
		position: relative;
		top: 0;
		right: 0;
		width: 100%;
	}
	
	header > div#header > ul.nav > a.facebook {
		position: relative;
		top: 0;
		right: 0;
	}
	
	
		header > div#header > ul.nav > a > br {
			display: none;
		}

header > div#header > ul.nav.active {
	animation: nav_open 0.8s ;
	animation-timing-function: ease;
	animation-iteration-count: 1;
	right: 0;
}

header > div#header > ul.nav.close {
	animation: nav_close 0.8s ;
	animation-timing-function: ease;
	animation-iteration-count: 1;
	right: -400px;
}

@keyframes nav_close {
	0% {
		right: 0;
	}
	100% {
		right: -400px;
	}
}
}

@keyframes nav_open {
	0% {
		right: -400px;
	}
	100% {
		right: 0;
	}
}


/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
index_01
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

section#index_01 {
	min-height: 220px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff;
	background-color: #3a9923;
	font-size: 1.25em;
	line-height: 1.8em;
	letter-spacing: 0.2em;
}

@media screen and (max-width:750px){
section#index_01 {
	font-size: 1.1em;
}
}

@media screen and (max-width:750px){
	section#index_01 > p  {
		width: calc(100% - 20px);
	}
	
		section#index_01 > p > br {
			display: none;
		}
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
index_02
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

section#index_02 {
	width: calc(100% - 20px);
	margin: 0 auto;
	padding: 20px 0;
}

	section#index_02 > h2 {
		color: #3a9923;
		font-size: 2.1em;
		font-weight: bold;
		text-align: center;
		letter-spacing: 0.1em;
	}
	
	section#index_02 > ul {
		width: 100%;
		max-width: 800px;
		max-height: 300px;
		overflow: auto;
		margin: 30px auto 0;
		padding: 30px 50px;
		border: 1px #82e700 solid;
		box-sizing: border-box;
	}
	
		section#index_02 > ul > li {
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
			align-items: flex-start;
			font-size: 1.15em;
			margin: 15px 0;
			letter-spacing: 0.1em;
		}
		
		section#index_02 > ul > li:first-child,
		section#index_02 > ul > li:last-child {
			margin: 0;
		}
		
	
			section#index_02 > ul > li > p {
				width: 100%;
				max-width: 140px;
				color: #3a9923;
				font-weight: 500;
			}
			
			section#index_02 > ul > li > a {
				color: #1a1a1a;
				display: inline-block;
				max-width: calc(100% - 140px);
			}

@media screen and (max-width:750px){
	section#index_02 > ul {
		padding: 30px;
	}
	
		section#index_02 > ul > li {
			font-size: 1.0em;
		}
		
			section#index_02 > ul > li > p {
				max-width: 125px;
			}
			
			section#index_02 > ul > li > a {
				max-width: calc(100% - 125px);
			}
}

@media screen and (max-width:500px){
	section#index_02 > ul {
		padding: 20px;
	}
	
		section#index_02 > ul > li {
			margin: 25px 0;
		}
		
			section#index_02 > ul > li > p {
				max-width: 100%;
			}
			
			section#index_02 > ul > li > a {
				max-width: 100%;
				margin: 5px 0 0;
			}
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
index_03
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

section#index_03 {
	background-color: #f9f9f9;
	padding: 80px 0;
}

	section#index_03 > ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: calc(100% - 20px);
		max-width: 1080px;
		margin: 0 auto;
	}
	
		section#index_03 > ul > li {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			align-items: center;
			flex-direction: column;
			width: calc(33.3333% - 10px);
			max-width: 340px;
			text-align: center;
			background-color: #fff;
			border-radius: 8px;
			overflow: hidden;
			box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
		}
		
			section#index_03 > ul > li > a.thumb {
				display: block;
				width: 100%;
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
			}
			
			section#index_03 > ul > li > a.thumb.index_01 {
				background-image: url('../img/index_01.jpg');
			}
			section#index_03 > ul > li > a.thumb.index_02 {
				background-image: url('../img/index_02.jpg');
			}
			section#index_03 > ul > li > a.thumb.index_03 {
				background-image: url('../img/index_03.jpg');
			}
			
			section#index_03 > ul > li > a.thumb::before {
				content: '';
				display: block;
				padding-top: 75%;
			}
			
			
			section#index_03 > ul > li > a.thumb:hover {
				opacity: 0.5;
			}
			
				section#index_03 > ul > li > a.thumb > img {
					width: 100%;
				}
			
			section#index_03 > ul > li > a.title {
				display: inline-block;
				margin: 30px 0 0;
				font-size: 1.3em;
				font-weight: 500;
				letter-spacing: 0.1em;
			}
			
				section#index_03 > ul > li > a.title > br {
					display: none;
				}
			
			
			section#index_03 > ul > li > p {
				width: calc(100% - 20px);
				margin: 30px 0 20px;
				font-size: 1.1em;
				letter-spacing: 0.05em;
			}
			
			section#index_03 > ul > li > a.button {
				display: inline-block;
				margin: auto 0 30px;
				padding: 10px 20px;
				color: #fff;
				background-color: #3a9923;
				border-radius: 5px;
				letter-spacing: 0.1em;
			}
			
			section#index_03 > ul > li > a.button:hover {
				background-color: #4d4d4d;
				text-decoration: none;
			}


@media screen and (max-width:1080px){
			section#index_03 > ul > li > a.title {
				font-size: 1.1em;
			}
			
			section#index_03 > ul > li:last-child > a.title {
				margin: 18px 0 0;
			}
			
				section#index_03 > ul > li > a.title > span {
					display: none;
				}
				
				section#index_03 > ul > li > a.title > br {
					display: inline;
				}
			
			section#index_03 > ul > li > p {
				font-size: 1.0em;
			}
			
				section#index_03 > ul > li > p > br {
					display: none;
				}
				
			section#index_03 > ul > li > a.button {
				font-size: 0.85em;
				letter-spacing: 0.05em;
			}
}

@media screen and (max-width:750px){
	section#index_03 > ul {
		max-width: 450px;
	}
	
		section#index_03 > ul > li {
			width: 100%;
			max-width: 100%;
			margin: 40px 0;
		}
		
		section#index_03 > ul > li:first-child,
		section#index_03 > ul > li:last-child {
			margin: 0;
		}
		
			section#index_03 > ul > li > a.thumb::before {
				padding-top: 55%;
			}
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
index_04
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

section#index_04 {
	padding: 80px 0;
}

	section#index_04 > ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: calc(100% - 20px);
		max-width: 1080px;
		margin: 0 auto;
	}
	
		section#index_04 > ul > li {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			width: 100%;
			margin: 40px 0 0;
			text-align: center;
			background-color: #fff;
			border-radius: 8px;
			overflow: hidden;
			box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
		}
		
		section#index_04 > ul > li:nth-child(2n) {
			flex-direction: row-reverse;
		}
		
		
		section#index_04 > ul > li:first-child {
			margin: 0;
		}
		
			section#index_04 > ul > li > a.thumb {
				display: block;
				width: 50%;
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
			}
			
			section#index_04 > ul > li > a.thumb.index_04 {
				background-image: url('../img/index_04.jpg');
			}
			section#index_04 > ul > li > a.thumb.index_05 {
				background-image: url('../img/index_05.jpg');
			}
			section#index_04 > ul > li > a.thumb.index_06 {
				background-image: url('../img/index_06.jpg');
			}
			
			section#index_04 > ul > li > a.thumb:hover {
				opacity: 0.5;
			}
			
				section#index_04 > ul > li > a.thumb > img {
					width: 100%;
				}
			
			section#index_04 > ul > li > div {
				width: 50%;
				padding: 30px 0;
			}
				
				section#index_04 > ul > li > div > a.title {
					display: inline-block;
					font-size: 1.3em;
					font-weight: 500;
					letter-spacing: 0.1em;
				}
				
				section#index_04 > ul > li > div > p {
					width: calc(100% - 20px);
					margin: 30px auto 0;
					font-size: 1.1em;
					letter-spacing: 0.05em;
				}
				
				section#index_04 > ul > li > div > a.button {
					display: inline-block;
					margin: 25px 0 10px;
					padding: 10px 20px;
					color: #fff;
					background-color: #3a9923;
					border-radius: 5px;
					letter-spacing: 0.1em;
				}
				
				section#index_04 > ul > li:last-child > div > a.button {
					margin: 20px 0 0;
				}
				
				section#index_04 > ul > li > div > a.button:hover {
					background-color: #4d4d4d;
					text-decoration: none;
				}


@media screen and (max-width:1080px){
				section#index_04 > ul > li > div > a.title {
					font-size: 1.1em;
				}
			
				section#index_04 > ul > li > div > p {
					font-size: 1.0em;
				}
			
					section#index_04 > ul > li > div > p > br {
						display: none;
					}
					
					section#index_04 > ul > li > div > p > br.sp {
						display: inline;
					}
				
				section#index_04 > ul > li > div > a.button {
					font-size: 0.85em;
					letter-spacing: 0.05em;
				}
}

@media screen and (max-width:500px){
		section#index_04 > ul > li,
		section#index_04 > ul > li:nth-child(2n) {
			flex-direction: column;
		}
		
			section#index_04 > ul > li > a.thumb {
				width: 100%;
			}
			
			section#index_04 > ul > li > a.thumb::before {
				content: '';
				display: block;
				padding-top: 55%;
			}
			
			section#index_04 > ul > li > div {
				width: 100%;
			}
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
index_05
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

section#index_05 {
	background-color: #f9f9f9;
	padding: 80px 0;
}

	section#index_05 > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		width: calc(100% - 20px);
		max-width: 1080px;
		margin: 0 auto;
	}
	
		section#index_05 > div > a {
			display: block;
			width: calc(33% - 5px);
			max-width: 330px;
		}
		
		section#index_05 > div > a:hover {
			opacity: 0.5;
		}
		
			section#index_05 > div > a > img {
				width: 100%;
			}
			
@media screen and (max-width:750px){
section#index_05 {
	background-color: #f9f9f9;
	padding: 70px 0;
}

	section#index_05 > div {
		max-width: 532px;
	}
	
		section#index_05 > div > a {
			width: calc(50% - 5px);
			margin: 10px 0;
		}
}

@media screen and (max-width:500px){
section#index_05 {
	padding: 75px 0;
}

	section#index_05 > div {
		max-width: 261px;
	}
	
		section#index_05 > div > a {
			width: 100%;
			margin: 5px 0;
		}
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
footer
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

footer {
	padding: 80px 0 0;
	background-color: #3a9923;
	color: #fff;
}

	footer > div {
		width: calc(100% - 40px);
		max-width: 1080px;
		margin: 0 auto;
	}
	
		footer > div > h2 {
			font-size: 1.4em;
			font-weight: 300;
			letter-spacing: 0.1em;
		}
		
			footer > div > h2 > a {
				color: #fff;
			}
		
		footer > div > p {
			font-size: 1.05em;
			font-weight: 300;
			letter-spacing: 0.1em;
			line-height: 1.7em;
		}
		
		footer > div > h2 + p {
			margin: 20px 0 0;
		}
			
			footer > div > p > a {
				color: #fff;
			}
			
			footer > div > p > br {
				display: none;
			}
		
	footer > p {
		font-weight: 300;
		font-size: 0.9em;
		text-align: center;
		margin: 60px 0 0;
		padding: 0 0 10px;
		letter-spacing: 0.05em;
	}
	

@media screen and (max-width:500px){
	footer > div {
		width: calc(100% - 20px);
	}
	
		footer > div > h2 {
			font-size: 1.1em;
			letter-spacing: 0.05em;
		}
		
		footer > div > p {
			font-size: 0.95em;
		}
		
			footer > div > p > br {
				display: inline;
			}
			
	footer > p {
		font-size: 0.85em;
		margin: 40px 0 0;
		letter-spacing: 0.02em;
	}
}