/* ----------
	common
---------- */
body {
	background: #fafafa;
	font-family: "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",sans-serif;
}
@media (min-width: 768px) {
	body {
		min-width: 1400px;
	}
}
.container {
	overflow-x: hidden;
	width: 100%;
}

.b {
	font-weight: bold;
}
.big {
	font-size: 1.25em;
}
.small {
	font-size: .8em;
}
mark {
	background: linear-gradient(transparent 70%, yellow 70%);
}


/* ----------
	header
---------- */

#site-header {
	background: #bdd354;
	display: flex;
	justify-content: space-between;
	padding: 20px;
	width: 100%;
}
@media (max-width: 767px) {
	#site-header {
		align-items: center;
		filter: drop-shadow(0 3px 3px rgba(0,0,0,.2));
		left: 0;
		padding: 8px 12px;
		position: fixed;
		top: 0;
		z-index: 999;
	}
}

#site-header .brand img {
	width: 230px;

}
@media (max-width: 767px) {
	#site-header .brand img {
		width: 160px;
	}
}

#site-header #nav-switch,
#site-header #nav-close {
	display: none;
}
@media (max-width: 767px) {
	#site-header #nav-switch {
		color: #fafafa;
		display: block;
		font-size: 24px;
		transition: .3s;
	}
	#site-header nav {
		background: #bdd354;
		bottom: 0;
		filter: opacity(.9);
		min-height: 100vh;
		padding: 40px 20px;
		position: fixed;
		right: 0;
		top: 0;
		transform: translateX(100%);
		transition: .5s;
		width: 50%;
		z-index: 1000;
	}
	#site-header #nav-close {
		color: #fff;
		display: block;
		font-size: 24px;
		position: absolute;
		right: 12px;
		top: 8px;
	}

	/* open */
	#site-header #nav-switch.open {
		filter: opacity(0);
	}
	#site-header nav.open {
		transform: translateX(0);
	}
}

#site-header ul {
	display: flex;
	height: 100%;
	margin: 0;
	list-style: none;
	font-size: 24px;
}
@media (max-width: 767px) {
	#site-header ul {
		align-content: flex-start;
		flex-wrap: wrap;
	}
	#site-header li {
		width: 100%;
	}
}

#site-header li a {
	align-items: center;
	color: #fff;
	display: flex;
	justify-content: center;
	height: 100%;
	padding-right: 40px;
	text-decoration: none;
	transition: .4s;
}
@media (max-width: 767px) {
	#site-header li a {
		color: #fff;
		justify-content: flex-start;
		margin: 0 0 20px;
		padding: 0 20px;
	}
}

#site-header li a:hover {
	color: #5f9740;
}
#site-header .contact a {
	color: #fff;
	cursor: pointer;
}
@media (max-width: 767px) {
	#site-header .contact a {
		color: #fff;
		margin-left: 0;
	}
}

#site-header .contact a:hover {
	color: #5f9740;
}


/* ----------
	footer
---------- */
#site-footer {
	padding: 30px;
	text-align: center;
	width: 100%;
	background: #bdd354;
	color: #fff;
}


/* ----------
	index
---------- */

/* common */
.index section {
	padding: 40px 0;
}
.index .tit {
	text-align: center;
	line-height: 120px;
}
.index h3 {
	font-size: 30px;
	font-family: 'Stick', sans-serif;
}
@media (max-width: 767px) {
	.index h3 {
		font-size: 7vw;
	}
}
.index .body {
	padding: 0 200px;
	max-width: 1400px;
}
@media (max-width: 767px) {
	.index .body {
		padding: 0 20px;
	}
}
.index .fadeup {
	animation-name:fadeUpAnime;
	animation-duration:2.5s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeup_trigger {
    opacity: 0;
}


/* /title */
.index #title {
	padding: 0 100px;
	margin-top: -100px;
}
@media (max-width: 767px) {
	.index #title {
		padding: 0 20px;
		margin-top: -100px;
	}
}

.index #title .eng {
	margin-left: -80px;
	font-family: 'Sacramento', cursive;
	font-size: 600%;
	opacity: .3;
	color: #bdd354;
}
@media (max-width: 767px) {
	.index #title .eng {
		margin: 150px 0 0 -10px;
	}
	.index #title .eng h1 {
		font-size: 50%;
	}
}

.index #title .tit {
	margin-top: -270px;
}
.index #title .tit h2 {
	font-family: 'Stick', sans-serif;
	font-size: 300%;
}
.index #title .tit p {
	margin-top: -50px;
	line-height: normal;
}
@media (max-width: 767px) {
	.index #title .tit {
		margin-top: 0;
	}
	.index #title .tit h2 {
		font-size: 200%;
	}
	.index #title .tit p {
		margin-top: 10px;
	}
}


/* section-1 */
@media (max-width: 767px) {
	.index #section-1 {
		padding-top: 0;
	}
}
.index #section-1 .info {
	padding: 30px 40px;
	background: rgba(189,211,84,0.2);
}

.index #section-1 .num {
	font-family: 'Stick', sans-serif;
	color: #5f9740;
	font-size: 300%;
	margin-left: -60px;
	margin-bottom: -130px;
}
@media (max-width: 767px) {
	.index #section-1 .num {
		margin-left: 0;
		margin-bottom: -35%;
	}
}

.index #section-1 .title {
	margin-bottom: -50px;
	margin-left: 5%;
}
@media (max-width: 767px) {
	.index #section-1 .title {
		margin-bottom: -40px;
		margin-left: 20%;
	}
}

/* contact */
#contact {
	background: #faf1df;
	position: relative;
}

#contact .en {
	color: #eee;
}

#contact .tit {
	color: #0d1b06;
	position: relative;
	z-index: 2;
}

#contact .body {
	margin: 64px auto 0;
	position: relative;
	text-align: center;
	z-index: 2;
}

#contact .tit {
	line-height: normal;
}
#contact .group {
	align-items: center;
	display: flex;
	padding: 16px 0;
}

#contact ::placeholder {
  color: #7cb2d0;
}
@media (max-width: 767px) {
	#contact .group {
		flex-wrap: wrap;	
	}
}

#contact .btn {
	background: none;
	border: none;
	display: block;
	margin: 0 auto;
	width: 100%;
}
@media (max-width: 767px) {
	#contact .btn {
		width: 100%;
	}
}

#contact .btn a {
	background: #5f9740;
	border-radius: 20px;
	color: #fff;
	font-size: 18px;
	padding: 15px 60px;
	text-decoration: none;
	transition: .3s;
	font-weight: bold;
}
@media (max-width: 767px) {
	#contact .btn a {
		margin: 40px auto 0;
		width: 100%;
		padding: 15px 20px;
	}
}

#contact .btn a:hover {
	filter: brightness(0.8);
}