@charset "utf-8";
/*
 * resources/views/layouts/default/app.blade.php用CSS
 */
/* ここからbootstrapの上書き */

@media screen and (max-width:500px) {

	/* スマホ画面（しきい値は適宜調整）を目いっぱい使うようにする */
	.panel:first-child .panel-body {
		/* 入れ子対策 FIXME 但し、入れ子になっていない、後続の要素まで適用外になってしまう */
		padding-top: 10px;
		padding-bottom: 10px;
		padding-left: 12px;
		padding-right: 12px;
	}

	.container,
	.container-fluid,
	.container-fluid>.clearfix>[class^="col-"],
	.row>[class^="col-"] {
		padding-left: 5px;
		padding-right: 5px;
	}

	.row,
	.container>.navbar-header,
	.container>.navbar-collapse,
	.container-fluid>.navbar-header,
	.container-fluid>.navbar-collapse {
		margin-left: -5px;
		margin-right: -5px;
	}

	.navbar {
		margin-bottom: 10px;
	}
}

/* ここまでbootstrapの上書き */

.topSpacer5 {
	margin-top: 5px;
}

.topSpacer10 {
	margin-top: 10px;
}

.topSpacer15 {
	margin-top: 15px;
}

.topSpacer20 {
	margin-top: 20px;
}

.topSpacer25 {
	margin-top: 25px;
}

.topSpacer30 {
	margin-top: 30px;
}

.topSpacer35 {
	margin-top: 35px;
}

.topSpacer40 {
	margin-top: 40px;
}

.topSpacer45 {
	margin-top: 45px;
}

.topSpacer50 {
	margin-top: 50px;
}

.topSpacer100 {
	margin-top: 100px;
}

.topSpacer200 {
	margin-top: 200px;
}

.bottomSpacer5 {
	margin-bottom: 5px;
}

.bottomSpacer10 {
	margin-bottom: 10px;
}

.bottomSpacer15 {
	margin-bottom: 15px;
}

.bottomSpacer20 {
	margin-bottom: 20px;
}

.leftSpacer5 {
	margin-left: 5px;
}

.leftSpacer10 {
	margin-left: 10px;
}

.leftSpacer15 {
	margin-left: 15px;
}

.leftSpacer20 {
	margin-left: 20px;
}

.leftSpacer25 {
	margin-left: 25px;
}

.leftSpacer30 {
	margin-left: 30px;
}

.rightSpacer5 {
	margin-right: 5px;
}

.rightSpacer10 {
	margin-right: 10px;
}

.rightSpacer15 {
	margin-right: 15px;
}

.rightSpacer20 {
	margin-right: 20px;
}

.rightSpacer25 {
	margin-right: 25px;
}

.rightSpacer30 {
	margin-right: 30px;
}

.inline-control-div-adjuster {
	/* checkbox-inline,radio-inlineのvertical alignment補正用 */
	padding-top: 7px;

}


.header-content-spacer {
	/*height: 2rem; */
	height: 0;
}

.content-footer-spacer {
	height: 2rem;
}

.button-spacer {
	display: inline-block;
	width: 1rem;
}

ul.prev-next-button li:nth-of-type(2) {}

ul.prev-next-button li:nth-of-type(odd) {
	min-width: 6em;
	text-align: center;
}

table.list-table th {
	text-align: center;
}

table.list-table td {
	vertical-align: middle !important;
}

.smaller-portrait {
	max-width: 6rem;
	max-height: 6rem;
}

.smallest-portrait {
	max-width: 4rem;
	max-height: 4rem;
}

img[id*="portrait_src"],
[id*="portrait_src"] img {
	width: 100%;
	max-width: 150px;
	max-height: 140px;
	object-fit: contain;
}

audio[id*="voice_src"],
[id*="voice_src"] audio {
	width: 100%;
	max-width: 300px;
}

video[id*="video_src"],
video[id*="video2_src"],
[id*="video_src"] video,
[id*="video2_src"] video {
	width: 100%;
	max-width: 300px;
}

iframe[id*="video_src"],
iframe[id*="video2_src"],
[id*="video_src"] iframe,
[id*="video2_src"] iframe {
	width: 100%;
	max-width: 300px;
}


/* トップ講師スライド枠 */
.iframe-set {
	margin: 2% 6%;
	margin-bottom: 10px;
	background: #fff;
	border: solid 1px #999;
	border-radius: 5px;
	/* CSS3草案 */
	-webkit-border-radius: 5px;
	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;
	/* Firefox用 */
}

/* button\ マージン */
.btn_marg {
	margin: 5px 0;
}



/* ここから .country- ※コード体系は ISO 3166-1 alpha-2 ※マスタ定義と整合を保つこと */

.country-is {}

.country-ie {}

.country-az {}

.country-af {}

/*アメリカ*/
.country-us:after {
	content: url(/img/student/common/icon_flag-us.svg);
	padding: 1% 0 0 1%;
}

/*ベトナム*/
.country-vi:after {
	content: url(/img/student/common/icon_flag-vi.svg);
	padding: 1% 0 0 1%;
}

.country-as {}

/*アラブ*/
.country-ae:after {
	content: url(/img/student/common/icon_flag-ae.svg);
	padding: 1% 0 0 1%;
}

/*イギリス*/
.country-en:after {
	content: url(/img/student/common/icon_flag-en.svg);
	padding: 1% 0 0 1%;
}


.country-dz {}

.country-ar {}

.country-aw {}

.country-al {}

.country-am {}

.country-ai {}

.country-ao {}

.country-ag {}

.country-ad {}

.country-ye {}

/*イギリス*/
.country-gb:after {
	content: url(/img/student/common/icon_flag-en.svg);
	padding: 1% 0 0 1%;
}

.country-io {}

.country-vg {}

.country-il {}

.country-it {}

.country-iq {}

.country-ir {}

.country-in {}

.country-id {}

.country-wf {}

.country-ug {}

.country-ua {}

.country-uz {}

.country-uy {}

.country-ec {}

.country-eg {}

.country-ee {}

.country-et {}

.country-er {}

.country-sv {}

/*オーストラリア*/
.country-au:after {
	content: url(/img/student/common/icon_flag-au.svg);
	padding: 1% 0 0 1%;
}

.country-at {}

.country-ax {}

.country-om {}

.country-nl {}

.country-gh {}

.country-cv {}

.country-gg {}

.country-gy {}

.country-kz {}

.country-qa {}

.country-um {}

.country-ca {}

.country-ga {}

.country-cm {}

.country-gm {}

.country-kh {}

.country-mp {}

.country-gn {}

.country-gw {}

.country-cy {}

.country-cu {}

.country-cw {}

.country-gr {}

.country-ki {}

.country-kg {}

.country-gt {}

.country-gp {}

.country-gu {}

.country-kw {}

.country-ck {}

.country-gl {}

.country-cx {}

.country-gd {}

.country-hr {}

.country-ky {}

.country-ke {}

.country-ci {}

.country-cc {}

.country-cr {}

.country-km {}

.country-co {}

.country-cg {}

.country-cd {}

.country-sa {}

.country-gs {}

.country-ws {}

.country-st {}

.country-bl {}

.country-zm {}

.country-pm {}

.country-sm {}

.country-mf {}

.country-sl {}

.country-dj {}

.country-gi {}

.country-je {}

.country-jm {}

.country-ge {}

.country-sy {}

.country-sg {}

.country-sx {}

.country-zw {}

.country-ch {}

.country-se {}

.country-sd {}

.country-sj {}

/*スペイン*/
.country-es:after {
	content: url(/img/student/common/icon_flag-es.svg);
	padding: 1% 0 0 1%;
}

.country-sr {}

.country-lk {}

.country-sk {}

.country-si {}

.country-sz {}

.country-sc {}

.country-gq {}

.country-sn {}

.country-rs {}

.country-kn {}

.country-vc {}

.country-sh {}

.country-lc {}

.country-so {}

.country-sb {}

.country-tc {}

/*タイ*/
.country-th:after {
	content: url(/img/student/common/icon_flag-th.svg);
	padding: 1% 0 0 1%;
}

.country-kr {}

.country-tw {}

.country-tj {}

.country-tz {}

.country-cz {}

.country-td {}

.country-cf {}

/*中国*/
.country-cn:after {
	content: url(/img/student/common/icon_flag-cn.svg);
	padding: 1% 0 0 1%;
}

.country-tn {}

.country-kp {}

.country-cl {}

.country-tv {}

.country-dk {}

.country-de {}

.country-tg {}

.country-tk {}

.country-do {}

.country-dm {}

.country-tt {}

.country-tm {}

.country-tr {}

.country-to {}

.country-ng {}

.country-nr {}

.country-na {}

.country-aq {}

.country-nu {}

.country-ni {}

.country-ne {}

/*日本*/
.country-jp:after {
	content: url(/img/student/common/icon_flag-jp.svg);

}

.country-eh {}

.country-nc {}

.country-nz {}

.country-np {}

.country-nf {}

.country-no {}

.country-hm {}

.country-bh {}

.country-ht {}

.country-pk {}

.country-va {}

.country-pa {}

.country-vu {}

.country-bs {}

.country-pg {}

.country-bm {}

.country-pw {}

.country-py {}

.country-bb {}

.country-ps {}

.country-hu {}

.country-bd {}

.country-tl {}

.country-pn {}

.country-fj {}

.country-ph {}

.country-fi {}

.country-bt {}

.country-bv {}

.country-pr {}

.country-fo {}

.country-fk {}

.country-br {}

/*フランス*/
.country-fr:after {
	content: url(/img/student/common/icon_flag-fr.svg);
	padding: 1% 0 0 1%;
}

.country-gf {}

.country-pf {}

.country-tf {}

.country-bg {}

.country-bf {}

.country-bn {}

.country-bi {}

/*ベトナム*/
.country-vn:after {
	content: url(/img/student/common/icon_flag-vn.svg);
	padding: 1% 0 0 1%;
}

.country-bj {}

.country-ve {}

.country-by {}

.country-bz {}

.country-pe {}

.country-be {}

.country-pl {}

.country-ba {}

.country-bw {}

.country-bq {}

.country-bo {}

.country-pt {}

.country-hk {}

.country-hn {}

.country-mh {}

.country-mo {}

.country-mk {}

.country-mg {}

.country-yt {}

.country-mw {}

.country-ml {}

.country-mt {}

.country-mq {}

/* マレーシア*/
.country-my {}

.country-im {}

.country-fm {}

.country-za {}

.country-ss {}

/* ミャンマー*/
.country-mm {
	content: url(/img/student/common/icon_flag-my.svg);
	padding: 1% 0 0 1%;
}

.country-mx {}

.country-mu {}

.country-mr {}

.country-mz {}

.country-mc {}

.country-mv {}

.country-md {}

.country-ma {}

.country-mn {}

.country-me {}

.country-ms {}

.country-jo {}

.country-la {}

.country-lv {}

.country-lt {}

.country-ly {}

.country-li {}

.country-lr {}

.country-ro {}

.country-lu {}

.country-rw {}

.country-ls {}

.country-lb {}

.country-re {}

.country-ru {}

/* ここまで .country- */

/* ここから .language- ※コード体系は ISO 639-1 ※マスタ定義と整合を保つこと */

/* 日本語 */
#recommended_instructor_list .language-ja:before {
	content: url(/img/student/common/icon_flag-jp.svg)' ';
	position: relative;
	top: 3px;
}

/* 英語 */
#recommended_instructor_list .language-en:before {
	content: url(/img/student/common/icon_flag-en.svg)' ';
	position: relative;
	top: 3px;
}

/* フランス */
#recommended_instructor_list .language-fr:before {
	content: url(/img/student/common/icon_flag-fr.svg)' ';
	position: relative;
	top: 3px;
}

/* スペイン */
#recommended_instructor_list .language-es:before {
	content: url(/img/student/common/icon_flag-es.svg)' ';
	position: relative;
	top: 3px;
}

/* 中国語 */
#recommended_instructor_list .language-zh:before {
	content: url(/img/student/common/icon_flag-zh.svg)' ';
	position: relative;
	top: 3px;
}

/* タイ語 */
#recommended_instructor_list .language-th:before {
	content: url(/img/student/common/icon_flag-th.svg)' ';
	position: relative;
	top: 3px;
}

/* 	ベトナム語 */
#recommended_instructor_list .language-vi:before {
	content: url(/img/student/common/icon_flag-vi.svg)' ';
	position: relative;
	top: 3px;
}

/* ビルマ語（ミャンマー） */
#recommended_instructor_list .language-my:before {
	content: url(/img/student/common/icon_flag-my.svg)' ';
	position: relative;
	top: 3px;
}

/* ここまで .language- */


/* ここから .search-tag- ※マスタ定義と整合を保つこと */

#instructor_list [class^="search-tag-"],
#reservable_instructor_list [class^="search-tag-"] {
	margin-left: 1%;
	background: #fff;
	border: solid 1px #999;
	border-radius: 5px;
	/* CSS3草案 */
	-webkit-border-radius: 5px;
	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;
	/* Firefox用 */
}

#recommended_instructor_list [class^="search-tag-"],
#reservable_instructor_list2 [class^="search-tag-"] {
	margin: 2% 10px;
	/* margin-bottom: 10px; */
	background: #fff;
	/* border:solid 1px #999; */
	border-bottom: 1px dashed #eee;
	border-radius: 5px;
	/* CSS3草案 */
	-webkit-border-radius: 0px;
	/* Safari,Google Chrome用 */
	-moz-border-radius: 0px;
	/* Firefox用 */
}

#instructor_list [class^="search-tag-"] {
	margin: 0.5%;
}




/* 発音指導 -1 */
#instructor_list .search-tag-pronunciation:before,
#recommended_instructor_list .search-tag-pronunciation:before,
[id^="reservable_instructor_list"] .search-tag-pronunciation:before {
	content: url(/img/student/common/icon_tag-1.svg)' ';
}

/* 文法 -2 */
#instructor_list .search-tag-grammar:before,
#recommended_instructor_list .search-tag-grammar:before,
[id^="reservable_instructor_list"] .search-tag-grammar:before {
	content: url(/img/student/common/icon_tag-2.svg);
}

/* キッズ -3 */
#instructor_list .search-tag-kids:before,
#recommended_instructor_list .search-tag-kids:before,
[id^="reservable_instructor_list"] .search-tag-kids:before {
	content: url(/img/student/common/icon_tag-3.svg)' ';
}

/* 英検・TOEIC -4 */
#instructor_list .search-tag-tests:before,
#recommended_instructor_list .search-tag-tests:before,
[id^="reservable_instructor_list"] .search-tag-tests:before {
	content: url(/img/student/common/icon_tag-4.svg)' ';
}

/* ビジネス -5 */
#instructor_list .search-tag-business:before,
#recommended_instructor_list .search-tag-business:before,
[id^="reservable_instructor_list"] .search-tag-business:before {
	content: url(/img/student/common/icon_tag-5.svg)' ';
}

/* 日常会話 -6 */
#instructor_list .search-tag-daily:before,
#recommended_instructor_list .search-tag-daily:before,
[id^="reservable_instructor_list"] .search-tag-daily:before {
	content: url(/img/student/common/icon_tag-6.svg)' ';
}

/* 旅行 -7 */
#instructor_list .search-tag-sightseeing:before,
#recommended_instructor_list .search-tag-sightseeing:before,
[id^="reservable_instructor_list"] .search-tag-sightseeing:before {
	content: url(/img/student/common/icon_tag-7.svg)' ';
}

/* エンタメ -8 */
#instructor_list .search-tag-entertainment:before,
#recommended_instructor_list .search-tag-entertainment:before,
[id^="reservable_instructor_list"] .search-tag-entertainment:before {
	content: url(/img/student/common/icon_tag-8.svg)' ';
}

/* イギリス英語-9*/
#instructor_list .search-tag-british:before,
#recommended_instructor_list .search-tag-british:before,
[id^="reservable_instructor_list"] .search-tag-british:before {
	content: url(/img/student/common/icon_tag-9.svg)' ';
}

/* 500ポイント以下 -10 */
#instructor_list .search-tag-lt500pts:before,
#recommended_instructor_list .search-tag-lt500pts:before,
[id^="reservable_instructor_list"] .search-tag-lt500pts:before {
	content: url(/img/student/common/icon_tag-10.svg)' ';
}

/* ネイティブ -11 */
#instructor_list .search-tag-native:before,
#recommended_instructor_list .search-tag-native:before,
[id^="reservable_instructor_list"] .search-tag-native:before {
	content: url(/img/student/common/icon_tag-11.svg)' ';
}

/* 英作文 -12 */
#instructor_list .search-tag-composition:before,
#recommended_instructor_list .search-tag-composition:before,
[id^="reservable_instructor_list"] .search-tag-composition:before {
	content: url(/img/student/common/icon_tag-12.svg) ' ';
}

/* 中国語 -13 */
#instructor_list .search-tag-chinese:before,
#recommended_instructor_list .search-tag-chinese:before,
[id^="reservable_instructor_list"] .search-tag-chinese:before {
	content: url(/img/student/common/icon_tag-13.svg)' ';
}

/* SIDE by SIDE -14 */
#instructor_list .search-tag-sidebyside:before,
#recommended_instructor_list .search-tag-sidebyside:before,
[id^="reservable_instructor_list"] .search-tag-sidebyside:before {
	content: url(/img/student/common/icon_tag-14.svg);
}

/* 理系-15 */
#instructor_list .search-tag-rikei:before,
#recommended_instructor_list .search-tag-rikei:before,
[id^="reservable_instructor_list"] .search-tag-rikei:before {
	content: url(/img/student/common/icon_tag-15.svg);
}

/* 16 over3years*/
#instructor_list .search-tag-over3years:before,
#recommended_instructor_list .search-tag-over3years:before,
[id^="reservable_instructor_list"] .search-tag-over3years:before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url(/img/student/common/icon_tag-16.svg);
	background-size: contain;
	vertical-align: middle;

}

/* 17 new*/
#instructor_list .search-tag-new:before,
#recommended_instructor_list .search-tag-new:before,
[id^="reservable_instructor_list"] .search-tag-new:before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url(/img/student/common/icon_tag-17.svg);
	background-size: contain;
	vertical-align: middle;
}

::before {}

/* 18 初級者 */
#instructor_list .search-tag-beginners:before,
#recommended_instructor_list .search-tag-beginners:before,
[id^="reservable_instructor_list"] .search-tag-beginners:before {
	content: url(/img/student/common/icon_tag-14.svg)' ';
}

/* 19 上級者向け */
#instructor_list .search-tag-advanced:before,
#recommended_instructor_list .search-tag-advanced:before,
[id^="reservable_instructor_list"] .search-tag-advanced:before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url(/img/student/common/icon_tag-19.svg);
	background-size: contain;
	vertical-align: middle;
}

/* 20 自由会話search-tag-freeconversation*/
#instructor_list .search-tag-freeconversation:before,
#recommended_instructor_list .search-tag-freeconversation:before,
[id^="reservable_instructor_list"] .search-tag-freeconversation:before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url(/img/student/common/icon_tag-20.svg);
	background-size: contain;
	vertical-align: middle;
}

/* 21 タイ文字search-tag-read */
#instructor_list .search-tag-read :before,
#recommended_instructor_list .search-tag-read :before,
[id^="reservable_instructor_list"] .search-tag-read :before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url(/img/student/common/icon_tag-21.svg);
	background-size: contain;
	vertical-align: middle;
}


/* ここまで .search-tag- */






/* ここから .instructor-rank- ※マスタ定義と整合を保つこと */

.instructor-rank-a {}

.instructor-rank-b {}

.instructor-rank-c {}

/* ここまで .instructor-rank- */

/* ここから .rate-plan- ※マスタ定義と整合を保つこと */

.rate-plan-okigaru {}

.rate-plan-kihon {}

.rate-plan-rikei {}

.rate-plan-shuuchuu {}

.rate-plan-tettei {}

.rate-plan-spot1000 {}

.rate-plan-spot2000 {}

.rate-plan-spot3000 {}

.rate-plan-spot4000 {}

.rate-plan-spot5000 {}

/* ここまで .rate-plan- */

/* ここから .payment-method- ※マスタ定義と整合を保つこと */

.payment-method-credit {}

.payment-method-bank {}

/* ここまで .payment-method- */

/* ここから #instructor-calendar #student-calendar */

#instructor-calendar-table th,
#student-calendar-table th {
	text-align: center;
	background-color: #f5f5f5;
}

#instructor-calendar-table td,
#student-calendar-table td {
	width: 10rem;
	max-width: 10rem;
}

#instructor-calendar-table th.day-of-week-0,
#instructor-calendar-table td.day-of-week-0 [id^="instructor-calendar-date_"],
#student-calendar-table th.day-of-week-0,
#student-calendar-table td.day-of-week-0 [id^="student-calendar-date_"] {
	color: #f32200;
}

#instructor-calendar-table th.day-of-week-6,
#instructor-calendar-table td.day-of-week-6 [id^="instructor-calendar-date_"],
#student-calendar-table th.day-of-week-6,
#student-calendar-table td.day-of-week-6 [id^="student-calendar-date_"] {
	color: #0c88cc;
}

#instructor-calendar-table td.today,
#student-calendar-table td.today {
	background-color: #ffffcc;
}

#instructor-calendar-table td.not-this-month [id^="instructor-calendar-date_"],
#student-calendar-table td.not-this-month [id^="student-calendar-date_"] {
	opacity: 0.3;
}

#instructor-calendar-table [id^="instructor-calendar-lesson_"],
#student-calendar-table [id^="student-calendar-lesson_"] {
	min-height: 5rem;
}

#instructor-calendar-table [id^="instructor-calendar-lesson_"] div,
#student-calendar-table [id^="student-calendar-lesson_"] div {
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
}

#instructor-calendar-table div.past-lesson,
#instructor-calendar-table div.reserved-lesson,
#instructor-calendar-table div.reserved-lesson-not-confirmed,
#instructor-calendar-table div.reservable-lesson,
#student-calendar-table div.past-lesson,
#student-calendar-table div.reserved-lesson {
	margin: 1px;
	padding-left: 2px;
	font-size: 1.3rem;
}

#instructor-calendar-table div.past-lesson,
#student-calendar-table div.past-lesson {
	color: #ffffff;
	background-color: #cccccc;
}

#instructor-calendar-table div.reserved-lesson,
#instructor-calendar-table div.reserved-lesson-not-confirmed {
	/* instructor,studentで個別に設定 */
}

#instructor-calendar-table div.reservable-lesson,
#instructor_calendar span.lesson-frame {
	color: #ffffff;
	background-color: #ff9900;
}

#instructor_calendar span.lesson-frame {
	display: inline-block;
	width: 4em;
	margin: 0 1%;
	border-radius: 3px;
}

#student-calendar-table div.reserved-lesson {
	color: #ffffff;
	background-color: #4169e1;
}

#instructor-calendar-table a,
#student-calendar-table a {
	display: block;
}

#instructor-calendar-table a:link,
#instructor-calendar-table a:hover,
#instructor-calendar-table a:visited,
#student-calendar-table a:link,
#student-calendar-table a:hover,
#student-calendar-table a:visited {
	color: #ffffff;
	text-decoration: none;
}

/* ここまで #instructor-calendar #student-calendar */

/* ここから #edit-instructor-calendar */

#edit-instructor-calendar-table th,
#edit-instructor-calendar-table td {
	text-align: center;
}

#edit-instructor-calendar-table [class^="period-row-"] * {
	line-height: 1rem !important;
}

#edit-instructor-calendar-table [class^="period-row-"]:nth-child(24n+13),
#edit-instructor-calendar-table [class^="period-row-"]:nth-child(24n+14),
#edit-instructor-calendar-table [class^="period-row-"]:nth-child(24n+15),
#edit-instructor-calendar-table [class^="period-row-"]:nth-child(24n+16),
#edit-instructor-calendar-table [class^="period-row-"]:nth-child(24n+17),
#edit-instructor-calendar-table [class^="period-row-"]:nth-child(24n+18),
#edit-instructor-calendar-table [class^="period-row-"]:nth-child(24n+19),
#edit-instructor-calendar-table [class^="period-row-"]:nth-child(24n+20),
#edit-instructor-calendar-table [class^="period-row-"]:nth-child(24n+21),
#edit-instructor-calendar-table [class^="period-row-"]:nth-child(24n+22),
#edit-instructor-calendar-table [class^="period-row-"]:nth-child(24n+23),
#edit-instructor-calendar-table [class^="period-row-"]:nth-child(24n) {
	background-color: ghostwhite;
}

#edit-instructor-calendar-table [class^="period-row-"] td {
	max-width: 3em;
	white-space: nowrap;
	text-overflow: hidden;
}

#edit-instructor-calendar-table th.day-of-week-0 {
	color: #f32200;
}

#edit-instructor-calendar-table .day-of-week-0 {
	background-color: mistyrose;
}

#edit-instructor-calendar-table th.day-of-week-6 {
	color: #0c88cc;
}

#edit-instructor-calendar-table .day-of-week-6 {
	background-color: aliceblue;
}

#edit-instructor-calendar-table td.reserved-lesson {
	/*
    background-color: lightpink;
    color: red
*/
}

#edit-instructor-calendar-table td.scheduled {
	/*
    background-color: lightblue;
    color: blue;
*/
}

#edit-instructor-calendar-table td.not_scheduled {
	/* background-color,color不可 */
}

/* ここまで #edit-instructor-calendar */

/* ここから #recommended_instructor_list, #reservable_instructor_list2  */

#outer_recommended_instructor_list {
	width: 1300px;
	margin: 30px auto;
	overflow: hidden;
}

#outer_reservable_instructor_list2 {
	width: 100%;
	margin: 0px auto;
	overflow: hidden;
	padding-top: 0;
}




#recommended_instructor_list,
#reservable_instructor_list2 {
	margin: 0 auto;
}

#recommended_instructor_list .recommended-instructor {
	width: 220px;
	text-align: center;
	height: 410px;
	position: relative;
	background: #fff;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border: 4px solid #212270;
	margin: 0px 12px;
	padding: 0 10px;
}



.reservable-instructor2-count-2#reservable_instructor_list2 .reservable_instructor2 {
	width: 48%;
	text-align: center;
	height: 250px;
	position: relative;
	background: #fff;
	border-radius: 10px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 10px;
	border: 3px solid #999;
	margin: 18px 1%;
	padding: 1%;
}




.reservable-instructor2-count-3#reservable_instructor_list2 .reservable_instructor2 {
	width: 31.2222%;
	text-align: center;
	height: 250px;
	position: relative;
	background: #fff;
	border-radius: 10px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 10px;
	border: 3px solid #999;
	margin: 0px 1%;
	padding: 0 1%;


}

.reservable-instructor2-count-4#reservable_instructor_list2 .reservable_instructor2 {
	width: 22.6%;
	text-align: center;
	height: 250px;
	position: relative;
	background: #fff;
	border-radius: 10px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 10px;
	border: 3px solid #999;
	margin: 0px 1.2%;
	padding: 0 1%;
}

.reservable-instructor2-count-5#reservable_instructor_list2 .reservable_instructor2 {
	width: 17.6%;
	text-align: center;
	height: 250px;
	position: relative;
	background: #fff;
	border-radius: 10px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 10px;
	border: 3px solid #999;
	margin: 0px 1.2%;
	padding: 0 1%;
}



#recommended_instructor_list .recommended-instructor:before,
#recommended_instructor_list .recommended-instructor:after,
#reservable_instructor_list2 .reservable_instructor2:before,
#reservable_instructor_list2 .reservable_instructor2:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

#recommended_instructor_list .recommended-instructor:before {
	border-color: rgba(33, 34, 112, 0);
	border-top-color: #212270;
	border-width: 36px;
	margin-left: -36px;
}

#recommended_instructor_list .recommended-instructor:after {
	border-color: rgba(255, 255, 255, 0);
	border-top-color: #fff;
	border-width: 30px;
	margin-left: -30px;
}

#recommended_instructor_list .recommended-instructor-portrait,
#reservable_instructor_list2 .reservable-instructor2-portrait {}

#recommended_instructor_list .recommended-instructor-portrait img {
	max-height: 100px;
	margin: 1rem;

}

#reservable_instructor_list2 .reservable-instructor2-portrait img {
	/*max-height: 100px;*/
	margin: 1rem;
	width: 30%;
	position: absolute;
	margin: 5% 2.5%;
	top: 30px;
	left: 0;
	overflow: auto;
	overflow: hidden;
	width: 40%;
	height: 150px;
	/* position: relative; */
	object-fit: cover;
}

#recommended_instructor_list .recommended-instructor-name,
#reservable_instructor_list2 .reservable-instructor2-name {
	font-size: 13px;
	font-weight: 600;
	padding-top: 5px;
}

#recommended_instructor_list .recommended-instructor-self-introduction,
#reservable_instructor_list2 .reservable-instructor2-self-introduction {
	text-align: left;
	font-size: 1.2rem;
	color: #878787;
	max-height: 5.7rem;
	overflow: hidden;
	margin-bottom: 15px;
}

#recommended_instructor_list .recommended-instructor-language {}

#recommended_instructor_list .recommended-instructor-language ul {}

#recommended_instructor_list .recommended-instructor-language ul li:not(:first-child) {
	display: none;
}

#recommended_instructor_list .recommended-instructor-search-tag,
#reservable_instructor_list2 .reservable-instructor2-search-tag {
	padding: 10px;
}

#recommended_instructor_list .recommended-instructor-search-tag ul,
#reservable_instructor_list2 .reservable-instructor2-search-tag ul {
	margin: 5% 2.5%;
	background: #eee;
	height: auto;
	padding: 1px;
	width: 50%;
	position: absolute;
	right: 0;
	top: 30px;
}

#recommended_instructor_list .recommended-instructor-search-tag ul li:not(:nth-child(-n+3)),
#reservable_instructor_list2 .reservable-instructor2-search-tag ul li:not(:nth-child(-n+3)) {
	display: none;
}

#reservable_instructor_list2 .reservable-instructor2-button {
	position: absolute;
	bottom: 3%;
	left: 0%;
	right: 0;
}

@media screen and (max-width:1000px) {

	#outer_recommended_instructor_list,
	#outer_reservable_instructor_list2 {
		width: 100%;
		overflow: hidden;
	}

	#recommended_instructor_list .recommended-instructor,
	#reservable_instructor_list2 .reservable_instructor2 {
		width: 220px;
	}
}

@media screen and (max-width:680px) {

	#recommended_instructor_list .recommended-instructor,
	#reservable_instructor_list2 .reservable_instructor2 {
		width: 190px;
	}
}

@media screen and (max-width:500px) {

	#recommended_instructor_list .recommended-instructor,
	#reservable_instructor_list2 .reservable_instructor2 {
		width: 320px;
		height: 250px;


	}

	#recommended_instructor_list .recommended-instructor-portrait img,
	#reservable_instructor_list2 .reservable_instructor2-portrait img {
		max-width: 100px;
		margin: 1rem;
	}


	.reservable-instructor2-count-2#reservable_instructor_list2 .reservable_instructor2 {
		width: 45%;
		height: 300px;
		margin: 0px 1.1%;
		padding: 0 1%;

	}

	.reservable-instructor2-count-3#reservable_instructor_list2 .reservable_instructor2 {
		width: 31.1%;
		height: 300px;
		margin: 0px 1.1%;
		padding: 0 1%;

	}

	.reservable-instructor2-count-4#reservable_instructor_list2 .reservable_instructor2 {
		width: 31.1%;
		height: 300px;
		margin: 0px 1.1%;
		padding: 0 1%;
	}

	.reservable-instructor2-count-5#reservable_instructor_list2 .reservable_instructor2 {
		width: 31.1%;
		height: 300px;
		margin: 0px 1.1%;
		padding: 0 1%;
	}


	#reservable_instructor_list2 .reservable-instructor2-name {
		font-size: 13px;
		line-height: 1.1;
	}

	#reservable_instructor_list2 .reservable-instructor2-portrait img {
		width: 100%;
		margin: 0 auto;
		top: 20px;
		max-width: 130px;
		text-align: center;
		left: 20%;
	}

	#reservable_instructor_list2 .reservable-instructor2-search-tag ul {
		margin: 0 5%;
		width: 90%;
		top: 160px;
		/* display: none; */
	}

	#reservable_instructor_list2 .reservable-instructor2-button {
		bottom: 2%;
	}


}

/* ここまで #recommended_instructor_list, #reservable_instructor_list2 */

/*  ここから #lesson_message_timeline */

#lesson_message_timeline>div {
	margin: 0.8rem 0;
}

#lesson_message_timeline>div>div {
	margin-right: 2rem;
}

#lesson_message_timeline [class*="lesson-message-posted-by"] {
	font-size: smaller;
	font-weight: bolder;
}

#lesson_message_timeline .lesson-message-posted-by-student {
	color: #0000ff;
}

#lesson_message_timeline .lesson-message-posted-by-instructor {
	color: #000000;
}

#lesson_message_timeline .lesson-message-posted-by-staff {
	color: #ff0000;
}

#lesson_message_timeline .lesson-message-body {}

#lesson_message_timeline .lesson-message-posted-at {
	color: #999999;
	font-size: xx-small;
}

/* ここまで #lesson_message_timeline */

/* ここから #student_lesson_history */

#student_lesson_history {
	max-height: 60rem;
	overflow: auto;
}

/* ここまで #student_lesson_history */

/* ここから #log_table */

#log_table thead {
	width: 98%;
	/* fallback↓ */
	width: calc(100% - 17px
			/*スクロールバーの幅*/
		);
}

#log_table tbody {
	max-height: 50rem;
	overflow-y: scroll;
}

#log_table .log-table-id-col {
	width: 10%;
}

#log_table .log-table-datetime-col {
	width: 30%;
}

#log_table .log-table-detail-col {
	width: 60%;
}

#log_table thead,
#log_table tbody,
#log_table th,
#log_table tr,
#log_table td {
	display: block;
}

#log_table tbody td,
#log_table thead th {
	float: left;
	overflow: hidden;
}

#log_table tr:after {
	content: ' ';
	display: block;
	visibility: hidden;
	clear: both;
}

/* ボタン */


.btnLink {
	display: block;
	color: #fff;
	/*	background: #c1272d;*/
	text-align: center;
	border-radius: 3px;
	transition: all 0.3s;
	overflow: hidden;
}

.btnLink span {
	display: inline-block;
	position: relative;
	padding: 13px 25px 14px 0;
	font-family: 'Noto Sans Japanese', "メイリオ", "Meiryo", serif;
	vertical-align: middle;
}


.btnLink span:not(:target) {
	padding: 15px 16px 9px 0\9;
}

.btnLink span:after {
	content: '>';
	position: absolute;
	top: 50%;
	right: -16px;
	font-size: 185%;
	font-family: 'icomoon';
	transition: all 0.3s;
	line-height: 14px;
	margin-top: -7px;
	vertical-align: middle;
}

.btnLink a {
	color: #fff;
	text-decoration: none;
}


.btnLink a:hover {
	color: #fff;
	text-decoration: none;
}

.btnLink:hover span:after {
	right: -22px;
}


/* [option] style01 */
.btnLink.style01 {
	margin: 5px auto;
	background: #8cc63f;
	width: 70%;
	font-size: 0.8em;
	color: #fff;
}

.btnLink.style01 a:hover {
	background: #7eb725;
}

/* [option] style02 */
.btnLink.style02 {
	margin: 5px auto;
	background: #f7931e;
	width: 70%;
	font-size: 0.8em;
	color: #fff;
}

.btnLink.style02 a:hover {
	background: #ea8015;
}

/* [option] style03 */
.btnLink.style03 {
	margin: 5px auto;
	background: #0071bc;
	width: 80%;
	font-size: 0.8em;
	color: #fff;
}

.btnLink.style03 a:hover {
	background: #0769a0;
}

@media only screen and (max-width: 414px) {
	.btn1 {
		font-size: 12px;
		width: 230px;
	}

	.btn {
		margin: 10px 0.1% 0;
		font-size: 13px;
		line-height: 30px;
		/* width:275px; */
		max-width: 100%;
		padding: 1px;
	}

}

.col-md-10.caution {
	border: 2px solid #f2aaaa;
	padding: 15px;
	border-radius: 10px;
	background: #f2aaaa42;
	line-height: 3rem;
	max-width: 550px;
}

.col-md-10.caution p span {
	border-bottom: 1px dotted;
	font-size: 13px !important;
	color: #f73939 !important;
}


@media screen and (max-width:500px) {
	.btnLink.style04 {
		width: 90%;
		margin: 0 5%;
	}
}

.btnLink span:after {
	content: '>';
	position: absolute;
	top: 50%;
	right: -16px;
	font-size: 185%;
	font-family: 'icomoon';
	transition: all 0.3s;
	line-height: 14px;
	margin-top: -7px;
	vertical-align: middle;
}

.btnLink:hover {
	color: #fff;
	/* 	background: #febb5f;*/
}

.btnLink:hover span:after {
	right: -22px;
}

.btnLink.style04 {
	width: 100%;
	margin: 0;
	text-align: center;
	font-size: 1.0em;
	border-radius: 5px;
	transition: all 0.3s;
	overflow: hidden;
	background: #f7931e;
}

.btnLink.style04:hover {
	background: #ffb052(3, 46, 90);
}

.button_set {
	display: flex;
	width: 100%;
	justify-content: center;
}

.button_set div {
	width: 50%;
	padding: 10px;
}


@media screen and (max-width: 500px) {
	.btnLink span {
		font-size: 1.6rem;
	}
}


.ifSp {
	display: none;
}

@media only screen and (max-width: 414px) {
	.ifSp {
		display: block;
	}
}


/* accordion mypage*/

:root {
	--main-bg-color: #185dae;
	--sub-bg-color: #d32b75;
}

.c-accordion {
	width: 100%;
	/* max-width: 700px; */
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
	border-radius: 4px;
	border-style: solid;
	border-width: 2px;
	border-color: #014fab;
	margin-bottom: 10px;
}

.c-accordion_ttl {
	background-image: url("data:image/svg+xml,%3Csvg width='28' height='29' viewBox='0 0 28 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 28.4248C21.732 28.4248 28 22.1568 28 14.4248C28 6.69282 21.732 0.424805 14 0.424805C6.26801 0.424805 0 6.69282 0 14.4248C0 22.1568 6.26801 28.4248 14 28.4248Z' fill='%234A90E2'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.5629 9.44141C13.8797 9.44141 14.1452 9.70697 14.156 10.0346L14.4282 18.3384C14.4389 18.666 14.1908 18.9316 13.8739 18.9316C13.5571 18.9316 13.2915 18.666 13.2808 18.3384L13.0086 10.0346C12.9979 9.70697 13.246 9.44141 13.5629 9.44141Z' fill='white' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.12875 14.186C9.11801 13.8584 9.36616 13.5928 9.683 13.5928H17.7147C18.0315 13.5928 18.2971 13.8584 18.3078 14.186C18.3186 14.5136 18.0704 14.7791 17.7536 14.7791H9.72188C9.40504 14.7791 9.13948 14.5136 9.12875 14.186Z' fill='white' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
	background-position: right 15px center;
	background-size: 25px;
	background-repeat: no-repeat;
	list-style: none;
	padding: 1em 2em 1em 1em;
	cursor: pointer;
	font-size: 16px;
	color: #484848;
	font-weight: bold;
}

.c-accordion[open] .c-accordion_ttl {
	background-image: url("data:image/svg+xml,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.2339 28.4248C21.9659 28.4248 28.2339 22.1568 28.2339 14.4248C28.2339 6.69282 21.9659 0.424805 14.2339 0.424805C6.5019 0.424805 0.233887 6.69282 0.233887 14.4248C0.233887 22.1568 6.5019 28.4248 14.2339 28.4248Z' fill='%234A90E2'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.36264 14.186C9.35191 13.8584 9.60005 13.5928 9.9169 13.5928H17.9486C18.2654 13.5928 18.531 13.8584 18.5417 14.186C18.5524 14.5136 18.3043 14.7791 17.9874 14.7791H9.95578C9.63894 14.7791 9.37338 14.5136 9.36264 14.186Z' fill='white' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

.c-accordion_txt {
	padding: 1em;
	padding-top: 0;
	margin-top: 0;
	color: #222222;
}

.c-accordion.red {
	border-color: var(--sub-bg-color);
}

.c-accordion.red .c-accordion_ttl {
	color: var(--sub-bg-color);
	background-image: url("data:image/svg+xml,%3Csvg width='28' height='29' viewBox='0 0 28 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 28.4248C21.732 28.4248 28 22.1568 28 14.4248C28 6.69282 21.732 0.424805 14 0.424805C6.26801 0.424805 0 6.69282 0 14.4248C0 22.1568 6.26801 28.4248 14 28.4248Z' fill='%23d32b75'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.5629 9.44141C13.8797 9.44141 14.1452 9.70697 14.156 10.0346L14.4282 18.3384C14.4389 18.666 14.1908 18.9316 13.8739 18.9316C13.5571 18.9316 13.2915 18.666 13.2808 18.3384L13.0086 10.0346C12.9979 9.70697 13.246 9.44141 13.5629 9.44141Z' fill='white' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.12875 14.186C9.11801 13.8584 9.36616 13.5928 9.683 13.5928H17.7147C18.0315 13.5928 18.2971 13.8584 18.3078 14.186C18.3186 14.5136 18.0704 14.7791 17.7536 14.7791H9.72188C9.40504 14.7791 9.13948 14.5136 9.12875 14.186Z' fill='white' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

.c-accordion.red[open] .c-accordion_ttl {
	background-image: url("data:image/svg+xml,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.2339 28.4248C21.9659 28.4248 28.2339 22.1568 28.2339 14.4248C28.2339 6.69282 21.9659 0.424805 14.2339 0.424805C6.5019 0.424805 0.233887 6.69282 0.233887 14.4248C0.233887 22.1568 6.5019 28.4248 14.2339 28.4248Z' fill='%23d32b75'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.36264 14.186C9.35191 13.8584 9.60005 13.5928 9.9169 13.5928H17.9486C18.2654 13.5928 18.531 13.8584 18.5417 14.186C18.5524 14.5136 18.3043 14.7791 17.9874 14.7791H9.95578C9.63894 14.7791 9.37338 14.5136 9.36264 14.186Z' fill='white' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

.btn-group-sm>.btn,
.btn-sm {
	padding: 5px 5px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
	width: 100%;
	/* max-width: 14em; */
}

.box_a {
	display: flex;
	flex-wrap: nowrap;
	margin-bottom: 30px;
	gap: 1em;
}

.iPoint {
	background: #f0eeee;
}

.iResidence,
.iGraduate,
.iPoint {
	width: 33.33%;
	/* background: #f0eeee; */
	height: 50px;
	vertical-align: middle;
	height: 50px;
	line-height: 50px;
	border: 1px solid #eee;
}


@media screen and (max-width: 500px) {

	.box_a {
		flex-direction: column;

	}


	.iResidence,
	.iGraduate,
	.iPoint {
		width: 100%;
		background: #fff;
		border-bottom: 1px solid #ddd
	}

	.btn-group-sm>.btn,
	.btn-sm {
		padding: 5px 2px;
		font-size: 11px;
		width: 100%;
	}


}