@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: normal;
  line-height: inherit;
  text-decoration: none;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, picture,
footer, header, menu, nav, section, main, canvas, picture {
  display: block; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

input, textarea {
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  padding: 0; }

select, option, button {
  font-family: inherit;
  font-size: inherit; }

input.styleReset, button.styleReset, textarea.styleReset, select.styleReset {
  color: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box; }

.list {
  list-style: none;
  margin: 0;
  padding: 0; }

a {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  text-decoration: none;
  vertical-align: baseline; }

html {
  font-size: calc(10vw / 3.75);
  -webkit-font-smoothing: antialiased; }

body {
  color: #333333;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1;
  background-color: #ffffff;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

body.lock,
body.loading {
  overflow: hidden;
  width: 100vw;
  height: 100vh; }

@media screen and (min-width: 751px) {
  html {
    font-size: 12px; }

  body {
    font-size: 1.6rem;
    line-height: 1; } }
* {
  -webkit-tap-highlight-color: transparent; }

a {
  cursor: pointer;
  color: inherit;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  text-decoration: none; }

p, dt, dd, li {
  word-break: break-word;
  word-wrap: normal; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: top; }

button {
  cursor: pointer;
  font-family: inherit;
  touch-action: manipulation; }

.ib {
  display: inline-block;
  line-height: inherit;
  font-weight: inherit; }

.accordionTrigger {
  cursor: pointer;
  display: block; }

.accordionContent {
  display: none; }

.en {
  font-family: sans-serif; }

.slide .photo {
  opacity: 0;
  position: absolute;
  top: 0; }
  .slide .photo:first-child {
    opacity: 1;
    position: relative; }
.slide.slick-initialized .photo {
  opacity: 1;
  position: relative; }
.slide .slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.5rem;
  position: absolute;
  top: calc(100% + 1.5rem);
  left: 0;
  right: 0; }
  .slide .slick-dots li {
    overflow: hidden;
    flex-basis: 1.5rem;
    list-style-type: none;
    aspect-ratio: 1 / 1; }
    .slide .slick-dots li:first-child:last-child {
      display: none; }
    .slide .slick-dots li button {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      box-sizing: border-box;
      display: block;
      cursor: pointer;
      width: 100%;
      height: 100%;
      text-indent: -9999em;
      background-color: #b3b3b3;
      border-radius: 50%;
      aspect-ratio: 1 / 1;
      transition: background-color 0.2s ease-out; }
    .slide .slick-dots li button:hover, .slide .slick-dots li.slick-active button {
      background-color: #296ec7; }
.slide .slick-arrow {
  cursor: pointer;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 10;
  width: 3rem;
  text-indent: -9999em;
  margin: auto;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  aspect-ratio: 1 / 1;
  background: url(../images/common/arrow_prev.png) center center no-repeat;
  background-size: contain; }
  .slide .slick-arrow.slick-prev {
    left: -0.5rem; }
  .slide .slick-arrow.slick-next {
    right: -0.5rem;
    transform: rotate(180deg); }

.moverLine .line {
  position: relative;
  background-image: linear-gradient(90deg, #333333, #333333);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: lineMove 0.2s ease-out; }

@media screen and (min-width: 751px) {
  /* mover */
  .mover {
    transition: opacity 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
    .mover:hover {
      opacity: 0.7; }

  .moverContent > * {
    transition: opacity 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
  .moverContent:hover > * {
    opacity: 0.7; } }
.modePC,
.modePCib {
  display: none; }
  .modePC.important,
  .modePCib.important {
    display: none !important; }

.modeSP {
  display: block; }
  .modeSP.important {
    display: block !important; }

.modeSPib {
  display: inline-block; }
  .modeSPib.important {
    display: inline-block !important; }

@media screen and (min-width: 751px) {
  .modePC {
    display: block; }
    .modePC.important {
      display: block !important; }

  .modePCib {
    display: inline-block; }
    .modePCib.important {
      display: inline-block !important; }

  .modeSP,
  .modeSPib {
    display: none; }
    .modeSP.important,
    .modeSPib.important {
      display: none !important; } }
@keyframes bgloop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 195px 0; } }
@keyframes move {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(-30px); }
  100% {
    transform: translateY(0); } }
@keyframes elasticus {
  0% {
    transform-origin: 0% 0%;
    transform: scale(1, 0); }
  50% {
    transform-origin: 0% 0%;
    transform: scale(1, 1); }
  50.1% {
    transform-origin: 0% 100%;
    transform: scale(1, 1); }
  100% {
    transform-origin: 0% 100%;
    transform: scale(1, 0); } }
@keyframes lineMove {
  0% {
    background-size: 0 2px; }
  50% {
    background-size: 0 2px; }
  100% {
    background-size: 100% 2px; } }
@keyframes wave {
  0% {
    transform: scale(0.95);
    opacity: 1; }
  90% {
    opacity: .1; }
  100% {
    transform: scale(1.2, 1.4);
    opacity: 0; } }
@keyframes blink {
  0% {
    opacity: 1; }
  15% {
    opacity: 1; }
  48% {
    opacity: 0; }
  52% {
    opacity: 0; }
  85% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@keyframes blink2 {
  0% {
    opacity: 1; }
  10% {
    opacity: 0.7; }
  20% {
    opacity: 1; }
  30% {
    opacity: 0.7; }
  40% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@keyframes bound {
  0% {
    opacity: 0;
    transform: scale(0); }
  15% {
    opacity: 1;
    transform: scale(1.04); }
  30% {
    transform: scale(0.98); }
  45% {
    opacity: 1;
    transform: scale(1); }
  100% {
    opacity: 1;
    transform: scale(1); } }
@keyframes fade {
  0% {
    opacity: 0;
    transform: translateY(2rem); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
.wrapper {
  transition: opacity 0.3s; }
  .load_complete .wrapper {
    opacity: 1; }

#main {
  overflow: hidden; }

.scrollPosition {
  margin-top: calc(-30 / 750 * 100%) !important;
  padding-top: calc(30 / 750 * 100%) !important; }

.tabContent {
  margin-top: calc(-30 / 750 * 100%) !important;
  padding-top: calc(30 / 750 * 100%) !important; }
  .tabContent.current {
    display: block; }

.fadeContent {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.4s ease;
  will-change: transform, opacity; }

.fadeContent.current {
  opacity: 1;
  transform: translateY(0); }

#stage #scene1,
#stage #scene2 {
  display: none; }

@media screen and (min-width: 751px) {
  #stage {
    display: grid;
    grid-template-areas: "scene1 mainContents scene2";
    grid-template-columns: 1fr 550px 1fr;
    position: relative; }
    #stage #scene1 {
      display: block;
      grid-area: scene1;
      position: sticky;
      top: 0;
      z-index: 2;
      height: 100vh; }
      #stage #scene1 .bg {
        overflow: hidden;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: calc(960 / 685 * 100%);
        min-width: 100%;
        min-height: 100%;
        background: url(../images/common/bg_stage_left.png) left center no-repeat;
        background-size: cover; }
      #stage #scene1 .logo {
        display: none;
        align-items: center;
        position: relative;
        z-index: 10;
        width: 80%;
        max-width: 599px;
        height: 100vh;
        margin: auto;
        padding: 0 0 1vh 0;
        box-sizing: border-box; }
    #stage #scene2 {
      overflow: hidden;
      display: block;
      grid-area: scene2;
      position: sticky;
      top: 0;
      height: 100vh; }
      #stage #scene2 .bg {
        overflow: hidden;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        width: calc(960 / 685 * 100%);
        min-width: 100%;
        min-height: 100%;
        background: url(../images/common/bg_stage_right.png) right center no-repeat;
        background-size: cover; }
      #stage #scene2 .menuWrap {
        display: none;
        align-items: center;
        position: relative;
        z-index: 10;
        width: 80%;
        max-width: 599px;
        height: 100vh;
        margin: 0 auto 1vh auto; }
        #stage #scene2 .menuWrap.menuWrap2:before {
          background: url(../images/common/parts_menu2.png) center center no-repeat;
          background-size: cover;
          aspect-ratio: 1272 / 2047;
          transform: translate(0.2vw, 0.6vh); }
        #stage #scene2 .menuWrap.menuWrap2 .menu .list .item {
          margin: 0 0 calc(20 / 340 * 100%) calc(33 / 340 * 100%); }
          #stage #scene2 .menuWrap.menuWrap2 .menu .list .item:last-child {
            margin-bottom: 0; }
        #stage #scene2 .menuWrap:before {
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          left: -100%;
          right: -100%;
          width: calc(636 / 599 * 100%);
          max-width: 636px;
          background: url(../images/common/parts_menu.png) center center no-repeat;
          background-size: cover;
          margin: auto;
          aspect-ratio: 1272 / 2007;
          transform: translate(0.2vw, 0.6vh); }
        #stage #scene2 .menuWrap .menu {
          position: relative;
          z-index: 2;
          width: calc(340 / 599 * 100%);
          max-width: 340px;
          background-color: #ffffff;
          margin: auto;
          border: 3px solid #e8380d;
          border-radius: 2rem; }
          #stage #scene2 .menuWrap .menu .title {
            width: calc(117 / 340 * 100%);
            margin: auto;
            padding: calc(26 / 340 * 100%) 0 calc(26 / 340 * 100%) 0; }
          #stage #scene2 .menuWrap .menu .list {
            padding: 0 0 calc(34 / 340 * 100%) 0; }
            #stage #scene2 .menuWrap .menu .list .item {
              width: calc(290 / 340 * 100%);
              margin: 0 0 calc(30 / 340 * 100%) calc(33 / 340 * 100%); }
              #stage #scene2 .menuWrap .menu .list .item:last-child {
                margin-bottom: 0; }
      #stage #scene2 .parts {
        display: none;
        align-items: flex-end;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 2;
        width: 80%;
        max-width: 304px;
        height: 100vh;
        margin: 0 auto 0 5.5vw;
        padding: 0 0 27vh 0;
        box-sizing: border-box; } }
@media screen and (min-width: 1000px) {
  #stage #scene1 .logo {
    display: flex; } }
@media screen and (min-width: 1250px) {
  #stage #scene2 .menuWrap {
    display: flex; } }
/* maincCntents */
#maincCntents {
  background-color: #ffffff; }

@media screen and (min-width: 751px) {
  #maincCntents {
    position: relative;
    z-index: 50;
    max-width: 550px;
    margin: auto; }
    #maincCntents:before, #maincCntents:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 100%;
      z-index: 20;
      width: 15px;
      filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.35));
      background: linear-gradient(to left, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));
      will-change: filter; }
    #maincCntents:after {
      left: 100%;
      right: auto;
      background: linear-gradient(to right, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0)); } }
#header {
  position: relative;
  top: 0;
  left: 0;
  right: 0; }
  #header #head {
    position: relative;
    z-index: 1000;
    background-color: #ffffff; }

#footer {
  padding: 0; }
  #footer .content {
    position: relative;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    background: #ffffff;
    padding: calc(3 / 375 * 100%) 0 calc(150 / 375 * 100%) 0; }
  #footer .contentInner {
    position: relative;
    z-index: 2;
    width: calc(315 / 375 * 100%);
    margin: auto; }
  #footer nav {
    font-size: 1.2rem;
    line-height: 1.75;
    padding: calc(20 / 375 * 100%) 0 0 0; }
    #footer nav .note {
      letter-spacing: 0.04em;
      font-feature-settings: "palt";
      padding: 0 0 calc(20 / 375 * 100%) 0; }
  #footer .list {
    color: #707070;
    margin: 0 0 calc(15 / 350 * 100%) 0;
    padding: calc(20 / 350 * 100%);
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070; }
    #footer .list .item {
      font-size: 1.2rem;
      line-height: 1.17;
      margin: 0 0 calc(4 / 350 * 100%) 0; }
      #footer .list .item a {
        display: inline-block;
        padding: 0.45em 0; }
  #footer .logo {
    width: calc(300 / 350 * 100%);
    text-align: center;
    margin: 0 auto;
    padding: calc(13 / 350 * 100%) 0 calc(21 / 350 * 100%) 0; }
  #footer .copy {
    color: #707070;
    font-size: 1.2rem;
    line-height: 1.17;
    text-align: center; }

/* loading */
#loading {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000000;
  background-color: #fcd79d; }

.ball-pulse-sync > div {
  display: inline-block;
  width: 15px;
  height: 15px;
  background-color: #e8380d;
  margin: 10px;
  border-radius: 100%;
  animation-fill-mode: both; }

.ball-pulse-sync > div:nth-child(1) {
  animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out; }

.ball-pulse-sync > div:nth-child(2) {
  animation: ball-pulse-sync 0.6s -70ms infinite ease-in-out; }

.ball-pulse-sync > div:nth-child(3) {
  animation: ball-pulse-sync 0.6s 0s infinite ease-in-out; }

@keyframes ball-pulse-sync {
  33% {
    transform: translateY(10px); }
  66% {
    transform: translateY(-10px); }
  100% {
    transform: translateY(0); } }
/* animate */
.animate {
  opacity: 0;
  transform: scale(0.6);
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s; }
  .animate.current {
    opacity: 1;
    transform: scale(1); }

/* titleType01 */
/* toTop */
#toTop {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1050;
  background-color: #f7b52c; }
  #toTop a {
    display: block; }

@media screen and (min-width: 751px) {
  #toTop {
    max-width: 550px;
    margin: auto; } }
/* bottom */
#bottom {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1050;
  background-color: #f7b52c; }
  #bottom .wrap {
    display: flex; }
  #bottom #toOther,
  #bottom #toTop2 {
    flex-basis: 50%; }

@media screen and (min-width: 751px) {
  #bottom {
    max-width: 550px;
    margin: auto; } }
/* firstContent */
#firstContent .band {
  color: #ffffff;
  font-size: 1.8rem;
  line-height: 1.25;
  font-weight: 700;
  text-align: center;
  background-color: #e8380d;
  padding: calc(13 / 750 * 100%) 0 calc(9 / 750 * 100%) 0; }
#firstContent .mv {
  position: relative;
  z-index: 10;
  aspect-ratio: 750 / 889; }
  #firstContent .mv .bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
    aspect-ratio: 750 / 889; }
  #firstContent .mv .titleWrap {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10; }
    #firstContent .mv .titleWrap .title {
      opacity: 0;
      display: block;
      margin: auto; }
      #firstContent .mv .titleWrap .title.title01 {
        transform: translateY(2rem);
        aspect-ratio: 750 / 92;
        transition: all 0.4s ease-out 1.5s; }
      #firstContent .mv .titleWrap .title.title02 {
        transform: scale(0);
        aspect-ratio: 750 / 131;
        transition: all 0.4s ease-out 1.1s; }
  #firstContent .mv .period {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9;
    margin: calc(596 / 750 * 100%) 0 0 0;
    transition: all 0.4s ease-out 2.2s; }
  #firstContent .mv .icons .icon {
    opacity: 0;
    position: absolute;
    z-index: 8;
    width: calc(74 / 750 * 100%);
    transition: all 0.2s ease-out 3.0s; }
    #firstContent .mv .icons .icon.icon01 {
      margin: calc(187 / 750 * 100%) 0 0 calc(18 / 750 * 100%);
      transition-delay: 3.0s; }
    #firstContent .mv .icons .icon.icon02 {
      margin: calc(291 / 750 * 100%) 0 0 calc(71 / 750 * 100%);
      transition-delay: 3.4s; }
    #firstContent .mv .icons .icon.icon03 {
      margin: calc(389 / 750 * 100%) 0 0 calc(19 / 750 * 100%);
      transition-delay: 3.55s; }
    #firstContent .mv .icons .icon.icon04 {
      margin: calc(510 / 750 * 100%) 0 0 calc(52 / 750 * 100%);
      transition-delay: 3.7s; }
    #firstContent .mv .icons .icon.icon05 {
      margin: calc(628 / 750 * 100%) 0 0 calc(21 / 750 * 100%);
      transition-delay: 3.1s; }
    #firstContent .mv .icons .icon.icon06 {
      margin: calc(743 / 750 * 100%) 0 0 calc(42 / 750 * 100%);
      transition-delay: 3.2s; }
    #firstContent .mv .icons .icon.icon07 {
      margin: calc(782 / 750 * 100%) 0 0 calc(132 / 750 * 100%);
      transition-delay: 3.45s; }
    #firstContent .mv .icons .icon.icon08 {
      margin: calc(726 / 750 * 100%) 0 0 calc(230 / 750 * 100%);
      transition-delay: 3.8s; }
    #firstContent .mv .icons .icon.icon09 {
      margin: calc(704 / 750 * 100%) 0 0 calc(327 / 750 * 100%);
      transition-delay: 3.65s; }
    #firstContent .mv .icons .icon.icon10 {
      margin: calc(783 / 750 * 100%) 0 0 calc(390 / 750 * 100%);
      transition-delay: 3.3s; }
    #firstContent .mv .icons .icon.icon11 {
      margin: calc(703 / 750 * 100%) 0 0 calc(494 / 750 * 100%);
      transition-delay: 3.15s; }
    #firstContent .mv .icons .icon.icon12 {
      margin: calc(780 / 750 * 100%) 0 0 calc(579 / 750 * 100%);
      transition-delay: 3.75s; }
    #firstContent .mv .icons .icon.icon13 {
      margin: calc(697 / 750 * 100%) 0 0 calc(647 / 750 * 100%);
      transition-delay: 3.5s; }
    #firstContent .mv .icons .icon.icon14 {
      margin: calc(555 / 750 * 100%) 0 0 calc(661 / 750 * 100%);
      transition-delay: 3.35s; }
    #firstContent .mv .icons .icon.icon15 {
      margin: calc(398 / 750 * 100%) 0 0 calc(665 / 750 * 100%);
      transition-delay: 3.05s; }
    #firstContent .mv .icons .icon.icon16 {
      margin: calc(279 / 750 * 100%) 0 0 calc(625 / 750 * 100%);
      transition-delay: 3.6s; }
    #firstContent .mv .icons .icon.icon17 {
      margin: calc(186 / 750 * 100%) 0 0 calc(660 / 750 * 100%);
      transition-delay: 3.25s; }
#firstContent .content {
  color: #e8380d;
  text-align: center;
  background-color: #ffffff;
  padding: calc(36 / 750 * 100%) 0 calc(45 / 750 * 100%) 0; }
  #firstContent .content .text {
    font-size: 1.6rem;
    line-height: 1.81;
    font-weight: 900;
    margin: 0 0 calc(25 / 750 * 100%) 0; }
  #firstContent .content .buttonArea {
    width: calc(498 / 750 * 100%);
    margin: auto; }
.load_complete #firstContent .mv .titleWrap .title {
  opacity: 1; }
  .load_complete #firstContent .mv .titleWrap .title.title01 {
    transform: translateY(0); }
  .load_complete #firstContent .mv .titleWrap .title.title02 {
    animation: bound 2s ease forwards 0.6s; }
.load_complete #firstContent .mv .period {
  opacity: 1; }
.load_complete #firstContent .mv .icons .icon {
  opacity: 1; }

#innerNav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000; }
  #innerNav .wrap {
    width: calc(671 / 750 * 100%);
    margin: auto; }
  #innerNav .list {
    display: flex;
    justify-content: space-between;
    margin: 0 0 calc(84 / 710 * 100%) 0; }
    #innerNav .list .item {
      flex-basis: calc(130 / 710 * 100%); }
      #innerNav .list .item a {
        display: block;
        position: relative; }
        #innerNav .list .item a.current {
          margin-top: calc(-16 / 130 * 100%); }
        #innerNav .list .item a img {
          position: relative;
          z-index: 2; }

@media screen and (min-width: 751px) {
  #innerNav {
    max-width: 550px;
    margin: auto;
    box-sizing: border-box; } }
.mainBg {
  overflow: hidden;
  background: url(../images/common/bg_main.png) center top repeat-y;
  background-size: 100% auto; }

/* tabContent */
.tabContent .content {
  padding: calc(41 / 750 * 100%) 0 0 0; }
  .tabContent .content:last-child {
    padding-bottom: calc(80 / 750 * 100%); }
  .tabContent .content:after {
    content: "";
    display: block;
    background: url(../images/common/frame_sportsfes_bottom.png) center top no-repeat;
    background-size: 100% auto;
    aspect-ratio: 750 / 75;
    margin: -1px 0 0 0; }
.tabContent .contentInner {
  position: relative;
  z-index: 2; }
.tabContent .titleWrap {
  position: relative;
  z-index: 3;
  background: url(../images/common/frame_sportsfes_top.png) center top no-repeat;
  background-size: 100% auto; }
  .tabContent .titleWrap + * {
    margin-top: -1px; }
  .tabContent .titleWrap .icon {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: calc(200 / 750 * 100%);
    margin: auto; }
  .tabContent .titleWrap .title {
    transition-delay: 0.4s; }
.tabContent .place {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: calc(35 / 750 * 100%) 0 calc(30 / 750 * 100%) 0; }
  .tabContent .place .head {
    flex-shrink: 0;
    width: 5rem;
    color: #ffffff;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 700;
    text-align: center;
    background-color: #00852d;
    margin: 0 0.7rem 0 0;
    padding: 0.45rem 0 0.45rem 0;
    border: 2px solid #000000;
    border-radius: 2rem;
    box-sizing: border-box; }
  .tabContent .place .cont {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 700; }
.tabContent .image {
  width: calc(600 / 750 * 100%);
  margin: auto;
  padding: 0 0 calc(30 / 750 * 100%) 0;
  transform: scale(0.5); }
  .tabContent .image.current {
    transform: scale(1); }
.tabContent .desc {
  font-size: 1.5rem;
  line-height: 1.53;
  font-weight: 500;
  text-align: center;
  padding: 0 0 calc(25 / 750 * 100%) 0; }
.tabContent .info {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 900;
  text-align: center;
  padding: 0 0 calc(28 / 750 * 100%) 0; }
  .tabContent .info .head {
    display: inline-block; }
  .tabContent .info .cont {
    display: inline; }
.tabContent .buttonArea {
  width: calc(428 / 750 * 100%);
  margin: auto;
  padding: 0 0 0 calc(6 / 750 * 100%); }

/* sportsfes */
#sportsfes .content:after {
  background: url(../images/common/frame_sportsfes_bottom.png) center top no-repeat;
  background-size: 100% auto; }
#sportsfes .contentInner {
  background: url(../images/common/frame_sportsfes_middle.png) center top repeat-y;
  background-size: 100% auto; }
#sportsfes .place .head {
  background-color: #00852d; }
#sportsfes .info {
  color: #00852d; }
#sportsfes .box {
  overflow: hidden;
  width: calc(600 / 750 * 100%);
  margin: calc(27 / 750 * 100%) auto calc(41 / 750 * 100%) auto;
  border: 2px dashed #61ac6a;
  border-radius: 2rem;
  box-sizing: border-box; }
  #sportsfes .box .header {
    color: #00852d;
    text-align: center;
    background-color: #fcd79d;
    margin: 0 0 calc(41 / 600 * 100%) 0;
    padding: calc(17 / 600 * 100%) 0 calc(25 / 600 * 100%) 0; }
    #sportsfes .box .header h3 {
      font-size: 2.2rem;
      line-height: 1.45;
      font-weight: 900;
      letter-spacing: 0.08em; }
  #sportsfes .box .image {
    width: calc(480 / 600 * 100%);
    padding: 0 0 calc(17 / 600 * 100%) 0; }
  #sportsfes .box .text {
    font-size: 1.5rem;
    line-height: 1.53;
    font-weight: 500;
    text-align: center;
    padding: 0 0 calc(17 / 600 * 100%) 0; }
  #sportsfes .box .info {
    text-align: center;
    padding: 0 0 calc(36 / 600 * 100%) 0; }

/* esports */
#esports .content:after {
  background: url(../images/common/frame_esports_bottom.png) center top no-repeat;
  background-size: 100% auto; }
#esports .contentInner {
  background: url(../images/common/frame_esports_middle.png) center top repeat-y;
  background-size: 100% auto; }
#esports .titleWrap {
  background: url(../images/common/frame_esports_top.png) center top no-repeat;
  background-size: 100% auto; }
#esports .place .head {
  background-color: #296ec7; }
#esports .slideWrap {
  width: calc(600 / 750 * 100%);
  margin: auto;
  padding: calc(25 / 750 * 100%) 0 calc(98 / 750 * 100% + 1.5rem) 0; }
  #esports .slideWrap .slide .item {
    padding: 0 1rem; }
    #esports .slideWrap .slide .item.item02 .frame {
      color: #00852d;
      border-color: #00852d; }
    #esports .slideWrap .slide .item.item03 .frame {
      color: #dc5e18;
      border-color: #dc5e18; }
    #esports .slideWrap .slide .item .frame {
      color: #296ec7;
      text-align: center;
      padding: 0 0 calc(33 / 560 * 100%) 0;
      border: 2px solid #296ec7;
      border-top: 0;
      border-radius: 0 0 2.5rem 2.5rem; }
      #esports .slideWrap .slide .item .frame .name {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: calc(2.8rem * 2);
        font-size: 2.1rem;
        line-height: 1.33;
        font-weight: 900;
        padding: calc(28 / 560 * 100%) 0 calc(18 / 560 * 100%) 0; }
      #esports .slideWrap .slide .item .frame .thumb {
        width: calc(470 / 560 * 100%);
        margin: auto;
        padding: 0 0 calc(31 / 560 * 100%) 0; }
      #esports .slideWrap .slide .item .frame .text {
        font-size: 1.5rem;
        line-height: 1.53;
        font-weight: 500; }
#esports .facility {
  padding: 0 0 calc(60 / 750 * 100%) 0; }
  #esports .facility:last-child {
    padding: 0; }
  #esports .facility .name {
    position: relative;
    width: calc(600 / 750 * 100%);
    color: #ffffff;
    font-size: 2.1rem;
    line-height: 1.33;
    font-weight: 900;
    text-align: center;
    background-color: #296ec7;
    margin: 0 auto calc(40 / 750 * 100%) auto;
    padding: calc(22 / 750 * 100%) 0 calc(23 / 750 * 100%) 0;
    border-radius: 1.5rem; }
    #esports .facility .name:after {
      content: "";
      display: block;
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      width: calc(30 / 600 * 100%);
      background-color: #296ec7;
      margin: -1px auto 0 auto;
      aspect-ratio: 30 / 25;
      clip-path: polygon(0 0, 100% 0, 50% 100%); }
  #esports .facility .banner {
    width: calc(600 / 750 * 100%);
    margin: auto;
    padding: 0 0 calc(35 / 750 * 100%) 0; }
  #esports .facility .info {
    color: #296ec7; }
    #esports .facility .info .note {
      color: #333333;
      font-size: 1.2rem;
      line-height: 1.67;
      font-weight: 500;
      margin: 0.5rem 0 0 0; }

/* foodfes */
#foodfes .content:after {
  background: url(../images/common/frame_foodfes_bottom.png) center top no-repeat;
  background-size: 100% auto; }
#foodfes .contentInner {
  background: url(../images/common/frame_foodfes_middle.png) center top repeat-y;
  background-size: 100% auto; }
#foodfes .titleWrap {
  background: url(../images/common/frame_foodfes_top.png) center top no-repeat;
  background-size: 100% auto; }
#foodfes .place .head {
  background-color: #dc5e18; }
#foodfes .facility .name {
  color: #dc5e18; }
#foodfes .facility {
  padding: 0 0 calc(60 / 750 * 100%) 0; }
  #foodfes .facility:last-child {
    padding: 0; }
  #foodfes .facility .name {
    position: relative;
    width: calc(600 / 750 * 100%);
    color: #ffffff;
    font-size: 2.1rem;
    line-height: 1.33;
    font-weight: 900;
    text-align: center;
    background-color: #dc5e18;
    margin: 0 auto calc(40 / 750 * 100%) auto;
    padding: calc(22 / 750 * 100%) 0 calc(23 / 750 * 100%) 0;
    border-radius: 1.5rem; }
    #foodfes .facility .name:after {
      content: "";
      display: block;
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      width: calc(30 / 600 * 100%);
      background-color: #dc5e18;
      margin: -1px auto 0 auto;
      aspect-ratio: 30 / 25;
      clip-path: polygon(0 0, 100% 0, 50% 100%); }
  #foodfes .facility .period {
    color: #dc5e18;
    font-size: 1.6rem;
    line-height: 1.44;
    font-weight: 900;
    text-align: center;
    margin: 0 0 calc(33 / 750 * 100%) 0; }
  #foodfes .facility .info.orange {
    color: #dc5e18; }
  #foodfes .facility .shops {
    width: calc(600 / 750 * 100%);
    margin: auto; }
    #foodfes .facility .shops.pt {
      padding-top: calc(34 / 600 * 100%); }
    #foodfes .facility .shops .box {
      position: relative;
      border: 2px dashed #e8380d;
      border-radius: 2rem;
      box-sizing: border-box; }
      #foodfes .facility .shops .box .head {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: calc(400 / 600 * 100%);
        color: #dc5e18;
        font-size: 1.6rem;
        line-height: 1;
        font-weight: 900;
        text-align: center;
        background-color: #fcd79d;
        margin: calc(-43 / 600 * 100%) auto 0 auto;
        border-radius: 1.5rem;
        aspect-ratio: 400 / 82; }
      #foodfes .facility .shops .box .list {
        display: flex;
        flex-wrap: wrap;
        width: calc(560 / 600 * 100%);
        margin: auto;
        padding: calc(81 / 600 * 100%) 0 0 0; }
        #foodfes .facility .shops .box .list .item {
          flex-basis: calc(270 / 560 * 100%);
          margin: 0 0 calc(33 / 560 * 100%) calc(20 / 560 * 100%); }
          #foodfes .facility .shops .box .list .item:nth-child(2n+1) {
            margin-left: 0; }
      #foodfes .facility .shops .box .buttonArea {
        width: calc(418 / 600 * 100%);
        padding: 0 0 calc(38 / 600 * 100%) calc(5 / 600 * 100%); }

/* world */
#world .content:after {
  background: url(../images/common/frame_world_bottom.png) center top no-repeat;
  background-size: 100% auto; }
#world .contentInner {
  background: url(../images/common/frame_world_middle.png) center top repeat-y;
  background-size: 100% auto; }
#world .titleWrap {
  background: url(../images/common/frame_world_top.png) center top no-repeat;
  background-size: 100% auto; }
#world .place .head {
  background-color: #d83676; }
#world .image .note {
  font-size: 1.2rem;
  line-height: 1.58;
  font-weight: 500;
  text-align: center;
  padding: calc(10 / 600 * 100%) 0 0 0; }
#world .info {
  color: #d83676; }

/* collabo */
#collabo .content:after {
  background: url(../images/common/frame_collabo_bottom.png) center top no-repeat;
  background-size: 100% auto; }
#collabo .contentInner {
  background: url(../images/common/frame_collabo_middle.png) center top repeat-y;
  background-size: 100% auto; }
#collabo .titleWrap {
  background: url(../images/common/frame_collabo_top.png) center top no-repeat;
  background-size: 100% auto; }
#collabo .place {
  display: block;
  text-align: center; }
  #collabo .place .head {
    display: inline-block;
    width: calc(490 / 750 * 100%);
    background-color: #7d48b5;
    margin: 0 0 calc(20 / 750 * 100%) 0; }
  #collabo .place .cont {
    display: inline-block;
    text-align: left; }
#collabo .textWrap {
  padding: 0 0 calc(25 / 750 * 100%) 0; }
  #collabo .textWrap .desc {
    padding: 0 0 calc(45 / 750 * 100%) 0; }
  #collabo .textWrap .note {
    font-size: 1.2rem;
    line-height: 1.92;
    font-weight: 500;
    text-align: center; }
#collabo .info {
  color: #7d48b5; }

/* other */
#other .content:after {
  background: url(../images/common/frame_other_bottom.png) center top no-repeat;
  background-size: 100% auto; }
#other .contentInner {
  background: url(../images/common/frame_other_middle.png) center top repeat-y;
  background-size: 100% auto; }
#other .titleWrap {
  background: url(../images/common/frame_other_top.png) center top no-repeat;
  background-size: 100% auto; }
#other .check {
  font-size: 1.9rem;
  line-height: 1.58;
  font-weight: 900;
  text-align: center;
  padding: calc(24 / 750 * 100%) 0 calc(38 / 750 * 100%) 0; }
#other .searchBox {
  overflow: hidden;
  width: calc(600 / 750 * 100%);
  margin: auto;
  border: 2px solid #00a2cd;
  border-radius: 1.5rem; }
  #other .searchBox .head {
    display: flex;
    align-items: center;
    color: #ffffff;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 500;
    background-color: #00a2cd;
    padding: 0 calc(33 / 600 * 100%);
    aspect-ratio: 600 / 110; }
    #other .searchBox .head .icon {
      display: block;
      width: 1.5rem;
      background: url(../images/common/icon_search.png) center center no-repeat;
      background-size: contain;
      aspect-ratio: 63 / 65;
      margin: 0 0.5rem 0 0; }
  #other .searchBox .cont {
    padding: calc(20 / 600 * 100%) 0 calc(30 / 600 * 100%) 0; }
    #other .searchBox .cont .item {
      color: #00a2cd;
      font-size: 1.4rem;
      line-height: 1.61;
      letter-spacing: -0.05em; }
      #other .searchBox .cont .item > * {
        display: block;
        padding: 0 calc(10 / 600 * 100%) 0 calc(30 / 600 * 100%); }
        #other .searchBox .cont .item > *.current {
          color: #ffffff;
          background-color: #00a2cd; }
#other .eventBox {
  display: none; }
  #other .eventBox.current {
    display: block; }
  #other .eventBox .list {
    width: calc(600 / 750 * 100%);
    margin: auto;
    padding: 0 0 calc(20 / 600 * 100%) 0; }
    #other .eventBox .list .item {
      padding: calc(40 / 600 * 100%) 0 0 0; }
      #other .eventBox .list .item .image {
        width: 100%;
        padding: 0;
        transform: none; }
      #other .eventBox .list .item .textWrap {
        text-align: left;
        background-color: #f5f5f2;
        padding: calc(20 / 600 * 100%) calc(20 / 600 * 100%); }
        #other .eventBox .list .item .textWrap .place {
          align-items: center;
          justify-content: flex-start;
          gap: 5px;
          font-size: 1.2rem;
          line-height: 1;
          font-weight: 500;
          padding: 0 0 calc(10 / 600 * 100%) 0; }
          #other .eventBox .list .item .textWrap .place .icon {
            content: "";
            flex-basis: 1.4rem;
            flex-shrink: 0;
            background: url(../images/common/icon_place.png) center center no-repeat;
            background-size: contain;
            aspect-ratio: 20 / 24; }
        #other .eventBox .list .item .textWrap .headline {
          font-size: 1.4rem;
          line-height: 1.5;
          font-weight: 700;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
          overflow: hidden; }
  #other .eventBox .nodata {
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 500;
    text-align: center;
    padding: calc(55 / 750 * 100%) 0 calc(20 / 750 * 100%) 0; }

@media screen and (min-width: 751px) {
  #other .eventBox .list .item .textWrap .headline {
    font-size: 1.6rem;
    line-height: 1.5;
    -webkit-line-clamp: 3; } }
/* soon */
#soon {
  width: calc(681 / 750 * 100%);
  margin: auto;
  padding: calc(58 / 750 * 100%) 0 calc(59 / 750 * 100%) calc(5 / 750 * 100%); }

/* group */
#group .content {
  overflow: hidden;
  background-color: #f1886e; }
#group .titleWrap {
  position: relative;
  width: calc(600 / 750 * 100%);
  text-align: center;
  background-color: #ffffff;
  margin: calc(63 / 750 * 100%) auto calc(54 / 750 * 100%) auto;
  padding: calc(23 / 750 * 100%) 0;
  border: 2px solid #000000;
  border-radius: 2rem; }
  #group .titleWrap:before, #group .titleWrap:after {
    content: "";
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: calc(30 / 600 * 100%);
    background-color: #000000;
    margin: 1px auto 0 auto;
    aspect-ratio: 30 / 25;
    clip-path: polygon(0 0, 100% 0, 50% 100%); }
  #group .titleWrap:after {
    z-index: 2;
    background-color: #ffffff;
    margin-top: -2px; }
  #group .titleWrap .title {
    color: #e8380d;
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 900;
    margin: 0 0 calc(20 / 750 * 100%) 0; }
  #group .titleWrap .text {
    font-size: 1.5rem;
    line-height: 1.53;
    font-weight: 500; }
#group .list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  padding: 0 0 calc(64 / 750 * 100%) 0; }
  #group .list .item {
    overflow: hidden;
    flex-basis: calc(315 / 750 * 100%);
    font-size: 1rem;
    line-height: 2;
    font-weight: 500;
    background-color: #ffffff;
    border: 2px solid #000000;
    border-radius: 2rem;
    box-sizing: border-box; }
    #group .list .item.narrow {
      align-self: flex-start; }
    #group .list .item.logo {
      background-color: transparent;
      border: 0;
      border-radius: 0; }
    #group .list .item .textWrap {
      padding: calc(12 / 315 * 100%) 0 calc(26 / 315 * 100%) calc(20 / 315 * 100%); }
      #group .list .item .textWrap .name {
        font-size: 1.2rem;
        line-height: 1.67;
        font-weight: 500; }
      #group .list .item .textWrap .gmap a,
      #group .list .item .textWrap .service a {
        position: relative;
        color: #296ec7;
        text-decoration: underline; }
      #group .list .item .textWrap .gmap a:after {
        content: "";
        display: inline-block;
        width: 0.8rem;
        vertical-align: middle;
        background: url(../images/common/icon_map.png) center center no-repeat;
        background-size: contain;
        margin: 0 0 0 0.5rem;
        aspect-ratio: 16 /24; }



