/* =========================
   EXA Page Loader
   TOP / 下層ページ共通
========================= */

.site-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#ffffff;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:
    opacity .55s ease,
    visibility .55s ease;
}

.site-loader.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.site-loader__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:22px;
  transform:translateY(-4px);
}

.site-loader__logo{
  display:block;
  width:min(300px, 36vw);
  height:auto;
}

.site-loader__bar{
  position:relative;
  display:block;
  width:280px;
  height:2px;
  overflow:hidden;
  background:rgba(0, 23, 60, .16);
}

.site-loader__bar::before{
  content:"";
  position:absolute;
  top:0;
  left:-60%;
  width:60%;
  height:100%;
  background:#00173c;
  animation:exaLoaderBar 1.1s ease-in-out infinite;
}

@keyframes exaLoaderBar{
  0%{
    left:-60%;
  }
  100%{
    left:100%;
  }
}

@media (max-width:575px){
  .site-loader__inner{
    gap:18px;
  }

  .site-loader__logo{
    width:min(240px, 54vw);
  }

  .site-loader__bar{
    width:190px;
  }
}

@media (prefers-reduced-motion: reduce){
  .site-loader,
  .site-loader__bar::before{
    transition:none;
    animation:none;
  }
}
