@charset "utf-8";

@media screen and (max-width:980px) {

  /*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
  #menu {
    position: relative;
    /*ボタン内側の基点となるためrelativeを指定*/
    background: transparent;
    cursor: pointer;
    width: 100%;
    height: 100%;
  }

  /*ボタン内側*/
  #menu span {
    display: inline-block;
    transition: all .4s;
    /*アニメーションの設定*/
    position: absolute;
    left: 3.5vw;
    height: 0.62vw;
    border-radius: 5px;
    background: #fff;
    width: 60%;
  }

  header #header_top .container:nth-child(5){
    right: 0;
  }

  #menu span:nth-of-type(1) {
    top: 3.5vw;
  }

  #menu span:nth-of-type(2) {
    top: 7vw;
  }

  #menu span:nth-of-type(3) {
    top: 10.5vw;
  }

  #menu div {
    position: absolute;
    top: 12.5vw;
    left: 3.8vw;
    color: #fff;
    font-size: 0.8rem;
    text-transform: uppercase;
  }

  /*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

  #menu.open span:nth-of-type(1) {
    top: 14px;
    left: 10px;
    transform: translateY(12px) rotate(-45deg);
    width: 75%;
  }

  #menu.open span:nth-of-type(2) {
    opacity: 0;
  }

  #menu.open span:nth-of-type(3) {
    top: 32px;
    left: 10px;
    transform: translateY(-6px) rotate(45deg);
    width: 75%;
  }

  .sp_menu {
    background-color: rgba(0, 0, 0, .5);
    position: fixed;
    top: 17vw;
    right: -100%;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-content: center;
    color: white;
    text-align: center;
    transition: .5s;
    display: block;
  }

  .sp_menu ul {
    padding-inline: 0;
  }

  .sp_menu li {
    list-style: none;
    margin-top: 1.5rem;
    cursor: pointer;
  }

  .sp_menu div {
    background-color: #576bc4b7;
    position: relative;
    top: -6vw;
    height: 100%;
    width: 80%;
  }

  .sp_menu div ul {
    position: relative;
    margin: auto auto;
    top: 30vw;
  }

  .sp_menu div li {
    font-size: 4.8vw;
    padding-top: 5vw;
    padding-bottom: 5vw;
    font-weight: bold;
  }

  .sp_menu.open {
    right: 0;
  }
}