@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');

/***************************************************
 * Generated by SVG Artista on 8/25/2025, 11:17:39 AM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/

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

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

@keyframes animate-toplogo_svg-stroke-1 {
  0% {
    stroke-dashoffset: 3336.5751953125px;
    stroke-dasharray: 3336.5751953125px;
  }

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

.top_logo_ani-1 {
  -webkit-animation: animate-toplogo_svg-stroke-1 10s linear 0s both;
          animation: animate-toplogo_svg-stroke-1 10s linear 0s both;
}



/***************************************************
 * Generated by SVG Artista on 7/22/2025, 5:08:36 PM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/

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

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

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

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

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

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

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

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

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

.top_logo_svg_whi-2 {
  -webkit-animation: animate-svg-stroke-2 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3s both,
                       animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.1s both;
          animation: animate-svg-stroke-2 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3s both,
               animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.1s both;
}

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

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

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

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

.top_logo_svg_whi-3 {
  -webkit-animation: animate-svg-stroke-3 3s cubic-bezier(0.47, 0, 0.745, 0.715) 6s both,
                       animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.2s both;
          animation: animate-svg-stroke-3 3s cubic-bezier(0.47, 0, 0.745, 0.715) 6s both,
               animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.2s both;
}

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-4 {
  -webkit-animation: animate-svg-stroke-4 3s cubic-bezier(0.47, 0, 0.745, 0.715) 9s both,
                       animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.3s both;
          animation: animate-svg-stroke-4 3s cubic-bezier(0.47, 0, 0.745, 0.715) 9s both,
               animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.3s both;
}

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-5 {
  -webkit-animation: animate-svg-stroke-5 3s cubic-bezier(0.47, 0, 0.745, 0.715) 12s both,
                       animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.4s both;
          animation: animate-svg-stroke-5 3s cubic-bezier(0.47, 0, 0.745, 0.715) 12s both,
               animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.4s both;
}

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-6 {
  -webkit-animation: animate-svg-stroke-6 3s cubic-bezier(0.47, 0, 0.745, 0.715) 15s both,
                       animate-svg-fill-6 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.5s both;
          animation: animate-svg-stroke-6 3s cubic-bezier(0.47, 0, 0.745, 0.715) 15s both,
               animate-svg-fill-6 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.5s both;
}

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-7 {
  -webkit-animation: animate-svg-stroke-7 3s cubic-bezier(0.47, 0, 0.745, 0.715) 18s both,
                       animate-svg-fill-7 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.6s both;
          animation: animate-svg-stroke-7 3s cubic-bezier(0.47, 0, 0.745, 0.715) 18s both,
               animate-svg-fill-7 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.6s both;
}

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-8 {
  -webkit-animation: animate-svg-stroke-8 3s cubic-bezier(0.47, 0, 0.745, 0.715) 21s both,
                       animate-svg-fill-8 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.7s both;
          animation: animate-svg-stroke-8 3s cubic-bezier(0.47, 0, 0.745, 0.715) 21s both,
               animate-svg-fill-8 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.7s both;
}

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-9 {
  -webkit-animation: animate-svg-stroke-9 3s cubic-bezier(0.47, 0, 0.745, 0.715) 24s both,
                       animate-svg-fill-9 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.8s both;
          animation: animate-svg-stroke-9 3s cubic-bezier(0.47, 0, 0.745, 0.715) 24s both,
               animate-svg-fill-9 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.8s both;
}

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-10 {
  -webkit-animation: animate-svg-stroke-10 3s cubic-bezier(0.47, 0, 0.745, 0.715) 27s both,
                       animate-svg-fill-10 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.9s both;
          animation: animate-svg-stroke-10 3s cubic-bezier(0.47, 0, 0.745, 0.715) 27s both,
               animate-svg-fill-10 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.9s both;
}

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-11 {
  -webkit-animation: animate-svg-stroke-11 3s cubic-bezier(0.47, 0, 0.745, 0.715) 30s both,
                       animate-svg-fill-11 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4s both;
          animation: animate-svg-stroke-11 3s cubic-bezier(0.47, 0, 0.745, 0.715) 30s both,
               animate-svg-fill-11 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4s both;
}

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-12 {
  -webkit-animation: animate-svg-stroke-12 3s cubic-bezier(0.47, 0, 0.745, 0.715) 33s both,
                       animate-svg-fill-12 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.1s both;
          animation: animate-svg-stroke-12 3s cubic-bezier(0.47, 0, 0.745, 0.715) 33s both,
               animate-svg-fill-12 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.1s both;
}

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-13 {
  -webkit-animation: animate-svg-stroke-13 3s cubic-bezier(0.47, 0, 0.745, 0.715) 36s both,
                       animate-svg-fill-13 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s both;
          animation: animate-svg-stroke-13 3s cubic-bezier(0.47, 0, 0.745, 0.715) 36s both,
               animate-svg-fill-13 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s both;
}

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-14 {
  -webkit-animation: animate-svg-stroke-14 3s cubic-bezier(0.47, 0, 0.745, 0.715) 39s both,
                       animate-svg-fill-14 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.3s both;
          animation: animate-svg-stroke-14 3s cubic-bezier(0.47, 0, 0.745, 0.715) 39s both,
               animate-svg-fill-14 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.3s both;
}

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

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

@keyframes animate-svg-stroke-15 {
  0% {
    stroke-dashoffset: 99.66390228271484px;
    stroke-dasharray: 99.66390228271484px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-15 {
  -webkit-animation: animate-svg-stroke-15 3s cubic-bezier(0.47, 0, 0.745, 0.715) 42s both,
                       animate-svg-fill-15 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.4s both;
          animation: animate-svg-stroke-15 3s cubic-bezier(0.47, 0, 0.745, 0.715) 42s both,
               animate-svg-fill-15 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.4s both;
}

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

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

@keyframes animate-svg-stroke-16 {
  0% {
    stroke-dashoffset: 91.57844543457031px;
    stroke-dasharray: 91.57844543457031px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-16 {
  -webkit-animation: animate-svg-stroke-16 3s cubic-bezier(0.47, 0, 0.745, 0.715) 45s both,
                       animate-svg-fill-16 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.5s both;
          animation: animate-svg-stroke-16 3s cubic-bezier(0.47, 0, 0.745, 0.715) 45s both,
               animate-svg-fill-16 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.5s both;
}

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

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

@keyframes animate-svg-stroke-17 {
  0% {
    stroke-dashoffset: 91.57845306396484px;
    stroke-dasharray: 91.57845306396484px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-17 {
  -webkit-animation: animate-svg-stroke-17 3s cubic-bezier(0.47, 0, 0.745, 0.715) 48s both,
                       animate-svg-fill-17 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.6s both;
          animation: animate-svg-stroke-17 3s cubic-bezier(0.47, 0, 0.745, 0.715) 48s both,
               animate-svg-fill-17 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.6s both;
}

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

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

@keyframes animate-svg-stroke-18 {
  0% {
    stroke-dashoffset: 123.79093170166016px;
    stroke-dasharray: 123.79093170166016px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-18 {
  -webkit-animation: animate-svg-stroke-18 3s cubic-bezier(0.47, 0, 0.745, 0.715) 51s both,
                       animate-svg-fill-18 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.7s both;
          animation: animate-svg-stroke-18 3s cubic-bezier(0.47, 0, 0.745, 0.715) 51s both,
               animate-svg-fill-18 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.7s both;
}

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

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

@keyframes animate-svg-stroke-19 {
  0% {
    stroke-dashoffset: 115.27583312988281px;
    stroke-dasharray: 115.27583312988281px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-19 {
  -webkit-animation: animate-svg-stroke-19 3s cubic-bezier(0.47, 0, 0.745, 0.715) 54s both,
                       animate-svg-fill-19 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.8s both;
          animation: animate-svg-stroke-19 3s cubic-bezier(0.47, 0, 0.745, 0.715) 54s both,
               animate-svg-fill-19 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.8s both;
}

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

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

@keyframes animate-svg-stroke-20 {
  0% {
    stroke-dashoffset: 65.19999694824219px;
    stroke-dasharray: 65.19999694824219px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_svg_whi-20 {
  -webkit-animation: animate-svg-stroke-20 3s cubic-bezier(0.47, 0, 0.745, 0.715) 57s both,
                       animate-svg-fill-20 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.9s both;
          animation: animate-svg-stroke-20 3s cubic-bezier(0.47, 0, 0.745, 0.715) 57s both,
               animate-svg-fill-20 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.9s both;
}


body {
    position: relative;
    font-family: "Adobe Garamond Pro", "Zen Old Mincho", serif;
    margin: 0;
    padding: 0;
}

* {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><circle cx='12' cy='12' r='8' fill='rgba(51,51,51,0.8)'/></svg>") 12 12, auto;
}

.br_pc {
  display: block;
}

.br_sp {
  display: none;
}

.header_sp {
  display: none;
}

.header_sp02 {
  display: none;
}

.top {
    position: relative;
    height: 100vh;
}

.movie_blk {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.movie_blk video {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    position: fixed;
    top: 0;
    left: 0;
    filter: brightness(0.7);
}

.topLogoBox {
    text-align: center;
    width: 150vw;
    margin-left: -25vw;
    position: relative;
    padding-top: 0;
    display: flex;
    top: -10vh;
    overflow: hidden;
}

.topLogoBox_sp {
    display: none;
}

.header_logo {
    width: 120px;
    padding-left: 50px;
    margin-top: 30px;
}

#top_logo {
    text-align: center;
    z-index: 2;
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.svg-elem-1 {
    opacity: 0.8;
}

.svg-elem-2 {
    opacity: 0.8;
}

.svg-elem-3 {
    opacity: 0.8;
}

.svg-elem-4 {
    opacity: 0.8;
}

.svg-elem-5 {
    opacity: 0.8;
}

.section {
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.section_inner {
    width: 1100px;
    margin: 0 auto;
}

/* top concept */

.concept {
    position: relative;
    z-index: 3;
    padding: 150px 0;
}

.top_concept_cntainer {
    display: flex;
    width: 100%;
}

.top_concept_box01 {
    width: 50%;
    font-weight: 500;
    font-size: 28px;
    letter-spacing: 0.1em;
    line-height: 80px;
    text-align: left;
    color: #fff;
}

.top_concept_box02 {
    width: 50%;
}

.top_concept_text01 {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.15em;
    line-height: 40px;
    text-align: left;
    color: #fff;
    margin: 0;
}

.top_concept_text02 {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.15em;
    line-height: 25px;
    text-align: left;
    color: #fff;
    margin: 40px 0 0 0;
}

.section_inner_concept.fixed {
  position: fixed;
  top: 60px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 10;
}

.section_inner_concept {
    width: 1100px;
    margin: 0 auto;
}

.top_concept_img_box {
    width: 100%;
    margin: 0 auto;
    padding-top: 160px;
    position: relative;
}

.top_con_img01 {
    width: 1150px;
    margin: 0 auto;
    text-align: right;
}

.top_con_img02 {
    width: 1280px;
    margin: 250px auto 0 auto;
}

.top_con_img03 {
    width: 1120px;
    margin: 250px auto 0 auto;
    text-align: right;
}

.top_con_img04 {
    width: 1200px;
    margin: 250px auto 0 auto;
}

.top_con_img05 {
    width: 1150px;
    margin: 250px auto 0 auto;
    text-align: right;
}

.concept .line_svg_concept {
    position: absolute;
    top: 500px;
    left: 0;
    width: 100%;
    height: 300px;
    z-index: -1;
    pointer-events: none;
    overflow: visible;
}

.concept .line_path_concept {
    stroke: #fff;
    stroke-width: 1;
    fill: none;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
}

.concept .line_svg_concept02 {
    position: absolute;
    top: 1200px;
    left: 0;
    width: 100%;
    height: 500px;
    z-index: -1;
    pointer-events: none;
    overflow: visible;
}

.concept .line_path_concept02 {
    stroke: #fff;
    stroke-width: 1;
    fill: none;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
}

.concept .line_svg_concept03 {
    position: absolute;
    top: 1900px;
    left: 0;
    width: 100%;
    height: 300px;
    z-index: -1;
    pointer-events: none;
    overflow: visible;
}

.concept .line_path_concept03 {
    stroke: #fff;
    stroke-width: 2;
    fill: none;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
}

.concept .line_svg_concept04 {
    position: absolute;
    top: 2600px;
    left: 0;
    width: 100%;
    height: 300px;
    z-index: -1;
    pointer-events: none;
    overflow: visible;
}

.concept .line_path_concept04 {
    stroke: #fff;
    stroke-width: 2;
    fill: none;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
}

.concept .line_svg_concept05 {
    position: absolute;
    top: 2900px;
    left: 0;
    width: 100%;
    height: 300px;
    z-index: -1;
    pointer-events: none;
    overflow: visible;
}

.concept .line_path_concept05 {
    stroke: #fff;
    stroke-width: 2;
    fill: none;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
}

/* top service */

.top_service_wave_box {
    position: relative;
    bottom: -10px;
    width: 100%;
    z-index: 3;
}

.top_service_wave_box img {
    width: 100%;
    height: auto;
}

svg .top_service_title_svg-1 {
  stroke-dashoffset: 591.3385620117188px;
  stroke-dasharray: 591.3385620117188px;
  -webkit-transition: stroke-dashoffset 3s ease-out 0s;
          transition: stroke-dashoffset 3s ease-out 0s;
}

svg.active .top_service_title_svg-1 {
  stroke-dashoffset: 0;
}

svg .top_service_title_svg-2 {
  stroke-dashoffset: 5.0678160190582275px;
  stroke-dasharray: 5.0678160190582275px;
  -webkit-transition: stroke-dashoffset 3s ease-out 0s;
          transition: stroke-dashoffset 3s ease-out 0s;
}

svg.active .top_service_title_svg-2 {
  stroke-dashoffset: 0;
}

.service {
    position: relative;
    z-index: 3;
    padding: 100px 0 250px 0;
    background-color: #F8F8F6;
}

.svg-box02 {
    margin: 0 0 150px 0;
}

.c-btn {
    background: #fff;
    border: 1px solid #a4a4a4;
    border-radius: 20px;
    color: #292828;
    display: block;
    font-weight: normal;
    max-width: 200px;
    height: 40px;
    line-height: 40px;
    padding: 0;
    text-align: center;
}

.c-btn.circle {
    background: #fff;
    color: #a4a4a4;
    overflow: hidden;
    position: relative;
    transition-duration: .4s;
    z-index: 2;
    text-align: center;
    width: 100%;
    margin: 100px auto 0 auto;
}

.circle_top_about {
    margin: 50px 0 0 0 !important;
}

.c-btn.circle span {
    font-size: 6px;
    padding-right: 20px;
    vertical-align: middle;
}

.c-btn.circle::after {
    background: #a4a4a4;
    border-radius: 50%;
    content: "";
    display: block;
    margin: auto;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    width: 100%;
    padding-top: 100%;
    height: 0;
    z-index: -1;
    transform: translateY(-50%) scale(0.1);
    transition: opacity .5s, transform 0s;
    transition-delay: 0s, .4s;
}

.c-btn.circle a {
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #292828;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 14px;
    letter-spacing: 0.15em;
    line-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.c-btn.circle:hover {
  color: #fff;
}
.c-btn.circle:hover::after {
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
  transition-delay: 0s;
  transition: opacity .8s, transform .6s ease-in-out;
}

.top_service_cnt {
    display: flex;
    margin-bottom: 180px;
}

.top_service_box01 {
    width: 50%;
}

.top_service_box02 {
    width: 50%;
}

.top_service_subTitle_jp {
    font-weight: 500;
    font-size: 30px;
    letter-spacing: 0.1em;
    line-height: 60px;
    text-align: left;
    color: #292828;
    margin: 0;
}

.top_service_subTitle_en {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
    color: #292828;
    margin: 10px 0 0 0;
}

.top_service_text01 {
    margin: 0;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.15em;
    line-height: 40px;
    text-align: left;
    color: #292828;
}

/* top */

.top_title {
    width: 300px;
    height: auto;
    font-size: 100px;
    padding: 0;
    margin: 0;
}

canvas {
      position: fixed;
      top: 0;
      left: 0;
      pointer-events: none;
      z-index: 9999;
    }

    @import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400&display=swap');

/* .scroll_down {
    position: fixed;
    bottom: -60px;
    left: 50%;
    height: 100px;
    z-index: 5;
}

.scroll_down a {
    position: absolute;
    left: 10px;
    bottom: 100px;
    color: #fff;
    font-size: 12px;
    font-family: 'Josefin Sans', sans-serif;
    letter-spacing: .2em;
    writing-mode: vertical-lr;
    text-decoration: none;
    text-transform: uppercase;
}

.scroll_down:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: -5px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #fff;
    animation: circlemove 2.6s ease-in-out infinite,
    cirlemovehide 2.6s ease-out infinite;
}

@keyframes circlemove{
  0%{bottom:160px;}
  100%{bottom:0px;}
}

@keyframes cirlemovehide{
  0%{opacity:0}
  50%{opacity:1;}
  80%{opacity:0.9;}
  100%{opacity:0;}
}

.scroll_down:after{
  content:"";
  position: absolute;
  bottom:0;
  left:0;
  width:1px;
  height: 160px;
  background:#fff;
} */

/* スクロールダウンの位置 */
.scroll {
    position: absolute;
    right: 50%;
    bottom: 250px;
    writing-mode: vertical-rl;
    z-index: 1;
    color: #fff;
}
/* 線のアニメーション部分 */
.scroll::before {
  animation: scroll 2s infinite;
  background-color: #fff;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
  z-index: 2;
}
/* 線の背景色 */
.scroll::after {
    background-color: #999;
    bottom: -115px;
    content: "";
    height: 100px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 1px;
}
/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.animate-fade-in-up {
  opacity: 0;
  animation: fadeInUp 1s ease-out forwards;
}


.header {
    position: relative;
    top: 0;
    right: 0;
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    z-index: 9;
}

.gnav {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 50px 0 0;
    align-items: center;
}

.gnav_item {
    margin-right: 50px;
    padding-top: 2px;
}

.gnav_item a {
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 1;
}

.gnav_item a:hover {
    border-bottom: 1px solid #fff;
    transition: all 0.3s ease;
}

.gnav_item_contact {
    position: relative;
    width: 120px;
    height: 40px;
    border: 1px solid #fff;
    padding: 0;
    text-align: center;
}

.gnav_item_contact a {
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 42px;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
}

.gnav_item_contact a:hover {
    border-bottom: 1px solid #fff;
    background-color: #fff;
    transition: all 0.3s ease;
}

.gnav_item_contact a:hover {
    color: #333;
}

.gnav_item_contact02 {
    position: relative;
    width: 120px;
    height: 40px;
    border: 1px solid #292828;
    padding: 0;
    text-align: center;
}

.gnav_item_contact02 a {
    color: #292828;
    text-decoration: none;
    transition: all 0.3s ease;
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 42px;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
}

.gnav_item_contact02 a:hover {
    border-bottom: 1px solid #292828;
    background-color: #292828;
    transition: all 0.3s ease;
}

.gnav_item_contact02 a:hover {
    color: #fff;
}

.gnav02 {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 15px 50px 0 0;
    align-items: center;
}

.gnav_item02 {
    margin-right: 50px;
    padding-top: 2px;
}

.gnav_item02 a {
    color: #292828;
    text-decoration: none;
    transition: all 0.3s ease;
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 1;
}

.gnav_item02 a:hover {
    border-bottom: 1px solid #292828;
    transition: all 0.3s ease;
}

/* top works */

.works {
    position: relative;
    z-index: 3;
    padding: 0 0 250px 0;
    background-color: #F8F8F6;
}

.section_works_innner {
    height: 100%;
}

svg .top_works_title_svg-1 {
  stroke-dashoffset: 703.6085205078125px;
  stroke-dasharray: 703.6085205078125px;
  -webkit-transition: stroke-dashoffset 3s ease-out 0s;
          transition: stroke-dashoffset 3s ease-out 0s;
}

svg.active .top_works_title_svg-1 {
  stroke-dashoffset: 0;
}

.top_works_cnt {
    display: flex;
    padding-top: 100px;
    justify-content: space-between;
}

.top_works_box01 {
    width: 32%;
}


/* top news */

.news {
    position: relative;
    z-index: 3;
    padding: 0 0 200px 0;
    background-color: #F8F8F6;
}

.top_newsWrap {
    width: 1100px;
    margin: 0 auto;
    display: flex;
}

.top_news_box01 {
    width: 50%;
}

.top_news_box02 {
    width: 50%;
}

.top_news_link {
    display: block;
    margin: 100px 0 0 0 !important;
}

.top_news_link_sp {
    display: none;
}

svg .top_news_title_svg-1 {
  stroke-dashoffset: 426.9808654785156px;
  stroke-dasharray: 426.9808654785156px;
  -webkit-transition: stroke-dashoffset 3s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
          transition: stroke-dashoffset 3s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}

svg.active .top_news_title_svg-1 {
  stroke-dashoffset: 0;
}

/* top contact */

.contact {
    position: relative;
    z-index: 3;
    padding: 250px 0;
    background-color: #F8F8F6;
    background-image: url(../img/top/contact/contact_bg.jpg);
}

.top_contact_cnt {
    width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.top_contact_box01 {
    width: 40%;
}

.top_contact_box02 {
    width: 60%;
}

.top_contact_title {
    margin: 0;
    font-weight: 500;
    font-size: 28px;
    letter-spacing: 0.1em;
    line-height: 60px;
    text-align: left;
    color: #fff;
}

.top_contact_text {
    margin: 20px 0 0 0;
    font-size: 16px;
    letter-spacing: 0.15em;
    line-height: 40px;
    text-align: left;
    color: #fff;
}

.top_contact_text_tel {
    margin: 50px 0 0 0;
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.2em;
    line-height: 40px;
    text-align: left;
    color: #fff;
    font-family: 'Zen Old Mincho';
}

.top_contact_text_tel a {
    color: #fff;
    text-decoration: none;
}

svg .top_contact_title_svg-1 {
  stroke-dashoffset: 786.4539794921875px;
  stroke-dasharray: 786.4539794921875px;
  -webkit-transition: stroke-dashoffset 3s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
          transition: stroke-dashoffset 3s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}

svg.active .top_contact_title_svg-1 {
  stroke-dashoffset: 0;
}

svg .top_contact_title_svg-2 {
  stroke-dashoffset: 46.358009338378906px;
  stroke-dasharray: 46.358009338378906px;
  -webkit-transition: stroke-dashoffset 3s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
          transition: stroke-dashoffset 3s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
}

svg.active .top_contact_title_svg-2 {
  stroke-dashoffset: 0;
}

svg .top_contact_title_svg-3 {
  stroke-dashoffset: 54.93370819091797px;
  stroke-dasharray: 54.93370819091797px;
  -webkit-transition: stroke-dashoffset 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2s;
          transition: stroke-dashoffset 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2s;
}

svg.active .top_contact_title_svg-3 {
  stroke-dashoffset: 0;
}

.top_contact_link {
    display: block;
    margin: 50px 0 0 0 !important;
}

/* top svg line */

/* .concept .line_path_concept {
    stroke: #fff;
    stroke-width: 1;
    fill: none;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
} */

.service .line_svg_service {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 300px;
    z-index: 0;
    pointer-events: none;
    overflow: visible;
}

.service .line_path_service {
    stroke: #111;
    stroke-width: 2;
    fill: none;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
}

/* top footer */

footer {
    position: relative;
    min-height: 380px;
    background-color: #fff;
    display: flex;
    justify-content: center;
    z-index: 4;
}

.footer {
    margin: 0 50px;
    width: 100%;
    background-color: #fff;
    border-radius: 10px;
    margin-top: -127px;
}

.footer_cnt {
    display: flex;
    width: 1100px;
    margin: 0 auto;
    padding: 100px 0 0 0;
}

.footer_box01 {
    width: 50%;
    display: flex;
    justify-content: space-between;
}

.footer_box02 {
    width: 50%;
}

.footer_logo {
    margin: 0;
}

.footer_info_text {
    margin: 0;
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.15em;
    line-height: 40px;
    text-align: left;
    color: #292828;
}

.footer_info_text img {
    margin: 0;
    vertical-align: middle;
    padding-right: 20px;
}

.footer_info_text a {
    text-decoration: none;
    color: #292828;
}

.footer_info_text a:hover {
    text-decoration: underline;
}

.footer_nav {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: flex-end;
}

.footer_nav li {
    margin-left: 30px;
}

.footer_nav li a {
    margin: 0;
    font-size: 16px;
    letter-spacing: 0.15em;
    line-height: 40px;
    text-align: right;
    color: #292828;
    text-decoration: none;
}

.footer_nav li a:hover {
    text-decoration: underline;
}

.footer_link_box {
    margin: 0;
}

.footer_link_text {
    margin: 90px 0 0 auto;
    display: flex;
    border: 1px solid #707070;
    justify-content: center;
    width: 360px;
    height: 90px;
    flex-direction: column;
    align-items: center;
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.15em;
    line-height: 29px;
    text-align: center;
    color: #292828;
}

.footer_link_text ruby {
    font-size: 16px;
    padding-right: 5px;
}

.footer_link_text a:hover {
    color: #fff;
    background-color: #292828;
    transition: all 0.3s ease;
}

.footer_link_text a {
    color: #292828;
    text-decoration: none;
    width: 100%;
    height: 100%;
    padding-top: 18px;
}

.footer_link_text span {
    font-size: 13px;
}

.footer_bottom_cnt {
    display: flex;
    width: 1100px;
    margin: 100px auto 80px auto;
    justify-content: space-between;
}

.copy {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.15em;
    line-height: 40px;
    text-align: left;
    color: #292828;
}

.footer_bottom_nav {
    display: flex;
    list-style: none;
}

.footer_bottom_nav li {
    padding-left: 30px;
}

.footer_bottom_nav li a {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.15em;
    line-height: 40px;
    text-align: left;
    color: #292828;
    text-decoration: none;
}

.footer_bottom_nav li a:hover {
    text-decoration: underline;
}

.mt_m {
    padding-top: 60px;
}

.top_mv_link_btn {
    position: absolute;
    right: 50px;
    text-align: right;
    top: 70vh;
    z-index: 5;
    transition: all 0.5s ease;
}

.top_mv_link_btn a:hover {
  opacity: 0.7;
  transition: all 0.5s ease;
}

/* svg .top_concept_title_svg-1 {
  stroke-dashoffset: 764.541015625px;
  stroke-dasharray: 764.541015625px;
  -webkit-transition: stroke-dashoffset 3s ease-out 0s;
          transition: stroke-dashoffset 3s ease-out 0s;
}

svg.active .top_concept_title_svg-1 {
  stroke-dashoffset: 0;
} */

svg .top_concept_title_svg-1-1 {
  stroke-dashoffset: 764.541015625px;
  stroke-dasharray: 764.541015625px;
  -webkit-transition: stroke-dashoffset 4s linear 0s;
          transition: stroke-dashoffset 4s linear 0s;
}

svg.active .top_concept_title_svg-1-1 {
  stroke-dashoffset: 0;
}

svg .top_concept_title_svg-1-2 {
  stroke-dashoffset: 55.033382415771484px;
  stroke-dasharray: 55.033382415771484px;
  -webkit-transition: stroke-dashoffset 1s linear 4s;
          transition: stroke-dashoffset 1s linear 4s;
}

svg.active .top_concept_title_svg-1-2 {
  stroke-dashoffset: 0;
}


svg .top_concept_title_svg-2 {
  stroke-dashoffset: 55.033382415771484px;
  stroke-dasharray: 55.033382415771484px;
  -webkit-transition: stroke-dashoffset 3s ease-out 0.1s;
          transition: stroke-dashoffset 3s ease-out 0.1s;
}

svg.active .top_concept_title_svg-2 {
  stroke-dashoffset: 0;
}

.blur_box {
  transition: filter 0.8s ease; /* ぼかし解除のアニメーション */
  filter: blur(8px);
  will-change: filter;
}
.blur_box.visible {
  filter: blur(0px);
}

/* 下層ページ */

.subpage_body {
  background-color: #f8f8f6;
}

.page_title {
  text-align: center;
}

.page_title_pri {
  text-align: center;
}

.page_title_real {
  text-align: center;
}

/* about */

.about_cnt {
    background-color: #f8f8f6;
    width: 1100px;
    margin: 0 auto;
    padding-top: 150px;
}

.about_text {
    font-weight: normal;
    font-size: 16px;
    line-height: 40px;
    text-align: center;
    color: #292828;
    margin: 140px 0 0 0;
}

.about_text rt {
    font-size: 11px;
}

.about_profile_cnt {
    padding-top: 250px;
}

.about_profile_box01 {
    margin: 0;
}

.about_profile_title {
    position: relative;
    margin: 0;
}

.about_profile_title::after {
    position: absolute;
    margin-left: 60px;
    content: "";
    top: 50%;
    width: 250px;
    height: 1px;
    background-color: #c9c9c7;
}

.about_profile_box02 {
    margin: 0;
    padding-top: 130px;
    display: flex;
    justify-content: flex-end;
}

.about_profile_table {
    margin: 0;
    border: 0;
}

.about_profile_table tr {
    margin: 0;
}

.about_profile_table th {
    font-weight: normal;
    font-size: 16px;
    line-height: 60px;
    text-align: left;
    color: #292828;
    width: 161px;
    vertical-align: top;
}

.about_profile_table td {
    font-weight: normal;
    font-size: 16px;
    line-height: 60px;
    text-align: left;
    color: #292828;
    vertical-align: top;
}

.about_profile_table td rt {
    font-size: 13px;
}

.about_profile_table td a {
    color: #292828;
    text-decoration: none;
}

.about_gmap_box {
    margin: 0;
    padding-top: 150px;
}

.about_gmap_box iframe{
    filter: grayscale(100%);
}

.about_gmap_link {
    text-align: right;
    margin: 30px 0 0 0;
}

.about_gmap_link a {
    font-weight: normal;
    text-decoration: underline;
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
    color: #292828;
    margin: 30px 0 0 0;
}

.contact_subPage {
    position: relative;
    margin: 200px 0 0 0;
    z-index: 3;
    padding: 180px 0 307px 0;
    background-color: #292828;
}

/* contact */


input[type="checkbox"] {
    accent-color: #333; /* チェックマークの色 */
}

.contact_input {
    width: 100%;
}

.contact_textarea {
    width: 100%;
}

.contactText01 {
    font-weight: normal;
    font-size: 16px;
    line-height: 40px;
    text-align: center;
    color: #292828;
    margin: 150px 0 0 0;
}

.contactText02 {
    font-weight: normal;
    font-size: 16px;
    line-height: 40px;
    text-align: center;
    color: #292828;
    margin: 50px 0 0 0;
}

.contactText03 {
    font-weight: normal;
    line-height: 40px;
    text-align: center;
    color: #292828;
    margin: 0;
}

.contactText03 a {
    color: #292828;
    font-size: 24px;
    letter-spacing: 0.2em;
}

.contactWrap {
    width: max-content;
    margin: 0 auto;
    padding-top: 100px;
}

.contactText04 {
    font-weight: normal;
    font-size: 14px;
    line-height: 40px;
    text-align: left;
    color: #292828;
    margin: 0;
}

.contactTable th {
    font-weight: normal;
    font-size: 16px;
    line-height: 60px;
    text-align: left;
    color: #292828;
    padding-right: 80px;
    vertical-align: top;
}

.contactTable td {
    font-weight: normal;
    font-size: 16px;
    line-height: 60px;
    text-align: left;
    color: #292828;
    vertical-align: top;
}

.contactText05 {
    font-weight: normal;
    font-size: 16px;
    line-height: 40px;
    text-align: center;
    color: #292828;
    margin: 50px 0 0 0;
}

.contactText05 a {
    color: #292828;
}

.contact_textarea {
    margin: 15px 0 0 0;
}

.submitBtnBox {
    margin: 50px 0 0 0;
    text-align: center;
}

.submitBtn {
    display: inline-block;
    font-family: "Adobe Garamond Pro", "Zen Old Mincho", serif;
    font-size: 16px;
    text-align: center;
    padding: 12px 30px;
    background: #ffffff;
    color: #292828;
    line-height: 1em;
    transition: .3s;
    border: 1px solid #292828;
}

.submitBtn:hover {
    color         : #ffffff;
    background    : #292828;
}

/* privacy */

.privacyBox {
    width: max-content;
    margin: 100px auto;
}

.privacyBoxInner {
    margin: 50px 0 0 0;
}

.privacyText01 {
    font-weight: normal;
    font-size: 16px;
    line-height: 40px;
    text-align: left;
    color: #292828;
    margin: 20px 0 0 0;
}

.privacyText02 {
    font-weight: normal;
    font-size: 16px;
    line-height: 32px;
    text-align: left;
    color: #292828;
    margin: 10px 0 0 0;
}

/* service */

.service_text01 {
    margin: 100px 0 0 0;
    font-weight: 500;
    font-size: 30px;
    letter-spacing: 0.15em;
    line-height: 40px;
    text-align: center;
    color: #292828;
}

.service_text02 {
    margin: 70px 0 0 0;
    font-family: "Zen Old Mincho";
    font-weight: normal;
    font-size: 16px;
    line-height: 40px;
    text-align: center;
    color: #292828;
}

.service_text03 {
    margin: 180px 0 0 0;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.15em;
    line-height: 40px;
    text-align: center;
    color: #292828;
}

.service_main_cnt01 {
    margin: 120px 0 0 0;
    padding: 70px 70px 50px 50px;
    background-image: url(../img/service/service_bg001.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: flex;
    align-items: center;
    position: relative;
}

.service_main_cnt02 {
    margin: 70px 0 0 0;
    padding: 70px 70px 50px 50px;
    background-image: url(../img/service/service_bg002.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
}

.service_main_cnt03 {
    margin: 17px 0 0 0;
    padding: 70px 70px 50px 50px;
    background-image: url(../img/service/service_bg003.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: flex;
    align-items: center;
    position: relative;
}

.service_main_boxLeft {
    margin: 0;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    display: none;
}

.service_text_tate01 {
    margin: 0;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.15em;
    line-height: 1;
    text-align: center;
    color: #292828;
}

.service_text_tate02 {
    margin-left: 10px;
    font-weight: 500;
    font-size: 30px;
    letter-spacing: 0.15em;
    line-height: 40px;
    text-align: left;
    color: #292828;
}

.service_main_boxCenter {
    padding-left: 50px;
    padding-right: 35px;
}

.service_main_boxCenter_text01 {
    margin: 0;
    font-weight: 500;
    font-size: 30px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
    color: #292828;
}

.service_main_boxCenter_text01 span {
    margin: 0 0 0 20px;
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
    color: #292828;
    vertical-align: middle;
}

.service_main_boxCenter_text02 {
    margin: 50px 0 30px 0;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.15em;
    line-height: 40px;
    text-align: left;
    color: #292828;
}

.service_main_boxRight {
    margin: 0;
}

.service_line01 {
    position: absolute;
    top: 88px;
    left: -96px;
    z-index: 9;
}

.service_line02 {
    position: absolute;
    top: -55px;
    left: 60px;
    z-index: 9;
}

.service_link_box01 {
    width: 793px;
    height: 90px;
    display: flex;
    text-align: center;
    border-radius: 45px;
    border: 1px solid #707070;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: 100px auto 50px auto;
}

.service_link_box01:hover {
    background-color: #e7e7e7;
}

.service_link_box02:hover {
    background-color: #e7e7e7;
}

.service_link_box01 a {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.15em;
    line-height: 29px;
    text-align: center;
    color: #292828;
    text-decoration: none;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 16px;
}

.service_link_box01 span{
    font-size: 14px;
}

.service_link_box02 {
    width: 793px;
    height: 90px;
    display: flex;
    text-align: center;
    border-radius: 45px;
    border: 1px solid #707070;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: 0 auto;
}

.service_link_box02 a {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.15em;
    line-height: 90px;
    text-align: center;
    color: #292828;
    text-decoration: none;
    position: absolute;
    width: 100%;
    height: 100%;
}

/** works **/

.works_img_00 {
    margin: 100px 0 0 0;
}

/** real estate **/

.real_text01 {
    font-weight: normal;
    font-size: 16px;
    line-height: 40px;
    text-align: center;
    color: #292828;
    margin: 130px 0 0 0;
}

.real_link_cnt {
    display: flex;
    flex-wrap: wrap;
    width: 950px;
    margin: 140px auto 0 auto;
    justify-content: space-between;
}

.real_link_box {
    width: 445px;
    height: 135px;
    border-radius: 15px;
    background: #fff;
    border: 1px dashed #707070;
    margin-bottom: 60px;
    position: relative;
    transition: 0.3s all;
}

.real_link_box:hover {
    background: #707070;
    border: 1px dashed #fff;
    color: #fff;
    transition: 0.3s all;
}

.real_link_box a {
    position: absolute;
    width: 100%;
    height: 100%;
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.15em;
    line-height: 135px;
    text-align: center;
    color: #292828;
    text-decoration: none;
}

.real_link_box a:hover {
    color: #fff;
}

.real_text02 {
    font-weight: normal;
    font-size: 16px;
    line-height: 40px;
    text-align: center;
    color: #292828;
    margin: 90px 0 140px 0;
}


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

.gnav {
    display: none;
}

.header_logo {
    padding-left: 20px;
}

.header_logo img {
    width: 150px;
}

.top_mv_link_btn {
    right: 15px;
    top: 65vh;
}

.top_mv_link_btn img {
    width: 120px;
}

.scroll_down a {
    bottom: 105px;
    font-size: 11px;
}

.topLogoBox_sp {
    display: block;
    position: relative;
    top: 12%;
    text-align: center;
    width: 80%;
    margin: 0 auto;
}

.topLogoBox_sp svg {
    width: 85%;
}

.topLogoBox {
    display: none;
}

/***************************************************
 * Generated by SVG Artista on 7/26/2025, 1:56:55 PM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/

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

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

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

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

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

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

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

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

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

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

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

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

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

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

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

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

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

@keyframes animate-svg-stroke-15 {
  0% {
    stroke-dashoffset: 99.4000244140625px;
    stroke-dasharray: 99.4000244140625px;
  }

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

.top_logo_sp-15 {
  -webkit-animation: animate-svg-stroke-15 3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.68s both,
                       animate-svg-fill-15 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.4000000000000004s both;
          animation: animate-svg-stroke-15 3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.68s both,
               animate-svg-fill-15 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.4000000000000004s both;
}

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

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

@keyframes animate-svg-stroke-16 {
  0% {
    stroke-dashoffset: 100.20826721191406px;
    stroke-dasharray: 100.20826721191406px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_sp-16 {
  -webkit-animation: animate-svg-stroke-16 3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7999999999999998s both,
                       animate-svg-fill-16 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.5s both;
          animation: animate-svg-stroke-16 3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7999999999999998s both,
               animate-svg-fill-16 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.5s both;
}

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

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

@keyframes animate-svg-stroke-17 {
  0% {
    stroke-dashoffset: 100.20826721191406px;
    stroke-dasharray: 100.20826721191406px;
  }

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

.top_logo_sp-17 {
  -webkit-animation: animate-svg-stroke-17 3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.92s both,
                       animate-svg-fill-17 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.6s both;
          animation: animate-svg-stroke-17 3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.92s both,
               animate-svg-fill-17 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.6s both;
}

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

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

@keyframes animate-svg-stroke-18 {
  0% {
    stroke-dashoffset: 62.000030517578125px;
    stroke-dasharray: 62.000030517578125px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_sp-18 {
  -webkit-animation: animate-svg-stroke-18 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.04s both,
                       animate-svg-fill-18 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.7s both;
          animation: animate-svg-stroke-18 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.04s both,
               animate-svg-fill-18 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.7s both;
}

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

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

@keyframes animate-svg-stroke-19 {
  0% {
    stroke-dashoffset: 62.000030517578125px;
    stroke-dasharray: 62.000030517578125px;
  }

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

.top_logo_sp-19 {
  -webkit-animation: animate-svg-stroke-19 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.16s both,
                       animate-svg-fill-19 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.8s both;
          animation: animate-svg-stroke-19 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.16s both,
               animate-svg-fill-19 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.8s both;
}

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

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

@keyframes animate-svg-stroke-20 {
  0% {
    stroke-dashoffset: 116.25455474853516px;
    stroke-dasharray: 116.25455474853516px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_sp-20 {
  -webkit-animation: animate-svg-stroke-20 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.28s both,
                       animate-svg-fill-20 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.9000000000000004s both;
          animation: animate-svg-stroke-20 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.28s both,
               animate-svg-fill-20 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.9000000000000004s both;
}

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

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

@keyframes animate-svg-stroke-21 {
  0% {
    stroke-dashoffset: 116.25455474853516px;
    stroke-dasharray: 116.25455474853516px;
  }

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

.top_logo_sp-21 {
  -webkit-animation: animate-svg-stroke-21 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both,
                       animate-svg-fill-21 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4s both;
          animation: animate-svg-stroke-21 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both,
               animate-svg-fill-21 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4s both;
}

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

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

@keyframes animate-svg-stroke-22 {
  0% {
    stroke-dashoffset: 82.56522369384766px;
    stroke-dasharray: 82.56522369384766px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_sp-22 {
  -webkit-animation: animate-svg-stroke-22 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.52s both,
                       animate-svg-fill-22 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.1s both;
          animation: animate-svg-stroke-22 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.52s both,
               animate-svg-fill-22 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.1s both;
}

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

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

@keyframes animate-svg-stroke-23 {
  0% {
    stroke-dashoffset: 82.56522369384766px;
    stroke-dasharray: 82.56522369384766px;
  }

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

.top_logo_sp-23 {
  -webkit-animation: animate-svg-stroke-23 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6399999999999997s both,
                       animate-svg-fill-23 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s both;
          animation: animate-svg-stroke-23 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6399999999999997s both,
               animate-svg-fill-23 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s both;
}

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

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

@keyframes animate-svg-stroke-24 {
  0% {
    stroke-dashoffset: 94.24205780029297px;
    stroke-dasharray: 94.24205780029297px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_sp-24 {
  -webkit-animation: animate-svg-stroke-24 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.76s both,
                       animate-svg-fill-24 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.300000000000001s both;
          animation: animate-svg-stroke-24 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.76s both,
               animate-svg-fill-24 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.300000000000001s both;
}

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

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

@keyframes animate-svg-stroke-25 {
  0% {
    stroke-dashoffset: 87.56763458251953px;
    stroke-dasharray: 87.56763458251953px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_sp-25 {
  -webkit-animation: animate-svg-stroke-25 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.88s both,
                       animate-svg-fill-25 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.4s both;
          animation: animate-svg-stroke-25 3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.88s both,
               animate-svg-fill-25 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.4s both;
}

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

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

@keyframes animate-svg-stroke-26 {
  0% {
    stroke-dashoffset: 87.56763458251953px;
    stroke-dasharray: 87.56763458251953px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_sp-26 {
  -webkit-animation: animate-svg-stroke-26 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3s both,
                       animate-svg-fill-26 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.5s both;
          animation: animate-svg-stroke-26 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3s both,
               animate-svg-fill-26 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.5s both;
}

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

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

@keyframes animate-svg-stroke-27 {
  0% {
    stroke-dashoffset: 94.24205780029297px;
    stroke-dasharray: 94.24205780029297px;
  }

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

.top_logo_sp-27 {
  -webkit-animation: animate-svg-stroke-27 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.12s both,
                       animate-svg-fill-27 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.6s both;
          animation: animate-svg-stroke-27 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.12s both,
               animate-svg-fill-27 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.6s both;
}

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

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

@keyframes animate-svg-stroke-28 {
  0% {
    stroke-dashoffset: 87.56763458251953px;
    stroke-dasharray: 87.56763458251953px;
  }

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

.top_logo_sp-28 {
  -webkit-animation: animate-svg-stroke-28 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.2399999999999998s both,
                       animate-svg-fill-28 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.7s both;
          animation: animate-svg-stroke-28 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.2399999999999998s both,
               animate-svg-fill-28 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.7s both;
}

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

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

@keyframes animate-svg-stroke-29 {
  0% {
    stroke-dashoffset: 87.56763458251953px;
    stroke-dasharray: 87.56763458251953px;
  }

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

.top_logo_sp-29 {
  -webkit-animation: animate-svg-stroke-29 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.36s both,
                       animate-svg-fill-29 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.800000000000001s both;
          animation: animate-svg-stroke-29 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.36s both,
               animate-svg-fill-29 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.800000000000001s both;
}

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

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

@keyframes animate-svg-stroke-30 {
  0% {
    stroke-dashoffset: 118.21952056884766px;
    stroke-dasharray: 118.21952056884766px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_sp-30 {
  -webkit-animation: animate-svg-stroke-30 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.48s both,
                       animate-svg-fill-30 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.9s both;
          animation: animate-svg-stroke-30 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.48s both,
               animate-svg-fill-30 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.9s both;
}

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

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

@keyframes animate-svg-stroke-31 {
  0% {
    stroke-dashoffset: 118.21952056884766px;
    stroke-dasharray: 118.21952056884766px;
  }

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

.top_logo_sp-31 {
  -webkit-animation: animate-svg-stroke-31 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.5999999999999996s both,
                       animate-svg-fill-31 1s cubic-bezier(0.47, 0, 0.745, 0.715) 5s both;
          animation: animate-svg-stroke-31 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.5999999999999996s both,
               animate-svg-fill-31 1s cubic-bezier(0.47, 0, 0.745, 0.715) 5s both;
}

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

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

@keyframes animate-svg-stroke-32 {
  0% {
    stroke-dashoffset: 110.23223876953125px;
    stroke-dasharray: 110.23223876953125px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_sp-32 {
  -webkit-animation: animate-svg-stroke-32 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.7199999999999998s both,
                       animate-svg-fill-32 1s cubic-bezier(0.47, 0, 0.745, 0.715) 5.1s both;
          animation: animate-svg-stroke-32 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.7199999999999998s both,
               animate-svg-fill-32 1s cubic-bezier(0.47, 0, 0.745, 0.715) 5.1s both;
}

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

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

@keyframes animate-svg-stroke-33 {
  0% {
    stroke-dashoffset: 110.23223876953125px;
    stroke-dasharray: 110.23223876953125px;
  }

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

.top_logo_sp-33 {
  -webkit-animation: animate-svg-stroke-33 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.84s both,
                       animate-svg-fill-33 1s cubic-bezier(0.47, 0, 0.745, 0.715) 5.2s both;
          animation: animate-svg-stroke-33 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.84s both,
               animate-svg-fill-33 1s cubic-bezier(0.47, 0, 0.745, 0.715) 5.2s both;
}

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

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

@keyframes animate-svg-stroke-34 {
  0% {
    stroke-dashoffset: 62px;
    stroke-dasharray: 62px;
  }

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

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

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

  100% {
    fill: rgb(255, 255, 255);
  }
}

.top_logo_sp-34 {
  -webkit-animation: animate-svg-stroke-34 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.96s both,
                       animate-svg-fill-34 1s cubic-bezier(0.47, 0, 0.745, 0.715) 5.300000000000001s both;
          animation: animate-svg-stroke-34 3s cubic-bezier(0.47, 0, 0.745, 0.715) 3.96s both,
               animate-svg-fill-34 1s cubic-bezier(0.47, 0, 0.745, 0.715) 5.300000000000001s both;
}

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

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

@keyframes animate-svg-stroke-35 {
  0% {
    stroke-dashoffset: 62px;
    stroke-dasharray: 62px;
  }

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

.top_logo_sp-35 {
  -webkit-animation: animate-svg-stroke-35 3s cubic-bezier(0.47, 0, 0.745, 0.715) 4.08s both,
                       animate-svg-fill-35 1s cubic-bezier(0.47, 0, 0.745, 0.715) 5.4s both;
          animation: animate-svg-stroke-35 3s cubic-bezier(0.47, 0, 0.745, 0.715) 4.08s both,
               animate-svg-fill-35 1s cubic-bezier(0.47, 0, 0.745, 0.715) 5.4s both;
}

.concept {
    padding: 50px 0;
}

.section_inner_concept {
    width: 100%;
    padding: 0;
}

.top_title {
    width: 90%;
    height: auto;
    font-size: 100px;
    padding: 0;
    margin: 0 auto;
}

.top_concept_cntainer {
    display: flex;
    width: 90%;
    margin: 0 auto;
    flex-direction: column;
}

.top_concept_box01 {
    width: 100%;
    font-weight: 400;
    font-size: 20px;
    line-height: 40px;
}

.top_concept_box02 {
    width: 100%;
}

.top_concept_text01 {
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.15em;
    line-height: 26px;
    text-align: left;
    color: #fff;
    margin: 30px 0 0 0;
}

.top_concept_text02 {
    font-weight: normal;
    font-size: 13px;
    letter-spacing: 0.15em;
    line-height: 26px;
    text-align: left;
    color: #fff;
    margin: 20px 0 0 0;
}

.top_con_img01 {
    width: 100%;
}

.top_con_img01 img {
    width: 50%;
    height: auto;
}

.top_con_img02 {
    width: 100%;
    margin: 150px auto 0 auto;
}

.top_con_img02 img {
    width: 50%;
    height: auto;
}

.top_con_img03 {
    width: 100%;
    margin: 150px auto 0 auto;
}

.top_con_img03 img {
    width: 50%;
    height: auto;
}

.top_con_img04 {
    width: 100%;
    margin: 150px auto 0 auto;
}

.top_con_img04 img {
    width: 50%;
    height: auto;
}

.top_con_img05 {
    width: 100%;
    margin: 150px auto;
}

.top_con_img05 img {
    width: 50%;
    height: auto;
}

.top_service_wave_box {
    bottom: -7px;
}

.service {
    padding: 100px 0;
}

.section_inner {
    width: 100%;
}

.svg-box02 {
    margin: 0 0 50px 0;
}

.top_service_cnt {
    display: flex;
    flex-direction: column;
    width: 90%;
    margin: 0 auto 50px auto;
}

.top_service_box01 {
    width: 100%;
}

.top_service_subTitle_jp {
    font-size: 24px;
    line-height: 1;
}

.top_service_subTitle_en {
    font-size: 13px;
}

.top_service_box02 {
    width: 100%;
    margin: 30px 0 0 0;
}

.top_service_text01 {
    font-size: 13px;
    letter-spacing: 0.1em;
    line-height: 26px;
}

.c-btn.circle {
    margin: 50px auto 0 auto;
}

.c-btn.circle a {
    font-size: 13px;
}

.works {
    padding: 0 0 100px 0;
    margin: -1px 0 0 0;
}

.top_works_cnt {
    display: flex;
    padding-top: 20px;
    flex-direction: column;
    align-items: center;
}

.top_works_box01 {
    width: 90%;
    margin-top: 30px;
}

.top_works_box01 img {
    width: 100%;
    height: auto;
}

.news {
    padding: 0 0 100px 0;
    margin: -1px 0 0 0;
}

.top_newsWrap {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

.top_news_box01 {
    width: 90%;
    margin: 0 auto;
}

.top_news_link {
    display: none;
}

.top_news_box02 {
    width: 90%;
    margin: 30px auto 0 auto;
}

.top_news_link_sp {
    display: block;
}

.contact {
    padding: 100px 0;
}

.top_contact_cnt {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

.top_contact_box01 {
    width: 90%;
    margin: 0 auto;
    text-align: center;
}

.top_contact_box02 {
    width: 90%;
    margin: 0 auto;
}

.top_contact_title {
    font-size: 18px;
    line-height: 36px;
    text-align: center;
}

.top_contact_text {
    margin: 30px 0 0 0;
    font-size: 13px;
    letter-spacing: 0.1em;
    line-height: 26px;
    color: #fff;
    text-align: center;
}

.top_contact_text_tel {
    margin: 30px 0 0 0;
    font-size: 18px;
    text-align: center;
}

.top_contact_link {
    margin: 50px auto 0  !important;
}

.footer {
    margin: 0 5%;
}

.footer_cnt {
    display: flex;
    width: 100%;
    margin: 0 auto;
    padding: 100px 0 0 0;
    flex-direction: column;
}

.footer_box01 {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.footer_info_text {
    margin: 20px 0 0 0;
    font-weight: normal;
    font-size: 13px;
    letter-spacing: 0.1em;
    line-height: 26px;
    text-align: left;
    color: #292828;
}

.footer_box02 {
    width: 100%;
}

.footer_nav {
    margin: 30px 0 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
}

.footer_nav li {
    margin-left: 0;
}

.footer_nav li a {
    font-size: 13px;
    letter-spacing: 0.1em;
    line-height: 40px;
    text-align: center;
}

.footer_link_text {
    margin: 50px auto 0 auto;
    width: 100%;
    font-size: 15px;
    letter-spacing: 0.1em;
}

.footer_link_text rt {
    font-size: 10px;
}

.footer_link_text span {
    font-size: 12px;
}

.footer_bottom_cnt {
    display: flex;
    width: 100%;
    margin: 50px auto 10px auto;
    flex-direction: column-reverse;
}

.copy {
    font-size: 12px;
    letter-spacing: 0.1em;
    text-align: center;
}

.footer_bottom_nav {
    display: flex;
    padding: 0;
    list-style: none;
    justify-content: space-evenly;
    flex-direction: row-reverse;
    margin: 0;
}

.footer_bottom_nav li {
    padding-left: 0;
}

.footer_bottom_nav li a {
    font-size: 12px;
    letter-spacing: 0.1em;
}

.newsMainBox {
    height: 400px;
}

.section_inner_concept.fixed {
  top: 20px;
}

.br_pc {
  display: none;
}

.br_sp {
  display: block;
}

.header_sp {
  display: block;
}

.header_sp02 {
  display: block;
}

.header_sp02 .hamburger-morph__line {
    fill: none;
    stroke: #555;
    stroke-width: 4;
    transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
              stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.hamburger-morph {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
  width: 48px;
  height: 48px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger-morph__icon {
  width: 100%;
  height: 100%;
}

.hamburger-morph__line {
  fill: none;
  stroke: #ccc;
  stroke-width: 4;
  transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
              stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.hamburger-morph__line:nth-child(1) {
  stroke-dasharray: 60 207;
}

.hamburger-morph__line:nth-child(2) {
  stroke-dasharray: 60 60;
}

.hamburger-morph__line:nth-child(3) {
  stroke-dasharray: 60 207;
}

.hamburger-morph.active .hamburger-morph__line:nth-child(1) {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
}

.hamburger-morph.active .hamburger-morph__line:nth-child(2) {
  stroke-dasharray: 1 60;
  stroke-dashoffset: -30;
}

.hamburger-morph.active .hamburger-morph__line:nth-child(3) {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
}

.nav-morph {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(29, 29, 31, 0.96);
  clip-path: circle(0% at calc(100% - 44px) 44px);
  transition: clip-path 0.7s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 900;
}

.nav-morph.active {
  clip-path: circle(150% at calc(100% - 44px) 44px);
}

.nav-morph__wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding-top: 60px;
}

.nav-morph__list {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.nav-morph__item {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.nav-morph.active .nav-morph__item {
  opacity: 1;
  transform: translateY(0);
}

.nav-morph.active .nav-morph__item:nth-child(1) { transition-delay: 0.3s; }
.nav-morph.active .nav-morph__item:nth-child(2) { transition-delay: 0.4s; }
.nav-morph.active .nav-morph__item:nth-child(3) { transition-delay: 0.5s; }
.nav-morph.active .nav-morph__item:nth-child(4) { transition-delay: 0.6s; }
.nav-morph.active .nav-morph__item:nth-child(5) { transition-delay: 0.7s; }
.nav-morph.active .nav-morph__item:nth-child(6) { transition-delay: 0.8s; }
.nav-morph.active .nav-morph__item:nth-child(7) { transition-delay: 0.9s; }

.nav-morph__link {
  position: relative;
  display: inline-block;
  padding: 15px;
  font-size: 20px;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
}

.nav-morph__text,
.nav-morph__hover {
  display: block;
  transition: transform 0.3s ease;
}

.nav-morph__hover {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  transform: translateY(0%);
}

.nav-morph__link:hover .nav-morph__text {
  transform: translateY(-50%);
}

.nav-morph__link:hover .nav-morph__hover {
  transform: translateY(-50%);
}

.gnav02 {
    display: none;
}

.about_cnt {
    width: 100%;
    padding-top: 50px;
}

.page_title img {
    width: 30%;
    height: auto;
}

.page_title_pri img {
    width: 65%;
    height: auto;
}

.page_title_real img {
    width: 45%;
    height: auto;
}

.about_text {
    font-size: 13px;
    line-height: 26px;
    text-align: left;
    margin: 50px auto 0 auto;
    width: 90%;
}

.about_profile_cnt {
    padding-top: 100px;
}

.about_profile_box01 {
    margin: 0 auto;
    width: 90%;
}

.about_profile_title::after {
    margin-left: 15px;
    width: 100px;
}

.about_profile_box02 {
    padding-top: 50px;
}

.about_profile_table {
    margin: 0 auto;
    width: 90%;
}

.about_profile_table th {
    font-weight: normal;
    font-size: 13px;
    line-height: 40px;
    text-align: left;
    color: #292828;
    width: 25%;
    vertical-align: top;
}

.about_profile_table td {
    font-weight: normal;
    font-size: 13px;
    line-height: 40px;
    text-align: left;
    color: #292828;
    vertical-align: top;
}

.about_profile_table td rt {
    font-size: 13px;
}

.about_gmap_box {
    padding-top: 50px;
}

.about_gmap_box iframe {
    height: 400px;
}

.about_gmap_link {
    display: none;
}

.about_gmap_link a {
    font-size: 15px;
}

.contact_subPage {
    position: relative;
    margin: 50px 0 0 0;
    z-index: 3;
    padding: 100px 0;
    background-color: #292828;
}

.contactText01 {
    font-weight: normal;
    font-size: 13px;
    line-height: 28px;
    text-align: center;
    color: #292828;
    margin: 100px 0 0 0;
}

.contactText02 {
    font-weight: normal;
    font-size: 14px;
    line-height: 28px;
    text-align: center;
    color: #292828;
    margin: 30px 0 0 0;
}

.contactText03 a {
    color: #292828;
    font-size: 20px;
    letter-spacing: 0.2em;
}

.contactWrap {
    width: 90%;
    margin: 0 auto;
    padding-top: 50px;
}

.contactText04 {
    font-size: 13px;
}

.contactTable tr {
    display: flex;
    flex-direction: column;
    padding-bottom: 15px;
}

.contactTable th {
    font-size: 13px;
    line-height: 26px;
    padding-right: 0;
    font-weight: bold;
}

.contactTable td {
    font-size: 13px;
    line-height: 26px;
}

.contact_input {
    width: 100%;
    height: 30px;
}

.contactText05 {
    font-weight: normal;
    font-size: 13px;
    line-height: 26px;
    text-align: center;
    color: #292828;
    margin: 30px 0 0 0;
}

.contactText05 {
    font-size: 13px;
    line-height: 26px;
    margin: 30px 0 0 0;
}

.submitBtn {
    font-size: 13px;;
}

.service_text01 {
    font-size: 20px;
}

.service_text02 {
    margin: 50px auto 0 auto;
    font-size: 13px;
    line-height: 28px;
    text-align: left;
    width: 90%;
}

.service_text03 {
    margin: 50px auto 0 auto;
    width: 90%;
    font-size: 13px;
    line-height: 28px;
    text-align: left;
}

.service_main_cnt01 {
    margin: 100px 0 0 0;
    padding: 50px 20px 30px 20px;
    background-image: url(../img/service/service_bg01_sp.svg);
    background-repeat: no-repeat;
    background-size: auto;
    display: flex;
    align-items: flex-start;
    position: relative;
    flex-direction: column;
}

.service_main_boxLeft {
    margin: 0 0 0 auto;
}

.service_text_tate01 {
    margin: 0;
    font-size: 12px;
    line-height: 1;
}

.service_text_tate02 {
    margin-left: 0;
    margin-right: 0;
    font-size: 20px;
}

.service_main_cnt01 .service_main_boxCenter {
    padding-left: 0;
    padding-right: 0;
    margin-top: -30px;
}

.service_main_boxCenter_text01 {
    font-size: 22px;
}

.service_main_boxCenter_text01 span {
    font-size: 13px;
}

.service_main_boxCenter_text02 {
    margin: 50px 0 30px 0;
    font-size: 13px;
    line-height: 28px;
}

.service_main_cnt02 {
    margin: 50px 0 0 0;
    padding: 30px 20px 30px 20px;
    background-image: url(../img/service/service_bg02_sp.svg);
    background-repeat: no-repeat;
    background-size: auto;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
    flex-direction: column;
}

.service_main_cnt02 .service_main_boxCenter {
    padding-left: 0;
    padding-right: 0;
    margin-top: -55px;
}

.service_main_cnt03 {
    margin: 50px 0 0 0;
    padding: 50px 20px 20px 30px;
    background-image: url(../img/service/service_bg03_sp.svg);
    background-repeat: no-repeat;
    background-size: auto;
    display: flex;
    align-items: center;
    position: relative;
    flex-direction: column;
}

.service_main_cnt03 .service_main_boxCenter {
    padding-left: 0;
    padding-right: 0;
    margin-top: -30px;
}

.service_line01 {
    display: none;
}

.service_line02 {
    display: none;
}

.service_link_box01 {
    width: 90%;
    margin: 50px auto 30px auto;
    height: 80px;
}

.service_link_box01 a {
    font-size: 15px;
    top: 15px;
    line-height: 24px;
}

.service_link_box01 span {
    font-size: 11px;
    letter-spacing: 0.1em;
}

.service_link_box02 {
    width: 90%;
    margin: 0 auto 100px auto;
    height: 80px;
}

.service_link_box02 a {
    font-size: 16px;
    line-height: 80px;
}

.works_img_box {
    width: 90%;
    text-align: center;
    margin: 100px auto;
}

.works_img_00 {
    margin: 0;
    width: 100%;
}

.real_text01 {
    font-weight: normal;
    font-size: 13px;
    line-height: 30px;
    text-align: left;
    color: #292828;
    margin: 100px auto 0 auto;
    width: 90%;
}

.real_link_cnt {
    display: flex;
    flex-wrap: wrap;
    width: 90%;
    margin: 50px auto 0 auto;
    justify-content: space-between;
}

.real_link_box {
    width: 100%;
    height: 80px;
    margin-bottom: 30px;
}

.real_link_box a {
    font-size: 16px;
    line-height: 80px;
}

.real_text02 {
    font-size: 13px;
    line-height: 30px;
    text-align: left;
    margin: 0 auto 50px auto;
    width: 90%;
}

.top_contact_box01 svg {
    width: 38%;
}
.footer_logo img {
    width: 45%;
}

.blur_box {
  transition: filter 0.8s ease; /* ぼかし解除のアニメーション */
  filter: blur(8px);
  will-change: filter;
}
.blur_box.visible {
  filter: blur(0px);
}

.privacyBox {
    width: 90%;
    margin: 50px auto;
}

.privacyBoxInner {
    margin: 30px 0 0 0;
}

.privacyText01 {
    font-size: 13px;
    line-height: 26px;
    margin: 20px 0 0 0;
}

.privacyText02 {
    font-size: 13px;
    line-height: 28px;
    margin: 10px 0 0 0;
}

}
