@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes clatter {
  0%, 65%, 77.5%, 90%, 100% {
    transform: rotate(0deg);
  }
  71.25%, 83.75% {
    transform: rotate(1deg) translateY(-3px);
  }
}
@keyframes vibration {
  0% {
    transform: translate(0) rotate(0deg);
  }
  21% {
    transform: translate(0) rotate(0deg);
  }
  22% {
    transform: translate(0) rotate(-2deg);
  }
  23% {
    transform: translateY(-0.1rem) rotate(0deg);
  }
  24% {
    transform: translateY(-0.1rem) rotate(2deg);
  }
  25% {
    transform: translate(0.1rem) rotate(-1deg);
  }
  26% {
    transform: translateY(0.1rem) rotate(0deg);
  }
  27% {
    transform: translate(0) rotate(2deg);
  }
  28% {
    transform: translate(0) rotate(0deg);
  }
  100% {
    transform: translate(0) rotate(0deg);
  }
}
.top-mv {
  padding-top: 193px;
}
@media (max-width: 768px) {
  .top-mv {
    padding-top: 19.4666666667vw;
  }
}
.top-mv__ttl {
  width: clamp(504px * 0.7, 35vw, 504px);
  margin: auto;
  margin-right: auto;
  position: relative;
}
@media (max-width: 768px) {
  .top-mv__ttl {
    width: 67.2vw;
  }
}
.top-mv__ttl img {
  display: block;
  width: 100%;
  opacity: 0;
  transform: translateY(20px);
  transition: 0.6s;
}
@media (max-width: 768px) {
  .top-mv__ttl img {
    transform: translateY(8vw);
  }
}
.is_show .top-mv__ttl img {
  opacity: 1;
  transform: translateY(0);
}
.top-mv__ttl .deco {
  width: clamp(160px * 0.7, 11.1111111111vw, 160px);
  aspect-ratio: 160/245;
  position: absolute;
  top: calc(clamp(56px * 0.7, 3.8888888889vw, 56px) * -1);
  right: calc(clamp(185px * 0.7, 12.8472222222vw, 185px) * -1);
  animation: clatter 3s cubic-bezier(0.19, 1, 0.22, 1) infinite;
}
@media (max-width: 768px) {
  .top-mv__ttl .deco {
    width: 20vw;
    position: relative;
    top: auto;
    right: auto;
    margin: 2.6666666667vw auto 0;
  }
}
.top-mv__ttl .deco:before {
  content: "";
  display: block;
  width: clamp(87px * 0.7, 6.0416666667vw, 87px);
  aspect-ratio: 174/478;
  background-image: url(../../img/top/deco_mv01.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 50%;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0;
  transition: 0.5s;
  transition-delay: 0.1s;
  transform: translateY(20px) rotate(3deg);
}
@media (max-width: 768px) {
  .top-mv__ttl .deco:before {
    width: 10.9333333333vw;
    transform: translateY(8vw);
  }
}
.is_show .top-mv__ttl .deco:before {
  opacity: 1;
  transform: translateY(0);
}
.top-mv__ttl .deco:after {
  content: "";
  display: block;
  width: clamp(105px * 0.7, 7.2916666667vw, 105px);
  aspect-ratio: 210/470;
  background-image: url(../../img/top/deco_mv02.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 50%;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  transition: 0.5s;
  transition-delay: 0.15s;
  transform: translateY(20px) rotate(5deg);
}
@media (max-width: 768px) {
  .top-mv__ttl .deco:after {
    width: 13.0666666667vw;
    transform: translateY(8vw);
  }
}
.is_show .top-mv__ttl .deco:after {
  opacity: 1;
  transform: translateY(0);
}
.top-mv__catch {
  width: clamp(877px * 0.7, 60.9027777778vw, 877px);
  margin: 83px auto 0;
  opacity: 0;
  transition: 0.6s;
  transition-delay: 0.2s;
  transform: translateY(20px);
}
@media (max-width: 768px) {
  .top-mv__catch {
    width: 69.0666666667vw;
    margin-top: 4.5333333333vw;
    transform: translateY(5.3333333333vw);
  }
}
.is_show .top-mv__catch {
  opacity: 1;
  transform: translateY(0);
}
.top-mv__catch img {
  display: block;
  width: 100%;
}
.top-mv__txtWrap {
  margin-top: 34px;
  opacity: 0;
  transition: 0.6s;
  transition-delay: 0.3s;
  transform: translateY(20px);
}
@media (max-width: 768px) {
  .top-mv__txtWrap {
    margin-top: 7.7333333333vw;
    transform: translateY(5.3333333333vw);
  }
}
.is_show .top-mv__txtWrap {
  opacity: 1;
  transform: translateY(0);
}
.top-mv__txtWrap .desc {
  font-size: clamp(24px * 0.7, 1.6666666667vw, 24px);
  line-height: 1.8;
  text-align: center;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .top-mv__txtWrap .desc {
    font-size: 4.2666666667vw;
    margin-top: 5.3333333333vw;
  }
}
.top-mv__txtWrap .desc:first-of-type {
  margin-top: 0;
}

.top-intro {
  margin-top: 277px;
}
@media (max-width: 768px) {
  .top-intro {
    margin-top: 21.3333333333vw;
  }
}
.top-intro__wrap {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 1.8181818182%;
}
@media (max-width: 1024px) {
  .top-intro__wrap {
    justify-content: flex-start;
  }
}
@media (max-width: 820px) {
  .top-intro__wrap {
    align-items: flex-end;
    gap: 3.6363636364%;
  }
}
@media (max-width: 768px) {
  .top-intro__wrap {
    flex-direction: column;
    gap: 3.2vw;
  }
}
.top-intro__txt {
  width: 58.1818181818%;
}
@media (max-width: 1024px) {
  .top-intro__txt {
    width: 65.4545454545%;
  }
}
@media (max-width: 820px) {
  .top-intro__txt {
    width: 72.7272727273%;
  }
}
@media (max-width: 768px) {
  .top-intro__txt {
    width: 100%;
  }
}
.top-intro__txt .intoTtl {
  width: 85.5033557047%;
}
@media (max-width: 768px) {
  .top-intro__txt .intoTtl {
    width: 69.8666666667vw;
    margin-left: auto;
    margin-right: auto;
  }
}
.top-intro__txt .intoTtl img {
  display: block;
  width: 100%;
}
.top-intro__txt .desc {
  font-size: clamp(24px * 0.7, 1.6666666667vw, 24px);
  line-height: 1.8;
  margin-top: 31px;
}
@media (max-width: 768px) {
  .top-intro__txt .desc {
    font-size: 4.2666666667vw;
    line-height: 1.6;
    margin-top: 6.4vw;
    text-align: center;
  }
}
.top-intro__img {
  display: block;
  width: 25.0909090909%;
  margin-bottom: 16px;
  animation: clatter 3s cubic-bezier(0.19, 1, 0.22, 1) infinite;
  animation-delay: 1.5s;
  transform-origin: right center;
}
@media (max-width: 768px) {
  .top-intro__img {
    width: 51.4666666667vw;
    margin: 0 auto;
  }
}

.top-method {
  margin-top: 149px;
  background-color: #F8EFFC;
  border-radius: 5px;
  padding: 45px 30px 70px;
  box-sizing: border-box;
  position: relative;
}
@media (max-width: 768px) {
  .top-method {
    margin-top: 40.5333333333vw;
    border-radius: 1.3333333333vw;
    padding: 9.8666666667vw 2.1333333333vw 10.6666666667vw;
  }
}
.top-method:before {
  content: "";
  display: block;
  width: 267px;
  aspect-ratio: 1008/264;
  background-image: url(../../img/common/logo.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 50%;
  position: absolute;
  top: -48px;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .top-method:before {
    width: 42.6666666667vw;
    top: -7.2vw;
  }
}
.top-method__ttl {
  line-height: 1.6;
  font-size: clamp(32px * 0.7, 2.2222222222vw, 32px);
  text-align: center;
}
@media (max-width: 768px) {
  .top-method__ttl {
    font-size: 5.8666666667vw;
  }
}
.top-method__ttl:before {
  content: "";
  display: block;
  width: 200px;
  aspect-ratio: 200/75;
  background-image: url(../../img/top/ttl_method.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 50%;
  margin: 0 auto 20px;
}
@media (max-width: 768px) {
  .top-method__ttl:before {
    width: 37.3333333333vw;
    margin-bottom: 6.1333333333vw;
  }
}
.top-method__subTtl {
  color: #8F58A8;
  font-weight: 700;
  font-size: clamp(30px * 0.7, 2.0833333333vw, 30px);
  line-height: 2;
  text-align: center;
  margin-top: 56px;
}
@media (max-width: 768px) {
  .top-method__subTtl {
    font-size: 5.8666666667vw;
    margin-top: 10.6666666667vw;
    line-height: 1.6;
  }
}
.top-method__subTtl .strong {
  display: inline-block;
  background-color: #F0E0F7;
  border-radius: 3px;
  box-shadow: 0 2px 4px 0 rgba(106, 37, 138, 0.15);
  padding-left: 0.3em;
  margin-top: 1.8666666667vw;
}
@media (max-width: 768px) {
  .top-method__subTtl .strong {
    border-radius: 0.8vw;
    box-shadow: 0 0.5333333333vw 1.0666666667vw 0 rgba(106, 37, 138, 0.15);
  }
}
.top-method__subTtl .strong:nth-of-type(2) {
  margin-left: 1em;
  margin-right: 1em;
}
@media (max-width: 768px) {
  .top-method__subTtl .strong:nth-of-type(2) {
    margin-left: 0;
    margin-right: 0;
  }
}
@media (max-width: 1024px) {
  .top-method__subTtl .strong:nth-of-type(3) {
    margin-top: 1em;
    margin-right: 1em;
  }
}
@media (max-width: 768px) {
  .top-method__subTtl .strong:nth-of-type(3) {
    margin-right: 0;
    margin-top: 1.8666666667vw;
    margin-bottom: 1.8666666667vw;
  }
}
@media (max-width: 1024px) {
  .top-method__subTtl .br01 {
    display: none;
  }
}
@media (max-width: 768px) {
  .top-method__subTtl .br01 {
    display: block;
  }
}
.top-method__desc {
  line-height: 1.8;
  font-size: clamp(24px * 0.7, 1.6666666667vw, 24px);
  text-align: center;
  margin-top: 46px;
}
@media (max-width: 768px) {
  .top-method__desc {
    font-size: 4.2666666667vw;
    line-height: 1.6;
    margin-top: 4.8vw;
  }
}
.top-method__list {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
@media (max-width: 768px) {
  .top-method__list {
    margin: 8.2666666667vw auto 0;
    gap: 2.6666666667vw;
    width: 74.4vw;
  }
}
.top-method__list > li {
  background-color: #fff;
  width: fit-content;
  border-radius: 80px;
  padding: 5px 20px 5px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 768px) {
  .top-method__list > li {
    border-radius: 21.3333333333vw;
    padding: 2.1333333333vw 5.3333333333vw 2.1333333333vw 2.6666666667vw;
    gap: 1.8666666667vw;
    width: 100%;
    box-sizing: border-box;
  }
}
.top-method__list > li:before {
  content: "";
  display: block;
  width: 54px;
  aspect-ratio: 54/54;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
@media (max-width: 768px) {
  .top-method__list > li:before {
    width: 8.8vw;
    min-width: 8.8vw;
  }
}
.top-method__list > li:first-of-type:before {
  background-image: url(../../img/top/deco_method01.svg);
}
.top-method__list > li:nth-of-type(2):before {
  background-image: url(../../img/top/deco_method02.svg);
}
.top-method__list > li:last-of-type:before {
  background-image: url(../../img/top/deco_method03.webp);
}
.top-method__list .txt {
  font-weight: 700;
  line-height: 1.4583333333;
  font-size: clamp(24px * 0.7, 1.6666666667vw, 24px);
}
@media (max-width: 768px) {
  .top-method__list .txt {
    font-size: 4.2666666667vw;
    line-height: 1.5;
  }
}

.top-habit {
  margin-top: 97px;
  background-color: #F8EFFC;
  border-radius: 50px;
  padding-top: 125px;
  padding-bottom: 97px;
}
@media (max-width: 768px) {
  .top-habit {
    margin-top: 16vw;
    border-radius: 13.3333333333vw;
    padding-top: 14.4vw;
    padding-bottom: 14.4vw;
  }
}
.top-habit__ttl {
  width: clamp(877px * 0.7, 60.9027777778vw, 877px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 768px) {
  .top-habit__ttl {
    width: 69.0666666667vw;
  }
}
.top-habit__ttl img {
  display: block;
  width: 100%;
}
.top-habit__listWrap {
  margin-top: 53px;
}
@media (max-width: 768px) {
  .top-habit__listWrap {
    margin-top: 10.6666666667vw;
  }
}
.top-habit__listWrap:before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 2200/64;
  background-image: url(../../img/top/deco_habit.webp);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 100% auto;
  margin-bottom: -1px;
}
@media (max-width: 768px) {
  .top-habit__listWrap:before {
    height: 5.8666666667vw;
    aspect-ratio: auto;
    background-size: auto 100%;
    background-position: 0% 0%;
  }
}
.top-habit__list {
  background-color: #fff;
  padding: 71px 9.0909090909% 85px;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .top-habit__list {
    padding: 6.4vw 4.5333333333vw 9.6vw;
  }
}
.top-habit__list > li {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .top-habit__list > li {
    flex-direction: column-reverse;
    gap: 3.7333333333vw;
  }
}
.top-habit__list > li:first-of-type {
  border-bottom: 3px solid #F8EFFC;
  padding-bottom: 59px;
}
@media (max-width: 768px) {
  .top-habit__list > li:first-of-type {
    padding-bottom: 10.1333333333vw;
  }
}
.top-habit__list > li:first-of-type .txtWrap {
  width: 48.7777777778%;
}
@media (max-width: 768px) {
  .top-habit__list > li:first-of-type .txtWrap {
    width: 100%;
  }
}
.top-habit__list > li:first-of-type .imgWrap {
  width: 51.6666666667%;
  margin-right: -0.4444444444%;
}
@media (max-width: 768px) {
  .top-habit__list > li:first-of-type .imgWrap {
    width: 74.6666666667vw;
    margin-left: auto;
    margin-right: auto;
  }
}
.top-habit__list > li:last-child {
  padding-top: 59px;
}
@media (max-width: 768px) {
  .top-habit__list > li:last-child {
    padding-top: 8vw;
  }
}
.top-habit__list > li:last-child .imgWrap {
  width: 50.1111111111%;
}
@media (max-width: 768px) {
  .top-habit__list > li:last-child .imgWrap {
    width: 74.6666666667vw;
  }
}
.top-habit__list > li .txtWrap {
  width: 48.8888888889%;
}
@media (max-width: 768px) {
  .top-habit__list > li .txtWrap {
    width: 100%;
  }
}
.top-habit__list > li .imgWrap img {
  display: block;
  width: 100%;
}
.top-habit__list > li .subTtl {
  font-weight: 700;
  line-height: 1.6;
  font-size: clamp(32px * 0.7, 2.2222222222vw, 32px);
}
@media (max-width: 768px) {
  .top-habit__list > li .subTtl {
    font-size: 5.9733333333vw;
  }
}
.top-habit__list > li .desc {
  font-size: clamp(20px * 0.7, 1.3888888889vw, 20px);
  line-height: 1.6;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .top-habit__list > li .desc {
    font-size: 3.7333333333vw;
    margin-top: 2.6666666667vw;
  }
}

.top-generation {
  padding-top: 96px;
}
@media (max-width: 768px) {
  .top-generation {
    padding-top: 10.4vw;
  }
}
.top-generation__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
}
@media (max-width: 768px) {
  .top-generation__list {
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}
.top-generation__list.is_show > .group {
  opacity: 1;
  transform: translateY(0);
}
@media (max-width: 768px) {
  .top-generation__list.is_show > .group {
    opacity: 0;
    transform: translateY(10.6666666667vw);
  }
}
.top-generation__list > .group {
  width: calc((100% - 20px) / 2);
  padding: 30px 2.5454545455%;
  border-radius: 30px;
  box-sizing: border-box;
  opacity: 0;
  transition: 0.6s ease;
  transform: translateY(40px);
}
@media (max-width: 768px) {
  .top-generation__list > .group {
    width: 100%;
    padding: 8vw 4vw;
    border-radius: 8vw;
    transform: translateY(8vw);
  }
}
@media (max-width: 768px) {
  .top-generation__list > .group.is_show {
    opacity: 1;
    transform: translateY(0);
  }
}
.top-generation__list > .group:first-of-type {
  border: 2px solid #BDF5F7;
}
.top-generation__list > .group:first-of-type dt:before {
  border: 2px solid #BDF5F7;
}
.top-generation__list > .group:nth-of-type(2) {
  border: 2px solid #FDCD66;
  transition-delay: 0.1s;
}
@media (max-width: 768px) {
  .top-generation__list > .group:nth-of-type(2) {
    transition-delay: 0s;
  }
}
.top-generation__list > .group:nth-of-type(2) dt:before {
  border: 2px solid #FDCD66;
}
.top-generation__list > .group:nth-of-type(3) {
  border: 2px solid #FDE1E3;
  transition-delay: 0.2s;
}
@media (max-width: 768px) {
  .top-generation__list > .group:nth-of-type(3) {
    transition-delay: 0s;
  }
}
.top-generation__list > .group:nth-of-type(3) dt:before {
  border: 2px solid #FDE1E3;
}
.top-generation__list > .group:last-of-type {
  border: 2px solid #C1F1DB;
  transition-delay: 0.3s;
}
@media (max-width: 768px) {
  .top-generation__list > .group:last-of-type {
    transition-delay: 0s;
  }
}
.top-generation__list > .group:last-of-type dt:before {
  border: 2px solid #C1F1DB;
}
.top-generation__list > .group dt {
  font-weight: 700;
  font-size: clamp(30px * 0.7, 2.0833333333vw, 30px);
  line-height: 1.4333333333;
  padding-left: clamp(45px * 0.7, 3.125vw, 45px);
  position: relative;
}
@media (max-width: 768px) {
  .top-generation__list > .group dt {
    font-size: 5.6vw;
    line-height: 1.4285714286;
    padding-left: 9.3333333333vw;
  }
}
.top-generation__list > .group dt:before {
  content: "";
  display: block;
  width: clamp(35px * 0.7, 2.4305555556vw, 35px);
  aspect-ratio: 35/35;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .top-generation__list > .group dt:before {
    width: 6.4vw;
  }
}
.top-generation__list > .group dd {
  font-size: clamp(20px * 0.7, 1.3888888889vw, 20px);
  line-height: 1.6;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .top-generation__list > .group dd {
    font-size: 3.7333333333vw;
    margin-top: 5.3333333333vw;
  }
}

.top-info {
  background-image: url(../../img/top/bg_info.svg);
  background-size: 100% auto;
  background-position: 50% 0%;
  background-repeat: no-repeat;
  margin-top: 50px;
}
@media (max-width: 768px) {
  .top-info {
    margin-top: 21.3333333333vw;
    background-size: calc(100% + 17.0666666667vw);
    background-position: calc(50% + 7.7333333333vw) 8.5333333333vw;
  }
}
.top-info__ttl {
  font-weight: 700;
  font-size: clamp(48px * 0.7, 3.3333333333vw, 48px);
  line-height: 1.6;
  color: #6A258A;
  padding-bottom: 1.0416666667vw;
  height: 8.1944444444vw;
  box-sizing: border-box;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
@media (max-width: 768px) {
  .top-info__ttl {
    font-size: 8.96vw;
    padding-bottom: 0;
    height: auto;
    width: 80.8vw;
    margin-left: 15.4666666667vw;
    margin-right: 0;
  }
}
.top-info__ttl .small {
  line-height: 1.8;
  font-size: clamp(32px * 0.7, 2.2222222222vw, 32px);
}
@media (max-width: 768px) {
  .top-info__ttl .small {
    font-size: 5.9733333333vw;
  }
}
.top-info__wrap {
  background-color: #FCE878;
  padding-bottom: 45px;
}
@media (max-width: 768px) {
  .top-info__wrap {
    padding-bottom: 9.6vw;
  }
}
.top-info__wrap .catch {
  font-weight: 700;
  font-size: clamp(24px * 0.7, 1.6666666667vw, 24px);
  line-height: 1.6;
  text-align: center;
  margin-top: 20px;
  color: #6A258A;
}
@media (max-width: 768px) {
  .top-info__wrap .catch {
    font-size: 4vw;
    margin-top: 12.8vw;
  }
}
.top-info__wrap .desc {
  font-size: clamp(20px * 0.7, 1.3888888889vw, 20px);
  line-height: 1.6;
  text-align: center;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .top-info__wrap .desc {
    font-size: 3.7333333333vw;
  }
}
.top-info__wrap .img {
  display: block;
  width: 949px;
  max-width: 100%;
  margin: 40px auto 0;
  position: relative;
}
@media (max-width: 768px) {
  .top-info__wrap .img {
    margin-top: 5.3333333333vw;
  }
}
.top-info__wrap .img img {
  display: block;
  width: 100%;
}
.top-info__wrap .img .deco {
  display: block;
  width: 22.655426765%;
  aspect-ratio: 430/364;
  background-image: url(../../img/top/deco_info.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 50%;
  position: absolute;
  top: 14.5110410095%;
  right: 6.1116965227%;
  animation: clatter 3s cubic-bezier(0.19, 1, 0.22, 1) infinite;
  transform-origin: right center;
}
@media (max-width: 768px) {
  .top-info__wrap .img .deco {
    width: 53.4653465347%;
    top: auto;
    right: 23.102310231%;
    bottom: 17.1428571429%;
  }
}

/*# sourceMappingURL=top.css.map */
