@charset "utf-8";


/* ----------------------------------------------
 main
---------------------------------------------- */

/* text
------------------------------- */
#main p{
	padding: 0 0 1em;
}
@media screen and (max-width: 768px){
	#main p{
		padding: 0 15px 1em;
		font-weight: 400;
	}
	#main p + p{
		padding-top: 0 !important;
	}
	#main dl p{
		padding: 0 0 1em;
	}
}
#main h2{
	margin: 40px auto 20px;
	padding: 13px 10px 13px 20px;
	background: #000;
	border-bottom: 4px solid #d8e522;
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}
#main h2:first-child{
	margin: 0 auto 20px;
}
#main h2 span{
	font-size: 80%;
}
@media screen and (max-width: 768px){
	#main h2{
		margin: 20px 0;
		padding: 10px;
		border-bottom-width: 3px;
		font-size: 16px;
	}
	#main h2:first-child{
		margin-top: 0;
	}
}
#main h3{
	position: relative;
	margin-bottom: 20px;
	padding: 12px 15px;
	/* background: rgba(215,230,23,1); */
	/* border-bottom: 1px solid #ddd; */
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
}
#main h3:after{
	position: absolute;
	content: "";
	bottom: 10px;
	left: 0;
	width: 3px;
	height: calc(100% - 20px);
	background: rgba(0,0,0,.8);
}
.student_production #main h3{
	padding: 7px 10px 9px 25px;
	background: url(img/bg_main_h3_student.gif) no-repeat 0 bottom;
}
#exhibit #main h3 span,
#ticket #main h3 span{
	padding-left: 20px;
	font-size: 13px;
}
@media screen and (max-width: 768px){
	#main h3{
		margin: 0 0 10px;
		padding: 8px 15px;
		font-size: 15px;
	}
	#main h3:after{
		bottom: 8px;
		width: 2px;
		height: calc(100% - 16px);
	}
	.student_production #main h3{
		padding: 0 10px 5px 25px;
		background: url(img/bg_main_h2_student_sp.png) no-repeat 10px 6px;
	}
}
#main h4{
	margin-bottom: 20px;
	padding: 10px 12px;
	background: #f5f5f5;
	border-top: 2px solid #d8e522;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.3;
}
@media screen and (max-width: 768px){
	#main h4{
		margin-bottom: 10px;
		border-top-width: 2px;
		font-size: 14px;
	}
	#main .box h3{
		padding: 0 10px 0 20px;
		background: url(img/bg_main_h3.png) no-repeat 0 4px;
		background-size: 13px;
	}
}
#main p + h4{
	margin-top: 20px;
}
.box_info{
	padding: 10px 10px 1px;
	background: #F3F3F3;
	font-size: 17px;
	text-align: center;
}
#campaign .box_info{
	padding-bottom: 15px;
	text-align: left;
}
#campaign .box_info h2{
	margin-bottom: 8px;
	padding-bottom: 0;
	background: none;
	text-align: center;
}
#campaign .box_info p{
	margin-bottom: 5px;
	color: #333 !important;
	font-size: 15px;
	font-weight: normal !important;
	line-height: 1.5 !important;
}
.box_info h4{
}
#main .box_info p{
	color: #006CD8;
	font-weight: bold;
	line-height: 1;
}
#main .box_info p.p_normal{
	color: #333;
	font-weight: normal;
	font-size: 15px;
}
@media screen and (min-width: 769px){
	.pc_r20{
		margin-right: 20px;
	}
}
@media screen and (max-width: 768px){
	.box{
		margin: 0 10px 10px;
		padding: 5px 10px;
		background-color: #FFF;
		border: 3px solid #CCE2F5;
	}
		.box p,
		.box dl,
		.box ul{
			margin-bottom: 0 !important;
			padding: 0 !important;
		}
		.box h4{
			margin: 5px 0 !important;
		}
		.box h5{
			padding: 5px 0 !important;
		}
}
.fs_s{
	font-size: 85%;
	font-weight: normal;
}


/* list
------------------------------- */
/* dl */
.dl_list,
.dl_list2 {
	margin: 0 10px 10px;
	border-top:0;
	line-height:1.4;
}
	.dl_list dt,
	.dl_list2 dt {
		position: relative;
		float:left;
		width: 11em;
		padding:0.2em 0 0.2em 20px;
	}
	.dl_list dt:before,
	.dl_list2 dt:before{
		position: absolute;
		top: 0.65em;
		left: 5px;
		width: 1em;
		content: "";
		width: 6px;
		height: 6px;
		background: #d8e522;
		border-radius: 50%;
	}
	.dl_list2 dt{
		width:6em;
	}
	.dl_list dd,
	.dl_list2 dd {
		margin-left: 11em;
		padding:0.2em 0 0.2em 20px;
	}
	.dl_list2 dd{
		margin-left:6em;
	}
@media screen and (max-width: 768px){
	.dl_list,
	.dl_list2 {
		margin: 10px 15px;
	}
		.dl_list dt,
		.dl_list2 dt {
			float: none;
			width: 100%;
		}
		.dl_list dt:before,
		.dl_list2 dt:before{
			top: 0.6em;
		}
		.dl_list dd,
		.dl_list2 dd {
			margin-left:0;
		}
}
.dl_list3{
	margin: 0 10px 10px;
}
.dl_list3 dt{
	position: relative;
	padding:0.2em 0 0.2em 1.5em;
	line-height: 1.4;
}
.dl_list3 dt:before{
	position: absolute;
	top: 0.65em;
	left: 5px;
	width: 1em;
	content: "";
	width: 6px;
	height: 6px;
	background: #d8e522;
	border-radius: 50%;
}
.dl_list3 dd{
	margin-bottom: 1em;
	padding-left: 1.5em;
	margin-top: 3px;
	font-size: 14px;
	line-height: 1.6;
}
@media screen and (max-width: 768px){
	.dl_list3 dt{
		margin-bottom: 0;
	}
	.dl_list3 dt:before{
		top: 0.6em;
	}
}

/* ol */
ol.ol_number{
	overflow:hidden;
	position:relative;
	left:-3em;
	margin:0 -3em 10px 0;
	padding:0 10px;
}
ol.ol_number li{ margin-left: 5.3em;}
dl dd ol.ol_number li{ margin-left: 4.3em;}

@media screen and (max-width: 768px){
	ol.ol_number{
		padding: 10px 15px;
	}
	ol.ol_number li{ margin-left: 4.8em;}
	dl dd ol.ol_number li{ margin-left: 4.8em;}
}

/* ul */
.ul_attention{
	list-style: none;
}
.ul_attention li{
	padding-left: 1em;
	text-indent: -1em;
}
@media screen and (max-width: 768px){
	.ul_attention{
		margin: 0 15px;
	}
}

.ul_list{
	margin: 0 10px 1em;
	list-style: none;
}
.ul_list li{
	position: relative;
	padding:0.2em 0 0.2em 1.5em;
	line-height: 1.4;
}
.ul_list li:before{
	position: absolute;
	top: 0.65em;
	left: 5px;
	width: 1em;
	content: "";
	width: 6px;
	height: 6px;
	background: #d8e522;
	border-radius: 50%;
}

@media screen and (max-width: 768px){
	.ul_list{
		overflow: hidden;
		margin: 10px 15px;
		padding-bottom: 0;
	}
	.ul_list li:before{
		top: 0.6em;
	}
}

.ul_list3w,
.ul_list4w{
	margin-right: -20px;
}
.ul_list3w li,
.ul_list4w li{
	float: left;
	margin: 0 20px 10px 0;
}
.ul_list3w li{
	width: 320px;
}
.ul_list4w li{
	width: 235px;
}
.ul_list5w li{
	width: 184px;
}
.ul_list3w li img,
.ul_list4w li img{
	width: 100%;
}
@media screen and (max-width: 768px){
	ul.ul_list3w,
	ul.ul_list4w{
		margin: 0 15px;
	}
	ul.ul_list3w li,
	ul.ul_list4w li{
		width: 49%;
		margin: 0 0 2%;
	}
	ul.ul_list3w li:nth-child(2n+1),
	ul.ul_list4w li:nth-child(2n+1) {
		margin-right: 2%;
	}
	.ul_list3w figure{ margin: 0;}
	.ul_list3w img,
	.ul_list4w img{ width: 100%;}
}

/* dl */
dl.dl_table,
dl.dl_table2 {
	margin: 0 0 10px;
	border-bottom: 1px solid #DDD;
	background: #f5f5f5;
}
dl.dl_table > dt,
dl.dl_table2 > dt {
	float: left;
	padding: 1em 0 0 1em;
	border-top: 1px solid #DDD;
	font-weight: bold;
}
dl.dl_table > dt{
	width: 10em;
}
dl.dl_table.is-small >  dt{
	width: 7em;
}
dl.dl_table.is-middle >  dt{
	width: 12em;
}
dl.dl_table2 >  dt{
	width: 17em;
}
dl.dl_table >  dd,
dl.dl_table2 >  dd {
	padding: 1em;
	background: #FFF;
	border-top: 1px solid #DDD;
}
dl.dl_table >  dd {
	margin-left: 10em;
}
dl.dl_table.is-small >  dd{
	margin-left: 7em;
}
dl.dl_table.is-middle >  dd{
	margin-left: 12em;
}
dl.dl_table2 >  dd{
	margin-left: 18em;
}
dl.dl_table >  dd span.block{
	display: block;
	margin-left: 5px;
}
@media screen and (max-width: 768px){
	dl.dl_table,
	dl.dl_table2 {
		margin: 0 15px 10px;
		background: transparent;
		border-left: 1px solid #DDD;
		border-right: 1px solid #DDD;
	}
	dl.dl_table >  dt,
	dl.dl_table2 >  dt,
	dl.dl_table.is-small >  dt,
	dl.dl_table.is-middle >  dt{
		float: none;
		width: 100%;
		padding: 5px 15px;
		border-bottom: 1px dotted #DDD;
		background: #f5f5f5;
		font-weight: bold;
	}
	dl.dl_table.is-shop >  dt{
		font-size: 15px;
	}
	dl.dl_table >  dd,
	dl.dl_table2 >  dd,
	dl.dl_table.is-small >  dd,
	dl.dl_table.is-middle >  dd {
		margin-left: 0;
		padding: 10px 15px;
		border-top: 0;
	}
}

@media screen and (min-width: 769px){
	dl.dl_qanda{}
	dl.dl_qanda >  dt,
	dl.dl_qanda >  dd{
		position: relative;
		margin-bottom: 10px;
		padding-left: 30px;
	}
	dl.dl_qanda >  span{
		position: absolute;
		top: 0;
		left: 0;
		font-size: 18px;
		font-weight: bold;
		font-family: Arial, Helvetica, sans-serif;
		line-height: 1.4;
	}
	dl.dl_qanda >  dt{
		font-weight: bold;
	}
	dl.dl_qanda >  dt span{
		color: #06C;
	}
	dl.dl_qanda >  dd{
	}
	dl.dl_qanda >  dd span{
		color: #C00;
	}
	dl.dl_qanda >  dd ol.ol_number{
		padding: 0;
	}
}
@media screen and (max-width: 768px){
	dl.dl_qanda{
		padding: 10px 10px 0;
	}
	dl.dl_qanda > dt,
	dl.dl_qanda > dd{
		position: relative;
		margin-bottom: 10px;
		padding-left: 1.5em;
	}
	dl.dl_qanda .mark{
		position: absolute;
		top: 0;
		left: 0;
		font-weight: bold;
	}
	dl.dl_qanda >  dt{
		color: #E95F00;
		font-weight: bold;
	}
	dl.dl_qanda >  dd{
	}
	dl.dl_qanda >  dd ol.ol_number{
		padding: 0;
	}
}
@media screen and (min-width: 769px){
	dl.accordion{
		margin-bottom: 10px;
		border-bottom: 1px dotted #ddd;
	}
	.accordion >  dt {
		padding:0.6em 20px 0.6em 40px;
		color: #444;
		line-height:1.4;
		background:url(img/ico_plus.png) no-repeat 10px 0.7em;
		border-top: 1px dotted #ddd;
	}
	.accordion >  dt em{
		font-weight:bold;
		font-style:normal;
	}
	.accordion >  dt a {
		text-decoration: none;
		display: block;
	}
	.accordion >  dt:hover {
		text-decoration:underline;
	}
	.accordion >  dt.active {
		background: #F5F5F5 url(img/ico_plus_on.png) no-repeat 10px 0.7em;
	}
	.accordion > dd {
		clear: both;
		overflow: hidden;
		padding:10px 0 10px 40px;
	}
	.accordion >  dd div{
		padding:10px 10px 10px 40px;
		background:#FFFAEA url(img/dd_a.png) no-repeat 10px 0.9em;
	}
	.accordion >  dd .block {
		padding: 20px;
	}
	.accordion >  dt img{
		vertical-align:bottom;
	}
}
@media screen and (max-width: 768px){
	dl.accordion{
	}
	.accordion dt {
		padding:0.5em 20px 0.5em 30px;
		color: #444;
		line-height:1.4;
		background: url(img/ico_plus.png) no-repeat 10px 0.9em;
		background-size: 12px;
		border-top: 1px solid #DDD;
	}
	.accordion dt em{
		font-weight:bold;
		font-style:normal;
	}
	.accordion dt a {
		text-decoration: none;
		display: block;
	}
	.accordion dt:hover {
		text-decoration:underline;
	}
	.accordion dt.active {
		background: #F5F5F5 url(img/ico_plus_on.png) no-repeat 10px 0.9em;
		background-size: 12px;
	}
	.accordion dd {
		clear: both;
		overflow: hidden;
		padding: 5px 10px;
	}
	.accordion dd div{
		padding:10px 10px 10px 40px;
		background:#FFFAEA url(img/dd_a.png) no-repeat 10px 10px;
	}
	.accordion dd .block {
		padding: 20px;
	}
	.accordion dt img{
		vertical-align:bottom;
	}
}
.dl_yoko{
	margin-bottom: 10px;
	padding: 3px 13px 3px;
	background-color: #FFF;
	border: 5px solid #CCE2F5;
}
	.dl_yoko dt{
		float: left;
		width: 6em;
		padding: 0 0 0 10px;
		color: #0C78D1;
		font-weight: bold;
	}
	.dl_yoko dd{
		margin-left: 6em;
		padding: 0 10px;
		background: #FFF;
	}

@media screen and (max-width: 768px){
	.dl_yoko{
		margin: 0 10px 10px;
		border: 3px solid #CCE2F5;
	}
	.dl_yoko dt{
		float: none;
		width: 8em;
		padding: 0 ;
	}
	.dl_yoko dd{
		margin-left: 0;
		padding: 0;
		background: #FFF;
	}
}
#main table{
	width: 100%;
	margin-bottom: 0;
	border-collapse: collapse;
	border-spacing:0;
	border-bottom: 1px solid #CCC;
	border-left: 1px solid #CCC;
}
#main table th,
#main table td{
	padding: 7px 5px;
	border-top: 1px solid #CCC;
	border-right: 1px solid #CCC;
	line-height:1.4;
	vertical-align: middle;
}
#main table thead th{
	background: #CCE2F5;
	font-weight:bold;
}
#main table thead td{
	background: #0065CA;
	color: #FFF;
}
#main table tbody th{
	background: #E1ECF4;
	font-weight: bold;
	text-align: center;
}
#main table tbody td{
	font-weight: normal;
}
#main table.table_border th,
#main table.table_border td{
	border-right: 1px solid #CCC !important;
}
#main table.table_odd tr:nth-child(odd){
	background: #F3F3F3;
}
.last_td{
	border-bottom: 1px solid #CCC;
}
td.bg_gray{
	background: #E4E4E4;
}
td.td_center{
	text-align: center;
}
@media screen and (min-width: 769px){
	#main table.table_border{
		border-left: 1px solid #CCC !important;
	}
}
@media screen and (max-width: 768px){
	#main table{
		width: 97%;
		margin: 0 1.5% 0;
	}
		#main table th,
		#main table td{
			padding: 7px 2px;
			font-size: 10px;
			line-height: 1.2;
		}
		#main table span{
			display: block;
		}
}
dl.dl_event_list {
	margin-bottom: 20px;
	border-bottom: 1px solid #CCC;
}
	dl.dl_event_list dt {
		float: left;
		width: 3em;
		padding: 5px;
		border-top: 1px solid #CCC;
		font-weight:bold;
	}
	dl.dl_event_list dd {
		margin-left: 3em;
		padding: 5px;
		border-top: 1px solid #CCC;
	}
@media screen and (max-width: 768px){
}

.check_btn a{
	display: inline-block;
	padding: 3px 30px 3px 10px;
	color: #222;
	border: 2px solid #F9EB33;
	text-decoration: none;
	background: url(/common/css/img/ico_ishi_btn.png) no-repeat right center;
	background-size: 20px;
}
.check_btn a:hover{
	color: #FFF;
	background: #F9EB33 url(/common/css/img/ico_ishi_btn_on.png) no-repeat right center;
	background-size: 20px;
}
@media screen and (max-width: 768px){
	.check_btn a{
		margin: 0 10px;
	}
}


.ticket_btn{
	display: inline-block;
	/* max-width: 240px; */
	padding: 3px 50px 3px 10px;
	color: #222;
	border: 2px solid #D7E522;
	text-decoration: none;
	background: url(/common/css/img/ico_ishi_btn.png) no-repeat right center;
	background-size: 20px;
}
.ticket_btn:hover{
	color: #222;
	background: #D7E522 url(/common/css/img/ico_ishi_btn_on.png) no-repeat right center;
	background-size: 20px;
}
@media screen and (max-width: 768px){
	.ticket_btn{
		padding: 3px 30px 3px 10px;
	}
}


/* famima(19.09.24)
-----------------*/
.famima{
	clear: both;
	/* padding-top: 30px; */
}
.famima h4{
	padding-bottom: 5px;
	border-bottom: 2px solid #d8e522;
}
.famima dl{
	counter-reset: number;
}
.famima dt{
	position: relative;
	margin-top: 15px;
	padding-left: 25px;
	line-height: 1.5;
}
.famima dt:before{
	position: absolute;
	counter-increment: number;
	content: counter(number);
	top: 50%;
	left: 0;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	text-align: center;
	background: #d8e522;
	border-radius: 50%;
	font-size: 13px;
	line-height: 19px;
}
.famima dd{
	padding-top: 0.5em;
	padding-left: 25px;
}
.famima ul{
	overflow: hidden;
	list-style: none;
}
.famima li{
	position: relative;
	margin-bottom: 0.5em;
	padding-left: 1em;
	line-height: 1.4;
}
.famima li:before{
	position: absolute;
	top: 7px;
	left: 0;
	width: 1em;
	content: "";
	width: 6px;
	height: 6px;
	background: #d8e522;
	border-radius: 50%;
}
@media screen and (max-width: 768px){
	.famima{
		margin: 0 15px;
	}
	.famima li:before{
		top: 5px;
	}
}
