@charset "UTF-8";
span[data-ruby] {
  display: inline-block;
  font-weight: inherit;
  line-height: 1;
  position: relative;
}
span[data-ruby]::before {
  content: attr(data-ruby);
  display: block;
  font-feature-settings: "palt";
  font-size: 100%;
  height: 50%;
  text-align: center;
  transform: translate(-50%, -120%) scale(0.5);
  transform-origin: 50% 0%;
  width: 400%;
  position: absolute;
  top: 0;
  left: 50%;
}
[data-android="1"] span[data-ruby]:before {
  transform: translate(-50%, -100%) scale(0.5);
}

/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after {
  box-sizing: border-box;
}

/**
  * 1. Add text decoration inheritance in all browsers (opinionated).
  * 2. Add vertical alignment inheritance in all browsers (opinionated).
  */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
  * 1. Use the default cursor in all browsers (opinionated).
  * 2. Change the line height in all browsers (opinionated).
  * 3. Use a 4-space tab width in all browsers (opinionated).
  * 4. Remove the grey highlight on links in iOS (opinionated).
  * 5. Prevent adjustments of font size after orientation changes in
  *    IE on Windows Phone and in iOS.
  * 6. Breaks words to prevent overflow in all browsers (opinionated).
  */
html {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

/* Sections
  * ========================================================================== */
/**
  * Remove the margin in all browsers (opinionated).
  */
body {
  margin: 0;
}

/**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Edge, Firefox, and Safari.
  */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
  * ========================================================================== */
/**
  * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
  */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
  * Remove the margin on nested lists in Edge 18- and IE.
  */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
  * 1. Correct the inheritance of border color in Firefox.
  * 2. Add the correct box sizing in Firefox.
  * 3. Show the overflow in Edge 18- and IE.
  */
hr {
  color: inherit; /* 1 */
  height: 0; /* 2 */
  overflow: visible; /* 3 */
}

/**
  * Add the correct display in IE.
  */
main {
  display: block;
}

/**
  * Remove the list style on navigation lists in all browsers (opinionated).
  */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
  * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
  */
nav li::before {
  content: "​";
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  * 3. Prevent overflow of the container in all browsers (opinionated).
  */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
  overflow: auto; /* 3 */
  -ms-overflow-style: scrollbar; /* 3 */
}

/* Text-level semantics
  * ========================================================================== */
/**
  * Remove the gray background on active links in IE 10.
  */
a {
  background-color: transparent;
}

/**
  * Add the correct text decoration in Edge 18-, IE, and Safari.
  */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
  * Add the correct font weight in Chrome, Edge, and Safari.
  */
b,
strong {
  font-weight: bolder;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
  * Add the correct font size in all browsers.
  */
small {
  font-size: 80%;
}

/* Embedded content
  * ========================================================================== */
/*
  * Change the alignment on media elements in all browsers (opinionated).
  */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
  * Add the correct display in IE 9-.
  */
audio,
video {
  display: inline-block;
}

/**
  * Add the correct display in iOS 4-7.
  */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
  * Remove the border on iframes in all browsers (opinionated).
  */
iframe {
  border-style: none;
}

/**
  * Remove the border on images within links in IE 10-.
  */
img {
  border-style: none;
}

/**
  * Change the fill color to match the text color in all browsers (opinionated).
  */
svg:not([fill]) {
  fill: currentColor;
}

/**
  * Hide the overflow in IE.
  */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
  * ========================================================================== */
/**
  * 1. Collapse border spacing in all browsers (opinionated).
  * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
  * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
  */
table {
  border-collapse: collapse; /* 1 */
  border-color: inherit; /* 2 */
  text-indent: 0; /* 3 */
}

/* Forms
  * ========================================================================== */
/**
  * Remove the margin on controls in Safari.
  */
button,
input,
select {
  margin: 0;
}

/**
  * 1. Show the overflow in IE.
  * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
  */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
  * Correct the inability to style buttons in iOS and Safari.
  */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
  * 1. Change the inconsistent appearance in all browsers (opinionated).
  * 2. Correct the padding in Firefox.
  */
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
  * Show the overflow in Edge 18- and IE.
  */
input {
  overflow: visible;
}

/**
  * 1. Correct the text wrapping in Edge 18- and IE.
  * 2. Correct the color inheritance from `fieldset` elements in IE.
  */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
  * 1. Add the correct display in Edge 18- and IE.
  * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
  */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
  * Remove the inheritance of text transform in Firefox.
  */
select {
  text-transform: none;
}

/**
  * 1. Remove the margin in Firefox and Safari.
  * 2. Remove the default vertical scrollbar in IE.
  * 3. Change the resize direction in all browsers (opinionated).
  */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
  resize: block; /* 3 */
}

/**
  * Remove the padding in IE 10-.
  */
[type=checkbox],
[type=radio] {
  padding: 0;
}

/**
  * 1. Correct the odd appearance in Chrome, Edge, and Safari.
  * 2. Correct the outline style in Safari.
  */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
  * Correct the cursor style of increment and decrement buttons in Safari.
  */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
  * Correct the text style of placeholders in Chrome, Edge, and Safari.
  */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
  * Remove the inner padding in Chrome, Edge, and Safari on macOS.
  */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
  * 1. Correct the inability to style upload buttons in iOS and Safari.
  * 2. Change font properties to `inherit` in Safari.
  */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
  * Remove the inner border and padding of focus outlines in Firefox.
  */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
  * Restore the focus outline styles unset by the previous rule in Firefox.
  */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
  * Remove the additional :invalid styles in Firefox.
  */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
  * ========================================================================== */
/*
  * Add the correct display in Edge 18- and IE.
  */
details {
  display: block;
}

/*
  * Add the correct styles in Edge 18-, IE, and Safari.
  */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
  * Add the correct display in all browsers.
  */
summary {
  display: list-item;
}

/* Scripting
  * ========================================================================== */
/**
  * Add the correct display in IE 9-.
  */
canvas {
  display: inline-block;
}

/**
  * Add the correct display in IE.
  */
template {
  display: none;
}

/* User interaction
  * ========================================================================== */
/*
  * Remove the tapping delay in IE 10.
  */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
}

/**
  * Add the correct display in IE 10-.
  */
[hidden] {
  display: none;
}

/* Accessibility
  * ========================================================================== */
/**
  * Change the cursor on busy elements in all browsers (opinionated).
  */
[aria-busy=true] {
  cursor: progress;
}

/*
  * Change the cursor on control elements in all browsers (opinionated).
  */
[aria-controls] {
  cursor: pointer;
}

/*
  * Change the cursor on disabled, not-editable, or otherwise
  * inoperable elements in all browsers (opinionated).
  */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
  * Change the display on visually hidden accessible elements
  * in all browsers (opinionated).
  */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

@media (max-width: 959px) {
  html {
    font-size: 2.0512820513vw;
  }
}
@media (min-width: 960px) {
  html {
    font-size: calc(11.897px * var(--scale-ratio, 1));
  }
}

body {
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #000;
  color: #fff;
  font-family: "YakuHanJP_Noto", "Noto Sans JP", sans-serif;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
}
body.-fade {
  opacity: 0;
}

img {
  width: 100%;
}

button {
  cursor: pointer;
  display: block;
  outline: none;
}

iframe[name=google_conversion_frame] {
  height: 0;
  position: absolute;
}

a {
  cursor: pointer;
}

/* sanitize overwrite */
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dd,
dt {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

ol,
ul,
li {
  list-style: none;
}

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

a:focus {
  outline: none;
}

main {
  display: block;
}

button {
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  outline: none;
  padding: 0;
}

nav li:before {
  content: "";
  display: none;
}

.l-contents__glitch {
  mix-blend-mode: screen;
  opacity: 1;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 0.6s ease;
}
.top:not(.-showTarget) .l-contents__glitch {
  opacity: 0.4;
}
.l-contents__glitch video {
  height: auto;
  width: 100%;
}
.l-contents__glitch img {
  height: 100%;
  width: 100%;
}

.l-contents__nav {
  mix-blend-mode: exclusion;
  overflow-x: hidden;
  overflow-y: auto;
  pointer-events: none;
}

.l-contents__nav__list {
  position: absolute;
  top: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.9);
  min-height: 100%;
  pointer-events: auto;
  transition: translate 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  width: 25.625rem;
}
.l-contents__nav:not(.-active) .l-contents__nav__list {
  translate: 100%;
}

.l-contents__nav__item {
  border-bottom: 0.0625rem solid rgba(153, 153, 153, 0.9);
}
.l-contents__nav__item a {
  background: url(../img/common/ico/ico_arw_b.svg) no-repeat right 2.5rem center/1.625rem auto;
  display: flex;
  flex-direction: column;
  height: 5.9375rem;
  justify-content: center;
  line-height: 1;
  opacity: 0.7;
  padding: 0 0 0.1em 1.5625rem;
  row-gap: 0.3125rem;
}
.l-contents__nav__item strong {
  color: #cccccc;
  font-size: 2.25rem;
  font-weight: 800;
}
.l-contents__nav__item span {
  color: #b3b3b3;
  font-size: 1.5rem;
  font-weight: bold;
  scale: 0.7 1;
  transform-origin: left;
}
.l-contents__nav__item:first-child {
  border-top: 0.0625rem solid rgba(153, 153, 153, 0.9);
  margin-top: 8.625rem;
}

.l-contents__nav__btn {
  position: absolute;
  top: 1.875rem;
  right: 1.8125rem;
  aspect-ratio: 1;
  pointer-events: auto;
  transition: scale 0.3s, rotate 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  width: 4.875rem;
}
.l-contents__nav__btn span {
  position: absolute;
  top: 50%;
  left: 50%;
  aspect-ratio: 1;
  background-color: #b3b3b3;
  border: 0.0625rem solid #b3b3b3;
  border-radius: 50%;
  transition: background 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  translate: -50% -50%;
  width: 1.875rem;
}
.l-contents__nav__btn:before, .l-contents__nav__btn:after {
  position: absolute;
  top: 50%;
  left: 50%;
  border-top: 0.0625rem solid #b3b3b3;
  content: "";
  translate: -50% -50%;
  width: 4.875rem;
}
.l-contents__nav__btn:after {
  rotate: 90deg;
}
@media (min-width: 960px) {
  .l-contents__nav__btn:hover {
    scale: 1.25;
  }
}
.-active .l-contents__nav__btn {
  rotate: 405deg;
}
.-active .l-contents__nav__btn span {
  background: none;
}
.l-contents__nav:not(.-active) .l-contents__nav__btn {
  animation: navBlink 4s infinite;
}
@keyframes navBlink {
  80% {
    opacity: 1;
  }
  85% {
    opacity: 0;
  }
  90% {
    opacity: 1;
  }
  95% {
    opacity: 0;
  }
}

.l-contents__sections {
  mix-blend-mode: difference;
  overflow: hidden;
  pointer-events: none;
}

.l-contents__sections__item {
  display: none;
}
[data-currentsec=news] .l-contents__sections__item[data-section=news] {
  animation: visibleText 0.3s forwards;
  display: block;
}
[data-currentsec=team-up] .l-contents__sections__item[data-section=team-up] {
  animation: visibleText 0.3s forwards;
  display: block;
}
[data-currentsec=introduction] .l-contents__sections__item[data-section=introduction] {
  animation: visibleText 0.3s forwards;
  display: block;
}
[data-currentsec=character] .l-contents__sections__item[data-section=character] {
  animation: visibleText 0.3s forwards;
  display: block;
}
[data-currentsec=staff] .l-contents__sections__item[data-section=staff] {
  animation: visibleText 0.3s forwards;
  display: block;
}
[data-currentsec=cast] .l-contents__sections__item[data-section=cast] {
  animation: visibleText 0.3s forwards;
  display: block;
}
[data-currentsec=theater] .l-contents__sections__item[data-section=theater] {
  animation: visibleText 0.3s forwards;
  display: block;
}
[data-currentsec=ticket] .l-contents__sections__item[data-section=ticket] {
  animation: visibleText 0.3s forwards;
  display: block;
}
[data-currentsec=novelty] .l-contents__sections__item[data-section=novelty] {
  animation: visibleText 0.3s forwards;
  display: block;
}
[data-currentsec=greeting] .l-contents__sections__item[data-section=greeting] {
  animation: visibleText 0.3s forwards;
  display: block;
}
[data-currentsec=goods] .l-contents__sections__item[data-section=goods] {
  animation: visibleText 0.3s forwards;
  display: block;
}
[data-currentsec=music] .l-contents__sections__item[data-section=music] {
  animation: visibleText 0.3s forwards;
  display: block;
}

.l-contents__sections__ttl {
  color: #cccccc;
  font-size: 4.8125rem;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
  writing-mode: vertical-rl;
  white-space: nowrap;
}
.l-contents__sections__ttl.-left {
  position: absolute;
  top: 50%;
  left: -0.625rem;
}
.l-contents__sections__ttl.-right {
  position: absolute;
  top: 50%;
  right: -0.75rem;
}

.textglitch {
  position: relative;
  display: inline-block;
  background-color: #000;
  animation: textGlitch 0.1s 5 cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.textglitch::before, .textglitch::after {
  position: absolute;
  top: 0;
  left: 0;
  content: attr(data-text);
  width: 100%;
  height: 100%;
  overflow: hidden;
  clip: rect(0, 900px, 0, 0);
}
.textglitch::before {
  left: 2px;
  text-shadow: -2px 0 red;
  animation: textGlitch-top 0.2s 6 cubic-bezier(0.785, 0.135, 0.15, 0.86) alternate-reverse;
}
.textglitch::after {
  left: -2px;
  text-shadow: -2px 0 blue;
  animation: textGlitch-bottom 0.2s 6 cubic-bezier(0.785, 0.135, 0.15, 0.86) alternate-reverse;
}

@keyframes visibleText {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes textGlitch {
  0% {
    transform: translate(0, -50%);
  }
  20% {
    transform: translate(-0.09375rem, -50%);
  }
  40% {
    transform: translate(-0.09375rem, -50%);
  }
  60% {
    transform: translate(0.09375rem, -50%);
  }
  80% {
    transform: translate(0.09375rem, -50%);
  }
  100% {
    transform: translate(0, -50%);
  }
}
@keyframes textGlitch-top {
  0% {
    clip: rect(0, 900px, 0, 0);
  }
  20% {
    clip: rect(8px, 900px, 12px, 0);
  }
  40% {
    clip: rect(16px, 900px, 20px, 0);
  }
  60% {
    clip: rect(24px, 900px, 28px, 0);
  }
  80% {
    clip: rect(32px, 900px, 36px, 0);
  }
  100% {
    clip: rect(0, 900px, 0, 0);
  }
}
@keyframes textGlitch-bottom {
  0% {
    clip: rect(0, 900px, 0, 0);
  }
  20% {
    clip: rect(24px, 900px, 28px, 0);
  }
  40% {
    clip: rect(16px, 900px, 20px, 0);
  }
  60% {
    clip: rect(8px, 900px, 12px, 0);
  }
  80% {
    clip: rect(0px, 900px, 4px, 0);
  }
  100% {
    clip: rect(0, 900px, 0, 0);
  }
}
.l-contents__spframe {
  pointer-events: none;
}
.l-contents__spframe::before {
  position: absolute;
  top: 50%;
  left: 50%;
  background: url(../img/common/bg/bg_spframe.png) no-repeat center/100%;
  content: "";
  height: 111.3%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  width: 118.4%;
}

.l-contents__spframe__scroll {
  position: absolute;
  bottom: -16px;
  right: -70px;
  font-size: 0.625rem;
  color: #cccccc;
  display: inline-block;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-bottom: 120px;
  writing-mode: vertical-rl;
  width: 10px;
}
.l-contents__spframe__scroll::before {
  position: absolute;
  left: 50%;
  bottom: 0;
  animation: scrollLineAnm 3s ease-out infinite;
  background-color: #cccccc;
  content: "";
  display: block;
  height: 0;
  width: 1px;
}

@keyframes scrollLineAnm {
  0% {
    clip-path: inset(0 0 100% 0);
    height: 110px;
  }
  30% {
    clip-path: inset(0 0 0 0);
    height: 110px;
  }
  60%, 100% {
    clip-path: none;
    height: 0;
  }
}
.l-contents__targets {
  display: none;
  pointer-events: none;
}
.-showTarget.-scrollStop .l-contents__targets {
  display: block;
}

.l-contents__targets__item {
  height: 4.875rem;
  opacity: 0;
  will-change: opacity transform;
  width: 4.875rem;
}
.l-contents__targets__item::after {
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/common/ico/ico_target.svg) no-repeat 0 0/contain;
  content: "";
  height: 100%;
  width: 100%;
}
.-showTarget.-scrollStop .l-contents__targets__item::after {
  animation: targetMove 0.3s 0.5s 1 both ease-in;
}
.l-contents__targets__item::before {
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/common/ico/ico_target_b.svg) no-repeat 0 0/contain;
  content: "";
  height: 100%;
  opacity: 0;
  width: 100%;
}
.-showTarget.-scrollStop .l-contents__targets__item::before {
  animation: targetMove 0.3s 0.5s 1 both ease-in, targetInOutOpa 0.5s 0.4s 1 both ease-in;
}
.-showTarget.-scrollStop .l-contents__targets__item {
  animation: targetIn 0.6s 0s forwards ease-in;
}
.l-contents__targets__item:nth-of-type(1) {
  position: absolute;
  top: 1.875rem;
  left: 1.875rem;
}
.l-contents__targets__item:nth-of-type(2) {
  position: absolute;
  top: 1.875rem;
  right: 1.875rem;
}
.l-contents__targets__item:nth-of-type(3) {
  position: absolute;
  left: 1.875rem;
  bottom: 1.875rem;
}
.l-contents__targets__item:nth-of-type(4) {
  position: absolute;
  bottom: 1.875rem;
  right: 1.875rem;
}

@keyframes targetIn {
  0% {
    opacity: 0;
    transform: scale(1.6) rotate(360deg);
  }
  80% {
    opacity: 1;
    transform: scale(1) rotate(0);
  }
  81% {
    opacity: 1;
    transform: scale(1) rotate(0);
  }
  90% {
    opacity: 1;
    transform: scale(1) rotate(0);
  }
  100% {
    opacity: 1;
    transform: scale(1) rotate(0);
  }
}
@keyframes targetMove {
  0% {
    transform: translate(0, 0);
  }
  10% {
    transform: translate(0.1875rem, 0.125rem);
    opacity: 0.7;
  }
  30% {
    transform: translate(-0.125rem, 0);
    opacity: 1;
  }
  40% {
    transform: translate(0, 0.1875rem);
    opacity: 0.6;
  }
  50% {
    transform: translate(-0.1875rem, 0);
    opacity: 1;
  }
  65% {
    transform: translate(0.125rem, 0.1875rem);
    opacity: 0.7;
  }
  80% {
    transform: translate(-0.125rem, 0.125rem);
    opacity: 1;
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes targetInOutOpa {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.l-contents {
  position: relative;
  height: 100svh;
  overflow-x: hidden;
  overflow-y: scroll;
  scroll-behavior: smooth;
}
@media (min-width: 960px) {
  .l-contents {
    box-shadow: 0 0 14px rgba(0, 0, 0, 0.7);
    -ms-overflow-style: none;
  }
  .news .l-contents {
    background: #000;
  }
  .l-contents::-webkit-scrollbar {
    display: none;
  }
}

.l-contents__bg {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
}
@media (max-width: 959px) {
  .l-contents__bg {
    background: url(../img/common/bg/bg.jpg) no-repeat top center/cover;
    height: 110vh;
  }
}
@media (min-width: 960px) {
  .l-contents__bg {
    background: none;
  }
}

.l-contents__inner {
  position: relative;
}

.l-contents__bg__img {
  pointer-events: none;
}
@media (min-width: 960px) {
  .l-contents__bg__img {
    background: url(../img/common/bg/bg.jpg) no-repeat top center/cover fixed;
  }
}

.l-contents__bg__head {
  position: absolute;
  top: 45px;
  left: 37px;
  mix-blend-mode: difference;
}

.l-contents__bg__logo {
  margin-left: -30px;
  width: 306px;
}
.l-contents__bg__logo img {
  max-width: none;
  width: 100%;
}

.l-contents__bg__txt {
  position: relative;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 16px;
  opacity: 0.5;
}
.l-contents__bg__txt::before {
  top: 0.4375rem !important;
}

.l-contents__bg__bottom {
  position: absolute;
  left: 37px;
  bottom: 45px;
  display: flex;
  justify-content: center;
}

.l-contents__bg__officialx {
  border: 1px solid #999999;
  border-radius: 9999px;
  color: #cccccc;
  font-size: 10px;
  font-weight: 700;
  height: 40px;
  text-align: center;
  width: min(162px, 11.5vw);
}
.l-contents__bg__officialx a {
  align-items: center;
  display: flex;
  justify-content: center;
  height: 100%;
  line-height: 1;
  width: 100%;
}
.l-contents__bg__officialx .ico_x {
  background: #cccccc;
  display: inline-block;
  -webkit-mask: url(../img/common/ico/ico_x_logo.svg) no-repeat 0 0/contain;
          mask: url(../img/common/ico/ico_x_logo.svg) no-repeat 0 0/contain;
  height: 16px;
  margin-left: 12px;
  width: 16px;
}
.l-contents__bg__officialx::after {
  position: absolute;
  top: 50%;
  right: 9.2%;
  border-bottom: 0.25rem solid #b4b4b4;
  border-right: 0.25rem solid #b4b4b4;
  content: "";
  display: block;
  transform: translateY(-50%) rotate(-45deg);
  transition: all 0.2s;
  height: 8px;
  width: 8px;
}

.l-contents__bg__nav {
  position: absolute;
  top: 50%;
  left: 50%;
  border-top: 1px solid rgba(153, 153, 153, 0.9);
  translate: 340px -56%;
  width: 195px;
}
@media (max-width: 1279px) {
  .l-contents__bg__nav {
    display: none;
  }
}

.l-contents__bg__nav__item {
  border-bottom: 1px solid rgba(153, 153, 153, 0.9);
}
.l-contents__bg__nav__item a {
  background: url(../img/common/ico/ico_arw_b.svg) no-repeat right 12px center/12px auto;
  display: flex;
  flex-direction: column;
  height: 59px;
  justify-content: center;
  line-height: 1;
  mix-blend-mode: exclusion;
  opacity: 0.7;
  padding: 0 0 0.1em 12px;
  row-gap: 5px;
}
.l-contents__bg__nav__item strong {
  color: #cccccc;
  font-size: 20px;
  font-weight: 800;
}
.l-contents__bg__nav__item span {
  color: #b3b3b3;
  font-size: 12px;
  font-weight: bold;
  scale: 0.7 1;
  transform-origin: left;
}

.l-contents__bg__share {
  position: absolute;
  top: 50%;
  right: 37px;
  text-align: center;
  transform: translateY(-50%);
}
.l-contents__bg__share .share__txt {
  font-size: 0.625rem;
  color: #cccccc;
  display: inline-block;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}
.l-contents__bg__share .share__txt::before {
  position: absolute;
  top: -1.5625rem;
  left: 50%;
}
.l-contents__bg__share .share__list {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 18px;
  justify-content: center;
}
.l-contents__bg__share .share__list__item {
  height: 29px;
  width: 29px;
}
.l-contents__bg__share .share__list__item.-x .share__list__link {
  -webkit-mask-image: url(../img/common/ico/ico_x.svg);
          mask-image: url(../img/common/ico/ico_x.svg);
}
.l-contents__bg__share .share__list__item.-line .share__list__link {
  -webkit-mask-image: url(../img/common/ico/ico_instagram.svg);
          mask-image: url(../img/common/ico/ico_instagram.svg);
}
.l-contents__bg__share .share__list__item.-facebook .share__list__link {
  -webkit-mask-image: url(../img/common/ico/ico_facebook.svg);
          mask-image: url(../img/common/ico/ico_facebook.svg);
}
.l-contents__bg__share .share__list__link {
  background: #cccccc;
  display: block;
  height: 100%;
  -webkit-mask-position: top;
          mask-position: top;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 100%;
}

.l-footer {
  position: relative;
  color: #b4b4b4;
  padding: 4.5625rem 0 5.125rem;
  text-align: center;
}

.l-footer__navs {
  display: flex;
  justify-content: center;
}

.l-footer__navs__item {
  position: relative;
  font-size: 1.625rem;
  letter-spacing: 0.02em;
  padding: 0 1.0625rem;
}
.l-footer__navs__item::before {
  position: absolute;
  top: 50%;
  left: 0;
  background: #b4b4b4;
  content: "";
  height: 1.1875rem;
  transform: translateY(-36%);
  width: 0.15625rem;
}
.l-footer__navs__item:nth-last-of-type(1)::after {
  position: absolute;
  top: 50%;
  right: 0;
  background: #b4b4b4;
  content: "";
  height: 1.1875rem;
  transform: translateY(-36%);
  width: 0.15625rem;
}

.l-footer__attcopyright {
  font-size: 1.25rem;
  line-height: 1.8;
  margin-top: 1.875rem;
  padding: 0 4.375rem;
}

.l-main {
  --glitch-width: 100vw;
  --glitch-height: 100vh;
  --gap-horizontal: 10px;
  --gap-vertical: 5px;
  --time-anim: 10s;
  --delay-anim: 8s;
  --blend-mode-1: none;
  --blend-mode-2: none;
  --blend-mode-3: none;
  --blend-mode-4: none;
  --blend-mode-5: overlay;
  --blend-color-1: transparent;
  --blend-color-2: transparent;
  --blend-color-3: transparent;
  --blend-color-4: transparent;
  --blend-color-5: #af4949;
}

/* Glitch styles */
.glitch {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--glitch-width);
  height: var(--glitch-height);
  overflow: hidden;
}

.glitch__img {
  position: absolute;
  top: calc(-1 * var(--gap-vertical));
  left: calc(-1 * var(--gap-horizontal));
  width: calc(100% + var(--gap-horizontal) * 2);
  height: calc(100% + var(--gap-vertical) * 2);
  background-color: var(--blend-color-1);
  transform: translate3d(0, 0, 0);
  background-blend-mode: var(--blend-mode-1);
}
.glitch__img:nth-child(n+2) {
  opacity: 0;
  animation-duration: var(--time-anim);
  animation-delay: var(--delay-anim);
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  animation-iteration-count: infinite;
}
.glitch__img:nth-child(2) {
  background-color: var(--blend-color-2);
  background-blend-mode: var(--blend-mode-2);
  animation-name: glitch-anim-1;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.glitch__img:nth-child(3) {
  background-color: var(--blend-color-3);
  background-blend-mode: var(--blend-mode-3);
  animation-name: glitch-anim-2;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.glitch__img:nth-child(4) {
  background-color: var(--blend-color-4);
  background-blend-mode: var(--blend-mode-4);
  animation-name: glitch-anim-3;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.glitch__img:nth-child(5) {
  background-color: var(--blend-color-5);
  background-blend-mode: var(--blend-mode-5);
  animation-name: glitch-anim-flash;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

@keyframes glitch-anim-1 {
  0% {
    opacity: 1;
    transform: translate3d(var(--gap-horizontal), 0, 0);
    clip-path: polygon(0 1%, 100% 1%, 100% 2.5%, 0 2.5%);
  }
  2% {
    clip-path: polygon(0 7.5%, 100% 7.5%, 100% 7.5%, 0 7.5%);
  }
  4% {
    clip-path: polygon(0 5%, 100% 5%, 100% 6%, 0 6%);
  }
  6% {
    clip-path: polygon(0 0.5%, 100% 0.5%, 100% 1%, 0 1%);
  }
  8% {
    clip-path: polygon(0 16.5%, 100% 16.5%, 100% 16.5%, 0 16.5%);
  }
  10% {
    clip-path: polygon(0 22%, 100% 22%, 100% 22%, 0 22%);
  }
  12% {
    clip-path: polygon(0 25%, 100% 25%, 100% 24%, 0 24%);
  }
  14% {
    clip-path: polygon(0 35%, 100% 35%, 100% 35%, 0 35%);
  }
  16% {
    clip-path: polygon(0 40%, 100% 40%, 100% 40%, 0 40%);
  }
  18% {
    clip-path: polygon(0 25%, 100% 25%, 100% 26.5%, 0 26.5%);
  }
  20% {
    clip-path: polygon(0 40%, 100% 40%, 100% 40%, 0 40%);
  }
  21.9% {
    opacity: 1;
    transform: translate3d(var(--gap-horizontal), 0, 0);
  }
  22%, 100% {
    opacity: 0;
    transform: translate3d(0, 0, 0);
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  }
}
@keyframes glitch-anim-2 {
  0% {
    opacity: 1;
    transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0);
    clip-path: polygon(0 13%, 100% 13%, 100% 14%, 0 14%);
  }
  3% {
    clip-path: polygon(0 1.5%, 100% 1.5%, 100% 1.5%, 0 1.5%);
  }
  5% {
    clip-path: polygon(0 2.5%, 100% 2.5%, 100% 3%, 0 3%);
  }
  7% {
    clip-path: polygon(0 10%, 100% 10%, 100% 10%, 0 10%);
  }
  9% {
    clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
  }
  11% {
    clip-path: polygon(0 26%, 100% 26%, 100% 27%, 0 27%);
  }
  13% {
    clip-path: polygon(0 30%, 100% 30%, 100% 30%, 0 30%);
  }
  15% {
    clip-path: polygon(0 37.5%, 100% 37.5%, 100% 37.5%, 0 37.5%);
  }
  17% {
    clip-path: polygon(0 32%, 100% 32%, 100% 31%, 0 31%);
  }
  19% {
    clip-path: polygon(0 22.5%, 100% 22.5%, 100% 23%, 0 23%);
  }
  20% {
    clip-path: polygon(0 7%, 100% 7%, 100% 7.5%, 0 7.5%);
  }
  21.9% {
    opacity: 1;
    transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0);
  }
  22%, 100% {
    opacity: 0;
    transform: translate3d(0, 0, 0);
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  }
}
@keyframes glitch-anim-3 {
  0% {
    opacity: 1;
    transform: translate3d(0, calc(-1 * var(--gap-vertical)), 0) scale3d(-1, -1, 1);
    clip-path: polygon(0 1%, 100% 1%, 100% 1.2%, 0 1.2%);
  }
  1.5% {
    clip-path: polygon(0 10%, 100% 10%, 100% 9.5%, 0 9.5%);
  }
  2% {
    clip-path: polygon(0 5%, 100% 5%, 100% 5.5%, 0 5.5%);
  }
  2.5% {
    clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
  }
  3% {
    clip-path: polygon(0 10%, 100% 10%, 100% 10%, 0 10%);
  }
  5% {
    clip-path: polygon(0 30%, 100% 30%, 100% 29.8%, 0 29.8%);
  }
  5.5% {
    clip-path: polygon(0 15%, 100% 15%, 100% 15.3%, 0 15.3%);
  }
  7% {
    clip-path: polygon(0 40%, 100% 40%, 100% 39.6%, 0 39.6%);
  }
  8% {
    clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
  }
  9% {
    clip-path: polygon(0 60%, 100% 60%, 100% 59.7%, 0 59.7%);
  }
  10.5% {
    clip-path: polygon(0 30%, 100% 30%, 100% 30.2%, 0 30.2%);
  }
  11% {
    clip-path: polygon(0 70%, 100% 70%, 100% 69.5%, 0 69.5%);
  }
  13% {
    clip-path: polygon(0 40%, 100% 40%, 100% 40.5%, 0 40.5%);
  }
  14% {
    clip-path: polygon(0 80%, 100% 80%, 100% 81.5%, 0 81.5%);
  }
  14.5% {
    clip-path: polygon(0 50%, 100% 50%, 100% 50.2%, 0 50.2%);
  }
  15% {
    clip-path: polygon(0 90%, 100% 90%, 100% 90%, 0 90%);
  }
  16% {
    clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
  }
  18% {
    clip-path: polygon(0 100%, 100% 100%, 100% 99.8%, 0 99.8%);
  }
  20% {
    clip-path: polygon(0 70%, 100% 70%, 100% 70.5%, 0 70.5%);
  }
  21.9% {
    opacity: 1;
    transform: translate3d(0, calc(-1 * var(--gap-vertical)), 0) scale3d(-1, -1, 1);
  }
  22%, 100% {
    opacity: 0;
    transform: translate3d(0, 0, 0);
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  }
}
/* Flash */
@keyframes glitch-anim-flash {
  0%, 5% {
    opacity: 0.2;
    transform: translate3d(var(--gap-horizontal), var(--gap-vertical), 0);
  }
  5.5%, 100% {
    opacity: 0;
    transform: translate3d(0, 0, 0);
  }
}
.l-main {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  width: 100%;
}
@media (min-width: 960px) {
  .l-main {
    align-items: center;
    display: flex;
    justify-content: center;
  }
}

.l-main__bg {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}
.l-main__bg::after {
  position: absolute;
  top: 0;
  left: 0;
  background-image: repeating-linear-gradient(90deg, #fff, #fff 1px, transparent 1px, transparent 22px), repeating-linear-gradient(0deg, #fff, #fff 1px, rgba(0, 0, 0, 0) 1px, rgba(0, 0, 0, 0) 22px);
  content: "";
  height: 100%;
  mix-blend-mode: exclusion;
  opacity: 0.05;
  width: 100%;
}

.l-main__bg__item {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  animation: fadeSlideShow 40s infinite, zoomAnm 10s linear infinite alternate;
}
.l-main__bg__item img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}

.l-main__bg__item:nth-child(1) {
  animation-delay: 0s;
}
.l-main__bg__item:nth-child(1) .l-main__bg__item__img {
  background: url(../img/common/bg_wide_1.jpg) no-repeat 50% 0/cover;
}

.l-main__bg__item:nth-child(2) {
  animation-delay: 10s;
}
.l-main__bg__item:nth-child(2) .l-main__bg__item__img {
  background: url(../img/common/bg_wide_2.jpg) no-repeat 50% 0/cover;
}

.l-main__bg__item:nth-child(3) {
  animation-delay: 20s;
}
.l-main__bg__item:nth-child(3) .l-main__bg__item__img {
  background: url(../img/common/bg_wide_3.jpg) no-repeat 50% 0/cover;
}

.l-main__bg__item:nth-child(4) {
  animation-delay: 30s;
}
.l-main__bg__item:nth-child(4) .l-main__bg__item__img {
  background: url(../img/common/bg_wide_4.jpg) no-repeat 50% 0/cover;
}

.l-main__bg__filter {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.l-main__bg__filter::before {
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/common/bg_dot.png) repeat center/1920px 969px;
  content: "";
  height: 100%;
  mix-blend-mode: multiply;
  opacity: 0.85;
  width: 100%;
}
.l-main__bg__filter::after {
  position: absolute;
  top: 0;
  left: 0;
  background: radial-gradient(rgb(255, 255, 255) 60%, rgb(0, 0, 0) 100%);
  content: "";
  height: 100%;
  mix-blend-mode: multiply;
  opacity: 0.8;
  width: 100%;
}

@keyframes fadeSlideShow {
  0% {
    opacity: 0;
  }
  8.33% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  33.33% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes zoomAnm {
  0% {
    scale: 1;
  }
  100% {
    scale: 1.1;
  }
}
.c-acc:has(.c-acc_txt):not(:has(.-show)) .c-acc_btn {
  opacity: 0;
  pointer-events: none;
}

.c-acc_cont {
  overflow: hidden;
  text-align: justify;
  transition: height 1s;
}

.c-acc_btn {
  margin-top: 2.25rem;
  transition: opacity 0.3s;
}
.c-acc_btn button {
  border: 0.125rem solid rgba(255, 255, 255, 0.5);
  border-radius: 100vmax;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  height: 4.25rem;
  margin-left: auto;
  position: relative;
  width: 15.5rem;
}
.c-acc_btn button:before, .c-acc_btn button:after {
  position: absolute;
  top: 50%;
  left: nul;
  right: 2.25rem;
  border-top: 0.125rem solid #fff;
  content: "";
  translate: 50% -50%;
  width: 1.25rem;
}
.c-acc_btn button:after {
  rotate: 90deg;
  transition: opacity 0.3s;
}
.-open .c-acc_btn button:after {
  opacity: 0;
}

@keyframes itemInY {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes itemInYM {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes itemInOpa {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes itemOutOpa {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes tapeInLeft {
  0% {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  99% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
  100% {
    clip-path: none;
    opacity: 1;
  }
}
@keyframes tapeInRight {
  0% {
    clip-path: inset(0 0 0 100%);
    opacity: 0;
  }
  99% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
  100% {
    clip-path: none;
    opacity: 1;
  }
}
@keyframes tapeOutRight {
  0% {
    clip-path: inset(0 0 0 0);
  }
  100% {
    clip-path: inset(0 100% 0 0);
  }
}
@keyframes glitchAnime {
  0% {
    clip-path: polygon(24.2199488974% 46.0921069331%, 34.2199488974% 46.0921069331%, 34.2199488974% 48.2319020277%, 24.2199488974% 48.2319020277%);
  }
  0.2% {
    clip-path: polygon(43.4272599473% 88.6268382504%, 53.4272599473% 88.6268382504%, 53.4272599473% 93.3992494158%, 43.4272599473% 93.3992494158%);
  }
  0.4% {
    clip-path: polygon(44.1960788673% 84.3087002302%, 54.1960788673% 84.3087002302%, 54.1960788673% 87.2447993381%, 44.1960788673% 87.2447993381%);
  }
  0.6% {
    clip-path: polygon(27.2137624741% 68.3821983549%, 37.2137624741% 68.3821983549%, 37.2137624741% 72.2400498988%, 27.2137624741% 72.2400498988%);
  }
  0.8% {
    clip-path: polygon(43.112804358% 21.3425330565%, 53.112804358% 21.3425330565%, 53.112804358% 28.2859077316%, 43.112804358% 28.2859077316%);
  }
  1% {
    clip-path: polygon(57.8475169867% 58.3789852877%, 67.8475169867% 58.3789852877%, 67.8475169867% 63.6241945196%, 57.8475169867% 63.6241945196%);
  }
  1.2% {
    clip-path: polygon(33.9642265221% 11.1244078125%, 43.9642265221% 11.1244078125%, 43.9642265221% 14.1139738476%, 33.9642265221% 14.1139738476%);
  }
  1.4% {
    clip-path: polygon(88.5783844897% 5.7475338609%, 98.5783844897% 5.7475338609%, 98.5783844897% 8.4694234846%, 88.5783844897% 8.4694234846%);
  }
  1.6% {
    clip-path: polygon(18.4849167989% 27.9291234995%, 28.4849167989% 27.9291234995%, 28.4849167989% 30.9501548167%, 18.4849167989% 30.9501548167%);
  }
  1.8% {
    clip-path: polygon(75.9281515372% 89.4880332831%, 85.9281515372% 89.4880332831%, 85.9281515372% 93.8104348742%, 75.9281515372% 93.8104348742%);
  }
  2% {
    clip-path: polygon(30.8082906334% 45.2503273398%, 40.8082906334% 45.2503273398%, 40.8082906334% 51.5496568276%, 30.8082906334% 51.5496568276%);
  }
  2.2% {
    clip-path: polygon(82.6835486567% 39.5756894081%, 92.6835486567% 39.5756894081%, 92.6835486567% 45.747500946%, 82.6835486567% 45.747500946%);
  }
  2.4% {
    clip-path: polygon(12.5951236691% 52.7079224144%, 22.5951236691% 52.7079224144%, 22.5951236691% 57.3104985264%, 12.5951236691% 57.3104985264%);
  }
  2.6% {
    clip-path: polygon(23.102663322% 53.9115180732%, 33.102663322% 53.9115180732%, 33.102663322% 58.1656123395%, 23.102663322% 58.1656123395%);
  }
  2.8% {
    clip-path: polygon(21.9965478904% 51.2059858729%, 31.9965478904% 51.2059858729%, 31.9965478904% 57.7990776949%, 21.9965478904% 57.7990776949%);
  }
  3% {
    clip-path: polygon(11.0585062705% 51.0194845725%, 21.0585062705% 51.0194845725%, 21.0585062705% 54.7180499089%, 11.0585062705% 54.7180499089%);
  }
  3.2% {
    clip-path: polygon(36.3927667975% 83.5102590758%, 46.3927667975% 83.5102590758%, 46.3927667975% 89.687880873%, 36.3927667975% 89.687880873%);
  }
  3.4% {
    clip-path: polygon(53.605252585% 87.5646557513%, 63.605252585% 87.5646557513%, 63.605252585% 93.8301010217%, 53.605252585% 93.8301010217%);
  }
  3.6% {
    clip-path: polygon(55.4969609462% 19.6373853445%, 65.4969609462% 19.6373853445%, 65.4969609462% 23.9226118446%, 55.4969609462% 23.9226118446%);
  }
  3.8% {
    clip-path: polygon(17.4075519467% 15.1632410546%, 27.4075519467% 15.1632410546%, 27.4075519467% 21.0410172448%, 17.4075519467% 21.0410172448%);
  }
  4% {
    clip-path: polygon(47.7961214945% 11.4428806903%, 57.7961214945% 11.4428806903%, 57.7961214945% 13.7931977718%, 47.7961214945% 13.7931977718%);
  }
  4.2% {
    clip-path: polygon(35.5023023943% 19.709488602%, 45.5023023943% 19.709488602%, 45.5023023943% 26.6002694504%, 35.5023023943% 26.6002694504%);
  }
  4.4% {
    clip-path: polygon(56.1801693892% 40.7715026316%, 66.1801693892% 40.7715026316%, 66.1801693892% 47.7120351122%, 56.1801693892% 47.7120351122%);
  }
  4.6% {
    clip-path: polygon(66.2291819953% 47.1156815467%, 76.2291819953% 47.1156815467%, 76.2291819953% 50.7171877655%, 66.2291819953% 50.7171877655%);
  }
  4.8% {
    clip-path: polygon(15.201816735% 65.648370983%, 25.201816735% 65.648370983%, 25.201816735% 70.8372690822%, 15.201816735% 70.8372690822%);
  }
  5% {
    clip-path: polygon(6.6848266389% 54.5088807174%, 16.6848266389% 54.5088807174%, 16.6848266389% 59.6235843389%, 6.6848266389% 59.6235843389%);
  }
  5.2% {
    clip-path: polygon(33.8877594849% 94.1535444238%, 43.8877594849% 94.1535444238%, 43.8877594849% 99.9724738389%, 33.8877594849% 99.9724738389%);
  }
  5.4% {
    clip-path: polygon(77.6541018198% 7.3391925914%, 87.6541018198% 7.3391925914%, 87.6541018198% 12.6148030434%, 77.6541018198% 12.6148030434%);
  }
  5.6% {
    clip-path: polygon(50.8447710208% 80.220053646%, 60.8447710208% 80.220053646%, 60.8447710208% 83.5368591557%, 50.8447710208% 83.5368591557%);
  }
  5.8% {
    clip-path: polygon(31.4281914533% 89.0984215579%, 41.4281914533% 89.0984215579%, 41.4281914533% 94.7211215712%, 31.4281914533% 94.7211215712%);
  }
  6% {
    clip-path: polygon(9.2150222418% 65.4492488001%, 19.2150222418% 65.4492488001%, 19.2150222418% 69.6994551807%, 9.2150222418% 69.6994551807%);
  }
  6.2% {
    clip-path: polygon(46.6846233824% 86.5375621831%, 56.6846233824% 86.5375621831%, 56.6846233824% 90.3015611788%, 46.6846233824% 90.3015611788%);
  }
  6.4% {
    clip-path: polygon(84.4436995586% 5.8224465296%, 94.4436995586% 5.8224465296%, 94.4436995586% 12.549354768%, 84.4436995586% 12.549354768%);
  }
  6.6% {
    clip-path: polygon(20.5864882519% 7.8122648248%, 30.5864882519% 7.8122648248%, 30.5864882519% 10.934884388%, 20.5864882519% 10.934884388%);
  }
  6.8% {
    clip-path: polygon(12.780908689% 49.3033244781%, 22.780908689% 49.3033244781%, 22.780908689% 53.0767253676%, 12.780908689% 53.0767253676%);
  }
  7% {
    clip-path: polygon(46.7384829462% 8.5027533205%, 56.7384829462% 8.5027533205%, 56.7384829462% 11.2517206725%, 46.7384829462% 11.2517206725%);
  }
  7.2% {
    clip-path: polygon(81.1748654069% 39.0632305246%, 91.1748654069% 39.0632305246%, 91.1748654069% 42.8035596941%, 81.1748654069% 42.8035596941%);
  }
  7.4% {
    clip-path: polygon(7.1134236803% 58.7853113896%, 17.1134236803% 58.7853113896%, 17.1134236803% 65.7578780277%, 7.1134236803% 65.7578780277%);
  }
  7.6% {
    clip-path: polygon(25.0412337768% 43.152364065%, 35.0412337768% 43.152364065%, 35.0412337768% 45.4641757722%, 25.0412337768% 45.4641757722%);
  }
  7.8% {
    clip-path: polygon(88.9521846016% 21.3983405188%, 98.9521846016% 21.3983405188%, 98.9521846016% 26.8288515274%, 88.9521846016% 26.8288515274%);
  }
  8% {
    clip-path: polygon(46.8083568497% 2.1934279912%, 56.8083568497% 2.1934279912%, 56.8083568497% 8.8276750724%, 46.8083568497% 8.8276750724%);
  }
  8.2% {
    clip-path: polygon(18.2563361029% 13.4509024607%, 28.2563361029% 13.4509024607%, 28.2563361029% 19.4590918141%, 18.2563361029% 19.4590918141%);
  }
  8.4% {
    clip-path: polygon(22.6912915238% 9.9070252224%, 32.6912915238% 9.9070252224%, 32.6912915238% 14.0346828828%, 22.6912915238% 14.0346828828%);
  }
  8.6% {
    clip-path: polygon(57.4406093322% 8.9454662803%, 67.4406093322% 8.9454662803%, 67.4406093322% 12.8805160796%, 57.4406093322% 12.8805160796%);
  }
  8.8% {
    clip-path: polygon(22.6859654115% 75.7483785025%, 32.6859654115% 75.7483785025%, 32.6859654115% 82.1590932641%, 22.6859654115% 82.1590932641%);
  }
  9% {
    clip-path: polygon(25.1176151657% 76.5694718298%, 35.1176151657% 76.5694718298%, 35.1176151657% 80.4813974492%, 25.1176151657% 80.4813974492%);
  }
  9.2% {
    clip-path: polygon(2.0434105317% 39.9550015643%, 12.0434105317% 39.9550015643%, 12.0434105317% 45.6413514472%, 2.0434105317% 45.6413514472%);
  }
  9.4% {
    clip-path: polygon(7.6267957257% 72.818348574%, 17.6267957257% 72.818348574%, 17.6267957257% 79.5609430176%, 7.6267957257% 79.5609430176%);
  }
  9.6% {
    clip-path: polygon(49.4474536773% 7.353183113%, 59.4474536773% 7.353183113%, 59.4474536773% 13.8897620458%, 49.4474536773% 13.8897620458%);
  }
  9.8% {
    clip-path: polygon(12.9295013563% 54.7861391666%, 22.9295013563% 54.7861391666%, 22.9295013563% 57.2449933802%, 12.9295013563% 57.2449933802%);
  }
  10%, 100% {
    clip-path: none;
  }
}
.c-zeng {
  font-family: "YakuHanJP_Noto", "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
}

.c-acumin {
  font-family: "YakuHanJP_Noto", "acumin-variable", sans-serif;
  font-variation-settings: "wght" 500, "wdth" 80, "slnt" -12;
}

.c-hangro {
  font-family: "YakuHanJP_Noto", "Hanken Grotesk", sans-serif;
  font-style: normal;
}

.c-acumin {
  font-family: "YakuHanJP_Noto", "acumin-variable", sans-serif;
  font-variation-settings: "wght" 500, "wdth" 80, "slnt" -12;
}

.c-head__shoulder {
  color: rgba(179, 179, 179, 0.73);
  display: flex;
  font-size: 1.625rem;
  font-weight: bold;
  justify-content: center;
  line-height: 1;
}

.c-head__ttl {
  color: #cccccc;
  display: flex;
  font-size: 4.0625rem;
  font-weight: bold;
  justify-content: center;
  line-height: 1;
  margin-top: 1rem;
  scale: 0.7 1;
  white-space: nowrap;
}

.c-hover_op {
  transition: opacity 0.3s 0s ease;
}
@media (min-width: 960px) {
  .c-hover_op:hover {
    opacity: 0.75;
  }
}

.c-hover_bl {
  transition: opacity 0.3s 0s ease;
}
@media (min-width: 960px) {
  .c-hover_bl:hover {
    filter: blur(1px);
    opacity: 0.75;
  }
}

.c-hover_br {
  transition: filter 0.3s 0s ease;
}
@media (min-width: 960px) {
  .c-hover_br:hover {
    filter: brightness(1.5);
  }
}

.c-inner {
  padding-block: 10rem;
}
.top-news .c-inner, .theater .c-inner, .ticket .c-inner, .novelty .c-inner, .greeting .c-inner, .goods .c-inner, .music .c-inner {
  padding-inline: 6.25rem;
}
.staff .c-inner {
  padding-inline: 2.5rem;
}
[data-section=staff] .c-inner, [data-section=theater] .c-inner, [data-section=novelty] .c-inner {
  padding-bottom: 0;
}

.moviemodal__iframe {
  position: relative;
}
.moviemodal__iframe:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.moviemodal__iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
  height: 100%;
  width: 100%;
}

.moviemodal__nav {
  display: flex;
  flex-wrap: wrap;
  margin: 16px -4px;
  padding: 0 24px;
}
@media (min-width: 960px) {
  .moviemodal__nav {
    margin: 24px -4px;
    padding: 0;
  }
}

.moviemodal__nav__item {
  background: #aabec8;
  color: #fff;
  cursor: pointer;
  font-weight: 700;
  margin: 4px;
  padding: 6px;
  text-align: center;
  transition: 0.3s 0s ease;
  width: calc(50% - 8px);
  font-size: 0.75rem;
}
@media (min-width: 960px) {
  .moviemodal__nav__item {
    font-size: 0.9375rem;
  }
}
.moviemodal__nav__item.-active, .moviemodal__nav__item:hover {
  background: #77c8c9;
}

body.-inmodal {
  height: 100%;
  overflow: hidden;
}

.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  align-items: center;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  height: 100%;
  opacity: 0;
  overflow: auto;
  transition: all 0.5s 0s ease;
  visibility: hidden;
  width: 100%;
  z-index: 10;
}
.c-modal.-nocenter {
  align-items: flex-start;
}
.c-modal.-active {
  opacity: 1;
  visibility: visible;
}

@keyframes openModal {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
.c-modal__inner {
  position: relative;
  margin: 0 auto;
  max-width: 920px;
  width: 100%;
}
.illustmodal .c-modal__inner {
  height: 90vh;
}
.c-modal__inner .illustmodal__inner {
  position: relative;
  height: 100%;
  width: 100%;
}
.c-modal__inner .illustmodal__inner img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}
.-img .c-modal__inner {
  position: relative;
  height: 100%;
  max-height: 90vh;
  max-width: 780px;
  width: 100%;
}
.-img .c-modal__inner img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}

.c-modal__close {
  position: fixed;
  top: 20px;
  right: 20px;
  background: url(../img/common/ico/ico_close.svg) no-repeat;
  height: 44px;
  transition: all 0.3s 0s ease;
  width: 44px;
}
@media (min-width: 960px) {
  .c-modal__close {
    position: fixed;
    top: 32px;
    right: 32px;
    height: 80px;
    width: 80px;
  }
}
.c-modal__close:hover {
  opacity: 0.5;
  transform: scale(1.25);
}

.c-prompt {
  position: relative;
  display: block;
}
.c-prompt::before {
  position: absolute;
  top: 0.25rem;
  left: -1.5625rem;
  content: "";
  background: #adadad;
  display: inline-block;
  -webkit-mask: url(../img/common/ico/ico_arw_line.svg) no-repeat center/contain;
          mask: url(../img/common/ico/ico_arw_line.svg) no-repeat center/contain;
  height: 1.1875rem;
  width: 0.9375rem;
}
.js-scrollreveal .c-prompt::before {
  opacity: 0;
}
.js-scrollreveal.-reveal .c-prompt::before {
  animation: flashPrompt 0.25s steps(2) 3 alternate forwards;
}

.c-prompt_v {
  position: relative;
}
.c-prompt_v::before {
  position: absolute;
  top: -1.5625rem;
  left: 50%;
  content: "";
  background: #adadad;
  display: inline-block;
  -webkit-mask: url(../img/common/ico/ico_arw_line.svg) no-repeat center/contain;
          mask: url(../img/common/ico/ico_arw_line.svg) no-repeat center/contain;
  height: 0.9375rem;
  transform: translateX(-50%) rotate(90deg);
  width: 1.1875rem;
}

@keyframes flashPrompt {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes scrollImgReveal {
  0% {
    scale: 1.1;
  }
  100% {
    scale: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.c-imgreveal {
  overflow: hidden;
}
.c-imgreveal img {
  scale: 1.1;
}
.c-imgreveal[data-reveal="1"] img {
  animation: scrollImgReveal 1.5s 0s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards;
}

.c-txtreveal {
  opacity: 0;
}
.c-txtreveal[data-reveal="1"] {
  animation: fadeIn 0.6s 0s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards;
}

.splitdiv {
  opacity: 0;
}

@media (max-width: 959px) {
  .js-screen {
    position: fixed;
    top: 0;
    left: 0;
    height: 100svh;
    width: 100%;
  }
}
@media (min-width: 960px) {
  .js-screen {
    position: absolute;
    top: 50%;
    left: 50%;
    height: var(--screen-height, 974px);
    max-height: 974px;
    max-width: 580px;
    transform: translate(-50%, -50%);
    width: calc(var(--screen-height, 974px) * 0.5954825462);
    will-change: transform;
    -ms-overflow-style: none;
  }
  .js-screen::-webkit-scrollbar {
    display: none;
  }
}

.c-scrollreveal {
  opacity: 0;
}
@media (max-width: 959px) {
  .c-scrollreveal {
    transform: translateY(20px);
  }
}
@media (min-width: 960px) {
  .c-scrollreveal {
    transform: translateY(30px);
  }
}
@media (max-width: 959px) {
  .c-scrollreveal.-reveal {
    animation: itemInSp 1s 0s forwards;
  }
}
@media (min-width: 960px) {
  .c-scrollreveal.-reveal {
    animation: itemInPc 1s 0s forwards;
  }
}

@keyframes itemInSp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes itemInPc {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.c-scrollInGlich.-reveal {
  animation: glitchIn 0.5s 0s 1 none;
}

@keyframes glitchIn {
  0% {
    color: rgba(236, 34, 37, 0.2);
    text-shadow: 0.09em 0 0 red, -0.05em -0.09em 0 blue, 0.05em 0.09em 0 green;
  }
  14% {
    text-shadow: 0.09em 0 0 red, -0.05em -0.09em 0 blue, 0.05em 0.09em 0 green;
  }
  15% {
    color: green;
    text-shadow: -0.09em -0.05em 0 red, 0.05em -0.05em 0 blue, -0.09em -0.09em 0 green;
  }
  49% {
    text-shadow: -0.09em -0.05em 0 red, 0.05em -0.05em 0 blue, -0.09em -0.09em 0 green;
  }
  50% {
    text-shadow: 0.05em 0.09em 0 red, -0.05em 0.09em 0 blue, 0 -0.09em 0 green;
  }
  99% {
    color: blue;
    text-shadow: 0.05em 0.09em 0 red, -0.05em 0.09em 0 blue, 0 -0.09em 0 green;
  }
  100% {
    text-shadow: -0.05em 0 0 red, -0.05em -0.05em 0 blue, -0.05em -0.09em 0 green;
  }
}
.c-sec__inner {
  margin: 0 auto;
}

.c-visible_nrw {
  display: block;
}
@media (min-width: 960px) {
  .c-visible_nrw {
    display: none;
  }
}

@media (max-width: 959px) {
  .c-visible_wide {
    display: none;
  }
}