/***************************************************
 * Generated by SVG Artista on 5/28/2024, 4:22:21 PM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/

@-webkit-keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 1360.3311767578125px;
    stroke-dasharray: 1360.3311767578125px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1360.3311767578125px;
  }
}

@keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 1360.3311767578125px;
    stroke-dasharray: 1360.3311767578125px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1360.3311767578125px;
  }
}

@-webkit-keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-1 {
  -webkit-animation: animate-svg-stroke-1 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both,
                       animate-svg-fill-1 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s both;
          animation: animate-svg-stroke-1 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both,
               animate-svg-fill-1 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s both;
}

@-webkit-keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 722.9559326171875px;
    stroke-dasharray: 722.9559326171875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 722.9559326171875px;
  }
}

@keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 722.9559326171875px;
    stroke-dasharray: 722.9559326171875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 722.9559326171875px;
  }
}

@-webkit-keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-2 {
  -webkit-animation: animate-svg-stroke-2 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both,
                       animate-svg-fill-2 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both;
          animation: animate-svg-stroke-2 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both,
               animate-svg-fill-2 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both;
}

@-webkit-keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 744.7998046875px;
    stroke-dasharray: 744.7998046875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 744.7998046875px;
  }
}

@keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 744.7998046875px;
    stroke-dasharray: 744.7998046875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 744.7998046875px;
  }
}

@-webkit-keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-3 {
  -webkit-animation: animate-svg-stroke-3 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s both,
                       animate-svg-fill-3 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s both;
          animation: animate-svg-stroke-3 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s both,
               animate-svg-fill-3 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s both;
}

@-webkit-keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 97.80003356933594px;
    stroke-dasharray: 97.80003356933594px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 97.80003356933594px;
  }
}

@keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 97.80003356933594px;
    stroke-dasharray: 97.80003356933594px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 97.80003356933594px;
  }
}

@-webkit-keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-4 {
  -webkit-animation: animate-svg-stroke-4 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s both,
                       animate-svg-fill-4 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2s both;
          animation: animate-svg-stroke-4 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s both,
               animate-svg-fill-4 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2s both;
}

@-webkit-keyframes animate-svg-stroke-5 {
  0% {
    stroke-dashoffset: 79.99996948242188px;
    stroke-dasharray: 79.99996948242188px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 79.99996948242188px;
  }
}

@keyframes animate-svg-stroke-5 {
  0% {
    stroke-dashoffset: 79.99996948242188px;
    stroke-dasharray: 79.99996948242188px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 79.99996948242188px;
  }
}

@-webkit-keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-5 {
  -webkit-animation: animate-svg-stroke-5 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s both,
                       animate-svg-fill-5 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s both;
          animation: animate-svg-stroke-5 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s both,
               animate-svg-fill-5 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s both;
}

@-webkit-keyframes animate-svg-stroke-6 {
  0% {
    stroke-dashoffset: 79.99996948242188px;
    stroke-dasharray: 79.99996948242188px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 79.99996948242188px;
  }
}

@keyframes animate-svg-stroke-6 {
  0% {
    stroke-dashoffset: 79.99996948242188px;
    stroke-dasharray: 79.99996948242188px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 79.99996948242188px;
  }
}

@-webkit-keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-6 {
  -webkit-animation: animate-svg-stroke-6 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both,
                       animate-svg-fill-6 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s both;
          animation: animate-svg-stroke-6 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both,
               animate-svg-fill-6 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s both;
}

@-webkit-keyframes animate-svg-stroke-7 {
  0% {
    stroke-dashoffset: 270.0000305175781px;
    stroke-dasharray: 270.0000305175781px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 270.0000305175781px;
  }
}

@keyframes animate-svg-stroke-7 {
  0% {
    stroke-dashoffset: 270.0000305175781px;
    stroke-dasharray: 270.0000305175781px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 270.0000305175781px;
  }
}

@-webkit-keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-7 {
  -webkit-animation: animate-svg-stroke-7 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s both,
                       animate-svg-fill-7 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s both;
          animation: animate-svg-stroke-7 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s both,
               animate-svg-fill-7 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s both;
}

@-webkit-keyframes animate-svg-stroke-8 {
  0% {
    stroke-dashoffset: 246.80003356933594px;
    stroke-dasharray: 246.80003356933594px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 246.80003356933594px;
  }
}

@keyframes animate-svg-stroke-8 {
  0% {
    stroke-dashoffset: 246.80003356933594px;
    stroke-dasharray: 246.80003356933594px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 246.80003356933594px;
  }
}

@-webkit-keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-8 {
  -webkit-animation: animate-svg-stroke-8 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s both,
                       animate-svg-fill-8 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both;
          animation: animate-svg-stroke-8 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s both,
               animate-svg-fill-8 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both;
}

@-webkit-keyframes animate-svg-stroke-9 {
  0% {
    stroke-dashoffset: 331.68670654296875px;
    stroke-dasharray: 331.68670654296875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 331.68670654296875px;
  }
}

@keyframes animate-svg-stroke-9 {
  0% {
    stroke-dashoffset: 331.68670654296875px;
    stroke-dasharray: 331.68670654296875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 331.68670654296875px;
  }
}

@-webkit-keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-9 {
  -webkit-animation: animate-svg-stroke-9 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.96s both,
                       animate-svg-fill-9 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s both;
          animation: animate-svg-stroke-9 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.96s both,
               animate-svg-fill-9 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s both;
}

@-webkit-keyframes animate-svg-stroke-10 {
  0% {
    stroke-dashoffset: 97.99998474121094px;
    stroke-dasharray: 97.99998474121094px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 97.99998474121094px;
  }
}

@keyframes animate-svg-stroke-10 {
  0% {
    stroke-dashoffset: 97.99998474121094px;
    stroke-dasharray: 97.99998474121094px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 97.99998474121094px;
  }
}

@-webkit-keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-10 {
  -webkit-animation: animate-svg-stroke-10 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.08s both,
                       animate-svg-fill-10 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s both;
          animation: animate-svg-stroke-10 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.08s both,
               animate-svg-fill-10 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s both;
}

@-webkit-keyframes animate-svg-stroke-11 {
  0% {
    stroke-dashoffset: 79.80001831054688px;
    stroke-dasharray: 79.80001831054688px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 79.80001831054688px;
  }
}

@keyframes animate-svg-stroke-11 {
  0% {
    stroke-dashoffset: 79.80001831054688px;
    stroke-dasharray: 79.80001831054688px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 79.80001831054688px;
  }
}

@-webkit-keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-11 {
  -webkit-animation: animate-svg-stroke-11 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both,
                       animate-svg-fill-11 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s both;
          animation: animate-svg-stroke-11 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both,
               animate-svg-fill-11 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s both;
}

@-webkit-keyframes animate-svg-stroke-12 {
  0% {
    stroke-dashoffset: 79.80001831054688px;
    stroke-dasharray: 79.80001831054688px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 79.80001831054688px;
  }
}

@keyframes animate-svg-stroke-12 {
  0% {
    stroke-dashoffset: 79.80001831054688px;
    stroke-dasharray: 79.80001831054688px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 79.80001831054688px;
  }
}

@-webkit-keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-12 {
  -webkit-animation: animate-svg-stroke-12 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3199999999999998s both,
                       animate-svg-fill-12 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s both;
          animation: animate-svg-stroke-12 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3199999999999998s both,
               animate-svg-fill-12 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s both;
}

@-webkit-keyframes animate-svg-stroke-13 {
  0% {
    stroke-dashoffset: 270.0000305175781px;
    stroke-dasharray: 270.0000305175781px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 270.0000305175781px;
  }
}

@keyframes animate-svg-stroke-13 {
  0% {
    stroke-dashoffset: 270.0000305175781px;
    stroke-dasharray: 270.0000305175781px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 270.0000305175781px;
  }
}

@-webkit-keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-13 {
  -webkit-animation: animate-svg-stroke-13 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.44s both,
                       animate-svg-fill-13 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9000000000000004s both;
          animation: animate-svg-stroke-13 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.44s both,
               animate-svg-fill-13 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9000000000000004s both;
}

@-webkit-keyframes animate-svg-stroke-14 {
  0% {
    stroke-dashoffset: 319.79998779296875px;
    stroke-dasharray: 319.79998779296875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 319.79998779296875px;
  }
}

@keyframes animate-svg-stroke-14 {
  0% {
    stroke-dashoffset: 319.79998779296875px;
    stroke-dasharray: 319.79998779296875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 319.79998779296875px;
  }
}

@-webkit-keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

@keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(8, 15, 50);
  }
}

.svg-elem-14 {
  -webkit-animation: animate-svg-stroke-14 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.56s both,
                       animate-svg-fill-14 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 3s both;
          animation: animate-svg-stroke-14 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.56s both,
               animate-svg-fill-14 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 3s both;
}

/* 入口のロゴ（index.html に重ねて表示。本文は下で読み込み済み） */
.splash { display: none; }
.has-splash body { overflow: hidden; }
.has-splash .splash {
  position: fixed;
  inset: 0;
  z-index: 99;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
}
.splash svg {
  max-width: 90vw;
  height: auto;
  animation: fadein 5s;
}
@keyframes fadein {
  from { opacity: 0; }
  to { opacity: 1; }
}
