@charset "utf-8";

/* CSS Document */

/***********
mainVisual
************/

.mainVisual {
  position: relative;
  background-color: #82c1eb;
  aspect-ratio: 192 / 154;
}

.mainVisual-wrapper {
  position: relative;
  z-index: 2;
}
.mainVisual-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 10%);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  overflow: hidden;
}
.mainVisual-img::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../../img/mv01.jpg) no-repeat center center / 100% auto ;
  filter: blur(20px);
  opacity: 0;
  scale: 1.01;
}
.mainVisual-img img {
  opacity: 0;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.is-loaded .mainVisual-img::after {
  opacity: 1;
  transition: 2s;
}
body.is-loaded .mainVisual-img img{
  opacity: 1;
  transition: 3s;
  transition-delay: 0.5s;
}

.mainVisual-container {
  position: sticky;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 95svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.mainVisual-block {
}
.mainVisual-lead {
  font-size: clamp(2rem,2.6vw, 10rem);
  font-weight: 700;
  padding-inline: 0.5em ;
  padding-bottom: 0 05em;
  white-space: nowrap;
  opacity: 0;
  display: inline-block;
  transition: background 1s ease;
}
.mainVisual-lead span {
  display: inline-block;
  opacity: 0;
  translate: 0 5px;
}
.mainVisual.is-scrolled .mainVisual-lead {
  background-color: #fffa;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}

body.is-loaded .mainVisual-lead {
  opacity: 1;
}
body.is-loaded .mainVisual-lead span {
  opacity: 1;
  transition: opacity 2s ease ,translate 1s ease;
  translate: 0 0;
}

@media screen and (max-width:1024px) {

  .mainVisual {
    position: relative;
    background-color: #82c1eb;
    aspect-ratio:initial;
    height: 100vmax;
  }

  .mainVisual-wrapper {
    position: relative;
    z-index: 2;
  }
  .mainVisual-img {
    left: 0;
    top: auto;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .mainVisual-container {
    height: 80vmax;
  }
  .mainVisual-lead {
    font-size: clamp(1.2rem,6vw, 2rem);
  }

}

/***********
homeContents
************/

.homeContents {
  position: relative;
}

/***********
xxxxx
************/

/***********
xxxxx
************/

/***********
xxxxx
************/

/***********
xxxxx
************/

/***********
xxxxx
************/

/***********
xxxxx
************/

/***********
xxxxx
************/

/***********
xxxxx
************/
