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

.pc {
	display: block;
}
.sp {
	display: none;
}

iframe {
	margin-top: 20px;
	width: 100%;
}

html,body {
	width: 100%;
	height: 100%;
}

body {
	color: #595757;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.8;
    font-family: 'Roboto', 'Noto Sans JP', sans-serif, "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, Meiryo;
	letter-spacing: 1pt;
}

.menu-trigger {
	display: none;
}

header {
	padding: 13px 0 8px;
	width: 100%;
	background: rgba(255,255,255,0.85);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3;
	transition: .4s;
	border-bottom: 1px solid #9ea4b1;
}
header.show {
	top: 0;
}
header h1 img {
	padding: 5px 0 15px;
	margin: 0 auto;
	display: block;
	width: 160px;
}
header ul {
	text-align: center;
}
header li {
	padding: 0 30px;
	display: inline-block;
	line-height: 1;
	font-size: 15px;
}
header a {
	text-decoration: none;
	color: #12244c;
}

section {
	margin: 90px auto;
	width: 1040px;
	padding-bottom: 90px;
	border-bottom: 1px solid #9ea4b1;
}
section:last-child {
	margin-bottom: 0;
	padding-bottom: 50px;
	border-bottom: none;
}

h2 {
	margin-bottom: 50px;
	font-size: 24px;
	font-weight: 100;
	text-align: center;
}

footer {
	position: relative;
	padding: 10px;
	background: #aaaaaa;
	color: #fff;
}
footer .sns {
	position: absolute;
	top: 18px;
	right: 30px;
}
footer .sns img {
	margin: 0 10px;
    width: 30px;
}
footer p.copy {
	padding: 30px;
	text-align: center;
	font-size: 10px;
}
footer p.copy img {
	margin: 0 auto 10px;
	display: block;
}
footer p.info {
	margin-top: 20px;
	text-align: center;
	font-size: 12px;
}

@media (max-width: 767px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block;
	}

	body {
		font-size: 12px;
	}

	header {
		padding: 0;
		border-bottom: none;
		position: fixed;
		top: 0;
		left: 0;
		background: #efefef;
		width: 100%;
		height: 0;
		z-index: 3;
		-webkit-animation: headerClose .4s forwards;
	  animation: headerClose .4s forwards;
	}
	header.active {
		height: 100%;
		overflow-y: scroll;
		-webkit-animation: headerOpen .3s forwards;
	  animation: headerOpen .3s forwards;
	}
	header h1, header ul {
		margin-top: 15%;
	}
	header.active ul {
		padding: 0 40px;
		margin-top: 10%;
		display: block;
	}
	header.active li {
		padding: 6% 0;
		display: block;
		font-size: 18px;
		border-bottom: 1px solid #ccc;
	}

	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: fixed;
		top: 22px;
		right: 20px;
		width: 30px;
		height: 25px;
		z-index: 4;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: #12244c;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
		width: 24px;
		top: 11px;
		left: auto;
		right: 0;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	.active .menu-trigger span:nth-of-type(1) {
		-webkit-transform: translateY(20px) rotate(-315deg);
		transform: translateY(20px) rotate(-315deg);
		top: -9px;
	}
	.active .menu-trigger span:nth-of-type(2) {
	  right: 50%;
	  opacity: 0;
	  -webkit-animation: active-menu-bar02 .8s forwards;
	  animation: active-menu-bar02 .8s forwards;
	}
	@-webkit-keyframes headerClose {
		0% {
			top: auto;
			bottom: 0;
			height: 100%
		}
	  100% {
			top: auto;
			bottom: 0;
			height: 0;
	  }
	}
	@keyframes headerClose {
		0% {
			top: auto;
			bottom: 0;
			height: 100%
		}
	  100% {
			top: auto;
			bottom: 0;
			height: 0;
	  }
	}
	@-webkit-keyframes headerOpen {
		0% {
			top: 0;
			height: 0%
		}
	  100% {
			top: 0;
			height: 100%;
	  }
	}
	@keyframes headerOpen {
		0% {
			top: 0;
			height: 0%
		}
	  100% {
			top: 0;
			height: 100%;
	  }
	}
	@-webkit-keyframes active-menu-bar02 {
	  100% {
		height: 0;
	  }
	}
	@keyframes active-menu-bar02 {
	  100% {
		height: 0;
	  }
	}
	.active .menu-trigger span:nth-of-type(2) {
		opacity: 0;
	}
	.active .menu-trigger span:nth-of-type(3) {
		-webkit-transform: translateY(-20px) rotate(315deg);
		transform: translateY(-20px) rotate(315deg);
		bottom: -9px;
	}
	header h1, .fade_in_left, .fade_in_up, .fade_in {
		opacity: 0;
	}
	.fade_in_up.animated {
		animation-name: fadeInUp;
	}
	.menu-trigger span.label {
		display: block;
		top: 30px;
		background: none;
		letter-spacing: 0.1rem;
		font-size: 9px;
		text-align: center;
	}


	section {
		margin: 40px auto;
		width: auto;
		padding: 0 15px 70px;
		border-bottom: 1px solid #9ea4b1;
	}
	h2 {
		margin-bottom: 20px;
		font-weight: 200;
		font-size: 22px;
	}

	header.active li:last-child {
		border-bottom: none;
	}
	header .sns img {
		margin: 0 10px;
		width: 35px;
	}
	footer .sns img {
		margin: 0 7px 20px;
		width: 22px;
	}

	footer p.info {
		display: none;
	}
	footer p.copy {
		padding: 30px 0 10px;
		text-align: center;
		font-size: 10px;
	}
	footer .sns {
		position: relative;
		top: 0;
		right: 0;
		text-align: center;
	}
	footer p.copy img {
		width: 130px;
	}

}
