/* ------------------------------
ナビボタン
------------------------------ */
#spNavBtn{
	width:40px;
	height:40px;
	position: fixed;
	top: 10px;
	right: 10px;
	z-index:999;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* ------------------------------
ボタン
------------------------------ */
#spNavBtn {cursor: pointer;}
.spNavBtn_inner {
	position: relative;
	z-index:1;
	width: 26px;
}

.spNavBtn_inner span,
.spNavBtn_inner span:nth-of-type(2):after{
	display: block;
	height: 2px;
	width: 100%;
	background: #fff;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
}

.spNavBtn_inner span:nth-of-type(2):after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
}

.spNavBtn_inner span:not(:last-child) {
  margin-bottom: 6px;
}

/*ボタンの横線*/
#spNavBtn.is-active .spNavBtn_inner span:nth-of-type(1) {transform: translateY(20px) scale(0);}
#spNavBtn.is-active .spNavBtn_inner span:nth-of-type(2) {transform: rotate(-45deg);}
#spNavBtn.is-active .spNavBtn_inner span:nth-of-type(2)::after {transform: rotate(90deg);}
#spNavBtn.is-active .spNavBtn_inner span:nth-of-type(3) {transform: translateY(-20px) scale(0);}

/* gNav
---------------------------------------------------------- */
#nav-header-fixed {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	padding-right:40px;
}

#nav>li>a,
#nav-header-fixed>li>a{
	position:relative;
	z-index:0;
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
	/*margin:0 20px;*/
  line-height: 1.4;
  letter-spacing: 0.05em;
}

#nav-header-fixed>li>a{
  padding:10px 14px 28px;
}

#nav>li>a:after,
#nav-header-fixed>li>a:after {
	content: '';
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 0;
	right: 0;
	width: 0;
	height: 2px;
	margin: auto;
	background: #29a9d0;
	opacity: 0;
	transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
}

#nav > li > a:hover:after,
#nav-header-fixed > li > a:hover:after {
	opacity: 1;
	width: 100%;
}

@media screen and (max-width:959px) {
	#gNav {
		display:none;
		position: fixed;
		z-index: 10;
		top: 0;
		right: 0;
		width: 200px;
		height: 300px;
		background: rgba(64,181,187,0.8);
	}
	#gNav nav {
		display: table;
		width: 100%;
		height: 100%;
	}
	#nav {
		display: table-cell;
		vertical-align: middle;
	}
	#nav>li {
		overflow: hidden;
		display: block;
		text-align: center;
		margin: 0 auto 1vh;
	}
	#nav>li>a {
		font-size:18px;
		display: inline-block;
		padding:5px 0 6px;
		width: 100%;
	}
	#nav>li>a:after{
		height: 3px;
	}
}
@media screen and (min-width:960px) {
	/*ボタン非表示*/
	#spNavBtn{
		display:none;
	}
	#gNav{
		position: absolute;
	right: 0px;
	}
	#nav{
		display:flex;
	}
	#nav > li > a, #nav-header-fixed > li > a {
		font-size:16px;
	}
	#nav > li > a{
		display:flex;
		flex-direction:column;
		justify-content:flex-end;
		height: 60px;
		margin:0px;
		padding-bottom: 10px;
		width:154px;
		text-align: center;
	}

}
