@charset "utf-8";
/*
 * base css 
 * pc width 1000px fixed
 */

@media (max-width: 599px) {
} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {
} /* end 600-959 */

@media (min-width: 960px) {
} /* 960- */

/* ---------------------------------------- common */

body { color: #333; }
main { line-height: 2; }
h2 { 
	line-height: 1.6; 
	margin: 0 0 1em;
}
h3 { 
	line-height: 1.6; 
	margin: 0 0 1em;
}
h4 { 
	line-height: 1.6; 
	margin: 0 0 1em;
}
main.under { padding: 3rem 0; }

@media (max-width: 599px) {
	
	main { font-size: 1.3rem; }
	h2 { font-size: 1.8rem; }
	h3 { font-size: 1.6rem; }
	h4 { font-size: 1.4rem; }

} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {
	
	main { font-size: 1.4rem; }
	h2 { font-size: 2.4rem; }
	h3 { font-size: 2.0rem; }
	h4 { font-size: 1.6rem; }

} /* end 600-959 */

@media (min-width: 960px) {
	
	main { font-size: 1.5rem; }
	h2 { font-size: 2.8rem; }
	h3 { font-size: 2.4rem; }
	h4 { font-size: 1.8rem; }

} /* 960- */

/* ---------------------------------------- mobilebar */

@media (max-width: 599px) {
	#mobilebar {
		background: rgba( 0, 0, 0, .7 );
		padding: 1em;
	}
	#mobilebar ul {
		display: -webkit-box;
		display: -webkit-flexbox;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;	
	}
	#mobilebar li { margin: 0 1.5em 0 0; }
	#mobilebar a { 
		display: block;
		color: #fff;
		font-size: 3.2rem;
	}
} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {
	#mobilebar { display: none !important; }
} /* end 600-959 */

@media (min-width: 960px) {
	#mobilebar, #drawer-menu { display: none !important; }
} /* 960- */

/* ---------------------------------------- snsbox */

@media (max-width: 768px) {
	#snsbox {
		width: 100%;
		color: #fff;
		background: rgba( 0, 0, 0, .8 );
		text-align: center;
		padding: 12px;
		position: fixed;
		bottom: 0;
		left: 0;
	}
	#snsbox .inner > div {
		display: -webkit-box;
		display: -webkit-flexbox;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-align-items: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	#snsbox span {
		font-size: 2.8rem;
		line-height: 1;
	}
	#snsbox .icon { margin: 0 .1em; }
	#snsbox span.icon-twitter-square {
		font-size: 3.2rem;
		position: relative;
		top: 2px;
	}
	#snsbox strong { 
		font-size: 1.3rem;
		margin: 0 0 0 1em; 
	}
} /* end -599 */

@media (min-width: 769px) {
	#snsbox { display: none !important; }
} /* 960- */

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

header { background: rgba( 0, 0, 0, .8 ); }

@media (max-width: 599px) {
	header { 
		text-align: center;
		padding: 2em;
	}
	header .logo img { 
		width: 15%; 
		min-width: 100px;
		max-width: 120px;
	}
	#globalnav { display: none !important; }
} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {
	header { 
		text-align: center;
		padding: 2em;
	}
	header .logo img { 
		width: 15%; 
		min-width: 100px;
		max-width: 120px;
	}
	#globalnav { display: none !important; }
} /* end 600-959 */

@media (min-width: 960px) {
	header { 
		display: -webkit-box;
		display: -webkit-flexbox;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-ms-align-items: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding: 2em; 
	}
	header .logo { 
		width: 15%; 
		min-width: 100px;
		max-width: 120px;
		margin: 0 4em 0 0;
	}
	#globalnav ul {
		display: -webkit-box;
		display: -webkit-flexbox;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: flex-start;
		-ms-flex-pack: flex-start;
		justify-content: flex-start;
		-ms-align-items: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	#globalnav li { margin: 2px 0 2px 4px; }
	#globalnav a {
		display: block;
		color: #fff;
		border: 1px #666 solid;
		font-size: 1.5rem;
		padding: .5em;
	}
	
	header.header_fix {
		position:fixed; 
		top:0px; 
		left:0px; 
		z-index:200; 
		width: 100%;
		padding: 1em 2em; 
		box-shadow:0 0 5px 0 rgba(0,0,0,0.4);
		animation: slideDown 0.5s ease; 
		-ms-animation: slideDown 0.5s ease; 
		-webkit-animation: slideDown 0.5s ease; 
		-moz-animation: slideDown 0.5s ease;
	}
	
	@-webkit-keyframes slideDown {
		0% { top:-50px; }
		100% { top:0px; }
	}
	@keyframes slideDown {
		0% { top:-50px; }
		100% { top:0px; }
	}

} /* 960- */

/* ---------------------------------------- visual */

#visual { position: relative; }
#visual::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: rgba( 0, 0, 0, .4 );
	position: absolute;
	top: 0;
	left: 0;
}
#visual h1 {
	width: 90%;
	color: #fff;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: normal;
	text-align: center;
	line-height: 1.6;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
#visual h1.show {
	animation: slideDownTxt 1s ease; 
	-ms-animation: slideDownTxt 1s ease; 
	-webkit-animation: slideDownTxt 1s ease; 
	-moz-animation: slideDownTxt 1s ease;
}
@-webkit-keyframes slideDownTxt {
	0% { 
		top: 40%; 
		opacity: 0;
	}
	100% { 
		top: 50%; 
		opacity: 1;
	}
}
@keyframes slideDownTxt {
	0% { 
		top: 40%; 
		opacity: 0;
	}
	100% { 
		top: 50%; 
		opacity: 1;
	}
}

@media (max-width: 599px) {
	#visual { height: 480px; }
	#visual.under { height: 280px; }
	#visual h1 { font-size: 2.0rem; }
} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {
	#visual { height: 560px; }
	#visual.under { height: 320px; }
	#visual h1 { font-size: 2.6rem; }
} /* end 600-959 */

@media (min-width: 960px) {
	#visual { height: 640px; }
	#visual.under { height: 360px; }
	#visual h1 { font-size: 3.2rem; }
} /* 960- */

/* ---------------------------------------- main */



/* ---------------------------------------- footer */

footer { color: #fff; }
footer .logo { margin: 0 0 1.5em; }
footer .logo img { width: 120px; }

/* #insite */
#insite {
	background: #666;
	padding: 3em 1em;
}
#insite ul {
	display: -webkit-box;
	display: -webkit-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}

@media (max-width: 768px) {
	#insite li { 
		width: 90%;
		margin: .5em 0;
	}
	#insite li a {
		display: block;
		border: 1px #333 solid;
		font-size: 1.4rem;
		text-align: center;
		padding: 1em;
	}
} /* end -599 */

@media (min-width: 769px) {
	#insite li { margin: 1em; }
	#insite li a {
		display: inline-block;
		font-size: 1.4rem;
	}
} /* 960- */

/* #contact-info */

#contact-info { 
	background: #333;
	padding: 3em 1em 0; 
}
#contact-info ul {
	display: -webkit-box;
	display: -webkit-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;
	font-family: Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Roboto, "Droid Sans", Meiryo, "ＭＳ Ｐゴシック","MS PGothic", sans-serif; */
}
#contact-info li { margin: 5px 10px; }
@media (max-width: 768px) {
	#contact-info li.tel { font-size: 2.4rem; }
	#contact-info li.overseas { font-size: 2.0rem; }
	#contact-info li.tel span,
	#contact-info li.overseas span { 
		font-size: 1.8rem; 
		margin: 0 .25em 0 0;
	}
	#contact-info li.sns { display: none; }
} /* end -599 */

@media (min-width: 769px) {
	#contact-info li.tel { font-size: 2.8rem; }
	#contact-info li.overseas { font-size: 2.2rem; }
	#contact-info li.tel span,
	#contact-info li.overseas span { 
		font-size: 2.0rem; 
		margin: 0 .25em 0 0;
	}
	#contact-info li.sns { font-size: 1.8rem; }
	#contact-info li.sns .icon { 
		font-size: 2.4rem; 
		margin: 0 .25em 0 0;
	}
	#contact-info li.sns span.icon-twitter-square {
		font-size: 3.0rem;
		position: relative;
		top: 2px;
	}
} /* 960- */


/* #copyright */
#copyright { 
	background: #333;
	text-align: center;
	padding: 1em;
}
#copyright aside { margin: 1em 0 0; }

@media (max-width: 768px) {
	#copyright { 
		font-size: 1.1rem;
		line-height: 1.5;
		padding: 3em 1em 120px;
	}
} /* end -599 */

@media (min-width: 769px) {
	#copyright { 
		font-size: 1.3rem;
		padding: 3em 1em;
	}
} /* 960- */

