@charset "UTF-8";
/* CSS Document */
:root {
	--font-family-en: 'Roboto', sans-serif;
	--font-family-en-2: 'Arial', sans-serif;
	--font-family-en-3: 'Oswald', sans-serif;
	--font-family-meiryo: 'メイリオ', Meiryo, 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
	--font-family-c: 'Noto Sans SC', sans-serif;
	--font-family-k: 'Noto Sans KR', sans-serif;
	--red: #F80000;
	--orange: #FF8000;
	--blue: #39A1DD;
	--black: #000;
}

body{
  -webkit-text-size-adjust: 100%;
	color: var(--black);
	font-size: 16px;
	font-family: var(--font-family-meiryo);
}


/* body.kaisai {
  color: #000;
  line-height: 1.3em;
  background: #E1F1FF; 	
  font-size: 16px;	
} */

body {
  color: #000;
  line-height: 1.3em;
  background: #E1F1FF; 	
  font-size: 16px;	
}


body.hikaisai {
  color: #000;
  line-height: 1.3em;
  background: #E8EAEC url(../images/hikaisai_bg.png); 		
  font-size: 16px;	
}



/* コピーライト
=============================================== */
.footer{
	width: 1920px;
}

.footer__copyright, #footer {
	background-color: #073A73;
	width: 100%;
	display: block;
	color: #fff;
	text-align: center;
	font-size: 14px;
	line-height: 1.86;
	margin-top: 30px;
}

/*///////////////*/
/* スクロールバーカスタム */
/* ::-webkit-scrollbar {
  width: 12px;
  height: 12px;
  box-shadow: inset 0 0 2px rgba(0, 0, 0, .1);	
	
}
 
::-webkit-scrollbar-thumb {
  background: #BFBFBF;
  border-radius: 6px;
  box-shadow: inset 1px 1px 1px rgba(255,255,255,0.6);	
} */

#wrapper{
	width: 1920px;
	min-height:1080px; 
	color: #fff;
	margin: 0 auto;
	position: relative;
	font-size: 16px;	
}



/* header
=============================================== */
.header {
	width: 1920px;
	height: 107px;
	position: relative;
}

.header__inner {
	display: flex;
	position: relative;
	z-index: 999;
	background-color: #fff;
	height: 107px;
}

.header__logo a {
	display: block;
	background-image: linear-gradient(180deg, #39A1DD, #2776DC);
	padding: 16px 55px;
}

.hikaisai .header__logo a {
	background-image: linear-gradient(180deg, #8686AA, #4B4B5E);
}

.header__logo img {
	width: 390px;
	aspect-ratio: 390/75;
}

.header__held {
	width: 220px;
	background-image: linear-gradient(180deg, #FF673E, #FF3700);
	color: #fff;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
}

.hikaisai .header__held {
	background: #B7B7B7;
}

.header__held h2 {
	font-size: 60px;
	font-weight: bold;
	text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
	line-height: 1;
	margin-top: 20px;
	/* display: none; */
}
.hikaisai .header__held h2{
	margin-top: 20px;
}

.hikaisai .header__held-kaisai {
	/* display: none; */
}
.hikaisai .header__held-hikaisai {
	/* display: block; */
}

.kaisai .header__held-hikaisai {
	/* display: none; */
}
.kaisai .header__held-kaisai {
	/* display: block; */
}

.header__held-time {
	font-size: 17px;
	font-weight: bold;
	line-height: 1;
}

/* .hikaisai .header__held-time {
	display: none;
} */

.header__now {
	width: 240px;
	height: inherit;
	background-image: linear-gradient(180deg, #717171, #000000);
	color: #fff;
	text-align: center;
	font-family: var(--font-family-en-3);
	font-weight: bold;
}

.header__date {
	line-height: 1;
	margin-top: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.header__today {
	font-size: 25px;
}

.header__today-weekday {
	font-size: 19px;
	text-transform: uppercase;
	margin-left: 10px;
}

.header__time {
	font-size: 68px;
	line-height: 1;
	letter-spacing: 0.05em;
}

/* head-news
=============================================== */
.header__info {
	width: 860px;
}

.head-news {
	background-color: var(--black);
	padding: 10px 0;
	display: flex;
}

.head-news__label {
	color: var(--blue);
	text-transform: uppercase;
	font-family: var(--font-family-en);
	font-weight: 500;
	padding: 0 7px;
	margin-right: 7px;
	border-right: 1px solid var(--blue);
	line-height: 1;

}

.head-news__content {
	width: 100%;
	overflow: hidden;
	display: flex;
}

.head-news__item {
	display: inline-block;
	white-space: nowrap;
	line-height: 1;
	width: auto;
}

.head-news__item:nth-child(odd) {
	animation: animate-head-news 20s -10s linear infinite;
}

.head-news__item:nth-child(even) {
	animation: animate-head-news 20s linear infinite;
}

.head-news__item a {
	color: #fff;
	font-size: 14px;
}

@keyframes animate-head-news {
	0% {
		transform: translateX(100%);
	}

	100% {
		transform: translateX(-100%);
	}
}


/* ハンバーガー
=============================================== */
.header__hamburger {
	position: relative;
	flex: 1;
	border: 0;
	margin: 0;
	padding: 0;
	outline: none;
	height: inherit;
	background-image: linear-gradient(180deg, #2776DC, #39A1DD);
	cursor: pointer;
	transition: all 0.3s ease 0s;
}

.hikaisai .header__hamburger {
	background-image: linear-gradient(180deg, #8585A9, #4B4B5E);
}

.header__hamburger:hover {
	opacity: 0.7;
}

.header__hamburger-wrap {
	position: relative;
	height: 41px;
}

.header__hamburger span {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	width: 45px;
	height: 5px;
	border-radius: 4px;
	background-color: #fff;
	transition: .5s;
}

.header__hamburger span:nth-of-type(1) {
	top: 0;
}

.header__hamburger span:nth-of-type(2) {
	top: 50%;
	transform: translate(-50%, -50%);
}

.header__hamburger span:nth-of-type(3) {
	bottom: 0;
}

.header__hamburger.is-open span:nth-of-type(1) {
	top: 22px;
	transform: translateX(-50%) rotate(45deg);
}

.header__hamburger.is-open span:nth-of-type(2) {
	opacity: 0;
}

.header__hamburger.is-open span:nth-of-type(3) {
	top: 22px;
	transform: translateX(-50%) rotate(-45deg);
}

.header__hamburger-text {
	text-transform: uppercase;
	color: #fff;
	line-height: 1;
	letter-spacing: 0.08em;
	font-size: 18px;
	font-family: var(--font-family-en-3);
	font-weight: 700;
	margin-top: 10px;
}

.header__drawer {
	width: 100%;
	height: 1002px;
	position: absolute;
	left: 0;
	top: 107px;
	z-index: 200;
	transform: translateY(-100%);
	background-color: rgba(0, 90, 142, 0.85);
	-webkit-backdrop-filter: blur(30px);
	backdrop-filter: blur(30px);
	transition: 0.5s;
}

.hikaisai .header__drawer {
	background-color: rgba(89, 89, 99, 0.85);
}

.header__drawer.is-open {
	transform: translateX(0);
}

.header__drawer::after {
	position: absolute;
	content: "";
	background: url(../images/meni_bg-img.png) no-repeat center center / contain;
	display: block;
	width: 976px;
	height: 962px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.hikaisai .header__drawer::after {
	display: none;
}

.drawer__container {
	position: relative;
	z-index: 30;
	margin-top: 81px;
	padding-left: 60px;
}

.drawer__menu {
	display: flex;
	gap: 36px;
	align-items: center;
}

.drawer__menu+.drawer__menu {
	margin-top: 55px;
}

.drawer__menu dt {
	display: flex;
	width: 472px;
	align-items: center;
	gap: 20px;
}

.drawer__img {
	width: 137px;
}

.drawer__menu:nth-child(2) .drawer__img img {
	width: 117px;
}

.drawer__menu:nth-child(3) .drawer__img img {
	width: 129px;
}

.drawer__menu:nth-child(4) .drawer__img img {
	width: 137px;
}

.drawer__menu:nth-child(5) .drawer__img img {
	width: 129px;
}

.drawer__titles {
	color: #fff;
	text-align: center;
	line-height: 1;
}

.drawer__title {
	font-size: 45px;
	font-weight: bold;
}

.drawer__title-en {
	font-size: 21px;
	font-family: var(--font-family-en-3);
	font-weight: 500;
	letter-spacing: 0.08em;
}

.drawer__btns {
	display: flex;
	gap: 15px;
}

.drawer__btn a {
	display: inline-block;
	width: 141.8px;
	filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.45));
}

.drawer__btn--tokyo a {
	width: 189px;
	filter: unset;
}

.drawer__btn a img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.drawer__links-wrap {
	position: relative;
	z-index: 30;
	display: flex;
	justify-content: center;
	margin-top: 61px;
	gap: 40px;
}

.drawer__links,
.drawer__lang {
	display: flex;
}

.drawer__link-item+.drawer__link-item {
	margin-left: 20px;
}

.drawer__link-item a {
	position: relative;
	color: #fff;
	font-weight: bold;
	padding-left: 13px;
}

.drawer__link-item a::before {
	position: absolute;
	content: "";
	background: url(../images/arrow_menu-link.png) no-repeat center center / contain;
	width: 8.44px;
	height: 12.87px;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.drawer__lang li+li {
	margin-left: 16px;
}

.drawer__lang a {
	position: relative;
	color: #fff;
	font-weight: bold;
	padding-left: 30px;
}

.drawer__lang a::before {
	position: absolute;
	content: "";
	width: 21px;
	height: 14px;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.drawer__lang-en a {
	font-family: var(--font-family-en);
}

.drawer__lang-en a::before {
	background: url(../images/english.jpg) no-repeat center center / contain;
}

.drawer__lang-ko a {
	font-family: var(--font-family-k);
}

.drawer__lang-ko a::before {
	background: url(../images/korean.jpg) no-repeat center center / contain;
}

.drawer__lang-zh a {
	font-family: var(--font-family-c);
}

.drawer__lang-zh a::before {
	background: url(../images/chinese.jpg) no-repeat center center / contain;
}

/*インフォメーション-開催
=============================================== */
.race-info {
	display: flex;
	width: 100%;
}

.kaisai .race-info__cd-wrap {
	/* display: none; */
}

.race-info__cd-wrap {
	display: flex;
	background-color: #FF3600;
	align-items: center;
	padding-left: 18px;
	padding-right: 39px;
	clip-path: polygon(0 0, 100% 0%, 92.5% 100%, 0% 100%);
}

.race-info__cd-img {
	width: 88px;
}

.race-info__cd-img img {
	width: 100%;
	aspect-ratio: 88/60;
	object-fit: cover;
}

.race-info__cd {
	font-size: 26px;
	line-height: 1;
	color: #fff;
	font-weight: bold;
	text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	margin: 13px 0 0 9px;
}

.race-info__cd span {
	font-size: 64px;
	font-weight: 900;
	font-style: italic;
	font-family: var(--font-family-en);
	padding: 0 13px;
	line-height: 0.4;
}

.race-info__wrap {
	flex: 1;
}

.hikaisai .race-info__wrap {
	clip-path: polygon(6% 1%, 100% 0, 100% 100%, 0% 100%);
	margin-left: -30px;
}

.race-info__race-name {
	display: flex;
	align-items: center;
	height: 35.5px;
	background-color: #fff;
	color: #000;
}

.hikaisai .race-info__race-name {
	padding-left: 41px;
}

.race-info__grade {
	min-width: 117px;
	aspect-ratio: 117/71;
	height: auto;
}

.hikaisai .race-info__grade {
	/* display: none; */
}

.race-info__grade--hikaisai {
	width: 59px;
	height: 29px;
}

.kaisai .race-info__grade--hikaisai {
	/* display: none; */
}

.race-info__grade.ippan {
	background: url(../images/general_large.jpg) no-repeat center center / cover;
}

.race-info__grade.g1 {
	background: url(../images/g1_large.jpg) no-repeat center center / cover;
}

.race-info__grade.g2 {
	background: url(../images/g2_large.jpg) no-repeat center center / cover;
}

.race-info__grade.g3 {
	background: url(../images/g3_large.jpg) no-repeat center center / cover;
}

.race-info__grade.sg {
	background: url(../images/sg_large.jpg) no-repeat center center / cover;
}

.race-info__grade--hikaisai.ippan {
	background: url(../images/general_large.jpg) no-repeat center center / cover;
}

.race-info__grade--hikaisai.g1 {
	background: url(../images/g1_large.jpg) no-repeat center center / cover;
}

.race-info__grade--hikaisai.g2 {
	background: url(../images/g2_large.jpg) no-repeat center center / cover;
}

.race-info__grade--hikaisai.g3 {
	background: url(../images/g3_large.jpg) no-repeat center center / cover;
}

.race-info__grade--hikaisai.sg {
	background: url(../images/sg_large.jpg) no-repeat center center / cover;
}

.race-info__race-name h2 {
	font-size: 26px;
	font-weight: 700;
	padding: 5px 10px 0;
	line-height: 1.05;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.hikaisai .race-info__race-name h2 {
	font-size: 24px;
}

.race-info__schedule {
	display: flex;
	background-color: #EFEFEF;
	padding-left: 10px;
	height: 35.5px;
	color: #000;
}

.hikaisai .race-info__schedule {
	padding-left: 45px;
}

.race-info__day,
.race-info__month {
	font-family: var(--font-family-en);
	font-size: 21px;
	display: inline-flex;
	align-items: center;
	font-weight: 700;
}

.race-info__day {
	margin-right: 3px;
}

.race-info__day.race-stop {
	opacity: 0.3;
}

.race-info__week {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-left: 3px;
}

.race-info__week.mon,
.schedule__date span.mon::after {
	background: url(../images/mon_black.png) no-repeat center center / cover;
}

.race-info__week.mon.hol,
.schedule__date span.mon.hol::after {
	background: url(../images/mon_red.png) no-repeat center center / cover;
}

.race-info__week.tue,
.schedule__date span.tue::after {
	background: url(../images/tue_black.png) no-repeat center center / cover;
}

.race-info__week.tue.hol,
.schedule__date span.tue.hol::after {
	background: url(../images/tue_red.png) no-repeat center center / cover;
}

.race-info__week.wed,
.schedule__date span.wed::after {
	background: url(../images/wed_black.png) no-repeat center center / cover;
}

.race-info__week.wed.hol,
.schedule__date span.wed.hol::after {
	background: url(../images/wed_red.png) no-repeat center center / cover;
}

.race-info__week.thu,
.schedule__date span.thu::after {
	background: url(../images/thu_black.png) no-repeat center center / cover;
}

.race-info__week.thu.hol,
.schedule__date span.thu.hol::after {
	background: url(../images/thu_red.png) no-repeat center center / cover;
}

.race-info__week.fri,
.schedule__date span.fri::after {
	background: url(../images/fri_black.png) no-repeat center center / cover;
}

.race-info__week.fri.hol,
.schedule__date span.fri.hol::after {
	background: url(../images/fri_red.png) no-repeat center center / cover;
}

.race-info__week.sat,
.schedule__date span.sat::after {
	background: url(../images/sat_blue.png) no-repeat center center / cover;
}

.race-info__week.sat.hol,
.schedule__date span.sat.hol::after {
	background: url(../images/sat_red.png) no-repeat center center / cover;
}

.race-info__week.sun,
.schedule__date span.sun::after {
	background: url(../images/sun.png) no-repeat center center / cover;
}

.race-info__count {
	width: 45px;
	height: inherit;
	background-image: linear-gradient(180deg, #9098AD, #484C57);
	color: #fff;
	font-size: 22px;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: 0.01em;
	text-orientation: upright;
}

.hikaisai .race-info__count {
	/* display: none; */
}

/* 開催日程リンク */
.race-info .race-info__link{
	display: block;
	position: absolute;
	bottom: 2px;
	right: 153px;
	width: 108px;
	height: 30px;
	text-indent: -9999px;
	background: url("../images/btn_sche.png") no-repeat center center/100% auto;
	transition: all 0.3s ease 0s;
}

.race-info .race-info__link:hover{
	opacity: 0.7;
}

.hikaisai .race-info .race-info__link{
	display: block;
	right: 106px;
}