/*************************************************************
 width 767px以下
*************************************************************/
@media screen and (max-width:767px) {
	section{
		padding: 50px 0!important;
	}

	.section_title{
		font-size: 24px;
		margin-bottom: 30px;
	}

	.content-w,
	#time_table .flex_container,
	#overview .flex_container,
	.input_area,
	#consultation .text,
	#time_table .--lead .flex_item:nth-child(1),
	#time_table .--lead .flex_item:nth-child(2), 
	#time_table .--lead .flex_item:nth-child(3), 
	#time_table .--lead .flex_item:nth-child(4),
	.main_visual .text_img,
	#message p{
		width: 100%;
		padding:0 15px;
	}

	header{
		height: 50px;
		display: flex;
		align-items: center;
	}
	header .header_inner{
		justify-content: space-between;
		padding:0 15px;
	}
	header .header_logo{
		width: 120px;
	}
	header .header_inner h1{
		font-size: 14px;
		text-align: right;
	}
	header .header_inner span{
		display: block;
		font-size: 10px;
	}
	header .header_inner .anchor_btn{
		display: none;
	}
	.main_visual{
		padding-top:15px;
		height: auto;
	}
	.main_visual .text_img{
		margin:0 auto 75px;
	}
	.main_visual .logo{
		width: 145px;
		margin:0 auto 70px;
	}
	.main_visual .text_box{
		text-align: left;
		padding:0 15px;
	}
	.main_visual .text_box .text_01{
		font-size: 18px;
		padding:8px 10px;
		margin-bottom: 10px;
	}
	.main_visual .text_box .text_02{
		font-size: 22px;
		margin-bottom: 20px;
		line-height: 1.2;
	}
	.main_visual .text_box .text_02 span{
		font-size: 36px;
	}
	.main_visual .text_box .text_03{
		font-size: 16px;
		margin-bottom: 10px;
	}
	.main_visual .text_box .text_03 span{
		font-size: 12px;
	}
	#message:before{
		width: 100%;
	}
	#message p{
		font-size: 14px;
	}
	#overview .flex_row{
		padding: 20px 0;
	}
	#overview .flex_item:nth-child(1){
		font-size: 14px;
		width: 20%;
	}
	#overview .flex_item:nth-child(2){
		font-size: 14px;
		width: 80%;
	}
	#overview .flex_item a:after{
		position: initial;
		margin: 2px 0 0 3px;
		display: inline-block;
	}
	#overview .flex_item span{
		font-size: 14px;
	}
	#theme .flex_container{
		display: block;
	}
	#theme .flex_item{
		width: 100%;
		padding: 15px;
	}
	#theme .flex_item+.flex_item{
		margin-top: 25px;
	}
	#theme .text_01{
		font-size: 16px;
		padding: 10px 0;
		margin-bottom: 20px;
	}
	#theme .text_02{
		font-size: 22px;
		margin-bottom: 10px;
	}
	#theme .text_04{
		font-size: 14px;
	}
	#time_table .content-w{
		padding: 0;
	}
	.participation_check{
		padding: 0 15px;
	}
	.step_text {
		font-size: 18px;
	}
	.participation_check .flex{
		display: block;
	}
	.participation_check .flex .flex_item{
		width: 100%;
		margin:0 auto;
		font-size: 16px;
		padding: 15px 0;
	}
	.participation_check .flex .flex_item+.flex_item{
		margin-left: 0;
		margin:15px auto 0;
	}
	.participation_check .text{
		font-size: 14px;
	}
	.table_head{
		padding:20px 30px 20px 15px;
		font-size: 20px;
		text-align: left;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 20px;
	}
	.table_head span{
		font-size: 15px;
	}
	.table_head .anchor_link a{
		font-size: 14px;
		position: relative;
	}
	.table_head .anchor_link a:before{
		content:"";
		width: 10px;
		height: 10px;
		border:solid #fff;
		border-width: 0 2px 2px 0;
		position: absolute;
		bottom:0;
		right:-18px;
		margin: auto;
	}
	.table_head .anchor_link a.day1:before{
		transform: rotate(45deg);
		top:-4px;
	}
	.table_head .anchor_link a.day2:before{
		top:7px;
		transform: rotate(-135deg);
	}
	.js-fix_01,
	.js-fix_02,
	#time_table .--detail .flex_item:nth-child(1){
		display: none;
	}
	#time_table .--detail{
		flex-wrap: wrap;
		margin-bottom: 10px;
	}
	#time_table .--detail .flex_item:nth-child(2),
	#time_table .--detail .flex_item:nth-child(3),
	#time_table .--detail .flex_item:nth-child(4){
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 10px;
	}
	#time_table .--detail .flex_item .info{
		order:1;
	}
	#time_table .--detail .flex_item .check{
		order:2;
	}
	#time_table .sp_head{
		padding: 10px 15px;
		display: flex;
		text-align: left;
		align-items: center;
		width: 100%;
		color: #fff;
	}
	#time_table .--detail .flex_item.checked .check span.close, 
	#time_table .--detail .flex_item.full .check span.close{
		font-size: 16px;
		text-align: center;
		display: block;
		width: 100%;
	}
	#time_table .sp_head.roomA{
		background: #903D4B;
	}
	#time_table .sp_head.roomB{
		background: #3D9064;
	}
	#time_table .sp_head.roomC{
		background: #906F3D;
	}
	#time_table .sp_head .room{
		font-size: 12px;
	}
	#time_table .sp_head .time{
		font-size: 16px;
		margin-left: 10px;
	}
	#time_table .--detail .flex_item .info{
		height: auto;
		padding: 10px 15px;
	}
	#time_table .--detail .flex_item .info .session .session_no{
		padding: 4px 10px;
	}
	#time_table .--detail .flex_item .info .seminar_title{
		font-size: 16px;
	}
	#time_table .--detail .flex_item .info .profile_text .name{
		font-size: 14px;
	}
	#time_table .--detail .flex_item .info .profile_text .position{
		font-size: 10px;
	}
	#time_table .--detail .flex_item .check{
		height: 60px;
		padding: 0 15px;
		justify-content: flex-start;
	}
	#time_table .--detail .flex_item .check label{
		width: 20px;
		height: 20px;
	}
	#time_table .--detail .flex_item .check label:before{
		width: 9px;
		height: 15px;
		top:1px;
	}
	#time_table .--detail .flex_item.--full{
		height: 80px;
		font-size: 20px;
		margin-bottom: 20px;
	}
	#time_table .--detail .flex_item.--full span{
		display: inline-block;
		margin-left: 10px;
	}
	#consultation .text{
		font-size: 16px;
	}
	#pamphlet picture{
		width: 100%;
		padding:0 15px;
		margin:0 auto;
	}
	#pamphlet .pamphlet_text{
		font-size: 14px;
	}
	#pamphlet .entry_btn{
		margin: 40px auto 0;
		font-size: 18px;
		width: 80%;
	}
	#contact{
		padding:0 15px;
	}
	#contact .text_01{
		font-size: 16px;
	}
	#contact .text_02{
		font-size: 30px;
	}
	#contact .text_03{
		font-size: 16px;
	}
	footer{
		padding: 30px 0;
	}
	footer ul{
		display: block;
		text-align: center;
		margin-bottom: 30px;
	}
	footer ul li+li{
		margin-top: 10px;
	}
	footer ul li a{
		font-size: 16px;
	}
	#modal .modal_container{
		height: 100%;
		width: 100%;
	}
	#modal .modal_inner{
		height: calc(100% - 60px);
		overflow-y: scroll;
		padding: 0;
	}
	#modal .check{
		height: 60px;
	}
	#modal .flex_head{
		height: 50px;
		padding: 0 10px;
		background: #F8F8F8;
		flex-wrap: wrap;
	}
	#modal .flex_head .time{
		font-size: 12px;
	}
	#modal .flex_head .session_type{
		font-size: 12px;
		width: 100%;
		margin-top: -5px;
		margin-left: 5px;
	}
	#modal .close_btn{
		width: 50px;
		height: 50px;
	}
	#modal .close_btn:before, #modal .close_btn:after{
		width: 40px;
		height: 3px;
	}
	#modal #seminar_info{
		padding:0 15px;
		min-height: calc(100vh - 120px);
	}
	#modal .seminar_title{
		font-size: 16px;
		margin-bottom: 10px;
	}
	#modal .sub_title{
		font-size: 12px;
	}
	#modal .read {
		font-size: 14px;
		margin: 10px 0;
	}
	#modal .lecturer_row .profile{
		flex-wrap: wrap;
	}
	#modal .lecturer_row .profile .text{
		width: 100%;
		font-size: 12px;
		margin-top: 10px;
	}
}