@charset "UTF-8";
/* ------------------------------------------------------------
 easing
------------------------------------------------------------ */
:root {
  --easeInSine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --easeOutSine: cubic-bezier(0.39, 0.575, 0.565, 1 );
  --easeInOutSine: cubic-bezier(0.445, 0.05, 0.55, 0.95 );
  --easeInQuad: cubic-bezier(0.55, 0.085, 0.68, 0.53 );
  --easeOutQuad: cubic-bezier(0.25, 0.46, 0.45, 0.94 );
  --easeInOutQuad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --easeInCubic: cubic-bezier(0.55, 0.055, 0.675, 0.19 );
  --easeOutCubic: cubic-bezier(0.215, 0.61, 0.355, 1 );
  --easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1 );
  --easeInQuart: cubic-bezier(0.895, 0.03, 0.685, 0.22 );
  --easeOutQuart: cubic-bezier(0.165, 0.84, 0.44, 1 );
  --easeInOutQuart: cubic-bezier(0.77, 0, 0.175, 1 );
  --easeInQuint: cubic-bezier(0.755, 0.05, 0.855, 0.06 );
  --easeOutQuint: cubic-bezier(0.23, 1, 0.32, 1 );
  --easeInOutQuint: cubic-bezier(0.86, 0, 0.07, 1 );
  --easeInExpo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --easeOutExpo: cubic-bezier(0.19, 1, 0.22, 1 );
  --easeInOutExpo: cubic-bezier(1, 0, 0, 1 );
  --easeInCirc: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --easeOutCirc: cubic-bezier(0.075, 0.82, 0.165, 1 );
  --easeInOutCirc: cubic-bezier(0.785, 0.135, 0.15, 0.86 );
  --easeInBack: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --easeOutBack: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --easeInOutBack: cubic-bezier(0.68, -0.55, 0.265, 1.55 ); }

html.modal__active,
body.modal__active,
html.nav__active,
body.nav__active {
  overflow: hidden;
  height: auto; }

div, span, a {
  box-sizing: border-box; }

/**
 * clamp()関数を生成するSCSS関数 (LibSass版)
 * @param {Number} $min-size - 最小フォントサイズ (例: 1rem, 16px)
 * @param {Number} $max-size - 最大フォントサイズ (例: 2.5rem, 40px)
 * @return {String} - CSSのclamp()関数
 */
:root {
  --infiniteloop-item-length:0; }

/**********************************************************************
	テキスト
**********************************************************************/
@media screen and (min-width: 768px) {
  .wrapper .smp_only {
    display: none !important; } }
@media screen and (max-width: 768px) {
  .wrapper .pc_only {
    display: none !important; } }
.wrapper .center {
  text-align: center; }
.wrapper .left {
  text-align: left; }
@media screen and (max-width: 768px) {
  .wrapper .left_sp {
    text-align: left !important; } }
.wrapper .right {
  text-align: right; }
.wrapper .hidetext {
  overflow: hidden;
  font-size: 1px;
  text-indent: -9999px; }
.wrapper .none {
  display: none; }
.wrapper .txt_x-large {
  font-size: 131%; }
.wrapper .wrapper .txt_large {
  font-size: 12px; }
.wrapper .txt_small {
  font-size: 85%; }
.wrapper .txt_x-small {
  font-size: 77%; }
.wrapper .thin {
  font-weight: normal; }
.wrapper .attenntion {
  margin-left: 1em;
  line-height: 140%;
  text-indent: -1em; }
.wrapper .red {
  color: #d41316; }
.wrapper .white {
  color: #fff;
  font-size: 12px;
  padding-bottom: 200px; }
  @media screen and (max-width: 768px) {
    .wrapper .white {
      color: #fff;
      font-size: 2.34375vw;
      padding-bottom: 30vw; } }
.wrapper .italic {
  font-style: italic; }
.wrapper .fs18 {
  font-size: 18px; }
  @media screen and (max-width: 768px) {
    .wrapper .fs18 {
      font-size: 3.90625vw; } }
.wrapper .fs18_sp12 {
  font-size: 18px; }
  @media screen and (max-width: 768px) {
    .wrapper .fs18_sp12 {
      font-size: 1.9vw; } }
.wrapper .fs24 {
  font-size: 24px; }
  @media screen and (max-width: 768px) {
    .wrapper .fs24 {
      font-size: 4vw; } }
.wrapper .fs46 {
  font-size: 46px; }
  @media screen and (max-width: 768px) {
    .wrapper .fs46 {
      font-size: 6vw; } }
.wrapper .t_pink {
  color: #ffaccd; }

/**********************************************************************
margin / padding
*********************************************************************/
@media screen and (min-width: 768px) {
  .wrapper .mt5 {
    margin-top: 5px !important; }
  .wrapper .mt10 {
    margin-top: 10px !important; }
  .wrapper .mt15 {
    margin-top: 15px !important; }
  .wrapper .mt20 {
    margin-top: 20px !important; }
  .wrapper .mt30 {
    margin-top: 30px !important; }
  .wrapper .mt50 {
    margin-top: 50px !important; }
  .wrapper .mt60 {
    margin-top: 60px !important; }
  .wrapper .mt80 {
    margin-top: 80px !important; }
  .wrapper .mb5 {
    margin-bottom: 5px !important; }
  .wrapper .mb10 {
    margin-bottom: 10px !important; }
  .wrapper .mb15 {
    margin-bottom: 15px !important; }
  .wrapper .mb20 {
    margin-bottom: 20px !important; }
  .wrapper .mb30 {
    margin-bottom: 30px !important; }
  .wrapper .mb40 {
    margin-bottom: 40px !important; }
  .wrapper .mb50 {
    margin-bottom: 50px !important; }
  .wrapper .mb60 {
    margin-bottom: 60px !important; }
  .wrapper .mb80 {
    margin-bottom: 80px !important; }
  .wrapper .lr_p20 {
    padding: 0 20px !important; }
  .wrapper .pt10 {
    padding-top: 10px !important; }
  .wrapper .pt20 {
    padding-top: 20px !important; }
  .wrapper .p20 {
    padding: 20px !important; }
  .wrapper .pb30 {
    padding-bottom: 30px !important; }
  .wrapper .pb40 {
    padding-bottom: 40px !important; } }
.wrapper .w100 {
  width: 100%; }
.wrapper .w90 {
  width: 90%;
  margin: 0 auto;
  display: block; }
.wrapper .w80 {
  width: 80%; }
.wrapper .w75 {
  width: 75%;
  margin: 0 auto;
  display: block; }
.wrapper .w50 {
  width: 50%; }
.wrapper .w40 {
  width: 40%; }
.wrapper .w30 {
  width: 30%; }
.wrapper .wpcsp50 {
  width: 50%; }
.wrapper .radius5 {
  border-radius: 5px; }

@media screen and (max-width: 768px) {
  .wrapper .wpcsp50 {
    width: 50%; }
  .wrapper .wpcsp80 {
    width: 70%; }
  .wrapper .w90 {
    width: 100%; }
  .wrapper .w75 {
    width: 100%; }
  .wrapper .mt5 {
    margin-top: .78vw !important; }
  .wrapper .mt10 {
    margin-top: 1.56vw !important; }
  .wrapper .mt15 {
    margin-top: 2.5vw !important; }
  .wrapper .mt20 {
    margin-top: 3.12vw !important; }
  .wrapper .mt30 {
    margin-top: 5vw !important; }
  .wrapper .mt50 {
    margin-top: 7.8vw !important; }
  .wrapper .mt60 {
    margin-top: 10vw !important; }
  .wrapper .mt80 {
    margin-top: 12.48vw !important; }
  .wrapper .mb5 {
    margin-bottom: .78vw !important; }
  .wrapper .mb10 {
    margin-bottom: 1.56vw !important; }
  .wrapper .mb15 {
    margin-bottom: 2.5vw !important; }
  .wrapper .mb20 {
    margin-bottom: 3.12vw !important; }
  .wrapper .mb30 {
    margin-bottom: 5vw !important; }
  .wrapper .mb40 {
    /*margin-bottom: 6.24vw !important;*/ }
  .wrapper .mb50 {
    margin-bottom: 7.8vw !important; }
  .wrapper .mb60 {
    margin-bottom: 10vw !important; }
  .wrapper .mb80 {
    margin-bottom: 12.48vw !important; }
  .wrapper .lr_p20 {
    padding: 0 3.12vw !important; }
  .wrapper .p20 {
    padding: 3.12vw !important; }
  .wrapper .pt10 {
    padding-top: 1.56vw !important; }
  .wrapper .pt20 {
    padding-top: 3.12vw !important; }
  .wrapper .pb30 {
    padding-bottom: 5vw !important; }
  .wrapper .pb40 {
    padding-bottom: 6.24vw !important; } }
.wrapper .t_pink {
  color: #ffaccd; }
.wrapper .t_blue {
  color: #2b86e4; }

.wrapper {
  background: url(../../images/bg.png);
  background-repeat: repeat;
  background-size: 60px; }
  @media screen and (max-width: 768px) {
    .wrapper {
      background-size: auto; } }
  @media screen and (max-width: 768px) {
    .wrapper .wrap-inner {
      width: 100%;
      max-width: 768px; } }
  .wrapper main.main {
    margin: 0 auto;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .wrapper main.main {
        box-sizing: border-box;
        width: auto;
        padding: 0; }
        .wrapper main.main:first-child {
          padding: 0 0 15vw; } }
  .wrapper section {
    /*position: relative;*/ }
  .wrapper section#TICKET {
    margin: 0 auto;
    background: #2b86e4;
    padding-bottom: 15vw; }
    .wrapper section#TICKET .ticket_box {
      border: 6px solid #7fbeff;
      /* border-style: solid; */
      /* border-width: 8px; */
      /* border-color: rgb(127, 190, 255); */
      border-radius: 28px;
      background-color: white;
      box-shadow: 7px 9px 0px 0px #ffaccd;
      margin: 2vw;
      padding: 2vw; }
      .wrapper section#TICKET .ticket_box h4 {
        letter-spacing: 3px;
        font-size: 50px; }
        @media screen and (max-width: 768px) {
          .wrapper section#TICKET .ticket_box h4 {
            font-size: 5.5vw; } }
      @media screen and (max-width: 768px) {
        .wrapper section#TICKET .ticket_box {
          width: 92%;
          margin: 0 auto 8vw;
          padding: 4vw; } }
      .wrapper section#TICKET .ticket_box::before {
        content: url("../../images/h3_arrow.png");
        display: inline-block;
        vertical-align: middle;
        position: absolute;
        left: -20px; }
        @media screen and (max-width: 768px) {
          .wrapper section#TICKET .ticket_box::before {
            content: url(../../images/h3_arrow_sp.png);
            transform: scale(0.45);
            transform-origin: left top;
            left: 0; } }
  .wrapper section#SPONSOR {
    margin-bottom: 60px;
    background: #ffaccd; }
    @media screen and (max-width: 768px) {
      .wrapper section#SPONSOR {
        margin-bottom: 10vw; } }
  .wrapper section#ACCESS {
    padding: 30px 0 0; }
    @media screen and (max-width: 768px) {
      .wrapper section#ACCESS {
        padding: 5vw 0 0; } }
  .wrapper section#PROGRAM {
    padding: 30px 0 50px; }
    @media screen and (max-width: 768px) {
      .wrapper section#PROGRAM {
        padding: 0 0; } }
  .wrapper section#GOODS {
    margin: 0 auto 0;
    background: url(../../images/bg_dot.png);
    padding: 0 0 60px; }
    @media screen and (max-width: 768px) {
      .wrapper section#GOODS {
        margin: 0 auto 0;
        padding: 0 0 0; } }
    .wrapper section#GOODS .w_box {
      padding: 0; }
      @media screen and (max-width: 768px) {
        .wrapper section#GOODS .w_box {
          padding: 0 0; } }
      .wrapper section#GOODS .w_box p {
        width: 96%;
        margin: 2% auto 2%;
        padding: 0; }
        @media screen and (max-width: 768px) {
          .wrapper section#GOODS .w_box p {
            width: 94%;
            padding: 0 0;
            margin: 3% auto 3%; } }
  .wrapper .main_img img {
    width: 100%;
    text-align: center;
    margin: 0 auto;
    display: block; }
    @media screen and (max-width: 768px) {
      .wrapper .main_img img {
        width: 100%; } }
  .wrapper .main_caption {
    margin: 30px auto 40px;
    display: block;
    color: #fff;
    font-size: 24px;
    letter-spacing: 0.025em; }
    @media screen and (max-width: 768px) {
      .wrapper .main_caption {
        font-size: 4.6875vw; } }
  .wrapper .main_caption img {
    width: 50%; }
  .wrapper section h3 img {
    height: 142px;
    margin: 88px auto 40px; }
    @media screen and (max-width: 768px) {
      .wrapper section h3 img {
        height: 13vw;
        margin: 8vw auto 4vw; } }
  .wrapper section h4 img {
    height: 75px;
    margin: 20px auto 5px; }
    @media screen and (max-width: 768px) {
      .wrapper section h4 img {
        height: 9.5052vw; } }
  .wrapper .new_box {
    /*display: flex;
        padding: 2em;
        margin: 0 auto 4em;
        color: #fff;
        font-size: 28px;
        text-align: left;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: space-evenly;
        letter-spacing: 6px;
        align-items: center;*/ }
    @media screen and (max-width: 768px) {
      .wrapper .new_box {
        /*   padding: 2vw;
            margin: 0 auto 14vw;
            color: #fff;*/ } }
    .wrapper .new_box span {
      gap: 0;
      padding: 0; }
      @media screen and (max-width: 768px) {
        .wrapper .new_box span {
          padding: 2vw;
          font-size: 3.125vw; } }
    .wrapper .new_box span.txt {
      border-left: 2px solid #fff;
      width: 80%; }
      @media screen and (max-width: 768px) {
        .wrapper .new_box span.txt {
          width: 75%; } }
  .wrapper .w_box {
    background: #ffffff;
    display: block;
    box-sizing: content-box;
    /*border: 6px solid rgba(255, 255, 255, 0.7) !important;*/
    background-clip: padding-box;
    padding: 4em;
    margin: 0 auto 4em;
    border-style: solid;
    border-width: 6px 3px;
    /* 上下6px、左右3px */
    border-image: linear-gradient(90deg, #ffd9ed 0%, #ffd9ed 50%, #b8a3ff 50%, #b8a3ff 100%) 1; }
    @media screen and (max-width: 768px) {
      .wrapper .w_box {
        padding: 0 1em;
        margin: 0 auto 4em; } }
    .wrapper .w_box a {
      color: #2f1b7a;
      text-decoration: underline;
      overflow-wrap: break-word;
      letter-spacing: 0; }
      .wrapper .w_box a:visited {
        color: #e060ab; }
    .wrapper .w_box h4 {
      font-size: 30px;
      /* margin-top: 20px; */
      letter-spacing: 0.025em;
      text-align: left; }
      @media screen and (max-width: 768px) {
        .wrapper .w_box h4 {
          font-size: 6.25vw;
          margin-top: 10.416vw;
          line-height: 1.4;
          padding: 0 4vw 0 4vw; } }
    .wrapper .w_box .t_pink {
      color: #ffaccd; }
    .wrapper .w_box .t_blue {
      color: #2b86e4; }
    .wrapper .w_box p {
      font-family: "a-otf-ud-shin-maru-go-pr6n", sans-serif;
      font-weight: bold;
      font-style: normal;
      letter-spacing: 0.075em;
      width: 92%;
      margin: 10px auto 50px;
      padding: 1em 2em;
      font-size: 14px;
      font-weight: normal;
      /*    letter-spacing: 1px;*/ }
      @media screen and (max-width: 768px) {
        .wrapper .w_box p {
          width: 92%;
          padding: 1em 1em;
          font-weight: 600 !important;
          font-size: 3.125vw;
          margin: 1em auto 13.02vw;
          letter-spacing: 0.025em; } }
    .wrapper .w_box p.b_pink {
      text-align: left;
      border-left: 2px solid #e060ab; }
      @media screen and (max-width: 768px) {
        .wrapper .w_box p.b_pink {
          border-left: 1px solid #e060ab; } }
    .wrapper .w_box p.b_blue {
      text-align: left;
      border-left: 2px solid #2f1b7a; }
      @media screen and (max-width: 768px) {
        .wrapper .w_box p.b_blue {
          border-left: 1px solid #2f1b7a; } }
  .wrapper .sc_btn {
    /*    margin: -88px auto 0!important;
        position: absolute;
        right: 0;
        left: 0;*/
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .wrapper .sc_btn {
        margin: 0 auto 2vw !important; } }
    .wrapper .sc_btn img {
      height: 92px;
      transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1); }
      @media screen and (max-width: 768px) {
        .wrapper .sc_btn img {
          width: auto;
          height: 24vw; } }
      .wrapper .sc_btn img:hover {
        transform: scale(1.1);
        cursor: pointer; }

.wrapper .logo {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  text-align: center;
  width: 20.2604vw;
  max-width: 388px; }
  .wrapper .logo img {
    width: 100%;
    height: auto;
    image-rendering: pixelated; }
    @media screen and (max-width: 768px) {
      .wrapper .logo img {
        image-rendering: auto; } }
  @media screen and (max-width: 768px) {
    .wrapper .logo {
      width: 54.55729vw;
      max-width: 419px;
      top: 51%;
      transform: translate(-50%, -50%);
      image-rendering: auto; } }

.wrapper {
  /* preference for reduced motion */ }
  .wrapper .hero {
    position: relative;
    background-color: #fff; }
    @media screen and (max-width: 768px) {
      .wrapper .hero {
        padding-bottom: 1vw; } }
    .wrapper .hero__message {
      position: absolute;
      bottom: 26px;
      right: 98px;
      width: 17.13541vw;
      max-width: 329px;
      height: 3.54166vw;
      max-height: 68px;
      z-index: 10; }
      @media screen and (max-width: 768px) {
        .wrapper .hero__message {
          bottom: 2.86458vw;
          right: 2.86458vw;
          width: 50.78125vw;
          max-width: 390px;
          height: 9.11458vw;
          max-height: 70px; } }
      .wrapper .hero__message img {
        width: 100%;
        height: auto;
        display: block; }
    .wrapper .hero__slides {
      display: grid;
      grid-template-columns: 1fr 1fr;
      aspect-ratio: 1920 / 911;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .wrapper .hero__slides {
          grid-template-columns: 1fr;
          aspect-ratio: 768 / 1440;
          gap: 80px; } }
    .wrapper .hero__side {
      position: relative;
      overflow: hidden; }
    .wrapper .hero__slide {
      position: absolute;
      width: min(46.3541vw, 890px);
      inset: 0;
      background-size: cover;
      background-position: center;
      opacity: 0;
      transform: scale(1);
      transition: opacity 800ms ease-in-out;
      will-change: opacity, transform;
      aspect-ratio: 960 / 911; }
      .wrapper .hero__slide:not(.active) img {
        content-visibility: auto; }
      .wrapper .hero__slide img {
        transform: translateZ(0);
        backface-visibility: hidden; }
      @media screen and (max-width: 768px) {
        .wrapper .hero__slide {
          aspect-ratio: 768 / 680; } }
      .wrapper .hero__slide[aria-hidden="false"] {
        opacity: 1;
        transform: scale(1);
        transition: opacity 800ms ease-in-out, transform 0ms linear; }
      .wrapper .hero__slide[aria-hidden="true"] {
        opacity: 0;
        transform: scale(1.2);
        transition: opacity 800ms ease-in-out, transform 1000ms ease-in-out; }
      .wrapper .hero__slide:before {
        content: '';
        position: absolute;
        inset: 0;
        pointer-events: none; }
  @media (prefers-reduced-motion: reduce) {
    .wrapper .hero__slide {
      transition: none !important; } }

.wrapper .vdl-linegr {
  font-family: "vdl-lineg", sans-serif;
  font-weight: 400;
  font-style: normal; }

.wrapper #CAST {
  font-family: "vdl-lineg", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.025em; }
  @media screen and (max-width: 768px) {
    .wrapper #CAST {
      margin-bottom: 0; } }
  .wrapper #CAST .cast_box {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: stretch;
    justify-content: center;
    align-items: flex-start;
    margin: 20px auto 80px; }
    @media screen and (max-width: 768px) {
      .wrapper #CAST .cast_box {
        margin: 1em auto;
        text-align: center;
        flex-wrap: wrap;
        justify-content: center;
        align-content: flex-start;
        align-items: flex-start;
        width: 100%;
        overflow: auto;
        gap: 2.864583vw; } }
    .wrapper #CAST .cast_box div {
      line-height: 1.4; }
      @media screen and (max-width: 768px) {
        .wrapper #CAST .cast_box div {
          text-align: center;
          width: 28.64583vw;
          font-size: 3.125vw; } }
      .wrapper #CAST .cast_box div img {
        margin: 0 10px 10px; }
        @media screen and (max-width: 768px) {
          .wrapper #CAST .cast_box div img {
            width: 100%;
            margin: auto;
            padding-bottom: 2.864583vw; } }
  .wrapper #CAST .pink {
    color: #ffdbee; }
  .wrapper #CAST .blue {
    color: #ddd3ff; }

.wrapper .bangumi_img {
  /*	padding-top: 110px;*/
  width: 100%; }
  @media screen and (max-width: 768px) {
    .wrapper .bangumi_img {
      /*        padding-top: 0;
              margin-top: 32vw;*/ } }
  .wrapper .bangumi_img img {
    width: 100%; }
    @media screen and (max-width: 768px) {
      .wrapper .bangumi_img img {
        /*    height: 100%;
            object-fit: cover; 
            object-position: center;*/ } }

body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0; }

.wrapper .modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%; }

.wrapper .modal-bg {
  position: absolute;
  height: 100vh;
  width: 100%;
  background: rgba(0, 0, 0, 0.8); }

.wrapper .modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: scroll;
  height: 80%;
  width: 80%;
  background: white;
  padding: 40px;
  max-width: 800px;
  font-size: 14px;
  font-weight: normal; }

.wrapper .modal-content {
  color: #000; }

.wrapper a.js-modal-open {
  text-decoration: none;
  color: #fff; }

/*
.wrapper .modal-bg {
    z-index: 999;
}
.wrapper .modal-content {
    z-index: 1000;
}*/
.wrapper .btn-close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 30px;
  height: 30px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0; }

.wrapper .btn-close span {
  display: block;
  position: absolute;
  left: 3px;
  width: 24px;
  height: 2px;
  /* 線の太さ */
  background-color: #333;
  /* 線の色 */
  border-radius: 2px;
  transition: transform 0.2s ease, background-color 0.2s; }

.wrapper .btn-close span:nth-child(1) {
  top: 14px;
  transform: rotate(45deg); }

.wrapper .btn-close span:nth-child(2) {
  top: 14px;
  transform: rotate(-45deg); }

.wrapper .btn-close:hover span {
  background-color: #888; }

.wrapper {
  /* CP時 バナー大 */
  /*  @media screen and (min-width: 1300px) {
      .win_foot_bnr_inner_cp_big {
        width: 1097px;
      }
    }*/ }
  .wrapper .win_foot_bnr {
    position: fixed;
    bottom: 9px;
    right: 2px;
    z-index: 999 !important; }
    @media screen and (max-width: 768px) {
      .wrapper .win_foot_bnr {
        position: fixed;
        bottom: 5vw !important;
        right: 12vw !important;
        /* left: 64vw; */
        /*        z-index: 5;*/
        width: 35.15625vw; } }
  .wrapper .win_foot_bnr img {
    vertical-align: top; }
  .wrapper .banner_img {
    height: 120px !important; }
  .wrapper .win_foot_bnr {
    position: fixed;
    bottom: 30px;
    right: 20px;
    /*    z-index: 5;*/ }
  .wrapper .win_foot_bnr img {
    vertical-align: top; }
  .wrapper .win_foot_bnr_big {
    position: fixed;
    bottom: 0;
    z-index: 5;
    width: 100%;
    height: 100px; }
  .wrapper .win_foot_bnr_inner_cp_big {
    position: relative;
    margin: 0 auto;
    width: 1000px;
    height: 100%;
    display: flex;
    justify-content: center; }
  .wrapper .link_area img {
    height: 100px; }
  .wrapper .win_foot_bnr_big img {
    margin: 0 !important; }
  .wrapper footer#txcms_footer {
    padding-bottom: 110px; }
  .wrapper .bnr_fixed .win_foot_bnr {
    /*        bottom: 5vw !important;
            right: 0 !important*/ }
  @media screen and (max-width: 768px) {
    .wrapper {
      /* CP時 バナー大 */ }
      .wrapper .win_foot_bnr img {
        vertical-align: top; }
      .wrapper .banner_img {
        height: 102px !important; }
      .wrapper .win_foot_bnr_big {
        position: fixed;
        bottom: 0;
        z-index: 5;
        width: 100%;
        height: 100px; }
      .wrapper .win_foot_bnr_inner_cp_big {
        position: relative;
        margin: 0 auto;
        width: 1000px;
        height: 100%;
        display: flex;
        justify-content: center; }
      .wrapper .link_area img {
        width: 125%;
        height: auto !important; }
      .wrapper .win_foot_bnr_big img {
        margin: 0 !important; }
      .wrapper .bnr_fixed .win_foot_bnr {
        /*        left: 20px;
                bottom: 30px;*/ }
      .wrapper .bnr_fixed .win_foot_bnr .link_area img {
        /*        width: 72%;
                height: auto !important;*/ }
      .wrapper .p-footer__back-button {
        bottom: 46px; } }

.wrapper {
  /* 1列目（項目）：奇数番目の要素 */
  /* 2列目（データ）：偶数番目の要素 */ }
  .wrapper section {
    position: relative; }
  .wrapper .section_inner {
    width: 1000px;
    margin: auto;
    /*    text-align: left;*/
    position: relative; }
    @media screen and (max-width: 768px) {
      .wrapper .section_inner {
        width: 100%;
        max-width: 768px; } }
  .wrapper .box_blue {
    background: #7fbeff;
    box-shadow: 12px 13px 0px 0px #ffaccd;
    width: 100%;
    max-width: 940px;
    margin: 5vw auto;
    text-align: center;
    padding: 0 0 2vw; }
    @media screen and (max-width: 768px) {
      .wrapper .box_blue {
        box-shadow: 7px 7px 0px 0px #ffaccd;
        width: 94%;
        margin: 10vw auto 5vw;
        padding: 0 0 5vw; } }
    .wrapper .box_blue h3 img {
      height: 100px;
      margin: 50px auto; }
      @media screen and (max-width: 768px) {
        .wrapper .box_blue h3 img {
          height: auto;
          width: 50%;
          /* max-height: 100px; */
          margin: 4vw auto 2vw; } }
  .wrapper #EVENT {
    background: url(../../images/bg_arrow.png) no-repeat, #2b86e4;
    background-position: bottom center;
    background-size: 1220px;
    min-height: 740px; }
    @media screen and (max-width: 768px) {
      .wrapper #EVENT {
        background: url(../../images/evebt_sp.jpg) no-repeat, #2b86e4;
        background-position: 0 0;
        background-size: 100%;
        min-height: 0px;
        width: 100%;
        aspect-ratio: 256 / 185; } }
    .wrapper #EVENT .event_txt {
      font-size: 28px;
      color: #2b86e4;
      margin: 40px 0 0; }
      @media screen and (max-width: 768px) {
        .wrapper #EVENT .event_txt {
          color: #2b86e4;
          padding: 32vw 0 0;
          font-size: 2.7vw;
          width: 80%;
          margin: 0 auto; } }
  .wrapper section#CAST {
    background: url(../../images/cast_bg_left.png), url(../../images/cast_bg_right.png) no-repeat, url(../../images/bg.png);
    background-position: left center, right center, center center;
    background-repeat: no-repeat, no-repeat, repeat;
    background-size: auto, auto, 60px;
    padding-bottom: 9vw; }
    @media screen and (max-width: 768px) {
      .wrapper section#CAST {
        padding-bottom: 0; } }
  .wrapper section#PROFILE {
    background: url(../../images/bg_2.png), url(../../images/bg_dot.png);
    background-position: top center, center center;
    background-repeat: no-repeat, repeat;
    background-size: 100%, auto;
    padding-bottom: 100px; }
    @media screen and (max-width: 768px) {
      .wrapper section#PROFILE {
        background-size: 200%, auto !important;
        background-position: 52% -50%, center center;
        padding-bottom: 5vw; } }
    .wrapper section#PROFILE .profile_box {
      background: url(../../images/profile_box.png) no-repeat;
      min-height: 639px;
      display: block;
      max-width: 1000px;
      position: relative; }
      @media screen and (max-width: 768px) {
        .wrapper section#PROFILE .profile_box {
          background: url(../../images/profile_box_sp.png) no-repeat;
          background-size: contain;
          width: 100%;
          min-height: 400px;
          max-width: 100%;
          aspect-ratio: 768 / 731; } }
      .wrapper section#PROFILE .profile_box .profile_box_txt {
        width: 40%;
        /* margin-left: 36vw; */
        color: #2b86e4;
        /* padding-top: 4vw; */
        position: absolute;
        top: 50px;
        left: 510px; }
        @media screen and (max-width: 768px) {
          .wrapper section#PROFILE .profile_box .profile_box_txt {
            width: 100%;
            position: unset !important; } }
        .wrapper section#PROFILE .profile_box .profile_box_txt .profile_name {
          font-size: 60px; }
        @media screen and (max-width: 768px) {
          .wrapper section#PROFILE .profile_box .profile_box_txt .profile_sns {
            position: absolute;
            top: 7vw;
            right: 6vw; } }
        .wrapper section#PROFILE .profile_box .profile_box_txt .profile_sns img {
          width: 34px;
          margin: 1vw 0.5vw; }
          @media screen and (max-width: 768px) {
            .wrapper section#PROFILE .profile_box .profile_box_txt .profile_sns img {
              margin: 1.2vw 2.5vw;
              width: 6vw; } }
        .wrapper section#PROFILE .profile_box .profile_box_txt .profile_txt {
          font-size: 26px;
          text-align: left;
          margin-top: 1vw; }
  .wrapper section#NEWS {
    background: url(../../images/bg.png);
    background-repeat: repeat;
    background-size: 60px;
    padding-bottom: 6vw; }
  .wrapper .new_box p {
    font-size: 1.8vw;
    border-bottom: 2px solid #2b86e4;
    margin: 20px auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 0 0 10px; }
    @media screen and (max-width: 768px) {
      .wrapper .new_box p {
        justify-content: center;
        width: 90%; } }
  .wrapper .new_box span.day {
    color: #FFF;
    background: #2b86e4;
    padding: 0px 1px 4px 5px;
    letter-spacing: 4px;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      .wrapper .new_box span.day {
        width: 20%;
        padding: 0px 0px 0 1px;
        line-height: 1; } }
  .wrapper .new_box span.txt {
    color: #2b86e4;
    padding-left: 20px;
    text-align: left;
    letter-spacing: 1px;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      .wrapper .new_box span.txt {
        line-height: 0; } }
  .wrapper section#copyright {
    color: #FFF;
    background: #2b86e4;
    font-size: 24px;
    text-align: center;
    padding: 10vw 0; }
    @media screen and (max-width: 768px) {
      .wrapper section#copyright {
        font-size: 16px; } }
  .wrapper .font-zkga {
    font-family: "zen-kaku-gothic-antique", sans-serif;
    font-weight: 500;
    font-style: normal; }
  .wrapper .font-zkga_v {
    font-family: "zen-kaku-gothic-antique", sans-serif;
    font-weight: 700;
    font-style: normal; }
  .wrapper .font-clv2 {
    font-family: corporate-logo-ver2, sans-serif;
    font-weight: 500;
    font-style: normal; }
  .wrapper .font-clv2_v {
    font-family: corporate-logo-ver2, sans-serif;
    font-weight: 700;
    font-style: normal; }
  .wrapper .gigalypse {
    font-family: "gigalypse", sans-serif;
    font-weight: 800;
    font-style: normal; }
  .wrapper p.point-img01 img {
    position: absolute;
    /* right: auto; */
    /* left: auto; */
    top: 460px;
    z-index: 100;
    left: 74%;
    transform: translateX(-50%); }
    @media screen and (max-width: 1700px) {
      .wrapper p.point-img01 img {
        left: 77%; } }
    @media screen and (max-width: 1500px) {
      .wrapper p.point-img01 img {
        left: 80%; } }
    @media screen and (max-width: 1400px) {
      .wrapper p.point-img01 img {
        left: 82%; } }
    @media screen and (max-width: 1300px) {
      .wrapper p.point-img01 img {
        left: 84%; } }
    @media screen and (max-width: 1200px) {
      .wrapper p.point-img01 img {
        left: 86%; } }
    @media screen and (max-width: 1100px) {
      .wrapper p.point-img01 img {
        left: 88%; } }
    @media screen and (max-width: 1050px) {
      .wrapper p.point-img01 img {
        left: 90%; } }
    @media screen and (max-width: 768px) {
      .wrapper p.point-img01 img {
        right: 0vw;
        bottom: -8vw;
        width: 17%;
        top: 48vw; } }
  .wrapper p.point-img02 img {
    position: absolute;
    /* right: 8vw; */
    bottom: -8vw;
    z-index: 100;
    left: 74%;
    transform: translateX(-50%); }
    @media screen and (max-width: 768px) {
      .wrapper p.point-img02 img {
        right: 0vw;
        bottom: -12vw;
        width: 26%;
        left: 86vw; } }
  .wrapper p.point-img03 img {
    position: absolute;
    /* left: 0vw; */
    bottom: -130px;
    z-index: 100;
    left: 27%;
    transform: translateX(-50%); }
    @media screen and (max-width: 1550px) {
      .wrapper p.point-img03 img {
        left: 21%; } }
    @media screen and (max-width: 1300px) {
      .wrapper p.point-img03 img {
        left: 14%; } }
    @media screen and (max-width: 768px) {
      .wrapper p.point-img03 img {
        position: absolute;
        left: 16vw;
        /* top: 0; */
        bottom: -10vw;
        width: 30%;
        z-index: 100; } }
  .wrapper p.point-img04 img {
    position: absolute;
    right: 9vw;
    top: -7vw;
    z-index: 100;
    width: 14%; }
    @media screen and (max-width: 768px) {
      .wrapper p.point-img04 img {
        position: absolute;
        right: 2vw;
        top: -25vw;
        z-index: 100;
        width: 20%; } }
  .wrapper p.point-img05 img {
    position: absolute;
    /* left: 4vw; */
    bottom: -1.1vw;
    z-index: 100;
    left: 25%;
    transform: translateX(-50%); }
    @media screen and (max-width: 1550px) {
      .wrapper p.point-img05 img {
        left: 20%; } }
    @media screen and (max-width: 1300px) {
      .wrapper p.point-img05 img {
        left: 14%; } }
    @media screen and (max-width: 768px) {
      .wrapper p.point-img05 img {
        position: absolute;
        left: 13.7vw;
        bottom: -1.8vw;
        z-index: 100;
        width: 26%; } }
  .wrapper .table-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border: 0;
    color: #2b86e4; }
  .wrapper .table-row {
    box-sizing: border-box;
    /* 枠線や余白を含めて幅を計算 */
    padding: 10px; }
  .wrapper .table-row:nth-child(odd) {
    width: 24%;
    font-weight: bold;
    text-align: left; }
  .wrapper .table-row:nth-child(even) {
    width: 76%;
    text-align: left; }
  .wrapper .top_x {
    position: absolute;
    top: 20px;
    left: 228px; }
    @media screen and (max-width: 1700px) {
      .wrapper .top_x {
        left: 20%; } }
    @media screen and (max-width: 1300px) {
      .wrapper .top_x {
        left: 19%; } }
    @media screen and (max-width: 1050px) {
      .wrapper .top_x {
        left: 18%; } }
    @media screen and (max-width: 768px) {
      .wrapper .top_x {
        top: 2vw;
        left: 2vw; } }
    .wrapper .top_x img {
      width: 90px;
      height: auto; }
      @media screen and (max-width: 768px) {
        .wrapper .top_x img {
          width: 18vw;
          height: auto; } }
