@charset "UTF-8";

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

html,
body {
  margin: 0;
  padding: 0;
}

body {
  background-color: #fff;
}

.lp {
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.lp-section {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}

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

.cat-5 {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.cat-5__bg {
  display: block;
  width: 100%;
  height: auto;
}

.cat-5__button {
  position: absolute;
  width: 39.102564%; /* 305px ÷ 780px */
}

.cat-5__button img {
  display: block;
  width: 100%;
  height: auto;
}

/* 上段：S・M */
.cat-5__button--s {
  top: 73%;
  left: 8.974359%;
}

.cat-5__button--m {
  top: 73%;
  right: 8.974359%;
}

/* 下段：L・LL */
.cat-5__button--l {
  top: 83.75%;
  left: 8.974359%;
}

.cat-5__button--ll {
  top: 83.75%;
  right: 8.974359%;
}

.cat-5__button {
  overflow: hidden;
  border-radius: 10px;
}

.cat-5__button::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -75%;
  width: 40%;
  height: 200%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.7),
    transparent
  );
  transform: skewX(-25deg);
  pointer-events: none;
}

@media (hover: hover) {
  .cat-5__button:hover::after {
    animation: cat-5-shine 0.7s ease-in-out;
  }
}

@keyframes cat-5-shine {
  from {
    left: -75%;
  }
  to {
    left: 135%;
  }
}

.cat-5__emblem {
  width: 23.333333%; /* 182px ÷ 780px */
  position: absolute;
  top: 22.69%;
  left: 3.46%;
  width: 23.08%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
}

.cat-5__emblem img {
  display: block;
  width: 100%;
  height: auto;
}

.cat-5__emblem::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -75%;
  width: 40%;
  height: 200%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.7),
    transparent
  );
  transform: skewX(-25deg);
  pointer-events: none;
  animation: cat-5-emblem-shine 3s linear infinite;
}

@keyframes cat-5-emblem-shine {
  0% {
    left: -75%;
    animation-timing-function: ease-in-out;
  }
  23.333%,
  100% {
    left: 135%;
  }
}

.cat-3 {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.cat-3__bg {
  display: block;
  width: 100%;
  height: auto;
}

/* 購入ボタン */
.cat-3__button {
  position: absolute;
  width: 39.102564%;
  overflow: hidden;
  border-radius: 10px;
}

.cat-3__button img {
  display: block;
  width: 100%;
  height: auto;
}

.cat-3__button--s {
  top: 66.57%;
  left: 8.974359%;
}

.cat-3__button--m {
  top: 66.57%;
  right: 8.974359%;
}

.cat-3__button--l {
  top: 80.5%;
  left: 8.974359%;
}

.cat-3__button--ll {
  top: 80.5%;
  right: 8.974359%;
}

/* ボタン：ホバーでキラッ */
.cat-3__button::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -75%;
  width: 40%;
  height: 200%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.7),
    transparent
  );
  transform: skewX(-25deg);
  pointer-events: none;
}

@media (hover: hover) {
  .cat-3__button:hover::after {
    animation: cat-5-shine 0.7s ease-in-out;
  }
}

/* エンブレム */
.cat-3__emblem {
  position: absolute;
  top: 3.08%;
  left: 6.67%;
  width: 23.333333%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
}

.cat-3__emblem img {
  display: block;
  width: 100%;
  height: auto;
}

/* エンブレム：3秒ごとにキラッ */
.cat-3__emblem::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -75%;
  width: 40%;
  height: 200%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.7),
    transparent
  );
  transform: skewX(-25deg);
  pointer-events: none;
  animation: cat-5-emblem-shine 3s linear infinite;
}

.cat-1 {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.cat-1__bg {
  display: block;
  width: 100%;
  height: auto;
}

.cat-1__button {
  position: absolute;
  width: 39.102564%; /* 305px ÷ 780px */
  overflow: hidden;
  border-radius: 10px;
}

.cat-1__button img {
  display: block;
  width: 100%;
  height: auto;
}

/* 上段：S・M */
.cat-1__button--s {
  top: 51.558442%; /* 397px ÷ 770px */
  left: 9.358974%; /* 73px ÷ 780px */
}

.cat-1__button--m {
  top: 51.558442%;
  right: 8.589744%; /* 67px ÷ 780px */
}

/* 下段：L・LL */
.cat-1__button--l {
  top: 71.038961%; /* 547px ÷ 770px */
  left: 9.358974%;
}

.cat-1__button--ll {
  top: 71.038961%;
  right: 8.589744%;
}

/* ホバーでキラッ */
.cat-1__button::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -75%;
  width: 40%;
  height: 200%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.7),
    transparent
  );
  transform: skewX(-25deg);
  pointer-events: none;
}

@media (hover: hover) {
  .cat-1__button:hover::after {
    animation: cat-1-shine 0.7s ease-in-out;
  }
}

@keyframes cat-1-shine {
  from {
    left: -75%;
  }
  to {
    left: 135%;
  }
}

.fv {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.fv__bg {
  display: block;
  width: 100%;
  height: auto;
}

.fv__text {
  position: absolute;
  display: block;
  height: auto;
  animation: fv-text-fade 1.2s ease-out both;
}

/* 右側：後から表示 */
.fv__text--01 {
  top: 10.54%;
  right: 4.05%;
  left: auto;
  width: 10.641026%;
  animation-delay: 1.5s;
}

/* 左側：先に表示 */
.fv__text--02 {
  top: 15.05%;
  left: 66.92%;
  width: 18.461538%;
  animation-delay: 0.3s;
}

@keyframes fv-text-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fv__text--01 {
  animation-delay: 0.3s;
}

.fv__text--02 {
  animation-delay: 1.5s;
}

.sec01 {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.sec01__bg {
  display: block;
  width: 100%;
  height: auto;
}

/* 動画：780px幅で600×800px */
.sec01__movie {
  position: absolute;
  top: 10.87%;
  left: 12.18%;
  width: 76.923077%;
  aspect-ratio: 3 / 4;
}

.sec01__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 左上のコピー：466×136px */
.sec01__copy {
  position: absolute;
  top: -12%;
  left: -3%;
  width: 77.666667%;
  height: auto;
  z-index: 1;
}

/* 右下のコピーライト：398×90px */
.sec01__copyright {
  position: absolute;
  right: 2%;
  bottom: 0;
  width: 66.333333%;
  height: auto;
  z-index: 1;
}

.sec01__sales {
  position: absolute;
  top: 46.3%;
  left: 50%;
  width: 74.74359%; /* 583px ÷ 780px */
  transform: translateX(-50%);
  overflow: hidden;
}

.sec01__sales img {
  display: block;
  width: 100%;
  height: auto;
}

.sec01__sales::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -75%;
  width: 40%;
  height: 200%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.7),
    transparent
  );
  transform: skewX(-25deg);
  pointer-events: none;
  animation: sec01-sales-shine 3s linear infinite;
}

@keyframes sec01-sales-shine {
  0% {
    left: -75%;
    animation-timing-function: ease-in-out;
  }
  23.333%,
  100% {
    left: 135%;
  }
}

.sec01__heading-a,
.sec01__heading-b {
  position: absolute;
  left: 50%;
  display: block;
  height: auto;
  transform: translateX(-50%);
}

/* 胸だけじゃない */
.sec01__heading-a {
  top: 66.05%;
  width: 42.564103%; /* 332px ÷ 780px */
}

/* 上半身、まるごとスタイルアップ */
.sec01__heading-b {
  top: 69.3%;
  width: 91.282051%; /* 712px ÷ 780px */
}

.sec01__heading-a,
.sec01__heading-b {
  opacity: 0;
  transform: translate(-50%, 20%);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.sec01__heading-a.is-visible,
.sec01__heading-b.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.sec02 {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.sec02__bg {
  display: block;
  width: 100%;
  height: auto;
}

.sec02__circle {
  position: absolute;
  display: block;
  height: auto;
  opacity: 0;
  transform: translateY(12%);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.sec02__circle.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 右上 */
.sec02__circle--101 {
  top: 10.3%;
  right: 3.5%;
  width: 30.128205%;
}

/* 左 */
.sec02__circle--102 {
  top: 11.9%;
  left: 3.0%;
  width: 24.358974%;
  transition-delay: 0.3s;
}

/* 右下 */
.sec02__circle--103 {
  top: 15.6%;
  right: 3.5%;
  width: 35.128205%;
  transition-delay: 0.6s;
}

.sec02__side-text {
  position: absolute;
  display: block;
  height: auto;
  opacity: 0;
  transform: translateY(12%);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.sec02__side-text.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.sec02__side-text--201 {
  top: 26.2%;
  right: 23%;
  width: 41.794872%;
}

.sec02__side-text--202 {
  top: 29.2%;
  right: 12.4%;
  width: 48.717949%;
  transition-delay: 0.3s;
}

.sec02__side-text--203 {
  top: 31.6%;
  right: 21%;
  width: 50.769231%;
  transition-delay: 0.6s;
}

.sec02__lift-text {
  position: absolute;
  display: block;
  height: auto;
  opacity: 0;
  transform: translateY(12%);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.sec02__lift-text.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* センターリフト */
.sec02__lift-text--301 {
  top: 64.3%;
  left: 15.3%;
  width: 37.948718%;
}

/* ダブルリフト：上 */
.sec02__lift-text--401 {
  top: 80.65%;
  left: 4%;
  width: 39.74359%;
}

/* ダブルリフト：下 */
.sec02__lift-text--402 {
  top: 86.65%;
  left: 4%;
  width: 41.282051%;
  transition-delay: 0.3s;
}

.sec11a {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.sec11a__bg {
  display: block;
  width: 100%;
  height: auto;
}

.color-slider {
  position: absolute;
  top: 23.333333%; /* 224px ÷ 960px */
  left: 7.692308%;
  width: 84.615385%; /* 660px ÷ 780px */
  container-type: inline-size;
}

.color-slider__viewport {
  overflow: hidden;
  border-radius: 1.5cqw;
  touch-action: pan-y;
}

.color-slider__track {
  display: flex;
  transition: transform 0.6s ease-in-out;
}

.color-slider__track > img {
  display: block;
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  height: auto;
}

/* 左右の矢印 */
.color-slider__arrow {
  position: absolute;
  top: 50%;
  display: grid;
  place-items: center;
  width: 12.121212%;
  aspect-ratio: 1;
  padding: 0;
  border: 0;
  border-radius: 0.9cqw;
  background: #2d2d2d;
  cursor: pointer;
  transform: translateY(-50%);
}

.color-slider__arrow--prev {
  left: -6.060606%;
}

.color-slider__arrow--next {
  right: -6.060606%;
}

.color-slider__arrow::before {
  content: "";
  width: 4.8cqw;
  height: 4.8cqw;
  border-top: 0.45cqw solid #fff;
  border-right: 0.45cqw solid #fff;
}

.color-slider__arrow--prev::before {
  transform: translateX(1.2cqw) rotate(-135deg);
}

.color-slider__arrow--next::before {
  transform: translateX(-1.2cqw) rotate(45deg);
}

/* 枚数に合わせて自動生成するドット */
.color-slider__dots {
  position: absolute;
  top: calc(100% + 5.3cqw);
  left: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.1cqw;
  width: 100%;
}

.color-slider__dot {
  width: 2.1cqw;
  height: 2.1cqw;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #d7d7d7;
  cursor: pointer;
}

.color-slider__dot.is-active {
  background: #2d2d2d;
}


























.sec15a,
.sec15b {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.sec15a > img,
.sec15b__bg {
  display: block;
  width: 100%;
  height: auto;
}

/* 動画：完成図に合わせた仮配置 */
.sec15b__video {
  position: absolute;
  top: 11.1%;
  left: 5.13%;
  width: 89.74%;
  aspect-ratio: 1;
  height: auto;
  object-fit: cover;
}

/* 丸アイコン：3列×2段 */
.sec15b__icons {
  position: absolute;
  top: 42.25%;
  left: 5.77%;
  width: 88.46%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1.8%;
  row-gap: 5%;
}

.sec15b__icon {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
  transform: translateY(12%);
  transition: opacity 0.9s ease-out, transform 0.9s ease-out;
}

.sec15b__icon.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.sec03 {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
  container-type: inline-size;
}

.sec03__bg {
  display: block;
  width: 100%;
  height: auto;
}

/* 丸アイコン：3列×2段 */
.sec03__icons {
  position: absolute;
  top: 36.1%;
  left: 5.769231%;
  width: 88.461538%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1.538462cqw;
  row-gap: 3.846154cqw;
}

.sec03__icon {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
  transform: translateY(12%);
  transition: opacity 0.9s ease-out, transform 0.9s ease-out;
}

.sec03__icon.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.sec04 {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.sec04__bg {
  display: block;
  width: 100%;
  height: auto;
}

.sec04__model {
  position: absolute;
  display: block;
  width: 32.051282%; /* 250px ÷ 780px */
  height: auto;
  opacity: 0;
  transform: translateY(6%);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.sec04__model.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 左 */
.sec04__model--01 {
  top: 39.375929%; /* 530px ÷ 1346px */
  left: 0;
}

/* 中央 */
.sec04__model--02 {
  top: 31.946508%; /* 430px ÷ 1346px */
  left: 34.102564%; /* 266px ÷ 780px */
  transition-delay: 0.4s;
}

/* 右 */
.sec04__model--03 {
  top: 24.517088%; /* 330px ÷ 1346px */
  right: 0;
  transition-delay: 0.8s;
}

.sec06 {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.sec06__bg {
  display: block;
  width: 100%;
  height: auto;
}

.sec06__emblem {
  position: absolute;
  display: block;
  height: auto;
  opacity: 0;
  transition: opacity 1s ease-out;
}

.sec06__emblem.is-visible {
  opacity: 1;
}

/* 1段目：4冠 */
.sec06__emblem--01 {
  top: 35.82%;
  left: 4.102564%;
  width: 91.794872%;
}

/* 2段目：左・右 */
.sec06__emblem--02,
.sec06__emblem--03 {
  top: 54.48%;
  width: 44.615385%;
}

.sec06__emblem--02 {
  left: 4.102564%;
}

.sec06__emblem--03 {
  right: 4.102564%;
}

/* 3段目：左・右 */
.sec06__emblem--04,
.sec06__emblem--05 {
  top: 71.79%;
  width: 44.615385%;
}

.sec06__emblem--04 {
  left: 4.102564%;
}

.sec06__emblem--05 {
  right: 4.102564%;
}

.sec07 {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.sec07__bg {
  display: block;
  width: 100%;
  height: auto;
}

.sec07__text {
  position: absolute;
  display: block;
  height: auto;
  opacity: 0;
  transform: translateY(6%);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.sec07__text.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* バストも姿勢も：右側 */
.sec07__text--01 {
  top: 57.14%;
  left: 20.26%;
  width: 8.717949%; /* 68px ÷ 780px */
}

/* これ一枚でアガる：左側 */
.sec07__text--02 {
  top: 63.41%;
  left: 9.23%;
  width: 11.025641%; /* 86px ÷ 780px */
  transition-delay: 0.4s;
}

.sec09 {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.sec09__bg {
  display: block;
  width: 100%;
  height: auto;
}

.sec09__heading {
  position: absolute;
  top: 6.82%;
  left: 14.615385%;
  display: block;
  width: 70.769231%;
  height: auto;
  opacity: 0;
  transform: translateY(20%);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.sec09__heading.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.sec14 {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.sec14__bg {
  display: block;
  width: 100%;
  height: auto;
}

.sec14__emblem {
  position: absolute;
  top: 64.55%;
  left: 2.56%;
  width: 29.74359%; /* 232px ÷ 780px */
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
}

.sec14__emblem img {
  display: block;
  width: 100%;
  height: auto;
}

.sec14__emblem::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -75%;
  width: 40%;
  height: 200%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.7),
    transparent
  );
  transform: skewX(-25deg);
  pointer-events: none;
  animation: sec14-emblem-shine 3s linear infinite;
}

@keyframes sec14-emblem-shine {
  0% {
    left: -75%;
    animation-timing-function: ease-in-out;
  }
  23.333%,
  100% {
    left: 135%;
  }
}





.sec18 {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
  container-type: inline-size;
}

.sec18__bg {
  display: block;
  width: 100%;
  height: auto;
}

.faq {
  position: absolute;
  top: 11.25%;
  left: 5.64%;
  width: 89.23%;
  color: #2d2d2d;
}

.faq,
.faq * {
  box-sizing: border-box;
}

.faq p {
  margin: 0;
}

.faq__item + .faq__item {
  margin-top: 12cqw;
}

.faq__question,
.faq__answer {
  display: grid;
  grid-template-columns: 9.74359cqw minmax(0, 1fr);
  column-gap: 3.5cqw;
}

.faq__icon {
  display: block;
  width: 100%;
  height: auto;
}

/* QとAの間の罫線 */
.faq__question {
  align-items: center;
  padding-bottom: 3.5cqw;
  border-bottom: 0.2cqw solid #2d2d2d;
}

.faq__question p {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 4.1cqw;
  line-height: 1.45;
}

.faq__answer {
  align-items: start;
  padding-top: 3.5cqw;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 3.85cqw;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.faq__answer strong {
  font-weight: 700;
}

.faq__answer .faq__detail {
  margin-top: 3.8cqw;
}

.faq__link {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}

.faq__link:hover,
.faq__link:focus-visible {
  color: #800020;
}
