@charset "utf-8";
/* 1000px 以下 ----------------------- */
@media screen and ( max-width:1000px) {
	input[type="text"],
	input[type="tel"],
	input[type="email"],
	select,
	option,
	textarea,
	select,
	optgroup,
	optio,
	input#post_zip{
		width: 100%;
	}
	#date_area{
		width: 100%;
		overflow:hidden;
	}
}
/* 940px 以下 ----------------------- */
@media screen and ( max-width:940px) {
	header{
		margin-bottom: 20px;
	}
	.flex{
		flex-direction: column;
	}
	.flex.btn_mini{
		display: flex;
		flex-direction: row;
		margin-bottom: 20px;
	}
	.btnbox .membersection{
		width: 100%;
		margin-left: 0;
		margin-bottom: 10px;
		padding: 16px 20px 20px 20px;
	}
	.btnbox .btn{
		width: 100%;
		min-width: auto;
		height: auto;
		padding: 14px 10px;
		line-height: 1.3;
	}
	.type_member .btnbox .btn+.btn,
	.type_member_sp .btnbox .btn+.btn,
	.type_general .btnbox .btn+.btn{
		margin-left: 0;
		margin-top: 20px;
	}
	.noticebox_top.flyer_s > p{
		width: calc( 50% - 10px );
		margin-left: 20px;
	}
	.ticketguide div{
		width: 100%;
		margin-left: 0;
	}
	/* 日程表 */
	.ticketguide table{
		width: 80%;
		min-width:auto;
	}
	.ticketguide div .btn{
		min-width: auto;
	}
}
/* 880px 以下 ----------------------- */
@media screen and ( max-width:880px) {
	br.forpc{
		display: none;
	}
	br.forsp{
		display: inline;
	}
	.inner{
		width: 100%;
		padding: 0 10px;
	}
	header{
		height: auto;
		text-align: center;
	}
	header .inner {
		padding: 54px 10px 15px 10px;
		position: relative;
	}
	#to_detail{
		top: 0;
		right: 10px;
		border-radius: 0 0 6px 6px;
	}
	#siteid{
		top: 10px;
		right: auto;
		left: 10px;
	}
	#siteid img{
		width: 140px;
		height: auto;
		margin-bottom: 0;
	}
	h1{
		line-height: 1;
		font-size: 1.5rem;/* 24px */
		text-align: center;
		margin-top:10px;
	}
	.noticebox_top.flyer_s > p{
		width: calc( 50% - 10px );
		margin-left: auto;
	}

	.noticebox{
		flex-wrap: wrap;
	}
	.noticebox > div{
		width: 100%;
	}
	.noticebox > p{
		width: 50%;
		margin: 30px auto 0 auto;
	}
	form table{
		margin-left: -20px;
		margin-right: -20px;
		width: calc( 100% + 40px );
	}
	form table tr{
		display: flex;
		flex-direction: column;
	}
	form table th{
		width: 100%;
		padding-right: 20px;
		padding-left: 20px;
	}
	form table td{
		padding-right: 20px;
		padding-left: 20px;
	}
	#text_payment03,
	#text_questionnaire06,
	.questionnairebox input[type="text"]{
		width: calc(100% - 21px);
	}
	#num_member_area input{
		width: 30%
	}
	form table tr:last-of-type td{
		border-bottom: none;
	}
	.msg_thanks{
		text-align: left;
	}
	#btnbox .btn{
		width: 100%;
	}
	#btnbox .btn+.btn{
		margin-top: 20px;
		margin-left: 0;
	}
	#btnbox.btnbox_top{
		flex-wrap: wrap;
	}
	#btnbox .membersection{
		width: 100%;
		padding: 16px 26px 26px 26px;
	}
	#btnbox .membersection+.membersection{
		margin-top: 20px;
	}
	#btnbox .membersection.sec_general .btn{
		margin-top: 0;
	}
}
/*---------IE HACK----------*/
@media all and (-ms-high-contrast:none){/* IE11 */
	.noticebox > div{
		width: calc(100% - 150px);
	}
	.noticebox > p{
		width: 130px;
		margin: 0;
	}
	form table tr{
		display: flex;
		flex-direction: column;
	}
	form table tr{
		display: table-row;
	}
	form table th{
		padding: 12px 20px;
		width: 12em;
	}
}