@charset "UTF-8";
/*! destyle.css v1.0.15 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model */
/* ============================================ */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

::before,
::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}

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

address {
  font-style: inherit;
}

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted; /* 2 */
}

/**
 * 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: inherit; /* 2 */
}

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

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
  vertical-align: bottom;
}

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
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;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

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

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

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

body {
  min-width: 320px;
  color: #02003e;
  font-weight: 400;
  background-color: #ffffff;
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 768px) {
  body {
    -webkit-text-size-adjust: 100%;
    -webkit-overflow-scrolling: touch;
  }
}
body.lang-ja {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
body.lang-en {
  font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
}
body.lang-cn {
  font-family: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", sans-serif;
}
body.lang-tw {
  font-family: "Noto Sans TC", "Microsoft JhengHei", "PingFang TC", sans-serif;
}
body.fixed {
  position: fixed;
  inset: 0;
}

a {
  text-decoration: none;
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

img {
  width: 100%;
  height: auto;
  pointer-events: none;
}

img.rendering {
  image-rendering: -webkit-optimize-contrast;
}

_::-webkit-full-page-media, _:future, :root img.rendering {
  image-rendering: auto;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px white inset;
  box-shadow: 0 0 0 1000px white inset;
}

figure, button {
  font-size: 0;
}

@media screen and (min-width: 769px) {
  .pc-none {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .sp-none {
    display: none;
  }
}

.d-ib {
  display: inline-block;
}

.svg {
  display: inline-block;
  font-size: 0;
}
.svg svg {
  overflow: visible;
  width: 100%;
  fill: currentColor;
}

#st-Header {
  position: relative;
  z-index: 1000;
}
#st-Header .header-lang {
  position: absolute;
  top: 0;
  right: 0;
}
#st-Header .header-lang button[name=lang] {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#7c46ff), to(#56009d));
  background-image: -webkit-linear-gradient(#7c46ff, #56009d);
  background-image: linear-gradient(#7c46ff, #56009d);
}
@media screen and (min-width: 769px) {
  #st-Header .header-lang button[name=lang] {
    width: max(180px, 9.375vw);
    height: max(58px, 3.0208333333vw);
    padding-left: max(32px, 1.6666666667vw);
    border-radius: 0 0 0 max(20px, 1.0416666667vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Header .header-lang button[name=lang] {
    width: 33.8541666667vw;
    height: 10.4166666667vw;
    padding-left: 4.1666666667vw;
    border-radius: 0 0 0 2.6041666667vw;
  }
}
#st-Header .header-lang button[name=lang] span {
  color: #ffffff;
}
#st-Header .header-lang button[name=lang] span.text {
  font-family: "Lexend Deca", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 769px) {
  #st-Header .header-lang button[name=lang] span.text {
    font-size: max(14px, 0.7291666667vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Header .header-lang button[name=lang] span.text {
    font-size: 2.8645833333vw;
  }
}
@media screen and (min-width: 769px) {
  #st-Header .header-lang button[name=lang] span.svg.lang {
    width: max(16px, 0.8333333333vw);
    margin-right: max(12px, 0.625vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Header .header-lang button[name=lang] span.svg.lang {
    width: 3.125vw;
    margin-right: 2.34375vw;
  }
}
@media screen and (min-width: 769px) {
  #st-Header .header-lang button[name=lang] span.svg.chevron {
    width: max(8px, 0.4166666667vw);
    margin-left: max(12px, 0.625vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Header .header-lang button[name=lang] span.svg.chevron {
    width: 1.5625vw;
    margin-left: 2.0833333333vw;
  }
}
#st-Header .header-lang .lang-wrapper {
  position: absolute;
  left: 0;
  width: 100%;
}
@media screen and (min-width: 769px) {
  #st-Header .header-lang .lang-wrapper {
    top: max(68px, 3.5416666667vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Header .header-lang .lang-wrapper {
    top: 13.0208333333vw;
  }
}
#st-Header .header-lang .lang-container {
  display: none;
}
#st-Header .header-lang ul.lang-list {
  background-image: -webkit-gradient(linear, left top, right top, from(#d5d7d8), color-stop(#ffffff), to(#d5d7d8));
  background-image: -webkit-linear-gradient(left, #d5d7d8, #ffffff, #d5d7d8);
  background-image: linear-gradient(90deg, #d5d7d8, #ffffff, #d5d7d8);
}
@media screen and (min-width: 769px) {
  #st-Header .header-lang ul.lang-list {
    width: max(170px, 8.8541666667vw);
    padding: max(4px, 0.2083333333vw) max(8px, 0.4166666667vw);
    border-radius: max(4px, 0.2083333333vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Header .header-lang ul.lang-list {
    width: 31.25vw;
    padding: 0.2604166667vw 1.953125vw;
    border-radius: 0.5208333333vw;
  }
}
@media screen and (min-width: 769px) {
  #st-Header .header-lang ul.lang-list li + li {
    border-top: max(1px, 0.0520833333vw) solid rgba(2, 0, 62, 0.1);
  }
}
@media screen and (max-width: 768px) {
  #st-Header .header-lang ul.lang-list li + li {
    border-top: 0.2604166667vw solid rgba(2, 0, 62, 0.1);
  }
}
#st-Header .header-lang ul.lang-list li a {
  display: block;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 769px) {
  #st-Header .header-lang ul.lang-list li a {
    padding: max(12px, 0.625vw) 0 max(16px, 0.8333333333vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Header .header-lang ul.lang-list li a {
    padding: 2.8645833333vw 0 3.2552083333vw;
  }
}
#st-Header .header-lang ul.lang-list li a span.text {
  letter-spacing: 0.06em;
}
@media screen and (min-width: 769px) {
  #st-Header .header-lang ul.lang-list li a span.text {
    font-size: max(14px, 0.7291666667vw);
    font-weight: 900;
  }
}
@media screen and (max-width: 768px) {
  #st-Header .header-lang ul.lang-list li a span.text {
    font-size: 2.8645833333vw;
    font-weight: 800;
  }
}
#st-Header .header-lang ul.lang-list li a.ja span.text {
  font-family: "Noto Sans JP", sans-serif;
}
#st-Header .header-lang ul.lang-list li a.en span.text {
  font-family: "Noto Sans", sans-serif;
}
#st-Header .header-lang ul.lang-list li a.cn span.text {
  font-family: "Noto Sans SC", sans-serif;
}
#st-Header .header-lang ul.lang-list li a.tw span.text {
  font-family: "Noto Sans TC", sans-serif;
}
#st-Header .header-lang ul.lang-list li.current {
  border-top: none;
}
#st-Header .header-lang ul.lang-list li.current + li {
  border-top: none;
}
@media screen and (min-width: 769px) {
  #st-Header .header-lang ul.lang-list li.current:first-child {
    padding-top: max(4px, 0.2083333333vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Header .header-lang ul.lang-list li.current:first-child {
    padding-top: 1.5625vw;
  }
}
@media screen and (min-width: 769px) {
  #st-Header .header-lang ul.lang-list li.current:last-child {
    padding-bottom: max(4px, 0.2083333333vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Header .header-lang ul.lang-list li.current:last-child {
    padding-bottom: 1.5625vw;
  }
}
#st-Header .header-lang ul.lang-list li.current a {
  color: #ffffff;
  background-color: #02003e;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  #st-Header .header-lang ul.lang-list li.current a {
    padding: max(8px, 0.4166666667vw) 0 max(12px, 0.625vw);
    border-radius: max(4px, 0.2083333333vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Header .header-lang ul.lang-list li.current a {
    padding: 1.953125vw 0 2.4739583333vw;
    border-radius: 0.5208333333vw;
  }
}

#st-Footer {
  position: relative;
}
#st-Footer .footer-container {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1025px) {
  #st-Footer .footer-container {
    padding: 0 max(40px, 2.0833333333vw) max(170px, 8.8541666667vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  #st-Footer .footer-container {
    padding: 0 40px 210px;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-container {
    padding: 0 5.2083333333vw 29.6875vw;
  }
}
#st-Footer .footer-app-info {
  position: relative;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info {
    margin: min(-178px, -9.2708333333vw) auto 0;
    border-radius: max(20px, 1.0416666667vw);
  }
}
@media screen and (min-width: 1025px) {
  #st-Footer .footer-app-info {
    max-width: max(1200px, 62.5vw);
    padding: max(70px, 3.6458333333vw) max(60px, 3.125vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  #st-Footer .footer-app-info {
    max-width: 768px;
    padding: 60px 60px 70px;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info {
    margin-top: -23.9583333333vw;
    padding: 7.8125vw 7.8125vw 9.1145833333vw;
    border-radius: 2.6041666667vw;
  }
}
#st-Footer .footer-app-info::before, #st-Footer .footer-app-info::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info::before, #st-Footer .footer-app-info::after {
    border-radius: max(20px, 1.0416666667vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info::before, #st-Footer .footer-app-info::after {
    border-radius: 2.6041666667vw;
  }
}
#st-Footer .footer-app-info::before {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(124, 70, 255, 0.96)), to(rgba(86, 0, 157, 0.96)));
  background-image: -webkit-linear-gradient(rgba(124, 70, 255, 0.96), rgba(86, 0, 157, 0.96));
  background-image: linear-gradient(rgba(124, 70, 255, 0.96), rgba(86, 0, 157, 0.96));
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info::before {
    -webkit-filter: blur(max(10px, 0.5208333333vw));
    filter: blur(max(10px, 0.5208333333vw));
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info::before {
    -webkit-filter: blur(1.3020833333vw);
    filter: blur(1.3020833333vw);
  }
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info::after {
    border: max(3px, 0.15625vw) solid rgba(255, 255, 255, 0.6);
    background-image: -webkit-repeating-linear-gradient(rgba(53, 53, 53, 0.1) 0, rgba(53, 53, 53, 0.1) max(1px, 0.0520833333vw), rgba(53, 53, 53, 0) max(1px, 0.0520833333vw), rgba(53, 53, 53, 0) max(3px, 0.15625vw));
    background-image: repeating-linear-gradient(rgba(53, 53, 53, 0.1) 0, rgba(53, 53, 53, 0.1) max(1px, 0.0520833333vw), rgba(53, 53, 53, 0) max(1px, 0.0520833333vw), rgba(53, 53, 53, 0) max(3px, 0.15625vw));
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info::after {
    border: 0.390625vw solid rgba(255, 255, 255, 0.6);
    background-image: -webkit-repeating-linear-gradient(rgba(53, 53, 53, 0.1) 0, rgba(53, 53, 53, 0.1) 0.1302083333vw, rgba(53, 53, 53, 0) 0.1302083333vw, rgba(53, 53, 53, 0) 0.390625vw);
    background-image: repeating-linear-gradient(rgba(53, 53, 53, 0.1) 0, rgba(53, 53, 53, 0.1) 0.1302083333vw, rgba(53, 53, 53, 0) 0.1302083333vw, rgba(53, 53, 53, 0) 0.390625vw);
  }
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info .app-content {
    max-width: max(1020px, 53.125vw);
    margin: 0 auto;
  }
}
@media screen and (min-width: 1025px) {
  #st-Footer .footer-app-info .app-info {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    padding-bottom: max(20px, 1.0416666667vw);
  }
}
@media screen and (min-width: 1025px) {
  #st-Footer .footer-app-info .app-info-logo {
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    width: max(300px, 15.625vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  #st-Footer .footer-app-info .app-info-logo {
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-info-logo {
    padding-bottom: 6.5104166667vw;
  }
}
@media screen and (min-width: 1025px) {
  #st-Footer .footer-app-info .app-info-logo .app-logo {
    width: 100%;
  }
}
@media screen and (min-width: 961px) and (max-width: 1024px) {
  #st-Footer .footer-app-info .app-info-logo .app-logo {
    width: 400px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 769px) and (max-width: 960px) {
  #st-Footer .footer-app-info .app-info-logo .app-logo {
    width: 516px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-info-logo .app-logo {
    width: 67.1875vw;
    margin: 0 auto;
  }
}
#st-Footer .footer-app-info .app-info-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}
@media screen and (min-width: 1025px) {
  #st-Footer .footer-app-info .app-info-inner {
    padding: max(7px, 0.3645833333vw) 0 0 max(40px, 2.0833333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  #st-Footer .footer-app-info .app-info-inner {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-info-inner {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
}
#st-Footer .footer-app-info .app-info-icon {
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info .app-info-icon {
    width: max(126px, 6.5625vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-info-icon {
    width: 16.40625vw;
  }
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info .app-info-icon .app-qr {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-info-icon .app-qr {
    width: 16.40625vw;
    margin-top: 1.5625vw;
  }
}
#st-Footer .footer-app-info .app-info-spec {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  flex: 0 1 auto;
}
@media screen and (min-width: 1025px) {
  #st-Footer .footer-app-info .app-info-spec {
    padding-left: max(30px, 1.5625vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  #st-Footer .footer-app-info .app-info-spec {
    padding-left: 40px;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-info-spec {
    padding-left: 5.2083333333vw;
  }
}
#st-Footer .footer-app-info .app-info-spec dl {
  display: grid;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info .app-info-spec dl {
    grid-template-columns: max(90px, 4.6875vw) 1fr;
    gap: max(6px, 0.3125vw) 0;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-info-spec dl {
    grid-template-columns: 15.625vw 1fr;
    gap: 2.0833333333vw 0;
  }
}
#st-Footer .footer-app-info .app-info-spec dl dt, #st-Footer .footer-app-info .app-info-spec dl dd {
  color: #ffffff;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info .app-info-spec dl dt, #st-Footer .footer-app-info .app-info-spec dl dd {
    font-size: max(16px, 0.8333333333vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-info-spec dl dt, #st-Footer .footer-app-info .app-info-spec dl dd {
    font-size: 3.125vw;
  }
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info .app-info-spec dl dt span.pc-letter-shrink, #st-Footer .footer-app-info .app-info-spec dl dd span.pc-letter-shrink {
    letter-spacing: 0.02em;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-info-spec dl dt span.sp-letter-shrink, #st-Footer .footer-app-info .app-info-spec dl dd span.sp-letter-shrink {
    letter-spacing: 0.02em;
  }
}
#st-Footer .footer-app-info .app-info-spec dl dd span.notice {
  letter-spacing: 0.06em;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info .app-info-spec dl dd span.notice {
    font-size: max(12px, 0.625vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-info-spec dl dd span.notice {
    font-size: 2.6041666667vw;
  }
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info .app-info-spec dl dd span.pc-ib {
    display: inline-block;
  }
}
#st-Footer .footer-app-info .app-info-spec dl dd span.space {
  display: inline-block;
  width: 0.25em;
}
#st-Footer .footer-app-info .app-info-spec dl dd span.space-en {
  display: inline-block;
  width: 0.35em;
}
#st-Footer .footer-app-info .app-info-spec p {
  color: #ffffff;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info .app-info-spec p {
    margin-top: max(6px, 0.3125vw);
    font-size: max(16px, 0.8333333333vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-info-spec p {
    margin-top: 2.0833333333vw;
    font-size: 3.125vw;
  }
}
@media screen and (min-width: 1025px) {
  #st-Footer .footer-app-info .app-badge {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    padding-top: max(20px, 1.0416666667vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  #st-Footer .footer-app-info .app-badge {
    width: 568px;
    margin: 0 auto;
    padding-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-badge {
    padding-top: 6.5104166667vw;
  }
}
#st-Footer .footer-app-info .app-badge ul.app-badge-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 1024px) {
  #st-Footer .footer-app-info .app-badge ul.app-badge-list {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
@media screen and (min-width: 1025px) {
  #st-Footer .footer-app-info .app-badge ul.app-badge-list li + li {
    margin-left: max(6px, 0.3125vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  #st-Footer .footer-app-info .app-badge ul.app-badge-list li + li {
    margin-left: 12px;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-badge ul.app-badge-list li + li {
    margin-left: 1.5625vw;
  }
}
#st-Footer .footer-app-info .app-badge ul.app-badge-list li a {
  display: block;
}
@media (any-hover: hover) {
  #st-Footer .footer-app-info .app-badge ul.app-badge-list li a {
    opacity: 1;
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
    will-change: opacity;
  }
  #st-Footer .footer-app-info .app-badge ul.app-badge-list li a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 1025px) {
  #st-Footer .footer-app-info .app-badge ul.app-badge-list li a.app-store {
    width: max(220px, 11.4583333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  #st-Footer .footer-app-info .app-badge ul.app-badge-list li a.app-store {
    width: 278px;
  }
}
@media screen and (min-width: 1025px) {
  #st-Footer .footer-app-info .app-badge ul.app-badge-list li a.google-play {
    width: max(222px, 11.5625vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  #st-Footer .footer-app-info .app-badge ul.app-badge-list li a.google-play {
    width: 278px;
  }
}
@media screen and (min-width: 1025px) {
  #st-Footer .footer-app-info .app-badge .app-notice {
    padding-left: max(30px, 1.5625vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  #st-Footer .footer-app-info .app-badge .app-notice {
    padding-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-badge .app-notice {
    padding-top: 3.90625vw;
  }
}
#st-Footer .footer-app-info .app-badge .app-notice ul li {
  position: relative;
  color: #ffffff;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-app-info .app-badge .app-notice ul li {
    padding-left: max(21px, 1.09375vw);
    font-size: max(12px, 0.625vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-app-info .app-badge .app-notice ul li {
    padding-left: 4.0364583333vw;
    font-size: 2.8645833333vw;
  }
}
#st-Footer .footer-app-info .app-badge .app-notice ul li::before {
  position: absolute;
  left: 0;
  content: "※";
}
#st-Footer .footer-official {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-official {
    padding: max(120px, 6.25vw) 0 max(90px, 4.6875vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-official {
    padding: 14.0625vw 0 13.0208333333vw;
  }
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-official p.official-text {
    width: max(144px, 7.5vw);
    margin-right: max(24px, 1.25vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-official p.official-text {
    width: 26.0416666667vw;
    margin-right: 5.2083333333vw;
  }
}
#st-Footer .footer-official ul.official-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-official ul.official-list li + li {
    margin-left: max(10px, 0.5208333333vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-official ul.official-list li + li {
    margin-left: 2.0833333333vw;
  }
}
#st-Footer .footer-official ul.official-list li .link-container {
  display: block;
  position: relative;
  border-radius: 100%;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-official ul.official-list li .link-container {
    width: max(56px, 2.9166666667vw);
    height: max(56px, 2.9166666667vw);
    padding: max(3px, 0.15625vw);
    -webkit-box-shadow: inset 0 0 max(2.5px, 0.1302083333vw) #618eab;
    box-shadow: inset 0 0 max(2.5px, 0.1302083333vw) #618eab;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-official ul.official-list li .link-container {
    width: 13.0208333333vw;
    height: 13.0208333333vw;
    padding: 0.7161458333vw;
    -webkit-box-shadow: inset 0 0 0.5208333333vw #618eab;
    box-shadow: inset 0 0 0.5208333333vw #618eab;
  }
}
#st-Footer .footer-official ul.official-list li .link-container::before {
  position: absolute;
  inset: 0;
  opacity: 0;
  border-radius: 100%;
  background-color: #8a4fff;
  content: "";
}
@media (any-hover: hover) {
  #st-Footer .footer-official ul.official-list li .link-container::before {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  #st-Footer .footer-official ul.official-list li .link-container:hover::before {
    opacity: 0.3;
  }
}
#st-Footer .footer-official ul.official-list li .link-container-inner {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-official ul.official-list li .link-container-inner {
    -webkit-box-shadow: 0 0 max(2.5px, 0.1302083333vw) #618eab;
    box-shadow: 0 0 max(2.5px, 0.1302083333vw) #618eab;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-official ul.official-list li .link-container-inner {
    -webkit-box-shadow: 0 0 0.5208333333vw #618eab;
    box-shadow: 0 0 0.5208333333vw #618eab;
  }
}
#st-Footer .footer-official ul.official-list li .link-container .icon-x {
  display: block;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-official ul.official-list li .link-container .icon-x {
    width: max(28px, 1.4583333333vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-official ul.official-list li .link-container .icon-x {
    width: 7.8125vw;
  }
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-banner {
    margin-bottom: max(100px, 5.2083333333vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-banner {
    margin-bottom: 10.4166666667vw;
    padding: 0 7.8125vw;
  }
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-banner ul.banner-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-banner ul.banner-list li {
    margin: 0 max(6px, 0.3125vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-banner ul.banner-list li + li {
    margin-top: 2.6041666667vw;
  }
}
#st-Footer .footer-banner ul.banner-list li a {
  display: block;
  position: relative;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-banner ul.banner-list li a {
    width: max(302px, 15.7291666667vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-banner ul.banner-list li a {
    width: 100%;
  }
}
#st-Footer .footer-banner ul.banner-list li a::before {
  position: absolute;
  inset: 0;
  opacity: 0;
  background-color: #8a4fff;
  content: "";
}
@media (any-hover: hover) {
  #st-Footer .footer-banner ul.banner-list li a::before {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  #st-Footer .footer-banner ul.banner-list li a:hover::before {
    opacity: 0.3;
  }
}
#st-Footer .footer-rating {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-rating {
    margin-top: min(-40px, -2.0833333333vw);
    margin-bottom: max(60px, 3.125vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-rating {
    margin-bottom: 10.4166666667vw;
  }
}
#st-Footer .footer-rating .footer-rating-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-rating .footer-rating-inner {
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
  }
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-rating .rating-image {
    width: max(80px, 4.1666666667vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-rating .rating-image {
    width: 18.2291666667vw;
  }
}
#st-Footer .footer-rating .rating-text {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-rating .rating-text {
    padding-left: max(30px, 1.5625vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-rating .rating-text {
    padding-left: 3.90625vw;
  }
}
#st-Footer .footer-rating .rating-text p {
  color: rgba(255, 255, 255, 0.4);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-rating .rating-text p {
    font-size: max(12px, 0.625vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-rating .rating-text p {
    font-size: 2.8645833333vw;
  }
}
#st-Footer .footer-copyright p {
  color: rgba(255, 255, 255, 0.4);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-copyright p {
    font-size: max(12px, 0.625vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-copyright p {
    font-size: 2.8645833333vw;
  }
}
#st-Footer .footer-background {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  overflow: hidden;
  background-image: url("../../images/common/bg_pattern_grid.png"), -webkit-gradient(linear, left top, left bottom, from(#8652ff), to(#8a4fff));
  background-image: url("../../images/common/bg_pattern_grid.png"), -webkit-linear-gradient(#8652ff, #8a4fff);
  background-image: url("../../images/common/bg_pattern_grid.png"), linear-gradient(#8652ff, #8a4fff);
  background-repeat: repeat, no-repeat;
  background-position: top left;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-background {
    top: max(144px, 7.5vw);
    background-size: max(198px, 10.3125vw) max(198px, 10.3125vw), 100% auto;
    -webkit-clip-path: polygon(0 0, 50% max(24px, 1.25vw), 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 50% max(24px, 1.25vw), 100% 0, 100% 100%, 0 100%);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-background {
    top: 21.875vw;
    background-size: 25.78125vw 25.78125vw, 100% auto;
    -webkit-clip-path: polygon(0 0, 50% 1.171875vw, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 50% 1.171875vw, 100% 0, 100% 100%, 0 100%);
  }
}
#st-Footer .footer-background::before {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  background-repeat: repeat-x, no-repeat;
  background-position: bottom right, bottom center;
  content: "";
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-background::before {
    height: max(640px, 33.3333333333vw);
    background-image: url("../../webp/pc/footer/bg_galaxy_bottom.webp"), -webkit-gradient(linear, left top, left bottom, from(rgba(136, 74, 217, 0)), color-stop(78%, #6f00ff));
    background-image: url("../../webp/pc/footer/bg_galaxy_bottom.webp"), -webkit-linear-gradient(rgba(136, 74, 217, 0) 0%, #6f00ff 78%);
    background-image: url("../../webp/pc/footer/bg_galaxy_bottom.webp"), linear-gradient(rgba(136, 74, 217, 0) 0%, #6f00ff 78%);
    background-size: max(1700px, 88.5416666667vw) max(410px, 21.3541666667vw), 100% auto;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-background::before {
    height: 76.8229166667vw;
    background-image: url("../../webp/sp/footer/bg_galaxy_bottom.webp"), -webkit-gradient(linear, left top, left bottom, from(rgba(136, 74, 217, 0)), color-stop(78%, #6f00ff));
    background-image: url("../../webp/sp/footer/bg_galaxy_bottom.webp"), -webkit-linear-gradient(rgba(136, 74, 217, 0) 0%, #6f00ff 78%);
    background-image: url("../../webp/sp/footer/bg_galaxy_bottom.webp"), linear-gradient(rgba(136, 74, 217, 0) 0%, #6f00ff 78%);
    background-size: 100vw 53.3854166667vw, 100% auto;
  }
}
#st-Footer .footer-background-kira {
  position: absolute;
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-background-kira {
    bottom: max(228px, 11.875vw);
    height: max(442px, 23.0208333333vw);
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    min-width: 1450px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-background-kira {
    bottom: 101.5625vw;
    right: 0;
    left: 0;
    height: 43.359375vw;
  }
}
#st-Footer .footer-background-kira .sw-Kira_Wrappre_01 {
  -webkit-transform: scaleY(-1);
  transform: scaleY(-1);
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-background-kira .sw-Kira_Wrappre_01 {
    bottom: 0;
    left: max(120px, 6.25vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-background-kira .sw-Kira_Wrappre_01 {
    bottom: 0;
    left: -5.3385416667vw;
  }
}
#st-Footer .footer-background-kira .sw-Kira_Wrappre_02 {
  -webkit-transform: scaleY(-1);
  transform: scaleY(-1);
}
@media screen and (min-width: 769px) {
  #st-Footer .footer-background-kira .sw-Kira_Wrappre_02 {
    top: 0;
    right: max(56px, 2.9166666667vw);
  }
}
@media screen and (max-width: 768px) {
  #st-Footer .footer-background-kira .sw-Kira_Wrappre_02 {
    top: 0;
    right: -7.2916666667vw;
  }
}

@media screen and (min-width: 769px) {
  .no-webp #st-Footer::before {
    background-image: url("../../images/pc/footer/bg_galaxy_bottom.png"), -webkit-gradient(linear, left top, left bottom, from(rgba(136, 74, 217, 0)), color-stop(78%, #6f00ff));
    background-image: url("../../images/pc/footer/bg_galaxy_bottom.png"), -webkit-linear-gradient(rgba(136, 74, 217, 0) 0%, #6f00ff 78%);
    background-image: url("../../images/pc/footer/bg_galaxy_bottom.png"), linear-gradient(rgba(136, 74, 217, 0) 0%, #6f00ff 78%);
  }
}
@media screen and (max-width: 768px) {
  .no-webp #st-Footer::before {
    background-image: url("../../images/sp/footer/bg_galaxy_bottom.png"), -webkit-gradient(linear, left top, left bottom, from(rgba(136, 74, 217, 0)), color-stop(78%, #6f00ff));
    background-image: url("../../images/sp/footer/bg_galaxy_bottom.png"), -webkit-linear-gradient(rgba(136, 74, 217, 0) 0%, #6f00ff 78%);
    background-image: url("../../images/sp/footer/bg_galaxy_bottom.png"), linear-gradient(rgba(136, 74, 217, 0) 0%, #6f00ff 78%);
  }
}

@media screen and (min-width: 769px) {
  body.lang-en #st-Footer .footer-app-info .app-info-spec dl {
    grid-template-columns: max(140px, 7.2916666667vw) 1fr;
  }
}
@media screen and (max-width: 768px) {
  body.lang-en #st-Footer .footer-app-info .app-info-spec dl {
    grid-template-columns: 19.53125vw 1fr;
  }
}
@media screen and (min-width: 769px) {
  body.lang-en #st-Footer .footer-app-info .app-info-spec dl dd span.notice {
    font-size: max(14px, 0.7291666667vw);
  }
}
@media screen and (max-width: 768px) {
  body.lang-en #st-Footer .footer-app-info .app-info-spec dl dd span.notice {
    font-size: 2.8645833333vw;
  }
}
@media screen and (min-width: 769px) {
  body.lang-en #st-Footer .footer-app-info .app-badge .app-notice ul li {
    padding-left: max(12px, 0.625vw);
  }
}
@media screen and (max-width: 768px) {
  body.lang-en #st-Footer .footer-app-info .app-badge .app-notice ul li {
    padding-left: 2.8645833333vw;
  }
}
body.lang-en #st-Footer .footer-app-info .app-badge .app-notice ul li::before {
  content: "*";
}
@media screen and (min-width: 1025px) {
  body.lang-cn #st-Footer .footer-app-info .app-badge {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
@media screen and (min-width: 769px) {
  body.lang-cn #st-Footer .footer-banner {
    padding-top: max(120px, 6.25vw);
  }
}
@media screen and (max-width: 768px) {
  body.lang-cn #st-Footer .footer-banner {
    padding-top: 14.0625vw;
  }
}
@media screen and (min-width: 1025px) {
  body.lang-tw #st-Footer .footer-app-info .app-badge {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
@media screen and (min-width: 769px) {
  body.lang-tw #st-Footer .footer-official p.official-text {
    width: max(82px, 4.2708333333vw);
  }
}
@media screen and (max-width: 768px) {
  body.lang-tw #st-Footer .footer-official p.official-text {
    width: 14.84375vw;
  }
}

#st-Wrapper {
  background-image: url("../../images/common/bg_pattern_grid.png"), -webkit-gradient(linear, left top, left bottom, from(#5f71ff), to(#8a4fff));
  background-image: url("../../images/common/bg_pattern_grid.png"), -webkit-linear-gradient(#5f71ff, #8a4fff);
  background-image: url("../../images/common/bg_pattern_grid.png"), linear-gradient(#5f71ff, #8a4fff);
  background-repeat: repeat, no-repeat;
  background-position: top left;
}
@media screen and (min-width: 769px) {
  #st-Wrapper {
    background-size: max(198px, 10.3125vw) max(198px, 10.3125vw), 100% auto;
  }
}
@media screen and (max-width: 768px) {
  #st-Wrapper {
    background-size: 25.78125vw 25.78125vw, 100% auto;
  }
}

#st-Main {
  position: relative;
}

.st-Modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
}
.st-Modal.modal-active {
  display: block;
}
.st-Modal .modal-backdrop {
  position: absolute;
  inset: 0;
  opacity: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(124, 70, 255, 0.9)), to(rgba(86, 0, 157, 0.9)));
  background-image: -webkit-linear-gradient(rgba(124, 70, 255, 0.9), rgba(86, 0, 157, 0.9));
  background-image: linear-gradient(rgba(124, 70, 255, 0.9), rgba(86, 0, 157, 0.9));
  -webkit-transition: opacity 0.35s ease-in-out;
  transition: opacity 0.35s ease-in-out;
}
.st-Modal .modal-backdrop.backdrop-showed {
  opacity: 1;
}
.st-Modal button[name=modal-close] {
  display: grid;
  place-items: center;
  position: absolute;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .st-Modal button[name=modal-close] {
    top: max(40px, 2.0833333333vw);
    right: max(40px, 2.0833333333vw);
    width: max(40px, 2.0833333333vw);
    height: max(40px, 2.0833333333vw);
  }
}
@media screen and (max-width: 768px) {
  .st-Modal button[name=modal-close] {
    top: 5.2083333333vw;
    right: 5.2083333333vw;
    width: 5.2083333333vw;
    height: 5.2083333333vw;
  }
}
.st-Modal button[name=modal-close]::before, .st-Modal button[name=modal-close]::after {
  position: absolute;
  background-color: #ffffff;
  content: "";
}
@media screen and (min-width: 769px) {
  .st-Modal button[name=modal-close]::before, .st-Modal button[name=modal-close]::after {
    width: max(52px, 2.7083333333vw);
    height: max(4px, 0.2083333333vw);
  }
}
@media screen and (max-width: 768px) {
  .st-Modal button[name=modal-close]::before, .st-Modal button[name=modal-close]::after {
    width: 6.7708333333vw;
    height: 0.5208333333vw;
  }
}
.st-Modal button[name=modal-close]::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.st-Modal button[name=modal-close]::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .st-Modal button[name=modal-close]::before, .st-Modal button[name=modal-close]::after {
    -webkit-transition: background-color 0.3s ease-out;
    transition: background-color 0.3s ease-out;
  }
  .st-Modal button[name=modal-close]:hover::before, .st-Modal button[name=modal-close]:hover::after {
    background-color: #83f5e5;
  }
}
.st-Modal .modal-wrapper {
  position: absolute;
  inset: 0;
  opacity: 0;
  overflow-y: auto;
}
@media screen and (min-width: 769px) {
  .st-Modal .modal-wrapper {
    padding: max(120px, 6.25vw) max(40px, 2.0833333333vw);
  }
}
@media screen and (max-width: 768px) {
  .st-Modal .modal-wrapper {
    padding: 15.625vw 5.2083333333vw;
  }
}
.st-Modal .modal-wrapper.show-transition {
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
.st-Modal .modal-wrapper.hide-transition {
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}
.st-Modal .modal-wrapper.wrapper-showed {
  opacity: 1;
}
.st-Modal .modal-wrapper.modal-center {
  display: grid;
  place-items: center;
}
.st-Modal .modal-container {
  display: none;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .st-Modal .modal-container {
    max-width: max(1200px, 62.5vw);
    margin: 0 auto;
  }
}
.st-Modal .modal-container.container-active {
  display: block;
}
.st-Modal .modal-content.youtube {
  overflow: hidden;
  aspect-ratio: 16/9;
  background-color: #02003e;
}
@media screen and (min-width: 769px) {
  .st-Modal .modal-content.youtube {
    border-radius: max(20px, 1.0416666667vw);
  }
}
@media screen and (max-width: 768px) {
  .st-Modal .modal-content.youtube {
    border-radius: 2.6041666667vw;
  }
}
.st-Modal .modal-content.youtube iframe {
  width: 100%;
  height: 100%;
}

.st-StickyAppBanner {
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 1;
  -webkit-transform: translateY(200%);
  transform: translateY(200%);
  margin: 0 auto;
  -webkit-transition: -webkit-transform 0.5s ease-in;
  transition: -webkit-transform 0.5s ease-in;
  transition: transform 0.5s ease-in;
  transition: transform 0.5s ease-in, -webkit-transform 0.5s ease-in;
}
.st-StickyAppBanner.showed {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
@media screen and (min-width: 1025px) {
  .st-StickyAppBanner {
    width: max(960px, 50vw);
    height: max(110px, 5.7291666667vw);
    background-image: url("../../images/pc/index/bg_app-banner_kira_left.png"), url("../../images/pc/index/bg_app-banner_kira_right.png"), url("../../images/pc/index/bg_app-banner.png");
    background-repeat: no-repeat;
    background-position: top min(-55px, -2.8645833333vw) left min(-22px, -1.1458333333vw), bottom min(-76px, -3.9583333333vw) right min(-8px, -0.4166666667vw), center;
    background-size: max(158px, 8.2291666667vw) max(154px, 8.0208333333vw), max(152px, 7.9166666667vw) max(162px, 8.4375vw), contain;
  }
}
@media screen and (max-width: 1024px) {
  .st-StickyAppBanner {
    background-image: url("../../images/sp/index/bg_app-banner_kira_left.png"), url("../../images/sp/index/bg_app-banner_kira_right.png"), url("../../images/sp/index/bg_app-banner.png");
    background-repeat: no-repeat;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .st-StickyAppBanner {
    width: 740px;
    height: 149px;
    background-position: top -54px left 2px, top -54px right 2px, center;
    background-size: 196px 210px, 196px 210px, contain;
  }
}
@media screen and (max-width: 768px) {
  .st-StickyAppBanner {
    width: 96.3541666667vw;
    height: 19.4010416667vw;
    background-position: top -7.03125vw left 0.2604166667vw, top -7.03125vw right 0.2604166667vw, center;
    background-size: 25.5208333333vw 27.34375vw, 25.5208333333vw 27.34375vw, contain;
  }
}
.st-StickyAppBanner .container {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 1025px) {
  .st-StickyAppBanner .container {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
  }
}
@media screen and (min-width: 1025px) {
  .st-StickyAppBanner .container.pre-registration {
    padding: max(10px, 0.5208333333vw) 0 0 max(51px, 2.65625vw);
  }
}
@media screen and (min-width: 769px) {
  .st-StickyAppBanner .container.pre-registration .app-text {
    width: max(450px, 23.4375vw);
    margin-right: max(23px, 1.1979166667vw);
    -webkit-filter: drop-shadow(0 0 max(6px, 0.3125vw) #aefffa);
    filter: drop-shadow(0 0 max(6px, 0.3125vw) #aefffa);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .st-StickyAppBanner .container.pre-registration .app-text {
    margin: -43px auto -2px;
  }
}
@media screen and (max-width: 768px) {
  .st-StickyAppBanner .container.pre-registration .app-text {
    width: 58.59375vw;
    margin: -5.5989583333vw auto -0.2604166667vw;
    -webkit-filter: drop-shadow(0 0 0.78125vw #aefffa);
    filter: drop-shadow(0 0 0.78125vw #aefffa);
  }
}
@media screen and (min-width: 1025px) {
  .st-StickyAppBanner .container.pre-registration .app-text .sp-none {
    display: inline;
  }
}
@media screen and (max-width: 1024px) {
  .st-StickyAppBanner .container.pre-registration .app-text .sp-none {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .st-StickyAppBanner .container.pre-registration .app-text .pc-none {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .st-StickyAppBanner .container.pre-registration .app-text .pc-none {
    display: inline;
  }
}
@media screen and (min-width: 1025px) {
  .st-StickyAppBanner .container.pre-registration .app-badge {
    padding-top: max(22px, 1.1458333333vw);
  }
}
.st-StickyAppBanner .app-badge ul.app-badge-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .st-StickyAppBanner .app-badge ul.app-badge-list {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
.st-StickyAppBanner .app-badge ul.app-badge-list li a {
  display: block;
}
@media (any-hover: hover) {
  .st-StickyAppBanner .app-badge ul.app-badge-list li a {
    opacity: 1;
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
    will-change: opacity;
  }
  .st-StickyAppBanner .app-badge ul.app-badge-list li a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 1025px) {
  .st-StickyAppBanner .app-badge ul.app-badge-list li a.app-store {
    width: max(184px, 9.5833333333vw);
    margin-right: max(6px, 0.3125vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .st-StickyAppBanner .app-badge ul.app-badge-list li a.app-store {
    width: 274px;
    margin-right: 12px;
  }
}
@media screen and (max-width: 768px) {
  .st-StickyAppBanner .app-badge ul.app-badge-list li a.app-store {
    width: 35.6770833333vw;
    margin-right: 1.5625vw;
  }
}
@media screen and (min-width: 1025px) {
  .st-StickyAppBanner .app-badge ul.app-badge-list li a.google-play {
    width: max(184px, 9.5833333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .st-StickyAppBanner .app-badge ul.app-badge-list li a.google-play {
    width: 274px;
  }
}
@media screen and (max-width: 768px) {
  .st-StickyAppBanner .app-badge ul.app-badge-list li a.google-play {
    width: 35.6770833333vw;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  body.lang-en .st-StickyAppBanner .container.pre-registration .app-text {
    width: 600px;
    margin: -33px auto 8px;
  }
}
@media screen and (max-width: 768px) {
  body.lang-en .st-StickyAppBanner .container.pre-registration .app-text {
    width: 78.125vw;
    margin: -4.296875vw auto 1.0416666667vw;
  }
}

.sw-Kira_Wrappre_01 {
  position: absolute;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .sw-Kira_Wrappre_01 {
    width: max(310px, 16.1458333333vw);
    height: max(292px, 15.2083333333vw);
  }
}
@media screen and (max-width: 768px) {
  .sw-Kira_Wrappre_01 {
    width: 24.7395833333vw;
    height: 23.3072916667vw;
  }
}
.sw-Kira_Wrappre_01 .kira {
  position: absolute;
  -webkit-animation-name: twinkle;
  animation-name: twinkle;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.sw-Kira_Wrappre_01 .kira::before, .sw-Kira_Wrappre_01 .kira::after {
  position: absolute;
  inset: 0;
  content: "";
}
.sw-Kira_Wrappre_01 .kira::before {
  z-index: -1;
  -webkit-animation-name: twinkle-glitter;
  animation-name: twinkle-glitter;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.sw-Kira_Wrappre_01 .kira::after {
  z-index: 0;
}
.sw-Kira_Wrappre_01 .kira-01 {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}
@media screen and (min-width: 769px) {
  .sw-Kira_Wrappre_01 .kira-01 {
    top: max(29px, 1.5104166667vw);
    right: max(8px, 0.4166666667vw);
    width: max(190px, 9.8958333333vw);
    height: max(190px, 9.8958333333vw);
  }
}
@media screen and (max-width: 768px) {
  .sw-Kira_Wrappre_01 .kira-01 {
    top: 2.34375vw;
    right: 0.6510416667vw;
    width: 15.1041666667vw;
    height: 15.1041666667vw;
  }
}
.sw-Kira_Wrappre_01 .kira-01::before {
  background: url("../../images/common/index/bg_kira_01-01_glitter.png") no-repeat center/contain;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}
.sw-Kira_Wrappre_01 .kira-01::after {
  background: url("../../images/common/index/bg_kira_01-01.png") no-repeat center/contain;
}
.sw-Kira_Wrappre_01 .kira-02 {
  bottom: 0;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
@media screen and (min-width: 769px) {
  .sw-Kira_Wrappre_01 .kira-02 {
    left: max(27px, 1.40625vw);
    width: max(104px, 5.4166666667vw);
    height: max(104px, 5.4166666667vw);
  }
}
@media screen and (max-width: 768px) {
  .sw-Kira_Wrappre_01 .kira-02 {
    left: 2.2135416667vw;
    width: 8.3333333333vw;
    height: 8.3333333333vw;
  }
}
.sw-Kira_Wrappre_01 .kira-02::before {
  background: url("../../images/common/index/bg_kira_01-02_glitter.png") no-repeat center/contain;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.sw-Kira_Wrappre_01 .kira-02::after {
  background: url("../../images/common/index/bg_kira_01-02.png") no-repeat center/contain;
}
.sw-Kira_Wrappre_01 .kira-03 {
  left: 0;
  -webkit-animation-duration: 3.2s;
  animation-duration: 3.2s;
  -webkit-animation-delay: -1.6s;
  animation-delay: -1.6s;
}
@media screen and (min-width: 769px) {
  .sw-Kira_Wrappre_01 .kira-03 {
    top: max(50px, 2.6041666667vw);
    width: max(78px, 4.0625vw);
    height: max(78px, 4.0625vw);
  }
}
@media screen and (max-width: 768px) {
  .sw-Kira_Wrappre_01 .kira-03 {
    top: 4.0364583333vw;
    width: 6.25vw;
    height: 6.25vw;
  }
}
.sw-Kira_Wrappre_01 .kira-03::before {
  background: url("../../images/common/index/bg_kira_01-03_glitter.png") no-repeat center/contain;
  -webkit-animation-duration: 3.2s;
  animation-duration: 3.2s;
  -webkit-animation-delay: -1.6s;
  animation-delay: -1.6s;
}
.sw-Kira_Wrappre_01 .kira-03::after {
  background: url("../../images/common/index/bg_kira_01-03.png") no-repeat center/contain;
}

.sw-Kira_Wrappre_02 {
  position: absolute;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .sw-Kira_Wrappre_02 {
    width: max(328px, 17.0833333333vw);
    height: max(316px, 16.4583333333vw);
  }
}
@media screen and (max-width: 768px) {
  .sw-Kira_Wrappre_02 {
    width: 26.5625vw;
    height: 25.5208333333vw;
  }
}
.sw-Kira_Wrappre_02 .kira {
  position: absolute;
  -webkit-animation-name: twinkle;
  animation-name: twinkle;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.sw-Kira_Wrappre_02 .kira::before, .sw-Kira_Wrappre_02 .kira::after {
  position: absolute;
  inset: 0;
  content: "";
}
.sw-Kira_Wrappre_02 .kira::before {
  z-index: -1;
  -webkit-animation-name: twinkle-glitter;
  animation-name: twinkle-glitter;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.sw-Kira_Wrappre_02 .kira::after {
  z-index: 0;
}
.sw-Kira_Wrappre_02 .kira-01 {
  bottom: 0;
  right: 0;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-delay: -1.5s;
  animation-delay: -1.5s;
}
@media screen and (min-width: 769px) {
  .sw-Kira_Wrappre_02 .kira-01 {
    width: max(202px, 10.5208333333vw);
    height: max(202px, 10.5208333333vw);
  }
}
@media screen and (max-width: 768px) {
  .sw-Kira_Wrappre_02 .kira-01 {
    width: 16.2760416667vw;
    height: 16.2760416667vw;
  }
}
.sw-Kira_Wrappre_02 .kira-01::before {
  background: url("../../images/common/index/bg_kira_02-01_glitter.png") no-repeat center/contain;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-delay: -1.5s;
  animation-delay: -1.5s;
}
.sw-Kira_Wrappre_02 .kira-01::after {
  background: url("../../images/common/index/bg_kira_02-01.png") no-repeat center/contain;
}
.sw-Kira_Wrappre_02 .kira-02 {
  left: 0;
  -webkit-animation-duration: 3.2s;
  animation-duration: 3.2s;
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
@media screen and (min-width: 769px) {
  .sw-Kira_Wrappre_02 .kira-02 {
    top: max(39px, 2.03125vw);
    width: max(132px, 6.875vw);
    height: max(132px, 6.875vw);
  }
}
@media screen and (max-width: 768px) {
  .sw-Kira_Wrappre_02 .kira-02 {
    top: 3.125vw;
    width: 10.6770833333vw;
    height: 10.6770833333vw;
  }
}
.sw-Kira_Wrappre_02 .kira-02::before {
  background: url("../../images/common/index/bg_kira_02-02_glitter.png") no-repeat center/contain;
  -webkit-animation-duration: 3.2s;
  animation-duration: 3.2s;
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.sw-Kira_Wrappre_02 .kira-02::after {
  background: url("../../images/common/index/bg_kira_02-02.png") no-repeat center/contain;
}
.sw-Kira_Wrappre_02 .kira-03 {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}
@media screen and (min-width: 769px) {
  .sw-Kira_Wrappre_02 .kira-03 {
    top: max(10px, 0.5208333333vw);
    left: max(124px, 6.4583333333vw);
    width: max(82px, 4.2708333333vw);
    height: max(82px, 4.2708333333vw);
  }
}
@media screen and (max-width: 768px) {
  .sw-Kira_Wrappre_02 .kira-03 {
    top: 0.78125vw;
    left: 10.0260416667vw;
    width: 6.640625vw;
    height: 6.640625vw;
  }
}
.sw-Kira_Wrappre_02 .kira-03::before {
  background: url("../../images/common/index/bg_kira_02-03_glitter.png") no-repeat center/contain;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}
.sw-Kira_Wrappre_02 .kira-03::after {
  background: url("../../images/common/index/bg_kira_02-03.png") no-repeat center/contain;
}

@-webkit-keyframes kv-scroll-horizontal {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 100% 0;
  }
}

@keyframes kv-scroll-horizontal {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 100% 0;
  }
}
@-webkit-keyframes flash {
  0% {
    -webkit-transform: skewX(-30deg) scaleX(0);
    transform: skewX(-30deg) scaleX(0);
    opacity: 0;
  }
  1% {
    -webkit-transform: skewX(-30deg) scaleX(0.01);
    transform: skewX(-30deg) scaleX(0.01);
    opacity: 1;
  }
  20% {
    -webkit-transform: skewX(-30deg) scaleX(1);
    transform: skewX(-30deg) scaleX(1);
    opacity: 0;
  }
  21% {
    -webkit-transform: skewX(-30deg) scaleX(0);
    transform: skewX(-30deg) scaleX(0);
    opacity: 0;
  }
  100% {
    -webkit-transform: skewX(-30deg) scaleX(0);
    transform: skewX(-30deg) scaleX(0);
    opacity: 0;
  }
}
@keyframes flash {
  0% {
    -webkit-transform: skewX(-30deg) scaleX(0);
    transform: skewX(-30deg) scaleX(0);
    opacity: 0;
  }
  1% {
    -webkit-transform: skewX(-30deg) scaleX(0.01);
    transform: skewX(-30deg) scaleX(0.01);
    opacity: 1;
  }
  20% {
    -webkit-transform: skewX(-30deg) scaleX(1);
    transform: skewX(-30deg) scaleX(1);
    opacity: 0;
  }
  21% {
    -webkit-transform: skewX(-30deg) scaleX(0);
    transform: skewX(-30deg) scaleX(0);
    opacity: 0;
  }
  100% {
    -webkit-transform: skewX(-30deg) scaleX(0);
    transform: skewX(-30deg) scaleX(0);
    opacity: 0;
  }
}
@-webkit-keyframes flash-long {
  0% {
    -webkit-transform: skewX(-30deg) scaleX(0);
    transform: skewX(-30deg) scaleX(0);
    opacity: 0;
  }
  1% {
    -webkit-transform: skewX(-30deg) scaleX(0.01);
    transform: skewX(-30deg) scaleX(0.01);
    opacity: 1;
  }
  10% {
    -webkit-transform: skewX(-30deg) scaleX(1);
    transform: skewX(-30deg) scaleX(1);
    opacity: 0;
  }
  11% {
    -webkit-transform: skewX(-30deg) scaleX(0);
    transform: skewX(-30deg) scaleX(0);
    opacity: 0;
  }
  50%, 100% {
    -webkit-transform: skewX(-30deg) scaleX(0);
    transform: skewX(-30deg) scaleX(0);
    opacity: 0;
  }
}
@keyframes flash-long {
  0% {
    -webkit-transform: skewX(-30deg) scaleX(0);
    transform: skewX(-30deg) scaleX(0);
    opacity: 0;
  }
  1% {
    -webkit-transform: skewX(-30deg) scaleX(0.01);
    transform: skewX(-30deg) scaleX(0.01);
    opacity: 1;
  }
  10% {
    -webkit-transform: skewX(-30deg) scaleX(1);
    transform: skewX(-30deg) scaleX(1);
    opacity: 0;
  }
  11% {
    -webkit-transform: skewX(-30deg) scaleX(0);
    transform: skewX(-30deg) scaleX(0);
    opacity: 0;
  }
  50%, 100% {
    -webkit-transform: skewX(-30deg) scaleX(0);
    transform: skewX(-30deg) scaleX(0);
    opacity: 0;
  }
}
@-webkit-keyframes twinkle {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.2;
  }
}
@keyframes twinkle {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.2;
  }
}
@-webkit-keyframes twinkle-glitter {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
@keyframes twinkle-glitter {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
@-webkit-keyframes scroll-horizontal {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -100% 0;
  }
}
@keyframes scroll-horizontal {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -100% 0;
  }
}
@-webkit-keyframes scroll-vertical-left {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: 100% -100%;
  }
}
@keyframes scroll-vertical-left {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: 100% -100%;
  }
}
@-webkit-keyframes scroll-vertical-right {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 100%;
  }
}
@keyframes scroll-vertical-right {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 100%;
  }
}
@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.index-KeyVisual {
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual {
    padding-bottom: 9.375vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual {
    padding-bottom: 180px;
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual {
    padding-bottom: 13.0208333333vw;
  }
}
.index-KeyVisual::before, .index-KeyVisual::after {
  position: absolute;
  inset: 0 0 auto;
  z-index: -1;
  content: "";
}
.index-KeyVisual::before {
  background: #4545ff url("../../images/common/bg_pattern_grid.png") repeat top left;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(black), to(rgba(0, 0, 0, 0)));
  -webkit-mask-image: -webkit-linear-gradient(black, rgba(0, 0, 0, 0));
  mask-image: -webkit-gradient(linear, left top, left bottom, from(black), to(rgba(0, 0, 0, 0)));
  mask-image: linear-gradient(black, rgba(0, 0, 0, 0));
}
@media screen and (min-width: 769px) {
  .index-KeyVisual::before {
    background-size: max(198px, 10.3125vw) max(198px, 10.3125vw);
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual::before {
    height: 72.9166666667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual::before {
    height: 1400px;
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual::before {
    height: 182.2916666667vw;
    background-size: 25.78125vw 25.78125vw;
  }
}
.index-KeyVisual::after {
  background-repeat: repeat-x;
  background-position: top left, bottom left;
}
@media screen and (min-width: 769px) {
  .index-KeyVisual::after {
    height: 65.7291666667vw;
    background-image: url("../../webp/pc/index/bg_kv_galaxy_top.webp"), url("../../webp/pc/index/bg_kv_galaxy_bottom.webp");
    background-size: 62.5vw 15.1041666667vw, 87.8125vw 25.5208333333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual::after {
    height: 241.2109375vw;
    background-size: 117.1875vw 28.3203125vw, 164.6484375vw 47.8515625vw;
    background-position: top left, bottom 220px left;
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual::after {
    height: 287.7604166667vw;
    background-image: url("../../webp/sp/index/bg_kv_galaxy_top.webp"), url("../../webp/sp/index/bg_kv_galaxy_bottom.webp");
    background-size: 100vw 37.7604166667vw, 100vw 63.8020833333vw;
    background-position: top left, bottom 28.6458333333vw left;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 1024px) {
  .index-KeyVisual .kv-container {
    overflow: hidden;
    background: url("../../images/common/index/bg_kv_content.png") no-repeat bottom center/100% auto;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-image {
    width: 53.125vw;
    height: 53.125vw;
    padding: 2.0833333333vw 2.0833333333vw 0 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-image {
    padding: 14px 40px 0;
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual .kv-image {
    padding: 1.8229166667vw 1.3020833333vw 0;
  }
}
.index-KeyVisual .kv-image .kv-frame {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-image .kv-frame {
    width: 51.0416666667vw;
    height: 51.0416666667vw;
    border: 0.3125vw solid #ffffff;
    border-radius: 1.0416666667vw;
    background: url("../../webp/common/index/img_kv.webp") no-repeat center/cover;
  }
}
@media screen and (max-width: 1024px) {
  .index-KeyVisual .kv-image .kv-frame {
    width: 100%;
    background: url("../../webp/common/index/img_kv.webp") no-repeat 0 0/auto 100%;
    -webkit-animation: kv-scroll-horizontal 10s ease-in-out 0.5s infinite alternate;
    animation: kv-scroll-horizontal 10s ease-in-out 0.5s infinite alternate;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-image .kv-frame {
    aspect-ratio: 748/1080;
    border: 5px solid #ffffff;
    border-radius: 20px;
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual .kv-image .kv-frame {
    height: 140.625vw;
    border: 0.6510416667vw solid #ffffff;
    border-radius: 2.6041666667vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-content {
    width: 46.875vw;
    padding-top: 9.375vw;
    background: url("../../images/common/index/bg_kv_content.png") no-repeat top 14.5833333333vw center/100% auto;
  }
}
.index-KeyVisual .kv-content-logo {
  position: relative;
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-content-logo {
    margin-bottom: 0.5208333333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-content-logo {
    margin: -124px 0 10px;
    padding: 0 19px;
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual .kv-content-logo {
    margin: -16.1458333333vw 0 1.3020833333vw;
    padding: 0 2.4739583333vw;
  }
}
.index-KeyVisual .kv-content-logo .kv-logo {
  position: relative;
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-content-logo .kv-logo {
    width: 38.0208333333vw;
    margin: 0 auto;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-content-logo .kv-logo {
    max-width: 730px;
    margin: 0 auto;
  }
}
.index-KeyVisual .kv-official {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.index-KeyVisual .kv-official .content {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-official .content {
    width: 364px;
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual .kv-official .content:last-of-type a.button {
    margin-left: auto;
  }
  .index-KeyVisual .kv-official .content:only-child a.button {
    margin: auto auto 0;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-official .content-text {
    width: 15.1041666667vw;
    margin: 0 auto 1.0416666667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-official .content-text {
    width: 364px;
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual .kv-official .content-text {
    width: 47.3958333333vw;
    margin-bottom: 1.5625vw;
  }
}
.index-KeyVisual .kv-official a.button {
  display: block;
  aspect-ratio: 354/112;
  background: url("../../images/common/index/bg_button.png") no-repeat center/contain;
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-official a.button {
    width: 16.1458333333vw;
    margin: auto 0.3125vw 0;
    -webkit-filter: drop-shadow(0 0.5208333333vw 0 #5018b8);
    filter: drop-shadow(0 0.5208333333vw 0 #5018b8);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-official a.button {
    width: 354px;
    margin: auto auto 0;
    -webkit-filter: drop-shadow(0 10px 0 #5018b8);
    filter: drop-shadow(0 10px 0 #5018b8);
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual .kv-official a.button {
    width: 46.09375vw;
    margin-top: auto;
    -webkit-filter: drop-shadow(0 1.3020833333vw 0 #5018b8);
    filter: drop-shadow(0 1.3020833333vw 0 #5018b8);
  }
}
.index-KeyVisual .kv-official a.button .button-content {
  display: grid;
  place-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-mask: url("../../images/common/index/bg_button.png") no-repeat center/contain;
  mask: url("../../images/common/index/bg_button.png") no-repeat center/contain;
}
.index-KeyVisual .kv-official a.button .button-content::before {
  position: absolute;
  inset: 0 -20% 0 -3%;
  -webkit-transform: skewX(-30deg) scaleX(1);
  transform: skewX(-30deg) scaleX(1);
  -webkit-transform-origin: center left;
  transform-origin: center left;
  opacity: 0;
  background-color: #ffffff;
  content: "";
  pointer-events: none;
}
.index-KeyVisual .kv-official a.button span.text {
  color: #ffffff;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0.09em;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-official a.button span.text {
    -webkit-filter: drop-shadow(0 0 max(16px, 0.8333333333vw) rgba(0, 2, 125, 0.35)) drop-shadow(0 0 max(8px, 0.4166666667vw) rgba(0, 2, 125, 0.35));
    filter: drop-shadow(0 0 max(16px, 0.8333333333vw) rgba(0, 2, 125, 0.35)) drop-shadow(0 0 max(8px, 0.4166666667vw) rgba(0, 2, 125, 0.35));
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-official a.button span.text {
    -webkit-filter: drop-shadow(0 0 16px rgba(0, 2, 125, 0.35)) drop-shadow(0 0 8px rgba(0, 2, 125, 0.35));
    filter: drop-shadow(0 0 16px rgba(0, 2, 125, 0.35)) drop-shadow(0 0 8px rgba(0, 2, 125, 0.35));
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual .kv-official a.button span.text {
    -webkit-filter: drop-shadow(0 0 2.0833333333vw rgba(0, 2, 125, 0.35)) drop-shadow(0 0 1.0416666667vw rgba(0, 2, 125, 0.35));
    filter: drop-shadow(0 0 2.0833333333vw rgba(0, 2, 125, 0.35)) drop-shadow(0 0 1.0416666667vw rgba(0, 2, 125, 0.35));
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-official a.button.official-x span.text {
    font-size: 1.0416666667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-official a.button.official-x span.text {
    font-size: 27px;
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual .kv-official a.button.official-x span.text {
    font-size: 3.515625vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-official a.button.web-store span.text {
    font-size: 0.9375vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-official a.button.web-store span.text {
    font-size: 23px;
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual .kv-official a.button.web-store span.text {
    font-size: 2.9947916667vw;
  }
}
@media (any-hover: hover) {
  .index-KeyVisual .kv-official a.button {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: -webkit-transform 0.2s ease-out, -webkit-filter 0.2s ease-out;
    transition: -webkit-transform 0.2s ease-out, -webkit-filter 0.2s ease-out;
    transition: transform 0.2s ease-out, filter 0.2s ease-out;
    transition: transform 0.2s ease-out, filter 0.2s ease-out, -webkit-transform 0.2s ease-out, -webkit-filter 0.2s ease-out;
    will-change: transform, filter;
  }
  .index-KeyVisual .kv-official a.button:hover {
    -webkit-filter: drop-shadow(0 0 0 #5018b8);
    filter: drop-shadow(0 0 0 #5018b8);
  }
}
@media screen and (any-hover: hover) and (min-width: 1025px) {
  .index-KeyVisual .kv-official a.button:hover {
    -webkit-transform: translateY(0.5208333333vw);
    transform: translateY(0.5208333333vw);
  }
}
@media screen and (any-hover: hover) and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-official a.button:hover {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
}
@media screen and (any-hover: hover) and (max-width: 768px) {
  .index-KeyVisual .kv-official a.button:hover {
    -webkit-transform: translateY(1.3020833333vw);
    transform: translateY(1.3020833333vw);
  }
}
@media (any-hover: hover) {
  .index-KeyVisual .kv-official a.button:hover .button-content::before {
    -webkit-animation: flash 2.5s ease-out infinite;
    animation: flash 2.5s ease-out infinite;
  }
}
.index-KeyVisual .kv-background-kira {
  pointer-events: none;
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira {
    position: absolute;
    inset: 0;
    overflow: hidden;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-background-kira {
    position: absolute;
    bottom: 80px;
    right: 0;
    left: 0;
    height: 196px;
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual .kv-background-kira {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    height: 25.5208333333vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira .kv-kira-01 {
    bottom: -0.4166666667vw;
    left: -1.9270833333vw;
    -webkit-transform: scale(-0.93, 0.93);
    transform: scale(-0.93, 0.93);
    width: 17.0833333333vw;
    height: 16.4583333333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual .kv-background-kira .kv-kira-01 {
    top: -60px;
    left: -77px;
    -webkit-transform: scale(-0.62, 0.62);
    transform: scale(-0.62, 0.62);
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual .kv-background-kira .kv-kira-01 {
    top: 0;
    left: -1.953125vw;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira .kv-kira-01 .kira-01 {
    width: 10.5208333333vw;
    height: 10.5208333333vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira .kv-kira-01 .kira-02 {
    top: 2.03125vw;
    width: 6.875vw;
    height: 6.875vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira .kv-kira-01 .kira-03 {
    top: 0.5208333333vw;
    left: 6.4583333333vw;
    width: 4.2708333333vw;
    height: 4.2708333333vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira .kv-kira-02 {
    bottom: 1.0416666667vw;
    right: -4.2708333333vw;
    -webkit-transform: scale(0.8, -0.8);
    transform: scale(0.8, -0.8);
    width: 16.1458333333vw;
    height: 15.2083333333vw;
  }
}
@media screen and (max-width: 1024px) {
  .index-KeyVisual .kv-background-kira .kv-kira-02 {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira .kv-kira-02 .kira-01 {
    top: 1.5104166667vw;
    right: 0.4166666667vw;
    width: 9.8958333333vw;
    height: 9.8958333333vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira .kv-kira-02 .kira-02 {
    left: 1.40625vw;
    width: 5.4166666667vw;
    height: 5.4166666667vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira .kv-kira-02 .kira-03 {
    top: 2.6041666667vw;
    width: 4.0625vw;
    height: 4.0625vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira .kv-kira-03 {
    top: -2.5520833333vw;
    left: 37.3958333333vw;
    -webkit-transform: scale(-0.8, 0.8);
    transform: scale(-0.8, 0.8);
    width: 16.1458333333vw;
    height: 15.2083333333vw;
  }
}
@media screen and (max-width: 1024px) {
  .index-KeyVisual .kv-background-kira .kv-kira-03 {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira .kv-kira-03 .kira-01 {
    top: 1.5104166667vw;
    right: 0.4166666667vw;
    width: 9.8958333333vw;
    height: 9.8958333333vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira .kv-kira-03 .kira-02 {
    left: 1.40625vw;
    width: 5.4166666667vw;
    height: 5.4166666667vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual .kv-background-kira .kv-kira-03 .kira-03 {
    top: 2.6041666667vw;
    width: 4.0625vw;
    height: 4.0625vw;
  }
}
.index-KeyVisual.js-animation .kv-content-inner {
  -webkit-transform: translateY(8%);
  transform: translateY(8%);
  opacity: 0;
  -webkit-filter: blur(5px);
  filter: blur(5px);
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.8s ease-out, -webkit-filter 0.5s ease-out;
  transition: opacity 0.5s ease-out, -webkit-transform 0.8s ease-out, -webkit-filter 0.5s ease-out;
  transition: transform 0.8s ease-out, opacity 0.5s ease-out, filter 0.5s ease-out;
  transition: transform 0.8s ease-out, opacity 0.5s ease-out, filter 0.5s ease-out, -webkit-transform 0.8s ease-out, -webkit-filter 0.5s ease-out;
}
.index-KeyVisual.js-animation .kv-content-logo .kv-logo::before {
  position: absolute;
  top: -38%;
  left: -5%;
  z-index: 1;
  -webkit-transform: scale(0);
  transform: scale(0);
  opacity: 1;
  width: 110%;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-image: -webkit-radial-gradient(rgba(255, 255, 255, 0) 50%, #ffffff 80%, #ffffff 100%);
  background-image: radial-gradient(rgba(255, 255, 255, 0) 50%, #ffffff 80%, #ffffff 100%);
  content: "";
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease-out 1.2s, -webkit-transform 0.5s ease-out 0.9s;
  transition: opacity 0.3s ease-out 1.2s, -webkit-transform 0.5s ease-out 0.9s;
  transition: transform 0.5s ease-out 0.9s, opacity 0.3s ease-out 1.2s;
  transition: transform 0.5s ease-out 0.9s, opacity 0.3s ease-out 1.2s, -webkit-transform 0.5s ease-out 0.9s;
}
@media screen and (min-width: 1025px) {
  .index-KeyVisual.js-animation .kv-content-logo .kv-logo::before {
    -webkit-box-shadow: 0 0 1.0416666667vw rgba(255, 255, 255, 0.8);
    box-shadow: 0 0 1.0416666667vw rgba(255, 255, 255, 0.8);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-KeyVisual.js-animation .kv-content-logo .kv-logo::before {
    -webkit-box-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
  }
}
@media screen and (max-width: 768px) {
  .index-KeyVisual.js-animation .kv-content-logo .kv-logo::before {
    -webkit-box-shadow: 0 0 2.6041666667vw rgba(255, 255, 255, 0.8);
    box-shadow: 0 0 2.6041666667vw rgba(255, 255, 255, 0.8);
  }
}
.index-KeyVisual.js-animation.is-animated .kv-content-inner {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  -webkit-filter: blur(0);
  filter: blur(0);
}
.index-KeyVisual.js-animation.is-animated .kv-content-logo .kv-logo::before {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 0;
}

@media screen and (min-width: 1025px) {
  .no-webp .index-KeyVisual .kv-image .kv-frame {
    background: url("../../images/common/index/img_kv.png") no-repeat center/cover;
  }
}
@media screen and (max-width: 1024px) {
  .no-webp .index-KeyVisual .kv-image .kv-frame {
    background: url("../../images/common/index/img_kv.png") no-repeat 0 0/auto 100%;
  }
}
@media screen and (min-width: 769px) {
  .no-webp .index-KeyVisual::after {
    background-image: url("../../images/pc/index/bg_kv_galaxy_top.png"), url("../../images/pc/index/bg_kv_galaxy_bottom.png");
  }
}
@media screen and (max-width: 768px) {
  .no-webp .index-KeyVisual::after {
    background-image: url("../../images/sp/index/bg_kv_galaxy_top.png"), url("../../images/sp/index/bg_kv_galaxy_bottom.png");
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  body.lang-ja .index-KeyVisual .kv-content {
    padding-bottom: 114px;
  }
}
@media screen and (max-width: 768px) {
  body.lang-ja .index-KeyVisual .kv-content {
    padding-bottom: 14.84375vw;
  }
}
body.lang-ja .index-KeyVisual.js-animation .kv-content-logo .kv-logo {
  -webkit-mask: url("../../images/common/index/logo_puzzshuwa_ja.png") no-repeat center/contain;
  mask: url("../../images/common/index/logo_puzzshuwa_ja.png") no-repeat center/contain;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  body.lang-en .index-KeyVisual .kv-content, body.lang-cn .index-KeyVisual .kv-content, body.lang-tw .index-KeyVisual .kv-content {
    padding-bottom: 114px;
  }
}
@media screen and (max-width: 768px) {
  body.lang-en .index-KeyVisual .kv-content, body.lang-cn .index-KeyVisual .kv-content, body.lang-tw .index-KeyVisual .kv-content {
    padding-bottom: 11.4583333333vw;
  }
}
body.lang-en .index-KeyVisual.js-animation .kv-content-logo .kv-logo, body.lang-cn .index-KeyVisual.js-animation .kv-content-logo .kv-logo, body.lang-tw .index-KeyVisual.js-animation .kv-content-logo .kv-logo {
  -webkit-mask: url("../../images/common/index/logo_puzzshuwa_en.png") no-repeat center/contain;
  mask: url("../../images/common/index/logo_puzzshuwa_en.png") no-repeat center/contain;
}

@media screen and (min-width: 769px) {
  .index-Banner {
    padding-bottom: max(150px, 7.8125vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Banner {
    padding-bottom: 13.0208333333vw;
  }
}
@media screen and (min-width: 961px) {
  .index-Banner .banner-wrapper {
    position: relative;
    padding: 0 max(40px, 2.0833333333vw);
  }
}
@media screen and (min-width: 961px) {
  .index-Banner .banner-wrapper::before {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    opacity: 0.64;
    max-width: max(580px, 30.2083333333vw);
    height: max(42px, 2.1875vw);
    margin: 0 auto;
    background-image: url("../../images/pc/index/txt_banner_deco_left.svg"), url("../../images/pc/index/txt_banner_deco_right.svg");
    background-repeat: no-repeat;
    background-position: top left, top right;
    background-size: max(66px, 3.4375vw) max(42px, 2.1875vw);
    content: "";
  }
}
.index-Banner .banner-container {
  margin: 0 auto;
}
@media screen and (min-width: 961px) {
  .index-Banner .banner-container {
    max-width: max(388px, 20.2083333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 960px) {
  .index-Banner .banner-container {
    width: 620px;
  }
}
@media screen and (max-width: 768px) {
  .index-Banner .banner-container {
    width: 80.7291666667vw;
  }
}
@media screen and (min-width: 961px) {
  .index-Banner .banner-container.swiper-container {
    overflow: hidden;
    max-width: max(812px, 42.2916666667vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 960px) {
  .index-Banner .banner-container.swiper-container {
    width: 638px;
  }
}
@media screen and (max-width: 768px) {
  .index-Banner .banner-container.swiper-container {
    width: 83.0729166667vw;
  }
}
@media screen and (min-width: 769px) {
  .index-Banner ul.banner-list li.swiper-slide {
    padding: 0 max(9px, 0.46875vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Banner ul.banner-list li.swiper-slide {
    padding: 0 1.171875vw;
  }
}
.index-Banner ul.banner-list li a {
  display: block;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .index-Banner ul.banner-list li a {
    border-radius: max(20px, 1.0416666667vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Banner ul.banner-list li a {
    border-radius: 3.3854166667vw;
  }
}
@media (any-hover: hover) {
  .index-Banner ul.banner-list li a img {
    -webkit-transition: -webkit-transform 0.3s ease-out;
    transition: -webkit-transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
    will-change: transform;
  }
  .index-Banner ul.banner-list li a:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
.index-Banner .pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
@media screen and (min-width: 769px) {
  .index-Banner .pagination {
    padding-top: max(26px, 1.3541666667vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Banner .pagination {
    padding-top: 3.90625vw;
  }
}
.index-Banner .pagination .swiper-pagination-bullet {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0);
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
@media screen and (min-width: 769px) {
  .index-Banner .pagination .swiper-pagination-bullet {
    width: max(10px, 0.5208333333vw);
    height: max(10px, 0.5208333333vw);
    margin: 0 max(5px, 0.2604166667vw);
    border: max(1px, 0.0520833333vw) solid #ffffff;
  }
}
@media screen and (max-width: 768px) {
  .index-Banner .pagination .swiper-pagination-bullet {
    width: 1.8229166667vw;
    height: 1.8229166667vw;
    margin: 0 1.0416666667vw;
    border: 0.1302083333vw solid #ffffff;
  }
}
@media (any-hover: hover) {
  .index-Banner .pagination .swiper-pagination-bullet:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }
}
.index-Banner .pagination .swiper-pagination-bullet-active {
  background-color: #ffffff;
  pointer-events: none;
}
.index-Banner.js-animation .banner-wrapper {
  opacity: 0;
  -webkit-transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
}
@media screen and (min-width: 769px) {
  .index-Banner.js-animation .banner-wrapper {
    -webkit-transform: translateY(max(40px, 2.0833333333vw));
    transform: translateY(max(40px, 2.0833333333vw));
  }
}
@media screen and (max-width: 768px) {
  .index-Banner.js-animation .banner-wrapper {
    -webkit-transform: translateY(5.2083333333vw);
    transform: translateY(5.2083333333vw);
  }
}
.index-Banner.js-animation.is-animated .banner-wrapper {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.index-Content {
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .index-Content {
    margin-top: -4.5833333333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-Content {
    margin-top: -88px;
  }
}
.index-Content_BgScroll {
  position: absolute;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .index-Content_BgScroll {
    inset: max(160px, 8.3333333333vw) 0 0;
  }
}
@media screen and (max-width: 768px) {
  .index-Content_BgScroll {
    inset: 15.625vw 0 0;
  }
}
.index-Content_BgScroll::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(116, 105, 253, 0)));
  background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(116, 105, 253, 0));
  background-image: linear-gradient(rgba(255, 255, 255, 0.1), rgba(116, 105, 253, 0));
  content: "";
}
@media screen and (min-width: 769px) {
  .index-Content_BgScroll::before {
    height: max(830px, 43.2291666667vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Content_BgScroll::before {
    height: 108.0729166667vw;
  }
}
.index-Content_BgScroll::after {
  position: absolute;
  left: 0;
  opacity: 0.13;
  aspect-ratio: 3212/160;
  background: url("../../images/common/index/txt_scroll_puzzle-shuwatch.svg") repeat-x 0 0/auto 100%;
  content: "";
  -webkit-animation: scroll-horizontal 20s linear infinite;
  animation: scroll-horizontal 20s linear infinite;
}
@media screen and (min-width: 769px) {
  .index-Content_BgScroll::after {
    top: min(-152px, -7.9166666667vw);
    height: max(160px, 8.3333333333vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Content_BgScroll::after {
    top: -15.1041666667vw;
    height: 15.625vw;
  }
}

@media screen and (min-width: 769px) {
  .index-Reword {
    padding-bottom: max(120px, 6.25vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Reword {
    padding-bottom: 28.6458333333vw;
  }
}
@media screen and (min-width: 769px) {
  .index-Reword .reward-header {
    padding: 0 max(70px, 3.6458333333vw) max(20px, 1.0416666667vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Reword .reward-header {
    padding-bottom: 2.6041666667vw;
  }
}
@media screen and (min-width: 769px) {
  .index-Reword .reward-header-title {
    position: relative;
    max-width: max(1200px, 62.5vw);
    margin: 0 auto;
  }
}
@media screen and (min-width: 769px) {
  .index-Reword .reward-main {
    padding: 0 max(70px, 3.6458333333vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Reword .reward-main {
    padding: 0 5.2083333333vw;
  }
}
@media screen and (min-width: 769px) {
  .index-Reword .reward-main .reward-image {
    max-width: max(1200px, 62.5vw);
    margin: 0 auto;
  }
}
.index-Reword .reward-header.js-animation .reward-header-title {
  opacity: 0;
  -webkit-transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
}
@media screen and (min-width: 769px) {
  .index-Reword .reward-header.js-animation .reward-header-title {
    -webkit-transform: translateY(max(40px, 2.0833333333vw));
    transform: translateY(max(40px, 2.0833333333vw));
  }
}
@media screen and (max-width: 768px) {
  .index-Reword .reward-header.js-animation .reward-header-title {
    -webkit-transform: translateY(5.2083333333vw);
    transform: translateY(5.2083333333vw);
  }
}
.index-Reword .reward-header.js-animation.is-animated .reward-header-title {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
.index-Reword .reward-image.js-animation {
  opacity: 0;
  -webkit-transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
}
@media screen and (min-width: 769px) {
  .index-Reword .reward-image.js-animation {
    -webkit-transform: translateY(max(40px, 2.0833333333vw));
    transform: translateY(max(40px, 2.0833333333vw));
  }
}
@media screen and (max-width: 768px) {
  .index-Reword .reward-image.js-animation {
    -webkit-transform: translateY(5.2083333333vw);
    transform: translateY(5.2083333333vw);
  }
}
.index-Reword .reward-image.js-animation.is-animated {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.index-Movie {
  position: relative;
}
@media screen and (min-width: 1281px) {
  .index-Movie {
    padding-top: max(288px, 15vw);
    padding-bottom: max(210px, 10.9375vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
  .index-Movie {
    padding-top: calc(160px + 10vw);
    padding-bottom: 16.40625vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Movie {
    padding-top: 29.296875vw;
    padding-bottom: 15.625vw;
  }
}
.index-Movie .movie-header {
  position: relative;
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-header {
    padding: 0 max(35px, 1.8229166667vw) max(64px, 3.3333333333vw);
  }
}
.index-Movie .movie-header-title {
  position: relative;
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-header-title {
    max-width: max(1300px, 67.7083333333vw);
    margin: 0 auto;
  }
}
.index-Movie .movie-header-kira {
  position: absolute;
  z-index: -1;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-header-kira {
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    margin: 0 auto;
  }
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-header-kira {
    width: max(1680px, 87.5vw);
    height: max(356px, 18.5416666667vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-header-kira {
    width: 116.1764705882vw;
    height: 26.1764705882vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-header-kira {
    top: -8.8541666667vw;
    right: 0;
    left: 0;
    height: 81.25vw;
  }
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_01 {
    left: 0;
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
  }
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_01 {
    top: max(64px, 3.3333333333vw);
    width: max(310px, 16.1458333333vw);
    height: max(292px, 15.2083333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_01 {
    top: 4.7058823529vw;
    width: 22.7941176471vw;
    height: 21.4705882353vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_01 {
    display: none;
  }
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_01 .kira-01 {
    top: max(29px, 1.5104166667vw);
    right: max(8px, 0.4166666667vw);
    width: max(190px, 9.8958333333vw);
    height: max(190px, 9.8958333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_01 .kira-01 {
    top: 2.1323529412vw;
    right: 0.5882352941vw;
    width: 13.6764705882vw;
    height: 13.6764705882vw;
  }
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_01 .kira-02 {
    left: max(27px, 1.40625vw);
    width: max(104px, 5.4166666667vw);
    height: max(104px, 5.4166666667vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_01 .kira-02 {
    left: 1.9852941176vw;
    width: 7.5vw;
    height: 7.5vw;
  }
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_01 .kira-03 {
    top: max(50px, 2.6041666667vw);
    width: max(78px, 4.0625vw);
    height: max(78px, 4.0625vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_01 .kira-03 {
    top: 3.6764705882vw;
    width: 5.5882352941vw;
    height: 5.5882352941vw;
  }
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_02 {
    right: 0;
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
  }
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_02 {
    top: max(36px, 1.875vw);
    width: max(328px, 17.0833333333vw);
    height: max(316px, 16.4583333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_02 {
    top: 2.6470588235vw;
    width: 24.1176470588vw;
    height: 23.2352941176vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_02 {
    display: none;
  }
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_02 .kira-01 {
    width: max(202px, 10.5208333333vw);
    height: max(202px, 10.5208333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_02 .kira-01 {
    width: 14.5588235294vw;
    height: 14.5588235294vw;
  }
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_02 .kira-02 {
    top: max(39px, 2.03125vw);
    width: max(132px, 6.875vw);
    height: max(132px, 6.875vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_02 .kira-02 {
    top: 2.8676470588vw;
    width: 9.4852941176vw;
    height: 9.4852941176vw;
  }
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_02 .kira-03 {
    top: max(10px, 0.5208333333vw);
    left: max(124px, 6.4583333333vw);
    width: max(82px, 4.2708333333vw);
    height: max(82px, 4.2708333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-header-kira .sw-Kira_Wrappre_02 .kira-03 {
    top: 0.7352941176vw;
    left: 8.9705882353vw;
    width: 5.8823529412vw;
    height: 5.8823529412vw;
  }
}
.index-Movie .movie-main {
  position: relative;
}
.index-Movie .movie-main::before, .index-Movie .movie-main::after {
  position: absolute;
  inset: 0;
  margin: auto 0;
  z-index: -1;
  content: "";
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-main::before, .index-Movie .movie-main::after {
    height: max(390px, 20.3125vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-main::before, .index-Movie .movie-main::after {
    height: 28.6764705882vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-main::before, .index-Movie .movie-main::after {
    height: 32.5520833333vw;
  }
}
.index-Movie .movie-main::before {
  background-color: rgba(0, 246, 255, 0.4);
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-main::before {
    border-width: max(6px, 0.3125vw) 0;
    border-style: solid;
    border-color: #00f6ff;
    -webkit-filter: blur(max(5px, 0.2604166667vw));
    filter: blur(max(5px, 0.2604166667vw));
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-main::before {
    border-width: 0.78125vw 0;
    border-style: solid;
    border-color: #00f6ff;
    -webkit-filter: blur(0.6510416667vw);
    filter: blur(0.6510416667vw);
  }
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-main::after {
    border-width: max(4px, 0.2083333333vw) 0;
    border-style: solid;
    border-color: rgba(255, 255, 255, 0.4);
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-main::after {
    border-width: 0.5208333333vw 0;
    border-style: solid;
    border-color: rgba(255, 255, 255, 0.4);
  }
}
.index-Movie .movie-frame-container {
  position: relative;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-frame-container {
    padding: 0 max(70px, 3.6458333333vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-frame-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    height: 70.3125vw;
    padding: 0 2.6041666667vw;
  }
}
.index-Movie .movie-frame-container::before {
  position: absolute;
  content: "";
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-frame-container::before {
    top: 0;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-image: url("../../images/pc/index/bg_movie_frame_left.png"), url("../../images/pc/index/bg_movie_frame_right.png");
    background-repeat: no-repeat;
    background-position: left center, right center;
    -webkit-filter: drop-shadow(0 0 max(6px, 0.3125vw) rgba(128, 246, 230, 0.8)) drop-shadow(0 0 max(12px, 0.625vw) rgba(128, 246, 230, 0.8)) drop-shadow(0 0 max(12px, 0.625vw) rgba(150, 255, 224, 0.8));
    filter: drop-shadow(0 0 max(6px, 0.3125vw) rgba(128, 246, 230, 0.8)) drop-shadow(0 0 max(12px, 0.625vw) rgba(128, 246, 230, 0.8)) drop-shadow(0 0 max(12px, 0.625vw) rgba(150, 255, 224, 0.8));
  }
}
@media screen and (min-width: 1386px) {
  .index-Movie .movie-frame-container::before {
    width: max(1450px, 75.5208333333vw);
    background-size: max(44px, 2.2916666667vw) max(466px, 24.2708333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1386px) {
  .index-Movie .movie-frame-container::before {
    width: 104.6176046176vw;
    background-size: 3.1746031746vw 33.6219336219vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-frame-container::before {
    inset: 0;
    background-image: url("../../images/sp/index/bg_movie_frame_top.png"), url("../../images/sp/index/bg_movie_frame_bottom.png");
    background-repeat: no-repeat;
    background-position: top center, bottom center;
    background-size: 41.9270833333vw 3.90625vw;
    -webkit-filter: drop-shadow(0 0 0.78125vw rgba(128, 246, 230, 0.8)) drop-shadow(0 0 1.5625vw rgba(128, 246, 230, 0.8)) drop-shadow(0 0 1.5625vw rgba(150, 255, 224, 0.8));
    filter: drop-shadow(0 0 0.78125vw rgba(128, 246, 230, 0.8)) drop-shadow(0 0 1.5625vw rgba(128, 246, 230, 0.8)) drop-shadow(0 0 1.5625vw rgba(150, 255, 224, 0.8));
  }
}
.index-Movie .movie-frame-container .movie-frame {
  position: relative;
  aspect-ratio: 1200/675;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-frame-container .movie-frame {
    max-width: max(1200px, 62.5vw);
    margin: 0 auto;
    padding: max(14px, 0.7291666667vw);
    border-radius: max(66px, 3.4375vw);
    -webkit-filter: drop-shadow(0 0 max(6px, 0.3125vw) rgba(128, 246, 230, 0.8)) drop-shadow(0 0 max(12px, 0.625vw) rgba(128, 246, 230, 0.8)) drop-shadow(0 0 max(12px, 0.625vw) rgba(150, 255, 224, 0.8)) drop-shadow(0 0 max(12px, 0.625vw) rgba(150, 255, 224, 0.4)) drop-shadow(0 0 max(12px, 0.625vw) rgba(150, 255, 224, 0.4)) drop-shadow(0 0 max(12px, 0.625vw) rgba(150, 255, 224, 0.4));
    filter: drop-shadow(0 0 max(6px, 0.3125vw) rgba(128, 246, 230, 0.8)) drop-shadow(0 0 max(12px, 0.625vw) rgba(128, 246, 230, 0.8)) drop-shadow(0 0 max(12px, 0.625vw) rgba(150, 255, 224, 0.8)) drop-shadow(0 0 max(12px, 0.625vw) rgba(150, 255, 224, 0.4)) drop-shadow(0 0 max(12px, 0.625vw) rgba(150, 255, 224, 0.4)) drop-shadow(0 0 max(12px, 0.625vw) rgba(150, 255, 224, 0.4));
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-frame-container .movie-frame {
    width: 100%;
    padding: 1.0416666667vw;
    border-radius: 5.2083333333vw;
    -webkit-filter: drop-shadow(0 0 0.78125vw rgba(128, 246, 230, 0.8)) drop-shadow(0 0 1.5625vw rgba(128, 246, 230, 0.8)) drop-shadow(0 0 1.5625vw rgba(150, 255, 224, 0.8)) drop-shadow(0 0 1.5625vw rgba(150, 255, 224, 0.4)) drop-shadow(0 0 1.5625vw rgba(150, 255, 224, 0.4)) drop-shadow(0 0 1.5625vw rgba(150, 255, 224, 0.4));
    filter: drop-shadow(0 0 0.78125vw rgba(128, 246, 230, 0.8)) drop-shadow(0 0 1.5625vw rgba(128, 246, 230, 0.8)) drop-shadow(0 0 1.5625vw rgba(150, 255, 224, 0.8)) drop-shadow(0 0 1.5625vw rgba(150, 255, 224, 0.4)) drop-shadow(0 0 1.5625vw rgba(150, 255, 224, 0.4)) drop-shadow(0 0 1.5625vw rgba(150, 255, 224, 0.4));
  }
}
.index-Movie .movie-frame-container .movie-frame::before {
  position: absolute;
  background-image: -webkit-gradient(linear, left top, right top, from(#00b7df), color-stop(46%, #b5f0f6), to(#00b7df));
  background-image: -webkit-linear-gradient(left, #00b7df 0%, #b5f0f6 46%, #00b7df 100%);
  background-image: linear-gradient(90deg, #00b7df 0%, #b5f0f6 46%, #00b7df 100%);
  content: "";
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-frame-container .movie-frame::before {
    inset: max(10px, 0.5208333333vw);
    border-radius: max(60px, 3.125vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-frame-container .movie-frame::before {
    inset: 0.78125vw;
    border-radius: 4.6875vw;
  }
}
.index-Movie .movie-frame-container .movie-frame::after {
  position: absolute;
  inset: 0;
  background-image: url("../../images/common/index/bg_movie_frame_top.png"), url("../../images/common/index/bg_movie_frame_bottom.png");
  background-repeat: no-repeat;
  background-position: top center, bottom center;
  content: "";
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-frame-container .movie-frame::after {
    background-size: max(304px, 15.8333333333vw) max(36px, 1.875vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-frame-container .movie-frame::after {
    background-size: 22.3529411765vw 2.6470588235vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-frame-container .movie-frame::after {
    background-size: 23.9583333333vw 2.8645833333vw;
  }
}
.index-Movie .movie-frame-container .movie-frame-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-frame-container .movie-frame-inner {
    padding: max(10px, 0.5208333333vw);
    border-radius: max(56px, 2.9166666667vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-frame-container .movie-frame-inner {
    padding: 0.6510416667vw;
    border-radius: 4.4270833333vw;
  }
}
.index-Movie .movie-frame-container .movie-frame .media-thumb {
  display: grid;
  place-items: center;
  position: relative;
  z-index: 1;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-color: #02003e;
  pointer-events: auto;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-frame-container .movie-frame .media-thumb {
    border-radius: max(50px, 2.6041666667vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-frame-container .movie-frame .media-thumb {
    border-radius: 3.90625vw;
  }
}
.index-Movie .movie-frame-container .movie-frame .media-thumb .play {
  position: absolute;
  z-index: 1;
  background: url("../../images/common/index/btn_play_front.png") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-frame-container .movie-frame .media-thumb .play {
    width: max(140px, 7.2916666667vw);
    height: max(140px, 7.2916666667vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-frame-container .movie-frame .media-thumb .play {
    width: 18.2291666667vw;
    height: 18.2291666667vw;
  }
}
.index-Movie .movie-frame-container .movie-frame .media-thumb .play::before {
  position: absolute;
  inset: 0;
  background: url("../../images/common/index/btn_play_back.png") no-repeat center/contain;
  content: "";
}
.index-Movie .movie-frame-container .movie-frame .media-thumb img {
  opacity: 0.4;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media (any-hover: hover) {
  .index-Movie .movie-frame-container .movie-frame .media-thumb .play::before {
    -webkit-animation: rotation 10s linear infinite;
    animation: rotation 10s linear infinite;
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    will-change: transform;
  }
  .index-Movie .movie-frame-container .movie-frame .media-thumb img {
    -webkit-transition: -webkit-transform 0.5s ease-in-out;
    transition: -webkit-transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
    will-change: transform;
  }
  .index-Movie .movie-frame-container .movie-frame .media-thumb:hover .play::before {
    -webkit-animation-play-state: running;
    animation-play-state: running;
  }
  .index-Movie .movie-frame-container .movie-frame .media-thumb:hover img {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
  }
}
.index-Movie .movie-background {
  display: grid;
  place-items: center;
  position: absolute;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-background {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-background {
    top: min(-375px, -19.53125vw);
    width: max(1400px, 72.9166666667vw);
    height: max(1400px, 72.9166666667vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-background {
    top: -27.5735294118vw;
    width: 102.9411764706vw;
    height: 102.9411764706vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-background {
    top: -41.1458333333vw;
    right: 0;
    left: 0;
    height: 156.25vw;
  }
}
.index-Movie .movie-background::before {
  position: absolute;
  background: url("../../webp/common/index/bg_starburst.webp") no-repeat center/contain;
  content: "";
  -webkit-animation: rotation 20s linear infinite;
  animation: rotation 20s linear infinite;
}
@media screen and (min-width: 1361px) {
  .index-Movie .movie-background::before {
    width: max(1400px, 72.9166666667vw);
    height: max(1400px, 72.9166666667vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Movie .movie-background::before {
    width: 102.9411764706vw;
    height: 102.9411764706vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-background::before {
    width: 156.25vw;
    height: 156.25vw;
  }
}
.index-Movie .movie-header.js-animation .movie-header-title {
  opacity: 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-transition: opacity 0.8s, -webkit-transform 0.8s;
  transition: opacity 0.8s, -webkit-transform 0.8s;
  transition: transform 0.8s, opacity 0.8s;
  transition: transform 0.8s, opacity 0.8s, -webkit-transform 0.8s;
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-header.js-animation .movie-header-title {
    -webkit-transform: translateY(max(40px, 2.0833333333vw));
    transform: translateY(max(40px, 2.0833333333vw));
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-header.js-animation .movie-header-title {
    -webkit-transform: translateY(5.2083333333vw);
    transform: translateY(5.2083333333vw);
  }
}
.index-Movie .movie-header.js-animation .movie-header-title::before {
  position: absolute;
  -webkit-transform: skewX(-30deg) scaleX(1);
  transform: skewX(-30deg) scaleX(1);
  -webkit-transform-origin: center left;
  transform-origin: center left;
  opacity: 0;
  background-color: #ffffff;
  content: "";
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .index-Movie .movie-header.js-animation .movie-header-title::before {
    inset: 0 -5% 0 0;
  }
}
@media screen and (max-width: 768px) {
  .index-Movie .movie-header.js-animation .movie-header-title::before {
    inset: 0 -10% 0 -10%;
  }
}
.index-Movie .movie-header.js-animation.is-animated .movie-header-title {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
.index-Movie .movie-header.js-animation.is-animated .movie-header-title::before {
  -webkit-animation: flash-long 6s ease-out 1s infinite;
  animation: flash-long 6s ease-out 1s infinite;
}

.no-webp .index-Movie .movie-background::before {
  background: url("../../images/common/index/bg_starburst.png") no-repeat center/contain;
}

@media screen and (min-width: 769px) {
  body.lang-ja .index-Movie .movie-header.js-animation .movie-header-title {
    -webkit-mask-image: url("../../images/pc/index/ttl_puzzlegame-launch_ja.png");
    mask-image: url("../../images/pc/index/ttl_puzzlegame-launch_ja.png");
  }
}
@media screen and (max-width: 768px) {
  body.lang-ja .index-Movie .movie-header.js-animation .movie-header-title {
    -webkit-mask-image: url("../../images/sp/index/ttl_puzzlegame-launch_ja.png");
    mask-image: url("../../images/sp/index/ttl_puzzlegame-launch_ja.png");
  }
}
@media screen and (max-width: 768px) {
  body.lang-ja .index-Movie .movie-header-kira {
    background: url("../../images/sp/index/bg_puzzlegame-launch_kira_ja.png") no-repeat center/cover;
  }
}
@media screen and (min-width: 769px) {
  body.lang-en .index-Movie .movie-header.js-animation .movie-header-title {
    -webkit-mask-image: url("../../images/pc/index/ttl_puzzlegame-launch_en.png");
    mask-image: url("../../images/pc/index/ttl_puzzlegame-launch_en.png");
  }
}
@media screen and (max-width: 768px) {
  body.lang-en .index-Movie .movie-header.js-animation .movie-header-title {
    -webkit-mask-image: url("../../images/sp/index/ttl_puzzlegame-launch_en.png");
    mask-image: url("../../images/sp/index/ttl_puzzlegame-launch_en.png");
  }
}
@media screen and (max-width: 768px) {
  body.lang-en .index-Movie .movie-header-kira {
    background: url("../../images/sp/index/bg_puzzlegame-launch_kira_en.png") no-repeat center/cover;
  }
}
@media screen and (min-width: 769px) {
  body.lang-cn .index-Movie .movie-header.js-animation .movie-header-title {
    -webkit-mask-image: url("../../images/pc/index/ttl_puzzlegame-launch_cn.png");
    mask-image: url("../../images/pc/index/ttl_puzzlegame-launch_cn.png");
  }
}
@media screen and (max-width: 768px) {
  body.lang-cn .index-Movie .movie-header.js-animation .movie-header-title {
    -webkit-mask-image: url("../../images/sp/index/ttl_puzzlegame-launch_cn.png");
    mask-image: url("../../images/sp/index/ttl_puzzlegame-launch_cn.png");
  }
}
@media screen and (max-width: 768px) {
  body.lang-cn .index-Movie .movie-header-kira {
    background: url("../../images/sp/index/bg_puzzlegame-launch_kira_cn.png") no-repeat center/cover;
  }
}
@media screen and (min-width: 769px) {
  body.lang-tw .index-Movie .movie-header.js-animation .movie-header-title {
    -webkit-mask-image: url("../../images/pc/index/ttl_puzzlegame-launch_tw.png");
    mask-image: url("../../images/pc/index/ttl_puzzlegame-launch_tw.png");
  }
}
@media screen and (max-width: 768px) {
  body.lang-tw .index-Movie .movie-header.js-animation .movie-header-title {
    -webkit-mask-image: url("../../images/sp/index/ttl_puzzlegame-launch_tw.png");
    mask-image: url("../../images/sp/index/ttl_puzzlegame-launch_tw.png");
  }
}
@media screen and (max-width: 768px) {
  body.lang-tw .index-Movie .movie-header-kira {
    background: url("../../images/sp/index/bg_puzzlegame-launch_kira_tw.png") no-repeat center/cover;
  }
}

.index-Character {
  position: relative;
}
.index-Character .chara-header {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .index-Character .chara-header {
    height: max(306px, 15.9375vw);
    background: url("../../images/pc/index/bg_chara_title.png") no-repeat center/cover;
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Character .chara-header {
    height: 22.5vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-header {
    width: 100%;
    aspect-ratio: 768/330;
    background: url("../../images/sp/index/bg_chara_title.png") no-repeat center/cover;
  }
}
.index-Character .chara-header-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  height: 100%;
}
.index-Character .chara-header .header-title {
  text-align: center;
}
@media screen and (min-width: 1361px) {
  .index-Character .chara-header .header-title {
    position: relative;
    top: min(-15px, -0.78125vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Character .chara-header .header-title {
    position: relative;
    top: -1.1029411765vw;
  }
}
.index-Character .chara-header .header-title span.text-gradient {
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.06em;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fffc74), to(#ffd45a));
  background-image: -webkit-linear-gradient(#fffc74, #ffd45a);
  background-image: linear-gradient(#fffc74, #ffd45a);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 1361px) {
  .index-Character .chara-header .header-title span.text-gradient {
    font-size: max(70px, 3.6458333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Character .chara-header .header-title span.text-gradient {
    font-size: 5.1470588235vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-header .header-title span.text-gradient {
    font-size: 7.2916666667vw;
  }
}
.index-Character .chara-header .header-title span.text-white {
  color: #ffffff;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 1361px) {
  .index-Character .chara-header .header-title span.text-white {
    font-size: max(70px, 3.6458333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Character .chara-header .header-title span.text-white {
    font-size: 5.1470588235vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-header .header-title span.text-white {
    font-size: 7.2916666667vw;
  }
}
@media screen and (min-width: 769px) {
  .index-Character .chara-main {
    padding: max(68px, 3.5416666667vw) 0 max(278px, 14.4791666667vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-main {
    padding: 4.1666666667vw 0 37.7604166667vw;
  }
}
.index-Character .chara-section {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .index-Character .chara-section + .chara-section {
    margin-top: max(120px, 6.25vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-section + .chara-section {
    margin-top: 10.4166666667vw;
  }
}
@media screen and (min-width: 769px) {
  .index-Character .section-header {
    padding-bottom: max(90px, 4.6875vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header {
    padding-bottom: 9.1145833333vw;
  }
}
.index-Character .section-header-title {
  position: relative;
  z-index: 1;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .index-Character .section-header-title {
    background: url("../../images/pc/index/bg_chara_section_title.png") no-repeat center/contain;
  }
}
@media screen and (min-width: 1025px) {
  .index-Character .section-header-title {
    width: max(960px, 50vw);
    height: max(168px, 8.75vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-Character .section-header-title {
    width: 93.75vw;
    height: 16.40625vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header-title {
    width: 89.84375vw;
    height: 26.5625vw;
    background: url("../../images/sp/index/bg_chara_section_title.png") no-repeat center/contain;
  }
}
.index-Character .section-header-title span {
  display: block;
}
@media screen and (min-width: 1025px) {
  .index-Character .section-header-title span.title-top {
    height: max(64px, 3.3333333333vw);
    padding: max(25px, 1.3020833333vw) max(444px, 23.125vw) 0 max(478px, 24.8958333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-Character .section-header-title span.title-top {
    height: 6.25vw;
    padding: 2.44140625vw 43.359375vw 0 46.6796875vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header-title span.title-top {
    height: 10.6770833333vw;
    padding: 4.1666666667vw 41.6666666667vw 0 41.6666666667vw;
  }
}
.index-Character .section-header-title span.number {
  margin: 0 auto;
  font-size: 0;
}
@media screen and (min-width: 1025px) {
  .index-Character .section-header-title span.number {
    width: max(30px, 1.5625vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-Character .section-header-title span.number {
    width: 2.9296875vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header-title span.number {
    width: 4.9479166667vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-Character .section-header-title span.title-bottom {
    padding: max(16px, 0.8333333333vw) max(40px, 2.0833333333vw) 0 max(70px, 3.6458333333vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-Character .section-header-title span.title-bottom {
    padding: 1.5625vw 3.90625vw 0 6.8359375vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header-title span.title-bottom {
    padding: 3.2552083333vw 9.375vw 0 9.6354166667vw;
  }
}
.index-Character .section-header-title span.title {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  color: #02003e;
  font-weight: 900;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 769px) {
  .index-Character .section-header-title span.title {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
@media screen and (min-width: 1025px) {
  .index-Character .section-header-title span.title {
    font-size: max(42px, 2.1875vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-Character .section-header-title span.title {
    font-size: 4.1015625vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header-title span.title {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    font-size: 5.2083333333vw;
  }
}
.index-Character .section-header-title span.title::before, .index-Character .section-header-title span.title::after {
  position: relative;
  background: url("../../images/common/index/bg_chara_stripe.svg") no-repeat center/contain;
  content: "";
}
@media screen and (min-width: 1025px) {
  .index-Character .section-header-title span.title::before, .index-Character .section-header-title span.title::after {
    top: max(9px, 0.46875vw);
    width: max(64px, 3.3333333333vw);
    height: max(24px, 1.25vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-Character .section-header-title span.title::before, .index-Character .section-header-title span.title::after {
    top: 0.78125vw;
    width: 6.25vw;
    height: 2.34375vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header-title span.title::before, .index-Character .section-header-title span.title::after {
    top: 1.0416666667vw;
    width: 8.3333333333vw;
    height: 3.125vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-Character .section-header-title span.title::before {
    margin-right: max(60px, 3.125vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-Character .section-header-title span.title::before {
    margin-right: 5.859375vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header-title span.title::before {
    margin-right: 2.6041666667vw;
  }
}
@media screen and (min-width: 1025px) {
  .index-Character .section-header-title span.title::after {
    margin-left: max(60px, 3.125vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .index-Character .section-header-title span.title::after {
    margin-left: 5.859375vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header-title span.title::after {
    margin-left: 2.6041666667vw;
  }
}
.index-Character .section-header-kira {
  position: absolute;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .index-Character .section-header-kira {
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    min-width: 1280px;
    width: 100%;
    height: max(316px, 16.4583333333vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header-kira {
    top: 20.8333333333vw;
    right: 0;
    left: 0;
    height: 25.5208333333vw;
  }
}
.index-Character .section-header-kira .sw-Kira_Wrappre_01 {
  top: 0;
}
@media screen and (min-width: 769px) {
  .index-Character .section-header-kira .sw-Kira_Wrappre_01 {
    left: max(20px, 1.0416666667vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header-kira .sw-Kira_Wrappre_01 {
    left: -5.2083333333vw;
  }
}
.index-Character .section-header-kira .sw-Kira_Wrappre_02 {
  top: 0;
}
@media screen and (min-width: 769px) {
  .index-Character .section-header-kira .sw-Kira_Wrappre_02 {
    right: min(-4px, -0.2083333333vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header-kira .sw-Kira_Wrappre_02 {
    right: -7.1614583333vw;
  }
}
@media screen and (min-width: 769px) {
  .index-Character .section-body {
    max-width: max(1720px, 89.5833333333vw);
    margin: 0 auto;
  }
}
.index-Character ul.character-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
@media screen and (min-width: 769px) {
  .index-Character ul.character-list {
    margin: 0 min(-15px, -0.78125vw) min(-80px, -4.1666666667vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Character ul.character-list {
    margin: 0 -1.3020833333vw -5.2083333333vw;
  }
}
@media screen and (min-width: 1721px) {
  .index-Character ul.character-list li {
    width: 20%;
    padding: 0 max(15px, 0.78125vw) max(80px, 4.1666666667vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1720px) {
  .index-Character ul.character-list li {
    width: max(350px, 18.2291666667vw);
    padding: 0 15px 80px;
  }
}
@media screen and (max-width: 768px) {
  .index-Character ul.character-list li {
    width: 45.8333333333vw;
    padding: 0 1.3020833333vw 5.2083333333vw;
  }
}
@media screen and (min-width: 769px) {
  .index-Character ul.character-list li .chara-image {
    aspect-ratio: 320/350;
  }
}
@media screen and (min-width: 1721px) {
  .index-Character ul.character-list li .chara-image {
    width: 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1720px) {
  .index-Character ul.character-list li .chara-image {
    width: max(320px, 16.6666666667vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Character ul.character-list li .chara-image {
    width: 43.2291666667vw;
    height: 47.265625vw;
  }
}
.index-Character ul.character-list li .chara-image figure {
  width: 100%;
  height: 100%;
  background: url("../../images/common/index/bg_chara.png") no-repeat center/contain;
}
.index-Character ul.character-list li p.chara-name {
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: 0.06em;
  text-align: center;
  background-image: url("../../images/common/index/arrow_chara.svg");
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  .index-Character ul.character-list li p.chara-name {
    padding-top: max(39px, 2.03125vw);
    font-size: max(24px, 1.25vw);
    background-position: top max(10px, 0.5208333333vw) center;
    background-size: max(48px, 2.5vw) max(9px, 0.46875vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Character ul.character-list li p.chara-name {
    padding-top: 4.4270833333vw;
    font-size: 3.6458333333vw;
    background-position: top 1.0416666667vw center;
    background-size: 7.03125vw 1.3020833333vw;
  }
}
.index-Character .section-header.js-animation .section-header-title {
  opacity: 0;
  -webkit-transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
}
@media screen and (min-width: 769px) {
  .index-Character .section-header.js-animation .section-header-title {
    -webkit-transform: translateY(max(40px, 2.0833333333vw));
    transform: translateY(max(40px, 2.0833333333vw));
  }
}
@media screen and (max-width: 768px) {
  .index-Character .section-header.js-animation .section-header-title {
    -webkit-transform: translateY(5.2083333333vw);
    transform: translateY(5.2083333333vw);
  }
}
.index-Character .section-header.js-animation.is-animated .section-header-title {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
.index-Character ul.character-list.js-animation li {
  opacity: 0;
  -webkit-filter: blur(2px);
  filter: blur(2px);
  -webkit-transition: opacity 0.4s ease-out, -webkit-transform 0.5s ease-out, -webkit-filter 0.4s ease-out;
  transition: opacity 0.4s ease-out, -webkit-transform 0.5s ease-out, -webkit-filter 0.4s ease-out;
  transition: transform 0.5s ease-out, opacity 0.4s ease-out, filter 0.4s ease-out;
  transition: transform 0.5s ease-out, opacity 0.4s ease-out, filter 0.4s ease-out, -webkit-transform 0.5s ease-out, -webkit-filter 0.4s ease-out;
}
@media screen and (min-width: 769px) {
  .index-Character ul.character-list.js-animation li {
    -webkit-transform: translateY(max(40px, 2.0833333333vw));
    transform: translateY(max(40px, 2.0833333333vw));
  }
}
@media screen and (max-width: 768px) {
  .index-Character ul.character-list.js-animation li {
    -webkit-transform: translateY(5.2083333333vw);
    transform: translateY(5.2083333333vw);
  }
}
.index-Character ul.character-list.js-animation li.is-showed {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  -webkit-filter: blur(0);
  filter: blur(0);
}
.index-Character .chara-background {
  position: absolute;
  inset: 0;
}
@media screen and (min-width: 1361px) {
  .index-Character .chara-background {
    top: max(272px, 14.1666666667vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  .index-Character .chara-background {
    top: 20vw;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-background {
    top: 28.90625vw;
  }
}
.index-Character .chara-background .background {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.index-Character .chara-background .background-inner {
  position: absolute;
  top: 0;
  bottom: 0;
}
@media screen and (min-width: 769px) {
  .index-Character .chara-background .background-inner {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: max(1920px, 100vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-background .background-inner {
    right: 0;
    left: 0;
  }
}
.index-Character .chara-background .background-inner::before {
  position: absolute;
  inset: 0;
  background-image: -webkit-gradient(linear, left top, right top, from(#d5d7d8), color-stop(#ffffff), to(#d5d7d8));
  background-image: -webkit-linear-gradient(left, #d5d7d8, #ffffff, #d5d7d8);
  background-image: linear-gradient(90deg, #d5d7d8, #ffffff, #d5d7d8);
  content: "";
}
@media screen and (min-width: 769px) {
  .index-Character .chara-background .background-inner::before {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - max(34px, 1.7708333333vw)), 50% calc(100% - max(10px, 0.5208333333vw)), 0 calc(100% - max(34px, 1.7708333333vw)));
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - max(34px, 1.7708333333vw)), 50% calc(100% - max(10px, 0.5208333333vw)), 0 calc(100% - max(34px, 1.7708333333vw)));
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-background .background-inner::before {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2.0833333333vw), 50% calc(100% - 0.78125vw), 0 calc(100% - 2.0833333333vw));
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2.0833333333vw), 50% calc(100% - 0.78125vw), 0 calc(100% - 2.0833333333vw));
  }
}
.index-Character .chara-background .scroll-text {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  height: 100vh;
}
.index-Character .chara-background .scroll-text::before, .index-Character .chara-background .scroll-text::after {
  position: absolute;
  top: 0;
  opacity: 0.4;
  background-repeat: repeat-y;
  content: "";
}
@media screen and (min-width: 769px) {
  .index-Character .chara-background .scroll-text::before, .index-Character .chara-background .scroll-text::after {
    width: max(140px, 7.2916666667vw);
    height: max(4596px, 239.375vw);
    background-size: max(160px, 8.3333333333vw) max(2298px, 119.6875vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-background .scroll-text::before, .index-Character .chara-background .scroll-text::after {
    width: 13.0208333333vw;
    height: 373.9583333333vw;
    background-size: 13.0208333333vw 186.9791666667vw;
  }
}
.index-Character .chara-background .scroll-text::before {
  left: 0;
  background-image: url("../../images/common/index/txt_scroll_chara_left.svg");
  background-position: 100% 0;
}
@media screen and (min-width: 769px) {
  .index-Character .chara-background .scroll-text::before {
    -webkit-animation: scroll-vertical-left 40s linear infinite;
    animation: scroll-vertical-left 40s linear infinite;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-background .scroll-text::before {
    -webkit-animation: scroll-vertical-left 20s linear infinite;
    animation: scroll-vertical-left 20s linear infinite;
  }
}
.index-Character .chara-background .scroll-text::after {
  right: 0;
  background-image: url("../../images/common/index/txt_scroll_chara_right.svg");
  background-position: 0 0;
}
@media screen and (min-width: 769px) {
  .index-Character .chara-background .scroll-text::after {
    -webkit-animation: scroll-vertical-right 40s linear infinite;
    animation: scroll-vertical-right 40s linear infinite;
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-background .scroll-text::after {
    -webkit-animation: scroll-vertical-right 20s linear infinite;
    animation: scroll-vertical-right 20s linear infinite;
  }
}
.index-Character .chara-background .separator {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .index-Character .chara-background .separator {
    height: max(46px, 2.3958333333vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-background .separator {
    height: 2.34375vw;
  }
}
.index-Character .chara-background .separator::before {
  position: absolute;
  bottom: 0;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: auto 100%;
  content: "";
}
@media screen and (min-width: 769px) {
  .index-Character .chara-background .separator::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: max(1920px, 100vw);
    height: max(46px, 2.3958333333vw);
    background-image: url("../../images/pc/index/bg_chara_separator.png");
  }
}
@media screen and (max-width: 768px) {
  .index-Character .chara-background .separator::before {
    right: 0;
    left: 0;
    height: 2.34375vw;
    background-image: url("../../images/sp/index/bg_chara_separator.png");
  }
}

body.lang-ja .index-Character .chara-header .header-title span.excl {
  display: inline-block;
  margin-right: -0.35em;
  margin-left: -0.2em;
}
@media screen and (min-width: 769px) {
  body.lang-en .index-Character .chara-header .header-title span.text-gradient {
    line-height: 1.1;
    letter-spacing: 0.08em;
  }
}
@media screen and (min-width: 1361px) {
  body.lang-en .index-Character .chara-header .header-title span.text-gradient {
    font-size: max(68px, 3.5416666667vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  body.lang-en .index-Character .chara-header .header-title span.text-gradient {
    font-size: 5vw;
  }
}
@media screen and (max-width: 768px) {
  body.lang-en .index-Character .chara-header .header-title span.text-gradient {
    font-size: 7.1614583333vw;
    letter-spacing: 0.02em;
  }
}
body.lang-en .index-Character .chara-header .header-title span.text-white {
  font-weight: 800;
}
@media screen and (min-width: 769px) {
  body.lang-en .index-Character .chara-header .header-title span.text-white {
    line-height: 1.1;
    letter-spacing: 0.08em;
  }
}
@media screen and (min-width: 1361px) {
  body.lang-en .index-Character .chara-header .header-title span.text-white {
    font-size: max(68px, 3.5416666667vw);
  }
}
@media screen and (min-width: 769px) and (max-width: 1360px) {
  body.lang-en .index-Character .chara-header .header-title span.text-white {
    font-size: 5vw;
  }
}
@media screen and (max-width: 768px) {
  body.lang-en .index-Character .chara-header .header-title span.text-white {
    font-size: 7.1614583333vw;
    letter-spacing: 0.02em;
  }
}
@media screen and (max-width: 768px) {
  body.lang-en .index-Character .chara-header .header-title span.excl {
    display: inline-block;
    margin-left: 0.02em;
  }
}
@media screen and (max-width: 768px) {
  body.lang-cn .index-Character .chara-header .header-title span.text-gradient {
    font-size: 8.8541666667vw;
  }
}
@media screen and (max-width: 768px) {
  body.lang-cn .index-Character .chara-header .header-title span.text-white {
    font-size: 8.8541666667vw;
  }
}
body.lang-cn .index-Character .chara-header .header-title span.excl {
  display: inline-block;
  margin-right: -0.65em;
}
@media screen and (max-width: 768px) {
  body.lang-tw .index-Character .chara-header .header-title span.text-gradient {
    font-size: 8.8541666667vw;
  }
}
@media screen and (max-width: 768px) {
  body.lang-tw .index-Character .chara-header .header-title span.text-white {
    font-size: 8.8541666667vw;
  }
}
body.lang-tw .index-Character .chara-header .header-title span.excl {
  display: inline-block;
  margin-right: -0.4em;
  margin-left: -0.2em;
}

.index-Separator {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .index-Separator {
    height: max(46px, 2.3958333333vw);
  }
}
@media screen and (max-width: 768px) {
  .index-Separator {
    height: 2.34375vw;
  }
}
.index-Separator::before {
  position: absolute;
  bottom: 0;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: auto 100%;
  content: "";
}
@media screen and (min-width: 769px) {
  .index-Separator::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: max(1920px, 100vw);
    height: max(46px, 2.3958333333vw);
    background-image: url("../../images/pc/index/bg_chara_separator.png");
  }
}
@media screen and (max-width: 768px) {
  .index-Separator::before {
    right: 0;
    left: 0;
    height: 2.34375vw;
    background-image: url("../../images/sp/index/bg_chara_separator.png");
  }
}