.gnavSpBtn {
  position: absolute;
  left: 20px;
  top: 20px;
  width: 50px;
  height: 40px;
  cursor: pointer;
  z-index: 300;
  display: block;
  transition: all 0.5s;
}
.gnavSpBtn:hover {
  opacity: .3;
}
.gnavSpBtn__line {
  position: absolute;
  width: 50px;
  height: 3px;
  left: 0;
  background-color: #000;
  transition: all 0.5s;
}

.gnavSpBtn__line--1 {
  top: 1px;
}

.gnavSpBtn__line--2 {
  top: 18px;
}

.gnavSpBtn__line--3 {
  top: 36px;
}

.gnavSpOpen .gnavSpBtn__line--1 {
  transform: rotate(-45deg);
  top: 11px;
}

.gnavSpOpen .gnavSpBtn__line--2 {
  opacity: 0;
}

.gnavSpOpen .gnavSpBtn__line--3 {
  transform: rotate(45deg);
  top: 11px;
}


.gnavSpContainer {
  position: fixed;
  left: -100%;
  top: 0;
  width: 70%;
  height: 100vh;
  padding-top: 8%;
  background-color: #fff;
  transition: all 0.5s;
  z-index: 200;
  overflow-y: auto;
}

.gnavSpOpen .gnavSpContainer {
  left: 0;
}

.gnavSpBg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 5;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 100;
}

.gnavSpOpen .gnavSpBg {
  opacity: 0.5;
  visibility: visible;
}
.gnavSpOpen .gnavSpBg:hover {
  opacity: 0.3;
}