@charset "UTF-8";

:root {
  color-scheme: light;
  --content-width: 834px;
  --page-bg: #f6f5f4;
  --campaign-cta-bottom: clamp(32px, 10vw, 83px);
  --campaign-cta-bottom-tight: clamp(29px, 9vw, 75px);
}

@supports (container-type: inline-size) {
  :root {
    --campaign-cta-bottom: 10cqw;
    --campaign-cta-bottom-tight: 9cqw;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--page-bg);
  color: #333;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  width: 100%;
}

a {
  -webkit-tap-highlight-color: transparent;
}

.lp {
  width: 100%;
}

.lp__canvas {
  width: min(100%, var(--content-width));
  margin-inline: auto;
  overflow: hidden;
  container-type: inline-size;
  background: #fff;
  box-shadow: 0 0 30px rgb(44 51 67 / 8%);
}

section{
  width: 100%;
}
.image-section {
  position: relative;
  width: 100%;
  margin: 0;
  line-height: 0;
}

.image-section > img {
  width: 100%;
}

.image-section > .section-overlay {
  position: absolute;
  z-index: 1;
  width: var(--overlay-width);
  height: auto;
  max-width: none;
  pointer-events: none;
}

.section-overlay.scroll-reveal {
  opacity: 0;
  transform: translate3d(0, clamp(24px, 5vw, 42px), 0);
  transition:
    opacity 1.5s ease-out var(--scroll-reveal-delay, 0ms),
    transform 1.8s cubic-bezier(0.22, 1, 0.36, 1) var(--scroll-reveal-delay, 0ms);
  will-change: opacity, transform;
}

.section-overlay.scroll-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.section-overlay.scroll-reveal.is-reveal-complete {
  will-change: auto;
}

.section-overlay--02-txt {
  top: 2.4%;
  left: 8.5%;
  --overlay-width: 82.3%;
  background-blend-mode: screen;
}

.section-overlay--03-txt {
  top: 65.2%;
  left: 6.3%;
  --overlay-width: 89.7%;
}

.section-overlay--05-txt1 {
  top: 2%;
  left: 15.75%;
  --overlay-width: 68.5%;
}

.section-overlay--05-txt2 {
  top: 38%;
  left: 23.65%;
  --overlay-width: 52.7%;
}

.section-overlay--06-txt {
  top: 28%;
  right: -4%;
  --overlay-width: 40%;
}

.image-section--07 {
  isolation: isolate;
}

.image-section--07 > img:first-child {
  position: relative;
  z-index: 0;
}

.section-overlay--07-img {
  top: 1%;
  left: 0.2%;
  --overlay-width: 99.6%;
  z-index: 2;
}

.section-overlay--07-txt {
  top: 15.5%;
  left: 4%;
  --overlay-width: 41.6%;
  z-index: 3;
}

.section-overlay--moisture-s {
  top: -10.5%;
  left: 0;
  --overlay-width: 32.5%;
  z-index: 4;
  animation: surface-tension-pulse 5s cubic-bezier(0.22, 0.61, 0.36, 1) -0.7s infinite;
  transform-origin: 50% 68%;
  will-change: transform;
}

.section-overlay--moisture-l {
  top: 55%;
  left: 0;
  --overlay-width: 100%;
  z-index: 1;
  animation: surface-tension-pulse 5.8s cubic-bezier(0.22, 0.61, 0.36, 1) -2.1s infinite;
  transform-origin: 68% 70%;
  will-change: transform;
}

.image-section--09 {
  isolation: isolate;
}

.image-section--09 > img:first-child {
  position: relative;
  z-index: 0;
}

.section-overlay--09-img {
  top: 40.8%;
  left: 1.85%;
  --overlay-width: 96.3%;
  z-index: 3;
}

.section-overlay--09-m1 {
  top: 29%;
  left: -5%;
  --overlay-width: 16.7%;
  animation: surface-tension-pulse 4.8s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
  transform-origin: 50% 68%;
  will-change: transform;
}

.section-overlay--09-m2 {
  top: 39%;
  right: -5%;
  --overlay-width: 27.7%;
  z-index: 1;
  animation: surface-tension-pulse 5.2s cubic-bezier(0.22, 0.61, 0.36, 1) -1.5s infinite;
  transform-origin: 50% 68%;
  will-change: transform;
}

.section-overlay--10-m {
  top: 58%;
  left: 0;
  --overlay-width: 100%;
  animation: soft-float 4.8s ease-in-out infinite;
  transform-origin: 50% 50%;
  will-change: transform;
}

.section-overlay--10-txt1 {
  top: 8%;
  left: 8%;
  --overlay-width: 72.7%;
}

.section-overlay--10-txt2 {
  top: 60.5%;
  left: 30.5%;
  --overlay-width: 60.7%;
}

.section-overlay--12-img1,
.section-overlay--12-img2,
.section-overlay--12-img3 {
  left: 4.55%;
  --overlay-width: 90.9%;
}

.section-overlay--12-img1 {
  top: 28.5%;
}

.section-overlay--12-img2 {
  top: 52.5%;
}

.section-overlay--12-img3 {
  top: 76%;
}

.section-overlay--13-txt {
  top: 30%;
  left: -4%;
  --overlay-width: 65.7%;
}

.section-overlay--14-img1,
.section-overlay--15-img1,
.section-overlay--16-img1 {
  left: 0;
  --overlay-width: 100%;
}

.section-overlay--14-img1 {
  top: 39%;
}

.section-overlay--15-img1 {
  top: 0;
}

.section-overlay--16-img1 {
  top: 0;
  z-index: 1;
}

.image-section--16 {
  z-index: 2;
  isolation: isolate;
}

.image-section--17 {
  z-index: 1;
  isolation: isolate;
}

.image-section--17 > img:first-child {
  position: relative;
  z-index: 0;
}

.section-overlay--dakara {
  top: 91.7%;
  left: 0;
  --overlay-width: 34%;
  z-index: 4;
}

.section-overlay--moisture {
  top: 75.2%;
  left: -3%;
  --overlay-width: 18%;
  z-index: 3;
  animation: surface-tension-pulse 5.4s cubic-bezier(0.22, 0.61, 0.36, 1) -0.8s infinite;
  transform-origin: 50% 68%;
  will-change: transform;
}

.section-overlay--moisture-b {
  top: 85.6%;
  right: -2%;
  --overlay-width: 25%;
  z-index: 3;
  animation: surface-tension-pulse 6.1s cubic-bezier(0.22, 0.61, 0.36, 1) -2.4s infinite;
  transform-origin: 50% 68%;
  will-change: transform;
}

.section-overlay--17-txt {
  top: 8%;
  left: -3%;
  --overlay-width: 58.7%;
  z-index: 5;
}


.section-overlay--18-txt{
--overlay-width: 74.9%;
left: 5%;
top:7%
}

.section-overlay--21-txt{
--overlay-width: 38.9%;
left: -1%;
top:35%
}

.section-overlay--22-txt{
--overlay-width: 13.4%;
right: 4%;
top:0%
}

.section-overlay--23-txt{
--overlay-width: 13.2%;
left: 4%;
top:10%
}

.section-overlay--24-txt{
--overlay-width: 88.9%;
left: 3%;
top:0%;
}

.section-overlay--27-txt{
--overlay-width: 58.5%;
right: 7.5%;
top:46%;
}

.section-overlay--28-txt {
  top: 11%;
  left: 0;
  --overlay-width: 31%;
}

.section-overlay--10month-cp {
  top: 69%;
  left: 2.3%;
  --overlay-width: 95.5%;
  z-index: 2;
}

.image-section--fv .fv-copy {
  position: absolute;
  top: 20.25%;
  left: 67%;
  width: 30.5%;
  opacity: 0;
  transform: translate3d(0, clamp(24px, 5vw, 42px), 0);
  transition:
    opacity 1.5s ease-out 250ms,
    transform 1.8s cubic-bezier(0.22, 1, 0.36, 1) 250ms;
  will-change: opacity, transform;
}

.image-section--fv .fv-copy.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@keyframes surface-tension-pulse {
  0%,
  42%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  51% {
    transform: translate3d(0, 0.7%, 0) scale(1.04, 0.97);
  }

  61% {
    transform: translate3d(0, -0.6%, 0) scale(0.985, 1.035);
  }

  71% {
    transform: translate3d(0, 0.3%, 0) scale(1.018, 0.986);
  }

  81% {
    transform: translate3d(0, -0.16%, 0) scale(0.994, 1.012);
  }

  91% {
    transform: translate3d(0, 0.06%, 0) scale(1.004, 0.997);
  }
}

@keyframes soft-float {
  0%,
  100% {
    transform: translate3d(0, 0, 0) rotate(-0.15deg);
  }

  50% {
    transform: translate3d(0, -2.2%, 0) rotate(0.2deg);
  }
}

@keyframes cta-float {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(0, -7%, 0);
  }
}

.purchase-button {
  position: absolute;
  z-index: 2;
  display: flex;
  width: 28.2%;
  aspect-ratio: 4.5 / 1;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eab0a7;
  color: #fff;
  font-size: clamp(12px, 2.88vw, 24px);
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1;
  text-decoration: none;
  touch-action: manipulation;
  transition: filter 180ms ease, transform 180ms ease;
}

.purchase-button::before {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 5px rgb(247 144 127 / 75%);
  content: "";
  mix-blend-mode: multiply;
  pointer-events: none;
}

.purchase-button::after {
  position: absolute;
  top: 50%;
  right: 8.5%;
  width: 0.45em;
  height: 0.45em;
  border-top: 1.5px solid currentcolor;
  border-right: 1.5px solid currentcolor;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.purchase-button--left {
  left: 16.6%;
}

.purchase-button--right {
  right: 16.6%;
}

.image-section--01 .purchase-button--top {
  top: 44.5%;
}

.image-section--01 .purchase-button--bottom {
  top: 65.8%;
}

.image-section--17 .purchase-button--top {
  top: 59.7%;
}

.image-section--17 .purchase-button--bottom {
  top: 81.8%;
}

.image-section--24 .purchase-button--top {
  top: 61.7%;
}

.image-section--24 .purchase-button--bottom {
  top: 82.65%;
}

.image-section--28 .purchase-button--top {
  top: 61.9%;
}

.image-section--28 .purchase-button--bottom {
  top: 82.4%;
}

.purchase-button:focus-visible {
  outline: 3px solid #73a3e5;
  outline-offset: 4px;
}

@media (hover: hover) {
  .purchase-button:hover {
    filter: brightness(1.04);
    transform: translateY(-2px);
  }
}


.cp-01{
  bottom: 2.4% !important;
}
.campaign-cta {
  position: absolute;
  z-index: 2;
  bottom: var(--campaign-cta-bottom);
  left: 6.3%;
  display: block;
  width: 88%;
  animation: cta-float 3s ease-in-out infinite;
  transition: opacity 180ms ease, transform 180ms ease;
  will-change: transform;
}

.image-section--01 .campaign-cta {
  bottom: clamp(40px, 12.9vw, 108px);
  left: 7.4%;
  display: flex;
  width: 85.7%;
  text-decoration: none;
}

@supports (container-type: inline-size) {
  .image-section--01 .campaign-cta {
    bottom: 12.9cqw;
    font-size: clamp(16px, 4.2cqw, 35px);
  }
}

.image-section--17 .campaign-cta,
.image-section--24 .campaign-cta {
  bottom: var(--campaign-cta-bottom-tight);
}

.campaign-cta img {
  width: 100%;
  height: auto;
}

.campaign-cta:focus-visible {
  border-radius: 999px;
  outline: 3px solid #536bc2;
  outline-offset: 4px;
}

@media (hover: hover) {
  .campaign-cta:hover {
    opacity: 0.92;
    transform: translateY(-2px);
  }
}

.site-footer {
  width: 100%;
  max-width: var(--content-width);
  background: #fff;
  margin: 0 auto;
}

.site-footer__inner {
  display: flex;
  width: 100%;
  min-height: 280px;
  margin-inline: auto;
  padding: 58px 24px 52px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.site-footer__logo {
  display: block;
  width: 179px;
  transition: opacity 180ms ease;
}

.site-footer__logo:hover,
.site-footer__nav a:hover {
  opacity: 0.72;
}

.site-footer__logo:focus-visible,
.site-footer__nav a:focus-visible {
  outline: 3px solid #73a3e5;
  outline-offset: 5px;
}

.site-footer__logo img {
  width: 100%;
}

.site-footer__nav {
  display: flex;
  margin-top: 48px;
  align-items: center;
  justify-content: center;
  color: #555;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

.site-footer__nav a {
  color: inherit;
  text-decoration: none;
  transition: opacity 180ms ease;
}

.site-footer__nav a + a {
  position: relative;
  margin-left: 30px;
  padding-left: 31px;
}

.site-footer__nav a + a::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 2px;
  height: 20px;
  background: #73a3e5;
  content: "";
  transform: translateY(-50%);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 767px) {
  .lp__canvas {
    box-shadow: none;
  }

  .site-footer__inner {
    min-height: 220px;
    padding: 40px 12px 38px;
  }

  .site-footer__logo {
    width: 145px;
  }

  .site-footer__nav {
    width: 100%;
    margin-top: 36px;
    font-size: clamp(11px, 3.2vw, 14px);
    letter-spacing: 0;
  }

  .site-footer__nav a + a {
    margin-left: clamp(8px, 2.8vw, 18px);
    padding-left: clamp(9px, 3vw, 19px);
  }

  .site-footer__nav a + a::before {
    width: 1px;
    height: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .image-section--fv .fv-copy {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .section-overlay.scroll-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .section-overlay--09-m1,
  .section-overlay--09-m2,
  .section-overlay--moisture-s,
  .section-overlay--moisture-l,
  .section-overlay--moisture,
  .section-overlay--moisture-b,
  .section-overlay--10-m,
  .campaign-cta {
    transform: none;
    animation: none;
  }

  .purchase-button,
  .campaign-cta {
    transition: none;
  }

  .site-footer__logo,
  .site-footer__nav a {
    transition: none;
  }
}
