@charset "UTF-8";
html {
  --color-lime-100: #a2ff1f;
  --color-white-100: #ffffff;
  --color-orange-100: #ff840c;
  --color-pink-100: #E4007F;
  --color-blue-100: #7bdff5;
  --color-yellow-100: #FFEA00;
  --color-black-100: #000000;
  --color-black-200: #151515;
  --select-fill-color: var(--color-white-100);
  --select-text-color: var(--color-black-100);
}
:root {
  --margin-1: 40rem;
  --margin-2: 80rem;
  --margin-3: 130rem;
  --margin-4: 230rem;
}
@media (max-width: 992px) {
  :root {
    --margin-1: 15rem;
    --margin-2: 20rem;
  }
}
html {
  font-size: calc(100 / var(--base-vw) * 1 * 1vw);
  --max-width: 1580px;
  scroll-behavior: auto;
}
@media (min-width: 993px) {
  html {
    --base-vw: 1440;
  }
}
@media (max-width: 992px) {
  html {
    --base-vw: 992;
  }
}
@media (max-width: 750px) {
  html {
    --base-vw: 393;
  }
}
@media (min-width: 751px) {
  html {
    min-height: 100%;
  }
}
html ::selection {
  background: var(--select-fill-color);
  color: var(--select-text-color);
}
html ::-moz-selection {
  background: var(--select-fill-color);
  color: var(--select-text-color);
}
.default {
  position: relative;
  text-align: left;
  background: var(--color-black-100);
}
.default span, .default div {
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  letter-spacing: inherit;
}
.default img {
  object-fit: cover;
  pointer-events: none;
  touch-callout: none;
  user-select: none;
  user-drag: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  border-radius: inherit;
  width: inherit;
  height: inherit;
}
.default svg {
  width: inherit;
  height: inherit;
}
.default svg path {
  transform-origin: center center;
}
.default svg text {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
}
.default video {
  max-width: 100svw;
  ovject-fit: cover;
}
.default picture {
  display: block;
}
.default picture source, .default picture img {
  width: 100%;
  height: 100%;
}
.default a {
  cursor: pointer;
  line-height: 1;
}
.default a > * {
  pointer-events: none;
}
.default div {
  line-height: 0;
}
.default div, .default p, .default a {
  font-size: medium;
}
.default button, .default [expansion-area], .default a {
  position: relative;
  width: fit-content;
  user-drag: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  outline: none;
  border: none;
}
.default button::after, .default [expansion-area]::after, .default a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: calc(100% + 22px);
  width: calc(100% + 22px);
}
.default section {
  width: 100%;
}
.default .container {
  position: relative;
  max-width: 100svw;
  overflow: hidden;
}
@media (min-width: 751px) {
  .default .container {
    min-height: 100vh;
  }
}
.default [hidden] {
  display: none !important;
}
.default [no-scroll] {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  overscroll-behavior: none;
}
@media (max-width: 750px) {
  .default [pc-only] {
    display: none !important;
  }
}
@media (max-width: 992px) {
  .default [not-pc-sm-only] {
    display: none !important;
  }
}
@media (min-width: 993px) {
  .default [pc-sm-only] {
    display: none !important;
  }
}
@media (max-width: 1580px) {
  .default [lg-over-only] {
    display: none !important;
  }
}
@media (min-width: 751px) {
  .default [sp-only] {
    display: none !important;
  }
}
.default [hidden] {
  display: none !important;
}
.default .gs-dev-tools {
  z-index: 9999;
}
.default .gs-dev-tools svg {
  pointer-events: auto;
  opacity: 1;
}
.default [simple-hover=target]:hover:not(:has(> [simple-hover=child])) {
  opacity: 0.6;
}
.default [simple-hover=target]:hover [simple-hover=child] {
  opacity: 0.6;
}
html.lenis,
html.lenis body {
  height: auto;
}
body {
  overflow: visible !important;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: visible;
}
.lenis.lenis-stopped body {
  overflow: visible !important;
}
.lenis.lenis-smooth iframe {
  pointer-events: none;
}
.default * {
  box-sizing: border-box;
}
.default ::before,
.default ::after {
  box-sizing: inherit;
}
.default html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
.default body {
  margin: 0;
}
.default main {
  display: block;
}
.default p,
.default table,
.default blockquote,
.default address,
.default pre,
.default iframe,
.default form,
.default figure,
.default dl {
  margin: 0;
}
.default h1,
.default h2,
.default h3,
.default h4,
.default h5,
.default h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}
.default ul,
.default ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
.default dt {
  font-weight: bold;
}
.default dd {
  margin-left: 0;
}
.default hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}
.default pre {
  font-family: monospace;
  font-size: inherit;
}
.default address {
  font-style: inherit;
}
.default a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
.default abbr[title] {
  border-bottom: none;
  -webkit-text-decoration: under-pageline dotted;
  text-decoration: under-pageline dotted;
}
.default b,
.default strong {
  font-weight: bolder;
}
.default code,
.default kbd,
.default samp {
  font-family: monospace;
  font-size: inherit;
}
.default small {
  font-size: 80%;
}
.default sub,
.default sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.default sub {
  bottom: -0.25em;
}
.default sup {
  top: -0.5em;
}
.default img {
  border-style: none;
  vertical-align: bottom;
}
.default embed,
.default object,
.default iframe {
  border: 0;
  vertical-align: bottom;
}
.default button,
.default input,
.default optgroup,
.default select,
.default textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}
.default [type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}
.default [type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}
.default button,
.default input {
  overflow: visible;
}
.default button,
.default select {
  text-transform: none;
}
.default button,
.default [type=button],
.default [type=reset],
.default [type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.default button[disabled],
.default [type=button][disabled],
.default [type=reset][disabled],
.default [type=submit][disabled] {
  cursor: default;
}
.default button::-moz-focus-inner,
.default [type=button]::-moz-focus-inner,
.default [type=reset]::-moz-focus-inner,
.default [type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
.default button:-moz-focusring,
.default [type=button]:-moz-focusring,
.default [type=reset]:-moz-focusring,
.default [type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
.default option {
  padding: 0;
}
.default fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.default legend {
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}
.default progress {
  vertical-align: baseline;
}
.default textarea {
  overflow: auto;
}
.default [type=checkbox],
.default [type=radio] {
  padding: 0;
}
.default [type=number]::-webkit-inner-spin-button,
.default [type=number]::-webkit-outer-spin-button {
  height: auto;
}
.default [type=search] {
  outline-offset: -2px;
}
.default [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
.default ::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
.default label[for] {
  cursor: pointer;
}
.default details {
  display: block;
}
.default summary {
  display: list-item;
}
.default table {
  border-collapse: collapse;
  border-spacing: 0;
}
.default caption {
  text-align: left;
}
.default td,
.default th {
  vertical-align: top;
  padding: 0;
}
.default th {
  text-align: left;
  font-weight: bold;
}
.default template {
  display: none;
}
.default [hidden] {
  display: none !important;
}
header.base-header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 100;
  max-height: 0rem;
}
@media (max-width: 750px) {
  header.base-header {
    position: -webkit-sticky;
    display: block;
  }
}
header.base-header .base-header__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: var(--margin-1);
  padding-right: var(--margin-1);
  padding-top: 21rem;
  width: 100%;
  width: fit-content;
}
header.base-header .base-header__logo {
  width: 220rem;
  height: auto;
  display: block;
}
@media (max-width: 750px) {
  header.base-header .base-header__logo {
    position: sticky;
    top: 20rem;
    width: 180rem;
    height: auto;
    z-index: 99;
    top: 23rem;
    left: var(--margin-2);
  }
}
header.base-header .base-header__logo__image {
  height: auto;
  width: 100%;
}
header.base-header .base-header__logo {
  opacity: 0;
}
.base-menu {
  max-height: 0px;
  position: sticky;
  top: 0;
  right: var(--margin-1);
  margin-left: auto;
  width: fit-content;
  height: fit-content;
  z-index: 100;
}
@media (max-width: 750px) {
  .base-menu {
    position: fixed;
    bottom: 20rem;
    top: auto;
    left: 0;
    right: 0;
    padding-left: var(--margin-1);
    padding-right: var(--margin-1);
    max-height: 100%;
    width: 100%;
  }
}
.base-menu .base-menu__wrap {
  display: flex;
  --gap: 33rem;
  flex-direction: row;
  gap: var(--gap);
  align-items: center;
}
@media (max-width: 750px) {
  .base-menu .base-menu__wrap {
    width: 100%;
  }
}
@media (min-width: 751px) {
  .base-menu .base-menu__wrap {
    padding-top: 21rem;
  }
}
.base-menu .base-menu__notice {
  font-size: 11rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  line-height: 1cap;
}
.base-menu .base-menu-list {
  display: flex;
  --gap: 24rem;
  flex-direction: row;
  gap: var(--gap);
}
.base-menu .base-menu-list > .base-menu__item:first-child {
  --button-color: var(--color-blue-100);
}
.base-menu .base-menu-list > .base-menu__item:nth-child(2) {
  --button-color: var(--color-orange-100);
}
.base-menu .base-menu-list > .base-menu__item:last-child {
  --button-color: var(--color-pink-100);
}
@media (max-width: 750px) {
  .base-menu .base-menu-list {
    width: 100%;
    --gap: 10rem;
    padding-right: 56rem;
  }
}
.base-menu .base-menu__item {
  color: var(--button-color);
  position: relative;
  width: fit-content;
  height: fit-content;
  font-size: 16rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  display: block;
  cursor: pointer;
}
.base-menu .base-menu__item:after {
  pointer-events: none;
}
.base-menu .base-menu__item span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  line-height: 1cap;
  width: fit-content;
  height: fit-content;
}
.base-menu .base-menu__item svg {
  height: auto;
}
@media (min-width: 751px) {
  .base-menu .base-menu__item {
    height: 54rem;
  }
  .base-menu .base-menu__item svg {
    width: 158rem;
  }
}
@media (max-width: 750px) {
  .base-menu .base-menu__item {
    width: 100%;
    height: fit-content;
    display: block;
    line-height: 0;
  }
  .base-menu .base-menu__item svg {
    width: 100%;
  }
}
.base-menu .base-menu__item__logo {
  width: 20rem;
  height: fit-content;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.base-menu .base-menu__item__logo svg {
  width: 100%;
  height: auto;
}
.base-menu .base-menu__item, .base-menu .base-menu__notice {
  opacity: 0;
}
[top-page] {
  min-height: 100svh;
  background: black;
  color: white;
  width: 100%;
  position: relative;
}
[top-page] section {
  --select-fill-color: var(--section-color);
  max-width: 100%;
  overflow: hidden;
}
[top-page] section.first {
  height: calc(100svh - 70px);
  width: 100%;
  position: relative;
  --select-fill-color: var(--color-white-100);
  position: absolute;
  top: 0;
}
@media (min-width: 751px) {
  [top-page] section.first {
    max-height: 900rem;
  }
}
@media (max-width: 750px) {
  [top-page] section.first {
    height: calc(100svh - 25px);
  }
}
[top-page] section.first .first__grid {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  opacity: 0.3;
}
[top-page] section.first .first__grid__column {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  padding-left: var(--margin-1);
  padding-right: var(--margin-1);
  display: flex;
  justify-content: space-between;
}
[top-page] section.first .first__grid__column .first__grid__bar {
  height: 100%;
}
[top-page] section.first .first__grid__row {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  padding-top: 26rem;
  padding-bottom: 26rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
[top-page] section.first .first__grid__row .first__grid__bar {
  width: 100%;
}
@media (max-width: 750px) {
  [top-page] section.first .first__grid__row {
    padding-top: 47rem;
    padding-bottom: 47rem;
  }
  [top-page] section.first .first__grid__row > .first__grid__bar:last-child {
    top: 20rem;
    position: absolute;
  }
}
[top-page] section.first .first__grid__bar {
  background: var(--color-white-100);
  width: 1px;
  height: 1px;
}
[top-page] section.first .first__title {
  width: 658rem;
  height: fit-content;
  position: absolute;
  bottom: 26rem;
  left: var(--margin-1);
  line-height: 0;
}
[top-page] section.first .first__title svg {
  width: 100%;
  height: auto;
}
@media (max-width: 750px) {
  [top-page] section.first .first__title {
    width: 263rem;
    top: calc(25% + 12.5rem);
    height: 0;
  }
  [top-page] section.first .first__title svg {
    transform: translateY(-100%);
  }
}
[top-page] section.first .first__title__jp {
  font-size: 15rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  line-height: 1.5;
  letter-spacing: 0.1em;
  position: absolute;
  bottom: 101rem;
  left: 339rem;
  white-space: nowrap;
}
@media (max-width: 750px) {
  [top-page] section.first .first__title__jp {
    left: 137rem;
    bottom: 41rem;
    font-size: 10rem;
  }
}
[top-page] section.first .first__title__under-line {
  height: 20rem;
  width: auto;
  position: absolute;
  bottom: -23rem;
  left: 0;
}
@media (max-width: 750px) {
  [top-page] section.first .first__title__under-line {
    height: 8rem;
    width: auto;
    object-fit: contain;
    bottom: -11rem;
  }
}
[top-page] section.first .first__description {
  position: absolute;
  bottom: 21rem;
  right: calc(var(--margin-1) - 4rem);
  font-size: 15rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: var(--color-lime-100);
}
@media (min-width: 751px) {
  [top-page] section.first .first__description {
    text-align: right;
  }
}
@media (max-width: 750px) {
  [top-page] section.first .first__description {
    top: calc(75% - 23.5rem);
    bottom: auto;
    right: auto;
    left: var(--margin-1);
    font-size: 13rem;
    height: 0px;
    transform: translateY(-8rem);
  }
}
[top-page] section.first .first__scroll {
  position: absolute;
  top: 0;
  bottom: 0;
  right: var(--margin-1);
  margin: auto;
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  color: var(--color-lime-100);
  font-size: 13rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  height: fit-content;
}
[top-page] section.first .first__canvas {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}
@media (min-width: 751px) {
  [top-page] section.first .first__canvas {
    transform: translateY(-40rem);
  }
}
@media (max-width: 750px) {
  [top-page] section.first .first__canvas {
    transform: scale(1.4);
  }
}
[top-page] section.first, [top-page] section.first .first__title svg path, [top-page] section.first .first__description, [top-page] section.first .first__scroll {
  opacity: 0;
}
[top-page] section.basic {
  --section-color: var(--color-lime-100);
  position: relative;
  z-index: 2;
  --margin-top: 100svh;
  margin-top: var(--margin-top);
}
[top-page] section.basic .section-header {
  transform: translateY(5rem);
}
[top-page] section.basic .basic__wrap {
  background: var(--color-black-100);
  padding-top: 90rem;
  padding-bottom: 160rem;
}
@media (max-width: 750px) {
  [top-page] section.basic .basic__wrap {
    padding-bottom: 100rem;
  }
}
[top-page] section.basic .basic__header {
  width: calc(100% - var(--margin-2) * 2);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
}
@media (max-width: 750px) {
  [top-page] section.basic .basic__header {
    display: flex;
    --gap: 14rem;
    flex-direction: column;
    gap: var(--gap);
    align-items: flex-start;
  }
}
[top-page] section.basic .basic__header__title-ruby {
  font-size: 15rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  color: var(--color-lime-100);
  position: absolute;
  left: 11rem;
  top: -25rem;
  letter-spacing: 0.1em;
}
@media (max-width: 750px) {
  [top-page] section.basic .basic__header__title-ruby {
    font-size: 10rem;
    top: -17rem;
  }
}
[top-page] section.basic .basic__header__title {
  color: var(--color-black-100);
  background: var(--section-color);
  --edge-top-left: 10rem;
  --edge-top-right: 0rem;
  --edge-bottom-left: 0rem;
  --edge-bottom-right: 10rem;
  clip-path: polygon(var(--edge-top-left) 0%, calc(100% - var(--edge-top-right)) 0%, 100% var(--edge-top-right), 100% calc(100% - var(--edge-bottom-right)), calc(100% - var(--edge-bottom-right)) 100%, var(--edge-bottom-right) 100%, 0% calc(100% - var(--edge-bottom-left)), 0% var(--edge-top-left));
  padding-left: 10rem;
  padding-right: 10rem;
}
[top-page] section.basic .basic__header__title span {
  font-size: 52rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  display: inline-block;
  line-height: 1;
}
@media (max-width: 750px) {
  [top-page] section.basic .basic__header__title span {
    font-size: 36rem;
    line-height: 1.2;
  }
}
[top-page] section.basic .basic__header__title-logo {
  padding: 9rem 11rem;
  background: var(--color-lime-100);
  --edge-top-left: 10rem;
  --edge-top-right: 0rem;
  --edge-bottom-left: 0rem;
  --edge-bottom-right: 10rem;
  clip-path: polygon(var(--edge-top-left) 0%, calc(100% - var(--edge-top-right)) 0%, 100% var(--edge-top-right), 100% calc(100% - var(--edge-bottom-right)), calc(100% - var(--edge-bottom-right)) 100%, var(--edge-bottom-right) 100%, 0% calc(100% - var(--edge-bottom-left)), 0% var(--edge-top-left));
  width: fit-content;
  height: fit-content;
}
[top-page] section.basic .basic__header__title-logo svg {
  width: 335rem;
  height: auto;
}
@media (max-width: 750px) {
  [top-page] section.basic .basic__header__title-logo {
    padding: 4rem 8rem;
  }
  [top-page] section.basic .basic__header__title-logo svg {
    width: 205rem;
  }
}
[top-page] section.basic .basic__description {
  font-size: 15rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  line-height: 1.8;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media (min-width: 751px) {
  [top-page] section.basic .basic__description {
    text-align: right;
  }
}
@media (max-width: 750px) {
  [top-page] section.basic .basic__description {
    font-size: 14rem;
  }
}
[top-page] section.basic .basic__parts-list {
  display: flex;
  --gap: 59rem;
  flex-direction: row;
  gap: var(--gap);
  padding-left: var(--margin-2);
  padding-right: var(--margin-2);
  margin-top: 40rem;
}
@media (max-width: 750px) {
  [top-page] section.basic .basic__parts-list {
    display: flex;
    --gap: 52rem;
    flex-direction: column;
    gap: var(--gap);
  }
}
[top-page] section.basic .basic__parts-item {
  width: 100%;
}
[top-page] section.basic .basic__parts-item:nth-child(2) .basic__parts-item__parts {
  width: 240rem;
  height: 240rem;
}
[top-page] section.basic .basic__parts-item:nth-child(3) .basic__parts-item__parts {
  width: 260rem;
  height: 260rem;
}
@media (max-width: 750px) {
  [top-page] section.basic .basic__parts-item:nth-child(2) .basic__parts-item__parts {
    transform: translateY(10rem);
  }
}
[top-page] section.basic .basic__parts-item__thumbnail {
  --edge-top-left: 8rem;
  --edge-top-right: 8rem;
  --edge-bottom-left: 8rem;
  --edge-bottom-right: 8rem;
  clip-path: polygon(var(--edge-top-left) 0%, calc(100% - var(--edge-top-right)) 0%, 100% var(--edge-top-right), 100% calc(100% - var(--edge-bottom-right)), calc(100% - var(--edge-bottom-right)) 100%, var(--edge-bottom-right) 100%, 0% calc(100% - var(--edge-bottom-left)), 0% var(--edge-top-left));
  background: var(--color-black-200);
  position: relative;
  height: 270rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 750px) {
  [top-page] section.basic .basic__parts-item__thumbnail {
    height: 220rem;
  }
}
[top-page] section.basic .basic__parts-item__thumbnail-title {
  position: absolute;
  top: 10rem;
  left: 18rem;
  z-index: 2;
  display: flex;
  --gap: 10rem;
  flex-direction: row;
  gap: var(--gap);
  align-items: baseline;
}
[top-page] section.basic .basic__parts-item__thumbnail-title span:first-child {
  font-size: 23rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  line-height: 1;
  color: var(--color-lime-100);
}
[top-page] section.basic .basic__parts-item__thumbnail-title span:last-child {
  font-size: 11rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  line-height: 1;
}
@media (max-width: 750px) {
  [top-page] section.basic .basic__parts-item__thumbnail-title {
    top: 7rem;
    left: 13rem;
  }
  [top-page] section.basic .basic__parts-item__thumbnail-title span:first-child {
    font-size: 23rem;
  }
}
[top-page] section.basic .basic__parts-item__grid {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 10;
}
@media (max-width: 750px) {
  [top-page] section.basic .basic__parts-item__grid {
    transform: scale(1.25);
  }
}
[top-page] section.basic .basic__parts-item__parts {
  width: 200rem;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
[top-page] section.basic .basic__parts-item__description {
  font-size: 15rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin-top: 25rem;
}
@media (max-width: 750px) {
  [top-page] section.basic .basic__parts-item__description {
    font-size: 14rem;
    margin-top: 20rem;
  }
}
[top-page] section.bx {
  --section-color: var(--color-blue-100);
  padding-bottom: 160rem;
}
@media (max-width: 750px) {
  [top-page] section.bx {
    padding-bottom: 100rem;
  }
}
[top-page] section.ux {
  --section-color: var(--color-orange-100);
  padding-bottom: 160rem;
}
@media (max-width: 750px) {
  [top-page] section.ux {
    padding-bottom: 100rem;
  }
}
@media (min-width: 751px) {
  [top-page] section.ux .gear__contents__shoot {
    transform: scale(0.92);
  }
}
@media (max-width: 750px) {
  [top-page] section.ux .gear__contents__shoot {
    transform: scale(0.85);
  }
}
[top-page] section.cx {
  --section-color: var(--color-pink-100);
}
[top-page] section.gear {
  background: var(--color-black-100);
  position: relative;
  z-index: 2;
}
[top-page] section.gear .gear__contents {
  width: 100%;
  height: 400svh;
  position: relative;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__contents {
    height: 3200px;
  }
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__contents__info {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
}
[top-page] section.gear .gear__contents__logo {
  width: 237rem;
  height: fit-content;
  height: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 67rem;
  margin: auto;
  height: fit-content;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__contents__logo {
    width: 117rem;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transform: translateY(-133rem);
  }
}
[top-page] section.gear .gear__contents__text {
  font-size: 100rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  color: var(--section-color);
  text-align: center;
  position: absolute;
  width: 100%;
}
[top-page] section.gear .gear__contents__text--top {
  top: 243rem;
}
[top-page] section.gear .gear__contents__text--bottom {
  bottom: 150rem;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__contents__text {
    font-size: 48rem;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: fit-content;
    height: fit-content;
  }
  [top-page] section.gear .gear__contents__text--top {
    transform: translateY(-51rem);
  }
  [top-page] section.gear .gear__contents__text--bottom {
    transform: translateY(160rem);
  }
}
[top-page] section.gear .gear__contents__window {
  width: 100%;
  height: 100lvh;
  position: absolute;
  top: 0;
}
[top-page] section.gear .gear__contents__label {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--margin-1);
  margin: auto;
  width: fit-content;
  height: fit-content;
  display: block;
  line-height: 1;
}
[top-page] section.gear .gear__contents__label span {
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  color: var(--section-color);
  font-size: 13rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
}
[top-page] section.gear .gear__progress {
  width: fit-content;
  height: fit-content;
  position: absolute;
  top: 0;
  bottom: 0;
  right: var(--margin-1);
  margin: auto;
}
[top-page] section.gear .gear__progress:after, [top-page] section.gear .gear__progress:before {
  content: "";
  display: block;
  width: 1px;
  height: 10rem;
  background: var(--section-color);
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
[top-page] section.gear .gear__progress:after {
  top: -30rem;
}
[top-page] section.gear .gear__progress:before {
  bottom: -30rem;
}
[top-page] section.gear .gear__progress__label {
  position: absolute;
  font-size: 11rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  color: var(--section-color);
  display: flex;
  --gap: 6rem;
  flex-direction: row;
  gap: var(--gap);
  align-items: center;
  right: 18rem;
  height: 1px;
}
[top-page] section.gear .gear__progress__label-dot {
  width: 2rem;
  height: 2rem;
  background: var(--section-color);
  border-radius: calc(infinity * 1px);
}
[top-page] section.gear .gear__progress__wrap {
  display: flex;
  --gap: 19rem;
  flex-direction: column;
  gap: var(--gap);
}
[top-page] section.gear .gear__progress__bar {
  width: 11rem;
  height: 1px;
  background: var(--section-color);
  position: relative;
}
[top-page] section.gear .gear__contents__canvas {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  pointer-events: none;
}
[top-page] section.gear .gear__structure {
  height: 800rem;
  width: 100%;
  position: relative;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__structure {
    height: 100svh;
  }
}
[top-page] section.gear .gear__contents__st-header {
  width: fit-content;
  height: fit-content;
  margin: auto;
  position: absolute;
}
[top-page] section.gear .gear__contents__st-header svg {
  width: 146rem;
  height: auto;
}
@media (min-width: 751px) {
  [top-page] section.gear .gear__contents__st-header {
    top: 0;
    bottom: 0;
    left: 175rem;
  }
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__contents__st-header {
    left: 0;
    right: 0;
    top: 90rem;
    display: flex;
    --gap: 0;
    flex-direction: column;
    gap: var(--gap);
    align-items: center;
  }
  [top-page] section.gear .gear__contents__st-header svg {
    width: 100rem;
  }
}
[top-page] section.gear .gear__contents__st {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 4;
}
[top-page] section.gear .gear__contents__shoot {
  width: 574rem;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 3;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__contents__shoot {
    width: 300rem;
  }
}
[top-page] section.gear .gear__contents__custom {
  width: 600rem;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 2;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__contents__custom {
    width: 300rem;
  }
}
[top-page] section.gear .gear__contents__st-header__title {
  color: var(--section-color);
  font-size: 42rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  letter-spacing: -0.04em;
  margin-top: 16rem;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__contents__st-header__title {
    font-size: 34rem;
  }
}
[top-page] section.gear .gear__contents__st-sub-title {
  color: var(--section-color);
  font-size: 15rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__contents__st-sub-title {
    font-size: 14rem;
  }
}
[top-page] section.gear .gear__contents__st-description {
  font-size: 18rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  width: fit-content;
  height: fit-content;
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin: auto;
  position: absolute;
}
[top-page] section.gear .gear__contents__st-description span {
  color: var(--section-color);
  font-weight: bold;
}
@media (min-width: 751px) {
  [top-page] section.gear .gear__contents__st-description {
    top: 0;
    bottom: 0;
    right: 135rem;
  }
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__contents__st-description {
    left: 0;
    right: 0;
    bottom: 140rem;
    font-size: 15rem;
    text-align: center;
  }
}
[top-page] section.gear .gear__info {
  height: 800rem;
  width: 100%;
  position: relative;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__info {
    height: 100svh;
  }
}
[top-page] section.gear .gear__info__shoot {
  width: 100%;
  height: auto;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__info__shoot {
    width: 100%;
  }
}
[top-page] section.gear .gear__lineup {
  padding-left: var(--margin-2);
  padding-right: var(--margin-2);
  margin-top: 20rem;
}
[top-page] section.gear .gear__lineup__header {
  width: 100%;
  font-size: 60rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  color: var(--section-color);
  display: flex;
  --gap: 22rem;
  flex-direction: row;
  gap: var(--gap);
  align-items: baseline;
  position: relative;
  --line-length: 100%;
}
[top-page] section.gear .gear__lineup__header::after {
  content: "";
  display: block;
  width: 100%;
  height: 1rem;
  background: var(--section-color);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1rem;
  margin: auto;
  clip-path: inset(0 var(--line-length) 0 0);
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__lineup__header {
    font-size: 34rem;
  }
}
[top-page] section.gear .gear__lineup__header ruby {
  font-size: 15rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  letter-spacing: 0.1em;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__lineup__header {
    --gap: 8rem;
  }
  [top-page] section.gear .gear__lineup__header ruby {
    font-size: 10rem;
  }
}
[top-page] section.gear .gear__lineup__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(1, 1fr);
  gap: 43rem 28rem;
  margin-top: 70rem;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__lineup__list {
    margin-top: 40rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 38rem 18rem;
  }
}
[top-page] section.gear .gear__lineup__item {
  width: 100%;
}
[top-page] section.gear .gear__lineup__item-thumbnail {
  width: 100%;
  height: auto;
  object-fit: contain;
}
[top-page] section.gear .gear__lineup__item-title {
  font-size: 20rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  color: var(--section-color);
  margin-top: 12rem;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__lineup__item-title {
    font-size: 15rem;
  }
}
[top-page] section.gear .gear__lineup__item-name {
  font-size: 18rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  color: var(--section-color);
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__lineup__item-name {
    font-size: 14rem;
  }
}
[top-page] section.gear .gear__lineup__item-category {
  font-size: 13rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  padding-left: 8rem;
  padding-right: 8rem;
  margin-top: 9rem;
  border: 1px solid var(--color-white-100);
  display: inline-block;
  width: fit-content;
  border-radius: 2rem;
}
[top-page] section.gear .gear__lineup-link {
  position: relative;
  width: fit-content;
  height: fit-content;
  display: block;
  margin-top: 50rem;
  margin-left: auto;
}
[top-page] section.gear .gear__lineup-link svg {
  width: 211rem;
}
[top-page] section.gear .gear__lineup-link span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  line-height: 1;
  display: block;
  width: fit-content;
  height: fit-content;
}
@media (max-width: 750px) {
  [top-page] section.gear .gear__lineup-link {
    margin-top: 40rem;
  }
  [top-page] section.gear .gear__lineup-link svg {
    width: 187rem;
    height: auto;
  }
}
[top-page] section.gear .gear__progress__label {
  transition: transform 0.5s ease;
}
[top-page] section.gear .gear__contents__text span, [top-page] section.gear .gear__contents__logo .logo_text {
  opacity: 1;
}
[top-page] section.gear .gear__contents__label, [top-page] section.gear .gear__progress {
  transition: transform 0.5s ease;
}
[top-page] section.gear .gear__contents__shoot, [top-page] section.gear .gear__contents__custom {
  opacity: 0;
}
[top-page] section.gear .logo_text, [top-page] section.gear .gear__contents__st-header__title span, [top-page] section.gear .gear__contents__st-sub-title span, [top-page] section.gear .gear__contents__st-description {
  opacity: 0;
}
[top-page] section.gear [fadeout-text] .gear__contents__text span, [top-page] section.gear [fadeout-text] .gear__contents__logo .logo_text {
  animation: 0.4s linear forwards normal running textBlingBlingBanBan;
}
[top-page] section.gear [fadeout-nav] .gear__contents__label {
  transform: translateX(-100rem);
}
[top-page] section.gear [fadeout-nav] .gear__progress {
  transform: translateX(100rem);
}
[top-page] section.gear [fadein-info] .logo_text, [top-page] section.gear [fadein-info] .gear__contents__st-header__title span, [top-page] section.gear [fadein-info] .gear__contents__st-sub-title span, [top-page] section.gear [fadein-info] .gear__contents__st-description {
  animation: 1s linear forwards normal running txtblinking;
}
[top-page] section.gear.cx .gear__contents__last {
  width: 100%;
  height: 100vh;
  background: var(--color-black-100);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 2;
}
@media (max-width: 750px) {
  [top-page] section.gear.cx .gear__contents__last {
    width: 400rem;
  }
}
[top-page] section.gear.cx .gear__contents__last .gear__contents__last-image {
  width: 400rem;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
@media (max-width: 992px) {
  [top-page] section.gear.cx .gear__contents__last .gear__contents__last-image {
    width: 300rem;
  }
}
@media (max-width: 750px) {
  [top-page] section.gear.cx .gear__contents__last .gear__contents__last-image {
    width: 230rem;
  }
}
[top-page] section.gear.cx .gear__contents__custom {
  width: 800rem;
  height: 600rem;
  background: var(--color-black-100);
}
@media (max-width: 750px) {
  [top-page] section.gear.cx .gear__contents__custom {
    width: 400rem;
  }
}
[top-page] section.gear.cx .gear__contents__custom .gear__contents__custom-image {
  width: 600rem;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
@media (max-width: 750px) {
  [top-page] section.gear.cx .gear__contents__custom .gear__contents__custom-image {
    width: 300rem;
  }
}
[top-page] section.gear.cx .gear__contents__shoot {
  width: 800rem;
  height: 600rem;
  background: var(--color-black-100);
  right: 30rem;
}
@media (max-width: 750px) {
  [top-page] section.gear.cx .gear__contents__shoot {
    width: 400rem;
    right: 0;
  }
}
[top-page] section.gear.cx .gear__contents__shoot .gear__contents__shoot-image {
  width: 574rem;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
@media (max-width: 750px) {
  [top-page] section.gear.cx .gear__contents__shoot .gear__contents__shoot-image {
    width: 220rem;
  }
}
[top-page] section.gear.cx .gear__contents__st-description {
  right: 60rem;
}
@media (max-width: 750px) {
  [top-page] section.gear.cx .gear__contents__st-description {
    right: 0;
  }
}
[top-page] section.gear.cx .gear__contents__last {
  opacity: 0;
}
[top-page] section.expand {
  --section-color: var(--color-yellow-100);
  background: var(--color-black-100);
  padding-top: 200rem;
  padding-left: 77rem;
  padding-right: 77rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 992px) {
  [top-page] section.expand {
    padding-left: 40rem;
    padding-right: 40rem;
  }
}
@media (max-width: 750px) {
  [top-page] section.expand {
    padding-top: 116rem;
    padding-left: 23rem;
    padding-right: 23rem;
  }
}
[top-page] section.expand .expand__header__title {
  width: 100%;
  font-size: 60rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  color: var(--color-yellow-100);
  display: flex;
  --gap: 22rem;
  flex-direction: row;
  gap: var(--gap);
  align-items: baseline;
  position: relative;
}
[top-page] section.expand .expand__header__title::after {
  content: "";
  display: block;
  width: 100%;
  height: 1rem;
  background: var(--color-yellow-100);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1rem;
  margin: auto;
}
@media (max-width: 750px) {
  [top-page] section.expand .expand__header__title {
    font-size: 34rem;
  }
}
[top-page] section.expand .expand__header__title ruby {
  font-size: 15rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  letter-spacing: 0.1em;
}
@media (max-width: 750px) {
  [top-page] section.expand .expand__header__title ruby {
    display: none;
  }
}
[top-page] section.expand .expand__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 109rem;
  margin-top: 137rem;
  padding-left: 38rem;
  padding-right: 38rem;
}
@media (max-width: 992px) {
  [top-page] section.expand .expand__list {
    gap: 40rem;
    margin-top: 80rem;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (max-width: 750px) {
  [top-page] section.expand .expand__list {
    grid-template-columns: 1fr;
    gap: 80rem;
    margin-top: 80rem;
  }
}
[top-page] section.expand .expand__item {
  width: 100%;
  position: relative;
  overflow: hidden;
}
[top-page] section.expand .expand__item__header {
  display: flex;
  --gap: 20rem;
  flex-direction: row;
  gap: var(--gap);
  justify-content: center;
  align-items: flex-start;
}
@media (max-width: 750px) {
  [top-page] section.expand .expand__item__header {
    gap: 24rem;
  }
}
[top-page] section.expand .expand__item__header-name {
  display: flex;
  --gap: 8rem;
  flex-direction: column;
  gap: var(--gap);
}
@media (max-width: 750px) {
  [top-page] section.expand .expand__item__header-name {
    gap: 10rem;
  }
}
[top-page] section.expand .expand__item__header-name svg {
  width: auto;
  height: 84rem;
}
[top-page] section.expand .expand__item__header-name span {
  display: block;
  font-size: 15rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  color: var(--expand-color);
  text-align: center;
}
[top-page] section.expand .expand__item__mark {
  width: 81rem;
  height: 125rem;
}
@media (max-width: 750px) {
  [top-page] section.expand .expand__item__mark {
    width: 93rem;
    height: 127rem;
  }
}
[top-page] section.expand .expand__item--blue {
  --expand-color: var(--color-blue-100);
}
[top-page] section.expand .expand__item--orange {
  --expand-color: var(--color-orange-100);
}
[top-page] section.expand .expand__item--pink {
  --expand-color: var(--color-pink-100);
}
[top-page] section.expand .expand__item__image {
  margin-top: 37rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 992px) {
  [top-page] section.expand .expand__item__image {
    margin-top: 10rem;
  }
}
[top-page] section.expand .expand__item__image {
  width: 100%;
  height: auto;
}
[top-page] section.expand .expand__item__point {
  min-height: 160rem;
  margin-top: 34rem;
  background: var(--color-black-200);
  position: relative;
  padding-top: 27rem;
  padding-left: 25rem;
  padding-right: 25rem;
}
@media (max-width: 992px) {
  [top-page] section.expand .expand__item__point {
    margin-top: 16rem;
  }
}
@media (max-width: 750px) {
  [top-page] section.expand .expand__item__point {
    margin-top: 0;
    padding-top: 33rem;
  }
}
[top-page] section.expand .expand__item__point svg {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  margin: auto;
}
[top-page] section.expand .expand__item__point svg rect, [top-page] section.expand .expand__item__point svg path {
  fill: var(--expand-color);
}
[top-page] section.expand .expand__item__point svg:last-of-type {
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  transform: rotate(180deg);
}
[top-page] section.expand .expand__item__point-label {
  font-size: 12rem;
  font-family: "Poppins", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  color: var(--color-white-100);
}
[top-page] section.expand .expand__item__point-text {
  font-size: 14rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "A+EqpB-游ゴシック体 Pr6N M", selif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
  line-height: 1.8;
  margin-top: 5rem;
}
@media (max-width: 992px) {
  [top-page] section.expand .expand__item__point-text {
    font-size: 12rem;
  }
}
@media (max-width: 750px) {
  [top-page] section.expand .expand__item__point-text {
    font-size: 14rem;
  }
}
[top-page] section.expand .gear__lineup-link {
  position: relative;
  width: fit-content;
  height: fit-content;
  display: block;
  margin-top: 80rem;
  margin-left: auto;
}
[top-page] section.expand .gear__lineup-link svg {
  width: 211rem;
}
[top-page] section.expand .gear__lineup-link span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  line-height: 1;
  display: block;
  width: fit-content;
  height: fit-content;
}
@media (max-width: 750px) {
  [top-page] section.expand .gear__lineup-link svg {
    width: 187rem;
    height: auto;
  }
}
[top-page] section.banner {
  background: var(--color-black-100);
  padding-top: 180rem;
  padding-bottom: 120rem;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 750px) {
  [top-page] section.banner {
    padding-top: 86rem;
    padding-bottom: 68rem;
  }
}
[top-page] section.banner .banner__wrap {
  width: fit-content;
  height: fit-content;
  display: flex;
  --gap: 26rem;
  flex-direction: row;
  gap: var(--gap);
  padding-left: var(--margin-2);
  padding-right: var(--margin-2);
}
@media (max-width: 750px) {
  [top-page] section.banner .banner__wrap {
    display: flex;
    --gap: 19rem;
    flex-direction: column;
    gap: var(--gap);
  }
}
[top-page] section.banner .banner__item {
  width: 536rem;
  height: auto;
  display: block;
}
[top-page] section.banner .banner__item img {
  width: 100%;
  height: auto;
}
@media (max-width: 750px) {
  [top-page] section.banner .banner__item {
    width: 100%;
  }
}
[demo-page] {
  min-height: 100svh;
  background: black;
  color: white;
}
[demo-page] .text {
  font-size: 14rem;
}
[demo-page] .movie-canvas {
  width: 100svw;
  height: 100lvh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
}
[demo-page] .movie-canvas .movie-canvas__main {
  width: 100%;
  height: 100%;
}
[demo-page] section.first {
  height: 50svh;
}
[demo-page] section.second {
  height: 400svh;
}
[demo-page] section.third {
  height: 100svh;
}
@keyframes txtblinking {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 0.4;
  }
  10% {
    opacity: 0;
  }
  15% {
    opacity: 0.55;
  }
  20% {
    opacity: 0.55;
  }
  25% {
    opacity: 0;
  }
  30% {
    opacity: 0.7;
  }
  40% {
    opacity: 0.7;
  }
  45% {
    opacity: 0;
  }
  50% {
    opacity: 0.85;
  }
  65% {
    opacity: 0.85;
  }
  70% {
    opacity: 0;
  }
  75% {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
}
@keyframes textBlingBlingBanBan {
  to {
    opacity: 0;
  }
  95% {
    opacity: 0.2;
  }
  90% {
    opacity: 0;
  }
  85% {
    opacity: 0.4;
  }
  80% {
    opacity: 0.4;
  }
  75% {
    opacity: 0;
  }
  70% {
    opacity: 0.6;
  }
  60% {
    opacity: 0.6;
  }
  55% {
    opacity: 0;
  }
  50% {
    opacity: 0.8;
  }
  40% {
    opacity: 0.8;
  }
  35% {
    opacity: 0;
  }
  30% {
    opacity: 0.9;
  }
  20% {
    opacity: 0.9;
  }
  15% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  0% {
    opacity: 1;
  }
}
@media (min-width: 993px) {
  .default a:hover, .default button:hover, .default .base-menu__item:hover {
    animation: 0.4s linear forwards normal running txtblinking;
  }
}
@media (max-width: 992px) {
  .default a[hover-el], .default button[hover-el], .default .base-menu__item[hover-el] {
    animation: 0.4s linear forwards normal running txtblinking;
  }
}