@charset "UTF-8";
#load {
  width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  min-height: 550px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
}
#load.fade {
  -webkit-animation: fadeOut 1s linear;
          animation: fadeOut 1s linear;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
#load.loaded .load__container::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #005BAB;
  position: absolute;
  top: 0;
  left: 0;
}
#load.loaded .load__container::after {
  content: "";
  width: 150%;
  height: 100%;
  background: #005BAB;
  position: absolute;
  top: 0;
  left: 200%;
  -webkit-transform: skew(10deg) translateX(-50%);
          transform: skew(10deg) translateX(-50%);
}
#load.loaded .load__container--bg::before {
  content: "";
  width: 150%;
  height: 100%;
  background: #005BAB;
  position: absolute;
  top: 0;
  left: 200%;
  -webkit-transform: skew(10deg) translateX(-50%);
          transform: skew(10deg) translateX(-50%);
}
#load.loaded .load__container--bg div {
  opacity: 0;
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}
#load .load__container {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0 10px;
  background: #fff;
  display: grid;
}
#load .load__container--bg {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-content: center;
  align-self: center;
  grid-column: 1/2;
  grid-row: 1/2;
  position: relative;
  z-index: 999;
}
#load .load__container--bg svg path {
  -webkit-animation: color 2s linear infinite;
          animation: color 2s linear infinite;
}

/* ios safari */
@supports (font: -apple-system-body) and (-webkit-appearance: none) {
  #load .load__container__txt p {
    padding: 10px 2px 12px 16px;
  }
}
/* 古いsafari */
@media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
  @supports not (translate: none) {
    #load .load__container__txt p {
      padding: 10px 2px 8px 16px;
    }
  }
}
@-webkit-keyframes cross__before {
  0% {
    -webkit-transform: translate(-30%, -250%) rotate(45deg) scaleX(0);
            transform: translate(-30%, -250%) rotate(45deg) scaleX(0);
  }
  100% {
    -webkit-transform: translate(-30%, -250%) rotate(45deg) scaleX(1);
            transform: translate(-30%, -250%) rotate(45deg) scaleX(1);
  }
}
@keyframes cross__before {
  0% {
    -webkit-transform: translate(-30%, -250%) rotate(45deg) scaleX(0);
            transform: translate(-30%, -250%) rotate(45deg) scaleX(0);
  }
  100% {
    -webkit-transform: translate(-30%, -250%) rotate(45deg) scaleX(1);
            transform: translate(-30%, -250%) rotate(45deg) scaleX(1);
  }
}
@-webkit-keyframes cross__after {
  0% {
    -webkit-transform: translate(-73%, -250%) rotate(-45deg) scaleX(0);
            transform: translate(-73%, -250%) rotate(-45deg) scaleX(0);
  }
  100% {
    -webkit-transform: translate(-73%, -250%) rotate(-45deg) scaleX(1);
            transform: translate(-73%, -250%) rotate(-45deg) scaleX(1);
  }
}
@keyframes cross__after {
  0% {
    -webkit-transform: translate(-73%, -250%) rotate(-45deg) scaleX(0);
            transform: translate(-73%, -250%) rotate(-45deg) scaleX(0);
  }
  100% {
    -webkit-transform: translate(-73%, -250%) rotate(-45deg) scaleX(1);
            transform: translate(-73%, -250%) rotate(-45deg) scaleX(1);
  }
}
@-webkit-keyframes txt {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes txt {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes color {
  0% {
    fill: #FF3278;
  }
  62.5% {
    fill: #0150FF;
  }
  100% {
    fill: #FF3278;
  }
}
@keyframes color {
  0% {
    fill: #FF3278;
  }
  62.5% {
    fill: #0150FF;
  }
  100% {
    fill: #FF3278;
  }
}