html {
  background: #f5f5f5;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: #f5f5f5;
  -ms-overflow-style: none;
}

body.is-video-modal-open {
  overflow: hidden;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

@media (min-width: 1024px) {
  body {
    background-image: url("./assets/sections/pc/frame-53-3x.png");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% auto;
    background-attachment: fixed;
  }
}

.lp {
  position: relative;
  z-index: 1;
  container-type: inline-size;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  background: #fff;
}

@media (min-width: 1024px) {
  .lp {
    width: calc(100vw * 453 / 1440);
  }

  #feature,
  #dress,
  #chapel,
  #plan,
  #photo-gallery,
  #hair-gallery,
  #flow,
  #shops {
    scroll-margin-top: 0;
  }
}

.lp__section {
  position: relative;
  width: 100%;
  aspect-ratio: 390 / var(--section-height);
  overflow: hidden;
  background: #fff;
}

.lp__section-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.lp__section-image--gallery-header {
  bottom: auto;
  height: auto;
  object-fit: contain;
}

.lp__section--hero {
  background: #000;
}

.lp__hero-slides,
.lp__hero-slide,
.lp__hero-copy {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.lp__hero-slides {
  z-index: 0;
}

.lp__hero-slide {
  object-fit: fill;
  opacity: 0;
  animation: lpHeroFade 18s infinite;
}

.lp__hero-slide:nth-child(1) {
  opacity: 1;
  animation-delay: 0s;
}

.lp__hero-slide:nth-child(2) {
  animation-delay: 6s;
}

.lp__hero-slide:nth-child(3) {
  animation-delay: 12s;
}

.lp__hero-copy {
  z-index: 1;
  object-fit: fill;
  pointer-events: none;
}

.lp__hero-ribbon {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
}

@keyframes lpHeroFade {
  0% {
    opacity: 0;
  }

  4%,
  33.33% {
    opacity: 1;
  }

  37.33%,
  100% {
    opacity: 0;
  }
}

.lp-reveal-ready [data-reveal] {
  opacity: 0;
  transition: opacity 700ms ease;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity;
}

.lp-reveal-ready [data-reveal].is-revealed {
  opacity: 1;
}

.lp__campaign-copy {
  position: absolute;
  z-index: 2;
  isolation: isolate;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #282828;
  font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.lp__campaign-date {
  background: transparent;
  color: transparent;
  letter-spacing: 0;
}

.lp__campaign-date::before {
  content: attr(data-campaign-text);
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #282828;
}

.lp__campaign-date::after {
  content: none;
}

.lp__campaign-month {
  background: #242424;
  color: #fff;
  letter-spacing: 0;
}

.lp__campaign-date--intro-top {
  top: 16.6%;
  left: 0;
  width: 100%;
  height: 8%;
  font-size: 4.6cqw;
}

.lp__campaign-date--intro-top::before {
  transform: translateY(17px);
}

.lp__campaign-month--detail {
  top: 2.663%;
  left: 39.744%;
  width: 20.769%;
  height: 2.197%;
  font-size: 3.45cqw;
}

.lp__campaign-date--detail {
  top: 21.771%;
  left: 0;
  width: 100%;
  height: 1.997%;
  font-size: 4.25cqw;
}

.lp__campaign-date--detail::before {
  transform: translateY(6px);
}

.lp__text-section {
  color: #2f2f2f;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
}

.lp__text-stage {
  position: absolute;
  inset: 0;
  background: #fff;
}

.lp__text-section * {
  box-sizing: border-box;
}

.lp__script {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 0;
  color: #b9954d;
  font-family: "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.lp__line-heading {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 0;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}

.lp__line-heading::after {
  content: "";
  display: block;
  width: 62%;
  height: 1px;
  margin: 3.1cqw auto 0;
  background: #333;
}

.lp__copy {
  position: absolute;
  margin: 0;
  line-height: 1.95;
  overflow-wrap: anywhere;
  text-align: left;
}

.lp__text-photo {
  position: absolute;
  display: block;
  object-fit: cover;
}

.lp__section--feature-html .lp-feature__script {
  top: 4.1%;
  font-size: 5.3cqw;
}

.lp-feature__lead {
  top: 7.8%;
  font-size: 4.1cqw;
}

.lp-feature__title {
  position: absolute;
  top: 11.6%;
  left: 7.7%;
  display: grid;
  grid-template-columns: 14cqw 1fr;
  gap: 3cqw;
  align-items: center;
  margin: 0;
}

.lp-feature__title-number {
  color: #b39a5c;
  font-family: "Times New Roman", serif;
  font-size: 17cqw;
  font-style: italic;
  font-weight: 400;
  line-height: 0.85;
}

.lp-feature__title-text {
  font-size: 5.8cqw;
  font-weight: 600;
  line-height: 1.25;
}

.lp-feature__photo {
  left: 6.52%;
  width: 87.11%;
  height: 16.35%;
}

.lp-feature__photo--01 {
  top: 17.65%;
}

.lp-feature__photo--02 {
  top: 45.97%;
}

.lp-feature__photo--03 {
  top: 74.29%;
}

.lp-feature__point {
  position: absolute;
  left: 6.52%;
  right: 6.52%;
  display: grid;
  grid-template-columns: 13.8cqw 1fr;
  gap: 2.4cqw;
}

.lp-feature__point--01 {
  top: 35.6%;
}

.lp-feature__point--02 {
  top: 63.9%;
}

.lp-feature__point--03 {
  top: 92.1%;
}

.lp-feature__number {
  color: #b39a5c;
  font-family: "Times New Roman", serif;
  font-size: 9.8cqw;
  font-style: italic;
  line-height: 1;
}

.lp-feature__heading {
  margin: 0 0 2cqw;
  font-size: 4.6cqw;
  font-weight: 600;
  line-height: 1.45;
}

.lp-feature__copy {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 3.55cqw;
  line-height: 1.9;
}

.lp-plan__top-band {
  position: absolute;
  inset: 0 0 auto;
  height: 2.66%;
  background: #d7c36d;
}

.lp-plan__script {
  top: 8.7%;
  font-size: 5.3cqw;
}

.lp-plan__lead {
  top: 12.7%;
  font-size: 4.4cqw;
}

.lp-plan__title {
  position: absolute;
  top: 18.5%;
  left: 0;
  width: 100%;
  margin: 0;
  font-size: 7cqw;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}

.lp-plan__copy {
  top: 24.5%;
  left: 8.5%;
  width: 83%;
  font-size: 3.55cqw;
  line-height: 1.9;
}

.lp-plan__card {
  width: 42.37%;
  height: 15.9%;
}

.lp-plan__card--01 {
  top: 40.0%;
  left: 6.52%;
}

.lp-plan__card--02 {
  top: 40.1%;
  left: 51.26%;
}

.lp-plan__card--03 {
  top: 56.84%;
  left: 6.52%;
}

.lp-plan__card--04 {
  top: 56.84%;
  left: 51.26%;
}

.lp-plan__card--05 {
  top: 73.57%;
  left: 6.52%;
}

.lp-plan__card--06 {
  top: 73.57%;
  left: 51.26%;
}

.lp-flow__heading {
  top: 2.3%;
  font-size: 3.7cqw;
}

.lp-flow__heading::before,
.lp-flow__heading::after {
  content: "";
  position: absolute;
  top: -1.6cqw;
  width: 33%;
  height: 1px;
  background: #3a3a3a;
}

.lp-flow__heading::before {
  left: 6.5%;
}

.lp-flow__heading::after {
  right: 6.5%;
}

.lp-flow__photo {
  width: 40.59%;
  height: var(--photo-height);
  left: var(--photo-left);
  top: var(--photo-top);
}

.lp-flow__title {
  position: absolute;
  top: var(--title-top);
  left: var(--title-left);
  width: 39%;
}

.lp-flow__step {
  display: block;
  margin: 0 0 2.3cqw;
  color: #d4b67e;
  font-family: "Times New Roman", serif;
  font-size: 4cqw;
  line-height: 1;
}

.lp-flow__title strong {
  display: block;
  font-size: 5.4cqw;
  font-weight: 600;
  line-height: 1.35;
}

.lp-flow__copy {
  top: var(--copy-top);
  left: 7.5%;
  width: 85%;
  font-size: 3.55cqw;
  line-height: 1.95;
}

.lp-flow__copy--compact {
  font-size: 3.45cqw;
  line-height: 1.8;
}

.lp-support__script {
  top: 11.6%;
  font-size: 7.1cqw;
}

.lp-support__lead {
  top: 19.3%;
  font-size: 4.7cqw;
}

.lp-support__title {
  position: absolute;
  top: 31%;
  left: 0;
  width: 100%;
  margin: 0;
  font-size: 7.5cqw;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}

.lp-support__copy {
  top: 43%;
  left: 13%;
  width: 74%;
  font-size: 4.25cqw;
  line-height: 1.9;
  text-align: center;
}

.lp-support__staff {
  top: 62.23%;
  left: 0;
  width: 100%;
  height: 28.45%;
}

.lp-support__bottom-rule {
  position: absolute;
  left: 6%;
  right: 6%;
  bottom: 3.5%;
  height: 1px;
  background: #333;
}

.lp-shop__heading {
  position: absolute;
  top: 1.1%;
  left: 0;
  width: 100%;
  margin: 0;
  font-size: 4.4cqw;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}

.lp-shop__heading::after {
  content: "";
  display: block;
  width: 87%;
  height: 1px;
  margin: 3.8cqw auto 0;
  background: #333;
}

.lp-shop__logo {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 0;
  color: #241a17;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 8.1cqw;
  line-height: 1;
  text-align: center;
}

.lp-shop__logo span {
  display: block;
  margin-top: 2.3cqw;
  font-size: 3cqw;
}

.lp-shop__logo--toyohashi {
  top: 6.2%;
}

.lp-shop__logo--hamamatsu {
  top: 4.3%;
}

.lp-shop__photo {
  left: 6.52%;
  width: 87.11%;
  height: 19.97%;
}

.lp-shop__photo--toyohashi {
  top: 12.29%;
}

.lp-shop__photo--hamamatsu {
  top: 10.49%;
  height: 21.08%;
}

.lp-shop__details {
  position: absolute;
  left: 6.52%;
  width: 87.11%;
  margin: 0;
  font-size: 4cqw;
  line-height: 1.7;
}

.lp-shop__details--toyohashi {
  top: 35.2%;
}

.lp-shop__details--hamamatsu {
  top: 35.3%;
}

.lp-shop__row {
  display: grid;
  grid-template-columns: 28% 1fr;
  gap: 4cqw;
  align-items: start;
  padding: 3.4cqw 0;
  border-bottom: 1px solid #d8d8d8;
}

.lp-shop__row:first-child {
  padding-top: 0;
}

.lp-shop__row dt,
.lp-shop__row dd {
  margin: 0;
}

.lp-shop__row dd {
  text-align: right;
}

.lp-shop__map {
  position: absolute;
  left: 6.52%;
  display: block;
  width: 87.11%;
  height: 24.78%;
  overflow: hidden;
}

.lp-shop__map--toyohashi {
  top: 70.66%;
}

.lp-shop__map--hamamatsu {
  top: 72.1%;
  height: 26.16%;
}

.lp-shop__map img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lp-shop__map:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
  box-shadow: 0 0 0 3px rgb(60 130 255 / 80%);
}

.lp__hotspot {
  position: absolute;
  z-index: 1;
  display: block;
  background: transparent;
  color: transparent;
  text-decoration: none;
}

.lp__hotspot:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
  box-shadow: 0 0 0 3px rgb(60 130 255 / 80%);
}

.pc-cta {
  display: none;
}

.pc-nav {
  display: none;
}

.pc-nav__link {
  position: fixed;
  z-index: 4;
  display: none;
  color: transparent;
  text-decoration: none;
}

.pc-nav__link--dress {
  top: calc(100vw * 236 / 1440);
  left: calc(100vw * 276 / 1440);
  width: calc(100vw * 97 / 1440);
  height: calc(100vw * 23 / 1440);
}

.pc-nav__link--chapel {
  top: calc(100vw * 283 / 1440);
  left: calc(100vw * 221 / 1440);
  width: calc(100vw * 188 / 1440);
  height: calc(100vw * 23 / 1440);
}

.pc-nav__link--plan {
  top: calc(100vw * 330 / 1440);
  left: calc(100vw * 251 / 1440);
  width: calc(100vw * 146 / 1440);
  height: calc(100vw * 23 / 1440);
}

.pc-nav__link--photo {
  top: calc(100vw * 378 / 1440);
  left: calc(100vw * 261 / 1440);
  width: calc(100vw * 126 / 1440);
  height: calc(100vw * 22 / 1440);
}

.pc-nav__link--hair {
  top: calc(100vw * 425 / 1440);
  left: calc(100vw * 242 / 1440);
  width: calc(100vw * 164 / 1440);
  height: calc(100vw * 22 / 1440);
}

.pc-nav__link--flow {
  top: calc(100vw * 471 / 1440);
  left: calc(100vw * 222 / 1440);
  width: calc(100vw * 194 / 1440);
  height: calc(100vw * 23 / 1440);
}

.pc-nav__link--shops {
  top: calc(100vw * 518 / 1440);
  left: calc(100vw * 285 / 1440);
  width: calc(100vw * 78 / 1440);
  height: calc(100vw * 23 / 1440);
}

.pc-nav__link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgb(60 130 255 / 70%);
}

.pc-cta__button {
  position: fixed;
  z-index: 3;
  display: none;
  width: calc(100vw * 200 / 1440);
  height: calc(100vw * 50 / 1440);
}

.pc-cta__button--line {
  top: calc(100vw * 590.333 / 1440);
  left: calc(100vw * 224 / 1440);
}

.pc-cta__button--phone {
  top: calc(100vw * 657 / 1440);
  left: calc(100vw * 224 / 1440);
}

.pc-cta__button img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.pc-cta__button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px rgb(60 130 255 / 80%);
}

.lp-floating-banner {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 12;
  box-sizing: border-box;
  width: 100vw;
  padding-bottom: env(safe-area-inset-bottom, 0);
  overflow: hidden;
  background: #e9dfc9;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-50%, calc(100% + 16px), 0);
  transition:
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 260ms ease;
  will-change: transform, opacity;
}

.lp-floating-banner.is-visible {
  opacity: 1;
  transform: translate3d(-50%, 0, 0);
}

.lp-floating-banner__image {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.lp-floating-banner__link {
  position: absolute;
  top: 11%;
  height: 74%;
  pointer-events: auto;
}

.lp-floating-banner__link--line {
  left: 6%;
  width: 42.5%;
}

.lp-floating-banner__link--phone {
  left: 52%;
  width: 42%;
}

.lp-floating-banner__link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
  box-shadow: 0 0 0 3px rgb(60 130 255 / 80%);
}

@media (min-width: 1024px) {
  .pc-nav {
    display: block;
  }

  .pc-nav__link {
    display: block;
  }

  .pc-cta {
    display: block;
  }

  .pc-cta__button {
    display: block;
  }

  .lp-floating-banner {
    display: none;
  }
}

.lp__cta-button {
  top: var(--cta-top);
  width: 41.538%;
  height: var(--cta-height);
}

.lp__cta-button img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.lp__cta-button--line img,
.pc-cta__button--line img {
  animation: lp-line-cta-pulse 3.8s ease-in-out infinite;
  transform-origin: center center;
  will-change: transform, filter;
}

.lp__cta-button--line {
  left: 6.41%;
}

.lp__cta-button--phone {
  left: 52.051%;
}

.lp__map-link {
  left: 6.5%;
  width: 87.1%;
}

.lp__map-link--toyohashi {
  top: 70.7%;
  height: 24.7%;
}

.lp__map-link--hamamatsu {
  top: 72.4%;
  height: 25.5%;
}

.lp__group-link {
  height: 12.5%;
}

.lp__group-link--toyohashi {
  top: 22.5%;
  left: 8.8%;
  width: 38.8%;
}

.lp__group-link--hamamatsu {
  top: 22.5%;
  left: 53.4%;
  width: 38.8%;
}

.lp__group-link--belleunjour {
  top: 41.5%;
  left: 8.8%;
  width: 39.2%;
}

.lp__group-link--angegarden {
  top: 41.2%;
  left: 53.0%;
  width: 39.2%;
}

.lp__group-link--bellsofia {
  top: 56.4%;
  left: 8.8%;
  width: 39.5%;
  height: 9.6%;
}

.lp__video-frame {
  position: absolute;
  z-index: 1;
  left: 6.41%;
  width: 87.18%;
  height: 8.31%;
  overflow: visible;
  background: #2f2f2f;
}

.lp__video-frame--angegarden {
  top: 19.3%;
}

.lp__video-frame--buj {
  top: 36.44%;
  height: 9.06%;
}

.lp__video-frame--buj .lp__video-poster {
  top: -1px;
  height: calc(100% + 1px);
}

.lp__video-poster,
.lp__video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-position: center center;
}

.lp__video-poster {
  z-index: 1;
  object-fit: cover;
}

.lp__video {
  z-index: 0;
  object-fit: cover;
  background: #2f2f2f;
  cursor: pointer;
}

.lp__video-frame.is-playing .lp__video {
  transform: scale(1.14);
  transform-origin: center center;
}

.lp__video-play {
  position: absolute;
  inset: 0 0 -18% 0;
  z-index: 2;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  appearance: none;
}

.lp__video-frame.is-playing .lp__video-play {
  display: none;
}

.lp__video-frame.is-playing .lp__video-poster {
  display: none;
}

.lp__video-play:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
  box-shadow: 0 0 0 3px rgb(60 130 255 / 80%);
}

.lp__video-modal[hidden] {
  display: none;
}

.lp__video-modal {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  padding: 24px;
}

.lp__video-modal-backdrop {
  position: absolute;
  inset: 0;
  padding: 0;
  border: 0;
  background: rgb(0 0 0 / 78%);
  cursor: pointer;
}

.lp__video-modal-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 920px);
  background: #111;
  box-shadow: 0 18px 60px rgb(0 0 0 / 45%);
}

.lp__video-modal-player {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #111;
}

.lp__video-modal-close {
  position: absolute;
  top: -42px;
  right: 0;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgb(255 255 255 / 55%);
  border-radius: 999px;
  background: rgb(0 0 0 / 55%);
  color: #fff;
  font: 24px/1 Arial, sans-serif;
  cursor: pointer;
}

.lp__visual-carousel {
  position: absolute;
  z-index: 1;
  overflow: hidden;
  background: #fff;
}

.lp__visual-carousel--costume {
  left: 6.37%;
  width: 87.11%;
  height: auto;
  aspect-ratio: 588 / 749;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}

.lp__carousel-track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.lp__carousel-slide {
  flex: 0 0 100%;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.lp__visual-carousel--wedding {
  top: 24.2%;
}

.lp__visual-carousel--color {
  top: 50.74%;
}

.lp__visual-carousel--kimono {
  top: 78.3%;
}

.lp__carousel-dots {
  position: absolute;
  left: 0;
  z-index: 2;
  display: flex;
  width: 100%;
  height: 14px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  pointer-events: none;
}

.lp__carousel-dots::before {
  content: "";
  position: absolute;
  top: -7px;
  left: 50%;
  width: 190px;
  height: 28px;
  background: #fff;
  transform: translateX(-50%);
}

.lp__carousel-dots--wedding {
  top: 41.15%;
}

.lp__carousel-dots--color {
  top: 67.7%;
}

.lp__carousel-dots--kimono {
  top: 95.25%;
}

.lp__carousel-dot {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 7px;
  height: 7px;
  border: 1px solid #b8a46a;
  border-radius: 999px;
  background: transparent;
  opacity: 1;
  transform: scale(1);
  transition:
    background-color 300ms ease,
    transform 300ms ease;
}

.lp__carousel-dot.is-active {
  background: #b8a46a;
  transform: scale(1.3);
}

.lp__visual-carousel--photo-gallery {
  top: 23.9%;
  left: 0;
  width: 100%;
  height: 72.73%;
  background: #333;
}

.lp__visual-carousel--hair-gallery {
  top: 25.56%;
  left: 0;
  width: 100%;
  height: 71.63%;
}

.lp__visual-carousel--strip {
  background: #fff;
}

.lp__visual-carousel--strip .lp__carousel-track {
  width: max-content;
  transition: none;
  animation: lp-gallery-marquee 28s linear infinite;
  animation-play-state: running;
  -webkit-animation: lp-gallery-marquee 28s linear infinite;
  -webkit-animation-play-state: running;
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
}

.lp__visual-carousel--strip .lp__carousel-slide {
  flex: 0 0 auto;
  width: auto;
  height: 100%;
  object-fit: contain;
}

.lp__slider-control {
  position: absolute;
  top: 34%;
  z-index: 2;
  width: 18%;
  height: 32%;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  appearance: none;
  cursor: pointer;
  touch-action: manipulation;
}

.lp__slider-control--prev {
  left: 0;
}

.lp__slider-control--next {
  right: 0;
}

.lp__slider-control::before,
.lp__slider-control::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  pointer-events: none;
}

.lp__slider-control::before {
  display: none;
}

.lp__slider-control::after {
  width: 15px;
  height: 15px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.lp__slider-control--prev::after {
  transform: translate(-15%, -50%) rotate(-135deg);
}

.lp__slider-control--next::after {
  transform: translate(-85%, -50%) rotate(45deg);
}

.lp__slider-control:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
  box-shadow: 0 0 0 3px rgb(60 130 255 / 80%);
}

@media (prefers-reduced-motion: reduce) {
  .lp__carousel-track {
    transition: none;
  }

  .lp__cta-button--line img,
  .pc-cta__button--line img {
    animation: none;
  }

  .lp-floating-banner {
    transition: none;
  }

  .lp__hero-slide {
    animation: none;
    opacity: 0;
  }

  .lp__hero-slide:first-child {
    opacity: 1;
  }
}

@keyframes lp-line-cta-pulse {
  0%,
  72%,
  100% {
    filter: brightness(1);
    transform: translate3d(0, 0, 0) scale(1);
  }

  78% {
    filter: brightness(1.06);
    transform: translate3d(0, -1px, 0) scale(1.018);
  }

  84% {
    filter: brightness(1);
    transform: translate3d(0, 0, 0) scale(1);
  }

  90% {
    filter: brightness(1.04);
    transform: translate3d(0, -1px, 0) scale(1.012);
  }
}

@keyframes lp-gallery-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }

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

@-webkit-keyframes lp-gallery-marquee {
  from {
    -webkit-transform: translate3d(0, 0, 0);
  }

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