/* ===============================================
ヘッダーのスタイリング
=============================================== */
/* ===============================================
ハンバーガーボタンのスタイリング
=============================================== */
.m-menu {
    position: fixed;
    bottom: 3%;
    right: 5%;
    z-index: 100;
}
.hamburger {
    width: 50px;
    height: 50px;
    position: absolute;
    appearance: none;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    z-index: 300;
    bottom: 0;
    right: 0;
    background-color: #fff;
    border-radius: 999rem;
}
.hamburger span,
.hamburger span::after,
.hamburger span::before {
    position: absolute;
    display: block;
    content: "";
    width: 80%;
    height: 2px;
    background-color: #000;
    transition: all 0.5s;
    left: 0;
    right: 0;
    margin: auto;
}
.hamburger span::before {
  top: -10px;
    width: 100%;
}
.hamburger span::after {
  bottom: -10px;
    width: 100%;
}
.hamburger.open span {
  background-color: transparent;
}
.hamburger.open span::before {
  top: 0;
  transform: rotate(45deg);
}
.hamburger.open span::after {
  bottom: 0;
  transform: rotate(-45deg);
}

/* ===============================================
メニューのスタイリング
=============================================== */
.nav {
  position: fixed;
  width: 80%;
  height: 100vh;
  top: 0;
  right: -120%;
  background-color: rgba(0,0,0,.85);
  padding: 50px 0;
  transition: all 0.5s;
    overflow-y: scroll;
    box-sizing: border-box;
}
.nav ul,
.nav li {
  list-style-type: none;
  padding: 0;
  margin: 0; 
}
.nav__item a {
  display: block;
  font-size: 1.15rem;
  color: #fff;
  text-decoration: none;
  padding: 20px 0 20px 50px;
  text-transform: uppercase;
}
.nav__item a:hover {
  color: #0f5474;
  background-color: #fff;
}
.nav.open {
  right: 0;
}