@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Lato:700');

/*
	commons.css
---------------------------------------------------------------------------------------------------------------------------------------------*/
/* common
--------------------------------------------------------------------------------------------------------*/
*, *::before, *::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

em { font-style: normal;}
a { text-decoration: none; color: inherit;}
textarea { resize: vertical;}
img { vertical-align: bottom; max-width: 100%; height: auto;}

.pc-block { display: block!important;}
.sp-block { display: none!important;}
.pc-inlineblock { display: inline-block!important;}
.sp-inlineblock { display: none!important;}

iframe[name='google_conversion_frame'] {
	position: absolute;
	top: 0;
}

.ff-lato {
	font-family: 'Lato', sans-serif!important;
}

/* font-size
--------------------------------------------------------------------------------------------------------*/
html { font-size: 62.5%;}
body {
	font-size: 16px;
	font-size: 1.6rem;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: grayscale;
/*	overflow: hidden;*/
}

/* input
--------------------------------------------------------------------------------------------------------*/
input[type=text], input[type=password], input[type=checkbox], input[type=email],input[type=radio], input[type=submit], input[type=button],
select, textarea {
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', YuGothic,Arial, 'メイリオ', Meiryo, sans-serif;
	border: none;
	outline: 0;
}

/* body
--------------------------------------------------------------------------------------------------------*/
body {
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', YuGothic,Arial, 'メイリオ', Meiryo, sans-serif;
	font-weight: 400;
	line-height: 1.0;
	background-color: #fff;
	color: #000;
}

/* img opacity
--------------------------------------------------------------------------------------------------------*/
a.opacity { display: block;}
a.opacity img {
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
a.opacity:hover img { opacity: 0.6;}

/* loading-wrap
--------------------------------------------------------------------------------------------------------*/
.loading-wrap {
	width: 100%;
	height: 100%;
	background: #000;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	overflow: hidden;
}
.loading-wrap p {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -2.5rem 0 0 -2.5rem;
}
.loading-wrap p span {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
.loader,
.loader:after {
	border-radius: 50%;
	width: 5.0rem;
	height: 5.0rem;
}
.loader {
	border-top: 0.5em solid rgba(240, 128, 0, 0.2);
	border-right: 0.5em solid rgba(240, 128, 0, 0.2);
	border-bottom: 0.5em solid rgba(240, 128, 0, 0.2);
	border-left: 0.5em solid #00a1e9;
	-webkit-animation: load 1.1s infinite linear;
	animation: load 1.1s infinite linear;
}
@-webkit-keyframes load {
	0% { -webkit-transform: rotate(0deg); transform: rotate(0deg);}
	100% { -webkit-transform: rotate(360deg); transform: rotate(360deg);}
}
@keyframes load {
	0% { -webkit-transform: rotate(0deg); transform: rotate(0deg);}
	100% { -webkit-transform: rotate(360deg); transform: rotate(360deg);}
}

/* common parts
--------------------------------------------------------------------------------------------------------*/
.inner {
	width: 1200px;
	margin: 0 auto;
}
.bg-stripe {
	background: url(../images/bg_stripe.png) repeat center center;
}

section .inner h2 {
	display: flex;
	display: -webkit-flex;
	flex-direction: column;
	-webkit-flex-direction: column;
	align-items: center;
	-webkit-align-items: center;
}
section .inner h2 > * {
	display: block;
}
section .inner h2 strong {
	font-size: 3.6rem;
}
section .inner h2 span {
	font-weight: 600;
	font-size: 1.6rem;
	letter-spacing: 0.3em;
	margin: 0.5rem -0.4em 0 0;
	animation-delay: 0.3s;
	-webkit-animation-delay: 0.3s;
}


/* header
--------------------------------------------------------------------------------------------------------*/
header {
	background-color: #000;
	color: #fff;
}
header .inner {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	padding: 1.8rem 3.8rem;
}
header .inner .logo {
	margin-right: auto;
}
header .inner .logo img { width: 215px;}

/* gnav
--------------------------------------------------------------------------------------------------------*/
#gnav ul {
	display: flex;
	display: -webkit-flex;
}
#gnav ul li {
	position: relative;
	font-size: 1.4rem;
	letter-spacing: 0.03em;
}
#gnav ul li::after {
	display: block;
	content: '';
	position: absolute;
	top: 0.2rem;
	left: -1.1em;
	width: 0.9rem;
	height: 0.9rem;
	background-color: #00a1e9;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#gnav ul li:not(:last-child) {
	margin-right: 3.8rem;
}
#gnav ul li a {
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
}
#gnav ul li a:hover {
	opacity: 0.6;
}



/* footer
--------------------------------------------------------------------------------------------------------*/
footer {
	background-color: #000;
	color: #fff;
}
footer .inner {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	padding: 2.7rem 3.8rem;
}
footer .inner .logo {
	margin-right: auto;
}
footer .inner #copy {
	font-size: 1.1rem;
}
footer .inner .logo img { width: 267px;}


/*
	less than 1240px;
---------------------------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 1240px) {
	.inner {
		width: 100%;
		padding: 0 3.0%;
	}
}

/*
	less than 767px;
---------------------------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 767px) {
/* common
--------------------------------------------------------------------------------------------------------*/
	.pc-block { display: none!important;}
	.sp-block { display: block!important;}
	.pc-inlineblock { display: none!important;}
	.sp-inlineblock { display: inline-block!important;}
	
	body.sp-active { overflow: hidden;}

/* common parts
--------------------------------------------------------------------------------------------------------*/
	.inner {
		padding: 0 3.5%;
	}
	section .inner h2 strong {
		font-size: calc(60 / 750 * 100vw);
	}
	section .inner h2 span {
		font-size: calc(24 / 750 * 100vw);
	}


/* header
--------------------------------------------------------------------------------------------------------*/
	header {
/*
		position: fixed;
		top: 0;
		left: 0;
		z-index: 3;
		width: 100%;
*/
	}
	header .inner { padding: 0;}
	header .inner .logo { margin-left: calc(18 / 750 * 100vw);}

	header .inner .logo img { width: calc(329 / 750 * 100vw);}


/* sptoggle
--------------------------------------------------------------------------------------------------------*/
	.sptoggle {
		width: calc(100 / 750 * 100vw);
		height: calc(100 / 750 * 100vw);
		background-color: #00a1e9;
		display: flex;
		display: -webkit-flex;
		flex-direction: column;
		-webkit-flex-direction: column;
		align-items: center;
		-webkit-align-items: center;
		justify-content: center;
		-webkit-justify-content: center;
		cursor: pointer;
		z-index: 5;
	}
	.sptoggle span {
		width: 56%;
		height: 2px;
		background-color: #fff;
	}
	.sptoggle span:not(:last-child) {
		margin-bottom: calc(15 / 750 * 100vw);
	}
	.sptoggle.active span:first-child {
		display: none;
	}
	.sptoggle.active span:nth-child(2) {
		transform: rotate(-45deg);
	}
	.sptoggle.active span:last-child {
		transform: rotate(-135deg);
	}
	.sptoggle.active span:not(:last-child) {
		margin-bottom: calc(-3 / 750 * 100vw);
	}

/* gnav
--------------------------------------------------------------------------------------------------------*/
	#gnav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
/*		background-color: rgba(240, 128, 0, 0.4);*/
		background-color: #fff;
		opacity: 0;
		transition: all 0.4s ease;
		-webkit-transition: all 0.4s ease;
	}
	#gnav ul {
		height: 100%;
		flex-direction: column;
		-webkit-flex-direction: column;
		align-items: center;
		-webkit-align-items: center;
		justify-content: center;
		-webkit-justify-content: center;
	}
	#gnav ul li {
		font-size: calc(40 / 750 * 100vw);
		color: #000;
	}
	#gnav ul li:not(:last-child) { margin: 0;}
	#gnav ul li::after {
		top: calc(50% - 0.25em);
		left: -1.0em;
		width: 0.5em;
		height: 0.5em;
	}
	#gnav ul li a {
		padding: calc(30 / 750 * 100vw) 0;
		display: block;
	}
	#gnav,
	#gnav ul,
	#gnav ul li {
		z-index: -1;
	}
	#gnav.active {
		opacity: 1;
	}
	#gnav.active,
	#gnav.active ul,
	#gnav.active ul li {
		z-index: 4;
	}

/* footer
--------------------------------------------------------------------------------------------------------*/
	footer .inner {
		flex-direction: column;
		-webkit-flex-direction: column;
		padding: calc(46 / 750 * 100vw) 0 calc(37 / 750 * 100vw);
	}
	footer .inner .logo { margin: 0 0 calc(12 / 750 * 100vw);}
	footer .inner .logo img { width: calc(410 / 750 * 100vw);}



/*
	commons.css End
---------------------------------------------------------------------------------------------------------------------------------------------*/
}