/*----------
 common
 ----------*/
body {
  font-family: 'M PLUS 1p', sans-serif;
  letter-spacing: 0;
  background-image: url(../img/common/main-bg.jpg);
  background-repeat: repeat;
  background-size: 1920px 1524px;
  background-position: top center;
}

a {
  transition: all 0.4s;
}
a:hover {
  opacity: 0.8;
}

/*----------
 utility 
 ----------*/

.sp-only {
  display: none;
}
.pc-only {
  display: block;
}

@media screen and (max-width: 767px) {
  .sp-only {
    display: block;
  }
  .pc-only {
    display: none;
  }
}

.fade-in {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1.2s ease, transform 1.2s ease;
}

.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js-mask-image {
  -webkit-mask-image: linear-gradient(135deg, rgb(0, 0, 0) 40%, rgba(0, 0, 0, 0.4) 55%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(135deg, rgb(0, 0, 0) 40%, rgba(0, 0, 0, 0.4) 55%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%);
  -webkit-mask-size: 300% 300%;
  mask-size: 300% 300%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 150% 150%;
  mask-position: 150% 150%;
}

.js-mask-image.is-open {
  -webkit-animation: maskImg 1.2s linear forwards;
  animation: maskImg 1.2s linear forwards;
}

@-webkit-keyframes maskImg {
  0% {
    -webkit-mask-position: 250% 0%;
    mask-position: 250% 0%;
  }
  100% {
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%;
  }
}

@keyframes maskImg {
  0% {
    -webkit-mask-position: 250% 0%;
    mask-position: 250% 0%;
  }
  100% {
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%;
  }
}

/*----------
 slider-wrapper 
 ----------*/

.slider-wrapper {
  width: 100%;
  overflow: hidden;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.slide-img {
  display: flex;
  width: max-content;
  animation: slide 60s linear infinite;
}

.slide-img img {
  width: 2120px; /* 表示サイズ */
  flex-shrink: 0;
}

@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-2120px);
  }
}

@media screen and (max-width: 767px) {
  .slide-img {
    animation: slide 40s linear infinite;
  }
  .slide-img img {
    width: 833px; /* 表示サイズ */
  }

  @keyframes slide {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-833px);
    }
  }
}

/*----------
 section-title 
 ----------*/

.section-title {
}

/*----------
 bg-blk
 ----------*/

.bg-blk {
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}

.bg-blk-top {
  background-image: url(../img/common/bg-blk-top.png);
}
.bg-blk-guest {
  background-image: url(../img/common/bg-blk-guest.png);
}
.bg-blk-goods {
  background-image: url(../img/common/bg-blk-goods.png);
}
.bg-blk-tournament {
  background-image: url(../img/common/bg-blk-tournament.png);
}

/*----------
 c-schedule
 ----------*/
.c-schedule {
  max-width: 881px;
  margin: 0 auto;
  padding: 50px 100px;
  border: 1px solid #fff;
  background: rgba(0, 0, 0, 0.8);
}

.c-schedule-item {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 15px;
  border-bottom: 1px dotted #fff;
  padding: 40px 0;
}
.c-schedule-item:first-child {
  padding-top: 0;
}
.c-schedule-item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.c-schedule-item-align-center {
  align-items: center;
}

.c-schedule-item-title p {
  color: #00f9ff;
  font-family: 'Sarpanch', sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  border-radius: 25px;
  border: 1px solid #00f9ff;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-schedule-item-content-text {
  color: #fff;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.c-schedule-item-content-smtext {
  color: #fff;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.7;
}

.c-schedule-item-content-smtext.smtext-blue {
  color: #00f9ff;
}

.text-neo {
  color: #0051ff;
}

.text-trio {
  color: #ff0037;
}

.text-title {
  color: #00ff72;
}

.c-schedule-item-content-grid {
  display: flex;
  gap: 15px;
}

.c-schedule-item-content-grid-align-center {
  align-items: center;
}
.c-schedule-item-content-logo {
  max-width: 93px;
}

.c-schedule-item-content-list {
  margin-top: 12px;
}

.c-schedule-item-content-list li {
  color: #00ff72;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin-top: 3px;
}

.c-schedule-notice {
  color: #00f9ff;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  max-width: 881px;
  margin: 0 auto;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .c-schedule {
    padding: 20px;
  }

  .c-schedule-item {
    grid-template-columns: 77px 1fr;
    gap: 10px;
    padding: 15px 0;
  }
  .c-schedule-item:first-child {
    padding-top: 0;
  }
  .c-schedule-item:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }

  .c-schedule-item-title p {
    font-size: 10px;
    height: 20px;
  }

  .c-schedule-item-content-text {
    font-size: 13px;
  }

  .c-schedule-item-content-smtext {
    font-size: 11px;
  }

  .c-schedule-item-content-grid {
    gap: 5px;
  }

  .c-schedule-item-content-logo {
    max-width: 70px;
  }

  .c-schedule-item-content-list {
    margin-top: 4px;
  }

  .c-schedule-item-content-list li {
    font-size: 11px;
    margin-top: 3px;
  }

  .c-schedule-notice {
    font-size: 11px;
    margin-top: 20px;
    padding: 0 30px;
  }
}

/*----------
c-notes-title
 ----------*/
.c-notes-title {
  color: #ffc828;
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 20px;
}

.c-notes-textbox p {
  color: #fff;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-indent: -1em;
  padding-left: 1em;
}

.c-notes-textbox p a {
  display: inline-block;
  color: #ffc828;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

@media screen and (max-width: 767px) {
  .c-notes-title {
    font-size: 14px;
    margin-bottom: 15px;
  }

  .c-notes-textbox p {
    font-size: 14px;
  }

  .c-notes-textbox p a {
    font-size: 14px;
  }
}

/*----------
 mv
 ----------*/
.mv {
  position: relative;
  background: #525252;
  overflow: hidden;
  width: 100vw;
  height: calc(100vw * 1080 / 1920);
}

.mv > div {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.mv-001,
.mv-002,
.mv-003 {
  opacity: 0;
  transform: translateY(1px);
}

.mv-003 {
  opacity: 0;
  transform: translateY(10px);
}

.mv.is-loaded .mv-001,
.mv.is-loaded .mv-002 {
  opacity: 1;
  transform: none;
  transition: opacity 1.5s ease, transform 1.5s ease;
}

.mv.is-loaded .mv-003 {
  opacity: 1;
  transform: translateY(-26%);
  transition: opacity 1.5s ease 0.4s, transform 1.5s ease 0.4s;
  z-index: 5;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .mv-001,
  .mv-002,
  .mv-003 {
    transition: none !important;
    transform: none !important;
  }
}

.mv.is-loaded .mv-002 {
  animation: flicker-003 4s infinite;
  animation-timing-function: steps(1);
  animation-delay: 1s;
  opacity: 1;
}

@keyframes flicker-003 {
  0% {
    opacity: 1;
    filter: brightness(1);
  }
  10% {
    opacity: 0.85;
    filter: brightness(0.98);
  }
  20% {
    opacity: 1;
    filter: brightness(1.05);
  }
  35% {
    opacity: 0.9;
    filter: brightness(0.97);
  }
  50% {
    opacity: 1;
    filter: brightness(1.08);
  }
  70% {
    opacity: 0.88;
    filter: brightness(0.95);
  }
  85% {
    opacity: 1;
    filter: brightness(1.02);
  }
  100% {
    opacity: 1;
    filter: brightness(1);
  }
}
