.zdo_drawer_button * {
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-align: left;
  text-decoration: none;
  list-style: none;
}


.zdo_drawer_button {
  display: block;
  padding: 0;
  width: 22px;
  height: 13px;
  position: relative;
  background: none;
  border: none;
  text-align: center;
  letter-spacing: 0.1em;
  cursor: pointer;
  outline: none;
}


.zdo_drawer_button .zdo_drawer_bar {
  display: block;
  width: 22px;
  height: 3px;
  transition: all 0.2s;
  transform-origin: 0% 0%;
  transform: translateY(-50%);
  position: absolute;
  left: 0;
}


.zdo_drawer_button .zdo_drawer_bar1 {
  top: 0;
}


.zdo_drawer_button .zdo_drawer_bar2 {
  top: 50%;
}


.zdo_drawer_button .zdo_drawer_bar3 {
  top: 100%;
}


.zdo_drawer_button.active .zdo_drawer_bar {
  width: 18.385px;
  left: 5px; /* ×を右に微調整 */
  background-color: #fff; /* ×に変換したときは白 */
}


.zdo_drawer_button.active .zdo_drawer_bar1 {
  transform: rotate(0.7853981634rad) translateY(-50%);
  top: 0px;
}


.zdo_drawer_button.active .zdo_drawer_bar2 {
  opacity: 0;
}


.zdo_drawer_button.active .zdo_drawer_bar3 {
  transform: rotate(-0.7853981634rad) translateY(-50%);
  top: calc(100% - 0px);
}


.zdo_drawer_button.active .zdo_drawer_menu_text {
  display: none;
}


.zdo_drawer_button.active .zdo_drawer_close {
  display: block;
}


.zdo_drawer_text {
  display: block;
  width: 22px;
  position: absolute;
  left: 0;
  bottom: -13px; /* 旧ベストチョイスでは-13pxだった */
  text-align: center;
  font-size: 6px;
  font-weight: bold;
  color: #222;;
}


.zdo_drawer_close {
  letter-spacing: 0.08em;
  display: none;
  color: #fff; /* ×に変換したときは白 */
}


/*+++ Default Button Color +++*/
.zdo_drawer_button {
  color: #222;;
}


.zdo_drawer_button .zdo_drawer_bar {
  background-color: #222;;
}


/* ボタンのスタイル */
.zdo_drawer_menu .zdo_drawer_button {
  /* ポジション（今回はabsoluteを使用しない） */
  z-index: 999;
  margin-left: 2px;
}


/* 横幅が1126以上の場合はドロワーメニューを表示しない */
@media screen and (min-width: 768.1px) {
  .zdo_drawer_menu {
    display: none;
  }
}


.zdo_drawer_menu a {
  color: inherit;
  text-decoration: none;
}


.zdo_drawer_menu a:visited {
  color: inherit;
}


.zdo_drawer_menu .zdo_drawer_bg {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 997;
  background-color: rgba(51, 51, 51, 0.5);
  display: none;
  top: 0;
  left: 0;
  overflow-y: hidden;
}


.zdo_drawer_menu .zdo_drawer_nav_wrapper {
  width: 100%; /* 今回は幅いっぱいにスライドさせる */
  height: 100%;
  transition: all 0.2s;
  transform: translate(100%); /* 左方向に100%移動させる */
  position: fixed;
  top: 80px; /* ハンバーガーメニューボタンの下部にスライドさせる */
  right: 0;
  z-index: 998;
  background-color: #FFF;
  overflow: scroll;
  padding-bottom: 80px; /* これを入れないと上下スライドできない */
}


.zdo_drawer_menu .zdo_drawer_nav_wrapper.open {
  transform: translate(0);
}


.zdo_drawer_menu.left .zdo_drawer_button {
  right: auto;
  left: 32px;
}


.zdo_drawer_menu.left .zdo_drawer_nav_wrapper {
  transform: translate(-250px);
  right: auto;
  left: 0;
}


.zdo_drawer_menu.left .zdo_drawer_nav_wrapper.open {
  transform: translate(0);
}


/* コンテンツのレイアウト */
.drawer_content {
  position: relative;
  width: 90%;
  margin: 0 auto;
  padding-top: 30px;
  text-align: left;
}
