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

	CSS Information
		File Name: style.css

******************************************************************* */

/* [] index
----------------------------------------------*/
/** index-news **/
.headline-slider {
	width: 100%;
}


/** index-news **/
.index-news {
	width: 100%;
	height: 70px;
	padding: 12px 0;
	background-color: #00794f;
}
	@media screen and (max-width: 767px) {
		.index-news {
			padding: 4% 3.2%;
			height: 120px;
		}
	}

.index-news ul {
	height: 45px;
	padding-left: 160px;
	overflow: auto;
	background-image: url(../img/ttl-index-news.png);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 140px auto;
}
	@media screen and (max-width: 767px) {
		.index-news ul {
			height: 100px;
			background: none;
			padding: 0;
			overflow-y: scroll;
			overflow-x: hidden;
			-webkit-overflow-scrolling: touch;
			-ms-overflow-style: -ms-autohiding-scrollbar;
		}
	}

@media screen and (max-width: 767px) {
	.index-news ul li {
		padding: 2.4% 0;
		border-top: 1px dotted #5F8457;
	}
}

.index-news ul li a {
	color: #fff;
	font-size: 14px;
}
	@media screen and (max-width: 767px) {
		.index-news ul li a {
			display: inline-block;
			font-size: 12px;
			line-height: 1.2;
		}
	}

.index-news ul li a:hover {
	color: #0087f9;
}
.index-news ul li a time {
	margin-right: 1em;
	font-weight: bold;
}
	@media screen and (max-width: 767px) {
		.index-news ul li a time {
			display: block;
		}
	}


/** index-catgory **/
.index-catgory {
	background-color: #fff;
}
.index-catgory ul {
	border-left: 1px solid #cacaca;
	border-right: 1px solid #cacaca;
}
.index-catgory ul li {
	width: 33.3333%;
	float: left;
}
	@media screen and (max-width: 767px) {
		.index-catgory ul li {
			width: 100%;
			float: none;
			border: none;
			border-bottom: 1px solid #cacaca !important;
		}
	}

.index-catgory ul li:nth-child(1) {
	border-right: 1px solid #cacaca;
	border-bottom: 1px solid #cacaca;
}
	@media screen and (max-width: 767px) {
		.index-catgory ul li:nth-child(1) {
			border-top: 1px solid #cacaca;
		}
	}
.index-catgory ul li:nth-child(2) {
	border-right: 1px solid #cacaca;
	border-bottom: 1px solid #cacaca;
}
.index-catgory ul li:nth-child(3) {
	border-bottom: 1px solid #cacaca;
}
.index-catgory ul li:nth-child(4) {
	border-right: 1px solid #cacaca;
}
.index-catgory ul li:nth-child(5) {
	border-right: 1px solid #cacaca;
}
.index-catgory ul li a {
	display: table;
	table-layout: fixed;
	padding: 5%;
	color: #342626;
}
.index-catgory ul li a:hover {
	background: #d7f2c0;
	text-decoration: none;
}
.index-catgory ul li a .ico {
	width: 50px;
	height: 50px;
	display: table-cell;
	vertical-align: middle;
	background-color: #089b68;
	background-repeat: no-repeat;
	background-position: center center;
	text-indent: -9999px;
}
.index-catgory ul li a .ico.school {
	background-image: url(../img/ico-school.png);
	background-size: 34px auto;
}
.index-catgory ul li a .ico.study {
	background-image: url(../img/ico-study.png);
	background-size: 32px auto;
}
.index-catgory ul li a .ico.season {
	background-image: url(../img/ico-season.png);
	background-size: 39px auto;
}
.index-catgory ul li a .ico.graduate {
	background-image: url(../img/ico-graduate.png);
	background-size: 27px auto;
}
.index-catgory ul li a .ico.memo {
	background-image: url(../img/ico-memo.png);
	background-size: 34px auto;
}
.index-catgory ul li a .ico.question {
	background-image: url(../img/ico-question.png);
	background-size: 34px auto;
}

.index-catgory ul li a .txt {
	display: table-cell;
	vertical-align: middle;
	padding-left: 5%;
}
.index-catgory ul li a .txt .ttl {
	font-size: 18px;
	color: #089b68;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}
.index-catgory ul li a .txt span {
	display: block;
	font-size: 12px;
	line-height: 1.3;
}


/** index-content **/
[id^="index-content"] {
	position: relative;
	margin-top: 5.6%;
}
	@media screen and (max-width: 767px) {
		[id^="index-content"] {
			margin: 0 0 5% 0;
		}
	}

[id^="index-content"] .section-wrap {
	width: 1024px;
	height: 365px;
	margin: 0 auto;
}
	@media screen and (max-width: 767px) {
		[id^="index-content"] .section-wrap {
			width: 100%;
			height: auto;
		}
	}

[id^="index-content"] .section-wrap figure {
	width: 630px;
	height: 365px;
	position: absolute;
	top: 0;
}
	@media screen and (min-width: 1920px) {
		[id^="index-content"] .section-wrap figure {
			width: 780px;
			height: auto;
		}
	}
	@media screen and (max-width: 1320px) {
		[id^="index-content"] .section-wrap figure {
			width: 540px;
			top: 50px;
		}
	}
	@media screen and (max-width: 1024px) {
		[id^="index-content"] .section-wrap figure {
			width: auto;
			position: relative;
		}
	}
	@media screen and (max-width: 767px) {
		[id^="index-content"] .section-wrap figure {
			width: 100%;
			height: auto;
			padding: 0 5.6%;
			top: 0;
		}
	}

[id^="index-content"] .section-wrap figure.in-ar {
	right: 0;
}
[id^="index-content"] .section-wrap figure.in-al {
	left: 0;
}
@media screen and (max-width: 767px) {
	[id^="index-content"] .section-wrap figure.in-al {
		margin-bottom: 3.2%;
	}
}

[id^="index-content"] .paragraph-box .txt.left {
	padding: 50px 0 0 50px;
	background-image: url(../img/bg-ttl-section-topL.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 102px auto;
}
[id^="index-content"] .paragraph-box .txt.right {
	padding: 50px 50px 0 0;
	background-image: url(../img/bg-ttl-section-topR.png);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: 102px auto;
}
	@media screen and (max-width: 767px) {
		[id^="index-content"] .paragraph-box .txt {
			margin: 0;
		}
		[id^="index-content"] .paragraph-box .txt.left,
		[id^="index-content"] .paragraph-box .txt.right {
			margin-bottom: 2.4%;
			padding: 5.6% 5.6% 0 5.6%;
			background-size: 51px auto;
		}
	}

[id^="index-content"] .wrap {
	padding: 50px;
}
	@media screen and (max-width: 767px) {
		[id^="index-content"] .wrap {
			margin: 0;
			padding: 0 5.6%;
			/*background-image: url(../img/bg-ttl-section-topL.png);
			background-repeat: no-repeat;
			background-position: left top;
			background-size: 51px auto;*/
		}
	}

#index-movie {
	padding: 2.4% 0 8% 0;
}
	@media screen and (max-width: 767px) {
		#index-movie {
			margin: 0 0 5% 0;
		}
		#index-movie .paragraph-box {
			padding: 5.6% 5.6% 0;
		}
	}




/* [] sub common style
----------------------------------------------*/
/** KV **/
.sub-kv {
	width: 100%;
}
.sub-kv .sub-kv-img img {
	width: 100%;
}

/** sub wrapper **/
[id^="sub-"] {
	margin: 50px auto;
	padding: 50px;
	background-image: url(../img/bg-ttl-section-topL.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 102px auto;
}
	@media screen and (max-width: 767px) {
		[id^="sub-"] {
			margin: 0;
			padding: 4.8%;
			background-size: 51px auto;
		}
	}




/* [] 教科のご案内
----------------------------------------------*/
#sub-subject .subject {
	margin-bottom: 6.4%;
}
#sub-subject .subject li .txt h3 {
	font-size: 16px;
	letter-spacing: -2px;
}
#sub-subject .subject li .txt .libre {
	font-size: 12px;
	letter-spacing: -2px;
}
	@media screen and (max-width: 767px) {
		#sub-subject .subject li .txt .libre {
			letter-spacing: auto;
		}
	}

/* subject-table */
.bd-gray {
	font-size: 85%;
	border: 1px solid #a0a0a0;
	background: #fff;
}

.bd-gray caption {
	background-image: url(../img/bg-arrow-green.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 10px auto;
}
	@media screen and (max-width: 767px) {
		.bd-gray caption {
			background-size: 5px auto;
			padding-left: 3%;
		}
	}

.bd-gray thead {
	border-bottom: 1px solid #a0a0a0;
}

.bd-gray thead tr th {
	padding: 4px 8px;
	background: #464d52;
	color: #fff;
	font-size: 90%;
	font-weight: bold;
	border-right: 1px solid #a0a0a0;
}
.bd-gray thead tr th:last-child {
	border-right: none;
}

.bd-gray thead .time td {
	border-right: 1px solid #dcdcdc;
	background: #e2eeea;
	text-align: center;
}
.bd-gray thead .time td:last-child {
	border-right: none;
}

.bd-gray tbody tr:last-child td {
	border-bottom: none;
}
	@media screen and (max-width: 767px) {
		.bd-gray tbody tr {
			border-bottom: 1px solid #a0a0a0;
		}
		.bd-gray tbody tr:last-child td {
			border-bottom: 1px solid #dcdcdc;
		}
	}

bd-gray tbody tr td.rowspan {
	border-bottom: 1px solid #a0a0a0 !important;
}
	@media screen and (max-width: 767px) {
		.bd-gray tbody tr td.rowspan,
		.bd-gray tbody tr td.colspan {
			padding: 4px 8px;
			background: #464d52;
			border-top: 6px solid #009966;
			color: #fff;
			font-size: 90%;
			font-weight: bold;
		}
		.bd-gray tbody tr td.rowspan a,
		.bd-gray tbody tr td.colspan a {
			display: block;
			padding: 1.6%;
			font-size: 150%;
			color: #fff;
		}
	}

.bd-gray tbody tr td {
	padding: 8px;
	text-align: center;
	border-right: 1px solid #dcdcdc;
	border-bottom: 1px solid #dcdcdc;
}
.bd-gray tbody tr td .more {
	display: none;
}
.bd-gray tbody tr td h3 {
	margin-bottom: 1.6%;
}
	@media screen and (max-width: 767px) {
		.bd-gray tbody tr td .sp-on {
			font-weight: bold;
		}
		.bd-gray tbody tr td .more {
			display: inline-block;
			float: right;
			font-size: 80%;
			font-weight: normal;
		}

		.bd-gray tbody tr td h3 {
			margin-bottom: 2.4%;
		}
	}

.bd-gray tbody tr td:last-child {
	border-right: none;
}

/* コース */
.bd-gray .tbl-th1 {
	width: 15%;
}
.bd-gray .tbl-th2 {
	width: 15%;
}
.bd-gray .tbl-th3 {
	width: 15%;
}
.bd-gray .tbl-th4 {
	width: 55%;
}

/* 文理区分 */
.bd-gray [class^="ca-"] {
	font-weight: bold;
	color: #fff;
}
.bd-gray .ca-bunri {
	background: #d09cd3;
}
.bd-gray .ca-bunkei {
	background: #da8e56;
}
.bd-gray .ca-rikei {
	background: #91ba65;
}
.bd-gray .ca-half {
	background: rgb(145,186,101);
	background: -moz-linear-gradient(-45deg,  rgba(145,186,101,1) 50%, rgba(208,156,211,1) 50%, rgba(208,156,211,1) 100%);
	background: -webkit-linear-gradient(-45deg,  rgba(145,186,101,1) 50%,rgba(208,156,211,1) 50%,rgba(208,156,211,1) 100%);
	background: linear-gradient(135deg,  rgba(145,186,101,1) 50%,rgba(208,156,211,1) 50%,rgba(208,156,211,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#91ba65', endColorstr='#d09cd3',GradientType=1 );
}




/* [] 授業のご案内
----------------------------------------------*/
[class^="class-"] .ttl {
	padding: 8px 16px;
	color: #fff;
	font-size: 24px;
}
	@media screen and (max-width: 767px) {
		[class^="class-"] .ttl {
			padding: 3% 8px;
			font-size: 16px;
		}
	}

[class^="class-"] .ttl span {
	font-size: 60%;
}
[class^="class-"] p {
	margin: 0;
	padding: 3%;
}
[class^="class-"] .box {
	margin: 0 3%;
	padding: 3%;
	font-size: 80%;
	background: #fff;
}
[class^="class-"] tr {
	border-bottom: 5px solid #fff;
}
[class^="class-"] th {
	width: 20%;
	height: 32px;
	background: #065678;
	color: #fff;
}
[class^="class-"] td {
	line-height: 1.2;
	padding: 0 0 0 1.6%;
}

.class-season {
	background: #f8f4e1;
}
	@media screen and (max-width: 767px) {
		.class-season {
			margin: 0 0 5.6% 0;
		}
	}

.class-season .ttl {
	background: #eda436;
}

.class-general {
	background: #e2eeea;
}
.class-general .ttl {
	background: #54b0df;
}

	@media screen and (max-width: 767px) {
		[class^="class-"] .btn-box .btn {
			padding: 4px 0;
		}
	}

.class-season .btn-box .btn {
	color: #e06121;
}
.class-general .btn-box .btn {
	color: #0189ce;
}
	@media screen and (max-width: 767px) {
		[class^="class-"] .btn {
			padding: 4px 0;
			height: auto !important;
		}
	}




/* [] コース
----------------------------------------------*/
.trigger {
  background: #099b68;
  color: #fff;
  font-weight: bold;
  padding: 10px;
  cursor: pointer;
}
.subNavi {
  border: 2px solid #cbcbcb;
  margin-bottom: 4.0%;
  position: relative;
}
.subNavi-list,
.subNavi-list ul {
  display: none;
}
.subNavi-list > li {
  position: relative;
  background: #fff;
  padding: 8px 10px;
  border-bottom: 1px solid #cbcbcb;
  cursor: pointer;
}
.subNavi-list li a {
  display: inline-block;
  width: 100%;
  color: #099b68;
}
.subNavi-list li:hover,
.subNavi-list li a:hover {
  text-decoration: none;
  background: #e1e1e1;
}
.subNavi-list li li {
  background: #333;
  border-top: 1px solid #cbcbcb;
}
.subNavi-list li li a {
  display: inline-block;
  width: 100%;
  color: #fff;
  padding: 8px 0 8px 40px;
}
.subNavi-list li:last-child {
	border-bottom: none;
}
.trigger:after,
.tri-central:after {
  display: inline-block;
  position: absolute;
  right: 10px;
  font-family: FontAwesome;
  content: "\f078";
}
.trigger:after {
  right: 20px;
}
.subNavi-list > li {
  font-weight: bold;
}



/* [] 通常授業講義一覧
----------------------------------------------*/
.tbl-general .bbbb {
	background: #f3f3f3;
}

.tbl-general thead .day th,
.tbl-general thead .day td,
.tbl-general thead .time th,
.tbl-general thead .time td {
	width: 8.3%;
	padding: 8px 0;
	text-align: center;
}
	@media screen and (max-width: 767px) {
		.tbl-general thead .day th,
		.tbl-general thead .day td,
		.tbl-general thead .time th,
		.tbl-general thead .time td {
			padding: 4px 0;
			white-space: nowrap;
		}
	}

.tbl-general thead .time {
	font-size: 80%;
	border-bottom: 1px solid #a0a0a0;
}

	@media screen and (max-width: 767px) {
		.box.overflow > .tbl-general {
			width: 500px;
		}
		.box.overflow > .tbl-general td {
			text-align: center;
		}
	}

.tbl-general tbody tr td.rowspan,
.tbl-general tbody tr td.colspan {
	background: #464d52;
	color: #fff;
	font-weight: bold;
	border-top: none;
}

.tbl-general tbody tr td.rowspan.j1 {
	background: #ff9f9f;
}
.tbl-general tbody tr td.rowspan.j2 {
	background: #ffa836;
}
.tbl-general tbody tr td.rowspan.j3 {
	background: #f7cf16;
}
.tbl-general tbody tr td.rowspan.h1 {
	background: #90ca2c;
}
.tbl-general tbody tr td.rowspan.h2 {
	background: #4ac0e8;
}
.tbl-general tbody tr td.rowspan.h3 {
	background: #007ebf;
}




/* [] 季節講習空席情報
----------------------------------------------*/
.tbl-season thead .time th,
.tbl-season thead .time td {
	width: 14.23%;
}
.tbl-season tbody tr:nth-child(even) {
	background: #EEF4F4;
}
	@media screen and (max-width: 767px) {
		.box.overflow > .tbl-season {
			width: 500px;
		}
		.box.overflow > .tbl-season td {
			text-align: center;
		}
	}




/* [] 季節講習申し込み方法
----------------------------------------------*/
.apply-flow {
	margin-bottom: 4%;
}
.apply-flow > .box {
	position: relative;
	margin: 1.6% 0;
	padding: 2.4%;
	background: #FFF;
	box-shadow: 0 5px 0 rgba(136,136,136,.3);
}
	@media screen and (max-width: 767px) {
		.apply-flow > .box {
			padding: 2.4%;
		}
	}

.apply-flow > .tC > .fa-chevron-down {
	color: #099b68;
	font-size: 180%;
}

.box.applytype {
	margin-bottom: 4%;
}
.box.applytype .fL,
.box.applytype .fR {
	background: #fff;
	border: 2px solid #f6f6f6;
	vertical-align: top;
}
	@media screen and (max-width: 767px) {
		.box.applytype .fL,
		.box.applytype .fR {
			border: none;
		}
	}

.box.applytype .fL > .ttl,
.box.applytype .fR > .ttl {
	padding: 8px;
	background: #099b68;
	color: #fff;
}
.box.applytype .fL > .inner,
.box.applytype .fR > .inner {
	padding: 4.8%;
}

.box.applytype .period {
	padding: 1.2% 0;
	font-weight: bold;
}
.box.applytype .period caption {
	margin-bottom: 8px;
	text-align: left;
	border-bottom: 1px dotted #8a8a8a;
}
.box.applytype .period caption:before {
	margin-right: .5em;
	display: inline-block;
	font-weight: normal;
	content: "\f017";
	font-family: FontAwesome;
}
.box.applytype .period td .date {
	font-size: 140%;
	letter-spacing: -.05em;
}
.box.applytype .period th {
	padding: 0 1em 0 0;
	text-align: left;
}
.box.applytype .period th:before {
	margin-right: .5em;
	display: inline-block;
	font-weight: normal;
	content: "\f0da";
	font-family: FontAwesome;
	color: #099b68;
}




/* [] 合格実績
----------------------------------------------*/
.list-achievement {
	background: #fff;
	border: 1px solid #c9c9c9;
}
.list-achievement dt {
	padding: 8px 40px;
	background: #fbfbfb;
	border-bottom: 1px solid #cfcfcf;
	font-weight: bold;
	cursor: pointer;
	position: relative;
}
.list-achievement dt:after {
  display: inline-block;
  position: absolute;
  left: 16px;
  font-family: FontAwesome;
  content: "\f150";
  color: #089b68;
  font-weight: normal;
}
	@media screen and (max-width: 767px) {
		.list-achievement dt {
			padding: 4px 4px 4px 24px;
		}
		.list-achievement dt:after {
		  left: 4px;
		}
	}

.list-achievement dt:hover,
.list-achievement dt.close {
	background: #089b68;
	color: #fff;
}
.list-achievement dt:hover:after,
.list-achievement dt.close:after {
	color: #fff;
}
.list-achievement dt:nth-last-child(2) {
	border-bottom: none;
}
.list-achievement dd {
	display: none;
	background: #fff;
}
.list-achievement dd table {
	width: 100%;
}
.list-achievement dd table .num {
	width: 20%;
	border-left: 1px solid #e5e5e5;
}
.list-achievement dd table {
	border-bottom: 2px solid #c9c9c9;
}
.list-achievement dd table td {
	padding: 4px 16px;
	font-size: 90%;
	border-bottom: 1px solid #e5e5e5;
}
	@media screen and (max-width: 767px) {
		.list-achievement dd table td {
			padding: 4px;
		}
	}




/* [] 卒業生の声
----------------------------------------------*/
.graduate-message h4 {
	font-size: 130%;
	line-height: 1.2
}
.graduate-message p {
	line-height: 1.1;
	font-size: 95%;
}
.graduate-message .fL,
.graduate-message .fR {
	width: 48%;
	position: relative;
}
.graduate-message .fL:before,
.graduate-message .fR:before {
	position: absolute;
	top: -5px;
	left: 5px;
	padding: 2px 8px;
	display: inline-block;
	background: #7c7c7c;
	color: #fff;
	content: "\f086MESSAGE";
	font-size: 70%;
	font-weight: bold;
}
.graduate-message .fL {
	float: left;
}
.graduate-message .fR {
	float: right;
}
	@media screen and (max-width: 767px) {
		.graduate-message .fL,
		.graduate-message .fR {
			width: 100%;
			float: none;
		}

		.graduate-message .fL {
			margin-bottom: 4%;
		}

		.graduate-message .fL:before,
		.graduate-message .fR:before {
			visibility: hidden;
		}
	}

.graduate-message a {
	color: #342626;
}
.graduate-message a:hover {
	text-decoration: none;
}

.graduate-message a span {
	display: block;
	margin-bottom: 1%;
	font-weight: bold;
	font-size: 12px;
}




/* [] 講師紹介
----------------------------------------------*/
#sub-teacher section .ttl-section-mid {
	overflow: hidden;
}
#sub-teacher section .ttl-section-mid span {
	display: inline-block;
	padding-left: 2em;
	font-size: 50%;
}
#sub-teacher section .paragraph-box .txt.left {
	width: 60%;
}
	@media screen and (max-width: 767px) {
		#sub-teacher section .paragraph-box .txt.left {
			width: auto;
		}
	}




/* [] よくあるご質問
----------------------------------------------*/
#list-faq > section {
	margin-bottom: 5.6%;
}

#list-faq > section .ttl-question {
	padding: 1.5% 0;
	cursor: pointer;
}
	@media screen and (max-width: 767px) {
		#list-faq > section .ttl-question {
			padding: 3% 0;
		}
	}

#list-faq > section .post-body {
	display: none;
	padding: 0.8% 0 2.4%;
}

#list-faq > section .object {
	margin: 0;
	background-image: url(../img/bg-dot-gray.png);
	background-repeat: repeat-x;
	background-position: left bottom;
}

.ttl-question > span{
	display: table-cell;
	vertical-align: middle;
}
.ttl-question .ico {
	width: 32px;
}
.ttl-question .ico-q {
	display: inline-block;
	width: 26px;
	height: 26px;
	line-height: 26px;
	font-size: 18px;
	font-style: normal;
	text-align: center;
	color: #fff;
	background: #099b68;
}
.ttl-question .tt {
	padding-right: 24px;
	line-height: 1.2;
}

.list-faq > .post-body {
	display: none;
	padding: 3% 0;
	margin-bottom: 3%;
}
.list-faq > .post-body p:last-child {
	margin-bottom: 0;
}
	@media screen and (max-width: 767px) {
		.list-faq > .post-body img {
			max-width: 100%;
		}
	}

.list-faq > .post-body .btn-faq-close {
	display: block;
	height: 32px;
	border-bottom: 1px solid #de0037;
	background-image: url(/img/ico-arrow-up.png);
	background-repeat: no-repeat;
	background-position: right center;
	text-indent: -9999px;
	cursor: pointer;
}




/* [] パンフレット
----------------------------------------------*/
.list-pamphlet li {
	display: table;
}
.list-pamphlet li .txt {
	width: 65%;
	display: table-cell;
	padding: 0 5.6% 0 4.8%;
}
	@media screen and (max-width: 767px) {
		.list-pamphlet li .txt {
			padding: 0 0 0 6.4%;
		}
	}

.list-pamphlet li .txt .tbl td {
	padding-bottom: 4px;
}
.list-pamphlet li .thumbs {
	width: 35%;
	display: table-cell;
}
.list-pamphlet li .thumbs img {
	width: 100%;
	height: auto;
}
.list-pamphlet li .ttl {
	margin-bottom: 3.2%;
}
.list-pamphlet li .btn {
	padding: 8px;
	font-size:80%;
	width: 100%;
	background: #099b68/*464d52*/;
	color: #fff;
}




/* [] アクセスマップ
----------------------------------------------*/
.access-map > iframe {
	width: 100%;
	height: 450px;
}
	@media screen and (max-width: 767px) {
		.access-map > iframe {
			height: 250px;
		}
	}




/* [] 入会の流れ・季節講習受講の流れ・無料体験授業
----------------------------------------------*/
.entry-flow {
	width: 100%;
	border-collapse: separate;
	border-spacing: 4px;
}
.entry-flow.tL tr td {
	text-align: left;
}
.entry-flow .arrow-down td {
	text-align: center !important;
}
.entry-flow tr td > .fa-chevron-down {
    color: #099b68;
    font-size: 180%;
}

.entry-flow tr td .dashed-box {
	border: 3px dashed #099b68;
	margin: 8px;
	padding: 40px 8px;
}

.entry-flow tr td .sh-box > h3 {
	font-size: 120%;
}




/* [] common style
----------------------------------------------*/
/* [] list style
---------------------*/
/** common **/
.list:before,
.list:after {
    content: " ";
    display: table;
}
.list:after {
    clear: both;
}
.list li {
	overflow: hidden;
	position: relative;
	transition: all ease-in-out 0.2s;
	-moz-transition: all ease-in-out 0.2s;
	-webkit-transition: all ease-in-out 0.2s;
	-o-transition: all ease-in-out 0.5s;
	-ms-transition: all ease-in-out 0.2s;
}


/** cols **/
/* 3cols */
.col3 li {
	float: left;
	width: 33.25%;
    margin: 0 0.1% 2% 0;
}
.col3 li:nth-child(3n) {
	margin-right: 0;
}
	@media screen and (max-width: 767px) {
		.col3 li { /* 一列になります */
			width: auto;
			float: none;
			margin: 0 0 6.4% 0;
		}
	}

/* 1cols */
.col1 li {
	width: 100%;
	margin: 0 0 3.2% 0;
}

/* 1cols */
.col2 li {
	width: 48%;
	float: left;
	margin-bottom: 2%;
}
.col2 li:nth-child(odd) {
	margin-right: 1%;
}
.col2 li:nth-child(even) {
	margin-left: 1%;
}


/** subject **/
.list.subject li {
	background-color: #fff;
}
.list.subject li a {
	color: #212121;
}
.list.subject li a:hover {
	text-decoration: none;
}

.list.subject li .thumbs {
	display: block;
	width: 100%;
	height: auto;
	background: #00412a;
	overflow: hidden;
	position: relative;
}
.list.subject li .thumbs .more {
	opacity: 0;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	color: #fff;
	text-indent: -99999px;
	background-repeat: no-repeat;
	background-position: center center;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}
.list.subject li .thumbs .more.all {
	background-image: url(../img/ico-more-all.png);
	background-size: 208px auto;
}
.list.subject li .thumbs .more.math {
	background-image: url(../img/ico-more-math.png);
	background-size: 126px auto;
}
.list.subject li .thumbs .more.english {
	background-image: url(../img/ico-more-english.png);
	background-size: 126px auto;
}
.list.subject li .thumbs .more.chemi {
	background-image: url(../img/ico-more-chemi.png);
	background-size: 176px auto;
}

.list.subject li .thumbs img {
	width: 100%;
	height: auto;
	opacity: 1;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}

.list.subject li:hover .thumbs .more {
	opacity: 1;
}
.list.subject li:hover .thumbs img {
	opacity: .4;
	transform: scale(1.03,1.03);
	-moz-transform: scale(1.03,1.03);
	-ms-transform: scale(1.03,1.03);
	-webkit-transform: scale(1.03,1.03);
}

.list.subject li .txt {
	padding: 4%;
	text-align: center;
}
.list.subject li .txt h3 {
	margin-bottom: 1.6%;
	color: #099b68;
	font-size: 20px;
	letter-spacing: -.1em;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}
	@media screen and (max-width: 767px) {
		.list.service li .txt h3 {
			font-size: 16px;
		}
	}

.list.subject li .txt h3 .sp-on {
	font-size: 14px;
	font-weight: normal;
}
.list.subject li .txt .libre {
	display: block;
	font-size: 14px;
	line-height: 1.3;
	color: #342626;
}
	@media screen and (max-width: 767px) {
		.list.subject li .txt .libre {
			font-size: 12px;
		}
		.list.subject li .txt .libre br {
			display: none;
		}
	}


/** article **/
.list.article li {
	display: table;
	table-layout: fixed;
	padding: 3.2% 0;
	margin: 0;
	background-image: url(../img/bg-dot-gray.png);
	background-repeat: repeat-x;
	background-position: left bottom;
}
.list.article li:first-child {
	padding-top: 0;
}
	@media screen and (max-width: 767px) {
		.list.article li {
			padding: 5.6% 0;
			display: block;
		}
	}

.list.article li .meta {
	font-weight: bold;
	vertical-align: top;
	font-size: 80%;
}
.list.article li .meta th {
	white-space: nowrap;
}
.list.article li .meta th,
.list.article li .meta td {
	vertical-align: top;
 }

.list.article li .txt {
	display: table-cell;
	vertical-align: middle;
}
.list.article li .txt .meta {
	margin-bottom: 1.2%;
}
.list.article li .txt .ttl {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.417;
	margin-bottom: 1.2%;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}
	@media screen and (max-width: 767px) {
		.list.article li .txt .ttl {
			font-size: 1.2em;
		}
	}

.list.article li .txt .more-message {
	display: inline-block;
	color: #099b68;
	position: relative;
	font-weight: bold;
	cursor: pointer;
}
.list.article li .txt .more-message:before {
  display: inline-block;
  font-family: FontAwesome;
  content: "\f078";
  font-weight: normal;
}
.list.article li .txt .message {
	display: none;
}


/** news **/
.list.news > section {
	width: 100%;
	padding: 3% 0;
	display: table;
	table-layout: fixed;
    background-image: url("../img/bg-dot-normal.png");
    background-position: left bottom;
    background-repeat: repeat-x;
}
.list.news > section:first-child {
	padding-top: 0;
}
.list.news > section:last-child {
	background: none;
}
	@media screen and (max-width: 767px) {
		.list.news > section {
			padding: 5% 0;
		}
	}

.list.news > section .txt {
	width: 70%;
	padding: 3% 0 3% 3%;
	display: table-cell;
	text-align: justify;
}
	@media screen and (max-width: 767px) {
		.list.news > section .txt {
			clear: both;
			width: auto;
			display: block;
			padding: 0;
		}
	}

.list.news > section .txt .label {
	margin: 0 .5% 0 0;
}
	@media screen and (max-width: 767px) {
		.list.news > section .txt .label {
			margin: 0;
			line-height: 14px;
			font-size: 10px;
		}
	}

.list.news > section .txt a h3 {
	font-weight: 400;
}
	@media screen and (max-width: 767px) {
		.list.news > section .txt a h3 {
			overflow : hidden;
			line-height: 1.4;
			text-overflow: ellipsis;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 3;
		}
	}

.list.news > section .date {
	margin: 0 1.6% 0 0;
}
	@media screen and (max-width: 767px) {
		.list.news > section .date {
			margin: 0;
			font-size: 12px;
		}
		.list.news > section .date:after {
			content: "";
			display: block;
			width: 1px;
		}
		#index-news .list.news > section .date {
			display: inline-block;
			margin-right: 4px;
		}
		#index-news .list.news > section .date:after {
			display: none;
		}
	}

.list.news > section .thumbs {
	width: 227px;
	height: auto;
	display: table-cell;
	vertical-align: middle;
}
	@media screen and (max-width: 767px) {
		.list.news > section .thumbs {
			display: block;
			height: auto;
			margin: 0 auto 5% auto;
		}
	}

.list.news > section .thumbs img {
	width: 277px;
	height: auto;
}
	@media screen and (max-width: 767px) {
		.list.news > section .thumbs img {
			width: 100%;
			height: auto;
		}
	}

/* nopic */
.list.news.nopic > section .txt {
	padding: 0;
}



/* [] paragraph style
---------------------*/
/** common **/
.paragraph-box {
	width: 100%;
	display: table;
	table-layout: fixed;
}
.paragraph-box:last-child {
	margin: 0;
}
.paragraph-box .thums,
.paragraph-box .txt {
	display: table-cell;
	vertical-align: top;
}
	@media screen and (max-width: 767px) {
		.paragraph-box .thums,
		.paragraph-box .txt {
			display: block;
			margin-bottom: 5%;
		}

		.paragraph-box > p { /* index用？ */
			padding: 0 5.6%;
		}
	}

/* single-column */
.paragraph-box.general {
	display: block;
	margin-bottom: 4%;
	table-layout: none;
}
	@media screen and (max-width: 767px) {
		.paragraph-box.general {
			margin-bottom: 8%;
		}
	}

.paragraph-box.general .thums + .txt {
	margin-top: 4.8%;
}

.paragraph-box.general .txt {
	display: block;
	margin-bottom: 4.8%;
}
.paragraph-box.general .thums.w100 img {
	max-width: 100%;
}
.paragraph-box.general .object {
	margin-bottom: 4.8%;
}

.paragraph-box .thums img {
	width: 100%;
	height: auto;
}
.paragraph-box .txt.left {
	padding-right: 5%;
}
.paragraph-box .txt.right {
	padding-left: 5%;
}
	@media screen and (max-width: 767px) {
		.paragraph-box .txt.left,
		.paragraph-box .txt.right {
			padding: 0;
		}
	}




/* [] pager
---------------------*/
.pageView {
	margin: 5% 0;
	text-align: center;
	overflow: hidden;
}
	@media screen and (max-width: 767px) {
		.pageView {
			margin: 0;
			padding: 5% 0;
		}
	}

.pageView li,
.wp-pagenavi a,
.wp-pagenavi span {
	display: inline-block;
	margin: 0 2px;
	font-weight: bold;
	color: #fff;
	background: #089b68;
	border: 1px solid #089b68;
	line-height: 24px;
	text-align: center;
}
	@media screen and (max-width: 767px) {
		.pageView li,
		.wp-pagenavi a,
		.wp-pagenavi span {
			margin: 0;
		}
	}

.pageView li:hover,
.wp-pagenavi a:hover {
	background: #90c31f;
	border-color: #90c31f;
}
	@media screen and (max-width: 767px) {
		.pageView li {
			padding: 5px 7px;
			font-size: 14px;
			line-height:14px;
		}
	}

.pageView li a,
.wp-pagenavi a,
.wp-pagenavi span {
	display: inline-block;
	padding: 0 1.5em;
	color: #fff;
	font-size: 90%;
}
	@media screen and (max-width: 767px) {
		.pageView li a,
		.wp-pagenavi a,
		.wp-pagenavi span {
			padding: 0 .5em;
			font-size: 80%;
		}
	}

.pageView li a:hover {
	color: #fff;
	text-decoration: none;
}
.pageView li.pgg_on {
	background: #d49f01;
	color: #fff;
}

.pgg_previous.lf {
	float: left;
}
.pgg_next.rf {
	float: right;
}

.current {
	color: #fff !important;
	background: #034389;
	font-weight: bold;
}
.previouspostslink,
.nextpostslink {
	border: none !important;
	font-size: 120%;
}




/* [] CONTACT
----------------------------------------------*/
#contact .privacy {
	padding: 3%;
	line-height: 1.3;
	font-size: 85%;
	background: #f3f3f3;
	margin: 0 0 3% 0;
}
	@media screen and (min-width: 320px) and (max-width: 413px)  {
		#contact .privacy {
			height: 100px;
			padding: 6%;
			font-size: 80%;
			overflow: scroll;
		}
	}

#contact .privacy ul {
	margin-left: 3%;
}
	@media screen and (min-width: 320px) and (max-width: 413px)  {
		#contact .privacy ul {
			margin-left: 8%;
		}
	}

#contact .privacy ul li {
	list-style-type: demi;
}


.wpcf7-submit:hover {
	cursor: pointer;
	background: #ff3779 !important;
	transition: all ease-in-out 0.2s;
	-moz-transition: all ease-in-out 0.2s;
	-webkit-transition: all ease-in-out 0.2s;
	-o-transition: all ease-in-out 0.5s;
	-ms-transition: all ease-in-out 0.2s;
	text-decoration: none;
}
	@media screen and (max-width: 767px) {
		.btn:hover {
			opacity: 1;
		}
	}




/* [] ERROR
----------------------------------------------*/
.error {
	margin: 2% 0;
	padding: 24px;
	background: #fff5f1;
	font-size: 95%;

}
	@media screen and (max-width: 767px) {
		.error {
			padding: 4%;

		}
	}

.error ul li {
	color: #ff345f;
	position: relative;
}
.error ul li:before {
	content: "\f071";
	display: inline-block;
	margin-right: 0.25em;
	font-family: "FontAwesome";
}

