@charset "UTF-8";

/* Scrollダウン */
/*スクロールダウン全体の場所*/
.scrolldown {
	position: absolute;
	bottom: 55px;
	left: 50%;
}

.scrolldown span {
	position: absolute;
	left: 10px;
	bottom: 10px;
	color: #eee;
	font-size: 0.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	font-family: "josefin-sans", sans-serif;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.scrolldown:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: -4px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #eee;
	animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-in-out infinite;
}

@keyframes circlemove {
	
	0% {
		bottom: 45px;
	}
	
	100% {
		bottom: -5px;
	}
}

@keyframes cirlemovehide {
	
	0% {
		opacity: 0;
	}
	
	50% {
		opacity: 1;
	}
	
	80% {
		opacity: 0.9;
	}
	
	100% {
		opacity: 0;
	}
}

.scrolldown:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 2px;
	height: 50px;
	background: #eee;
}



/************************************************** 
	
	ふわっと設定
	
**************************************************/
.fadeIn {
	animation-name: fadeInAnime;
	animation-duration: 3s;
	animation-fill-mode: forwards;
	opacity:0;
}

@keyframes fadeInAnime {
	
	from {
		opacity: 0;
	}
	
	to {
		opacity: 1;
	}
}


.fadeInTrigger {
	opacity: 0;
}



/************************************************** 
	
	左から右に線が伸びる（Navigation）
	
**************************************************/

/* 1200px以上 */
@media screen and (min-width: 1200px) {
	
	.gnavi li a{
		/*線の基点とするためrelativeを指定*/
		position: relative;
	}
	
	.gnavi li.current a,
	.gnavi li a:hover{
		color:#0481A2;
	}
	
	.gnavi li a::after {
		content: '';
		/*絶対配置で線の位置を決める*/
		position: absolute;
		bottom: 0;
		left: 10%;
		/*線の形状*/
		width: 80%;
		height: 2px;
		background:#0481A2;
		/*アニメーションの指定*/
		transition: all .3s;
		transform: scale(0, 1);/*X方向0、Y方向1*/
		transform-origin: left top;/*左上基点*/
	}
	
	/*現在地とhoverの設定*/
	.gnavi li.current a::after,
	.gnavi li a:hover::after {
		transform: scale(1, 1);/*X方向にスケール拡大*/
	}
  
}




/************************************************** 
	
	Wave（TOPページ）
	
**************************************************/
.waves {
  position:relative;
  width: 100%;
  height:15vh;
  margin-bottom:-7px; /*Fix for safari gap*/
  min-height:100px;
  max-height:150px;
}

.content {
  position:relative;
  height:20vh;
  text-align:center;
  background-color: white;
}

/* Animation */

.parallax > use {
  animation: move-forever 25s cubic-bezier(.55,.5,.45,.5)     infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
.parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}
.parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}
.parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}
@keyframes move-forever {
  0% {
   transform: translate3d(-90px,0,0);
  }
  100% { 
	transform: translate3d(85px,0,0);
  }
}
/*Shrinking for mobile*/
@media (max-width: 768px) {
  .waves {
	height:40px;
	min-height:40px;
  }
  .content {
	height:30vh;
  }
 
}

 

/************************************************** 
	
	Wave（ABOUTページ）
	
**************************************************/
/* #about .wave-area .waves {
  position:relative;
  width: 100%;
  height:15vh;
  margin-bottom:-7px; 
  min-height:100px;
  max-height:150px;
} */

#about .wave-area .content {
  position:relative;
  height:20vh;
  text-align:center;
  background-color: #fff;
}

/************************************************** 
	
	Wave（INSTRUCTORページ）
	
**************************************************/

#instructor .wave-area .content {
  position:relative;
  height:20vh;
  text-align:center;
  background-color: #EFE4DF;
}

/************************************************** 
	
	Wave（CLASSページ）
	
**************************************************/
#class .wave-area .content {
  position:relative;
  height:20vh;
  text-align:center;
  background-color: #fff;
}

