.elementor-9 .elementor-element.elementor-element-6e91b21 {
  position: relative;
  overflow: hidden;
  background-color: #fff !important;
  background-image: none !important;
  min-height: 100svh !important;
}

.elementor-9 .elementor-element.elementor-element-6e91b21::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -110px;
  z-index: 0;
  height: clamp(360px, 38vw, 640px);
  pointer-events: none;
  background-image: url("/koe-assets-v20260606m/uploads/2025/06/koe-graph-background.svg");
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
  opacity: 1;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 54%, rgb(0 0 0 / 0.34) 76%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 54%, rgb(0 0 0 / 0.34) 76%, transparent 100%);
}

.elementor-9 .elementor-element.elementor-element-6e91b21::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  z-index: 0;
  height: clamp(150px, 18vw, 260px);
  pointer-events: none;
  background: linear-gradient(180deg, rgb(255 255 255 / 0) 0%, #fff 76%, #fff 100%);
}

.koe-hero-globe {
  display: none;
  position: absolute;
  z-index: 0;
  top: 46%;
  left: 50%;
  width: min(56vw, 780px);
  aspect-ratio: 1 / 1;
  opacity: 0.68;
  pointer-events: none;
  transform: translate(-50%, -50%);
  mix-blend-mode: multiply;
}

.koe-hero-globe canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.koe-hero-globe span {
  display: none;
}

.elementor-9 .elementor-element.elementor-element-6e91b21 > :not(.koe-hero-globe) {
  position: relative;
  z-index: 1;
}

.elementor-9 .elementor-element.elementor-element-7b8a5b4,
.elementor-9 .elementor-element.elementor-element-0d5dff0 {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 10 !important;
}

.elementor-9 .elementor-element.elementor-element-7b8a5b4 {
  width: 100% !important;
}

.elementor-9 .elementor-element.elementor-element-0d5dff0 {
  left: auto !important;
  width: min(80%, 760px) !important;
  mix-blend-mode: normal !important;
}

.elementor-9 .elementor-element.elementor-element-daa1340 .elementor-nav-menu--main .elementor-item,
.elementor-9 .elementor-element.elementor-element-daa1340 .elementor-menu-toggle svg {
  color: #000 !important;
  fill: #000 !important;
}

.elementor-9 .elementor-element.elementor-element-dc09106 .elementor-button {
  position: relative;
  overflow: hidden;
  min-width: 112px;
  min-height: 42px;
  padding: 0 20px !important;
  border: 1px solid rgb(0 0 0 / 0.14) !important;
  border-radius: 999px !important;
  background: rgb(255 255 255 / 0.78) !important;
  box-shadow: 0 16px 38px rgb(0 0 0 / 0.09);
  color: #050505 !important;
  letter-spacing: 0.08em;
  backdrop-filter: blur(16px);
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.elementor-9 .elementor-element.elementor-element-dc09106 .elementor-button::after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-left: 10px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform 180ms ease;
}

.elementor-9 .elementor-element.elementor-element-dc09106 .elementor-button:hover,
.elementor-9 .elementor-element.elementor-element-dc09106 .elementor-button:focus-visible {
  border-color: #050505 !important;
  background: #050505 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.elementor-9 .elementor-element.elementor-element-dc09106 .elementor-button:hover::after,
.elementor-9 .elementor-element.elementor-element-dc09106 .elementor-button:focus-visible::after {
  transform: rotate(45deg) translate(2px, -3px);
}

.elementor-9 .elementor-element.elementor-element-dc09106 .elementor-button-content-wrapper {
  align-items: center;
}

.elementor-9 .elementor-element.elementor-element-dc09106 .elementor-button-text {
  color: inherit !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

.elementor-9 .elementor-element.elementor-element-cb2f911,
.elementor-9 .elementor-element.elementor-element-2485fd1 {
  display: none !important;
}

.koe-hero-copy {
  position: relative;
  z-index: 2;
  width: min(86vw, 820px);
  box-sizing: border-box;
  margin: 0 auto;
  padding-top: 18px;
  color: #000;
  font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(54px, 5.7vw, 104px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.78;
  text-align: center;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
}

.koe-hero-copy ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.koe-hero-copy li {
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

.koe-hero-copy-jp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.32em;
  margin-top: 0.72em !important;
  font-family: "Noto Sans JP", "Roboto", sans-serif;
  font-size: clamp(18px, 1.45vw, 26px);
  font-weight: 800;
  line-height: 1.1;
  text-transform: none;
}

.koe-hero-copy-jp img {
  width: 2.25em;
  height: auto;
}

.koe-layered-hero-text {
  --even-skew-x: 42deg;
  --skew-y: -20deg;
  --odd-scale-y: 1.2;
  --even-scale-y: 0.74;
  position: relative;
  z-index: 2;
  width: min(86vw, 920px);
  margin: 0 auto;
  padding: 24px 0 0;
  color: #000;
  font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(56px, 5.45vw, 98px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
  user-select: none;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.koe-layered-hero-text ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.koe-layered-hero-text li {
  position: relative;
  height: clamp(43px, 4.6vw, 84px);
  overflow: hidden;
  transform: translateX(var(--shift, 0px)) skew(0deg, var(--skew-y)) scaleY(var(--odd-scale-y));
}

.koe-layered-hero-text li:nth-child(odd) {
  transform: translateX(var(--shift, 0px)) skew(var(--even-skew-x), var(--skew-y)) scaleY(var(--even-scale-y));
}

.koe-layered-hero-text p {
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(43px, 4.6vw, 84px);
  margin: 0;
  padding: 0 15px;
  color: inherit;
  -webkit-text-fill-color: currentColor;
  line-height: clamp(41px, 4.35vw, 80px);
  white-space: nowrap;
  text-shadow: none;
  transform: translateY(0);
  transition: transform 0.86s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc((5 - var(--row, 0)) * 70ms);
  will-change: transform;
}

.koe-layered-hero-text p + p {
  transform: translateY(10px);
}

.koe-layered-hero-text.is-active,
.koe-layered-hero-text.is-active * {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
}

.koe-layered-hero-text.is-active p {
  transform: translateY(-100%) !important;
  transition-delay: calc(var(--row, 0) * 80ms);
}

.koe-layered-hero-text.is-active p:first-child {
  transform: translateY(calc(-100% - 14px)) !important;
}

.koe-layered-jp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.28em;
  font-family: "Noto Sans JP", "Roboto", sans-serif;
  font-size: clamp(18px, 1.45vw, 26px);
  font-weight: 800;
  line-height: 1;
  text-transform: none;
}

.koe-layered-jp img {
  width: 2.2em;
  height: auto;
}

.koe-layered-tagline {
  font-size: clamp(24px, 2.2vw, 38px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

@media (hover: hover) and (pointer: fine) {
  .koe-layered-hero-text:hover p {
    transform: translateY(-100%);
    transition-delay: calc(var(--row, 0) * 80ms);
  }

  .koe-layered-hero-text:hover p:first-child {
    transform: translateY(calc(-100% - 14px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .koe-layered-hero-text p {
    transition-duration: 0.01ms;
    transition-delay: 0ms;
  }
}

.elementor-9 .elementor-element.elementor-element-57c936d .elementor-heading-title,
.elementor-9 .elementor-element.elementor-element-261c9d1 .elementor-heading-title,
.elementor-9 .elementor-element.elementor-element-13c8efb .elementor-heading-title,
.elementor-9 .elementor-element.elementor-element-853817e .elementor-heading-title {
  color: #000 !important;
  text-shadow: none;
}

.elementor-9 .elementor-element.elementor-element-853817e,
.elementor-9 .elementor-element.elementor-element-853817e .text-animation {
  color: #000 !important;
  opacity: 1 !important;
}

.elementor-9 .elementor-element.elementor-element-853817e .elementor-heading-title {
  text-shadow: none;
}

.elementor-9 .elementor-element.elementor-element-853817e img {
  filter: none;
}

@media (max-width: 1024px) {
  .koe-hero-globe {
    top: 48%;
    width: min(80vw, 680px);
    opacity: 0.64;
    transform: translate(-50%, -50%);
  }
}

@media (max-width: 767px) {
  .elementor-9 .elementor-element.elementor-element-6e91b21 {
    background-image: none !important;
  }

  .elementor-9 .elementor-element.elementor-element-6e91b21::before {
    bottom: -42px;
    height: 330px;
    background-position: center bottom;
    background-size: 225% auto;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 16%, #000 52%, rgb(0 0 0 / 0.36) 74%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 16%, #000 52%, rgb(0 0 0 / 0.36) 74%, transparent 100%);
  }

  .elementor-9 .elementor-element.elementor-element-6e91b21::after {
    height: 180px;
    background: linear-gradient(180deg, rgb(255 255 255 / 0) 0%, rgb(255 255 255 / 0.72) 64%, #fff 100%);
  }

  .koe-hero-globe {
    top: 47%;
    width: 114vw;
    opacity: 0.62;
    transform: translate(-50%, -50%);
  }

  .koe-hero-copy {
    width: 100%;
    padding: 34px 14px 0;
    font-size: clamp(40px, 13.2vw, 56px);
    line-height: 0.82;
  }

  .koe-hero-copy-jp {
    margin-top: 0.82em !important;
    font-size: clamp(16px, 5vw, 22px);
  }

  .koe-hero-copy-jp img {
    width: 2.15em;
  }

  .koe-layered-hero-text {
    --even-skew-x: 38deg;
    --skew-y: -17deg;
    --odd-scale-y: 1.16;
    --even-scale-y: 0.78;
    --mobile-row-height: clamp(27px, 8vw, 33px);
    width: 100%;
    padding: 34px 14px 0;
    box-sizing: border-box;
    font-size: clamp(32px, 9.8vw, 41px);
    transform: translate(13px, -30px);
  }

  .koe-layered-hero-text li {
    height: clamp(27px, 8vw, 33px);
    transform: translateX(var(--shift-mobile, 0px)) skew(0deg, var(--skew-y)) scaleY(var(--odd-scale-y));
  }

  .koe-layered-hero-text li:nth-child(odd) {
    transform: translateX(var(--shift-mobile, 0px)) skew(var(--even-skew-x), var(--skew-y)) scaleY(var(--even-scale-y));
  }

  .koe-layered-hero-text p {
    height: clamp(27px, 8vw, 33px);
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    line-height: clamp(25px, 7.5vw, 31px);
  }

  .koe-layered-jp {
    font-size: clamp(15px, 4.9vw, 21px);
  }

  .koe-layered-jp img {
    width: 2.05em;
  }

  .koe-layered-tagline {
    font-size: clamp(16px, 4.6vw, 20px);
  }

  .koe-layered-hero-text.is-touch-mode,
  .koe-layered-hero-text.is-touch-mode *,
  .koe-layered-hero-text.is-touch-mode:hover,
  .koe-layered-hero-text.is-touch-mode:hover *,
  .koe-layered-hero-text.is-touch-mode:active,
  .koe-layered-hero-text.is-touch-mode:active *,
  .koe-layered-hero-text.is-touch-mode:focus,
  .koe-layered-hero-text.is-touch-mode:focus *,
  .koe-layered-hero-text.is-touch-mode:focus-within,
  .koe-layered-hero-text.is-touch-mode:focus-within * {
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
  }

  .koe-layered-hero-text.is-touch-mode:not(.is-active) p {
    transform: translateY(0) !important;
  }

  .koe-layered-hero-text.is-touch-mode:not(.is-active) p + p {
    transform: translateY(10px) !important;
  }

  .koe-layered-hero-text.is-touch-mode.is-active p {
    transform: translateY(-100%) !important;
    transition-delay: calc(var(--row, 0) * 80ms);
  }

  .koe-layered-hero-text.is-touch-mode.is-active p:first-child {
    transform: translateY(calc(-100% - 14px)) !important;
  }

  .elementor-9 .elementor-element.elementor-element-7b8a5b4 {
    top: 24px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .elementor-9 .elementor-element.elementor-element-0d5dff0 {
    position: fixed !important;
    top: 18px !important;
    right: 8px !important;
    width: calc(100% - 124px) !important;
    padding-right: 4px !important;
    z-index: 1003 !important;
  }

  .elementor-9 .elementor-element.elementor-element-dc09106 .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px;
    min-width: 104px;
    min-height: 36px;
    padding: 0 16px !important;
    border-color: rgb(0 0 0 / 0.12) !important;
    box-shadow: 0 10px 28px rgb(0 0 0 / 0.08);
    white-space: nowrap;
  }

  .elementor-9 .elementor-element.elementor-element-dc09106 .elementor-button::after {
    display: block;
    flex: 0 0 auto;
    margin-left: 0;
    transform: rotate(45deg);
  }

  .elementor-9 .elementor-element.elementor-element-dc09106 .elementor-button-content-wrapper {
    display: inline-flex !important;
    flex: 0 0 auto;
    width: auto !important;
    min-width: 0 !important;
    line-height: 1 !important;
  }

  .elementor-9 .elementor-element.elementor-element-dc09106 .elementor-button-text {
    font-size: 11px;
    letter-spacing: 0.07em;
  }

  .elementor-9 .elementor-element.elementor-element-daa1340 .elementor-menu-toggle {
    position: relative;
    width: 32px;
    height: 28px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #050505 !important;
    outline: 0;
  }

  .elementor-9 .elementor-element.elementor-element-daa1340 .elementor-menu-toggle svg {
    display: none !important;
  }

  .elementor-9 .elementor-element.elementor-element-daa1340 .elementor-menu-toggle::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(currentColor, currentColor),
      linear-gradient(currentColor, currentColor),
      linear-gradient(currentColor, currentColor);
    background-position: center 7px, center 14px, center 21px;
    background-repeat: no-repeat;
    background-size: 22px 1.3px, 22px 1.3px, 22px 1.3px;
    opacity: 0.78;
  }
}
