@charset "UTF-8";
/* for smartPhone ------------------- */
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
body {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.forSp {
	display:block;
}
.forPc {
	display:none;
}
body {
	width:100%;
	background:#fff;
	font-size:12px;
}
img {
	max-width:100%;
	height:auto;
}
.spFoot {
	display:block;
	text-align:center;
	padding-top:10px;
}
#all {
	width:100%;
	border-right:0;
	border-left:0;
}
#header {
	width:100%;
	background:none;
	height:auto;
}
#header_left,
#header_right {
	width:100%;
}
#header_left img {
	width:84%;
	height:auto;
}
/*@media screen and (max-width:380px) {
	#header_left img {
	width:260px;
	height:auto;
	}
}
@media screen and (max-width:320px) {
#header_left img {
	width:240px;
	height:auto;
	}
}*/
#header #header_left {
	margin-bottom:10px;
	padding:10px 10px 0;
}
#header #header_right {
	display:none;
}
#menu, #menu_contents {
	width:100%;
	background:none;
}
#menu {
	border-top:3px solid #426FA0;
}
.header_nav_btnToggle {
		position: absolute;
		top: 5px;
		right: 10px;
		display: block;
		width: 44px;
		height: 44px;
		cursor: pointer;
	}
	
	.header_nav_btnToggle .line {
		position: absolute;
		display: block;
		width: 34px;
		height: 3px;
		background: #0A50A0;
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}
	.header_nav_btnToggle .line_01 { top: 10px; left: 5px;}
	.header_nav_btnToggle .line_02 { top: 20px; left: 5px;}
	.header_nav_btnToggle .line_03 { top: 30px; left: 5px;}
	
	.header_nav_btnToggle.is-opened .line_01 {
		top: 20px;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: 50% 50%;
		-ms-transform-origin: 50% 50%;
		transform-origin: 50% 50%;
	}
	.header_nav_btnToggle.is-opened .line_02 {
		opacity: 0;
	}
	.header_nav_btnToggle.is-opened .line_03 {
		top: 20px;
		-webkit-transform: rotate(135deg);
		-ms-transform: rotate(135deg);
		transform: rotate(135deg);
		-webkit-transform-origin: 50% 50%;
		-ms-transform-origin: 50% 50%;
		transform-origin: 50% 50%;
	}
#menu_contents {
	display:none;
	margin-bottom:20px;
	border-bottom: 3px solid #eee;
}
#menu_contents li {
	height:auto;
}
#menu_contents a {
	padding:15px 20px;
	line-height:100%;
	background: -webkit-gradient(linear, 0 0%, 0 100%, from(#F4F4F4), to(#FFFFFF));
	border-bottom:1px solid #ddd;
	border-top:1px solid #fff;
	text-align:left;
	position:relative;
}
#menu_contents a::after {
	position: absolute;
  	top: 50%;
  	right: 24px;
  	display: block;
  	content: '';
  	width: 8px;
  	height: 8px;
  	margin-top: -4px;
  	border-top: 3px solid #0A50A0;
  	border-right: 3px solid #0A50A0;
  	-webkit-transform: rotate(45deg);
  	transform: rotate(45deg);
}
#spAddress {
	display:block;
}
#spAddress {
	clear:both;
	padding:10px 10px 5px;
	text-align:left;
	color:#094fa0;
	line-height:1;
	background:#f5f5f5;
}
.spTel {
	font-size:21px;
	font-weight:bold;
	font-family:Arial, Helvetica, sans-serif;
}
.spTel span {
	font-size:12px;
}
.spAdd {
	padding-top:5px;
	font-size:10px;
}
#mainbox {
	width:100%;
}
#footer {
	width:100%;
	margin-top:20px;
}
#footer address {
	font-size:10px;
}
#mainbox_left {
	width:100%;
	float:none;
}
#mainbox_right {
	width:100%;
	float:none;
}
#mainbox #mainbox_right {
	padding:20px 0 0;
	border-top:3px solid #ddd;
}
#contents {
	width:100%;
}
#menu #menu_contents li {
	width:100%;
	float:none;
}
#sidemenu, #sidemenu_banner, #sidemenu_text {
	width:100%;
	border:0;
}
#sidemenu_banner {
	margin-bottom:30px;
}
#sidemenu_banner li img {
	width:100%;
}
#sidemenu_text {
	border-radius:0;
	border-top:3px solid #426FA0;
	border-bottom:3px solid #426FA0;
	background:#fff;
}

.contentBody {
	padding:0;
}
.contents_midashi {
	padding: 4px 10px 2px;
	border-left: 5px solid #859CCC;
}
#mainContents .contentBody .indent2 {
	padding-left:1em;
}
#mainContents .contentBody .indent4 {
	padding-left:2em;
}

#head_links{
    float: none;
    display: flex;
    justify-content: space-around;
    margin-top: 0;
    margin-right: 0;
    padding-top: 10px;
}

#head_links a {
    padding: 5px 30px;
}

body{
    padding-top: 140px;
}

#header_nav_btnToggle{
    position: fixed;
}

.topMidBnr.l01 ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.topMidBnr.l01 ul li{
    width: 46%;
    margin:1% 2%;
}

.topMidBnr.l01 ul li:last-child{
    margin:1% 1%;
}




@media screen and (max-width:380px) {
	.floatRight {
		max-width:180px;
		height:auto;
	}
}
@media screen and (max-width:320px) {
	.floatRight {
		max-width:150px;
		height:auto;
	}
}

#mainContents .contents_head {
	height:auto;
	margin-bottom:10px;
	padding:10px 10px 8px;
	font-size:15px;
	color:#fff;
	background: #0a50a0; /* Old browsers */
	border:3px solid #528cce;
	vertical-align: top;
	line-height:1.4;
}
.contHead {
	background:none;
	padding:0;
}
#mainContents h3 {
	margin-left:0;
}
.respWrap {
	width:100%;
	margin-bottom:10px;
	overflow-x:scroll;
}
.respBlock th,
.respBlock td {
	display:block;
}
table#table-01,
table#table-02,
table#table-03 {
	width:100%;
}
table#table-03 th {
	white-space:normal;
}
.kokugosan_merit {
	width:100%;
	margin-right:0;
}
.kokugosan_flow .photo img {
	width:50%;
	float:left;
	margin:0;
	padding:5px;
}
#mainimage {
	width:100%;
}
#index_course {
	width:100%;
}
.indexCourseList li {
	width:50%;
	margin:0 0 10px;
	padding-right:5px;
}
.indexCourseList li.mr0 {
	padding-left:5px;
	padding-right:0;
}
.indexCourseList li.col2 {
	padding-right:0;
}
.indexPickup .indexScene {
	width:100%;
	float:none;
	margin:0 0 20px;
	text-align:center;
}
.indexPickup .indexReason {
	width:100%;
	margin:0;
	float:none;
	text-align:center;
}

#reason {
	width:100%;
	margin:0;
}
.reason_body table {
	width:100%;
}
.reason_body table td {
	display:block;
}
.reason_body_left {
	margin-bottom:10px;
}
.faq_frame {
  width: 100%;
  margin:0;
}
.faq_frame_top {
	background:none;
}
.faq_frame_question, .faq_frame_separate, .faq_frame_answer,.faq_frame_btm {
	background:none;
}
.faq_frame_separate img {
	display:none;
}
.faq_frame_separate {
	height:1px;
	background:url(../faq/img/faq_frame_separate.gif) repeat-x left center;
}
.greeting_body_left {
	width:100%;
	margin-bottom:20px;
	float:none;
}
.greeting_body_left:after {
	content:'';
	display:block;
	clear:both;
}
.greeting_body_right {
	width:100%;
	float:none;
	clear:both;
}
.greeting_body_left img {
	float:left;
	width:30%;
}
.greeting_body_left .profileTxt {
	float:right;
	width:70%;
	padding-left:10px;
}
.formTable th,
.formTable td {
	display:block;
	width:100%;
}
.formTable {
	width:100%;
}
.formTable label {
	white-space:nowrap;
}
.formTable label.normal {
	white-space:normal;
}
.instructor_preface {
  width: 100%;
  margin: 0;
}
.instructor_detail {
  width: 100%;
  margin: 0;
}
table#table-02.respBlock {
	border-left:0;
}
#environment {
	width:100%;
	margin:0;
}
.environment_body table {
	width:100%;
}
.gMap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.gMap iframe,
.gMap object,
.gMap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.reason_body table td,
.td.flow {
	text-align:center;
	display:block;
	width:100%;
}
.reason_body table td.reason_body_right {
	text-align:left;
}
.scene_body_left,
.scene_body_right {
	display:block;
	width:100%;
}
.scene_body table {
	width:100%;
}
.scene_body table td.scene_body_left {
	padding:0 0 10px 0;
}
.scene_body_right {
	text-align:center;
}
table.schedule_table {
	width:100%;
}
.schedule_table th,
.schedule_table td {
	display:block;
	width:100%;
	text-align:left;
}
.topics_pagenavi {
	width:100%;
	margin:20px 0 0;
}
.topics_list {
	width:100%;
}
.topics_list dl {
	margin-bottom:15px;
}
.topics_detail {
	width:100%;
	margin:0;
}
.indexTopicsList a,
.topics_list a {
	display:block;
}
#page_body {
	width:100%;
	margin:0;
}
table#table-02 th.spTH {
	border:1px solid #0a50a0;
	padding:8px 5px;
	color:#fff; 
	background:#528cce;
}
#pagetop {
	position:fixed;
	bottom:40px;
	right:20px;
}
#pagetop a {
	z-index:100;
	display:block;
	width:40px;
	border-radius:20px;
	line-height:1;
	padding:8px 0;
	text-align:center;
	font-size:24px;
	color:#fff;
	background:#333;
	opacity:.6;
	text-decoration:none;
}
.environment_body table td {
	padding-bottom:15px;
	display:block;
	width:100%;
}
@media screen and (max-width:370px) {
	.spTel {
		font-size:14px;
	}
}