@charset "UTF-8";
/*チェックボックス等は非表示に*/
.nav-unshown {
  display: none;
}
@media screen and (max-width: 640px) {
  #nav-drawer {
    position: relative;
  }
  /*icon base*/
  #nav-open {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    margin: 0;
    width: 40px;
    height: 40px;
    padding: 10px 9px;
    vertical-align: middle;
    background-color: #119856;
  }
  /*icon line*/
  #nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 2px; /*線の太さ*/
    width: 24px; /*長さ*/
    border-radius: 3px;
    background: #FFFFFF;
    display: block;
    content: '';
    cursor: pointer;
  }
  #nav-open span:before {
    bottom: -8px;
  }
  #nav-open span:after {
    bottom: -16px;
  }
  /*close area*/
  #nav-close {
    display: none;
    position: fixed;
    z-index: 99;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
  }
  /*menu content*/
  #nav-content {
    overflow:auto;
    position: fixed;
    top: 0;
    right: 2%;
    z-index: 9999;
    width: 96%;
    height: 408px;
    max-width: 80vh;
    border-radius: 0 0 10px 10px;
    transition: .3s ease-in-out;
    -webkit-transform: translateY(-105%);
    transform: translateY(-105%);
  }
  /*チェックがついたら表示させる*/
  #nav-input:checked ~ #nav-close {
    display: block;
    opacity: .5;
  }
  #nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
  }
  .header-logo-menu {
    display: flex;
    display: -moz-flex;
    display: -o-flex;
    display: -webkit-flex;
    display: -ms-flex;
    flex-direction: row;
    -moz-flex-direction: row;
    -o-flex-direction: row;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    position: absolute;
    top: 0;
    right: 0
  }
  #header_menu {
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #EFFAF4;
  }
  #header_menu ul {
    display: block;
    padding: 1em;
  }
  #header_menu li {
    margin: 1em auto;
    width: 90%;
    font-size: 1.6rem;
    line-height: 3;
    background-color: #119856;
    border-radius: 5px;
  }
  #header_menu li a {
    display: block;
  }
}