@charset "UTF-8";

.lp_wrap .cleansing1 {
  z-index: 1;
}
.lp_wrap .cleansing1 .mosaic {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
}
.lp_wrap .cleansing1.trigger .mosaic {
  transition: 0.8s 0.2s;
}
.lp_wrap .cleansing1.trigger.move .mosaic {
  opacity: 0;
}
.lp_wrap .cleansing1 .frame {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
}
.lp_wrap .cleansing1 .head1 div {
  position: absolute;
}
.lp_wrap .cleansing1 .head1 div:nth-child(1) {
  top: 4.1%;
  left: 6.5%;
  width: 56.933%;
  transition: 0.6s;
}
.lp_wrap .cleansing1 .head1 div:nth-child(2) {
  top: 6.5%;
  left: 42.8%;
  width: 30.8%;
  transition: 0.6s 0.4s;
}
.lp_wrap .cleansing1.trigger .head1 div {
  clip-path: inset(0% 99.999% 0% 0%);
}
.lp_wrap .cleansing1.trigger.move .head1 div {
  clip-path: inset(0%);
}
.lp_wrap .cleansing1 .image {
  position: absolute;
  top: 41.6%;
  left: 13.334%;
  width: 73.333%;
}
.lp_wrap .cleansing1 .image .overlay {
  position: absolute;
  inset: 0%;
}
@property --cleansing1_image {
  syntax: "<number>";
  inherits: false;
  initial-value: -0.3;
}
.lp_wrap .cleansing1 .image.trigger img {
  --cleansing1_image: -0.3;
  transition: --cleansing1_image 1.4s;
}
.lp_wrap .cleansing1 .image.trigger.move img {
  --cleansing1_image: 1.4;
}
.lp_wrap .cleansing1 .image.trigger .base {
  -webkit-mask: radial-gradient(circle at 0% 0%, #000000 calc(var(--cleansing1_image) * 100%), transparent calc(var(--cleansing1_image) * 100% + 30%));
  mask: radial-gradient(circle at 0% 0%, #000000 calc(var(--cleansing1_image) * 100%), transparent calc(var(--cleansing1_image) * 100% + 30%));
}
.lp_wrap .cleansing1 .image.trigger .overlay {
  filter: brightness(200%);
  -webkit-mask: radial-gradient(circle at 0% 0%, transparent calc(var(--cleansing1_image) * 100% - 30%), #000000 calc(var(--cleansing1_image) * 100%), transparent calc(var(--cleansing1_image) * 100% + 30%));
  mask: radial-gradient(circle at 0% 0%, transparent calc(var(--cleansing1_image) * 100% - 30%), #000000 calc(var(--cleansing1_image) * 100%), transparent calc(var(--cleansing1_image) * 100% + 30%));
}
.lp_wrap .cleansing1 .on {
  position: absolute;
  top: 39.8%;
  left: 15.8%;
  width: 63.467%;
}
.lp_wrap .cleansing1 .circle {
  position: absolute;
  top: 40%;
  left: 39.6%;
  width: 20.8%;
  animation: 10s cleansing1_circle linear infinite;
}
@keyframes cleansing1_circle {
  from {
    transform: rotateZ(0deg);
  }
  to {
    transform: rotateZ(-359deg);
  }
}
.lp_wrap .cleansing1 .head2 div {
  position: absolute;
  top: 40.1%;
}
.lp_wrap .cleansing1 .head2 div:nth-child(1) {
  left: 78.6%;
  width: 16%;
  transition: 0.6s 0.4s;
}
.lp_wrap .cleansing1 .head2 div:nth-child(2) {
  left: 5.7%;
  width: 16.4%;
  transition: 0.6s 0.6s;
}
.lp_wrap .cleansing1 .image.trigger ~ .head2 div {
  transform: translateY(10%);
  opacity: 0;
}
.lp_wrap .cleansing1 .image.trigger.move ~ .head2 div {
  transform: translateY(0%);
  opacity: 1;
}
.lp_wrap .cleansing1 .head3 div {
  position: absolute;
}
.lp_wrap .cleansing1 .head3 div:nth-child(1) {
  top: 91.6%;
  left: 7.4%;
  width: 85.2%;
  transition: 0.6s;
}
.lp_wrap .cleansing1 .head3 div:nth-child(2) {
  top: 95.7%;
  left: 7.4%;
  width: 57.6%;
  transition: 0.6s 0.2s;
}
.lp_wrap .cleansing1 .head3 div.trigger,
.lp_wrap .cleansing1 .head3 div.trigger ~ div {
  clip-path: inset(0% 99.999% 0% 0%);
}
.lp_wrap .cleansing1 .head3 div.trigger.move,
.lp_wrap .cleansing1 .head3 div.trigger.move ~ div {
  clip-path: inset(0%);
}