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

html {
  background: #1c1c1c;
  color: #fff;
  scroll-behavior: smooth;
}
@media (max-width: 768px) {
  html {
    overflow-x: clip;
  }
}

body {
  min-width: 320px;
  margin: 0;
  background: #1c1c1c;
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-weight: 400;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

body,
h1,
h2,
h3,
p {
  margin: 0;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

img,
svg {
  display: block;
  max-width: 100%;
}

:focus-visible {
  outline: min(0.1388888889vw, 2px) solid rgba(255, 255, 255, 0.9);
  outline-offset: min(0.2777777778vw, 4px);
}
@media (max-width: 768px) {
  :focus-visible {
    outline-width: 0.125rem;
    outline-offset: 0.25rem;
  }
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: min(1.1111111111vw, 16px);
  left: min(1.1111111111vw, 16px);
  padding: min(0.6944444444vw, 10px) min(0.9722222222vw, 14px);
  border-radius: min(0.5555555556vw, 8px);
  background: #fff;
  color: #040404;
  font-size: min(0.8333333333vw, 12px);
  line-height: 1;
  transform: translateY(-200%);
  transition: transform 0.2s ease;
}
.skip-link:focus-visible {
  transform: translateY(0);
}
@media (max-width: 768px) {
  .skip-link {
    top: 1rem;
    left: 1rem;
    padding: 0.625rem 0.875rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
  }
}

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

.js-fadein {
  opacity: 1;
  transition: opacity 1.08s cubic-bezier(0.16, 1, 0.3, 1), transform 1.28s cubic-bezier(0.16, 1, 0.3, 1), clip-path 1.32s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--reveal-delay, 0s);
  will-change: opacity, transform, clip-path;
}

.is-reveal-ready .js-fadein {
  opacity: 0;
  transform: translate3d(0, min(1.6666666667vw, 24px), 0);
  clip-path: inset(0 0 22% 0);
}
@media (max-width: 768px) {
  .is-reveal-ready .js-fadein {
    transform: translate3d(0, 1.375rem, 0);
  }
}

.is-reveal-ready .js-fadein--text {
  transform: translate3d(0, min(1.25vw, 18px), 0);
  clip-path: inset(0 0 100% 0);
}
@media (max-width: 768px) {
  .is-reveal-ready .js-fadein--text {
    transform: translate3d(0, 1.125rem, 0);
  }
}

.js-text-reveal {
  transform: none;
  clip-path: none;
}
.js-text-reveal.is-text-reveal-inline {
  display: inline-block;
}

.js-text-reveal .text-reveal__line {
  display: block;
}

.js-text-reveal .text-reveal__line-inner {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
  transform-origin: left bottom;
}

.js-text-reveal .text-reveal__token {
  display: inline;
}

.js-text-reveal .text-reveal__token--nowrap {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
}

.is-reveal-ready .js-text-reveal {
  transform: none;
  clip-path: none;
  transition: none;
  will-change: auto;
}

.is-reveal-ready .js-text-reveal .text-reveal__line-inner {
  opacity: 0;
  clip-path: inset(-10% -10% 110% -10%);
  transform: translate3d(0, 80%, 0) scale(0.96);
  transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), clip-path 0.85s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--reveal-delay, 0s) + var(--line-reveal-delay, 0s));
  will-change: opacity, transform, clip-path;
}

.is-reveal-ready .js-fadein.is-reveal-urgent {
  transition-delay: 0s;
}

.is-reveal-ready .js-text-reveal.is-reveal-urgent .text-reveal__line-inner {
  transition-delay: 0s;
}

.is-reveal-ready .js-text-reveal.is-visible .text-reveal__line-inner {
  opacity: 1;
  clip-path: inset(-10% -10% -10% -10%);
  transform: translate3d(0, 0, 0) scale(1);
}

.js-text-reveal.is-text-reveal-measuring,
.js-text-reveal.is-text-reveal-resizing .text-reveal__line-inner {
  transition: none !important;
}

.js-text-reveal.is-text-reveal-measuring {
  opacity: 0 !important;
}

.is-reveal-ready .js-fadein--media {
  transform: translate3d(0, min(2.3611111111vw, 34px), 0) scale(1.035);
  clip-path: inset(0 0 100% 0);
  transition-duration: 1.16s, 1.44s, 1.44s;
}
@media (max-width: 768px) {
  .is-reveal-ready .js-fadein--media {
    transform: translate3d(0, 1.75rem, 0) scale(1.035);
  }
}

.is-reveal-ready .js-fadein.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  clip-path: none;
}

.is-reveal-ready .js-text-reveal.is-visible {
  transform: none;
  clip-path: none;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .skip-link {
    transition: none;
  }
  .js-fadein {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    transition: none !important;
  }
  .text-reveal__line-inner {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    transition: none !important;
  }
}
.intro-loader {
  position: fixed;
  z-index: 900;
  inset: 0;
  display: none;
  place-items: center;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  background: #000;
  color: #fff;
  pointer-events: auto;
  isolation: isolate;
}

html.has-intro-loader,
html.has-intro-loader body {
  overflow: hidden;
  overscroll-behavior: none;
}

html.has-intro-loader .intro-loader {
  display: grid;
}

.intro-loader__canvas {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  image-rendering: pixelated;
}

.intro-loader__counter {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: baseline;
  overflow: hidden;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.625rem;
  font-variant-numeric: tabular-nums;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  text-transform: uppercase;
  clip-path: inset(0 0 0 0);
  transform: translate3d(0, 0, 0);
  transition: transform 0.45s cubic-bezier(0.7, 0, 0.84, 0), clip-path 0.45s cubic-bezier(0.7, 0, 0.84, 0);
  will-change: transform, clip-path;
}

.intro-loader__counter.is-leaving {
  clip-path: inset(100% 0 0 0);
  transform: translate3d(0, -100%, 0);
}

.intro-loader.is-transitioning {
  background: transparent;
  transition: background-color 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

.intro-loader.is-reduced-motion-leaving {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.24s ease-out;
}

html.has-intro-loader:not(.is-intro-revealing) .site-header {
  opacity: 0;
  transform: translate3d(0, -1rem, 0);
}

html.has-intro-loader:not(.is-intro-revealing) .top-fv__title-line img,
html.has-intro-loader:not(.is-intro-revealing) .top-fv__title-text > span {
  opacity: 0;
  clip-path: inset(0 0 100% 0);
  transform: translate3d(0, 82%, 0) scale(0.96);
}

html.is-intro-revealing .site-header {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.05s, transform 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.05s;
}

html.is-intro-revealing .top-fv__title-line img,
html.is-intro-revealing .top-fv__title-text > span {
  opacity: 1;
  clip-path: inset(0 0 0 0);
  transform: translate3d(0, 0, 0) scale(1);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.25s, transform 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.25s, clip-path 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.25s;
  will-change: opacity, transform, clip-path;
}

html.is-intro-revealing .top-fv__title-line--02 img,
html.is-intro-revealing .top-fv__title-text > span:nth-child(2) {
  transition-delay: 0.385s;
}

@media (prefers-reduced-motion: reduce) {
  .intro-loader__canvas {
    display: none;
  }
  .intro-loader__counter,
  html.is-intro-revealing .site-header,
  html.is-intro-revealing .top-fv__title-line img,
  html.is-intro-revealing .top-fv__title-text > span {
    transition: none;
  }
}
.page-transition {
  position: fixed;
  z-index: 1100;
  inset: 0;
  display: grid;
  visibility: hidden;
  width: 100%;
  height: 100dvh;
  place-items: center;
  overflow: hidden;
  color: #fff;
  pointer-events: none;
  isolation: isolate;
}

.page-transition.is-active {
  visibility: visible;
  pointer-events: auto;
}

.page-transition.is-fallback {
  background: #000;
}

.page-transition__canvas {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  image-rendering: pixelated;
}

.page-transition__counter {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: baseline;
  opacity: 0;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.625rem;
  font-variant-numeric: tabular-nums;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.page-transition.is-counter-visible .page-transition__counter {
  opacity: 1;
}

html.has-page-transition-entry,
html.has-page-transition-entry body,
html.is-page-transition-active,
html.is-page-transition-active body {
  overflow: hidden;
  overscroll-behavior: none;
}

html.has-page-transition-entry,
html.has-page-transition-entry body {
  background: #000;
}

html.has-page-transition-entry body > :not(.page-transition):not(script):not(style) {
  visibility: hidden;
}

html.has-page-transition-entry body::before {
  content: "";
  position: fixed;
  z-index: 1098;
  inset: 0;
  display: block;
  width: 100%;
  height: 100dvh;
  background: #000;
  pointer-events: auto;
}

html.has-page-transition-entry.has-page-transition-counter body::after {
  content: "100%";
  position: fixed;
  z-index: 1099;
  top: 50%;
  left: 50%;
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.625rem;
  font-variant-numeric: tabular-nums;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .page-transition {
    display: none;
  }
}
.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: min(1.6666666667vw, 24px);
  pointer-events: none;
}
.site-header::before {
  content: "";
  position: fixed;
  z-index: 0;
  inset: 0;
  background: rgba(4, 4, 4, 0.12);
  opacity: 0;
  pointer-events: none;
  -webkit-backdrop-filter: blur(min(0.2777777778vw, 4px));
  backdrop-filter: blur(min(0.2777777778vw, 4px));
  transition: opacity 0.3s ease;
}
.site-header.is-menu-open::before {
  opacity: 1;
  pointer-events: auto;
  transition-duration: 0.18s;
}
@media (max-width: 768px) {
  .site-header {
    padding: 1rem 1rem 0;
  }
  .site-header::before {
    -webkit-backdrop-filter: blur(0.25rem);
    backdrop-filter: blur(0.25rem);
  }
}
.site-header__nav {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: flex-start;
  width: min(91.6666666667vw, 1320px);
  margin-inline: auto;
  pointer-events: auto;
}
@media (max-width: 768px) {
  .site-header__nav {
    grid-template-columns: 1fr;
    width: 100%;
  }
}
.site-header__page {
  display: flex;
  gap: min(0.2777777778vw, 4px);
  align-items: center;
  justify-self: start;
  height: min(2.3611111111vw, 34px);
  color: #fff;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .site-header__page {
    display: none;
  }
}
.site-header__page a {
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .site-header__page a:hover {
    opacity: 0.72;
  }
}
.site-header__page-mark, .site-header__page-text, .site-header__brand-bar, .site-header__contents {
  background: rgba(4, 4, 4, 0.7);
  -webkit-backdrop-filter: blur(min(1.0416666667vw, 15px));
  backdrop-filter: blur(min(1.0416666667vw, 15px));
}
.site-header__page-mark, .site-header__page-text {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-radius: min(0.5555555556vw, 8px);
}
.site-header__page-mark {
  min-width: min(1.8055555556vw, 26px);
  padding: min(0.6944444444vw, 10px) min(0.5555555556vw, 8px);
}
.site-header__page-text {
  padding: min(0.6944444444vw, 10px);
}
.site-header__brand-menu {
  position: relative;
  justify-self: center;
  width: min(32.5vw, 468px);
  border-radius: min(0.5555555556vw, 8px);
  color: #fff;
  pointer-events: auto;
  transition: background 0.34s ease, backdrop-filter 0.34s ease, -webkit-backdrop-filter 0.34s ease;
}
.site-header__brand-menu.is-open {
  overflow: hidden;
  background: rgba(4, 4, 4, 0.7);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition-duration: 0.22s, 0.22s, 0.22s;
}
.site-header__brand-menu.is-open .site-header__brand-bar {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition-duration: 0.22s, 0.22s, 0.22s;
}
@media (max-width: 768px) {
  .site-header__brand-menu {
    width: 100%;
    border-radius: 0.5rem;
  }
  .site-header__brand-menu.is-open {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
.site-header__brand-bar {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  width: 100%;
  height: min(3.4722222222vw, 50px);
  padding: 0 min(1.3888888889vw, 20px);
  border-radius: min(0.5555555556vw, 8px);
  color: #fff;
  font-size: min(0.8333333333vw, 12px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  transition: background 0.34s ease, backdrop-filter 0.34s ease, -webkit-backdrop-filter 0.34s ease;
}
@media (max-width: 768px) {
  .site-header__brand-bar {
    width: 100%;
    height: 3.125rem;
    padding: 0 1.25rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    -webkit-backdrop-filter: blur(0.9375rem);
    backdrop-filter: blur(0.9375rem);
  }
}
.site-header__home {
  position: relative;
  display: grid;
  z-index: 1;
  grid-area: 1/1;
  grid-template-columns: min(2.2222222222vw, 32px) 1fr min(2.2222222222vw, 32px);
  align-items: center;
  width: 100%;
  height: 100%;
  color: inherit;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .site-header__home {
    grid-template-columns: 2rem 1fr 2rem;
  }
}
@media (hover: hover) {
  .site-header__home:hover {
    opacity: 0.72;
  }
}
.site-header__mark {
  display: block;
  grid-column: 1;
  justify-self: start;
  width: min(2.2222222222vw, 32px);
  height: min(1.1111111111vw, 16px);
  background: url("../img/site-header-mark.svg") center/100% 100% no-repeat;
}
.site-header__mark span {
  display: none;
}
@media (max-width: 768px) {
  .site-header__mark {
    width: 2rem;
    height: 1rem;
  }
}
.site-header__brand-text {
  grid-column: 2;
  justify-self: center;
  white-space: nowrap;
}
.site-header__menu-button {
  position: relative;
  z-index: 2;
  display: flex;
  grid-area: 1/1;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  width: min(3.0555555556vw, 44px);
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
@media (max-width: 768px) {
  .site-header__menu-button {
    width: 2.75rem;
  }
}
.site-header__menu-icon {
  display: flex;
  flex-direction: column;
  gap: min(0.3472222222vw, 5px);
  width: min(1.3888888889vw, 20px);
  height: min(1.1111111111vw, 16px);
}
.site-header__menu-icon span {
  display: block;
  width: 100%;
  height: min(0.1388888889vw, 2px);
  background: #fff;
  transition: opacity 0.24s ease, transform 0.32s cubic-bezier(0.19, 1, 0.22, 1);
}
.site-header__brand-menu.is-open .site-header__menu-icon span {
  transition-duration: 0.18s, 0.22s;
}
.site-header__brand-menu.is-open .site-header__menu-icon span:nth-child(1) {
  transform: translateY(min(0.4861111111vw, 7px));
}
.site-header__brand-menu.is-open .site-header__menu-icon span:nth-child(2) {
  opacity: 0;
}
.site-header__brand-menu.is-open .site-header__menu-icon span:nth-child(3) {
  transform: translateY(max(-0.4861111111vw, -7px));
}
@media (max-width: 768px) {
  .site-header__menu-icon {
    gap: 0.3125rem;
    width: 1.25rem;
    height: 1rem;
  }
  .site-header__menu-icon span {
    height: 0.125rem;
  }
  .site-header__brand-menu.is-open .site-header__menu-icon span:nth-child(1) {
    transform: translateY(0.4375rem);
  }
  .site-header__brand-menu.is-open .site-header__menu-icon span:nth-child(3) {
    transform: translateY(-0.4375rem);
  }
}
.site-header__menu-panel {
  max-height: 0;
  overflow: hidden;
  border-top: 1px solid transparent;
  transform: translateY(max(-0.5555555556vw, -8px)) scaleY(0.98);
  transform-origin: top center;
  transition: max-height 0.68s cubic-bezier(0.19, 1, 0.22, 1), transform 0.68s cubic-bezier(0.19, 1, 0.22, 1), border-color 0.28s ease;
}
.site-header__brand-menu.is-open .site-header__menu-panel {
  max-height: min(27.0833333333vw, 390px);
  border-color: #494949;
  transform: translateY(0) scaleY(1);
  transition-duration: 0.42s, 0.42s, 0.18s;
}
@media (max-width: 768px) {
  .site-header__menu-panel {
    transform: translateY(-0.5rem) scaleY(0.98);
  }
  .site-header__brand-menu.is-open .site-header__menu-panel {
    max-height: 24.375rem;
    transform: translateY(0) scaleY(1);
  }
}
.site-header__menu-panel[hidden] {
  display: none;
}
.site-header__menu-list li {
  margin: 0;
  overflow: hidden;
}
.site-header__menu-list li:nth-child(1) {
  --menu-index: 1;
}
.site-header__menu-list li:nth-child(2) {
  --menu-index: 2;
}
.site-header__menu-list li:nth-child(3) {
  --menu-index: 3;
}
.site-header__menu-list li:nth-child(4) {
  --menu-index: 4;
}
.site-header__menu-list li:nth-child(5) {
  --menu-index: 5;
}
.site-header__menu-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: min(3.4722222222vw, 50px);
  padding: 0 min(1.3888888889vw, 20px);
  border-bottom: 1px solid #494949;
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1;
  letter-spacing: 0;
  overflow: hidden;
  transition: color 0.3s ease, background 0.3s ease;
}
.site-header__menu-link-text {
  display: inline-grid;
  grid-template-areas: "text";
  overflow: hidden;
  text-transform: uppercase;
  will-change: opacity, transform;
  opacity: 0;
  transform: translateY(110%);
  transition: opacity 0.28s ease, transform 0.54s cubic-bezier(0.19, 1, 0.22, 1);
}
.site-header__brand-menu.is-open .site-header__menu-link-text {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 0.2s, 0.38s;
  transition-delay: calc(0.06s + var(--menu-index, 1) * 0.035s), calc(0.06s + var(--menu-index, 1) * 0.035s);
}
.site-header__menu-link-text-inner {
  grid-area: text;
  display: block;
  color: currentColor;
  will-change: transform;
  transition: transform 0.46s cubic-bezier(0.19, 1, 0.22, 1);
  pointer-events: none;
}
.site-header__menu-link-text-inner--normal {
  transform: translateY(0);
}
.site-header__menu-link-text-inner--hover {
  transform: translateY(110%);
}
@media (hover: hover) {
  .site-header__menu-link:hover {
    color: rgba(255, 255, 255, 0.72);
  }
}
@media (max-width: 768px) {
  .site-header__menu-link {
    height: 3.125rem;
    padding: 0 1.25rem;
    font-size: 1rem;
  }
}
@media (max-width: 768px) {
  .site-header__menu-link-text {
    transform: translateY(110%);
  }
}
.site-header__menu-link:focus-visible .site-header__menu-link-text-inner--normal {
  transform: translateY(-110%);
}
.site-header__menu-link:focus-visible .site-header__menu-link-text-inner--hover {
  transform: translateY(0);
}
@media (hover: hover) {
  .site-header__menu-link:hover .site-header__menu-link-text-inner--normal {
    transform: translateY(-110%);
  }
  .site-header__menu-link:hover .site-header__menu-link-text-inner--hover {
    transform: translateY(0);
  }
}
.site-header__menu-contact {
  --menu-index: 6;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: min(3.4722222222vw, 50px);
  margin: min(1.3888888889vw, 20px);
  border-radius: min(0.2777777778vw, 4px);
  background: #fff;
  color: #040404;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(1.25vw, 18px);
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
  overflow: hidden;
  opacity: 0;
  transform: translateY(min(1.25vw, 18px));
  transition: opacity 0.34s ease, transform 0.58s cubic-bezier(0.19, 1, 0.22, 1), color 0.3s ease, background 0.3s ease;
}
.site-header__brand-menu.is-open .site-header__menu-contact {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 0.26s, 0.4s, 0.3s, 0.3s;
  transition-delay: calc(0.04s + var(--menu-index) * 0.03s), calc(0.04s + var(--menu-index) * 0.03s), 0s, 0s;
}
@media (hover: hover) {
  .site-header__menu-contact:hover, .site-header__menu-contact:focus-visible {
    background: rgba(255, 255, 255, 0.82);
  }
}
@media (max-width: 768px) {
  .site-header__menu-contact {
    height: 3.125rem;
    margin: 1.25rem;
    border-radius: 0.25rem;
    font-size: 1.125rem;
    transform: translateY(1.125rem);
  }
  .site-header__brand-menu.is-open .site-header__menu-contact {
    transform: translateY(0);
  }
}
.site-header__menu-contact-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: currentColor;
  will-change: transform;
  transition: transform 0.46s cubic-bezier(0.19, 1, 0.22, 1);
  pointer-events: none;
}
.site-header__menu-contact-text--normal {
  transform: translateY(0);
}
.site-header__menu-contact-text--hover {
  transform: translateY(110%);
}
.site-header__menu-contact:focus-visible .site-header__menu-contact-text--normal {
  transform: translateY(-110%);
}
.site-header__menu-contact:focus-visible .site-header__menu-contact-text--hover {
  transform: translateY(0);
}
@media (hover: hover) {
  .site-header__menu-contact:hover .site-header__menu-contact-text--normal {
    transform: translateY(-110%);
  }
  .site-header__menu-contact:hover .site-header__menu-contact-text--hover {
    transform: translateY(0);
  }
}
.site-header__contents {
  --animated-button-hover-bg: #fff;
  --animated-button-hover-color: #040404;
  display: flex;
  align-items: center;
  justify-content: space-between;
  justify-self: end;
  width: min(11.1111111111vw, 160px);
  height: min(3.4722222222vw, 50px);
  padding: 0 min(1.3888888889vw, 20px);
  border-radius: min(0.5555555556vw, 8px);
  color: #fff;
  font-size: min(0.8333333333vw, 12px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  transition: background 0.34s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease;
}
.site-header__contents.animated-button {
  background: rgba(4, 4, 4, 0.7);
}
.site-header__contents.animated-button .animated-button__backdrop {
  z-index: 0;
  background: var(--animated-button-hover-bg);
}
.site-header__contents.animated-button .animated-button__inner,
.site-header__contents.animated-button .animated-button__hover-inner {
  justify-content: space-between;
}
.site-header__contents.animated-button .animated-button__inner {
  z-index: 1;
}
.site-header__contents.animated-button .animated-button__hover-inner {
  z-index: 2;
  color: var(--animated-button-hover-color);
}
.site-header__contents.animated-button .animated-button__arrow {
  line-height: 0;
}
.site-header__contents.animated-button .animated-button__hover-inner .site-header__contents-dot {
  background: #040404;
}
@media (max-width: 768px) {
  .site-header__contents {
    display: none;
  }
}
.site-header__contents-dot {
  width: min(0.4166666667vw, 6px);
  height: min(0.4166666667vw, 6px);
  background: #fff;
  transition: background 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
  .site-header__brand-menu, .site-header__brand-bar, .site-header::before, .site-header__menu-icon span, .site-header__menu-panel, .site-header__menu-link, .site-header__menu-link-text, .site-header__menu-link-text-inner, .site-header__menu-contact, .site-header__menu-contact-text {
    transition: none;
  }
  .site-header__menu-panel, .site-header__menu-link, .site-header__menu-link-text, .site-header__menu-contact {
    transform: none;
  }
}
.site-footer {
  background: #1c1c1c;
  color: #fff;
}
@media (max-width: 768px) {
  .site-footer {
    padding-top: 7.5rem;
  }
}
@media (max-width: 768px) {
  .has-sp-footer-preceding-space .site-footer {
    padding-top: 7.5rem;
  }
}
.company-page .site-footer {
  padding-top: min(13.8888888889vw, 200px);
}
@media (max-width: 768px) {
  .company-page .site-footer {
    padding-top: 7.5rem;
  }
}
.contact-page-body .site-footer, .thanks-page-body .site-footer {
  padding-top: min(13.8888888889vw, 200px);
}
@media (max-width: 768px) {
  .contact-page-body .site-footer, .thanks-page-body .site-footer {
    padding-top: 7.5rem;
  }
}
.site-footer__rule {
  width: 100%;
  height: min(4.1666666667vw, 60px);
}
@media (max-width: 768px) {
  .site-footer__rule {
    height: 0;
  }
}
.site-footer__inner {
  width: min(93.0555555556vw, 1340px);
  margin-inline: auto;
  padding: min(0.6944444444vw, 10px);
}
@media (max-width: 768px) {
  .site-footer__inner {
    width: calc(100vw - 2.5rem);
    max-width: 100%;
    padding: 0 0 1.5rem;
  }
}
.site-footer__content {
  padding-bottom: min(1.6666666667vw, 24px);
}
@media (max-width: 768px) {
  .site-footer__content {
    padding-bottom: 0;
  }
}
.site-footer__nav-area {
  display: grid;
  grid-template-columns: min(45.1388888889vw, 650px) min(16.875vw, 243px) min(8.8194444444vw, 127px) min(6.7361111111vw, 97px) min(14.0972222222vw, 203px);
  min-height: min(37.6388888889vw, 542px);
}
@media (max-width: 768px) {
  .site-footer__nav-area {
    display: block;
    min-height: 0;
  }
}
.site-footer__index {
  grid-column: 1;
}
.site-footer__label {
  color: #f9f4eb;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .site-footer__label {
    font-size: 0.75rem;
  }
}
.site-footer__index-list {
  display: flex;
  flex-direction: column;
  gap: min(1.1111111111vw, 16px);
  margin-top: min(1.9444444444vw, 28px);
}
.site-footer__index-list li {
  border-bottom: 1px dashed #494949;
}
.site-footer__index-list a {
  display: flex;
  align-items: center;
  padding-bottom: min(1.1111111111vw, 16px);
  color: #fff;
  font-family: "Archivo", Arial, sans-serif;
  font-size: min(3.75vw, 54px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  transform: translateX(0);
  transition: color 0.3s ease, opacity 0.3s ease, transform 0.36s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
  .site-footer__index-list a:hover,
  .site-footer__index-list a.is-footer-link-hovered {
    color: #f9f4eb;
    opacity: 1;
    transform: translateX(min(0.5555555556vw, 8px));
  }
}
@media (max-width: 768px) {
  .site-footer__index-list {
    gap: 0.875rem;
    margin-top: 1.5rem;
  }
  .site-footer__index-list a {
    padding-bottom: 0.875rem;
    font-size: 2.25rem;
  }
}
.site-footer__links {
  display: flex;
  flex-direction: column;
  gap: min(5.5555555556vw, 80px);
  grid-column: 3;
}
@media (max-width: 768px) {
  .site-footer__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem 1.5rem;
    margin-top: 4.5rem;
  }
}
.site-footer__link-list {
  display: flex;
  flex-direction: column;
  gap: min(1.25vw, 18px);
  margin-top: min(1.9444444444vw, 28px);
  color: #fff;
  font-family: "Archivo", Arial, sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1;
  letter-spacing: 0;
}
.site-footer__link-list a {
  position: relative;
  display: inline-block;
  width: max-content;
  max-width: 100%;
  transition: color 0.3s ease, opacity 0.3s ease;
}
.site-footer__link-list a::after {
  position: absolute;
  right: 0;
  bottom: max(-0.3472222222vw, -5px);
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.36s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
  .site-footer__link-list a:hover,
  .site-footer__link-list a.is-footer-link-hovered {
    color: #f9f4eb;
    opacity: 1;
  }
  .site-footer__link-list a:hover::after,
  .site-footer__link-list a.is-footer-link-hovered::after {
    transform: scaleX(1);
    transform-origin: left center;
  }
}
@media (max-width: 768px) {
  .site-footer__link-list {
    gap: 1.125rem;
    margin-top: 1.5rem;
    font-size: 0.9375rem;
    line-height: 1.2;
  }
  .site-footer__link-list a::after {
    bottom: -0.3125rem;
  }
}
.site-footer__company-column {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  grid-column: 5;
  min-height: min(37.6388888889vw, 542px);
}
@media (max-width: 768px) {
  .site-footer__company-column {
    min-height: 0;
    margin-top: 3.5rem;
  }
}
.site-footer__company-name {
  margin-top: min(1.9444444444vw, 28px);
  padding-bottom: min(1.3888888889vw, 20px);
  border-bottom: 1px solid #494949;
  color: #fff;
  font-family: "Archivo", Arial, sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1.25;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .site-footer__company-name {
    margin-top: 1.5rem;
    padding-bottom: 1.125rem;
    font-size: 0.9375rem;
  }
}
.site-footer__address {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: min(1.3888888889vw, 20px);
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0;
}
.site-footer__address span {
  display: block;
}
.site-footer__address span:nth-child(3) {
  margin-top: min(0.8333333333vw, 12px);
}
@media (max-width: 768px) {
  .site-footer__address {
    gap: 0;
    margin-top: 1.125rem;
    font-size: 0.9375rem;
  }
  .site-footer__address span:nth-child(3) {
    margin-top: 0.75rem;
  }
}
.site-footer__back {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-bottom: min(1.1111111111vw, 16px);
  border-bottom: 1px solid #494949;
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  transition: color 0.3s ease, opacity 0.3s ease;
}
.site-footer__back img {
  width: min(0.5556944444vw, 8.002px);
  height: min(0.5470138889vw, 7.877px);
  transform: rotate(-45deg);
  transition: transform 0.36s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
  .site-footer__back:hover, .site-footer__back.is-footer-link-hovered {
    color: #f9f4eb;
    opacity: 1;
  }
  .site-footer__back:hover img, .site-footer__back.is-footer-link-hovered img {
    transform: translate3d(min(0.2083333333vw, 3px), max(-0.2083333333vw, -3px), 0) rotate(-45deg);
  }
}
@media (max-width: 768px) {
  .site-footer__back {
    min-height: 2.75rem;
    margin-top: 3.5rem;
    padding-bottom: 0.875rem;
    font-size: 0.8125rem;
  }
  .site-footer__back img {
    width: 0.5rem;
    height: 0.5rem;
  }
}
.site-footer__visual {
  position: relative;
  width: min(91.6666666667vw, 1320px);
  height: min(23.6111111111vw, 340px);
  margin-top: min(4.1666666667vw, 60px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: #1c1c1c;
}
.site-footer__visual img {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.45;
  mix-blend-mode: screen;
  transition: opacity 0.6s ease;
}
.site-footer__visual.is-mesh-ready img {
  opacity: 0;
}
.site-footer__visual .mesh-line-canvas {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease;
}
.site-footer__visual.is-mesh-ready .mesh-line-canvas {
  opacity: 1;
}
@media (max-width: 768px) {
  .site-footer__visual {
    width: 100%;
    height: auto;
    margin-top: 2.5rem;
    aspect-ratio: 1320/340;
  }
}
.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: min(1.6666666667vw, 24px);
  color: #fff;
  font-family: "Archivo", Arial, sans-serif;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.5rem;
    font-size: 0.6875rem;
    white-space: nowrap;
  }
}
.site-footer__language {
  display: flex;
  gap: min(5.2777777778vw, 76px);
  color: #f9f4eb;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
.site-footer__language-link, .site-footer__language-separator {
  transition: opacity 0.3s ease;
}
.site-footer__language-link {
  position: relative;
  display: inline-block;
}
.site-footer__language-link::after {
  position: absolute;
  right: 0;
  bottom: max(-0.3472222222vw, -5px);
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.36s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-footer__language-link:not([aria-current=page]), .site-footer__language-separator {
  opacity: 0.5;
}
@media (hover: hover) {
  .site-footer__language-link:hover, .site-footer__language-link.is-footer-link-hovered {
    opacity: 1;
  }
  .site-footer__language-link:hover::after, .site-footer__language-link.is-footer-link-hovered::after {
    transform: scaleX(1);
    transform-origin: left center;
  }
}
@media (max-width: 768px) {
  .site-footer__language {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    width: auto;
    margin-top: 0;
  }
  .site-footer__language-label {
    display: none;
  }
  .site-footer__language > span:last-child {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0;
    text-align: right;
  }
  .site-footer__language-link {
    font-size: 0;
  }
  .site-footer__language-link::before {
    font-size: 0.6875rem;
    content: attr(data-short-label);
  }
  .site-footer__language-link::after {
    bottom: -0.3125rem;
  }
}
.site-footer .footer-link-hover__text {
  display: inline-grid;
  grid-template-areas: "text";
  align-items: center;
  min-width: 0;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
}
.site-footer .footer-link-hover__target,
.site-footer .footer-link-hover__measure {
  grid-area: text;
  display: block;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: pre;
}
.site-footer .footer-link-hover__measure {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.top-fv {
  position: relative;
  width: 100%;
  height: 100svh;
  overflow: visible;
  background: #1c1c1c;
}
@media (max-width: 768px) {
  .top-fv {
    min-height: 40rem;
  }
}
.top-fv__bg {
  position: fixed;
  z-index: 0;
  inset: 0;
  height: 100svh;
  background: #1c1c1c;
  opacity: calc(1 - var(--mesh-exit-progress, 0));
  pointer-events: none;
  transform: translate3d(0, calc(var(--mesh-exit-progress, 0) * -4svh), 0) scale(calc(1 + var(--mesh-exit-progress, 0) * 0.08));
  transform-origin: center;
  transition: opacity 0.22s ease-out;
  will-change: opacity, transform, clip-path;
}
@media (max-width: 768px) {
  .top-fv__bg {
    transform: translate3d(0, calc(var(--mesh-exit-progress, 0) * -4svh), 0) scale(calc(1 + var(--mesh-exit-progress, 0) * 0.08));
  }
}
.top-fv__bg img {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: opacity 0.6s ease;
}
.top-fv__bg.is-mesh-ready img {
  opacity: 0;
}
.top-fv__bg .mesh-line-canvas {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  clip-path: inset(0 0 calc(var(--mesh-exit-progress, 0) * 100%) 0);
  transition: opacity 0.6s ease;
  transform: translate3d(0, 0, 0);
  will-change: opacity, transform, clip-path;
}
.top-fv__bg.is-mesh-ready .mesh-line-canvas {
  opacity: 1;
}
.top-fv__inner {
  position: relative;
  z-index: 1;
  height: 100%;
}
.top-fv__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  height: 100%;
  padding-top: 0;
  padding-bottom: min(3.3333333333vw, 48px);
  padding-right: min(2.0833333333vw, 30px);
  padding-left: min(2.0833333333vw, 30px);
  font-size: 0;
  line-height: 1;
}
@media (max-width: 768px) {
  .top-fv__title {
    align-items: stretch;
    justify-content: flex-end;
    padding: 0 1.25rem 2.875rem;
  }
}
.top-fv__title-line {
  display: block;
  overflow: hidden;
}
.top-fv__title-line img {
  width: 100%;
  height: auto;
}
.top-fv__title-line--01 {
  width: min(75.1180555556vw, 1081.7px);
  aspect-ratio: 1081.7/104.856;
}
.top-fv__title-line--02 {
  width: min(78.75vw, 1134px);
  margin-top: min(2.7844444444vw, 40.096px);
  margin-left: auto;
  aspect-ratio: 1144.168/103.254;
}
@media (max-width: 768px) {
  .top-fv__title-line {
    display: block;
    width: 100%;
  }
  .top-fv__title-line--02 {
    margin-top: 0.625rem;
    margin-left: 0;
  }
}
.top-fv__title-text {
  display: none;
}
@media (max-width: 768px) {
  .top-fv__title-text {
    display: none;
  }
}

@keyframes top-showcase-panel-enter {
  from {
    opacity: 0;
    transform: translateY(min(0.6944444444vw, 10px)) scale(0.998);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes top-showcase-trusted-scroll {
  to {
    transform: translate3d(calc(-50% - 0.375rem), 0, 0);
  }
}
.top-showcase {
  position: relative;
  z-index: 1;
  padding-top: min(16.6666666667vw, 240px);
  overflow: hidden;
  color: #fff;
}
@media (max-width: 768px) {
  .top-showcase {
    padding-top: 7.5rem;
  }
}
.top-showcase__inner {
  width: min(91.6666666667vw, 1320px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-showcase__inner {
    display: flex;
    flex-direction: column;
    width: calc(100% - 2.5rem);
  }
}
.top-showcase__intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: min(15vw, 216px);
}
@media (max-width: 768px) {
  .top-showcase__intro {
    display: contents;
    height: auto;
  }
}
.top-showcase__intro-copy {
  width: min(34.3055555556vw, 494px);
}
@media (max-width: 768px) {
  .top-showcase__intro-copy {
    width: 100%;
  }
}
.top-showcase__title {
  width: min(34.3055555556vw, 494px);
  height: min(4.1666666667vw, 60px);
  font-size: 0;
  line-height: 1;
}
.top-showcase__title img {
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .top-showcase__title {
    order: 1;
    width: 85%;
    height: auto;
    aspect-ratio: 494/60;
  }
}
.top-showcase__description {
  width: min(33.2638888889vw, 479px);
  margin-top: min(4.1666666667vw, 60px);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 2;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .top-showcase__description {
    width: 100%;
    margin-top: 2.5rem;
    font-size: 0.9375rem;
    line-height: 2;
  }
  .top-showcase__description br {
    display: none;
  }
}
.top-showcase__more {
  display: flex;
  gap: min(1.3888888889vw, 20px);
  align-items: center;
  justify-content: center;
  width: min(10.4166666667vw, 150px);
  height: min(3.4722222222vw, 50px);
  border: 1px solid #494949;
  border-radius: min(0.2777777778vw, 4px);
  background: #040404;
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
}
.top-showcase__more img {
  width: min(0.5555555556vw, 8px);
  height: min(1.1805555556vw, 17px);
}
@media (max-width: 768px) {
  .top-showcase__more {
    order: 3;
    gap: 1.25rem;
    width: 9.375rem;
    height: 3.125rem;
    margin-top: 2rem;
    border-radius: 0.25rem;
    font-size: 0.8125rem;
  }
  .top-showcase__more img {
    width: 0.5rem;
    height: 1.0625rem;
  }
}
.top-showcase__demo {
  position: relative;
  width: 100%;
  height: min(52.7777777778vw, 760px);
  margin-top: min(2.7777777778vw, 40px);
  overflow: hidden;
  border-radius: min(1.6666666667vw, 24px);
  background: #e9e9e6;
  color: #040404;
}
@media (max-width: 768px) {
  .top-showcase__demo {
    order: 2;
    display: flex;
    flex-direction: column;
    height: auto;
    margin-top: 3.75rem;
    padding: 2rem 1.25rem 1.5rem;
    border-radius: 1rem;
  }
}
.top-showcase__demo-title {
  position: absolute;
  top: min(4.1666666667vw, 60px);
  left: 50%;
  width: min(16.25vw, 234px);
  text-align: center;
  transform: translateX(-50%);
}
.top-showcase__demo-title p:first-child {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.25vw, 18px);
  line-height: 2;
}
.top-showcase__demo-title p:last-child {
  margin-top: min(0.8333333333vw, 12px);
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.2;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .top-showcase__demo-title {
    position: static;
    width: 100%;
    transform: none;
  }
  .top-showcase__demo-title p:first-child {
    font-size: 1rem;
  }
  .top-showcase__demo-title p:last-child {
    margin-top: 0.5rem;
    font-size: 0.75rem;
  }
}
.top-showcase__demo-title--wide {
  width: max-content;
}
@media (max-width: 768px) {
  .top-showcase__demo-title--wide {
    width: 100%;
  }
}
.top-showcase__demo-controls {
  display: contents;
}
@media (max-width: 768px) {
  .top-showcase__demo-controls {
    order: 1;
    display: flex;
    flex: 0 0 auto;
    gap: 0.5rem;
    align-items: center;
    width: calc(100% + 2.5rem);
    min-width: 0;
    margin-left: -1.25rem;
    padding-inline: 1.25rem;
    overflow-x: auto;
    overflow-y: hidden;
    box-sizing: border-box;
    scrollbar-width: none;
    scroll-padding-inline: 1.25rem;
    scroll-snap-type: x proximity;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
  }
  .top-showcase__demo-controls::-webkit-scrollbar {
    display: none;
  }
}
.top-showcase__api {
  position: absolute;
  top: min(2.7777777778vw, 40px);
  right: min(2.7777777778vw, 40px);
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(8.8194444444vw, 127px);
  min-width: min(8.8194444444vw, 127px);
  height: min(2.7777777778vw, 40px);
  padding-inline: min(1.6666666667vw, 24px);
  border: 0;
  border-radius: 999px;
  appearance: none;
  background: #040404;
  color: #fff;
  cursor: pointer;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(0.9722222222vw, 14px);
  line-height: 2;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .top-showcase__api {
    position: static;
    order: 3;
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 2.25rem;
    margin: 0;
    padding-inline: 0.75rem;
    background: transparent;
    color: #040404;
    font-size: 1rem;
    scroll-snap-align: center;
  }
}
.top-showcase__api.animated-button {
  position: absolute;
  background: transparent;
}
.top-showcase__api.animated-button::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  border-radius: inherit;
  background: #040404;
  content: "";
  opacity: 1;
  transition: opacity 0.14s ease;
  pointer-events: none;
}
.top-showcase__api.animated-button .animated-button__backdrop {
  inset: -1px;
  border-radius: 0;
}
.top-showcase__api.animated-button.is-hovered::before {
  opacity: 0;
  transition-delay: 0.16s;
}
@media (max-width: 768px) {
  .top-showcase__api.animated-button {
    position: static;
  }
  .top-showcase__api.animated-button::before {
    display: none;
  }
}
@media (max-width: 768px) {
  .top-showcase__demo.is-api-view .top-showcase__api {
    width: auto;
    min-width: 0;
    background: #040404;
    color: #fff;
  }
}
.top-showcase__panels {
  position: absolute;
  inset: 0;
  opacity: 1;
  transform: translateY(0) scale(1);
}
@media (max-width: 768px) {
  .top-showcase__panels {
    position: relative;
    order: 2;
    inset: auto;
    height: var(--showcase-panel-height, 56.25rem);
    margin-top: 1.5rem;
    transition: height 0.35s ease;
  }
}
.top-showcase__demo.is-switching-out .top-showcase__panels {
  opacity: 0;
  transform: translateY(max(-0.4861111111vw, -7px)) scale(0.998);
  transition: opacity 0.28s cubic-bezier(0.4, 0, 0.7, 0.2), transform 0.28s cubic-bezier(0.4, 0, 0.7, 0.2);
}
@media (max-width: 768px) {
  .top-showcase__demo.is-switching-out .top-showcase__panels {
    transform: translateY(-0.375rem) scale(0.998);
  }
}
.top-showcase__demo.is-switching-in .top-showcase__panels {
  animation: top-showcase-panel-enter 0.42s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.top-showcase__demo.is-switching .top-showcase__panel, .top-showcase__demo.is-switching .top-showcase__api-view {
  transition: none;
}
.top-showcase__demo.is-switching .top-showcase__panels, .top-showcase__demo.is-switching .top-showcase__api, .top-showcase__demo.is-switching .top-showcase__modes {
  pointer-events: none;
}
.top-showcase__api-view {
  position: absolute;
  z-index: 2;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(min(0.6944444444vw, 10px));
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}
@media (max-width: 768px) {
  .top-showcase__api-view {
    inset: 0 0 auto;
    min-height: 26.875rem;
    transform: translateY(0.5rem);
  }
}
.top-showcase__demo.is-api-view .top-showcase__api-view {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.top-showcase__demo.is-api-view .top-showcase__panel {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.top-showcase__api-view-title {
  position: absolute;
  top: min(5.5555555556vw, 80px);
  left: 50%;
  width: max-content;
  color: #040404;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(1.6666666667vw, 24px);
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .top-showcase__api-view-title {
    position: static;
    width: 100%;
    font-size: 1.125rem;
    text-align: center;
    transform: none;
  }
}
.top-showcase__api-code {
  position: absolute;
  top: min(12.8472222222vw, 185px);
  left: 50%;
  width: min(51.5972222222vw, 743px);
  height: min(29.0447916667vw, 418.245px);
  overflow: hidden;
  border: 1px solid #d7d7d1;
  border-radius: min(0.8333333333vw, 12px);
  background: #f5f5f1;
  transform: translateX(-50%);
}
.top-showcase__api-code pre {
  position: absolute;
  top: min(2.7777777778vw, 40px);
  left: min(2.7777777778vw, 40px);
  max-width: calc(100% - min(5.5555555556vw, 80px));
  margin: 0;
  overflow: visible;
  color: #040404;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  font-weight: 400;
  line-height: 1.75;
  white-space: pre;
}
.top-showcase__api-code code {
  font: inherit;
}
@media (max-width: 768px) {
  .top-showcase__api-code {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: 20.625rem;
    margin: 2.5rem 0 3.25rem;
    overflow: visible;
    border-radius: 0.75rem;
    transform: none;
  }
  .top-showcase__api-code pre {
    top: 1.5rem;
    right: 1.25rem;
    left: 1.25rem;
    max-width: none;
    overflow-x: auto;
    font-size: 0.625rem;
    line-height: 1.8;
  }
}
.top-showcase__api-run {
  position: absolute;
  right: min(1.6666666667vw, 24px);
  bottom: min(1.6666666667vw, 24px);
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(9.1666666667vw, 132px);
  height: min(2.8472222222vw, 41px);
  border-radius: 999px;
  background: #040404;
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.2;
}
@media (max-width: 768px) {
  .top-showcase__api-run {
    right: 0;
    bottom: -3.25rem;
    width: 7.25rem;
    height: 2.5rem;
    font-size: 0.75rem;
  }
}
.top-showcase__panel {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(min(0.6944444444vw, 10px));
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}
.top-showcase__panel.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
@media (max-width: 768px) {
  .top-showcase__panel {
    inset: 0 0 auto;
    height: auto;
    transform: translateY(0.5rem);
  }
}
.top-showcase__workspace {
  position: absolute;
  top: min(13.8888888889vw, 200px);
  left: min(15.4861111111vw, 223px);
  display: flex;
  gap: min(1.8055555556vw, 26px);
  align-items: flex-start;
  width: min(64.2361111111vw, 925px);
}
@media (max-width: 768px) {
  .top-showcase__workspace {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    width: 100%;
    margin-top: 3rem;
  }
}
.top-showcase__workspace--tts {
  gap: min(1.5277777778vw, 22px);
  width: min(63.6111111111vw, 916px);
}
.top-showcase__workspace--dubbing {
  left: 50%;
  display: block;
  width: min(51.5972222222vw, 743px);
  transform: translateX(-50%);
}
.top-showcase__workspace--coming-soon {
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(51.5972222222vw, 743px);
  height: min(29.0277777778vw, 418px);
  border: 1px solid #d7d7d1;
  border-radius: min(0.8333333333vw, 12px);
  background: #f5f5f1;
  transform: translateX(-50%);
}
.top-showcase__workspace--coming-soon > p {
  font-family: "Archivo", Arial, sans-serif;
  font-size: min(3.75vw, 54px);
  line-height: 1;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .top-showcase__workspace--tts, .top-showcase__workspace--voice-creator {
    gap: 2.5rem;
  }
  .top-showcase__workspace--tts {
    flex-direction: row;
    gap: 0;
    align-items: stretch;
    overflow: hidden;
    width: 100%;
  }
  .top-showcase__workspace--voice-creator {
    flex-direction: column-reverse;
  }
  .top-showcase__workspace--dubbing, .top-showcase__workspace--coming-soon {
    display: block;
    width: 100%;
    transform: none;
  }
  .top-showcase__workspace--coming-soon {
    display: flex;
    height: auto;
    min-height: 15.625rem;
    border-radius: 0.75rem;
    aspect-ratio: 743/418;
  }
  .top-showcase__workspace--coming-soon > p {
    font-size: 2.125rem;
  }
}
.top-showcase__controls {
  display: flex;
  flex: 0 0 min(31.0416666667vw, 447px);
  flex-direction: column;
  gap: min(2.7777777778vw, 40px);
  width: min(31.0416666667vw, 447px);
  height: min(25.0694444444vw, 361px);
  padding: min(2.7777777778vw, 40px);
  border: 1px solid #d7d7d1;
  border-radius: min(0.8333333333vw, 12px);
  background: #f5f5f1;
}
@media (max-width: 768px) {
  .top-showcase__controls {
    position: relative;
    flex-basis: auto;
    gap: 1.75rem;
    width: 100%;
    height: auto;
    margin-bottom: 3.25rem;
    padding: 1.5rem 1.125rem;
    border-radius: 0.75rem;
  }
}
.top-showcase__voice-play {
  display: none;
}
@media (max-width: 768px) {
  .top-showcase__voice-play {
    position: absolute;
    right: 0;
    bottom: -3.25rem;
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
    min-width: 7rem;
    height: 2.5rem;
    padding-inline: 1rem;
    border: 0;
    border-radius: 999px;
    appearance: none;
    background: #040404;
    color: #fff;
    cursor: pointer;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 0.75rem;
    line-height: 1;
  }
  .top-showcase__voice-play::before {
    width: 0;
    height: 0;
    border-top: 0.1875rem solid transparent;
    border-bottom: 0.1875rem solid transparent;
    border-left: 0.3125rem solid currentColor;
    content: "";
  }
  .top-showcase__voice-play.is-playing::before {
    width: 0.375rem;
    height: 0.375rem;
    border: 0;
    background: currentColor;
  }
  .top-showcase__voice-play:focus-visible {
    outline: 2px solid rgba(4, 4, 4, 0.35);
    outline-offset: 0.1875rem;
  }
}
.top-showcase__control {
  display: grid;
  grid-template-columns: min(4.0277777778vw, 58px) min(20.0694444444vw, 289px);
  gap: min(1.3888888889vw, 20px);
  align-items: end;
  min-width: 0;
}
.top-showcase__control > p {
  padding-bottom: min(0.0694444444vw, 1px);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .top-showcase__control {
    grid-template-columns: 3.125rem minmax(0, 1fr);
    gap: 0.75rem;
  }
  .top-showcase__control > p {
    padding-bottom: 0.0625rem;
    font-size: 0.75rem;
  }
}
.top-showcase__control-body {
  width: min(20.0694444444vw, 289px);
  min-width: 0;
}
@media (max-width: 768px) {
  .top-showcase__control-body {
    width: 100%;
  }
}
.top-showcase__range {
  display: block;
  width: 100%;
  height: min(1.1111111111vw, 16px);
  margin-top: min(0.5555555556vw, 8px);
  padding: 0;
  border: 0;
  outline: 0;
  appearance: none;
  background: transparent;
  cursor: pointer;
  touch-action: pan-y;
}
.top-showcase__range::-webkit-slider-runnable-track {
  width: 100%;
  height: min(0.2777777778vw, 4px);
  border: 0;
  border-radius: 999px;
  background: #deded9;
}
.top-showcase__range::-webkit-slider-thumb {
  width: min(1.1111111111vw, 16px);
  height: min(1.1111111111vw, 16px);
  margin-top: max(-0.4166666667vw, -6px);
  border: 0;
  border-radius: 50%;
  appearance: none;
  background: #333;
}
.top-showcase__range::-moz-range-track {
  width: 100%;
  height: min(0.2777777778vw, 4px);
  border: 0;
  border-radius: 999px;
  background: #deded9;
}
.top-showcase__range::-moz-range-thumb {
  width: min(1.1111111111vw, 16px);
  height: min(1.1111111111vw, 16px);
  border: 0;
  border-radius: 50%;
  background: #333;
}
.top-showcase__range:focus-visible::-webkit-slider-thumb {
  box-shadow: 0 0 0 min(0.2083333333vw, 3px) rgba(4, 4, 4, 0.2);
}
.top-showcase__range:focus-visible::-moz-range-thumb {
  box-shadow: 0 0 0 min(0.2083333333vw, 3px) rgba(4, 4, 4, 0.2);
}
@media (max-width: 768px) {
  .top-showcase__range {
    height: 1rem;
    margin-top: 0.5rem;
  }
  .top-showcase__range::-webkit-slider-runnable-track {
    height: 0.25rem;
  }
  .top-showcase__range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.375rem;
  }
  .top-showcase__range::-moz-range-track {
    height: 0.25rem;
  }
  .top-showcase__range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
  }
  .top-showcase__range:focus-visible::-webkit-slider-thumb {
    box-shadow: 0 0 0 0.1875rem rgba(4, 4, 4, 0.2);
  }
  .top-showcase__range:focus-visible::-moz-range-thumb {
    box-shadow: 0 0 0 0.1875rem rgba(4, 4, 4, 0.2);
  }
}
.top-showcase__scale {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #80807a;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(0.9027777778vw, 13px);
  line-height: 1;
  white-space: nowrap;
}
.top-showcase__control:first-child .top-showcase__scale {
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
}
@media (max-width: 768px) {
  .top-showcase__scale {
    font-size: 0.625rem;
  }
  .top-showcase__control:first-child .top-showcase__scale {
    font-size: 0.6875rem;
  }
}
.top-showcase__voice {
  flex: 0 0 min(31.3888888889vw, 452px);
  width: min(31.3888888889vw, 452px);
}
.top-showcase__voice > p {
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}
.top-showcase__voice-visual {
  position: relative;
  display: block;
  width: 100%;
  height: min(19.6527777778vw, 283px);
  margin-top: min(2.7777777778vw, 40px);
  overflow: hidden;
  background: #e9e9e6;
}
.top-showcase__voice-image, .top-showcase__voice-canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-showcase__voice-image {
  opacity: 1;
  transition: opacity 0.2s ease;
}
.top-showcase__voice-canvas {
  max-width: 100%;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.top-showcase__voice-visual.is-canvas-ready .top-showcase__voice-image {
  opacity: 0;
}
.top-showcase__voice-visual.is-canvas-ready .top-showcase__voice-canvas {
  opacity: 1;
}
@media (max-width: 768px) {
  .top-showcase__voice {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .top-showcase__panels {
    animation: none;
    transition: none;
  }
  .top-showcase__voice-image, .top-showcase__voice-canvas {
    transition: none;
  }
}
.top-showcase__modes {
  position: absolute;
  bottom: min(2.7777777778vw, 40px);
  left: 50%;
  z-index: 3;
  display: flex;
  gap: min(0.8333333333vw, 12px);
  align-items: center;
  justify-content: center;
  width: max-content;
  transform: translateX(-50%);
}
.top-showcase__modes button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(2.7777777778vw, 40px);
  padding-inline: min(1.6666666667vw, 24px);
  border: 0;
  border-radius: 999px;
  appearance: none;
  background: transparent;
  color: #040404;
  cursor: pointer;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(0.9722222222vw, 14px);
  line-height: 2;
  white-space: nowrap;
}
.top-showcase__modes .is-active {
  background: #fff;
  color: #1a1a1a;
}
@media (max-width: 768px) {
  .top-showcase__modes {
    position: static;
    order: 1;
    display: contents;
    margin-top: 0;
    margin-left: 0;
    transform: none;
  }
  .top-showcase__modes button {
    flex: 0 0 auto;
    min-height: 2.25rem;
    padding-inline: 0.75rem;
    font-size: 1rem;
    scroll-snap-align: center;
  }
}
.top-showcase__mode-tabs {
  display: flex;
  flex: 0 0 auto;
  gap: min(0.8333333333vw, 12px);
  align-items: center;
}
@media (max-width: 768px) {
  .top-showcase__mode-tabs {
    gap: 0.5rem;
  }
}
.top-showcase__trusted {
  margin-top: min(8.3333333333vw, 120px);
}
@media (max-width: 768px) {
  .top-showcase__trusted {
    position: relative;
    order: 4;
    width: calc(100% + 2.5rem);
    margin-top: 5rem;
    margin-left: -1.25rem;
    overflow: hidden;
    container-type: inline-size;
  }
  .top-showcase__trusted::before, .top-showcase__trusted::after {
    position: absolute;
    z-index: 2;
    top: 3rem;
    bottom: 0;
    width: 2.75rem;
    content: "";
    pointer-events: none;
  }
  .top-showcase__trusted::before {
    left: 0;
    background: linear-gradient(90deg, rgba(28, 28, 28, 0.92), rgba(28, 28, 28, 0));
  }
  .top-showcase__trusted::after {
    right: 0;
    background: linear-gradient(270deg, rgba(28, 28, 28, 0.92), rgba(28, 28, 28, 0));
  }
}
.top-showcase__trusted-label {
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .top-showcase__trusted-label {
    padding-inline: 1.25rem;
    font-size: 0.75rem;
  }
}
.top-showcase__trusted-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(1.3888888889vw, 20px);
  width: min(91.5277777778vw, 1318px);
  margin-top: min(2.9861111111vw, 43px);
  margin-left: min(0.1388888889vw, 2px);
}
.top-showcase__trusted-list li {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: min(14.0972222222vw, 203px);
  height: min(6.9444444444vw, 100px);
  border: 1px solid #494949;
  background: #fff;
}
.top-showcase__trusted-list img {
  display: block;
  width: auto;
  max-width: 80%;
  height: auto;
  max-height: 60%;
  object-fit: contain;
}
@media (max-width: 768px) {
  .top-showcase__trusted-list {
    display: flex;
    flex: 0 0 auto;
    gap: 0.75rem;
    width: max-content;
    margin-top: 0;
    margin-left: 0;
  }
  .top-showcase__trusted-list li {
    flex: 0 0 calc((100vw - 4rem) / 3);
    width: calc((100vw - 4rem) / 3);
    height: 4.75rem;
  }
  @supports (width: 1cqw) {
    .top-showcase__trusted-list li {
      flex-basis: calc((100cqw - 1.5rem) / 3);
      width: calc((100cqw - 1.5rem) / 3);
    }
  }
  .top-showcase__trusted-list img {
    max-width: 72%;
    max-height: 2.75rem;
  }
}
.top-showcase__trusted-list--clone {
  display: none;
}
@media (max-width: 768px) {
  .top-showcase__trusted-list--clone {
    display: flex;
  }
}
@media (max-width: 768px) {
  .top-showcase__trusted-marquee {
    display: flex;
    gap: 0.75rem;
    width: max-content;
    margin-top: 2.25rem;
    animation: top-showcase-trusted-scroll 30s linear infinite;
    will-change: transform;
  }
}
@media (prefers-reduced-motion: reduce) and (max-width: 768px) {
  .top-showcase__trusted {
    overflow-x: auto;
    scrollbar-width: none;
  }
  .top-showcase__trusted::-webkit-scrollbar {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) and (max-width: 768px) {
  .top-showcase__trusted-marquee {
    animation: none;
    will-change: auto;
  }
}
@media (prefers-reduced-motion: reduce) and (max-width: 768px) {
  .top-showcase__trusted-list--clone {
    display: none;
  }
}

.top-showcase-tts__voices, .top-showcase-tts__script {
  flex: 0 0 min(31.0416666667vw, 447px);
  width: min(31.0416666667vw, 447px);
  height: min(25.0694444444vw, 361px);
  border: 1px solid #d7d7d1;
  border-radius: min(0.8333333333vw, 12px);
  background: #f5f5f1;
}
@media (max-width: 768px) {
  .top-showcase-tts__voices, .top-showcase-tts__script {
    flex: 0 0 100%;
    width: 100%;
    height: auto;
    border-color: #d7d7d1;
    border-radius: 0.75rem;
    background: #f5f5f1;
    transform: translateX(0);
    transition: transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
  .top-showcase-tts__voices, .top-showcase-tts__script {
    transition: none;
  }
}
.top-showcase-tts__voices {
  padding: min(1.6666666667vw, 24px);
}
@media (max-width: 768px) {
  .top-showcase-tts__voices {
    display: flex;
    flex-direction: column;
    align-self: flex-start;
    padding: 0.75rem 0.625rem 0.625rem;
  }
}
.top-showcase-tts__voice-list {
  display: flex;
  flex-direction: column;
  gap: min(0.5555555556vw, 8px);
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-list {
    gap: 0.25rem;
  }
}
.top-showcase-tts__voice {
  display: grid;
  grid-template-columns: min(3.8194444444vw, 55px) min(11.1111111111vw, 160px) minmax(0, 1fr);
  align-items: center;
  width: 100%;
  height: min(3.8888888889vw, 56px);
  padding-inline: min(1.1111111111vw, 16px);
  border: 0;
  border-radius: min(0.5555555556vw, 8px);
  appearance: none;
  background: transparent;
  color: #040404;
  cursor: pointer;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  line-height: 1;
  text-align: left;
}
.top-showcase-tts__voice.is-active {
  background: #deded9;
}
@media (max-width: 768px) {
  .top-showcase-tts__voice {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.375rem;
    height: 2.5rem;
    padding-inline: 0.5rem;
    border-radius: 0.625rem;
  }
  .top-showcase-tts__voice.is-active {
    background: #fff;
    box-shadow: 0 0.125rem 0.5rem rgba(4, 4, 4, 0.06);
  }
}
.top-showcase-tts__voice-avatar, .top-showcase-tts__voice-preview {
  display: none;
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-avatar, .top-showcase-tts__voice-preview {
    display: block;
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-avatar {
    display: none;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    background: conic-gradient(from 30deg, #03a9c6, #113a67, #ff786b, #03a9c6);
  }
  .top-showcase-tts__voice:nth-child(2) .top-showcase-tts__voice-avatar {
    background: conic-gradient(from 10deg, #7795c7, #f0a57b, #256e9e, #7795c7);
  }
  .top-showcase-tts__voice:nth-child(3) .top-showcase-tts__voice-avatar {
    background: conic-gradient(from 70deg, #d95d64, #efb292, #4784ba, #d95d64);
  }
  .top-showcase-tts__voice:nth-child(4) .top-showcase-tts__voice-avatar {
    background: conic-gradient(from 45deg, #e68159, #7c5b9d, #efc45e, #e68159);
  }
  .top-showcase-tts__voice:nth-child(5) .top-showcase-tts__voice-avatar {
    background: conic-gradient(from 90deg, #5ca4c2, #f39a79, #a986bd, #5ca4c2);
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-preview {
    position: relative;
    grid-column: 3;
    display: none;
    justify-self: end;
    width: 1.375rem;
    height: 1.375rem;
    border-radius: 50%;
    background: #040404;
    opacity: 0;
  }
  .top-showcase-tts__voice-preview::after {
    position: absolute;
    top: 50%;
    left: 53%;
    width: 0;
    height: 0;
    border-top: 0.1875rem solid transparent;
    border-bottom: 0.1875rem solid transparent;
    border-left: 0.3125rem solid #fff;
    content: "";
    transform: translate(-50%, -50%);
  }
  .top-showcase-tts__voice.is-active .top-showcase-tts__voice-preview {
    display: block;
    opacity: 1;
  }
}
.top-showcase-tts__voice-name, .top-showcase-tts__voice-type {
  font-size: min(1.1111111111vw, 16px);
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-name, .top-showcase-tts__voice-type {
    font-size: 0.625rem;
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-name {
    grid-column: 1;
    font-size: 0.8125rem;
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-type {
    display: none;
  }
}
.top-showcase-tts__voice-use {
  color: #80807a;
  font-size: min(0.8333333333vw, 12px);
  text-align: right;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-use {
    grid-column: 2;
    overflow: hidden;
    font-size: 0.75rem;
    text-overflow: ellipsis;
  }
  .top-showcase-tts__voice:not(.is-active) .top-showcase-tts__voice-use {
    grid-column: 2/4;
    justify-self: end;
    width: 100%;
  }
  .top-showcase-tts__voice.is-active .top-showcase-tts__voice-use {
    display: none;
  }
}
.top-showcase-tts__voice-actions, .top-showcase-tts__explore, .top-showcase-tts__back, .top-showcase-tts__selected-voice, .top-showcase-tts__play-sp {
  display: none;
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.5rem;
  }
}
.top-showcase-tts__edit, .top-showcase-tts__back {
  border: 1px solid #d7d7d1;
  border-radius: 999px;
  appearance: none;
  background: #fff;
  color: #040404;
  cursor: pointer;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  line-height: 1;
}
@media (max-width: 768px) {
  .top-showcase-tts__edit {
    min-height: 1.875rem;
    padding-inline: 0.75rem;
    font-size: 0.5625rem;
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-pager {
    display: none;
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__explore {
    display: none;
  }
}
.top-showcase-tts__script {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: min(1.6666666667vw, 24px) min(1.25vw, 18px) min(0.8333333333vw, 12px);
}
@media (max-width: 768px) {
  .top-showcase-tts__script {
    display: flex;
    min-height: 19.375rem;
    padding: 0.75rem 0.75rem 0.625rem;
  }
}
@media (max-width: 768px) {
  .top-showcase__workspace--tts.is-editing-script .top-showcase-tts__voices, .top-showcase__workspace--tts.is-editing-script .top-showcase-tts__script {
    transform: translateX(-100%);
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__back {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 1.625rem;
    padding-inline: 0.625rem;
    font-size: 0.5625rem;
  }
}
.top-showcase-tts__script-input {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 0;
  outline: 0;
  appearance: none;
  background: transparent;
  color: #040404;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0;
  resize: none;
}
.top-showcase-tts__script-input:focus-visible {
  outline: 1px solid rgba(4, 4, 4, 0.35);
  outline-offset: min(0.2777777778vw, 4px);
}
@media (max-width: 768px) {
  .top-showcase-tts__script-input {
    margin-top: 0.75rem;
    font-size: 1rem;
    line-height: 1.65;
  }
  .top-showcase-tts__script-input:focus-visible {
    outline-offset: 0.25rem;
  }
}
.top-showcase-tts__script-footer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .top-showcase-tts__script-footer {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.875rem;
    margin-top: 0.875rem;
  }
}
.top-showcase-tts__language, .top-showcase-tts__play {
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.2;
}
@media (max-width: 768px) {
  .top-showcase-tts__language, .top-showcase-tts__play {
    font-size: 0.6875rem;
  }
}
.top-showcase-tts__language {
  position: relative;
  display: flex;
  align-items: center;
  padding-right: min(1.6666666667vw, 24px);
  padding-left: 0;
  border: 0;
  appearance: none;
  background: transparent;
  color: #80807a;
  cursor: pointer;
  text-align: left;
}
.top-showcase-tts__language::after {
  position: absolute;
  top: 45%;
  right: min(0.2777777778vw, 4px);
  width: min(0.4166666667vw, 6px);
  height: min(0.4166666667vw, 6px);
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}
@media (max-width: 768px) {
  .top-showcase-tts__language {
    width: 1.875rem;
    padding-right: 0.875rem;
  }
  .top-showcase-tts__language::after {
    right: 0.125rem;
    width: 0.3125rem;
    height: 0.3125rem;
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__language-value {
    display: block;
    width: 0.4375rem;
    height: 0.4375rem;
    overflow: hidden;
    border-radius: 50%;
    background: #e6294f;
    color: transparent;
    font-size: 0;
  }
}
.top-showcase-tts__language-picker {
  position: relative;
  z-index: 4;
}
.top-showcase-tts__language-options {
  position: absolute;
  bottom: calc(100% + min(0.6944444444vw, 10px));
  left: max(-0.8333333333vw, -12px);
  display: grid;
  width: min(10.4166666667vw, 150px);
  padding: min(0.4166666667vw, 6px);
  border: 1px solid #d7d7d1;
  border-radius: min(0.5555555556vw, 8px);
  background: #f5f5f1;
  box-shadow: 0 min(0.5555555556vw, 8px) min(1.6666666667vw, 24px) rgba(4, 4, 4, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(min(0.4166666667vw, 6px));
  transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
  pointer-events: none;
}
.top-showcase-tts__language-options button {
  width: 100%;
  min-height: min(2.2222222222vw, 32px);
  padding-inline: min(0.6944444444vw, 10px);
  border: 0;
  border-radius: min(0.2777777778vw, 4px);
  appearance: none;
  background: transparent;
  color: #040404;
  cursor: pointer;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.8333333333vw, 12px);
  line-height: 1.2;
  text-align: left;
}
.top-showcase-tts__language-options button:hover, .top-showcase-tts__language-options button:focus-visible, .top-showcase-tts__language-options button.is-active {
  outline: 0;
  background: #deded9;
}
@media (max-width: 768px) {
  .top-showcase-tts__language-options {
    bottom: calc(100% + 0.5rem);
    left: -0.5rem;
    width: 8.875rem;
    padding: 0.375rem;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1.5rem rgba(4, 4, 4, 0.12);
    transform: translateY(0.375rem);
  }
  .top-showcase-tts__language-options button {
    min-height: 2.125rem;
    padding-inline: 0.625rem;
    border-radius: 0.25rem;
    font-size: 0.6875rem;
  }
}
.top-showcase-tts__language-picker.is-open .top-showcase-tts__language-options {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.top-showcase-tts__language-picker.is-open .top-showcase-tts__language::after {
  top: 60%;
  transform: translateY(-50%) rotate(225deg);
}
@media (prefers-reduced-motion: reduce) {
  .top-showcase-tts__language-options, .top-showcase-tts__voice-options {
    transition: none;
  }
}
.top-showcase-tts__play {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: min(5.4166666667vw, 78px);
  height: min(2.3611111111vw, 34px);
  border-radius: 999px;
  background: #040404;
  color: #fff;
  border: 0;
  appearance: none;
  cursor: pointer;
}
@media (max-width: 768px) {
  .top-showcase-tts__play {
    min-width: 3rem;
    height: 1.875rem;
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__selected-voice {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    padding-top: 0;
    padding-right: 0.875rem;
    padding-bottom: 0;
    padding-left: 0;
    border: 0;
    appearance: none;
    background: transparent;
    color: #040404;
    cursor: pointer;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 0.625rem;
    line-height: 1.2;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .top-showcase-tts__selected-voice::after {
    position: absolute;
    top: 42%;
    right: 0.125rem;
    width: 0.25rem;
    height: 0.25rem;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    content: "";
    transform: translateY(-50%) rotate(45deg);
  }
}
.top-showcase-tts__voice-picker {
  display: none;
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-picker {
    position: relative;
    z-index: 4;
    display: block;
    min-width: 0;
  }
}
.top-showcase-tts__voice-options {
  display: none;
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-options {
    position: absolute;
    bottom: calc(100% + 0.5rem);
    left: 50%;
    display: grid;
    width: 8.875rem;
    padding: 0.375rem;
    border: 1px solid #d7d7d1;
    border-radius: 0.5rem;
    background: #f5f5f1;
    box-shadow: 0 0.5rem 1.5rem rgba(4, 4, 4, 0.12);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 0.375rem);
    transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
    pointer-events: none;
  }
  .top-showcase-tts__voice-options button {
    width: 100%;
    min-height: 2.125rem;
    padding-inline: 0.625rem;
    border: 0;
    border-radius: 0.25rem;
    appearance: none;
    background: transparent;
    color: #040404;
    cursor: pointer;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 0.6875rem;
    line-height: 1.2;
    text-align: left;
  }
  .top-showcase-tts__voice-options button:hover, .top-showcase-tts__voice-options button:focus-visible, .top-showcase-tts__voice-options button.is-active {
    outline: 0;
    background: #deded9;
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-picker.is-open .top-showcase-tts__voice-options {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
    pointer-events: auto;
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__voice-picker.is-open .top-showcase-tts__selected-voice::after {
    top: 60%;
    transform: translateY(-50%) rotate(225deg);
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__play-sp {
    display: inline;
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__play-pc {
    display: none;
  }
}
@media (max-width: 768px) {
  .top-showcase-tts__script .top-showcase-tts__explore {
    margin-top: 0.75rem;
  }
}

.top-showcase-dubbing {
  position: relative;
  width: min(51.5972222222vw, 743px);
  height: min(29.1666666667vw, 420px);
  overflow: hidden;
  border-radius: min(0.8333333333vw, 12px);
}
.top-showcase-dubbing::after {
  position: absolute;
  inset: 50% 0 0;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(28, 28, 28, 0), rgba(28, 28, 28, 0.6));
  content: "";
  pointer-events: none;
}
.top-showcase-dubbing > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-showcase-dubbing__languages {
  position: absolute;
  bottom: min(1.1111111111vw, 16px);
  left: min(1.1111111111vw, 16px);
  z-index: 2;
  display: flex;
  gap: min(0.1388888889vw, 2px);
  align-items: center;
}
.top-showcase-dubbing__languages button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(2.3611111111vw, 34px);
  padding-inline: min(0.8333333333vw, 12px);
  border: 0;
  border-radius: min(0.4166666667vw, 6px);
  appearance: none;
  background: transparent;
  color: #fff;
  cursor: pointer;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9027777778vw, 13px);
  line-height: 1;
}
.top-showcase-dubbing__languages button.is-active {
  border-radius: 999px;
  background: #040404;
}
@media (max-width: 768px) {
  .top-showcase-dubbing {
    width: 100%;
    height: auto;
    border-radius: 0.75rem;
    aspect-ratio: 743/420;
  }
  .top-showcase-dubbing__languages {
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
    gap: 0.125rem;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .top-showcase-dubbing__languages::-webkit-scrollbar {
    display: none;
  }
  .top-showcase-dubbing__languages button {
    min-height: 1.75rem;
    padding-inline: 0.5625rem;
    border-radius: 0.3125rem;
    font-size: 0.5625rem;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .top-showcase__panel,
  .top-showcase__panels {
    transition: none;
  }
}
.top-section-mesh {
  position: relative;
  z-index: 2;
  overflow: hidden;
  isolation: isolate;
  contain: paint;
  width: 100%;
  height: min(30.3472222222vw, 437px);
  background: #1c1c1c;
  --top-section-mesh-opacity: 0;
}
@media (max-width: 768px) {
  .top-section-mesh {
    height: 11.25rem;
  }
}
.top-section-mesh__canvas {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: var(--top-section-mesh-opacity);
  pointer-events: none;
  image-rendering: auto;
  transition: opacity 0.16s linear;
  will-change: opacity;
}
@media (prefers-reduced-motion: reduce) {
  .top-section-mesh__canvas {
    transition: none;
  }
}
.top-section-mesh--sentinel {
  height: 0;
  overflow: visible;
  background: transparent;
}

.top-contents {
  position: relative;
  z-index: 2;
  overflow: hidden;
  isolation: isolate;
  height: min(90.1388888889vw, 1298px);
  background: linear-gradient(90deg, #b6d9ef 0%, #d9d2ee 50%, #f4cce0 100%);
  color: #111;
}
@media (max-width: 768px) {
  .top-contents {
    height: auto;
    padding-block: 7.5rem;
  }
}
.top-contents__background {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.top-contents__grid {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.32) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.32) 1px, transparent 1px);
  background-size: min(5.5555555556vw, 80px) min(5.5555555556vw, 80px);
  opacity: 0.62;
}
@media (max-width: 768px) {
  .top-contents__grid {
    background-size: 3rem 3rem;
  }
}
.top-contents__mesh {
  position: absolute;
  left: 0;
  width: 100%;
  height: calc(var(--top-contents-mesh-base-height) + var(--top-contents-mesh-stretch, 0px));
  overflow: hidden;
  background-image: url("../img/top-contents-mesh.svg");
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 50% 100%;
  contain: paint;
  --top-section-mesh-opacity: 0;
  --top-contents-mesh-base-height: min(14.0277777778vw, 202px);
  --top-contents-mesh-stretch: 0px;
}
.top-contents__mesh--top {
  z-index: 10;
  top: -2px;
  transform: rotate(180deg);
}
.top-contents__mesh--bottom {
  bottom: -2px;
  z-index: 10;
}
.top-contents__mesh.is-mesh-ready {
  background-image: none;
}
.top-contents__mesh .top-section-mesh__canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: var(--top-section-mesh-opacity);
  pointer-events: none;
  image-rendering: auto;
  transition: opacity 0.16s linear;
  will-change: opacity;
}
@media (max-width: 768px) {
  .top-contents__mesh {
    --top-contents-mesh-base-height: 9.375rem;
    background-size: auto 100%;
  }
}
.top-contents__inner {
  position: relative;
  z-index: 1;
  width: min(95.8333333333vw, 1380px);
  height: min(76.1111111111vw, 1096px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-contents__inner {
    width: calc(100vw - 2.5rem);
    max-width: 25rem;
    height: 29.5rem;
    margin-top: 0;
    margin-inline: auto;
  }
}
.top-contents__content {
  position: absolute;
  z-index: 2;
  top: min(20.2083333333vw, 291px);
  left: 0;
  display: flex;
  flex-direction: column;
  gap: min(5.5555555556vw, 80px);
  align-items: flex-start;
  width: min(45.8333333333vw, 660px);
}
@media (max-width: 768px) {
  .top-contents__content {
    position: relative;
    top: auto;
    left: auto;
    gap: 2.5rem;
    width: 100%;
  }
}
.top-contents__intro {
  display: flex;
  flex-direction: column;
  gap: min(4.1666666667vw, 60px);
  align-items: flex-start;
  width: 100%;
  text-align: left;
}
@media (max-width: 768px) {
  .top-contents__intro {
    gap: 2rem;
  }
}
.top-contents__title {
  width: min(45.8333333333vw, 660px);
  height: min(5.9709027778vw, 85.981px);
  font-size: 0;
  line-height: 1;
}
.top-contents__title img {
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .top-contents__title {
    width: min(100%, 21.875rem);
    height: auto;
    aspect-ratio: 660/85.981;
  }
}
.top-contents__description {
  width: 100%;
  margin: 0;
  color: #111;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 2;
  letter-spacing: 0;
  text-align: left;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .top-contents__description {
    font-size: 0.9375rem;
    line-height: 2;
    white-space: normal;
  }
  .top-contents__description br {
    display: none;
  }
}
.top-contents__visual {
  position: absolute;
  z-index: 1;
  top: 50px;
  right: 0;
  width: min(77.9166666667vw, 1122px);
  height: min(97.3611111111vw, 1402px);
  overflow: hidden;
  pointer-events: none;
}
.top-contents__visual img {
  position: absolute;
  top: 0;
  left: -0.05%;
  display: block;
  width: 102.53%;
  max-width: none;
  height: 100%;
}
@media (max-width: 768px) {
  .top-contents__visual {
    top: 10rem;
    right: auto;
    left: 65%;
    width: min(180vw, 22.125rem);
    height: 100%;
    transform: translateX(-45%);
  }
  .top-contents__visual img {
    width: 102.53%;
    height: auto;
  }
}
.top-contents__cards {
  display: grid;
  grid-template-columns: repeat(3, min(27.7777777778vw, 400px));
  gap: min(2.2222222222vw, 32px);
  margin-top: min(4.1666666667vw, 60px);
}
@media (max-width: 768px) {
  .top-contents__cards {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-top: 3rem;
  }
}
.top-contents__button {
  display: flex;
  gap: min(1.3888888889vw, 20px);
  align-items: center;
  justify-content: center;
  width: max-content;
  min-width: min(9.7918055556vw, 141.002px);
  height: min(3.4722222222vw, 50px);
  margin: 0;
  padding: 0 min(1.6666666667vw, 24px);
  background: transparent;
  border: 1px solid #494949;
  border-radius: min(0.2777777778vw, 4px);
  color: #111;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
}
.top-contents__button img {
  width: min(0.5555555556vw, 8px);
  height: min(1.1805555556vw, 17px);
}
@media (max-width: 768px) {
  .top-contents__button {
    gap: 1.25rem;
    min-width: 8.8125rem;
    height: 3.125rem;
    padding: 0 1.5rem;
    border-radius: 0.25rem;
    font-size: 0.8125rem;
  }
  .top-contents__button img {
    width: 0.5rem;
    height: 1.0625rem;
  }
}

.top-content-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: min(27.7777777778vw, 400px);
  height: min(36.9444444444vw, 532px);
  padding: 0 min(2.7777777778vw, 40px) min(2.5vw, 36px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: min(2.2222222222vw, 32px);
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(6.5px);
  box-shadow: 0 16px 32px rgba(11, 11, 13, 0.04);
}
.top-content-card::after {
  content: "";
  position: absolute;
  right: min(2.7777777778vw, 40px);
  bottom: min(9.3055555556vw, 134px);
  left: min(2.7777777778vw, 40px);
  height: 1px;
  background: rgba(255, 255, 255, 0.82);
}
@media (max-width: 768px) {
  .top-content-card {
    width: 100%;
    height: auto;
    min-height: 27.375rem;
    padding: 0 1.75rem 1.875rem;
    border-radius: 1.5rem;
  }
  .top-content-card::after {
    right: 1.75rem;
    bottom: 6.625rem;
    left: 1.75rem;
  }
}
.top-content-card__visual {
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  height: min(25.6944444444vw, 370px);
  pointer-events: none;
}
@media (max-width: 768px) {
  .top-content-card__visual {
    height: 19.125rem;
  }
}
.top-content-card__glyph {
  position: absolute;
  top: 8.1%;
  left: 7.5%;
  display: block;
  width: 26.25%;
  height: auto;
}
.top-content-card__image {
  position: absolute;
  display: block;
  height: auto;
  pointer-events: none;
  user-select: none;
}
.top-content-card__image--claw-main {
  top: min(2.6388888889vw, 38px);
  left: min(0.9027777778vw, 13px);
  width: min(22.2916666667vw, 321px);
  height: min(14.8611111111vw, 214px);
  object-fit: cover;
  border-radius: min(0.5555555556vw, 8px);
  mix-blend-mode: multiply;
}
@media (max-width: 768px) {
  .top-content-card__image--claw-main {
    top: 2.125rem;
    left: 0.625rem;
    width: min(82vw, 18.75rem);
    height: auto;
    border-radius: 0.5rem;
  }
}
.top-content-card__image--claw-red {
  top: min(4.0277777778vw, 58px);
  left: min(3.4027777778vw, 49px);
  width: min(3.75vw, 54px);
  transform: rotate(30deg);
}
@media (max-width: 768px) {
  .top-content-card__image--claw-red {
    top: 3.375rem;
    left: 2.75rem;
    width: 2.75rem;
  }
}
.top-content-card__image--claw-blue {
  top: min(11.4583333333vw, 165px);
  right: min(2.9166666667vw, 42px);
  width: min(5vw, 72px);
  transform: rotate(-18deg);
}
@media (max-width: 768px) {
  .top-content-card__image--claw-blue {
    top: 9.125rem;
    right: 2.375rem;
    width: 3.625rem;
  }
}
.top-content-card__image--claw-purple {
  top: min(6.4583333333vw, 93px);
  right: min(5.5555555556vw, 80px);
  width: min(4.0277777778vw, 58px);
  transform: rotate(18deg);
}
@media (max-width: 768px) {
  .top-content-card__image--claw-purple {
    top: 5.125rem;
    right: 4.5rem;
    width: 3rem;
  }
}
.top-content-card__image--minidub-tablet {
  top: min(4.8611111111vw, 70px);
  left: min(2.1527777778vw, 31px);
  width: min(16.9444444444vw, 244px);
  transform: rotate(-3.76deg);
}
@media (max-width: 768px) {
  .top-content-card__image--minidub-tablet {
    top: 4.125rem;
    left: 1.4375rem;
    width: min(68vw, 14.5rem);
  }
}
.top-content-card__image--minidub-phone {
  top: min(7.7777777778vw, 112px);
  right: min(2.7083333333vw, 39px);
  width: min(6.3888888889vw, 92px);
  transform: rotate(-3.76deg);
}
@media (max-width: 768px) {
  .top-content-card__image--minidub-phone {
    top: 6.75rem;
    right: 2.125rem;
    width: 4.875rem;
  }
}
.top-content-card__image--platform-figure {
  top: min(6.7361111111vw, 97px);
  left: min(5.2777777778vw, 76px);
  width: min(10.3472222222vw, 149px);
}
@media (max-width: 768px) {
  .top-content-card__image--platform-figure {
    top: 5.5rem;
    left: 3.875rem;
    width: 7.625rem;
  }
}
.top-content-card__image--platform-kiosk {
  top: min(2.9861111111vw, 43px);
  right: min(4.5138888889vw, 65px);
  width: min(8.1944444444vw, 118px);
}
@media (max-width: 768px) {
  .top-content-card__image--platform-kiosk {
    top: 2.5rem;
    right: 3.375rem;
    width: 6rem;
  }
}
.top-content-card__brand {
  position: absolute;
  top: min(21.3194444444vw, 307px);
  right: min(2.7777777778vw, 40px);
  left: min(2.7777777778vw, 40px);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(4.4444444444vw, 64px);
}
.top-content-card__brand h3 {
  margin: 0;
  font-size: 0;
  line-height: 1;
  text-align: center;
}
.top-content-card__brand img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-content-card__brand {
    top: 16.875rem;
    right: 1.75rem;
    left: 1.75rem;
    min-height: 3rem;
  }
}
.top-content-card__brand--claw img {
  width: min(17.0138888889vw, 245px);
}
@media (max-width: 768px) {
  .top-content-card__brand--claw img {
    width: 13.375rem;
  }
}
.top-content-card__brand--minidub img {
  width: min(12.9166666667vw, 186px);
}
@media (max-width: 768px) {
  .top-content-card__brand--minidub img {
    width: 10.25rem;
  }
}
.top-content-card__brand--platform h3 {
  display: flex;
  flex-direction: column;
  gap: min(0.8333333333vw, 12px);
  align-items: center;
}
@media (max-width: 768px) {
  .top-content-card__brand--platform h3 {
    gap: 0.5rem;
  }
}
.top-content-card__brand--platform img:first-child {
  width: min(9.9305555556vw, 143px);
}
@media (max-width: 768px) {
  .top-content-card__brand--platform img:first-child {
    width: 7.625rem;
  }
}
.top-content-card__brand--platform img:last-child {
  width: min(12.0833333333vw, 174px);
}
@media (max-width: 768px) {
  .top-content-card__brand--platform img:last-child {
    width: 9.25rem;
  }
}
.top-content-card__text {
  z-index: 1;
  min-height: min(4.4444444444vw, 64px);
  margin: 0;
  color: #111;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.25vw, 18px);
  line-height: 1.75;
  letter-spacing: 0;
  text-align: center;
}
@media (max-width: 768px) {
  .top-content-card__text {
    min-height: 3.5rem;
    font-size: 0.9375rem;
    line-height: 1.7;
  }
}

.top-company {
  position: relative;
  z-index: 1;
  padding-block: min(16.6666666667vw, 240px);
}
@media (max-width: 768px) {
  .top-company {
    padding-block: 7.5rem;
  }
}
.top-company__inner {
  display: flex;
  width: min(91.6666666667vw, 1320px);
  min-height: min(54.1666666667vw, 780px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-company__inner {
    display: block;
    width: auto;
    min-height: 0;
    padding-inline: 1.25rem;
  }
}
.top-company__body {
  flex: 0 0 min(45.8333333333vw, 660px);
  width: min(45.8333333333vw, 660px);
}
@media (max-width: 768px) {
  .top-company__body {
    width: auto;
  }
}
.top-company__label {
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .top-company__label {
    font-size: 0.75rem;
  }
}
.top-company__content {
  margin-top: min(5.5555555556vw, 80px);
}
@media (max-width: 768px) {
  .top-company__content {
    margin-top: 3.5rem;
  }
}
.top-company__title {
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(3.6111111111vw, 52px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .top-company__title {
    font-size: 2.125rem;
    line-height: 1.55;
    white-space: normal;
  }
}
.top-company__text {
  display: flex;
  flex-direction: column;
  gap: min(1.3888888889vw, 20px);
  width: min(43.8194444444vw, 631px);
  margin-top: min(4.1666666667vw, 60px);
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 2;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .top-company__text {
    gap: 1.25rem;
    width: auto;
    margin-top: 2.5rem;
    font-size: 0.9375rem;
    line-height: 2;
  }
  .top-company__text br {
    display: none;
  }
}
.top-company__button {
  display: inline-flex;
  gap: min(1.3888888889vw, 20px);
  align-items: center;
  justify-content: center;
  width: min(9.23625vw, 133.002px);
  height: min(3.4722222222vw, 50px);
  margin-top: min(5.5555555556vw, 80px);
  border: 1px solid #494949;
  border-radius: min(0.2777777778vw, 4px);
  background: #040404;
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
  transition: border-color 0.3s ease, opacity 0.3s ease;
}
.top-company__button img {
  width: min(0.5556944444vw, 8.002px);
  height: min(1.1805555556vw, 17px);
}
@media (hover: hover) {
  .top-company__button:hover {
    border-color: rgba(255, 255, 255, 0.75);
    opacity: 0.78;
  }
}
@media (max-width: 768px) {
  .top-company__button {
    gap: 1rem;
    width: 8.3125rem;
    height: 3.125rem;
    margin-top: 3.5rem;
    border-radius: 0.25rem;
    font-size: 0.8125rem;
  }
  .top-company__button img {
    width: 0.5rem;
    height: 1.0625rem;
  }
}
.top-company__visual {
  position: relative;
  flex: 0 0 min(39.7222222222vw, 572px);
  width: min(39.7222222222vw, 572px);
  height: min(39.7222222222vw, 572px);
  margin-top: min(5.9027777778vw, 85px);
  margin-left: min(6.8055555556vw, 98px);
  isolation: isolate;
}
.top-company__visual > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 1;
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (max-width: 768px) {
  .top-company__visual {
    display: none;
  }
}
.top-company__globe-canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  cursor: grab;
  opacity: 0;
  outline: none;
  touch-action: none;
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.top-company__globe-canvas.is-dragging {
  cursor: grabbing;
}
.top-company__visual.is-globe-ready > img {
  opacity: 0;
}
.top-company__visual.is-globe-ready .top-company__globe-canvas {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .top-company__globe-canvas {
    display: none;
  }
  .top-company__visual > img {
    opacity: 1 !important;
    transition: none;
  }
}
.top-news {
  position: relative;
  z-index: 1;
  padding-top: min(22.9166666667vw, 330px);
}
@media (max-width: 768px) {
  .top-news {
    padding-top: 7.5rem;
  }
}
.top-news__inner {
  width: min(91.73625vw, 1321.002px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-news__inner {
    display: flex;
    flex-direction: column;
    width: auto;
    padding-inline: 1.25rem;
  }
}
.top-news__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: min(4.1666666667vw, 60px);
}
@media (max-width: 768px) {
  .top-news__head {
    display: contents;
    height: auto;
  }
}
.top-news__title {
  width: min(16.1593055556vw, 232.694px);
  height: min(4.1666666667vw, 60px);
  font-size: 0;
  line-height: 1;
}
.top-news__title img {
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .top-news__title {
    order: 1;
    width: 10.75rem;
    height: auto;
    aspect-ratio: 232.694/60;
  }
}
.top-news__more {
  display: inline-flex;
  gap: min(1.3888888889vw, 20px);
  align-items: center;
  justify-content: center;
  height: min(3.4722222222vw, 50px);
  padding: 0 min(1.6666666667vw, 24px);
  border: 1px solid #494949;
  border-radius: min(0.2777777778vw, 4px);
  background: #040404;
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
  transition: border-color 0.3s ease, opacity 0.3s ease;
}
.top-news__more img {
  width: min(0.5556944444vw, 8.002px);
  height: min(1.1805555556vw, 17px);
}
@media (hover: hover) {
  .top-news__more:hover {
    border-color: rgba(255, 255, 255, 0.75);
    opacity: 0.78;
  }
}
@media (max-width: 768px) {
  .top-news__more {
    order: 3;
    align-self: flex-start;
    gap: 0.75rem;
    height: 2.75rem;
    margin: 3rem 0 0;
    padding: 0 1rem;
    border-radius: 0.25rem;
    font-size: 0.6875rem;
  }
  .top-news__more img {
    width: 0.4375rem;
    height: 0.9375rem;
  }
}
.top-news__list {
  display: flex;
  gap: min(1.3888888889vw, 20px);
  margin-top: min(4.1666666667vw, 60px);
}
@media (max-width: 768px) {
  .top-news__list {
    display: grid;
    order: 2;
    gap: 3.5rem;
    margin-top: 3.5rem;
  }
  .top-news__list > .top-news-card:nth-child(n+2) {
    display: none;
  }
}

.top-news-card {
  width: min(29.6527777778vw, 427px);
}
@media (max-width: 768px) {
  .top-news-card {
    width: 100%;
  }
}
.top-news-card__image {
  width: 100%;
  height: min(16.6666666667vw, 240px);
  overflow: hidden;
  border-radius: min(0.2777777778vw, 4px);
  background: #040404;
}
.top-news-card__image img {
  width: 100%;
  max-width: none;
  object-fit: cover;
}
@media (max-width: 768px) {
  .top-news-card__image {
    height: auto;
    border-radius: 0.25rem;
    aspect-ratio: 427/240;
  }
  .top-news-card__image img {
    height: 100%;
    transform: none;
  }
}
.top-news-card--site .top-news-card__image img {
  height: min(18.5329861111vw, 266.875px);
  transform: translateY(max(-1.8420833333vw, -26.526px));
}
@media (max-width: 768px) {
  .top-news-card--site .top-news-card__image img {
    height: 100%;
    transform: none;
  }
}
.top-news-card--mimidub .top-news-card__image img {
  height: min(17.5694444444vw, 253px);
  transform: translateY(max(-0.4166666667vw, -6px));
}
@media (max-width: 768px) {
  .top-news-card--mimidub .top-news-card__image img {
    height: 100%;
  }
}
.top-news-card--release .top-news-card__image img {
  height: min(20.2083333333vw, 291px);
  transform: translateY(max(-1.7361111111vw, -25px));
}
@media (max-width: 768px) {
  .top-news-card--release .top-news-card__image img {
    height: 100%;
  }
}
.top-news-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: min(1.6666666667vw, 24px);
}
@media (max-width: 768px) {
  .top-news-card__body {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    column-gap: 0.75rem;
    align-items: center;
    margin-top: 1.25rem;
  }
}
.top-news-card__date {
  position: relative;
  padding-left: min(0.8333333333vw, 12px);
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
}
.top-news-card__date::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: min(0.2777777778vw, 4px);
  height: min(0.2777777778vw, 4px);
  background: #fff;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  .top-news-card__date {
    padding-left: 0.75rem;
    font-size: 0.75rem;
  }
  .top-news-card__date::before {
    width: 0.25rem;
    height: 0.25rem;
  }
}
.top-news-card__title {
  width: 100%;
  margin-top: min(0.8333333333vw, 12px);
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .top-news-card__title {
    grid-row: 2;
    grid-column: 1/-1;
    margin-top: 0.75rem;
    font-size: 0.9375rem;
    line-height: 1.8;
  }
}

.top-about {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: transparent;
  padding-top: min(12.5694444444vw, 181px);
}
@media (max-width: 768px) {
  .top-about {
    padding-top: 7.5rem;
  }
}
.top-about__inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: min(91.6666666667vw, 1320px);
  height: min(30.28125vw, 436.05px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-about__inner {
    display: block;
    width: auto;
    height: auto;
    padding-inline: 1.25rem;
    padding-bottom: 5rem;
  }
}
.top-about__body {
  width: min(45.8333333333vw, 660px);
}
@media (max-width: 768px) {
  .top-about__body {
    width: auto;
  }
}
.top-about__label {
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .top-about__label {
    width: fit-content;
    margin-inline: auto;
    font-size: 0.75rem;
  }
}
.top-about__content {
  margin-top: min(5.5555555556vw, 80px);
}
@media (max-width: 768px) {
  .top-about__content {
    margin-top: 3rem;
  }
}
.top-about__title {
  font-weight: 400;
  line-height: 1;
}
.top-about__title-visual {
  display: flex;
  align-items: flex-start;
  width: min(45.8333333333vw, 660px);
  height: min(4.8645833333vw, 70.05px);
}
@media (max-width: 768px) {
  .top-about__title-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    height: auto;
  }
}
.top-about__title-before {
  width: min(10.1853472222vw, 146.669px);
  height: min(3.2610416667vw, 46.959px);
  margin-top: min(0.8049305556vw, 11.591px);
}
.top-about__title-before img {
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .top-about__title-before {
    width: 8.25rem;
    height: 2.625rem;
    margin-top: 0;
  }
}
.top-about__title-word {
  width: min(21.0486805556vw, 303.101px);
  height: min(4.8645833333vw, 70.05px);
  margin-left: min(0.9070138889vw, 13.061px);
  overflow: hidden;
}
.top-about__title-word img {
  width: 104.44%;
  max-width: none;
  height: 100%;
  margin-left: -2.07%;
  object-fit: fill;
}
@media (max-width: 768px) {
  .top-about__title-word {
    width: min(100%, 17.0625rem);
    height: auto;
    aspect-ratio: 303/70;
    margin-left: 0;
  }
}
.top-about__title-after {
  width: min(12.8398611111vw, 184.894px);
  height: min(3.0802777778vw, 44.356px);
  margin-top: min(0.8934027778vw, 12.865px);
  margin-left: min(0.8525vw, 12.276px);
}
.top-about__title-after img {
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .top-about__title-after {
    width: 10.4375rem;
    height: 2.5rem;
    margin-top: 0;
    margin-left: 0;
  }
}
.top-about__title-mobile {
  display: none;
}
@media (max-width: 768px) {
  .top-about__title-mobile {
    display: none;
  }
}
.top-about__text {
  display: flex;
  flex-direction: column;
  gap: min(1.3888888889vw, 20px);
  width: min(43.8194444444vw, 631px);
  margin-top: min(4.1666666667vw, 60px);
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 2;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .top-about__text {
    gap: 1.25rem;
    width: auto;
    margin-top: 2.5rem;
    font-size: 0.9375rem;
    line-height: 2;
  }
  .top-about__text br {
    display: none;
  }
}

.contact-page {
  background: #1c1c1c;
  padding-top: min(13.8888888889vw, 200px);
}
@media (max-width: 768px) {
  .contact-page {
    padding-top: 7.5rem;
  }
}
.contact-page__inner {
  width: min(91.6666666667vw, 1320px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .contact-page__inner {
    width: calc(100vw - 2.5rem);
    max-width: 100%;
  }
}
.contact-page__title {
  width: min(46.8240277778vw, 674.266px);
  height: min(6.9444444444vw, 100px);
  font-size: 0;
  line-height: 1;
}
.contact-page__title img {
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .contact-page__title {
    width: min(100%, 21.25rem);
    height: auto;
    aspect-ratio: 674.266/100;
  }
}
.contact-page__body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: min(16.6666666667vw, 240px);
}
@media (max-width: 768px) {
  .contact-page__body {
    display: block;
    margin-top: 6rem;
  }
}
.contact-page__info {
  width: min(29.6527777778vw, 427px);
}
@media (max-width: 768px) {
  .contact-page__info {
    width: auto;
  }
}
.contact-page__lead {
  width: min(29.6527777778vw, 427px);
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 2;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .contact-page__lead {
    width: auto;
    font-size: clamp(0.6875rem, 3.6vw, 0.875rem);
    line-height: 1.9;
    overflow-wrap: anywhere;
  }
  .contact-page__lead br {
    display: none;
  }
  .contact-page__lead span {
    overflow-wrap: anywhere;
  }
}
@media (max-width: 768px) {
  .contact-page__lead-line {
    display: block;
  }
  html[lang=ja] .contact-page__lead-line {
    white-space: nowrap;
  }
}
@media (max-width: 768px) {
  .contact-page__lead-line--pc {
    display: none;
  }
}
.contact-page__lead-inquiry--sp {
  display: none;
}
@media (max-width: 768px) {
  .contact-page__lead-inquiry--pc {
    display: none;
  }
  .contact-page__lead-inquiry--sp {
    display: inline;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
  }
}
.contact-page br.contact-page__sp-break {
  display: none;
}
@media (max-width: 768px) {
  .contact-page br.contact-page__sp-break {
    display: block;
  }
}
.contact-page__company {
  width: min(14.0972222222vw, 203px);
  margin-top: min(9.7222222222vw, 140px);
}
@media (max-width: 768px) {
  .contact-page__company {
    width: min(100%, 15rem);
    margin-top: 4.5rem;
  }
}
.contact-page__company-name {
  color: #fff;
  font-family: "Archivo", Arial, sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1.75;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .contact-page__company-name {
    font-size: 0.9375rem;
  }
}
.contact-page__company-line {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: min(1.3888888889vw, 20px);
  background: #494949;
}
@media (max-width: 768px) {
  .contact-page__company-line {
    margin-top: 1.125rem;
  }
}
.contact-page__address {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: min(1.3888888889vw, 20px);
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0;
}
.contact-page__address span {
  display: block;
}
.contact-page__address span:nth-child(3) {
  margin-top: min(0.8333333333vw, 12px);
}
@media (max-width: 768px) {
  .contact-page__address {
    gap: 0;
    margin-top: 1.125rem;
    font-size: 0.9375rem;
  }
  .contact-page__address span:nth-child(3) {
    margin-top: 0.75rem;
  }
}

.contact-form {
  position: relative;
  width: min(45.1388888889vw, 650px);
}
@media (max-width: 768px) {
  .contact-form {
    width: 100%;
    margin-top: 5rem;
  }
}
.contact-form__honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.contact-form__topics {
  display: flex;
  flex-direction: column;
  gap: min(0.5555555556vw, 8px);
  width: min(16.5972222222vw, 239px);
  margin: 0;
  padding: 0;
  border: 0;
}
@media (max-width: 768px) {
  .contact-form__topics {
    gap: 0.5rem;
    width: 100%;
  }
}
.contact-form__topic {
  display: flex;
  gap: min(0.8333333333vw, 12px);
  align-items: center;
  min-height: min(2.2222222222vw, 32px);
  color: rgba(255, 255, 255, 0.7);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 2;
  letter-spacing: 0;
  cursor: pointer;
}
.contact-form__topic input {
  flex: 0 0 min(1.3888888889vw, 20px);
  width: min(1.3888888889vw, 20px);
  height: min(1.3888888889vw, 20px);
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 0;
  appearance: none;
  background: transparent;
  cursor: pointer;
}
.contact-form__topic input:checked {
  border-color: #fff;
  background: #fff;
}
.contact-form__topic input:focus-visible {
  outline: min(0.1388888889vw, 2px) solid rgba(255, 255, 255, 0.9);
  outline-offset: min(0.2777777778vw, 4px);
}
.contact-form__topic:has(input:checked) {
  color: #fff;
}
@media (max-width: 768px) {
  .contact-form__topic {
    gap: 0.75rem;
    min-height: 2.25rem;
    font-size: 0.9375rem;
  }
  .contact-form__topic input {
    flex-basis: 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
  }
  .contact-form__topic input:focus-visible {
    outline-width: 0.125rem;
    outline-offset: 0.25rem;
  }
}
.contact-form__fields {
  display: flex;
  flex-direction: column;
  gap: min(1.6666666667vw, 24px);
  margin-top: min(2.7777777778vw, 40px);
}
@media (max-width: 768px) {
  .contact-form__fields {
    gap: 1.125rem;
    margin-top: 2.5rem;
  }
}
.contact-form__field-group {
  width: 100%;
}
.contact-form__field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: min(5.2083333333vw, 75px);
  border-radius: 8px;
  background: #1c1c1c;
}
@media (max-width: 768px) {
  .contact-form__field {
    min-height: 4rem;
    border-radius: 8px;
  }
}
.contact-form__field--message {
  align-items: flex-start;
  min-height: min(17.3611111111vw, 250px);
}
@media (max-width: 768px) {
  .contact-form__field--message {
    min-height: 12.5rem;
  }
}
.contact-form__field.is-invalid {
  box-shadow: inset 0 0 0 1px #ff8f8f;
}
.contact-form__control {
  width: 100%;
  min-height: inherit;
  padding: min(1.5972222222vw, 23px) min(5vw, 72px) min(1.5972222222vw, 23px) min(1.6666666667vw, 24px);
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1.8;
  letter-spacing: 0;
  outline: 0;
}
.contact-form__control::placeholder {
  color: #aaa;
  opacity: 1;
  text-transform: capitalize;
}
.contact-form__control:focus {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}
@media (max-width: 768px) {
  .contact-form__control {
    padding: 1.125rem 3.75rem 1.125rem 1.25rem;
    font-size: 1rem;
  }
}
.contact-form textarea.contact-form__control {
  resize: vertical;
}
@media (max-width: 768px) {
  .contact-form textarea.contact-form__control {
    min-height: 12.5rem;
  }
}
.contact-form__required {
  position: absolute;
  top: 50%;
  right: min(1.6666666667vw, 24px);
  color: #808080;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(0.8333333333vw, 12px);
  line-height: 1.8;
  letter-spacing: 0;
  transform: translateY(-50%);
  pointer-events: none;
}
@media (max-width: 768px) {
  .contact-form__required {
    right: 1.25rem;
    font-size: 0.75rem;
  }
}
.contact-form__field--message .contact-form__required {
  top: min(1.6666666667vw, 24px);
  transform: none;
}
@media (max-width: 768px) {
  .contact-form__field--message .contact-form__required {
    top: 1.125rem;
  }
}
.contact-form__submit {
  display: flex;
  gap: min(1.3888888889vw, 20px);
  align-items: center;
  justify-content: center;
  width: 100%;
  height: min(5.2083333333vw, 75px);
  margin-top: min(1.6666666667vw, 24px);
  padding: 0 min(3.3333333333vw, 48px);
  border: 1px solid #494949;
  border-radius: min(0.5555555556vw, 8px);
  background: transparent;
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(1.25vw, 18px);
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 0.3s ease, opacity 0.3s ease;
}
.contact-form__submit img {
  width: min(0.5556944444vw, 8.002px);
  height: min(1.1805555556vw, 17px);
}
@media (hover: hover) {
  .contact-form__submit:hover {
    border-color: rgba(255, 255, 255, 0.75);
    opacity: 0.78;
  }
}
.contact-form__submit:disabled {
  cursor: wait;
  opacity: 0.45;
  pointer-events: none;
}
@media (max-width: 768px) {
  .contact-form__submit {
    gap: 1rem;
    height: 4rem;
    margin-top: 1.125rem;
    padding: 0 2rem;
    border-radius: 0.5rem;
    font-size: 1rem;
  }
  .contact-form__submit img {
    width: 0.5rem;
    height: 1.0625rem;
  }
}
.contact-form__error, .contact-form__status {
  color: #ff9d9d;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(0.8333333333vw, 12px);
  line-height: 1.6;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .contact-form__error, .contact-form__status {
    font-size: 0.75rem;
  }
}
.contact-form__error {
  display: none;
  margin-top: min(0.4861111111vw, 7px);
}
.contact-form__error:not(:empty) {
  display: block;
}
@media (max-width: 768px) {
  .contact-form__error {
    margin-top: 0.375rem;
  }
}
.contact-form__topics + .contact-form__error {
  margin-top: min(0.5555555556vw, 8px);
}
@media (max-width: 768px) {
  .contact-form__topics + .contact-form__error {
    margin-top: 0.5rem;
  }
}
.contact-form__status {
  min-height: min(1.3888888889vw, 20px);
  margin-top: min(0.8333333333vw, 12px);
  color: rgba(255, 255, 255, 0.72);
}
.contact-form__status.is-error {
  color: #ff9d9d;
}
@media (max-width: 768px) {
  .contact-form__status {
    min-height: 1.25rem;
    margin-top: 0.625rem;
  }
}
.contact-form__note {
  margin-top: min(2.7777777778vw, 40px);
  color: rgba(244, 242, 238, 0.7);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .contact-form__note {
    margin-top: 1.5rem;
    font-size: 0.75rem;
    line-height: 1.6;
  }
}

.thanks-page {
  background: #1c1c1c;
  padding-top: min(13.8888888889vw, 200px);
}
@media (max-width: 768px) {
  .thanks-page {
    padding-top: 7.5rem;
  }
}
.thanks-page__inner {
  width: min(89.4444444444vw, 1288px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .thanks-page__inner {
    width: calc(100vw - 2.5rem);
    max-width: 100%;
  }
}
.thanks-page__title {
  width: min(56.5765972222vw, 814.703px);
  height: min(6.9444444444vw, 100px);
  font-size: 0;
  line-height: 1;
}
.thanks-page__title img {
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .thanks-page__title {
    width: min(100%, 21.875rem);
    height: auto;
    aspect-ratio: 814.703/100;
  }
}
.thanks-page__content {
  display: grid;
  grid-template-columns: min(30.1388888889vw, 434px) 1fr min(38.1944444444vw, 550px);
  align-items: start;
  min-height: min(36.1805555556vw, 521px);
  margin-top: min(0.625vw, 9px);
}
@media (max-width: 768px) {
  .thanks-page__content {
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-top: 3rem;
  }
}
.thanks-page__message {
  grid-column: 1;
  margin-top: min(16.0416666667vw, 231px);
}
@media (max-width: 768px) {
  .thanks-page__message {
    order: 2;
    width: 100%;
    margin-top: 3rem;
  }
}
.thanks-page__lead {
  width: min(30.1388888889vw, 434px);
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 2;
  letter-spacing: 0;
}
.thanks-page__lead span {
  display: inline;
}
@media (max-width: 768px) {
  .thanks-page__lead {
    width: 100%;
    font-size: 0.9375rem;
    line-height: 1.9;
  }
}
@media (max-width: 768px) {
  .thanks-page__lead-break {
    display: none;
  }
}
.thanks-page__home {
  display: inline-flex;
  gap: min(1.3888888889vw, 20px);
  align-items: center;
  justify-content: center;
  min-width: min(7.5694444444vw, 109px);
  min-height: min(3.4722222222vw, 50px);
  margin-top: min(5.5555555556vw, 80px);
  padding: min(0.6944444444vw, 10px) min(1.6666666667vw, 24px);
  border: 1px solid #494949;
  border-radius: min(0.2777777778vw, 4px);
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
  transition: border-color 0.3s ease, opacity 0.3s ease;
}
.thanks-page__home img {
  width: min(0.5556944444vw, 8.002px);
  height: min(1.1805555556vw, 17px);
}
@media (hover: hover) {
  .thanks-page__home:hover {
    border-color: rgba(255, 255, 255, 0.75);
    opacity: 0.78;
  }
}
@media (max-width: 768px) {
  .thanks-page__home {
    gap: 1rem;
    min-width: 6.8125rem;
    min-height: 3.125rem;
    margin-top: 3.5rem;
    padding: 0.625rem 1.5rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
  }
  .thanks-page__home img {
    width: 0.5rem;
    height: 1.0625rem;
  }
}
.thanks-page__visual {
  grid-column: 3;
  width: min(38.1944444444vw, 550px);
  height: min(36.1805555556vw, 521px);
  opacity: 0.3;
  pointer-events: auto;
}
.thanks-page__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 768px) {
  .thanks-page__visual {
    order: 1;
    align-self: center;
    width: min(100%, 18.75rem);
    height: auto;
    aspect-ratio: 550/521;
    margin: 0.5rem auto 0;
  }
}

.news-page {
  padding-top: min(13.8888888889vw, 200px);
  padding-bottom: min(16.6666666667vw, 240px);
  background: #1c1c1c;
  color: #fff;
}
@media (max-width: 768px) {
  .news-page {
    padding-block: 7.5rem;
  }
}
.news-page__inner {
  width: min(91.6666666667vw, 1320px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .news-page__inner {
    width: min(20.9375rem, 100vw - 2.5rem);
    max-width: 100%;
    margin-inline: 1.25rem auto;
  }
}
.news-page__title {
  width: min(26.9322916667vw, 387.825px);
  height: min(6.9444444444vw, 100px);
  font-size: 0;
  line-height: 1;
}
.news-page__title img {
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .news-page__title {
    width: 10.75rem;
    height: auto;
    aspect-ratio: 232.694/60;
  }
}
.news-page__body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: min(11.1111111111vw, 160px);
}
@media (max-width: 768px) {
  .news-page__body {
    display: block;
    margin-top: 4.5rem;
  }
}
.news-page__categories {
  width: min(14.2361111111vw, 205px);
  min-height: min(11.4583333333vw, 165px);
  padding: min(2.0833333333vw, 30px);
  border-radius: min(0.5555555556vw, 8px);
  background: rgba(4, 4, 4, 0.7);
  -webkit-backdrop-filter: blur(min(1.0416666667vw, 15px));
  backdrop-filter: blur(min(1.0416666667vw, 15px));
}
@media (max-width: 768px) {
  .news-page__categories {
    width: 100%;
    min-height: 0;
    padding: 1.5rem;
    border-radius: 0.5rem;
    -webkit-backdrop-filter: blur(0.9375rem);
    backdrop-filter: blur(0.9375rem);
  }
}
.news-page__category-list {
  display: flex;
  flex-direction: column;
  gap: min(0.7638888889vw, 11px);
}
@media (max-width: 768px) {
  .news-page__category-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.25rem;
  }
}
@media (max-width: 768px) and (max-width: 360px) {
  .news-page__category-list {
    column-gap: 0.75rem;
  }
}
.news-page__category {
  display: inline-flex;
  gap: min(0.8333333333vw, 12px);
  align-items: center;
  color: rgba(255, 255, 255, 0.5);
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(1.25vw, 18px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  transition: color 0.3s ease, opacity 0.3s ease;
}
.news-page__category::before {
  content: "";
  width: min(0.3472222222vw, 5px);
  height: min(0.3472222222vw, 5px);
  background: currentColor;
}
.news-page__category[aria-current=true] {
  color: #fff;
}
@media (hover: hover) {
  .news-page__category:hover {
    color: #fff;
    opacity: 0.78;
  }
}
@media (max-width: 768px) {
  .news-page__category {
    gap: 0.625rem;
    min-height: 1.75rem;
    font-size: 0.9375rem;
  }
  .news-page__category::before {
    width: 0.3125rem;
    height: 0.3125rem;
  }
}
@media (max-width: 768px) and (max-width: 360px) {
  .news-page__category {
    gap: 0.5rem;
    font-size: 0.875rem;
  }
}
.news-page__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: min(5.5555555556vw, 80px) min(2.2222222222vw, 32px);
  width: min(61.5277777778vw, 886px);
}
@media (max-width: 768px) {
  .news-page__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 3.5rem;
    width: 100%;
    margin-top: 3.5rem;
  }
}

.news-card {
  width: 100%;
  color: #fff;
}
.news-card__link {
  display: block;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .news-card__link:hover {
    opacity: 0.76;
  }
}
.news-card__image {
  position: relative;
  width: 100%;
  height: min(16.6666666667vw, 240px);
  overflow: hidden;
  border-radius: min(0.2777777778vw, 4px);
  background: #1c1c1c;
}
.news-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
@media (max-width: 768px) {
  .news-card__image {
    height: auto;
    border-radius: 0.25rem;
    aspect-ratio: 427/240;
  }
}
.news-card__image-word {
  position: absolute;
  top: min(1.3888888889vw, 20px);
  left: min(1.3888888889vw, 20px);
  color: #fff;
  font-family: "Archivo", Arial, sans-serif;
  font-size: min(2.2222222222vw, 32px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .news-card__image-word {
    top: 1rem;
    left: 1rem;
    font-size: 1.75rem;
  }
}
.news-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: min(1.6666666667vw, 24px);
}
@media (max-width: 768px) {
  .news-card__body {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    column-gap: 0.75rem;
    align-items: center;
    margin-top: 1.25rem;
  }
}
.news-card__date {
  display: inline-flex;
  gap: min(0.6944444444vw, 10px);
  align-items: center;
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1;
  letter-spacing: 0;
}
.news-card__date::before {
  content: "";
  width: min(0.3472222222vw, 5px);
  height: min(0.3472222222vw, 5px);
  background: currentColor;
}
@media (max-width: 768px) {
  .news-card__date {
    grid-row: 1;
    grid-column: 1;
    gap: 0.625rem;
    font-size: 0.8125rem;
  }
  .news-card__date::before {
    width: 0.3125rem;
    height: 0.3125rem;
  }
}
.news-card__title {
  width: 100%;
  margin-top: min(0.8333333333vw, 12px);
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.25vw, 18px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 768px) {
  .news-card__title {
    grid-row: 2;
    grid-column: 1/-1;
    min-width: 0;
    margin-top: 0.75rem;
    max-width: 100%;
    font-size: 0.9375rem;
    line-height: 1.8;
    line-break: anywhere;
    overflow-wrap: anywhere;
    word-break: break-all;
    white-space: normal;
  }
  .news-card__title .text-reveal__line,
  .news-card__title .text-reveal__line-inner {
    max-width: 100%;
  }
  .news-card__title .text-reveal__line-inner {
    white-space: normal;
  }
}

.news-detail {
  padding-top: min(13.8888888889vw, 200px);
  padding-bottom: min(13.8888888889vw, 200px);
  background: #1c1c1c;
  color: #fff;
}
@media (max-width: 768px) {
  .news-detail {
    padding-block: 7.5rem;
  }
}
.news-detail__inner {
  width: min(91.6666666667vw, 1320px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .news-detail__inner {
    width: min(20.9375rem, 100vw - 2.5rem);
    max-width: 100%;
  }
}
.news-detail__article {
  width: min(69.4444444444vw, 1000px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .news-detail__article {
    width: 100%;
  }
}
.news-detail__head {
  display: flex;
  flex-direction: column;
  gap: min(2.2222222222vw, 32px);
  align-items: center;
}
@media (max-width: 768px) {
  .news-detail__head {
    gap: 1.5rem;
  }
}
.news-detail__title {
  width: min(58.1944444444vw, 838px);
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(2.9166666667vw, 42px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  overflow-wrap: anywhere;
}
@media (max-width: 768px) {
  .news-detail__title {
    width: 100%;
    font-size: 1.6875rem;
    line-height: 1.55;
    word-break: normal;
  }
}
.news-detail__sp-break {
  display: none;
}
@media (max-width: 768px) {
  .news-detail__sp-break {
    display: block;
  }
}
.news-detail__eyebrow {
  display: flex;
  gap: min(0.9722222222vw, 14px);
  align-items: center;
}
@media (max-width: 768px) {
  .news-detail__eyebrow {
    gap: 0.75rem;
  }
}
.news-detail__date {
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .news-detail__date {
    font-size: 0.8125rem;
  }
}
.news-detail__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: min(0.4166666667vw, 6px) min(0.6944444444vw, 10px);
  background: #040404;
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .news-detail__category {
    padding: 0.375rem 0.625rem;
    font-size: 0.75rem;
  }
}
.news-detail__hero {
  width: 100%;
  height: min(39.0277777778vw, 562px);
  margin-top: min(2.7777777778vw, 40px);
  overflow: hidden;
  background: #040404;
}
.news-detail__hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}
@media (max-width: 768px) {
  .news-detail__hero {
    height: auto;
    margin-top: 2.5rem;
    aspect-ratio: 1000/562;
  }
}
.news-detail__content {
  display: flex;
  flex-direction: column;
  gap: min(2.0833333333vw, 30px);
  width: min(60.6944444444vw, 874px);
  margin: min(5.5555555556vw, 80px) auto 0;
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.0416666667vw, 15px);
  line-height: 2;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 768px) {
  .news-detail__content {
    gap: 1.75rem;
    width: 100%;
    margin-top: 3rem;
    font-size: 0.9375rem;
    line-height: 2;
  }
}
.news-detail__content img {
  max-width: 100%;
  height: auto;
}
.news-detail__content h2 {
  margin-top: min(1.3888888889vw, 20px);
  font-size: min(1.5277777778vw, 22px);
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .news-detail__content h2 {
    margin-top: 1rem;
    font-size: 1.1875rem;
  }
}
.news-detail__content h3 {
  margin-top: min(0.8333333333vw, 12px);
  font-size: min(1.25vw, 18px);
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .news-detail__content h3 {
    margin-top: 0.625rem;
    font-size: 1rem;
  }
}
.news-detail__content strong {
  font-weight: 700;
}
.news-detail__content ul,
.news-detail__content ol {
  display: flex;
  flex-direction: column;
  gap: min(0.5555555556vw, 8px);
  padding-left: min(1.6666666667vw, 24px);
}
@media (max-width: 768px) {
  .news-detail__content ul,
  .news-detail__content ol {
    gap: 0.375rem;
    padding-left: 1.25rem;
  }
}
.news-detail__content ul {
  list-style: disc;
}
.news-detail__content ul ul {
  margin-top: min(0.5555555556vw, 8px);
  list-style: circle;
}
@media (max-width: 768px) {
  .news-detail__content ul ul {
    margin-top: 0.375rem;
  }
}
.news-detail__content ol {
  list-style: decimal;
}
.news-detail__content figure {
  margin: 0;
}
.news-detail__content figure img {
  width: 100%;
  height: auto;
  border-radius: min(0.5555555556vw, 8px);
}
@media (max-width: 768px) {
  .news-detail__content figure img {
    border-radius: 0.375rem;
  }
}
.news-detail__content figure figcaption {
  margin-top: min(0.5555555556vw, 8px);
  font-size: min(0.9027777778vw, 13px);
  opacity: 0.7;
}
@media (max-width: 768px) {
  .news-detail__content figure figcaption {
    margin-top: 0.375rem;
    font-size: 0.75rem;
  }
}
.news-detail__content a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .news-detail__content a:hover {
    opacity: 0.7;
  }
}
.news-detail__content blockquote {
  margin: 0;
  padding-left: min(1.3888888889vw, 20px);
  border-left: 2px solid #494949;
  opacity: 0.9;
}
@media (max-width: 768px) {
  .news-detail__content blockquote {
    padding-left: 1rem;
  }
}
.news-detail__nav-link {
  display: flex;
  gap: min(1.3888888889vw, 20px);
  align-items: center;
  justify-content: center;
  width: max-content;
  min-height: min(3.4722222222vw, 50px);
  padding: min(0.6944444444vw, 10px) min(1.6666666667vw, 24px);
  border: 1px solid #494949;
  border-radius: min(0.2777777778vw, 4px);
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
  transition: opacity 0.3s ease, border-color 0.3s ease;
}
.news-detail__nav-link img {
  display: block;
  width: min(0.5555555556vw, 8px);
  height: min(1.1805555556vw, 17px);
}
@media (hover: hover) {
  .news-detail__nav-link:hover {
    opacity: 0.76;
  }
}
@media (max-width: 768px) {
  .news-detail__nav-link {
    gap: 1rem;
    min-height: 3.125rem;
    padding: 0.625rem 1.25rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
  }
  .news-detail__nav-link img {
    width: 0.5rem;
    height: 1.0625rem;
  }
}
.news-detail__back {
  margin: min(8.3333333333vw, 120px) auto 0;
}
.news-detail__back img {
  transform: rotate(180deg);
}
@media (max-width: 768px) {
  .news-detail__back {
    margin: 5rem auto 0 0;
  }
}
.news-detail__related {
  margin-top: min(13.8888888889vw, 200px);
}
@media (max-width: 768px) {
  .news-detail__related {
    margin-top: 7.5rem;
  }
}
.news-detail__related-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.news-detail__related-title {
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .news-detail__related-title {
    font-size: 0.75rem;
  }
}
.news-detail__related-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, min(29.6527777778vw, 427px)));
  gap: min(1.3888888889vw, 20px);
  margin-top: min(4.1666666667vw, 60px);
}
.news-detail__related-list .news-card__image {
  height: min(16.6666666667vw, 240px);
}
.news-detail__related-list .news-card--site .news-card__image img {
  object-position: center bottom;
}
.news-detail__related-list .news-card__body {
  margin-top: min(1.6666666667vw, 24px);
}
.news-detail__related-list .news-card__date {
  gap: min(0.5555555556vw, 8px);
  font-size: min(0.9722222222vw, 14px);
}
.news-detail__related-list .news-card__date::before {
  width: min(0.2777777778vw, 4px);
  height: min(0.2777777778vw, 4px);
}
.news-detail__related-list .news-card__title {
  margin-top: min(0.8333333333vw, 12px);
  font-size: min(1.1111111111vw, 16px);
  line-height: 1.75;
}
@media (max-width: 768px) {
  .news-detail__related-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 3.5rem;
    margin-top: 2.5rem;
  }
  .news-detail__related-list .news-card__image {
    height: auto;
  }
  .news-detail__related-list .news-card__body {
    margin-top: 1.25rem;
  }
  .news-detail__related-list .news-card__date {
    gap: 0.5rem;
    font-size: 0.8125rem;
  }
  .news-detail__related-list .news-card__date::before {
    width: 0.25rem;
    height: 0.25rem;
  }
  .news-detail__related-list .news-card__title {
    margin-top: 0.75rem;
    font-size: 0.9375rem;
    line-height: 1.75;
  }
}

.privacy-page {
  background: #1c1c1c;
  padding-top: min(13.8888888889vw, 200px);
  padding-bottom: min(13.8888888889vw, 200px);
}
@media (max-width: 768px) {
  .privacy-page {
    padding-block: 0;
    padding-top: 7.5rem;
    padding-bottom: 0;
  }
}
.privacy-page__inner {
  width: min(91.7361111111vw, 1321px);
  max-width: calc(100vw - min(8.1944444444vw, 118px));
  margin-inline: auto;
}
@media (max-width: 768px) {
  .privacy-page__inner {
    width: calc(100vw - 2.5rem);
    max-width: 100%;
  }
}
.privacy-page__head {
  display: flex;
  flex-direction: column;
  gap: min(1.6666666667vw, 24px);
  align-items: center;
  width: min(60.4166666667vw, 870px);
  margin-inline: auto;
  color: #fff;
  text-align: center;
}
@media (max-width: 768px) {
  .privacy-page__head {
    gap: 1rem;
    width: 100%;
  }
}
.privacy-page__title {
  width: 100%;
  color: #fff;
  font-family: "Archivo", Arial, sans-serif;
  font-size: min(3.6111111111vw, 52px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .privacy-page__title {
    font-size: 2.25rem;
    line-height: 1.35;
  }
}
.privacy-page__subtitle {
  width: 100%;
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1.5;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .privacy-page__subtitle {
    font-size: 0.875rem;
  }
}
.privacy-page__content {
  display: flex;
  flex-direction: column;
  gap: min(4.1666666667vw, 60px);
  width: min(60.4166666667vw, 870px);
  margin: min(5.5555555556vw, 80px) auto 0;
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.0416666667vw, 15px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}
.privacy-page__content p,
.privacy-page__content li {
  line-height: 2;
}
.privacy-page__content ul {
  margin: 0;
  padding-left: min(1.5625vw, 22.5px);
  list-style: disc;
}
@media (max-width: 768px) {
  .privacy-page__content {
    gap: 3rem;
    width: 100%;
    margin-top: 3.5rem;
    font-size: 0.875rem;
    line-height: 1.95;
  }
  .privacy-page__content p,
  .privacy-page__content li {
    line-height: 1.95;
  }
  .privacy-page__content ul {
    padding-left: 1.375rem;
  }
}
.privacy-page__lead, .privacy-page__date {
  color: #f4f2ee;
}
.privacy-page__lead span {
  text-transform: uppercase;
}
.privacy-page__sections {
  display: flex;
  flex-direction: column;
  gap: min(2.2222222222vw, 32px);
}
@media (max-width: 768px) {
  .privacy-page__sections {
    gap: 2rem;
  }
}
.privacy-page__section {
  display: flex;
  flex-direction: column;
  gap: min(0.8333333333vw, 12px);
}
.privacy-page__section h2 {
  color: #f4f2ee;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.25vw, 18px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .privacy-page__section {
    gap: 0.625rem;
  }
  .privacy-page__section h2 {
    font-size: 1rem;
    line-height: 1.8;
  }
}

.cookie-page {
  background: #1c1c1c;
  padding-top: min(13.8888888889vw, 200px);
}
@media (max-width: 768px) {
  .cookie-page {
    padding-top: 7.5rem;
  }
}
.cookie-page__inner {
  width: min(91.7361111111vw, 1321px);
  max-width: calc(100vw - min(8.1944444444vw, 118px));
  margin-inline: auto;
}
@media (max-width: 768px) {
  .cookie-page__inner {
    width: calc(100vw - 2.5rem);
    max-width: 100%;
  }
}
.cookie-page__head {
  display: flex;
  flex-direction: column;
  gap: min(1.6666666667vw, 24px);
  align-items: center;
  width: min(60.4166666667vw, 870px);
  margin-inline: auto;
  color: #fff;
  text-align: center;
}
@media (max-width: 768px) {
  .cookie-page__head {
    gap: 1rem;
    width: 100%;
  }
}
.cookie-page__title {
  width: 100%;
  color: #fff;
  font-family: "Archivo", Arial, sans-serif;
  font-size: min(3.6111111111vw, 52px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .cookie-page__title {
    font-size: 2.25rem;
    line-height: 1.35;
  }
}
.cookie-page__subtitle {
  width: 100%;
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1.5;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .cookie-page__subtitle {
    font-size: 0.875rem;
  }
}
.cookie-page__content {
  display: flex;
  flex-direction: column;
  gap: min(4.1666666667vw, 60px);
  width: min(60.4166666667vw, 870px);
  margin: min(5.5555555556vw, 80px) auto 0;
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.0416666667vw, 15px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}
.cookie-page__content p,
.cookie-page__content li {
  line-height: 2;
}
.cookie-page__content ul {
  margin: 0;
  padding-left: min(1.5625vw, 22.5px);
  list-style: disc;
}
@media (max-width: 768px) {
  .cookie-page__content {
    gap: 3rem;
    width: 100%;
    margin-top: 3.5rem;
    font-size: 0.875rem;
    line-height: 1.95;
  }
  .cookie-page__content p,
  .cookie-page__content li {
    line-height: 1.95;
  }
  .cookie-page__content ul {
    padding-left: 1.375rem;
  }
}
.cookie-page__lead, .cookie-page__date {
  color: #f4f2ee;
}
.cookie-page__sections, .cookie-page__lead {
  display: flex;
  flex-direction: column;
}
.cookie-page__sections {
  gap: min(2.2222222222vw, 32px);
}
@media (max-width: 768px) {
  .cookie-page__sections {
    gap: 2rem;
  }
}
.cookie-page__lead {
  gap: 0;
}
.cookie-page__section {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.cookie-page__section h2 {
  margin-bottom: min(0.8333333333vw, 12px);
  color: #f4f2ee;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.25vw, 18px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0;
}
.cookie-page__section ul + p,
.cookie-page__section p + ul {
  margin-top: 0;
}
@media (max-width: 768px) {
  .cookie-page__section h2 {
    margin-bottom: 0.625rem;
    font-size: 1rem;
    line-height: 1.8;
  }
}

.company-fv {
  position: relative;
  height: 100svh;
  overflow: hidden;
  background: #1c1c1c;
}
@media (max-width: 768px) {
  .company-fv {
    height: 100svh;
    min-height: 35rem;
  }
}
.company-fv__bg {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  background: #1c1c1c;
  pointer-events: none;
}
@media (max-width: 768px) {
  .company-fv__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
}
.company-fv__canvas {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.45s ease;
}
.company-fv__fallback {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  mix-blend-mode: screen;
  opacity: 1;
  transition: opacity 0.45s ease;
}
.company-fv__bg.is-company-canvas-ready .company-fv__canvas {
  opacity: 1;
}
.company-fv__bg.is-company-canvas-ready .company-fv__fallback {
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
  .company-fv__canvas, .company-fv__fallback {
    transition: none;
  }
}
.company-fv__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: min(min(91.6666666667vw, 1320px), 146.667svh);
  height: 100%;
  margin-inline: auto;
  padding-top: min(min(10.2777777778vw, 148px), 16.445svh);
  transform: translateY(min(min(1.6666666667vw, 24px), 2.667svh));
}
@media (max-width: 768px) {
  .company-fv__inner {
    display: grid;
    grid-template-rows: auto auto auto;
    align-content: space-evenly;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 1.5rem clamp(3.125rem, 13vw, 5.25rem) 2rem;
    transform: none;
  }
}
.company-fv__title {
  width: min(min(12.7083333333vw, 183px), 20.333svh);
  height: auto;
  margin-left: min(min(10.1388888889vw, 146px), 16.223svh);
  aspect-ratio: 183/27;
  font-size: 0;
  line-height: 1;
}
.company-fv__title img {
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .company-fv__title {
    width: min(100%, 11.5rem);
    height: auto;
    margin: 0.75rem auto 0;
    aspect-ratio: 184/27;
  }
}
.company-fv__visual {
  width: min(min(47.2916666667vw, 681px), 75.667svh);
  height: auto;
  margin-top: min(min(8.125vw, 117px), 13svh);
  margin-left: min(min(26.6465277778vw, 383.71px), 42.634svh);
  aspect-ratio: 681/262;
}
.company-fv__visual img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 768px) {
  .company-fv__visual {
    width: 85%;
    max-width: 19.125rem;
    height: auto;
    margin: 0 auto;
    aspect-ratio: 681/262;
  }
}
.company-fv__lead {
  width: min(min(47.2916666667vw, 681px), 75.667svh);
  margin-top: min(min(4.7916666667vw, 69px), 7.667svh);
  margin-inline: auto;
  color: #d0d0d0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(min(1.25vw, 18px), 2svh);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .company-fv__lead {
    width: min(100%, 13.75rem);
    margin: 0 auto;
    color: #868686;
    font-size: 0.875rem;
    line-height: 1.65;
    text-align: left;
    white-space: normal;
  }
}
@media (max-width: 768px) {
  .company-fv__lead-line {
    display: block;
  }
}
@media (max-width: 768px) {
  .company-fv__lead-break {
    display: none;
  }
}

.company-member {
  background: #1c1c1c;
  padding-top: min(13.8888888889vw, 200px);
}
@media (max-width: 768px) {
  .company-member {
    padding-top: 7.5rem;
  }
}
.company-member__inner {
  width: min(91.6666666667vw, 1320px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .company-member__inner {
    width: calc(100vw - 2.5rem);
    max-width: 100%;
  }
}
.company-member__head {
  display: flex;
  justify-content: space-between;
  min-height: min(16.8055555556vw, 242px);
}
@media (max-width: 768px) {
  .company-member__head {
    display: block;
    min-height: 0;
  }
}
.company-member__intro {
  width: min(32.4305555556vw, 467px);
}
@media (max-width: 768px) {
  .company-member__intro {
    width: 100%;
  }
}
.company-member__title {
  width: min(32.4305555556vw, 467px);
  height: min(9.5833333333vw, 138px);
  font-size: 0;
  line-height: 1;
}
.company-member__title img {
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .company-member__title {
    width: min(100%, 18.875rem);
    height: auto;
    aspect-ratio: 467/138;
  }
}
.company-member__description {
  width: min(27.5694444444vw, 397px);
  margin-top: min(2.7777777778vw, 40px);
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .company-member__description {
    width: 100%;
    margin-top: 2.25rem;
    font-size: 0.9375rem;
    line-height: 1.95;
    text-wrap: wrap;
    white-space: normal;
  }
  .company-member__description br {
    display: none;
  }
}
@media (max-width: 768px) {
  html[lang=ja] .company-member__description {
    font-size: clamp(0.625rem, 3.33vw, 0.9375rem);
    text-wrap: nowrap;
    white-space: nowrap;
  }
}
.company-member__label {
  align-self: flex-end;
  color: #f9f4eb;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .company-member__label {
    margin-top: 3rem;
    font-size: 0.75rem;
  }
}
.company-member__body {
  margin-top: min(5.5555555556vw, 80px);
}
@media (max-width: 768px) {
  .company-member__body {
    margin-top: 4rem;
  }
}
.company-member__cards {
  display: grid;
  grid-template-columns: repeat(2, min(29.6527777778vw, 427px));
  gap: min(1.3888888889vw, 20px);
  align-items: start;
  width: min(60.6944444444vw, 874px);
}
@media (max-width: 768px) {
  .company-member__cards {
    grid-template-columns: 1fr;
    gap: 4rem;
    width: 100%;
  }
}
.company-member__list {
  width: min(60.625vw, 873px);
  margin-top: min(9.7222222222vw, 140px);
  margin-left: min(31.0416666667vw, 447px);
}
@media (max-width: 768px) {
  .company-member__list {
    width: 100%;
    margin-top: 4.5rem;
    margin-left: 0;
  }
}
.company-member__row {
  display: grid;
  grid-template-columns: min(29.5833333333vw, 426px) min(29.5833333333vw, 426px);
  column-gap: min(1.3888888889vw, 20px);
  align-items: center;
  min-height: min(3.4722222222vw, 50px);
  border-bottom: 1px solid #494949;
  color: #fff;
}
.company-member__row + .company-member__row {
  margin-top: min(2.2222222222vw, 32px);
}
@media (max-width: 768px) {
  .company-member__row {
    grid-template-columns: 9.375rem minmax(0, 1fr);
    column-gap: 1rem;
    min-height: 3.5rem;
  }
  .company-member__row + .company-member__row {
    margin-top: 1.5rem;
  }
}
.company-member__row-name {
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(1.25vw, 18px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .company-member__row-name {
    font-size: 0.875rem;
    line-height: 1.35;
  }
}
.company-member__row-role {
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .company-member__row-role {
    justify-self: end;
    font-size: 0.75rem;
    line-height: 1.35;
    text-align: right;
  }
}

.company-member-card {
  width: min(29.6527777778vw, 427px);
  color: #fff;
}
@media (max-width: 768px) {
  .company-member-card {
    width: 100%;
  }
}
.company-member-card__image {
  position: relative;
  width: 100%;
  height: min(31.6666666667vw, 456px);
  overflow: hidden;
  background: #040404;
}
.company-member-card__image img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  image-rendering: pixelated;
  opacity: 0.5;
}
@media (max-width: 768px) {
  .company-member-card__image {
    height: auto;
    aspect-ratio: 427/456;
  }
}
.company-member-card__body {
  margin-top: min(2.2222222222vw, 32px);
}
@media (max-width: 768px) {
  .company-member-card__body {
    margin-top: 1.75rem;
  }
}
.company-member-card__role {
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(1.25vw, 18px);
  line-height: 1;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .company-member-card__role {
    font-size: 0.9375rem;
  }
}
.company-member-card__name {
  margin-top: min(1.6666666667vw, 24px);
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.6666666667vw, 24px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .company-member-card__name {
    margin-top: 1.25rem;
    font-size: 1.375rem;
  }
}
.company-member-card__name-en {
  margin-top: min(0.8333333333vw, 12px);
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .company-member-card__name-en {
    margin-top: 0.75rem;
    font-size: 0.75rem;
  }
}
.company-member-card__bio {
  width: 100%;
  margin-top: min(2.2222222222vw, 32px);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.0416666667vw, 15px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .company-member-card__bio {
    margin-top: 1.75rem;
    font-size: 0.875rem;
    line-height: 1.65;
  }
  .company-member-card__bio br {
    display: none;
  }
}

.company-overview {
  background: #1c1c1c;
  padding-top: min(13.8888888889vw, 200px);
}
@media (max-width: 768px) {
  .company-overview {
    padding-top: 7.5rem;
  }
}
.company-overview__inner {
  width: min(91.6666666667vw, 1320px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .company-overview__inner {
    width: calc(100vw - 2.5rem);
    max-width: 100%;
  }
}
.company-overview__visual {
  width: min(91.6666666667vw, 1320px);
  height: min(28.6805555556vw, 413px);
  overflow: hidden;
  background: #040404;
}
.company-overview__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 768px) {
  .company-overview__visual {
    width: 100%;
    height: auto;
    aspect-ratio: 1319/413;
  }
}
.company-overview__body {
  display: grid;
  grid-template-columns: min(14.0972222222vw, 203px) min(60.625vw, 873px);
  column-gap: min(16.9444444444vw, 244px);
  margin-top: min(6.9444444444vw, 100px);
}
@media (max-width: 768px) {
  .company-overview__body {
    display: block;
    margin-top: 4rem;
  }
}
.company-overview__label {
  color: #f9f4eb;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .company-overview__label {
    font-size: 0.75rem;
  }
}
.company-overview__content {
  width: min(60.625vw, 873px);
}
@media (max-width: 768px) {
  .company-overview__content {
    width: 100%;
    margin-top: 2.5rem;
  }
}
.company-overview__text {
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .company-overview__text {
    font-size: 0.9375rem;
    line-height: 1.95;
  }
  .company-overview__text br {
    display: none;
  }
}
.company-overview__table {
  margin: min(5.5555555556vw, 80px) 0 0;
}
@media (max-width: 768px) {
  .company-overview__table {
    margin-top: 3.5rem;
  }
}
.company-overview__row {
  display: grid;
  grid-template-columns: min(14.0972222222vw, 203px) min(29.6527777778vw, 427px);
  column-gap: min(1.3888888889vw, 20px);
  padding-bottom: min(2.2222222222vw, 32px);
  border-bottom: 1px solid #494949;
}
.company-overview__row + .company-overview__row {
  margin-top: min(1.6666666667vw, 24px);
}
.company-overview__row dt,
.company-overview__row dd {
  margin: 0;
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .company-overview__row {
    grid-template-columns: 6.75rem minmax(0, 1fr);
    column-gap: 1rem;
    padding-bottom: 1.5rem;
  }
  .company-overview__row + .company-overview__row {
    margin-top: 1.25rem;
  }
  .company-overview__row dt,
  .company-overview__row dd {
    font-size: 0.875rem;
    line-height: 1.65;
  }
}
@media (max-width: 768px) {
  .company-overview__row--team-size {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    column-gap: 1rem;
  }
  .company-overview__row--team-size dt {
    flex: 0 0 auto;
  }
  .company-overview__row--team-size dd {
    min-width: 0;
  }
}
.company-overview__company-name {
  text-transform: uppercase;
}
@media (max-width: 768px) {
  html[lang=ja] .company-overview__team-size {
    font-size: clamp(0.75rem, 3.5vw, 0.875rem);
    white-space: nowrap;
  }
}
.company-overview__sp-break {
  display: none;
}
@media (max-width: 768px) {
  .company-overview__sp-break {
    display: block;
  }
}
.company-overview__pc-space {
  display: inline;
}
@media (max-width: 768px) {
  .company-overview__pc-space {
    display: none;
  }
}

.contents-page {
  overflow-x: hidden;
  overflow-x: clip;
  background: linear-gradient(112deg, rgba(204, 237, 251, 0.98) 0%, rgba(232, 226, 250, 0.96) 51%, rgba(255, 221, 238, 0.98) 100%);
  color: #040404;
}

.contents-br-sp {
  display: none;
}
@media (max-width: 768px) {
  .contents-br-sp {
    display: inline;
  }
}

.contents-fv {
  --contents-fv-character-x: 0px;
  --contents-fv-character-y: 0px;
  --contents-fv-backdrop-x: 0px;
  --contents-fv-backdrop-y: 0px;
  position: relative;
  overflow: visible;
  background: linear-gradient(112deg, rgba(190, 231, 249, 0.96) 0%, rgba(226, 225, 251, 0.94) 48%, rgba(255, 215, 235, 0.98) 100%);
  color: #040404;
}
.contents-fv__grid {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.34) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.34) 1px, transparent 1px);
  background-size: min(2.7777777778vw, 40px) min(2.7777777778vw, 40px);
  height: min(61.1805555556vw, 881px);
}
@media (max-width: 768px) {
  .contents-fv__grid {
    background-size: 2rem 2rem;
    height: 100%;
  }
}
.contents-fv__visual {
  position: absolute;
  z-index: 1;
  top: max(-28.3333333333vw, -408px);
  left: min(21.5972222222vw, 311px);
  width: min(139.3055555556vw, 2006px);
  height: min(208.9583333333vw, 3009px);
  opacity: 0.4;
  mix-blend-mode: overlay;
  pointer-events: none;
}
.contents-fv__visual img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 768px) {
  .contents-fv__visual {
    top: 12rem;
    right: -5.5rem;
    left: auto;
    width: 20.625rem;
    height: 30.9375rem;
  }
}
.contents-fv__visual-side {
  position: absolute;
  z-index: 4;
  top: 0;
  right: max(-0.7638888889vw, -11px);
  display: block;
  width: min(90.6944444444vw, 1306px);
  height: min(136.0416666667vw, 1959px);
  clip-path: inset(0 0 0 34.85%);
  cursor: pointer;
}
.contents-fv__visual-side:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -0.25rem;
}
.contents-fv__visual-side img {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: contain;
  object-position: right top;
  filter: none;
  transform: translate3d(0, 0, 0) scale(1);
  transform-origin: right top;
  transition: filter 0.7s ease, right 0.8s cubic-bezier(0.16, 1, 0.3, 1), top 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: filter, right, top, transform;
}
@media (max-width: 768px) {
  .contents-fv__visual-side {
    top: 14.5rem;
    right: -3.75rem;
    width: 18.75rem;
    height: auto;
    aspect-ratio: 1042/2400;
    clip-path: none;
    opacity: 0.92;
  }
  .contents-fv__visual-side img {
    height: 100%;
  }
}
.contents-fv__hover-backdrop {
  position: absolute;
  z-index: 3;
  top: 12%;
  right: 5%;
  width: min(39.9305555556vw, 575px);
  aspect-ratio: 1206/1284;
  overflow: hidden;
  border: 1px solid rgba(27, 29, 42, 0.36);
  border-radius: 0.375rem;
  box-shadow: 0 1.75rem 4.375rem rgba(51, 42, 88, 0.2);
  opacity: 0;
  clip-path: inset(0 0 0 88% round 0.375rem);
  filter: blur(0.875rem) saturate(0.78);
  transform: translate3d(18%, 4%, 0) scale(0.92);
  transform-origin: right center;
  transition: clip-path 0.8s cubic-bezier(0.16, 1, 0.3, 1), filter 0.65s ease, opacity 0.32s ease, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: clip-path, filter, opacity, transform;
  pointer-events: none;
}
.contents-fv__hover-backdrop::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.45);
  content: "";
  pointer-events: none;
}
@media (max-width: 768px) {
  .contents-fv__hover-backdrop {
    top: 50%;
    right: 3%;
    width: min(64vw, 15.625rem);
  }
}
.contents-fv__hover-backdrop-bg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contents-fv__hover-backdrop .titan-chan-page__logo, .contents-fv__hover-backdrop .titan-chan-page__window--welcome {
  position: absolute;
  z-index: 2;
  max-width: none;
  height: auto;
  opacity: 0 !important;
  filter: blur(0.4375rem);
  transform: translate3d(0, 1rem, 0) scale(0.94) !important;
  transition: filter 0.55s ease, opacity 0.45s ease, transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: 0s;
  animation: none !important;
  will-change: filter, opacity, transform;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.contents-fv__hover-backdrop .titan-chan-page__logo {
  top: 24%;
  left: 7%;
  width: min(50%, 18.125rem);
}
.contents-fv__hover-backdrop .titan-chan-page__window--welcome {
  top: 58%;
  left: 10%;
  width: min(48%, 17.8125rem);
}
.contents-fv.is-titan-hover-active .contents-fv__hover-backdrop {
  opacity: 1;
  clip-path: inset(0 round 0.375rem);
  filter: blur(0) saturate(1);
  transform: translate3d(calc(-4% + var(--contents-fv-backdrop-x)), var(--contents-fv-backdrop-y), 0) scale(1);
}
@media (max-width: 768px) {
  .contents-fv.is-titan-hover-active .contents-fv__hover-backdrop {
    transform: translate3d(-3%, 0, 0) scale(1);
  }
}
.contents-fv.is-titan-hover-active .titan-chan-page__logo,
.contents-fv.is-titan-hover-active .titan-chan-page__window--welcome {
  opacity: 1 !important;
  filter: blur(0);
  transform: translate3d(0, 0, 0) scale(1) !important;
}
.contents-fv.is-titan-hover-active .titan-chan-page__logo {
  transition-delay: 0.55s;
}
.contents-fv.is-titan-hover-active .titan-chan-page__window--welcome {
  transition-delay: 0.78s;
}
.contents-fv.is-titan-hover-active .contents-fv__visual-side img {
  top: min(9.7222222222vw, 140px);
  right: min(8.3333333333vw, 120px);
  filter: drop-shadow(0 1.625rem 2.125rem rgba(56, 42, 69, 0.18));
  transform: translate3d(var(--contents-fv-character-x), var(--contents-fv-character-y), 0) scale(0.275);
}
@media (max-width: 768px) {
  .contents-fv.is-titan-hover-active .contents-fv__visual-side img {
    top: 3.125rem;
    right: 5.125rem;
    transform: translate3d(var(--contents-fv-character-x), var(--contents-fv-character-y), 0) scale(0.366);
  }
}
.contents-fv__inner {
  position: relative;
  z-index: 2;
  width: min(91.6666666667vw, 1320px);
  margin-inline: auto;
  padding-top: min(13.4722222222vw, 194px);
  padding-bottom: min(12.5vw, 180px);
}
@media (max-width: 768px) {
  .contents-fv__inner {
    width: calc(100vw - 2.5rem);
    padding-block: 7.5rem;
  }
}
.contents-fv__title {
  width: min(45.8333333333vw, 660px);
  height: min(5.9722222222vw, 86px);
  font-size: 0;
  line-height: 1;
}
.contents-fv__title img {
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .contents-fv__title {
    width: min(100%, 20.9375rem);
    height: auto;
    aspect-ratio: 660/86;
  }
}
.contents-fv__lead {
  width: min(45.9027777778vw, 661px);
  margin-top: min(4.375vw, 63px);
  color: #040404;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.25vw, 18px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 768px) {
  .contents-fv__lead {
    width: 100%;
    margin-top: 2.5rem;
    font-size: 0.875rem;
    line-height: 1.95;
    max-width: 100%;
    line-break: anywhere;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contents-fv__hover-backdrop,
  .contents-fv__visual-side img,
  .contents-fv__hover-backdrop .titan-chan-page__logo,
  .contents-fv__hover-backdrop .titan-chan-page__window--welcome {
    transition-duration: 0.01ms;
    transition-delay: 0s;
  }
}
.contents-main {
  position: relative;
  overflow: hidden;
  background-color: rgba(248, 248, 250, 0.3);
  backdrop-filter: blur(20px);
  color: #040404;
  border-radius: min(2.2222222222vw, 32px);
  z-index: 10;
}

.contents-products,
.contents-activities {
  position: relative;
  z-index: 1;
  scroll-margin-top: min(6.6666666667vw, 96px);
}
.contents-products__inner,
.contents-activities__inner {
  width: min(91.7702777778vw, 1321.492px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .contents-products__inner,
  .contents-activities__inner {
    width: calc(100vw - 2.5rem);
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .contents-products,
  .contents-activities {
    scroll-margin-top: 5.375rem;
  }
}

.contents-products {
  padding-top: min(12.5vw, 180px);
}
@media (max-width: 768px) {
  .contents-products {
    padding-top: 7.5rem;
  }
}
.contents-products__head {
  width: min(47.2222222222vw, 680px);
}
@media (max-width: 768px) {
  .contents-products__head {
    width: 100%;
  }
}
.contents-products__title {
  width: min(34.3055555556vw, 494px);
  height: min(4.1666666667vw, 60px);
  font-size: 0;
  line-height: 1;
}
.contents-products__title img {
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .contents-products__title {
    width: min(100%, 20.625rem);
    height: auto;
    aspect-ratio: 494/60;
  }
}
.contents-products__lead {
  width: min(47.2222222222vw, 680px);
  margin-top: min(2.7777777778vw, 40px);
  color: #040404;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1.75;
  letter-spacing: 0;
  overflow-wrap: normal;
  word-break: keep-all;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .contents-products__lead {
    width: 100%;
    margin-top: 2rem;
    font-size: 0.875rem;
    line-height: 1.85;
    max-width: 100%;
    line-break: anywhere;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }
}
.contents-products__list {
  display: flex;
  flex-direction: column;
  gap: min(4.1666666667vw, 60px);
  margin-top: min(5.5555555556vw, 80px);
}
@media (max-width: 768px) {
  .contents-products__list {
    gap: 2.5rem;
    margin-top: 3.5rem;
  }
}

.contents-product-card {
  display: grid;
  grid-template-columns: min(34.7222222222vw, 500px) min(46.6666666667vw, 672px);
  column-gap: min(2.6388888889vw, 38px);
  width: min(91.6666666667vw, 1320px);
  min-height: min(36.6666666667vw, 528px);
  padding: min(3.75vw, 54px) min(3.4722222222vw, 50px) min(3.75vw, 54px) min(4.1666666667vw, 60px);
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: min(0.8333333333vw, 12px);
  background: rgba(255, 255, 255, 0.84);
  color: #040404;
}
@media (max-width: 768px) {
  .contents-product-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 0;
    padding: 1.75rem;
    border-radius: 0.75rem;
  }
}
.contents-product-card__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: min(34.7222222222vw, 500px);
  min-height: min(28.3333333333vw, 408px);
}
@media (max-width: 768px) {
  .contents-product-card__content {
    display: contents;
  }
  .contents-product-card__content > div {
    order: 1;
  }
  .contents-product-card__content > .contents-button {
    order: 3;
  }
}
.contents-product-card__label {
  color: #040404;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .contents-product-card__label {
    font-size: 0.75rem;
  }
}
.contents-product-card__title {
  margin-top: min(2.7777777778vw, 40px);
  color: #040404;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.6666666667vw, 24px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .contents-product-card__title {
    margin-top: 1.75rem;
    font-size: 1.25rem;
    line-height: 1.65;
    max-width: 100%;
    line-break: anywhere;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }
}
.contents-product-card__text {
  margin-top: min(1.1111111111vw, 16px);
  color: #040404;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1.75;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .contents-product-card__text {
    margin-top: 1.25rem;
    font-size: 0.875rem;
    line-height: 1.8;
    max-width: 100%;
    line-break: anywhere;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }
}
.contents-product-card__visual {
  width: min(46.6666666667vw, 672px);
  height: min(29.1666666667vw, 420px);
  overflow: hidden;
}
.contents-product-card__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 768px) {
  .contents-product-card__visual {
    order: 2;
    width: 100%;
    height: auto;
    margin-top: 2.5rem;
    aspect-ratio: 672/420;
  }
}

.contents-button {
  display: flex;
  gap: min(1.3888888889vw, 20px);
  align-items: center;
  justify-content: center;
  width: min(10.4166666667vw, 150px);
  height: min(3.4722222222vw, 50px);
  margin-left: auto;
  border: 1px solid rgba(4, 4, 4, 0.2);
  border-radius: min(0.2777777778vw, 4px);
  color: #040404;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  transition: border-color 0.3s ease, opacity 0.3s ease;
}
.contents-button img {
  width: min(0.5555555556vw, 8px);
  height: min(0.5555555556vw, 8px);
}
@media (hover: hover) {
  .contents-button:hover {
    border-color: rgba(4, 4, 4, 0.48);
    opacity: 0.72;
  }
}
@media (max-width: 768px) {
  .contents-button {
    gap: 1rem;
    width: 9.375rem;
    height: 3.125rem;
    margin-top: 3rem;
    border-radius: 0.25rem;
    font-size: 0.8125rem;
  }
  .contents-button img {
    width: 0.5rem;
    height: 0.5rem;
  }
}
.contents-button--dark {
  margin-right: auto;
  margin-left: 0;
}

.contents-activities {
  padding-top: min(16.6666666667vw, 240px);
  padding-bottom: min(16.6666666667vw, 240px);
}
@media (max-width: 768px) {
  .contents-activities {
    padding-block: 7.5rem;
  }
}
.contents-activities__head {
  width: min(35.4166666667vw, 510px);
}
@media (max-width: 768px) {
  .contents-activities__head {
    width: 100%;
  }
}
.contents-activities__title {
  width: min(16.1593055556vw, 232.694px);
  height: min(4.1666666667vw, 60px);
  font-size: 0;
  line-height: 1;
}
.contents-activities__title img {
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .contents-activities__title {
    width: min(100%, 14.5625rem);
    height: auto;
    aspect-ratio: 232.694/60;
  }
}
.contents-activities__lead {
  width: min(35.4166666667vw, 510px);
  margin-top: min(2.7777777778vw, 40px);
  color: #040404;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1.75;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 768px) {
  .contents-activities__lead {
    width: 100%;
    margin-top: 2rem;
    font-size: 0.875rem;
    line-height: 1.85;
    max-width: 100%;
    line-break: anywhere;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }
  .contents-activities__lead br {
    display: none;
  }
}

.contents-section-label {
  color: #040404;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .contents-section-label {
    font-size: 0.75rem;
  }
}

.contents-featured {
  margin-top: min(5.5555555556vw, 80px);
}
@media (max-width: 768px) {
  .contents-featured {
    margin-top: 4rem;
  }
}
.contents-featured__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: min(1.3888888889vw, 20px);
  margin-top: min(2.7777777778vw, 40px);
}
@media (max-width: 768px) {
  .contents-featured__list {
    grid-template-columns: 1fr;
    gap: 3rem;
    margin-top: 2rem;
  }
  .contents-featured__list > .contents-featured-card:nth-child(n+2) {
    display: none;
  }
}

.contents-featured-card {
  width: 100%;
  color: #040404;
}
.contents-featured-card a {
  display: block;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .contents-featured-card a {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    column-gap: 0.75rem;
    align-items: center;
  }
}
@media (hover: hover) {
  .contents-featured-card a:hover {
    opacity: 0.76;
  }
}
.contents-featured-card__image {
  width: 100%;
  height: min(25.4166666667vw, 366px);
  overflow: hidden;
  border-radius: min(0.2777777778vw, 4px);
  background: #040404;
}
.contents-featured-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 768px) {
  .contents-featured-card__image {
    grid-row: 1;
    grid-column: 1/-1;
    height: auto;
    border-radius: 0.25rem;
    aspect-ratio: 651/366;
  }
}
.contents-featured-card__meta {
  display: flex;
  align-items: center;
  margin-top: min(2.2222222222vw, 32px);
  color: #040404;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
}
.contents-featured-card__meta::before {
  content: "";
  width: min(0.2777777778vw, 4px);
  height: min(0.2777777778vw, 4px);
  margin-right: min(0.5555555556vw, 8px);
  background: currentColor;
}
@media (max-width: 768px) {
  .contents-featured-card__meta {
    grid-row: 2;
    grid-column: 1;
    margin-top: 1.5rem;
    font-size: 0.75rem;
  }
  .contents-featured-card__meta::before {
    width: 0.25rem;
    height: 0.25rem;
    margin-right: 0.5rem;
  }
}
.contents-featured-card h3 {
  margin-top: min(0.8333333333vw, 12px);
  color: #040404;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .contents-featured-card h3 {
    grid-row: 3;
    grid-column: 1/-1;
    margin-top: 0.625rem;
    font-size: 0.9375rem;
    line-height: 1.7;
  }
}

.contents-latest {
  margin-top: min(8.3333333333vw, 120px);
}
@media (max-width: 768px) {
  .contents-latest {
    margin-top: 5rem;
  }
}
.contents-latest__table {
  margin-top: min(2.7777777778vw, 40px);
}
@media (max-width: 768px) {
  .contents-latest__table {
    margin-top: 2rem;
  }
}
.contents-latest__head, .contents-latest__row {
  display: grid;
  grid-template-columns: min(14.0972222222vw, 203px) min(14.1666666667vw, 204px) minmax(0, 1fr) min(5vw, 72px);
  column-gap: min(1.3888888889vw, 20px);
  align-items: center;
  color: #040404;
}
.contents-latest__head {
  height: min(2.3611111111vw, 34px);
  border-bottom: 1px solid rgba(4, 4, 4, 0.38);
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
.contents-latest__row {
  min-height: min(7.5vw, 108px);
  border-bottom: 1px solid rgba(4, 4, 4, 0.38);
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  transition: opacity 0.3s ease;
}
.contents-latest__row time {
  display: flex;
  align-items: center;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1;
  letter-spacing: 0;
}
.contents-latest__row time::before {
  content: "";
  width: min(0.2777777778vw, 4px);
  height: min(0.2777777778vw, 4px);
  margin-right: min(0.5555555556vw, 8px);
  background: currentColor;
}
.contents-latest__row > span:nth-of-type(2) {
  color: #040404;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 1.75;
  letter-spacing: 0;
}
.contents-latest__row > span:nth-of-type(3) {
  justify-self: end;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
}
.contents-latest__row .contents-latest__arrow {
  display: block;
  width: min(2.5202777778vw, 36.292px);
  height: min(0.8944444444vw, 12.88px);
  font-size: 0;
}
.contents-latest__row .contents-latest__arrow img {
  display: block;
  width: 100%;
  height: 100%;
}
@media (hover: hover) {
  .contents-latest__row:hover {
    opacity: 0.66;
  }
}
.contents-latest__button {
  margin-top: min(5.5555555556vw, 80px);
  margin-left: auto;
}
@media (max-width: 768px) {
  .contents-latest__head {
    display: none;
  }
  .contents-latest__row {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 0.875rem 1rem;
    min-height: 0;
    padding: 1.5rem 0;
  }
  .contents-latest__row:nth-of-type(n + 4) {
    display: none;
  }
  .contents-latest__row time {
    grid-column: 1;
    font-size: 0.75rem;
  }
  .contents-latest__row time::before {
    width: 0.25rem;
    height: 0.25rem;
    margin-right: 0.5rem;
  }
  .contents-latest__row > .activity-tag {
    grid-column: 2;
    grid-row: 1;
  }
  .contents-latest__row > span:nth-of-type(2) {
    grid-column: 1/-1;
    font-size: 0.875rem;
    line-height: 1.7;
  }
  .contents-latest__row > span:nth-of-type(3) {
    grid-column: 1/-1;
    justify-self: start;
    font-size: 0.75rem;
  }
  .contents-latest__row .contents-latest__arrow {
    display: none;
    width: 2.26825rem;
    height: 0.805rem;
  }
  .contents-latest__button {
    margin-top: 3rem;
    margin-right: auto;
    margin-left: 0;
  }
}

.titan-chan-body {
  background: #d9d4ec;
}

.titan-chan-page {
  position: relative;
  min-height: max(100svh, min(62.5vw, 900px));
  overflow: hidden;
  background: #d9d4ec url("../img/titan-chan-grid.png") center top/cover no-repeat;
}
.titan-chan-page__stage {
  position: relative;
  width: min(100%, 1440px);
  height: min(62.5vw, 900px);
  min-height: 0;
  margin-inline: auto;
}
.titan-chan-page__window, .titan-chan-page__logo {
  position: absolute;
  max-width: none;
  height: auto;
  user-select: none;
  -webkit-user-drag: none;
}
.titan-chan-page__window--hero {
  z-index: 1;
  top: 0;
  left: min(6.875vw, 99px);
  width: min(41.875vw, 603px);
  height: min(58.125vw, 837px);
  overflow: hidden;
}
.titan-chan-page__hero-bg, .titan-chan-page__hero-character {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.titan-chan-page__hero-bg {
  top: min(13.5416666667vw, 195px);
  left: 0;
  width: 100%;
}
.titan-chan-page__hero-character {
  z-index: 1;
  top: 0;
  left: min(0.3472222222vw, 5px);
  width: min(41.1805555556vw, 593px);
}
.titan-chan-page__window--welcome {
  z-index: 2;
  top: min(42.9166666667vw, 618px);
  left: min(3.1944444444vw, 46px);
  width: min(24.2361111111vw, 349px);
  height: min(12.4305555556vw, 179px);
}
.titan-chan-page__welcome-layer {
  position: absolute;
  display: block;
  width: 91.691%;
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.titan-chan-page__welcome-layer--back-far {
  z-index: 0;
  top: 15.642%;
  left: 0;
}
.titan-chan-page__welcome-layer--back-near {
  z-index: 1;
  top: 7.263%;
  left: 4.011%;
}
.titan-chan-page__welcome-layer--front {
  z-index: 2;
  top: 0;
  left: 8.309%;
}
.titan-chan-page__window--room {
  z-index: 3;
  top: min(9.4444444444vw, 136px);
  left: min(52.3611111111vw, 754px);
  width: min(26.7361111111vw, 385px);
  height: min(19.5833333333vw, 282px);
  overflow: hidden;
}
.titan-chan-page__room-frame, .titan-chan-page__room-character {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.titan-chan-page__room-frame {
  top: 0;
  left: 0;
  width: 100%;
}
.titan-chan-page__room-character {
  z-index: 1;
  bottom: 2.66%;
  left: 50%;
  width: 50.91%;
  transform: translateX(-50%);
}
.titan-chan-page__window--standing {
  z-index: 4;
  top: min(18.8888888889vw, 272px);
  left: min(72.1527777778vw, 1039px);
  width: min(22.2222222222vw, 320px);
  height: min(40.2083333333vw, 579px);
  overflow: hidden;
}
.titan-chan-page__standing-frame, .titan-chan-page__standing-character {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.titan-chan-page__standing-frame {
  top: 0;
  left: 0;
  width: 100%;
}
.titan-chan-page__standing-character {
  z-index: 1;
  top: 13.126%;
  left: 1.5625%;
  width: 98.4375%;
}
.titan-chan-page__window--sketch {
  z-index: 5;
  top: min(31.25vw, 450px);
  left: min(55.2777777778vw, 796px);
  width: min(19.2361111111vw, 277px);
  height: min(21.875vw, 315px);
  overflow: hidden;
}
.titan-chan-page__sketch-frame, .titan-chan-page__sketch-character {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.titan-chan-page__sketch-frame {
  top: 0;
  left: 0;
  width: 100%;
}
.titan-chan-page__sketch-character {
  z-index: 1;
  top: 14.759%;
  left: 3.957%;
  width: 91.924%;
}
.titan-chan-page__window--chibi {
  z-index: 6;
  top: min(41.3888888889vw, 596px);
  left: min(37.2916666667vw, 537px);
  width: min(22.2222222222vw, 320px);
  height: min(19.5833333333vw, 282px);
  overflow: hidden;
}
.titan-chan-page__chibi-frame, .titan-chan-page__chibi-character {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.titan-chan-page__chibi-frame {
  top: 0;
}
.titan-chan-page__chibi-viewport {
  position: absolute;
  z-index: 1;
  top: 15.248%;
  left: 1.875%;
  width: 96.5625%;
  height: 82.979%;
  overflow: hidden;
  pointer-events: none;
}
.titan-chan-page__chibi-character {
  top: -47.21%;
  left: -4.95%;
  width: 140.45%;
  height: 185.47%;
}
.titan-chan-page__logo {
  z-index: 7;
  top: min(33.1944444444vw, 478px);
  left: min(8.6111111111vw, 124px);
  width: min(15.1388888889vw, 218px);
}
@media (max-width: 768px) {
  .titan-chan-page {
    min-height: 0;
    background-position: center top;
    background-size: auto 100%;
  }
  .titan-chan-page__stage {
    width: 100%;
    height: 49rem;
  }
  .titan-chan-page__window--hero {
    top: 1.25rem;
    left: -18vw;
    width: min(92vw, 24.375rem);
    height: auto;
    aspect-ratio: 603/837;
  }
  .titan-chan-page__hero-bg {
    top: 23.297%;
  }
  .titan-chan-page__hero-character {
    left: 0.829%;
    width: 98.342%;
  }
  .titan-chan-page__window--welcome {
    z-index: 5;
    top: 24.25rem;
    left: 3vw;
    width: min(46vw, 16.125rem);
    height: auto;
    aspect-ratio: 349/179;
  }
  .titan-chan-page__window--room {
    top: 5.875rem;
    right: -10vw;
    left: auto;
    width: min(58vw, 15.375rem);
    height: auto;
    aspect-ratio: 385/282;
  }
  .titan-chan-page__window--standing {
    top: 17.375rem;
    right: -8vw;
    left: auto;
    width: min(47vw, 12.4375rem);
    height: auto;
    aspect-ratio: 320/579;
  }
  .titan-chan-page__window--sketch {
    z-index: 6;
    top: 34.875rem;
    left: 53vw;
    width: min(42vw, 11.125rem);
    height: auto;
    aspect-ratio: 277/315;
  }
  .titan-chan-page__window--chibi {
    z-index: 7;
    top: 30.625rem;
    left: -12vw;
    width: min(60vw, 15.875rem);
    height: auto;
    aspect-ratio: 320/282;
  }
  .titan-chan-page__logo {
    z-index: 8;
    top: 20.875rem;
    left: 23vw;
    width: min(35vw, 12.125rem);
  }
}

@media (prefers-reduced-motion: no-preference) {
  [data-titan-chan-entry] .titan-chan-page__hero-bg {
    opacity: 0;
    clip-path: inset(0 88% 0 0 round 0.375rem);
    filter: blur(0.875rem) saturate(0.78);
    transform: translate3d(-18%, 4%, 0) scale(0.92);
    transform-origin: left center;
    transition: clip-path 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.08s, filter 0.65s ease 0.08s, opacity 0.32s ease 0.08s, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.08s;
    will-change: clip-path, filter, opacity, transform;
  }
  [data-titan-chan-entry] .titan-chan-page__hero-character {
    opacity: 0;
    filter: blur(0.625rem);
    transform: translate3d(7%, 3%, 0) scale(0.94);
    transform-origin: center top;
    transition: filter 0.7s ease 0.38s, opacity 0.48s ease 0.38s, transform 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.38s;
    will-change: filter, opacity, transform;
  }
  [data-titan-chan-entry] .titan-chan-page__chibi-frame {
    opacity: 0;
    clip-path: inset(0 88% 0 0 round 0.25rem);
    filter: blur(0.625rem) saturate(0.82);
    transform: translate3d(-16%, 3%, 0) scale(0.93);
    transform-origin: left center;
    transition: clip-path 0.76s cubic-bezier(0.16, 1, 0.3, 1) 0.62s, filter 0.62s ease 0.62s, opacity 0.3s ease 0.62s, transform 0.76s cubic-bezier(0.16, 1, 0.3, 1) 0.62s;
    will-change: clip-path, filter, opacity, transform;
  }
  [data-titan-chan-entry] .titan-chan-page__chibi-character {
    opacity: 0;
    filter: blur(0.5rem);
    transform: translate3d(7%, 4%, 0) scale(0.94);
    transform-origin: center top;
    transition: filter 0.64s ease 0.88s, opacity 0.44s ease 0.88s, transform 0.82s cubic-bezier(0.16, 1, 0.3, 1) 0.88s;
    will-change: filter, opacity, transform;
  }
  [data-titan-chan-entry] .titan-chan-page__room-frame {
    opacity: 0;
    clip-path: inset(0 0 88% 0 round 0.25rem);
    filter: blur(0.625rem) saturate(0.82);
    transform: translate3d(3%, -16%, 0) scale(0.93);
    transform-origin: center top;
    transition: clip-path 0.76s cubic-bezier(0.16, 1, 0.3, 1) 0.32s, filter 0.62s ease 0.32s, opacity 0.3s ease 0.32s, transform 0.76s cubic-bezier(0.16, 1, 0.3, 1) 0.32s;
    will-change: clip-path, filter, opacity, transform;
  }
  [data-titan-chan-entry] .titan-chan-page__room-character {
    opacity: 0;
    filter: blur(0.5rem);
    transform: translate3d(-43%, 4%, 0) scale(0.94);
    transform-origin: center bottom;
    transition: filter 0.64s ease 0.58s, opacity 0.44s ease 0.58s, transform 0.82s cubic-bezier(0.16, 1, 0.3, 1) 0.58s;
    will-change: filter, opacity, transform;
  }
  [data-titan-chan-entry] .titan-chan-page__standing-frame {
    opacity: 0;
    clip-path: inset(0 0 0 88% round 0.25rem);
    filter: blur(0.625rem) saturate(0.82);
    transform: translate3d(16%, 3%, 0) scale(0.93);
    transform-origin: right center;
    transition: clip-path 0.76s cubic-bezier(0.16, 1, 0.3, 1) 0.44s, filter 0.62s ease 0.44s, opacity 0.3s ease 0.44s, transform 0.76s cubic-bezier(0.16, 1, 0.3, 1) 0.44s;
    will-change: clip-path, filter, opacity, transform;
  }
  [data-titan-chan-entry] .titan-chan-page__standing-character {
    opacity: 0;
    filter: blur(0.5rem);
    transform: translate3d(7%, 4%, 0) scale(0.94);
    transform-origin: center bottom;
    transition: filter 0.64s ease 0.7s, opacity 0.44s ease 0.7s, transform 0.82s cubic-bezier(0.16, 1, 0.3, 1) 0.7s;
    will-change: filter, opacity, transform;
  }
  [data-titan-chan-entry] .titan-chan-page__sketch-frame {
    opacity: 0;
    clip-path: inset(88% 0 0 0 round 0.25rem);
    filter: blur(0.625rem) saturate(0.82);
    transform: translate3d(3%, 16%, 0) scale(0.93);
    transform-origin: center bottom;
    transition: clip-path 0.76s cubic-bezier(0.16, 1, 0.3, 1) 0.56s, filter 0.62s ease 0.56s, opacity 0.3s ease 0.56s, transform 0.76s cubic-bezier(0.16, 1, 0.3, 1) 0.56s;
    will-change: clip-path, filter, opacity, transform;
  }
  [data-titan-chan-entry] .titan-chan-page__sketch-character {
    opacity: 0;
    filter: blur(0.5rem);
    transform: translate3d(7%, 4%, 0) scale(0.94);
    transform-origin: center bottom;
    transition: filter 0.64s ease 0.82s, opacity 0.44s ease 0.82s, transform 0.82s cubic-bezier(0.16, 1, 0.3, 1) 0.82s;
    will-change: filter, opacity, transform;
  }
  [data-titan-chan-entry] .titan-chan-page__welcome-layer {
    opacity: 0;
    filter: blur(0.4375rem);
    transition: filter 0.58s ease, opacity 0.48s ease, transform 0.72s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: filter, opacity, transform;
  }
  [data-titan-chan-entry] .titan-chan-page__welcome-layer--back-far {
    transform: translate3d(-10%, 6%, 0) scale(0.94);
    transition-delay: 0.84s;
  }
  [data-titan-chan-entry] .titan-chan-page__welcome-layer--back-near {
    transform: translate3d(-6%, 4%, 0) scale(0.95);
    transition-delay: 1.02s;
  }
  [data-titan-chan-entry] .titan-chan-page__welcome-layer--front {
    transform: translate3d(0, 6%, 0) scale(0.96);
    transition-delay: 1.2s;
  }
  [data-titan-chan-entry] .titan-chan-page__logo {
    opacity: 0;
    filter: blur(0.4375rem);
    transform: translate3d(0, 1rem, 0) scale(0.94);
    transition: filter 0.55s ease, opacity 0.45s ease, transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: filter, opacity, transform;
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__hero-bg {
    opacity: 1;
    clip-path: inset(0 round 0.375rem);
    filter: blur(0) saturate(1);
    transform: translate3d(0, 0, 0) scale(1);
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__hero-character {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0) scale(1);
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__chibi-frame {
    opacity: 1;
    clip-path: inset(0 round 0.25rem);
    filter: blur(0) saturate(1);
    transform: translate3d(0, 0, 0) scale(1);
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__chibi-character {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0) scale(1);
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__room-frame {
    opacity: 1;
    clip-path: inset(0 round 0.25rem);
    filter: blur(0) saturate(1);
    transform: translate3d(0, 0, 0) scale(1);
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__room-character {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(-50%, 0, 0) scale(1);
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__standing-frame {
    opacity: 1;
    clip-path: inset(0 round 0.25rem);
    filter: blur(0) saturate(1);
    transform: translate3d(0, 0, 0) scale(1);
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__standing-character {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0) scale(1);
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__sketch-frame {
    opacity: 1;
    clip-path: inset(0 round 0.25rem);
    filter: blur(0) saturate(1);
    transform: translate3d(0, 0, 0) scale(1);
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__sketch-character {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0) scale(1);
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__welcome-layer {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0) scale(1);
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__logo {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0) scale(1);
  }
  [data-titan-chan-entry].is-entry-visible .titan-chan-page__logo {
    transition-delay: 0.94s;
  }
}
.error-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100svh;
  padding: min(8.3333333333vw, 120px) min(1.3888888889vw, 20px) 0;
  background: #1c1c1c;
}
@media (max-width: 768px) {
  .error-page {
    min-height: 100svh;
    padding: 7.5rem 1.25rem 5rem;
  }
}
.error-page__inner {
  display: flex;
  flex-direction: column;
  gap: min(5.5555555556vw, 80px);
  align-items: center;
  width: 100%;
}
@media (max-width: 768px) {
  .error-page__inner {
    gap: 3rem;
  }
}
.error-page__title {
  width: min(40.2777777778vw, 580px);
  height: min(12.2708333333vw, 176.7px);
}
.error-page__title img {
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .error-page__title {
    width: min(100%, 21.875rem);
    height: auto;
    aspect-ratio: 580/176.7;
  }
}
.error-page__lead {
  width: min(30.1388888889vw, 434px);
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: min(1.1111111111vw, 16px);
  line-height: 2;
  letter-spacing: 0;
  text-align: center;
}
@media (max-width: 768px) {
  .error-page__lead {
    width: 100%;
    max-width: 21.875rem;
    font-size: 0.875rem;
    line-height: 2;
    overflow-wrap: anywhere;
  }
}
.error-page__link {
  display: flex;
  gap: min(1.3888888889vw, 20px);
  align-items: center;
  justify-content: center;
  height: min(3.4722222222vw, 50px);
  padding: min(0.6944444444vw, 10px) min(1.6666666667vw, 24px);
  border: 1px solid #494949;
  border-radius: min(0.2777777778vw, 4px);
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
.error-page__link img {
  width: min(0.5556944444vw, 8.002px);
  height: min(1.1805555556vw, 17px);
}
@media (hover: hover) {
  .error-page__link:hover {
    border-color: rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.08);
  }
}
@media (max-width: 768px) {
  .error-page__link {
    gap: 1.25rem;
    height: 3.125rem;
    padding: 0.625rem 1.5rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
  }
  .error-page__link img {
    width: 0.5rem;
    height: 1.0625rem;
  }
}

.activity-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(3.6805555556vw, 53px);
  height: min(1.8055555556vw, 26px);
  padding-inline: min(0.6944444444vw, 10px);
  background: #040404;
  color: #fff;
  font-family: "Sometype Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: min(0.9722222222vw, 14px);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .activity-tag {
    min-width: 3.3125rem;
    height: 1.625rem;
    padding-inline: 0.625rem;
    font-size: 0.75rem;
  }
}

.is-reveal-ready .activity-tag.js-text-reveal {
  opacity: 0;
  clip-path: inset(0 0 100% 0);
  transform: translate3d(0, min(1.25vw, 18px), 0);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1), clip-path 0.85s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--reveal-delay, 0s) + 0.15s);
  will-change: opacity, transform, clip-path;
}
@media (max-width: 768px) {
  .is-reveal-ready .activity-tag.js-text-reveal {
    transform: translate3d(0, 1.125rem, 0);
  }
}

.is-reveal-ready .activity-tag.js-text-reveal.is-reveal-urgent {
  transition-delay: 0s;
}

.is-reveal-ready .activity-tag.js-text-reveal.is-visible {
  opacity: 1;
  clip-path: inset(-10% -10% -10% -10%);
  transform: translate3d(0, 0, 0);
}

.activity-tag__text {
  position: relative;
  display: inline-block;
  white-space: pre;
}

.activity-tag__animation {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  white-space: pre;
}

.activity-tag__measure {
  opacity: 0;
  white-space: pre;
  pointer-events: none;
}

.top-news-card__body > .activity-tag,
.news-card__body > .activity-tag,
.contents-featured-card .activity-tag {
  margin-top: min(1.3888888889vw, 20px);
}
@media (max-width: 768px) {
  .top-news-card__body > .activity-tag,
  .news-card__body > .activity-tag,
  .contents-featured-card .activity-tag {
    margin-top: 1.125rem;
  }
}

.contents-latest__row > .activity-tag {
  justify-self: start;
}

@media (max-width: 768px) {
  .top-news-card__body > .activity-tag {
    grid-row: 1;
    grid-column: 2;
    justify-self: start;
    margin-top: 0;
  }
}

@media (max-width: 768px) {
  .contents-featured-card .activity-tag {
    grid-row: 2;
    grid-column: 2;
    justify-self: start;
    margin-top: 1.5rem;
  }
}

@media (max-width: 768px) {
  .news-card__body > .activity-tag {
    grid-row: 1;
    grid-column: 2;
    justify-self: start;
    margin-top: 0;
  }
}

.animated-button {
  --animated-button-hover-bg: #f9f4eb;
  --animated-button-hover-color: #040404;
  --animated-button-arrow-exit-x: min(0.4861111111vw, 7px);
  --animated-button-arrow-exit-y: max(-0.4861111111vw, -7px);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  max-width: 100%;
  opacity: 1;
  transition: border-color 0.34s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}
@media (max-width: 768px) {
  .animated-button {
    --animated-button-arrow-exit-x: 0.4375rem;
    --animated-button-arrow-exit-y: -0.4375rem;
  }
}
@media (hover: hover) {
  .animated-button:hover {
    opacity: 1;
  }
}
.animated-button__backdrop {
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background: var(--animated-button-hover-bg);
  opacity: 0;
  transform: translate3d(0, 12%, 0) scaleY(0.92);
  transform-origin: center bottom;
  transition: opacity 0.36s cubic-bezier(0.16, 1, 0.3, 1), transform 0.46s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
.animated-button__inner, .animated-button__hover-inner {
  display: flex;
  align-items: center;
  justify-content: inherit;
  gap: inherit;
  width: 100%;
  min-width: 0;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}
.animated-button__inner {
  position: relative;
  z-index: 1;
}
.animated-button__hover-inner {
  position: absolute;
  z-index: 2;
  inset: 0;
  padding: inherit;
  box-sizing: border-box;
  color: var(--animated-button-hover-color);
  pointer-events: none;
}
.animated-button__text {
  display: inline-grid;
  grid-template-areas: "text";
  align-items: center;
  min-width: 0;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
}
.animated-button .button-text-target,
.animated-button .button-text-measure {
  grid-area: text;
  display: block;
  min-width: 0;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: pre;
}
.animated-button .button-text-target {
  overflow: hidden;
}
.animated-button .button-text-measure {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.animated-button__arrow {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  line-height: 0;
  transform-origin: center;
  transition: opacity 0.32s cubic-bezier(0.16, 1, 0.3, 1), transform 0.46s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.animated-button__arrow img,
.animated-button__arrow svg {
  display: block;
  flex: 0 0 auto;
}
.animated-button__arrow--hover {
  opacity: 0;
  transform: translate3d(calc(var(--animated-button-arrow-exit-x) * -0.7), calc(var(--animated-button-arrow-exit-y) * -0.7), 0) scale(0);
  transform-origin: left bottom;
}
.animated-button__arrow--hover img {
  width: min(0.5555555556vw, 8px);
  height: min(0.5555555556vw, 8px);
}
@media (max-width: 768px) {
  .animated-button__arrow--hover img {
    width: 0.5rem;
    height: 0.5rem;
  }
}
.animated-button.is-hovered {
  border-color: rgba(255, 255, 255, 0.9);
}
.animated-button.is-hovered .animated-button__backdrop {
  opacity: 1;
  transform: translate3d(0, 0, 0) scaleY(1);
}
.animated-button.is-hovered .animated-button__arrow--normal {
  opacity: 0;
  transform: translate3d(var(--animated-button-arrow-exit-x), var(--animated-button-arrow-exit-y), 0) scale(0.12);
}
.animated-button.is-hovered .animated-button__arrow--hover {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.contents-button.animated-button {
  --animated-button-hover-bg: #040404;
  --animated-button-hover-color: #f9f4eb;
}
.contents-button.animated-button .animated-button__arrow--normal img {
  width: min(0.5555555556vw, 8px);
  height: min(0.5555555556vw, 8px);
}
.contents-button.animated-button .animated-button__arrow--hover img {
  width: min(0.5555555556vw, 8px);
  height: min(1.1805555556vw, 17px);
}
.contents-button.animated-button.is-hovered {
  border-color: rgba(4, 4, 4, 0.72);
}
@media (max-width: 768px) {
  .contents-button.animated-button .animated-button__arrow--normal img {
    width: 0.5rem;
    height: 0.5rem;
  }
  .contents-button.animated-button .animated-button__arrow--hover img {
    width: 0.5rem;
    height: 1.0625rem;
  }
}

.animated-button--line {
  --animated-button-hover-bg: rgba(249, 244, 235, 0.95);
}
.animated-button--line .animated-button__backdrop {
  transform: translate3d(0, 18%, 0) scaleY(0.78);
}
.animated-button--line .animated-button__inner,
.animated-button--line .animated-button__hover-inner {
  justify-content: space-between;
}
.animated-button--line.is-hovered {
  border-bottom-color: rgba(255, 255, 255, 0.9);
}
.animated-button--line.is-hovered .animated-button__backdrop {
  transform: translate3d(0, 0, 0) scaleY(1);
}

@media (max-width: 768px) {
  .compact-action-button {
    gap: 0.75rem;
    height: 2.75rem;
    min-height: 2.75rem;
    padding: 0 1rem;
    border-radius: 0.25rem;
    font-size: 0.6875rem;
  }
  .compact-action-button:not(.contact-form__submit) {
    display: inline-flex;
    width: max-content;
    min-width: 0;
  }
  .compact-action-button.animated-button .animated-button__arrow {
    width: 0.4375rem;
  }
  .compact-action-button.animated-button .animated-button__arrow img {
    width: 0.4375rem;
    height: auto;
    max-height: 0.9375rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .animated-button {
    transition-duration: 0.12s;
  }
  .animated-button__backdrop, .animated-button__arrow {
    transition-duration: 0.12s;
    will-change: auto;
  }
  .animated-button.is-hovered .animated-button__arrow--normal {
    transform: none;
  }
  .animated-button.is-hovered .animated-button__arrow--hover {
    transform: none;
  }
}
.dither-hover-image {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  isolation: isolate;
  background: transparent;
}
.dither-hover-image > img {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  max-width: none;
  opacity: 1 !important;
  filter: none !important;
  transform: translateZ(0);
}
.dither-hover-image__canvas {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  filter: blur(0);
  image-rendering: pixelated;
  pointer-events: none;
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), filter 0.32s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity;
}
.dither-hover-image.is-dither-ready .dither-hover-image__canvas {
  opacity: 1;
}
.dither-hover-image.is-hovered .dither-hover-image__canvas {
  filter: blur(2px);
}

@media (hover: hover) {
  .has-dither-hover-image:hover {
    opacity: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dither-hover-image__canvas {
    transition-duration: 0.12s;
    will-change: auto;
  }
}
html[lang=en] body :is(h1, h2, h3, h4, h5, h6) {
  font-family: "Archivo", Arial, sans-serif;
}
