@charset "utf-8";  
/*------------------------------------------------------------ 
	default
------------------------------------------------------------*/  

@import url('https://fonts.googleapis.com/css?family=Heebo:400,500,700');

/**** font size*************

====even====　　　====odd====
■10px = 84%      ■11px = 92%
■12px = 100%     ■13px = 109%
■14px = 117%     ■15px = 125%
■16px = 134%     ■17px = 142%
■18px = 150%     ■19px = 159%
■20px = 167%     ■21px = 175%
■22px = 184%     ■23px = 192%
■24px = 200%     ■25px = 209%
■26px = 217%     ■27px = 226%

**********************************/

html,
body { margin: 0; padding: 0;}
body {
	font-size: 76%;
	background: #fff;
	-webkit-text-size-adjust: 100%;
}

html { font-size: 100%;}

div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td ,figure, figcaption{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-family: 'Heebo', arial, helvetica, sans-serif;
	font-size: 100%;
	line-height: 1.2;
	font-weight: 400;
	vertical-align: baseline;
	background: transparent;
}  

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,main {
    display: block;
}

blockquote,
q { quotes: none;}

a {
	color:inherit;
	text-decoration: none;
	outline: none;
}

ins {
	color: #000;
	text-decoration: none;
}

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del { text-decoration: line-through;}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

label{ cursor:pointer;}

input,
select,
textarea {
	font-size: 100%;
	vertical-align: middle;
	font-family: 'Heebo', arial, helvetica, sans-serif;
	font-weight: 400;
}

input[type=text],
input[type=tel],
input[type=password],
textarea{ -webkit-appearance:none;}

input[type=checkbox],
input[type=radio]{
	position:relative;
	top:-1px;
}

ul,ol { list-style-type: none;}
img { vertical-align: middle;}

.img-responsive{
	width:100%;
	height:auto;
}

.opacity { transition:opacity 0.2s ease-out;}
.opacity:hover { opacity: .7;}

.clear { clear: both;}
.clearfix { width: 100%;}
.clearfix:after {
	content: " ";
	display: block;
	clear: both;
	visibility:hidden;
	height:0.1px;
	font-size:0.1em;
	line-height:0;
}

.fl { float: left;}
.fr { float: right;}

.txtl { text-align: left;}
.txtr { text-align: right;}
.txtc { text-align: center;}

strong,
strong *,
.fwb { font-weight: bold;}

.clrr { color: #FF0000;}
.clrb { color: #333;}
.clrw { color: #fff;}

.il { display: inline;}
.bl { display: block;}
.no { display: none;}

.li2 { line-height: 2;}

/* margin */
.mt10 { margin-top: 10px;}
.mt20 { margin-top: 20px;}
.mt30 { margin-top: 30px;}

.mr10 { margin-right: 10px;}
.mr20 { margin-right: 20px;}
.mr30 { margin-right: 30px;}

.mb10 { margin-bottom: 10px;}
.mb20 { margin-bottom: 20px;}
.mb30 { margin-bottom: 30px;}

.ml10 { margin-left: 10px;}
.ml20 { margin-left: 20px;}
.ml30 { margin-left: 30px;}

/* padding */
.pt10 { padding-top: 10px;}
.pt20 { padding-top: 20px;}
.pt30 { padding-top: 30px;}

.pr10 { padding-right: 10px;}
.pr20 { padding-right: 20px;}
.pr30 { padding-right: 30px;}

.pb10 { padding-bottom: 10px;}
.pb20 { padding-bottom: 20px;}
.pb30 { padding-bottom: 30px;}

.pl10 { padding-left: 10px;}
.pl20 { padding-left: 20px;}
.pl30 { padding-left: 30px;}

/* font-size */
.font10 { font-size: 84%;}
.font11 { font-size: 92%;}
.font12 { font-size: 100%;}
.font13 { font-size: 109%;}
.font14 { font-size: 117%;}
.font15 { font-size: 125%;}
.font16 { font-size: 134%;}
.font17 { font-size: 142%;}
.font18 { font-size: 150%;}
.font19 { font-size: 159%;}
.font20 { font-size: 167%;}
.font21 { font-size: 175%;}
.font22 { font-size: 184%;}
.font23 { font-size: 192%;}
.font24 { font-size: 200%;}
.font25 { font-size: 209%;}
.font26 { font-size: 217%;}
.font27 { font-size: 226%;}

/* editor */
#editor{
	font-size:125%;
	line-height:1.8;
}

#editor div{ overflow:hidden;}

#editor img{
	max-width:100%;
	height:auto!important;
}

#editor *{ line-height:1.8;}

#editor table,
#editor caption,
#editor tbody,
#editor tfoot,
#editor thead,
#editor tr,
#editor th,
#editor td {
	border: 1px solid gray;
    border-spacing: 2px;
	border-collapse: separate;
}

#editor strong * { font-weight: bold;}
#editor a:hover { text-decoration: underline;}

.hover{ overflow:hidden;}
.hover img{ transition:all 0.3s ease-out;}
.hover:hover img{ transform:scale(1.1);}


/*------------------------------------------------------------ 
    style 
------------------------------------------------------------*/

.inner {
	width:auto;
	max-width: 1080px;
	margin: 0 auto;
	padding-right:15px;
	padding-left:15px;
}

.inner.small{ max-width:1024px;}

.list{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	   -ms-flex-pack:justify;
	justify-content:space-between;
	-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.list-end{
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.list-center{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.list-left{
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: start;
}

.list-align{ align-items:center;}

/*------------------------------------------------------------ 
    header 
------------------------------------------------------------*/

#hdLogo{
	width:375px;
	padding:28px 0 28px 15px;
}

#hdMenu{ padding:24px 15px 24px 0;}

.hdFollow dt{
	color:#091E3C;
	font-weight:500;
	font-size:117%;
	font-family: 'Heebo', sans-serif;
}

.hdFollow dd{ height:20px;}

.hdFollow li{
	width:23px;
	height:18px;
	margin-left:20px;
}

#langBtn{
	width:90px;
	height:36px;
	margin-left:15px;
	padding-right:20px;
}

#langBtn a{
	display:block;
	width:100%;
	height:100%;
	text-align:center;
	line-height:36px;
	font-family: 'Heebo', sans-serif;
	color:#fff;
	font-size:117%;
	background:#091E3C
}

.hdLink{
	height:50px;
	padding-left:10px;
}

/*------------------------------------------------------------ 
    contents 
------------------------------------------------------------*/ 

#pankuzu{
	font-size:109%;
	padding:12px 0;
	color:#091E3C;
	letter-spacing:-0.4em;
}

#pankuzu li{
	display:inline-block;
	vertical-align:middle;
	line-height:18px;
	letter-spacing:normal;
}

#pankuzu li:not(:last-child){
	margin-right:18px;
	padding-right:18px;
	border-right:1px solid #B5B5B6;
}

#pankuzu a{
	line-height:18px;
	color:inherit;
}

.button{
	width:auto;
	max-width:360px;
	height:46px;
	margin:25px auto 0;
}

.button a{
	display:block;
	width:100%;
	text-align:center;
	line-height:46px;
	font-size:134%;
	color:#fff;
	font-weight:500;
	background:#384961;
	position:relative;
	overflow:hidden;
	transition:all 0.2s ease-out;
}

.button a:hover{ background:#091E3C;}

.button a:after{
	display:block;
	content:"";
	width:0;
	height:0;
	border-width:0 0 46px 370px;
	border-style:solid;
	border-color:transparent transparent #091E3C transparent;
	margin-top:-46px;
}

/* loading */

#overlay{
	display:none;
	width:100%;
	height:100%;
	background:rgba(255,255,255,.7);
	position:fixed;
	top:0;
	left:0;
	z-index:1000;
}

#loader{
	width:50%;
	height:50%;
	border: 6px solid rgba(100, 100, 100, 0.6);
	border-top: 6px solid rgba(255, 255, 255, 1);
	border-radius:50%;
	height: 50px;
	width: 50px;
	-webkit-animation: fancybox-rotate .8s infinite linear;
	animation: fancybox-rotate .8s infinite linear;
	background: transparent;
	position: absolute;
	top: 45%;
	left: 50%;
	margin-top: -30px;
	margin-left: -30px;
	z-index: 99999;
}

@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }


#tournamentHd{
	width:100%;
	padding-top:35.71428571428571%;
	background:no-repeat 50% 50%;
	background-size:cover;
	height:0;
	position:relative;
	color:#3DD966;
	background-image:url(../img/2024.webp);
}

#tournamentHd:before{
	display:block;
	content:"";
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	bottom:0;
	z-index:2;
	background: -moz-linear-gradient(top, rgba(255,255,255,0) 50%, rgba(9,30,60,.5) 100%);
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 50%, rgba(9,30,60,.5) 100%);
	background: linear-gradient(to bottom, rgba(255,255,255,0) 50%, rgba(9,30,60,.5) 100%);
}

#tournamentHdInner{
	width:100%;
	position:absolute;
	left:0;
	bottom:11.66666666666667%;
	z-index:10;
}

#tournamentHdInner .inner{
	max-width:1680px;
	padding:0;
}

#tournamentHdInner .inner .list{
	width:64.28571428571429%;
	margin:0 auto;
}

#tournamentHd-txt{
	color:inherit;
	font-size:100px;
	font-weight:bold;
	line-height:1;
	text-shadow:1px 1px 1px rgba(0,0,0,.3);
}

#tournamentHd-year{
	color:inherit;
	font-size:235px;
	font-weight:bold;
	line-height:1;
	text-shadow:1px 1px 1px rgba(0,0,0,.3);
}

#tournamentHd-ttl{
	width:45%;
	text-align:center;
	color:#091E3C;
	font-size:200%;
	padding:10px 0;
	font-weight:bold;
	margin-top:10px;
}

#tournamentHd-date{
	text-align:center;
	color:inherit;
	font-size:44px;
	line-height:1;
	font-weight:bold;
	margin-top:10px;
	text-shadow:1px 1px 1px rgba(0,0,0,.3);
}

#tournamentHd-date span{
	color:inherit;
	font-weight:inherit;
	font-size:62px;
	line-height:1;
}


/*
@media screen and (max-width: 1125px){

#tournamentHd-txt{ font-size:66px;}
#tournamentHd-year{ font-size:156px;}
#tournamentHd-ttl{ font-size:134%;}
#tournamentHd-date{ font-size:30px;}
#tournamentHd-date span{ font-size:42px;}

}
*/

.map{
	width:100%;
	max-width:800px;
	text-align: center;
	margin:30px auto 0;
}

.sectionHd{
	width:100%;
	padding-top:40px;
	margin-bottom:35px;
	text-align:center;
	color:#091E3C;
	font-weight:500;
	font-size:48px;
}
.section2{ margin-top:40px;}
.sectionHd2{
	width:100%;
	text-align:center;
	color:#091E3C;
	font-weight:500;
	font-size:36px;
}

.sectionHd:after,
.sectionHd2:after{
	display:block;
	content:"";
	width:120px;
	height:2px;
	margin:10px auto 0;
	background:#091E3C;
}

.txt2{
	font-size:140%;
	line-height:1.5;
	color:#091E3C;
}


.txt{
	font-size:134%;
	line-height:1.5;
	color:#091E3C;
}




.txt div,
.txt td{ line-height:1.5;}


.txt a{ text-decoration:underline;}
.txt a:hover{ text-decoration:none;}


.txt table{
    width:100%!important;
    border-spacing: 2px;
    border-collapse: separate;
    border: 1px solid gray;
}

.txt th, .txt td {
    border: 1px solid gray;
  }

.txt img{
    display: block;
    margin-inline:auto;
    max-width:100%;
    height: auto!important;
}


/* about */

.column1{
	width:100%;
	color:#fff;
	padding-bottom:50px;
	background:#091E3C;
}

.column1 .sectionHd,
.column1 .txt{ color:#fff;}

.column1 .txt2{ color:#fff;
text-align:center;
}

.column1 .sectionHd:after{ background:#fff;}


/* outline */

.column2{ padding-bottom:20px;}

.outlineTbl{
	width:100%;
	font-size:134%;
	color:#091E3C;
}

.outlineTbl th{
	width:210px;
	vertical-align:top;
	line-height:1.4;
	text-align:left;
	padding-bottom:20px;
}

.outlineTbl td{
	vertical-align:top;
	line-height:1.4;
	padding-bottom:20px;
}

.outlineTbl tr:not(:first-child) th,
.outlineTbl tr:not(:first-child) td{
	padding-top:20px;
	border-top:1px solid #DCDDDD;
}


/* event */

.column3{
	width:100%;
	padding-bottom:70px;
	background:#DEF2E6;
}

.eventTbl{
	width:100%;
	border-top:1px solid #091E3C;
	border-bottom:1px solid #091E3C;
}

.eventTbl th{
	width:210px;
	padding:15px 0;
	vertical-align:middle;
}

.eventTbl td{
	vertical-align:middle;
	color:#091E3C;
	font-size:134%;
	padding:10px 0;
}

.eventTbl .tbody1{ width:240px;}
.eventTbl .tbody2{
	width:70px;
	text-align:right;
}

.eventTbl tr:not(:first-child) th,
.eventTbl tr:not(:first-child) td{ border-top:1px solid #B5B5B6;}

.event-date{
	color:#091E3C;
	line-height:26px;
	font-size:28px;
	font-weight:500;
	margin-right:15px;
}

.event-week{
	width:54px;
	height:26px;
	text-align:center;
	line-height:26px;
	color:#fff;
	font-size:150%;
	background:#091E3C;
}


/* race cource */

.column4{ padding-bottom:60px;}

.courseItem{ width:350px;}

.courseItemHd{
	width:100%;
	text-align:center;
	color:#091E3C;
	font-weight:500;
	font-size:28px;
}

.map.border{
	max-width:726px;
	border:1px solid #DCDDDD;
	box-siziing:border-box;
}


/* notices */

.column5{
	width:100%;
	padding-bottom:40px;
	background:#F7F8F8;
}

.section{ margin-top:24px;}

.subHd{
	font-size:134%;
	font-weight:bold;
	color:#091E3C;
	margin-bottom:16px;
}

.dl dt{ width:80px;}
.dl dd{ width:calc(100% - 80px);}

.dl{ margin-top:5px;}
.dl.small dt{ width:60px;}
.dl.small dd{ width:calc(100% - 60px);}


/* grants */

#icon-keirin{
	width:172px;
	margin:40px auto 0;
}




/*------------------------------------------------------------ 
    news 
------------------------------------------------------------*/ 

.tournament-newsDate{
	color: #3E3A39;
	font-size: 117%;
	margin-top:-10px;
}

.article-share{
	width:100%;
	overflow:hidden;
	padding:45px 0 15px;
	margin-bottom:30px;
	border-bottom:1px solid #DCDDDD;
}

.article-share dt{
	float:left;
	font-size:167%;
	line-height:22px;
	letter-spacing:2px;
	color:#3E3A39;
	font-family: 'Heebo', sans-serif;
}

.article-share dd{
	float:right;
	overflow:hidden;
}

.article-share li{
	float:left;
	margin-left:25px;
}

.article-share a path,
.article-share a rect,
.article-share a polyline{ transition:all 0.2s ease-out;}

.article-share a:hover path{ fill:#091E3C;}
.article-share a:hover rect,
.article-share a:hover polyline{ stroke:#091E3C;}


.list1{ margin-top:20px;}
.list1 li{
    font-size: 134%;
    line-height: 1.5;
    color: #091E3C;
	padding-left:1em;
	text-indent:-1em;
}

.list1 li::before{ content:"・";}

.covid2021Image{
	width:100%;
	max-width:688px;
	margin:30px auto 0;
}

/*------------------------------------------------------------ 
    footer 
------------------------------------------------------------*/  

#pagetop{
	display:none;
	width:60px;
	height:60px;
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:500;
}

#pagetop a{
	display:block;
	width:100%;
	height:100%;
	background:rgba(9,30,60,.7);
	transition:background 0.2s ease-out;
	position:relative;
}

#pagetop a:hover{ background:#091E3C;}

.arrow-box{
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	transform:rotate(-90deg);
}

.arrow-right{
	width:10px;
	height:18px;
	fill:none;
	position:absolute;
	margin:auto;
	top:0;
	right:0;
	bottom:0;
	left:0;
	stroke:#fff;
	stroke-width:2px;
}

#footer{
	width:100%;
	margin-top:45px;
	padding:20px 0;
/*	border-top:1px solid #DCDDDD;*/
}

#ftTxt{
	color:#091E3C;
	font-size:125%;
	line-height:1.6;
	text-align:center;
	margin:10px 0;
}

#copyright{
	width:100%;
	text-align:center;
	color:#727171;
}

/*------------------------------------------------------------ 
    MediaQuery 
------------------------------------------------------------*/  


@media screen and (max-width: 1680px){

#tournamentHd-txt{ font-size:5.9vw;}
#tournamentHd-year{ font-size:13.8vw;}
#tournamentHd-ttl{ font-size:1.45vw;}
#tournamentHd-date{ font-size:2.64vw;}
#tournamentHd-date span{ font-size:3.7vw;}

}

@media screen and (max-width: 960px) and (min-width: 835px){

#hdLogo{ width:calc(100vw * (300 / 960));}

#langBtn {
    width: 80px;
    padding-right: 10px;
}

.hdFollow li{ margin-left: 16px;}

}


/* TABLET */
@media screen and (min-width: 835px){

.tb-show{ display:none;}

}

@media screen and (max-width: 834px){

body { padding-top: 80px;}

#header {
    width: 100%;
    height: 80px;
    padding: 0 20px;
    box-sizing: border-box;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    box-shadow: rgba(149, 157, 165, .1) 0px 3px 9px;
}

#header > .list {
    height: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#hdLogo {
	width:300px;
    padding: 0;
    height: auto;
}

#navBtn{
	width:40px;
	height:40px;
	position:relative;
	z-index: 1000;
}

#navBtn a{
	display:block;
	width:100%;
	height:100%;
	position:relative;
}

.top-bar,
.middle-bar,
.bottom-bar{
	width: 30px;
	height: 1px;
	background-color:#000;
	transition: transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	transform-origin: 50% 50%;
	position: absolute;
	top: 8px;
	left:5px;
}

.middle-bar{
	transition: opacity 0s .15s linear ;
	top: 20px;
}

.bottom-bar{ top: 33px;}

.open .top-bar{
	transform: rotate(45deg);
	top: 20px;
}

.open .middle-bar{ opacity: 0;}

.open .bottom-bar{
	transform: rotate(-45deg);
	top: 20px;
}

#hdMenu{
	display:block;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 900;
    padding: 90px 100px 60px;
    box-sizing: border-box;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s cubic-bezier(0.485, 0.135, 0, 0.995);
}

.open #hdMenu {
    background: #fff;
    opacity: 1;
    visibility: visible;
}

.hdLink{
	display: inline-block;
	padding:20px 0;
}

.hdLink + .hdLink{ margin-left: 20px;}

/* contents */

#tournamentHd{ padding-top: 55%;}
#tournamentHdInner .inner .list{ width:80%;}
#tournamentHd-txt{ font-size:calc(100vw * (60 / 834));}
#tournamentHd-year{ font-size: calc(100vw * (130 / 834));}
#tournamentHd-date{
	font-size: calc(100vw * (22 / 834));
	padding-left: calc(100vw * (30 / 834));
	margin-top: 0;
}

#tournamentHd-date span{ font-size: calc(100vw * (31 / 834));}

.sectionHd { font-size: 36px;}
.txt,
.list1 li,
.eventTbl td{ font-size: 125%;}

.sectionHd2{ font-size: 28px;}

.sectionHd::after,
.sectionHd2::after{ width:96px;}

.eventTbl th{ width:164px;}
.event-date{ font-size: 24px;}

.mapframe{
	width:100%;
	height:0;
	padding-top:60%;
	position: relative;
}

.mapframe iframe{
	display:block;
	width:100%;
	height:100%;
	position: absolute;
	left: 0;
	top:0;
}

.eventTbl__wrap{
	white-space: nowrap;
	overflow-x:auto;
	-webkit-overflow-scrolling: touch;
}

.eventTbl__wrap .eventTbl{ width:100%; min-width:600px;}



}




/* SP */
@media screen and (max-width: 480px){

body{ padding-top: 60px;}
#header {
    height: 60px;
    padding: 0 15px;
}

#hdLogo{ width: 200px;}

#hdMenu{ padding: 70px 30px 60px;}


/* contents */

#tournamentHdInner .inner .list{ width:90%;}
#tournamentHd-txt{ font-size:calc(100vw * (38 / 480));}
#tournamentHd-year{ font-size: calc(100vw * (90 / 480));}

#tournamentHd-ttl{
	width:54%;
	padding: calc(100vw * (8 / 480)) 0;
	font-size: calc(100vw * (11 / 480));
}

#tournamentHd-date{
	font-size: calc(100vw * (16 / 480));
	padding-left: calc(100vw * (15 / 480));
}

#tournamentHd-date span{ font-size: calc(100vw * (24 / 480));}

.sectionHd{
	font-size:28px;
	padding-top: 35px;
	margin-bottom: 30px;
}

.sectionHd2{ font-size: 24px;}

.txt,
.list1 li,
.eventTbl td{ font-size:117%;}


.column1,
.column3{ padding-bottom: 40px;}

.map{ margin-top: 20px;}

.outlineTbl th{ width:150px;}


/* footer */

#footer{ margin-top: 30px;}

.hdFollow li{ margin-left: 14px;}

#ftTxt {
    font-size: 117%;
    line-height: 1.4;
    margin: 20px 0;
}

}
