.elementor-4378 .elementor-element.elementor-element-596a9f3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4378 .elementor-element.elementor-element-515824f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4378 .elementor-element.elementor-element-d925945{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4378 .elementor-element.elementor-element-f3b618d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4378 .elementor-element.elementor-element-40da11e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4378 .elementor-element.elementor-element-de3e396{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4378 .elementor-element.elementor-element-11238d0{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4378 .elementor-element.elementor-element-6f4fc78{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4378 .elementor-element.elementor-element-189ebe8{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-14db09b *//* =========================================
   MOONLOOP MOVIE HERO
========================================= */

.ml-movie-hero {
  --ml-hero-shift: 0px;

  position: relative;
  width: 100%;
  min-height: clamp(680px, 92vh, 980px);
  overflow: hidden;
  isolation: isolate;

  background: #090909;
  color: #ffffff;
}


/* =========================================
   MEDIA
========================================= */

.ml-movie-hero__media {
  position: absolute;
  inset: 0;
  z-index: -5;

  overflow: hidden;
}


.ml-movie-hero__video,
.ml-movie-hero__fallback {
  position: absolute;

  width: 100%;
  height: calc(100% + 60px);

  top: -30px;
  left: 0;

  object-fit: cover;

  transform:
    translate3d(
      0,
      var(--ml-hero-shift),
      0
    )
    scale(1.04);

  transition:
    opacity 0.8s ease,
    transform 0.1s linear;
}


.ml-movie-hero__video {
  z-index: 2;

  opacity: 0;
}


.ml-movie-hero.is-video-ready
.ml-movie-hero__video {
  opacity: 1;
}


.ml-movie-hero__fallback {
  z-index: 1;

  background-size: cover;
  background-position: center;

  opacity: 1;
}


.ml-movie-hero.is-video-ready
.ml-movie-hero__fallback {
  opacity: 0;
}


.ml-movie-hero.is-video-error
.ml-movie-hero__fallback {
  opacity: 1;
}


/* =========================================
   OVERLAYS
========================================= */

.ml-movie-hero__overlay {
  position: absolute;
  inset: 0;

  z-index: -3;

  background:
    rgba(0, 0, 0, 0.28);
}


.ml-movie-hero__gradient {
  position: absolute;
  inset: 0;

  z-index: -2;

  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.84) 0%,
      rgba(0, 0, 0, 0.56) 38%,
      rgba(0, 0, 0, 0.12) 74%,
      rgba(0, 0, 0, 0.18) 100%
    ),
    linear-gradient(
      0deg,
      rgba(0, 0, 0, 0.58) 0%,
      transparent 38%
    );
}


/* =========================================
   FRAME
========================================= */

.ml-movie-hero__frame {
  position: absolute;

  top: 28px;
  right: 28px;
  bottom: 28px;
  left: 28px;

  z-index: 1;

  border:
    1px solid
    rgba(255, 255, 255, 0.22);

  pointer-events: none;
}


/* =========================================
   INNER
========================================= */

.ml-movie-hero__inner {
  position: relative;
  z-index: 3;

  width: min(
    calc(100% - 96px),
    1440px
  );

  min-height:
    clamp(680px, 92vh, 980px);

  margin: 0 auto;

  display: flex;
  flex-direction: column;
  justify-content: flex-end;

  padding:
    clamp(150px, 18vh, 220px)
    0
    clamp(90px, 10vh, 130px);
}


/* =========================================
   CONTENT
========================================= */

.ml-movie-hero__content {
  width: min(920px, 76%);
}


/* EYEBROW */

.ml-movie-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;

  margin: 0 0 25px;

  font-family:
    Arial,
    sans-serif;

  font-size: 11px;
  font-weight: 600;

  letter-spacing: 0.18em;
}


.ml-movie-hero__eyebrow span {
  display: inline-flex;
  align-items: center;
}


.ml-movie-hero__eyebrow span:first-child::before {
  content: "";

  width: 38px;
  height: 1px;

  margin-right: 14px;

  background:
    rgba(255, 255, 255, 0.8);
}


/* =========================================
   TITLE
========================================= */

.ml-movie-hero__title {
  margin: 0;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size:
    clamp(48px, 6.2vw, 102px);

  font-weight: 700;

  line-height: 1.06;
  letter-spacing: -0.055em;

  color: #ffffff;
}


.ml-movie-hero__title-line {
  display: block;

  white-space: nowrap;
  word-break: keep-all;
}


/* =========================================
   LEAD
========================================= */

.ml-movie-hero__lead {
  width: min(680px, 100%);

  margin:
    clamp(28px, 3vw, 42px)
    0
    0;

  font-size:
    clamp(15px, 1.2vw, 19px);

  font-weight: 400;

  line-height: 1.95;
  letter-spacing: 0.035em;

  color:
    rgba(255, 255, 255, 0.88);
}


/* =========================================
   BUTTON
========================================= */

.ml-movie-hero__actions {
  display: flex;
  flex-wrap: wrap;

  gap: 14px;

  margin-top:
    clamp(34px, 4vw, 52px);
}


.ml-movie-hero__button {
  min-height: 58px;

  padding: 0 24px;

  display: inline-flex;
  align-items: center;
  justify-content: space-between;

  gap: 35px;

  border:
    1px solid
    rgba(255, 255, 255, 0.55);

  text-decoration: none;

  font-size: 14px;
  font-weight: 600;

  letter-spacing: 0.035em;

  transition:
    background 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease;
}


.ml-movie-hero__button--primary {
  background: #ffffff;
  color: #111111;
  border-color: #ffffff;
}


.ml-movie-hero__button--primary:hover {
  background: transparent;
  color: #ffffff;
}


.ml-movie-hero__button--ghost {
  color: #ffffff;
  background:
    rgba(0, 0, 0, 0.14);

  backdrop-filter:
    blur(8px);
}


.ml-movie-hero__button--ghost:hover {
  background: #ffffff;
  color: #111111;
  border-color: #ffffff;
}


.ml-movie-hero__button:hover {
  transform:
    translateY(-2px);
}


.ml-movie-hero__arrow {
  font-size: 18px;
}


/* =========================================
   CATEGORIES
========================================= */

.ml-movie-hero__categories {
  position: absolute;

  right: 0;
  bottom:
    clamp(90px, 10vh, 130px);

  display: flex;
  flex-direction: column;

  align-items: flex-end;

  gap: 7px;

  font-size: 11px;
  font-weight: 500;

  letter-spacing: 0.12em;

  color:
    rgba(255, 255, 255, 0.64);
}


/* =========================================
   SCROLL
========================================= */

.ml-movie-hero__scroll {
  position: absolute;

  left: 46px;
  bottom: 58px;

  z-index: 4;

  display: flex;
  align-items: center;

  gap: 12px;

  font-size: 9px;
  letter-spacing: 0.2em;

  transform:
    rotate(-90deg);

  transform-origin: left center;
}


.ml-movie-hero__scroll-line {
  display: block;

  width: 50px;
  height: 1px;

  overflow: hidden;

  background:
    rgba(255, 255, 255, 0.25);

  position: relative;
}


.ml-movie-hero__scroll-line::after {
  content: "";

  position: absolute;
  inset: 0;

  background: #ffffff;

  transform:
    translateX(-100%);

  animation:
    mlMovieScroll 2.1s
    ease-in-out
    infinite;
}


@keyframes mlMovieScroll {

  0% {
    transform:
      translateX(-100%);
  }

  45% {
    transform:
      translateX(0);
  }

  100% {
    transform:
      translateX(100%);
  }

}


/* =========================================
   VIDEO CONTROL
========================================= */

.ml-movie-hero__media-control {
  position: absolute;

  right: 42px;
  top: 42px;

  z-index: 5;

  width: 42px;
  height: 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  border:
    1px solid
    rgba(255, 255, 255, 0.48);

  border-radius: 50%;

  background:
    rgba(0, 0, 0, 0.2);

  color: #ffffff;

  font-size: 11px;

  cursor: pointer;

  backdrop-filter:
    blur(10px);

  transition:
    background 0.3s ease,
    border-color 0.3s ease;
}


.ml-movie-hero__media-control:hover {
  background:
    rgba(255, 255, 255, 0.18);

  border-color: #ffffff;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {

  .ml-movie-hero {
    min-height: 820px;
  }

  .ml-movie-hero__inner {
    width:
      calc(100% - 72px);

    min-height: 820px;

    padding-bottom: 100px;
  }

  .ml-movie-hero__content {
    width: 90%;
  }

  .ml-movie-hero__title {
    font-size:
      clamp(48px, 7.2vw, 72px);
  }

  .ml-movie-hero__categories {
    right: 0;
    bottom: 40px;

    flex-direction: row;
    flex-wrap: wrap;

    max-width: 70%;
  }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

  .ml-movie-hero {
    min-height:
      max(680px, 92svh);
  }


  .ml-movie-hero__frame {
    top: 14px;
    right: 14px;
    bottom: 14px;
    left: 14px;
  }


  .ml-movie-hero__inner {
    width:
      calc(100% - 48px);

    min-height:
      max(680px, 92svh);

    padding:
      130px
      0
      98px;
  }


  .ml-movie-hero__content {
    width: 100%;
  }


  .ml-movie-hero__eyebrow {
    margin-bottom: 20px;

    font-size: 9px;

    gap: 10px;
  }


  .ml-movie-hero__eyebrow span:first-child::before {
    width: 24px;
    margin-right: 10px;
  }


  .ml-movie-hero__title {
    font-size:
      clamp(38px, 11vw, 58px);

    line-height: 1.12;

    letter-spacing:
      -0.045em;
  }


  .ml-movie-hero__title-line {
    white-space: normal;
    word-break: keep-all;
  }


  .ml-movie-hero__lead {
    margin-top: 28px;

    font-size: 14px;
    line-height: 1.85;
  }


  .ml-pc-only {
    display: none;
  }


  .ml-movie-hero__actions {
    margin-top: 34px;

    flex-direction: column;

    align-items: flex-start;
  }


  .ml-movie-hero__button {
    width: 100%;
    max-width: 310px;

    min-height: 54px;

    padding: 0 19px;
  }


  .ml-movie-hero__categories {
    position: static;

    margin-top: 42px;

    max-width: 100%;

    flex-direction: row;
    justify-content: flex-start;
    align-items: center;

    gap: 7px 14px;

    font-size: 9px;
  }


  .ml-movie-hero__categories span::before {
    content: "•";

    margin-right: 5px;

    opacity: 0.55;
  }


  .ml-movie-hero__scroll {
    display: none;
  }


  .ml-movie-hero__media-control {
    top: 28px;
    right: 28px;

    width: 38px;
    height: 38px;
  }


  .ml-movie-hero__gradient {
    background:
      linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.88) 0%,
        rgba(0, 0, 0, 0.48) 55%,
        rgba(0, 0, 0, 0.18) 100%
      );
  }

}


/* =========================================
   REDUCED MOTION
========================================= */

@media (
  prefers-reduced-motion: reduce
) {

  .ml-movie-hero__video {
    animation: none;
  }

  .ml-movie-hero__scroll-line::after {
    animation: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1ad0fa8 *//* =========================================
   MOVIE SOLUTIONS
========================================= */

.ml-movie-solutions {
  position: relative;

  width: 100%;

  padding:
    clamp(100px, 10vw, 170px)
    0;

  overflow: hidden;

  background: #f5f3ef;
  color: #161616;
}


.ml-movie-solutions__inner {
  width:
    min(
      calc(100% - 96px),
      1440px
    );

  margin: 0 auto;
}


/* =========================================
   INTRO
========================================= */

.ml-movie-solutions__intro {
  width: min(900px, 85%);

  margin-bottom:
    clamp(90px, 10vw, 150px);

  opacity: 0;

  transform:
    translateY(40px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-movie-solutions__intro.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


.ml-movie-solutions__eyebrow {
  margin: 0 0 25px;

  font-family:
    Arial,
    sans-serif;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.18em;

  color: #777269;
}


.ml-movie-solutions__eyebrow::before {
  content: "";

  display: inline-block;

  width: 38px;
  height: 1px;

  margin-right: 14px;

  vertical-align: middle;

  background: #161616;
}


.ml-movie-solutions__title {
  margin: 0;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size:
    clamp(38px, 5vw, 76px);

  font-weight: 650;

  line-height: 1.18;

  letter-spacing: -0.045em;
}


.ml-movie-solutions__title span {
  display: block;

  white-space: nowrap;

  word-break: keep-all;
}


.ml-movie-solutions__lead {
  width: min(680px, 100%);

  margin:
    clamp(30px, 4vw, 48px)
    0
    0;

  font-size:
    clamp(15px, 1.2vw, 18px);

  line-height: 2;

  letter-spacing: 0.03em;

  color: #5d5a54;
}


/* =========================================
   SERVICE
========================================= */

.ml-movie-service {
  display: grid;

  grid-template-columns:
    minmax(0, 1.42fr)
    minmax(320px, 0.78fr);

  align-items: center;

  gap:
    clamp(50px, 7vw, 120px);

  margin-bottom:
    clamp(110px, 12vw, 190px);

  opacity: 0;

  transform:
    translateY(50px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-movie-service.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


/* REVERSE */

.ml-movie-service--reverse {
  grid-template-columns:
    minmax(320px, 0.78fr)
    minmax(0, 1.42fr);
}


.ml-movie-service--reverse
.ml-movie-service__visual {
  grid-column: 2;
  grid-row: 1;
}


.ml-movie-service--reverse
.ml-movie-service__content {
  grid-column: 1;
  grid-row: 1;
}


/* =========================================
   VISUAL
========================================= */

.ml-movie-service__visual {
  position: relative;

  overflow: hidden;

  min-height:
    clamp(430px, 47vw, 680px);

  background: #ddd;
}


.ml-movie-service__visual img {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;

  transform: scale(1.015);

  transition:
    transform 0.9s
    cubic-bezier(
      0.22,
      1,
      0.36,
      1
    );
}


.ml-movie-service:hover
.ml-movie-service__visual img {
  transform:
    scale(1.055);
}


/* DARK GRADIENT */

.ml-movie-service__visual::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      transparent 60%,
      rgba(0, 0, 0, 0.48)
    );

  pointer-events: none;
}


.ml-movie-service__visual-label {
  position: absolute;

  left: 25px;
  bottom: 22px;

  z-index: 2;

  color: #ffffff;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.18em;
}


/* =========================================
   FEATURED
========================================= */

.ml-movie-service--featured {
  position: relative;
}


.ml-movie-service--featured
.ml-movie-service__visual {
  min-height:
    clamp(520px, 55vw, 780px);
}


.ml-movie-service--featured::before {
  content: "";

  position: absolute;

  width:
    clamp(180px, 20vw, 300px);

  height:
    clamp(180px, 20vw, 300px);

  left: -8%;
  top: 50%;

  border-radius: 50%;

  background:
    rgba(193, 159, 37, 0.12);

  transform:
    translateY(-50%);

  pointer-events: none;
}


/* =========================================
   CONTENT
========================================= */

.ml-movie-service__content {
  position: relative;

  z-index: 2;
}


.ml-movie-service__number {
  margin-bottom: 55px;

  font-family:
    Arial,
    sans-serif;

  font-size:
    clamp(58px, 7vw, 105px);

  font-weight: 300;

  line-height: 1;

  letter-spacing: -0.055em;

  color:
    rgba(20, 20, 20, 0.12);
}


.ml-movie-service__category {
  margin: 0 0 13px;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.17em;

  color: #777269;
}


.ml-movie-service__title {
  margin: 0;

  font-size:
    clamp(30px, 3.5vw, 52px);

  line-height: 1.25;

  letter-spacing: -0.04em;

  font-weight: 650;
}


.ml-movie-service__catch {
  margin:
    clamp(24px, 3vw, 38px)
    0
    0;

  font-size:
    clamp(22px, 2.4vw, 34px);

  font-weight: 600;

  line-height: 1.45;

  letter-spacing: -0.03em;
}


.ml-movie-service__copy {
  margin:
    clamp(25px, 3vw, 38px)
    0
    0;

  font-size:
    clamp(14px, 1.1vw, 17px);

  line-height: 2;

  letter-spacing: 0.025em;

  color: #5c5953;
}


/* =========================================
   TAGS
========================================= */

.ml-movie-service__tags {
  display: flex;

  flex-wrap: wrap;

  gap: 8px;

  margin-top: 30px;
}


.ml-movie-service__tags span {
  padding:
    7px 11px;

  border:
    1px solid
    rgba(20, 20, 20, 0.18);

  border-radius: 999px;

  font-size: 10px;

  letter-spacing: 0.06em;

  color: #55524d;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {

  .ml-movie-solutions__inner {
    width:
      calc(100% - 64px);
  }


  .ml-movie-service,
  .ml-movie-service--reverse {
    gap: 50px;

    grid-template-columns:
      minmax(0, 1.15fr)
      minmax(280px, 0.85fr);
  }


  .ml-movie-service__number {
    margin-bottom: 30px;
  }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

  .ml-movie-solutions {
    padding:
      85px
      0
      100px;
  }


  .ml-movie-solutions__inner {
    width:
      calc(100% - 40px);
  }


  .ml-movie-solutions__intro {
    width: 100%;

    margin-bottom: 70px;
  }


  .ml-movie-solutions__title {
    font-size:
      clamp(34px, 10vw, 48px);
  }


  .ml-movie-solutions__title span {
    white-space: normal;
  }


  .ml-movie-solutions__lead {
    margin-top: 28px;

    font-size: 14px;

    line-height: 1.9;
  }


  .ml-movie-service,
  .ml-movie-service--reverse {
    display: flex;

    flex-direction: column;

    align-items: stretch;

    gap: 36px;

    margin-bottom: 100px;
  }


  .ml-movie-service--reverse
  .ml-movie-service__visual,
  .ml-movie-service--reverse
  .ml-movie-service__content {
    grid-column: auto;
    grid-row: auto;
  }


  .ml-movie-service__visual,
  .ml-movie-service--featured
  .ml-movie-service__visual {
    min-height: 0;

    aspect-ratio: 4 / 3;
  }


  .ml-movie-service__number {
    margin-bottom: 22px;

    font-size: 54px;
  }


  .ml-movie-service__title {
    font-size: 31px;
  }


  .ml-movie-service__copy {
    font-size: 14px;

    line-height: 1.9;
  }


  .ml-movie-service--featured::before {
    display: none;
  }

}


/* =========================================
   REDUCED MOTION
========================================= */

@media (
  prefers-reduced-motion: reduce
) {

  .ml-movie-solutions__intro,
  .ml-movie-service {
    opacity: 1;

    transform: none;

    transition: none;
  }


  .ml-movie-service__visual img {
    transition: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-decdaa9 *//* =========================================
   WHY MOONLOOP
========================================= */

.ml-why {
  position: relative;

  width: 100%;

  padding:
    clamp(110px, 11vw, 180px)
    0;

  overflow: hidden;

  background: #0a0a0a;

  color: #ffffff;
}


.ml-why__inner {
  width:
    min(
      calc(100% - 96px),
      1440px
    );

  margin: 0 auto;
}


/* =========================================
   INTRO
========================================= */

.ml-why__intro {
  display: grid;

  grid-template-columns:
    minmax(0, 1.4fr)
    minmax(300px, 0.6fr);

  gap:
    clamp(60px, 9vw, 150px);

  align-items: end;

  margin-bottom:
    clamp(100px, 11vw, 170px);

  opacity: 0;

  transform:
    translateY(45px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-why__intro.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


.ml-why__eyebrow {
  margin:
    0
    0
    30px;

  font-family:
    Arial,
    sans-serif;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.19em;

  color:
    rgba(255, 255, 255, 0.5);
}


.ml-why__eyebrow::before {
  content: "";

  display: inline-block;

  width: 42px;
  height: 1px;

  margin-right: 15px;

  vertical-align: middle;

  background:
    rgba(255, 255, 255, 0.7);
}


.ml-why__title {
  margin: 0;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size:
    clamp(42px, 5.6vw, 82px);

  font-weight: 650;

  line-height: 1.13;

  letter-spacing:
    -0.05em;
}


.ml-why__title span {
  display: block;

  white-space: nowrap;

  word-break: keep-all;
}


.ml-why__lead {
  margin: 0;

  font-size:
    clamp(15px, 1.18vw, 18px);

  line-height: 2;

  letter-spacing:
    0.025em;

  color:
    rgba(255, 255, 255, 0.62);
}


/* =========================================
   FEATURES
========================================= */

.ml-why__features {
  border-top:
    1px solid
    rgba(255, 255, 255, 0.16);
}


.ml-why-item {
  position: relative;

  display: grid;

  grid-template-columns:
    0.32fr
    0.65fr
    1.65fr;

  gap:
    clamp(25px, 5vw, 85px);

  align-items: start;

  padding:
    clamp(65px, 7vw, 105px)
    0;

  border-bottom:
    1px solid
    rgba(255, 255, 255, 0.16);

  opacity: 0;

  transform:
    translateY(45px);

  transition:
    opacity 0.85s ease,
    transform 0.85s ease,
    background 0.4s ease;
}


.ml-why-item.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


/* NUMBER */

.ml-why-item__number {
  font-family:
    Arial,
    sans-serif;

  font-size:
    clamp(54px, 6vw, 92px);

  line-height: 0.9;

  font-weight: 300;

  letter-spacing:
    -0.05em;

  color:
    rgba(255, 255, 255, 0.1);
}


/* META */

.ml-why-item__meta {
  padding-top: 8px;

  font-family:
    Arial,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.17em;

  line-height: 1.6;

  color:
    rgba(255, 255, 255, 0.46);
}


/* BODY */

.ml-why-item__body {
  max-width: 780px;
}


.ml-why-item__title {
  margin: 0;

  font-size:
    clamp(30px, 3.5vw, 52px);

  font-weight: 600;

  line-height: 1.25;

  letter-spacing:
    -0.04em;
}


.ml-why-item__title span {
  display: block;

  white-space: nowrap;

  word-break: keep-all;
}


.ml-why-item__text {
  max-width: 670px;

  margin:
    clamp(25px, 3vw, 38px)
    0
    0;

  font-size:
    clamp(14px, 1.1vw, 17px);

  line-height: 2;

  letter-spacing:
    0.025em;

  color:
    rgba(255, 255, 255, 0.58);
}


/* =========================================
   ACCENT ITEM
========================================= */

.ml-why-item--accent::before {
  content: "";

  position: absolute;

  left: -48px;
  top: 0;

  width: 3px;
  height: 100%;

  background: #c8a736;

  opacity: 0.9;
}


.ml-why-item--accent
.ml-why-item__number {
  color:
    rgba(200, 167, 54, 0.3);
}


.ml-why-item--accent
.ml-why-item__meta {
  color:
    rgba(200, 167, 54, 0.9);
}


/* =========================================
   HOVER
========================================= */

@media (hover: hover) {

  .ml-why-item:hover {
    background:
      rgba(255, 255, 255, 0.025);
  }

}


/* =========================================
   BOTTOM MESSAGE
========================================= */

.ml-why__bottom {
  margin-top:
    clamp(100px, 12vw, 180px);

  opacity: 0;

  transform:
    translateY(45px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-why__bottom.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


.ml-why__bottom-line {
  width: 100%;
  height: 1px;

  margin-bottom: 45px;

  background:
    linear-gradient(
      90deg,
      #c8a736 0%,
      rgba(200, 167, 54, 0.25) 35%,
      rgba(255, 255, 255, 0.1) 100%
    );
}


.ml-why__bottom-label {
  margin:
    0
    0
    25px;

  font-family:
    Arial,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.2em;

  color: #c8a736;
}


.ml-why__bottom-copy {
  margin: 0;

  font-size:
    clamp(34px, 5vw, 72px);

  font-weight: 500;

  line-height: 1.2;

  letter-spacing:
    -0.05em;
}


.ml-why__bottom-copy span,
.ml-why__bottom-copy strong {
  display: block;
}


.ml-why__bottom-copy strong {
  font-weight: 700;

  color: #ffffff;
}


.ml-why__bottom-note {
  max-width: 680px;

  margin:
    34px
    0
    0;

  font-size:
    clamp(14px, 1.1vw, 17px);

  line-height: 1.95;

  color:
    rgba(255, 255, 255, 0.52);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {

  .ml-why__inner {
    width:
      calc(100% - 64px);
  }


  .ml-why__intro {
    grid-template-columns:
      1fr;

    gap: 45px;
  }


  .ml-why__intro-right {
    width: min(620px, 100%);
  }


  .ml-why-item {
    grid-template-columns:
      0.25fr
      0.55fr
      1.5fr;

    gap: 35px;
  }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

  .ml-why {
    padding:
      90px
      0
      105px;
  }


  .ml-why__inner {
    width:
      calc(100% - 40px);
  }


  .ml-why__intro {
    margin-bottom: 75px;
  }


  .ml-why__title {
    font-size:
      clamp(36px, 10.5vw, 50px);

    line-height: 1.16;
  }


  .ml-why__title span {
    white-space: normal;
  }


  .ml-why__lead {
    font-size: 14px;

    line-height: 1.9;
  }


  .ml-why-item {
    display: grid;

    grid-template-columns:
      72px
      1fr;

    gap:
      20px
      18px;

    padding:
      58px
      0;
  }


  .ml-why-item__number {
    grid-column: 1;
    grid-row: 1;

    font-size: 48px;
  }


  .ml-why-item__meta {
    grid-column: 2;
    grid-row: 1;

    align-self: center;

    padding: 0;

    font-size: 9px;
  }


  .ml-why-item__body {
    grid-column:
      1 / -1;

    grid-row: 2;
  }


  .ml-why-item__title {
    font-size: 30px;
  }


  .ml-why-item__title span {
    white-space: normal;
  }


  .ml-why-item__text {
    font-size: 14px;

    line-height: 1.9;
  }


  .ml-why-item--accent::before {
    left: -20px;
  }


  .ml-why__bottom {
    margin-top: 90px;
  }


  .ml-why__bottom-line {
    margin-bottom: 35px;
  }


  .ml-why__bottom-copy {
    font-size:
      clamp(32px, 9vw, 46px);

    line-height: 1.25;
  }


  .ml-why__bottom-copy span,
  .ml-why__bottom-copy strong {
    display: inline;
  }


  .ml-why__bottom-note {
    margin-top: 26px;

    font-size: 14px;
  }

}


/* =========================================
   REDUCED MOTION
========================================= */

@media (
  prefers-reduced-motion: reduce
) {

  .ml-why__intro,
  .ml-why-item,
  .ml-why__bottom {
    opacity: 1;

    transform: none;

    transition: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-632c4f6 *//* =========================================
   MOVIE WORKS
========================================= */

.ml-movie-works {
  width: 100%;

  padding:
    clamp(110px, 11vw, 180px)
    0;

  background: #f5f3ef;

  color: #161616;

  overflow: hidden;
}


.ml-movie-works__inner {
  width:
    min(
      calc(100% - 96px),
      1440px
    );

  margin: 0 auto;
}


/* =========================================
   INTRO
========================================= */

.ml-movie-works__intro {
  display: grid;

  grid-template-columns:
    minmax(0, 1.4fr)
    minmax(300px, 0.6fr);

  gap:
    clamp(60px, 8vw, 140px);

  align-items: end;

  margin-bottom:
    clamp(85px, 10vw, 150px);

  opacity: 0;

  transform:
    translateY(40px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-movie-works__intro.is-visible {
  opacity: 1;
  transform: translateY(0);
}


.ml-movie-works__eyebrow {
  margin:
    0
    0
    28px;

  font-size: 11px;

  font-family:
    Arial,
    sans-serif;

  font-weight: 700;

  letter-spacing: 0.18em;

  color: #777269;
}


.ml-movie-works__eyebrow::before {
  content: "";

  display: inline-block;

  width: 40px;
  height: 1px;

  margin-right: 14px;

  vertical-align: middle;

  background: #161616;
}


.ml-movie-works__heading {
  margin: 0;

  font-size:
    clamp(42px, 5.4vw, 80px);

  font-weight: 650;

  line-height: 1.14;

  letter-spacing: -0.05em;
}


.ml-movie-works__heading span {
  display: block;

  white-space: nowrap;

  word-break: keep-all;
}


.ml-movie-works__lead {
  margin: 0;

  font-size:
    clamp(15px, 1.15vw, 18px);

  line-height: 2;

  letter-spacing: 0.025em;

  color: #66615a;
}


/* =========================================
   WORK
========================================= */

.ml-movie-work {
  margin-bottom:
    clamp(110px, 12vw, 190px);

  opacity: 0;

  transform:
    translateY(50px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-movie-work.is-visible {
  opacity: 1;
  transform: translateY(0);
}


/* =========================================
   VISUAL
========================================= */

.ml-movie-work__visual {
  position: relative;

  display: block;

  width: 100%;

  height:
    clamp(500px, 55vw, 790px);

  overflow: hidden;

  background: #ddd;

  text-decoration: none;
}


.ml-movie-work:not(.ml-movie-work--large)
.ml-movie-work__visual {
  height:
    clamp(460px, 48vw, 680px);
}


.ml-movie-work__visual img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  transform: scale(1.01);

  transition:
    transform 1s
    cubic-bezier(
      0.22,
      1,
      0.36,
      1
    );
}


.ml-movie-work__overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      transparent 55%,
      rgba(0, 0, 0, 0.46)
    );

  opacity: 0.6;

  transition:
    opacity 0.5s ease;
}


.ml-movie-work__view {
  position: absolute;

  right: 30px;
  bottom: 28px;

  display: inline-flex;

  align-items: center;

  gap: 14px;

  color: #ffffff;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.16em;

  z-index: 2;
}


.ml-movie-work__view span {
  font-size: 18px;
}


/* HOVER */

@media (hover: hover) {

  .ml-movie-work__visual:hover img {
    transform: scale(1.045);
  }

  .ml-movie-work__visual:hover
  .ml-movie-work__overlay {
    opacity: 0.9;
  }

}


/* =========================================
   INFO
========================================= */

.ml-movie-work__info {
  display: grid;

  grid-template-columns:
    0.25fr
    1.35fr
    0.55fr;

  gap:
    clamp(25px, 5vw, 80px);

  padding-top:
    clamp(35px, 4vw, 55px);
}


.ml-movie-work__index {
  font-family:
    Arial,
    sans-serif;

  font-size:
    clamp(46px, 5vw, 72px);

  font-weight: 300;

  line-height: 1;

  color:
    rgba(20, 20, 20, 0.15);
}


.ml-movie-work__type {
  margin:
    4px
    0
    14px;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.17em;

  color: #78736b;
}


.ml-movie-work__title {
  margin: 0;

  font-size:
    clamp(28px, 3vw, 46px);

  line-height: 1.3;

  letter-spacing: -0.035em;

  font-weight: 650;
}


.ml-movie-work__description {
  max-width: 700px;

  margin:
    clamp(22px, 2.5vw, 34px)
    0
    0;

  font-size:
    clamp(14px, 1.05vw, 17px);

  line-height: 2;

  color: #625e57;
}


/* ROLE */

.ml-movie-work__role {
  padding-top: 5px;

  font-size: 12px;

  line-height: 1.85;

  color: #66615a;
}


.ml-movie-work__role-label {
  margin:
    0
    0
    14px;

  font-size: 9px;

  font-weight: 700;

  letter-spacing: 0.18em;

  color: #99938a;
}


/* =========================================
   ALL WORKS
========================================= */

.ml-movie-works__footer {
  display: flex;

  justify-content: flex-end;

  padding-top: 15px;

  opacity: 0;

  transform:
    translateY(30px);

  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}


.ml-movie-works__footer.is-visible {
  opacity: 1;
  transform: translateY(0);
}


.ml-movie-works__all {
  width: min(100%, 430px);

  display: flex;

  justify-content: space-between;
  align-items: center;

  padding:
    25px
    28px;

  border-top:
    1px solid #191919;

  border-bottom:
    1px solid #191919;

  color: #161616;

  text-decoration: none;

  font-size: 14px;

  font-weight: 600;

  transition:
    padding 0.3s ease,
    background 0.3s ease,
    color 0.3s ease;
}


.ml-movie-works__all-arrow {
  font-size: 20px;
}


@media (hover: hover) {

  .ml-movie-works__all:hover {
    padding-left: 36px;
    padding-right: 36px;

    background: #161616;

    color: #ffffff;
  }

}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {

  .ml-movie-works__inner {
    width:
      calc(100% - 64px);
  }


  .ml-movie-works__intro {
    grid-template-columns: 1fr;

    gap: 40px;
  }


  .ml-movie-works__lead {
    max-width: 650px;
  }


  .ml-movie-work__info {
    grid-template-columns:
      100px
      1fr;
  }


  .ml-movie-work__role {
    grid-column: 2;

    margin-top: 10px;
  }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

  .ml-movie-works {
    padding:
      90px
      0
      110px;
  }


  .ml-movie-works__inner {
    width:
      calc(100% - 40px);
  }


  .ml-movie-works__intro {
    margin-bottom: 70px;
  }


  .ml-movie-works__heading {
    font-size:
      clamp(36px, 10vw, 48px);
  }


  .ml-movie-works__heading span {
    white-space: normal;
  }


  .ml-movie-works__lead {
    font-size: 14px;
  }


  .ml-movie-work {
    margin-bottom: 95px;
  }


  .ml-movie-work__visual,
  .ml-movie-work:not(.ml-movie-work--large)
  .ml-movie-work__visual {
    height: auto;

    aspect-ratio: 4 / 3;
  }


  .ml-movie-work__view {
    right: 18px;
    bottom: 17px;

    font-size: 9px;
  }


  .ml-movie-work__info {
    display: block;

    padding-top: 28px;
  }


  .ml-movie-work__index {
    margin-bottom: 28px;

    font-size: 48px;
  }


  .ml-movie-work__title {
    font-size: 29px;
  }


  .ml-movie-work__description {
    font-size: 14px;

    line-height: 1.9;
  }


  .ml-movie-work__role {
    margin-top: 30px;

    padding-top: 25px;

    border-top:
      1px solid
      rgba(20, 20, 20, 0.15);
  }


  .ml-movie-works__footer {
    justify-content: stretch;
  }


  .ml-movie-works__all {
    width: 100%;
  }

}


/* =========================================
   REDUCED MOTION
========================================= */

@media (
  prefers-reduced-motion: reduce
) {

  .ml-movie-works__intro,
  .ml-movie-work,
  .ml-movie-works__footer {
    opacity: 1;

    transform: none;

    transition: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0b995ef *//* =========================================
   TEAM / PRODUCTION SYSTEM
========================================= */

.ml-team {
  position: relative;

  width: 100%;

  padding:
    clamp(110px, 11vw, 180px)
    0;

  overflow: hidden;

  background: #ece9e3;

  color: #151515;
}


.ml-team__inner {
  width:
    min(
      calc(100% - 96px),
      1440px
    );

  margin: 0 auto;
}


/* =========================================
   INTRO
========================================= */

.ml-team__intro {
  max-width: 1040px;

  margin-bottom:
    clamp(90px, 10vw, 150px);

  opacity: 0;

  transform:
    translateY(40px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-team__intro.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


.ml-team__eyebrow {
  margin:
    0
    0
    28px;

  font-family:
    Arial,
    sans-serif;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.18em;

  color: #777269;
}


.ml-team__eyebrow::before {
  content: "";

  display: inline-block;

  width: 40px;
  height: 1px;

  margin-right: 14px;

  vertical-align: middle;

  background: #181818;
}


.ml-team__title {
  margin: 0;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size:
    clamp(42px, 5.5vw, 80px);

  font-weight: 650;

  line-height: 1.15;

  letter-spacing:
    -0.05em;
}


.ml-team__title span {
  display: block;

  white-space: nowrap;

  word-break: keep-all;
}


.ml-team__lead {
  max-width: 720px;

  margin:
    clamp(30px, 4vw, 48px)
    0
    0;

  font-size:
    clamp(15px, 1.15vw, 18px);

  line-height: 2;

  letter-spacing: 0.025em;

  color: #625e57;
}


/* =========================================
   SYSTEM
========================================= */

.ml-team__system {
  position: relative;

  border-top:
    1px solid
    rgba(20, 20, 20, 0.16);

  border-bottom:
    1px solid
    rgba(20, 20, 20, 0.16);
}


/* =========================================
   CARD
========================================= */

.ml-team-card {
  position: relative;

  padding:
    clamp(55px, 6vw, 85px);

  background:
    rgba(255, 255, 255, 0.34);

  border:
    1px solid
    rgba(20, 20, 20, 0.13);

  opacity: 0;

  transform:
    translateY(40px);

  transition:
    opacity 0.85s ease,
    transform 0.85s ease,
    background 0.35s ease,
    border-color 0.35s ease;
}


.ml-team-card.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


/* CORE */

.ml-team-card--core {
  width: min(860px, 80%);

  margin:
    clamp(70px, 8vw, 110px)
    auto
    0;
}


/* CARD TOP */

.ml-team-card__top {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 20px;

  margin-bottom:
    clamp(42px, 5vw, 70px);
}


.ml-team-card__type {
  font-family:
    Arial,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.19em;

  color: #827c73;
}


.ml-team-card__number {
  font-family:
    Arial,
    sans-serif;

  font-size:
    clamp(42px, 4vw, 62px);

  font-weight: 300;

  line-height: 1;

  color:
    rgba(20, 20, 20, 0.12);
}


/* COMPANY */

.ml-team-card__company {
  margin:
    0
    0
    12px;

  font-family:
    Arial,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.17em;

  color: #837d74;
}


/* NAME */

.ml-team-card__name {
  margin: 0;

  font-size:
    clamp(30px, 3.5vw, 50px);

  font-weight: 650;

  line-height: 1.25;

  letter-spacing:
    -0.04em;
}


/* ROLE */

.ml-team-card__role {
  margin:
    18px
    0
    0;

  font-family:
    Arial,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.16em;

  color: #a0832f;
}


/* TEXT */

.ml-team-card__text {
  max-width: 660px;

  margin:
    clamp(28px, 3vw, 40px)
    0
    0;

  font-size:
    clamp(14px, 1.05vw, 17px);

  line-height: 2;

  letter-spacing: 0.02em;

  color: #615d56;
}


/* =========================================
   CONNECTOR
========================================= */

.ml-team__connector {
  display: flex;

  align-items: center;

  justify-content: center;

  gap: 20px;

  width: min(860px, 80%);

  margin:
    clamp(35px, 5vw, 70px)
    auto;

  opacity: 0;

  transition:
    opacity 1s ease;
}


.ml-team__connector.is-visible {
  opacity: 1;
}


.ml-team__connector-line {
  flex: 1;

  height: 1px;

  background:
    rgba(20, 20, 20, 0.18);
}


.ml-team__connector-label {
  flex: 0 0 auto;

  font-family:
    Arial,
    sans-serif;

  font-size: 9px;

  font-weight: 700;

  letter-spacing: 0.22em;

  color: #908a80;
}


/* =========================================
   PARTNERS
========================================= */

.ml-team__partners {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap:
    clamp(20px, 3vw, 42px);

  padding-bottom:
    clamp(70px, 8vw, 110px);
}


.ml-team-card--partner {
  min-height: 100%;
}


/* =========================================
   HOVER
========================================= */

@media (hover: hover) {

  .ml-team-card:hover {
    background:
      rgba(255, 255, 255, 0.65);

    border-color:
      rgba(20, 20, 20, 0.26);
  }

}


/* =========================================
   STATEMENT
========================================= */

.ml-team__statement {
  padding-top:
    clamp(110px, 12vw, 180px);

  opacity: 0;

  transform:
    translateY(40px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-team__statement.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


.ml-team__statement-label {
  margin:
    0
    0
    25px;

  font-family:
    Arial,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.2em;

  color: #9a7c23;
}


.ml-team__statement-main {
  margin: 0;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size:
    clamp(40px, 6vw, 88px);

  font-weight: 500;

  line-height: 1.13;

  letter-spacing:
    -0.055em;
}


.ml-team__statement-main span,
.ml-team__statement-main strong {
  display: block;
}


.ml-team__statement-main strong {
  font-weight: 700;
}


.ml-team__statement-text {
  max-width: 720px;

  margin:
    clamp(30px, 4vw, 48px)
    0
    0;

  font-size:
    clamp(14px, 1.1vw, 17px);

  line-height: 2;

  color: #625e57;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {

  .ml-team__inner {
    width:
      calc(100% - 64px);
  }


  .ml-team-card--core,
  .ml-team__connector {
    width: 90%;
  }


  .ml-team-card {
    padding: 50px;
  }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

  .ml-team {
    padding:
      90px
      0
      105px;
  }


  .ml-team__inner {
    width:
      calc(100% - 40px);
  }


  .ml-team__intro {
    margin-bottom: 70px;
  }


  .ml-team__title {
    font-size:
      clamp(36px, 10vw, 48px);
  }


  .ml-team__title span {
    white-space: normal;
  }


  .ml-team__lead {
    font-size: 14px;

    line-height: 1.9;
  }


  .ml-team-card--core,
  .ml-team__connector {
    width: 100%;
  }


  .ml-team-card {
    padding:
      35px
      25px;
  }


  .ml-team-card__top {
    margin-bottom: 38px;
  }


  .ml-team-card__number {
    font-size: 42px;
  }


  .ml-team-card__name {
    font-size: 30px;
  }


  .ml-team-card__text {
    font-size: 14px;

    line-height: 1.9;
  }


  .ml-team__connector {
    gap: 12px;

    margin:
      35px
      auto;
  }


  .ml-team__connector-label {
    font-size: 8px;
  }


  .ml-team__partners {
    grid-template-columns: 1fr;

    gap: 18px;

    padding-bottom: 60px;
  }


  .ml-team__statement {
    padding-top: 90px;
  }


  .ml-team__statement-main {
    font-size:
      clamp(36px, 10vw, 52px);
  }


  .ml-team__statement-main span,
  .ml-team__statement-main strong {
    display: inline;
  }


  .ml-team__statement-text {
    font-size: 14px;

    line-height: 1.9;
  }

}


/* =========================================
   REDUCED MOTION
========================================= */

@media (
  prefers-reduced-motion: reduce
) {

  .ml-team__intro,
  .ml-team-card,
  .ml-team__connector,
  .ml-team__statement {
    opacity: 1;

    transform: none;

    transition: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ab81016 *//* =========================================
   MOVIE PROCESS
========================================= */

.ml-process {
  position: relative;

  width: 100%;

  padding:
    clamp(110px, 11vw, 180px)
    0;

  overflow: hidden;

  background: #111111;

  color: #ffffff;
}


.ml-process__inner {
  width:
    min(
      calc(100% - 96px),
      1440px
    );

  margin: 0 auto;
}


/* =========================================
   INTRO
========================================= */

.ml-process__intro {
  display: grid;

  grid-template-columns:
    minmax(0, 1.4fr)
    minmax(300px, 0.6fr);

  align-items: end;

  gap:
    clamp(60px, 8vw, 140px);

  margin-bottom:
    clamp(90px, 10vw, 150px);

  opacity: 0;

  transform:
    translateY(40px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-process__intro.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


.ml-process__eyebrow {
  margin:
    0
    0
    28px;

  font-family:
    Arial,
    sans-serif;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.19em;

  color:
    rgba(255, 255, 255, 0.48);
}


.ml-process__eyebrow::before {
  content: "";

  display: inline-block;

  width: 40px;
  height: 1px;

  margin-right: 14px;

  vertical-align: middle;

  background:
    rgba(255, 255, 255, 0.7);
}


.ml-process__title {
  margin: 0;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size:
    clamp(42px, 5.5vw, 80px);

  font-weight: 650;

  line-height: 1.15;

  letter-spacing:
    -0.05em;
}


.ml-process__title span {
  display: block;

  white-space: nowrap;

  word-break: keep-all;
}


.ml-process__lead {
  margin: 0;

  font-size:
    clamp(15px, 1.15vw, 18px);

  line-height: 2;

  letter-spacing: 0.025em;

  color:
    rgba(255, 255, 255, 0.6);
}


/* =========================================
   LIST
========================================= */

.ml-process__list {
  border-top:
    1px solid
    rgba(255, 255, 255, 0.16);
}


/* =========================================
   ITEM
========================================= */

.ml-process-item {
  position: relative;

  display: grid;

  grid-template-columns:
    minmax(130px, 0.32fr)
    minmax(0, 1.68fr);

  gap:
    clamp(40px, 7vw, 120px);

  padding:
    clamp(60px, 6vw, 90px)
    0;

  border-bottom:
    1px solid
    rgba(255, 255, 255, 0.16);

  opacity: 0;

  transform:
    translateY(38px);

  transition:
    opacity 0.8s ease,
    transform 0.8s ease,
    background 0.35s ease;
}


.ml-process-item.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


/* =========================================
   HEAD
========================================= */

.ml-process-item__head {
  display: flex;

  flex-direction: column;

  gap: 12px;
}


.ml-process-item__step {
  font-family:
    Arial,
    sans-serif;

  font-size: 9px;

  font-weight: 700;

  letter-spacing: 0.19em;

  color:
    rgba(255, 255, 255, 0.38);
}


.ml-process-item__number {
  font-family:
    Arial,
    sans-serif;

  font-size:
    clamp(56px, 6vw, 92px);

  font-weight: 300;

  line-height: 0.95;

  letter-spacing:
    -0.06em;

  color:
    rgba(255, 255, 255, 0.1);
}


/* =========================================
   MAIN
========================================= */

.ml-process-item__main {
  display: grid;

  grid-template-columns:
    minmax(180px, 0.45fr)
    minmax(280px, 0.65fr)
    minmax(320px, 0.9fr);

  align-items: start;

  gap:
    clamp(30px, 4vw, 65px);
}


.ml-process-item__en {
  margin: 8px 0 0;

  font-family:
    Arial,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: 0.18em;

  color:
    rgba(255, 255, 255, 0.42);
}


.ml-process-item__title {
  margin: 0;

  font-size:
    clamp(27px, 2.8vw, 42px);

  font-weight: 600;

  line-height: 1.35;

  letter-spacing:
    -0.035em;
}


.ml-process-item__text {
  margin: 0;

  font-size:
    clamp(14px, 1.05vw, 17px);

  line-height: 2;

  letter-spacing: 0.02em;

  color:
    rgba(255, 255, 255, 0.56);
}


/* =========================================
   ACCENT STEP
========================================= */

.ml-process-item--accent::before {
  content: "";

  position: absolute;

  left: -48px;
  top: 0;

  width: 3px;
  height: 100%;

  background: #c8a736;
}


.ml-process-item--accent
.ml-process-item__number {
  color:
    rgba(200, 167, 54, 0.32);
}


.ml-process-item--accent
.ml-process-item__en {
  color: #c8a736;
}


/* =========================================
   HOVER
========================================= */

@media (hover: hover) {

  .ml-process-item:hover {
    background:
      rgba(255, 255, 255, 0.025);
  }

}


/* =========================================
   BOTTOM
========================================= */

.ml-process__bottom {
  padding-top:
    clamp(110px, 12vw, 180px);

  opacity: 0;

  transform:
    translateY(40px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-process__bottom.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


.ml-process__bottom-label {
  margin:
    0
    0
    25px;

  font-family:
    Arial,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.2em;

  color: #c8a736;
}


.ml-process__bottom-copy {
  max-width: 1050px;

  margin: 0;

  font-size:
    clamp(36px, 5.4vw, 78px);

  font-weight: 500;

  line-height: 1.18;

  letter-spacing:
    -0.055em;
}


.ml-process__bottom-copy span,
.ml-process__bottom-copy strong {
  display: block;
}


.ml-process__bottom-copy strong {
  font-weight: 700;
}


/* =========================================
   CONTACT BUTTON
========================================= */

.ml-process__contact {
  width: min(100%, 470px);

  display: flex;

  align-items: center;

  justify-content: space-between;

  margin-top:
    clamp(45px, 5vw, 70px);

  padding:
    24px
    28px;

  border-top:
    1px solid
    rgba(255, 255, 255, 0.55);

  border-bottom:
    1px solid
    rgba(255, 255, 255, 0.55);

  color: #ffffff;

  text-decoration: none;

  font-size: 14px;

  font-weight: 600;

  transition:
    padding 0.3s ease,
    background 0.3s ease,
    color 0.3s ease;
}


.ml-process__contact-arrow {
  font-size: 20px;
}


@media (hover: hover) {

  .ml-process__contact:hover {
    padding-left: 36px;
    padding-right: 36px;

    background: #ffffff;

    color: #111111;
  }

}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

  .ml-process__inner {
    width:
      calc(100% - 64px);
  }


  .ml-process__intro {
    grid-template-columns: 1fr;

    gap: 42px;
  }


  .ml-process__intro-side {
    max-width: 650px;
  }


  .ml-process-item__main {
    grid-template-columns:
      minmax(150px, 0.35fr)
      minmax(250px, 0.65fr);

    gap: 24px 45px;
  }


  .ml-process-item__text {
    grid-column:
      1 / -1;

    max-width: 720px;
  }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

  .ml-process {
    padding:
      90px
      0
      105px;
  }


  .ml-process__inner {
    width:
      calc(100% - 40px);
  }


  .ml-process__intro {
    margin-bottom: 70px;
  }


  .ml-process__title {
    font-size:
      clamp(36px, 10vw, 48px);
  }


  .ml-process__title span {
    white-space: normal;
  }


  .ml-process__lead {
    font-size: 14px;

    line-height: 1.9;
  }


  .ml-process-item {
    display: block;

    padding:
      55px
      0;
  }


  .ml-process-item__head {
    flex-direction: row;

    align-items: flex-end;

    justify-content: space-between;

    margin-bottom: 35px;
  }


  .ml-process-item__number {
    font-size: 50px;
  }


  .ml-process-item__main {
    display: block;
  }


  .ml-process-item__en {
    margin-bottom: 12px;

    font-size: 9px;
  }


  .ml-process-item__title {
    font-size: 29px;
  }


  .ml-process-item__text {
    margin-top: 25px;

    font-size: 14px;

    line-height: 1.9;
  }


  .ml-process-item--accent::before {
    left: -20px;
  }


  .ml-process__bottom {
    padding-top: 90px;
  }


  .ml-process__bottom-copy {
    font-size:
      clamp(33px, 9.5vw, 48px);

    line-height: 1.23;
  }


  .ml-process__bottom-copy span,
  .ml-process__bottom-copy strong {
    display: inline;
  }


  .ml-process__contact {
    width: 100%;

    margin-top: 45px;

    padding:
      21px
      18px;

    font-size: 13px;
  }

}


/* =========================================
   REDUCED MOTION
========================================= */

@media (
  prefers-reduced-motion: reduce
) {

  .ml-process__intro,
  .ml-process-item,
  .ml-process__bottom {
    opacity: 1;

    transform: none;

    transition: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-94dcdda *//* =========================================
   MOVIE UTILIZATION
========================================= */

.ml-use {
  position: relative;

  width: 100%;

  padding:
    clamp(110px, 11vw, 180px)
    0;

  overflow: hidden;

  background: #f5f3ef;

  color: #171717;
}


.ml-use__inner {
  width:
    min(
      calc(100% - 96px),
      1440px
    );

  margin: 0 auto;
}


/* =========================================
   INTRO
========================================= */

.ml-use__intro {
  max-width: 1040px;

  margin-bottom:
    clamp(80px, 9vw, 135px);

  opacity: 0;

  transform:
    translateY(40px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-use__intro.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


.ml-use__eyebrow {
  margin:
    0
    0
    28px;

  font-family:
    Arial,
    sans-serif;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.19em;

  color: #777269;
}


.ml-use__eyebrow::before {
  content: "";

  display: inline-block;

  width: 40px;
  height: 1px;

  margin-right: 14px;

  vertical-align: middle;

  background: #181818;
}


.ml-use__title {
  margin: 0;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size:
    clamp(42px, 5.5vw, 80px);

  font-weight: 650;

  line-height: 1.15;

  letter-spacing:
    -0.05em;
}


.ml-use__title span {
  display: block;

  white-space: nowrap;

  word-break: keep-all;
}


.ml-use__lead {
  max-width: 720px;

  margin:
    clamp(30px, 4vw, 48px)
    0
    0;

  font-size:
    clamp(15px, 1.15vw, 18px);

  line-height: 2;

  color: #625e57;
}


/* =========================================
   GRID
========================================= */

.ml-use__grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  border-top:
    1px solid
    rgba(20, 20, 20, 0.16);

  border-left:
    1px solid
    rgba(20, 20, 20, 0.16);
}


/* =========================================
   CARD
========================================= */

.ml-use-card {
  position: relative;

  min-height:
    clamp(430px, 38vw, 560px);

  padding:
    clamp(45px, 5vw, 75px);

  border-right:
    1px solid
    rgba(20, 20, 20, 0.16);

  border-bottom:
    1px solid
    rgba(20, 20, 20, 0.16);

  opacity: 0;

  transform:
    translateY(35px);

  transition:
    opacity 0.8s ease,
    transform 0.8s ease,
    background 0.35s ease;
}


.ml-use-card.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


.ml-use-card__number {
  position: absolute;

  right:
    clamp(30px, 4vw, 55px);

  top:
    clamp(30px, 4vw, 50px);

  font-family:
    Arial,
    sans-serif;

  font-size:
    clamp(54px, 5vw, 78px);

  font-weight: 300;

  line-height: 1;

  letter-spacing: -0.055em;

  color:
    rgba(20, 20, 20, 0.09);
}


/* =========================================
   ABSTRACT ICON
========================================= */

.ml-use-card__icon {
  position: relative;

  width: 54px;
  height: 54px;

  margin-bottom:
    clamp(65px, 7vw, 100px);

  border:
    1px solid
    rgba(20, 20, 20, 0.25);

  border-radius: 50%;
}


.ml-use-card__icon::before,
.ml-use-card__icon::after,
.ml-use-card__icon span {
  content: "";

  position: absolute;

  background: #171717;
}


.ml-use-card__icon::before {
  width: 19px;
  height: 1px;

  left: 17px;
  top: 26px;
}


.ml-use-card__icon::after {
  width: 1px;
  height: 19px;

  left: 26px;
  top: 17px;
}


.ml-use-card__icon span {
  width: 5px;
  height: 5px;

  border-radius: 50%;

  left: 24px;
  top: 24px;
}


/* =========================================
   TEXT
========================================= */

.ml-use-card__en {
  margin:
    0
    0
    13px;

  font-family:
    Arial,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.18em;

  color: #817b72;
}


.ml-use-card__title {
  margin: 0;

  font-size:
    clamp(30px, 3.4vw, 48px);

  line-height: 1.3;

  font-weight: 650;

  letter-spacing:
    -0.04em;
}


.ml-use-card__text {
  max-width: 520px;

  margin:
    clamp(25px, 3vw, 38px)
    0
    0;

  font-size:
    clamp(14px, 1.05vw, 17px);

  line-height: 2;

  color: #615d56;
}


.ml-use-card__example {
  position: absolute;

  left:
    clamp(45px, 5vw, 75px);

  bottom:
    clamp(35px, 4vw, 55px);

  margin: 0;

  font-family:
    Arial,
    sans-serif;

  font-size: 9px;

  font-weight: 700;

  letter-spacing: 0.15em;

  color:
    rgba(20, 20, 20, 0.38);
}


/* =========================================
   ACCENT
========================================= */

.ml-use-card--accent {
  background: #181818;

  color: #ffffff;
}


.ml-use-card--accent
.ml-use-card__number {
  color:
    rgba(200, 167, 54, 0.24);
}


.ml-use-card--accent
.ml-use-card__en {
  color: #c8a736;
}


.ml-use-card--accent
.ml-use-card__text {
  color:
    rgba(255, 255, 255, 0.62);
}


.ml-use-card--accent
.ml-use-card__example {
  color:
    rgba(255, 255, 255, 0.35);
}


.ml-use-card--accent
.ml-use-card__icon {
  border-color:
    rgba(255, 255, 255, 0.35);
}


.ml-use-card--accent
.ml-use-card__icon::before,
.ml-use-card--accent
.ml-use-card__icon::after,
.ml-use-card--accent
.ml-use-card__icon span {
  background: #c8a736;
}


/* =========================================
   HOVER
========================================= */

@media (hover: hover) {

  .ml-use-card:not(
    .ml-use-card--accent
  ):hover {
    background: #ece9e3;
  }

}


/* =========================================
   REUSE
========================================= */

.ml-use__reuse {
  display: grid;

  grid-template-columns:
    160px
    minmax(120px, 0.45fr)
    minmax(0, 1fr);

  gap:
    clamp(30px, 5vw, 80px);

  align-items: start;

  padding-top:
    clamp(110px, 12vw, 180px);

  opacity: 0;

  transform:
    translateY(40px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-use__reuse.is-visible {
  opacity: 1;

  transform:
    translateY(0);
}


.ml-use__reuse-label {
  padding-top: 12px;

  font-family:
    Arial,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.2em;

  color: #9a7c23;
}


.ml-use__reuse-line {
  padding-top: 18px;
}


.ml-use__reuse-line span {
  display: block;

  width: 100%;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      #c8a736,
      rgba(200, 167, 54, 0.15)
    );
}


.ml-use__reuse-main {
  max-width: 880px;
}


.ml-use__reuse-title {
  margin: 0;

  font-size:
    clamp(36px, 5vw, 70px);

  font-weight: 500;

  line-height: 1.2;

  letter-spacing:
    -0.05em;
}


.ml-use__reuse-title span,
.ml-use__reuse-title strong {
  display: block;
}


.ml-use__reuse-title strong {
  font-weight: 700;
}


.ml-use__reuse-text {
  max-width: 680px;

  margin:
    clamp(28px, 3vw, 42px)
    0
    0;

  font-size:
    clamp(14px, 1.05vw, 17px);

  line-height: 2;

  color: #625e57;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {

  .ml-use__inner {
    width:
      calc(100% - 64px);
  }


  .ml-use-card {
    min-height: 460px;

    padding: 45px;
  }


  .ml-use-card__example {
    left: 45px;
    bottom: 38px;
  }


  .ml-use__reuse {
    grid-template-columns:
      120px
      1fr;

    gap: 30px 50px;
  }


  .ml-use__reuse-line {
    display: none;
  }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

  .ml-use {
    padding:
      90px
      0
      110px;
  }


  .ml-use__inner {
    width:
      calc(100% - 40px);
  }


  .ml-use__intro {
    margin-bottom: 65px;
  }


  .ml-use__title {
    font-size:
      clamp(36px, 10vw, 48px);
  }


  .ml-use__title span {
    white-space: normal;
  }


  .ml-use__lead {
    font-size: 14px;

    line-height: 1.9;
  }


  .ml-use__grid {
    grid-template-columns: 1fr;
  }


  .ml-use-card {
    min-height: 0;

    padding:
      35px
      25px
      45px;
  }


  .ml-use-card__number {
    right: 25px;
    top: 30px;

    font-size: 48px;
  }


  .ml-use-card__icon {
    width: 46px;
    height: 46px;

    margin-bottom: 70px;
  }


  .ml-use-card__icon::before {
    width: 17px;

    left: 14px;
    top: 22px;
  }


  .ml-use-card__icon::after {
    height: 17px;

    left: 22px;
    top: 14px;
  }


  .ml-use-card__icon span {
    left: 20px;
    top: 20px;
  }


  .ml-use-card__title {
    font-size: 30px;
  }


  .ml-use-card__text {
    font-size: 14px;

    line-height: 1.9;
  }


  .ml-use-card__example {
    position: static;

    margin-top: 35px;

    font-size: 8px;
  }


  .ml-use__reuse {
    display: block;

    padding-top: 90px;
  }


  .ml-use__reuse-label {
    margin-bottom: 25px;
  }


  .ml-use__reuse-title {
    font-size:
      clamp(34px, 9.5vw, 48px);
  }


  .ml-use__reuse-title span,
  .ml-use__reuse-title strong {
    display: inline;
  }


  .ml-use__reuse-text {
    font-size: 14px;

    line-height: 1.9;
  }

}


/* =========================================
   REDUCED MOTION
========================================= */

@media (
  prefers-reduced-motion: reduce
) {

  .ml-use__intro,
  .ml-use-card,
  .ml-use__reuse {
    opacity: 1;

    transform: none;

    transition: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-990f6ed *//* =========================================
   MOVIE FAQ
========================================= */

.ml-faq {
  position: relative;

  width: 100%;

  padding:
    clamp(110px, 11vw, 180px)
    0;

  overflow: hidden;

  background: #ece9e3;

  color: #171717;
}


.ml-faq__inner {
  width:
    min(
      calc(100% - 96px),
      1240px
    );

  margin: 0 auto;
}


/* =========================================
   INTRO
========================================= */

.ml-faq__intro {
  max-width: 930px;

  margin-bottom:
    clamp(75px, 8vw, 120px);

  opacity: 0;

  transform: translateY(40px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-faq__intro.is-visible {
  opacity: 1;

  transform: translateY(0);
}


.ml-faq__eyebrow {
  margin:
    0
    0
    28px;

  font-family:
    Arial,
    sans-serif;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.19em;

  color: #777269;
}


.ml-faq__eyebrow::before {
  content: "";

  display: inline-block;

  width: 40px;
  height: 1px;

  margin-right: 14px;

  vertical-align: middle;

  background: #181818;
}


.ml-faq__title {
  margin: 0;

  font-size:
    clamp(42px, 5.5vw, 78px);

  font-weight: 650;

  line-height: 1.15;

  letter-spacing: -0.05em;
}


.ml-faq__title span {
  display: block;

  white-space: nowrap;

  word-break: keep-all;
}


.ml-faq__lead {
  max-width: 680px;

  margin:
    clamp(30px, 4vw, 45px)
    0
    0;

  font-size:
    clamp(15px, 1.1vw, 18px);

  line-height: 2;

  color: #625e57;
}


/* =========================================
   LIST
========================================= */

.ml-faq__list {
  border-top:
    1px solid
    rgba(20, 20, 20, 0.18);

  opacity: 0;

  transform: translateY(35px);

  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}


.ml-faq__list.is-visible {
  opacity: 1;

  transform: translateY(0);
}


/* =========================================
   ITEM
========================================= */

.ml-faq-item {
  border-bottom:
    1px solid
    rgba(20, 20, 20, 0.18);
}


.ml-faq-item__question {
  width: 100%;

  display: grid;

  grid-template-columns:
    90px
    minmax(0, 1fr)
    42px;

  gap: 25px;

  align-items: center;

  padding:
    clamp(30px, 4vw, 48px)
    0;

  border: 0;

  background: transparent;

  color: inherit;

  text-align: left;

  cursor: pointer;
}


/* NUMBER */

.ml-faq-item__number {
  font-family:
    Arial,
    sans-serif;

  font-size:
    clamp(28px, 3vw, 42px);

  font-weight: 300;

  line-height: 1;

  letter-spacing: -0.05em;

  color:
    rgba(20, 20, 20, 0.18);
}


/* QUESTION */

.ml-faq-item__question-text {
  font-size:
    clamp(20px, 2.2vw, 30px);

  font-weight: 600;

  line-height: 1.5;

  letter-spacing: -0.025em;
}


/* =========================================
   ICON
========================================= */

.ml-faq-item__icon {
  position: relative;

  width: 32px;
  height: 32px;

  justify-self: end;
}


.ml-faq-item__icon::before,
.ml-faq-item__icon::after {
  content: "";

  position: absolute;

  left: 50%;
  top: 50%;

  width: 20px;
  height: 1px;

  background: #171717;

  transform:
    translate(-50%, -50%);

  transition:
    transform 0.35s ease,
    opacity 0.35s ease;
}


.ml-faq-item__icon::after {
  transform:
    translate(-50%, -50%)
    rotate(90deg);
}


.ml-faq-item.is-open
.ml-faq-item__icon::after {
  transform:
    translate(-50%, -50%)
    rotate(0deg);

  opacity: 0;
}


/* =========================================
   ANSWER
========================================= */

.ml-faq-item__answer {
  max-height: 0;

  overflow: hidden;

  transition:
    max-height 0.5s
    cubic-bezier(
      0.22,
      1,
      0.36,
      1
    );
}


.ml-faq-item__answer-inner {
  padding:
    0
    74px
    clamp(35px, 4vw, 55px)
    115px;
}


.ml-faq-item__answer p {
  max-width: 760px;

  margin: 0;

  font-size:
    clamp(14px, 1.05vw, 17px);

  line-height: 2;

  color: #625e57;
}


/* =========================================
   ACCENT
========================================= */

.ml-faq-item--accent
.ml-faq-item__number {
  color:
    rgba(163, 128, 26, 0.55);
}


.ml-faq-item--accent
.ml-faq-item__question-text {
  color: #171717;
}


/* =========================================
   HOVER
========================================= */

@media (hover: hover) {

  .ml-faq-item__question:hover
  .ml-faq-item__question-text {
    opacity: 0.62;
  }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

  .ml-faq {
    padding:
      90px
      0
      105px;
  }


  .ml-faq__inner {
    width:
      calc(100% - 40px);
  }


  .ml-faq__intro {
    margin-bottom: 60px;
  }


  .ml-faq__title {
    font-size:
      clamp(36px, 10vw, 48px);
  }


  .ml-faq__title span {
    white-space: normal;
  }


  .ml-faq__lead {
    font-size: 14px;

    line-height: 1.9;
  }


  .ml-faq-item__question {
    grid-template-columns:
      45px
      minmax(0, 1fr)
      28px;

    gap: 12px;

    padding:
      27px
      0;
  }


  .ml-faq-item__number {
    font-size: 25px;
  }


  .ml-faq-item__question-text {
    font-size: 18px;

    line-height: 1.6;
  }


  .ml-faq-item__icon {
    width: 25px;
    height: 25px;
  }


  .ml-faq-item__icon::before,
  .ml-faq-item__icon::after {
    width: 16px;
  }


  .ml-faq-item__answer-inner {
    padding:
      0
      10px
      32px
      57px;
  }


  .ml-faq-item__answer p {
    font-size: 14px;

    line-height: 1.9;
  }

}


/* =========================================
   REDUCED MOTION
========================================= */

@media (
  prefers-reduced-motion: reduce
) {

  .ml-faq__intro,
  .ml-faq__list {
    opacity: 1;

    transform: none;

    transition: none;
  }


  .ml-faq-item__answer {
    transition: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-acb2d53 *//* =========================================
   FINAL CTA
========================================= */

.ml-final-cta {
  position: relative;

  width: 100%;

  min-height:
    clamp(720px, 92vh, 980px);

  overflow: hidden;

  isolation: isolate;

  background: #090909;

  color: #ffffff;

  opacity: 0;

  transition:
    opacity 1s ease;
}


.ml-final-cta.is-visible {
  opacity: 1;
}


/* =========================================
   VIDEO
========================================= */

.ml-final-cta__media {
  position: absolute;

  inset: 0;

  z-index: -5;

  overflow: hidden;
}


.ml-final-cta__video {
  width: 100%;
  height: 100%;

  object-fit: cover;

  transform: scale(1.04);
}


/* =========================================
   OVERLAY
========================================= */

.ml-final-cta__overlay {
  position: absolute;

  inset: 0;

  z-index: -4;

  background:
    rgba(0, 0, 0, 0.36);
}


.ml-final-cta__gradient {
  position: absolute;

  inset: 0;

  z-index: -3;

  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.84) 0%,
      rgba(0, 0, 0, 0.58) 46%,
      rgba(0, 0, 0, 0.22) 100%
    ),
    linear-gradient(
      0deg,
      rgba(0, 0, 0, 0.72) 0%,
      transparent 55%
    );
}


/* =========================================
   FRAME
========================================= */

.ml-final-cta__frame {
  position: absolute;

  top: 28px;
  right: 28px;
  bottom: 28px;
  left: 28px;

  z-index: 1;

  border:
    1px solid
    rgba(255, 255, 255, 0.22);

  pointer-events: none;
}


/* =========================================
   INNER
========================================= */

.ml-final-cta__inner {
  position: relative;

  z-index: 2;

  width:
    min(
      calc(100% - 96px),
      1440px
    );

  min-height:
    clamp(720px, 92vh, 980px);

  margin: 0 auto;

  display: flex;

  flex-direction: column;

  justify-content: space-between;

  padding:
    clamp(80px, 8vw, 115px)
    0
    55px;
}


/* =========================================
   TOP
========================================= */

.ml-final-cta__top {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 30px;
}


.ml-final-cta__eyebrow,
.ml-final-cta__index {
  margin: 0;

  font-family:
    Arial,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.2em;

  color:
    rgba(255, 255, 255, 0.62);
}


.ml-final-cta__eyebrow::before {
  content: "";

  display: inline-block;

  width: 40px;
  height: 1px;

  margin-right: 14px;

  vertical-align: middle;

  background:
    rgba(255, 255, 255, 0.75);
}


/* =========================================
   CONTENT
========================================= */

.ml-final-cta__content {
  margin:
    auto
    0;

  padding:
    clamp(70px, 8vw, 130px)
    0;
}


/* =========================================
   TITLE
========================================= */

.ml-final-cta__title {
  max-width: 1180px;

  margin: 0;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size:
    clamp(48px, 7vw, 108px);

  font-weight: 500;

  line-height: 1.05;

  letter-spacing:
    -0.06em;
}


.ml-final-cta__title span,
.ml-final-cta__title strong {
  display: block;

  white-space: nowrap;

  word-break: keep-all;
}


.ml-final-cta__title strong {
  font-weight: 700;
}


/* =========================================
   BOTTOM CONTENT
========================================= */

.ml-final-cta__bottom {
  display: grid;

  grid-template-columns:
    minmax(300px, 0.85fr)
    minmax(440px, 1.15fr);

  gap:
    clamp(50px, 8vw, 130px);

  align-items: end;

  margin-top:
    clamp(50px, 7vw, 95px);
}


.ml-final-cta__lead {
  margin: 0;

  max-width: 610px;

  font-size:
    clamp(14px, 1.15vw, 18px);

  line-height: 2;

  letter-spacing:
    0.025em;

  color:
    rgba(255, 255, 255, 0.7);
}


/* =========================================
   BUTTONS
========================================= */

.ml-final-cta__actions {
  display: flex;

  flex-direction: column;

  align-items: stretch;
}


.ml-final-cta__button {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 30px;

  min-height: 72px;

  padding:
    0
    25px;

  border-top:
    1px solid
    rgba(255, 255, 255, 0.5);

  color: #ffffff;

  text-decoration: none;

  font-size: 14px;

  font-weight: 600;

  transition:
    padding 0.35s ease,
    background 0.35s ease,
    color 0.35s ease;
}


.ml-final-cta__button:last-child {
  border-bottom:
    1px solid
    rgba(255, 255, 255, 0.5);
}


.ml-final-cta__button--primary {
  background:
    rgba(255, 255, 255, 0.95);

  color: #111111;
}


.ml-final-cta__arrow {
  font-size: 20px;

  transition:
    transform 0.35s ease;
}


@media (hover: hover) {

  .ml-final-cta__button:hover {
    padding-left: 34px;
    padding-right: 34px;
  }


  .ml-final-cta__button--primary:hover {
    background: #c8a736;

    color: #111111;
  }


  .ml-final-cta__button--secondary:hover {
    background:
      rgba(255, 255, 255, 0.12);
  }


  .ml-final-cta__button:hover
  .ml-final-cta__arrow {
    transform:
      translate(
        3px,
        -3px
      );
  }

}


/* =========================================
   FOOTER
========================================= */

.ml-final-cta__footer {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 30px;

  padding-top: 28px;

  border-top:
    1px solid
    rgba(255, 255, 255, 0.22);

  font-family:
    Arial,
    sans-serif;

  font-size: 9px;

  font-weight: 700;

  letter-spacing: 0.17em;

  color:
    rgba(255, 255, 255, 0.46);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {

  .ml-final-cta__inner {
    width:
      calc(100% - 64px);
  }


  .ml-final-cta__bottom {
    grid-template-columns: 1fr;

    gap: 45px;
  }


  .ml-final-cta__actions {
    max-width: 620px;
  }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

  .ml-final-cta {
    min-height:
      max(720px, 94svh);
  }


  .ml-final-cta__frame {
    top: 14px;
    right: 14px;
    bottom: 14px;
    left: 14px;
  }


  .ml-final-cta__inner {
    width:
      calc(100% - 40px);

    min-height:
      max(720px, 94svh);

    padding:
      55px
      0
      35px;
  }


  .ml-final-cta__top {
    align-items: flex-start;
  }


  .ml-final-cta__index {
    font-size: 8px;
  }


  .ml-final-cta__title {
    font-size:
      clamp(40px, 12vw, 58px);

    line-height: 1.1;
  }


  .ml-final-cta__title span,
  .ml-final-cta__title strong {
    white-space: normal;
  }


  .ml-final-cta__content {
    padding:
      65px
      0;
  }


  .ml-final-cta__bottom {
    display: block;

    margin-top: 42px;
  }


  .ml-final-cta__lead {
    font-size: 14px;

    line-height: 1.9;
  }


  .ml-final-cta__actions {
    margin-top: 38px;
  }


  .ml-final-cta__button {
    min-height: 64px;

    padding:
      0
      18px;

    font-size: 13px;
  }


  .ml-final-cta__footer {
    display: block;

    font-size: 8px;

    line-height: 1.8;
  }


  .ml-final-cta__footer span {
    display: block;
  }


  .ml-final-cta__footer span + span {
    margin-top: 6px;
  }


  .ml-final-cta__gradient {
    background:
      linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.9) 0%,
        rgba(0, 0, 0, 0.55) 62%,
        rgba(0, 0, 0, 0.25) 100%
      );
  }

}


/* =========================================
   REDUCED MOTION
========================================= */

@media (
  prefers-reduced-motion: reduce
) {

  .ml-final-cta {
    opacity: 1;

    transition: none;
  }

}/* End custom CSS */