@charset "utf-8";
/* CSS Document */

/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position:fixed;
	z-index:-1;
	opacity: 0;/*はじめは透過0*/
    /*ナビの位置と形状*/
	top:0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background: #fff;
    /*動き*/
	transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
	opacity: 0.98;
	z-index:100000;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 100000; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    display: none;
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

/*Responsive - 横1023px以下*/@media only screen and (max-width: 1023px) {
#g-nav.panelactive ul {
    display: block;
	width:95%;
}
	}
/*Responsive - 横1024px以上*/@media only screen and (min-width: 1024px) {
#g-nav.panelactive ul {
    display: block;
	width:50%;
}
	}

/*リストのレイアウト設定*/
#g-nav li{
	list-style: none;
    text-align: center; 
}

/*Responsive - 横1023px以下*/@media only screen and (max-width: 1023px) {
#g-nav li a {
	color: #333;
	text-decoration: none;
	padding:1em 0em;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
	font-size:18px;
	/*border-radius:50px;*/
	transition:0.4s;
	border-top:1px solid transparent;
	border-bottom:1px solid transparent;
}
	}
/*Responsive - 横1024px以上*/@media only screen and (min-width: 1024px) {
#g-nav li a {
	color: #333;
	text-decoration: none;
	padding:1.5em 7em;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
	font-size:20px;
	/*border-radius:50px;*/
	transition:0.4s;
	border-top:1px solid transparent;
	border-bottom:1px solid transparent;
}
	}
#g-nav li a:hover {
	color: #000;
	/*color: #000;
	background:#fff;
	border-radius:50px;*/
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
	text-shadow:0px 1px 3px #fff;
	opacity: 1;
}



/*========= ボタンのためのCSS ===============*/
/*Responsive - 横1023px以下*/@media only screen and (max-width: 1023px) {
.openbtn {
	position:fixed;
	/*position: absolute !important;*/
    z-index: 2009999;/*ボタンを最前面に*/
	top:20px;
	right: 3%;
	cursor: pointer;
    width: 50px;
    height:50px;
		background:#fff;
		border: 1px solid #0093D4;
		border-radius:5px;
    	transition: all .4s;
}
	}
/*Responsive - 横1024px以上*/@media only screen and (min-width: 1024px) {
.openbtn {
	/*position:fixed;*/
	position: absolute !important;
    z-index: 2009999;/*ボタンを最前面に*/
	top:50px;
	right: 30px;
	cursor: pointer;
    width: 70px;
    height:70px;
		background:#fff;
		border: 1px solid #ddd;
		border-radius:10px;
    	transition: all .4s;
}
	}
.openbtn:hover {
		border: 1px solid #0093D4;
}

/*×に変化*/	
.openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;/*3_line横方向位置*/
    height: 3px;/*3_line線の厚さ*/
    border-radius: 4px;
	background-color: #777;
  	width: 45%;
}
.openbtn:hover span {
	background-color: #000;
}


/*3_line*/
.openbtn span:nth-of-type(1) {
	/*top:15px;　every+8px*/
	top:16px;
}

.openbtn span:nth-of-type(2) {
	/*top:23px;*/
	top:24px;}

.openbtn span:nth-of-type(3) {
	/*top:31px;*/
	top:32px;
}


/*X_line*/
.openbtn.active span:nth-of-type(1) {
    /*top: 18px;　every+12px*/
	top:18px;
    left: 14px;
    transform: translateY(6px) rotate(-45deg);
    width: 45%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
    /*top: 30px;*/
	top:30px;
    left: 14px;
    transform: translateY(-6px) rotate(45deg);
    width: 45%;
}
.openbtn.active:hover span:nth-of-type(1),
.openbtn.active:hover span:nth-of-type(3) {
	background-color: #0093D4;
}














