@charset "utf-8";
/* 880px 以下 ----------------------- */
@media screen and ( max-width:880px) {
	br.forpc{
		display: none;
	}
	br.forsp{
		display: inline;
	}
	.inner{
		width: 100%;
		padding: 0 20px;
	}
	header{
		height: auto;
		padding: 30px 0 20px 0;
		text-align: center;
	}
	h1{
		margin-bottom: 15px;
		line-height: 1.2;
		font-size: 1.5rem;/* 24px */
		text-align: center;
	}
	#siteid{
		position: relative;
		top: auto;
		right: auto;
	}
	#siteid img{
		width: 130px;
		height: auto;
	}
	.noticebox{
		flex-wrap: wrap;
	}
	.noticebox > div{
		width: 100%;
	}
	.noticebox > p{
		width: auto;
		margin: 30px 20px 0 20px;
	}
	.kakomi_bank{
		flex-direction: column;
	}
	.kakomi_bank h2{
		width: 100%;
		height: 2em;
		line-height: 1.5em;
		padding: 0;
		padding-bottom: 0.5em;
		border-bottom: 1px solid #dddddd;
		margin-bottom: 0.5em;
	}
	.noticebox h3{
		text-align: center;
	}
	.noticebox strong.bg,
	.noticebox_thanks  strong.bg{
		margin-right: 0;
		margin-bottom: 0.5em;
		width: 100%;
	}
	.list_bank li,
	.noticebox_thanks .list_bank li{
		text-align: center;
	}
	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;
	}
	input[type="text"],
	input[type="tel"],
	input[type="email"],
	select,
	textarea,
	input#post_zip{
		width: 100%;
	}
	#text_payment03,
	#text_questionnaire06,
	.questionnairebox input[type="text"]{
		width: calc(100% - 21px);
	}
	#birth_area select{
	margin-bottom: 1em;
	}
	#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;
	}
	.list_course label .title_course{
		flex-grow: 2;
		width: calc( 100% - 6em );
		padding-left: 0.9em;
		text-indent: -0.9em;
	}
	.list_course .title_price{
		width: 6em;
		text-align: right;
	}
	.noticebox_thanks .kakomi_bank h4{
		width: 100%;
		height: 2em;
		line-height: 2em;
		padding-top: 0;
		border-bottom: 1px solid #dddddd;
		margin-bottom: 0.5em;
	}
	.noticebox_thanks .kakomi_bank h5{
		text-align: center;
	}
}
/*---------IE HACK----------*/
@media all and (-ms-high-contrast:none){/* IE11 */
	form table tr{
		display: flex;
		flex-direction: column;
	}
	form table tr{
		display: table-row;
	}
	form table th{
		padding: 12px 20px;
		width: 12em;
	}
}