@charset "UTF-8";



/*---------------------------
　　全ページ共通
---------------------------*/
*, *:before, *:after { box-sizing: border-box; }

html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}

body {
	font-size: 1.6rem;
	font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", sans-serif;
	line-height: 1.7;
	color: #000;
}

/* IE11 */
_:lang(x)::-ms-backdrop, body {
	font-size: 1.55rem;
	font-family: "メイリオ", Meiryo, sans-serif;
}

a {
	color: #000;
	text-decoration: none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}

a:hover {
	opacity: 0.7;
	text-decoration: none;
}

*:focus { outline: none; }

h1 { font-size: 4rem; }
h2 { font-size: 2.6rem; }
h3,h4 { font-size: 2.2rem; }
h5 { font-size: 2rem; }

h2, h3, h4, h5 { line-height: 1.4; }
h2, h3, h4, h5 { font-weight: bold; }

h2 span { padding-left: 0.5em; }
h3 span { padding-left: 0.5em; }

h1, h2, h3, h4, h5,
p, li, dt, dd {
	font-feature-settings: "palt";
	text-align: justify;
	word-wrap: break-word;
}

th, td {
	font-feature-settings: "palt";
	word-wrap: break-word;
	vertical-align: middle;
}

img,
a img {
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

a img:hover {
	opacity: 0.7;
	transition: 0.5s;
}


/* 改行
----------------*/
br.pc,.pc_only  { display: inline-block; }
br.sp,.sp_only { display: none; }

/* 配置パターン
----------------*/
.flexbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex:0 1 auto;
}

.row {
	display: -webkit-box;
	display: -ms-flexbox;
	/*display: flex;*/
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.wrapper {
	width: 800px;
	max-width: 800px;
	margin: 0 auto;
}

#content p { flex: 1; }

/* IE10 & IE11 */
_:-ms-input-placeholder, :root #content p {
  /*flex: 1 0 auto;*/
  flex: 0 1 auto;
}

/*---------------------------
　　Media Queries設定
---------------------------*/

/*---------------------------------------------*/
@media screen and (max-width: 768px) {
/*---------------------------------------------*/

/* 配置パターン
----------------*/
.flexbox { display: block; }

/*テキスト
----------------*/
html { font-size: calc((100vw - 768px) / 158 + 12px); }

h1 { font-size: calc((100vw - 768px) / 79 + 32px); }
h2 { font-size: calc((100vw - 768px) / 158 + 24px); }
h3,h4 { font-size: calc((100vw - 768px) / 316 + 22px); }
h5 { font-size: calc((100vw - 768px) / 316 + 20px); }

img,
a img {
	width: 100%;
	height: auto;
}

/*改行
----------------*/
br.pc { display: none; }
br.sp { display: block; }
.pc_only { display: none; }
.sp_only { display: block; }
.sp_none { display: none; }

.wrapper { width: 100%; }

}/* 768 */

/*---------------------------
　　ページごとの設定
---------------------------*/

.announce_bnr { display: block; letter-spacing: -0.4em; }
.announce_bnr img { width: 49%; }
.announce_bnr img:nth-child(even),
.announce_bnr a:nth-child(even) img { margin-left: 1em; }

.course_list, .item_col { margin: 1em 0; }

.course_list.col2:nth-child(odd) { margin-right: 0; }
.course_list.col2:nth-child(even) { margin-left: 0; }
.course_list.col2 div:nth-child(2n) { margin-left: 1em; }

.course_list.col2 div {
	position: relative;
	width: 49%;
	padding: 1.5em;
}

.course_list.col2 .list_img {
	width: 50%;
	padding: 0;
}

.course_list.col2 img { width: 100%; }

.course_list.col3 { padding: 1em 0.5em; }

.course_list.col3 div {
	position: relative;
	width: 33%;
	padding: 0 0.5em;
}

.course_list.col3 dt { font-size: 90%; }
.course_list.col3 div dd.annot { text-indent: 0; margin-left: 0; }

.course_list dt {
	margin-bottom: 1em;
	padding: 0.5em 1em;
	text-align: center;
  color: #FFF;
}

.course_list dd.sub_ttl { font-weight: bold; }


/* 申し込みボタン */
.guide_btn,
.form_btn {
	margin-top: 2em;
	padding: 1.5em;
	border-radius: 1em;
}

.guide_btn .req_btn,
.form_btn .req_btn { margin-top: 0; }


.nyushitsu_form .guide_btn {
	margin: 0;
	border-radius: 0;
}

.guide_btn #n_setsu .date,
.guide_btn #n_test #n_test_date,
.guide_btn #n_setsu #n_setsu_date,
.form_btn .date .day {
	display: block;
	font-size: 2.6rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.4;
}

.guide_btn .disc,
.form_btn .disc {
	display: block;
	width: 20em;
	margin: 0.5em auto 1em auto;
	padding: 0.2em;
	text-align: center;
	font-weight: bold;
	border-radius: 0.5em;
	background-color: #FFF;
}

.guide_btn .disc span:after {
	content: '';
	margin-left: 1em;
	padding-right: 1em;
	border-left: #999 1px solid;
}

.guide_btn .form_close,
.form_btn .form_close {
	max-width: 23em;
	padding: 0.7em;
	font-size: 1.4rem;
	background-color: #FFF;
	border: #f45a40 1px solid;
	color: #f45a40;
}

.guide_btn #no-test {
	padding: 0.7em 1em;
	font-size: 1.4rem;
	background-color: #999;
	color: #FFF;
}

.guide_btn #n_setsu #n_setsu_date .day,
.guide_btn #n_test #n_test_date .day,
.form_btn #n_setsu #n_setsu_date .day,
.form_btn #n_test #n_test_date .day,
.form_btn .date .day span {
	font-size: 4rem;
}

.guide_btn .col2:nth-child(odd) { margin: 0; }

/*---------------------------
　　DOJO特長
---------------------------*/
.dojo_feature_intro .flex {
	position: relative;
}

.dojo_feature_intro .flex li {
	width: 47.5%;
}

.dojo_feature_intro .flex:after {
	content: "";
	display: block;
	width: 82px;
	height: 82px;
	position: absolute;
	right: 40%;
	top: 50%;
  transform: translate(-50%, -50%);
	background: url("../images/dojo/bg_dojo_feature_intro.png") no-repeat center center;
	z-index: 2;
}

.dojo__feature .col {
	width: 48%;	
}

.dojo__feature .accordion_ttl {font-size: 2.0rem;}
.dojo__feature .flexbox {
	justify-content: space-between;
	margin-bottom: 20px;
}
.dojo__feature .accordion_box .col h3 {
	font-size: 2.0rem;		
}
.dojo__feature .accordion_box .col p {
	padding: 0;
	background: none;
	font-size: 1.6rem;
	margin: 0;
}
.dojo__feature .col .check {
	background: #F4FCEB;
	padding: 20px;
	margin-top: 10px;
}
.dojo__feature .col .check h4 {
	background: #F4FCEB;
	font-size: 1.8rem;
	margin-bottom: 5px;
	color: #00913A;
	position: relative;
	padding-left: 1.4em;
	letter-spacing: -1px;
}

.dojo__feature .col .check h4 strong {
	background-color: #ffff00;
}

.dojo__feature .col .check h4:before,
.dojo__feature .col .check h4:after{
	content:"";
	display:block;
	position:absolute;
	margin-top: 2px;
}
.dojo__feature .col .check h4:before{
	width:16px;
	height:16px;
	background:#ffffff;
  border:1px solid #000000;
	left:0;
	top:3px;
}
.dojo__feature .col .check h4:after{
	border-left:2px solid #ff0000;
	border-bottom:2px solid #ff0000;
	width:18px;
	height:5px;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	left:5px;
	top:3px;
}

/*---------------------------
　　生徒・保護者の声
---------------------------*/
.voice__inner {display: flex; flex-wrap: wrap; justify-content: space-between}
.voice__inner li {
	width: 49%;
	margin-bottom: 20px;
}
.voice__item {border: 4px solid #0E7511;}
.voice__item .title {
	background-image: linear-gradient(90deg, #0e7511 16%, #0a4f0c);
	color: #FFF;
}
.voice__item .title__upper {display: flex; align-items: center;}
.voice__item .title__upper li:last-child {max-width: 490px;}
.voice__item .title__upper h2.catch {font-size: 2.6rem; margin: 1em; text-align: left!important;}
.voice__item .title__bottom {background: #013601; text-align: center; display: 
flex; justify-content: center; padding: 10px;}
.voice__item .title__bottom p {color: #FF0; font-weight: 900; letter-spacing: 2px;}
.voice__item .title__bottom p.person {color: #FFF; padding-left: 10px;}
.voice__text {padding: 30px;}
.voice__text p {margin-top: 1em;}
.voice__text p:first-child {margin-top: 0;}
.voice__text p strong {color: #E12B6C;}

.dojo__page button.readmore {
	color: #087FC1;
	border: solid 1px #087FC1;
}

/*---------------------------
　　Media Queries設定
---------------------------*/

/*---------------------------------------------*/
@media screen and (max-width: 768px) {
/*---------------------------------------------*/

/* 教室ページ
----------------*/
.announce_bnr img { width: 100%;}
.announce_bnr img:nth-child(even),
.announce_bnr a:nth-child(even) img { margin-left: 0; }
.announce_bnr img:nth-child(n+2),
.announce_bnr a:nth-child(n+2) img { margin-top: 1em; }

/* 入室説明会・入室テスト */
/* .guide_btn #n_setsu .date, */
.guide_btn #n_test #n_test_date,
.guide_btn #n_setsu #n_setsu_date,
.form_btn .date .day { font-size: 2.2rem; }

.guide_btn .form_close,
.form_btn .form_close { max-width: 100%; }

.nyushitsu_form .col2:nth-child(2n) { margin-top: 2em; }
	
/* リンクボタン
----------------*/
.class_list, .course_list { display: block; }
.class_list div, .course_list.col2 div, .course_list.col3 div { width: 100%; }
	
	/* DOJO
----------------*/
.form_btn .disc {
	width: 100%;
}	
.dojo_feature_intro .flex {
	display: flex;
}
.dojo__feature .col {
	width: 100%;
	margin-bottom: 10px;
}
.voice__item .title__upper h2.catch {font-size: 2.0rem; margin: 5px 5px 5px 10px;}

}/* 768 */

@media screen and (max-width: 750px) {
	.dojo_feature_intro .flex {
		display: block;
	}
	.dojo_feature_intro .flex li {
		width: 100%;
	}
	.dojo_feature_intro .flex li:first-child {
		margin-bottom: 60px;
	}
	.dojo_feature_intro .flex:after {
		width: 50%;
		height: 50%;
		background-size: 50%;
		background: url("../images/dojo/bg_dojo_feature_intro_sp.png") no-repeat center center;
		right: 0;
	}
	
	.dojo__feature .accordion_ttl {font-size: 1.8rem; padding-left: 2em; text-indent: -1em;}
	.voice__item .title__bottom {padding: 10px;}
	.voice__item .title__bottom p {letter-spacing: 0; font-size: 1.5rem;}
	.voice__item .title__bottom p.person {padding-top: 1px; font-size: 1.4rem;}
	.voice__text {padding: 5%;}
	.voice__text p {font-size: 1.6rem;}
	.voice__inner {display: block;}
	.voice__inner li {
		width: 100%;
		margin-bottom: 15px;
	}
}

@media screen and (max-width: 500px) {
	.guide_btn .disc,
	.req_btn a {
		width: 100%;
	}

	.voice__item .title__upper h2.catch {font-size: 1.6rem;}
	.voice__item .title__upper li:first-child {width: 50%;}
}