@media all and (max-width: 1240px){
	.wrap {width:calc(100% - 40px); padding:0 20px;}
	
	
	header .wrap {display:block; position:relative;}
	header .menuopener { display:block; position:absolute; top:25px; right:20px;  }
	header .menuopener a {display:block; background:url('/images/icon_menuopen.png') left top no-repeat; width:33px; height:33px; text-indent:-9999px;}

	header .menu {display:none; position:absolute; top:45px; left:0; width:100%; z-index:10; background:#eee;}
	header .menu.active  {display:block;}
	header .menu li {display:block; width:100%; margin:0; border-top:1px solid #ccc;}
	header .menu li a {display:block; padding:15px 20px; width:calc(100% - 40px);}

	footer .block {width:30%}
	footer #block2 {margin:0 5%;}

	#visualMain {height:100%;}
	#visualMain .text .block {padding-right:0;}
	#visualMain .text {width:100%;}
	#visualMain .text .wrap {width:calc(100% - 40px); position:relative; top:50px; left:0; margin-left:0; padding:0 20px;}

	#mainSection1 .msection_programlist {width:calc(100% - 400px);}

	#container #content {width:calc(100% - 400px);}
}

@media all and (max-width: 1000px){
	#mainSection1 .wrap {flex-direction:column;}

	#mainSection1 .msection_programlist a {height:auto; padding-bottom:1rem;}
	#mainSection1 .msection_programlist {width:100%;}
	#mainSection1 .msection_programlist a dd span {display:inline;}

	.banner_contact {height:170px; background-position:left -100px; margin:80px auto 0 auto;}
	.banner_contact dd {margin-top:20px;}

	#mainSection1 .banner_contact {width:100%; height:170px;}
	#mainSection1 .banner_contact dd {margin-top:30px;}

	#mainSection3 .msection_rnd {padding-left:0; padding-top:220px; background-position:center top; height:auto;}
	#mainSection3 .msection_rnd .title {text-align:center;}
	#mainSection3 .msection_rnd .info{text-align:center;}
	#mainSection3 dd.email {text-align:center;}

	#container .wrap {flex-direction:column;}

	.banner_account {margin-top:80px; margin-bottom:-70px;}

	#container #content {width:auto;}
	#container aside {width:auto;}
}

@media all and (max-width: 768px){
	footer #footerGroup1 .wrap {flex-direction:column;}
	footer #footerGroup1 .block {width:100%; margin-top:30px;}
	footer #footerGroup1 .block#block1 {margin-top:0;}

	footer #block2 {margin-left:0; margin-right:0;}
}


@media all and (max-width: 640px){
	html, body {font-size:14px;}

	#visualMain {background-position:center -200px;}
	#visualMain .text {height:350px;}
	#visualMain .text .wrap {top:40px;}
	#visualMain .text .title1 span {font-size:2.25rem;}
	#visualMain .text .title2 {font-size:1.125rem; line-height:130%; margin-top:1rem;}
	#visualMain .text .info {margin-top:1rem;}
	#visualMain .text .info span {font-size:1rem;}
	#visualMain .text .more {margin-top:1rem;}
	#visualMain .text .more a {font-size:1rem;}

	#mainSection1,
	#mainSection2,
	#mainSection3,
	footer #footerGroup1 {padding:30px 0;}

	.banner_contact {width:100%;}
	

	#mainSection1 .msection_programlist a dd {padding-top:0.875rem;}

	.banner_contact {height:150px; margin-top:30px; background-size:cover;}
	.banner_contact dt {bottom:20px;}
	.banner_contact dd {width:80%; margin-top:20px;}

	#mainSection2 dl dt.title {font-size:1.875rem;}
	#mainSection2 dl dd span {display:inline;}

	#mainSection2 dl dd.btn_go a {padding:5px 20px;}

	#mainSection3 .msection_rnd {}
	#mainSection3 .msection_rnd::before {}
	#mainSection3 dd.info {margin-top:1rem;}
	#mainSection3 dd.email {margin-top:1rem;}

	footer #footerGroup1 .block .title {font-size:1.25rem;}

	footer #footerGroup2 {height:auto;}
	footer #footerGroup2 .wrap {flex-direction:column;}
	footer #footerGroup2 .logo {margin:0 auto; width:100%; background-position:center center;}
	footer #footerGroup2 .copyright {width:auto; text-align:center; padding-bottom:20px; padding-top:5px;}


	#visual {height:150px;}
	#visual .title {padding-top:70px; font-size:1.5rem;}
	#container {padding:30px 0;}

	.banner_account {margin-top:30px; margin-bottom:-20px;}
	

	.formboard_01 {border-left:1px solid #ccc; border-right:1px solid #ccc;}
	.formboard_01 th {display:block; padding-left:10px;}
	.formboard_01 td {display:block;}


	.board_01 th:nth-child(1) {display:none;}
	.board_01 td:nth-child(1) {display:none;}

	
	.plan_block {margin-top:30px;}

	
	.members_president {flex-direction:column; padding-top:0;}
	.members_president .img {width:100%; height:300px; background-position:0 -150px;}
	.members_president .list {margin-left:0; margin-top:1.5rem;}

}

@media all and (max-width: 460px){
	.members_president .img {height:200px; background-position:0 -100px;}
}