@charset "UTF-8";
/* --------------------------------------------------
	
	Format Ver  : 1.0
	Last UpDate : 2026/06/15
	
	1 - 宣言
	2 - 全ページ共有
	3 - テーブルセット
	4 - 
	5 - 
	6 - 

/* --------------------------------------------------

	宣言

-------------------------------------------------- */
/*100,400,700,800*/
/* --------------------------------------------------

	全ページ共有

-------------------------------------------------- */
html,
body {
  height: 100%; }

html {
  font-size: 100%; }

body {
  /* 背景グラデーション */
  background: linear-gradient(45deg, #0855ff, #ae00ff);
  background-size: 200% 200%;
  background-attachment: fixed;
  animation: body 5s ease infinite;
  color: #fff;
  font-family: "YakuHanJP", "LINE Seed JP", sans-serif;
  line-height: 1.6;
  overflow-wrap: break-word;
  text-size-adjust: 100%;
  /* 左右の雷 */
  position: relative;
  z-index: 0; }
  body::before, body::after {
    content: "";
    position: fixed;
    top: 0;
    width: 50%;
    height: 100vh;
    pointer-events: none; }
  body::before {
    left: 0;
    background: url("../images/body_left.png") repeat-y left top/contain;
    clip-path: inset(0 100% 0 0);
    animation: wipeLeft .7s ease .2s forwards; }
  body::after {
    right: 0;
    background: url("../images/body_right.png") repeat-y right top/contain;
    clip-path: inset(0 0 0 100%);
    animation: wipeRight 0.7s ease 0.5s forwards; }

/* 左右の雷ワイプ */
@keyframes wipeLeft {
  to {
    clip-path: inset(0 0 0 0); } }
@keyframes wipeRight {
  to {
    clip-path: inset(0 0 0 0); } }
/* pc専用 */
@media screen and (min-width: 1024px) {
  .pc {
    display: inline-block; }

  .tb {
    display: none; }

  .sp {
    display: none; } }
/* tb専用 */
@media screen and (max-width: 1023px) and (min-width: 481px) {
  .pc {
    display: none; }

  .tb {
    display: inline-block; }

  .sp {
    display: none; } }
/* sp専用 */
@media screen and (max-width: 480px) {
  .pc {
    display: none; }

  .tb {
    display: none; }

  .sp {
    display: inline-block; } }
/* 電話リンク */
@media screen and (min-width: 1024px) {
  a[href^="tel:"] {
    font-weight: normal;
    text-decoration: none;
    pointer-events: none; } }
#wrap,
#header,
#nav,
#sns,
#main,
#lead,
#cast,
#about,
#map,
#stage,
#booth,
#foods,
#member,
#entry,
#sponsor,
#bnr,
#contact,
#footer {
  width: 100%;
  box-sizing: border-box; }

#wrap {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1; }
  #wrap::before {
    content: "";
    position: fixed;
    inset: 0;
    background: radial-gradient(circle, white 0%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
    z-index: -1;
    opacity: 0;
    animation: flash .2s ease .8s; }

@keyframes flash {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }
.inner {
  margin: auto;
  box-sizing: border-box; }
  @media screen and (min-width: 1024px) {
    .inner {
      max-width: 1200px; } }
  @media screen and (max-width: 1023px) and (min-width: 481px), screen and (max-width: 480px) {
    .inner {
      width: 90%; } }

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

/* ヘッダー */
#header h1 {
  text-align: center; }
  @media screen and (min-width: 1024px) {
    #header h1 {
      padding: 100px 0 50px; } }
  @media screen and (max-width: 1023px) and (min-width: 481px), screen and (max-width: 480px) {
    #header h1 {
      padding: 50px 0 0; } }
#header h2 {
  background: rgba(0, 0, 0, 0.75);
  text-align: center;
  padding: 1em; }

/* ナビ */
#nav .openbtn {
  background: #ffff00;
  width: 80px;
  height: 80px;
  border-radius: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  position: fixed;
  top: 2em;
  right: 2em;
  cursor: pointer; }
  @media screen and (max-width: 480px) {
    #nav .openbtn {
      width: 60px;
      height: 60px;
      top: 1em;
      right: 1em; } }
  #nav .openbtn span {
    display: inline-block;
    transition: all .4s;
    height: 3px;
    background-color: #000;
    width: 50%;
    margin: 5px auto; }
    @media screen and (max-width: 480px) {
      #nav .openbtn span {
        height: 1px;
        margin: 3px auto; } }
#nav .openbtn.active span:nth-of-type(1) {
  transform: translateY(13px) rotate(-45deg); }
  @media screen and (max-width: 480px) {
    #nav .openbtn.active span:nth-of-type(1) {
      transform: translateY(7px) rotate(-45deg); } }
#nav .openbtn.active span:nth-of-type(2) {
  opacity: 0; }
#nav .openbtn.active span:nth-of-type(3) {
  transform: translateY(-13px) rotate(45deg); }
  @media screen and (max-width: 480px) {
    #nav .openbtn.active span:nth-of-type(3) {
      transform: translateY(-7px) rotate(45deg); } }
#nav .navWrap {
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  z-index: -1;
  opacity: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  transition: all 0.3s; }
  #nav .navWrap.panelactive {
    opacity: 1;
    z-index: 100; }
    #nav .navWrap.panelactive ul {
      display: block; }
  #nav .navWrap ul {
    display: none;
    text-align: center;
    width: 100%;
    position: absolute;
    z-index: 100;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    #nav .navWrap ul li:hover {
      background-color: rgba(0, 0, 0, 0.5); }
    #nav .navWrap ul li a {
      color: #fff;
      font-size: 2em;
      font-weight: 800;
      text-decoration: none;
      line-height: 1.2;
      letter-spacing: .1em;
      width: 100%;
      padding: 1em 0;
      display: block;
      box-sizing: border-box;
      opacity: 0;
      animation: slideFadeIn 1.5s ease forwards; }
      @media screen and (max-width: 480px) {
        #nav .navWrap ul li a {
          font-size: 1.2em;
          padding: 1em; } }
      #nav .navWrap ul li a span {
        color: #ffff00;
        font-size: .8rem;
        font-weight: 400;
        display: block; }
    #nav .navWrap ul li:nth-child(1) a {
      animation-delay: .2s; }
    #nav .navWrap ul li:nth-child(2) a {
      animation-delay: .3s; }
    #nav .navWrap ul li:nth-child(3) a {
      animation-delay: .4s; }
    #nav .navWrap ul li:nth-child(4) a {
      animation-delay: .5s; }
    #nav .navWrap ul li:nth-child(5) a {
      animation-delay: .6s; }
    #nav .navWrap ul li:nth-child(6) a {
      animation-delay: .8s; }
    #nav .navWrap ul li:nth-child(7) a {
      animation-delay: 1s; }
    #nav .navWrap ul li:nth-child(8) a {
      animation-delay: 1.2s; }

/* SNS */
#sns {
  width: fit-content;
  position: fixed;
  z-index: 5000;
  top: 2em;
  left: 2em; }
  @media screen and (max-width: 480px) {
    #sns {
      top: 1em;
      left: 1em; } }
  #sns ul {
    list-style: none; }
    #sns ul li:first-child {
      margin-bottom: 1em; }
      @media screen and (max-width: 480px) {
        #sns ul li:first-child {
          margin-bottom: .5em; } }
    #sns ul li a {
      background: #fff;
      color: #000;
      font-size: 1.5em;
      text-decoration: none;
      width: 60px;
      height: 60px;
      border-radius: 100px;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media screen and (max-width: 480px) {
        #sns ul li a {
          font-size: 1em;
          width: 40px;
          height: 40px; } }
      #sns ul li a:hover {
        background: #ffff00; }

/* メイン */
#main {
  flex: 1; }

#lead,
#cast,
#about,
#map,
#stage,
#booth,
#foods,
#member,
#entry,
#sponsor,
#bnr,
#contact {
  margin-top: 100px; }
  @media screen and (max-width: 480px) {
    #lead,
    #cast,
    #about,
    #map,
    #stage,
    #booth,
    #foods,
    #member,
    #entry,
    #sponsor,
    #bnr,
    #contact {
      margin-top: 50px; } }
  #lead h3,
  #cast h3,
  #about h3,
  #map h3,
  #stage h3,
  #booth h3,
  #foods h3,
  #member h3,
  #entry h3,
  #sponsor h3,
  #bnr h3,
  #contact h3 {
    background: #000;
    font-size: 2em;
    font-weight: 900;
    text-align: center;
    line-height: 1.4;
    letter-spacing: .1em;
    width: 12em;
    margin: 50px auto;
    padding: .5rem 0 .8rem;
    position: relative; }
    @media screen and (max-width: 480px) {
      #lead h3,
      #cast h3,
      #about h3,
      #map h3,
      #stage h3,
      #booth h3,
      #foods h3,
      #member h3,
      #entry h3,
      #sponsor h3,
      #bnr h3,
      #contact h3 {
        width: 100%; } }
    #lead h3::after,
    #cast h3::after,
    #about h3::after,
    #map h3::after,
    #stage h3::after,
    #booth h3::after,
    #foods h3::after,
    #member h3::after,
    #entry h3::after,
    #sponsor h3::after,
    #bnr h3::after,
    #contact h3::after {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      width: 20px;
      height: 12px;
      box-sizing: border-box;
      background-color: #000;
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      translate: -50% -1px; }
    #lead h3 span,
    #cast h3 span,
    #about h3 span,
    #map h3 span,
    #stage h3 span,
    #booth h3 span,
    #foods h3 span,
    #member h3 span,
    #entry h3 span,
    #sponsor h3 span,
    #bnr h3 span,
    #contact h3 span {
      color: #ffff00;
      font-size: .8rem;
      letter-spacing: .1em;
      font-weight: 400;
      display: block; }
  #lead h4,
  #cast h4,
  #about h4,
  #map h4,
  #stage h4,
  #booth h4,
  #foods h4,
  #member h4,
  #entry h4,
  #sponsor h4,
  #bnr h4,
  #contact h4 {
    color: #fff;
    font-size: 1.5em;
    font-weight: 800;
    text-align: center;
    line-height: 1.2;
    letter-spacing: .1em;
    margin: 30px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    text-stroke: 5px #000;
    -webkit-text-stroke: 5px #000;
    paint-order: stroke; }
    @media screen and (max-width: 480px) {
      #lead h4,
      #cast h4,
      #about h4,
      #map h4,
      #stage h4,
      #booth h4,
      #foods h4,
      #member h4,
      #entry h4,
      #sponsor h4,
      #bnr h4,
      #contact h4 {
        font-size: 1.2em; } }
    #lead h4::before, #lead h4::after,
    #cast h4::before,
    #cast h4::after,
    #about h4::before,
    #about h4::after,
    #map h4::before,
    #map h4::after,
    #stage h4::before,
    #stage h4::after,
    #booth h4::before,
    #booth h4::after,
    #foods h4::before,
    #foods h4::after,
    #member h4::before,
    #member h4::after,
    #entry h4::before,
    #entry h4::after,
    #sponsor h4::before,
    #sponsor h4::after,
    #bnr h4::before,
    #bnr h4::after,
    #contact h4::before,
    #contact h4::after {
      content: '';
      width: 2em;
      height: 2px;
      background-color: #fff; }
    #lead h4::before,
    #cast h4::before,
    #about h4::before,
    #map h4::before,
    #stage h4::before,
    #booth h4::before,
    #foods h4::before,
    #member h4::before,
    #entry h4::before,
    #sponsor h4::before,
    #bnr h4::before,
    #contact h4::before {
      margin-right: .5em;
      transform: rotate(70deg); }
    #lead h4::after,
    #cast h4::after,
    #about h4::after,
    #map h4::after,
    #stage h4::after,
    #booth h4::after,
    #foods h4::after,
    #member h4::after,
    #entry h4::after,
    #sponsor h4::after,
    #bnr h4::after,
    #contact h4::after {
      margin-left: .5em;
      transform: rotate(-70deg); }
  #lead h5,
  #cast h5,
  #about h5,
  #map h5,
  #stage h5,
  #booth h5,
  #foods h5,
  #member h5,
  #entry h5,
  #sponsor h5,
  #bnr h5,
  #contact h5 {
    font-size: 1.2em;
    text-stroke: 3px #000;
    -webkit-text-stroke: 3px #000;
    paint-order: stroke; }
    @media screen and (min-width: 1024px) {
      #lead h5,
      #cast h5,
      #about h5,
      #map h5,
      #stage h5,
      #booth h5,
      #foods h5,
      #member h5,
      #entry h5,
      #sponsor h5,
      #bnr h5,
      #contact h5 {
        font-size: 1.5em;
        text-align: center; } }
  #lead .soon,
  #cast .soon,
  #about .soon,
  #map .soon,
  #stage .soon,
  #booth .soon,
  #foods .soon,
  #member .soon,
  #entry .soon,
  #sponsor .soon,
  #bnr .soon,
  #contact .soon {
    background: rgba(255, 255, 255, 0.5);
    font-size: 3em;
    font-weight: 900;
    text-align: center;
    line-height: 1.2;
    width: fit-content;
    margin: 1em auto;
    padding: 1em;
    text-stroke: 3px #000;
    -webkit-text-stroke: 3px #000;
    paint-order: stroke;
    border: 1px solid #fff; }
  #lead ul.history,
  #cast ul.history,
  #about ul.history,
  #map ul.history,
  #stage ul.history,
  #booth ul.history,
  #foods ul.history,
  #member ul.history,
  #entry ul.history,
  #sponsor ul.history,
  #bnr ul.history,
  #contact ul.history {
    list-style: none;
    margin-bottom: 100px;
    display: flex;
    justify-content: space-evenly;
    gap: 30px; }
    @media screen and (max-width: 480px) {
      #lead ul.history,
      #cast ul.history,
      #about ul.history,
      #map ul.history,
      #stage ul.history,
      #booth ul.history,
      #foods ul.history,
      #member ul.history,
      #entry ul.history,
      #sponsor ul.history,
      #bnr ul.history,
      #contact ul.history {
        flex-wrap: wrap;
        gap: 10px; } }
    #lead ul.history li,
    #cast ul.history li,
    #about ul.history li,
    #map ul.history li,
    #stage ul.history li,
    #booth ul.history li,
    #foods ul.history li,
    #member ul.history li,
    #entry ul.history li,
    #sponsor ul.history li,
    #bnr ul.history li,
    #contact ul.history li {
      background: #fff;
      width: calc( 90% / 4 ); }
      @media screen and (max-width: 480px) {
        #lead ul.history li,
        #cast ul.history li,
        #about ul.history li,
        #map ul.history li,
        #stage ul.history li,
        #booth ul.history li,
        #foods ul.history li,
        #member ul.history li,
        #entry ul.history li,
        #sponsor ul.history li,
        #bnr ul.history li,
        #contact ul.history li {
          width: calc( 94% / 2 ); } }
      #lead ul.history li .photo,
      #cast ul.history li .photo,
      #about ul.history li .photo,
      #map ul.history li .photo,
      #stage ul.history li .photo,
      #booth ul.history li .photo,
      #foods ul.history li .photo,
      #member ul.history li .photo,
      #entry ul.history li .photo,
      #sponsor ul.history li .photo,
      #bnr ul.history li .photo,
      #contact ul.history li .photo {
        border: 3px solid #fff;
        border-bottom: 0; }
      #lead ul.history li .title,
      #cast ul.history li .title,
      #about ul.history li .title,
      #map ul.history li .title,
      #stage ul.history li .title,
      #booth ul.history li .title,
      #foods ul.history li .title,
      #member ul.history li .title,
      #entry ul.history li .title,
      #sponsor ul.history li .title,
      #bnr ul.history li .title,
      #contact ul.history li .title {
        color: #000;
        font-size: .8em;
        font-weight: 700;
        text-align: center;
        padding: 1em 0;
        text-box: trim-both cap alphabetic; }
  #lead ul.exhibitors,
  #cast ul.exhibitors,
  #about ul.exhibitors,
  #map ul.exhibitors,
  #stage ul.exhibitors,
  #booth ul.exhibitors,
  #foods ul.exhibitors,
  #member ul.exhibitors,
  #entry ul.exhibitors,
  #sponsor ul.exhibitors,
  #bnr ul.exhibitors,
  #contact ul.exhibitors {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      #lead ul.exhibitors,
      #cast ul.exhibitors,
      #about ul.exhibitors,
      #map ul.exhibitors,
      #stage ul.exhibitors,
      #booth ul.exhibitors,
      #foods ul.exhibitors,
      #member ul.exhibitors,
      #entry ul.exhibitors,
      #sponsor ul.exhibitors,
      #bnr ul.exhibitors,
      #contact ul.exhibitors {
        flex-wrap: wrap;
        gap: 30px 10px; } }
    #lead ul.exhibitors li,
    #cast ul.exhibitors li,
    #about ul.exhibitors li,
    #map ul.exhibitors li,
    #stage ul.exhibitors li,
    #booth ul.exhibitors li,
    #foods ul.exhibitors li,
    #member ul.exhibitors li,
    #entry ul.exhibitors li,
    #sponsor ul.exhibitors li,
    #bnr ul.exhibitors li,
    #contact ul.exhibitors li {
      width: calc( 90% / 4 ); }
      @media screen and (max-width: 480px) {
        #lead ul.exhibitors li,
        #cast ul.exhibitors li,
        #about ul.exhibitors li,
        #map ul.exhibitors li,
        #stage ul.exhibitors li,
        #booth ul.exhibitors li,
        #foods ul.exhibitors li,
        #member ul.exhibitors li,
        #entry ul.exhibitors li,
        #sponsor ul.exhibitors li,
        #bnr ul.exhibitors li,
        #contact ul.exhibitors li {
          width: calc( 94% / 2 ); } }
      #lead ul.exhibitors li .photo,
      #cast ul.exhibitors li .photo,
      #about ul.exhibitors li .photo,
      #map ul.exhibitors li .photo,
      #stage ul.exhibitors li .photo,
      #booth ul.exhibitors li .photo,
      #foods ul.exhibitors li .photo,
      #member ul.exhibitors li .photo,
      #entry ul.exhibitors li .photo,
      #sponsor ul.exhibitors li .photo,
      #bnr ul.exhibitors li .photo,
      #contact ul.exhibitors li .photo {
        background: rgba(255, 255, 255, 0.5);
        display: flex;
        align-items: center;
        margin-bottom: 1em; }
        #lead ul.exhibitors li .photo img,
        #cast ul.exhibitors li .photo img,
        #about ul.exhibitors li .photo img,
        #map ul.exhibitors li .photo img,
        #stage ul.exhibitors li .photo img,
        #booth ul.exhibitors li .photo img,
        #foods ul.exhibitors li .photo img,
        #member ul.exhibitors li .photo img,
        #entry ul.exhibitors li .photo img,
        #sponsor ul.exhibitors li .photo img,
        #bnr ul.exhibitors li .photo img,
        #contact ul.exhibitors li .photo img {
          width: 100%;
          aspect-ratio: 16 / 9;
          object-fit: contain; }
      #lead ul.exhibitors li .icon,
      #cast ul.exhibitors li .icon,
      #about ul.exhibitors li .icon,
      #map ul.exhibitors li .icon,
      #stage ul.exhibitors li .icon,
      #booth ul.exhibitors li .icon,
      #foods ul.exhibitors li .icon,
      #member ul.exhibitors li .icon,
      #entry ul.exhibitors li .icon,
      #sponsor ul.exhibitors li .icon,
      #bnr ul.exhibitors li .icon,
      #contact ul.exhibitors li .icon {
        display: flex;
        flex-wrap: wrap; }
        #lead ul.exhibitors li .icon .first,
        #lead ul.exhibitors li .icon .second,
        #cast ul.exhibitors li .icon .first,
        #cast ul.exhibitors li .icon .second,
        #about ul.exhibitors li .icon .first,
        #about ul.exhibitors li .icon .second,
        #map ul.exhibitors li .icon .first,
        #map ul.exhibitors li .icon .second,
        #stage ul.exhibitors li .icon .first,
        #stage ul.exhibitors li .icon .second,
        #booth ul.exhibitors li .icon .first,
        #booth ul.exhibitors li .icon .second,
        #foods ul.exhibitors li .icon .first,
        #foods ul.exhibitors li .icon .second,
        #member ul.exhibitors li .icon .first,
        #member ul.exhibitors li .icon .second,
        #entry ul.exhibitors li .icon .first,
        #entry ul.exhibitors li .icon .second,
        #sponsor ul.exhibitors li .icon .first,
        #sponsor ul.exhibitors li .icon .second,
        #bnr ul.exhibitors li .icon .first,
        #bnr ul.exhibitors li .icon .second,
        #contact ul.exhibitors li .icon .first,
        #contact ul.exhibitors li .icon .second {
          color: #fff;
          font-size: .8em;
          font-weight: bold;
          padding: 0 .5em;
          margin-right: .5em;
          border-radius: 3px;
          display: flex;
          align-items: center;
          justify-content: center; }
        #lead ul.exhibitors li .icon .first,
        #cast ul.exhibitors li .icon .first,
        #about ul.exhibitors li .icon .first,
        #map ul.exhibitors li .icon .first,
        #stage ul.exhibitors li .icon .first,
        #booth ul.exhibitors li .icon .first,
        #foods ul.exhibitors li .icon .first,
        #member ul.exhibitors li .icon .first,
        #entry ul.exhibitors li .icon .first,
        #sponsor ul.exhibitors li .icon .first,
        #bnr ul.exhibitors li .icon .first,
        #contact ul.exhibitors li .icon .first {
          background: #ff3366; }
        #lead ul.exhibitors li .icon .second,
        #cast ul.exhibitors li .icon .second,
        #about ul.exhibitors li .icon .second,
        #map ul.exhibitors li .icon .second,
        #stage ul.exhibitors li .icon .second,
        #booth ul.exhibitors li .icon .second,
        #foods ul.exhibitors li .icon .second,
        #member ul.exhibitors li .icon .second,
        #entry ul.exhibitors li .icon .second,
        #sponsor ul.exhibitors li .icon .second,
        #bnr ul.exhibitors li .icon .second,
        #contact ul.exhibitors li .icon .second {
          background: #66cc00; }
        #lead ul.exhibitors li .icon .type,
        #cast ul.exhibitors li .icon .type,
        #about ul.exhibitors li .icon .type,
        #map ul.exhibitors li .icon .type,
        #stage ul.exhibitors li .icon .type,
        #booth ul.exhibitors li .icon .type,
        #foods ul.exhibitors li .icon .type,
        #member ul.exhibitors li .icon .type,
        #entry ul.exhibitors li .icon .type,
        #sponsor ul.exhibitors li .icon .type,
        #bnr ul.exhibitors li .icon .type,
        #contact ul.exhibitors li .icon .type {
          font-size: .8em;
          line-height: 1.2;
          text-box: trim-both cap alphabetic;
          padding: .5em .5em .5em 0; }
      #lead ul.exhibitors li .name,
      #cast ul.exhibitors li .name,
      #about ul.exhibitors li .name,
      #map ul.exhibitors li .name,
      #stage ul.exhibitors li .name,
      #booth ul.exhibitors li .name,
      #foods ul.exhibitors li .name,
      #member ul.exhibitors li .name,
      #entry ul.exhibitors li .name,
      #sponsor ul.exhibitors li .name,
      #bnr ul.exhibitors li .name,
      #contact ul.exhibitors li .name {
        font-size: 1.2em;
        font-weight: bold;
        line-height: 1.2;
        margin-top: .5em; }
        @media screen and (max-width: 480px) {
          #lead ul.exhibitors li .name,
          #cast ul.exhibitors li .name,
          #about ul.exhibitors li .name,
          #map ul.exhibitors li .name,
          #stage ul.exhibitors li .name,
          #booth ul.exhibitors li .name,
          #foods ul.exhibitors li .name,
          #member ul.exhibitors li .name,
          #entry ul.exhibitors li .name,
          #sponsor ul.exhibitors li .name,
          #bnr ul.exhibitors li .name,
          #contact ul.exhibitors li .name {
            font-size: 1em; } }
      #lead ul.exhibitors li ul.links,
      #cast ul.exhibitors li ul.links,
      #about ul.exhibitors li ul.links,
      #map ul.exhibitors li ul.links,
      #stage ul.exhibitors li ul.links,
      #booth ul.exhibitors li ul.links,
      #foods ul.exhibitors li ul.links,
      #member ul.exhibitors li ul.links,
      #entry ul.exhibitors li ul.links,
      #sponsor ul.exhibitors li ul.links,
      #bnr ul.exhibitors li ul.links,
      #contact ul.exhibitors li ul.links {
        list-style: none;
        display: flex;
        margin-top: 1em;
        gap: 10px; }
        #lead ul.exhibitors li ul.links li,
        #cast ul.exhibitors li ul.links li,
        #about ul.exhibitors li ul.links li,
        #map ul.exhibitors li ul.links li,
        #stage ul.exhibitors li ul.links li,
        #booth ul.exhibitors li ul.links li,
        #foods ul.exhibitors li ul.links li,
        #member ul.exhibitors li ul.links li,
        #entry ul.exhibitors li ul.links li,
        #sponsor ul.exhibitors li ul.links li,
        #bnr ul.exhibitors li ul.links li,
        #contact ul.exhibitors li ul.links li {
          width: fit-content; }
          #lead ul.exhibitors li ul.links li a,
          #cast ul.exhibitors li ul.links li a,
          #about ul.exhibitors li ul.links li a,
          #map ul.exhibitors li ul.links li a,
          #stage ul.exhibitors li ul.links li a,
          #booth ul.exhibitors li ul.links li a,
          #foods ul.exhibitors li ul.links li a,
          #member ul.exhibitors li ul.links li a,
          #entry ul.exhibitors li ul.links li a,
          #sponsor ul.exhibitors li ul.links li a,
          #bnr ul.exhibitors li ul.links li a,
          #contact ul.exhibitors li ul.links li a {
            background: #fff;
            color: #000;
            font-size: .8em;
            text-decoration: none;
            width: 30px;
            height: 30px;
            border-radius: 20px;
            display: flex;
            justify-content: center;
            align-items: center; }

/* リード文 */
#lead {
  color: #fff;
  font-size: 1.5em;
  font-weight: 900;
  letter-spacing: .05em;
  text-align: center;
  text-stroke: 5px #000;
  -webkit-text-stroke: 5px #000;
  paint-order: stroke; }
  @media screen and (max-width: 480px) {
    #lead {
      font-size: 1.2em; } }
  @media screen and (min-width: 1024px) {
    #lead .inner {
      max-width: 100%; } }
  @media screen and (max-width: 1023px) and (min-width: 481px), screen and (max-width: 480px) {
    #lead .inner {
      width: 100%; } }
  #lead strong {
    color: #ffff00; }

/* 出演者 */
#cast ul.ambassador,
#cast ul.geust {
  list-style: none;
  margin-bottom: 100px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 50px; }
  @media screen and (max-width: 480px) {
    #cast ul.ambassador,
    #cast ul.geust {
      flex-direction: column;
      align-items: center; } }
  #cast ul.ambassador li,
  #cast ul.geust li {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center; }
    @media screen and (min-width: 1024px) {
      #cast ul.ambassador li,
      #cast ul.geust li {
        width: 300px; } }
    #cast ul.ambassador li .photo,
    #cast ul.geust li .photo {
      margin-bottom: 20px; }
    #cast ul.ambassador li .captain,
    #cast ul.geust li .captain {
      background: #ffff00;
      color: #000;
      font-size: .7em;
      font-weight: 700;
      margin-bottom: 5px;
      padding: .2em 1em;
      border-radius: 5em; }
    #cast ul.ambassador li .captainName,
    #cast ul.ambassador li .name,
    #cast ul.geust li .captainName,
    #cast ul.geust li .name {
      font-size: 1.5em;
      font-weight: 700;
      letter-spacing: .1em;
      text-stroke: 5px #000;
      -webkit-text-stroke: 5px #000;
      paint-order: stroke; }
    @media screen and (min-width: 1024px) {
      #cast ul.ambassador li .name,
      #cast ul.geust li .name {
        margin-top: 28px; } }
    #cast ul.ambassador li .memo,
    #cast ul.geust li .memo {
      font-size: .8em;
      text-stroke: 5px #000;
      -webkit-text-stroke: 5px #000;
      paint-order: stroke; }
    #cast ul.ambassador li .commentWrap,
    #cast ul.geust li .commentWrap {
      width: 100%; }
      #cast ul.ambassador li .commentWrap p.open,
      #cast ul.geust li .commentWrap p.open {
        background: rgba(0, 0, 0, 0.5);
        margin-top: 20px;
        padding: 0 1em;
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        cursor: pointer;
        border: 1px solid #fff; }
        #cast ul.ambassador li .commentWrap p.open::after,
        #cast ul.geust li .commentWrap p.open::after {
          content: '＋';
          font-size: 1.5rem;
          transform: rotate(90deg);
          transition: 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }
        #cast ul.ambassador li .commentWrap p.open.active::after,
        #cast ul.geust li .commentWrap p.open.active::after {
          content: '－';
          font-size: 1.5rem;
          transform: rotate(0deg); }
      #cast ul.ambassador li .commentWrap .comment-inner.noAccordion,
      #cast ul.geust li .commentWrap .comment-inner.noAccordion {
        display: block; }
      #cast ul.ambassador li .commentWrap .comment-inner,
      #cast ul.geust li .commentWrap .comment-inner {
        display: none;
        background: #fff;
        color: #000;
        font-size: .8em;
        padding: 1em; }
        @media screen and (max-width: 480px) {
          #cast ul.ambassador li .commentWrap .comment-inner,
          #cast ul.geust li .commentWrap .comment-inner {
            padding: 1em; } }

/* イベント概要 */
#about {
  background: rgba(0, 156, 255, 0.75);
  padding: 50px 0;
  box-shadow: 0 0 10px #000; }
  #about table {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    text-align: left;
    width: 100%; }
    #about table tr {
      border-top: 1px dotted #fff; }
      #about table tr:last-child {
        border-bottom: 1px dotted #fff; }
    #about table th,
    #about table td {
      padding: .8em 1em; }
    #about table th {
      color: #ffff00;
      vertical-align: middle;
      white-space: nowrap; }
    #about table td p:last-child,
    #about table td li:last-child {
      margin-bottom: 0 !important; }
  @media screen and (max-width: 480px) {
    #about table tr {
      padding: 0; }
    #about table th,
    #about table td {
      padding: .5em;
      display: block;
      border-bottom: none; }
    #about table th {
      width: 100%;
      box-sizing: border-box; } }

/* 会場マップ */
/* ステージ */
#stage ul.program {
  list-style: none;
  margin-bottom: 100px;
  display: flex;
  justify-content: space-evenly; }
  @media screen and (max-width: 480px) {
    #stage ul.program {
      flex-direction: column; } }
  #stage ul.program li {
    margin-top: 30px; }
    @media screen and (min-width: 1024px) {
      #stage ul.program li {
        width: 48%; } }

/* ブース */
#booth h5 {
  /*margin-bottom: 100px;*/ }
#booth ul.exhibitors li .icon .type {
  font-size: .8em;
  line-height: 1.2;
  text-box: trim-both cap alphabetic;
  padding: 0; }

/* 高校生実行委員会 */
#member ul {
  list-style: none; }
  #member ul li {
    background: #fff;
    margin: 0 5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative; }
    #member ul li .photo {
      border: 5px solid #fff; }
    #member ul li .age {
      background: #0855ff;
      font-size: .8em;
      width: 60px;
      height: 60px;
      border-radius: 30px;
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      z-index: 1;
      top: 3px;
      left: 3px; }
    #member ul li .school {
      color: #0855ff;
      font-size: .7em;
      font-weight: 700; }
    #member ul li .name {
      color: #000;
      font-weight: 700;
      padding-bottom: .5em; }

/* エントリー */
#entry p.btn {
  margin-top: 50px; }
  #entry p.btn a {
    background: #ffff00;
    color: #000;
    font-size: 2em;
    font-weight: 800;
    text-decoration: none;
    width: 10em;
    margin: 0 auto;
    padding: .5em 1em;
    box-sizing: border-box;
    display: block;
    position: relative; }
    #entry p.btn a::after {
      font-family: "Font Awesome 7 Free";
      font-weight: 900;
      content: "\f0a9";
      position: absolute;
      right: 1em;
      top: 50%;
      transform: translateY(-50%);
      transition: all .3s; }
    #entry p.btn a:hover::after {
      right: .5em; }

/* 協賛 */
#sponsor {
  background: #fff;
  color: #000;
  padding: 50px 0;
  border-top: 5px solid #000;
  border-bottom: 5px solid #000; }
  #sponsor h4 {
    color: #000;
    text-stroke: 0;
    -webkit-text-stroke: 0; }
    #sponsor h4::before, #sponsor h4::after {
      background-color: #000; }
  #sponsor ul {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 20px; }
    #sponsor ul.class-A {
      margin-bottom: 100px; }
    #sponsor ul.class-B li img {
      border: 1px solid #000;
      box-sizing: border-box; }

/*　第1回 青春SPARK祭　*/
#bnr {
  text-align: center; }

/* お問い合わせ */
#contact table {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  text-align: left;
  width: 50%;
  margin: 0 auto; }
  #contact table tr {
    border-top: 1px dotted #fff; }
    #contact table tr:last-child {
      border-bottom: 1px dotted #fff; }
  #contact table th,
  #contact table td {
    padding: .8em 1em; }
  #contact table th {
    color: #ffff00;
    vertical-align: middle;
    white-space: nowrap; }
  #contact table td p:last-child,
  #contact table td li:last-child {
    margin-bottom: 0 !important; }
@media screen and (max-width: 480px) {
  #contact table {
    width: 100%; }
    #contact table tr {
      padding: 0; }
    #contact table th,
    #contact table td {
      padding: .5em;
      display: block;
      border-bottom: none; }
    #contact table th {
      width: 100%;
      box-sizing: border-box; } }
#contact a {
  color: #fff;
  text-decoration: none; }

/* Daiichi-TV */
#DaiichiTV {
  text-align: center;
  padding: 100px 0; }

/* フッター */
#footer {
  background: #000;
  color: #fff; }
  #footer .entry {
    position: fixed;
    right: 2em;
    bottom: 2em;
    z-index: 100;
    animation: fuwafuwa 1s ease-in-out infinite alternate;
    transition: opacity .3s ease; }
    @media screen and (max-width: 1023px) and (min-width: 481px) {
      #footer .entry {
        width: 25%; } }
    @media screen and (max-width: 480px) {
      #footer .entry {
        width: 25%;
        right: 1em;
        bottom: 1em; } }
    #footer .entry.hide {
      opacity: 0;
      pointer-events: none; }
    #footer .entry a img {
      transition: transform .3s ease; }
      #footer .entry a img:hover {
        transform: scale(1.2); }
  #footer .copyright {
    font-size: .6em;
    text-align: center;
    padding: 1rem 0; }

/* --------------------------------------------------

	テーブルセット

-------------------------------------------------- */
/* --------------------------------------------------

	アニメーション

-------------------------------------------------- */
@keyframes spin {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }
@keyframes comment {
  0% {
    transform: translateY(7px); }
  100% {
    transform: translateY(-7px); } }
@keyframes slideFadeIn {
  0% {
    transform: translateX(20%);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
@keyframes shine {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0; }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5; }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1; }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0; } }
@keyframes fuwafuwa {
  0% {
    transform: translateY(7px); }
  100% {
    transform: translateY(-7px); } }
@keyframes marquee {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-50%); } }
@keyframes rotate-y {
  from {
    transform: rotateY(0deg); }
  to {
    transform: rotateY(360deg); } }
@keyframes skew {
  100% {
    left: -10%; } }
@keyframes blink {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes bang {
  0% {
    opacity: 0;
    transform: scale(2); }
  70% {
    transform: scale(0.95); }
  100% {
    opacity: 1;
    transform: scale(1); } }
@keyframes cast-bounce {
  0% {
    transform: scale(1); }
  30% {
    transform: scale(1.15, 0.9); }
  60% {
    transform: scale(0.95, 1.05); }
  80% {
    transform: scale(1.03); }
  100% {
    transform: scale(1); } }
@keyframes body {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }
