/****************************************/
/********** ArtLab-Tokyo [CSS] **********/
/****************************************/

/* 初期状態では親要素を非表示にする */
.cms {
  display: none;
}
/* JavaScriptでクラスが追加された後に表示するスタイルを適用 */
.show-flex {
  display: flex;
}

/* search */
#search h2 {
	color: #0099cc;
	font-size: 1.5rem;
	vertical-align: bottom;
}
#search h2 span {
	font-size: 1.5rem;
	color: #fff;
	background-color: #0099cc;
	padding: 0;
	margin-right: 10px;
	margin-bottom: 5px;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align: center;
	display: inline-block;
	border-radius: 50%;
}
#search h2 small {
	font-size: 0.8rem;
	color: #999;
}

#search form div.blk{
	padding-left: 2.5rem;
	padding-bottom: 1rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid #CCC;
}
#search form div.blk:last-child {
	border-bottom: none;
}

#search form div.blk label,
#search form label {
	margin-right: 2rem;
	display: block;
	float: left;
}
#search form div.blk label.full,
#search form dl label.full {
	margin-right: 0;
	float: none;
}

#search .button, .btn_send_center .button {
	width: 100%;
	max-width: 300px;
	font-weight: bold;
	text-decoration: none;
	display: block;
	text-align: center;
	padding: 10px 0;
	color: #fff;
	background-color: #0099cc;
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
	border: none;
}


/* search_list */
#search_list div.blk_terms {
	font-size: 0.9em;
	padding: 10px 15px;
	margin-bottom: 1rem;
	border: 1px #e0e0e0 solid;
	background: #f6f6f6;
	clear: both;
}
	#search_list div.blk_terms p:last-child {
		margin-bottom: 0;
	}

/* やりたいことから */
.pricing-table1 {
	background-color: #f4f8f1;
	border: 1px solid #dfdfdf;
	display: inline-block;
	margin: 15px 11px;
	width: 190px;
	vertical-align: top;
}



/* サイドメニューは非表示 */
aside{
	display: none;
}


/* 2023.05修正 */
div.row_search_list .col-md {
	-ms-flex-preferred-size: auto;
	flex-basis: auto;
	width: 50%;
	margin-bottom: 10px;
}
@media (min-width: 768px) {
	div.row_search_list .col-md {
		width: 25%;
		flex-grow: 0;
	}
}

div.row_search_list .col-md .card {
	border: none;
}



div.row_search_list .col-md p {
	font-size: 0.8rem;
	margin-bottom: 0;
}

div.row_search_list .col-md p.case_name {
	font-size: 1.0rem;
	margin-top: 1.2rem;
	margin-bottom: 0.1rem;
}

div.row_search_list .col-md p.case_outline {
	font-size: 1.2rem;
	margin-bottom: 0.1rem;
	font-weight: bold;
}

div.row_search_list .col-md p.ttl_something {
	font-size: 1.1rem;
	margin-bottom: 0.1rem;
	text-align: center;
	font-weight: bold;
}



div.card-content .detailbtn {
	text-align: center;
}
div.card-content .btn {
	font-size: 0.8rem;
	padding: 0.25rem 0.25rem;
	border: 1px solid #0099CC;
	border-radius: 0.75rem;
}
	div.card-content .detailbtn .btn {
		width: 100%;
		max-width: 120px;
	}
	div.card-content .chk02 .btn {
		width: 90%;
		max-width: 170px;
	}

/*checkgroup*/
.checkgroup {
	text-align: center;
	margin-top: 5px;
	clear: both;
}

.checkgroup .checkbtn2 {
	padding: 0;
}

.checkgroup .checkbtn2 label {
	font-size: 1em;
	padding-bottom: 0;
	padding-left: 0;
}

.checkgroup .chk01 {
	width: 20%;
	float: left;
}

.checkgroup .chk01 label {
	padding-top: 3px;
	float: right;
}

.checkgroup .chk02 {
	width: 80%;
	float: right;
}

ul.searchlist li .checkgroup p {
	text-align: center;
	float: none;
	margin: 0 0 5px 0;
}

.checkgroup .checkbtn2 input[type="checkbox"] {
	margin-right: 0;
}

.cbtn {
	border-radius: 10px;
	box-shadow: 0 6px #4063A4;
	top: 0;
	transition: .2s all;
}

.checkbtn .cbtn,
.checkbtn2 .cbtn {
	display: block;
	max-width: 450px;
	margin: 0 auto;
}

.checkbtn .cbtn {
	margin-top: 15px;
}

.cbtn:hover {
	box-shadow: 0 5px #4063A4;
	top: 1px;
}

.cbtn:active {
	box-shadow: 0 0 #4063A4;
	top: 6px;
}

.cbtn:before {
	color: #FFF;
	content: "\f14a";
	font-family: FontAwesome;
	margin-right: 5px;
}


/* 絞り込みボタン */
section#search_list ul#myTab li#a1,
section#search_list ul#myTab li#a2,
section#search_list ul#myTab li#a3,
section#search_list ul#myTab li#a4,
section#search_list ul#myTab li#a5,
section#search_list ul#myTab li#a6,
section#search_list ul#myTab li#a7{
	display: none;
}

section#search_list div.a1,
section#search_list div.a2,
section#search_list div.a3,
section#search_list div.a4,
section#search_list div.a5,
section#search_list div.a6,
section#search_list div.a7{
	order: -1;
}

section#search_list div.a1 {
	order: -10;
}

/* è¡¨ç¤ºé †ã‚»ãƒ¬ã‚¯ãƒˆé¢¨ã‚’éžè¡¨ç¤º */
section#search_list ul#selecty {
	display: none;
}


section#search_list div#pspeck {
	display: none;
}

/* â˜…é•ã†éšŽå±¤ã®æƒ…å ±ã¯éžè¡¨ç¤ºåŒ– */
div#detail_cat,
div#detail_item {
	display: none;
}

div#detail_a1 {
	order: 1;
}




.btn-outline-primary.active {
	color: #fff;
	background-color: #1553CD;
	border-color: #1553CD;
}

.btn-outline-primary.active:focus {
	-webkit-box-shadow: none;
	box-shadow: none;
}

.nav-pills.text-center .nav-item {
	flex: 1;
	display: flex;
	align-items: center;
}

.nav-pills.text-center .nav-link {
	width: 100%;
}



/* フリースクール一覧のときだけ絞り込み表示*/
ul.nav:target {
	display: none;
}
/* notは引数に指定されたid or class以外 */
ul.nav:not(:target) {
	display: flex;
}



/* ボタン */


.btn-primary {
	color: #FFF;
	background-color: #009E9F;
	border-color: #009E9F;
}
.btn-grary {
	color: #FFF;
	background-color: #999;
	border-color: #999;
}



.btn-primary path {
	color: #FFF;
}

.btn-primary:hover {
	background-color: #006E6F;
	border-color: #006E6F;
}

.btn-primary:active {
	background-color: #006E6F;
	border-color: #006E6F;
}

.btn-outline-primary {
	color: #006E6F;
	background-color: #FFF;
	border-color: #006E6F;
}

.btn-outline-primary i {
	color: #006E6F;
	margin-right: 0.5rem;
}

.btn-outline-primary:hover {
	color: #006E6F;
	background-color: #f5f5f5;
	border-color: #006E6F;
}




/* 学校詳細 */
section#school_detail ul.icon {
	list-style: none;
	padding: 0;
	/* パディングをリセットします */
	display: flex;
	/* 要素を横並びにするためのフレックスボックスを使用します */
	flex-wrap: wrap;
	/* 要素が画面外にはみ出すのを防ぐために、必要に応じて新しい行に折り返します */
}

section#school_detail ul.icon li {
	margin-right: 10px;
}

section#school_detail ul.icon li img {
	width: 70px;
	height: 85px;
}

section#school_detail .p-3 p {
	margin: 0;
}


section#search_list div.blk_terms{
	display: none;
}


.btn-outline-primary:not(:disabled):not(.disabled).active,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.show>.btn-outline-primary.dropdown-toggle {
	color: #fff;
	background-color: #02a5c9;
	border-color: #02a5c9;
}
.btn-outline-primary {
	border: 1px solid #02a5c9 !important;
}

/* 資料請求フォーム */
span.attention, p.error{
	color: #F60;
}

form dd {
	margin-bottom: 1.5rem;
}

form .input-group-text {
	background-color: white;
	border: none;
}

form input[type=checkbox],
form input[type=radio] {
	margin-right: 0.5rem;
}
#group_school_area .row>div {
	padding-bottom: 1rem;
	margin-left: -15px;
}
@media (max-width: 768px) {
	#group_school_area .row>div {
		padding: 0.5rem 0;
	}
	form input[type=checkbox],
	form input[type=radio] {
		margin-right: 0.1rem;
	}
}



ol.breadcrumb {
	padding-top: 40px;
}

section#news p.date,section#event p.date {
	color: #999;
	font-size: 0.8em;
	padding-top: 3px;
}

section#news a:hover dl p, section#event a:hover dl p {
	color: #999;
}

section#news p.school,
section#event p.school,
.blk_kiji p.school {
	font-size: 0.8em;
	color: #FFF;
	padding: 2px 8px;
	margin-bottom: 0.5em;
	background: #f29400;
	display: inline-block;
	border-radius: 2px;
}


/* フォーム */
form div.form-check label {
	margin-right: auto !important;
	display: inline-block;
	float: none;
}


.form-check-inline {
	display: inline-block;
	margin-right: 1rem;
}

.form-check-input {
	position: static;
}

.form-check-label {
	margin-bottom: 0;
}

.grid {
	display: grid;
	gap: 5px;
	grid-template-columns: 1fr 4fr 4fr;
}

.grid div.sd_date {
	white-space: nowrap;
}

@media(max-width: 480px) {
	.grid {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.grid div.sd_radio {
		margin-bottom: 15px;
	}
}



.info-list {
	display: flex;
	flex-direction: column;
	margin-bottom: 10px;
}

.info-list .info-item {
	display: flex;
	justify-content: space-between;
	padding: 1px 0;
}

.info-list .label {
	font-weight: bold;
	margin-right: 10px;
	color: #0095d9;
}

.info-list .content {
	flex: 1;
	text-align: left;
}
.info-list .two-column {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.info-list .two-column>div {
	flex: 1;
	display: flex;
	justify-content: space-between;
	padding: 1px 0;
}

section#school_detail>.container {
	max-width: 900px;
}




.header-text-row span.cmenu {
	padding-left: 50%!important;
}
.header-text-row span.cmenu a {
	margin-right: 20px;
}
.header-text-row .login,
.header-text-row .logout,
.header-text-row .mypage {
	/* display: none; */
}


				        .btn_fv .button {
				        	padding: 10px 20px;
				        	color: white;
				        	text-decoration: none;
				        	display: inline-block;
				        	margin: 5px;
				        	cursor: pointer;
				        }
				
				        .btn_fv .tooltip {
				        	visibility: hidden;
				        	background-color: red;
				        	color: #fff;
				        	text-align: center;
				        	border-radius: 5px;
				        	padding: 5px;
				        	position: absolute;
				        	z-index: 1;
				        	top: -40px;
				        	/* Position the tooltip above the buttons */
				        	left: 50%;
				        	transform: translateX(-50%);
				        	opacity: 0;
				        	transition: opacity 0.3s;
				        }
				
				        .btn_fv .tooltip::after {
				        	content: "";
				        	position: absolute;
				        	bottom: -5px;
				        	/* Position the arrow at the bottom of the tooltip */
				        	left: 50%;
				        	transform: translateX(-50%);
				        	border-width: 5px;
				        	border-style: solid;
				        	border-color: black transparent transparent transparent;
				        }
				
				        .btn_fv .show-tooltip {
				        	visibility: visible;
				        	opacity: 1;
				        }
				
				        .btn_send_center {
									position: relative;
										/* Make this container the reference for absolute positioning */
										display: flex;
										justify-content: center;
										align-items: center;
										flex-direction: column;
										overflow: visible;
				        }
				
								.button.hidden {
				        	display: none!important;
				        }
				


div.testform input, div.testform input[type="checkbox"], div.testform textarea,
div.testform .form-check label {
    /* pointer-events: none; */
    /* background-color: #e0e0e0; */
    /* color: #a0a0a0; */
    /* border-color: #a0a0a0; */
}



/* 募集要項 */
.bright-table {
	background-color: #f8f9fa;
	color: #212529;
}

.bright-table th,
.bright-table td {
	border: 1px solid #dee2e6;
	padding: 15px;
	font-size: 1rem;
}

.bright-table th {
	background-color: #e9ecef;
	text-align: left;
	font-weight: bold;
}

.bright-table td {
	background-color: #fcfcfc;
}


/* マイページ */
section#mypage dl {
	margin: 20px;
	padding: 20px;
	border: 1px solid #dee2e6;
	border-radius: 5px;
	background-color: #f8f9fa;
}

section#mypage dt {
	font-weight: bold;
	font-size: 1.2em;
	margin-top: 10px;
}

section#mypage dd {
	margin-left: 20px;
	margin-bottom: 10px;
}

section#mypage .post {
	padding: 10px 0;
	border-bottom: 1px solid #dee2e6;
}

section#mypage .post:last-child {
	border-bottom: none;
}
		



@media (min-width: 992px) {
			dt.col-sm-3,
				dd.col-sm-9 {
					margin-bottom: 0.5rem;
				}
			
				dt.col-sm-3 {
					flex: 0 0 25%;
					max-width: 25%;
				}
			
				dd.col-sm-9 {
					flex: 0 0 75%;
					max-width: 75%;
				}
}




/* サムネイル画像の高さ調整 */
div.row_search_list .card-img {
    height: 120px; /* 固定の高さ */
    overflow: hidden; /* 高さを超える部分を隠す */
    display: flex;
    justify-content: center;
    align-items: center;
}

div.row_search_list .card-img img {
    height: 100%; /* 親要素の高さに合わせる */
    width: auto; /* 縦横比を維持 */
    object-fit: cover; /* 画像を中央にトリミング */
}

/* PC用 */
@media (min-width:768px) {
	div.row_search_list .card-img {
			height: 160px;
		}
}




.linkbtn-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; /* ボタン間の隙間を調整 */
}

.linkbtn-container .btn {
  white-space: nowrap; /* ボタン内のテキストを改行させない */
  margin-bottom: 2px; /* 各ボタンの下に余白を追加 */
}




/* ============================= 履歴書 ============================= */
body div.blk_rrk {
	font-size: 20px;/* 基本サイズ------------------------------------- */
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    position: relative; /* 相対位置指定で内部要素を絶対位置で配置するための基準を作る */

		width: 100%;
    height: 100%; /* 高さは適宜調整------------------------------------- */
    /* background-image: url('/assets/img/rrk01.jpg'); */
    background-size: cover; /* 画像がdivのサイズに合わせてカバーされるように */
    background-position: top; /* 画像がdivの中心に配置されるように */

		padding: 0 8.5%!important;
}	
.rrk_photo {
		position: absolute; /* 絶対位置指定で、親要素の右上に配置 */
		top: 30px;
		right: 12.5%;
		width: 135px;
		height: 180px;
		border: 1px solid #999; /* 黒の境界線を追加 */
}


		/* =============================Firefox============================= */
		@-moz-document url-prefix() {
			body div.blk_rrk {
				font-size: 95%;
				width: 210mm;

				padding: 0 17.5mm !important;
			}
			.rrk_photo {
					position: absolute; /* 絶対位置指定で、親要素の右上に配置 */
					top: 5mm;
					right: 20mm; 
					width: 30mm;
					height: 40mm;
					border: 1px solid #999; /* 黒の境界線を追加 */
			}
		}




					@media screen {
						div.blk_rrk{
							/* テスト用------------------------------------- */
							display: none;
						}
					}

					button#logprintButton {
						/* テスト用------------------------------------- */
						/* display: none; */
					}

  .row_title h2 {
		font-size: 40px;
    text-align: left;
		margin-bottom: 2mm;
  }
  .date-current {
    text-align: right;
  }
	.no-padding {
		padding: 0 !important;
	}


.grp {
    border: 1px solid #111; /* ボックス全体の境界線の色を#111に */
    padding: 0; /* 内部の余白を削除 */
		margin-bottom: 2.5mm;
}
.grp.grp_nonebtm{
    border-bottom: none;
		margin-bottom: 0!important;
}


.grp .row {
    margin: 0; /* 行のマージンを削除 */
		flex-wrap: nowrap;
}
.grp .row_01, .grp .row_address01 {
    border-bottom: 1px dotted #111; /* 各行の下境界線の色 */
}
.grp .row_02 {
    border-bottom: 1px solid #111; /* 各行の下境界線の色 */
}


.grp .row > div {
	padding: 7px; /* 内部パディング---------------------------------------------------*/ */
}

				/* =============================Firefox============================= */
				@-moz-document url-prefix() {
					.grp .row>div {
							padding: 1.75mm;
						}
				}


.grp .row:last-child {
    border-bottom: none; /* 最後の行の下境界線を削除 */
}

.grp_name, .row_title{
	width: 72.5%;/* 名前ボックスの幅---------------------------------------------------*/
}

div#name_01 span.shimei {
	font-size: 200%;
}


		/* 横並び */
		.grp .row .rrk_col {
				display: inline-block; /* 横並びにする */
				vertical-align: top; /* 上端揃え */
				box-sizing: border-box; /* パディングと境界線を幅に含める */
				border-left: 1px solid #111; /* 右に境界線の色 */
				margin: 0; /* マージンを削除 */
				padding-right: 0;
		}
		/* 先頭の列は境界線なし */
		.grp .row div.rrk_col:first-child {
				border-left: none;
		}
		.grp .row #birth_1 {
				width: 75%;
		}
		.grp .row #gender {
				position: relative;
				padding-left: 60px;
		}

				.grp .row #gender > span.kome {
					position: absolute; /* 絶対位置指定で、親要素の右上に配置 */
					top: 2px;
					left: 2px;
					font-size: 75%;
				}

		.grp .row #address_kana, .grp .row #address_kana_sub,
		.grp .row #postcode_1,
		.grp .row #postcode_1_sub {
				width: 75%;
		}


		#kana_01>span.lbl, #name_01>span.lbl{
				display: inline-block;
				width: 100px;
		}



		/* 基本説明文 */
		.grp .row span.lbl {
				font-size: 90%;
				padding-right: 2px;
		}

		/* Email */
		.grp .row #email, .grp .row #email_sub {
				font-size: 80%;
				word-break: break-all;
		}


		/* 郵便番号 */
		.grp .row div.pcode {
				font-size: 80%;
				margin-bottom: 2px;
		}
		.grp .row div.adr {
			font-size: 120%;
		}


/* 学歴・職歴 */
#workR.grp_gakureki {
	margin-top: 50px;
}
				/* =============================Firefox============================= */
				@-moz-document url-prefix() {
				#workR.grp_gakureki {
						margin-top: 0;
					}
					div.print_margin {
							height: 15mm;
						}
				}


.grp_gakureki > .row_top {
	border-bottom: 1px solid #111;
}

.grp_gakureki > .row_gkr {
	border-bottom: 1px dotted #111;
}

.grp_gakureki>.row_top>div {
	font-size: 90%;
	text-align: center;
}
.grp_gakureki>.row h5 {
	font-size: 20px;
}
.grp_gakureki>.row div.cnt {
	margin-bottom: 5px;
}


.grp_gakureki>.row>.rrk_year {
	width: 135px!important;/* 年月の幅---------------------------------------------------*/
}








/* =============================学びリンクカレンダー============================= */


/*breadcrumbs*/
#breadcrumbs {
	font-size: 13px;
	margin: 0 0 2em 0;
	padding: 0;
	list-style: none;
}

#breadcrumbs {
	overflow: hidden;
	width: 100%;
}

#breadcrumbs li {
	float: left;
	margin: 0 0.5em 0 1em;
}

@media screen and (min-width:768px) {
	#breadcrumbs {
		font-size: 18px;
	}

	#breadcrumbs li {
		width: 190px;
	}
}

#breadcrumbs span {
	width: 100%;
	background: #ddd;
	padding: .7em 1em;
	float: left;
	text-decoration: none;
	color: #333333;
	/*  text-shadow: 0 1px 0 rgba(255,255,255,.5);*/
	position: relative;
	cursor: default;
}

#breadcrumbs span:hover {
	/*				  background: #99db76;*/
}

#breadcrumbs span.current {
	background: #99db76;
}

#breadcrumbs span::before {
	content: "";
	position: absolute;
	top: 50%;
	margin-top: -1.5em;
	border-width: 1.5em 0 1.5em 1em;
	border-style: solid;
	border-color: #ddd #ddd #ddd transparent;
	left: -1em;
}

#breadcrumbs a:hover::before {
	/*					  border-color: #99db76 #99db76 #99db76 transparent;*/
}

#breadcrumbs span.current::before {
	border-color: #99db76 #99db76 #99db76 transparent;
}


#breadcrumbs span::after {
	content: "";
	position: absolute;
	top: 50%;
	margin-top: -1.5em;
	border-top: 1.5em solid transparent;
	border-bottom: 1.5em solid transparent;
	border-left: 1em solid #ddd;
	right: -1em;
}

#breadcrumbs span:hover::after {
	/*					  border-left-color: #99db76;*/
}

#breadcrumbs span.current::after {
	border-left-color: #99db76;
}


#breadcrumbs .current,
#breadcrumbs .current:hover {
	color: #FFF;
	font-weight: bold;
	/*  background: none;*/
}

#breadcrumbs .current::after,
#breadcrumbs .current::before {
	/*  content: normal;*/
}




/* タイトル下線非表示 */
div.subtitle>hr{
	display: none;
}



/* =============================学びリンクカレンダー============================= */


/*breadcrumbs*/
#breadcrumbs {
	font-size: 13px;
	margin: 0 0 2em 0;
	padding: 0;
	list-style: none;
}

#breadcrumbs {
	overflow: hidden;
	width: 100%;
}

#breadcrumbs li {
	float: left;
	margin: 0 0.5em 0 1em;
}

@media screen and (min-width:768px) {
	#breadcrumbs {
		font-size: 18px;
	}

	#breadcrumbs li {
		width: 190px;
	}
}

#breadcrumbs span {
	width: 100%;
	background: #ddd;
	padding: .7em 1em;
	float: left;
	text-decoration: none;
	color: #333333;
	/*  text-shadow: 0 1px 0 rgba(255,255,255,.5);*/
	position: relative;
	cursor: default;
}

#breadcrumbs span:hover {
	/*				  background: #99db76;*/
}

#breadcrumbs span.current {
	background: #99db76;
}

#breadcrumbs span::before {
	content: "";
	position: absolute;
	top: 50%;
	margin-top: -1.5em;
	border-width: 1.5em 0 1.5em 1em;
	border-style: solid;
	border-color: #ddd #ddd #ddd transparent;
	left: -1em;
}

#breadcrumbs a:hover::before {
	/*					  border-color: #99db76 #99db76 #99db76 transparent;*/
}

#breadcrumbs span.current::before {
	border-color: #99db76 #99db76 #99db76 transparent;
}


#breadcrumbs span::after {
	content: "";
	position: absolute;
	top: 50%;
	margin-top: -1.5em;
	border-top: 1.5em solid transparent;
	border-bottom: 1.5em solid transparent;
	border-left: 1em solid #ddd;
	right: -1em;
}

#breadcrumbs span:hover::after {
	/*					  border-left-color: #99db76;*/
}

#breadcrumbs span.current::after {
	border-left-color: #99db76;
}


#breadcrumbs .current,
#breadcrumbs .current:hover {
	color: #FFF;
	font-weight: bold;
	/*  background: none;*/
}

#breadcrumbs .current::after,
#breadcrumbs .current::before {
	/*  content: normal;*/
}




/*calendar*/

/*ctype*/
#ctype_lp {
	font-size: 20px;
	max-width: 640px;
	margin: 0 2em 1em 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
	float: right;
}

#ctype_lp li {
	float: left;
	margin-left: 1em;
}

#ctype_lp li span {
	font-size: 30px;
	vertical-align: -2px;
	margin-right: 10px;
}

#ctype_lp li span.consul {
	color: #99db76;
}

#ctype_lp li span.openschool {
	color: #0081CC;
}

/*ctype2*/
#ctype2_lp {
	font-size: 15px;
	max-width: 640px;
	margin: 1em auto;
	padding: 0;
	list-style: none;
	overflow: hidden;
}

@media screen and (min-width:768px) {
	#ctype2_lp {
		font-size: 20px;
	}
}

#ctype2_lp li {
	float: left;
	margin-left: 1em;
}

#ctype2_lp li span {
	font-size: 20px;
	margin-right: 10px;
}


table.calendar {
	width: 100%;
	vertical-align: top;
	margin: 0 auto 1.5em auto;
}

table.calendar-time {
	max-width: 720px;
}

table.calendar th,
table.calendar td {
	width: 14.285%;
	height: auto;
	font-size: 15px;
	text-align: center;
	vertical-align: middle;
	padding: 0 !important;
}

@media screen and (min-width:768px) {

	table.calendar th,
	table.calendar td {
		font-size: 20px;
	}
}

table.calendar-time td {
	/* padding: 0 15px; */
}

table.calendar caption {
	font-size: 15px;
	text-align: center;
}

@media screen and (min-width:768px) {
	table.calendar caption {
		font-size: 24px;
	}
}

table.calendar {
	border-collapse: collapse;
	color: #333;
}

table.calendar caption {
	font-weight: bold;
	margin-bottom: 0.5em;
}

table.calendar th,
table.calendar td {
	border: solid 1px #888;
	text-align: center;
}

table.calendar th {
	padding: 5px 0;
	background: #f8f8f8;
}

table.calendar th.sunday {
	background: #ffe0e0;
	color: #f00;
}

table.calendar th.weekday {
	background: #f8f8f8;
}

table.calendar th.saturday {
	background: #ddebff;
	color: #045acc;
}

table.calendar td a,
table.calendar td span {
	color: #FFF;
	padding: 12px 0;
	display: block;
}

table.calendar td.status span {
	color: #888;
	margin: 0 0.5rem;
}

table.calendar td.status div.counselor {
	text-align: left;
	display: grid;
	grid-template-columns: 50% 50%;
}

table.calendar td.status div.counselor a,
table.calendar td.status div.counselor div {
	padding: 6px 0;
	display: inline-block;
	float: right;
}

table.calendar td.status div.counselor div.cname {
	white-space: nowrap;
	padding-left: 1rem;
}

table.calendar td.status a.btn {
	width: 100%;
	max-width: 150px;
	margin: 0;
}

input[type=checkbox],
input[type=radio] {
	transform: scale(1.5);
	margin: 0 0.5rem;
}

table.calendar td a {
	color: #FFF;
}

table.calendar td span {
	color: #CCC;
}

table.calendar td a.consul {
	background: #99db76;
}

table.calendar td a.openschool {
	background: #0081CC;
}


table.calendar td a.consul {
	background: #99db76;
}

table.calendar td a.openschool {
	background: #0081CC;
}
