@charset "UTF-8";
/***********************
          BACE
***********************/
html {
  font-size: 62.5%;
  overflow-x: hidden;
}

body {
  line-height: 1.78;
  word-wrap: break-word;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  position: relative;
  color: #000000;
  font-family: "noto-sans", sans-serif;
  margin: 0;
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
}

p {
  font-size: 1.6rem;
}

h2 {
  font-size: 3.1rem;
}

@media (max-width: 490px) {
  p {
    font-size: 3.6vw;
  }
  h2 {
    font-size: 5vw;
  }
}
a {
  text-decoration: none;
  color: #000000;
}

ol,
ul {
  list-style: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
}

ul {
  list-style-position: inside;
}

dl {
  margin: 0;
}
dl dd {
  margin-left: 0;
}

iframe {
  border: none;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}
table td,
table th {
  padding: 0;
}

* {
  box-sizing: border-box;
  word-break: break-word;
  caret-color: transparent;
}
*::before, *::after {
  box-sizing: border-box;
}

figure {
  margin: 0;
}

.container {
  margin: 0 auto;
  position: relative;
}

@media (max-width: 490px) {
  .container {
    width: 90vw;
  }
}
@media (min-width: 491px) {
  .container {
    width: calc(100% - 50px);
  }
}
@media (min-width: 991px) {
  .container {
    width: calc(100% - 80px);
  }
}
@media (min-width: 1241px) {
  .container {
    width: 1000px;
  }
}
@media (min-width: 1481px) {
  .container {
    width: 1200px;
  }
}
/***********************
         HEADER
***********************/
header {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
}
header #logo {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000000;
}
header #logo figure {
  aspect-ratio: 19/7;
}
header #navigation_base #navigation #navi_list ul li a {
  font-weight: 600;
  display: block;
  transition: 0.3s ease-out;
  font-family: new-atten-round, sans-serif;
}
header #navigation_base #navigation #navi_list ul li a:not(.nav-roll-link):hover {
  opacity: 0.8;
}
header #navigation_base #navigation #navi_list ul li a.nav-roll-link:hover, header #navigation_base #navigation #navi_list ul li a.nav-roll-link:focus-visible {
  opacity: 1;
}
header #navigation_base #navigation #navi_list ul li a.nav-roll-link:focus-visible {
  outline: none;
}
header #navigation_base #navigation #navi_list ul li a .nav-roll {
  display: block;
}
header #navigation_base #navigation #navi_list ul li a .nav-roll__text--alt {
  display: none;
}
header #navigation_base #navigation #navi_list ul li.x a {
  display: block;
}
header #navigation_base #navigation #navi_list ul li.x a::after {
  content: "";
  display: block;
  aspect-ratio: 1/1;
}

@media (max-width: 768px) {
  html.lock {
    overflow-y: hidden;
  }
  header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 65px;
    padding-right: 15px;
    background-color: #000000;
  }
  header #logo {
    width: 125px;
    z-index: 2;
    position: relative;
  }
  header #logo figure {
    width: 95px;
  }
  header #navigation_base {
    pointer-events: none;
    position: fixed;
    top: 65px;
    left: 0;
    width: 100vw;
    height: calc(100% - 65px);
    background-color: #000000;
    opacity: 0;
  }
  header #navigation_base.nav-active {
    animation: spburger 0.4s ease-out forwards;
    pointer-events: initial;
  }
  header #navigation_base #navigation {
    position: relative;
    height: 100%;
  }
  header #navigation_base #navigation #navi_list > ul {
    padding-top: 35px;
    padding-left: 25px;
  }
  header #navigation_base #navigation #navi_list > ul > li + li {
    margin-top: 15px;
  }
  header #navigation_base #navigation #navi_list > ul > li > a {
    display: block;
    font-size: 2.9rem;
    color: #FFFFFF;
    font-style: italic;
  }
  header #navigation_base #navigation #navi_list > ul > li > a .nav-roll__text--alt {
    display: none;
  }
  header #navigation_base #navigation #navi_list > ul > li.x {
    position: absolute;
    bottom: 60px;
    left: 35px;
  }
  header #navigation_base #navigation #navi_list > ul > li.x a::after {
    width: 35px;
    background: url("../img/default/header-x-sp.webp") no-repeat center/contain;
  }
  header #navigation_base #navigation::after {
    width: 230px;
    aspect-ratio: 4/5;
    background: url("../img/default/sp-bg.webp") no-repeat center/contain;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 15px;
    mix-blend-mode: luminosity;
  }
}
@keyframes spburger {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes entry-button-idle-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes circle-slow-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes circle-pop-in {
  0% {
    opacity: 0;
    scale: 0;
  }
  70% {
    opacity: 1;
    scale: 1.04;
  }
  100% {
    opacity: 1;
    scale: 1;
  }
}
@media (max-width: 490px) {
  header {
    padding-right: 7vw;
    height: 18vw;
  }
  header #logo {
    width: 35vw;
    z-index: 2;
    position: relative;
  }
  header #logo figure {
    width: 80%;
  }
  header #navigation_base {
    top: 17.5vw;
    left: 0;
    width: 100vw;
    height: calc(100% - 13.5vw);
  }
  header #navigation_base #navigation #navi_list > ul {
    padding-top: 10vw;
    padding-left: 7.5vw;
  }
  header #navigation_base #navigation #navi_list > ul > li + li {
    margin-top: 4vw;
  }
  header #navigation_base #navigation #navi_list > ul > li > a {
    font-size: 6.5vw;
  }
  header #navigation_base #navigation #navi_list > ul > li.x {
    bottom: 20vw;
    left: 10vw;
  }
  header #navigation_base #navigation #navi_list > ul > li.x a::after {
    width: 10vw;
  }
  header #navigation_base #navigation::after {
    width: 52%;
    bottom: 10vw;
  }
}
@media (min-width: 769px) {
  header {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    height: 56px;
    width: 100%;
  }
  header #logo {
    width: 120px;
  }
  header #logo figure {
    width: 96px;
  }
  header #navigation_base #navigation {
    display: block !important;
    height: initial !important;
  }
  header #navigation_base #navigation #navi_list {
    height: 56px;
    display: flex;
    align-items: flex-end;
  }
  header #navigation_base #navigation #navi_list > ul {
    padding-left: 25px;
    padding-right: 25px;
    display: flex;
    align-items: center;
    background-color: rgba(236, 236, 236, 0.8);
    backdrop-filter: blur(5px);
    gap: 25px;
    transform: translateY(50%);
    border-radius: 5px 0 0 5px;
  }
  header #navigation_base #navigation #navi_list > ul > li > a {
    display: block;
    font-size: 2rem;
  }
  header #navigation_base #navigation #navi_list > ul > li > a.nav-roll-link {
    padding-block: 0.62em;
  }
  header #navigation_base #navigation #navi_list > ul > li > a .nav-roll {
    position: relative;
    overflow: hidden;
    height: 1.32em;
    perspective: 420px;
  }
  header #navigation_base #navigation #navi_list > ul > li > a .nav-roll__text {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: 1.32em;
    line-height: 1.2;
    transform-origin: 50% 50%;
    transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.32s ease-out;
    backface-visibility: hidden;
    isolation: isolate;
  }
  header #navigation_base #navigation #navi_list > ul > li > a .nav-roll__text--alt {
    display: flex;
    position: absolute;
    inset: 0;
    transform: translateY(115%) rotateX(-85deg);
    opacity: 0;
  }
  header #navigation_base #navigation #navi_list > ul > li > a .nav-roll__text--alt::after {
    content: "";
    position: absolute;
    left: -0.14em;
    right: -0.14em;
    bottom: 0.16em;
    height: 0.52em;
    background: rgba(241, 224, 72, 0.95);
    border-radius: 999px;
    transform: rotate(-1.6deg) scaleX(0.25);
    transform-origin: left center;
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.2, 1, 0.3, 1), opacity 0.2s ease-out;
    z-index: -1;
    filter: saturate(1.08);
  }
  header #navigation_base #navigation #navi_list > ul > li > a.nav-roll-link:hover .nav-roll__text:not(.nav-roll__text--alt), header #navigation_base #navigation #navi_list > ul > li > a.nav-roll-link:focus-visible .nav-roll__text:not(.nav-roll__text--alt) {
    transform: translateY(-115%) rotateX(85deg);
    opacity: 0;
  }
  header #navigation_base #navigation #navi_list > ul > li > a.nav-roll-link:hover .nav-roll__text--alt, header #navigation_base #navigation #navi_list > ul > li > a.nav-roll-link:focus-visible .nav-roll__text--alt {
    transform: translateY(0) rotateX(0deg);
    opacity: 1;
  }
  header #navigation_base #navigation #navi_list > ul > li > a.nav-roll-link:hover .nav-roll__text--alt::after, header #navigation_base #navigation #navi_list > ul > li > a.nav-roll-link:focus-visible .nav-roll__text--alt::after {
    transform: rotate(-1.6deg) scaleX(1);
    opacity: 1;
  }
  header #navigation_base #navigation #navi_list > ul > li.x a::after {
    width: 19px;
    background: url("../img/default/header-x.webp") no-repeat center/contain;
  }
}
@media (min-width: 991px) {
  header #navigation_base #navigation #navi_list > ul {
    padding-left: 38px;
    padding-right: 38px;
    gap: 38px;
  }
  header #navigation_base #navigation #navi_list > ul > li.entry a {
    font-size: 2rem;
    width: 136px;
  }
}
/****************************
   Menu Trigger
****************************/
header .menu-trigger {
  display: none;
}

@media (max-width: 768px) {
  header .menu-trigger {
    border: none;
    cursor: pointer;
    width: 62px;
    background: none;
    display: block;
    position: relative;
    z-index: 2;
  }
  header .menu-trigger .menu-trigger_line {
    width: 62px;
    height: 12px;
    cursor: pointer;
  }
  header .menu-trigger .menu-trigger_line > span {
    display: block;
    position: absolute;
    right: 0;
    width: 100%;
    height: 1px;
    transition: all 0.5s;
    caret-color: transparent;
    background-color: #FFFFFF;
  }
  header .menu-trigger .menu-trigger_line > span:nth-child(1) {
    top: 0;
  }
  header .menu-trigger .menu-trigger_line > span:nth-child(2) {
    bottom: 0;
  }
  header.show .menu-trigger .menu-trigger_line > span:nth-child(1) {
    transform: rotate(10.5deg);
    transform-origin: left center;
  }
  header.show .menu-trigger .menu-trigger_line > span:nth-child(2) {
    transform: rotate(-10.5deg);
    transform-origin: left center;
    left: 1px;
    bottom: 1px;
  }
}
/***********************
          MAIN
***********************/
main {
  position: relative;
}

/***********************
          FV
***********************/
#fv {
  position: relative;
  overflow: hidden;
}
#fv .main_area {
  position: relative;
  z-index: 3;
}
#fv .main_area figure {
  aspect-ratio: 2295/1531;
  margin-left: auto;
  margin-right: auto;
}
#fv .main_area .main_area__schedule {
  position: absolute;
  transform: translateY(50px);
}
#fv .main_area .main_area__schedule figure {
  aspect-ratio: auto;
  width: 100%;
  height: auto;
  margin: 0;
}
#fv .main_area .main_area__schedule img {
  display: block;
  width: 100%;
  height: auto;
}
#fv .main_area .main_area__schedule .main_area__schedule__stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
#fv .main_area .main_area__schedule .main_area__schedule__line {
  --line-width: 100%;
  --line-offset: 0%;
  --line-gap: 0;
  width: var(--line-width);
  margin-top: var(--line-gap);
  margin-left: var(--line-offset);
}
#fv .main_area .main_area__schedule .main_area__schedule__line.is-year {
  --line-width: 56%;
  --line-offset: 10px;
}
#fv .main_area .main_area__schedule .main_area__schedule__line.is-date {
  --line-width: 100%;
  --line-gap: 1.5%;
}
#fv .main_area .main_area__schedule .main_area__schedule__line.is-time {
  --line-width: 79%;
  --line-offset: 7%;
  --line-gap: 1%;
}
#fv .main_area .main_area__schedule .main_area__schedule__line.is-free {
  --line-width: 88%;
  --line-offset: 3%;
  --line-gap: 4%;
}
#fv .main_area .main_area__schedule p {
  font-weight: 700;
  line-height: 1;
}
#fv .main_area .main_area__schedule p.year {
  padding-left: 1.2em;
  font-family: new-atten-round, sans-serif;
}
#fv .main_area .main_area__schedule p.days {
  margin-top: -0.05em;
  margin-bottom: -0.05em;
  font-family: new-atten-round, sans-serif;
}
#fv .main_area .main_area__schedule p.times {
  padding-left: 0.5em;
  margin-bottom: 0.8em;
  font-family: new-atten-round, sans-serif;
}
#fv .main_area .main_area__schedule p.exp {
  padding-left: 0.25em;
}
#fv .main_area .main_area__schedule p:not(.exp) {
  font-style: italic;
}
#fv .main_area .main_area__info {
  overflow: hidden;
  position: relative;
}
#fv .main_area .main_area__info h2 {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  color: #ffff1b;
  background-color: #000000;
  font-family: new-atten-round, sans-serif;
  font-style: italic;
  font-weight: 800;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 7.5px;
}
#fv .main_area .main_area__info h2::before {
  aspect-ratio: 1/1;
  content: "";
  display: block;
  background-color: #ffff1b;
}
#fv .main_area .main_area__info ul {
  position: relative;
  z-index: 2;
}
#fv .main_area .main_area__info ul li span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #FFFFFF;
  font-family: new-atten-round, sans-serif;
  border-radius: 15px;
  font-style: italic;
  font-weight: 600;
}
#fv .main_area .main_area__info ul li .main_area__info__links {
  display: flex;
  align-items: center;
  transition: 0.3s ease-out;
  background-color: #828282;
}
#fv .main_area .main_area__info ul li .main_area__info__links a {
  color: #FFFFFF;
  transition: 0.3s ease-out;
  width: 100%; /* 要素の横幅を指定 */
  white-space: nowrap; /* 横幅のMAXに達しても改行しない */
  overflow: hidden; /* 溢れた部分を隠す */
  text-overflow: ellipsis; /* 「…」と省略 */
  -webkit-text-overflow: ellipsis; /* Safari用 */
  -o-text-overflow: ellipsis; /* Opera用 */
}
#fv .main_area .main_area__info ul li .main_area__info__links::after {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #ffffff url("../img/default/arrow2.webp") no-repeat center/80.5%;
}
#fv .main_area .main_area__info ul li:hover .main_area__info__links {
  background-color: #ffff1b;
}
#fv .main_area .main_area__info ul li:hover .main_area__info__links a {
  color: #000000;
  font-weight: bold;
}
#fv .main_area .main_area__info ul li:hover .main_area__info__links.no_link {
  background-color: #828282;
}
#fv .main_area .main_area__info ul li:hover .main_area__info__links.no_link a {
  font-weight: normal;
  color: #fff;
}
#fv .main_area .main_area__info::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(238, 238, 199, 0.7);
  backdrop-filter: blur(2.5px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#fv .entry_area {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
#fv .entry_area .entry_content {
  position: relative;
  z-index: 3;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.3);
  border-radius: 23px;
}
#fv .entry_area .entry_content::after {
  content: "";
  display: block;
  position: absolute;
  border-left: 0.75px rgb(0, 0, 0) solid;
  border-bottom: 0.75px rgb(0, 0, 0) solid;
  z-index: -1;
}
#fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line {
  position: absolute;
  left: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__left::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 101.4%;
  border-left: 0.75px #000000 solid;
  border-bottom: 0.75px #000000 solid;
  border-radius: 0 0 0 23px;
}
#fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right {
  position: absolute;
  left: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  background-color: #000000;
  border-radius: 10px;
}
#fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right::after {
  content: "";
  position: absolute;
  display: block;
  right: 0;
  background-color: #000000;
  border-radius: 10px;
}
#fv .entry_area .entry_content .entry_content__inner .entry_content__head span {
  display: block;
  color: #e0e0e0;
  margin-bottom: 1em;
  font-family: new-atten-round, sans-serif;
  font-style: italic;
  etter-spacing: 0.01em;
  font-weight: 900;
}
#fv .entry_area .entry_content .entry_content__inner .entry_content__head h2 {
  position: relative;
  font-weight: 900;
  font-style: italic;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  margin-bottom: 1em;
  font-family: new-atten-round, sans-serif;
}
#fv .entry_area .entry_content .entry_content__inner .entry_content__head h2::after {
  content: "";
  display: block;
  width: 100%;
  height: 80%;
  background-color: #ffff1b;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(0, 50%);
  z-index: -1;
}
#fv .entry_area .entry_content .entry_content__inner::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8.5px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
  border-radius: 23px;
}
#fv .entry_area .entry_content .entry_content__inner::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  border-radius: 23px;
}

.circle_wrap {
  --circle-scene-bg: #666769;
  --circle-scene-opacity: 0;
  --circle-type1-bg: #ffff1b;
  --circle-type1-fill: #ffffff;
  --circle-type2-bg: #e3e3e3;
  --circle-type2-fill: #ffffff;
  --circle-type3-bg: #ffff1b;
  --circle-type3-fill: #ffffff;
  position: absolute;
  aspect-ratio: 1/1;
  top: -1.5%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, 0);
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  position: fixed;
  z-index: -1;
  filter: none;
}
.circle_wrap::before {
  content: "";
  position: fixed;
  inset: 0;
  background-color: var(--circle-scene-bg);
  opacity: var(--circle-scene-opacity);
  pointer-events: none;
  transition: opacity 0.3s ease-out;
  z-index: -1;
}
.circle_wrap div[class^=circle_type] {
  width: 25%;
  aspect-ratio: 1/1;
  overflow: hidden;
  position: relative;
  border-radius: 50%;
  opacity: 0;
  scale: 0;
  transform-origin: center;
  animation-name: circle-slow-rotate, circle-pop-in;
  animation-duration: 48s, 1.2s;
  animation-timing-function: linear, cubic-bezier(0.2, 0.85, 0.2, 1);
  animation-iteration-count: infinite, 1;
  animation-fill-mode: none, both;
  will-change: transform, opacity, scale;
  transition: background-color 0.3s ease-out;
}
.circle_wrap div[class^=circle_type]:nth-child(even) {
  animation-direction: reverse, normal;
}
.circle_wrap div[class^=circle_type]:nth-child(3n) {
  animation-duration: 54s, 1.2s;
}
.circle_wrap div[class^=circle_type]:nth-child(4n+2) {
  animation-delay: 0s, 0.12s;
}
.circle_wrap div[class^=circle_type]:nth-child(4n+3) {
  animation-delay: 0s, 0.24s;
}
.circle_wrap div[class^=circle_type]:nth-child(4n) {
  animation-delay: 0s, 0.36s;
}
.circle_wrap div[class^=circle_type] span {
  display: block;
  position: absolute;
}
.circle_wrap div[class^=circle_type] span .cls-1 {
  transition: fill 0.3s ease-out;
}
.circle_wrap .circle_type1 {
  background-color: var(--circle-type1-bg);
  animation-duration: 42s, 1.15s;
}
.circle_wrap .circle_type1 span {
  width: 44%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.circle_wrap .circle_type1 span .cls-1 {
  fill: var(--circle-type1-fill);
}
.circle_wrap .circle_type2 {
  background-color: var(--circle-type2-bg);
  animation-duration: 48s, 1.25s;
}
.circle_wrap .circle_type2 span {
  width: 55.6%;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
.circle_wrap .circle_type2 span .cls-1 {
  fill: var(--circle-type2-fill);
}
.circle_wrap .circle_type3 {
  background-color: var(--circle-type3-bg);
  animation-duration: 60s, 1.35s;
}
.circle_wrap .circle_type3 span {
  width: 48.9%;
  bottom: -14%;
  right: -10.2%;
}
.circle_wrap .circle_type3 span .cls-1 {
  fill: var(--circle-type3-fill);
}

body.is-entry-monochrome .circle_wrap {
  --circle-scene-opacity: 1;
  --circle-type1-bg: #dddddf;
  --circle-type2-bg: #a8aab0;
  --circle-type3-bg: #dddddf;
  --circle-type3-fill: #a8aab0;
}

@media (prefers-reduced-motion: reduce) {
  .circle_wrap div[class^=circle_type] {
    animation: none;
    opacity: 1;
    scale: 1;
  }
  .entry_button .entry_button_orbit {
    animation: none;
  }
  .entry_button .entry_button_orbit__inner {
    transition: none;
  }
  .entry_button::before {
    transition: none;
    transform: translate(-50%, -50%) scale(var(--entry-button-rest-scale));
  }
  .games_area .games_check::after {
    animation: none;
  }
  .games_area .games_check:hover .games_check__inner {
    animation: none;
  }
  .games_area .games_check div[class$=_deco] {
    animation: none;
  }
  .games_area .games_circle figure {
    animation: none;
  }
}
.entry_button {
  --entry-button-rest-scale: 0.7;
  --entry-button-hover-scale: 0.8;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(44%, -47%);
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.entry_button::before {
  content: "";
  display: block;
  border-radius: 50%;
  background-color: #ffff1b;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(var(--entry-button-rest-scale));
  transform-origin: center;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}
.entry_button .entry_button_orbit {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  animation: entry-button-idle-rotate 18s linear infinite;
}
.entry_button .entry_button_orbit .entry_button_orbit__inner {
  display: block;
  width: 100%;
  height: 100%;
  background: url("../img/top/circle-line-s.webp") no-repeat center/contain;
  transition: 0.3s ease-out;
  transform: rotate(0);
}
.entry_button .entry_button_link {
  width: 74.8%;
  position: relative;
  z-index: 2;
  text-align: center;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.entry_button .entry_button_link .entry_button_link__inner span {
  display: block;
  font-style: italic;
  font-weight: 700;
  color: #ff9c1b;
  font-family: new-atten-round, sans-serif;
}
.entry_button .entry_button_link .entry_button_link__inner p {
  font-weight: 500;
  line-height: 1;
  margin-bottom: 0.5em;
  font-weight: 700;
}
.entry_button .entry_button_link .entry_button_link__inner::after {
  content: "";
  display: block;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 94/43;
  width: 26.6%;
  background: url("../img/default/arrow.webp") no-repeat center/contain;
}
.entry_button:hover::before {
  transform: translate(-50%, -50%) scale(var(--entry-button-hover-scale));
}
.entry_button:hover .entry_button_orbit {
  animation-play-state: paused;
}
.entry_button:hover .entry_button_orbit__inner {
  transform: rotate(90deg);
}

@media (max-width: 768px) {
  .entry_button {
    width: 180px;
    transform: translate(25%, -47%);
  }
  .entry_button .entry_button_link .entry_button_link__inner span {
    font-size: 2.2rem;
  }
  .entry_button .entry_button_link .entry_button_link__inner p {
    font-size: 2.5rem;
  }
}
@media (max-width: 490px) {
  .entry_button {
    width: 35vw;
    transform: translate(10%, -65%);
  }
  .entry_button .entry_button_link .entry_button_link__inner span {
    font-size: 4vw;
  }
  .entry_button .entry_button_link .entry_button_link__inner p {
    font-size: 4.2vw;
  }
}
@media (min-width: 769px) {
  .entry_button {
    width: 180px;
  }
  .entry_button .entry_button_link .entry_button_link__inner span {
    font-size: 2.2rem;
  }
  .entry_button .entry_button_link .entry_button_link__inner p {
    font-size: 2.5rem;
  }
}
@media (min-width: 1241px) {
  .entry_button {
    width: 223px;
  }
  .entry_button .entry_button_link .entry_button_link__inner span {
    font-size: 2.7rem;
  }
  .entry_button .entry_button_link .entry_button_link__inner p {
    font-size: 2.9rem;
  }
}
@media (max-width: 768px) {
  #fv .main_area {
    padding-top: 77.2px;
  }
  #fv .main_area figure {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  #fv .main_area .main_area__schedule {
    left: 7%;
    top: 45vw;
    width: 20vw;
  }
  #fv .main_area .main_area__schedule p.year {
    font-size: 1.7rem;
  }
  #fv .main_area .main_area__schedule p.days {
    font-size: 12.4rem;
  }
  #fv .main_area .main_area__schedule p.times {
    font-size: 2rem;
  }
  #fv .main_area .main_area__schedule p.exp {
    font-size: 3rem;
  }
  #fv .main_area .main_area__info {
    width: 85%;
    margin: 50px auto 55px;
    border-radius: 13.6px;
    padding-top: 25px;
    padding-bottom: 25px;
  }
  #fv .main_area .main_area__info h2 {
    padding: 5px 25px 5px 30px;
    border-radius: 0 25px 25px 0;
    font-size: 1.4rem;
  }
  #fv .main_area .main_area__info h2::before {
    width: 4px;
    margin-right: 7px;
  }
  #fv .main_area .main_area__info ul {
    padding-left: 25px;
    padding-right: 25px;
  }
  #fv .main_area .main_area__info ul li + li {
    margin-top: 8px;
  }
  #fv .main_area .main_area__info ul li span {
    padding: 0 7px;
    font-size: 1.4rem;
  }
  #fv .main_area .main_area__info ul li .main_area__info__links {
    padding: 3px 3px 3px 12px;
    border-radius: 18px;
  }
  #fv .main_area .main_area__info ul li .main_area__info__links a {
    width: calc(100% - 20px);
    font-size: 14.5px;
  }
  #fv .main_area .main_area__info ul li .main_area__info__links::after {
    width: 20px;
  }
  #fv .entry_area {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  #fv .entry_area .entry_content {
    width: 80%;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__left::before {
    transform: translate(-20px, 20px);
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right {
    position: absolute;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right::before {
    left: 8px;
    width: calc(100% - 145px);
    height: 3px;
    transform: translate(0, -22px);
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right::after {
    bottom: 8px;
    width: 3px;
    height: calc(100% - 90px);
    transform: translate(18px, 0);
  }
  #fv .entry_area .entry_content .entry_content__inner {
    padding-top: 30px;
    padding-bottom: 80px;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__head span {
    padding-left: 30px;
    font-size: 1.4rem;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__head h2 {
    padding-left: 30px;
    font-size: 3.4rem;
  }
  #fv .entry_area .entry_content .entry_content__inner > p {
    padding-left: 45px;
    padding-right: 45px;
    font-size: 1.6rem;
  }
  .circle_wrap {
    width: 130%;
  }
}
@media (max-width: 490px) {
  #fv .main_area {
    padding-top: 27.5vw;
  }
  #fv .main_area figure {
    width: 95%;
  }
  #fv .main_area .main_area__schedule {
    left: 7%;
    top: 65vw;
  }
  #fv .main_area .main_area__schedule p.year {
    font-size: 2.7vw;
  }
  #fv .main_area .main_area__schedule p.days {
    font-size: 20vw;
  }
  #fv .main_area .main_area__schedule p.times {
    font-size: 3.2vw;
  }
  #fv .main_area .main_area__schedule p.exp {
    font-size: 4.8vw;
  }
  #fv .main_area .main_area__info {
    width: 90%;
    margin: 15vw auto 15vw;
    border-radius: 14px;
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
  #fv .main_area .main_area__info h2 {
    padding: 1vw 5vw 1vw 4vw;
    border-radius: 0 25px 25px 0;
    font-size: 3vw;
  }
  #fv .main_area .main_area__info h2::before {
    width: 2vw;
    margin-right: 3vw;
  }
  #fv .main_area .main_area__info ul {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  #fv .main_area .main_area__info ul li + li {
    margin-top: 3vw;
  }
  #fv .main_area .main_area__info ul li span {
    padding: 0 2vw;
    font-size: 3vw;
  }
  #fv .main_area .main_area__info ul li .main_area__info__links {
    padding: 1vw 1vw 1vw 3vw;
    border-radius: 18px;
  }
  #fv .main_area .main_area__info ul li .main_area__info__links a {
    width: calc(100% - 4vw);
    font-size: 3.4vw;
  }
  #fv .main_area .main_area__info ul li .main_area__info__links::after {
    width: 4vw;
  }
  #fv .entry_area {
    padding-top: 30vw;
    padding-bottom: 30vw;
  }
  #fv .entry_area .entry_content {
    width: 90%;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__left::before {
    transform: translate(-3vw, 3vw);
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right {
    position: absolute;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right::before {
    left: 3vw;
    width: calc(100% - 36vw);
    height: 1vw;
    transform: translate(0, -3vw);
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right::after {
    bottom: 3vw;
    width: 1vw;
    height: calc(100% - 18vw);
    transform: translate(3vw, 0);
  }
  #fv .entry_area .entry_content .entry_content__inner {
    padding-top: 4vw;
    padding-bottom: 5vw;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__head span {
    padding-left: 3vw;
    font: 3vw;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__head h2 {
    padding-left: 3vw;
    font: 7vw;
  }
  #fv .entry_area .entry_content .entry_content__inner > p {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}
.main_area__schedule {
  left: 3%;
  bottom: 24%;
  width: 15vw;
}

@media (min-width: 769px) {
  #fv div[class$=_area] {
    height: 610px;
  }
  #fv .main_area {
    padding-top: 90px;
  }
  #fv .main_area figure {
    height: 92%;
  }
  #fv .main_area .main_area__schedule p.year {
    font-size: 1.88rem;
  }
  #fv .main_area .main_area__schedule p.days {
    font-size: 13.76rem;
  }
  #fv .main_area .main_area__schedule p.times {
    font-size: 2.32rem;
  }
  #fv .main_area .main_area__schedule p.exp {
    font-size: 3.32rem;
  }
  #fv .main_area .main_area__info {
    width: 400px;
    padding-top: 12px;
    padding-bottom: 12px;
    position: absolute;
    top: 180px;
    right: 0;
    z-index: 2;
    border-radius: 13.6px 0 0 13.6px;
  }
  #fv .main_area .main_area__info h2 {
    padding: 3px 26.5px 3px 20px;
    border-radius: 0 9.5px 9.5px 0;
    font-size: 1.2rem;
  }
  #fv .main_area .main_area__info h2::before {
    width: 3.3px;
    margin-right: 6px;
  }
  #fv .main_area .main_area__info ul {
    padding-left: 20px;
    padding-right: 20px;
  }
  #fv .main_area .main_area__info ul li + li {
    margin-top: 6.5px;
  }
  #fv .main_area .main_area__info ul li span {
    padding: 0 7px;
    font-size: 1.25rem;
  }
  #fv .main_area .main_area__info ul li .main_area__info__links {
    padding: 3px 3px 3px 7px;
    border-radius: 30px;
  }
  #fv .main_area .main_area__info ul li .main_area__info__links a {
    width: calc(100% - 18px);
    font-size: 12.5px;
  }
  #fv .main_area .main_area__info ul li .main_area__info__links::after {
    width: 16px;
  }
  #fv .entry_area {
    padding-top: 200px;
    padding-bottom: 200px;
  }
  #fv .entry_area .entry_content {
    width: 80%;
    max-width: 950px;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__left::before {
    transform: translate(-24px, 24px);
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right {
    position: absolute;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right::before {
    left: 12px;
    width: calc(100% - 100px);
    height: 5px;
    transform: translate(0, -25px);
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right::after {
    bottom: 9px;
    width: 5px;
    height: calc(100% - 90px);
    transform: translate(20px, 0);
  }
  #fv .entry_area .entry_content .entry_content__inner {
    padding-top: 30px;
    padding-bottom: 80px;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__head span {
    padding-left: 35px;
    font-size: 1.4rem;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__head h2 {
    padding-left: 35px;
    font-size: 4.4rem;
  }
  #fv .entry_area .entry_content .entry_content__inner > p {
    padding-left: 50px;
    padding-right: 50px;
    font-size: 1.6rem;
  }
  .circle_wrap {
    width: 139%;
  }
}
@media (min-width: 991px) {
  #fv div[class$=_area] {
    min-height: 695px;
    height: 100vh;
  }
  #fv .main_area figure {
    height: 80%;
  }
  #fv .main_area .main_area__schedule p.year {
    font-size: 2.35rem;
  }
  #fv .main_area .main_area__schedule p.days {
    font-size: 17.2rem;
  }
  #fv .main_area .main_area__schedule p.times {
    font-size: 2.9rem;
  }
  #fv .main_area .main_area__schedule p.exp {
    font-size: 4.15rem;
  }
  #fv .entry_area {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  #fv .entry_area .entry_content .entry_content__inner {
    padding-top: 40px;
    padding-bottom: 90px;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__head span {
    font-size: 1.6rem;
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__head h2 {
    font-size: 5.4rem;
  }
  #fv .entry_area .entry_content .entry_content__inner > p {
    font-size: 1.8rem;
  }
  #fv .entry_area .circle_wrap {
    width: 139%;
  }
}
@media (min-width: 1160px) {
  #fv .main_area figure {
    height: 93%;
  }
}
@media (min-width: 1241px) {
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right::before {
    width: calc(100% - 120px);
    transform: translate(0, -28px);
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__inner__line .entry_content__inner__line__right::after {
    height: calc(100% - 108px);
    transform: translate(24px, 0);
  }
  #fv .entry_area .entry_content .entry_content__inner .entry_content__head h2 {
    font-size: 6.4rem;
  }
  #fv .entry_area .entry_content .entry_content__inner > p {
    font-size: 2.2rem;
    padding-left: 80px;
    padding-right: 80px;
  }
}
/***********************
         GAMES
***********************/
.games_area {
  background: url("../img/top/games-bg.webp") no-repeat center/cover;
  overflow: hidden;
  position: relative;
}
.games_area .games_check {
  --games-check-inner-globe-span: 34%;
  --games-check-hover-scale: 1.04;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #000000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
}
.games_area .games_check:hover {
  transform: translate(-50%, -50%) scale(var(--games-check-hover-scale));
}
.games_area .games_check .games_check__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  z-index: 2;
  transition: transform 0.35s ease-out;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.games_area .games_check .games_check__inner::before {
  content: "";
  display: block;
  aspect-ratio: 94/43;
  background: url("../img/default/arrow.webp") no-repeat center/contain;
}
.games_area .games_check .games_check__inner::after {
  content: "";
  display: block;
  aspect-ratio: 94/43;
  background: url("../img/default/arrow.webp") no-repeat center/contain;
}
.games_area .games_check .games_check__inner .games_check__head {
  display: flex;
  align-items: center;
  justify-content: center;
}
.games_area .games_check .games_check__inner .games_check__head::before {
  content: "[";
  display: block;
  font-family: "beachwood-variable", sans-serif;
  font-style: normal;
}
.games_area .games_check .games_check__inner .games_check__head::after {
  content: "]";
  display: block;
  font-family: "beachwood-variable", sans-serif;
  font-style: normal;
}
.games_area .games_check .games_check__inner .games_check__head .games_check__head__title {
  text-align: center;
}
.games_area .games_check .games_check__inner .games_check__head .games_check__head__title span {
  display: block;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  font-family: new-atten-round, sans-serif;
}
.games_area .games_check .games_check__inner .games_check__head .games_check__head__title P {
  font-weight: 700;
}
.games_area .games_check::after {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  width: 121.3%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  background: url("../img/top/circle-line.webp") no-repeat center/contain;
  animation: games-check-orbit-rotate 18s linear infinite;
}
.games_area .games_check div[class$=_deco] {
  width: 35.7%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
}
.games_area .games_check div[class$=_deco]::after {
  position: absolute;
  content: "";
  display: block;
}
.games_area .games_check .games_check01_deco {
  left: -13%;
  top: 0;
  background-color: rgba(255, 165, 255, 0.6);
  backdrop-filter: blur(8.5px);
  animation: games-check-balloon-float-left 4.8s ease-in-out infinite;
}
.games_area .games_check .games_check01_deco::after {
  aspect-ratio: 370/343;
  width: 99%;
  top: -38.4%;
  left: -25.1%;
  background: url("../img/top/animal01.webp") no-repeat center/contain;
}
.games_area .games_check .games_check02_deco {
  right: -17%;
  bottom: 4.3%;
  background-color: rgba(108, 96, 208, 0.6);
  backdrop-filter: blur(8.5px);
  animation: games-check-balloon-float-right 5.4s ease-in-out infinite 0.6s;
}
.games_area .games_check .games_check02_deco::after {
  aspect-ratio: 530/578;
  width: 142.5%;
  bottom: -39.2%;
  right: -40.7%;
  background: url("../img/top/animal02.webp") no-repeat center/contain;
}
.games_area .games_check .games_check_back {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8.5px);
  z-index: -1;
  border-radius: 50%;
}
.games_area .games_check .games_check_back::after {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
}
.games_area .games_circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  aspect-ratio: 3/2;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.games_area .games_circle span {
  width: 33.3333333333%;
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #ffff1b;
}
.games_area .games_circle figure {
  width: 33.3333333333%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #ffffbb;
  overflow: hidden;
}
.games_area .games_circle figure img {
  mix-blend-mode: luminosity;
}

@keyframes games-check-orbit-rotate {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes games-check-balloon-float-left {
  0% {
    transform: translate3d(0, 0, 0) rotate(-2deg);
  }
  50% {
    transform: translate3d(0, -12px, 0) rotate(2deg);
  }
  100% {
    transform: translate3d(0, 0, 0) rotate(-2deg);
  }
}
@keyframes games-check-balloon-float-right {
  0% {
    transform: translate3d(0, 0, 0) rotate(2deg);
  }
  50% {
    transform: translate3d(0, 14px, 0) rotate(-2deg);
  }
  100% {
    transform: translate3d(0, 0, 0) rotate(2deg);
  }
}
@media (max-width: 768px) {
  .games_area {
    aspect-ratio: 1400/950;
  }
  .games_area .games_check {
    width: 40%;
  }
  .games_area .games_check .games_check__inner::before {
    width: 3.5vw;
  }
  .games_area .games_check .games_check__inner::after {
    width: 3.5vw;
  }
  .games_area .games_check .games_check__inner .games_check__head {
    margin-left: 2vw;
    margin-right: 2vw;
  }
  .games_area .games_check .games_check__inner .games_check__head::before {
    font-size: 9vw;
  }
  .games_area .games_check .games_check__inner .games_check__head::after {
    font-size: 9vw;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title {
    padding-left: 0.5vw;
    padding-right: 0.5vw;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title span {
    font-size: 4vw;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title p {
    font-size: 1.4vw;
  }
  .games_area .games_circle {
    width: 110%;
  }
}
@media (max-width: 768px) {
  .games_area {
    aspect-ratio: 10/7;
  }
  .games_area .games_check {
    width: 42%;
  }
  .games_area .games_check .games_check__inner::before {
    width: 3.8vw;
  }
  .games_area .games_check .games_check__inner::after {
    width: 3.8vw;
  }
  .games_area .games_check .games_check__inner .games_check__head {
    margin-left: 2vw;
    margin-right: 2vw;
  }
  .games_area .games_check .games_check__inner .games_check__head::before {
    font-size: 10vw;
  }
  .games_area .games_check .games_check__inner .games_check__head::after {
    font-size: 10vw;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title {
    padding-left: 0.5vw;
    padding-right: 0.5vw;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title span {
    font-size: 5vw;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title p {
    font-size: 1.8vw;
  }
  .games_area .games_circle {
    width: 112%;
  }
}
@media (min-width: 769px) {
  .games_area {
    aspect-ratio: 1400/887;
  }
  .games_area .games_check {
    width: 350px;
  }
  .games_area .games_check .games_check__inner::before {
    width: 35px;
  }
  .games_area .games_check .games_check__inner::after {
    width: 35px;
  }
  .games_area .games_check .games_check__inner .games_check__head {
    margin-left: 10px;
    margin-right: 10px;
  }
  .games_area .games_check .games_check__inner .games_check__head::before {
    font-size: 7rem;
  }
  .games_area .games_check .games_check__inner .games_check__head::after {
    font-size: 7rem;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title {
    padding-left: 8px;
    padding-right: 8px;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title span {
    font-size: 3.5rem;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title p {
    font-size: 1.4rem;
  }
  .games_area .games_circle {
    width: 104.5%;
  }
}
@media (min-width: 991px) {
  .games_area .games_check {
    width: 450px;
  }
  .games_area .games_check .games_check__inner::before {
    width: 40px;
  }
  .games_area .games_check .games_check__inner::after {
    width: 40px;
  }
  .games_area .games_check .games_check__inner .games_check__head {
    margin-left: 15px;
    margin-right: 15px;
  }
  .games_area .games_check .games_check__inner .games_check__head::before {
    font-size: 8rem;
  }
  .games_area .games_check .games_check__inner .games_check__head::after {
    font-size: 8rem;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title {
    padding-left: 10px;
    padding-right: 10px;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title span {
    font-size: 3.8rem;
  }
}
@media (min-width: 1241px) {
  .games_area .games_check {
    width: 520px;
  }
  .games_area .games_check .games_check__inner::before {
    width: 47px;
  }
  .games_area .games_check .games_check__inner::after {
    width: 47px;
  }
  .games_area .games_check .games_check__inner .games_check__head {
    margin-left: 20px;
    margin-right: 20px;
  }
  .games_area .games_check .games_check__inner .games_check__head::before {
    font-size: 9rem;
  }
  .games_area .games_check .games_check__inner .games_check__head::after {
    font-size: 9rem;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title {
    padding-left: 12px;
    padding-right: 12px;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title span {
    font-size: 4rem;
  }
  .games_area .games_check .games_check__inner .games_check__head .games_check__head__title p {
    font-size: 1.6rem;
  }
}
/***********************
      COOPERRTION
***********************/
.cooperation_area {
  background-color: #818181;
}
.cooperation_area.sponsor_area {
  padding-top: min(15vw, 120px);
  padding-bottom: min(20vw, 195px);
}
.cooperation_area:not(.sponsor_area) {
  padding-bottom: min(15vw, 150px);
}
.cooperation_area .cooperation .list_wrap .cooperation_title {
  display: flex;
  align-items: center;
}
.cooperation_area .cooperation .list_wrap .cooperation_title h2 {
  color: #ffff1b;
  font-family: new-atten-round, sans-serif;
  width: 8em;
  font-style: italic;
}
.cooperation_area .cooperation .list_wrap .cooperation_title::after {
  content: "";
  display: block;
  width: calc(100% - 8em);
  height: 2px;
  background-color: #ffff1b;
}
.cooperation_area .cooperation .list_wrap .list_column3,
.cooperation_area .cooperation .list_wrap .list_column4 {
  position: relative;
  z-index: 2;
}
.cooperation_area .cooperation .list_wrap .list_column3 .list_item,
.cooperation_area .cooperation .list_wrap .list_column4 .list_item {
  display: block;
  aspect-ratio: 326/183;
  border-radius: 150px;
  padding: 2% 3%;
  overflow: hidden;
  box-shadow: 0px 0px 12px 0px #ffff00;
  color: rgb(255, 240, 0);
  background-color: #FFFFFF;
}
.cooperation_area .cooperation .list_wrap .list_column3 .list_item figure,
.cooperation_area .cooperation .list_wrap .list_column4 .list_item figure {
  width: 100%;
  height: 100%;
}
.cooperation_area .cooperation .list_wrap .list_column3 .list_item figure img,
.cooperation_area .cooperation .list_wrap .list_column4 .list_item figure img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
.cooperation_area .cooperation .list_wrap .list_container {
  margin-left: auto;
  margin-right: auto;
}
.cooperation_area .cooperation .list_wrap .list_container.list_deco {
  position: relative;
}
.cooperation_area .cooperation .list_wrap .list_container.list_deco::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  aspect-ratio: 57/53;
  background: url("../img/top/sponsor-animal01.webp") no-repeat center/contain;
  mix-blend-mode: luminosity;
  z-index: 1;
}
.cooperation_area .cooperation .list_wrap .list_container.list_deco::after {
  position: absolute;
  bottom: 0;
  right: 0;
  content: "";
  display: block;
  aspect-ratio: 80/87;
  background: url("../img/top/sponsor-animal02.webp") no-repeat center/contain;
  mix-blend-mode: luminosity;
  z-index: 1;
}

@media (max-width: 490px) {
  .cooperation_area .cooperation .list_wrap .cooperation_title {
    margin-bottom: 7vw;
  }
  .cooperation_area .cooperation .list_wrap .cooperation_title h2 {
    font-size: 3.6vw;
  }
  .cooperation_area .cooperation .list_wrap .list_column3,
  .cooperation_area .cooperation .list_wrap .list_column4 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4.2vw 4vw;
    flex-wrap: wrap;
  }
  .cooperation_area .cooperation .list_wrap .list_column3 .list_item,
  .cooperation_area .cooperation .list_wrap .list_column4 .list_item {
    width: calc(50% - 2vw);
  }
  .cooperation_area .cooperation .list_wrap .list_main {
    margin-bottom: 15vw;
  }
  .cooperation_area .cooperation .list_wrap .list_sub .list_column3:not(:first-of-type),
  .cooperation_area .cooperation .list_wrap .list_sub .list_column4:not(:first-of-type) {
    margin-top: 10vw;
  }
  .cooperation_area .cooperation .list_wrap .list_container {
    width: calc(100% - 15vw);
  }
  .cooperation_area .cooperation .list_wrap .list_container.list_deco::before {
    width: 38%;
    transform: translate(-44.6%, -52%);
  }
  .cooperation_area .cooperation .list_wrap .list_container.list_deco::after {
    width: 57%;
    transform: translate(42%, 45%);
  }
}
@media (min-width: 491px) {
  .cooperation_area .cooperation .list_wrap .cooperation_title {
    margin-bottom: min(6vw, 60px);
  }
  .cooperation_area .cooperation .list_wrap .cooperation_title h2 {
    font-size: 2.2em;
  }
  .cooperation_area .cooperation .list_wrap .list_column3,
  .cooperation_area .cooperation .list_wrap .list_column4 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px 20px;
    flex-wrap: wrap;
  }
  .cooperation_area .cooperation .list_wrap .list_column3 .list_item,
  .cooperation_area .cooperation .list_wrap .list_column4 .list_item {
    width: calc(50% - 10px);
  }
  .cooperation_area .cooperation .list_wrap .list_main {
    margin-bottom: min(60px, 8vw);
  }
  .cooperation_area .cooperation .list_wrap .list_sub div[class^=list_column]:not(:first-of-type) {
    margin-top: min(75px, 9vw);
  }
  .cooperation_area .cooperation .list_wrap .list_container {
    width: calc(100% - 60px);
  }
  .cooperation_area .cooperation .list_wrap .list_container.list_deco::before {
    width: 30%;
    transform: translate(-34.6%, -57%);
  }
  .cooperation_area .cooperation .list_wrap .list_container.list_deco::after {
    width: 40%;
    transform: translate(41%, 60%);
  }
}
@media (min-width: 769px) {
  .cooperation_area .cooperation .list_wrap .cooperation_title {
    margin-bottom: min(6vw, 60px);
  }
  .cooperation_area .cooperation .list_wrap .cooperation_title h2 {
    font-size: 1.8em;
  }
  .cooperation_area .cooperation .list_wrap .list_column3 .list_item {
    width: calc((100% - 32px) / 3);
  }
  .cooperation_area .cooperation .list_wrap .list_column4 .list_item {
    width: calc(25% - 12px);
  }
  .cooperation_area .cooperation .list_wrap .list_column3,
  .cooperation_area .cooperation .list_wrap .list_column4 {
    gap: 24px 16px;
  }
  .cooperation_area .cooperation .list_wrap .list_main {
    margin-bottom: min(60px, 8vw);
  }
  .cooperation_area .cooperation .list_wrap .list_sub div[class^=list_colimn]:not(:first-of-type) {
    margin-top: min(75px, 9vw);
  }
  .cooperation_area .cooperation .list_wrap .list_container {
    width: calc(100% - 100px);
  }
  .cooperation_area .cooperation .list_wrap .list_container .list_column3 {
    gap: 12px;
  }
  .cooperation_area .cooperation .list_wrap .list_container .list_column3 .list_item {
    width: calc((100% - 24px) / 3);
  }
  .cooperation_area .cooperation .list_wrap .list_container .list_column4 {
    gap: 10px;
  }
  .cooperation_area .cooperation .list_wrap .list_container .list_column4 .list_item {
    width: calc((100% - 30px) / 4);
  }
  .cooperation_area .cooperation .list_wrap .list_container.list_deco::before {
    width: 23.8%;
    max-width: 286px;
    transform: translate(-63.6%, -40.2%);
  }
  .cooperation_area .cooperation .list_wrap .list_container.list_deco::after {
    width: 33.6%;
    max-width: 403px;
    transform: translate(50%, 48.4%);
  }
}
@media (min-width: 769px) {
  .cooperation_area .cooperation .list_wrap .list_container {
    width: calc(100% - 160px);
  }
}
@media (min-width: 1481px) {
  .cooperation_area .cooperation .list_wrap .list_container {
    width: calc(100% - 200px);
  }
}
/***********************
         ACCESS
***********************/
.access_area {
  padding-top: min(8vw, 48px);
  padding-bottom: min(10vw, 75px);
  background-color: #818181;
}
.access_area .access {
  position: relative;
}
.access_area .access .access_inner {
  background-color: #000000;
  border: 1px solid #ffff00;
  position: relative;
  z-index: 2;
}
.access_area .access .access_inner .access_map iframe {
  width: 100%;
  height: 100%;
}
.access_area .access .access_inner .access_info p {
  color: #FFFFFF;
}
.access_area .access .access_inner .access_info p.access_name {
  margin-bottom: 0.45em;
}
.access_area .access .access_inner .access_info ol li {
  display: flex;
  align-items: center;
}
.access_area .access .access_inner .access_info ol li::before {
  content: "";
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #ffff1b;
}
.access_area .access .access_inner .access_info ol li p {
  padding-left: 0.5em;
}
.access_area .access::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000000;
  border: 1px solid #ffff00;
  z-index: 1;
}

@media (max-width: 768px) {
  .access_area .access .access_map {
    height: 400px;
  }
  .access_area .access .access_info {
    padding: 30px 35px;
  }
  .access_area .access .access_info p.access_name {
    font-size: 1.8rem;
  }
  .access_area .access .access_info ol li::before {
    width: 5px;
  }
  .access_area .access .access_info ol li p {
    width: calc(100% - 5px);
  }
  .access_area .access::after {
    top: 7px;
    left: 7px;
  }
}
@media (max-width: 490px) {
  .access_area .access .access_map {
    height: 65vw;
  }
  .access_area .access .access_info {
    padding: 4.5vw 5vw;
  }
  .access_area .access .access_info p.access_name {
    font-size: 4vw;
  }
  .access_area .access .access_info ol li::before {
    width: 0.8vw;
  }
  .access_area .access .access_info ol li p {
    width: calc(100% - 0.8vw);
  }
  .access_area .access::after {
    top: 2vw;
    left: 2vw;
  }
}
@media (min-width: 769px) {
  .access_area .access {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 1000px;
  }
  .access_area .access .access_inner {
    display: flex;
    align-items: stretch;
  }
  .access_area .access .access_inner .access_map {
    width: 50%;
  }
  .access_area .access .access_inner .access_info {
    display: flex;
    align-items: center;
    width: 50%;
    padding: 20px 25px;
  }
  .access_area .access .access_inner .access_info p.access_name {
    font-size: 1.8rem;
  }
  .access_area .access .access_inner .access_info ol li::before {
    width: 5.2px;
  }
  .access_area .access .access_inner .access_info ol li p {
    width: calc(100% - 5.2px);
  }
  .access_area .access::after {
    top: 8.5px;
    left: 8.5px;
  }
}
@media (min-width: 991px) {
  .access_area .access .access_inner .access_info {
    display: flex;
    align-items: center;
    width: 50%;
    padding: 32px 35px;
  }
}
@media (min-width: 1481px) {
  .access_area .access .access_inner .access_map {
    width: 510px;
    aspect-ratio: 515/295;
  }
  .access_area .access .access_inner .access_info {
    width: calc(100% - 510px);
  }
}
/***********************
          TEL
***********************/
@media (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/***********************
          FOOTER
***********************/
footer {
  background-color: #818181;
  padding-top: min(70px, 15vw);
  padding-bottom: min(70px, 15vw);
}
footer .footer_area ul {
  display: flex;
  align-items: center;
}
footer .footer_area ul li a {
  display: block;
}
footer .footer_area p {
  color: #FFFFFF;
  font-family: "beachwood-variable", sans-serif;
  text-align: center;
}

@media (max-width: 990px) {
  footer ul {
    gap: 15px;
  }
  footer ul li a {
    width: 20px;
  }
}
@media (max-width: 768px) {
  footer ul {
    justify-content: center;
    margin-bottom: 40px;
  }
  footer ul li a {
    width: 20px;
  }
}
@media (max-width: 490px) {
  footer ul {
    justify-content: center;
    margin-bottom: 8vw;
  }
  footer ul li a {
    width: 5vw;
  }
}
@media (min-width: 769px) {
  footer .footer_area {
    position: relative;
  }
  footer .footer_area ul {
    display: flex;
    align-items: center;
  }
  footer .footer_area p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media (min-width: 991px) {
  footer .footer_area ul {
    gap: 20px;
  }
}
/***********************
          GAME
***********************/
.game-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px 30px;
}
.game-list .game-card {
  border-radius: 20px;
  border: #ffcd8d 2px solid;
  background-color: #fff;
  padding: 20px;
  display: flex;
  flex-flow: column;
  gap: 5px;
  transition: 0.3s ease-out;
  position: relative;
}
.game-list .game-card .game-img {
  border-radius: 8px;
  aspect-ratio: 1/1;
  overflow: hidden;
  margin-bottom: 5px;
}
.game-list .game-card .game-img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.game-list .game-card .booth {
  font-size: 1.4rem;
  color: #ff9c1b;
  width: 88px;
  height: 19px;
  border: 1px solid #ff9c1b;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.game-list .game-card h3 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
}
.game-list .game-card .creator {
  font-size: 1.4rem;
  color: #8e8e8e;
  line-height: 1.5;
}
.game-list .game-card .tags {
  display: flex;
  flex-flow: row wrap;
  gap: 5px;
}
.game-list .game-card .tag {
  font-size: 1.4rem;
  background-color: #ff9c1b;
  padding: 0 5px;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #fff;
}
.game-list .game-card::before {
  content: "";
  background-color: #ff9c1b;
  width: 48px;
  aspect-ratio: 1/1;
  border-radius: 50px;
  position: absolute;
  right: 10px;
  top: 10px;
  background-image: url(../img/default/tab_link.webp);
  background-size: 18px;
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.3s ease-out;
  opacity: 0;
}
.game-list .game-card:hover {
  filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.3));
}
.game-list .game-card:hover::before {
  opacity: 1;
}
@media (max-width: 768px) {
  .game-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 490px) {
  .game-list {
    grid-template-columns: repeat(1, 1fr);
  }
}

#game {
  padding: 100px 0;
  min-height: 100vh;
}
#game .entry_button {
  position: fixed;
  bottom: 20px;
  right: 20px;
  top: initial;
  transform: none;
}

.fix_back {
  background: url("../img/top/games-bg.webp") repeat center/cover;
  background-size: 100%;
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: -2;
}

.title_area h2 {
  font-size: 4rem;
  color: #000;
  font-family: new-atten-round, sans-serif;
  font-style: italic;
  font-weight: 800;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 10px;
  margin-bottom: 50px;
}
.title_area h2::before, .title_area h2::after {
  position: absolute;
  left: 0;
}
.title_area h2::before {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #000;
  border-radius: 10px;
  bottom: 0;
}
.title_area h2::after {
  content: "";
  width: 45%;
  height: 5px;
  background-color: #000;
  border-radius: 10px;
  bottom: -1px;
}

.no_link::after {
  content: none !important;
}
.no_link a {
  pointer-events: none;
}

.mail img {
  width: 28px;
}

#archive {
  background-color: #000;
  padding: 100px 0;
}
#archive h2 {
  font-family: new-atten-round, sans-serif;
  font-style: italic;
  font-weight: bold;
  color: #ffff00;
  font-size: 2rem;
  text-align: center;
}
#archive .arc_wrap {
  display: flex;
  flex-flow: row wrap;
  gap: 10px;
  justify-content: center;
  margin: 50px auto;
}
#archive .arc_wrap .item {
  max-width: 400px;
  width: 100%;
}/*# sourceMappingURL=style.css.map */
