
@font-face {
  font-family: 'futura';
  src: url("../font/FuturaLT.ttf");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'mincho';
  src: url("../font/A-OTF-A1MinchoStd-Bold.otf");
  font-weight: normal;
  font-style: normal;
}
@media (min-width: 960px){
	p {
	    font-size: 16px;
	}
}

section img{
	width: auto;
	max-width: 100%;
	display: inline-block;
}
header{
	position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 10;
}
#pagetop{
	padding-top: 80px;
}
h2.title1{
	font-size: 24px;
	text-align: center;
	padding-bottom: 0;
	margin-bottom: 45px;
}
h2.title1 span{
	font-size: 80px;
	display: block;
	font-family: 'futura';
	text-align: center;
	line-height: 1.3;
	border-bottom: none;
	color: #b4b4b5;
	letter-spacing: 1px;
	font-weight: lighter;
}

section#about{
	padding: 80px 0;
	background: url(../img/dot.png) repeat;
}
.fixedcontainer{
	max-width: 1280px;
	margin: 0 auto;
}
.about_txt1{
	text-align: center;
	margin-bottom: 40px;
}
#about .tabs{
	width: 100%;
	max-width: 1280px;
}

#about .tab_item{
	height: 60px;
	line-height: 60px;
	font-size: 24px;
}
#about .tabs input:checked + .tab_item{
	background-color: #000;
}
#about .tabs input:checked + .tab_item::after{
	width: 40px;
	height: 16px;
	bottom: -16px;
	background: url(../img/tab_arrow.png) no-repeat center center;
	background-size: contain;
}
#about .tab_content{
	padding: 50px 0;
}
#about .service_box_border{
	width: 33.333%;
	padding: 10px 50px 25px;
	border-right: 1px solid #c8c8c8;
	margin-bottom: 0;
	border-bottom: none;
}
#about .service_box_border:last-child{
	border-right: none;
}
#about .service_icon{
	float: initial;
	width: 100%;
	margin: 0 0 35px;
	text-align: center;
	display: block;
	max-width: 100%;
}
#about #programming_content .service_icon img{
	max-width: 73px;
	display: inline-block;
}
#about .service_icon img{
	max-width: 94px;
	display: inline-block;
}
#about .service_box_tit{
	font-size: 24px;
	background: url(../img/title_back.png);
	line-height: 41px;
	font-weight: bold;
	padding: 7px 0 5px;
}
#about .service_box_text{
	width: 100%;
	margin: 10px 0 0;
}
#about .service_box_text table th{
	padding: 10px 0;
	font-size: 18px;
	color: #000;
}
#about .service_box_text table td{
	padding: 10px 0;
	font-size: 18px;
	font-weight: bold;
	color: #000;
}
#about .service_box_list {
	padding: 15px 0 0;
}
#about .service_box_list b{
	color: #000;
	font-size: 18px;
}
#about .service_box_list ul{
	margin: 10px 0 0;
	padding-left: 23px;
}
#about .service_box_list ul li{
	font-size: 15px;
	line-height: 1.7;
}
#about .arrow{
	text-align: center;
	margin: 0 0 50px;
}
#about .about_btns{
	display: flex;
	justify-content: space-between;
	margin-bottom: 120px;
}
#about .about_btns a{
	display: block;
	max-width: 49%;
}
a{
	transition: 0.5s;
}
a:hover{
	opacity: 0.5;
	transition: 0.5s;
}
#about .about_txt2 span {
	position: relative;
	display: inline-block;
	font-size: 30px;
	font-weight: bold;
	padding: 0 40px 15px;
	margin-bottom: 56px;
}
#about .about_txt2 span:before {
	content: '';
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #000;
}
#about .about_txt2 span:after {
	content: '';
	position: absolute;
	left: calc(50% - 10px);
	top: calc(100% - 7px);
	width: 15px;
	height: 15px;
	background: url(../img/dot.png) no-repeat;
	background-size: contain;
	background-position: center;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(135deg);
}
#about .movie-allwrap{
	max-width: 890px;
	margin: 0 auto 70px;
}

.point{
	overflow: hidden;
	padding: 110px 0 0;
	position: relative;
	margin-top: 130px;
}
.point .point_img{
	position: absolute;
	max-width: 635px;
	left: 0;
	top: 0;
}
.point .point_content{
	width: 830px;
	float: right;
	background-color: #000;
	color: #fff;
	padding-bottom: 170px;
}
.point_content_in{
	width: 460px;
	float: right;
	margin-right: 80px;
}
.point_content_in p{
	text-align: left;
	font-weight: normal;
}
.point_content_in .point_ttl img{
	width: auto;
	margin-top: -80px;
	margin-bottom: 70px;
}
.point_content_in .point_subttl{
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 35px;
	line-height: 1.4;
}

.point2 .point_img{
	right: 0;
	left: auto;
}
.point2 .point_content_in{
	float: left;
	margin-right: auto;
	margin-left: 80px;
}
.point2 .point_content{
	float: left;
}
.point3 .point_content{
	padding-bottom: 130px;
}
#school .point .point_content{
	background-color: #fff;
	color: #000;
}
#school .point3 .point_content{
	padding-bottom: 80px;
}
#school .point2 .point_content{
	padding-bottom: 200px;
}
#about .message_ttl span {
	position: relative;
	display: inline-block;
	font-size: 30px;
	font-weight: bold;
	padding: 0 40px 15px;
	margin-bottom: 56px;
}
#about .message_ttl span:before {
	content: '';
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #000;
}
#about .message_ttl span:after {
	content: '';
	position: absolute;
	left: calc(50% - 10px);
	top: calc(100% - 7px);
	width: 15px;
	height: 15px;
	background: url(../img/dot.png) no-repeat;
	background-size: contain;
	background-position: center;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(135deg);
}
#about .message{
	margin-top: 120px;
}
.message_in{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.message_one{
	width: 380px;
	margin-bottom: 60px;
	margin-right: 70px;
}
.message_one:nth-child(3n){
	margin-right: 0;
}
.message_content{
	position: relative;
	z-index: 1;
	background-color: #fff;
	border-radius: 11px;
	padding: 20px;
	width: 358px;
	margin: -23px auto 0;
	box-shadow: 2px 2px 14px #999999;
}
.message_content p{
	text-align: left;
}
.message_name{
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 5px;
}
.message_name a{
	color: #000;
}
.message_name img{
	vertical-align: top;
	margin-top: 7px;
}
.message_job{
	margin-bottom: 20px;
}
.message_job span{
	font-size: 18px;
	font-weight: bold;
}
.message_txt{
	margin-bottom: 10px;
}
.coming_soon{
	font-size: 18px;
	font-weight: bold;
	margin: 40px 0 108px
}
.message_content .message_btn{
	text-align: center;
}
.message_btn a{
	position: relative;
	display: inline-block;
	width: 200px;
	font-size: 18px;
	line-height: 42px;
	padding: 0 42px;
	text-align: center;
	color: #fff;
	background-color: #000;
}
.message_btn.soon a{
	background-color: #888;
	cursor: no-drop;
}
.message_btn a:after{
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -3px;
	content: '';
	width: 29px;
	height: 5px;
	background: url(../img/btn_arrow.png) no-repeat;
	background-size: contain;
}
.btn_yoko{
	text-align: center;
	margin: 0 2px;
	background-color: #fff;
	margin-top: 60px;
}

section#mission{
	background: #eeeeef;
	padding: 120px 0;
}
#mission .mission_in{
	display: flex;
	justify-content: space-between;
}
#mission h2.title1{
	text-align: left;
}
#mission h2.title1 span{
	text-align: left;
}
.mission_content{
	width: 50%;
	padding-right: 120px;
}
.mission_img{
	width: 50%;
}
.mission_subttl{
	margin-top: 80px;
	margin-bottom: 60px;
	font-size: 29px;
	text-align: left;
	padding: 0;
}
.mission_txt{
	line-height: 2;
	text-align: left;
	font-weight: normal;
}
.mission_name{
	text-align: right;
	margin-top: 50px;
	font-weight: normal;
}
.mission_name img{
	display: inline-block;
	width: 185px;
	margin-left: 40px;
}



#information{
	padding: 60px 0;
	background: url(../img/dot.png);
}
.info{
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
}

.info_content{
	width: 580px;
}
.info_ttl{
	font-size: 34px;
	font-family: 'mincho';
	text-align: left;
	padding: 0;
	margin-bottom: 50px;
	letter-spacing: 4px;
}
.info_img{
	margin-top: 150px;
	width: 50%;
	text-align: center;
}
.info2 .info_img{
	margin-top: 100px;
}
.info_txt{
	text-align: left;
	font-weight: normal;
	line-height: 2;
}

.info_content_img{
	text-align: center;
	margin: 0 0 15px;
}
.info_content_in{
	background: #000;
	padding: 20px 20px 15px;
	text-align: center;
	color: #fff;
	font-weight: normal;
	margin-bottom: 30px;
}
.info_content_in strong{
	font-size: 21px;
}
strong.red_color{
	color: #e50012;
}


section#school{
	padding: 100px 0;
	background-color: #000;
}
#school .title1{
	color: #fff;
}

#school .service_box_border{
	width: 33.333%;
	padding: 10px 50px 25px;
	border-right: 1px solid #c8c8c8;
	margin-bottom: 0;
	border-bottom: none;
	color: #fff;
}
#school .service_box_border:last-child{
	border-right: none;
}
#school .service_icon{
	float: initial;
	width: 100%;
	margin: 0 0 35px;
	text-align: center;
	display: block;
	max-width: 100%;
}
#school #programming_content .service_icon img{
	max-width: 73px;
	display: inline-block;
}
#school .service_icon img{
	max-width: 94px;
	display: inline-block;
}
#school .service_box_tit{
	font-size: 24px;
	background: #fff;
	line-height: 41px;
	font-weight: bold;
	padding: 7px 0 5px;
	color: #000;
}
#school .service_box_text{
	width: 100%;
	margin: 10px 0 0;
}
#school .service_box_text table th{
	padding: 10px 0;
	font-size: 18px;
	color: #fff;
}
#about .service_box_text table td{
	padding: 10px 0;
	font-size: 18px;
	font-weight: bold;
}
#school .service_box_list {
	padding: 15px 0 0;
}
#school .service_box_list b{
	color: #fff;
	font-size: 18px;
}
#school .service_box_list ul{
	margin: 10px 0 0;
	padding-left: 23px;
}
#school .service_box_list ul li{
	font-size: 15px;
	line-height: 1.7;
}
.service_box_text table td{
	color: #fff;
}
#school .service_box_list ul li{
	font-weight: normal;
}
.school_subttl{
	color: #fff;
	margin-top: 130px;
	margin-bottom: 40px;
}
.school_subttl span {
	position: relative;
	display: inline-block;
	font-size: 30px;
	font-weight: bold;
	padding: 0 40px 15px;
	border-bottom: 1px solid #fff;
}
.school_subttl span:before {
	content: '';
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #000;
}
.school_subttl span:after {
	content: '';
	position: absolute;
	left: calc(50% - 10px);
	top: calc(100% - 7px);
	width: 15px;
	height: 15px;
	background-color: #000;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(135deg);
}
.school_subttl2 {
	text-align: center;
	margin-bottom: 60px;
}
.school_subttl2 span{
	display: inline-block;
	min-width: 440px;
	font-size: 24px;
	font-weight: bold;
	padding: 10px 30px;
	border: 1px solid #fff;
	background: url(../img/title_back2.png);
	position: relative;
	color: #fff;
	text-align: center;
}
.school_subttl2 span:after{
	position: absolute;
	content: '';
	left: 50%;
	margin-left: -12.5px;
	bottom: -12px;
	width: 25px;
	height: 12px;
	background: url(../img/title_arrow.png) no-repeat;
	background-size: contain;
	background-position: center;
}
.school_list{
	display: flex;
	flex-wrap: wrap;
}
.school_one{
	width: 404px;
	margin-right: 34px;
	margin-bottom: 34px;
	background-color: #fff;
}
.school_one:nth-child(3n){
	margin-right: 0;
}
.school_one_content{
	padding: 25px 30px 40px;
}
.school_one_content p{
	text-align: left;
	font-weight: normal;
}
.school_one_content .school_one_ttl{
	font-size: 20px;
	font-weight: bold;
	color: #e50012;
	margin-bottom: 10px;
}
.school_one_txt{
	font-size: 15px;
	margin-bottom: 10px;
	line-height: 2;
	overflow: hidden;
}
.school_one_txt span{
	padding: 3px 10px;
	border: 1px solid #000;
}
.school_one_btn{
	text-align: center;
}
.school_one_alert{
	font-size: 11px;
	margin-bottom: 30px;
}
.school_one_content  .school_one_btn a{
	text-align: center;
	color: #000;
	border: 2px solid #000;
	display: block;
	font-size: 14px;
	padding: 10px 0;
	font-weight: bold;
}
.school_one_content  .school_one_btn1 a{
	background: #ccc;
	border: none;
	color: #fff;
	cursor: no-drop;
}
.school_one_btn a img{
	margin-top: -4px;
	vertical-align: middle;
}
.school_one_img{
	position: relative;
}
.school_one_img .end_mark{
	position: absolute;
	bottom: -33px;
	right: 16px;
	z-index: 1;
}

.school_btn1 {
	text-align: center;
	margin: 50px 0 140px;
}
.school_btn1 a{
	display: inline-block;
	background-color: #e95513;
	width: 472px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	padding: 30px;
	position: relative;
	text-align: center;
}
.school_btn1 a:after{
	content: '';
	position: absolute;
	right: 47px;
	top: 50%;
	margin-top: -3px;
	width: 29px;
	height: 5px;
	background: url(../img/btn_arrow.png) no-repeat;
}

.school_txt1{
	text-align: center;
	margin-bottom: 25px;
	color: #fff;
	font-weight: normal;
	line-height: 1.8;
}
.school_txt1 span{
	font-size: 21px;
	font-weight: bold;
}
.school_img1{
	text-align: center;
	margin-bottom: 140px;
}

.school_div{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.school_div > div{
	width: 50%;
}
.school_img3{
	text-align: center;
}
.school_content3{
	text-align: left;
	line-height: 2;
	font-size: 16px;
	padding: 0 30px;
	color: #fff;
	font-weight: normal;
}
.school_div{
	margin: 120px 0;
}
#school .point1{
	margin-top: 0;
}
#entry{
	padding: 120px 0;
	background: url(../img/dot.png);
}
.entry_ttl span {
	position: relative;
	display: inline-block;
	font-size: 30px;
	font-weight: bold;
	padding: 0 40px 15px;
}
.entry_ttl span:before {
	content: '';
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #000;
}
.entry_ttl span:after {
	content: '';
	position: absolute;
	left: calc(50% - 10px);
	top: calc(100% - 7px);
	width: 15px;
	height: 15px;
	background: url(../img/dot.png) no-repeat;
	background-size: contain;
	background-position: center;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(135deg);
}
#entry h2.title1{
	margin-bottom: 90px;
}
#entry .entry_ttl{
	margin-bottom: 70px;
}
.entry_txt{
	text-align: center;
}
.entry_img{
	max-width: 1022px;
	margin: 30px auto 0;
}
.entry_img span{
	float: left;
	width: 254px;
	margin: 15px 0 30px;
}
.entry_img span a{
	color: #e05577;
}
.entry_img_alert{
	font-size: 12px;
	text-align: left;
	max-width: 1024px;
	margin: 30px auto 90px;
}
.entry_table{
	width: 100%;
}
.entry_table th{
	background-color: #dbdcdc;
	min-width: 270px;
	padding: 15px 0;
	font-size: 18px;
	text-align: center;
	color: #000;
	border-bottom: 1px solid #000;
}
.entry_table td{
	background-color: #f7f7f7;
	padding: 15px 50px 15px 70px;
	font-size: 18px;
	text-align: left;
	color: #000;
	border: none;
	border-bottom: 1px solid #000;
}
.entry_table td small{
	font-size: 14px;
}
.entry_table td ul li{
	border-bottom: 1px solid #b4b4b5;
	padding: 14px 0;
}
.entry_table td ul li span{
	display: inline-block;
}
.entry_table td ul li span:first-child{
	width: 120px;
}
.entry_table td ul li span:nth-child(2){
	width: 208px;
}
.entry_table td ul li:last-child{
	border-bottom: none;
}
.entry_alert{
	margin-top: 20px;
}
.entry_alert li{
	font-size: 14px;
	position: relative;
	padding-left: 20px;
}
.entry_alert li:before{
	content: '＊';
	position: absolute;
	left: 0;
}

#faq{
	padding: 80px 0;
	background-color: #ededed;
}
#faq h2.title1{
	margin-bottom: 90px;
}
#faq h6 {
	padding-bottom: 0;
}
#faq h6 span {
	position: relative;
	display: inline-block;
	font-size: 30px;
	font-weight: bold;
	padding: 0 40px 15px;
	border: none;
	margin-bottom: 50px;
}
#faq h6 span:before {
	content: '';
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #000;
}
#faq h6 span:after {
	content: '';
	position: absolute;
	left: calc(50% - 10px);
	top: calc(100% - 7px);
	width: 15px;
	height: 15px;
	background: #ededed;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(135deg);
}
#faq section{
	width: 1280px;
	padding-bottom: 70px;
}
#faq .faq{
	margin-bottom: 25px;
}
#faq .faq .questions{
	box-shadow: none;
}
#faq .faq .questions .question{
	font-size: 24px;
}
#faq .faq .questions .q{
	font-size: 41px;
	padding-right: 55px;
}
#faq .faq .questions .question_left{
	align-items: center;
}
#faq .faq .questions{
	padding-left: 40px;
	padding-right: 30px;
	position: relative;
}
#faq .faq .questions .before_icon:after{
	content: '';
	position: absolute;
	right: 30px;
	top: 50%;
	margin-top: -17px;
	width: 34px;
	height: 34px;
	background: url(../img/faq_after1.png) no-repeat;
	background-position: center;
	background-size: contain;
}
#faq .faq .questions .before_icon.after_icon:after{
	content: '';
	position: absolute;
	right: 30px;
	top: 50%;
	margin-top: -17px;
	width: 34px;
	height: 34px;
	background: url(../img/faq_after2.png) no-repeat;
	background-position: center;
	background-size: contain;
}
#faq .faq .answers .answer{
	background-color: #000;
	color: #fff;
	padding: 30px 40px 30px 40px;
}
#faq .faq .answers .answer .a{
	font-size: 41px;
	padding-right: 55px;
	line-height: 1;
}
.fixed_btn{
	opacity: 0;
	position: fixed;
	right: 0;
	top: 50%;
	margin-top: -90px;
	z-index: 2;
	transition: 0.5s;
}
.fixed_btn.active{
	opacity: 1;
}
#faq .faq .answers .answer .ex{
	font-size: 20px;
	line-height: 2;
}

.point_link{
	position: absolute;
	width: 153px;
	height: 115px;
	left: 22px;
	bottom: 23px;
	display: block;
	border-radius: 20px;
	transition: 0.5s; 
}
.point_link:hover{
	background: rgba(255,255,255, 0.2);    
    transition: 0.5s;
}
.service_box_text table tr{
	border-bottom: 1px solid #717071;
}


@media screen and (min-width:959px) and (max-width:1280px) {
	.school_one{
		width: 32%;
		margin-right: 2%;
	}
	.point .point_img{
		width: 50%;
	}
	.point .point_content{
		width: 65%;
	}
	.point_content_in {
	    width: 65%;
	    margin-right: 7%;
	}
	.point2 .point_content_in{
		margin-left: 7%;
	}
	.message_one{
		width: 32%;
		margin-right: 2%;
	}
	.message_content{
		width: 90%;
	}
	.mission_content{
		padding-right: 10%;
	}

}
/*
@media screen and (min-width:561px) and (max-width:959px) {

}*/
@media screen and (max-width:956px) {
	.tab_content_description .flex{
		display: block;
		padding: 0;
	}
	
	.fixedcontainer{
		width: 92%;
	}
	#about .tab_content {
	    padding: 0px 0 20px;
	}
	h2.title1 span{
		font-size: 50px;
	}
	h2.title1{
		font-size: 20px;
	}
	.message_in{
		display: block;
	}
	.message_one {
		width: 100%;
		max-width: 380px;
		margin: 0 auto;
	}
	.message_one:nth-child(3n){
		margin-right: auto;
	}
	.message_name{
		font-size: 16px;
	}
	.message_job span{
		font-size: 16px;
	}
	.message_name img{
		width: 14px;
		margin-top: 5px;
	}
	.slick-dots{
		bottom: 0;
	}
	.slick-dots li button:before{
		font-size: 16px;
	}
	.slick-next{
		right: 0;
		z-index: 1;
	}
	.slick-prev{
		left: 0;
		z-index: 1;
	}
	.slick-prev:before, .slick-next:before{
		font-size: 25px;
		opacity: 1;
		color: #000;
	}
	.slick-dots li.slick-active button:before{
		opacity: 1;
	}
	.slick-prev, .slick-next{
		width: 25px;
		height: 25px;
	}
	.school_btn1 a{
		width: 100%;
		max-width: 472px;
	}
	.btn_yoko {
	    text-align: center;
	    margin-top: 30px;
	}
	.school_subttl{
		margin: 80px 0 40px;
	}
	.school_subttl2 span{
		min-width: 100%;
	}
	.entry_table th, .entry_table td{
		display: block;
		width: 100%;
	}
	.fixed_btn{
		bottom: 0;
		width: 100%;
		left: 0;
		top: auto;
	}
	#faq section{
		width: 100%;
		padding-bottom: 30px;
	}
	.point .point_img{
		position: initial;
	}
	.point13 .point_img{
		position: relative;
		border-bottom: 15px solid #764210;
	}
	.point .point_content{
		width: 100%;
	}
	.point .point_content_in{
		float: none;
		margin: 0 auto;
		width: 100%;
		padding: 20px;
	}
	.point_content_in .point_ttl img{
		/*margin-top: 0;*/
	}
	#mission .mission_in{
		display: block;
	}
	#mission .mission_in>div{
		width: 100%;
	}
	p{
		font-size: 14px;
	}
	#about .tab_item{
		height: 40px;
    	line-height: 40px;
    	font-size: 18px;
	}
	#about .tabs input:checked + .tab_item::after {
	    width: 20px;
	    height: 8px;
	    bottom: -8px;
	    background: url(../img/tab_arrow.png) no-repeat center center;
	    background-size: contain;
	}
	
	#about .service_box_border{
		width: 100%;
	}
	.service_wrap{
		padding: 0;
	}
	#about .service_box_border{
		border: none;
		display: block;
		padding: 40px 0;
		border-bottom: 1px solid #c8c8c8;
	}
	#about .service_box_border:last-child{
		border:none;
		padding-bottom: 10px;
	}
	#about .service_icon{
		width: 100%;
		margin-bottom: 20px;
	}
	#about .service_icon img{
		max-width: 100%;
	}
	#about .service_box_tit{
		font-size: 18px;
		line-height: 30px;
	}
	#about #programming_content .service_icon img{
		max-width: 100%;
	}
	#about .about_btns{
		display: block;
		margin-bottom: 70px;
	}
	#about .about_btns a{
		max-width: 100%;
		display: block;
		margin: 0 auto 20px;
	}
	#about .message{
		margin-top: 70px;
	}
	#about .about_txt2 span {
	    position: relative;
	    display: inline-block;
	    font-size: 18px;
	    font-weight: bold;
	    padding: 0 15px 10px;
	    text-align: center;
	    margin-bottom: 40px;
	}
	.point{
		padding: 0;
		margin-top: 40px;
	}
	.point1{
		margin-top:0!important
	}
	.point_content_in{
		float: none;
		width: 100%;
		margin-right: 0;
	}
	.point_content_in .point_ttl img{
		margin: -35px 0 20px;
		width: 150px;
		position: relative;
	}
	.system .point_content_in .point_ttl img{
		width: 170px;
	}
	.point_content_in .point_ttl{
		/*text-align: center;*/
	}
	.point_content_in p{
		/*padding: 0 20px;*/
	}
	.point_content_in .point_subttl{
		font-size: 20px;
		text-align: center;
	}
	.point .point_content{
		padding-bottom: 30px;
	}
	#about .message_ttl span {
	    position: relative;
	    display: inline-block;
	    font-size: 24px;
	    font-weight: bold;
	    padding: 0 10px 15px;
	    margin-bottom: 40px;
	}


	.message_content {
	    position: relative;
	    z-index: 1;
	    background-color: #fff;
	    border-radius: 11px;
	    padding: 20px;
	    width: 90%;
	    margin: -23px auto 0;
	    box-shadow: 2px 2px 14px #999999;
	}
	.message_one{
		margin-bottom: 30px;
	}
	section#about{
		padding: 60px 0 30px;
	}
	section#mission{
		padding: 60px 0 30px;
	}
	.mission_content{
		padding-right: 0;
		margin-bottom: 30px;
	}
	.mission_subttl {
	    margin-top: 40px;
	    margin-bottom: 20px;
	    font-size: 20px;
	    text-align: left;
	    padding: 0;
	}
	.mission_name {
	    text-align: right;
	    margin-top: 20px;
	    font-weight: normal;
	}
	.mission_name img{
		margin-top: 10px;
		width: 140px;
	}
	#information{
		padding: 60px 0 30px;
	}
	.info_content{
		width: 100%;
	}
	.info{
		display: block;
		margin-bottom: 20px;
	}
	.info:last-child{
		margin-bottom: 0;
	}
	.info_img{
		width: 100%;
		margin: 20px 0;
	}
	.info2 .info_img{
		margin: 20px 0;
	}
	.info_ttl {
	    font-size: 24px;
	    font-family: 'mincho';
	    text-align: center;
	    padding: 0;
	    margin-bottom: 30px;
	    letter-spacing: 0;
	}
	section#school{
		padding: 60px 0;
	}
	.school_in .flex{
		display: block;
	}
	#school .service_box_border{
		width: 100%;
	}
	#school .service_box_border{
		border: none;
		display: block;
		padding: 40px 0;
		border-bottom: 1px solid #c8c8c8;
	}
	#school .service_box_border:last-child{
		border:none;
	}
	.service_box_right{
		float: none;
		padding: 0;
		width: 90%;
		margin: 0 auto;
	}
	#school .service_icon{
		width: 100%;
		margin-bottom: 20px;
	}
	#school .service_icon img{
		max-width: 100%;
	}
	#school .service_box_tit{
		font-size: 18px;
		line-height: 30px;
	}
	.school_subttl span {
	    position: relative;
	    display: inline-block;
	    font-size: 18px;
	    font-weight: bold;
	    text-align: center;
	    padding: 0 10px 10px;
	    border-bottom: 1px solid #fff;
	}
	.school_one{
		width: 100%;
		margin-right: 0;
	}
	.school_btn1 a{
		padding: 20px 15px;
	}
	.school_btn1 a:after{
		right: 10px;
	}
	.school_btn1 {
	    text-align: center;
	    margin: 40px 0 80px;
	}
	.school_subttl2{
		margin-bottom: 40px;
	}
	.school_txt1 span{
		font-size: 18px;
	}
	.school_img1{
		margin-bottom: 80px;
	}
	.school_div{
		display: block;
		margin: 50px 0;
	}
	.school_div > div{
		width: 100%;
	}
	.school_content3{
		padding: 20px 0;
		font-size: 14px;
	}
	#school .title1{
		margin-bottom: 20px;
	}
	#school .title1{
		font-size: 17px;
	}
	.info{
		margin-bottom: 40px;
	}
	.info_content_in strong{
		font-size: 18px;
	}
	.school_subttl2 span{
		font-size: 18px;
		line-height: 1.5;
	    padding-top: 10px;
	    padding-bottom: 10px;
	}
	#school .point2 .point_content {
	    padding-bottom: 30px;
	}
	#school .point3 .point_content {
	    padding-bottom: 30px;
	}
	#entry{
		padding: 60px 0;
	}
	#entry h3 {
	    width: 100%;
	}
	.entry_ttl span {
	    position: relative;
	    display: inline-block;
	    font-size: 20px;
	    font-weight: bold;
	    text-align: center;
	    padding: 0 10px 10px;
	}
	#entry h2.title1 {
	    margin-bottom: 50px;
	}
	#entry .entry_ttl {
	    margin-bottom: 40px;
	}
	.entry_img_alert {
	    font-size: 12px;
	    text-align: left;
	    max-width: 1024px;
	    margin: 20px auto 50px;
	}
	.entry_table th, .entry_table td{
		font-size: 14px;
		padding: 10px;
	}
	.entry_table td{
		padding: 10px;
	}
	.entry_table td ul li span:first-child {
	    width: 60px;
	}
	.entry_table td ul li span:nth-child(2) {
	    width: 104px;
	}
	#faq h6 span {
	    position: relative;
	    display: inline-block;
	    font-size: 20px;
	    font-weight: bold;
	    text-align: center;
	    padding: 0 10px 10px;
	    border: none;
	    margin-bottom: 40px;
	}
	#faq .faq .questions{
		padding: 10px 30px 10px 10px;
	}
	#faq .faq .questions .q {
	    font-size: 30px;
	    padding-right: 15px;
	}
	#faq .faq .questions .question {
	    font-size: 14px;
	    text-align: left;
	}
	#faq .faq .questions .before_icon:after {
	    content: '';
	    position: absolute;
	    right: 10px;
	    top: 50%;
	    margin-top: -10px;
	    width: 20px;
	    height: 20px;
	    background: url(../img/faq_after1.png) no-repeat;
	    background-size: contain;
	}
	#faq .faq .questions .before_icon.after_icon:after {
	    content: '';
	    position: absolute;
	    right: 10px;
	    top: 50%;
	    margin-top: -10px;
	    width: 20px;
	    height: 20px;
	    background: url(../img/faq_after2.png) no-repeat;
	}
	#faq .faq .answers .answer{
		padding: 10px 20px 10px 10px;
	}
	#faq .faq .answers .answer .a{
	 	font-size: 30px;
	 	padding-right: 10px;
	    text-align: left;
	}
	#faq{
		padding: 60px 0 20px;
	}
	.entry_txt{
		text-align: left;
		line-height: 1.8;
	}
	#faq .faq .answers .answer .ex{
		font-size: 14px;
	}
	.info_img img{
		width: 90%;
	}
	#faq h2.title1 {
	    margin-bottom: 40px;
	}
	.mv .logos{
		top: 18vh;
	}
	.school_one_txt span {
	    padding: 0px 10px;
	    border: 1px solid #000;
	    float: left;
	    margin-right: 10px;
	}
	#mission h2.title1{
		text-align: center;
	}
	#mission h2.title1 span{
		text-align: center;
	}
	
	.point_link {
	    position: absolute;
	    width: 22vw;
	    height: 16.5vw;
	    left: 3vw;
	    bottom: 3.5vw;
	    display: block;
	}
	.point_link:hover{
		background: none;
		border-radius: 0;
	}
	.entry_img span{
		margin: 10px 0;
	}
	header{
		position: initial;
	}
	#pagetop{
		padding-top: 0;
	}
	#about .arrow img{
		width: 70px;
	}
	#about .arrow{
		margin-bottom: 30px;
	}
	
}

footer{
	padding: 0;
}
.footer_small{
	font-size: 16px;
	margin-top: 20px;
}
.footer_text{
	font-size: 16px;
}
footer a{
	font-size: 100%;
	color: #fff !important;
}
footer .copyright{
	display: block;
	text-align: center;
	margin: 30px 0 0;
	font-size: 12px;
	color: #fff;
}
.footer_logo_wrap a{
	position: initial;
}
.footer_wrap{
	padding: 75px 0;
	max-width: 614px;
	max-width: 814px;
}
.footer_logo_wrap{
	width: 337px;
	max-width: 337px;
}
.footer_nav ul{
	margin: 30px auto 10px;
	padding: 0;	
	font-size: 16px;
	width: 80%;
}
.footer_text{
	border-top: 1px solid #fff;
	margin-top: 0;
	padding-top: 10px;
}
.footer_in{
	background: #323232;
}
footer{
	background: none;
}
.visible-sp{
	display: none;
}
@media screen and (max-width:956px) {
	.footer_logo_wrap{
		max-width: 200px;
		width: 200px;
	}
	footer{
		/*padding-bottom: 28vw;*/
	}
	footer a{
		border-bottom: none;
		padding: 5px;
	}
	.footer_small{
		font-size: 11px;
		margin-top: 10px;
	}
	.footer_text{
		font-size: 12px;
		margin: 0 10px;
	}
	.footer_nav ul{
		font-size: 12px;
		margin-top: 20px;
	}
	footer .copyright{
		margin-top: 20px;
	}
	.footer_wrap{
		padding: 40px 0;
	}
	.hidden-sp{
		display: none;
	}
	.visible-sp{
		display: block;
	}
	.message_name img{
		display: inline-block;
	}
}

.sub_page{
	background: url(../img/dot.png);
	padding: 70px 0 100px;
}
.sub_page_in{
	max-width: 1276px;
	width: 90%;
	margin: 0 auto;
}
.company table th{
	min-width: 266px;
	padding: 25px 35px;
	font-weight: bold;
	vertical-align: top;
	background-color: #dbdcdc;
	font-size: 16px;
	border: none;
	border-bottom: 1px solid #000;
	box-sizing: border-box;
	color: #000;
}
.company table td{
	color: #000;
	padding: 25px 50px;
	font-size: 16px;
	border: none;
	font-weight: normal;
	border-bottom: 1px solid #000;
	background: #fff;
	box-sizing: border-box;
	width: 100%;
}
.company table tr:last-child th,.company table tr:last-child td{
	border-bottom: none;
}
h2.subttl{
	font-size: 24px;
	text-align: center;
	margin-bottom: 40px;
	padding-bottom: 0;
}
@media screen and (max-width:956px) {
	h2.subttl{
		font-size: 20px;
		margin-bottom: 30px;
		padding: 0 5%;
	}
	.company table td, .company table th{
		width: 100%;
		display: block;
		padding: 15px 10px;
		font-size: 14px;
	}
	.company table th{
		border-bottom: none;
	}
	.sub_page{
		padding: 60px 0;
	}
}
.privacy_in{
	padding: 60px;
	background-color: #ededed;
	font-size: 14px;
	font-weight: normal;
}
.sub_page_in{
	margin-bottom: 90px;
}
.sub_page_in:last-child{
	margin-bottom: 0;
}
.privacy_txt1{
	text-align: left;
}
.privacy_txt2{
	margin-top: 60px;
	text-align: center;
}
@media screen and (max-width:956px) {
	.privacy_in{
		padding: 20px;
	}
	.privacy_txt2{
		margin-top: 30px;
	}
	.sub_page_in{
		margin-bottom: 50px;
	}
}
.contact_in{
	max-width: 994px;
	margin: 0 auto;
	width: 90%;
	padding: 55px 0;
}
.contact .sub_page_in{
	background-color: #ededed;
}
.contact table{
	width: 100%;
}
.contact table th{
	min-width: 268px;
	font-size: 16px;
	padding: 35px 25px;
	border: none;
	border-bottom: 1px solid #dbdcdc;
	vertical-align: top;
	position: relative;
	box-sizing: border-box;
	color: #000;
}
.contact table th span.require{
	float: right;
	color: #fff;
	background-color: #c30d23;
	padding: 0 10px;
	font-size: 10px;
}
.contact table td{
	font-size: 16px;
	padding: 20px 40px 20px 60px;
	color: #000;
	border: none;
	box-sizing: border-box;
	border-bottom: 1px solid #dbdcdc;
}
.contact td input{
	height: 48px;
	line-height: 48px;
	border-radius: 4px;
	border:none;
	width: 100%;
	background: #fff;
	padding: 10px;
}
.contact td input.input1{
	width: 250px;
}
.contact td textarea{
	height: 145px;
	border-radius: 4px;
	border: none;
	width: 100%;
	background: #fff;
	padding: 10px;
}
.contact_btn_wrapper{
	text-align: center;
	margin-top: 40px;
}
.contact form{
	background: transparent;
	width: 100%;
	margin: 0;
	padding: 0;
}

.contact_btn{
	width: 274px;
	padding: 15px 45px;
	position: relative;
	background-color: #000;
	color: #fff;
	font-size: 19px;
	font-weight: bold;
	text-align: center;
}
.contact_btn:after {
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -3px;
    content: '';
    width: 29px;
    height: 5px;
    background: url(../img/btn_arrow.png) no-repeat;
    background-size: contain;
}
.only-pc{
	display: inline-block;
}
@media screen and (max-width:956px) {
	.only-pc{
		display: none;
	}
	.contact table td, .contact table th{
		width: 100%;
		display: block;
		padding: 15px 10px;
		font-size: 14px;
	}
	.contact_in{
		padding: 30px 0;
	}
	.contact td input.input1{
		width: 240px;
		margin: 5px 0;
	}
}
.thank .sub_page_in{
	background: #ededed;
	padding: 70px 0;
}
.thx_msg{
	text-align: center;
	font-weight: bold;
}
.thx_btn{
	text-align: center;
	margin-top: 60px;
}
.thx_btn a{
	display: inline-block;
	width: 274px;
	position: relative;
	background: #000;
	color: #fff;
	font-size: 19px;
	font-weight: bold;
	text-align: center;
	padding: 15px 40px;
}
.thx_btn a:after{
	position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -3px;
    content: '';
    width: 29px;
    height: 5px;
    background: url(../img/btn_arrow.png) no-repeat;
    background-size: contain;
}
.company_alert{
	font-weight: normal;
	text-align: center;
	margin-top: 30px;
	padding: 30px;
	background-color: #ededed;
}
@media screen and (max-width:956px) {
	.thank .sub_page_in{
		padding: 40px 0;
	}
	.thx_btn{
		margin-top: 20px;
	}
	.company_alert{
		text-align: left;
		margin-top: 20px;
		padding: 15px;
	}
}
