@charset "utf-8";
@font-face {
  font-family: "Noto Sans Japanese";
  font-weight: normal;
  src: url(../fonts/NotoSansJP-Regular.woff2) format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-weight: bold;
  src: url(../fonts/NotoSansJP-Bold.woff2) format("woff2");
  font-display: swap;
}

html {
  background-color: #000;
  scroll-padding-top:84px; /*ヘッダーと同じ高さ*/
}

body {
  position: relative;
  left: 0;
  min-width: 320px;
  min-height: 100svh;
  background-color: #000;
  /*background: linear-gradient(to right, #eddc7e 0%, #ae9600 10%, #FFFFFF 25%, #FFFFFF 75%, #ae9600 90%, #eddc7e 100%);*/
  color: #fafafa;
  font-family: "Hiragino Kaku Gothic ProN W3", "Hiragino Kaku Gothic Pro","Hiragino Sans", "arial", "Meiryo", sans-serif;
  font-feature-settings: "palt";
  overflow-x: hidden;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
}

a {
  color: #7dd3fc;
}
a:hover, a:focus {
  color: #38BDF8;
}

/* CLASSES
=========================================== */
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}
@media (min-width: 768px) {
  .pc-br:after {
    content: "";
    display: block;
  }
  .for-sp {
    display: none;
  }
}

/* BOOTSTRAP EXTENTIONS
=========================================== */

.container {
  max-width: 1100px;
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  width: auto;
}

.container a {
  text-decoration: underline;
}
.container a:hover,.container a:focus {
  text-decoration: none;
}

#page-visual .container {
  max-width: none;
}

.img-cover {
  width: 100%;
  height: auto;
}
.img-fluid {
  max-width: 100%;
  height: auto;
}

.navbar-toggle,
.navbar {
  border-radius: 0;
  border: 0 none;
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  padding: 0 !important;
  border-top: 0 none;
}
.nav > li > a:focus,
.nav > li > a:hover {
  background-color: rgba(55, 65, 81, 0.6);
}

hr {
  border-top-color: #E5E7EB;
}

.table-bordered > tbody > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > td, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
 border-color: #D1D5DB;
}

.table-striped > tbody > tr:nth-of-type(2n+1) {
  background-color: rgba(229, 231, 235,0.2);
}

/*
OBJECT LAYOUT
===========================================
*/

#page {
  position: relative;
  overflow: hidden;
  z-index: 1;
  padding-top: 48px;
}

.visual {
  position: relative;
  text-align: center;
  overflow: hidden;
  background-color: #000;
}

@media (min-width: 768px) {
  #page {
    min-height: 100svh;
    padding-top: 84px;
    /*padding-bottom: 240px;*//*2023.09.05 Footerのheightが可変のため、削除*/
    /*padding-bottomにfooterの高さを指定する*/
  }
}

/* SECTION TYPE
===========================================*/
/* BASE SECTION */
/* CONTENT SECTION */
.content {
  padding: 50px 0;
  position: relative;
}
#page-visual + .content::before {
  content:"";
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 160px;
  background-image: linear-gradient(#374151,rgba(0, 0, 0 ,0));
  z-index: 0;
}
#page-visual +.content::after {
  content:"";
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 160px;
  background-image: linear-gradient(rgba(0, 0, 0 ,0), #374151);
  z-index: -1;
}

.content.darkblue {
  background-image: linear-gradient(to bottom, #060001, #1b2959);
  background-color: #000;
}
.content.blue {
  color: #1b2959;
}

.content .title {
  font-size: 32px;
  font-weight: bold;
  padding-bottom: 25px;
  position: relative;
  z-index: 2;
  text-align: center;
  margin-bottom: 0px !important;
  margin-top: 0px !important;
}
.content .title img {
  max-width: 100%;
  height: auto;
}

.content .title span {
  display: block;
  font-size: 0.5em;
  font-style: normal;
  margin: 0.5em 0;
  letter-spacing: 0.1em;
}

.content .subtitle {
  position: relative;
  padding: 1.5em 0;
  color: #fff;
  font-family: "Noto Sans Japanese", sans-serif;
  font-weight: bold;
  font-size: 32px;
  text-align: center;
}
.content .subtitle span{
  position: relative;
  display: inline-block;
  padding: 0 1em;
  line-height: 1.2;
  background-color: #000;
}
.content .subtitle::before {
  content: "";
  position:absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #ae9600;
}

@media (max-width: 767px) {
  .content {
    padding: 30px 0;
  }
  .content .title {
      margin-left: -10px;
      margin-right: -10px;
  }
  .content .subtitle {
    font-size: 24px;
  }
  .content .subtitle span {
    max-width: calc(100% - 2em);
  }
  .content .subtitle span{
  padding: 0 0.5em;
}
}

.article-area > p {
  line-height: 1.8;
  margin: 1em 0 2em 0;
}


/* VISUAL
=========================================== */
@media (min-width: 768px) {
  .visual {
    position: relative;
    background: url(../img/top_pc2nd.png?v2023090401) no-repeat scroll center center;
  }
    .visual:before {
    content: "";
    display: block;
    padding-top: 11.4%;
    /* 高さを幅の11.4%に固定 */
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .visual {
    width: 100%;
    height: auto;
    background-size: 100% auto;
  }
}



@media (min-width: 768px) {
  .visual {
    height: 160px;
  }
}



/* HEADER MENU
===========================================*/
#page-header {
  line-height: 12px;
  margin: 0;
  background-color: #000;
  color: #fff;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
}

/*ロゴ表示エリア*/
.navbar-header {
  float: none;
}
.navbar-brand {
  margin-left: 15px;
  padding: 0 0 0 15px;
  display: flex;
  align-items: center;
  height: 100%;
}

/**/
.navbar-brand img {
  width: 256px;
  height: 24px;
}

/**/
@media (min-width: 768px){
  .navbar-nav,
  .navbar-nav > li {
      float: none;
  }
}

#page-header .menu {
  width: 100%;
  /*margin: 0;*/
  padding: 0;
  font-size: 14px;
}
#page-header .menu > li {
  display: table;
  letter-spacing: 0.05em;
  margin-left: -1px;
  width: 14%;
  position: relative;
}

#page-header .menu > li > a,
#page-header .menu > li > span {
  display: table-cell;
  width: 100%;
  vertical-align: middle;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 700;
  color: #fff;
    background-color: rgba(55, 65, 81, 0.6);
}

#body-top #page-header .menu > li.gnav_top > a,
#body-player #page-header .menu > li.gnav_player > a,
#body-g1race #page-header .menu > li.gnav_road > a,
#body-road #page-header .menu > li.gnav_road > a,
#body-kaisai #page-header .menu > li.gnav_kaisai > a,
#body-yoso #page-header .menu > li.gnav_yoso > a,
#body-events #page-header .menu > li.gnav_events > a,
#body-camp #page-header .menu > li.gnav_events > a,
#body-g1race #page-header .menu > li.gnav_road > a,
#body-access #page-header .menu > li.gnav_access > a {
  color: #ae9600;
  background-color: rgba(174, 150, 0,0.4);
  text-decoration: none;
}

#page-header .menu > li > a:hover,
#page-header .menu > li.open > a {
  background-color: rgba(55, 65, 81, 0.4);
}

/* 出場予定選手・アクセス　アイコン付きメニュー */
/*.nav_blank a,
.nav_keirinjp a,*/
.gnav_access a {
  padding: 10px;
}

.nav_blank span,
.nav_keirinjp span,
.gnav_access span {
  display: inline-block;
  position: relative;
  padding-right: 20px;
}

.nav_blank span::after,
.nav_keirinjp span::after,
.gnav_access span::after {
  content: "";
  display: inline-block;
  background-size: 18px 18px;
  background-position: right center;
  background-repeat: no-repeat;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  right: 0px;
  margin-top: -9px;
}

.nav_blank span::after {
  background-image: url(../img/icon_blank.svg);
}

.nav_keirinjp span::after {
  background-image: url(../img/icon_keirinjp.svg);
}

.gnav_access span::after {
  background-image: url(../img/icon_global.svg);
}

#body-access .gnav_access > a span::after,
.nav .open.gnav_access > a span::after,
.gnav_access a:focus span::after,
.gnav_access a:hover span::after {
  background-image: url(../img/icon_global_hover.svg);
}

/* .dropdown-toggle 下矢印アイコン付きメニュー */

.dropdown-toggle {
  position: relative;
}

.dropdown-toggle::before {
  content: "";
  display: inline-block;
  background-size: 16px 16px;
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -8px;
  background-image: url(../img/icon_arrow_d.svg);
}

#body-yoso #page-header .menu > li.gnav_yoso > a.dropdown-toggle::before,
#body-player #page-header .menu > li.gnav_player > a.dropdown-toggle::before,
#body-g1race #page-header .menu > li.gnav_road > a.dropdown-toggle::before,
#body-road #page-header .menu > li.gnav_road > a.dropdown-toggle::before,
#body-events #page-header .menu > li.gnav_events > a.dropdown-toggle::before,
#body-access #page-header .menu > li.gnav_access > a.dropdown-toggle::before,
#body-yoso .gnav_yoso > a.dropdown-toggle::before,
#body-access .gnav_access > a.dropdown-toggle::before,
.nav .open > a.dropdown-toggle::before,
.dropdown-toggle:focus::before,
.dropdown-toggle:hover::before {
  background-image: url(../img/icon_arrow_d_hover.svg);
}

/* .dropdown-menu ドロップダウンメニュー指定 */

.dropdown-menu,
.navbar-nav .open .dropdown-menu {
  min-width: 100%;
  padding: 0;
  color: #fff;
  background-color: #374151;
}

.dropdown-menu > li > a {
  color: #fff;
  padding: 8px 16px;
}
.dropdown-menu > li > a:focus,
.dropdown-menu > li > a:hover {
  color: #fff;
  background-color: rgba(31, 41, 55, 0.4);
}

/* PC向けグローバルナビゲーション指定 */
@media (min-width: 1200px) {
  .navbar-toggle {
    display: none;
  }
  #page-header .container-fluid {
    display: flex;
    justify-content: space-between;
    padding-left: 0;
    padding-right: 0;
  }
  .navbar-brand img {
    width: 344px;
    height: 32px;
  }
  .container-fluid > .navbar-collapse {
    width: 100%;
  }
  #page-header .menu {
    display: flex;
    justify-content: end;
  }
  #page-header .menu > li > a,
  #page-header .menu > li > span {
    height: 84px;
    padding: 0;
  }
  .navbar-right .dropdown-menu {
    right: 0;
    left: auto;
  }
  .navbar-right .dropdown-menu-left {
    right: auto;
    left: 0;
  }
  #page-header .menu > li.gnav_prosports {
    width: 16%;
  }
  #page-header .menu > li::after {
    content: "";
    display: block;
    width: 1px;
    height: 56px;
    background-color: #3f3f46;
    position: absolute;
    top: 15px;
    right: 0px;
  }
  #page-header .menu > li:last-child:after {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .navbar-brand, .navbar > .container-fluid .navbar-brand {
    margin-left: 0;
  }
}

/* スマホ版グローバルナビゲーション指定 */
@media (max-width: 1199px) {
  #page-header .menu {
    margin: 0;
  }
  /* ナビゲーションが開いたときに背景を固定する */
  .is-fixed {
    height: 100%;
    overflow: hidden;
  }
  .is-fixed .bg-navbar {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 1029;
    /*.navbar-fixed-topがz-index: 1030;なので*/
    background-color: rgba(0, 0, 0, 0.5);
    cursor: pointer;
  }

  #page-header .container-fluid {
    padding-left: 0;
    padding-right: 0;
  }
  /* .navbar-toggle スマホ版グローバルナビゲーション開閉ボタン */
  .navbar-toggle {
    display: block;
    margin: 0;
    padding: 10px;
    color: #fff;
    background-color: #ae9600;
    text-decoration: none;
    width: 48px;
    height: 48px;
    border-radius: 0;
  }
  .navbar-toggle .icon-bar {
    background-color: #fff;
    -webkit-transition: transform 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
    transition: transform 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
    margin: auto;
  }
  .opened .navbar-toggle .icon-bar {
    -webkit-transform: translateY(6px) rotate(45deg);
    transform: translateY(6px) rotate(45deg);
  }
  .opened .navbar-toggle .icon-bar::after {
    background-color: #fff;
    content: "";
    display: block;
    height: 2px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    width: 22px;
  }
  .opened .navbar-toggle .icon-bar + .icon-bar {
    opacity: 0;
  }
  .navbar-collapse.in {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .navbar-fixed-top .navbar-collapse.in {
    max-height: calc(100vh - 48px);
  }
  /*.navbarの高さと同じサイズ*/
  #page {
    padding-top: 48px;
  }
  .navbar-header {
    height: 48px;
  }
  #page-header .menu {
    font-size: 16px;
  }
  #page-header .menu > li {
    display: block;
    text-align: left;
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0 none;
    border-top: 1px solid #3f3f46;
    color: #ffffff;
    font-size: 1.2rem;
    height: auto;
    min-height: 50px;
  }
  #page-header .menu > li:nth-child(5) {
    width: 100%;
  }
  #page-header .menu > li > a {
    display: block;
    text-align: left;
    padding: 0 28px;
  }
  #page-header .menu > li > a,
  #page-header .menu > li > span {
    width: 100%;
    height: auto;
    line-height: 48px;
  }
  #page-header .menu > li.open > a,
  #page-header .menu > li.open > a:hover,
  #page-header .menu > li.open > a:focus {
    color: #fff;
    background-color: rgba(174, 150, 0, 0.4);
  }
  .dropdown-toggle {
    position: relative;
  }
  .dropdown-toggle::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 28px;
    left: auto;
    margin-left: 0;
    margin-top: -8px;
  }
  .navbar-nav .open .dropdown-menu {
    border-radius: 0;
  }
  .navbar-nav .open .dropdown-menu > li {
    border-top: solid 1px #52525b;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    padding: 8px 16px 8px 28px;
  }
  .navbar-fixed-top .navbar-collapse.in {
    max-height: calc(100vh - 48px);
  }
}

@media (max-width: 767px) {
  #page-header .container-fluid,
  .navbar-brand {
    padding: 0;
  }
}

/* FOOTER
=========================================== */
@media (max-width: 767px) {
  footer .tachikawa_area .col-xs-12 {
    margin-top: 16px;
  }
}
@media (min-width: 768px) {
   /*footer {
    position: absolute;
    bottom: 0;
    width: 100%;
 height: 240px;
  }*//*2023.09.05 Footerのheightが可変のため、削除*/
  #page-address {
  padding: 60px 0 0 0;
}
}

/*#float-gotop {*/
  .btn-pagetop{
  position: fixed;
  bottom: 0;
  right: 0;
  width: 48px;
  height: 48px;
  margin-left: -24px;
  background-color: rgba(174, 150, 0,0.8);
  background-image: url(../img/icon_arrow_pagetop.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 24px 24px;
  outline: none;
  z-index: 100;
  cursor: pointer;
}
.btn-pagetop:hover{
  background-color: rgba(174, 150, 0, 0.9);
}
a.footer_link {
  color: #fff;
  text-decoration: underline;
}

.footer_link:hover {
  text-decoration: none;
}

/* Photo Copyright */
.photo-copyright {
  display: none;
  font-size: 12px;
  color: #9ca3af;
  list-style: none;
  padding-left: 0;
  margin-left: 1em;
}
@media (min-width: 768px) {
  .photo-copyright li{display: inline-block;}
  .photo-copyright li:not(:last-child):after {
    content: "／";
    margin-left: 2px;
  }
}

/* copyright */
#page-footer {
  position: relative;
  /*background-color: #fff;*/
}

#page-footer .gotop {
  position: absolute;
  right: 16px;
  bottom: 24px;
  width: 48px;
  height: 48px;
  margin-left: -24px;
  border-radius: 50%;
  background-color: #ae9600;
  background-image: url(../img/icon_arrow_pagetop.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 24px 24px;
}
#page-footer .copyright {
  /*text-align: center;*/
  font-size: 0.9em;
  color: #9ca3af;
  padding-top: 10px;
}

/* SECTION ComingSoon
===========================================*/
.section-comingsoon {
  position: relative;
  margin: 32px auto 64px auto;
  padding: 48px 20px;
  background-color: rgba(17, 24, 39, 0.8);
  background-image: url(../img/bg_noise.png);
}
.title-comingsoon {
  margin-bottom: 24px;
  text-align: center;
  color: #ae9600;
  font-family: "Noto Sans Japanese", sans-serif;
  font-weight: bold;
}
.body-comingsoon{
  text-align: center;
  font-weight: bold;
}

.section-comingsoon::before,.section-comingsoon::after {
    content:'';
    width: 32px;
    height: 32px;
    position: absolute;
    display: inline-block;
}
.section-comingsoon::before{
    border-left: solid 4px #eddc7e;
    border-top: solid 4px #ae9600;
    top:0;
    left: 0;
}
.section-comingsoon::after{
    border-right: solid 4px #ae9600;
    border-bottom: solid 4px #eddc7e;
    bottom:0;
    right: 0;
}


@media (min-width: 768px) {
  .section-comingsoon {
    margin: 96px auto 120px auto;
  }
  .title-comingsoon {
    font-size: 48px;
  }
  .body-comingsoon{
   font-size: 24px;
  }
}



/*
LINKS
===========================================
*/
#page-links {
  color: #ccc;
  background-color: #1b2959;
  padding: 40px 0;
}

/*a>imgのhover指定*/
.link-imghover {
  position: relative;
  display: inline-block;
}
.link-imghover:hover:after {
  content: "";
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-blend-mode: overlay;
  background-image:repeating-linear-gradient(rgba(17, 24, 39, 0.4), rgba(17, 24, 39, 0.4) 1px, transparent 1px, transparent 2px);
}

/*
box
===========================================
*/

.content-box {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  background-color: #F9FAFB;
  background-image: url(../img/bg_noise.png);
  background-color: #F9FAFB;
  border-left: 2px solid #eddc7e;
  border-right: 2px solid #ae9600;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 50px;
  color: #18181B;
}
.content-box::before,
.content-box::after {
  content: "";
  display: block;
  height: 2px;
  background: linear-gradient(to right, #eddc7e 0%, #ae9600 100%);
  border-radius: 8px;
}

.content-box a {
  color: #337ab7;
}

.content-box a:focus, .content-box a:hover {
  color: #23527c;
}

.content-box::after {
  z-index: 1;
  position: absolute;
  bottom: 0;
  width: 100%;
}

.content-box-title {
  font-size: 1.2em;
  background: url(../img/bg_noise.png), linear-gradient(to right, #eddc7e 0%, #ae9600 100%);
  padding: 20px;
  text-align: center;
  /*color: #fff;*/
  color: #18181b;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.content-box-title h3 {
  font-size: 1.2em;
  line-height: 1.2;
  font-weight: bold;
}

.content-box-inner {
  line-height: 1.6;
  padding: 20px;
}

.attention-box {
  margin-bottom: 32px;
  padding: 20px;
  border: solid 2px #e50012;
  line-height: 1.6;
  font-size: 85%;
}

/*
btn-jump
===========================================
*/

a.content-btn {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  background-color: rgba(55, 65, 81, 0.6);
  border-left: 2px solid #eddc7e;
  border-right: 2px solid #ae9600;
  letter-spacing: 0;
  overflow: hidden;
  font-feature-settings: "palt";
  white-space: nowrap;
  color: #fff;
  padding: 20px 0;
}

a.content-btn:hover {
  top: 2px;
  opacity: 0.8;
}

.content-btn::before,
.content-btn::after {
  content: "";
  position: absolute;
  display: block;
  height: 2px;
  width: 100%;
  left: 0;
  background: linear-gradient(to right, #eddc7e 0%, #ae9600 100%);
}

.content-btn::before {
  top: 0;
}

.content-btn::after {
  bottom: 0;
}

/* TABLE_base
=========================================== */
.table00 th, .table00 td {
  padding: 8px;
}

.table_base {
  border: 1px solid #D1D5DB;
  width: 100%;
}
/* Bootstrap Reset */
.table.table_base > thead > tr > th{
  border-bottom: 1px solid #D1D5DB;
}
.table.table_base > tbody > tr > th,
.table.table_base > tbody > tr > td {
  vertical-align: middle;
  border-top-color: #D1D5DB;
}

.table_base thead th {
  background-color: #c2a700;
  background-image: url(../img/bg_noise.png);
  color: #fff;
}
.table_base thead tr:nth-child(2n) th {
  background-color: #d5b800;
}


.table_base th, .table_base td {
  border: 1px solid #D1D5DB;
}
.table_base th {
  text-align: center;
  background-color: #F3F4F6;
  color: #27272A;
}
.table_base td {
  background-color: #fff;
  color: #27272A;
}

.table_base a{color: #337ab7}
.table_base a:focus, .table-seat a:hover {
  color: #23527c;
}

.align-middle {
  vertical-align: middle!important;
}

.nowrap{white-space: nowrap;}

/* List
=========================================== */
.list-disc {
  padding-left: 1em;
}

/* Button
=========================================== */
a.btn-panel {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0;
  overflow: hidden;
  font-feature-settings: "palt";
  white-space: nowrap;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  background-color: rgba(55, 65, 81, 0.6);
  background-image: url(../img/bg_noise.png);
  color: #fff;
}

.btn-panel:active {
  top: 2px;
}

@keyframes icon_player_1 {
  0% {
    right: 0px;
    bottom: 0px;
    animation-timing-function: ease-out;
  }
  40% {
    transform: scale(1.2);
    right: 8px;
    top: -4px;
  }
  50% {
    transform: scale(1.2);
    right: 8px;
    top: -4px;
    animation-timing-function: ease-in;
  }
  90% {
    transform: scale(1);
    right: 0px;
    bottom: 0px;
  }
}

@keyframes icon_player_2 {
  0% {
    left: 0px;
    top: 0px;
    opacity: 0;
  }
  40% {
    left: 5px;
    top: -3px;
    opacity: 1;
  }
  80% {
    left: 5px;
    top: -3px;
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.icon_player,
.icon_entry,
.icon_events {
  position: absolute;
  display: block;
  top: 0;
}
/*
.icon_player:nth-of-type(2) {
    animation-name: icon_player_1;
    animation-duration: 2s;
    animation-iteration-count: infinite;
}

.icon_player:nth-of-type(3) {
    animation-name: icon_player_2;
    animation-duration: 2s;
    animation-iteration-count: infinite;
}
*/

/*
.panel-style:nth-of-type(1) .btn-panel{
  background-color: rgba(229, 161, 189, 0.5);
  border-right: 4px solid #CC5281;
  border-left: 4px solid #E5A1BD;
}

.panel-style:nth-of-type(1) .btn-panel::before,
.panel-style:nth-of-type(1) .btn-panel::after {
  background: linear-gradient(to right, #E5A1BD 0%, #CC5281 100%);
}

.panel-style:nth-of-type(2) a.btn-panel{
  background-color: rgba(240, 170, 165, 0.5);
  border-right: 4px solid #CF6654;
  border-left: 4px solid #F0AAA5;
}

.panel-style:nth-of-type(2) a.btn-panel::before,
.panel-style:nth-of-type(2) a.btn-panel::after {
  background: linear-gradient(to right, #F0AAA5 0%, #CF6654 100%);
}

.panel-style:nth-of-type(3) .btn-panel{
  background-color: rgba(229, 183, 161, 0.5);
  border-right: 4px solid #E57E5E;
  border-left: 4px solid #E5B7A1;
}

.panel-style:nth-of-type(3) .btn-panel::before,
.panel-style:nth-of-type(3) .btn-panel::after {
  background: linear-gradient(to right, #E5B7A1 0%, #E57E5E 100%);
}

.panel-style:nth-of-type(4) .btn-panel{
  background-color: rgba(229, 207, 161, 0.5);
  border-right: 4px solid #FAD864;
  border-left: 4px solid #E5CFA1;
}

.panel-style:nth-of-type(4) .btn-panel::before,
.panel-style:nth-of-type(4) .btn-panel::after {
  background: linear-gradient(to right, #E5CFA1 0%, #FAD864 100%);
}

.panel-style:nth-of-type(5) .btn-panel{
  background-color: rgba(229, 229, 161, 0.5);
  border-right: 4px solid #5FA553;
  border-left: 4px solid #E5E5A1;
}

.panel-style:nth-of-type(5) .btn-panel::before,
.panel-style:nth-of-type(5) .btn-panel::after {
  background: linear-gradient(to right, #E5E5A1 0%, #5FA553 100%);
}

.panel-style:nth-of-type(6) .btn-panel{
  background-color: rgba(161, 210, 229, 0.5);
  border-right: 4px solid #5688C2;
  border-left: 4px solid #A1D2E5;
}

.panel-style:nth-of-type(6) .btn-panel::before,
.panel-style:nth-of-type(6) .btn-panel::after {
  background: linear-gradient(to right, #A1D2E5 0%, #5688C2 100%);
}

.panel-style:nth-of-type(7) .btn-panel{
  background-color: rgba(161, 161, 229, 0.5);
  border-right: 4px solid #9962B2;
  border-left: 4px solid #A1A1E5;
}

.panel-style:nth-of-type(7) .btn-panel::before,
.panel-style:nth-of-type(7) .btn-panel::after {
  background: linear-gradient(to right, #A1A1E5 0%, #9962B2 100%);
}

.panel-style:nth-of-type(8) .btn-panel{
  background-color: rgba(193, 193, 193, 0.5);
  border-right: 4px solid #333333;
  border-left: 4px solid #C1C1C1;
}

.panel-style:nth-of-type(8) .btn-panel::before,
.panel-style:nth-of-type(8) .btn-panel::after {
  background: linear-gradient(to right, #C1C1C1 0%, #333333 100%);
}
*/

.btn-panel-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 10px;
  border-radius: 4px;
}

a.btn-panel:focus,
a.btn-panel:hover {
  /*opacity: 0.8;*/
    color: #fff;
  background-color: rgba(55, 65, 81, 0.8);
}

/*.btn-panel-img {*/
a.btn-panel .btn-panel-img {
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

/*.btn-panel-img:hover,
.btn-panel-img:focus {*/
a.btn-panel:hover .btn-panel-img,
a.btn-panel:focus .btn-panel-img{
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

.btn-panel-text {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 3em;
  padding: 5px;
}

.btn-panel-img {
  padding: 10px 0;
  width: 128px;
  height: 128px;
  margin: 10px auto;
  box-sizing: border-box;
  position: relative;
}

a.btn-form {
  background-color: #ae9600;
  color: #000;
  box-shadow: 0 0 2px rgba(0, 0, 0, .4);
}
a.btn-form:hover, a.btn-form:focus {
  background-color: #837100;
  color: #000;
  text-decoration: none;
}

/* box
*************************************************/

.box {
  margin-bottom: 30px;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
  color: #222;
  overflow: hidden;
}

.box-inner {
  padding: 20px 10px;
  text-align: left;
}

.box-title01 {
  margin-top: 0;
  padding: 10px;
  background-repeat: repeat;
  background-color: #ae9600;
  font-weight: bold;
}

.box-title02 {
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 10px;
}

.box-title02:after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  margin-top: 5px;
  background: linear-gradient(to right, #eddc7e 0%, #ae9600 100%);
}

.box-title03 {
  margin: 30px 0 20px 0;
  padding: 10px;
  border-radius: 5px;
  /*background-color: #efeacc;*/
  background-color: rgba(197, 179, 70, 0.2);
  box-shadow: 0 0 2px rgba(0, 0, 0, .4);
  border: 1px solid #fff;
  font-weight: bold;
}

.box-title04 {
  position: relative;
  display: block;
  margin: 30px 0 20px 0;
  margin-bottom: 16px;
  padding-top: 1rem;
  font-weight: bold;
}
.box-title04::before {
  content: "";
  display: inline-block;
  width: 0.8em;
  margin-right: 0.3em;
  height: 0.8em;
  background-color: #ae9600;
}

.mt_0 {
  margin-top: 0;
}

.box-title {
  font-size: 1rem;
}

.box a {
  color: #4e65b8;
}

.box a:hover,
.box a:focus {
  color: #223fa6;
}

@media (min-width: 768px) {
  .box-inner {
    padding: 30px;
  }
  .box-title {
    font-size: 1rem;
  }
  .box-title01 {
    padding: 10px 30px;
  }
  .box-title02 {
    padding-bottom: 20px;
  }
}

/*
Others
=========================================== */

@media (max-width: 767px) {
  .sp-br:after {
    content: "";
    display: block;
  }
  .for-pc {
    display: none;
  }
}

/* .row style */
.row-0 {
  margin-left: 0;
  margin-right: 0;
}
.row-0 > div {
  padding-right: 0;
  padding-left: 0;
}

.row-8 {
  margin-left: -4px;
  margin-right: -4px;
}
.row-8 > div {
  padding-right: 4px;
  padding-left: 4px;
}


/* margin */

.mb-60px {
  margin-bottom: 60px;
}

.mb-30px {
  margin-bottom: 30px;
}

.mb-10px {
  margin-bottom: 10px;
}

/*
movie(レスポンシブ用)
=========================================== */

.movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* 文字
=========================================== */
.text-theme {
  color: #ae9600;
}
.text-red {
  color: #e50012;
}

.text-yel {
  color: #ffff00;
}

.text-white {
  color: #ffffff;
}

.text-blue {
  color: #00008b;
}

.bold {
  font-weight: bold;
}
.text-underline {
  text-decoration: underline;
}

.text-middle {
  font-size: 1.1em;
}
.text-12px {
  font-size: 12px;
}
.text-14px {
  font-size: 14px;
}
.text-16px {
  font-size: 16px;
}
.text-18px {
  font-size: 18px;
}
.text-24px {
  font-size: 24px;
}

/* 情報提供元情報 */
.text-informant {
  text-align: right;
}

.text-background {
  background-color: #ffd700;
  font-size: 120%;
  font-weight: bold;
}
@media (max-width: 767px) {
  .sp-text-14px {
    font-size: 14px;
  }
}


/* 見出し
=========================================== */

.heading {
  color: #000;
  font-size: 1.1em;
  font-weight: bold;
}


/* トップページ、グランプリページ用　出場選手画像一覧
=========================================== */
.playerlist a {
  position: relative;
  display: block;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
}

.playerlist a.btn-player-img:hover::before {
  content: "";
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-blend-mode: overlay;
  background-image:repeating-linear-gradient(rgba(17, 24, 39, 0.4), rgba(17, 24, 39, 0.4) 1px, transparent 1px, transparent 2px);
  z-index: 1;
}

.playerlist .winner::after {
  content: "";
  position: absolute;
  top:-12px;
  right: -8px;
  display: block;
  width: 14vw;
  height: 14vw;
  background-position: top right;
  background-repeat: no-repeat;
  background-size: cover;
  filter: drop-shadow(0 0 2px #000);
  z-index: 2;
}
.playerlist.list-gp .winner::after {
  background-image: url(../img/index/icon_winner_gp.png);
}
.playerlist.list-ggp .winner::after {
  background-image: url(../img/index/icon_winner_ggp.png);
}
.playerlist.list-ygp .winner::after {
  background-image: url(../img/index/icon_winner_ygp.png);
}
@media (min-width: 768px) {
  .playerlist .winner::after {
    width: 80px;
    height: 80px;
  }
}

/* .list-attention
=========================================== */
.list-attention {
  padding-left: 0;
  list-style: none;
}
.list-attention li {
  padding-left: 1em;
  margin-bottom: 0.2em;
}
.list-attention li::before {
  margin-left: -1em;
  content: "※";
}