@charset "UTF-8";

* {
	-webkit-text-size-adjust:100%;
}
*, *:before, *:after {
	box-sizing: border-box;
}
::selection {
	color: #fff;
	background-color: #999;
}
::-moz-selection {
	color: #fff;
	background-color: #999;
}
html, body {
	margin: 0;
	padding: 0;
	border: 0;
}
html {
	font-size: 62.5%;
	background-color: #fff;
}
body {
	font-family: roboto, source-han-sans-japanese, "メイリオ", Meiryo, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-align: left;
	font-size: 1.4rem;
	line-height: 1.6;
	font-weight: 500;
	letter-spacing: 0.15rem;
	color: #222;
	vertical-align: baseline;
	background-image:
		url(/common/img/bg_cont1.svg),
		url(/common/img/bg_cont2.svg),
		url(/common/img/bg_cont3.svg),
		url(/common/img/bg_cont4.svg);
	background-position:
		center top,
		center top,
		center top,
		center top;
	background-repeat: repeat;
	background-color: #fff;
}
a {
	font-weight: 700;
	color: #222;
	text-decoration: none;
}
a:hover {
	color: #ff0000;
}
a.txt_link {
	position: relative;
	padding-left: 3rem;
}
a.txt_link.mail {
	font-size: 2rem;
	letter-spacing: 0.2rem;
}
a.txt_link.mail::before {
	position: absolute;
	top: 50%;
	left: 0;
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	transform: translateY(-50%);
}
a.txt_link.mail::before {
	content: "\f0e0";
}
header {
	overflow: hidden;
	height: 70rem;
	background-color: #fff;
	position: relative;
}
header h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0;
	width: 39rem;
	height: 39rem;
	transform: translate(-50%,-50%);
}
header h1 img {
	display: block;
}
header h1 img.logo_mark {
	position: absolute;
	left: 50%;
	width: 60%;
	transform: translateX(-50%);
	opacity: 0;
	animation: mark_anime 1.75s ease .25s forwards;
	-webkit-animation: mark_anime 1.75s ease .25s forwards;
}
header h1 img.logo {
	position: absolute;
	width: 100%;
	opacity: 0;
	animation: logo_anime 1.75s ease .25s forwards;
	-webkit-animation: logo_anime 1.75s ease .25s forwards;
}
header p.read {
	position: absolute;
	margin: 0;
	width: 100%;
	font-weight: 700;
	text-align: center;
	opacity: 0;
	animation: read_anime .5s ease-in 2.5s forwards;
	-webkit-animation: read_anime .5s ease-in 2.5s forwards;
}
div.h2_wrapper {
	overflow: hidden;
	background: url(/common/img/bg_h2.svg) center center repeat #000;
}
div.h2_wrapper h2 {
	margin: 5rem auto;
	padding: 0 2rem;
	width: 46rem;
	font-size: 2.6rem;
	line-height: 2;
	font-weight: 700;
	text-align: center;
	letter-spacing: .15em;
	color: #fff;
	background-color: #000;
}
div.cont_wrapp {
	overflow: hidden;
	margin: 0 auto;
	padding: 10rem 0 0 0;
	width: 70rem;
}
div.cont_wrapp section {
	overflow: hidden;
	margin: 0 0 8rem;
	position: relative;
}
div.cont_wrapp section h3 {
	position: absolute;
	margin: 0;
}
div.cont_wrapp section h3 img {
	display: block;
}
div.cont_wrapp section div.txt_wrapper {
	margin: 9.5rem 0 0 4rem;
	padding: 2.4rem 4rem;
	background-color: rgba(255,255,255,.8);
}
div.cont_wrapp section div.txt_wrapper h4 {
	margin: 0 0 1rem;
	padding: 0 0 0 1.2rem;
	position: relative;
}
div.cont_wrapp section div.txt_wrapper h4::before {
	content: '';
	display: block;
	position: absolute;
	top: .5rem;
	left: 0;
	width: .3rem;
	height: 1.2rem;
	background-color: #222;
}
div.cont_wrapp section div.txt_wrapper p + h4 {
	margin-top: 2.4rem;
}
div.cont_wrapp section div.txt_wrapper p {
	margin: 0;
}
div.cont_wrapp section div.txt_wrapper p.name {
	font-size: 1.8rem;
	margin-bottom: 2rem;
	font-weight: 700;
}
div.cont_wrapp section div.txt_wrapper ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
div.cont_wrapp section div.txt_wrapper ul li {
	margin-bottom: .6rem;
	padding: 0 0 0 2rem;
	line-height: 1.4;
	position: relative;
}
div.cont_wrapp section div.txt_wrapper ul li::before {
	content: '';
	display: block;
	position: absolute;
	top: .4em;
	left: 0;
	width: .7rem;
	height: .7rem;
	background-color: #000;
}

/* SP */
@media screen and (max-width: 599px) {
	.pc { display: none; }

	body {
		max-width: 100%;
		background-image: url(/common/img/bg_cont4.svg);
	}
	a.txt_link.mail {
		font-size: 1.6rem;
	}
	header {
		height: auto;
	}
	header::after {
		content: '';
		display: block;
		padding-top: 150%;
	}
	header div.header_inner {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}
	header h1 {
		width: 60%;
		height: auto;
		transform: translate(-50%,-90%);
	}
	header h1::after {
		content: '';
		display: block;
		padding-top: 120%;
	}
	header h1 img.logo_mark {
		top: 4%;
	}
	header h1 img.logo {
		top: auto;
		bottom: 0;
	}
	header p.read {
		font-size: 4.2vw;
		line-height: 1.8;
		letter-spacing: .1em;
	}
	@keyframes mark_anime {
		0%, 84% {
			transform: translateX(-50%) scale(3,3);
			opacity: 0;
		}
		94% {
			transform: translateX(-50%) scale(1,1);
			opacity: .9;
		}
		100% {
			transform: translateX(-50%) scale(1.2,1.2);
			opacity: 1;
		}
	}
	@keyframes logo_anime {
		0% {
			transform: translateY(400%);
			opacity: 0;
		}
		25% {
			transform: translateY(-4%);
			opacity: 1;
		}
		27%, 100% {
			transform: translateY(0%);
			opacity: 1;
		}
	}
	@keyframes read_anime {
		0% {
			bottom: 3%;
			opacity: 0;
		}
		100% {
			bottom: 6%;
			opacity: 1;
		}
	}
	@-webkit-keyframes mark_anime {
		0%, 84% {
			-webkit-transform: translateX(-50%) scale(3,3);
			opacity: 0;
		}
		94% {
			-webkit-transform: translateX(-50%) scale(1,1);
			opacity: .9;
		}
		100% {
			-webkit-transform: translateX(-50%) scale(1.2,1.2);
			opacity: 1;
		}
	}
	@-webkit-keyframes logo_anime {
		0% {
			-webkit-transform: translateY(400%);
			opacity: 0;
		}
		25% {
			-webkit-transform: translateY(-4%);
			opacity: 1;
		}
		27%, 100% {
			-webkit-transform: translateY(0%);
			opacity: 1;
		}
	}
	@-webkit-keyframes read_anime {
		0% {
			bottom: 3%;
			opacity: 0;
		}
		100% {
			bottom: 6%;
			opacity: 1;
		}
	}
	div.cont_wrapp {
		padding: 6rem 0 0 0;
		width: 90%;
	}
	div.h2_wrapper h2 {
		margin: 3rem auto;
		width: 100%;
		font-size: 1.8rem;
		line-height: 1.6;
	}
	div.cont_wrapp section {
		margin: 0 0 4rem;
	}
	div.cont_wrapp section h3 img {
		height: 9rem;
	}
	div.cont_wrapp section div.txt_wrapper {
		margin: 6rem 0 0 0;
		padding: 5rem 2rem 2.4rem;
	}
	div.cont_wrapp section div.txt_wrapper ul li {
		padding: 0 0 0 1.4rem;
	}

}

/* PC */
@media screen and (min-width: 600px) {
	.sp { display: none; }

	body {
		min-width: 1000px;
	}
	header h1 img.logo_mark {
		top: -20%;
	}
	header h1 img.logo {
		top: 50%;
	}
	header p.read {
		font-size: 1.8rem;
		line-height: 2;
		letter-spacing: .15em;
	}
	@keyframes mark_anime {
		0%, 84% {
			transform: translateX(-50%) scale(3,3);
			opacity: 0;
		}
		94% {
			transform: translateX(-50%) scale(.9,.9);
			opacity: .9;
		}
		100% {
			transform: translateX(-50%) scale(1,1);
			opacity: 1;
		}
	}
	@keyframes logo_anime {
		0% {
			transform: translateY(300%);
			opacity: 0;
		}
		10% {
			transform: translateY(300%);
			opacity: 0;
		}
		25% {
			transform: translateY(-56%);
			opacity: 1;
		}
		27%, 84% {
			transform: translateY(-50%);
			opacity: 1;
		}
		94% {
			transform: translateY(3%);
			opacity: 1;
		}
		98%, 100% {
			transform: translateY(-2%);
			opacity: 1;
		}
	}
	@keyframes read_anime {
		0% {
			bottom: 4rem;
			opacity: 0;
		}
		100% {
			bottom: 5rem;
			opacity: 1;
		}
	}
	@-webkit-keyframes mark_anime {
		0%, 84% {
			-webkit-transform: translateX(-50%) scale(3,3);
			opacity: 0;
		}
		94% {
			-webkit-transform: translateX(-50%) scale(.9,.9);
			opacity: .9;
		}
		100% {
			-webkit-transform: translateX(-50%) scale(1,1);
			opacity: 1;
		}
	}
	@-webkit-keyframes logo_anime {
		0% {
			-webkit-transform: translateY(300%);
			opacity: 0;
		}
		10% {
			-webkit-transform: translateY(300%);
			opacity: 0;
		}
		25% {
			-webkit-transform: translateY(-56%);
			opacity: 1;
		}
		27%, 84% {
			-webkit-transform: translateY(-50%);
			opacity: 1;
		}
		94% {
			-webkit-transform: translateY(3%);
			opacity: 1;
		}
		98%, 100% {
			-webkit-transform: translateY(-2%);
			opacity: 1;
		}
	}
	@-webkit-keyframes read_anime {
		0% {
			bottom: 4rem;
			opacity: 0;
		}
		100% {
			bottom: 5rem;
			opacity: 1;
		}
	}

}