@charset "UTF-8";

/* -- 文字装飾 -- */
.text_small {
	font-size: 75%;
}
.fw-bold {
	font-weight: bolder!important;
}
.text-start {
  text-align:left!important
}
.text-end {
  text-align:right!important
}
.text-center {
  text-align:center!important
}
/* -- 見出し文字サイズ -- */
.fs-1 {
	font-size: 2em!important;
}
.fs-2 {
	font-size: 1.8em!important;
}
.fs-3 {
	font-size: 1.6em!important;
}
.fs-4 {
	font-size: 1.4em!important;
}
.fs-5 {
	font-size: 1.2em!important;
}
.fs-6 {
	font-size: 1em!important;
}

.m-5 {
	margin: 2em;
}
.m-4 {
	margin: 1.8em;
}
.m-3 {
	margin: 1.6em;
}
.m-2 {
	margin: 1.4em;
}
.m-1 {
	margin: 1.2em;
}
.m-auto {
	margin: auto;
}

.mt-5 {
	margin-top: 2em;
}
.mt-4 {
	margin-top: 1.8em;
}
.mt-3 {
	margin-top: 1.6em;
}
.mt-2 {
	margin-top: 1.4em;
}
.mt-1 {
	margin-top: 1.2em;
}

.mb-5 {
	margin-bottom: 2em;
}
.mb-4 {
	margin-bottom: 1.8em;
}
.mb-3 {
	margin-bottom: 1.6em;
}
.mb-2 {
	margin-bottom: 1.4em;
}
.mb-1 {
	margin-bottom: 1.2em;
}

	
.mx-5 {
	margin: 0 2em;
}
.mx-4 {
	margin: 0 1.8em;
}
.mx-3 {
	margin: 0 1.6em;
}
.mx-2 {
	margin: 0 1.4em;
}
.mx-1 {
	margin: 0 1.2em;
}
.mx-auto {
	margin: 0 auto;
}

.my-5 {
	margin: 2em 0;
}
.my-4 {
	margin: 1.8em 0;
}
.my-3 {
	margin: 1.6em 0;
}
.my-2 {
	margin: 1.4em 0;
}
.my-1 {
	margin: 1.2em 0;
}
.my-auto {
	margin: auto 0;
}
	
.w-100 {
	width: 100%;
}
.w-75 {
	width: 75%;
}
.w-50 {
	width: 50%;
}
.w-25 {
	width: 25%;
}
@media screen and (max-width: 787px) {
	.w-100, .w-75, .w-50, .w-25 {
		width: 100%;
	}
}

/* -- 目隠し要素 -- */
.disable {
    width:100%;
    height:100%;
    background-color:#fff;
    opacity:0.2;
    z-index: 999999;
}
/* -- 横並びバッジ -- */
.badge_area  {
    display: flex;
    list-style: none;
    justify-content: center;
	margin: 0 auto 2em;
	width: 100%;
	border: 1px solid #333;
}

.badge_area li {
	margin: 0 4px 4px 0;
    padding: 5px;
    border: 2px solid #333;
	border-radius: 20px;
	min-width: 160px;
	text-align: center;
	font-size: 75%;
}

/* -- 見出しデザイン01 -- */
.midashi_design_narabunka_highschool01 {
    padding: 0.5rem 1rem 0.5rem 1.5rem;
    margin-bottom: 0.2rem;
    background-repeat: no-repeat;
    background-size: 0.5rem 100%;
    font-weight: bold;
}
.bunri {
	background-image: linear-gradient(#0d316e 50%, #5698d2 50%);
}
.athlete {
	background-image: linear-gradient(#0d316e 50%, #4abfa6 50%);
}
.human {
	background-image: linear-gradient(#0d316e 50%, #f39950 50%);
}
/* -- 見出しデザイン02 -- */
.midashi_design_narabunka_highschool02 {
	position: relative;
	margin: 2em 0;
	font-weight: bolder;
	line-height: 1;
	text-align: center;
}
	
.midashi_design_narabunka_highschool02::before {
  content: '';
  width: 20%;
  height: 8px;
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: -20px;
  background-color: #5698d2;
}
.midashi_design_narabunka_highschool02 span {
	display: block;
	font-size: 60%;
	margin-bottom: 10px;
	text-align: center;
}

/* -- 見出しデザイン03 -- */
.midashi_design_narabunka_highschool03 {
	position: relative;
	padding: .5em 0;
	margin-bottom: .75em;
	font-weight: bold;
    text-align: center;
}
	
.midashi_design_narabunka_highschool03 span {
	display: block;
	font-size: 60%;
	margin-bottom: 5px;
	text-align: center;
}

/* -- 見出しデザイン04 -- */
.midashi_design_narabunka_highschool04 {
  font-weight: bold;
  border-left: 3px solid #5698d2;
  border-bottom: 1px dashed #eee;
  padding: 0.25em 0 0.3em 0.5em;
}
	
.bunri_global {
	background: linear-gradient(90deg, #5698d2 0% 50%, #a38dc3 50%);
    background-repeat: no-repeat;
    background-size: 6em 0.2em;
    background-position: bottom;
}
.bunri_bunkei {
	background: linear-gradient(90deg, #5698d2 0% 50%, #37c4e5 50%);
    background-repeat: no-repeat;
    background-size: 6em 0.2em;
    background-position: bottom;
}
.athlete_athlete {
	background: linear-gradient(90deg, #4abfa6 0% 50%, #4abfa6 50%);
    background-repeat: no-repeat;
    background-size: 6em 0.2em;
    background-position: bottom;
	}
.human_exp {
	background: linear-gradient(90deg, #f39950 0% 50%, #c09829 50%);
    background-repeat: no-repeat;
    background-size: 6em 0.2em;
    background-position: bottom;
}
.human_exp_food {
	background: linear-gradient(90deg, #f39950 0% 50%, #e50039 50%);
    background-repeat: no-repeat;
    background-size: 6em 0.2em;
    background-position: bottom;
}
.human_exp_career {
	background: linear-gradient(90deg, #f39950 0% 50%, #ea5098 50%);
    background-repeat: no-repeat;
    background-size: 6em 0.2em;
    background-position: bottom;
}

.human_eisei_kango {
	background: linear-gradient(90deg, #ff6599 0% 50%, #ff6599 50%);
    background-repeat: no-repeat;
    background-size: 6em 0.2em;
    background-position: bottom;
}
/* -- リストスタイル -- */
.list_design_narabunka_highschool01 {
	padding: 1em;
	width: 90%;
	border: 1px solid #ccc;
	margin: 2em auto;
	padding: 20px;
	text-align: center;
	background-color: #fff;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
.list_design_narabunka_highschool01 p {
	display: inline-block;
	padding: 7px 20px;
	margin: 0 auto;
	border-radius: 25px;
	text-decoration: none;
	color: #fff;
	background-color: #D2A50C;
	transition: .4s;
	font-weight: bolder;
}
	
.list_design_narabunka_highschool01 ul {
	list-style: none;
	margin: 0 2em;
}
	
.list_design_narabunka_highschool01 li {
	padding: 10px 0 5px;
	text-align: left;
	border-bottom: 1px dotted #ccc;
	font-size: 1em;
}

.list_design_narabunka_highschool01 li:before {
	margin-left: -10px;
	width: 0;
	height: 0;
	content: "";
	display: inline-block;
	border: 6px solid transparent;
	border-left-color: #f00;	
}
/* -- レスポンシブテーブル01 -- */
.table_design01 table {
	margin: 0 auto;
	width: 100%;
}
.table_design01 th {
	background: #5698d2;
	border: solid 2px #ccc;
	color: #fff;
	padding: 10px;
}
.table_design01 td {
	border: none;
	padding: 1em;
	vertical-align: middle;
	border: solid 2px #eee;
}
 
@media screen and (max-width: 640px) {
	.table_design01 td:last-child {
		border-bottom: solid 1px #ccc;
		width: 100%;
	}
	.table_design01 {
		width: 100%;
	}
	.table_design01 th,
	.table_design01 td {
		border-bottom: none;
		display: block;
		width: 100%;
		vertical-align: middle;
	}
}

/* -- レスポンシブテーブル02 --*/
.table_design02 {
	border-collapse: collapse;
	width: 100%;
}
.table_design02 th, .table_design02 td {
	border: 2px solid #fff;
	background-color: #eee;
	border-radius: 0 15px 15px 0;
	padding: 1em;
}
.table_design02 th {
  background-color: #5698d2;
  color: #fff;
  font-weight: bold;
  text-align: center;
  border-radius: 15px 0 0 15px;
  width: 25%;
  min-width: 4em;
  position: relative;
}
.table_design02 th::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border: 10px solid transparent;
  border-left: 10px solid #4d9bc1;
  z-index: 2;
}
.table_design02 th::after {
  content: '';
  position: absolute;
  top: 50%;
  left: calc(100% + 2px);
  transform: translateY(-50%);
  border: 12px solid transparent;
  border-left: 12px solid #fff;
  z-index: 1;
}
@media screen and (max-width: 787px) {
	.table_design02 th, .table_design02 td {
		display: block;
		width: 100%;
	}
	.table_design02 th {
		border-radius: 15px 15px 0 0;
	}
	.table_design02 th::before {
		content: '';
		position: absolute;
		top: 100%;
		left: calc(50% - 15px);
		transform: translateY(0%);
		border: 10px solid transparent;
		border-top: 10px solid #4d9bc1;
		z-index: 2;
	}
	.table_design02 th::after {
		content: '';
		position: absolute;
		top: 100%;
		left: calc(50% - 20px);
		transform: translateY(0%);
		border: 15px solid transparent;
		border-top: 15px solid #fff;
		z-index: 1;
	}
}

/* -- 学科・コースカード -- */
figure.naragaku_course_card {
	color: #fff;
	position: relative;
	overflow: hidden;
	display: inline-block;
	margin: 0 0 1em 1%;
	width: 32%;
	background-color: #fff;
	text-align: left;
	box-shadow: 2px 2px 6px rgba(0,0,0,.5);
	border-radius: 1em;
}
figure.naragaku_course_card * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
figure.naragaku_course_card img {
	max-width: 100%;
	vertical-align: top;
	-webkit-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	-webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
figure.naragaku_course_card figcaption {
  padding: 25px;
  position: relative;
}
figure.naragaku_course_card .category {
  top: 0;
  color: #fff;
  left: 0;
  height: 40px;
  width: 100%;
  position: absolute;
  text-align: center;
}
figure.naragaku_course_card .category {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
  font-size: 1em;
  font-weight: 700;
}
figure.naragaku_course_card .category span {
  display: block;
  line-height: 40px;
}
figure.naragaku_course_card h3,
figure.naragaku_course_card p {
  margin: 0;
  padding: 0;
	color: #333;
}
figure.naragaku_course_card h3 {
  margin-bottom: 1.2em;
	padding-bottom: .8em;
  display: inline-block;
  font-weight: 600;
}
figure.naragaku_course_card p {
  font-size: 1em;
  margin-bottom: 20px;
  line-height: 1.6em;
}
@media screen and (max-width: 787px) {
	figure.naragaku_course_card {
		margin: 0 0 1em 0;
		width: 100%;
	}
	.slider figure.naragaku_course_card {
		width: 98%;
	}
	.slider figure.naragaku_course_card p {
		height: 4em;
	}
}

figure.naragaku_course_card button {
  border: medium none;
  padding: 10px 20px;
	width: 100%;
  background-color: #ccc;
  font-weight: bolder;
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 0.8em;
}
figure.naragaku_course_card a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}
figure.naragaku_course_card:hover img,
figure.naragaku_course_card.hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
figure.naragaku_course_card:hover button,
figure.naragaku_course_card.hover button {
  background-color: #aaa;
}


/* -- 学科・コース紹介ページ用 -- */
.narabunka_highschool_course_table {
	margin: 0 0 2em 0;
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
	border-radius: 0px;
	overflow: hidden;
	text-align: center;
}
.narabunka_highschool_course_table tr {
	background-color: none;
	border: 1px solid #ccc;
}
.narabunka_highschool_course_table tr:nth-child(even) {
	background-color: #eee;
}
.narabunka_highschool_course_table th {
	padding: 1em;
	border: 1px solid #ccc;
	font-size: 1em;
}
.narabunka_highschool_course_table td {
	padding: .5em 1em;
	border: 1px solid #ccc;
	font-weight: bold;
	line-height: 1.75;
	font-size: 1em;
}
.narabunka_highschool_course_table td span {
	display: block;
	font-weight: normal;
	font-size: .8em;
}
.narabunka_highschool_course_table thead th {
	background-color: #0d316e;
	color: #fff;
	font-weight: bold;
	text-align: center;
}
	
.narabunka_highschool_course_table tbody th {
	color: #fff;
	font-size: 125%;
}

@media screen and (max-width: 787px) {
	.narabunka_highschool_course_table {
		border-radius: 0;
		text-align: left;
	}
	.narabunka_highschool_course_table thead {
		display:none;
	}
	.narabunka_highschool_course_table tr {
		background-color: unset;
	}
	.narabunka_highschool_course_table th, .narabunka_highschool_course_table td {
		display: block;
		border: 0;
		border-bottom: 1px solid #ccc;
	}
	.narabunka_highschool_course_table tbody th{
		color:#fff;
		text-align: center;
	}
	.narabunka_highschool_course_table td::before{
		content: attr(data-label);
		background-color: #fff;
		color: #0d316e;
		font-weight: bold;
		font-size: 80%;
		display: inline-block;
		width: 20%;
		min-width: 4em;
		text-align: center;
		margin-right: 0.5em;
		padding: 4px;
		border: 1px solid #0d316e;
		border-radius: 100vh;
	}
}
	
/* ----------------------------------------------------------------------
	コース別カラー設定 
---------------------------------------------------------------------- */
/* -- 文理特進コース -- */
	.bg_bunri_tokushin {
		background-color: #0d316e;
	}
.bg_bunri {
	background-color: #5698d2;
}
.text_bunri {
	color: #5698d2;
}
	
.bg_bunri_global {
	background-color: #ede8f3;
}
.text_bunri_global {
	color: #5698d2;
}
	
.bg_global_tankyu {
	background-color: #a38dc3;
}
.text_global_tanky {
	color: #a38dc3;
}
	
.bg_bunri_bunkei {
	background-color: #e7f8fc;
}
.text_bunri_bunkei {
	color: #37c4e5;
}
	
/* -- アスリートコース -- */
.bg_athlete {
	background-color: #4abfa6;
}
.text_athlete {
	color: #4abfa6;
}
	
.border01 {
	border: 1px solid #5698d2;
	border-radius: 20px;
}
	.border01 td{
		border: none;
	}
.border01 td:nth-child(1) {
	border-right: 1px solid #5698d2;
	width: 50%;
}
@media screen and (max-width: 787px) {
	.border01 td:nth-child(1) {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #5698d2;
	}
}
/* -- 人間探究コース -- */
.bg_human {
	background-color: #f39950;
}
.bg_human_exp {
	background-color: #c09829;
}
.text_human_exp {
	color: #c09829;
}
	
.bg_human_exp_food {
	background-color: #e50039;
}
.text_human_exp_food {
	color: #e50039;
}
	
.bg_human_exp_career {
	background-color: #ea5098;
}
.text_human_exp_career {
	color: #ea5098;
}

.bg_eisei_kango {
	background-color: #ff6599;
}
.text_eisei_kango {
	color: #ff6599;
}
	


/* -- ポイントカード -- */
figure.point__card01 {
	display: inline-block;
	color: #fff;
	position: relative;
	overflow: hidden;
	margin: 10px;
	width: 30%;
	background-color: #fff;
	color: #333;
	text-align: left;
	font-size: 1em;
	border: 1px solid #ccc;
	border-radius: 10px;
}
	
figure.point__card01 * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
	
figure.point__card01 img {
	max-width: 100%;
	vertical-align: top;
	-webkit-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

figure.point__card01 figcaption {
	padding: 25px;
	position: relative;
}

figure.point__card01 .point__circle {
	color: #fff;
	top: .5em;
	left: .5em;
	min-height: 80px;
	min-width: 80px;
	border-radius: 40px;
	position: absolute;
	text-align: center;
	padding-top: 10px; 
}

figure.point__card01 .point__circle {
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
	font-size: 1.2em;
	font-weight: bold;
	text-transform: uppercase;
}

figure.point__card01 .point__circle {
	display: block;
	line-height: 2em;
}
	
figure.point__card01 .point__circle .point__number {
	font-size: 1.5em;
	margin-top: 1em;
}


figure.point__card01 h3,
figure.point__card01 p {
	margin: 0;
	padding: 0;
}
figure.point__card01 h3 {
	margin-bottom: 10px;
	padding-bottom: 10px;
	display: inline-block;
	font-weight: 600;
	color: #333;
	text-transform: uppercase;
}
figure.point__card01 p {
	font-size: 1em;
	margin-bottom: 20px;
	line-height: 1.6em;
}
figure.point__card01 button {
	border: medium none;
	padding: 10px 20px;
	background-color: #1abc9c;
	font-weight: 800;
	color: #fff;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-size: 0.8em;
}
	
figure.point__card01 a {
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	position: absolute;
	z-index: 1;
}
	
figure.point__card01:hover img,
figure.point__card01.hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
	
figure.point__card01:hover button,
figure.point__card01.hover button {
	background-color: #117964;
}
	
@media screen and (max-width: 787px) {
	figure.point__card01 {
		width: 98%;
		margin: .5em 1%;
	}
}

/* -- 画像 -- */
.img_area {
	display: block;
	width: 60%;
	margin: 0 auto;
	padding: 2em 1em;
}
.img_area img {
	width: 100%;
}
@media screen and (max-width: 787px) {
	.img_area {
		width: 100%;
	}
}