@charset "utf-8";
/*--reset--*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
padding: 0;
margin: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
fieldset, img {
border: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
font-weight: normal;
font-style: normal;
}
ol, ul {
list-style: none;
}
caption, th {
text-align: left;
}
h1, h2, h3, h4, h5, h6 {
font-weight: normal;
font-size: 100%;
}
q:before, q:after {
content: '';
}
abbr, acronym {
border: 0;
}

/*--openmenu--*/
body {
    position: relative;
    left: 0;
    overflow-x: hidden;
}

#side{
	width: 240px;
    height: 100%;
    position: fixed;
    top: 0;
    left: -240px;
	z-index: 49;
}

#menu_button{
	z-index:50
}

.layer{
    position: fixed;
    top: 0;
    z-index: 48;
    display: none;
    width: 100%;
    height: 100%;
    background-color:transparent;
}


/*--layout--*/
html,
body,
#wrapper{
	width:100%;
	height:100%;
	position:relative;
}

/*--side--*/

#side{
	position: fixed;
    top: 0;
    left: -260px;
    width: 220px;
    height: 100%;
	color:#FFFFFF;
	font-size:16px;
	padding:20px 20px;
	background:url(../images/side_bg.gif) repeat left top;
}

#side a{
	color:#FFFFFF;
}

#side #side_head{
	display:none;
}

#side .catchcopy{
	font-size:12px;
	line-height:1.5;
	text-align:center;
}

#side .date{
	margin-bottom:20px;
}

#side #countdown{}
	
#side #countdown #countdown_container{
	line-height:1.0;
	text-align:center;
	margin-bottom:20px;
	padding:25px 0 35px 0;
	background:url(../images/side_counutdown_bg.png) no-repeat center center;
	background-size:120px 120px;
}

#side #countdown #countdown_container .remain{
	display:block;
	margin-bottom:4px;
}

#side #countdown #countdown_container .remain_number{
	color:#000000;
	font-size:40px;
}

#side #countdown #countdown_container .remain_date{
	font-size:24px;
}

#side nav{
	margin-bottom:30px;
}

#side nav li{
	letter-spacing:0.1em;
	margin-bottom:10px;
	background:url(../images/side_arrow.png) no-repeat left center;
	padding-left:24px;
}

/*--base--*/
html,body{
	color:#333333;
	font-size:14px;
	font-family: YuMincho,"游明朝体","Yu Mincho","游明朝","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","ＭＳ Ｐ明朝","MS PMincho",serif;
	line-height:2;
	height:100%;
	-webkit-text-size-adjust:100%;
}

a{
	color:#ab1826;
	text-decoration:none;
}

img{
	vertical-align:top;
}

main img{
	max-width:100%;
	height:auto;
}

.content{
	padding:0 20px;
	margin-right:auto;
	margin-left:auto;
}


/*--layout--*/

#wrapper{
	width:100%;	
}

header{
	width:100%;
	height:60px;
	background:#000000;
	position:absolute;;
	top:0;
	left:0;
	overflow:visible;
	z-index:10;
	box-shadow:0 5px 20px rgba(0,0,0,0.1);
}

header:hover{
	opacity:1 !important;
}

header #header_logo{
	position:absolute;
	top:5px;
	left:5px;
}

header #header_date{
	position:absolute;
	top:8px;
	left:170px;
	display:none;
}

/*--menu_button--*/

header #menu_button{
	background:url(../images/header_menu_bg.png) no-repeat top right;
	background-size:100% 100%;
	width:32px;
	height:32px;
	padding:12px 12px 56px 56px;
	position:fixed;
	top:0;
	right:0;
}

header #menu_button .button{
	width:32px;
	height:32px;
	position:relative;
	cursor:pointer;
}

header #menu_button .button span {
	display: inline-block;
	transition: all .4s;
}

header #menu_button span {
	position: absolute;
	left: 0;
	width: 32px;
	height: 4px;
	background-color: #FFFFFF;
	border-radius: 2px;
}
header #menu_button span:nth-of-type(1) {
	top: 0;
}
header #menu_button span:nth-of-type(2) {
	top: 14px;
}
header #menu_button span:nth-of-type(3) {
	bottom: 0;
}

body.open header #menu_button span:nth-of-type(1) {
	-webkit-transform: translateY(14px) rotate(-45deg);
	transform: translateY(14px) rotate(-45deg);
}
body.open header #menu_button span:nth-of-type(2) {
	opacity: 0;
}
body.open header #menu_button span:nth-of-type(3) {
	-webkit-transform: translateY(-14px) rotate(45deg);
	transform: translateY(-14px) rotate(45deg);
}


main{
	width:100%;
	padding-top:60px;
	padding-left:0px;
	float:right;
	box-sizing:border-box;
}

#side{}

main #poster{
	background:url(../images/texture_black.gif) repeat left top;
}

main #news{
	background:url(../images/texture_grey.gif) repeat left top;
	padding-bottom:30px;
}

main #news h2{
	padding:10px 0 10px 0;
}

main #news .button{
	color:#FFFFFF;
	font-size:12px;
	background:#000000;
	text-align:center;
	line-height:1;
	width:100px;
	margin:0 auto 30px auto;
	padding:5px 10px;
}

main #news dl{}

main #news dl dt{
	
}

main #news dl dd{
	margin-bottom:10px;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

#event{}

#event .summary{
	text-align:center;
	padding:20px 10px 50px 10px;
	white-space:nowrap;
	position:relative;
}

#event .summary .date{
	color:#333333;
	font-size:14px;
}

#event .summary h3{}

#event .summary h3 span{
	display:block;
	color:#000000;
	font-size:12px;
	font-style:italic;
	opacity:0.5;
}

#event .summary .arrow{
	width:32px;
	height:32px;
	position:absolute;
	left:50%;
	margin-left:-16px;
	bottom:20px;
	opacity:0.5;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

#event a:hover .summary .arrow{
	opacity:1;
}

#event .column .small_1,
#event .column .small_2,
#event .column .small_3,
#event .column .small_4{
	padding-right:0px;
	padding-left:0px;
}

#top_app_banner{
	padding:40px 0;
	background:#e0e0e0
}

#top_app_banner .content{
	max-width:480px;
	text-align:center;
}

#bleachers{
	padding-bottom:50px;
}

#bleachers dl{
}

#bleachers dl dt{
	font-size:20px;
	font-weight:bold;
}

#bleachers dl dt br{
	display:none;
}

#bleachers dl dt.tworaws{
}

#bleachers dl dd{
	
	margin-bottom:30px;
}

#bleachers table{
	width:100%;
	margin-bottom:10px;
}

#bleachers table th,
#bleachers table td{
	padding:10px;
}

#bleachers table th{
	color:#FFFFFF;
	background:#000000;
	text-align: center;
}

#bleachers table td{
	border-bottom:1px solid #000000;
	background:#FFFFFF;
}

/*--Venue--*/

#course_map{
	text-align:center;
	
}

/*--Access--*/

#access #contents .content{
	padding-top:50px;
}

.access_content{
	margin:50px 0;
}

.access_content h3{
	text-align:left;
}

#extra_train{
	text-align:center;
}

/*--App--*/
#app_title{
	height:550px;
	background:url(../images/app_title_bg.jpg) repeat-x left top #000000;
	position:relative;
}

#app_title .content{
	position:relative;
}

#app_title h1{
	width:300px;
	position:absolute;
	top:410px;
	left:50%;
	margin-top:0;
	margin-left:-150px;
	background:none;
}

#app_title #app_title_iphone{
	position:absolute;
	top:20px;
	left:50%;
	margin-left:-100px;
}

#app_title #app_title_banner_ios{
	width:150px;
	position:absolute;
	top:480px;
	left:50%;
	margin-left:-155px;
}

#app_title #app_title_banner_android{
	width:150px;
	position:absolute;
	top:480px;
	left:50%;
	margin-left:5px;
}

#app_title #app_title_ribbon{
	position:absolute;
	top:0;
	right:0;
}

#app_summary{
	padding-bottom:50px;
}

#app_summary h2{
	padding:30px 0;
}

#app_summary p br{
	display:none;
}

#app_function{}

#app_function .function_content{
	font-size:14px;
	padding:0 20px;
	margin-bottom:20px;
}

#app_function .function_content img{
	margin-bottom:20px;
}

#app_download #app_banner{
	width:100%;
	margin:0 auto;
	padding-bottom:50px;
}

#app_download #app_banner li{
	text-align:center;
	padding:0 10px;
}

/*--main--*/

main{
	position:relative;
}

main #title,
main #contents,
main #supplement,
main footer{
	box-sizing:border-box;
}

main #title{
	width:100%;
	background:#FFFFFF;
}

main #title #hero{
	min-height:320px;
	position:relative;
	height:50%;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
}

main #title #hero img{
	width:100%;
	height:auto;
}

main h1{
	color:#FFFFFF;
	font-size:24px;
	font-weight:bold;
	width:200px;
	height:200px;
	background:url(../images/title_bg.png) no-repeat center center;
	background-size:100% 100%;
	position:absolute;
	top:50%;
	left:50%;
	margin-top:-100px;
	margin-left:-100px;
	text-align:center;
}

main h1 span{
	display:block;
}

main h1 span.vertical{
	writing-mode: vertical-rl;
	position:absolute;
	top:50%;
	left:50%;
	display:inline;
	transform:translate(-50%, -50%);
	white-space:nowrap;
}

main#about h1 span.vertical,
main#date24 h1 span.vertical,
main#date25 h1 span.vertical,
main#date26 h1 span.vertical,
main#venue h1 span.vertical{
	letter-spacing:0.3em;
}

main #summary{
	vertical-align:middle;
	padding:40px 0;
	box-sizing:border-box;
}

main #summary h2{
	padding-top:0;
	text-align:left;
}

main #summary br{
	display:none;
}

main #summary p{
	margin-bottom:0;
}

main #contents{
	width:100%;
	background:#FFFFFF url(../images/texture_white.gif) repeat left top ;
}

main #contents #contents_image{
	width:100%;
	min-height:280px;
	background:no-repeat center center;
	background-size:cover;
	position:relative;
}

main #title #hero p,
main #contents #contents_image p{
	color:#FFFFFF;
	line-height:1;
	white-space:nowrap;
	text-shadow:1px 1px 5px rgba(0,0,0,0.8);
	margin:0;
	position:absolute;
	bottom:15px;
	right:15px;
}


main#date24 #title #hero{
	background-image:url(../images/date24_title.jpg);
}

main#date24 #contents #contents_image{
	background-image:url(../images/date24_image.jpg);
}

main#date25 #title #hero{
	background-image:url(../images/date25_title.jpg);
}

main#date25 #contents #contents_image{
	background-image:url(../images/date25_image.jpg);
}

main#date26 #title #hero{
	background-image:url(../images/date26_title.jpg);
}

main#date26 #contents #contents_image{
	background-image:url(../images/date26_image.jpg);
}

main#venue #title #hero{
	background-image:url(../images/venue_title.jpg);
}

main#access #title #hero{
	background-image:url(../images/access_title.jpg);
}

main#download #title #hero{
	background-image:url(../images/download_title.jpg);
}

main h2{
	color:#ab1826;
	font-size:24px;
	line-height:34px;
	font-weight:bold;
	padding:30px 0;
}

main h3{
	font-size:19px;
	font-weight:bold;
	line-height:29px;
	margin-bottom:10px;
}

main h3 span{
	color:#333333;
	font-size:16px;
	font-weight:normal;
	line-height:26px;
	display:block;
	margin-bottom:10px;
}

main h3 span a{
	color:#FFFFFF;
}

main p{
	margin-bottom:1em;
}

main #contents ul,
main #supplement ul{
	margin-bottom:20px;
}

main #contents ul li,
main #supplement ul li{
	list-style-type:disc;
	margin-left:1em;
}

#contents .content{
	padding-bottom:50px;
}

#contents .event_content{
	padding-bottom:40px;
}

#contents .event_content .image{
	margin-bottom:10px;
}

#contents .event_content h3{
	margin-bottom:10px;
}

#contents dl.schedule{
	font-size:16px;
	line-height:2;
}

#contents dl.schedule dt{
	width:100px;
	float:left;
}

#contents dl.schedule dd{
	padding-left:100px;
}

#supplement{
	width:100%;
	background:#f0f0f0;
}

#supplement .content{
	padding-bottom:50px;
}

#supplement .time_table{
	text-align:center;
}
#supplement h4{
	color:#ab1826;
	font-size:24px;
	line-height:34px;
	font-weight:bold;
	padding:20px 0 0;
	
}
.banner{
	padding:30px 0px 20px 0px;
	background:#FFFFFF url(../images/texture_white.gif) repeat left top;
}

.banner .content{
	padding:0;
	max-width: 650px;
}

.banner ul li{
	padding-right:10px !important;
	padding-left:10px !important;
	padding-bottom:10px;
}

/*--footer--*/
footer{
	font-size:13px;
	width:100%;
	position:relative;
}

#pagetop{
	position:absolute;
	top:-60px;
	right:0;
}

#pagetop:hover{}

#footer_contents{
	color:#FFFFFF;
	background:url(../images/texture_black.gif) repeat left top;
	padding:20px 0;
}

footer .content{}

footer .info{
	margin-bottom:20px;
}

footer .info h3{
	margin-bottom:10px;
}

footer .info .postable{}

footer .info .address{}

footer .info .tel{}

footer .button{}

#copyright{
	color:#FFFFFF;
	font-size:12px;
	text-align:center;
	width:100%;
	padding:10px 0;
	background:#000000;
}

/*--index--*/
#index{}

#index img{
	width:100%;
	height:auto;
}

/*--About--*/

#about{}

#about #outline{
	background:url(../images/texture_black.gif) repeat left top;
}

#about #outline .content{
	padding:0;
}

main#about h1{	
font-size:18px;
top:auto;
bottom:-100px;
margin-top:0;
}

#about #outline .image{
	min-height:400px;
	background:url(../images/about_image.jpg) no-repeat center center;
	background-size:cover;
	position:relative;
}

#about #outline .inner{
	color:#FFFFFF;
	padding:120px 20px 120px 20px;
}

#about #outline h2{
	text-align:center;
	padding:0;
	margin-bottom:20px;
}

#unesco{
	position:relative;
	padding-top:140px;
}

#unesco .content{
	overflow:visible;
}

#image_chouchin{
	margin-left:-80px;
	position:absolute;
	top:-120px;
	left:50%;
}

#document .image_list{
	margin-right:-20px;
	margin-left:-20px;
}

#document .image_list li{
	margin-bottom:20px;
	text-align:center;
}

/*--class--*/
.vertical{
	-ms-writing-mode: tb-rl; /* for MS IE8+ */
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.italic{
	font-style:italic;
}

.bg_grey{
	background:url(../images/texture_grey.gif) repeat left top;
}

.bg_white{
	background:url(../images/texture_white.gif) repeat left top;
}

.text_m{
	font-size:14px;
}

.text_l{
	font-size:17px;
}

.text_lw{
	font-size:17px;
	color: #fff;
}

.text_xl{
	font-size:20px;
}

.asterisk_list li,
.link_list li,
.image_list li{
	list-style-type:none !important;
	margin-left:0 !important;
}

.link_list li{
	background:url(../images/icon_link.png) no-repeat left 8px;
	padding-left:1.5em;
}

 .link_button{
	 color:#FFFFFF;
	font-size:12px;
	line-height:16px;
	background:#000000;
	margin-left:10px;
	padding:4px 10px;
	display:inline-block;
	vertical-align:middle;
}

span.asterisk{
	color:#a54042;
}

.box{
	margin:50px 0;
}

.box_grey{
	font-size:14px;
	text-align:center;
	background:#E0E0E0;
	padding:20px;
}

#adobe.box_grey{
	line-height:20px;
	text-align:left;
	display:none;
}

#adobe.box_grey .adobe_banner{
	width:158px;
	float:left;
}

#adobe.box_grey .adobe_text{
	padding-left:178px;
}

#contents h3 span.button{
	font-size:12px;
	background:#000000;
	margin-left:10px;
	padding:5px 10px;
	display:inline-block;
	vertical-align:middle;
}

#contents h3 span.button a{
	color:#FFFFFF;
}

.column{}

.column img{
	width:100%;
	height:auto;
}

.column .small_1,
.column .small_2,
.column .small_3,
.column .small_4{
	box-sizing:border-box;
	padding-right:10px;
	padding-left:10px;
	float:left;
}

.column .small_1{
	width:25%;
}

.column .small_2{
	width:50%;
}

.column .small_3{
	width:75%;
}

.column .small_4{
	width:100%;
}

@media (min-width: 640px){
	
/*--fontSize--*/

body,html{
	font-size:16px;
}

main h1{
	font-size:32px;
	width:280px;
	height:280px;
	top:50%;
	left:50%;
	margin-top:-140px;
	margin-left:-140px;
}



main h2{
	font-size:32px;
	line-height:42px;
	letter-spacing:0.1em;
	text-align:center;
	padding:60px 0;
}

main h3{
	font-size:24px;
	margin-bottom:20px;
}
	
.text_m{
	font-size:16px;
}

.text_l{
	font-size:24px;
}

.text_xl{
	font-size:32px;
}

/*--fix--*/

#wrapper{
	min-width:1000px;
}

.content{
	width:960px;
	padding:0 20px;
	margin-right:auto;
	margin-left:auto;
}

header{
	position:fixed;
}

header #header_date{
	display:block;
}

main{}

main #news{
	padding:40px 0 30px 0;
}
/*20210518表示件数減らしたため
main #news h2{
	padding-top:80px;
}
*/
main #news dl dt{
	width:25%;
	float:left;
	white-space:nowrap;
}

main #news dl dd{
	width:75%;
	float:left;
}

main #event .summary{
	padding:30px 10px 50px 10px;
}

main #summary{
	padding:95px 0;
}

main #summary h2{
	text-align:center;
}

main #summary p{
	text-align:center;
}

main #summary br{
	display:block;
}


main #title #hero{
	min-height:540px;
}

main #contents #contents_image{
	min-height:540px;
}

footer{
	font-size:14px;
}

footer #footer_contents .content{
	width:940px;
}

footer .info{
	width:400px;
	float:left;
	margin-bottom:0;
}

footer .info h3{
	margin-bottom:0;
}

footer .info .postable{
	display:inline;
	margin-right:1em;
}

footer .info .address{
	display:inline;
}

footer .button{
	width:300px;
	float:right;
	padding:19px 0;
}

.event_content{
	min-height:270px;
	padding:40px 20px;
	position:relative;
	overflow:visible;
}

.event_content  .event_info{
	margin-bottom:20px;
}

.event_content  .event_info .place{
	display:inline;
}

.event_content  .event_info .time{
	display:inline;
	margin-left:1em;
}

.event_content .image{
	width:480px;
	height:350px;
	position:absolute;
	margin-top:-175px;
	margin-bottom:0;
	top:50%;
	bottom:0;
	box-sizing:border-box;
}

.event_content.left_image .image{
	left:0;
}

.event_content.left_image{
	padding-left:500px;
}

.event_content.right_image .image{
	right:0;
}

.event_content.right_image{
	padding-right:500px;
}

#bleachers{}

#bleachers dl{
	margin-top:40px;
}

#bleachers dl dt{
	color:#FFFFFF;
	font-size:24px;
	line-height:60px;
	text-align:center;
	white-space:nowrap;
	width:60px;
	height:60px;
	background:#000000;
	padding:20px;
	float:left;
	border-radius:50%;
}

#bleachers dl dt.tworaws{
	line-height:30px;
}

#bleachers dl dt br{
	display:block;
}

#bleachers dl dd{
	min-height:100px;
	padding:15px 0 20px 140px ;
}

.banner{
	padding:30px 0;
}

#adobe.box_grey{
	display:block;
}


/*--About FIx--*/

main#about h1{	
font-size:26px;
width:280px;
height:280px;
top:20px;;
right:-140px;
bottom:auto;
left:auto;
}

#about #outline .image{
	min-height:800px;
}

#about #outline .inner{
	font-size:14px;
	padding-bottom:20px;
	}

#about #outline h2{
	font-size:30px;
	line-height:42px;
	text-align:right;
	margin-bottom:50px;
	text-shadow:0 0 20px rgba(255,255,255,0.5);
}

#about #outline p{
	padding-left:60px;
}

#unesco{
	padding:50px 0 40px 0;
}

#unesco .content{
	position:relative;
	padding-right:200px;
	padding-bottom:0 !important;
	box-sizing:border-box;
}

#image_chouchin{
	margin-top:-120px;
	margin-left:0;
	position:absolute;
	top:50%;
	right:0;
	left:auto;
}

#document .image_list{
	margin-right:0;
	margin-left:0;
}

#document .image_list li{
	padding:0 10px 10px 10px;
}

/*--App fix--*/
#app_title{
	height:400px;
	background:url(../images/app_title_bg.jpg) repeat-x left top;
}

#app_title .content{
	width:960px;
}

#app_title h1{
	width:auto;
	top:80px;
	left:300px;
	margin:0;
}

#app_title #app_title_iphone{
	top:10px;
	left:50px;
	margin:0;
}

#app_title #app_title_banner_ios{
	width:auto;
	margin:0;
	top:200px;
	left:300px;
}

#app_title #app_title_banner_android{
	width:auto;
	margin:0;
	top:200px;
	left:520px;
}

#app_download #app_banner{
	width:444px;
}

#app_summary p{
	text-align:center;
}

#app_summary p br{
	display:block;
}

/*--chantGrid--*/

.column{}

.column .large_1,
.column .large_2,
.column .large_3,
.column .large_4,
.column .large_5,
.column .large_6,
.column .large_7,
.column .large_8,
.column .large_9,
.column .large_10,
.column .large_11,
.column .large_12{
	box-sizing:border-box;
	float:left;
	padding:0;
}

.column .large_3{
	width:25%;
}

.column .large_4{
	width:33.333%;
}

.column .large_6{
	width:50%;
}

.column .large_9{
	width:75%;
}

.column .large_12{
	width:100%;
}
}

@media (min-width: 1265px){
	
	body{
		left:0 !important;
	}
	
	#wrapper{
	}
	
	#menu_button{
		display:none;
	}
	
	header{
		display:none;
	}
	
	#side{
		display:block !important;
		left:0 !important;
	}
	
	#side #side_head{
		display:block;
	}
	
	main{
		padding:0 0 0 260px !important;
	}
}

.mrb10{
	margin-bottom: 10px;
}
.reiwa3{
	border: 2px solid #ab1826;
	padding: 20px;
	margin: 20px auto;
	max-width: 960px;
}
.time_table table{
	width:100%;
	margin-bottom:10px;
}

.time_table table th,
.time_table table td{
	padding:10px;
}

.time_table table th{
	color:#FFFFFF;
	background:#000000;
	text-align: center;
}

.time_table table td{
	border-bottom:1px solid #000000;
	background:#FFFFFF;
}

/*--clearfix--*/
.clearfix:after {
display : block;
clear : both;
height : 0;
content : "";
overflow : hidden;
}
.clearfix {
overflow : hidden;
}
/* for Mac IE \*/
* html .clearfix {
height : 1%;
overflow : visible;
}
.clearfix {
display : block;
}
/* end of for Mac IE */
@media (max-width: 640px){
.text_lw{
	font-size:10px;
	color: #fff;
	}}
