@charset "UTF-8";
/* CSS Document Hamburger menu*/

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
	border-radius: 50%;
/*	background-color: #54585A;*/
background-color: #fff;
color: #54585A;
	cursor: pointer;
	position: relative;
	padding: 0;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span{
display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 4px;
    background: #54585A;
    transition: .2s;
    margin: -2px 0 0 -10px;
    border-radius: 20px;
}
#nav-open span:before, #nav-open span:after{
  display: block;
  content: "";
  position: absolute;
  /*top: 50%;*/
  left: 0;
  width: 30px;
  height: 4px;
  transition: .3s;
  background: #54585A;
    border-radius: 20px;
}
#nav-open span:before {
  bottom: 8px;
  background: #54585A;
}
#nav-open span:after {
  bottom: -8px;
  background: #54585A;
}

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;/*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;/*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;　/*　効いていない（再修正）　*/
}

/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
/*  top: 40px;
  left: 0;*/
right: 0;
  z-index: 9999;/*最前面に*/
  width: 100%;/*右側に隙間を作る（閉じるカバーを表示）*/
  max-height: 330px;/*最大幅（調整してください）*/
	height: 100%;
  background: #fff;/*背景色*/
  transition: .3s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateY(-120%);
  transform: translateY(-120%);/*上に隠しておく*/
}
#nav-open:before {
    content: "";
}
/*チェックが入ったらもろもろ表示*/
#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);
	transform: translateY(0%)
}
