main .mainvisual {
  position: relative;
  overflow: hidden;
  height: auto !important;
}

main .mainvisual .main_in {
  position: relative;
}

@media screen and (max-width: 767px) {
  main .mainvisual .main_in {
    overflow: hidden;
  }
}

@media not screen,
screen and (min-width: 768px) {
  main .mainvisual .vsp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  main .mainvisual .vpc {
    display: none;
  }
}

main .mainvisual p {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 0;
  height: auto;
}

main .mainvisual p img {
  width: 100%;
}

main .mainvisual hr {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: none;
  margin: 0;
  padding: 0;
  height: auto;
}

/*
main .mainvisual p.bg01 {
  opacity: 0;
  filter: brightness(20);
  transform: scale(1.2);
  transition: opacity 2s ease, filter 2s ease, transform 3s ease;
  will-change: filter, opacity, transform;
}
*/


@media screen and (max-width: 767px) {
  main .mainvisual p.bg01 {
    transform-origin: 35% 50%;
  }
}

.content__header .bg01 img {}

main .mainvisual.bg01 p.bg01 {
  opacity: 1;
  filter: blur(0vmin);
  filter: brightness(1);
  transform: scale(1);
  opacity: 1;
}

main .mainvisual p.bg01_cap {
  opacity: 0;
  transition: all 1.5s ease-in-out 0s, transform 4.2s ease-in 0s;
}

main .mainvisual.bg01 p.bg01_cap {
  opacity: 1;
}

main .mainvisual.black p.bg01,
main .mainvisual.black2 p.bg02,
main .mainvisual.black3 p.bg03 {
  transition: all 1.5s ease-in-out 0s, transform 5.2s ease-in 0s, filter 2s ease-in-out 3s;

}

/*
main .mainvisual p.txt01 {
  position: relative;
  opacity: 0;
  transition: all 1s ease-in-out 0s;
  transform: translateY(5%);
}
*/

main .mainvisual.txt01 p.txt01 {
  opacity: 1;
  transform: translateY(0%);
}

main .mainvisual hr.black,
main .mainvisual hr.black2,
main .mainvisual hr.black3 {
  opacity: 0;
  transition: all 3s ease-in-out 3s;
  background: #FFF;
}

main .mainvisual.black hr.black,
main .mainvisual.black2 hr.black2,
main .mainvisual.black3 hr.black3 {
  opacity: 1;
}

main .mainvisual p.bg02,
main .mainvisual p.bg03,
main .mainvisual p.bg04 {
  opacity: 0;
  filter: brightness(20);
  transform: scale(1.2);
  transition: opacity 2s ease, filter 2s ease, transform 3s ease;
  will-change: filter, opacity, transform;
}

main .mainvisual.bg02 p.bg02,
main .mainvisual.bg03 p.bg03,
main .mainvisual.bg04 p.bg04 {
  opacity: 1;
  filter: blur(0vmin);
  filter: brightness(1);
  transform: scale(1);
  opacity: 1;
}



.top_line {
  position: relative;
  background: rgba(0, 0, 0, 0.6);
}

.top_line img {
  position: relative;
}


main .mainvisual p.txt01 {
  position: absolute;
/*  opacity: 0; */
/*  transition: all 1s ease-in-out 0s; */
  max-width: 681px;
/*  top: 40vw; */
  top: 20vw;
  right: 3vw;
  left: auto;
  bottom: 0;
  width: 100%;
  transition: 3s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
/*  filter: blur(5vmin); */
}


main .mainvisual.txt01 p.txt01 {
  opacity: 1;
  filter: blur(0vmin);
}

main .mainvisual p.txt02 {
  position: absolute;
  opacity: 0;
  max-width: 681px;
  top: 13vw;
  right: 0vw;
  left: auto;
  bottom: auto;
  width: 100%;
  transition: 3s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
  filter: blur(5vmin);
}

main .mainvisual p.txt03 {
  position: absolute;
  opacity: 0;
  max-width: 681px;
  width: 100%;
  top: 13vw;
  right: 6vw;
  left: auto;
  margin: 0;
  transition: 3s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
  filter: blur(5vmin);
}

main .mainvisual p.txt04 {
  position: absolute;
  opacity: 0;
  max-width: 305px;
  width: 100%;
  top: 18vw;
  right: 0;
  left: 0;
  margin: 0 auto;
  transition: 3s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
  filter: blur(5vmin);
}

main .mainvisual.txt02 p.txt02,
main .mainvisual.txt03 p.txt03,
main .mainvisual.txt04 p.txt04 {
  opacity: 1;
  filter: blur(0vmin);
}

main .mainvisual p.bg01 {
  position: relative;
}

@media screen and (max-width: 767px) {
  main .mainvisual p.txt01 {
    max-width: 75%;
    top: 17vw;
    right: 0px;
    left: auto;
    bottom: auto;
    width: 100%;
  }

  main .mainvisual p.txt02 {
    max-width: 75%;
    top: auto;
    right: -7vw;
    left: auto;
    bottom: 3vw;
    width: 100%;
  }

  main .mainvisual p.txt03 {
    max-width: 75%;
    top: 19vw;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
  }

  main .mainvisual p.txt04 {
    max-width: 40%;
    top: 19vw;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
  }
}