:root {
	--mainColor: #be0808;
	--subColor: #e00606af;
	--backColor: #e006063b;

}


.matchinBtnEnd { background-color:#aaa; pointer-events:none; color:#000; }
#mordal_open { cursor:pointer; }

/*
.btn { position:relative; color:#fff; font-size:4vw; line-height:1.5; text-align:center; text-decoration:none; display:block; width:30%; border-radius:3px; background-color:#02ae74; box-shadow:2px 2px 2px #666; box-sizing:border-box; margin:1em auto 0; padding:0.5em; transition:all 0.3s; }
a.btn:hover { background-color:#f3c623; }
p.btn { background-color:#848484; box-shadow:none; color:rgba(255, 255, 255, 0.5); }
.btn i { margin-right:0.5em; }
.btn .external { position:absolute; bottom:0.25em; right:0.25em; margin:auto; font-size:18px; }
.btn span { font-size:75%; display:block; }
.noBtn .endTxt,
p.btn .endTxt { position:absolute; top:-50%; bottom:-50%; left:0; right:0; font-size:75%; color:#ff2700; line-height:1; text-shadow:0 1px 0 #fff, 0 -1px #fff, 1px 0 0 #fff, -1px 0 0 #fff; font-weight:bold; display:block; width:100%; height:1em; background:none; margin:auto; padding:0; }
.btn { font-size:20px; }
.caution { color:#ff0000; margin-left:1em; }
*/

/* header */
#headerVenueWrap { display:flex; align-items:center; margin-bottom:0.5em; }
#headerVenueWrap div:nth-child(2) { margin-left:2em; }
#headerVenueWrap div p:nth-child(1) { font-weight:bold; color:#000; background-color:#fff8db; padding:0.125em 0.5em; width:3.5em; text-align:center; }
#headerVenueWrap div:nth-child(2) p:nth-child(1) { width:6em; }
header .english_btn { display:block; font-size:16px; height:40px; position:relative; border-radius:3px; color:#fff; line-height:2.25em; text-align:center; text-decoration:none; background-color:hsl(221, 45%, 70%); width:10em; transition:all 0.3s; }
header .english_btn:hover { background-color:hsl(0, 47%, 59%); }
header .app_btn { border-radius:3px; /* color:#111; */ text-align:center; display:block; text-decoration:none; background-color:hsla(0, 85%, 55%, 1); color:white; padding:0.3em; width:11em; margin:0 auto; font-size:1.25em; transition:all 0.3s; }
header .app_btn i { margin-left:10px; }
header .app_btn span { display:block; font-size:0.6em; line-height:1.2em; }
header .app_btn:hover { background-color:hsla(33, 85%, 55%, 1); }
/*2019/02/21 大澤追記*/
.headerDetail { font-size:0.8em; }
/*2019/02/21 大澤追記*/
.headerDetail p { line-height:1.25em; }

/* nav */
nav i { margin-left:5px; }
nav ul { list-style-type:none; line-height:1.8em; }
#nav_menu { font-size:0; }
nav ul:not(.sub_menu) { width:100%; margin:0 auto; padding:0; }
nav ul:not(.sub_menu) li { position:relative; font-size:4vw; box-sizing:border-box; }
.main_menu,
.gray_menu { position:relative; padding:5px 20px; line-height:1.5em; transition:all 0.5s; }
.main_menu a { display:block; width:100%; padding:5px 10px; box-sizing:border-box; color:white; line-height:1.5em; text-decoration:none; }
.main_menu span,
.gray_menu span { display:block; padding:5px 10px; line-height:1.5em; color:#848484; }
.sub_menu { width:100%; height:0; padding:0; background-color:white; transition:all 0.5s; }
.sub_menu li { height:0; margin:0; padding:0 10px; background-color:#eee; transition:all 0.5s; }
.sub_menu li a { display:block; width:100%; color:transparent; text-decoration:none; transition:all 0.5s; }
.sub_menu li:hover { background-color:#ddd; }
#nav_menu .current_menu { background-color:#555; }
#nav_menu .current_menu .top_menu { color:white; }
.twIcon { width:35px; }
.youtubeIcon { width:45px; margin-left:0.5em; }
#services_contents { column-count:3; }
.gray_menu { position:relative; font-size:16px; padding:5px 20px; line-height:30px; transition:all 0.3s; }
.gray_menu span { display:block; padding:5px 0; line-height:1.5em; color:#888; }
.enBtn { position:absolute; top:-0.5em; right:0; }
nav ul li img { width:280px; }
header .english_btn { position:absolute; top:5px; right:10px; }
header .app_btn { position:absolute; bottom:0px; right:10px; }
header .press_btn { position:absolute; height:40px; top:62.5px; right:10px; }
.pressEndTxt,
.preEndTxt { position:absolute; height:40px; color:#ff2700; position:absolute; text-shadow:0 1px 0 #fff, 0 -1px #fff, 1px 0 0 #fff, -1px 0 0 #fff; font-weight:bold; }
.pressEndTxt { top:68px; right:17px; }
.preEndTxt { top:130px; right:80px; }
header h1 img { width:50%; margin-bottom:5px; }
/*
#other_events a { width:165px; }
#other_events a:nth-last-of-type(even) { margin-right:1em; }
*/
nav { width:100%; height:125px; margin:0 auto; padding:10px; box-sizing:border-box; position:fixed; top:0; z-index:5; background-color:var(--mainColor); /* overflow-y:scroll; */ transition:all 0.3s; border-radius:0 0 50px 50px; }
.headerBar {/* background-size:30px 5px; background-image:linear-gradient(to right, #000000 20px, transparent 20px); background-repeat:repeat-x; background-position:left bottom; */padding-bottom:5px; margin-bottom:1em; }

@media screen and (min-width:1000px)
{
	nav ul:not(.sub_menu) { display:flex; align-items:flex-end; justify-content:space-around; margin-bottom:-1em; }
	nav ul:not(.sub_menu) li { position:relative; font-size:15px; box-sizing:border-box; }
	_:-ms-lang(x),
	nav ul:not(.sub_menu) li { /* IEハック */
	font-size:14px; }
	nav ul.snsIconsWrap { justify-content:flex-end; position:absolute; top:30px; right:3%; }
	.sub_menu { width:425px; height:0; position:absolute; top:40px; left:0; padding:0; background-color:#000; transition:all 0.3s; }
	.exSubMenu { width:375px; }
	.sub_menu li { height:0; margin:0; padding:0 20px; line-height:1.5em; background-color:#eee; transition:all 0.3s; }
	.sub_menu li a { display:block; width:100%; color:transparent; text-decoration:none; transition:all 0.3s; }
	.main_menu:last-child .sub_menu { width:200px; }
	.main_menu { position:relative; font-size:16px; padding:5px; line-height:30px; transition:all 0.3s; }
	.main_menu a { display:inline; width:auto; color:#fff; padding:0; }
	.main_menu:hover a { color:#efb600; }
	.main_menu:hover > .sub_menu { height:auto; }
	.main_menu:hover > .sub_menu li { padding:15px 20px; height:50px; }
	.main_menu:hover > .sub_menu li:not(:last-child) { border-bottom:1px solid #555; }
	.main_menu:hover > .sub_menu li a { color:black; }
	.sub_menu li:hover { background-color:#ddd; }
	#nav_menu .current_menu { background-color:#555; }
	#nav_menu .current_menu .top_menu { color:white; }
	.visitorsPromotion { font-size:14px; }
}
@media screen and (max-width:999px)
{
	nav { right:-100%; height:initial; }
	nav ul.snsIconsWrap { display:flex; align-items:center; }
	.youtubeIcon { width:120%; }
}

/* sns_buttons */
#sns_buttons a { display:block; font-size:50px; padding:15px; width:50px; height:50px; vertical-align:middle; text-align:center; border-radius:10px; color:white; margin-bottom:5px; box-shadow:0 0 10px #ddd; transition:all 0.3s; }
#share_facebook { background-color:#3b5998; }
#share_twitter { background-color:#55acee; }
#sns_buttons a:hover { background-color:white; }
#share_facebook:hover { color:#3b5998; }
#share_twitter:hover { color:#55acee; }

/* related_websites */
#related_websites a { display:inline-block; width:165px; margin:0.25em; box-sizing:border-box; vertical-align:middle; transition:all 0.3s; }
#related_websites a img { width:100%; }
#related_websites a:hover { transform:scale(1.1); }

/* other_events */
/*
#other_events a { display:block; width:165px; box-sizing:border-box; border:1px solid #ddd; border-radius:3px; margin:0 1em 1em 0; transition:all 0.3s; }
#other_events a img,
#related_websites a img { display:block; width:auto; max-width:100%; max-height:100%; margin:auto; }
#other_events a:hover { transform:scale(1.1); }
.otherEventWrap { display:flex; flex-wrap:wrap; justify-content:flex-start; }
.otherEvent01,
.otherEvent02 { visibility:hidden; width:302px; height:204.17px; }
*/

/* services */
#services_contents { column-count:2; }
#services_contents a { display:block; color:#333; line-height:1.5em; text-decoration:none; transition:all 0.3s; }
#services_contents a:hover { color:#555; text-decoration:underline; }

/* footer */
footer small { display:block; }
footer a { color:white; }
p.smallHeading { color:#467900; }
.english_btn span,
.app_btn span { color:#ffd800; display:block; line-height:1; font-size:80%; margin-bottom:0.5em; }
.press_btn { font-size:16px; height:40px; line-height:2.25em; text-align:center; text-decoration:none; /* position:relative; */ display:block; width:10em; /* background-color:hsl(221, 45%, 70%); */ box-shadow:none; border-radius:3px; box-sizing:border-box; padding:0; /* transition:all .3s; */ pointer-events:none; background-color:#666; color:rgba(255, 255, 255, 0.5); }
.press_btn:hover { background-color:hsl(0, 47%, 59%); }
.enBtn { padding-bottom:1em; }
.enBtn a { width:auto; /* font-size:100%; */ background-color:#ff0000; color:#fff; text-decoration:none; display:block; padding:0.5em 1.5em; border-radius:3px; /* font-weight:bold; */ text-align:center; transition:0.3s; box-shadow:2px 2px 2px #666; }
.enBtn a:nth-child(2) { background-color:#fff; border:2px solid #ff0000; color:#ff0000; margin-top:0.5em; padding:0.125em 1.5em; font-size:1em; }
.enBtn a:nth-child(2):hover { /* border:2px solid #f3c623; */ background-color:#f3c623; color:#ffffff; }
.grayBtn { background-color:#555 !important; pointer-events:none; }
.regSystem { background-color:#f00; color:#fff; padding:0.125em; width:6em; text-align:center; border-radius:5px; }
#contact .troubleCol { display:block; box-sizing:border-box; border:2px solid #ff0000; border-radius:6px; margin:0.5em 0 0 0; padding:0.5em 1em 1em; }
#contact .troubleCol ul li { text-indent:-1em; list-style:none; margin:0.25em 0 0 1em; }
#floor_plan img { transition:0.3s; max-width:100%; }
#floor_plan img:hover { opacity:0.8; }
#services .snsIconsWrap { display:flex; align-items:center; }

@media screen and (max-width:999px)
{
	#headerVenueWrap { display:block; }
	#headerVenueWrap div:nth-child(2) { margin-top:0.5em; margin-left:0; }
	/*
	.btn { width:77.5%; }
	*/
	.pressEndTxt,
	.preEndTxt { position:absolute; height:40px; color:#ff2700; position:absolute; text-shadow:0 1px 0 #fff, 0 -1px #fff, 1px 0 0 #fff, -1px 0 0 #fff; font-weight:bold; }
	.pressEndTxt { font-size:13.5px; top:25px; left:195px; }
	.preEndTxt { position:absolute; font-size:1.25em; top:82%; left:33%; }
	.headerBtnCol { display:flex; }
	.english_btn { margin:0 10px 10px 0; }
	.press_btn { height:30px; }
	.app_btn { margin-bottom:0 !important; }
	.headerDetail { margin-bottom:10em; }
	header h1 img { width:60%; }
	#nav_menu .main_menu:nth-child(1) a { display:none; }
	.twIcon { width:80px; margin-left:20px; }
	.form_btn_wrap a:nth-child(1),
	.form_btn_wrap a:nth-child(2) { margin-right:0.5em; }
}
@media screen and (max-width:925px) { .otherEvent02 { display:none; } }
@media screen and (max-width:749px) { .preEndTxt { top:84%; } }
@media screen and (max-width:623px) { .otherEvent01 { display:none; } }
@media screen and (max-width:499px) { .preEndTxt { top:86%; } }
