@charset "UTF-8";
/* default */

/*	reset
------------------------------------------------------------ */ 
@import url("reset.css");

/*	elements
------------------------------------------------------------ */ 
@import url("elements.css");

/*	form
------------------------------------------------------------ */ 
@import url("form.css");

/*	nav
------------------------------------------------------------ */ 
@import url("nav.css");


/* links
------------------------------------------------------------ */
a:link { text-decoration: underline; color: #000; }
a:visited { text-decoration: underline; color: #000;}
a:hover { text-decoration: underline;color: #000;}
a:active { text-decoration: underline; color: #000;}

/* body
------------------------------------------------------------ */
body {
	background: #fff;
	font-size:14px;
	line-height:160%;
	color:#1e1e1e;
	font-family: Helvetica,Meiryo,YuGothic,"serif";
	width: 100%;
	position: relative;
}

/* header
------------------------------------------------------------ */
header { width: 100%; height: 70px; position: fixed; left: 0; z-index: 1000; background:rgba(255,255,255,0.8);}
header #header_inner {width: 1200px; margin: 8px auto 0; position: relative;}

header #header_inner h1 { width: 200px; height: 50px; position: absolute; left: 0; top: 0;}
header #header_inner h1 img {width: 100%; height: auto;}

header nav {}
header nav > ul{ text-align: center; margin-top: 14px; height: 50px; }
header nav > ul > li {
	display: inline-block;
	margin-right: 4px;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}
header nav > ul > li:last-child { margin-right: 0;}
header nav > ul > li > a{
	display: block;
	background:rgba(240,240,240,0.8);
	color: #000;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	padding: 10px 24px;
	border-radius: 10px;
	box-sizing: border-box;
}
header nav ul li a:hover {background:rgba(0,0,0,0.6); color: #fff; text-decoration:none;}
header nav ul li a:active {background:rgba(0,0,0,0.6); color: #fff; text-decoration:none;}
header nav ul li a:link    {text-decoration:none;}
header nav ul li a:visited {text-decoration:none;}
header nav ul li a.selected {background:rgba(0,0,0,0.6); color: #fff; text-decoration:none;}
header nav ul li .sub_menu {
	display: none;
	position: absolute;
	top: 48px;
	left: 0;
	z-index: 100;
	background:rgba(240,240,240,0.8);
	border-radius: 10px;
	padding: 10px;
}
header nav ul li .sub_menu .sub_menu_inner {
	display: block;
	
}
header nav ul li .sub_menu .sub_menu_inner > ul {
	text-align: left;
}
header nav ul li .sub_menu .sub_menu_inner > ul > li {
	display: block;
	margin-bottom: 4px;
}
header nav ul li .sub_menu .sub_menu_inner > ul > li > p { padding: 10px;}
header nav ul li .sub_menu .sub_menu_inner > ul > li > p::before {
	content: "▼";
	font-size: 60%;
	line-height: 160%;
	padding-right: 6px;
	vertical-align: middle;
}

header nav ul li .sub_menu .sub_menu_inner ul li a {
	display: block;
	background: transparent;
	border: 0;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	white-space: nowrap;
	border-radius: 8px;
	padding: 10px 20px 10px 10px;
}

header nav ul li .sub_menu .sub_menu_inner ul li a:hover {
	background:rgba(0,0,0,0.6);
}
header nav ul li .sub_menu .sub_menu_inner ul li a:active {
	background: transparent;
}
header nav ul li .sub_menu .sub_menu_inner ul li a.selected {
	background:rgba(0,0,0,0.6); color: #fff; text-decoration:none;
}
header nav ul li .sub_menu .sub_menu_inner > ul > li > ul > li {
	display: block;
	margin-bottom: 6px;
	text-align: left;
}
header nav ul li .sub_menu .sub_menu_inner > ul > li > ul > li > a {
	margin-left: 10px;
}
header nav ul li .sub_menu .sub_menu_inner > ul > li > a::before {
	content: "▶︎";
	font-size: 60%;
	line-height: 160%;
	padding-right: 6px;
	vertical-align: middle;
}

header nav ul li .sub_menu .sub_menu_inner > ul > li > ul > li > a::before {
	content: "▶︎";
	font-size: 60%;
	line-height: 160%;
	padding-right: 6px;
	vertical-align: middle;
}


header #header_inner #menu { position: absolute; right: 180px; top: 0; display: none !important;}
header #header_inner #login { position: absolute; right: 120px; top: 0;}
header #header_inner #search { position: absolute; right: 60px; top: 0;}
header #header_inner #language {
	position: absolute;
	right: 120px;
	top: 0;
	font-size: 100%;
	font-weight: bold;
}
header #header_inner #language ul { display: flex;}
header #header_inner #language ul li::after{
 content: "/";
	color: #333;
 margin: 0 6px;
}
header #header_inner #language ul li:last-child::after {
 content: "";
}
header #header_inner #language ul li { color: #333;}
header #header_inner #language ul li a { text-decoration: none; color: #333;}
header #header_inner #language ul li a:hover { color: #d70c18;}


header #header_inner #logo_f4 {position: absolute; right: 0; top: 0;}

header #header_inner #menu a,header #header_inner #login a,header #header_inner #search a{
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background:rgba(200,200,200,0.6);
	color: #000;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
header #header_inner #menu a:hover, header #header_inner #login a:hover,header #header_inner #search a:hover{background:rgba(0,0,0,0.4) ;}

/* nav_child */
#header_inner .nav_child{
	display:none;
	position:fixed;
	top:60px;
	left:50%;
	transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	z-index:99;
	padding-top:10px!important;
}
#header_inner .nav_child.first_view {
	display: block;
}

/* すりガラス */
#header_inner .nav_child .nav_child_inner {
	background:rgba(240,240,240,0.6);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	padding: 20px 40px;
	border-radius: 10px;
	text-align: left;
	max-width: calc(90vw - 80px);
}
#header_inner .nav_child .nav_child_inner p.next_race{
	font-size: 120%;
	margin-bottom: 20px;
	white-space: nowrap;
}
#header_inner .nav_child .nav_child_inner p.next_race a {
	background:rgba(226,226,226,0.4);
	padding: 20px 40px 20px 40px;
	border-radius: 10px;
	display: inline-block;
	background-image: url("../icons/icon_right.svg");
	background-position: left center;
	background-repeat: no-repeat;
	background-size:40px 20px;
}
#header_inner .nav_child .nav_child_inner p.next_race a:hover{
	background:rgba(0,0,0,0.6);
	color: #fff;
	background-image: url("../icons/icon_right_wht.svg");
	background-position: left center;
	background-repeat: no-repeat;
	background-size:40px 20px;
}

/* menu */
.nav_child ul.menu{ display: flex; flex-direction: column;}
.nav_child ul.menu:last-child{ margin-right: 0;}
.nav_child ul.menu li{
 	text-align:left;
 	white-space:nowrap;
}
.nav_child ul.menu li a {
	padding: 12px 20px;
	display: block;
	width: calc(100% - 40px) !important;
	height: auto !important;
	border-radius: 10px !important;
	background: rgba(200, 200, 200, 0.6) !important;
	margin-bottom: 10px;
	text-decoration: none;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}
.nav_child ul.menu li a::before {
	content: "▶︎";
	font-size: 60%;
	line-height: 160%;
	padding-right: 6px;
	vertical-align: middle;
}
.nav_child ul.menu li a:hover {
	background:rgba(0,0,0,0.6);
	color: #fff;
}
.nav_child ul.menu li.with_sub_menu {
	padding: 12px 20px;
    background: rgba(200, 200, 200, 0.6);
    border-radius: 10px;
	margin-bottom: 10px;
}
.nav_child ul.menu li.with_sub_menu span.no_link {
	display: block;
}
.nav_child ul.menu li.with_sub_menu>span.no_link::before {
	content: "▶︎";
	font-size: 60%;
	line-height: 160%;
	padding-right: 6px;
	vertical-align: middle;
}
.nav_child ul.menu li.with_sub_menu.open>span.no_link::before {
	content: "▼";
}
.nav_child ul.menu li.with_sub_menu ul {
	padding-top: 5px;
	display: none;
}
.nav_child ul.menu li.with_sub_menu ul li.with_sub_menu {
	background: transparent;
	margin-bottom: 0;
	padding: 12px 0 0 20px;
}
.nav_child ul.menu li.with_sub_menu ul li.with_sub_menu ul {
	padding-left: 5px;
}
.nav_child ul.menu li.with_sub_menu ul li a {
	padding-top: 6px;
	padding-bottom: 6px;
	margin-bottom: 6px;
}

@media screen and (max-width:1200px) {
	header #header_inner { width: 100%;}
	header #header_inner h1 { width: 160px; height: 40px; position: absolute; top: 10px; left:10px;}
	header #header_inner nav{display: none !important;}
	header #header_inner #menu {
		display: block !important;
		right: 80px;
	}
	header #header_inner #menu.toppage {
		display: block !important;
		right: 80px;
	}
	header #header_inner #menu .nav_child {
		max-height: calc(100vh - 120px);
		max-height: calc(100dvh - 120px);
		overflow: hidden;
	}
	header #header_inner #menu .nav_child .nav_child_inner {
		overflow: hidden;
		height: 100%;
		padding: 0 40px 20px 40px;
	}
	header #header_inner #menu .nav_child .nav_child_inner .main_menu {
		max-height: calc(100vh - 140px);
		max-height: calc(100dvh - 140px);
		overflow-y: scroll;
		position: relative;
		top: 20px;
	}
	header #header_inner #menu .nav_child .nav_child_inner .main_menu .menu_f4_link {
		width: auto;
		height: auto;
		color: none;
		border-radius: 0;
		background: none;
		-webkit-backdrop-filter: none;
    	backdrop-filter: none;
		position: relative;
	}
	header #header_inner #menu .nav_child .nav_child_inner .main_menu .aside_menu {
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
		justify-content: center;
	}
	header #header_inner #menu .nav_child .nav_child_inner .main_menu #language_aside {
		font-size: 100%;
    	font-weight: bold;
	}
	header #header_inner #menu .nav_child .nav_child_inner .main_menu #language_aside ul {
		display: flex;
		justify-content: flex-end;
	}
	header #header_inner #menu .nav_child .nav_child_inner .main_menu #language_aside ul li::after {
		content: "/";
		color: #333;
 		margin: 0 6px;
	}
	header #header_inner #menu .nav_child .nav_child_inner .main_menu #language_aside ul li:last-child::after {
		content: "";
	}
	header #header_inner #menu .nav_child .nav_child_inner .main_menu #language_aside ul li {
		color: #333;
	}
	header #header_inner #menu .nav_child .nav_child_inner .main_menu #language_aside a {
		width: auto;
		height: auto;
		border-radius: 0;
        background: none;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
		text-decoration: none;
		color: #333;
		display: inline;
	}
	header #header_inner #menu .nav_child .nav_child_inner .main_menu #language_aside a:hover { color: #d70c18; }
	header #header_inner #language {
		right: 125px;
	}
	header #header_inner #language.toppage {
		right: 125px;
	}
	#header_inner .nav_child .nav_child_inner {
		width: calc(90vw - 80px - 40px);
    	max-width: 400px;
	}
	header #header_inner #logo_f4 {
		top: 10px;
	}
	#header_inner #logo_f4 a img {
		width: 80px !important;
		height: 40px !important;
	}

}
@media screen and (max-width: 520px) {
	header #header_inner {
		margin: 0 auto;
	}
	header #header_inner #menu {
		display: block !important;
		top: 10px;
		right: 10px;
	}
	header #header_inner #menu.toppage {
		display: block !important;
		right: 80px;
	}
	header #header_inner #language {
		right: 70px;
	}
	header #header_inner #language.toppage {
		right: 125px;
	}
	.nav_child ul.menu li {
		white-space: normal;
	}
}

/* page top, back
------------------------------------------------------------ */ 
#pageTop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	border-radius: 50%;
	background:rgba(0,0,0,0.2);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	z-index:1000;
}
#pageBack {
	position: fixed;
	bottom: 20px;
	left: 20px;
	border-radius: 50%;
	background:rgba(0,0,0,0.2);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

/* Footer
------------------------------------------------------------ */
footer { width: 100%; background: #333; padding: 20px 0 100px; margin-top: 60px;}
footer #footer_inner { width: 1200px; margin:  0 auto; color: #fff;}
footer #footer_inner #footer_links {float: left; margin-bottom: 20px;}
footer #footer_inner #footer_links ul {}
footer #footer_inner #footer_links ul li{ display: inline; margin-right: 10px; color: #999;}
footer #footer_inner #footer_links ul li a { color: #fff;}
footer #footer_inner #footer_links ul li::before{
	content: "|";
	margin-right: 10px;
}
footer #footer_inner #footer_links ul.bogo-language-switcher li:first-of-type:before {
	content: '';
	margin-right: 0;
}
footer #footer_inner #footer_links ul li:last-child::after{
	content: "|";
	margin-left: 10px;
}
footer #copyright { float: right; text-align: right;}
footer #copyright::after{clear: both;}

@media screen and (max-width:1200px) {
	footer #footer_inner { width: 90%; margin: 0 auto;}
	footer #footer_inner #footer_links {float: none;}
	footer #footer_inner #footer_links ul { text-align: center;}
	footer #copyright { float: none; text-align: center;}
}








