.nav-box-pc {
  display: block;
}

.nav-box-sp {
  display: none;
}

.menu-container {
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 11;
  top: 0;
  left: 0;
  right: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
  background-color: #ffffff;
}

.openbtn {
  width: 40px;
  height: 20px;
  cursor: pointer;
  position: absolute;
  top: 50%;
  right: 20px;
  translate: 0 -50%;
  z-index: 12;
  display: none;
}

.openbtn span {
  display: inline-block;
  transition: all 0.3s;
  position: absolute;
  left: 0;
  height: 3px;
  width: 100%;
  background: #333333; /* ここは $black の代替値 */
}

.openbtn span:nth-of-type(1) {
  top: 0;
}

.openbtn span:nth-of-type(2) {
  top: 50%;
}

.openbtn span:nth-of-type(3) {
  top: 100%;
}

.openbtn.active span:nth-of-type(1) {
  transform: rotate(-30deg) translateY(-50%);
  top: 50%;
}

.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
  transform: rotate(30deg) translateY(-50%);
  top: 50%;
}

@media only screen and (max-width: 960px) {
  .nav-box-pc {
    display: none;
  }

  .nav-box-sp {
    display: block;
  }

  .openbtn {
    display: block;
  }

  .menu-container.active {
    display: block;
    opacity: 1;
    pointer-events: all;
  }

  .menu-container.active .nav-box-sp {
    padding: 100px 20px 20px;
  }
}