/* IMPORT RESET */
@import url("reset.css");

/* IMPORT 12 COLUMN RESPONSIVE GS */
@import url("responsive.gs.12col.css");



/*	for Typekit */
/*
html {
	visibility: hidden;
}
html.wf-active {
	visibility: visible;
}
*/


html, body {
	height: 100%;
}

body {
	position: relative;
	font-family: source-han-serif-japanese, serif;
	color: #333;
	background: url("../img/intro/bg.png") repeat;
}

.movie {
/* 	display: none; */
	display: block;
	position: relative;
	min-width: 100%;
	min-height: 100%;
	text-align: center;
	/* 	max-height: 1080px; */
	background-color: #fff;
	padding-top: 100px;
	z-index: 10;

}

.movie video {
	width: 100%;
	height: auto;
	margin: 0 auto;
}


@media (min-width: 768px) { /* PC size */
	.movie {
		display: block;
		position: relative;
		width: 1100px;		/* v2 幅設定変更 */
		min-width: 800px;	/* SP用打ち消し */
		min-height: auto;
		height: auto;
		text-align: center;
		background-color: #fff;
		padding-top: 0;
		margin: 100px auto 0;
		z-index: 10;
	}
	.movie video {
		width: 100%;
		height: 100%;
		margin: 0 auto;
	}
}

.mainSite {
 position: relative;
 width: 100%;
 height: 100%;
/*  max-height: 1080px; */
 background-color: #fff;
}


/* scroll */
#foot-nav {
 	position: absolute;
 	width: 100%;
 	bottom: 40px;
	text-align: center;
	z-index: 25;
}
.scroll {
	width: 80px;
	height: auto;
	margin: 20px auto 0 auto;
}

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

	#foot-nav {
 		bottom: 120px;
	}
}









#container {
	position: relative;
	height: auto !important;
	height: 100%;
	min-height: 100%;
	overflow: hidden;
	background: url("../img/intro/bg.png") repeat;
}


header {
	/* menu.css */
}

#main {
	position: relative;
	width: 100%;
	height: 80vh;
	padding-top: 100px;
	overflow: hidden;
/* 	border: 1px solid #0ff; */
	margin: 0 auto;
}
#main .intro_inner {
	width: 90%;
	max-width: 1100px;
	height: 80vh;
	background: rgba(255, 255, 255, 0.7);
	margin: -30px auto 0 auto;
/* 	border: 1px solid #f00; */
	z-index: 1;
}

@media ( min-width : 959px ) { /* +960px */
	#main {
		height: 1600px;
	}
}

article {
	line-height: 20em;
	text-align: center;
	background: #fff;
}

footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	min-height: 40px;
	text-align: center;
	background: #fff;
	z-index: 1;
}

/*	basic
----------------------- */
.sp { display: block; }
.pc { display: none; }

@media ( min-width : 959px ) { /* +960px */
	.sp { display: none; }
	.pc { display: block; }
	.brsp {display: none; }
}

.img-responsive {
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
}
a img {
	transition: .3s;
}
a img:hover {
	opacity: 0.6;
}

.none {
	display: none;
}

.clearfix {
	display: block;
	clear: both;
	content: "";
}

/* main */
.main_visural {
	width: 98%;
	height: auto;
	margin: 100px auto 0 auto;
}


/*	footer
----------------------- */
.footer_flex {
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    flex-wrap: wrap;
  	-ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    justify-content: space-between;
}
.box {
    display: flex;
	display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    
    margin-bottom: 20px;
}
.box:first-child {
	margin-left: 4%;
	margin-right: -3%;
}
.box:last-child {
	margin-right: 4%;
}

.logo {
	width: 90px;
	height: auto;
	margin-top: auto;
}
.replay {
	display: none;
}

#footer_btm {
	height: 40px;
		/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#635748+0,b3b0a4+25,635748+50,b3b0a4+75,635748+100 */
background: #635748; /* Old browsers */
background: -moz-linear-gradient(left,  #635748 0%, #b3b0a4 25%, #635748 50%, #b3b0a4 75%, #635748 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #635748 0%,#b3b0a4 25%,#635748 50%,#b3b0a4 75%,#635748 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #635748 0%,#b3b0a4 25%,#635748 50%,#b3b0a4 75%,#635748 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#635748', endColorstr='#635748',GradientType=1 ); /* IE6-9 */
}

@media ( min-width : 959px ) { /* +960px */
/* main */
	.main_visural {
		98%;
/* 		width: 505px; */
		height: auto;
		padding: 0;
		margin: 146px auto 0 auto;
	}
/* footer */
	.logo {
		width: 120px;
		height: auto;
		margin-top: auto;
	}
	.replay {
		display: block;
		width: 80px;
		height: auto;
		margin-top: auto;
	}
}

/* css animation (prefixes are cut) 出現タイミングの制御
--------------------------------------- */


.delay {
	transform-origin:center top;
	animation:show 3s both;
}
.delay6 {
	transform-origin:top bottom;
	animation:SlideDown 8s both;
}
.delay {display:inline-block;}

/* 順番 */
#logo {animation-delay:5s;}	/* 24s */
.hamburger {animation-delay:5s;}	/* 22.5s */
.scroll {animation-delay:5s;}	/* 22s */


.main_02 {animation-delay:18s;}
.main_01 {animation-delay:21s;}
.main_03 {animation-delay:21.5s;}
/* .replay {animation-delay:25s;} */


@keyframes show {
	0% {
		transform:translate(0,2em);
		opacity:0;
	}
	100% {
		transform:translate(0,0);
		opacity:1;
	}
}

/*上から下*/
@keyframes SlideDown {
0% {
    opacity: 0;/* 透明 */
  /*  transform: translateY(-200px);/* Y軸方向に-50px */
}
100% {
    opacity: 1;/* 不透明 */
  /*  transform: translateY(0);/* Y軸方向に0px */
}
}



@media ( max-width : 768px ) { /* sp(-768px) */

/*
	.main_02 {animation-delay:1s;}
	
	.main_01 {animation-delay:3s;}
	.main_03 {animation-delay:4s;}
	.logo {display: none;}
	.scroll {animation-delay:4.2s; margin: 100px auto 0 auto;}
	.hamburger {animation-delay:0s;}
*/

}






/* INTRODUCTION
-----------------------------------------*/
#intro {
	width: 100%;
	min-height: 100vh;
	font-family: source-han-sans-japanese, sans-serif;
	background: url("../img/intro/bg.png") repeat;
	padding: 100px 0 0;
	margin: 0 auto;
}


.intro_bnr {
	width: 90%;
	background: #fff;
	padding: 0;
	margin: 0 auto;
}

/* bnr_box */
.bnr_box {
	display: block;
}
.bnr_box .bnr_1,
.bnr_box .bnr_2 {
	width: 80%;
	height: auto;
	margin: 0 auto 3%;
}
.bnr_box .bnr_1 img,
.bnr_box .bnr_2 img {
	width: 100%;
	height: auto;
}

@media ( min-width : 959px ) { /* +960px */
	.intro_bnr {
		max-width: 1100px;
		padding: 100px 0 80px;
		margin: 0 auto;
	}
	.bnr_box {
		display: flex;
		justify-content: center;
	}
	.bnr_box .bnr_1,
	.bnr_box .bnr_2 {
		width: 300px;
		height: auto;
		margin: 0 5% 0;
	}
}


.intro_title {
	width: 100%;
	height: auto;
	padding: .8rem 0;
	margin: 0 auto;
	background: #635748; /* Old browsers */
background: -moz-linear-gradient(left,  #635748 0%, #b3b0a4 25%, #635748 50%, #b3b0a4 75%, #635748 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #635748 0%,#b3b0a4 25%,#635748 50%,#b3b0a4 75%,#635748 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #635748 0%,#b3b0a4 25%,#635748 50%,#b3b0a4 75%,#635748 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#635748', endColorstr='#635748',GradientType=1 ); /* IE6-9 */
}
.intro_title h1 {
	width: 90%;
	height: auto;
	margin: 0 auto;
}
.intro_title .bnr_1 {
	float: left;
	width: 100px;
	height: auto;
	margin-left: 10px;
	margin-bottom: -20px;
}
.intro_title .bnr_2 {
	float: right;
	width: 100px;
	height: auto;
	margin-right: 10px;
	margin-bottom: -20px;
}
.intro_title .bnr_1 img {
	width: 100%;
	height: auto;
	margin: 0 auto;
}
.intro_title .bnr_2 img {
	width: 100%;
	height: auto;
	margin: 0 auto;
}
#intro .wrap {
	width: 90%;
	margin: 20px auto 0 auto;
}

@media ( min-width : 959px ) { /* +960px */
	.intro_title .inner {
		max-width: 900px;
		margin: 0 auto;
	}
	.intro_title .bnr_1 {
		float: left;
		width: 180px;
		height: auto;
		margin-left: 0;
		margin-bottom: 0;
	}
	.intro_title .bnr_2 {
		float: right;
		width: 180px;
		height: auto;
		margin-right: 0;
		margin-bottom: 0;
	}
	
	.intro_title h1 {
		width: 90%;
		height: auto;
		margin: 0 auto;
	}
	.intro_title h1.withbnr {
		float: none;
		width: 500px;
		height: auto;
		text-align: center;
		padding-top: 20px;
		margin: 0 auto;
	}
	.intro_title h1 img {
		width: 440px;
		margin: 0 auto;
	}
	.intro_title.one h1 {
		width: 500px;
		margin: 16px auto;
	}
	.intro_title.one h1 img {
		width: 100%;
		height: auto;
	}
	#intro .wrap {
		width: 600px;
		padding: 50px 0 0 0;
	}
}

/* background */
.intro_inner {
	width: 90%;
	max-width: 1100px;
	min-height: 100vh;
	background: rgba(255, 255, 255, 0.7);
	padding-bottom: 80px;
	margin: 0 auto;
	border: 1px solid #fff;
}


#intro .wrap h2 {
	width: 100%;
	height: auto;
	margin: 1rem auto;
}
#intro .wrap h3 {
	width: 100%;
	height: auto;
	margin: 2rem 0;
}
#intro .wrap p {
	width: 100%;
	line-height: 1.6;
}

@media ( min-width : 959px ) { /* +960px */
	#intro .wrap h2 {
		width: 90%;
		height: auto;
		margin: 1rem auto;
	}
	#intro .wrap h3 {
		width: 100%;
		height: auto;
		margin: 2rem 0;
	}
	#intro .wrap p {
		width: 90%;
		line-height: 1.6;
	}
}

/* intro_company */

#intro_company.wrap {
	position: relative;
	width: 90%;
	font-family: source-han-serif-japanese, serif;
}
.intro_copy p {
	font-size: 0.9rem!important;
	line-height: 2rem!important;
	text-align: center!important;
	margin: 0 auto 1rem auto!important;
}
#intro_company .intro_ph {
	position: relative;
	width: 160px;
	margin: 2rem auto;
}
.intro_comp p {
	font-size: 0.8rem;
	line-height: 2rem!important;
}
span.intro_tel {
	display: inline-block;
	text-indent: 1rem;
}
@media ( min-width : 959px ) { /* +960px */
	#intro_company.wrap {
		position: relative;
		width: 90%;
		font-family: source-han-serif-japanese, serif;
	}
	.intro_copy {
		width: 600px;
		margin-left: 20%;
		margin-top: 2rem;
	}
	.intro_copy p {
		font-size: 0.95rem;
		line-height: 2rem!important;
		text-align: center!important;
		margin: 0 auto;
	}
	#intro_company .intro_ph {
		position: absolute;
		width: 170px;
		top: 680px;
		right: 80px;
	}
	#intro_company hr {
		width: 75%;
		margin-left: 20%;
		border-bottom: 1px solid #bababa;
		border-top: 0;
		border-right: 0;
		border-left: 0;
		margin-top: 50px;
	}
	.intro_comp {
		width: 80%;
		margin-left: 20%;
		line-height: 1.8rem!important;
	}
	.intro_comp h3 {
		font-size: 1.2rem;
		font-weight: 700;
	}
	.intro_comp p {
		font-size: 0.9rem;
		line-height: 2rem!important;
	}
	span.intro_tel {
		display: inline-block;
		text-indent: 15rem;
	}
	span.intro_grp {
		display: inline-block;
		border-bottom: 1px solid #bababa;
		white-space: nowrap;
		
	}
}

#intro .wrap .bnrs {
	width: 100%;
	height: auto;
	padding: 0;
	line-height: 0;	/* imgの隙間 */
	margin: 50px auto;
}
#intro .wrap .bnrs img {
	display: block;
	width: 100%;
	vertical-align: bottom;
	padding: 0!important;
	margin: 0 auto!important;
}

#intro .wrap .bnrs.rec {
	width: 100%;
	height: auto;
	padding: 0;
	line-height: 0;	/* imgの隙間 */
	margin: 40px auto;
}

@media ( min-width : 959px ) { /* +960px */
	#intro .wrap .bnrs {
		width: 76%;
	}
	#intro .wrap .bnrs.rec {
		width: 76%;
		margin: 80px auto 50px auto;
	}
}

#intro_club {
	margin: 20px auto!important;
}
#intro_club h2 {
	width: 90%!important;
	height: auto;
	margin: 1rem auto;
}
#intro_club p {
	width: 100%!important;
}

@media ( min-width : 959px ) { /* +960px */
	#intro_club {
		margin: 100px auto 0 auto!important;
	}
	#intro_club h2 {
		width: 70%!important;
		height: auto;
		margin: 1rem auto 0 110px!important;
	}
	#intro_club p {
		width: 100%!important;
		white-space: nowrap;
	}
}


#intro_map .intro_inner {
	padding-top: 2rem;
}
#intro_map .intro_title h1 {
	width: 80%;
	height: auto;
	margin: 0.4rem auto 0 auto;
}
#intro_map .intro_title h1 img {
	width: 100%;
	height: auto;
	margin: 0 auto;	
}
#intro_map .address {
	width: 90%;
	padding: 2rem auto;
	margin: 50px auto;
}
#intro_map .address p {
	text-align: center;
	font-family: source-han-serif-japanese, serif;
}
p.company {
	font-size: 1.4rem;
}
p.company span {
	font-size: 1rem;
	margin-right: 0.8rem;
}
p.post {
	font-size: 0.9rem;
	margin-top: 1rem;
}

@media ( min-width : 959px ) { /* +960px */
	#intro_map .intro_title h1 {
		width: 28%;
		height: auto;
		margin: 0.4rem auto 0 auto;
	}
	#intro_map .address p {
		white-space: nowrap;
	}
}