@charset "utf-8";
/* CSS Document */

/*=================================================================================
main.css
=================================================================================*/

/*---------------------------------------------------------------------------------
      course
---------------------------------------------------------------------------------*/
.only_pc {
	display: block;
}

.only_sp {
	display: none;
}

#container .main {
	width: 640px;
	margin: 0 auto;
	padding-bottom: 30px;
}

#container .main p {
	font-size: 14px;
	margin: 0.3em 0 0.8em;
	line-height: 1.6;
}

@media screen and (max-width: 736px) {
	.only_pc {
		display: none;
	}

	.only_sp {
		display: block;
	}

	#container .main {
		width: 90%;
		margin: 0 auto;
	}
}

/* 汎用 ----------------------------------------------------------------------------.titPad { font-weight: bold; padding: 0; margin: 1em 0 0!important; border-bottom: 1px solid #657a86; color: #657a86; font-size: 1.1em!important;}
 */
#container .main h2 {
	font-size: 28px;
	line-height: 1.5;
	text-align: center;
	padding: 30px 0;
	margin-top: 3em;
	font-weight: bold;
	color: #657a86
}

#container .main h2:first-child {
	margin-top: 0;
}

#container .main h2 span {
	font-size: 0.8em;
	font-weight: normal;
	display: block;
}

@media screen and (max-width: 736px) {
	#container .main h2 {
		font-size: 20px;
		line-height: 1.5;
		padding: 15px;
	}
}

#container .main h3 {
	padding: 0;
	margin-bottom: 0;
}

#container .main h2.kakomonH2 {
	margin: 3em auto 0 !important;
	padding: 0 0 15px !important;
}

#container .main h2.kakomonH2:first-of-type {
	margin: 1.5em auto 0 !important;
	padding: 0 0 15px !important;
}

#container .main h3.kakomon-h3 {
	margin: 0 auto 0;
	background: #95aab6;
	color: #FFF;
	padding: 8px 16px;
}

#container .main h3.scheH3 {
	margin: 1em auto 0.5em;
	background: #95aab6;
	color: #fff;
	padding: 8px 16px;
	text-align: center;
}

dl.scheDl {
	margin: 0 auto 1em;
	padding: 0;

	display: flex;

	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}

dl.scheDl dd {
	margin: 0 10px 10px;
	padding: 0;
	text-align: center;

	display: flex;

	flex-wrap: wrap;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;


	width: 300px;
	background: #fff;
}

dl.scheDl dd b {
	display: block;
	width: 100%;
	margin-bottom: 5px;
	padding-bottom: 3px;
	background: #e0e7eb;
}

dl.scheDl dd img {
	max-width: 134px;
}

dl.scheDl dd p {
	margin: 5px auto;
	padding: 0 16px;
}


dl.layDl {
	margin: 1em auto 1em;
	padding: 0;

	display: flex;

	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}

dl.layDl dd {
	margin: 0 10px 10px;
	padding: 0;
	text-align: center;

	display: flex;

	flex-wrap: wrap;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;


	max-width: 600px;
}

dl.layDl dd b {
	display: block;
	width: 100%;
	margin-bottom: 5px;
	padding-bottom: 3px;
	background: #e0e7eb;
	font-size: 14px;
}

dl.layDl dd img {
	max-width: 600px;
}

dl.layDl dd p {
	margin: 5px auto;
	padding: 0 16px;
	text-align: left;
	font-size: 14px;
}

.optW280 {
	max-width: 280px !important;
}


#container .main em {
	font-style: normal;
	color: #d60000;
}

.titPad {
	background-color: #e0e7eb;
	padding: 2px 10px;
	margin: 1em 0 0.5em !important;
	letter-spacing: 1px;
	color: #314b57;
}

.titPad+p {
	padding: 2px 10px;
}

.cntpadA {
	padding: 2px 10px;
}

h3+.titPad {
	margin: 0.5em 0 0.5em !important;
}

.boxHoption {
	text-align: center;
	margin-top: 2.5em;
}

.boxHoption span {
	display: block;
	font-size: 0.7em;
	font-weight: normal;
	margin-bottom: 0.5em;
}

h2+.boxHoption {
	margin-top: 0em;
}


.mainArticleBox {
	background-color: #FFF;
	margin-bottom: 2em;
	padding: 0.8em 1.5em;
}

.mainArticleBox h3 {
	color: #657a86;
	font-size: 18px;
	margin-bottom: 10px;
}

.mainArticleBox h4 {
	background-color: #e0e7eb;
	padding: 2px 10px;
	margin: 1em 0 0.5em !important;
	letter-spacing: 1px;
	color: #314b57;
	font-size: 14px;
}

.mainArticleBox p {
	padding: 2px 10px;
}

.introPad {
	padding: 30px 0 0 !important;
	margin-bottom: 0 !important;
}

.kakomon-list {
	margin: 0.5em 2em 2em;
}

.kakomon-list li {
	list-style: disc;
	margin-bottom: 0.5em;
}

.kakomon-list li a {
	color: #2E94B9;
}

.pageimage img {
	max-width: 640px;
}

.pageimage {
	text-align: center;
	max-width: 640px;
	margin-bottom: 5px;
}

@media screen and (max-width: 736px) {
	.pageimage img {
		width: 100%;
	}

	.pageimage {
		width: 100%;
	}
}

.scroll {
	overflow: visible;
	padding: 0 0 0;
	margin: 0 auto;
	border: none;
}

@media screen and (max-width: 736px) {
	.scroll {
		overflow: scroll;
		padding: 5px 5px 20px;
		border: 1px solid #e0e7eb;
		/* border: 1px solid #657a86; */
	}
}

.noteTxRight {
	text-align: right;
}

.tbLaydef01 {
	table-layout: fixed;
	width: 640px;
	margin: 0.2em 0;
	padding: 0;
	border: 1px solid #ccc;
	border-collapse: collapse;
	font-size: 14px;
}

.tbLaydef01 caption {
	font-weight: bold;
	text-align: center;
	margin: 1em 0 0.2em;
	font-size: 1.4em;
}

.tbLaydef01 tr {
	background: #fff;
}

.tbLaydef01 th {
	font-weight: bold;
	text-align: center;
	padding: 0.3em;
	background: #d48287;
	color: #fff;
	border: 1px solid #ccc;
	border-collapse: collapse;
	vertical-align: middle;
}

.tbLaydef01 td {
	font-weight: normal;
	text-align: center;
	padding: 0.3em;
	border: 1px solid #ccc;
	border-collapse: collapse;
	vertical-align: middle;
}

.tbOptRight td {
	text-align: right;
}

.tbOptW48 {
	width: 48px !important;
}

.tbOptW80 {
	width: 80px !important;
}

.tbOptW90 {
	width: 90px !important;
}

.bgCoptA tr {
	background: #f9edee;
}

.nthOpt tr:nth-of-type(even) {
	background: #f9edee;
}

.bgCoptSele tr {
	background: #ecf7fb;
}

.bgCoptSele th {
	background: #60b4d1;
}

.bgCoptProg tr {
	background: #f1fbec;
}

.bgCoptProg th {
	background: #9ad160;
}

.bgCoptAthe tr {
	background: #fbecec;
}

.bgCoptAthe th {
	background: #d16060;
}

.bgCoptall th {
	background: #82a3d4;
}

.optBgSele {
	background: #60b4d1 !important;
}

.optBgProg {
	background: #9ad160 !important;
}

.optBgAthe {
	background: #d16060 !important;
}

.sub_deptCnt {
	font-weight: bold;
	padding-bottom: 1em;
	font-size: 1em !important;
}

.optTxleft {
	text-align: left !important;
}

.laytbBox {
	margin-bottom: 2em;
	padding-bottom: 2em;
	border-bottom: solid 1px #ccc;
}

#container ul.downBtn {
	list-style-type: none;
	margin: 1em 0;
	padding: 0;

	display: flex;

	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#container ul.downBtn li {
	list-style-type: none;
	margin: 0.8em 0.3em;
	padding: 0;
}

#container ul.downBtn li a {
	display: block;
	text-decoration: none;
	color: #fff;
	border-radius: 5px;
	padding: 8px 14px 8px 40px;
	background: #d60000 url(/images/common/ico_download.svg) 10px center no-repeat;
	background-size: 18px auto;
}

#container ul.downBtn li a:hover {
	text-decoration: none;
	background: #5f7a86 url(/images/common/ico_download.svg) 10px center no-repeat;
	background-size: 18px auto;
	transition: .3s;
}

#container ul.outlinkBtn {
	list-style-type: none;
	margin: 1em 0;
	padding: 0;

	display: flex;

	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#container ul.outlinkBtn li {
	list-style-type: none;
	margin: 0.8em 0.3em;
	padding: 0;
}

#container ul.outlinkBtn li a {
	display: block;
	text-decoration: none;
	color: #314b57;
	border: 1px solid #314b57;
	padding: 8px 14px 8px 30px;
	background: url(/images/common/ico_blank_gr.gif) 10px center no-repeat;
	background-size: 12px auto;
}

#container ul.outlinkBtn li a:hover {
	text-decoration: none;
	color: #fff;
	background: url(/images/common/ico_blank_gr.gif) 10px center no-repeat;
	background-color: #314b57;
	background-size: 12px auto;
	transition: .3s;
}

#container ul.nextlinkBtn {
	list-style-type: none;
	margin: 1em 0;
	padding: 0;

	display: flex;

	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#container h2+ul.nextlinkBtn {
	margin: 0 0 1em;
}

#container ul.nextlinkBtn li {
	list-style-type: none;
	margin: 0.8em 0.3em;
	padding: 0;
}

#container ul.nextlinkBtn li a {
	display: block;
	text-decoration: none;
	color: #314b57;
	border: 1px solid #314b57;
	padding: 8px 38px 8px 22px;
	background: url(/images/common/navi_cursor_l3.png) right -2px top -3px no-repeat;
	background-size: 46px auto;
}

#container ul.nextlinkBtn li a:hover {
	text-decoration: none;
	color: #fff;
	background: url(/images/common/navi_cursor.png) right -2px top -3px no-repeat;
	background-color: #314b57;
	background-size: 46px auto;
	transition: .3s;
}

.cntLinkBox {
	display: inline-block;
	padding: 3px 5px;
	border: 1px solid #314b57;
}


/* 教育システム　/course/ ---------------------------------------------------------------------------- */

/* 教育システムインデックス  id:cours_index */

/* class:maincopy  */
#course_index .maincopy {
	padding: 0 0 50px 0;
	text-align: center;
}

#course_index .maincopy h2 span {
	font-size: 30px;
	font-weight: bold;
	line-height: 1em;
	background: linear-gradient(transparent 50%, #ff6 50%);
	padding: 10px;
	letter-spacing: .1em;
}


/* #course_index #container .info_box nav ol li a:hover {
	opacity: 1 !important;
} */

#course_index #container .info_box {
	padding-bottom: 0;
}

#course_index #container .info_box nav li {
	flex-wrap: wrap;
	box-sizing: border-box;
	color: #fff;
	padding: 0;
	text-align: center;
	align-items: stretch;
}

#course_index #container .info_box {
	display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: stretch;
}

#course_index #container .info_box nav {
	width: 75%;
}

#course_index #container .info_box nav ul {
	position: relative;
}

#course_index #container .info_box nav ul li:hover {
	opacity: 1;
}

#course_index #container .info_box nav a {
	display: block;
	position: relative;
    z-index: 1;
    transition: .3s;
}

#course_index #container .info_box nav a h2 {
	padding: 0;
	margin: 0 0 20px;
	line-height: 1.5;
	font-weight: 600;
}

#course_index #container .info_box nav a h2 span {
    display: inline-block;
    padding: 0;
    font-size: 16px;
    font-weight: 500;
}

#course_index #container .info_box .description {
	width: 25%;
}

#course_index #container .info_box .description a {
	display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
	height: 100%;
	padding: 40px 15px;
	color: #000;
	background: #f2f5f7;
    box-sizing: border-box;
	transition: .3s;
	border: 1px #cbd5dc;
	border-style: solid none;
}

#course_index #container .info_box .description a:hover {
	color: #fff;
	background: #000;
	text-decoration: none;
}

#course_index #container .info_box .description h2 {
	width: 100%;
	font-weight: bold;
	font-size: 20px;
	align-self: flex-end;
}

#course_index #container .info_box .description p {
	font-size: 14px;
	text-align: center;
	align-self: flex-start;
}

/* 中学校 class:jr */
#course_index #container .info_box.jr {
	margin: 15px 0;
}

#course_index #container .info_box.jr nav ol {}

#course_index #container .info_box.jr nav a {
	padding: 40px 15px;
}

#course_index #container .info_box.jr nav ul li {
	width: 50%;
}

#course_index #container .info_box.jr nav ul li.technical {
	background: url(/images/course/img_course_jr_2026_01.jpg) 0 center no-repeat;
	background-size: cover;
}

#course_index #container .info_box.jr nav ul li.technical a {
	background: rgba(62, 133, 192, 0.5);
}

#course_index #container .info_box.jr nav ul li.technical a:hover {
    background: rgba(62, 133, 192, 1);
}

#course_index #container .info_box.jr nav ul li.english {
	background: url(/images/course/img_course_jr_2026_02.jpg) center no-repeat;
	background-size: cover;
}

#course_index #container .info_box.jr nav ul li.english a {
	background: rgba(11, 162, 154, 0.5);
}

#course_index #container .info_box.jr nav ul li.english a:hover {
    background: rgba(11, 162, 154, 1);
}

#course_index #container .info_box.jr nav ul li.integrated {
	background: url(/images/course/img_course_jr_2026_03.jpg) 0 center no-repeat;
	background-size: cover;
}

#course_index #container .info_box.jr nav ul li.integrated a {
	background: rgba(238, 146, 55, 0.5);
}

#course_index #container .info_box.jr nav ul li.integrated a:hover {
    background: rgba(238, 146, 55, 1);
}

#course_index #container .info_box.jr nav ul li.ict {
	background: url(/images/course/img_course_jr_2026_04.jpg) 0 center no-repeat;
	background-size: cover;
}

#course_index #container .info_box.jr nav ul li.ict a {
	background: rgba(143, 130, 188, 0.5);
}

#course_index #container .info_box.jr nav ul li.ict a:hover {
    background: rgba(143, 130, 188, 1);
}



/* 高等学校 class:senior  */
#course_index #container .info_box.senior {
	margin-bottom: 50px;
}

#course_index #container .info_box.senior nav ul li {
	width: calc(100% / 3);
	margin: 0;
}

#course_index #container .info_box.senior nav ul li a {
	padding: 60px 15px;
}

#course_index #container .info_box.senior nav ul li.selection {
	background: url(/images/course/img_course_senior_2026_01.jpg) 0 center no-repeat;
	background-size: cover;
}

#course_index #container .info_box.senior nav ul li.progress {
	background: url(/images/course/img_course_senior_2026_02.jpg) 0 center no-repeat;
	background-size: cover;
}

#course_index #container .info_box.senior nav ul li.athlete {
	background: url(/images/course/img_course_senior_2026_03.jpg) 0 center no-repeat;
	background-size: cover;
}

#course_index #container .info_box.senior nav ul li.global {
	background: url(/images/course/img_course_senior_2026_04.jpg) 0 center no-repeat;
	background-size: cover;
}

#course_index #container .info_box.senior nav ul li.inquiry {
	background: url(/images/course/img_course_senior_2026_05.jpg) 0 center no-repeat;
	background-size: cover;
}

#course_index #container .info_box.senior nav ul li.ict {
	background: url(/images/course/img_course_senior_2026_06.jpg) 0 center no-repeat;
	background-size: cover;
}

#course_index #container .info_box.senior nav ul li.selection a {
	background: rgba(20, 72, 146, 0.5);
}

#course_index #container .info_box.senior nav ul li.progress a {
	background: rgba(34, 146, 88, 0.5);
}

#course_index #container .info_box.senior nav ul li.athlete a {
	background: rgba(241, 140, 56, 0.5);
}

#course_index #container .info_box.senior nav ul li.selection a:hover {
	background: rgba(20, 72, 146, 1);
	transition: .3s;
}

#course_index #container .info_box.senior nav ul li.progress a:hover {
	background: rgba(34, 146, 88, 1);
	transition: .3s;
}

#course_index #container .info_box.senior nav ul li.athlete a:hover {
	background: rgba(241, 140, 56, 1);
	transition: .3s;
}

#course_index #container .info_box.senior nav ul li.global a {
	background: rgba(11, 162, 154, 0.5);
}

#course_index #container .info_box.senior nav ul li.global a:hover {
    background: rgba(11, 162, 154, 1);
}

#course_index #container .info_box.senior nav ul li.inquiry a {
	background: rgba(238, 146, 55, 0.5);
}

#course_index #container .info_box.senior nav ul li.inquiry a:hover {
    background: rgba(238, 146, 55, 1);
}

#course_index #container .info_box.senior nav ul li.ict a {
	background: rgba(143, 130, 188, 0.5);
}

#course_index #container .info_box.senior nav ul li.ict a:hover {
    background: rgba(143, 130, 188, 1);
}

#course_index #container .info_box.senior .description a {
	background: #e5ebee;
}

#course_index #container .info_box.senior .description a:hover {
	background: #000;
}

/* #course_index #container .info_box nav li.description {
	width: 25%;
	color: #fff;
	background: #627a86;
	padding: 40px 15px;
}

#course_index #container .info_box nav li.description:hover {
	opacity: 1 !important;
}

#course_index #container .info_box nav li.description h2 {
	width: 100%;
	font-weight: bold;
	font-size: 20px;
}

#course_index #container .info_box nav li.description p {
	font-size: 14px;
	text-align: center;
} */

#container .bt_area {
	width: 100%;
	padding: 30px 0;
	text-align: center;
}

#container .bt_area a.bt_dl {
	color: #fff;
	background: #d60000;
	border-radius: 5px;
	padding: 10px 30px;
}

#container .bt_area a.bt_dl:before {
	display: inline-block;
	width: 18px;
	height: 18px;
	content: "";
	background: url(/images/common/ico_download.svg) 0 0 no-repeat;
	background-size: 18px;
	margin-bottom: -5px;
	margin-right: 10px;
}

@media screen and (max-width: 736px) {
	#course_index .maincopy h2 span {
		background: linear-gradient(transparent 60%, #ff6 60%);
		line-height: 1.8em;
	}

	#course_index #container .info_box nav a h2 {
		font-size: 18px;
	}

	#course_index #container .info_box nav a h2 span {
		font-size: 14px;
	}

	#course_index #container .info_box nav li.description,
	#course_index #container .info_box.senior nav ul li a,
	#course_index #container .info_box.jr nav a {
		padding: 20px 15px;
	}

	#course_index #container .info_box nav {
		width: 100%;
	}

	#course_index #container .info_box nav ol {
		display: block;
	}

	#course_index #container .info_box.jr nav ol li:first-of-type,
	#course_index #container .info_box.jr nav ol li:last-of-type,
	#course_index #container .info_box nav li {
		width: 100% !important;
	}

	#course_index #container .info_box.jr nav ol li:first-of-type h2 {
		width: 90%;
		font-size: 20px;
	}

	#course_index #container .info_box .description {
		width: 100%;
	}

	#course_index #container .info_box.senior nav ul li:nth-child(4) {
		margin-top: 10px;
	}
}


/* コース共通  class:course */
.course #container #title h1,
.course #container #title p,
.course #container #title .breadcrumb,
.course #container #title .breadcrumb a {
	color: #fff;
}

.course #container #title h1 {
	margin-bottom: 5px;
}

.course #container .main h2 {
	font-size: 28px;
	text-align: center;
	padding: 30px 0;
}

.course #container .main .sub_dept {
	display: block;
	font-size: 18px;
	padding-bottom: 30px;
}

.course #container .main .sub_dept span {
	font-size: 14px;
}

.course #container .main .pageimage {
	width: 100%;
	margin-bottom: 20px;
}

.course #container .main .pageimage img {
	width: 100%;
}

/* ページ上部コース概要共通 */
.course #container .main .summary {
	margin-bottom: 20px;
}

.course #container .main .summary h3 {
	color: #fff;
	text-align: center;
	padding: 10px;
	margin-bottom: 10px;
	letter-spacing: .1em;
}

.course #container .main .summary ul {
	display: block;
	box-sizing: border-box;
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 15px 15px 0 15px;
	color: #ccc;
	margin-bottom: 20px;
	font-weight: bold;
}

.course #container .main .summary ul li {
	margin-bottom: .8em;
	line-height: 1.8;
}

.course #container .main .summary ul li span {
	font-size: 14px;
	border: 1px solid #ccc;
	border-radius: 3px;
	margin: 0 15px 15px 0;
	padding: 1px 5px;
}

/* 時間割など共通 */
.course #container .main dl {
	display: block;
	box-sizing: border-box;
	margin-bottom: 30px;
	background: #fff;
}

.course #container .main dl dt {
	text-align: center;
	padding: 10px;
}

.course #container .main dl dd {
	padding: 15px;
}

.course #container .main dl dd img {
	width: 100%;
	margin: 0 auto;
}

.course #container .main dl .col_2 {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	align-items: flex-start;
	justify-content: center;
}

.course #container .main dl .col_2 div {
	box-sizing: border-box;
	width: 50%;
}

.course #container .main dl .col_2 div:first-of-type {
	padding-right: 10px;
}

.course #container .main dl .col_2 div:last-of-type {
	padding-left: 10px;
}

@media screen and (max-width: 736px) {
	.course #container .main dl .col_2 div:first-of-type {
		padding-right: 0;
	}

	.course #container .main dl .col_2 div:last-of-type {
		padding-left: 0;
	}
}

.course #container .main dl .col_2 div strong {
	font-size: 16px;
}

/* student_voice teacher_voice og_voice 共通 */
.course #container .main .student_voice,
.course #container .main .teacher_voice,
.course #container .main .og_voice {
	margin: 15px 0;
}

.course #container .main .student_voice h3,
.course #container .main .teacher_voice h3,
.course #container .main .og_voice h3 {
	position: relative;
	color: #333;
	text-shadow: 0 0 2px white;
	z-index: 0;
	padding: 15px 0;
	font-weight: normal;
	font-size: 30px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 15px;
}

.course #container .main .student_voice h3:before,
.course #container .main .teacher_voice h3:before,
.course #container .main .og_voice h3:before {
	display: block;
	width: 50px;
	height: 50px;
	content: "";
	background: #ccc;
	border-radius: 50%;
	position: absolute;
	top: 15px;
	left: -15px;
	z-index: -1;
}

.course #container .main .student_voice strong,
.course #container .main .teacher_voice strong,
.course #container .main .og_voice strong {
	display: block;
	margin-bottom: 10px;
}

.course #container .main .teacher_voice h3,
.course #container .main .teacher_voice strong {
	color: #ce7720;
}

.course #container .main .teacher_voice h3 {
	border-color: #ce7720;
}

.course #container .main .teacher_voice h3:before {
	background: rgba(206, 119, 32, 0.2);
}

.course #container .main .teacher_voice p {
	color: #291807;
}

/* ページ最下部のリンク 共通 */
.course #container .main .link a {
	display: block;
	width: 290px;
    padding: 10px;
	margin: 40px auto;
    color: #fff;
    text-align: center;
    border-radius: 5px;
}

.course #container .main .link.selection a {
	background: #144892;
}

.course #container .main .link.progress a {
	background: #229258;
}

.course #container .main .link.athlete a {
	background: #f18c38;
}

.course #container .main .pager {
	padding: 15px 0;
	border-top: 1px solid #ccc;
}

.course #container .main .pager ul {
	display: flex;
}

.course #container .main .pager ul li {
	box-sizing: border-box;
	width: 50%;
	padding: 0 15px;
}

.course #container .main .pager ul li a {
	display: block;
	background: #ccc;
	color: #fff;
	text-align: center;
	align-items: center;
	padding: 10px;
	border-radius: 5px;
}

.course #container .main .pager ul li.selection a {
	background: #144892;
}

.course #container .main .pager ul li.progress a {
	background: #229258;
}

.course #container .main .pager ul li.athlete a {
	background: #f18c38;
}

/* 選抜特進  id:selection */
#selection #container #title {
	background: #144892;
}
#selection #container #title .en,
#selection #container #title .ja {
	color: #fff;
}

#selection #container .main .student_voice h3,
#selection #container .main .student_voice strong,
#selection #container .main h2,
#selection #container .main dl .col_2 div strong,
#selection #container .main .summary ul {
	color: #144892;
}

#selection #container .main .student_voice h3,
#selection #container .main .summary ul {
	border-color: #144892;
}

#selection #container .main .student_voice h3:before,
#selection #container .main dl dt {
	background: rgba(2, 135, 180, 0.2);
	color: #144892;
}

#selection #container .main .student_voice p {
	color: #022c3b;
}

#selection #container .main .summary h3 {
	background: rgb(2, 135, 180);
	background: linear-gradient(114deg, rgba(2, 135, 180, 1) 0%, rgba(2, 86, 180, 1) 100%);
}

.course #container .main .summary {
	padding: 10px;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
}
#selection #container .main .summary {
	border: double 4px #144892;
	color: #144892;
}
#progress #container .main .summary {
	border: double 4px #229258;
	color: #229258;
}
#athlete #container .main .summary {
	border: double 4px #f18c38;
	color: #f18c38;
}
.course #container .main .main-image {
	margin: 40px 0 0;
}
.course #container .main .main-image img {
	width: 100%;
    height: auto;
}
.course #container .main .image-column {
	display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.course #container .main .image-column img {
	width: 49%;
}
.course #container .main .attention {
	padding: 20px 30px;
    margin: 60px 0;
	border: 2px double;
}
#selection #container .main .attention {
	border-color: #144892;
}
.course #container .main .attention-title {
	margin: 0 0 20px;
	text-align: center;
}
.course #container .main .attention-title .attention-title-main {
	display: block;
	font-size: 24px;
	font-weight: 600;
	text-decoration: underline;
    -webkit-text-decoration-style: solid;
    -moz-text-decoration-style: solid;
    text-decoration-style: solid;
    text-decoration-thickness: 10px;
    text-underline-offset: -5px;
    text-decoration-skip-ink: none;
    text-decoration-skip: none;
}
#selection #container .main .attention-title .attention-title-main {
	color: #144892;
	-webkit-text-decoration-color: #FBFF8E;
    -moz-text-decoration-color: #FBFF8E;
    text-decoration-color: #FBFF8E;
}
.course #container .main .attention-title .attention-title-sub {}
.course #container .main .innovations {
	border-top: 1px dashed;
	counter-reset: innovationsNum;
}
#selection #container .main .innovations {
	border-color: #144892;
}
.course #container .main .innovations-item {
	border-bottom: 1px dashed;
}
#selection #container .main .innovations-item {
	padding: 20px 0;
	border-color: #144892;
}
.course #container .main .innovations-item-title {
	font-size: 20px;
}
#selection #container .main .innovations-item-title {
	color: #144892;
}
.course #container .main .innovations-item-title::before {
	margin: 0 20px 0 0;
    counter-increment: innovationsNum;
    content: '改革' counter(innovationsNum);
    font-size: 20px;
    font-style: italic;
    color: #aaa;
}
.course #container .main .innovations-item-summary {
	margin: 10px 0;
	font-size: 18px;
}
.course #container .main .innovations-item-summary .note {
	font-size: 14px;
}
#selection #container .main .innovations-item-summary {
	color: #144892;
}
.course #container .main .innovations-details-item {
	font-size: 14px;
}
.course #container .main .innovations-details-item:not(:last-child) {
	margin: 0 0 5px;
}
#selection #container .main .innovations-details-item strong {
	color: #144892;
}
.course #container .main .innovations-details-item::before {
	content: '● ';
}
#selection #container .main .innovations-details-item::before {
	color: #144892;
}
.course #container .main .innovations-details-item .note {
	font-size: 12px;
}
.course #container .main .points {
	margin: 40px 0 60px;
}
.course #container .main .points-item {
	display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.course #container .main .points-item:not(:last-child) {
	margin: 0 0 40px;
}
.course #container .main .points-item-title {
	width: 100%;
	padding: 5px 0 5px 15px;
	margin: 0 0 20px;
	font-size: 24px;
}
#selection #container .main .points-item-title {
	border-left: 5px solid #144892;
	color: #144892;
}
#progress #container .main .points-item-title {
	border-left: 5px solid #229258;
	color: #229258;
}
#athlete #container .main .points-item-title {
	border-left: 5px solid #f18c38;
	color: #f18c38;
}
.course #container .main .points-item-detail {
	width: 100%;
	padding: 0 20px 0 0;
	margin: 0 0 20px;
}
.course #container .main .points-child {
	margin: 20px 0;
}
.course #container .main .points-child-item:not(:last-child) {
	margin: 0 0 30px;
}
.course #container .main .points-child-item-title {
	padding: 0 0 5px;
	margin: 0 0 10px;
}
#progress #container .main .points-child-item-title {
	border-bottom: 1px dashed #229258;
	color: #229258;
}
.course #container .main .points-item-image {
	width: 100%;
}
.course #container .main .points-item-image img {
	width: 100%;
	height: auto;
}
.course #container .main .features {
	margin: 0 0 60px;
	counter-reset: featuresNum;
}
.course #container .main .features-item {
	display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.course #container .main .features-item:not(:last-child) {
	margin: 0 0 20px;
}
.course #container .main .features-item-title {
	width: 100%;
	padding: 0 0 10px;
	margin: 0 0 20px;
	font-size: 24px;
}
#selection #container .main .features-item-title {
	border-bottom: 1px solid #144892;
	color: #144892;
}
#progress #container .main .features-item-title {
	border-bottom: 1px solid #229258;
	color: #229258;
}
.course #container .main .features-item-title::before {
	counter-increment: featuresNum;
	content: counter(featuresNum)'. ';
	font-size: 40px;
    font-style: italic;
	color: #aaa;
}
.course #container .main .features-item-detail {
	width: calc(65% - 20px);
	padding: 0 20px 0 0;
}
.course #container .main .features-item-image {
	width: 35%;
}
.course #container .main .features-item-image img {
	width: 100%;
	height: auto;
}
.course #container .main .voice {
	margin: 0 0 60px;
}
.course #container .main .voice-image {
	margin: 0 0 20px;
}
.course #container .main .voice-image img {
	width: 100%;
	height: auto;
}
.course #container .main .voice-detail-wrap {
	padding: 20px 40px;
	border-radius: 50px;
	background: #fff;
}
.course #container .main .voice-detail {
	color: #000;
    font-size: 16px;
    line-height: 2.333;
}
#selection #container .main .voice-detail {
    background: linear-gradient(180deg, transparent 0, transparent calc(100% - 1px), #718fba 1px, #718fba 100%);
    background-size: 100% 2.333em;
}
#progress #container .main .voice-detail {
    background: linear-gradient(180deg, transparent 0, transparent calc(100% - 1px), #6cc095 1px, #6cc095 100%);
    background-size: 100% 2.333em;
}
#athlete #container .main .voice-detail {
    background: linear-gradient(180deg, transparent 0, transparent calc(100% - 1px), #f4c197 1px, #f4c197 100%);
    background-size: 100% 2.333em;
}

/* プログレス  id:progress */
#progress #container #title {
	background: #229258;
}
#progress #container #title .en,
#progress #container #title .ja {
	color: #fff;
}

#progress #container .main .student_voice h3,
#progress #container .main .student_voice strong,
#progress #container .main .og_voice h3,
#progress #container .main .og_voice strong,
#progress #container .main h2,
#progress #container .main dl .col_2 div strong,
#progress #container .main .summary ul {
	color: #229258;
}

#progress #container .main .student_voice h3,
#progress #container .main .og_voice h3,
#progress #container .main .summary ul {
	border-color: #229258;
}

#progress #container .main .student_voice h3:before,
#progress #container .main .og_voice h3:before,
#progress #container .main dl dt {
	background: rgba(109, 171, 74, 0.2);
	color: #229258;
}

#progress #container .main .student_voice p,
#progress #container .main .og_voice p {
	color: #1e2e14;
}

#progress #container .main .summary h3 {
	background: rgb(109, 171, 74);
	background: linear-gradient(114deg, rgba(109, 171, 74, 1) 0%, rgba(96, 131, 76, 1) 100%);
}

/* アスリート  id:athlete */
#athlete #container #title {
	background: #f18c38;
}
#athlete #container #title .en,
#athlete #container #title .ja {
	color: #fff;
}

#athlete #container .main .student_voice h3,
#athlete #container .main .student_voice strong,
#athlete #container .main h2,
#athlete #container .main dl .col_2 div strong,
#athlete #container .main .summary ul {
	color: #f18c38;
}

#athlete #container .main .student_voice h3,
#athlete #container .main .summary ul {
	border-color: #f18c38;
}

#athlete #container .main .student_voice h3:before,
#athlete #container .main dl dt {
	background: rgba(214, 106, 104, 0.2);
	color: #f18c38;
}

#athlete #container .main .student_voice p {
	color: #291615;
}

#athlete #container .main .summary h3 {
	background: #f18c38;
	/* background: linear-gradient(114deg, rgba(214, 106, 104, 1) 0%, rgba(194, 124, 123, 1) 100%); */
}

#athlete #container .main .col_2 h3 {
	color: #f18c38;
	font-size: 16px;
	margin: 10px 0;
}

@media screen and (max-width: 736px) {
	.course #container .main h2 {
		font-size: 24px;
		line-height: 1.8;
		padding: 15px;
	}

	.course #container .main .sub_dept {
		font-size: 18px;
		font-weight: normal;
		padding-bottom: 15px;
	}

	.course #container .main dl .col_2 {
		display: block;
	}

	.course #container .main dl .col_2 div {
		width: 100%;
	}

	.course #container .main dl .col_2 div:first-of-type {
		padding-right: 0;
	}

	.course #container .main .student_voice,
	.course #container .main .teacher_voice,
	.course #container .main .og_voice {
		padding: 15px;
	}

	.course #container .main .pager ul {
		display: block;
	}

	.course #container .main .pager ul li {
		width: 100%;
		margin-bottom: 15px;
	}

	.course #container .main .pager ul li a {}

	.course #container .main .points-item-title {
		font-size: 20px;
	}
	.course #container .main .points-item-detail {
		padding: 0;
	}
	.course #container .main .features-item-title {
		font-size: 18px;
	}
	.course #container .main .features-item-title::before {
		font-size: 32px;
	}
	.course #container .main .features-item-detail {
		width: 100%;
		padding: 0;
	}
	.course #container .main .features-item-image {
		width: 100%;
	}
	.course #container .main .voice-detail-wrap {
		padding: 10px 25px;
		border-radius: 30px;
	}
	.course #container .main .voice-detail {
		font-size: 14px;
	}
}




/* インデックスページ共通 class:index */
.index #contents ul.link_box {
	margin-bottom: 40px;
}

.index #contents ul.link_box:first-child {
	margin-top: 40px;
}

.index #contents ul.link_box:after {
	content: "";
	clear: both;
	display: block;
}

.index #contents ul.link_box li {
	width: 305px;
	box-sizing: border-box;
	float: left;
	margin: 0 15px 15px 0;
}

.index #contents ul.link_box li a {
	display: block;
	padding: 5px 20px;
	border: 1px solid #627a86;
	color: #627a86;
	text-decoration: none;
}

.index #contents ul.link_box li a:hover {
	background: #627a86;
	color: #fff;
	text-decoration: none;
}

.index #contents .toplink_02 {
	margin-bottom: 20px;
}

.index #contents .toplink_02 ul {
	display: flex;
	align-items: center;
}

.index #contents .toplink_02 li {
	display: flex;
	width: 50%;
	align-items: center;
}

.index #contents .toplink_02 li:hover {
	opacity: .6;
	transition: .3s;
}

.index #contents .toplink_02 li a {
	display: block;
	width: 100%;
	padding: 100px 20px;
	color: #fff;
	background: rgba(38, 64, 76, 0.6);
	text-align: center;
	font-size: 18px;
	font-weight: bold;
}

.index #contents .toplink_02 li a:hover {
	text-decoration: none;
}

@media screen and (max-width: 736px) {
	.index #contents ul.link_box {
		margin-bottom: 20px;
	}

	.index #contents ul.link_box:first-child {
		margin-top: 20px;
	}

	.index #contents ul.link_box li {
		clear: both;
		float: none;
		width: 100%;
		margin: 0 0 10px 0;
	}

	.index #contents .toplink_02 {
		margin-bottom: 0;
	}

	.index #contents .toplink_02 ul {
		display: block;
	}

	.index #contents .toplink_02 li {
		width: 100%;
	}

	.index #contents .toplink_02 li a {
		padding: 50px 15px;
	}
}



/* 入試情報・オープンキャンパス　/admission/ ---------------------------------------------------------------------------- */

/* 入試情報インデックス id:admission_index */

#admission_index #contents .toplink_02 li.oc {
	background: url(/images/adminission/admission_index_01.jpg) 0 0 no-repeat;
	background-size: cover;
}

#admission_index #contents .toplink_02 li.brief {
	background: url(/images/adminission/admission_index_02.jpg) 0 0 no-repeat;
	background-size: cover;
}



/* 学園紹介　/about/ ---------------------------------------------------------------------------- */

/* ご挨拶  class:message */
#message #container .main {
	padding-top: 30px;
}

#message #container .main p {
	font-size: 16px;
}

#message #container .main .greeting_head {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: 30px;
}

#message #container .main .greeting_head dl {
	padding-right: 30px;
}

#message #container .main .greeting_head dt {
	font-size: 14px;
}

#message #container .main .greeting_head dd span {
	font-size: 12px;
	padding-right: 1em;
}

#message #container .main .greeting_end {
	text-align: right;
	padding: 20px 0;
}

@media screen and (max-width: 736px) {
	#message #container .main .greeting_head {
		display: block;
		text-align: center;
	}
}



/*  アスリート　h3  */
#athlete #container .main-content h3 {
	color: #f18c38;
	font-size: 20px;
	margin: 10px 0;
	text-align: center;
}

@media screen and (max-width: 736px) {
	#athlete #container .main-content h3 {
		font-size: 18px;
	}
}

/*  クラブ紹介  */
.club #container .main .pageimage {
	width: 100%;
	margin-bottom: 20px;
	margin-top: 50px;
}

.club #container .main .pageimage img {
	width: 100%;
}

.club #container .main h2 {
	color: #314b57;
	letter-spacing: 3px;
	padding: 0;
	margin: 0 0 0.5em;
	text-align: left;
	font-size: 22px;
}

.club #container .main h3 {
	background-color: #e0e7eb;
	padding: 2px 10px;
	margin-bottom: 10px;
	letter-spacing: 1px;
	color: #314b57;
	font-size: 16px;
}

.club-list {
	margin-bottom: 20px;
}

.club-list li {
	margin-left: 20px;
	padding-bottom: 5px;
	list-style: disc;
	font-size: 14px;
}

#contents a.link_blank::after {
	content: url("../../images/common/ico_blank_gr.gif") !important;
	padding-left: 10px;
}

#contents a.link_blank::after {
	display: inline-block;
	width: 20px;
	padding: 0 5px 0 5px;
}

.club #container .main dl .col_2 {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	align-items: flex-start;
}

.club #container .main dl .col_2 div {
	box-sizing: border-box;
	width: 50%;
	padding: 0 10px;
}

.club #container .main dl .col_2 div strong {
	font-size: 16px;
}

@media screen and (max-width: 736px) {
	.club #container .main dl .col_2 {
		display: block;
	}

	.club #container .main dl .col_2 div {
		width: 100%;
	}

	.club #container .main dl .col_2 div {
		padding-right: 0;
		padding-left: 0;
	}
}

/*  在校生・保護者の方　卒業生の方  */
.student_parents .main,
.alumnus .main {
	padding-top: 40px;
}

.student_parents-content,
.alumnus-content {
	background-color: #FFF;
	margin-bottom: 30px;
	padding: 15px 15px 5px;
}

.student_parents h3,
.alumnus h3 {
	color: #657a86;
	font-size: 18px;
	margin-bottom: 10px;
}

/* 中学校  id:junior */
#junior #container #title {
	background: #c16015;
}

#junior #container .main .student_voice h3,
#junior #container .main .student_voice strong,
#junior #container .main h2,
#junior #container .main dl .col_2 div strong,
#junior #container .main .summary ul {
	color: #c16015;
}

#junior #container .main .student_voice h3,
#junior #container .main .summary ul {
	border-color: #c16015;
}

#junior #container .main .student_voice h3:before,
#junior #container .main dl dt {
	background: rgba(193, 96, 21, 0.2);
	color: #c16015;
}

#junior #container .main .summary h3 {
	background: rgb(193, 96, 21);
	background: linear-gradient(114deg, rgba(193, 96, 21, 1) 0%, rgba(96, 131, 76, 1) 100%);
}

#junior #container .main .period {
	display: inline-block;
}

#junior #container .main .period h2 {
	padding-bottom: 5px;
	margin-top: 30px;
}

#junior #container .main .period .period-subtitle {
	line-height: 1;
	color: #e28c4a;
	padding-left: 15px;
}

#junior #container .main .period2 .period-subtitle {
	line-height: 1;
	color: #657a86;
	padding-bottom: 20px;
}

#junior #container .main .col_2 {
	box-sizing: border-box;
	width: 50%;
	padding: 0 10px;
}

#junior #container .main .col_2 {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	align-items: flex-start;
}

#junior #container .main .col_2 div {
	box-sizing: border-box;
	width: 50%;
	padding: 0 10px;
}

#junior #container .main .col_2 div strong {
	font-size: 16px;
}

@media screen and (max-width: 736px) {
	#junior #container .main .col_2 {
		display: block;
	}

	#junior #container .main .col_2 div {
		width: 100%;
	}

	#junior #container .main .col_2 div {
		padding-right: 0;
		padding-left: 0;
	}

	#junior #container .main .period {
		margin-left: -15px;
	}

	#junior #container .main .period .period-subtitle {
		padding-left: 8px;
	}
}

#junior #container .main .study {
	margin-bottom: 30px;
	overflow: hidden;
}

#junior #container .main .study-title {
	color: #657a86;
	font-size: 17px;
	margin-bottom: 0.6em;
}

#junior #container .main .study-title .number {
	background-color: #c16015;
	color: #FFF;
	font-size: 18px;
	padding: 3px 7px;
	margin-right: 6px;
}

#junior #container .main .study-img {
	width: 40%;
	float: left;
	padding-right: 15px;
	margin-bottom: 20px;
}

#junior #container .main .study-img img {
	width: 100%;
}

#junior #container .main .support-title {
	font-weight: bold;
	color: #c16015;
}

/* 教育システム共通 sub_dept  中央寄せ  */
#container .main .sub_dept-center {
	text-align: center;
}