@charset "utf-8";


/*----------------------------
* メニュー
----------------------------*/
.g-nav-btn {
  display: none; /*はじめは非表示に*/
  position:fixed; /*位置固定*/
  top: 10px;
  right: 10px;
  z-index: 9999;/*ボタンを最前面に*/
}
.g-nav-btn span {
  width: 60px;
  height: 60px;
  background-color: rgba(255, 255, 251, 0.9);
  /* border: 1px solid #555; */
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
}
.g-nav-btn span::before {
  content: '';
  position: absolute;
  width: 94%;
  height: 94%;
  border: 1px solid #555;
  border-radius: 50%;
}
.g-nav-btn.active span{
  background-color: transparent;
}

.g-nav-btn span::after{
  content: 'menu';
  color: #333;
}
.g-nav-btn.active span::after{
  content: 'close';
  color: #333;
}

/* アニメーション start ---------------*/
.g-nav-btn.fadeDown{
  animation-name: fadeDownAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
  display: block;
}
@keyframes fadeDownAnime{
  from {
      opacity: 0;
      transform: translateY(-100px);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
}
/* アニメーション end ---------------*/


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

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

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

/*ナビゲーション*/
#g-nav ul {
    display: none;
}
#g-nav.panelactive ul {
  display: block;
}

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

#g-nav li a{
  color: #333;
  text-decoration: none;
  padding:10px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  font-weight: bold;
}