@charset "UTF-8";
/* --------------------------------------------------------------------------------
 * web fonts
-------------------------------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;400;500;700;&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap&subset=japanese");
/**
* 1366pxから1920pxにかけて、徐々に拡大していく計算
* width: calculateY(1000, 0.1) + px;
* のように使う。第二引数は省略可。デフォルトは0.1
*/
/* ----------------------------------------------------------------------
 reset (exculding 'sup')
---------------------------------------------------------------------- */
html, 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, sub, 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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block;
}

input, textarea {
  margin: 0;
  padding: 0;
}

ol, ul {
  list-style: none;
}

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

caption, th {
  text-align: left;
}

img {
  vertical-align: middle;
}

/* ----------------------------------------------------------------------
 basic setting
---------------------------------------------------------------------- */
@media only screen and (min-width: 751px) {
  html {
    overflow-y: scroll;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #212121;
  line-height: 1.5;
  /*
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  */
}
@media (hover: hover) {
  body {
    cursor: none;
  }
}

body * {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
}

input, button, textarea, select {
  color: #212121;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
}

textarea {
  vertical-align: top;
}

*:focus {
  outline: none;
}

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

a {
  cursor: none;
}

/* ----------------------------------------------------------------------
 common class
---------------------------------------------------------------------- */
@media only screen and (min-width: 751px) {
  .pc-non {
    display: none !important;
  }
}
@media only screen and (max-width: 750px) {
  .sp-non {
    display: none !important;
  }
}
.mb0 {
  margin-bottom: 0;
}

.tCenter {
  text-align: center;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.telLink {
  color: inherit;
  text-decoration: none;
}
@media only screen and (min-width: 751px) {
  .telLink {
    pointer-events: none;
  }
}

.wrapper {
  width: 1200px;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .wrapper {
    width: auto;
  }
}

.hover-opacity {
  transition: 0.3s;
}
@media only screen and (min-width: 751px) {
  .hover-opacity:hover {
    opacity: 0.7;
  }
}

.hoverTxt {
  text-decoration: none;
  color: inherit;
}
.hoverTxt:hover {
  text-decoration: underline;
}

.require {
  display: inline-block;
  background-color: #d44629;
  color: #fff;
  font-size: 1.4rem;
  padding: 3px 5px;
  border-radius: 4px;
  margin-left: 5px;
}

.mix-shadow {
  position: relative;
  display: inline-block;
}
.mix-shadow img:nth-child(1) {
  position: relative;
  z-index: 2;
}
.mix-shadow img:nth-child(2) {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  z-index: 1;
  mix-blend-mode: screen;
}

.twincle-line {
  position: relative;
  height: 130px;
}
.twincle-line .item {
  width: 1px;
  height: 100%;
  display: block;
  background: rgba(255, 255, 255, 0.2);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  overflow: hidden;
  animation: scrollAnim 3.5s cubic-bezier(0.85, 0, 0.15, 1) forwards infinite;
}
.twincle-line .item:after {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 60px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0, #fff 100%);
  bottom: 0;
  left: 0;
}

.color-blue {
  color: #24327d;
}

p a {
  color: #2F41A3;
  text-decoration: underline;
}

.playbar {
  width: 19px;
  height: 4px;
  position: relative;
  display: inline-block;
  display: flex;
  justify-content: space-between;
}
.playbar .bar-item {
  width: 1px;
  height: 4px;
  background: #fff;
  transform-origin: center center;
}
.playbar.is-playing .bar-item:nth-child(1) {
  animation: soundbar 0.8s linear infinite;
  animation-delay: 0.1s;
}
.playbar.is-playing .bar-item:nth-child(2) {
  animation: soundbar 1s linear infinite;
  animation-delay: 0.25s;
}
.playbar.is-playing .bar-item:nth-child(3) {
  animation: soundbar 1.7s linear infinite;
  animation-delay: 0.49s;
}
.playbar.is-playing .bar-item:nth-child(4) {
  animation: soundbar 1.2s linear infinite;
  animation-delay: 0.15s;
}
.playbar.is-playing .bar-item:nth-child(5) {
  animation: soundbar 0.8s linear infinite;
  animation-delay: 0.31s;
}

.hover-change {
  position: relative;
}
.hover-change img {
  vertical-align: top;
  position: relative;
  z-index: 2;
  transition: opacity 0.3s;
}
.hover-change img:nth-child(2) {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .hover-change:hover img:nth-child(1) {
    opacity: 0;
  }
  .hover-change:hover img:nth-child(2) {
    opacity: 1;
  }
}

/* ----------------------------------------------------------------------
 Button
---------------------------------------------------------------------- */
.overflow-hidden {
  overflow: hidden;
  padding-bottom: 4.2vw;
}
@media only screen and (max-width: 750px) {
  .overflow-hidden {
    padding-bottom: 8.2vw;
  }
}

.header {
  position: fixed;
  z-index: 100;
  width: 70px;
  height: 100%;
  top: 0px;
  left: 0px;
  border-right: 1px solid #fff;
}
@media only screen and (max-width: 750px) {
  .header {
    border-style: none;
    width: 44px;
    z-index: 1010;
  }
}
.header__inner {
  width: 70px;
  height: 100%;
  background: linear-gradient(#2576ca, #2f41a3);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0 14px 30px;
}
@media only screen and (max-width: 750px) {
  .header__inner {
    background: transparent;
    padding: 0;
    width: auto;
  }
}
.headerTop {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 751px) {
  .headerTop {
    flex: 1;
  }
}
@media only screen and (max-width: 750px) {
  .headerTop {
    background: linear-gradient(#2576ca, #2f41a3);
    width: 44px;
    height: 44px;
    display: none;
  }
}
.header .menu {
  width: 28px;
  height: 15px;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .header .menu {
    height: 10px;
  }
}
.header .menu span {
  display: block;
  height: 1px;
  width: 100%;
  background-color: #fff;
  position: absolute;
  transition: 0.4s;
}
.header .menu span:nth-child(1) {
  top: 0px;
  left: 0px;
}
.header .menu span:nth-child(2) {
  bottom: 0px;
  left: 0px;
}
.header .menu.is-active span:nth-child(1) {
  transform: rotate(30deg);
  top: 7px;
}
.header .menu.is-active span:nth-child(2) {
  transform: rotate(-30deg);
  bottom: 7px;
}
.headerBottom {
  width: 100%;
}
@media only screen and (max-width: 750px) {
  .headerBottom {
    position: absolute;
    bottom: 0px;
    left: 0px;
  }
}
.headerBottom__icons {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 28px;
  position: relative;
}
.headerBottom__icons:after {
  content: "";
  background-color: #fff;
  opacity: 0.7;
  transform: scaleY(0.6);
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 1px;
}
@media only screen and (max-width: 750px) {
  .headerBottom__icons {
    position: fixed;
    z-index: 100;
    top: 2.7397260274vw;
    right: 3.2876712329vw;
    flex-direction: row;
    border-style: none;
    padding: 0;
  }
  .headerBottom__icons:after {
    display: none;
  }
}
.headerBottom__icons li {
  margin-top: 16px;
}
.headerBottom__icons li:first-child {
  margin-top: 0;
}
@media only screen and (max-width: 750px) {
  .headerBottom__icons li {
    margin: 0 0 0 2.7397260274vw;
  }
  .headerBottom__icons li img {
    line-height: 1;
    vertical-align: top;
  }
}
.headerBottom__sound {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 750px) {
  .headerBottom__sound {
    margin-bottom: 20px;
    margin-top: 0;
  }
}
.headerBottom__sound .text img {
  width: 10px;
}
.headerBottom__sound .playbar {
  margin-top: 18px;
}
@media only screen and (max-width: 750px) {
  .header.is-open .menu {
    height: 15px;
  }
  .header.is-open .headerBottom {
    display: none;
  }
  .header.is-open .headerTop {
    background: none;
    background-color: transparent;
  }
}

.mega {
  position: fixed;
  top: 0px;
  left: 70px;
  width: calc(100% - 70px);
  height: 100%;
  z-index: 1000;
  overflow: hidden;
  visibility: hidden;
}
@media only screen and (max-width: 750px) {
  .mega {
    width: 100%;
    left: 0px;
  }
}
.mega__inner {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: flex;
}
.mega__left {
  width: 24.6111111111vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #0c1933;
  padding-left: 6.6666666667vw;
  position: relative;
  z-index: 2;
  transform: translateX(-100%);
  transition: transform 0.4s ease-in-out;
}
@media only screen and (max-width: 750px) {
  .mega__left {
    width: 76%;
    padding-left: 10.9589041096vw;
  }
}
.mega__navi li {
  margin-bottom: 1.7777777778vw;
  display: flex;
  align-items: center;
}
.mega__navi li img {
  width: auto;
  height: 0.7222222222vw;
}
@media only screen and (max-width: 750px) {
  .mega__navi li img {
    height: 12px;
  }
}
.mega__navi li:before {
  content: "";
  background: url(../img/menu/icon_star.png) no-repeat center/contain;
  width: 0.5555555556vw;
  height: 0.7777777778vw;
  display: block;
  margin-right: 0.5555555556vw;
  position: relative;
  top: -0.5vw;
}
@media only screen and (max-width: 750px) {
  .mega__navi li:before {
    width: 6px;
    height: 10px;
    top: -6px;
    margin-right: 8px;
  }
}
.mega__subnavi {
  margin-top: 0.4444444444vw;
  padding-top: 1.6666666667vw;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .mega__subnavi {
    padding-top: 24px;
  }
}
.mega__subnavi:before {
  content: "";
  background-color: #fff;
  opacity: 0.7;
  transform: scaleY(0.6);
  position: absolute;
  top: 0px;
  left: 0px;
  width: 2.2222222222vw;
  height: 1px;
}
@media only screen and (max-width: 750px) {
  .mega__subnavi:before {
    width: 30px;
  }
}
.mega__subnavi li {
  font-size: 11px;
  margin-top: 0.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .mega__subnavi li {
    font-size: 10px;
    margin-top: 6px;
  }
}
.mega__subnavi a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s;
}
@media (hover: hover) {
  .mega__subnavi a:hover {
    color: #2e43a3;
  }
}
.megaFollow {
  display: flex;
  align-items: center;
  margin-top: 1.7777777778vw;
}
@media only screen and (max-width: 750px) {
  .megaFollow {
    margin-top: 25px;
  }
}
.megaFollow__left {
  margin-right: 1.2222222222vw;
  position: relative;
  top: 0.2vw;
}
@media only screen and (max-width: 750px) {
  .megaFollow__left {
    margin-right: 10px;
    top: 3px;
  }
}
.megaFollow__left img {
  width: auto;
  height: 0.6111111111vw;
  vertical-align: top;
}
@media only screen and (max-width: 750px) {
  .megaFollow__left img {
    height: 6px;
  }
}
.megaFollow__list {
  display: flex;
  align-items: center;
}
.megaFollow__list li {
  margin-right: 0.8888888889vw;
}
@media only screen and (max-width: 750px) {
  .megaFollow__list li {
    margin-right: 10px;
  }
}
.megaFollow__list li img {
  width: auto;
  height: 0.9444444444vw;
}
@media only screen and (max-width: 750px) {
  .megaFollow__list li img {
    height: 12px;
  }
}
.mega__right {
  background-color: rgba(8, 21, 48, 0.78);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  position: absolute;
  top: 0px;
  right: 0px;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}
.mega.is-active {
  visibility: visible;
}
.mega.is-active .mega__inner .mega__left {
  transform: translateX(0%);
}
.mega.is-active .mega__inner .mega__right {
  opacity: 1;
}

.container {
  width: calc(100% - 70px);
  margin-left: 70px;
}
@media only screen and (max-width: 750px) {
  .container {
    margin: 0;
    width: auto;
  }
}

.globalnavi {
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 80;
  padding-top: 30px;
  padding-right: 45px;
}
@media only screen and (max-width: 750px) {
  .globalnavi {
    display: none;
  }
}
.globalnavi ul {
  display: flex;
}
.globalnavi ul li {
  margin-left: 0.9444444444vw;
}
.globalnavi ul li img {
  width: auto;
  height: 0.5555555556vw;
}

.topLight {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  z-index: 20;
}

.logo {
  position: absolute;
  width: 7.4444444444vw;
  top: 1.3888888889vw;
  left: calc(70px + 1.7777777778vw);
  z-index: 90;
  opacity: 0;
  filter: blur(8px);
  transition: opacity 1s ease-in-out, filter 1s ease-in-out;
  transition-delay: 0.2s;
}
@media only screen and (max-width: 750px) {
  .logo {
    display: none;
  }
}
.logo.is-active {
  opacity: 1;
  filter: blur(0px);
}

.mv {
  position: relative;
  filter: blur(8px);
  transition: filter 2s ease-in-out;
  overflow: hidden;
}
.mv.is-movie {
  filter: blur(0px);
}
.mv .light {
  pointer-events: none;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 110%;
  z-index: 3;
  mix-blend-mode: screen;
  pointer-events: none;
}
.mv .light img {
  max-width: initial;
  width: auto;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  animation: mvLight 19s ease-out infinite;
  transform-origin: top left;
}
.mv .light img:nth-child(2) {
  animation: mvLight 17s ease-out infinite;
}
.mv .light img:nth-child(3) {
  animation: mvLight 40s ease-out infinite;
}
@media only screen and (max-width: 750px) {
  .mv .light {
    display: none;
  }
}
.mv__text-01 {
  width: 4.1666666667vw;
  position: absolute;
  left: 44.9vw;
  top: 24.1vw;
  opacity: 0;
  filter: blur(8px);
  transition: opacity 1s ease-in-out, filter 1s ease-in-out;
  transition-delay: 0.4s;
}
.mv__text-01.is-active {
  opacity: 1;
  filter: blur(0px);
}
@media only screen and (max-width: 750px) {
  .mv__text-01 {
    width: 33.9726027397vw;
    left: 15vw;
    top: 24.3vw;
    display: none;
  }
}
.mv__text-02 {
  width: 8.4444444444vw;
  position: absolute;
  left: 3.8888888889vw;
  top: 49.7222222222vw;
}
@media only screen and (max-width: 750px) {
  .mv__text-02 {
    display: none;
  }
}
.mv__text-03 {
  width: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 6vw;
}
.mv__text-03 .text-01 img {
  width: 65.3333333333vw;
}
.mv__text-03 .text-02 {
  margin-top: 2.2222222222vw;
}
.mv__text-03 .text-02 img {
  width: 13.3888888889vw;
}
.mv__text-03 .text-03 {
  margin-top: 1.6666666667vw;
}
.mv__text-03 .text-03 img {
  width: 21.1111111111vw;
}
.mv__text-03 .text-04 {
  margin-top: 1.3333333333vw;
}
.mv__text-03 .text-04 img {
  width: 15.2222222222vw;
}
@media only screen and (max-width: 750px) {
  .mv__text-03 {
    left: auto;
    bottom: 7.9452054795vw;
  }
  .mv__text-03 img {
    width: 84.5205479452vw;
  }
}
.mv__dog {
  position: absolute;
  width: 14.8333333333vw;
  top: 55.5555555556vw;
  left: 16.46vw;
  z-index: 2;
}
@media only screen and (max-width: 750px) {
  .mv__dog {
    display: none;
  }
}
.mv__kiji {
  position: absolute;
  width: 11.9444444444vw;
  top: 24.1666666667vw;
  left: 64.8888888889vw;
  z-index: 2;
  opacity: 0;
  filter: blur(8px);
  transition: opacity 1s ease-in-out, filter 1s ease-in-out;
  transition-delay: 0.6s;
}
.mv__kiji.is-active {
  opacity: 1;
  filter: blur(0px);
}
@media only screen and (max-width: 750px) {
  .mv__kiji {
    display: none;
  }
}
.mv__monkey {
  position: absolute;
  width: 14.8888888889vw;
  top: 57.1666666667vw;
  left: 60.7777777778vw;
  z-index: 2;
}
@media only screen and (max-width: 750px) {
  .mv__monkey {
    display: none;
  }
}
.mv__sp {
  padding: 8.2191780822vw 0 9.8630136986vw;
  text-align: center;
  background-color: #071127;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 751px) {
  .mv__sp {
    display: none;
  }
}
.mv__sp img {
  width: 74.5205479452vw;
}
.mv .flower {
  position: absolute;
  bottom: 0px;
  right: 0px;
  width: 23.8888888889vw;
}
@media only screen and (max-width: 750px) {
  .mv .flower {
    display: none;
  }
}

.floatmovie {
  position: fixed;
  width: 12.7777777778vw;
  right: 15px;
  bottom: 20px;
  z-index: 10;
}
@media only screen and (max-width: 750px) {
  .floatmovie {
    display: none;
  }
}

@media (hover: hover) {
  .hotaru {
    display: block;
    position: fixed;
    z-index: 3000;
    width: 16.6666666667vw;
    height: 16.6666666667vw;
    margin: -8.3333333333vw 0 0 -8.3333333333vw;
    pointer-events: none;
    transition: opacity 0.4s ease-in-out;
    opacity: 0;
    mix-blend-mode: screen;
  }
}
@media (hover: none) {
  .hotaru {
    display: none !important;
  }
}

.story {
  background: url(../img/pattern_blue.png) repeat center/4px auto;
  position: relative;
  height: 700vh;
}
.story__scroll {
  position: relative;
}
.story__cloud {
  position: absolute;
  width: calc(100% + 70px);
  left: -70px;
  top: 0px;
  mix-blend-mode: multiply;
}
.story__inner {
  position: sticky;
  z-index: 3;
  top: 0px;
  height: 100vh;
  overflow: hidden;
}
.story__top {
  padding-top: 20vh;
  padding-left: 16.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .story__top {
    padding-top: 30vw;
    padding-left: 0;
  }
}
.story__title {
  transition: opacity 0.4s ease-in-out;
  opacity: 0;
}
@media only screen and (min-width: 751px) {
  .story__title img {
    width: auto;
    height: 8.1111111111vh;
  }
}
.story__title.is-active {
  opacity: 1;
}
@media only screen and (max-width: 750px) {
  .story__title {
    width: 58.0821917808vw;
    margin-left: 8.904109589vw;
  }
}
.story__subtitle {
  margin-top: 7.6666666667vh;
  transition: opacity 0.4s ease-in-out 0.2s;
  opacity: 0;
}
@media only screen and (min-width: 751px) {
  .story__subtitle img {
    width: auto;
    height: 4vh;
  }
}
.story__subtitle.is-active {
  opacity: 1;
}
@media only screen and (max-width: 750px) {
  .story__subtitle {
    width: 76.9863013699vw;
    margin-top: 10.9589041096vw;
    margin-left: 8.904109589vw;
  }
}
.story__text {
  margin-top: 5vh;
  margin-bottom: 2.7777777778vw;
  transition: opacity 0.4s ease-in-out 0.4s;
  opacity: 0;
}
@media only screen and (min-width: 751px) {
  .story__text img {
    width: auto;
    height: 35.3333333333vh;
  }
}
.story__text.is-active {
  opacity: 1;
}
@media only screen and (max-width: 750px) {
  .story__text {
    width: 81.095890411vw;
    margin-bottom: 24px;
    margin-top: 6.8493150685vw;
    margin-left: 8.904109589vw;
  }
}
.story__db {
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}
.story__db.is-active {
  opacity: 1;
}
.story .twincle-line {
  margin-top: 7.2222222222vw;
  margin-bottom: 2.7777777778vw;
}
@media only screen and (max-width: 750px) {
  .story .twincle-line {
    margin: 24px 0;
  }
}
.story__read {
  text-align: center;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}
.story__read.is-active {
  opacity: 1;
}
.story__read div + div {
  margin-top: 2.1111111111vw;
}
@media only screen and (max-width: 750px) {
  .story__read div + div {
    margin-top: 5.2054794521vw;
  }
}
.story__read img {
  width: auto;
  height: 2vw;
}
@media only screen and (max-width: 750px) {
  .story__read img {
    height: 4.9315068493vw;
  }
}
.storyList {
  width: 62vw;
  margin: 0 auto 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.storyList__wrapper {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
@media only screen and (max-width: 750px) {
  .storyList {
    width: 64%;
    margin: 0 auto 0;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.storyList__item {
  width: 13vw;
  position: relative;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
}
.storyList__item.is-active {
  opacity: 1;
  visibility: visible;
}
@media only screen and (max-width: 750px) {
  .storyList__item {
    width: 48%;
  }
}
@media only screen and (min-width: 751px) {
  .storyList__item:nth-child(2) {
    margin-top: 2.7777777778vw;
  }
  .storyList__item:nth-child(3) {
    margin-top: 5.5555555556vw;
  }
  .storyList__item:nth-child(4) {
    margin-top: 8.3333333333vw;
  }
}
@media only screen and (max-width: 750px) {
  .storyList__item {
    position: relative;
  }
  .storyList__item:nth-child(2) {
    top: 10.9589041096vw;
  }
  .storyList__item:nth-child(4) {
    top: 10.9589041096vw;
  }
}
.storyList__item .img,
.storyList__item .btn {
  position: relative;
}
.storyList__item .img img:nth-child(1),
.storyList__item .btn img:nth-child(1) {
  position: relative;
  z-index: 2;
}
.storyList__item .img img:nth-child(2),
.storyList__item .btn img:nth-child(2) {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
  width: 100%;
  display: none;
}
@media (hover: hover) {
  .storyList__item:hover .img img:nth-child(1),
  .storyList__item:hover .btn img:nth-child(1) {
    display: none;
  }
  .storyList__item:hover .img img:nth-child(2),
  .storyList__item:hover .btn img:nth-child(2) {
    display: block;
    position: relative;
  }
}
.storyList__item .btn {
  width: 6vw;
  position: absolute;
  bottom: -3vw;
  left: -2.3333333333vw;
  z-index: 2;
}
@media only screen and (max-width: 750px) {
  .storyList__item .btn {
    width: 15.6164383562vw;
    left: -4.8vw;
  }
}
.story__loop {
  margin-top: -4.7222222222vw;
  padding: 0 4.1666666667vw;
  position: absolute;
  width: 100%;
  bottom: 8.8888888889vw;
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
}
.story__loop.is-active {
  opacity: 1;
}
@media only screen and (max-width: 750px) {
  .story__loop {
    margin-top: 90px;
    padding: 0 4.4%;
  }
}
.story__glass {
  position: absolute;
  right: 5.2vw;
  top: 0;
  display: flex;
  align-items: center;
  width: 42.9444444444vw;
  height: 100dvh;
  z-index: 1;
  opacity: 0.4;
  transition: opacity 0.4s ease-in-out;
  pointer-events: none;
}
.story__glass.is-show {
  opacity: 1;
}
@media only screen and (max-width: 750px) {
  .story__glass {
    width: 100%;
    left: 4%;
    padding-top: 5.4794520548vw;
  }
}
.story__moya {
  position: absolute;
  width: 200vw;
  height: 200vw;
  left: -100vw;
  top: -100vw;
  z-index: 1;
  pointer-events: none;
}
.story__moya div {
  background: url(../img/moyamoya.png) no-repeat center/100% auto;
  width: 100%;
  height: 100%;
  animation: rotate 30s linear infinite;
}

.dlblock {
  width: 29.7777777778vw;
  height: 20.2222222222vw;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.story .dlblock {
  margin: 0;
}
@media only screen and (max-width: 750px) {
  .dlblock {
    width: 100%;
    height: auto;
  }
}
.story .dlblock {
  left: -1.3333333333vw;
}
@media only screen and (max-width: 750px) {
  .story .dlblock {
    left: 0px;
  }
}
@media only screen and (min-width: 751px) {
  .dlblockSp {
    display: none;
  }
}
.dlblockSp__btns {
  position: absolute;
  z-index: 2;
  bottom: 15.0684931507vw;
  left: 0px;
  width: 100%;
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 751px) {
  .dlblockSp__btns {
    display: none;
  }
}
.dlblockSp__btns .item {
  width: 36.7123287671vw;
  margin: 0 1.6438356164vw;
}

.movie {
  height: 32.2222222222vw;
  position: relative;
  background: url(../img/bg_movie.jpg) no-repeat center/cover;
  overflow: hidden;
}
@media only screen and (max-width: 750px) {
  .movie {
    height: 104.9315068493vw;
    background: url(../img/bg_movie_sp.jpg) no-repeat center/cover;
  }
}
.movie__inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 3;
  text-decoration: none;
  color: inherit;
}
.movie__icon {
  width: 5.3888888889vw;
}
@media only screen and (max-width: 750px) {
  .movie__icon {
    width: 22.4657534247vw;
  }
}
.movie__text {
  width: 8.3888888889vw;
  margin-top: 1.1666666667vw;
}
@media only screen and (max-width: 750px) {
  .movie__text {
    width: 35.0684931507vw;
  }
}
.movie #movieThumb {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.3);
}
.movie #moviePlay {
  position: absolute;
  top: 50%;
  left: 0px;
  transform: translateY(-50%);
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.about {
  background: url(../img/pattern_black.png) repeat center/4px auto;
  text-align: center;
  padding-top: 9.8888888889vw;
  padding-bottom: 10.5555555556vw;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 750px) {
  .about {
    padding: 70px 0 40px;
  }
}
.about__title img {
  width: 21.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .about__title img {
    width: 60.4109589041vw;
  }
}
.about__subtitle {
  margin-top: 3.3333333333vw;
}
@media only screen and (max-width: 750px) {
  .about__subtitle {
    margin-top: 10.1369863014vw;
  }
}
.about__subtitle img {
  width: 33.6666666667vw;
}
@media only screen and (max-width: 750px) {
  .about__subtitle img {
    width: 79.1780821918vw;
  }
}
.about__text {
  margin-top: 4vw;
}
@media only screen and (max-width: 750px) {
  .about__text {
    margin-top: 10.6849315068vw;
  }
}
.about__text img {
  width: 41.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .about__text img {
    width: 77.1232876712vw;
  }
}
.aboutIntro {
  margin-top: 10.6666666667vw;
  text-align: center;
}
.aboutIntro__title {
  padding-bottom: 1.5vw;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .aboutIntro__title {
    padding-bottom: 3.698630137vw;
  }
}
.aboutIntro__title:after {
  content: "";
  height: 1px;
  width: 9.5vw;
  background-color: #fff;
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width: 750px) {
  .aboutIntro__title:after {
    width: 23.4246575342vw;
  }
}
.aboutIntro__title img {
  width: 29.7777777778vw;
}
@media only screen and (max-width: 750px) {
  .aboutIntro__title img {
    width: 94%;
  }
}
.aboutIntro__read {
  margin-top: 3.3333333333vw;
}
@media only screen and (max-width: 750px) {
  .aboutIntro__read {
    margin-top: 8.2191780822vw;
  }
}
.aboutIntro__read img {
  width: 47.7777777778vw;
}
@media only screen and (max-width: 750px) {
  .aboutIntro__read img {
    width: 94%;
  }
}
.aboutIntro__movie {
  margin: 3.3333333333vw auto 0;
  width: 20vw;
}
@media only screen and (max-width: 750px) {
  .aboutIntro__movie {
    margin: 8.2191780822vw auto 0;
    width: 49.3150684932vw;
  }
}
.aboutIntroList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 40vw;
  margin: 6.6666666667vw auto 0;
}
@media only screen and (max-width: 750px) {
  .aboutIntroList {
    width: 100%;
    margin: 16.4383561644vw auto 0;
  }
}
.aboutIntroList__item {
  width: 20vw;
  display: flex;
  justify-content: center;
  margin: 0 0 2.5vw;
}
@media only screen and (max-width: 750px) {
  .aboutIntroList__item {
    width: 100%;
    margin: 0 0 6.1643835616vw;
  }
}
.aboutIntroList__item img {
  width: auto;
  height: 24vw;
}
@media only screen and (max-width: 750px) {
  .aboutIntroList__item img {
    height: 92vw;
  }
}
.about .twincle-line {
  margin: 2.5vw 0 4.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .about .twincle-line {
    display: none;
  }
}
@media only screen and (max-width: 750px) {
  .aboutPlay {
    margin-top: 70px;
  }
}
.aboutPlay__title__back img {
  width: 52.1666666667vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlay__title__back img {
    width: 94%;
  }
}
.aboutPlay__title__front {
  position: relative;
  margin-top: -2.1111111111vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlay__title__front {
    margin-top: -2.2vw;
  }
}
.aboutPlay__title__front img {
  width: 38.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlay__title__front img {
    width: 81%;
  }
}
.aboutPlay__subtitle {
  margin-top: 3.3333333333vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlay__subtitle {
    margin-top: 8.2191780822vw;
  }
}
.aboutPlay__subtitle img {
  width: 29.6111111111vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlay__subtitle img {
    width: 73.0136986301vw;
  }
}
.aboutPlay__read {
  text-align: center;
  margin-top: 2.7777777778vw;
  margin-bottom: 3.3333333333vw;
}
.aboutPlay__read img {
  width: 34.3888888889vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlay__read img {
    width: 72.7397260274vw;
  }
}
@media only screen and (max-width: 750px) {
  .aboutPlay__read {
    font-size: 4.7945205479vw;
    margin-bottom: 10.9589041096vw;
  }
}
.aboutPlay__manga {
  display: flex;
  justify-content: center;
  margin-bottom: 2.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlay__manga {
    flex-direction: column;
    padding: 0 4.4%;
    margin-bottom: 80px;
  }
}
.aboutPlay__manga .item {
  width: 26.0555555556vw;
  margin: 0 0.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlay__manga .item {
    width: 100%;
    margin: 0 0 10px;
  }
}
.aboutPlayBlock {
  position: relative;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita {
    padding-top: 33.698630137vw;
    margin-bottom: 24.2465753425vw;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__ja {
  width: 3.5555555556vw;
  position: absolute;
  z-index: 2;
  left: 22.5vw;
  top: 0.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__ja {
    width: 10vw;
    bottom: 12.0547945205vw;
    top: auto;
    left: 6.5753424658vw;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__character {
  width: 36.4444444444vw;
  margin-left: 13.5555555556vw;
  position: relative;
  z-index: 4;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__character {
    width: 84.6575342466vw;
    height: 77.2602739726vw;
    margin-left: 0;
  }
  .aboutPlayBlock.-ukita .aboutPlayBlock__character img {
    width: auto;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: bottom right;
       object-position: bottom right;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__name {
  width: 21.7222222222vw;
  top: 5.4444444444vw;
  position: absolute;
  left: 56.3888888889vw;
  z-index: 2;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__name {
    top: 0px;
    left: 17.8082191781vw;
    width: 63.2876712329vw;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__seriff {
  width: 16.7222222222vw;
  top: 9.1666666667vw;
  position: absolute;
  left: 59.8888888889vw;
  z-index: 3;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__seriff {
    top: 11.2328767123vw;
    left: 27.9452054795vw;
    width: 47.9452054795vw;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__bg {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 57.7222222222vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__bg {
    width: 100%;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__bg .base {
  width: 47.1666666667vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__bg .base {
    width: 78.3561643836vw;
  }
  .aboutPlayBlock.-ukita .aboutPlayBlock__bg .base img {
    width: 100%;
    height: 60.8219178082vw;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: bottom right;
       object-position: bottom right;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__bg .square {
  position: absolute;
}
.aboutPlayBlock.-ukita .aboutPlayBlock__bg .square.-square01 {
  width: 4.2222222222vw;
  right: 7.2222222222vw;
  top: -3vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__bg .square.-square01 {
    width: 11.7808219178vw;
    right: 25.7534246575vw;
    top: -11.7808219178vw;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__bg .square.-square02 {
  width: 4.2222222222vw;
  right: 11.511111vw;
  top: 1.188889vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__bg .square.-square02 {
    width: 11.7808219178vw;
    right: 37.5342465753vw;
    top: 0vw;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__bg .square.-square03 {
  width: 2.2777777778vw;
  right: 5.7222222222vw;
  top: 11.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__bg .square.-square03 {
    width: 6.301369863vw;
    right: 14.7945205479vw;
    top: 35.87vw;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__bg .square.-square04 {
  width: 2.2777777778vw;
  right: 0px;
  top: 11.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__bg .square.-square04 {
    width: 6.301369863vw;
    right: 0vw;
    top: 35.87vw;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__bg .square.-square05 {
  width: 3.478vw;
  right: 2.278vw;
  top: 13.778vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__bg .square.-square05 {
    width: 9.0410958904vw;
    right: 6.4vw;
    top: 43.0136986301vw;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__bg .square.-square06 {
  width: 3.1111111111vw;
  right: 5.8vw;
  top: 17.3vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__bg .square.-square06 {
    width: 9.0410958904vw;
    right: 15.56vw;
    top: 52.05vw;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__tag {
  position: absolute;
  bottom: 0px;
  left: 60.2777777778vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__tag {
    bottom: -16.4383561644vw;
    left: 7.1232876712vw;
  }
}
.aboutPlayBlock.-ukita .aboutPlayBlock__tag img {
  width: auto;
  height: 3vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-ukita .aboutPlayBlock__tag img {
    height: 10.8vw;
  }
}
.aboutPlayBlock.-tsuda {
  display: flex;
  justify-content: flex-end;
  margin-top: 2.6666666667vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda {
    margin-top: 0;
    padding-top: 36.9863013699vw;
    margin-bottom: 20vw;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__ja {
  width: 3.5555555556vw;
  position: absolute;
  z-index: 2;
  right: 26.6666666667vw;
  top: 1.6666666667vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__ja {
    width: 10vw;
    bottom: 22.7397260274vw;
    top: auto;
    right: 9.8630136986vw;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__character {
  width: 20.1111111111vw;
  margin-right: 29vw;
  position: relative;
  z-index: 4;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__character {
    width: 58.0821917808vw;
    margin-right: 16.4383561644vw;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__name {
  width: 30.2222222222vw;
  top: 6.3333333333vw;
  position: absolute;
  right: 48.6111111111vw;
  z-index: 2;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__name {
    top: 0px;
    left: 4.4vw;
    width: 93.1506849315vw;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__seriff {
  width: 15.2777777778vw;
  top: 9.8888888889vw;
  position: absolute;
  right: 58.2222222222vw;
  z-index: 3;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__seriff {
    top: 11.2328767123vw;
    left: 27.1232876712vw;
    width: 48.2191780822vw;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__bg {
  position: absolute;
  bottom: 0px;
  right: 0px;
  width: 57.7222222222vw;
  display: flex;
  justify-content: flex-end;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__bg {
    width: 100%;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__bg .base {
  width: 47.1666666667vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__bg .base {
    width: 78.3561643836vw;
  }
  .aboutPlayBlock.-tsuda .aboutPlayBlock__bg .base img {
    width: 100%;
    height: 60.8219178082vw;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: bottom left;
       object-position: bottom left;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square {
  position: absolute;
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square.-square01 {
  width: 4.2222222222vw;
  left: 7.2222222222vw;
  top: -3vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square.-square01 {
    width: 11.7808219178vw;
    left: 25.7534246575vw;
    top: -11.7808219178vw;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square.-square02 {
  width: 4.2222222222vw;
  left: 11.511111vw;
  top: 1.188889vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square.-square02 {
    width: 11.7808219178vw;
    left: 37.5342465753vw;
    top: 0vw;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square.-square03 {
  width: 2.2777777778vw;
  left: 5.7222222222vw;
  top: 11.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square.-square03 {
    width: 6.301369863vw;
    left: 14.7945205479vw;
    top: 35.87vw;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square.-square04 {
  width: 2.2777777778vw;
  left: 0px;
  top: 11.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square.-square04 {
    width: 6.301369863vw;
    left: 0vw;
    top: 35.87vw;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square.-square05 {
  width: 3.478vw;
  left: 2.278vw;
  top: 13.778vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square.-square05 {
    width: 9.0410958904vw;
    left: 6.4vw;
    top: 43.0136986301vw;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square.-square06 {
  width: 3.1111111111vw;
  left: 5.8vw;
  top: 17.3vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__bg .square.-square06 {
    width: 9.0410958904vw;
    left: 15.56vw;
    top: 52.05vw;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__tag {
  position: absolute;
  bottom: 0px;
  right: 52.6666666667vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__tag {
    bottom: -16.4383561644vw;
    right: auto;
    left: 7.1232876712vw;
  }
}
.aboutPlayBlock.-tsuda .aboutPlayBlock__tag img {
  width: auto;
  height: 3vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlayBlock.-tsuda .aboutPlayBlock__tag img {
    height: 10.8vw;
  }
}
.aboutPlay__btn {
  margin-top: 4.4444444444vw;
  margin-bottom: 4.4444444444vw;
}
.aboutPlay__btn .text {
  text-align: center;
  margin-bottom: 1.1111111111vw;
}
.aboutPlay__btn .text img {
  width: 30.8888888889vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlay__btn .text img {
    width: 56.5753424658vw;
  }
}
@media only screen and (max-width: 750px) {
  .aboutPlay__btn {
    margin-top: 0;
    margin-bottom: 0;
    padding: 2.2222222222vw 4.4% 0;
  }
}
.aboutPlay__btn img {
  width: 34.6111111111vw;
}
@media only screen and (max-width: 750px) {
  .aboutPlay__btn img {
    width: 100%;
  }
}
.about__glass {
  position: absolute;
  width: 100%;
  height: 100vh;
  z-index: 5;
  left: 0px;
  top: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.about__glass img {
  width: 77.8333333333vw;
}

.caution-under-button {
  text-align: center;
  color: #fff;
  font-size: 0.6666666667vw;
  margin: 0 auto 2.4vw;
}
@media only screen and (max-width: 750px) {
  .caution-under-button {
    font-size: 12px;
  }
}

.once {
  background-color: #2d43a3;
  padding: 1.3333333333vw 0;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .once {
    padding: 22px 0;
  }
}
.once__loop {
  position: relative;
  height: 4.4444444444vw;
  overflow: hidden;
}
@media only screen and (max-width: 750px) {
  .once__loop {
    height: 60px;
  }
}
.once__loop span {
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0px;
  animation: stream 15s linear infinite;
}
.once__loop img {
  max-width: initial;
  width: auto;
  height: 4.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .once__loop img {
    height: 60px;
  }
}
.once__loop img.copy {
  position: absolute;
  top: 0px;
  left: 100%;
  transform: translateX(2.6%);
}
.once__clock {
  position: absolute;
  top: -4.7222222222vw;
  left: 0px;
  width: 100%;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .once__clock {
    top: -50px;
  }
}
.once__clock span {
  display: inline-block;
  animation: rotate 60s linear infinite;
}
.once__clock img {
  width: 17.2222222222vw;
}
@media only screen and (max-width: 750px) {
  .once__clock img {
    width: 209px;
  }
}
.once__text {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0px;
  left: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.once__text img {
  width: 18.1666666667vw;
}
@media only screen and (max-width: 750px) {
  .once__text img {
    width: 202px;
  }
}

.character {
  background: url(../img/pattern_beige.png) repeat center/4px auto;
  padding-bottom: 10vw;
  margin-top: -4.2vw;
}
@media only screen and (max-width: 750px) {
  .character {
    padding: 0 0 95px;
    margin-top: -8.2vw;
  }
}
.character__top {
  padding-top: 11.6666666667vw;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .character__top {
    padding-top: 70px;
  }
}
.character__glass {
  position: relative;
}
.character__title {
  text-align: center;
}
.character__title img {
  width: 36.3888888889vw;
}
@media only screen and (max-width: 750px) {
  .character__title img {
    width: 91.095890411vw;
  }
}
.character__inner {
  position: relative;
}
.character .glass {
  position: absolute;
  z-index: 3;
  mix-blend-mode: screen;
}
@media only screen and (max-width: 750px) {
  .character .glass {
    display: none;
  }
}
.character .glass.-glass01 {
  width: 23.5555555556vw;
  top: -8.1666666667vw;
  right: calc(50% - 48.1111111111vw);
}
.character .glass.-glass02 {
  width: 22.1111111111vw;
  top: 25.2222222222vw;
  left: calc(50% - 51.1111111111vw);
}
.character .glass.-glass03 {
  width: 18.1666666667vw;
  top: 45.7222222222vw;
  right: calc(50% - 49.4444444444vw);
}
.character .glass.-glass04 {
  width: 14.6666666667vw;
  top: 115vw;
  left: calc(50% - 44.8888888889vw);
}
.characterUtsumi {
  display: flex;
  justify-content: space-between;
  margin: 4.8888888889vw auto 0;
  max-width: 57.7777777778vw;
}
@media only screen and (max-width: 750px) {
  .characterUtsumi {
    max-width: initial;
    margin-top: 40px;
    display: block;
  }
}
.characterUtsumi__left {
  width: 32.6666666667vw;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .characterUtsumi__left {
    width: 87.6712328767vw;
    margin-left: auto;
  }
}
@media only screen and (max-width: 750px) {
  .characterUtsumi__right {
    margin-top: 15px;
    padding-left: 7.9452054795vw;
  }
}
.characterUtsumi__name {
  width: 11.1111111111vw;
}
@media only screen and (max-width: 750px) {
  .characterUtsumi__name {
    width: 42.1917808219vw;
  }
}
.characterUtsumi__seriff {
  margin-top: 2.2222222222vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.characterUtsumi__seriff img {
  height: 1.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .characterUtsumi__seriff img {
    height: 5.3424657534vw;
  }
}
@media only screen and (max-width: 750px) {
  .characterUtsumi__seriff {
    width: 66.0273972603vw;
    margin-top: 30px;
  }
}
.characterUtsumi__text {
  margin-top: 1.7vw;
  font-size: 0.9166666667vw;
  line-height: 2;
  letter-spacing: 0.06em;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
.characterUtsumi__text::-moz-selection {
  background-color: #2e44a5;
  color: #fff;
}
.characterUtsumi__text::selection {
  background-color: #2e44a5;
  color: #fff;
}
@media only screen and (max-width: 750px) {
  .characterUtsumi__text {
    font-size: 3.4931506849vw;
    margin-top: 5.7vw;
  }
}
.characterUtsumi__btn {
  position: absolute;
  width: 4.6666666667vw;
  bottom: 2.1111111111vw;
  right: 4vw;
}
@media only screen and (max-width: 750px) {
  .characterUtsumi__btn {
    width: 13.1506849315vw;
    bottom: 3vw;
    right: 8vw;
  }
}
.characterData {
  margin-top: -1.6666666667vw;
  padding-left: 18.3vw;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media only screen and (max-width: 750px) {
  .characterData {
    margin-top: 30px;
    display: block;
    padding: 0;
  }
}
@media only screen and (max-width: 750px) {
  .characterData__left {
    padding-left: 4.4%;
  }
}
.characterData__profile {
  display: table;
}
@media only screen and (max-width: 750px) {
  .characterData__profile {
    display: flex;
    flex-wrap: wrap;
  }
}
.characterData__text {
  font-size: 0.9166666667vw;
  line-height: 2;
  letter-spacing: 0.06em;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  margin-bottom: 0.6666666667vw;
}
.characterData__text .strong {
  color: #24327d;
  font-weight: bold;
}
.characterData__text .strong img {
  width: auto;
  height: 0.6666666667vw;
  margin-bottom: 0.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .characterData__text .strong img {
    height: 12px;
    margin-bottom: 10px;
  }
}
.characterData__text .color {
  color: #24327d;
}
.characterData__text ul {
  display: table-row;
}
@media only screen and (max-width: 750px) {
  .characterData__text ul {
    display: contents;
  }
}
.characterData__text ul li {
  display: table-cell;
  padding-right: 2em;
  font-size: 0.8888888889vw;
}
@media only screen and (max-width: 750px) {
  .characterData__text ul li {
    display: block;
    width: 50%;
    font-size: 14px;
  }
}
.characterData__text::-moz-selection {
  background-color: #2e44a5;
  color: #fff;
}
.characterData__text::selection {
  background-color: #2e44a5;
  color: #fff;
}
@media only screen and (max-width: 750px) {
  .characterData__text {
    font-size: 3.4246575342vw;
  }
}
.characterData__right {
  width: 40vw;
}
@media only screen and (max-width: 750px) {
  .characterData__right {
    margin-top: 35px;
    width: auto;
    margin-left: 6.8493150685vw;
  }
}
.characterInoue {
  max-width: 57.7777777778vw;
  margin: 5.5555555556vw auto 0;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .characterInoue {
    margin-top: 60px;
    max-width: initial;
  }
}
@media only screen and (max-width: 750px) {
  .characterInoue__title {
    text-align: center;
  }
}
.characterInoue__title img {
  width: 35.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .characterInoue__title img {
    width: 79.8630136986vw;
  }
}
.characterInoue__text {
  margin-top: 1.3333333333vw;
  width: 30.6111111111vw;
  font-size: 0.9166666667vw;
  line-height: 2;
  letter-spacing: 0.06em;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  margin-bottom: 0.6666666667vw;
}
.characterInoue__text::-moz-selection {
  background-color: #2e44a5;
  color: #fff;
}
.characterInoue__text::selection {
  background-color: #2e44a5;
  color: #fff;
}
@media only screen and (max-width: 750px) {
  .characterInoue__text {
    padding-left: 4.4%;
    font-size: 4.1095890411vw;
    margin-top: 20px;
    width: auto;
  }
}
.characterInoue__btn {
  margin-top: 1.6666666667vw;
  width: 22.6111111111vw;
}
@media only screen and (max-width: 750px) {
  .characterInoue__btn {
    margin-top: 30px;
    width: 100%;
    padding: 0 4.4%;
  }
}
.characterInoue__right {
  width: 23.7222222222vw;
  position: absolute;
  top: 2.7777777778vw;
  right: 0px;
}
@media only screen and (max-width: 750px) {
  .characterInoue__right {
    width: auto;
    position: static;
    text-align: center;
    margin-top: 24px;
  }
  .characterInoue__right img {
    width: 84.3835616438vw;
  }
}
.characterVoice {
  width: 34.2222222222vw;
  margin: 1.6666666667vw auto 0;
}
@media only screen and (max-width: 750px) {
  .characterVoice {
    width: 100%;
  }
}
.characterOtomo {
  max-width: 48.8888888889vw;
  margin: 3.8888888889vw auto 0;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 750px) {
  .characterOtomo {
    max-width: initial;
    margin-top: 45px;
    display: block;
    padding-left: 4.4%;
  }
}
.characterOtomo__title {
  width: 20.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .characterOtomo__title {
    width: 77.5342465753vw;
  }
}
.characterOtomo__seriff {
  margin-top: 1.5555555556vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.characterOtomo__seriff img {
  height: 1.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .characterOtomo__seriff img {
    height: 5.3424657534vw;
  }
}
@media only screen and (max-width: 750px) {
  .characterOtomo__seriff {
    margin-top: 25px;
  }
}
.characterOtomo__text {
  margin-top: 1.6666666667vw;
  font-size: 0.9166666667vw;
  line-height: 2;
  letter-spacing: 0.06em;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  margin-bottom: 0.6666666667vw;
}
.characterOtomo__text::-moz-selection {
  background-color: #2e44a5;
  color: #fff;
}
.characterOtomo__text::selection {
  background-color: #2e44a5;
  color: #fff;
}
@media only screen and (max-width: 750px) {
  .characterOtomo__text {
    font-size: 4.1095890411vw;
    margin-top: 3.6vw;
  }
  .characterOtomo__text br {
    display: none;
  }
}
.characterOtomo__right {
  width: 19.8333333333vw;
}
@media only screen and (max-width: 750px) {
  .characterOtomo__right {
    width: 72.8767123288vw;
    margin: 36px auto 0;
  }
}
.characterOther {
  position: sticky;
  top: 0px;
  padding-top: 8.8888888889vw;
}
@media only screen and (max-width: 750px) {
  .characterOther {
    padding-top: 27.397260274vw;
  }
}
.characterOther__wrapper {
  height: 180vh;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .characterOther__wrapper {
    height: 280vh;
  }
}
.characterOther__title {
  margin-left: 18.6666666667vw;
}
@media only screen and (max-width: 750px) {
  .characterOther__title {
    margin: 0;
    padding: 0 4.4%;
  }
}
.characterOther__title img {
  width: 42.3333333333vw;
}
@media only screen and (max-width: 750px) {
  .characterOther__title img {
    width: 100%;
  }
}
.characterOtherScroll {
  margin-top: 1.9444444444vw;
  margin-left: 7.2222222222vw;
  padding-bottom: 3.6111111111vw;
  overflow: auto;
}
@media only screen and (max-width: 750px) {
  .characterOtherScroll {
    margin-top: 26px;
    margin-left: 4.4%;
    padding-bottom: 36px;
  }
}
.characterOtherScroll::-webkit-scrollbar {
  height: 8px;
}
.characterOtherScroll::-webkit-scrollbar-track {
  background-color: #ccc;
  height: 10px;
  border-radius: 8px;
}
.characterOtherScroll::-webkit-scrollbar-thumb {
  background-color: #2d4aaa;
  height: 10px;
  border-radius: 8px;
}
.characterOtherList {
  display: flex;
  width: 170vw;
}
@media only screen and (max-width: 750px) {
  .characterOtherList {
    width: 478.904109589vw;
  }
}
.characterOtherList__item {
  width: 30vw;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .characterOtherList__item {
    width: 136.9863013699vw;
  }
}
.characterOtherList__item:not(:first-child) {
  margin-left: -10vw;
}
@media only screen and (max-width: 750px) {
  .characterOtherList__item:not(:first-child) {
    margin-left: -32.8767123288vw;
  }
}
.characterOtherList__item span {
  display: block;
  position: absolute;
  width: 5.5555555556vw;
  top: calc(50% - 2.7777777778vw);
  left: 18%;
}
@media only screen and (max-width: 750px) {
  .characterOtherList__item span {
    width: 19.7260273973vw;
    top: calc(50% - 9.8630136986vw);
    left: 14%;
  }
}

.event {
  padding-top: 10vw;
  padding-bottom: 8.8888888889vw;
  background: url(../img/bg_event.png) no-repeat center top/contain, url(../img/pattern_dark_blue.png) repeat center/8px auto;
}
@media only screen and (max-width: 750px) {
  .event {
    padding: 80px 0 100px;
  }
}
.event__title {
  text-align: center;
}
.event__title img {
  width: 18.7222222222vw;
}
@media only screen and (max-width: 750px) {
  .event__title img {
    width: 52.7397260274vw;
  }
}
.event__read {
  text-align: center;
  margin-top: 3.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .event__read {
    margin-top: 9.1780821918vw;
  }
}
.event__read img {
  width: 42vw;
}
@media only screen and (max-width: 750px) {
  .event__read img {
    width: 79.0410958904vw;
  }
}
.event__date {
  text-align: center;
  margin-top: 1.8333333333vw;
}
@media only screen and (max-width: 750px) {
  .event__date {
    margin-top: 9.8630136986vw;
  }
}
.event__date img {
  width: 47.8888888889vw;
}
@media only screen and (max-width: 750px) {
  .event__date img {
    width: 86.8493150685vw;
  }
}
.event__text {
  text-align: center;
  margin-top: 2.3888888889vw;
}
@media only screen and (max-width: 750px) {
  .event__text {
    margin-top: 6.301369863vw;
  }
}
.event__text img {
  width: 55.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .event__text img {
    width: 86.8493150685vw;
  }
}
.event .twincle-line {
  visibility: hidden;
  margin-bottom: 4.8888888889vw;
  height: 1px;
}
@media only screen and (max-width: 750px) {
  .event .twincle-line {
    margin: 36px 0;
  }
}
.eventBlock {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  overflow: hidden;
  padding-bottom: 1.1111111111vw;
}
@media only screen and (max-width: 750px) {
  .eventBlock {
    display: block;
  }
}
.eventBlock + .eventBlock {
  margin-top: 5vw;
}
@media only screen and (max-width: 750px) {
  .eventBlock + .eventBlock {
    margin-top: 40px;
  }
}
.eventBlock__title {
  margin-bottom: 1.5555555556vw;
  text-align: center;
  width: 100%;
}
@media only screen and (max-width: 750px) {
  .eventBlock__title {
    margin-bottom: 24px;
  }
}
.eventBlock__title img {
  width: auto;
  height: 2.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .eventBlock__title img {
    height: 8.0821917808vw;
  }
}
.eventBlock__left {
  width: 46.8888888889vw;
  height: 17.4444444444vw;
  background-color: #2f41a3;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 4.4444444444vw;
  position: relative;
}
@media only screen and (min-width: 751px) {
  .eventBlock__left {
    clip-path: polygon(0% 0%, 0% 100%, 93% 100%, 100% 0%);
  }
}
@media only screen and (max-width: 750px) {
  .eventBlock__left {
    width: 100%;
    height: 86.301369863vw;
    padding: 14.7945205479vw 0 0;
    display: block;
  }
}
.eventBlock__info {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 20vw;
}
@media only screen and (max-width: 750px) {
  .eventBlock__info {
    width: auto;
  }
}
.eventBlock__name {
  margin-bottom: 1.5555555556vw;
}
.eventBlock__name img {
  width: auto;
  height: 2.0555555556vw;
}
@media only screen and (max-width: 750px) {
  .eventBlock__name img {
    height: 9.3150684932vw;
  }
}
@media only screen and (max-width: 750px) {
  .eventBlock__name {
    margin-bottom: 7.1232876712vw;
  }
}
.eventBlock__tag {
  width: 8.5555555556vw;
  height: 1.8333333333vw;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.33);
  color: #fff;
  font-size: 1.0555555556vw;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 750px) {
  .eventBlock__tag {
    font-size: 4.9315068493vw;
    width: 39.7260273973vw;
    height: 8.4931506849vw;
  }
}
.eventBlock__area {
  margin-top: 1.5555555556vw;
}
.eventBlock__area img {
  width: auto;
  height: 1.5vw;
}
@media only screen and (max-width: 750px) {
  .eventBlock__area img {
    height: 6.8493150685vw;
  }
}
@media only screen and (max-width: 750px) {
  .eventBlock__area {
    margin-top: 7.6712328767vw;
  }
}
.eventBlock__map {
  font-size: 1.0333333333vw;
  color: #fff;
  margin-top: 0.8888888889vw;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 750px) {
  .eventBlock__map {
    margin-top: 3.2876712329vw;
    font-size: 4.7945205479vw;
  }
}
.eventBlock__map:before {
  content: "";
  width: 0.7777777778vw;
  height: 1vw;
  display: inline-block;
  background: url(../img/icon_pin.png) no-repeat center/contain;
  margin-right: 4px;
}
@media only screen and (max-width: 750px) {
  .eventBlock__map:before {
    width: 3.2876712329vw;
    height: 4.3835616438vw;
  }
}
.eventBlock__map a {
  color: inherit;
}
.eventBlock__right {
  width: 29.9444444444vw;
  margin-top: 1.2777777778vw;
  margin-left: -2.2222222222vw;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .eventBlock__right {
    width: 96.1643835616vw;
    margin-top: -17.8082191781vw;
    margin-left: 0;
  }
}
.eventBlock__square {
  width: 28.8888888889vw;
  position: absolute;
  z-index: 2;
  top: 0px;
  left: 0.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .eventBlock__square {
    width: 92vw;
    top: 2vw;
    left: 1.6vw;
  }
}
.eventBlock__pin {
  width: 5.5vw;
  height: 5.5vw;
  position: absolute;
  z-index: 3;
  bottom: -0.5555555556vw;
  right: -1.1111111111vw;
}
@media only screen and (max-width: 750px) {
  .eventBlock__pin {
    width: 18.3561643836vw;
    bottom: 8.4vw;
  }
}
.eventBlock.-block02 {
  flex-direction: row-reverse;
}
.eventBlock.-block02 .eventBlock__left {
  background-color: #2576ca;
  justify-content: flex-start;
  padding-left: 4.4444444444vw;
  padding-right: 0;
}
@media only screen and (min-width: 751px) {
  .eventBlock.-block02 .eventBlock__left {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 7% 100%);
  }
}
.eventBlock.-block02 .eventBlock__right {
  margin-left: 0;
  margin-right: -2.2222222222vw;
}
.eventBlock.-block02 .eventBlock__pin {
  right: auto;
  left: -1.1111111111vw;
}
@media only screen and (max-width: 750px) {
  .eventBlock.-block02 .eventBlock__right {
    margin-left: auto;
    margin-right: 0;
  }
}
.eventBlock.-block03 .eventBlock__left {
  background-color: #0ba29d;
}
.eventBlock.-block03 .eventBlock__caution {
  font-size: 0.7777777778vw;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  position: absolute;
  right: calc(50% + 4.4444444444vw);
  bottom: 3.3333333333vw;
}
@media only screen and (max-width: 750px) {
  .eventBlock.-block03 .eventBlock__caution {
    display: none;
  }
}
.eventBlock.-block04 {
  flex-direction: row-reverse;
}
.eventBlock.-block04 .eventBlock__left {
  background-color: #d38116;
  justify-content: flex-start;
  padding-left: 4.4444444444vw;
  padding-right: 0;
}
@media only screen and (min-width: 751px) {
  .eventBlock.-block04 .eventBlock__left {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 7% 100%);
  }
}
.eventBlock.-block04 .eventBlock__right {
  margin-left: 0;
  margin-right: -2.2222222222vw;
}
.eventBlock.-block04 .eventBlock__pin {
  right: auto;
  left: -1.1111111111vw;
}
@media only screen and (max-width: 750px) {
  .eventBlock.-block04 .eventBlock__right {
    margin-left: auto;
    margin-right: 0;
  }
}
.eventExtra {
  margin-top: 6.6666666667vw;
}
@media only screen and (max-width: 750px) {
  .eventExtra {
    margin-top: 70px;
  }
}
.eventExtra__title {
  text-align: center;
}
.eventExtra__title img {
  width: 34.2222222222vw;
}
@media only screen and (max-width: 750px) {
  .eventExtra__title img {
    width: 80.8219178082vw;
  }
}
.eventExtraList {
  max-width: 57vw;
  margin: 2.2222222222vw auto 0;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 750px) {
  .eventExtraList {
    max-width: initial;
    padding: 0 4.4%;
    display: block;
    margin-top: 40px;
  }
}
.eventExtraList__item {
  width: 26.6666666667vw;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .eventExtraList__item {
    width: 100%;
  }
  .eventExtraList__item + .eventExtraList__item {
    margin-top: 20px;
  }
}
.eventExtraList__thumb {
  position: relative;
}
.eventExtraList__square {
  width: 25.4444444444vw;
  position: absolute;
  top: 0px;
  left: 0.5555555556vw;
  z-index: 2;
}
@media only screen and (max-width: 750px) {
  .eventExtraList__square {
    width: 94%;
    top: 2%;
    left: 3.5%;
  }
}
.eventExtraList__icon {
  width: 4.9444444444vw;
  position: absolute;
  bottom: -0.5555555556vw;
  right: -1.1111111111vw;
  z-index: 3;
}
@media only screen and (max-width: 750px) {
  .eventExtraList__icon {
    width: 18.0821917808vw;
    bottom: 0.8vw;
  }
}
.eventExtraList__name img {
  width: auto;
  height: 1.3888888889vw;
}
@media only screen and (max-width: 750px) {
  .eventExtraList__name img {
    height: 4.7945205479vw;
  }
}
.eventExtraList__map {
  font-size: 1.0333333333vw;
  color: #fff;
  margin-top: 0.4444444444vw;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 750px) {
  .eventExtraList__map {
    font-size: 3.1506849315vw;
  }
}
.eventExtraList__map:before {
  content: "";
  width: 0.7777777778vw;
  height: 1vw;
  display: inline-block;
  background: url(../img/icon_pin.png) no-repeat center/contain;
  margin-right: 4px;
}
@media only screen and (max-width: 750px) {
  .eventExtraList__map:before {
    width: 2.1917808219vw;
    height: 3.0136986301vw;
  }
}
.eventExtraList__map a {
  color: inherit;
}
.eventMap {
  margin: 6.6666666667vw auto 0;
}
.eventMap__title {
  text-align: center;
  margin-bottom: 36px;
}
@media only screen and (max-width: 750px) {
  .eventMap__title {
    padding-right: 4.4vw;
  }
}
.eventMap__title img {
  width: 673px;
}
@media only screen and (max-width: 750px) {
  .eventMap__title img {
    width: 100%;
  }
}
.eventMap__inner {
  max-width: 60vw;
  margin: 0 auto;
}
@media only screen and (max-width: 750px) {
  .eventMap {
    margin: 80px 0 0 4.4vw;
  }
  .eventMap__inner {
    overflow: auto;
    padding-bottom: 38px;
    max-width: initial;
  }
  .eventMap__inner .simplebar-scrollbar::before {
    background-color: #0e357f;
  }
  .eventMap__inner .simplebar-track.simplebar-vertical {
    height: 6px;
  }
  .eventMap__inner .simplebar-track {
    background: #ccc;
    height: 6px;
    border-radius: 5px;
  }
  .eventMap__inner .simplebar-scrollbar {
    background: #2d4aaa;
    height: 6px;
    border-radius: 5px;
  }
  .eventMap__inner img {
    max-width: initial;
    width: 700px;
  }
}
.eventCard {
  margin-top: 8.8888888889vw;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .eventCard {
    margin-top: 130px;
  }
}
@media only screen and (max-width: 750px) {
  .eventCard__title {
    padding: 0 4.4%;
  }
}
.eventCard__title img {
  width: 38.9444444444vw;
}
@media only screen and (max-width: 750px) {
  .eventCard__title img {
    width: 100%;
  }
}
.eventCard__subtitle {
  margin-top: 1.8333333333vw;
}
@media only screen and (max-width: 750px) {
  .eventCard__subtitle {
    margin-top: 25px;
    padding: 0 4.4%;
  }
}
.eventCard__subtitle img {
  width: 31vw;
}
@media only screen and (max-width: 750px) {
  .eventCard__subtitle img {
    width: 83.698630137vw;
  }
}
.eventCard__soon {
  text-align: center;
  margin-top: 9.4444444444vw;
  padding-bottom: 7.2222222222vw;
}
.eventCard__soon img {
  width: 13.6111111111vw;
}
@media only screen and (max-width: 750px) {
  .eventCard__soon {
    margin-top: 80px;
    padding-bottom: 120px;
  }
  .eventCard__soon img {
    width: 49.3150684932vw;
  }
}
.eventCard__img {
  margin-top: 2.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .eventCard__img {
    margin-top: 25px;
    padding: 0 4.4%;
  }
}
.eventCard__img img {
  width: 46.6666666667vw;
}
@media only screen and (max-width: 750px) {
  .eventCard__img img {
    width: 100%;
  }
}
.eventCard__title2 {
  text-align: center;
  margin-top: 5.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .eventCard__title2 {
    margin-top: 40px;
  }
}
.eventCard__title2 img {
  width: 40.3333333333vw;
}
@media only screen and (max-width: 750px) {
  .eventCard__title2 img {
    width: 79.4520547945vw;
  }
}
.eventCard__btn {
  margin-top: 1.1111111111vw;
}
@media only screen and (max-width: 750px) {
  .eventCard__btn {
    margin-top: 0px;
  }
}
.eventCard__btn img {
  width: 34.6111111111vw;
}
@media only screen and (max-width: 750px) {
  .eventCard__btn img {
    width: 100%;
  }
}
.eventCard__other {
  margin-top: 2.2222222222vw;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .eventCard__other {
    margin-top: 20px;
  }
}
.eventCard__other img {
  width: 30.1111111111vw;
}
@media only screen and (max-width: 750px) {
  .eventCard__other img {
    width: 76.7123287671vw;
  }
}
.eventModel {
  width: 100%;
  max-width: 60vw;
  margin: 11.1111111111vw auto 0;
  position: relative;
  display: flex;
}
@media only screen and (max-width: 750px) {
  .eventModel {
    flex-direction: column;
    max-width: initial;
    margin-top: 40px;
  }
}
.eventModel__left {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 750px) {
  .eventModel__left {
    display: contents;
  }
}
.eventModel__title {
  text-align: center;
}
.eventModel__title .item-01 {
  width: 3.1666666667vw;
  margin: 0 auto;
}
@media only screen and (max-width: 750px) {
  .eventModel__title .item-01 {
    width: 10.9589041096vw;
  }
}
.eventModel__title .item-02 {
  width: 33.7777777778vw;
  margin: 1.5555555556vw auto 0;
}
@media only screen and (max-width: 750px) {
  .eventModel__title .item-02 {
    width: 54.1095890411vw;
    margin-top: 6.5753424658vw;
  }
}
.eventModel__title .item-03 {
  width: 30.1111111111vw;
  margin: 2.1111111111vw auto 0;
}
@media only screen and (max-width: 750px) {
  .eventModel__title .item-03 {
    margin-top: 9.0410958904vw;
    width: 62.3287671233vw;
  }
}
@media only screen and (max-width: 750px) {
  .eventModel__title {
    width: 100%;
    order: 1;
  }
}
@media only screen and (max-width: 750px) {
  .eventModel__title img {
    width: 62.3287671233vw;
  }
}
.eventModel__btn {
  margin-top: 0.5555555556vw;
  width: 34.7222222222vw;
}
@media only screen and (max-width: 750px) {
  .eventModel__btn {
    margin-top: 20px;
    width: 100%;
    padding: 0 4.4%;
    order: 3;
  }
}
.eventModel__right {
  position: absolute;
  width: 21vw;
  top: -5vw;
  right: -2.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .eventModel__right {
    position: static;
    order: 2;
    width: 60.2739726027vw;
    margin: 32px auto 0;
  }
}

.campaign {
  padding: 10vw 0 8.8888888889vw;
  background: url(../img/pattern_brown.png) repeat center/4px auto;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .campaign {
    padding: 100px 4.4% 110px;
  }
}
.campaign__title {
  text-align: center;
}
.campaign__title .item-01 {
  width: 32.1111111111vw;
  margin: 0 auto;
}
@media only screen and (max-width: 750px) {
  .campaign__title .item-01 {
    width: 91.095890411vw;
  }
}
.campaign__title .item-02 {
  width: 30.7222222222vw;
  margin: 3.1111111111vw auto 0;
}
@media only screen and (max-width: 750px) {
  .campaign__title .item-02 {
    width: 90.2739726027vw;
    margin-top: 8.2191780822vw;
  }
}
.campaignList {
  margin-top: 4.7777777778vw;
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 750px) {
  .campaignList {
    flex-wrap: wrap;
    margin-top: 0;
  }
}
.campaignList__item {
  position: relative;
  width: 15.7222222222vw;
  margin: 0 0.8888888889vw;
}
@media only screen and (max-width: 750px) {
  .campaignList__item {
    margin: 40px auto 0;
    width: 160px;
  }
}
.campaignList__num {
  width: 5.9444444444vw;
  position: absolute;
  top: -1.1111111111vw;
  left: 0px;
  z-index: 3;
}
@media only screen and (max-width: 750px) {
  .campaignList__num {
    width: 78px;
    top: -20px;
    left: -10px;
  }
}
.campaignList__text {
  margin-top: -1.3333333333vw;
  padding-left: 2.4444444444vw;
  text-align: left;
  position: relative;
  z-index: 4;
}
@media only screen and (max-width: 750px) {
  .campaignList__text {
    padding-left: 25px;
    margin-top: -20px;
  }
}
.campaignList__text span {
  display: inline-block;
  position: relative;
}
.campaignList__text span + span {
  margin-top: 0.6666666667vw;
}
@media only screen and (max-width: 750px) {
  .campaignList__text span + span {
    margin-top: 12px;
  }
}
.campaignList__text span:after {
  content: "";
  position: absolute;
  z-index: 1;
  left: -0.4444444444vw;
  top: -6%;
  width: calc(100% + 0.8888888889vw);
  height: 124%;
  background-color: #24327d;
}
@media only screen and (max-width: 750px) {
  .campaignList__text span:after {
    width: calc(100% + 16px);
    left: -8px;
  }
}
.campaignList__text span img {
  width: auto;
  height: 1.2777777778vw;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 750px) {
  .campaignList__text span img {
    height: 16px;
  }
}
.campaign__caution {
  text-align: center;
  font-size: 0.6666666667vw;
  margin-top: 1.9444444444vw;
  color: #fff;
}
@media only screen and (max-width: 750px) {
  .campaign__caution {
    font-size: 12px;
    margin-top: 30px;
  }
}
.campaignRule {
  margin-top: 1.6666666667vw;
}
@media only screen and (max-width: 750px) {
  .campaignRule {
    margin-top: 60px;
  }
}
.campaignRule img {
  width: 25.3888888889vw;
}
@media only screen and (max-width: 750px) {
  .campaignRule img {
    width: 284px;
  }
}

.how {
  padding: 0 0 6.6666666667vw;
  background-color: #2f41a2;
}
@media only screen and (max-width: 750px) {
  .how {
    padding: 0 0 80px;
  }
}
.how__title {
  text-align: center;
}
.how__title img {
  width: 42.7222222222vw;
}
@media only screen and (max-width: 750px) {
  .how__title img {
    width: 72.0547945205vw;
  }
}
.howPlay {
  position: sticky;
  top: 0px;
  padding-top: 7.7777777778vw;
}
@media only screen and (max-width: 750px) {
  .howPlay {
    padding-top: 50px;
  }
}
.howPlay__wrapper {
  height: 360vh;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .howPlay__wrapper {
    height: 540vh;
  }
}
.howScroll {
  padding-top: 5.5555555556vw;
  margin-left: 7.2222222222vw;
  overflow: auto;
}
@media only screen and (max-width: 750px) {
  .howScroll {
    padding-top: 48px;
    margin-left: 4.4vw;
    padding-bottom: 25px;
  }
}
.howScroll::-webkit-scrollbar {
  height: 6px;
}
.howScroll::-webkit-scrollbar-track {
  background-color: #ccc;
  height: 6px;
  border-radius: 5px;
}
.howScroll::-webkit-scrollbar-thumb {
  background-color: #2d4aaa;
  height: 6px;
  border-radius: 5px;
}
.howList {
  padding-bottom: 75px;
}
@media only screen and (max-width: 750px) {
  .howList {
    padding: 0;
    border-style: none;
  }
}
.howList__item {
  box-sizing: content-box;
  width: 28.2222222222vw;
  padding-right: 4vw;
}
@media only screen and (max-width: 750px) {
  .howList__item {
    width: 91.2vw;
    padding-right: 6.4vw;
  }
}
.howList__item.item-02 {
  width: 38vw;
}
@media only screen and (max-width: 750px) {
  .howList__item.item-02 {
    width: 122.2vw;
  }
}
.howList__header {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 750px) {
  .howList__header {
    display: block;
  }
}
.howList__num {
  width: 5vw;
}
@media only screen and (max-width: 750px) {
  .howList__num {
    width: 75px;
    margin: 0 auto 12px;
  }
}
.howList__read {
  margin-left: 1.3888888889vw;
}
.howList__read img {
  height: 5.1vw;
  width: auto;
  max-width: initial;
}
.howList__read img.-row1 {
  height: 1.3333333333vw;
}
.howList__read img.-row2 {
  height: 3.2222222222vw;
}
.howList__read img.-row35 {
  height: 6.6111111111vw;
}
@media only screen and (max-width: 750px) {
  .howList__read img {
    height: 21.3698630137vw;
  }
  .howList__read img.-row1 {
    height: 5.3vw;
  }
  .howList__read img.-row2 {
    height: 13.2vw;
  }
  .howList__read img.-row35 {
    height: 27.3vw;
  }
}
.howList__img {
  margin-top: 3.3333333333vw;
}
.howAttention {
  margin-top: 80px;
}
@media only screen and (max-width: 750px) {
  .howAttention {
    margin-top: 40px;
  }
}
.howAttention__title {
  text-align: center;
}
.howAttention__title img {
  width: 186px;
}
.howAttentionList {
  display: flex;
  justify-content: space-between;
  max-width: 1080px;
  margin: 0 auto 0;
}
@media only screen and (max-width: 750px) {
  .howAttentionList {
    flex-direction: column;
    align-items: center;
  }
}
.howAttentionList__item {
  width: 23%;
  color: #fff;
  margin-top: 30px;
}
@media only screen and (max-width: 750px) {
  .howAttentionList__item {
    margin-top: 40px;
    width: 75%;
  }
}
.howAttentionList__header {
  display: flex;
  align-items: center;
}
.howAttentionList__icon {
  width: 40px;
}
.howAttentionList__title {
  flex: 1;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.14em;
  white-space: nowrap;
  transform: scaleX(0.85);
  transform-origin: left;
}
@media only screen and (max-width: 750px) {
  .howAttentionList__title {
    text-align: center;
    transform-origin: center;
  }
}
.howAttentionList__text {
  font-size: 12px;
  margin-top: 15px;
  line-height: 1.8;
  letter-spacing: 0.14em;
}
@media only screen and (max-width: 750px) {
  .howAttentionList__text {
    letter-spacing: 0.02em;
    text-align: center;
  }
}

.reason {
  position: relative;
  height: 800vh;
}
.reason__inner {
  position: sticky;
  top: 0px;
}
.reason__wrapper {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.66);
  transition: opacity 0.8s ease-in-out;
  opacity: 0;
}
.reason__wrapper.is-active {
  opacity: 1;
}
.reason__text {
  display: block;
  font-size: 1.3888888889vw;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 200;
  letter-spacing: 0.18em;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .reason__text {
    font-size: 4.1095890411vw;
  }
}
.reason__bg {
  width: 100%;
  height: 100dvh;
}
.reason__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.try {
  background: url(../img/pattern_black.png) repeat center/4px auto;
  padding: 10vw 0 8.8888888889vw;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .try {
    padding: 75px 0 65px;
  }
}
.try__title img {
  width: 29vw;
}
@media only screen and (max-width: 750px) {
  .try__title img {
    width: 82.1917808219vw;
  }
}
.try__img {
  margin-top: 3.3333333333vw;
}
@media only screen and (max-width: 750px) {
  .try__img {
    margin-top: 38px;
    width: 100%;
    height: 79.1780821918vw;
  }
}
.try__img img {
  width: 44.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .try__img img {
    max-width: initial;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.try__read {
  text-align: center;
  margin-top: 3.3vw;
  margin-bottom: 1.1111111111vw;
}
@media only screen and (max-width: 750px) {
  .try__read {
    margin-top: 40px;
    margin-bottom: 10px;
  }
}
.try__read img {
  height: 1.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .try__read img {
    height: 16.0273972603vw;
  }
}
@media only screen and (max-width: 750px) {
  .try__btn {
    padding: 0 4.4%;
  }
}
.try__btn img {
  width: 34.7222222222vw;
}
@media only screen and (max-width: 750px) {
  .try__btn img {
    width: 100%;
  }
}

.bg-beige {
  background: url(../img/pattern_beige.png) repeat center/4px auto;
  padding: 140px 0px 0;
}

.title-butterfly {
  text-align: center;
}
.title-butterfly:before {
  content: "";
  width: 36px;
  height: 41px;
  display: block;
  background: url(../img/icon_butterfly.png) no-repeat center/contain;
  margin: 0 auto 16px;
}

.environment {
  max-width: 585px;
  margin: 0 auto;
}
@media only screen and (max-width: 750px) {
  .environment {
    padding: 0 4.4%;
  }
}
.environmentList {
  margin-top: 30px;
}
.environmentList li {
  text-align: center;
  margin-top: 10px;
  height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #24327d;
  color: #fff;
  font-size: 22px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 750px) {
  .environmentList li {
    font-size: 17px;
  }
}
.environment__text {
  margin-top: 30px;
  font-size: 13px;
  line-height: 2;
  font-weight: 500;
}
@media only screen and (max-width: 750px) {
  .environment__text {
    font-size: 14px;
  }
}

.attention {
  max-width: 1000px;
  margin: 70px auto 0;
}
@media only screen and (max-width: 750px) {
  .attention {
    padding: 0 4.4%;
  }
}
.attention__title {
  margin-top: 36px;
  font-size: 18px;
  font-weight: bold;
}
@media only screen and (max-width: 750px) {
  .attention__title {
    font-size: 17px;
  }
}
.attention__text {
  font-size: 13px;
  line-height: 2;
}
@media only screen and (max-width: 750px) {
  .attention__text {
    font-size: 14px;
  }
}

.faq {
  margin: 80px auto 0;
  max-width: 1000px;
}
@media only screen and (max-width: 750px) {
  .faq {
    padding: 0 4.4%;
  }
}
.faq__title {
  margin-top: 60px;
  border-left: 3px solid #2f41a2;
  color: #24327d;
  font-size: 23px;
  font-weight: 500;
  padding-left: 15px;
  line-height: 1.3;
}
@media only screen and (max-width: 750px) {
  .faq__title {
    font-size: 17px;
  }
}
.faqBlock {
  margin-top: 30px;
}
.faqBlock__header {
  padding: 12px 64px 12px 0;
  display: flex;
  background-color: #24327d;
  border-radius: 10px;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .faqBlock__header {
    padding-right: 50px;
  }
}
.faqBlock__header:after {
  content: "";
  background: url(../img/arrow_top.png) no-repeat center/contain;
  width: 34px;
  height: 34px;
  display: inline-block;
  position: absolute;
  right: 15px;
  top: calc(50% - 17px);
  transform: rotate(180deg);
  transition: transform 0.3s;
}
@media only screen and (max-width: 750px) {
  .faqBlock__header:after {
    width: 24px;
    height: 24px;
    right: 10px;
    top: calc(50% - 12px);
  }
}
.faqBlock__header.is-active:after {
  transform: rotate(0deg);
}
.faqBlock__icon {
  text-align: center;
  width: 60px;
  border-right: 1px solid #fff;
  margin-right: 14px;
}
@media only screen and (max-width: 750px) {
  .faqBlock__icon {
    width: 40px;
  }
}
.faqBlock__icon img {
  width: 15px;
}
.faqBlock__text {
  font-size: 20px;
  color: #fff;
  flex: 1;
}
@media only screen and (max-width: 750px) {
  .faqBlock__text {
    font-size: 17px;
  }
}
.faqBlock__content {
  margin-top: 18px;
  font-size: 13px;
  line-height: 2;
  display: none;
  word-break: break-all;
}
@media only screen and (max-width: 750px) {
  .faqBlock__content {
    font-size: 14px;
  }
}

.footer {
  margin-top: 90px;
  text-align: center;
  padding-bottom: 90px;
  background: url(../img/shadow_footer.png) no-repeat center bottom/contain;
}
.footerBanners {
  display: flex;
  justify-content: center;
  max-width: 1000px;
  margin: 45px auto 0;
}
@media only screen and (max-width: 750px) {
  .footerBanners {
    flex-direction: column;
    align-items: center;
  }
}
.footerBanners__item {
  width: 240px;
  margin: 0 5px;
}
@media only screen and (max-width: 750px) {
  .footerBanners__item {
    width: 240px;
    margin: 10px 0;
  }
}
.footerContact {
  display: flex;
  justify-content: center;
  text-align: left;
  align-items: center;
  font-family: "Noto Serif JP", serif;
  color: #24327d;
  margin-top: 36px;
}
@media only screen and (max-width: 750px) {
  .footerContact {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 750px) {
  .footerContact__left {
    width: 100%;
    text-align: center;
    margin-bottom: 16px;
  }
}
.footerContact__name {
  font-size: 21px;
}
.footerContact__switch {
  font-size: 14px;
}
.footerContact__switch .small {
  font-size: 13px;
}
.footerContact__center {
  font-size: 12px;
  padding: 10px 14px;
  border: 1px solid #24327d;
  margin: 0 16px 0 8px;
}
@media only screen and (max-width: 750px) {
  .footerContact__center {
    margin: 0px 16px 0 0;
  }
}
.footerContact__right {
  font-size: 12px;
}
.footerContact__address a {
  color: inherit;
}

.copyright {
  margin-top: 50px;
  font-size: 10px;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.175em;
  color: #24327d;
}

.popChara {
  position: fixed;
  z-index: 1020;
  top: 0px;
  left: 70px;
  width: calc(100% - 70px);
  height: 100%;
  padding: 60px 0;
  background: url(../img/pop/bg_dark.png) repeat center/4px auto;
  display: none;
}
@media only screen and (max-width: 750px) {
  .popChara {
    width: 100%;
    left: 0;
    padding: 30px 0;
  }
}
.popChara__inner {
  height: 100%;
  overflow: auto;
  background: url(../img/pop/bg_beige.png) repeat center/4px auto;
  padding-top: 5.5555555556vw;
  padding-bottom: 4.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .popChara__inner {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.popCharaHeader {
  display: flex;
  margin-left: 20.4444444444vw;
  height: 32.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .popCharaHeader {
    display: block;
    margin-left: 0;
    padding: 0 4.4%;
    height: auto;
    overflow: hidden;
  }
}
.popCharaHeader__left {
  width: 33.8888888889vw;
}
@media only screen and (max-width: 750px) {
  .popCharaHeader__left {
    width: 100%;
  }
}
.popCharaHeader__thumb {
  position: relative;
  width: 32vw;
  top: -2.58vw;
  left: -2.3vw;
}
@media only screen and (max-width: 750px) {
  .popCharaHeader__thumb {
    width: 116%;
    left: -8%;
    top: 0;
  }
}
.popCharaHeader__story {
  margin-bottom: 2.2222222222vw;
}
@media only screen and (max-width: 750px) {
  .popCharaHeader__story {
    margin-bottom: 20px;
  }
}
.popCharaHeader__story img {
  width: auto;
  height: 1.2222222222vw;
}
@media only screen and (max-width: 750px) {
  .popCharaHeader__story img {
    height: 3.2vw;
  }
}
.popCharaHeader__story.-large img {
  height: 4.6666666667vw;
}
@media only screen and (max-width: 750px) {
  .popCharaHeader__story.-large img {
    height: 15vw;
  }
}
.popCharaHeader__name img {
  width: auto;
  height: 4.1111111111vw;
  margin-bottom: 1.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .popCharaHeader__name img {
    height: 10vw;
    margin-bottom: 20px;
  }
}
.popCharaHeader__seriff img {
  width: auto;
  height: 5.5vw;
  margin-bottom: 1vw;
}
@media only screen and (max-width: 750px) {
  .popCharaHeader__seriff img {
    height: 14.5vw;
    margin-bottom: 15px;
  }
}
.popCharaHeader__seriff.-large img {
  height: 8.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .popCharaHeader__seriff.-large img {
    height: 22vw;
  }
}
.popCharaHeader__text {
  font-size: 0.9166666667vw;
  font-family: "Noto Serif JP", serif;
  line-height: 2;
}
@media only screen and (max-width: 750px) {
  .popCharaHeader__text {
    font-size: 3.4931506849vw;
  }
}
.popCharaBottom {
  display: flex;
  justify-content: space-between;
  margin-left: 20.4444444444vw;
  padding-top: 1.56vw;
}
@media only screen and (max-width: 750px) {
  .popCharaBottom {
    margin-top: 40px;
    margin-left: 0;
    display: block;
    padding-top: 0;
  }
}
.popCharaBottom__profile {
  display: table;
}
@media only screen and (max-width: 750px) {
  .popCharaBottom__profile {
    display: flex;
    flex-wrap: wrap;
  }
}
.popCharaBottom__text {
  font-size: 0.9166666667vw;
  line-height: 2;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 750px) {
  .popCharaBottom__text {
    font-size: 3.4246575342vw;
    padding-left: 4.4%;
  }
}
.popCharaBottom__text .strong {
  font-weight: bold;
}
.popCharaBottom__text .strong img {
  width: auto;
  height: 0.6666666667vw;
  margin-bottom: 0.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .popCharaBottom__text .strong img {
    height: 12px;
    margin-bottom: 10px;
  }
}
#chara01 .popCharaBottom__text .strong {
  color: #df7e00;
}
#chara02 .popCharaBottom__text .strong {
  color: #bea256;
}
#chara03 .popCharaBottom__text .strong {
  color: #e5422f;
}
#chara04 .popCharaBottom__text .strong {
  color: #636da1;
}
#chara05 .popCharaBottom__text .strong {
  color: #d98686;
}
#chara06 .popCharaBottom__text .strong {
  color: #459c7b;
}
#chara07 .popCharaBottom__text .strong {
  color: #3e8fc8;
}
#chara08 .popCharaBottom__text .strong {
  color: #dbaa36;
}
#chara09 .popCharaBottom__text .strong {
  color: #9ebd4c;
}
#chara10 .popCharaBottom__text .strong {
  color: #afb8b0;
}
.popCharaBottom__text ul {
  display: table-row;
}
@media only screen and (max-width: 750px) {
  .popCharaBottom__text ul {
    display: contents;
  }
}
.popCharaBottom__text ul li {
  display: table-cell;
  padding-right: 2em;
}
@media only screen and (max-width: 750px) {
  .popCharaBottom__text ul li {
    display: block;
    width: 50%;
  }
}
#chara01 .popCharaBottom__text .color {
  color: #df7e00;
}
#chara02 .popCharaBottom__text .color {
  color: #bea256;
}
#chara03 .popCharaBottom__text .color {
  color: #e5422f;
}
#chara04 .popCharaBottom__text .color {
  color: #636da1;
}
#chara05 .popCharaBottom__text .color {
  color: #d98686;
}
#chara06 .popCharaBottom__text .color {
  color: #459c7b;
}
#chara07 .popCharaBottom__text .color {
  color: #3e8fc8;
}
#chara08 .popCharaBottom__text .color {
  color: #dbaa36;
}
#chara09 .popCharaBottom__text .color {
  color: #9ebd4c;
}
#chara10 .popCharaBottom__text .color {
  color: #afb8b0;
}
.popCharaBottom__text .caution {
  font-size: 0.6666666667vw;
  margin-top: 0.8333333333vw;
}
@media only screen and (max-width: 750px) {
  .popCharaBottom__text .caution {
    font-size: 12px;
    margin-top: 10px;
  }
}
.popCharaBottom__right {
  width: 42.1111111111vw;
}
@media only screen and (max-width: 750px) {
  .popCharaBottom__right {
    margin-top: 35px;
    width: auto;
    margin-left: 6.8493150685vw;
  }
}
.popCharaOther {
  padding-top: 4.4444444444vw;
  margin-left: 20.4444444444vw;
}
@media only screen and (max-width: 750px) {
  .popCharaOther {
    padding: 0 4.4% 0;
    margin-left: 0;
  }
}
.popCharaOther__title {
  text-align: center;
  width: 55.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .popCharaOther__title {
    width: 100%;
  }
}
.popCharaOther__title img {
  width: 23.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .popCharaOther__title img {
    width: 68vw;
  }
}
.popCharaOtherList {
  margin-top: 0.2777777778vw;
  display: flex;
  flex-wrap: wrap;
  width: 55.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .popCharaOtherList {
    width: 100%;
    justify-content: center;
    margin-top: 20px;
  }
}
.popCharaOtherList li {
  width: 12.3888888889vw;
  margin-top: 1.9444444444vw;
  transition: opacity 0.3s;
}
@media only screen and (max-width: 750px) {
  .popCharaOtherList li {
    width: 41.095890411vw;
  }
}
@media only screen and (min-width: 751px) {
  .popCharaOtherList li:not(:nth-child(5n+1)) {
    margin-left: -1.6666666667vw;
  }
}
.popCharaOtherList li:hover {
  opacity: 0.7;
}
.popChara__close {
  position: absolute;
  top: 5vw;
  right: 1.6666666667vw;
  width: 3.3888888889vw;
}
@media only screen and (max-width: 750px) {
  .popChara__close {
    width: 40px;
    top: 34px;
    right: 10px;
  }
}

.loading {
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(#2577ca, #30399c);
}
.loading__logo {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  display: none;
}
.loading__logo img {
  width: 16.6%;
}
@media only screen and (max-width: 750px) {
  .loading__logo img {
    width: 60%;
  }
}
.loading__inner {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.loading__title {
  overflow: hidden;
}
@media only screen and (max-width: 750px) {
  .loading__title {
    width: 91.2%;
    margin: 0 auto;
  }
}
.loading__title span {
  display: inline-block;
  transform: translateY(100%);
}
.loading__subtitle {
  overflow: hidden;
  margin-top: 33px;
}
.loading__subtitle span {
  display: inline-block;
  transform: translateY(100%);
}
.loadingSound {
  margin-top: 48px;
  display: flex;
  justify-content: center;
  transform: translateY(40px);
  opacity: 0;
}
.loadingSound__item {
  border: 1px solid #fff;
  display: flex;
  padding: 12px 0;
  margin: 0 6px;
  width: 148px;
}
@media (hover: hover) {
  .loadingSound__item {
    transition: opacity 0.3s;
  }
  .loadingSound__item:hover {
    opacity: 0.7;
  }
}
.loadingSound__item .playbar {
  transform: scale(1.4);
}
.loadingSound__text {
  width: 47.3%;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #fff;
}
.loadingSound__text img {
  width: auto;
  height: 12px;
}
.loadingSound__icon {
  width: 52.7%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.loading.is-active .loading__title span {
  transform: translateY(0);
  transition: transform 0.8s 0.3s;
}
.loading.is-active .loading__subtitle span {
  transform: translateY(0);
  transition: transform 0.8s 0.6s;
}
.loading.is-active .loadingSound {
  transform: translateY(0);
  opacity: 1;
  transition: transform 0.8s 0.9s, opacity 0.8s 0.9s;
}

.offbar {
  height: 1px;
  background-color: #fff;
  width: 40px;
}

.popUtsumi {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: rgba(46, 68, 165, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1020;
  display: none;
}
.popUtsumi figure img {
  width: auto;
  height: 86vh;
}
.popUtsumi__close {
  position: absolute;
  top: 1.6666666667vw;
  right: 1.6666666667vw;
  width: 3.3888888889vw;
}
@media only screen and (max-width: 750px) {
  .popUtsumi__close {
    width: 40px;
    top: 34px;
    right: 10px;
  }
}

.popStory {
  background-color: #081530;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 1050;
  display: none;
}
.popStory__inner {
  text-align: center;
  color: #fff;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 8.2222222222vw 0 6.6666666667vw;
}
.popStory__story {
  display: none;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 750px) {
  .popStory__story {
    height: 100%;
    padding: 75px 0 60px;
  }
}
.popStory__close {
  position: absolute;
  top: 1.6666666667vw;
  right: 1.6666666667vw;
  width: 3.3888888889vw;
}
@media only screen and (max-width: 750px) {
  .popStory__close {
    width: 40px;
    top: 8px;
    right: 10px;
  }
}
.popStory__title img {
  width: auto;
  height: 6vw;
}
@media only screen and (max-width: 750px) {
  .popStory__title img {
    height: 72px;
  }
}
.popStory__subtitle {
  margin-top: 3.1111111111vw;
}
@media only screen and (max-width: 750px) {
  .popStory__subtitle {
    margin-top: 40px;
  }
}
.popStory__subtitle img {
  width: auto;
  height: 4.5555555556vw;
}
@media only screen and (max-width: 750px) {
  .popStory__subtitle img {
    height: 46px;
  }
}
.popStory__area {
  margin-top: 1.7777777778vw;
}
@media only screen and (max-width: 750px) {
  .popStory__area {
    margin-top: 20px;
  }
}
.popStory__area img {
  width: auto;
  height: 1.2222222222vw;
}
@media only screen and (max-width: 750px) {
  .popStory__area img {
    height: 15px;
  }
}
.popStory__text {
  margin-top: 2.7777777778vw;
  font-size: 0.9166666667vw;
  line-height: 2.4;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 750px) {
  .popStory__text {
    margin-top: 30px;
    font-size: 12px;
    padding: 0 20px;
  }
}
.popStory__thumb {
  margin-top: 2.2222222222vw;
}
@media only screen and (max-width: 750px) {
  .popStory__thumb {
    margin-top: 30px;
  }
}
.popStory__thumb img {
  width: 17.7777777778vw;
  height: auto;
}
@media only screen and (max-width: 750px) {
  .popStory__thumb img {
    width: 72%;
  }
}

/* ----------------------------------------------------------------------
 page
---------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
 animation
---------------------------------------------------------------------- */
.ani-blur-in {
  filter: blur(4px);
  opacity: 0;
  transition: filter 0.4s ease-in-out, opacity 0.4s ease-in-out;
}
.ani-blur-in.-slow {
  transition: filter 1s ease-in-out, opacity 1s ease-in-out;
}
.ani-blur-in.is-active, .is-active .ani-blur-in {
  filter: blur(0px);
  opacity: 1;
}

.ani-from-left {
  transform: translateX(-100%);
  transition: transform 0.6s ease-in-out;
}
.ani-from-left.is-active, .is-active .ani-from-left {
  transform: translateX(0);
}

.ani-from-right {
  transform: translateX(100%);
  transition: transform 0.6s ease-in-out;
}
.ani-from-right.is-active, .is-active .ani-from-right {
  transform: translateX(0);
}

.ani-marker {
  position: relative;
  display: inline-block;
  margin-left: 1vw;
}
@media only screen and (max-width: 750px) {
  .ani-marker {
    margin-left: 3.5616438356vw;
  }
}
.ani-marker + .ani-marker {
  margin-top: 1.8vw;
}
@media only screen and (max-width: 750px) {
  .ani-marker + .ani-marker {
    margin-top: 5.6vw;
  }
}
.ani-marker img {
  position: relative;
  z-index: 2;
}
.ani-marker:after {
  content: "";
  background-color: #2e44a5;
  display: block;
  position: absolute;
  width: calc(100% + 2vw);
  height: calc(100% + 1.4444444444vw);
  top: -0.7222222222vw;
  left: -1vw;
  z-index: 1;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1s ease-in-out;
}
@media only screen and (max-width: 750px) {
  .ani-marker:after {
    width: calc(100% + 7.1232876712vw);
    height: calc(100% + 4.3835616438vw);
    top: -2.1917808219vw;
    left: -3.5616438356vw;
  }
}
.ani-marker.is-active:after, .is-active .ani-marker:after {
  transform: scaleX(1);
}

.ani-text-slide em {
  display: inline-block;
  transform: translateX(20px);
  opacity: 0;
  transition: transform 1s ease-in-out, opacity 1s ease-in-out;
}
.ani-text-slide.is-active em, .is-active .ani-text-slide em {
  transform: translateX(0);
  opacity: 1;
}

.reason__text em {
  display: inline-block;
  transform: translateX(0);
  opacity: 1;
  transition: transform 1s ease-in-out, opacity 1s ease-in-out;
}
.reason__text.is-active em {
  transform: translateX(20px);
  opacity: 0;
}
.reason__text.is-reverse em {
  transform: translateX(-20px);
  opacity: 0;
}

.ani-delay-1 {
  transition-delay: 0.2s !important;
}
.ani-delay-1:after {
  transition-delay: 0.2s !important;
}

.ani-delay-15 {
  transition-delay: 0.3s !important;
}
.ani-delay-15:after {
  transition-delay: 0.3s !important;
}

.ani-delay-2 {
  transition-delay: 0.4s !important;
}
.ani-delay-2:after {
  transition-delay: 0.4s !important;
}

.ani-delay-25 {
  transition-delay: 0.5s !important;
}
.ani-delay-25:after {
  transition-delay: 0.5s !important;
}

.ani-delay-3 {
  transition-delay: 0.6s !important;
}
.ani-delay-3:after {
  transition-delay: 0.6s !important;
}

.ani-delay-35 {
  transition-delay: 0.7s !important;
}
.ani-delay-35:after {
  transition-delay: 0.7s !important;
}

.ani-delay-4 {
  transition-delay: 0.8s !important;
}
.ani-delay-4:after {
  transition-delay: 0.8s !important;
}

.ani-delay-45 {
  transition-delay: 0.9s !important;
}
.ani-delay-45:after {
  transition-delay: 0.9s !important;
}

.ani-delay-5 {
  transition-delay: 1s !important;
}
.ani-delay-5:after {
  transition-delay: 1s !important;
}

.ani-delay-55 {
  transition-delay: 1.1s !important;
}
.ani-delay-55:after {
  transition-delay: 1.1s !important;
}

.ani-delay-6 {
  transition-delay: 1.2s !important;
}
.ani-delay-6:after {
  transition-delay: 1.2s !important;
}

.ani-delay-65 {
  transition-delay: 1.3s !important;
}
.ani-delay-65:after {
  transition-delay: 1.3s !important;
}

.ani-delay-7 {
  transition-delay: 1.4s !important;
}
.ani-delay-7:after {
  transition-delay: 1.4s !important;
}

.ani-delay-75 {
  transition-delay: 1.5s !important;
}
.ani-delay-75:after {
  transition-delay: 1.5s !important;
}

.ani-delay-8 {
  transition-delay: 1.6s !important;
}
.ani-delay-8:after {
  transition-delay: 1.6s !important;
}

.ani-delay-9 {
  transition-delay: 1.8s !important;
}
.ani-delay-9:after {
  transition-delay: 1.8s !important;
}

.ani-delay-10 {
  transition-delay: 2s !important;
}
.ani-delay-10:after {
  transition-delay: 2s !important;
}

@keyframes stream {
  100% {
    transform: translateX(-51.2%);
  }
}
@keyframes scrollAnim {
  0% {
    top: 0;
    bottom: auto;
    height: 0;
  }
  40% {
    top: 0;
    bottom: auto;
    height: 100%;
  }
  41% {
    top: auto;
    bottom: 0;
    height: 100%;
  }
  60% {
    top: auto;
    bottom: 0;
    height: 100%;
  }
  100% {
    top: auto;
    bottom: 0;
    height: 0;
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes soundbar {
  0% {
    transform: scaleY(0);
  }
  50% {
    transform: scaleY(500%);
  }
  0% {
    transform: scaleY(0);
  }
}
@keyframes mvLight {
  0%, 100% {
    transform: rotate(10deg);
  }
  50% {
    transform: rotate(-10deg);
    scale: 1.5;
    opacity: 0.25;
  }
}
/*# sourceMappingURL=style.css.map */
