/*-------------------
  Navigation Menu
-------------------*/

.navbar {
  position: fixed;
  top:0;
  width: 292px;
  height: 100%;
  margin: 0; 
  z-index: 999;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.navbar-button {
  position: absolute;
  right: -60px;
  border-left: 1px solid #ccc;
  cursor: pointer;
}

.navbar-icon {
  display: block;
  width: 60px;
  height: 60px;
  background-image: url(../../img/common/navbar_icon_close.png);
  background-size: 100% 100%;
}

.navbar-icon > img {
  width: 100%;
  height: 100%;
}

.navbar-menu {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.navbar-menu > li {
  display: table;
  width: 100%;
  border-bottom: 1px solid #ffffff;
}

.navbar-menu > li > a {
  display: table-cell;
  width: 100%;
  height: 57px;
  padding-top: 3px;
  padding-left: 28px;
  vertical-align: middle;
  font-size: 18px;
  letter-spacing: 0.28em;
  color: #fff;
  text-decoration: none;
  background-color: #1b1b1b;
  transition-property: background-color;  
  transition-duration: 0.3s;  
  transition-timing-function: ease-out; 
}

.navbar-menu > li > a:hover {
  background-color: rgba(53,53,53,0.76);
}


.navbar-menu:after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-color: #1b1b1b;
}

.js-navbar {
  left: -293px;
  transition-property: left;  
  transition-duration: 0.3s;  
  transition-timing-function: ease-in-out; 
}

.js-navbar.is-menu-open {
  left: 0;
}

.js-navbar-icon-img {
  opacity: 1;
  transition-property: opacity;  
  transition-duration: 0.3s;  
  transition-timing-function: ease-in-out;
}

.js-navbar-icon-img.is-menu-open {
  opacity: 0;
}

@media screen and (max-width: 768px){

  .navbar {
    width: 265px;
  }

  .navbar-button {
    right: -45px;
  }

  .navbar-icon {
    width: 45px;
    height: 45px;
  }

  .navbar-menu > li > a {
    height: 50px;
    vertical-align: middle;
    font-size: 16px;
  }

  .js-navbar {
    left: -265px;
  }

}