@charset "utf-8";
/* ハンバーガーボタン（緑スクエア＋白3本線・常時追従／アニメ無し） */
#menu-button {
  display: none; /* PCは非表示 */
  position: fixed;
  top: 15px;
  right: 15px;
  z-index: 900;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: none;
  background: #009640;
  cursor: pointer;
}
#menu-button .c-menu-btn__text {
  display: none;
}
#menu-button .c-menu-btn__lines {
  position: relative;
  width: 22px;
  height: 16px;
}
#menu-button .c-menu-btn__lines span,
#menu-button .c-menu-btn__lines::before,
#menu-button .c-menu-btn__lines::after {
  content: "";
  position: absolute;
  left: 0;
  width: 22px;
  height: 2px;
  background-color: #fff;
  border-radius: 1px;
}
#menu-button .c-menu-btn__lines::before {
  top: 0;
}
#menu-button .c-menu-btn__lines span {
  top: 7px;
}
#menu-button .c-menu-btn__lines::after {
  top: 14px;
}
/* 開いた時は×（アニメーション無し・即時切替） */
#menu-button.is-active .c-menu-btn__lines span {
  opacity: 0;
}
#menu-button.is-active .c-menu-btn__lines::before {
  top: 7px;
  transform: rotate(45deg);
}
#menu-button.is-active .c-menu-btn__lines::after {
  top: 7px;
  transform: rotate(-45deg);
}

@media screen and (max-width: 820px) {
  #menu-button {
    display: flex;
  }
  #main-menu-container .c-nav__list {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  /*-------container----*/
  #main-menu-container {
    position: fixed;
    z-index: 700;
    top: 0;
    left: auto;
    right: -100vw;
    bottom: auto;
    overflow-y: auto;
    background: #fff;
    background-size: cover;
    display: none;
    width: 100vw;
    height: 100vh;
    transition: 0.3s linear;
  }

  #main-menu-container.is-active {
    right: 0vw;
  }

  body #main-menu-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
