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

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

	宣言

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

	全ページ共有

-------------------------------------------------- */
html,
body {
  color: #000;
  font-family: "メイリオ", Meiryo, Verdana, sans-serif;
  font-size: medium;
  line-height: 1.6;
  height: 100%;
  word-wrap: break-word;
  text-size-adjust: 100%; }

a {
  color: #e84709;
  font-weight: bold; }
  a:hover {
    text-decoration: none;
    transition: 0.3s; }
    a:hover img {
      opacity: 0.6; }

strong {
  color: #e84709;
  font-weight: bold; }

.pc {
  display: inline-block; }

.sp {
  display: none; }

/* スマホ用 */
@media screen and (max-width: 480px) {
  img {
    max-width: 100%;
    height: auto; }

  .pc {
    display: none; }

  .sp {
    display: inline-block; } }
#wrap,
#header,
#title,
#countdown,
#read,
#entry,
#schedule,
#access,
#attention,
#credit,
#footer {
  width: 100%;
  min-width: 1060px; }
  @media screen and (max-width: 480px) {
    #wrap,
    #header,
    #title,
    #countdown,
    #read,
    #entry,
    #schedule,
    #access,
    #attention,
    #credit,
    #footer {
      min-width: 100%; } }

.inner {
  width: 1000px;
  margin: auto; }
  @media screen and (max-width: 480px) {
    .inner {
      width: 90%; } }

#wrap {
  position: relative; }

/* ヘッダー */
#header {
  background-color: rgba(255, 255, 255, 0.8);
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1; }
  #header .inner {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (min-width: 480px) {
      #header .inner {
        height: 100px; } }
    @media screen and (max-width: 480px) {
      #header .inner {
        height: 80px; } }
  @media screen and (max-width: 480px) {
    #header .leftBox {
      width: 50%; } }
  #header .rightBox {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  #header h1 {
    padding: 0 20px; }
  #header .entryBtn a {
    background: #e84709;
    color: #fff;
    font-size: 1.5em;
    text-align: center;
    text-decoration: none;
    line-height: 1.2;
    letter-spacing: .05em;
    width: 260px;
    padding: 10px 0;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    top: 0; }
    @media screen and (min-width: 480px) {
      #header .entryBtn a {
        box-shadow: 0 5px #660000;
        transition: .2s ease-in-out; }
        #header .entryBtn a:hover {
          top: 5px;
          box-shadow: 0 0 #660000; } }
    @media screen and (max-width: 480px) {
      #header .entryBtn a {
        font-size: 1em;
        width: auto;
        padding: 10px 15px; } }
    #header .entryBtn a span {
      font-size: .6rem;
      font-weight: normal;
      display: inline-block; }

/* ナビ（common.jsにスクリプトあり） */
#gnav .openbtn {
  width: 90px;
  height: 90px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 999999;
  position: relative;
  cursor: pointer; }
  @media screen and (max-width: 480px) {
    #gnav .openbtn {
      width: 70px;
      height: 70px; } }
  #gnav .openbtn span {
    display: inline-block;
    transition: all .4s;
    height: 3px;
    background-color: #000;
    width: 50%;
    margin: 3px auto; }
#gnav .openbtn.active span:nth-of-type(1) {
  background-color: #fff;
  transform: translateY(9px) rotate(-45deg); }
#gnav .openbtn.active span:nth-of-type(2) {
  opacity: 0; }
#gnav .openbtn.active span:nth-of-type(3) {
  background-color: #fff;
  transform: translateY(-9px) rotate(45deg); }
#gnav nav {
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  z-index: -1;
  opacity: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  transition: all 0.3s;
  pointer-events: auto; }
  #gnav nav.panelactive {
    opacity: 1;
    z-index: 9999; }
    #gnav nav.panelactive ul {
      display: block; }
  #gnav nav:not(.panelactive) {
    pointer-events: none; }
  #gnav nav ul {
    display: none;
    text-align: center;
    width: 100%;
    position: absolute;
    z-index: 999999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    #gnav nav ul li:hover {
      background-color: rgba(0, 0, 0, 0.5); }
    #gnav nav ul li a {
      color: #fff;
      font-family: "M PLUS 1", sans-serif;
      font-size: 2em;
      font-weight: 900;
      text-decoration: none;
      line-height: 1.5;
      letter-spacing: .1em;
      width: 100%;
      padding: 1em 0;
      display: block;
      box-sizing: border-box;
      opacity: 0;
      animation: slideFadeIn 1.5s ease forwards; }
    #gnav nav ul li:nth-child(1) a {
      animation-delay: .2s; }
    #gnav nav ul li:nth-child(2) a {
      animation-delay: .3s; }
    #gnav nav ul li:nth-child(3) a {
      animation-delay: .4s; }
    #gnav nav ul li:nth-child(4) a {
      animation-delay: .5s; }
    #gnav nav ul li:nth-child(5) a {
      animation-delay: .6s; }

/* タイトル */
#title {
  background: #004380; }
  #title .inner {
    width: 100%; }
    @media screen and (min-width: 480px) {
      #title .inner {
        display: flex;
        justify-content: space-between;
        align-items: center; } }
  #title img {
    width: 100%; }
  @media screen and (min-width: 480px) {
    #title .illust,
    #title .day {
      width: 50%;
      box-sizing: border-box; } }
  #title .day {
    padding: 50px; }
    @media screen and (max-width: 480px) {
      #title .day {
        padding: 2em; } }
    #title .day h2 {
      margin-top: 20px; }

/* カウントダウン */
#countdown {
  background: #e84709;
  font-family: "M PLUS 1", sans-serif;
  color: #fff;
  font-size: 2em;
  font-weight: 800; }
  #countdown .inner {
    padding: 50px 0;
    display: flex;
    justify-content: space-evenly;
    align-items: center; }
    @media screen and (max-width: 480px) {
      #countdown .inner {
        padding: 20px 0;
        flex-direction: column; } }
  #countdown .time {
    display: flex;
    align-items: center; }
    @media screen and (max-width: 480px) {
      #countdown .time {
        margin-top: 20px; } }
    #countdown .time p {
      margin-left: 20px;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 480px) {
        #countdown .time p {
          margin: 0;
          flex-direction: column; } }
    #countdown .time span {
      background: #fff;
      color: #004380;
      font-size: 2em;
      text-box: trim-both cap alphabetic;
      margin-right: 10px;
      padding: 10px 20px;
      border-radius: 10px;
      display: inline-block; }
      @media screen and (max-width: 480px) {
        #countdown .time span {
          font-size: 1.5em;
          margin-right: 5px;
          padding: 10px; } }

/* リード */
#read {
  background: #7dd1f6 url("../images/read_bg.jpg") no-repeat right bottom;
  background-size: contain;
  color: #004380;
  font-weight: bold;
  text-shadow: 1px  1px 0px #ffffff, -1px  1px 0px #ffffff, 1px -1px 0px #ffffff, -1px -1px 0px #ffffff, 1px  0px 0px #ffffff, 0px  1px 0px #ffffff, -1px  0px 0px #ffffff, 0px -1px 0px #ffffff; }
  #read .inner {
    padding: 50px 0; }
  #read h3 {
    color: #e84709;
    font-size: 1.5em;
    line-height: 1.2; }
  #read p {
    margin-top: 1.5em; }

/* 共通（エントリー要項・スケジュール・アクセス・大会当日の注意） */
#entry,
#schedule,
#access,
#attention {
  padding-bottom: 100px; }
  #entry h3,
  #schedule h3,
  #access h3,
  #attention h3 {
    color: #e84709;
    font-family: "M PLUS 1", sans-serif;
    font-size: 2em;
    font-weight: 800;
    padding-top: 100px;
    display: flex;
    position: relative;
    justify-content: center;
    z-index: -1; }
    #entry h3::before,
    #schedule h3::before,
    #access h3::before,
    #attention h3::before {
      content: '';
      background-color: #e84709;
      width: 3px;
      height: 100px;
      transform: translate(-50%) rotate(0deg);
      position: absolute;
      top: 0;
      left: 50%; }

/* エントリー要項 */
#entry {
  background: url("../images/bg_grayGrid.png");
  position: relative;
  z-index: -2; }

/* スケジュール */
#schedule {
  background-color: rgba(232, 71, 9, 0.05); }
  #schedule .timeWrap {
    margin: 0 auto; }
    @media screen and (min-width: 480px) {
      #schedule .timeWrap {
        width: 700px; } }
  #schedule dl {
    font-family: "M PLUS 1", sans-serif;
    font-size: 1.5em;
    font-weight: 800;
    line-height: 1.2; }
    #schedule dl .dr {
      background: #fff;
      margin-top: 20px;
      border-radius: 5px;
      display: flex; }
    #schedule dl dt {
      background: #e84709;
      color: #fff;
      width: 5em;
      border-radius: 5px;
      display: flex;
      justify-content: center;
      align-items: center; }
    #schedule dl dd {
      padding: .5em; }
      #schedule dl dd span {
        font-size: 1rem; }
  #schedule .notes {
    font-size: .8em;
    margin: 20px 0 0 1.5em; }

/* アクセス */
#access .address {
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  margin-top: 20px; }
  #access .address span {
    font-size: 1rem; }
#access .map {
  position: relative;
  width: 100%;
  margin-top: 30px;
  padding-top: 56.25%;
  height: 0; }
  #access .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
#access .mode {
  margin: 0 auto; }
  @media screen and (min-width: 480px) {
    #access .mode {
      width: 900px; } }
#access .bus,
#access .taxi,
#access .car,
#access .bicycle {
  margin-top: 50px; }
  #access .bus a[target="_blank"]::after,
  #access .taxi a[target="_blank"]::after,
  #access .car a[target="_blank"]::after,
  #access .bicycle a[target="_blank"]::after {
    font-family: "Font Awesome 6 Free";
    content: "\f35d";
    padding-left: .3em; }
  #access .bus .title,
  #access .taxi .title,
  #access .car .title,
  #access .bicycle .title {
    font-family: "M PLUS 1", sans-serif;
    font-size: 1.5em;
    font-weight: 800;
    margin-bottom: .5em;
    display: flex;
    align-items: center; }
    #access .bus .title i,
    #access .taxi .title i,
    #access .car .title i,
    #access .bicycle .title i {
      margin-right: .5em; }
    #access .bus .title::after,
    #access .taxi .title::after,
    #access .car .title::after,
    #access .bicycle .title::after {
      content: "";
      margin-left: 1rem;
      border-top: 2px solid #D3D3D3;
      flex-grow: 1; }
  #access .bus .station,
  #access .taxi .station,
  #access .car .station,
  #access .bicycle .station {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      #access .bus .station,
      #access .taxi .station,
      #access .car .station,
      #access .bicycle .station {
        flex-direction: column; } }
    #access .bus .station .yaidu,
    #access .bus .station .fujieda,
    #access .taxi .station .yaidu,
    #access .taxi .station .fujieda,
    #access .car .station .yaidu,
    #access .car .station .fujieda,
    #access .bicycle .station .yaidu,
    #access .bicycle .station .fujieda {
      width: 47.5%;
      margin-top: 20px;
      padding: 20px 0;
      border: 1px solid #000;
      border-radius: 10px;
      box-sizing: border-box;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 480px) {
        #access .bus .station .yaidu,
        #access .bus .station .fujieda,
        #access .taxi .station .yaidu,
        #access .taxi .station .fujieda,
        #access .car .station .yaidu,
        #access .car .station .fujieda,
        #access .bicycle .station .yaidu,
        #access .bicycle .station .fujieda {
          width: 100%; } }
      #access .bus .station .yaidu .mark,
      #access .bus .station .fujieda .mark,
      #access .taxi .station .yaidu .mark,
      #access .taxi .station .fujieda .mark,
      #access .car .station .yaidu .mark,
      #access .car .station .fujieda .mark,
      #access .bicycle .station .yaidu .mark,
      #access .bicycle .station .fujieda .mark {
        color: #e84709;
        font-weight: bold;
        text-align: center;
        line-height: 1.1;
        width: 25%;
        height: 100%;
        padding: 0 10px;
        border-right: 1px dotted #000;
        box-sizing: border-box;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center; }
        #access .bus .station .yaidu .mark i,
        #access .bus .station .fujieda .mark i,
        #access .taxi .station .yaidu .mark i,
        #access .taxi .station .fujieda .mark i,
        #access .car .station .yaidu .mark i,
        #access .car .station .fujieda .mark i,
        #access .bicycle .station .yaidu .mark i,
        #access .bicycle .station .fujieda .mark i {
          font-size: 2em;
          margin-bottom: 10px; }
      #access .bus .station .yaidu .info,
      #access .bus .station .fujieda .info,
      #access .taxi .station .yaidu .info,
      #access .taxi .station .fujieda .info,
      #access .car .station .yaidu .info,
      #access .car .station .fujieda .info,
      #access .bicycle .station .yaidu .info,
      #access .bicycle .station .fujieda .info {
        padding: 0 15px; }
        @media screen and (max-width: 480px) {
          #access .bus .station .yaidu .info,
          #access .bus .station .fujieda .info,
          #access .taxi .station .yaidu .info,
          #access .taxi .station .fujieda .info,
          #access .car .station .yaidu .info,
          #access .car .station .fujieda .info,
          #access .bicycle .station .yaidu .info,
          #access .bicycle .station .fujieda .info {
            font-size: .9em; } }
  #access .bus ul.notes,
  #access .taxi ul.notes,
  #access .car ul.notes,
  #access .bicycle ul.notes {
    margin: 1em 0 0 1.5em; }
    #access .bus ul.notes .font-L,
    #access .taxi ul.notes .font-L,
    #access .car ul.notes .font-L,
    #access .bicycle ul.notes .font-L {
      font-size: 1.5em;
      font-weight: bold;
      line-height: 1.2; }
#access .bus .attention {
  color: #cc0000;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.2; }
  @media screen and (max-width: 480px) {
    #access .bus .attention {
      margin-top: 1rem; } }

/* 大会当日の注意 */
#attention {
  background-color: rgba(232, 71, 9, 0.05); }

/* クレジット */
#credit {
  text-align: center;
  padding: 100px 0;
  display: flex; }
  #credit .supporterA,
  #credit .supporterB,
  #credit .supporterC {
    margin-top: 50px; }
    #credit .supporterA .title,
    #credit .supporterB .title,
    #credit .supporterC .title {
      font-weight: bold;
      letter-spacing: .1em;
      text-box: trim-both cap alphabetic;
      padding: .5em;
      border: 1px solid #000;
      display: inline-block; }
    #credit .supporterA ul,
    #credit .supporterB ul,
    #credit .supporterC ul {
      list-style: none; }
      #credit .supporterA ul li,
      #credit .supporterB ul li,
      #credit .supporterC ul li {
        margin-top: 10px; }
    #credit .supporterA a,
    #credit .supporterB a,
    #credit .supporterC a {
      color: #000;
      font-size: 1.5em;
      text-decoration: none; }
  #credit .supporterA {
    margin-top: 0; }

/* フッター */
#footer {
  background: #004380; }
  #footer .copyright {
    color: #fff;
    font-family: "メイリオ", Meiryo, Verdana, sans-serif;
    font-size: .6em;
    text-align: center;
    padding: 1rem 0; }
  #footer .pagetop {
    position: fixed;
    right: 1em;
    bottom: 2em;
    z-index: 1000; }
    @media screen and (max-width: 480px) {
      #footer .pagetop {
        right: -3em; }
        #footer .pagetop img {
          width: 50%; } }

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

	テーブルセット

-------------------------------------------------- */
table {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-family: "メイリオ", Meiryo, Verdana, sans-serif;
  text-align: left;
  width: 100%;
  margin: 2rem auto; }
  table:last-child {
    margin-bottom: 0; }
  table p {
    margin-top: 1em !important; }
  table ul,
  table ol {
    margin-left: 1.5em; }
  table tr {
    border: 1px dotted #666;
    border-left: 0;
    border-right: 0; }
  table th,
  table td {
    text-box: trim-both cap alphabetic;
    padding: 1.5em 0; }
  table th {
    color: #e84709;
    font-weight: bold;
    vertical-align: middle;
    white-space: nowrap; }
    table th a {
      color: #000; }
      table th a[target="_blank"]::after {
        font-family: "Font Awesome 6 Free";
        content: "\f35d";
        padding-left: .3em; }
  table td p:first-child,
  table td li:first-child {
    margin-top: 0 !important; }

@media screen and (max-width: 480px) {
  table th,
  table td {
    display: block;
    border-bottom: none; }
  table th {
    width: 100%;
    padding: 1em 0 .5em;
    box-sizing: border-box; }
  table td {
    padding: .5em 0 1em; }

  .aside {
    margin: -1.8em 0 3.125em 0; } }
/* --------------------------------------------------

	アニメーション

-------------------------------------------------- */
@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; } }
