body{
	background-color:#fff;
	line-height:30px;
	text-align:center;
}

img{
	border:0;
	vertical-align:bottom;
	max-width: 100%;
    height: auto;
}
figure{
	margin:0;
}

ul{
	padding-left:0;
}

a{
	text-decoration:none;
}
a:hover{
	text-decoration:none;
}

.hover_opa:hover{
	opacity:0.7;
}



nav{
	margin:0;
	background-color:#000;
}
.g_navi{
	display:flex;
	justify-content:center;
}
.g_navi a {
	color:#fff;
}
.g_navi a.current {
	color:#bda06e;
	/*pointer-events: none;*/
}
.g_navi a:hover {
	opacity:0.7;
	text-decoration:none;
}

.g_navi .nav_about{
	display:inline-block;
	position:relative;
	color:#fff;
}
.g_navi .sub_links{
	position:absolute;
	top:30px;
	right:0;
	width:280%;
	z-index:3;
	display:none;
}
.g_navi .sub_links a{
	display:block;
	width:100%;
	background-color:#aaa;
	color:#000;
	border-top:1px solid #000;
}


header .container-md{
	position:relative;
}
header .logo {
	width:36%;
	padding: 0.6vw 0;
}
header .logo a{
	display:flex;
	align-items: center;
	width:100%;
}
header .logo .logo_img{
	width:40%;
	height:70px;
	background:url(../img/logo.svg) no-repeat 0;
	background-size: contain;
}
header .logo .logo_txt{
	text-align:left;
	padding-left:1rem;
	color:#000;
}
header .tour_logos {
	position:absolute;
	bottom:30px;
	right:2vw;
	width:66%;
	text-align:right;
}
header .tour_logos a{
	display:inline-block;
	margin-left:1.6%;
}
header .tour_logos a.jpro{
	width:11.55%;
}
header .tour_logos a.jct{
	width:16.45%;
}
header .tour_logos a.jelite{
	width:12.23%;
}
header .tour_logos a.jfeminin{
	width:13.29%;
}
header .tour_logos a.jyouth{
	width:12.67%;
}
header .tour_logos a.jmasters{
	width:15.65%;
}

/*
.main_visual{
	display:flex;
	align-items: center;
	background-color:#3f3f3f;
}
.main_visual .main_l,
.main_visual .main_r{
	width:19%;
}
.main_visual .main_m{
	padding-top:1.6vw;
	width:62%;
}
*/

.main_sec .inner{
	width:100%;
	max-width:1440px;
	margin:0 auto;
}

.tit_bar{
	display:flex;
	justify-content:center;
	align-items:center;
	height:7vw;
	max-height:100px;
	background:url(../img/bar_bg.png);
	background-size:auto 100px;
	background-position:center center;
	color:#fff;
}
.tit_bar h2.bar_txt{
	margin:0;
	padding:0;
	font-style:oblique;
	font-family: 'Hind', sans-serif;
}
.tit_bar .bar_txt_j{
	line-height:1px;
}


.bgc_1{
	background-color:#dadada;
}
.bgc_2{
	background-color:#505050;
}
.bgc_3{
	background-color:#6b6b6b;
}
.bgc_4{
	background-color:#222;
}


.news_menu {
	background-color:#3a3a3a;
	border-bottom:6px solid #957a4d;
	margin-bottom:10px;
}
.news_menu a{
	display:inline-block;
	color:#fff;
}
.news_menu a.current{
	background-color:#957a4d;
	pointer-events:none;
}
.news_menu a:hover{
	background-color:#5f5543;
}

.list li{
	list-style-type:none;
	position:relative;
	background-color:#fff;
	margin-bottom:8px;
	text-align:left;
}
.list li a{
	display:flex;
	align-items:center;
	color:#000;
}
.news_list li a::after{
	content:'';
	width:20px;
	height:20px;
	background-image:url(../img/link_icon.png);
	background-size:contain;
	position:absolute;
	top:50%;
	right:2%;
	transform:translateY(-50%);
}
.list li a:hover{
	opacity:0.8;
	background-color:#f3f3ff;
	text-decoration:none;
}
.news_list li .new {
	position:absolute;
	top:0;
	left:0;
	width:4.5%;
	height:100%;
	background:url(../img/new_tl.png) no-repeat;
	background-size:contain;
	z-index:2;
}
.news_list li figure{
	position:relative;
	width:25%;
	padding:0 0 12%;
	overflow:hidden;
}
.news_list li figure img{
	position:absolute;
	top:50%;
	left:50%;
	width:100%;
	height:auto;
	transform: translate(-50%,-50%) scale(1);
}
.news_list li .info{
	width:70%;
	padding:0.5rem;
}
.news_list li .no_photo{
	width:100%;
	display:flex;
	align-items:start;
	padding:0.5rem;
}
.news_list .no_photo .day_cate{
	width:25%;
}
.news .day_cate div,
.news_list .day_cate div{
	display: inline-block;
}
.news_list .no_photo .text{
	width:68%;
}
.day_cate .cate{
	width:70px;
	line-height:18px;
	text-align:center;
	color:#fff;
}
.day_cate .cate.report{
	background-color:#eb9337;
}
.day_cate .cate.report::after{
	content:'レポート';
}
.day_cate .cate.race{
	background-color:#5b7a9c;
}
.day_cate .cate.race::after{
	content:'レース';
}
.day_cate .cate.notice{
	background-color:#40812b;
}
.day_cate .cate.notice::after{
	content:'お知らせ';
}
.day_cate .cate.other{
	background-color:#c038a5;
}
.day_cate .cate.other::after{
	content:'その他';
}
.day_cate .date{
	margin-left:10px;
}
.news_list li .text{
	margin-left:1rem;
	line-height:1.5rem;
	font-weight:bold;
}
.news_slct{
	width:15%;
	margin:20px auto;
}

.list .label{
	width:14%;
	background-color:#000;
	color:#fff;
	clip-path:polygon(0 0,100% 0, 80% 100%, 0 100%);
	align-self:stretch;
	display:flex;
	align-items:center;
	justify-content:flex-end;
}
.race_grid .dates,
.race_slide .dates,
.list .dates {
	display:flex;
	flex-direction: column;
	padding:1rem 20% 0.8rem 0;
}
.race_grid .dates .date+.date,
.race_slide .dates .date+.date,
.list .dates .date+.date{
	position:relative;
	margin-top:3px;
}
.race_grid .dates .date+.date::before,
.race_slide .dates .date+.date::before,
.list .dates .date+.date::before{
	content: "";
	position: absolute;
	top: -8px;
	left: 50%;
	width: 2px;
	height: 8px;
	background: #fff;
}
.race_grid .date,
.race_slide .date,
.sch_list .date{
	font-weight:bold;
	font-style:oblique;
	font-family: 'Hind', sans-serif;
}
.race_grid .date,
.race_slide .date{
	line-height:1.4rem;
}
.race_grid .date .wday,
.race_slide .date .wday,
.sch_list .date .wday{
	font-weight:normal;
	font-style:normal;
	margin-left:4px;
}
.race_grid {
	display:flex;
	flex-wrap:wrap;
	/*justify-content:space-between;*/
}
.race_grid.result{
	justify-content:flex-start;
}
.race_grid .mv_col{
	width:24%;
	margin:0 0.5% 20px;
}
.race_grid.result .mv_col:nth-child(4n){
	margin-right:0;
}

.result_slct{
	width:15%;
	margin:0 auto;
}

.result_menu .race_info{
	color:#fff;
	padding:2rem 0;
}
.result_menu .date{
	font-style:oblique;
	font-family: 'Hind', sans-serif;
}
.result_menu .race{
	font-weight:bold;
}

.sch_list .body{
	width:85%;
	display:flex;
	align-items:center;
	justify-content:space-between;
}
.sch_list .info{
	width:60%;
	margin-left:3%;
	padding:0.8rem 0 0.5rem;
}
.sch_list .style{
	width:18%;
	margin:0 5px;
	padding:5px 0;
	text-align:center;
	background-color:#ebebeb;
}
.race_grid .tags,
.race_slide .tags,
.sch_list .tags{
	width:20%;
	padding-right:1%;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	flex-wrap:wrap;
}
.race_slide .tags{
	width:42%;
	padding-right:0;
}
.race_grid .tags{
	/*width:52%;*/
	width:100%;
	padding-right:0;
}
.sch_list .race{
	font-weight:bold;
	line-height:1.2rem;
}
.race_grid .tag,
.race_slide .tag,
.sch_list .tag{
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:4px;
	background-color:#947a50;
	color:#fff;
	line-height:1rem;
	margin-right:4px;
	font-weight:bold;
}
.sch_list .tag{
	padding:0 2px;
}
.race_grid .tag{
	padding:0 4px;
}
/*.race_grid .mv_col .head,*/
.race_slide .mv_col .head{
	display:flex;
}
.race_grid .mv_col .photo,
.race_slide .mv_col .photo{
	position:relative;
	background-color:#ccc;
}
.race_grid .mv_col .photo img{
	aspect-ratio: 5/3;
	width:100%;
	object-fit: cover;
}

.race_grid .new,
.race_slide .new{
	position:absolute;
	top:0;
	left:0;
	width:12%;
	height:100%;
	background:url(../img/new_tl.png) no-repeat;
	background-size:contain;
	z-index:2;
}
.race_grid .mv_col .label,
.race_slide .mv_col .label{
	position:absolute;
	bottom:0;
	width:26%;
	height:30%;
	background-color:#000;
	color:#fff;
	clip-path:polygon(0 0,80% 0, 100% 100%, 0 100%);
	align-self:stretch;
	display:flex;
	align-items:center;
	justify-content:flex-end;
}
.race_grid .mv_col .label{
	width:28%;
}
.race_grid .head{
	position:relative;
	padding:4px;
}
.race_grid .head .style{
	position:absolute;
	top:4px;
	left:4px;
	line-height:14px;
}
.race_slide .head{
	padding:0 4px 0 8px;
	display:flex;
	justify-content:space-between;
}
.race_grid .course,
.race_slide .course{
	background-color:#c6ad79;
	/*text-indent:10px;*/
	padding:6px 10px;
	line-height:14px;
}
.race_grid .race,
.race_slide .race{
	font-weight:bold;
	padding:10px;
	line-height:1.4rem;
}
.race_grid .race{
	height:60px;
}

h3.ranking_title{
	width:25%;
	margin:0 auto;
	padding:2rem 0 1rem;
}
h3.season{
	width:25%;
	margin:0 auto;
	padding:1rem 0;
	color:#fff;
	font-style:oblique;
	font-family: 'Hind', sans-serif;
}
h4.sub_title{
	background-color:#434343;
	color:#fff;
	font-weight:bold;
	font-style:oblique;
	font-family: 'Hind', sans-serif;
	padding:0.5rem 0 0;
	margin-bottom:10px;
}
.ranking_list{
	display:flex;
}
.ranking_list .rank1{
	align-self:flex-start;
	position:relative;
	width:35%;
	/*height:382px;*/
	background-color:#fff;
	margin:0;
	padding-bottom:16px;
}
.ranking_list .rank1 > a{
	display:block;
	color:#000;
	/*height:100%;*/
}
.ranking_list .rank1 > a:hover{
	opacity:0.8;
	background-color:#f3f3ff;
	text-decoration:none;
}
.ranking_list .rank1 .label{
	position:absolute;
	top:0;
	left:0;
	width:30%;
	height:70px;
	background-color:#000;
	color:#fff;
	clip-path:polygon(0 0,100% 0, 80% 100%, 0 100%);
}
.ranking_list .rank1 .rank_num{
	margin-left:5%;
	margin-top:20px;
	text-align:left;
}
.ranking_list .rank1 .rank{
	transform: translateY(-50%);
}
.ranking_list .rank1 figure{
	width:100%;
	height:auto;
	margin:0;
}
.ranking_list .rank1 figure img{
	width:100%;
	height:220px;
	object-fit: cover;
}
.ranking_list .rank1 .info{
	position:relative;
	width:90%;
	margin:5px auto 0;
	text-align:left;
}
.ranking_list .rank1 .note{
	margin-top:5px;
	line-height:1.4rem;
}
.ranking_list .rank1 .points{
	position:absolute;
	top:150px;
	right:0;
	width:40%;
	height:70px;
	color:#000;
}
.ranking_list .rank1 .sns{
	position:absolute;
	top:5px;
	right:0;
	width:50%;
	display:flex;
	justify-content:flex-end;
}
.ranking_list .rank1 .sns div{
	width:15%;
	margin-left:4px;
}

.ranking_list ul{
	width:65%;
	padding-left:1.5rem;
}
.ranking_list .label{
	justify-content:flex-start;
}
.ranking_list .rank_num{
	/*margin-left:6%;*/
	font-weight:bold;
	font-style:oblique;
	font-family: 'Hind', sans-serif;
	margin-top:10px;
	transform: scale(0.75, 1);
}
.ranking_list .rank{
	display:inline-block;
	transform: translateY(-20%);
	padding-right:6px;
}
.ranking_list .s_num{
	font-size:11px;
}
.ranking_list figure{
	width:22%;
	height:70px;
	margin:0 3% 0 -4%;
	background-color:#e7e7e7;
}
.ranking_list figure img{
	/*width:100%;*/
	height:70px;
	object-fit: contain;
}
.ranking_list .info{
	width:42%;
	padding-top:0.4rem;
	line-height:1.5rem;
}
.ranking_list .list_page .info{
	width:47%;
}
.ranking_list.team_ranking .list_page .info{
	width:68%;
	padding-top:0;
	padding-left:1rem;
}
.ranking_list .name,
.ranking_list .team_name{
	font-weight:bold;
}
.ranking_list .team{
	margin-top:5px;
	line-height:1rem;
}
.ranking_list .points{
	width:23%;
	background-color:#c6ad79;
	clip-path:polygon(20% 0,100% 0, 100% 100%, 0 100%);
	align-self:stretch;
	text-align:center;
	padding-left:4%;
}
.ranking_list .result_list .points{
	padding-left:3%;
}
.ranking_list .point_title{
	padding-top:0.2rem;
}
.ranking_list .point,
.ranking_list .num,
.ranking_list .time{
	font-weight:bold;
	font-style:oblique;
	font-family: 'Hind', sans-serif;
	transform: scale(0.75, 1);
}
.ranking_list .pts{
	margin-left:4px;
}

.ranking_list .result_list .info{
	width:33%;
}
.ranking_list .result_list .info2{
	width:19%;
	display:flex;
}
.ranking_list .result_list .num{
	width:50%;
}
.ranking_list .result_list .time{
	width:50%;
}
.ranking_list .result_list .points{
	width:15%;
}

.ranking_menu{
	background-color:#000;
	padding:1rem 0;
}
.schedule_menu{
	background-color:#000;
	padding:1rem 0 0;
}
.schedule_menu form{
	margin:0;
}
.result_menu .cate a,
.schedule_menu .cate a,
.ranking_menu .cate a{
	display:inline-block;
	margin:0 2px;
	padding:6px 0;
	background-color:#3a3a3a;
	color:#fff;
	font-size:20px;
	font-style:oblique;
	font-family: 'Hind', sans-serif;
}
.ranking_menu .cate a{
	width:80px;
}
.result_menu .cate a,
.schedule_menu .cate a{
	/*width:40px;*/
	padding:4px 8px 0 6px;
}
.schedule_menu .cate a:first-child,
.schedule_menu .cate a:last-child{
	/*width:70px;*/
}
.result_menu .cate a:hover,
.schedule_menu .cate a:hover,
.ranking_menu .cate a:hover{
	background-color:#5f5f5f;
}
.result_menu .cate a.current,
.schedule_menu .cate a.current,
.ranking_menu .cate a.current{
	background-color:#a8a8a8;
	color:#000;
	pointer-events: none;
}
.schedule_menu .title{
	color:#fff;
}
.result_menu .select,
.schedule_menu .select,
.ranking_menu .select{
	display:flex;
	justify-content:space-between;
	width:600px;
	margin:10px auto;
}
.ranking_menu #type_slct{
	width:35%;
}
.result_menu .select{
	margin:10px auto 0;
	padding-bottom:2rem;
}
.result_menu #type_slct{
	width:30%;
}

.schedule_menu #year_slct,
.ranking_menu #year_slct{
	width:20%;
}
.schedule_menu #type_slct{
	width:45%;
}
.result_menu .search_name,
.ranking_menu .search_name{
	width:40%;
	position:relative;
}
.schedule_menu .search_navi{
	width:28%;
	background-color:#3a3a3a;
	color:#fff;
	padding: .375rem 0;
	text-align:center;
	border-radius: .25rem;
	cursor:pointer;
}
.result_menu input,
.ranking_menu input{
	width:100%;
	text-indent:0.5rem;
}
.result_menu #search_btn,
.ranking_menu #search_btn{
	position:absolute;
	top:3px;
	right:3px;
	width:10%;
	height:90%;
	border:0;
	background-color:transparent;
}
.schedule_menu .hide_area{
	display:none;
}
.schedule_menu .checke_area{
	background-color:#ccc;
	width:750px;
	margin:0 auto 1rem;
	padding:0.5rem 0;
	display:flex;
	justify-content:space-between;
	text-align:left;
}
.schedule_menu .header{
	width:15%;
	margin-left:2rem;
}
.schedule_menu .checkes{
	width:80%;
	padding-left:0;
}
.schedule_menu .checkes label{
	margin-right:0.5rem;
}
.schedule_menu .chkbx{
	border:none;
	appearance: none;
	cursor:pointer;
	padding-right:20px;
	vertical-align: middle;
	position:relative;
}
.schedule_menu .chkbx::before,
.schedule_menu .chkbx::after{
	content:"";
	display:block;
	position:absolute;
}
.schedule_menu .chkbx::before
{
	background-color:#fff;
	border-radius:2.5px;
	width:16px;
	height:16px;
	top:0;
	left:0;
	transform:translateY(-58%);
}
.schedule_menu .chkbx::after{
	height:9px;
	width:12px;
	border-bottom:3px solid #fff;
	border-left:3px solid #fff;
	top:-8px;
	left:2px;
	transform:rotate(-45deg);
}
.schedule_menu .chkbx:checked::before
{
	background-color:#000;
}
.schedule_menu .cal_link{
	text-align:right;
}
.schedule_menu .cal_link a{
	color:#fff;
}
.schedule_menu .cal_link a:hover{
	opacity:0.8;
}

a .pdf_icon img{
	width:20px;
	margin-right:3px;
	transform:translateY(-20%);
}



.slickblock{
	padding-top:1rem;
}
.mv_col{
	height:100%;
	margin:0 15px;
	text-align:left;
}
.mv_col a{
	display:block;
	width:100%;
	height:100%;
	background-color:#fff;
	color:#000;
	text-decoration:none;
}
.mv_col a:hover{
	opacity:0.8;
	background-color:#f3f3ff;
	text-decoration:none;
}
.mv_col .day{
	padding:0.5rem 1rem 0;
	line-height:1.4rem;
}
.mv_col .tit{
	padding:0 1rem 0.5rem;
	line-height:1.4rem;
	font-weight:bold;
}

.team_list_pro .list{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.team_list_pro .list li{
	width:49%;
}
.team_list_pro .list li a{
	position:relative;
	padding-left:20%;
}
.team_list .list li a{
	padding:0.5rem 0 0.5rem 18%;
}
.team_list .list .label,
.team_list_pro .list .label{
	position:absolute;
	top:0;
	left:0;
	width:18%;
	height:40px;
	background-color:#000;
	color:#fff;
	clip-path:polygon(0 0,100% 0, 80% 100%, 0 100%);
	justify-content:center;
	align-items:center;
}
.team_list .list .label{
	width:14%;
	height:100%;
}
.team_list .label .num,
.team_list_pro .label .num{
	font-style:oblique;
	font-family: 'Hind', sans-serif;
}
.team_list_pro .team_logo {
	margin-top:4px;
	height:70px;
}
.team_list_pro .team_logo img{
	max-width:100%;
	height:100%;
}
.team_list .team_name,
.team_list_pro .team_name{
	font-weight:bold;
	padding:0.5rem 0;
}

.contact {
	padding:1rem 0;
	display:flex;
	justify-content:space-between;
}
.contact .item{
	width:49%;
}
.contact .item > a{
	display:block;
	background-color:#fff;
	color:#000;
}
.contact .item > a:hover{
	opacity:0.8;
	background-color:#f3f3ff;
	text-decoration:none;
}
.contact .text{
	position:relative;
	padding:0.5rem 1rem;
	text-align:left;
	font-weight:bold;
}
.contact .text::after{
	content:'';
	width:20px;
	height:20px;
	background-image:url(../img/link_icon.png);
	background-size:contain;
	position:absolute;
	top:50%;
	right:2%;
	transform:translateY(-50%);
}


a.btn_more{
	display:block;
	width:25%;
	margin:0 auto;
	background-color:#3a3a3a;
	color:#ffff;
	font-weight:bold;
	padding:10px 0;
	border-radius:6px;
}
a.btn_more:hover{
	color:$fff;
	text-decoration:none;
	opacity:0.7;
}

.wrap{
	text-align:center;
	padding-bottom:1.5rem;
}

.paginate{
	padding:10px 15%;
	display:flex;
	justify-content:space-between;
}
.paginate .prev,
.paginate .next{
	width:15%;
}
.paginate a{
	display:block;
	background-color:#7b7b7b;
	color:#fff;
}
.paginate a:hover{
	opacity:0.8;
}
.paginate .prev a::before{
	content:'◀';
	display:inline-block;
	font-size:10px;
	margin-right:4px;
	transform:translateY(-2px);
}
.paginate .next a::after{
	content:'▶︎';
	display:inline-block;
	font-size:10px;
	margin-left:4px;
	transform:translateY(-2px);
}
.paginate ul {
	display:flex;
	justify-content:space-between;
}
.paginate ul li{
	list-style:none;
	width:26px;
	margin:0 5px;
}


.partners .official{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding-bottom:1rem;
}
.partners .cyc_acv_pgm{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding:0 20% 1rem;
}
.partners .official a,
.partners .cyc_acv_pgm a,
.partners .cyc_acv_pgm div{
	display:block;
	width:23%;
	margin-bottom:20px;
}
.partners a:hover{
	opacity:0.8;
}


.bottom_navi{
	background-color:#4b4b4b;
	padding:0.5rem 0;
}
.bottom_navi a{
	color:#fff;
}
.bottom_navi a:hover {
	opacity:0.7;
	text-decoration:none;
}

.bottom_links{
	background-color:#dadada;
}
.bottom_links a{
	display:block;
	background-color:#fff;
	color:#000;
}
.bottom_links a:hover{
	text-decoration:none;
	background-color:#ccc;
}
.bottom_links .wrap{
	width:70%;
	display:flex;
	justify-content:space-between;
	padding-top:1.5rem;
	text-align:left;
}
.bottom_links .wrap > div{
	width:24%;
}
.bottom_links .link_btn{
	width:100%;
	background-color:#e3e3e3;
	margin-top:5px;
	text-indent:1rem;
}
.bottom_links .sub_links{
	width:100%;
	display:none;
}
.bottom_links .sub_links a{
	border-bottom:1px solid #e3e3e3;
}

.bottom_logo .sns{
	width:15%;
	margin:1rem auto 0;
	display:flex;
	justify-content:space-between;
}
.bottom_logo .sns a{
	display:block;
	width:20%;
}
.bottom_logo .footer_logo{
	width:16%;
	margin:1rem auto;
}


footer {
	width:100vw;
	overflow:hidden;
	background-color:#4b4b4b;
	color:#fff;
	padding:1.5vw 0 1vw;
}
footer .com {
	font-size:1.2vw;
	line-height:2vw;
}
footer .com_e {
	font-size:1.2vw;
	line-height:2vw;
	font-weight:bold;
	font-family: 'Hind', sans-serif;
}
footer .copy {
	margin-top:0.8vw;
	font-size:0.8vw;
}







#page_top{
	position: fixed;
	left: 0;
	bottom: 2vw;
	width: 100%;
	height:60px;
	pointer-events:none;
}
#page_top div{
	position:relative;
	width:100%;
	margin:0 auto;
}
#page_top a{
	display:block;
	position:absolute;
	top:0;
	right:1vw;
	width: 60px;
	height: 60px;
	opacity:0.4;
	background:url(../img/pagetop.svg) no-repeat;
	pointer-events:auto;
}
#page_top a:hover{
	opacity:0.3;
}


@media screen and (min-width:1400px) {
	header .logo .logo_txt{
		line-height:16px;
		font-size:13px;
	}
	.g_navi div,
	.g_navi a {
		font-size:17px;
		padding:0 1rem;
	}
	.tit_bar h2.bar_txt{
		font-size:39px;
	}
	.tit_bar .bar_txt_j{
		font-size:13px;
	}
	.news_menu a{
		width:110px;
		font-size:14px;
	}
	.day_cate .date{
		width:70px;
	}
	.day_cate .cate{
		font-size:12px;
		margin-left:20px;
	}
	.sch_list .date{
		font-size:30px;
	}
	.sch_list .date .wday{
		font-size:12px;
	}
	.sch_list .race{
		font-size:18px;
	}
	.sch_list .course{
		font-size:13px;
	}
	.sch_list .style{
		font-size:12px;
		line-height:14px;
	}
	.race_slide .tag{
		font-size:12px;
		width:16px;
	}
	.sch_list .tag{
		font-size:12px;
	}
	.race_grid .style{
		font-size:13px;
	}
	.race_grid .tag{
		font-size:11px;
		/*width:16px;*/
	}
	.race_grid .date{
		font-size:18px;
	}
	.race_grid .date .wday{
		font-size:9px;
	}
	.race_grid .course{
		font-size:13px;
	}
	.race_grid .race{
		font-size:14px;
		line-height:18px;
	}

	h3.season{
		font-size:35px;
	}
	h4.sub_title{
		font-size:40px;
	}
	.ranking_list .rank_num{
		font-size:44px;
	}
	.ranking_list .rank1 .rank_num{
		font-size:50px;
	}
	.ranking_list .rank{
		font-size:14px;
	}
	.ranking_list .rank1 .rank{
		font-size:18px;
	}
	.ranking_list .name,
	.ranking_list .team_name{
		font-size:24px;
	}
	.ranking_list .team{
		font-size:12px;
	}
	.ranking_list .point_title{
		font-size:13px;
	}
	.ranking_list .point{
		font-size:36px;
	}
	.ranking_list .pts{
		font-size:14px;
	}
	.ranking_list .num,
	.ranking_list .time{
		font-size:26px;
		padding-top:10px;
	}
	.mv_col .day{
		font-size:14px;
	}
	.mv_col .tit{
		font-size:18px;
	}

	.team_list .label .num,
	.team_list_pro .label .num{
		font-size:28px;
	}
	.team_list .team_name,
	.team_list_pro .team_name{
		font-size:17px;
	}

	.result_menu .date{
		font-size:24px;
		padding-bottom:10px;
	}
	.result_menu .race{
		font-size:28px;
	}

	.bottom_navi a {
		font-size:15px;
		padding:0 1rem;
	}
}

@media screen and (min-width:768px) and (max-width:1399px){
	header .logo .logo_txt{
		line-height:16px;
		font-size:1vw;
	}
	.g_navi div,
	.g_navi a {
		font-size:1.2vw;
		padding:0 1.1vw;
	}
	.tit_bar h2.bar_txt{
		font-size:3vw;
	}
	.tit_bar .bar_txt_j{
		font-size:1vw;
	}
	.news_menu a{
		width:8vw;
		font-size:1vw;
	}
	
	.day_cate {
		font-size:1vw;
	}
	.day_cate .date{
		width:4.5vw;
	}
	.day_cate .cate{
		font-size:0.9vw;
		margin-left:1.4vw;
	}
	.sch_list .date{
		font-size:2vw;
	}
	.sch_list .date .wday{
		font-size:0.8vw;
	}
	.sch_list .race{
		font-size:1.4vw;
	}
	.sch_list .course{
		font-size:1vw;
	}
	.sch_list .style{
		font-size:0.6vw;
		line-height:1vw;
	}
	.race_slide .tag{
		width:12%;
		font-size:0.8vw;
	}
	.sch_list .tag{
		font-size:0.8vw;
	}
	.race_grid .style{
		font-size:0.7vw;
	}
	.race_grid .tag{
		font-size:8px;
		/*width:14px;*/
	}
	.race_grid .dates .date+.date{
		margin-top:0.1vw;
	}
	.race_grid .dates .date+.date::before{
		top: -0.5vw;
		height:0.4vw;
	}
	.race_grid .date{
		font-size:1.1vw;
	}
	.race_grid .date .wday{
		font-size:0.6vw;
	}
	.race_grid .course{
		font-size:0.85vw;
	}
	.race_grid .race{
		font-size:1vw;
		line-height:1.4vw;
	}

	.ranking_list .rank_num{
		font-size:2.8vw;
	}
	.ranking_list .rank1 .rank_num{
		font-size:3.4vw;
	}
	.ranking_list .rank{
		font-size:1vw;
	}
	.ranking_list .rank1 .rank{
		font-size:1.4vw;
	}
	.ranking_list .name,
	.ranking_list .team_name{
		font-size:1.8vw;
	}
	.ranking_list .team{
		font-size:1vw;
	}
	.ranking_list .point_title{
		font-size:1vw;
	}
	.ranking_list .point{
		font-size:2.8vw;
	}
	.ranking_list .pts{
		font-size:1.2vw;
	}
	.ranking_list .rank1 .note{
		font-size:1.2vw;
	}
	.ranking_list .num,
	.ranking_list .time{
		font-size:2vw;
		padding-top:0.3vw;
	}

	.mv_col .day{
		font-size:1.2vw;
	}
	.mv_col .tit{
		font-size:1.4vw;
	}

	h3.season{
		font-size:2.5vw;
	}

	.team_list .label .num,
	.team_list_pro .label .num{
		font-size:2.1vw;
	}
	.team_list .team_name,
	.team_list_pro .team_name{
		font-size:1.2vw;
	}

	.result_menu .date{
		font-size:1.8vw;
		padding-bottom:0.8vw;
	}
	.result_menu .race{
		font-size:2vw;
	}

	.bottom_navi a {
		font-size:1.1vw;
		padding:0 1.1vw;
	}
	.bottom_links,
	.bottom_links a{
		font-size:1.2vw;
	}
}

@media screen and (min-width:768px) {
	.sp_only{
		display:none !important;
	}

	.g_navi a{
		display:inline-block;
	}

	.wrap {
		width:80%;
		margin:0 auto;
	}

	.race_slide .date{
		font-size:2vw;
	}
	.race_slide .date .wday{
		font-size:0.8vw;
	}
	.race_slide .course{
		font-size:1vw;
	}
	.race_slide .race{
		font-size:1.4vw;
		line-height:2vw;
	}
	.race_slide .style{
		font-size:1vw;
	}

	.list.list_page .label{
		width:16%;
	}

	.ranking_list ul.result_list,
	.ranking_list ul.list_page{
		width:100%;
		padding-left:0;
	}
	.ranking_list .list_page .points{
		width:16%;
	}

}


@media screen and (max-width: 767px) {
	.pc_only{
		display:none !important;
	}
	
	body{
		width:100vw;
		font-size:4vw;
		line-height:6vw;
		padding:0;
		margin:0;
	}
	
	section {
		width:100vw;
		margin-right:0;
		margin-left:0;
		padding-right:0;
		padding-left:0;
		overflow:hidden;
	}


	.g_navi {
		position:fixed;
		top:0;
		left:0;
		width:100vw;
		height:0;
		background-color:#000;
		z-index:10;
		overflow:hidden;
		transition-duration:0.5s;
		flex-direction:column;
		justify-content:flex-start;
	}
	.g_navi .navi_close,
	.g_navi>a {
		display:block;
		font-size:5vw;
		border-bottom:1px solid #ccc;
		padding:3vw 0;
	}
	.g_navi .navi_close {
		text-align:right;
		font-size:8vw;
		padding:2vw;
		color:#fff;
	}
	.g_navi .nav_about{
		pointer-events: none;
		display:block;
		font-size:0;
		padding:0;
		line-height:0;
		border:0;
	}
	.g_navi .sub_links{
		display:block;
		position:relative;
		top:0;
	}
	.g_navi .sub_links a{
		pointer-events: auto;
		width:100vw;
		font-size:5vw;
		padding:5vw 0;
	}
	
	.nav_open{
		position:fixed;
		width:10vw;
		height:12vw;
		top:0;
		right:0;
		cursor:pointer;
		z-index:3;
	}
	.nav_open span,
	.nav_open span::before,
	.nav_open span::after{
		position:absolute;
		display:block;
		height:4px;
		width:8vw;
		border-radius:3px;
		background:#333;
		content:'';
	}
	.nav_open span{
		top:3vw;
	}
	.nav_open span::before{
		top:3vw;
	}
	.nav_open span::after{
		top:6vw;
	}


	header .logo {
		width:70%;
		padding: 0 0 0 2vw;
	}
	header .logo .logo_img{
		height:14vw;
	}
	header .logo .logo_txt{
		padding-left:2vw;
		font-size:1.4vw;
		line-height:2vw;
	}

	.main_visual .main_m{
		width:100%;
		padding-top:0;
	}

	.tit_bar{
		height:12vw;
		max-height:12vw;
		background-size:180% 100%;
	}
	.tit_bar h2.bar_txt{
		font-size:5.5vw;
	}
	.tit_bar .bar_txt_j{
		font-size:2.5vw;
	}

	.container-md{
		padding-left :0;
		padding-right :0;
	}
	ul.list{
		padding-left:0;
	}

	.news_menu {
		border-width:4px;
	}
	.news_menu a{
		width:15vw;
		font-size:3vw;
	}

	.news_list li a::after{
		width:3.4vw;
		height:3.4vw;
	}
	.news_list li .new{
		width:10vw;
	}
	.news_list li figure{
		width:30%;
		padding:0 0 20%;
	}
	.news_list li figure img{
		transform: translate(-50%,-50%) scale(1.5);
	}
	.news_list li .info{
		width:66%;
		padding:1vw;
	}
	.news_list li .text{
		font-size:3.6vw;
		line-height:4.4vw;
		padding-right:1vw;
	}
	.day_cate {
		font-size:3vw;
	}
	.day_cate .date{
		width:18vw;
	}
	.news_slct,
	.result_slct{
		width:30%;
	}

	.race_grid .mv_col{
		width:100%;
	}
	.race_grid .head{
		padding:5px 10px;
	}
	.race_grid .tag{
		font-size:2.2vw;
		/*width:4vw;*/
	}
	.race_grid .date{
		font-size:7vw;
	}
	.race_grid .date .wday{
		font-size:2.5vw;
	}
	.race_grid .course{
		font-size:3.6vw;
	}
	.race_grid .race{
		height:auto;
		font-size:4vw;
	}
	.schedule_menu .cate a{
		width:6.4vw;
		font-size:4.5vw;
	}
	.schedule_menu .cate a:first-child,
	.schedule_menu .cate a:last-child{
		width:14vw;
	}
	.schedule_menu .select{
		width:100%;
		flex-wrap:wrap;
	}
	.schedule_menu #year_slct{
		width:30%;
	}
	.schedule_menu #type_slct{
		width:65%;
	}
	.schedule_menu .search_navi{
		width:50%;
		margin:10px auto 0;
	}
	.schedule_menu .checke_area{
		width:100%;
		flex-wrap:wrap;
	}
	.schedule_menu .header{
		width:100%;
		margin-left:4vw;
	}
	.schedule_menu .checkes{
		width:100%;
		padding-left:4vw;
	}
	.schedule_menu .checkes label{
		margin-right:5vw;
		margin-bottom:5px;
	}
	.schedule_menu .chkbx::before
	{
		transform:translateY(0);
	}
	.schedule_menu .chkbx::after{
		top:0;
	}
	.schedule_menu .cal_link{
		margin-right:3vw;
	}
	a .pdf_icon img{
		transform:translateY(-10%);
	}


	.list .label{
		width:25%;
	}
	.sch_list .body{
		flex-wrap:wrap;
	}
	.list .dates {
		padding:2vw 22% 2vw 0;
	}
	.sch_list .date{
		font-size:4.5vw;
	}
	.sch_list .date .wday{
		font-size:2.5vw;
	}
	.sch_list .info{
		width:100%;
		padding: 2vw 0;
	}
	.sch_list .race{
		font-size:3.6vw;
		line-height:4vw;
	}
	.sch_list .tags{
		width:50%;
		padding:0 0 2vw 2vw;
	}
	.sch_list .tag{
		font-size:2vw;
		line-height:4vw;
		width:12%;
	}


	h3.ranking_title{
		width:35%;
	}
	h3.season{
		width:100%;
		font-size:5vw;
	}
	.ranking_list{
		flex-direction:column;
	}
	.ranking_list .rank1,
	.ranking_list ul{
		width:100%;
		margin-bottom:8px;
	}
	.ranking_list .rank1{
		height:auto;
	}
	.ranking_list .rank1 .label,
	.ranking_list .label{
		width:19%;
	}
	.ranking_list .rank1 .points{
		width:26%;
	}
	.ranking_list .rank_num{
		position:relative;
		margin-left:-1vw;
		margin-top:3vw;
		font-size:9vw;
		width:100%;
		text-align:center;
	}
	.ranking_list .rank{
		position:absolute;
		display:block;
		top:-4.4vw;
		left:3vw;
		text-align:left;
	}
	.ranking_list .rank1 .rank_num{
		position:relative;
		margin-top:8vw;
		margin-left:6vw;
		font-size:12vw;
		transform:translateY(0);
	}
	.ranking_list .rank1 .rank_num span{
		position:absolute;
		top:-3.5vw;
		left:-2vw;
	}
	.ranking_list .rank{
		font-size:3vw;
	}
	.ranking_list .rank1 figure img{
		height:180px;
	}
	.ranking_list figure{
		width:30%;
	}
	.ranking_list .info{
		padding-top:0;
	}
	.ranking_list .rank1 .info{
		padding:10px 0;
	}
	.ranking_list .name,
	.ranking_list .team_name{
		font-size:4.8vw;
	}
	.ranking_list .team{
		font-size:3vw;
		line-height:3.5vw;
	}
	.ranking_list .points{
		padding-left:3vw;
	}
	.ranking_list .rank1 .points{
		top:110px;
	}
	.ranking_list .point_title{
		font-size:2.6vw;
	}
	.ranking_list .point{
		font-size:8vw;
	}
	.ranking_list .pts{
		font-size:2.5vw;
	}
	.ranking_list .rank1 .note{
		font-size:3.4vw;
		line-height:4.2vw;
	}
	
	.ranking_menu .cate a{
		width:12%;
		font-size:5vw;
	}
	.result_menu .select,
	.ranking_menu .select{
		width:92%;
		flex-wrap:wrap;
	}
	.ranking_menu #type_slct{
		width:60%;
	}
	.ranking_menu #year_slct{
		width:30%;
	}
	.result_menu .search_name,
	.ranking_menu .search_name{
		width:70%;
		margin:10px auto;
	}
	.result_menu #search_btn,
	.ranking_menu #search_btn{
		width:20%;
		height:95%;
	}
	.result_menu #search_btn img,
	.ranking_menu #search_btn img{
		height:100%;
	}

	.result_menu .race_info{
		padding:3vw 2vw 5vw;
	}
	.result_menu .date{
		font-size:5vw;
		padding-bottom:1vw;
	}
	.result_menu .race{
		font-size:5vw;
	}
	.result_menu .select{
		width:95%;
	}
	.result_menu #type_slct{
		width:30%;
		margin:0 35%;
	}
	
	.ranking_list .result_list .label{
		width:15%;
	}
	.ranking_list .rank_num .donot{
		font-size:5.8vw;
		margin-top:-3vw;
	}
	.ranking_list .result_list figure{
		width:23%;
	}
	.ranking_list .result_list .info{
		width:32%;
	}
	.ranking_list .result_list .info2{
		width:12%;
		flex-direction:column;
		text-align:center;
	}
	.ranking_list .result_list .num,
	.ranking_list .result_list .time{
		width:100%;
		font-size:3.5vw;
		padding-top:0;
	}
	.ranking_list .result_list .points{
		width:20%;
	}

	.mv_col .day{
		font-size:3vw;
		line-height:3vw;
		padding-bottom:1vw;
	}
	.mv_col .tit{
		font-size:3.6vw;
		line-height:4.2vw;
	}


	.team_list_pro .list li{
		width:100%;
	}
	.team_list .label .num,
	.team_list_pro .label .num{
		font-size:5.5vw;
	}
	.team_list .team_name,
	.team_list_pro .team_name{
		font-size:4.2vw;
	}

	.contact .text{
		font-size:3.2vw;
	}
	.contact .text::after{
		width:3.4vw;
		height:3.4vw;
	}

	a.btn_more{
		width:50%;
	}
	
	.paginate{
		padding:10px;
	}
	.paginate a{
		font-size:2.8vw;
	}
	.paginate .prev a::before,
	.paginate .next a::after{
		transform:translateY(-1px);
	}


	.partners .official a{
		width:48%;
	}
	.partners .cyc_acv_pgm{
		padding:0 0 1rem;
	}
	.partners .cyc_acv_pgm a{
		width:32%;
	}

	.bottom_links .wrap{
		width:95%;
		flex-direction:column;
		margin:0 auto;
	}
	.bottom_links .wrap > div{
		width:100%;
	}
	.bottom_links .link_btn,
	.bottom_links .sub_links a{
		padding:4px 0;
	}

	.bottom_logo .sns{
		width:30%;
	}
	.bottom_logo .footer_logo{
		width:30%;
	}

	footer .com {
		font-size:4vw;
		line-height:6vw;
	}
	footer .com_e {
		font-size:4vw;
		line-height:6vw;
	}
	footer .copy {
		margin-top:3vw;
		font-size:2.5vw;
	}


	#page_top{
		bottom:0.5vw;
	}
	#page_top a{
		right:3vw;
		width: 10vw;
		height: 10vw;
		background-size:cover;
	}

}

