@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@500;700;900&family=Noto+Serif+JP:wght@400;500;700;900&display=swap");
body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0; /*font-size: 100%;font: inherit;*/
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a, a:link, button {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  outline: none !important;
  color: inherit;
}

a:hover, a:active {
  text-decoration: none;
}

b {
  font-weight: bold;
}

img,
svg {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
}

* {
  box-sizing: border-box;
  outline: 0;
}

img {
  image-rendering: -webkit-optimize-contrast;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

iframe {
  max-width: 100%;
  height: auto;
}

/* 
================================================================================
tag
================================================================================
*/
img {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  width: 100%;
  height: auto;
}

img,
input,
svg,
*:before,
*:after {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

a:hover img,
a:hover input {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
}

h1, h2, h3, h4, h5, h6 {
  text-align: left;
}

a, a:link, a:active, a:visited {
  color: inherit;
  text-decoration: none;
}

svg {
  width: 100%;
  height: auto;
}

svg g path {
  stroke: #404040;
  fill: #404040;
  stroke-width: 0.05;
  stroke-dashoffset: 0;
}

/* 
================================================================================
body
================================================================================
*/
html {
  width: 100vw;
  font-size: 16px;
}

html.scrollMode_onepage {
  overflow: hidden;
}

@media screen and (min-width: 750px) and (max-width: 960px) {
  html {
    font-size: 1.65vw;
  }
}
@media screen and (max-width: 750px) {
  html {
    font-size: 2.5vw;
  }
}
body {
  width: 100vw;
  font-family: "Noto Sans", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.84;
  letter-spacing: 0.05rem;
  text-align: center;
  overflow: hidden;
  overflow-y: auto;
  font-feature-settings: "palt";
  color: #000;
  scroll-behavior: auto;
  background: url(../img/common/bg.png) top left #000;
  background-size: 1536px;
}

body.scrollMode_onepage {
  -webkit-overflow-scrolling: touch;
}

body.modal-active {
  /* when modal active */
  touch-action: none;
  -webkit-overflow-scrolling: none;
  overflow: hidden;
  /* Other browsers */
  overscroll-behavior: none;
}

#scrollBody {
  position: relative;
  width: 100%;
  scrollbar-color: #000 #000;
}

@media screen and (max-width: 750px) {
  #scrollBody {
    overflow: hidden;
  }
}
body.scrollMode_easing #scrollBody {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  overflow-y: auto;
}

body.scrollMode_static #scrollBody {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
}

@media screen and (max-width: 750px) {
  body.scrollMode_static #scrollBody {
    overflow-x: hidden;
    overflow-y: scroll;
  }
}
/* 
================================================================================
nav
================================================================================
*/
.nav {
  position: fixed;
  width: 100%;
  height: 4rem;
  left: 0;
  bottom: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.4s cubic-bezier(0.2, 0.6, 0.4, 1), opacity 0.4s cubic-bezier(0.2, 0.6, 0.4, 1), -webkit-transform 0.4s cubic-bezier(0.2, 0.6, 0.4, 1);
  background: #000;
}

@media screen and (min-width: 750px) {
  .nav {
    height: 4rem;
  }
}
.nav__inner {
  position: relative;
  width: 40rem;
  margin: 0 auto;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 1.875rem;
}

@media screen and (min-width: 750px) {
  .nav__inner {
    width: 40rem;
  }
}
@media screen and (max-width: 750px) {
  .nav__inner {
    width: 86.6666666667vw;
    padding: 0 0 0 0;
  }
}
.lang-selector__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 2rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 1;
}

.lang-selector__btn span {
  display: block;
  color: #fff;
  font-size: 0.75rem;
  margin-left: 0.8125rem;
}

@media screen and (min-width: 750px) {
  .lang-selector__btn span {
    display: block;
    color: #fff;
    font-size: 0.875rem;
    letter-spacing: 0;
    margin-left: 0.1875rem;
  }
}
.lang-selector__list {
  position: absolute;
  left: -6.25rem;
  bottom: 3.125rem;
  padding: 1.875rem 5rem;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.1s cubic-bezier(0.2, 0.6, 0.4, 1), transform 0s linear 0.1s;
  background: #000;
}

@media screen and (max-width: 750px) {
  .lang-selector__list {
    left: 0vw;
    bottom: 9.6vw;
    padding: 4vw 10.6666666667vw;
  }
}
.lang-selector__list li {
  opacity: 0;
  transform: translate3d(-0.8333333333rem, 0, 0);
  transition: opacity 0.3s cubic-bezier(0.2, 0.6, 0.4, 1), transform 0.3s cubic-bezier(0.2, 0.6, 0.4, 1);
}

.lang-selector__list li:not(:last-child) {
  margin-bottom: 1.25rem;
}

.lang-selector__list li:nth-of-type(1) {
  transition-delay: 0s;
}

.lang-selector__list li:nth-of-type(2) {
  transition-delay: 0.1s;
}

.lang-selector__list li:nth-of-type(3) {
  transition-delay: 0.2s;
}

.lang-selector__list li:nth-of-type(4) {
  transition-delay: 0.3s;
}

.lang-selector__list.is--open {
  transform: translate3d(0, 0, 0);
  opacity: 1;
  pointer-events: visible;
  transition: opacity 0.1s cubic-bezier(0.32, 0, 0.67, 0);
}

.lang-selector__list.is--open li {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.lang-selector-item {
  display: block;
  position: relative;
  width: 100%;
  color: #fff !important;
  text-align: left;
  transition: opacity 0.2s cubic-bezier(0.2, 0.6, 0.4, 1);
}

.lang-selector-item:hover {
  opacity: 0.6;
}

.lang-selector-item span {
  position: relative;
  font-size: 1.1666666667rem;
  white-space: nowrap;
  line-height: 0.8em;
  transform: scale3d(0.9, 1, 1);
}

.lang-selector-item::after {
  position: absolute;
  display: block;
  content: " ";
  display: block;
  width: 0.5833333333rem;
  height: 0.5833333333rem;
  transform: rotate(45deg);
  border-top: 0.1666666667rem #fff solid;
  border-right: 0.1666666667rem #fff solid;
  top: 0.5833333333rem;
  left: -1.5rem;
  opacity: 0;
}

.lang-selector-item.is--cur span {
  border-bottom: 0.0833333333rem #fff solid;
}

.lang-selector-item.is--cur::after {
  opacity: 1;
}

.nav-preorder-btn {
  display: block;
  position: relative;
  background: #fff;
  width: 11.875rem;
  height: 2.5rem;
  margin-left: 4.0625rem;
}

@media screen and (max-width: 750px) {
  .nav-preorder-btn {
    width: 32vw;
    height: 5.3333333333vw;
    margin-left: 0vw;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
  }
}
.nav-preorder-btn::before {
  position: absolute;
  display: block;
  content: " ";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #c31b00;
}

.nav-preorder-btn__label {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.nav-preorder-btn__label i {
  display: block;
  position: absolute;
  right: 1.5625rem;
  top: 50%;
  margin-top: -0.5rem;
  -webkit-animation: navPreorderArrowLoop 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation: navPreorderArrowLoop 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@media screen and (max-width: 750px) {
  .nav-preorder-btn__label i {
    right: 3.4666666667vw;
    margin-top: -1.0666666667vw;
  }
}
.nav-preorder-btn__label i::after {
  position: absolute;
  display: block;
  content: " ";
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  transform: rotate(45deg);
  border-bottom: 0.1875rem #fff solid;
  border-right: 0.1875rem #fff solid;
  box-sizing: border-box;
}

.nav-preorder-btn__label img {
  width: auto;
  height: 100%;
  margin: 0 auto;
}

.nav-share {
  display: inline-block;
}

.nav-share__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0 1.125rem;
}

.nav-share-item {
  width: 1.625rem;
}

.lang-selector__btn {
  cursor: pointer;
  transition: opacity 0.2s cubic-bezier(0.2, 0.6, 0.4, 1);
}

.lang-selector__btn:hover {
  opacity: 0.6;
}

@media screen and (min-width: 750px) {
  .onlyPC {
    display: inline-block;
  }
  .onlySP {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  .onlyPC {
    display: none;
  }
  .onlySP {
    display: inline-block;
  }
}
/* 
================================================================================
swiper override
================================================================================
*/
.swiper-button-next,
.swiper-button-prev {
  position: absolute !important;
  top: 50%;
  width: 5rem;
  height: 5rem;
  margin-top: 0;
  transform: translate3d(0, -50%, 0) scale(1, 1.4);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0) rotate(-45deg);
  width: 3.125rem;
  height: 3.125rem;
  border: solid 3px #00ffff;
}

@media screen and (max-width: 750px) {
  .swiper-button-next::after,
  .swiper-button-prev::after {
    width: 6.6666666667vw;
    height: 6.6666666667vw;
  }
}
.swiper-button-next::after {
  border-top: 0;
  border-left: 0;
}

.swiper-button-prev::after {
  border-right: 0;
  border-bottom: 0;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: -5rem;
  right: auto;
}

.swiper-button-prev::after,
.swiper-rtl .swiper-button-next::after {
  color: #00ffff;
}

@media screen and (max-width: 750px) {
  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    left: -10.6666666667vw;
  }
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: -5rem;
  left: auto;
}

.swiper-button-next::after,
.swiper-rtl .swiper-button-prev::after {
  color: #00ffff;
}

@media screen and (max-width: 750px) {
  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: -10.6666666667vw;
  }
}
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: -2.5rem;
  bottom: auto;
  top: 103% !important;
  position: absolute !important;
}

.swiper-pagination-bullet {
  width: 0.9375rem;
  height: 0.9375rem;
  background: #00ffff;
  opacity: 0.2;
  margin: 0 0.625rem !important;
}

.swiper-pagination-bullet-active {
  opacity: 1;
}

.swiper::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  background: url(../img/common/icon_zoom.png) center center/contain no-repeat;
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 100;
  pointer-events: none;
}

.swiper.swiper2::after {
  display: none;
}

/* 
================================================================================
slide modal
================================================================================
*/
.modalWindow {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  z-index: 10000;
  pointer-events: none;
  opacity: 0;
  transition: opacity 500ms ease-in-out;
}

body.modalOpen .modalWindow {
  pointer-events: all;
  opacity: 1;
}

body.modalOpen .modalWindow .swiper-wrapper,
body.modalOpen .modalWindow .swiper-button-prev,
body.modalOpen .modalWindow .swiper-button-next {
  pointer-events: all;
}

.modalWindow .bgCover {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modalWindow .closeBtn {
  position: absolute;
  top: 0;
  right: -6px;
  width: 40px;
  height: 40px;
  transform: translate3d(0, -120%, 0);
}

.modalWindow .closeBtn::before, .modalWindow .closeBtn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 3px;
  background: #FFF;
}

.modalWindow .closeBtn::before {
  transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}

.modalWindow .closeBtn::after {
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
}

.modalWindow .swiperUnit {
  width: 100vw;
  left: 0%;
  margin: 0 calc(50% - 50vw);
  height: auto;
  margin-bottom: 1.875rem;
}

@media screen and (max-width: 750px) {
  .modalWindow .swiperUnit {
    height: 96vw;
    margin-bottom: 4.6666666667vw;
  }
}
.modalWindow .swiperUnit .swiperWrap {
  width: 70vw;
  max-width: 710px;
  height: auto;
  pointer-events: none;
}

@media screen and (max-width: 750px) {
  .modalWindow .swiperUnit .swiperWrap {
    width: 72vw;
  }
}
.modalWindow .swiperUnit .swiperWrap .swiper {
  width: 70vw;
  max-width: 700px;
  height: auto;
}

@media screen and (max-width: 750px) {
  .modalWindow .swiperUnit .swiperWrap .swiper {
    width: calc(72vw - 10px);
  }
}
.modalWindow .swiperUnit .swiperWrap .swiper .swiper-slide {
  height: auto;
  line-height: inherit;
  position: relative;
}

.modalWindow .swiperUnit .swiperWrap .swiper .swiper-slide::before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 100%;
}

.modalWindow .swiperUnit .swiperWrap .swiper .swiper-slide:after {
  display: none;
}

.modalWindow .swiperUnit .swiperWrap .swiper .swiper-slide img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
}

.inFrame {
  margin: 0 auto 0;
  width: 100%;
  display: block;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  height: fit-content;
}

.modalWindow .swiperWrap {
  z-index: 1;
  display: block;
  position: absolute;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.modalWindow .magatsu .swiperWrap {
  border: 5px solid #8A39E0;
}
.modalWindow .magatsu .swiperWrap .swiper-pagination-bullet {
  background: #8A39E0;
}
.modalWindow .magatsu .swiperWrap .swiper-button-next::after,
.modalWindow .magatsu .swiperWrap .swiper-button-prev::after {
  border: solid 3px #8A39E0;
}
.modalWindow .magatsu .swiperWrap .swiper-button-next::after {
  border-top: 0;
  border-left: 0;
}
.modalWindow .magatsu .swiperWrap .swiper-button-prev::after {
  border-right: 0;
  border-bottom: 0;
}
.modalWindow .ikaruga .swiperWrap {
  border: 5px solid #1354AF;
}
.modalWindow .ikaruga .swiperWrap .swiper-pagination-bullet {
  background: #1354AF;
}
.modalWindow .ikaruga .swiperWrap .swiper-button-next::after,
.modalWindow .ikaruga .swiperWrap .swiper-button-prev::after {
  border: solid 3px #1354AF;
}
.modalWindow .ikaruga .swiperWrap .swiper-button-next::after {
  border-top: 0;
  border-left: 0;
}
.modalWindow .ikaruga .swiperWrap .swiper-button-prev::after {
  border-right: 0;
  border-bottom: 0;
}
.modalWindow .kasasagi .swiperWrap {
  border: 5px solid #137EAF;
}
.modalWindow .kasasagi .swiperWrap .swiper-pagination-bullet {
  background: #137EAF;
}
.modalWindow .kasasagi .swiperWrap .swiper-button-next::after,
.modalWindow .kasasagi .swiperWrap .swiper-button-prev::after {
  border: solid 3px #137EAF;
}
.modalWindow .kasasagi .swiperWrap .swiper-button-next::after {
  border-top: 0;
  border-left: 0;
}
.modalWindow .kasasagi .swiperWrap .swiper-button-prev::after {
  border-right: 0;
  border-bottom: 0;
}

/* 
================================================================================
loader
================================================================================
*/
#loader {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #000;
  overflow: hidden;
  z-index: 50000;
  transition: all 1000ms ease 500ms;
}

body.loadingFinish #loader {
  opacity: 0;
  pointer-events: none;
}

#loader #loadingAnim {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2.5rem;
  height: 2.5rem;
  transition: all 250ms ease;
}

body.loadingAnimFinish #loader #loadingAnim {
  opacity: 0;
}

#loader #loadingCircle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -200%);
  width: 2.5rem;
  height: 2.5rem;
}

#loader #loadingCircle::before, #loader #loadingCircle::after {
  content: "";
  display: block;
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: solid 2px rgb(19, 84, 175);
  opacity: 0;
  animation-name: loading_circle;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
  animation-delay: 300ms;
}

#loader #loadingCircle::after {
  border: solid 2px rgb(19, 126, 175);
  animation-delay: 600ms;
}

@keyframes loading_circle {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}
/* 
================================================================================
KV
================================================================================
*/
#kv {
  background: url(../img/kv/bg.png) no-repeat;
  background-size: 100%;
  background-position: top center;
  margin: auto;
  height: calc(min(100vw, 1536px) / 1536 * 860);
  max-width: 1536px;
  opacity: 0;
}
#kv .magatsu {
  opacity: 0;
  position: absolute;
  width: 100%;
  max-width: 1536px;
  left: 50%;
}
#kv .kv_inner {
  position: relative;
  margin: auto;
  top: 0;
  left: 0;
  max-width: 1536px;
  height: 100%;
}
#kv .kv_inner .ikaruga {
  opacity: 0;
  position: absolute;
  top: 7%;
  right: 0;
  width: 57.944%;
}
#kv .kv_inner .kasasagi {
  opacity: 0;
  position: absolute;
  top: 24%;
  left: 9.6%;
  width: 42.123%;
}
#kv .kv_inner .name_ikaruga {
  opacity: 0;
  position: absolute;
  top: 67.5%;
  left: 55%;
  width: 36.6536%;
}
#kv .kv_inner .name_ikaruga .bg_name {
  position: relative;
  width: 100%;
  mix-blend-mode: screen;
}
#kv .kv_inner .name_ikaruga .name {
  position: absolute;
  top: 5%;
  left: 17%;
  width: 60.2131%;
}
#kv .kv_inner .name_kasasagi {
  opacity: 0;
  position: absolute;
  top: 67.4%;
  left: 13%;
  width: 36.6536%;
}
#kv .kv_inner .name_kasasagi .bg_name {
  position: relative;
  width: 100%;
  mix-blend-mode: screen;
}
#kv .kv_inner .name_kasasagi .name {
  position: absolute;
  top: 2%;
  left: 32%;
  width: 40.142%;
}
#kv .kv_inner .txt1 {
  opacity: 0;
  position: absolute;
  top: 13%;
  right: 15.5%;
  width: 4.099%;
}
#kv .kv_inner .txt1.zh {
  top: 13%;
  right: 14.5%;
  width: 4.883%;
}
#kv .kv_inner .txt2 {
  opacity: 0;
  position: absolute;
  top: 14%;
  left: 16%;
  width: 5.358%;
}
#kv .kv_inner .txt2.zh {
  top: 29.5%;
  left: 15.6%;
  width: 5.144%;
}
#kv .kv_inner .moderoid {
  opacity: 0;
  position: absolute;
  top: 68%;
  left: 50%;
  width: 11.719%;
  transform: translateX(-50%);
}
#kv .kv_inner .logo {
  opacity: 0;
  position: absolute;
  top: 2%;
  left: 11%;
  width: 21.09%;
}
#kv .kv_inner .mechasma {
  opacity: 0;
  position: absolute;
  top: 2%;
  right: 11%;
  width: 7.49%;
}

/* 
================================================================================
Movie
================================================================================
*/
#movie {
  position: relative;
  margin: auto;
  padding: 7.7% 0;
  width: 50rem;
}
#movie h2 {
  margin: 0 auto 2rem;
}
#movie h2 .movie_title {
  margin: auto;
  width: 50%;
}
#movie .movie {
  position: relative;
  margin: auto;
  width: 50rem;
  border: 2px solid #FFF;
  aspect-ratio: 16/9;
}
#movie .movie iframe {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}

/* 
================================================================================
Appear Ikaruga
================================================================================
*/
#appear {
  margin: auto;
  margin-top: 3%;
  width: 100%;
  max-width: 1536px;
}
#appear h2 {
  margin: 1.8% auto 0;
  padding: 0 0 3.5%;
  width: 100%;
  background: url("../img/appear/title_bg.png") no-repeat;
  background-size: 100%;
  background-position: center top;
}
#appear h2 .appear_title {
  margin: auto;
  width: 80%;
}
#appear .appear_unit {
  position: relative;
  margin: auto;
  width: 62.5%;
  max-width: 960px;
}
#appear .flex_wrap {
  display: flex;
  align-items: center;
}
#appear .unit1 .model01_wrap {
  position: relative;
  width: 48.855%;
}
#appear .unit1 .model01_wrap .model01 {
  width: 100%;
}
#appear .unit1 .model01_wrap .model01_height {
  position: absolute;
  top: 9%;
  left: -20%;
  width: 28.572%;
  height: fit-content;
}
#appear .unit1 .model01_txt {
  margin-left: 6%;
  width: 44.063%;
  transition: all 500ms ease;
}
#appear .unit2 {
  margin-top: 1rem;
}
#appear .unit2 .model02 {
  width: 50%;
  transition: all 500ms ease;
}
#appear .unit2 .model02_txt {
  margin: 13% 0 0 4%;
  width: 36.563%;
}
#appear .unit2 .model02_txt.zh {
  width: 30%;
}
#appear .unit2 .model02_arrow {
  position: absolute;
  top: 17%;
  left: 12.5%;
  width: 57.5%;
}
#appear .unit2 .model02_arrow.zh {
  top: 16.5%;
  left: 12.7%;
  width: 52.918%;
}
#appear .unit3 {
  margin-top: 3rem;
}
#appear .unit3 .model03 {
  width: 50%;
}
#appear .unit3 .model03_txt {
  margin: 10% 0 0 4%;
  width: 33.334%;
}
#appear .unit3 .model03_txt.zh {
  margin: 1% 0 0 4%;
  width: 18.334%;
}
#appear .unit4 {
  margin-top: 3rem;
}
#appear .unit4 .flex_wrap {
  align-items: start;
  justify-content: space-between;
}
#appear .unit4 .flex_wrap .img04 {
  flex-basis: 30.83%;
}
#appear .unit4 .flex_wrap .img04 .model04_txt {
  margin: 1.5rem 0 0 0;
  width: 58.5%;
}
#appear .unit4 .flex_wrap .img04 .model04_txt.zh {
  width: 52.5%;
}
#appear .unit4 .flex_wrap .img05 {
  flex-basis: 65%;
  text-align: left;
}
#appear .unit4 .flex_wrap .img05 .model05_txt {
  margin: 1.5rem 0 0 0;
  width: 81.5%;
}
#appear .unit4 .flex_wrap .img05 .model05_txt.zh {
  width: 67.5%;
}
#appear .unit5 {
  position: relative;
  margin-top: 2.5rem;
}
#appear .unit5 .model06 {
  position: absolute;
  top: -1rem;
  left: 0;
  width: 53.022%;
}
#appear .unit5 .model07_wrap {
  position: relative;
}
#appear .unit5 .model07_wrap .model07 {
  position: relative;
  margin-top: 12%;
  margin-left: -5%;
  width: 120.521%;
}
#appear .unit5 .model07_wrap .model07_light {
  position: absolute;
  top: 42%;
  left: -4%;
  width: 30%;
}
#appear .unit5 .model07_txt {
  position: absolute;
  top: 86%;
  left: 0;
  width: 35%;
}
#appear .unit5 .model07_txt.zh {
  width: 24.271%;
}

/* 
================================================================================
here we go!
================================================================================
*/
#hwgo {
  margin: auto;
  padding: 9rem 0;
  width: 100%;
  max-width: 1536px;
}
#hwgo h2 {
  margin: 0 auto;
  padding: 1.4rem 0 2rem;
  width: 69.99%;
  background: url("../img/hwgo/title_bg.png") no-repeat;
  background-size: 100%;
  background-position: center top;
}
#hwgo h2 .hwgo_title {
  margin: auto;
  width: 53.487%;
}
#hwgo h2 .hwgo_title.zh {
  width: 38.1385%;
}
#hwgo .hwgo_unit {
  position: relative;
  margin: auto;
  width: 84.766%;
  max-width: 1302px;
}
#hwgo .flex_wrap {
  display: flex;
  align-items: center;
}
#hwgo .unit1 .model01_wrap {
  position: relative;
  width: 100%;
}
#hwgo .unit1 .model01_wrap .model01 {
  position: relative;
  left: -5%;
  width: 57.22%;
}
#hwgo .unit1 .model01_wrap .model02 {
  position: absolute;
  top: 1%;
  left: 66%;
  width: 29.263%;
}
#hwgo .unit1 .model01_wrap .model01_txt {
  position: absolute;
  top: 41.2%;
  left: 50.3%;
  width: 24.501%;
}
#hwgo .unit1 .model01_wrap .model01_txt.zh {
  width: 21.199%;
}
#hwgo .unit3 {
  margin-top: 1rem;
}
#hwgo .unit3 .model03 {
  width: 36.867%;
}
#hwgo .unit3 .model03_txt {
  margin: 3% 3% 0 21.5%;
  width: 17.128%;
}
#hwgo .unit3 .model03_txt.zh {
  margin: 3% 8% 0 21.5%;
  width: 11.06%;
}
#hwgo .unit4 .model04_wrap {
  position: relative;
  width: 100%;
}
#hwgo .unit4 .model04_wrap .model04 {
  position: absolute;
  top: 12%;
  left: 2%;
  width: 46.929%;
}
#hwgo .unit4 .model04_wrap .model05 {
  position: relative;
  left: 42%;
  width: 50.769%;
}
#hwgo .unit4 .model05_txt {
  position: absolute;
  top: 71%;
  left: 21.5%;
  width: 21.352%;
}
#hwgo .unit4 .model05_txt.zh {
  width: 20.892%;
}

/* 
================================================================================
let's begin...
================================================================================
*/
#begin {
  position: relative;
  margin: auto;
  padding-top: 2%;
  height: 100%;
}
#begin .begin_wrap {
  position: relative;
  margin: auto;
  width: 100%;
  height: 100%;
  max-width: 1536px;
}
#begin .begin_wrap .bg {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  background: url("../img/begin/bg_begin.png") no-repeat;
  background-size: 100%;
  background-position: center top;
  transform: translateX(-50%);
  mix-blend-mode: lighten;
}
#begin .begin_wrap h2 {
  margin: 0 auto;
  padding: 1% 0 2%;
  width: 100%;
  background: url("../img/begin/title_bg.png") no-repeat;
  background-size: 100%;
  background-position: center top;
  mix-blend-mode: screen;
}
#begin .begin_wrap h2 .begin_title {
  margin: auto;
  width: 30.144%;
}
#begin .begin_wrap h2 .begin_title.zh {
  width: 25.586%;
}
#begin .begin_wrap .begin_wrap01 {
  position: relative;
  width: 100%;
  height: calc(min(100vw, 1536px) / 1536 * 1635);
}
#begin .begin_wrap .begin_wrap01 .model01 {
  opacity: 0;
  position: absolute;
  top: 12%;
  left: 19.5%;
  width: 29.948%;
}
#begin .begin_wrap .begin_wrap01 .model02 {
  opacity: 0;
  position: absolute;
  top: 12.1%;
  left: 50.2%;
  width: 29.948%;
}
#begin .begin_wrap .begin_wrap01 .model01_txt01 {
  opacity: 0;
  position: absolute;
  top: 31%;
  left: 11%;
  width: 33.008%;
}
#begin .begin_wrap .begin_wrap01 .model01_txt01.zh {
  top: 31%;
  left: 11%;
  width: 35.092%;
}
#begin .begin_wrap .begin_wrap01 .model01_txt02 {
  opacity: 0;
  position: absolute;
  top: 56.3%;
  left: 18.5%;
  width: 22.917%;
}
#begin .begin_wrap .begin_wrap01 .model01_txt02.zh {
  top: 54.3%;
  left: 18.8%;
  width: 29.818%;
}
#begin .begin_wrap .begin_wrap01 .model02_txt01 {
  opacity: 0;
  position: absolute;
  top: 43.2%;
  left: 58.5%;
  width: 23.047%;
}
#begin .begin_wrap .begin_wrap01 .model02_txt01.zh {
  top: 41.2%;
  left: 58.5%;
  width: 27.279%;
}
#begin .begin_wrap .begin_wrap01 .model02_txt02 {
  opacity: 0;
  position: absolute;
  top: 60.5%;
  left: 53%;
  width: 36.003%;
}
#begin .begin_wrap .begin_wrap01 .model02_txt02.zh {
  top: 59%;
  left: 55%;
  width: 32.487%;
}
#begin .begin_wrap .begin_wrap02 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin: -14% auto 0;
  width: 62.5%;
  gap: 2rem;
}
#begin .begin_wrap .begin_wrap02 .model_wrap .model03 {
  width: 100%;
}
#begin .begin_wrap .begin_wrap02 .model_wrap .model04 {
  width: 100%;
}
#begin .begin_wrap .begin_wrap02 .model_wrap .model03_txt,
#begin .begin_wrap .begin_wrap02 .model_wrap .model04_txt {
  display: block;
  margin-top: 0.8rem;
}
#begin .begin_wrap .begin_wrap02 .model_wrap .model03_txt {
  width: 34.485%;
}
#begin .begin_wrap .begin_wrap02 .model_wrap .model03_txt.zh {
  width: 34.485%;
}
#begin .begin_wrap .begin_wrap02 .model_wrap .model04_txt {
  width: 75.865%;
}
#begin .begin_wrap .begin_wrap02 .model_wrap .model04_txt.zh {
  width: 68.966%;
}

/* 
================================================================================
misfortune
================================================================================
*/
#misfortune {
  margin: 10% auto 0;
  width: 100%;
  max-width: 1536px;
  mix-blend-mode: lighten;
}
#misfortune .misfortune_wrap {
  padding: 8% 0 0;
  width: 100%;
  max-width: 1536px;
  background: url("../img/misfortune/bg_misfortune.png") no-repeat;
  background-size: 100%;
  background-position: center top;
}
#misfortune .misfortune_wrap h2 {
  text-align: center;
}
#misfortune .misfortune_wrap h2 .misfortune_title {
  margin: auto;
  width: 77.99%;
}
#misfortune .misfortune_wrap h2 .misfortune_title.zh {
  width: 50.782%;
}
#misfortune .misfortune_wrap .model01 {
  margin: -0.85% auto 0;
  width: 49.284%;
}
#misfortune .misfortune_wrap .model01_txt01 {
  margin: 2.5% auto 0;
  width: 34.115%;
}
#misfortune .misfortune_wrap .model01_txt01.zh {
  width: 29.623%;
}
#misfortune .misfortune_wrap .model01_txt02 {
  margin: 2% auto 0;
  width: 50.391%;
}
#misfortune .misfortune_wrap .model01_txt02.zh {
  width: 25.456%;
}
#misfortune .flex_wrap01 {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  margin: 3% auto 0;
  width: 72%;
}
#misfortune .flex_wrap01 .model02 {
  width: 54.978%;
}
#misfortune .flex_wrap01 .model02_txt {
  margin: -13% 10% 0 0;
  width: 18.447%;
}
#misfortune .flex_wrap01 .model02_txt.zh {
  margin: -7% 13.5% 0 0;
  width: 17.917%;
}
#misfortune .flex_wrap02 {
  display: flex;
  align-items: center;
  flex-direction: row;
  margin: -12% auto 0;
  width: 74.5%;
}
#misfortune .flex_wrap02 .model03 {
  width: 63.795%;
}
#misfortune .flex_wrap02 .model03_txt {
  margin: 0% 0 0 1%;
  width: 18.003%;
}
#misfortune .flex_wrap02 .model03_txt.zh {
  margin: -10% 0 0 5%;
  width: 21.459%;
}
#misfortune .final_txt {
  margin: 10% auto 0;
  width: 55.729%;
}
#misfortune .final_txt.zh {
  width: 43.555%;
}

/* 
================================================================================
product
================================================================================
*/
#product {
  position: relative;
  margin: 10% auto 0;
  padding: 5% 10.938%;
  width: 100%;
  max-width: 1536px;
  background: rgba(77, 96, 157, 0.35);
  backdrop-filter: blur(6px);
}
#product h2 .product_title {
  margin: auto;
  width: 16%;
}
#product .magatsu {
  margin: 5% auto 0;
  width: 100%;
  max-width: 1200px;
  text-align: left;
  color: #FFF;
}
#product .magatsu .slide {
  margin: auto;
  width: 100%;
  max-width: 480px;
  min-width: 0;
}
#product .magatsu .slide .swiperUnit {
  margin: 0;
  margin-bottom: 15%;
}
#product .magatsu .slide .swiperUnit .swiperWrap {
  position: relative;
  margin: auto;
  width: 100%;
  border: 5px solid #8A39E0;
}
#product .magatsu .slide .swiperUnit .swiperWrap .swiper {
  position: relative;
  height: 100%;
}
#product .magatsu .slide .swiperUnit .swiperWrap .swiper .swiper-slide {
  position: relative;
}
#product .magatsu .slide .swiperUnit .swiperWrap .swiper .swiper-slide img {
  width: 100%;
}
#product .magatsu .slide .swiperUnit .swiperWrap .swiper-pagination-bullet {
  background: #8A39E0;
}
#product .magatsu .slide .swiperUnit .swiper .swiper-slide {
  position: relative;
}
#product .magatsu .slide .swiperUnit .swiper .swiper-slide img {
  /*position: absolute;*/
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
}
#product .magatsu .slide .swiperUnit .swiper-pagination {
  pointer-events: none;
  padding-top: 0rem;
}
#product .magatsu h3 {
  margin-bottom: 3%;
}
#product .magatsu h3 .title {
  width: 100%;
}
#product .magatsu ul {
  flex-grow: 1;
  list-style: disc;
}
#product .magatsu ul li {
  margin-left: 1.5em;
  padding-left: 0em;
  font-weight: normal;
}
#product .magatsu dl {
  flex-grow: 1;
  width: 100%;
}
#product .magatsu dl .list_pair {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}
#product .magatsu dl .list_pair dt {
  font-weight: bold;
  white-space: nowrap;
}
#product .magatsu dl .list_pair dd {
  flex: 1;
  font-weight: normal;
}
#product .magatsu hr {
  margin: 1.2rem 0;
  height: 2px;
  border: none;
}
#product .magatsu .reservation {
  margin: auto;
  padding: 3% 2.636%;
  width: 100%;
  max-width: 568px;
  border: 5px solid #8A39E0;
  background: #FFF;
}
#product .magatsu .reservation .reservation_title {
  margin: 0 auto 2%;
  width: 75.325%;
}
#product .magatsu .reservation .reservation_title.zh {
  width: 70.043%;
}
#product .magatsu .reservation .present {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5%;
  width: 100%;
  font-size: 0.9rem;
  color: #000;
}
#product .magatsu .reservation .present .present_cannon {
  margin-left: 2%;
  width: 47.42%;
}
#product .magatsu .reservation .btn_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 0.8rem;
}
#product .magatsu .reservation .btn_wrap .icon_official {
  width: 6.75rem;
}
#product .magatsu .reservation .btn_wrap .btn_reservation {
  position: relative;
  display: block;
  padding: 2.382% 3.97%;
  width: 72.47%;
  background: #8A39E0;
}
#product .magatsu .reservation .btn_wrap .btn_reservation .btn_reservation_img {
  width: 100%;
}
#product .magatsu .reservation .btn_wrap .btn_reservation .reservation_arrow {
  position: absolute;
  top: 50%;
  right: 9.4%;
  transform: translate3d(0, -50%, 0);
  width: 7%;
  animation: productPreorderArrowLoop 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
#product .magatsu .reservation .direct_shipping {
  margin: 3% auto 0;
  width: 75%;
}
#product .magatsu hr {
  background: #8A39E0;
}
#product .product_glid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto;
  gap: 0 3%;
  margin: 5% auto 0;
  width: 100%;
  max-width: 1200px;
  font-size: 1rem;
  font-weight: 300;
  color: #FFF;
}
#product .product_glid .ikaruga, #product .product_glid .kasasagi {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 7;
  align-items: stretch;
  width: 100%;
  max-width: 568px;
  text-align: left;
}
#product .product_glid .ikaruga .slide, #product .product_glid .kasasagi .slide {
  width: 100%;
  min-width: 0;
}
#product .product_glid .ikaruga .slide .swiperUnit, #product .product_glid .kasasagi .slide .swiperUnit {
  margin: 0;
  margin-bottom: 15%;
}
#product .product_glid .ikaruga .slide .swiperUnit .swiperWrap, #product .product_glid .kasasagi .slide .swiperUnit .swiperWrap {
  position: relative;
  margin: auto;
  width: 88.683%;
}
#product .product_glid .ikaruga .slide .swiperUnit .swiperWrap .swiper, #product .product_glid .kasasagi .slide .swiperUnit .swiperWrap .swiper {
  position: relative;
  height: 100%;
}
#product .product_glid .ikaruga .slide .swiperUnit .swiperWrap .swiper .swiper-slide, #product .product_glid .kasasagi .slide .swiperUnit .swiperWrap .swiper .swiper-slide {
  position: relative;
}
#product .product_glid .ikaruga .slide .swiperUnit .swiperWrap .swiper .swiper-slide img, #product .product_glid .kasasagi .slide .swiperUnit .swiperWrap .swiper .swiper-slide img {
  width: 100%;
}
#product .product_glid .ikaruga .slide .swiperUnit .swiper .swiper-slide, #product .product_glid .kasasagi .slide .swiperUnit .swiper .swiper-slide {
  position: relative;
}
#product .product_glid .ikaruga .slide .swiperUnit .swiper .swiper-slide img, #product .product_glid .kasasagi .slide .swiperUnit .swiper .swiper-slide img {
  /*position: absolute;*/
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
}
#product .product_glid .ikaruga .slide .swiperUnit .swiper-pagination, #product .product_glid .kasasagi .slide .swiperUnit .swiper-pagination {
  pointer-events: none;
  padding-top: 0rem;
}
#product .product_glid .ikaruga h3, #product .product_glid .kasasagi h3 {
  margin-bottom: 3%;
}
#product .product_glid .ikaruga h3 .title, #product .product_glid .kasasagi h3 .title {
  width: 100%;
}
#product .product_glid .ikaruga ul, #product .product_glid .kasasagi ul {
  flex-grow: 1;
  list-style: disc;
}
#product .product_glid .ikaruga ul li, #product .product_glid .kasasagi ul li {
  margin-left: 1.5em;
  padding-left: 0em;
}
#product .product_glid .ikaruga dl, #product .product_glid .kasasagi dl {
  flex-grow: 1;
  width: 100%;
}
#product .product_glid .ikaruga dl .list_pair, #product .product_glid .kasasagi dl .list_pair {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}
#product .product_glid .ikaruga dl .list_pair dt, #product .product_glid .kasasagi dl .list_pair dt {
  font-weight: bold;
  white-space: nowrap;
}
#product .product_glid .ikaruga dl .list_pair dd, #product .product_glid .kasasagi dl .list_pair dd {
  flex: 1;
}
#product .product_glid .ikaruga hr, #product .product_glid .kasasagi hr {
  margin: 1.2rem 0;
  height: 2px;
  border: none;
}
#product .product_glid .ikaruga .reservation, #product .product_glid .kasasagi .reservation {
  padding: 5.636%;
  width: 100%;
  background: #FFF;
}
#product .product_glid .ikaruga .reservation .present, #product .product_glid .kasasagi .reservation .present {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5%;
  width: 100%;
  font-size: 0.9rem;
  color: #000;
}
#product .product_glid .ikaruga .reservation .present .present_cannon, #product .product_glid .kasasagi .reservation .present .present_cannon {
  margin-left: 2%;
  width: 47.42%;
}
#product .product_glid .ikaruga .reservation .btn_wrap, #product .product_glid .kasasagi .reservation .btn_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 0.8rem;
}
#product .product_glid .ikaruga .reservation .btn_wrap .icon_official, #product .product_glid .kasasagi .reservation .btn_wrap .icon_official {
  width: 6.75rem;
}
#product .product_glid .ikaruga .reservation .btn_wrap .icon_exclusive, #product .product_glid .kasasagi .reservation .btn_wrap .icon_exclusive {
  width: 15%;
}
#product .product_glid .ikaruga .reservation .btn_wrap .btn_reservation, #product .product_glid .kasasagi .reservation .btn_wrap .btn_reservation {
  position: relative;
  display: block;
  padding: 2.382% 3.97%;
  width: 72.47%;
}
#product .product_glid .ikaruga .reservation .btn_wrap .btn_reservation .btn_reservation_img, #product .product_glid .kasasagi .reservation .btn_wrap .btn_reservation .btn_reservation_img {
  width: 100%;
}
#product .product_glid .ikaruga .reservation .btn_wrap .btn_reservation .reservation_arrow, #product .product_glid .kasasagi .reservation .btn_wrap .btn_reservation .reservation_arrow {
  position: absolute;
  top: 50%;
  right: 9.4%;
  transform: translate3d(0, -50%, 0);
  width: 7%;
  animation: productPreorderArrowLoop 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
#product .product_glid .ikaruga .reservation .direct_shipping, #product .product_glid .kasasagi .reservation .direct_shipping {
  margin: 3% auto 0;
  width: 75%;
}
#product .product_glid .ikaruga .reservation .txt_exclusive, #product .product_glid .kasasagi .reservation .txt_exclusive {
  margin: 3% auto 0;
  width: 67.41%;
}
#product .product_glid .ikaruga .reservation .txt_exclusive.zh, #product .product_glid .kasasagi .reservation .txt_exclusive.zh {
  width: 34.025%;
}
#product .product_glid .ikaruga .swiperWrap {
  border: 5px solid #1354AF;
}
#product .product_glid .ikaruga .swiperWrap .swiper-pagination-bullet {
  background: #1354AF;
}
#product .product_glid .ikaruga hr {
  background: #1354AF;
}
#product .product_glid .ikaruga .reservation {
  border: 5px solid #1354AF;
}
#product .product_glid .ikaruga .reservation .reservation_title {
  margin: 0 auto 2%;
  width: 72.47%;
}
#product .product_glid .ikaruga .reservation .reservation_title.zh {
  width: 70.043%;
}
#product .product_glid .ikaruga .reservation .btn_reservation {
  background: #1354AF;
}
#product .product_glid .kasasagi .swiperWrap {
  border: 5px solid #137EAF;
}
#product .product_glid .kasasagi .swiperWrap .swiper-pagination-bullet {
  background: #137EAF;
}
#product .product_glid .kasasagi hr {
  background: #137EAF;
}
#product .product_glid .kasasagi .reservation {
  border: 5px solid #137EAF;
}
#product .product_glid .kasasagi .reservation .reservation_title {
  margin: 0 auto 2%;
  width: 55.67%;
}
#product .product_glid .kasasagi .reservation .reservation_title.zh {
  width: 55.467%;
}
#product .product_glid .kasasagi .reservation .btn_reservation {
  background: #137EAF;
}
#product .peservation_period {
  margin: 4rem auto 0;
  width: 100%;
  border: 2px solid #089D8D;
  text-align: center;
  color: #FFF;
}
#product .peservation_period h3 {
  padding: 0.5rem;
  font-size: 1.5rem;
  background: #089D8D;
  text-align: center;
}
#product .peservation_period p {
  padding: 4rem 0;
  font-size: 1.375rem;
}
#product .peservation_period p .large {
  font-size: 2rem;
}
#product .caption {
  margin: 4rem 0 0;
  color: #FFF;
  text-align: left;
}
#product .caption ul {
  margin: 0 auto 4rem;
  width: fit-content;
}
#product .caption ul li {
  font-weight: 400;
}
#product .caption .pertner_link {
  display: block;
  margin: auto;
  font-weight: 500;
  text-decoration: underline;
  text-align: center;
}

/* 
================================================================================
extra
================================================================================
*/
#extra {
  padding: 6rem 0 3rem;
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
  color: #FFF;
}
#extra p:first-child {
  margin-bottom: 1.8rem;
}

/* 
================================================================================
banenr
================================================================================
*/
#banner {
  margin-bottom: 4rem;
  padding: 1.2rem 0;
  width: 100%;
  background: #252525;
}
#banner .banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6%;
  margin: auto;
  width: 36.395%;
  min-width: 560px;
}
#banner .banner li a img {
  display: block;
}

/* 
================================================================================
================================================================================
SP
================================================================================
================================================================================
*/
@media screen and (max-width: 750px) {
  body {
    background-size: 250%;
  }
  /* 
  ================================================================================
  KV
  ================================================================================
  */
  #kv {
    position: relative;
    margin: auto;
    height: 147.1794871795vw;
    max-width: none;
    max-height: none;
    background-size: 145%;
    overflow: hidden;
  }
  #kv .magatsu {
    width: 180%;
    max-width: none;
    top: -2%;
    left: 50%;
    transform: translateX(-50%);
  }
  #kv .kv_inner {
    max-width: 100%;
  }
  #kv .kv_inner .ikaruga {
    top: 23.5%;
    right: -19%;
    width: 95.642%;
  }
  #kv .kv_inner .kasasagi {
    top: 34.2%;
    left: -9%;
    width: 70.515%;
  }
  #kv .kv_inner .name_ikaruga {
    top: 64%;
    left: 41%;
    width: 56.923%;
  }
  #kv .kv_inner .name_ikaruga .name {
    top: 5%;
    left: 17%;
    width: 79.2792%;
  }
  #kv .kv_inner .name_kasasagi {
    top: 64.5%;
    left: -4%;
    width: 56.923%;
  }
  #kv .kv_inner .name_kasasagi .name {
    top: 2%;
    left: 32%;
    width: 52.2522%;
  }
  #kv .kv_inner .txt1 {
    top: 10.5%;
    right: 5%;
    width: 9.49%;
  }
  #kv .kv_inner .txt1.zh {
    top: 10.5%;
    right: 5%;
    width: 10.515%;
  }
  #kv .kv_inner .txt2 {
    top: 15%;
    left: 4.5%;
    width: 12.568%;
  }
  #kv .kv_inner .txt2.zh {
    top: 28%;
    left: 4.5%;
    width: 11.027%;
  }
  #kv .kv_inner .moderoid {
    top: 72.5%;
    left: 50%;
    width: 45.644%;
    transform: translateX(-50%);
  }
  #kv .kv_inner .logo {
    top: 3.2%;
    left: 4.6%;
    width: 47.18%;
  }
  #kv .kv_inner .mechasma {
    top: 3%;
    right: 6.2%;
    width: 16.67%;
  }
  /* 
  ================================================================================
  Movie
  ================================================================================
  */
  #movie {
    margin: auto;
    padding: 1.5rem 0;
    width: 85vw;
  }
  #movie h2 {
    margin: 0 auto 1rem;
  }
  #movie .movie {
    position: relative;
    margin: auto;
    width: 85vw;
    aspect-ratio: 16/9;
  }
  /* 
  ================================================================================
  Appear Ikaruga
  ================================================================================
  */
  #appear h2 {
    margin: 0 auto;
    padding: 0rem 0 1rem;
    width: 100%;
    background-position: center 115%;
    background-size: 130%;
  }
  #appear h2 .appear_title {
    margin: auto;
    width: 100%;
  }
  #appear .appear_unit {
    position: relative;
    width: 89.7%;
    max-width: none;
  }
  #appear .flex_wrap {
    flex-direction: column;
    align-items: start;
  }
  #appear .unit1 .model01_wrap {
    margin: 0 0 0 6rem;
    width: 82.33%;
  }
  #appear .unit1 .model01_wrap .model01 {
    width: 100%;
  }
  #appear .unit1 .model01_wrap .model01_height {
    top: 9.5%;
    left: -18%;
    width: 28.473%;
  }
  #appear .unit1 .model01_wrap .model01_height.zh {
    top: 9.5%;
    left: -19%;
    width: 30.04%;
  }
  #appear .unit1 .model01_txt {
    margin-left: 2rem;
    width: 88.615%;
  }
  #appear .unit1 .model01_txt.zh {
    margin-left: 2rem;
    width: 88.615%;
  }
  #appear .unit2 {
    margin-top: 8rem;
  }
  #appear .unit2 .model02 {
    width: 100%;
  }
  #appear .unit2 .model02_txt {
    margin: 5rem 0 0 0;
    width: 77.319%;
  }
  #appear .unit2 .model02_txt.zh {
    width: 66.035%;
  }
  #appear .unit2 .model02_arrow {
    top: -6%;
    left: 30%;
    width: 47.17%;
  }
  #appear .unit2 .model02_arrow.zh {
    top: -5.5%;
    left: 30%;
    width: 47.17%;
  }
  #appear .unit3 .model03 {
    width: 100%;
  }
  #appear .unit3 .model03_txt {
    margin: 2rem 0 4rem 0;
    width: 71.319%;
  }
  #appear .unit3 .model03_txt.zh {
    margin: 2rem 0 3rem;
    width: 78.319%;
  }
  #appear .unit4 {
    margin-top: 0;
  }
  #appear .unit4 .onlySP {
    display: block;
  }
  #appear .unit4 .flex_wrap {
    align-items: start;
  }
  #appear .unit4 .flex_wrap .img04 .model04_txt {
    margin: 2rem 0 0 0;
    width: 35.5%;
  }
  #appear .unit4 .flex_wrap .img04 .model04_txt.zh {
    margin: 2rem 0 0;
    width: 34.319%;
  }
  #appear .unit4 .flex_wrap .img05 {
    margin-top: 4rem;
  }
  #appear .unit4 .flex_wrap .img05 .model05_txt {
    margin: 2rem 0 0 0;
    width: 89.1%;
  }
  #appear .unit4 .flex_wrap .img05 .model05_txt.zh {
    margin: 2rem 0 3rem;
    width: 92.9%;
  }
  #appear .unit5 {
    margin-top: 3rem;
  }
  #appear .unit5 .model06 {
    position: relative;
    top: 0;
    left: -10%;
    width: 82.9%;
  }
  #appear .unit5 .model07_wrap {
    margin-top: -4rem;
    position: relative;
  }
  #appear .unit5 .model07_wrap .model07 {
    position: relative;
    margin-left: 0;
    width: 99.13%;
  }
  #appear .unit5 .model07_wrap .model07_light {
    position: absolute;
    top: 39%;
    left: -1%;
    width: 30%;
  }
  #appear .unit5 .model07_txt {
    position: relative;
    margin-top: 2rem;
    width: 75.1%;
  }
  #appear .unit5 .model07_txt.zh {
    width: 53.17%;
  }
  /* 
  ================================================================================
  here we go!
  ================================================================================
  */
  #hwgo {
    padding: 9rem 0;
    width: 100%;
  }
  #hwgo h2 {
    padding: 0.5rem 0 1rem;
    width: 100%;
  }
  #hwgo h2.zh {
    padding-top: 0;
  }
  #hwgo h2 .hwgo_title {
    margin: auto;
    width: 63.5%;
  }
  #hwgo h2 .hwgo_title.zh {
    width: 53%;
  }
  #hwgo .hwgo_unit {
    width: 100%;
    max-width: none;
  }
  #hwgo .flex_wrap {
    display: block;
  }
  #hwgo .unit1 .model01_wrap {
    padding-top: 16rem;
  }
  #hwgo .unit1 .model01_wrap .model01 {
    left: 0.5rem;
    margin-top: 8%;
    width: 100%;
  }
  #hwgo .unit1 .model01_wrap .model02 {
    top: 3%;
    left: 2%;
    width: 56.925%;
  }
  #hwgo .unit1 .model01_wrap .model01_txt {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
  }
  #hwgo .unit1 .model01_wrap .model01_txt.zh {
    width: 100%;
  }
  #hwgo .unit3 {
    margin-top: 8rem;
  }
  #hwgo .unit3 .flex_wrap {
    display: flex;
    flex-direction: column-reverse;
    align-items: start;
  }
  #hwgo .unit3 .flex_wrap .model03 {
    margin: auto;
    width: 89.74%;
  }
  #hwgo .unit3 .flex_wrap .model03_txt {
    margin: 2rem 0 0 2rem;
    width: 68.72%;
  }
  #hwgo .unit3 .flex_wrap .model03_txt.zh {
    width: 47.52%;
  }
  #hwgo .unit4 .model04_wrap {
    padding-top: 4rem;
  }
  #hwgo .unit4 .model04_wrap .model04 {
    position: absolute;
    top: 12%;
    left: 3%;
    width: 50.77%;
  }
  #hwgo .unit4 .model04_wrap .model05 {
    position: relative;
    left: 38%;
    width: 55.13%;
  }
  #hwgo .unit4 .model05_txt {
    position: relative;
    margin: -2% 0 0 6%;
    top: 0;
    left: 0;
    width: 59.488%;
  }
  #hwgo .unit4 .model05_txt.zh {
    display: block;
    margin: 0 0 0 2rem;
    width: 55.9%;
  }
  /* 
  ================================================================================
  let's begin...
  ================================================================================
  */
  #begin {
    padding-top: 2%;
  }
  #begin .begin_wrap .bg {
    background-size: 140%;
  }
  #begin .begin_wrap h2 {
    padding: 1% 0 3%;
    background-size: 160%;
  }
  #begin .begin_wrap h2.zh {
    padding-top: 0;
  }
  #begin .begin_wrap h2 .begin_title {
    width: 50.565%;
  }
  #begin .begin_wrap h2 .begin_title.zh {
    width: 54.4%;
  }
  #begin .begin_wrap .begin_wrap01 {
    height: 148.7179487179vw;
  }
  #begin .begin_wrap .begin_wrap01 .model01 {
    top: 11.5%;
    left: 8.5%;
    width: 41.773%;
  }
  #begin .begin_wrap .begin_wrap01 .model02 {
    top: 10%;
    left: 51%;
    width: 43.077%;
  }
  #begin .begin_wrap .begin_wrap01 .model01_txt01 {
    top: 7.8%;
    left: 5%;
    width: 75.9%;
  }
  #begin .begin_wrap .begin_wrap01 .model01_txt01.zh {
    top: 7%;
    left: 0.5%;
    width: 76.155%;
  }
  #begin .begin_wrap .begin_wrap01 .model01_txt02 {
    top: 56.3%;
    left: 3.8%;
    width: 51.54%;
  }
  #begin .begin_wrap .begin_wrap01 .model01_txt02.zh {
    top: 53.3%;
    left: 0.5%;
    width: 65.13%;
  }
  #begin .begin_wrap .begin_wrap01 .model02_txt01 {
    top: 20.2%;
    left: 42.5%;
    width: 53.08%;
  }
  #begin .begin_wrap .begin_wrap01 .model02_txt01.zh {
    top: 16.2%;
    left: 40.5%;
    width: 60%;
  }
  #begin .begin_wrap .begin_wrap01 .model02_txt02 {
    top: 69%;
    left: 14%;
    width: 81.796%;
  }
  #begin .begin_wrap .begin_wrap01 .model02_txt02.zh {
    top: 63%;
    left: 20%;
    width: 72.823%;
  }
  #begin .begin_wrap .begin_wrap02 {
    flex-direction: column;
    margin: -25.2% auto 0;
    width: 89.7435%;
    gap: 3rem;
  }
  #begin .begin_wrap .begin_wrap02 .model_wrap .model03,
  #begin .begin_wrap .begin_wrap02 .model_wrap .model04 {
    width: 100%;
  }
  #begin .begin_wrap .begin_wrap02 .model_wrap .model03_txt,
  #begin .begin_wrap .begin_wrap02 .model_wrap .model04_txt {
    margin-top: 1.4rem;
  }
  #begin .begin_wrap .begin_wrap02 .model_wrap .model03_txt {
    width: 36.575%;
  }
  #begin .begin_wrap .begin_wrap02 .model_wrap .model03_txt.zh {
    width: 36.575%;
  }
  #begin .begin_wrap .begin_wrap02 .model_wrap .model04_txt {
    width: 80.576%;
  }
  #begin .begin_wrap .begin_wrap02 .model_wrap .model04_txt.zh {
    width: 73.15%;
  }
  /* 
  ================================================================================
  misfortune
  ================================================================================
  */
  #misfortune {
    margin: 18% auto 0;
  }
  #misfortune .misfortune_wrap {
    padding: 4.5% 0 0;
    width: 100%;
    background-size: 140%;
  }
  #misfortune .misfortune_wrap h2 .misfortune_title {
    width: 89.745%;
  }
  #misfortune .misfortune_wrap h2 .misfortune_title.zh {
    width: 56.155%;
  }
  #misfortune .misfortune_wrap .model01 {
    margin: -2% auto 0;
    width: 83.08%;
  }
  #misfortune .misfortune_wrap .model01_txt01 {
    margin: -9.5% auto 0;
    width: 81.795%;
  }
  #misfortune .misfortune_wrap .model01_txt01.zh {
    width: 70%;
  }
  #misfortune .misfortune_wrap .model01_txt02 {
    margin: 4% auto 0;
    width: 74.74%;
  }
  #misfortune .misfortune_wrap .model01_txt02.zh {
    width: 73.335%;
  }
  #misfortune .flex_wrap01 {
    flex-direction: column;
    align-items: start;
    margin: 15% auto 0;
    width: 100%;
  }
  #misfortune .flex_wrap01 .model02 {
    margin: 2rem 0 0 2rem;
    width: 89.743%;
  }
  #misfortune .flex_wrap01 .model02_txt {
    margin: 2rem 0 0 2rem;
    width: 80.77%;
  }
  #misfortune .flex_wrap01 .model02_txt.zh {
    margin: 2rem 0 0 2rem;
    width: 81.005%;
  }
  #misfortune .flex_wrap01 .model02_txt.onlySP {
    display: block;
  }
  #misfortune .flex_wrap02 {
    display: flex;
    flex-direction: column;
    align-items: start;
    margin: 10% auto 0;
    width: 100%;
  }
  #misfortune .flex_wrap02 .model03 {
    margin: 0 0 0 2rem;
    width: 89.745%;
  }
  #misfortune .flex_wrap02 .model03_txt {
    margin: 2rem 0 0 2rem;
    width: 74.102%;
  }
  #misfortune .flex_wrap02 .model03_txt.zh {
    margin: 2rem 0 0 2rem;
    width: 78.568%;
  }
  #misfortune .flex_wrap02 .model03_txt.onlySP {
    display: block;
  }
  #misfortune .final_txt {
    margin: 25% auto 0;
    width: 70%;
  }
  #misfortune .final_txt.zh {
    width: 63.85%;
  }
  /* 
  ================================================================================
  product
  ================================================================================
  */
  #product {
    margin: 20% auto 0;
    padding: 16% 0;
  }
  #product h2 .product_title {
    width: 25.384%;
  }
  #product .magatsu {
    margin: 5% auto 0;
    width: 89.745%;
    font-size: 1.64rem;
  }
  #product .magatsu .slide .swiperUnit {
    margin-bottom: 15vw;
  }
  #product .magatsu .slide .swiperUnit .swiperWrap {
    width: 100%;
  }
  #product .magatsu .slide .swiperUnit .swiperWrap .swiperUnit .swiper-pagination {
    pointer-events: none;
    padding: 0vw 6.6666666667vw;
  }
  #product .magatsu h3 {
    margin-bottom: 4%;
  }
  #product .magatsu ul {
    margin: auto;
    width: 96%;
    height: auto;
  }
  #product .magatsu ul li {
    margin-left: 1.5em;
    padding-left: 0em;
  }
  #product .magatsu dl {
    margin: auto;
    width: 88%;
    height: auto;
  }
  #product .magatsu dl .list_pair {
    gap: 1.4rem;
  }
  #product .magatsu .reservation {
    margin-top: 10%;
    padding: 5.43%;
  }
  #product .magatsu .reservation .reservation_title {
    margin: 0 auto 3%;
  }
  #product .magatsu .reservation .present {
    flex-direction: column-reverse;
    margin: 0 auto 5%;
    width: 100%;
    font-size: 1.436rem;
  }
  #product .magatsu .reservation .present .present_cannon {
    margin: 0 auto 2%;
    width: 100%;
  }
  #product .magatsu .reservation .btn_wrap {
    flex-direction: column;
  }
  #product .magatsu .reservation .btn_wrap .icon_official {
    width: 12.924rem;
  }
  #product .magatsu .reservation .btn_wrap .btn_reservation {
    padding: 2.382% 3.97%;
    width: 100%;
  }
  #product .magatsu .reservation .btn_wrap .btn_reservation .btn_reservation_img {
    width: 100%;
  }
  #product .magatsu .reservation .btn_wrap .btn_reservation .reservation_arrow {
    width: 7%;
    right: 9%;
  }
  #product .magatsu .reservation .direct_shipping {
    margin: 3% auto 0;
    width: 100%;
  }
  #product .product_glid {
    grid-template-columns: 1fr;
    gap: 0;
    margin: 10% auto 0;
    width: 89.745%;
    font-size: 1.64rem;
  }
  #product .product_glid .ikaruga, #product .product_glid .kasasagi {
    width: 100%;
    max-width: none;
  }
  #product .product_glid .ikaruga .slide .swiperUnit, #product .product_glid .kasasagi .slide .swiperUnit {
    margin-bottom: 15vw;
  }
  #product .product_glid .ikaruga .slide .swiperUnit .swiperWrap, #product .product_glid .kasasagi .slide .swiperUnit .swiperWrap {
    width: 100%;
  }
  #product .product_glid .ikaruga .slide .swiperUnit .swiper-pagination, #product .product_glid .kasasagi .slide .swiperUnit .swiper-pagination {
    pointer-events: none;
    padding: 0vw 6.6666666667vw;
  }
  #product .product_glid .ikaruga h3, #product .product_glid .kasasagi h3 {
    margin-bottom: 4%;
  }
  #product .product_glid .ikaruga ul, #product .product_glid .kasasagi ul {
    margin: auto;
    width: 96%;
    height: auto;
  }
  #product .product_glid .ikaruga ul li, #product .product_glid .kasasagi ul li {
    margin-left: 1.5em;
    padding-left: 0em;
  }
  #product .product_glid .ikaruga dl, #product .product_glid .kasasagi dl {
    margin: auto;
    width: 88%;
    height: auto;
  }
  #product .product_glid .ikaruga dl .list_pair, #product .product_glid .kasasagi dl .list_pair {
    gap: 1.4rem;
  }
  #product .product_glid .ikaruga .reservation, #product .product_glid .kasasagi .reservation {
    margin-top: 10%;
    padding: 5.43%;
  }
  #product .product_glid .ikaruga .reservation .reservation_title, #product .product_glid .kasasagi .reservation .reservation_title {
    margin: 0 auto 3%;
  }
  #product .product_glid .ikaruga .reservation .present, #product .product_glid .kasasagi .reservation .present {
    flex-direction: column-reverse;
    margin: 0 auto 5%;
    width: 100%;
    font-size: 1.436rem;
  }
  #product .product_glid .ikaruga .reservation .present .present_cannon, #product .product_glid .kasasagi .reservation .present .present_cannon {
    margin: 0 auto 2%;
    width: 100%;
  }
  #product .product_glid .ikaruga .reservation .btn_wrap, #product .product_glid .kasasagi .reservation .btn_wrap {
    flex-direction: column;
  }
  #product .product_glid .ikaruga .reservation .btn_wrap .icon_official, #product .product_glid .kasasagi .reservation .btn_wrap .icon_official {
    width: 12.924rem;
  }
  #product .product_glid .ikaruga .reservation .btn_wrap .icon_exclusive, #product .product_glid .kasasagi .reservation .btn_wrap .icon_exclusive {
    width: 6.75rem;
  }
  #product .product_glid .ikaruga .reservation .btn_wrap .btn_reservation, #product .product_glid .kasasagi .reservation .btn_wrap .btn_reservation {
    padding: 2.382% 3.97%;
    width: 100%;
  }
  #product .product_glid .ikaruga .reservation .btn_wrap .btn_reservation .btn_reservation_img, #product .product_glid .kasasagi .reservation .btn_wrap .btn_reservation .btn_reservation_img {
    width: 100%;
  }
  #product .product_glid .ikaruga .reservation .btn_wrap .btn_reservation .reservation_arrow, #product .product_glid .kasasagi .reservation .btn_wrap .btn_reservation .reservation_arrow {
    width: 7%;
    right: 9%;
  }
  #product .product_glid .ikaruga .reservation .direct_shipping, #product .product_glid .kasasagi .reservation .direct_shipping {
    margin: 3% auto 0;
    width: 100%;
  }
  #product .product_glid .ikaruga .reservation .txt_exclusive, #product .product_glid .kasasagi .reservation .txt_exclusive {
    margin: 3% auto 0;
    width: 89.075%;
  }
  #product .product_glid .ikaruga .reservation .txt_exclusive.zh, #product .product_glid .kasasagi .reservation .txt_exclusive.zh {
    width: 45.035%;
  }
  #product .product_glid .ikaruga {
    margin-bottom: 10rem;
  }
  #product .product_glid .ikaruga .swiperWrap {
    border: 5px solid #1354AF;
  }
  #product .product_glid .ikaruga .swiperWrap .swiper-pagination-bullet {
    background: #1354AF;
  }
  #product .product_glid .ikaruga hr {
    background: #1354AF;
  }
  #product .product_glid .ikaruga .reservation {
    border: 5px solid #1354AF;
  }
  #product .product_glid .ikaruga .reservation .reservation_title {
    width: 100%;
  }
  #product .product_glid .ikaruga .reservation .reservation_title.zh {
    width: 100%;
  }
  #product .product_glid .ikaruga .reservation .btn_reservation {
    background: #1354AF;
  }
  #product .product_glid .kasasagi {
    margin-bottom: 1rem;
  }
  #product .product_glid .kasasagi .swiperWrap {
    border: 5px solid #137EAF;
  }
  #product .product_glid .kasasagi .swiperWrap .swiper-pagination-bullet {
    background: #137EAF;
  }
  #product .product_glid .kasasagi hr {
    background: #137EAF;
  }
  #product .product_glid .kasasagi .reservation {
    border: 5px solid #137EAF;
  }
  #product .product_glid .kasasagi .reservation .reservation_title {
    width: 88.415%;
  }
  #product .product_glid .kasasagi .reservation .reservation_title.zh {
    width: 88.08%;
  }
  #product .product_glid .kasasagi .reservation .btn_reservation {
    background: #137EAF;
  }
  #product .peservation_period {
    margin: 3rem auto 0;
    width: 89.7435%;
  }
  #product .peservation_period h3 {
    padding: 0.5rem;
    font-size: 1.5rem;
  }
  #product .peservation_period p {
    padding: 1.5rem 0;
    font-size: 1.375rem;
    align-items: center;
  }
  #product .peservation_period p .vertical {
    display: block;
    margin: auto;
    writing-mode: vertical-rl;
  }
  #product .peservation_period p .large {
    font-size: 2rem;
  }
  #product .caption {
    margin: 4rem auto 0;
    width: 89.7435%;
    font-size: 1.4359rem;
  }
  #product .caption ul {
    margin: 0 auto 4rem;
    width: 100%;
  }
  #product .caption .pertner_link {
    text-align: left;
  }
  /* 
  ================================================================================
  extra
  ================================================================================
  */
  #extra {
    padding: 6rem 1rem 3rem;
    font-size: 1.4359rem;
    font-weight: 400;
    text-align: center;
    color: #FFF;
  }
  #extra p:first-child {
    margin: 0 auto 1.8rem 1.4359rem;
    margin-bottom: 1.8rem;
    padding-left: -1.4359rem;
    width: 92%;
    text-align: left;
    text-indent: -1.4359rem;
  }
  /* 
  ================================================================================
  banenr
  ================================================================================
  */
  #banner {
    margin-bottom: 4rem;
    padding: 3rem 0;
    width: 100%;
    background: #252525;
  }
  #banner .banner {
    gap: 4%;
    width: 89.7435%;
    min-width: auto;
  }
}
/* 
================================================================================
animations
================================================================================
*/
/* フェードイン */
.fadein {
  opacity: 0;
  transition: all 500ms ease-out;
}

.fadein.is--stby--in {
  opacity: 1;
}

/* 上りながらフェードイン */
.fadein_up {
  opacity: 0;
  transform: translateY(4rem);
  transition: all 500ms ease-out;
}

.fadein_up.is--stby--in {
  opacity: 1;
  transform: translateY(0);
}

/* 左からフェードイン */
.fadein_from_left {
  opacity: 0;
  transform: translateX(-50%);
  transition: all 500ms ease-out;
}

.fadein_from_left.is--stby--in {
  opacity: 1;
  transform: translateX(0);
}

/* 右からフェードイン */
.fadein_from_right {
  opacity: 0;
  transform: translateX(50%);
  transition: all 500ms ease-out;
}

.fadein_from_right.is--stby--in {
  opacity: 1;
  transform: translateX(0);
}

/* model07剣部分光 */
.sword_light {
  opacity: 0;
  transform: scale(0) rotate(-120deg);
  transition: all 700ms ease-out;
}

.sword_light.is--stby--in {
  opacity: 1;
  transform: scale(1) rotate(0);
}

/* 始めましょうかアニメ */
#begin.is--stby--in .bg {
  animation: begin_bg_anim 4s forwards;
}
#begin.is--stby--in .model01 {
  animation: begin_model01_anim 4s forwards;
}
#begin.is--stby--in .model02 {
  animation: begin_model02_anim 4s forwards;
}
#begin.is--stby--in .model01_txt01 {
  animation: begin_txt01_anim 4s forwards;
}
#begin.is--stby--in .model01_txt02 {
  animation: begin_txt03_anim 4s forwards;
}
#begin.is--stby--in .model02_txt01 {
  animation: begin_txt02_anim 4s forwards;
}
#begin.is--stby--in .model02_txt02 {
  animation: begin_txt04_anim 4s forwards;
}

@keyframes begin_bg_anim {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes begin_model01_anim {
  0% {
    opacity: 0;
    transform: translateY(-6rem);
  }
  10% {
    opacity: 0;
    transform: translateY(-6rem);
  }
  15% {
    opacity: 1;
  }
  45% {
    opacity: 1;
    transform: translateY(-1rem);
  }
  46% {
    opacity: 1;
    transform: translateY(0rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0rem);
  }
}
@keyframes begin_model02_anim {
  0% {
    opacity: 0;
    transform: translateY(6rem);
  }
  10% {
    opacity: 0;
    transform: translateY(6rem);
  }
  15% {
    opacity: 1;
  }
  45% {
    opacity: 1;
    transform: translateY(1rem);
  }
  46% {
    opacity: 1;
    transform: translateY(0rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0rem);
  }
}
@keyframes begin_txt01_anim {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 0;
  }
  35% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes begin_txt02_anim {
  0% {
    opacity: 0;
  }
  40% {
    opacity: 0;
  }
  45% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes begin_txt03_anim {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  55% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes begin_txt04_anim {
  0% {
    opacity: 0;
  }
  60% {
    opacity: 0;
  }
  65% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
/* 禍となるアニメ */
#misfortune {
  opacity: 0;
}
#misfortune h2 {
  clip-path: inset(0 100% 0 0);
}

#misfortune.is--stby--in {
  animation: misfortune_bg_anim 4s forwards;
}
#misfortune.is--stby--in h2 {
  animation: misfortune_title_anim 4s forwards;
}
#misfortune.is--stby--in .model01 {
  animation: misfortune_model01_anim 4s forwards;
}
#misfortune.is--stby--in .model01_txt01 {
  animation: misfortune_txt_anim 4s forwards;
}
#misfortune.is--stby--in .model01_txt02 {
  animation: misfortune_txt_anim 4s forwards;
}

@keyframes misfortune_bg_anim {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes misfortune_title_anim {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  11% {
    clip-path: inset(0 100% 0 0);
  }
  30% {
    clip-path: inset(0);
  }
  100% {
    clip-path: inset(0);
  }
}
@keyframes misfortune_model01_anim {
  0% {
    opacity: 0;
    transform: translateY(-3rem);
  }
  30% {
    opacity: 0;
    transform: translateY(-3rem);
  }
  55% {
    opacity: 1;
    transform: translateY(0rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0rem);
  }
}
@keyframes misfortune_txt_anim {
  0% {
    opacity: 0;
    transform: translateY(3rem);
  }
  60% {
    opacity: 0;
    transform: translateY(3rem);
  }
  75% {
    opacity: 1;
    transform: translateY(0rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0rem);
  }
}
/* ボタン　＞ */
@keyframes productPreorderArrowLoop {
  0% {
    transform: translate3d(0, -50%, 0);
  }
  50% {
    transform: translate3d(0, -50%, 0);
  }
  60% {
    transform: translate3d(0.4166666667rem, -50%, 0);
  }
  70% {
    transform: translate3d(0, -50%, 0);
  }
  80% {
    transform: translate3d(0.4166666667rem, -50%, 0);
  }
  90% {
    transform: translate3d(0, -50%, 0);
  }
  100% {
    transform: translate3d(0, -50%, 0);
  }
}
/* loading終了時 */
body.loadingFinish #kv {
  animation: kv_bg_anim 5s 500ms forwards;
}
body.loadingFinish #kv .logo_in {
  animation: logo_in_anim 5s 500ms forwards;
}
body.loadingFinish #kv .magatsu_in {
  animation: magatsu_in_anim 5s 500ms forwards;
}
body.loadingFinish #kv .robo_in {
  animation: robo_in_anim 5s 500ms forwards;
}
body.loadingFinish #kv .text_in {
  animation: text_in_anim 5s 500ms forwards;
}
body.loadingFinish #kv .name_in {
  animation: name_in_anim 5s 500ms forwards;
}

@keyframes kv_bg_anim {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes logo_in_anim {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes text_in_anim {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0;
  }
  45% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes magatsu_in_anim {
  0% {
    opacity: 0;
  }
  40% {
    opacity: 0;
  }
  55% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes robo_in_anim {
  0% {
    opacity: 0;
  }
  60% {
    opacity: 0;
  }
  88% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes name_in_anim {
  0% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}/*# sourceMappingURL=main.css.map */