body {
/*  background: black;*/
font-family: "ＭＳ ゴシック",sans-serif;


}

.m-10 {
  margin: 25px;
}

.glitch {
  color: white;
  font-size: 45px;
  position: relative;
  margin: 10px;
}

@keyframes noise-anim {
  0% {
    clip: rect(77px, 9999px, 6px, 0);
  }
  5% {
    clip: rect(65px, 9999px, 70px, 0);
  }
  10% {
    clip: rect(82px, 9999px, 82px, 0);
  }
  15% {
    clip: rect(32px, 9999px, 35px, 0);
  }
  20% {
    clip: rect(31px, 9999px, 49px, 0);
  }
  25% {
    clip: rect(18px, 9999px, 46px, 0);
  }
  30% {
    clip: rect(94px, 9999px, 64px, 0);
  }
  35% {
    clip: rect(69px, 9999px, 31px, 0);
  }
  40% {
    clip: rect(6px, 9999px, 72px, 0);
  }
  45% {
    clip: rect(25px, 9999px, 35px, 0);
  }
  50% {
    clip: rect(82px, 9999px, 26px, 0);
  }
  55% {
    clip: rect(7px, 9999px, 92px, 0);
  }
  60% {
    clip: rect(54px, 9999px, 30px, 0);
  }
  65% {
    clip: rect(86px, 9999px, 90px, 0);
  }
  70% {
    clip: rect(38px, 9999px, 65px, 0);
  }
  75% {
    clip: rect(41px, 9999px, 66px, 0);
  }
  80% {
    clip: rect(31px, 9999px, 37px, 0);
  }
  85% {
    clip: rect(8px, 9999px, 12px, 0);
  }
  90% {
    clip: rect(50px, 9999px, 69px, 0);
  }
  95% {
    clip: rect(7px, 9999px, 42px, 0);
  }
  100% {
    clip: rect(14px, 9999px, 57px, 0);
  }
}
.glitch:after {
  content: attr(data-text);
  position: absolute;
  left: 2px;
  text-shadow: -1px 0 red;
  top: 0;
  color: white;
/*  background: black;*/
  overflow: hidden;
  clip: rect(0, 900px, 0, 0);
  animation: noise-anim 2s infinite linear alternate-reverse;
}

@keyframes noise-anim-2 {
  0% {
    clip: rect(18px, 9999px, 13px, 0);
  }
  5% {
    clip: rect(74px, 9999px, 51px, 0);
  }
  10% {
    clip: rect(33px, 9999px, 65px, 0);
  }
  15% {
    clip: rect(64px, 9999px, 66px, 0);
  }
  20% {
    clip: rect(75px, 9999px, 6px, 0);
  }
  25% {
    clip: rect(40px, 9999px, 49px, 0);
  }
  30% {
    clip: rect(71px, 9999px, 1px, 0);
  }
  35% {
    clip: rect(42px, 9999px, 73px, 0);
  }
  40% {
    clip: rect(92px, 9999px, 57px, 0);
  }
  45% {
    clip: rect(4px, 9999px, 33px, 0);
  }
  50% {
    clip: rect(4px, 9999px, 34px, 0);
  }
  55% {
    clip: rect(49px, 9999px, 25px, 0);
  }
  60% {
    clip: rect(24px, 9999px, 44px, 0);
  }
  65% {
    clip: rect(31px, 9999px, 99px, 0);
  }
  70% {
    clip: rect(54px, 9999px, 83px, 0);
  }
  75% {
    clip: rect(57px, 9999px, 97px, 0);
  }
  80% {
    clip: rect(3px, 9999px, 15px, 0);
  }
  85% {
    clip: rect(84px, 9999px, 34px, 0);
  }
  90% {
    clip: rect(100px, 9999px, 88px, 0);
  }
  95% {
    clip: rect(91px, 9999px, 59px, 0);
  }
  100% {
    clip: rect(10px, 9999px, 87px, 0);
  }
}
.glitch:before {
  content: attr(data-text);
  position: absolute;
  left: -2px;
  text-shadow: 1px 0 blue;
  top: 0;
  color: white;
/*  background: black;*/
  overflow: hidden;
  clip: rect(0, 900px, 0, 0);
  animation: noise-anim-2 3s infinite linear alternate-reverse;
}

.glitch2 {
  color: white;
  font-size: 45px;
  position: relative;
  margin: 10px;
}

.glitch2:after {
  content: attr(data-text);
  position: absolute;
  left: 2px;
  text-shadow: -1px 0 red;
  top: 0;
  color: white;
/*  background: black;*/
  overflow: hidden;
  clip: rect(0, 900px, 0, 0);
  animation: noise-anim 4s infinite linear alternate-reverse;
}
.glitch2:before {
  content: attr(data-text);
  position: absolute;
  left: -2px;
  text-shadow: 1px 0 blue;
  top: 0;
  color: white;
/*  background: black;*/
  overflow: hidden;
  clip: rect(0, 900px, 0, 0);
  animation: noise-anim-2 4s infinite linear alternate-reverse;
}

.glitch3 {
  color: white;
  font-size: 45px;
  position: relative;
  margin: 10px;
}

.glitch3:after {
  content: attr(data-text);
  position: absolute;
  left: 2px;
  text-shadow: -1px 0 red;
  top: 0;
  color: white;
/*  background: black;*/
  overflow: hidden;
  clip: rect(0, 900px, 0, 0);
  animation: noise-anim 2s infinite linear alternate-reverse;
}
.glitch3:before {
  content: attr(data-text);
  position: absolute;
  left: -2px;
  text-shadow: 1px 0 blue;
  top: 0;
  color: white;
/*  background: black;*/
  overflow: hidden;
  clip: rect(0, 900px, 0, 0);
  animation: noise-anim-2 1s infinite linear alternate-reverse;
}


====
#container { text-align: center; }
#btn {
    display: inline-block;
    border: 1px solid #ffbc30;
    color: #ffffff;
    background-color: black;
    padding: 12px 30px;
    cursor: pointer;
    transition: .2s linear;
}
#btn:hover {
    color: #ffbc30;
    background-color: #ffffff;
}
.modal {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: black;
    z-index: 3;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: 200ms ease;
}
.modal.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
#close {
    display: inline-block;
    position: fixed;
    right: 50px;
    top: 70px;
    transition: .2s linear;
    cursor: pointer;
}
#close:hover {
    opacity: .7;
}
#close:before,
#close:after {
    content: "";
    position: absolute;
    background-color: #ffffff;
    width: 5px;
    height: 25px;
    transform: rotate(45deg);
}
#close:after {
    transform: rotate(-45deg);
}


.wrapper {
  height: 100%; // 高さを画面いっぱいに指定する。(vhが効かない場合の対策)
  height: 100vh; // 高さを画面いっぱいに指定する。
  position: relative;  //横幅がウィンドウズサイズの縦幅よりもはみ出てしまう場合に、左にずらすために指定。
  width: 100%; // 横幅もいっぱいに。
}

#video {
  background-attachment: fixed; // 中央揃えになるように、fixed。
  background-position: center center; // positionも中央に。
  background-size: cover; // 画面サイズに応じてサイズを可変するように設定。
  left: 0;
  // 以下、画面いっぱいにするためのCSS設定
  min-height: 100%;
  min-height: 100vh;
  min-width: 100%;
  min-width: 100vw;
  // wrapperのサイズに応じて、leftの位置をjQueryで指定するため、positionはabsoluteにします。
  position: absolute;
  top: 0;
  // z-indexは調整してください。
  z-index: 1;
}
