/* # Theme of Y-SAPIX v2016
Theme Name: WWW.Y-SAPIX.COM-v2016
Theme URI: http://my.studiopress.com/themes/genesis/
Description: Theme of Y-SAPIX v2016
Author: SAPIX YOZEMI GROUP
Author URI: http://www.sapix-yozemi.com/
Template: genesis
Template Version: 2.2.2
Tags:
License: GPL-2.0+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* HTML5 リセット
---------------------------------------------------------------------------------------------------- */

body { color: #000; background: #fff; }
@media only screen and (max-device-width: 480px) {
	body { -webkit-text-size-adjust: none; }
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary{ display:block }

h1, h2, h3, h4, h5, h6, input, select, textarea { font-size: 100%; }
h1, h2, h3, h4, h5, h6, b, em, strong, dt, th, caption { font-weight: normal; }
em, address, optgroup, cite { font-style: normal; }
caption { text-align: left; }

body, div,
h1, h2, h3, h4, h5, h6, p, img,
ul, ol, li, dl, dt, dd,
table, th, td, thead, tbody, tfoot, caption,
blockquote, pre, address, form, fieldset, legend, iframe,
header, footer, hgroup, section, article, nav, aside { border: none; outline: none; padding: 0; margin: 0; }

li { list-style-position: outside; }
ul li { list-style-type: none; }

pre { overflow-x: auto; }
textarea { width: 99%; overflow: auto; }
iframe { display: block; width: 100%; overflow: hidden; }

sup { font-size: 77%; vertical-align: baseline; position: relative; bottom: 0.7em; }
sub { font-size: 77%; vertical-align: baseline; position: relative; top: 0.1em; }

sup a:link,
sub a:link,
sup a:visited,
sub a:visited { color: #777; }

a:hover { cursor: pointer; background-color: transparent; }

img {
	box-sizing: border-box;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

/* フロート解除
------------------------------------------------------------ */

.author-box:before,
.clearfix:before,
.entry:before,
.entry-content:before,
.footer-widgets:before,
.nav-primary:before,
.nav-secondary:before,
.pagination:before,
.site-container:before,
.site-footer:before,
.site-header:before,
.site-inner:before,
.content-sidebar-wrap:before,
.wrap:before,
.eg-clear-fix:before,
.grid-list:before {
	content: " ";
	display: table;
}

.author-box:after,
.clearfix:after,
.entry:after,
.entry-content:after,
.footer-widgets:after,
.nav-primary:after,
.nav-secondary:after,
.pagination:after,
.site-container:after,
.site-footer:after,
.site-header:after,
.site-inner:after,
.content-sidebar-wrap:after,
.wrap:after,
.eg-clear-fix:after,
.grid-list:after {
	clear: both;
	content: " ";
	display: table;
}


/* デフォルト・汎用要素
---------------------------------------------------------------------------------------------------- */

body {
	background-color: #f7f7f7;
	font-size: 89.5%;
	font-weight: 300;
	line-height: 1.4;
	word-wrap: break-word;
}

body, input, textarea, legend { color: #222; }

del { color: #aaa; }

del.noline { text-decoration: none; }

body, textarea { font-family: "メイリオ", "ＭＳ Ｐゴシック", sans-serif; }

input, select { font-family: Arial, "ＭＳ Ｐゴシック", sans-serif; }

code { font-family: Menlo, "Courier New", Courier, sans-serif; }

b, em, strong, dt, th, caption { font-weight: bold; }

a:link,
.link-style { color: #004098; text-decoration: none; }

a:visited { color: #649; text-decoration: none; }

a:hover,
a:focus,
a:active,
.link-style:hover { color: #e60012; cursor: pointer; outline: none; }

a:hover img { opacity: 0.8; filter: alpha(opacity=80); -ms-filter: "alpha(opacity=80)"; }

label { cursor: pointer; }

p, ol, ul, dl, table { margin-bottom: 1.5em; }

b, strong { font-weight: 700; }

blockquote {
	color: #666;
	background-color: #f6f8f8;
	border: 1px solid #e6e6e6;
	margin: 1.5em 0;
	padding: 2em;
	position: relative;
}

blockquote:before {
	color: #aaa;
	content: "“";
	display: block;
	font-size: 45px;
	height: 0;
	left: 15px;
	position: absolute;
	top: 0;
}

blockquote:after {
	color: #aaa;
	content: "”";
	display: block;
	font-size: 45px;
	height: 0;
	right: 15px;
	position: absolute;
	bottom: 45px;
}

blockquote p:last-child {
	margin-bottom: 0;
}

blockquote p.cite {
	text-align: right;
}

q {
	color: #777;
	margin: 0 5px;
	margin: 0 0.5rem;
}

.fl:first-letter {
	padding-right: 1em;
}

.right { float: right; }
.left { float: left; }

.more-link { text-align: right; }

.font-palt { font-feature-settings : "palt"; }

.browser-safari .font-palt,
.font-pkna { font-feature-settings : "pkna"; }


/* テーブル要素
------------------------------------------------------------ */

table, .table,
.eg-table-style {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	box-sizing: border-box;
	display: table;
}

.table-fixed {
	table-layout: fixed;
}

th, td {
	border: 1px solid #ccc;
	padding: 0.75em 1em;
	vertical-align: middle;
	text-align: left;
	font-size: 93%;
}

th {
	background-color: #f4f4f4;
	text-align: center;
}

table.eg-simple th,
table.eg-simple td {
	background-color: #fff;
	border-width: 0 0 1px;
}

table.simple thead th {
	border-width: 0 0 2px;
}

.table--cell,
.entry-content .table--cell,
.eg-table-style dt,
.eg-table-style dd {
	box-sizing: border-box;
	display: table-cell;
	padding: 0.75em 1em;
	vertical-align: middle;
}

.table-basic .table--cell {
	border-bottom: 1px solid #ccc;
}

.table--row,
.eg-table-style .table-row,
.eg-table-style .table--row {
	display: table-row;
}

.entry-content .eg-table-style dt {
	border-bottom: 0 none;
}

.table-border { border: 1px solid #ccc; }

.table-border_top {
	border-top: 1px solid #ccc;
}

.table-border_under {
	border-bottom: 1px solid #ccc;
}

.news-list {
	border-bottom: 1px dashed #ccc;
	margin-bottom: 0;
}

.news-list .date {
	border: 0 none;
	color: #888;
	text-align: center;
	padding: 0.75em 0;
	width: 13em;
	font-weight: 300;
}

/* 学年別ページの次回枠 */
.next-schedule-box {
	font-size: 93%;
	line-height: 1.4;
	margin-bottom: 0;
	text-align: center;
}

.next-schedule-box_j1 { background-color: #4381ff; }
.next-schedule-box_j2 { background-color: #004eed; }
.next-schedule-box_j3 { background-color: #003298; }
.next-schedule-box_h1 { background-color: #468847; }
.next-schedule-box_h2 { background-color: #f89406; }
.next-schedule-box_h3 { background-color: #b94a48; }

.next-schedule-box_j1 .table--cell,
.next-schedule-box_j2 .table--cell,
.next-schedule-box_j3 .table--cell { background-color: #edf4ff; }
.next-schedule-box_h1 .table--cell { background-color: #deeedf; }
.next-schedule-box_h2 .table--cell { background-color: #fff7ed; }
.next-schedule-box_h3 .table--cell { background-color: #f6e8e8; }

/* v2017 */
.v2017 .next-schedule-box_j { background-color: #00b16a; }
.v2017 .next-schedule-box_j .table--cell { background-color: #e4fff4; }

.v2017 .next-schedule-box_h { background-color: #e87e04; }
.v2017 .next-schedule-box_h .table--cell { background-color: #fff6ec; }


.next-schedule-box dt {
	color: #fff;
	padding: 7px 0.5em 0 0.5em;
}

.next-schedule-box .icon--calendar:before {
	padding-top: 2px;
}

.next-schedule-box .table {
	border-collapse: separate;
	border-spacing: 7px;
}

.next-schedule-box .table--cell {
	color: #000;
	font-weight: 600;
	padding: 14px 7px;
	width: 300px;
}

.next-schedule-box .table--cell:hover {
	background-color: #fff;
	color: #e60012;
}

.next-schedule-box .table--cell > span {
	display: block;
	font-size: 180%;
}

.entry-header .next-schedule-box {
	position: absolute;
	right: 15px;
	bottom: 15px;
	width: 300px;
}

.entry-content .next-schedule-box {
	box-sizing: border-box;
	float: right;
	margin: 0 0 1em 1em;
	width: 300px;
}

.entry-content .next-schedule-box dd {
	padding: 0;
}

.entry-content .next-schedule-box dt {
	border-bottom: 0 none;
	padding: 7px 0.5em 0;
}

.post-info { color: #888; }

/* リンク付きのテーブル */
a.linked-table { color: #000; background-color: #f0f8fd; display: block; }
a.linked-table:hover { background-color: #ecf0f1; }
a.linked-table:hover .linked-table--more { color: #e60012; }

.linked-table dl { border-color: #ddd; border-style: solid; border-width: 1px 0; }
.linked-table dt { text-align: center; border: 0 none; }
.linked-table .table--cell { padding: 1em; }
.linked-table .more { padding-left: 0; }
.linked-table .alignright { background-color: #fff; }
.linked-table .break { display: block; }

/* 校舎ページの時間割リスト（2017.02から有効） */

.school .table-jikanwari {
	margin-bottom: 1em;
}

.school .table-jikanwari dt,
.school .table-jikanwari dd {
	border: 0 none;
}

.school .table-jikanwari dt {
	background-color: #333;
	color: #fff;
	text-align: center;
}

.school .table-jikanwari dd {
	background-color: rgba(242,241,239, 0.7);
}

@media only screen and (min-width: 600px) {
	.school .table-jikanwari dt,
	.school .table-jikanwari dd { padding: 1.5em; }
	.school .table-jikanwari dt { width: 10em; }
}


/* リスト要素
------------------------------------------------------------ */

ol.alpha li {
	list-style-type: lower-alpha;
}

ul.bullet li {
	padding-left: 1.5em;
	margin-bottom: 0.5em;
}

ul.bullet li:last-child {
	margin-bottom: 0;
}

ul.bullet li:before {
	content: '\30fb';
	display: inline-block;
	float: left;
	margin-left: -1em;
}

.inline {
	display: table;
	margin-left: -1em;
	width: 100%;
}

.kome li:before {
	content: '\203B';
	margin-left: -1em;
}

.kome li {
	padding-left: 1em;
}

dd .inline {
	margin-left: -2em;
}

.inline li {
	display: inline-block;
}

/*
dd .inline li {
	margin-left: -1em;
}
*/

.inline li:before {
	content: '\30fb';
	display: inline-block;
	float: left;
	padding: 0 0.5em;
}

.inline_vertical li:before {
	content: '\ff5c';
}

.inline--first-off li:first-child:before {
	content: '';
	padding: 0;
}

.entry-content dt {
	border-bottom: 1px dotted #aaa;
	padding: 0.25em 0;
}

.entry-content dd + dt {
	margin-top: 1em;
}

.entry-content dd {
	padding: 0.5em 1em;
}

.entry-content dd ul.bullet {
	margin-left: -1em;
}

.entry-content .eg-boxed1 dd ul.bullet {
	margin-left: -0.5em;
}

.entry-content dd *:last-child {
	margin-bottom: 0;
}

.sub-menu {
	background-color: #fafafa;
	border: 1px solid #ddd;
}

.sub-menu--header-image:before {
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border-bottom: 1px solid #ddd;
	content: '';
	display: block;
	width: 100%;
	height: 180px;
}

.sub-menu li,
.singular-content ul.sub-menu li {
	margin-bottom: 0;
}

.sub-menu li:not(:last-child) {
	border-bottom: 1px dashed #ccc;
}

.sub-menu li:hover {
	background-color: #fff;
}

.sub-menu li > a,
.sub-menu li > span {
	display: block;
	padding: 0.75em 1em;
}

.sub-menu li .icon--arrow_right:before {
	margin-left: -5px;
	margin-top: 2px;
}

.browser-ie .sub-menu li .icon--arrow_right:before {
	margin-top: 1px;
}

.sub-menu .sub {
	margin: 0 0 0 2em;
}

.sub-menu .sub li {
	border-bottom: 0 none;
}

.sub-menu .sub li > a,
.sub-menu .sub li > span {
	padding: 0 0.75em 0.5em 0.75em;
}

.sub-menu .sub li:last-child > a,
.sub-menu .sub li:last-child > span {
	padding-bottom: 1em;
}

/* リストボックス要素
------------------------------------------------------------ */

.list-boxed {
	display: table;
	font-weight: 600;
	width: 100%;
}

.list-boxed--label,
.list-boxed--item {
	display: table;
	border-collapse: separate;
	border-spacing: 5px 0;
	float: left;
	box-sizing: border-box;
	width: 20%;
	margin: 0;
	text-align: center;
	line-height: 1.4;
}

.list-boxed--label > span,
.list-boxed--item  > a {
	display: table-cell;
	box-sizing: border-box;
	padding: 0.75em;
	vertical-align: middle;
	border: 1px solid #ccc;
}

.list-boxed--label > span {
	background-color: #333;
	border-color: #333;
	color: #fff;
}

.list-boxed--label_blue > span {
	background-color: #004098;
	border-color: #004098;
}

.list-boxed--label_green > span {
	background-color: #8dc63f;
	border-color: #8dc63f;
}

.list-boxed--label_red > span {
	background-color: #e60012;
	border-color: #e60012;
}

.list-boxed--label_orange > span {
	background-color: #f4662e;
	border-color: #f4662e;
}

.list-boxed--item > a {
	background-color: rgba(67, 129, 255, 0.1);
	border-color: #4381ff;
	color: #000;
}

.list-boxed--item_h > a {
	background-color: rgba(248, 148, 6, 0.1);
	border-color: #f89406;
	color: #000;
}

.list-boxed--item_green > a {
	background-color: #daebc1;
	border-color: #8dc63f;
	color: #000;
}

.list-boxed--item_red > a {
	background-color: #ffd5d8;
	border-color: #e60012;
	color: #000;
}

.list-boxed--item  > a:hover,
.list-boxed--item  > a:focus,
.list-boxed--item  > a:active {
	background-color: #f2ecfc;
	border-color: #5c20b8;
}

.list-boxed--item > a span {
	display: block;
	font-size: 93%;
}

/* Grid-List要素
------------------------------------------------------------ */

.grid-list li,
.singular-content ul.grid-list li {
	margin-bottom: 0;
}

.grid-list .grid-list--item {
	box-sizing: border-box;
	display: table;
	float: left;
	font-size: 93%;
	line-height: 1.4;
	margin: 0;
	padding: 3px;
	width: 25%;
}

.grid-list .grid-list--item > a,
.grid-list .grid-list--item > span {
	border: 1px dashed #e6e6e6;
	box-sizing: border-box;
	display: table-cell;
	padding: 12px;
	vertical-align: top;
	width: 300px;
}

.grid-list_vam .grid-list--item > a,
.grid-list_vam .grid-list--item > span {
	vertical-align: middle;
}

.grid-list .grid-list--item > a:hover,
.grid-list .grid-list--item > a:focus,
.grid-list .grid-list--item > a:active {
	border-color: #98c3ff;
}

.grid-list .grid-list--item > span {
	background-color: #333;
	border-color: #333;
	color: #fff;
}

.grid-list .grid-list--item .alignleft {
	margin: 0 0.5em 0.5em 0;
}

.grid-list .grid-list--item .alignright {
	margin: 0 0 0.5em 0.5em;
}

.grid-list .grid-list--item .alignleft img,
.grid-list .grid-list--item .alignright img {
	max-width: 65px;
	padding: 1px;
}

/*校舎ページの時間割リスト（2017.02廃止）*/
.school .schedule-list .grid-list--item > a,
.school .schedule-list .grid-list--item > span {
	font-weight: 600;
	height: 120px;
	text-align: center;
	vertical-align: middle;
}

.school .schedule-list .grid-list--item > a {
	background-color: rgba(67, 129, 255, 0.1);
	border-color: #4381ff;
	border-style: solid;
	color: #000;
}

.school .schedule-list .grid-list--item > a:hover,
.school .schedule-list .grid-list--item > a:focus,
.school .schedule-list .grid-list--item > a:active {
	background-color: rgba(230, 0, 18, 0.1);
	border-color: #e60012;
}

.school .schedule-list .grid-list--item_h > a {
	background-color: rgba(248, 148, 6, 0.1);
	border-color: #f89406;
}

.school .schedule-list .grid-list--item > a span {
	display: block;
}

/*校舎ページの関連情報リスト*/
.school .grid-list_related .grid-list--item {
	width: 33.33333333333333%;
}

.school .grid-list_related h3.entry-title {
	margin: 0;
	font-size: 100%;
}

/* ダウンロードリスト */
.download .download-list {
	text-align: center;
	padding-left: 55px;
}

.download .download-list .grid-list--item {
	position: relative;
	padding: 8px;
	width: auto;
	height: 220px;
}

.download .download-list .grid-list--item > a,
.download .download-list .grid-list--item > span {
	border: 2px solid #004098;
	padding: 15px;
	position: relative;
	vertical-align: middle;
	width: auto;
}

.download .download-list .grid-list--item > a span {
	background-color: #004098;
	bottom: 0;
	box-sizing: border-box;
	color: #fff;
	display: block;
	font-size: 90%;
	left: 0;
	position: absolute;
	padding: 6px 12px;
	width: 100%;
}

.download .download-list .grid-list--item > a:hover,
.download .download-list .grid-list--item > a:focus,
.download .download-list .grid-list--item > a:active {
	border-color: #e60012;
}

.download .download-list .grid-list--item > a:hover span,
.download .download-list .grid-list--item > a:focus span,
.download .download-list .grid-list--item > a:active span {
	background-color: #e60012;
}

.download .download-list .grid-list--item > span {
	border-color: #333;
	box-sizing: content-box;
	display: table-cell;
	font-weight: 600;
	width: 120px;
	height: 170px;
	vertical-align: middle;
}

/* Flexbox
------------------------------------------------------------ */

.flexbox {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	-ms-flex-flow: row wrap;
	width: 100%;
	justify-content:         flex-start;
	-webkit-justify-content: flex-start;
	margin: 0 auto 1.5em auto;
}

.flexbox_last {
	margin-bottom: 0;
}

.flexbox-item {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	box-sizing: border-box;
	padding: 6px;
	width: 33.33333333%;
}

.flexbox-item a {
	box-sizing: border-box;
	border: 1px solid #ccc;
	display: block;
	color: #000;
	position: relative;
}

.flexbox-item img {
	display: block;
	vertical-align: top;
}

.browser-ie .flexbox-item img {
	width: 100%;
}

.flexbox-item .content {
	border-top: 1px solid #ccc;
	padding: 1em 1em 44px 1em;
	margin: 0;
}

.flexbox-item .more {
	text-align: right;
	position: absolute;
	right: 6px;
	bottom: -18px;
}

.flexbox-item a:hover {
	border-color: #6c7a89;
	box-shadow: none;
}

.flexbox-item a:hover .more {
	color: #e60012;
}

@media only screen and (max-width: 800px) {
	.flexbox-item { width: 50%; }
}

@media only screen and (max-width: 600px) {
	.flexbox-item { width: 100%; margin-bottom: 1em; }
}


/* 画像要素
------------------------------------------------------------ */

.alignleft,
.icatch--left {
	float: left;
	margin: 0 0.5em 1em 0;
}

.alignright,
.icatch--right {
	float: right;
	margin: 0 0 0.5em 1em;
}

.aligncenter {
	display: table;
	margin: 0 0 1em 0;
	table-layout: fixed;
	text-align: center;
	width: 100%;
}

.alignleft img,
.alignright img,
.aligncenter img,
.featuredpost img,
.featuredpage img {
	border: 1px solid #ccc;
	padding: 4px;
}

.featuredpost img,
.featuredpage img {
	margin-bottom: 10px;
}

.wp-caption,
.caption {
	color: #555;
	text-align: center;
	margin: 0.5em 0 0 0;
}

.featuredpost .wp-caption,
.featuredpost .caption {
	margin: -0.25em 0 1em 0;
}


/* @2x対応 */
.img2x--w70  { width: 70px; }
.img2x--w120 { width: 120px; }
.img2x--w150 { width: 150px; }
.img2x--w240 { width: 240px; }
.img2x--w250 { width: 250px; }
.img2x--w300 { width: 300px; }
.img2x--w320 { width: 320px; }

/* icatch */
.icatch img {
	border: 1px solid #ccc;
	padding: 1px;
}

.icatch_p4 img {
	padding: 4px;
}

/* 拡大画像 */
.colorbox-zoomin {
	display: block;
	position: relative;
}

.colorbox-zoomin:after {
	background: transparent url(images/bg-colorbox-zoom-in@2x.png) no-repeat 0 0;
	background-size: 150px;
	content: '';
	display: block;
	left: 8px;
	width: 150px;
	height: 30px;
	position: absolute;
	bottom: 8px;
}

.colorbox-zoomin_right:after {
	left: auto;
	right: 8px;
}

/* アイコン要素
------------------------------------------------------------ */

.icon:before,
.icon:after {
	display: inline-block;
	font-family: "dashicons";
	font-size: 120%;
	font-weight: normal;
	line-height: 1;
	padding-top: 2px;
	text-align: center;
	transition: color .1s ease-in 0;
	-webkit-transition: color .1s ease-in 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	vertical-align: top;
	width: 30px;
}

/* ボタンの中で使う場合 */
.eg-button .icon:before,
.eg-button .icon:after {
	font-size: 150%;
	font-size: 130%\9;
}

/* 新着・更新マーク */
.icon--new:after,
.icon--new_before:before,
.icon--update:after {
	content: 'NEW';
	font-size: 60%;
	color: #fff;
	background-color: #e60012;
	border-radius: 3px;
	padding: 4px 8px;
	display: inline-block;
	line-height: 1;
	vertical-align: top;
	margin: 1px 0 0 6px;
}

.icon--new_before:before {
	margin: 1px 6px 0 0;
}

.icon--update:after {
	background-color: #f1c40f;
	color: #000;
	content: 'UPDATE';
}

/* 外部リンク */
.icon--external:before,
.icon--external_after:after {
	content: "\f504";
}

.browser-ie .icon--external:before,
.browser-ie .icon--external_after:after {
	margin-top: -3px;
}

/* お知らせ・デジタルパンフ・携帯コンテンツ・マイページ */
.icon--info:before { content: "\f488"; }
.icon--pamphlet:before { content: "\f472"; }
.icon--keitai:before { content: "\f470"; }
.icon--person:before { content: "\f110"; }

/* やじるし（上・右・下・左） */
.icon--arrow:before	   { content: "\f342"; }
.icon--arrow_right:before { content: "\f344"; }
.icon--arrow_down:before  { content: "\f346"; }
.icon--arrow_left:before  {
	content: "\f340";
	padding-top: 1px;
}

/* さんかく（上・右・下・左） */
.icon--triangle:before {
	content: "\f142";
	font-size: 190%;
	height: 10px;
	padding-top: 0;
	margin-top: -4px;
}

.browser-ie .icon--triangle:before {
	margin: -7px 4px 0 -4px;
}

.icon--triangle_right:before,
.icon--triangle_right_after:after {
	content: "\f139";
	font-size: 190%;
	height: 10px;
	padding-top: 0;
	margin-top: -4px;
}

.browser-ie .icon--triangle_right:before,
.browser-ie .icon--triangle_right_after:after {
	margin: -7px 4px 0 -4px;
}

.icon--triangle_down:before {
	content: "\f140";
	font-size: 190%;
	height: 10px;
	padding-top: 0;
	margin-top: -4px;
}

.browser-ie .icon--triangle_down:before {
	margin: -8px 4px 0 -4px;
}

.icon--triangle_left:before {
	content: "\f141";
	font-size: 190%;
	height: 10px;
	padding-top: 0;
	margin-top: -4px;
}

.browser-ie .icon--triangle_left:before {
	margin: -7px 4px 0 -4px;
}

/* メール・校舎・カレンダー・ホーム・地図 */
.icon--mail:before { content: "\f466"; }
.browser-ie .icon--mail:before {
	margin-right: 4px;
	margin-top: -4px;
}

.icon--school:before { content: "\f512"; }

.browser-ie .icon--school:before {
	margin-right: 4px;
	margin-top: -4px;
}

.icon--calendar:before {
	content: "\f508";
	padding-top: 1px;
}

.icon--home:before {
	content: "\f102";
	padding-top: 1px;
}

.icon--map:before {
	content: "\f231";
	padding-top: 1px;
}

.browser-ie .icon--map:before {
	margin-top: -1px;
	padding-top: 0;
}

/* 電話・フリーダイヤル */
.icon--phone:before { content: "\f525"; }
.icon--phone_free:before,
.eg-free-call:before {
	background: transparent url(images/icon-free-dail-w28x16@2x.png) no-repeat center center;
	background-size: 28px 16px;
	content : '';
	display: inline-block;
	width: 30px;
	height: 16px;
	margin-top: 2px;
}

/* メニュー・もっと見る・ページトップ */
.icon--menu:before { content: "\f333"; }

.icon--more:before { content: "\f345"; }

.icon--more_after:after {
	content: "\f345";
	margin: 0 -5px 0 -5px;
}

.browser-ie .icon--more_after:after {
	margin-top: -1px;
}

.singular-content .icon--more_after:after {
	margin-top: 2px;
}

.icon--pagetop:before {
	content: "\f343";
	padding-top: 1px;
}

.icon--portfolio:before { content: "\f322"; }
.icon--help:before { content: "\f223"; }
.icon--sos:before { content: "\f468"; }
.icon--lightbulb:before { content: "\f339"; }
.icon--chat:before { content: "\f125"; }
.icon--book:before { content: "\f331"; }
.header-menu .icon--mail:before { padding: 9px 0 5px 0; }


/* Lead
------------------------------------------------------------ */

.lead {
	background-color: #f7f7f7;
	border: 1px solid #ddd;
	display: table;
	font-weight: 700;
	margin-bottom: 2em;
	padding: 15px;
}

.lead p {
	margin-bottom: 1em;
}

.lead *:last-child {
	margin-bottom: 0;
}

/* ヘッダー
---------------------------------------------------------------------------------------------------- */

.site-header {
	background-color: #fff;
}

.site-header .wrap {
	margin: 0 auto;
	width: 1200px;
	padding: 15px 0;
}

.site-header .title-area {
	float: left;
	width: 630px;
}

.site-header .site-title {
	margin-bottom: 0;
}

.browser-ie .site-header .site-title {
	margin-top: 7px;
}

.site-header .title-area a {
	background: transparent url(images/logo-w630x80@2x.png) no-repeat center center;
	background-size: 630px 80px;
	display: block;
	height: 80px;
	overflow: hidden;
	text-indent: 100%;
	text-indent: -9999px\9;
	white-space: nowrap;
	width: 630px;
}

.header-widget-area {
	float: right;
	width: 500px;
}

.header-widget-area ul {
	border-collapse: separate;
	border-spacing: 5px 0;
	display: table;
	margin: 0;
	width: 100%;
}

.header-widget-area li {
	display: table-cell;
	height: 80px;
	text-align: center;
	vertical-align: middle;
	width: 25%;
}

.header-widget-area li a {
	border: 1px solid #ddd;
	color: #000;
	display: block;
	padding: 10px 0;
}

.header-widget-area li a:hover,
.header-widget-area li a:focus,
.header-widget-area li a:active {
	border-color: #e60012;
	color: #e60012;
}

.header-widget-area .icon:before {
	display: block;
	font-size: 235%;
	font-size: 190%\9;
	padding: 5px 0;
	width: 100%;
}

.header-widget-area .mypage a {
	background-color: #004098;
	border-color: #002b65;
	color: #fff;
}

.header-widget-area .mypage a:hover,
.header-widget-area .mypage a:focus,
.header-widget-area .mypage a:active {
	color: #ff0;
	border-color: #0064ed;
}


/* ナビゲーション
---------------------------------------------------------------------------------------------------- */

.nav-primary {
	background-color: #004098;
	box-shadow: 0 2px 4px #777;
	margin-bottom: 15px;
}

.nav-primary .wrap {
	margin: 0 auto;
	width: 1200px;
}

.menu-primary {
	border-collapse: collapse;
	display: table;
	margin: 0;
}

.menu-primary li {
	display: table-cell;
	text-align: center;
}

.menu-primary a {
	color: #fff;
	display: block;
	padding: 20px;
}

.menu-primary li:first-child a { padding-left: 0; }

.menu-primary a:hover,
.menu-primary a:focus,
.menu-primary a:active,
.menu .current-menu-item a,
.menu .current_page_item a,
.method .menu-primary .method a,
.curriculum .menu-primary .curriculum a,
.concept .menu-primary .concept a,
.system .menu-primary .system a,
.results .menu-primary .results a,
.moshi .menu-primary .moshi a,
.event .menu-primary .event a,
.lecture .menu-primary .lecture a,
.school .menu-primary .school a,
.request .menu-primary .request a {
	color: #ff0;
	text-decoration: none;
}


/* パンくず
---------------------------------------------------------------------------------------------------- */

.breadcrumb .wrap {
	color: #555;
	margin: 0 auto;
	padding: 5px 0 20px 0;
	width: 1230px;
}


/* メインカラム
---------------------------------------------------------------------------------------------------- */

.content-sidebar-wrap {
	background-color: #fff;
	border: 1px solid #e6e6e6;
	box-shadow: 2px 2px 2px rgba(85, 85, 85, 0.1);
	margin: 0 auto 15px auto;
	width: 1200px;
	padding: 14px 14px 28px 14px;
}

.page-template-page-no-header .content-sidebar-wrap { margin: 15px auto; }

/* Main Content
------------------------------------------------------------ */

.content-sidebar .content {
	box-sizing: border-box;
	float: left;
	width: 885px;
}

/* 記事ページ
------------------------------------------------------------ */

.singular-content,
.archive-content {
	font-size: 115.5%;
	line-height: 1.6;
}

.single-school .singular-content {
	margin-bottom: 1.5em;
}

.singular-content .entry-header {
	position: relative;
}

.singular-content .entry-header .entry-title,
.archive-description .archive-title {
	display: block;
	background-color: #fafafa;
	background: -moz-linear-gradient(top, #f3f3f3, #fff);
	background: -ms-linear-gradient(top, #f3f3f3, #fff);
	background: -webkit-linear-gradient(top, #f3f3f3, #fff);
	border-color: #004098 #ccc #ccc #ccc;
	border-style: solid;
	border-width: 3px 1px 1px 1px;
	font-size: 171.4%;
	font-weight: bold;
	line-height: 1.4;
	margin: 0 0 20px 0;
	padding: 1.5em;
}

.singular-content .entry-header .entry-title_replace {
	display: block;
	margin: 0 0 15px 0;
	position: relative;
	width: 100%;
}

.singular-content .entry-header .entry-title_replace:before {
	background-color: #f6f6f6;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: cover;
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	width: 100%;
}

@media only screen and (min-width: 1250px) {
	.singular-content .entry-header .entry-title_replace,
	.singular-content .entry-header .entry-title_replace:before {
		background-size: contain;
		height: 360px;
	}
}

.singular-content .entry-header .entry-title_replace_h180,
.singular-content .entry-header .entry-title_replace_h180:before {
	height: 180px;
}

.singular-content .entry-header .entry-title_replace_h406,
.singular-content .entry-header .entry-title_replace_h406:before {
	height: 406px;
}

.singular-content .entry-content h2 {
	font-size: 115.5%;
	font-weight: 700;
	margin: 1.5em 0 1.25em 0;
}

.singular-content .entry-content h2:not(.styled-off) {
	background-color: #fafafa;
	background: -moz-linear-gradient(top, #f3f3f3, #fff);
	background: -ms-linear-gradient(top, #f3f3f3, #fff);
	background: -webkit-linear-gradient(top, #f3f3f3, #fff);
	border-bottom: 1px solid #e6e6e6;
	border-top: 3px solid #004098;
	color: #000;
	padding:  0.75em;
	position: relative;
}

.singular-content .entry-content h2:not(.styled-off):before {
	background-color: #f3f3f3;
	background: -moz-linear-gradient(top, #f3f3f3, #fff);
	background: -ms-linear-gradient(top, #f3f3f3, #fff);
	background: -webkit-linear-gradient(top, #f3f3f3, #fff);
	bottom: -11px;
	content: '';
	display: block;
	height: 10px;
	left: 0;
	position: absolute;
	width: 100%;
}

.singular-content .entry-content h3 {
	font-size: 114.2%;
	font-weight: bold;
	line-height: 1.4;
	margin: 1.5em 0 1em 0;
}

.singular-content .entry-content h3:not(.styled-off) {
	border-bottom: 2px solid #004098;
	padding: 0 0 3px 0;
}

.singular-content .entry-content h4 {
	font-size: 108%;
	font-weight: bold;
	line-height: 1.4;
	margin: 1.5em 0 0.5em 0;
	padding: 3px 0;
}

.singular-content .entry-content h4:not(.styled-off) {
	border-left: 4px solid #555;
	padding: 3px 0 3px 6px;
}

.singular-content .entry-content .eg-boxed1 h4 {
	font-size: 100%;
	border-width: 0 0 1px 0;
	margin: 0;
	padding: 0.75em;
}


.singular-content .entry-content h5 {
	font-weight: bold;
	line-height: 1.4;
	margin: 1.5em 0 0.5em 0;
	padding: 3px 0;
}

.singular-content .entry-content h5:not(.styled-off) {
	border-left: 4px solid #999;
	padding: 3px 0 3px 6px;
}

.singular-content .entry-content h6 {
	font-weight: bold;
	line-height: 1.4;
	margin: 1.5em 0 0.5em 0;
	padding: 3px 0;
}

.singular-content .entry-content h6:not(.styled-off) {
	border-left: 4px solid #ccc;
	padding: 3px 0 3px 6px;
}

.singular-content .entry-content h2.first,
.singular-content .entry-content h3.first,
.singular-content .entry-content h4.first,
.singular-content .entry-content h5.first,
.singular-content .entry-content h6.first {
	margin-top: 0;
}

.singular-content .entry-content li {
	margin-bottom: 0.5em;
}

.singular-content .entry-content li:last-child {
	margin-bottom: 0;
}

.singular-content .entry-content .inline {
	box-sizing: border-box;
	padding-left: 1.5em;
}

.singular-content .entry-content ol > li {
	margin-left: 2em;
}

.singular-content .entry-meta {
	color: #888;
	text-align: right;
}

.singular-content .entry-time:before {
	padding-top: 2px;
	vertical-align: top;
}

.singular-content .entry-footer {
	padding-top: 45px;
}

.singular-content .entry-footer:empty {
	padding-top: 0;
}

/* 記事下のバックナンバー */
.backnumber-title {
	border-top: 2px solid #ccc;
	border-bottom: 1px solid #ddd;
	font-weight: 600;
	padding: 0.75em 0.5em;
}

.backnumber-title a {
	color: #555;
	display: block;
}

.backnumber-title a:hover,
.backnumber-title a:focus,
.backnumber-title a:active {
	color: #e60012;
}

.backnumber-title .icon--more_after:after {
	margin-top: 2px;
	margin-left: 2px;
}


/* 資料請求バナー
------------------------------------------------------------ */

a.banner-request {
	display: block;
	border: 3px solid #487fcc;
	background-color: #e3f3ff;
	padding: 1em;
	color: #000;
	line-height: 1.4;
	position: relative;
	min-height: 95px;
	margin-bottom: 1em;
}

a.banner-request_english { background-color: #fdf7dd; }
a.banner-request_liberal { background-color: #faecf3; }
a.banner-request_math    { background-color: #f0f8fd; }
a.banner-request_rika { background-color: #fbffe7; }
a.banner-request_chireki { background-color: #f5eef7; }

a:hover.banner-request {
	border-color: #e60012;
	background-color: #edeff0;
}

a.banner-request dl {
	margin-bottom: 0;
}

a.banner-request dt {
	border-bottom: 0 none;
	border-radius: 5px;
	background-color: #e60012;
	color: #fff;
	line-height: 1.1;
	padding: 5px 10px;
}

a.banner-request dd {
	border-bottom: 0 none;
	padding: 0.75em 125px 0 0.25em;
}

a.banner-request dd img {
	box-shadow: 1px 1px 3px rgba(0,0,0,0.8);
	position: absolute;
	width: 80px;
	top: 7px;
	right: 36px;
}

a:hover.banner-request dd img {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

/* 教科リンク
------------------------------------------------------------ */

a.kyouka-link { color: #000; }
a.kyouka-link:hover,
a.kyouka-link:focus,
a.kyouka-link:active { background-color: #ecf0f1; }

a.kyouka-link:hover .more,
a.kyouka-link:focus .more,
a.kyouka-link:active .more { color: #e60012; }

.kyouka-math    { background-color: #f0f8fd; }
.kyouka-kokugo  { background-color: #f7e0ec; }
.kyouka-liberal { background-color: #f7e0ec; }
.kyouka-english { background-color: #fdf7dd; }
.kyouka-science { background-color: #edf2db; }
.kyouka-chireki { background-color: #eee5f0; }

.kyouka-summary {
	margin-bottom: 0.75em;
	border-color: #ddd;
	border-style: solid;
	border-width: 1px 0;
}

.kyouka-summary dt {
	width: 9em;
	text-align: center;
	border: 0 none;
}

.kyouka-summary .table--cell { padding: 1em; }
.kyouka-summary .more { padding-left: 0; }
.kyouka-summary .alignright { background-color: #fff; }
.kyouka-summary .break { display: block; }



/* ページ内メニュー
------------------------------------------------------------ */

dl.menu {
	border: 2px solid #ddd;
	border-radius: 3px;
	box-sizing: border-box;
	clear: both;
	display: table;
	margin: 0 0 1.5em 0;
	width: 100%;
}

dl.menu dt {
	display: table-cell;
	background-color: #eee;
	box-sizing: border-box;
	color: #000;
	border: 0 none;
	padding: 0.75em 1em;
	text-align: center;
	vertical-align: middle;
}

dl.menu dt a {
	color: #000;
}

dl.menu dd {
	box-sizing: border-box;
	display: table-cell;
	padding: 0.75em 1em;
}

dl.menu ul { margin-bottom: 0; }

dl.menu li {
	background: none;
	display: inline;
	list-style: none;
	margin: 0;
	padding: 0;
}

dl.menu li:before { content: '\ff5c'; color: gray; }

dl.menu li.first:before { content: ''; }

dl.menu2 {
	display: table;
	width: 100%;
	border: 2px solid #002354;
	border-radius: 3px;
	background-color: #004098;
	background: -moz-linear-gradient(top, #014ebb, #004098);
	background: -ms-linear-gradient(top, #014ebb, #004098);
	background: -webkit-linear-gradient(top, #014ebb, #004098);
	box-sizing: border-box;
	line-height: 1.4;
	margin-bottom: 24px;
	color: #fff;
}

dl.menu2 dt,
dl.menu2 dd {
	display: table-cell;
	vertical-align: middle;
	width: 20%;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0 none;
	border-right: 1px solid #002354;
}

dl.menu2 dt {
	background-color: #003276;
}

dl.menu2 a {
	position: relative;
}

dl.menu2 a.active:after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-width: 16px;
	border-style: solid;
	border-color: #002354 transparent transparent transparent;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -32px;
	margin: 0 auto;
}


dl.menu2 dd:last-child {
	border-right: 0 none;
}

dl.menu2 a {
	color: #fff;
	display: inline-block;
	width: 100%;
	padding: 24px 0;
}

dl.menu2 a:hover,
dl.menu2 a.active {
	background-color: #fff;
	background: -moz-linear-gradient(top, #fff, #e7e7e7);
	background: -ms-linear-gradient(top, #fff, #e7e7e7);
	background: -webkit-linear-gradient(top, #f, #e7e7e7);
	color: #004098;
}

dl.menu2-gray {
	border-color: #888;
	background-color: #cecece;
	background: -moz-linear-gradient(top, #eee, #cecece);
	background: -ms-linear-gradient(top, #eee, #cecece);
	background: -webkit-linear-gradient(top, #eee, #cecece);
}

dl.menu2-gray dt {
	background-color: #777;
}

dl.menu2-gray dt,
dl.menu2-gray dd {
	border-color: #888;
}

dl.menu2-gray a.active:after {
	border-color: #888 transparent transparent transparent;
}

dl.menu2-gray a {
	color: #000;
}

dl.menu2-gray a:hover,
dl.menu2-gray a.active {
	background-color: #fff;
	background: -moz-linear-gradient(top, #fff, #e7e7e7);
	background: -ms-linear-gradient(top, #fff, #e7e7e7);
	background: -webkit-linear-gradient(top, #f, #e7e7e7);
}

/* Pagination
------------------------------------------------------------ */

.pagination {
	padding: 30px 0 15px 0;
}

.pagination ul {
	border-collapse: separate;
	border-spacing: 10px 0;
	display: table;
	margin: 0 auto;
}

.pagination li {
	display: table-cell;
}

.pagination li a,
.pagination li span {
	display: block;
	border: 1px solid #ccc;
	padding: 10px 15px;
}

.pagination li.active a,
.pagination li.active span,
.pagination li a:hover,
.pagination li a:focus,
.pagination li a:active {
	background-color: #edf4ff;
}

/* プレビュー時のページ区切り */
.preview-pagebreak {
	clear: both;
	border-top: 1px dashed #aaa;
	position: relative;
	margin-top: 4em;
	margin-bottom: 4em;
}

.preview-pagebreak span {
	color: #bbb;
	display: inline-block;
	padding: 0 0.5em;
	background-color: #fff;
	position: absolute;
	text-align: center;
	left: 2em;
	top: -13px;
}


/* 教科別サイト 記事リンク
--------------------------------------------- */
.eg-prev-next-link a {
	border-bottom: 1px #ddd solid;
	display: block;
	text-decoration: none;
	padding: 14px 40px;
	color: #0bd;
}
.eg-prev-next-link a:hover {
	color: #e60012;
}
.eg-prev-next-link a:first-child {
	border-top: 1px #ddd solid;
}
.eg-prev-next-label {
	font-size: .825rem;
	color: #000;
	margin-bottom: 10px;
}

/* 教科別サイト 記事リンク モバイル
--------------------------------------------- */
.eg-prev-link {
	background: url(/wp-content/uploads/2019/08/arrow_prev.png) no-repeat 10px center;
}
.eg-next-link {
	background: url(/wp-content/uploads/2019/08/arrow_next.png) no-repeat right 10px center;
}

.eg-prev-link,
.eg-next-link {
	background-size: 14px 20px;
}

/* 教科別サイト 記事リンク 大画面
--------------------------------------------- */
@media ( min-width: 600px) {
.eg-prev-next-link {
	  display: flex;
}
.eg-prev-next-link a {
	  flex: 1;
}
.eg-prev-next-link a,
.eg-prev-next-link a:first-child {
	  border: none;
}
.eg-next-link {
	  text-align: right;
}
}


/* 記事一覧・検索結果
------------------------------------------------------------ */

/* Archive, Search
--------------------------------------------- */

.entry-content .searchform .s,
.entry-content .searchform .searchsubmit {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
}

.entry-content .searchform .s {
	box-sizing: border-box;
	background-color: #f7f7f7;
	border: 1px solid #999;
	color: #333;
	margin: 0;
	padding: 0.75em 1.25em 0.75em 0.75em;
	width: 80%;
	line-height: 1.1;
}

.entry-content .searchform .searchsubmit {
	box-sizing: border-box;
	background-color: #004098;
	border: 1px solid #004098;
	color: #fff;
	cursor: pointer;
	padding: 0.75em 1.25em;
	width: 20%;
	line-height: 1.1;
}

.entry-content .searchform .searchsubmit:hover {
	background-color: #0064ed;
}

.archive .lead {
	margin-bottom: 5px;
}

.archive-content .entry {
	border-bottom: 1px dashed #ccc;
	padding: 15px 0;
}

.archive-content .entry:last-child {
	border-bottom: 0 none;
}

.archive-content .entry-title {
	padding-left: 1em;
}

.archive-content .entry-title a {
	display: block;
	font-weight: 600;
	margin-bottom: 5px;
}

.archive-content .entry-title .icon--triangle_right:before {
	float: left;
	margin-left: -0.95em;
	margin-top: -3px;
}

.browser-ie .archive-content .entry-title .icon--triangle_right:before {
	margin-top: -6px;
	margin-right: 0;
	padding-left: 4px;
}

.archive-content .entry p {
	margin-bottom: 0;
}

.archive-content .entry-content {
	padding-left: 1em;
}

.archive-content .entry-meta {
	color: #777;
	margin-top: 5px;
	padding-left: 0.75em;
}


/* サイドバー
---------------------------------------------------------------------------------------------------- */

.sidebar-primary {
	float: right;
	width: 300px;
}

.sidebar .widget:last-child {
	margin-bottom: 0;
}

.sidebar .post {
	border-bottom: 1px dashed #ccc;
	box-sizing: border-box;
	color: #000;
	display: table;
	padding: 1em 0.75em;
	width: 100%;
}

.sidebar .post:hover,
.sidebar .post:focus,
.sidebar .post:active {
	color: #000;
}

.sidebar .post .entry-title { color: #004098; }

.sidebar .post:hover .entry-title,
.sidebar .post:focus .entry-title,
.sidebar .post:active .entry-title {
	color: #e60012;
}

.sidebar .post--summary .entry-title { font-weight: 600; }

.sidebar .post--summary .entry-title {
	margin-bottom: 5px;
}

.sidebar .alignleft img,
.sidebar .alignright img {
	padding: 2px;
}

.sidebar .entry-title a {
	display: block;
}

.sidebar .entry-content {
	margin-bottom: 1em;
}

.sidebar .entry-content p {
	padding: 0 5px;
}

.sidebar .more-link {
	margin: 0.75em 0 1.5em 0;
}

/* 入室メニューボックス
------------------------------------------------------------ */

.join {
	background: #b3d7ff url(images/bg-blue-mesh.png) repeat 0 0;
	padding: 5px;
}

.join--green {
	background-image: url(images/bg-green-mesh.png);
}

.join ul {
	background-color: #efefef;
	border: 1px solid #eee;
	border-radius: 3px;
	color: #000;
	display: block;
	font-weight: bold;
}

.join li {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	cursor: pointer;
	padding: 3px 7px;
}

.join li:hover {
	background-color: #eee;
}

.join li:last-child {
	border-bottom: 0 none;
}

.join li a {
	background: transparent url(images/bg-join-arrow.png) no-repeat right center;
	color: #000;
	display: block;
	padding: 7px 24px 7px 0;
}

.join .heading {
	font-size: 115.5%;
	padding: 10px;
}

.join .heading,
.join .heading:hover {
	background-color: #f6f6f6;
	cursor: default;
}


.join .heading span {
	background: transparent url(images/bg-logo-w120x20@2x.png) no-repeat left center;
	background-size: 120px 20px;
	display: block;
	min-height: 20px;
	padding-left: 130px;
}

/* DLタグ版（2017.02以降） */
.boxed-join {
	background: #b3d7ff url(images/bg-mesh.png) repeat center center;
	box-sizing: border-box;
	padding: 5px;
}

.boxed-join * {
	box-sizing: border-box;
}

.boxed-join dt {
	background: #f6f6f6 url(images/bg-logo-w120x20@2x.png) no-repeat 10px center;
	background-size: 120px 20px;
	border-radius: 3px 3px 0 0;
	display: block;
	font-size: 115.5%;
	min-height: 20px;
	padding: 10px 10px 10px 140px;
}

.boxed-join dd {
	background-color: #fff;
	border-top: 1px solid #ccc;
	font-weight: bold;
	padding: 10px;
}

.boxed-join .link {
	padding: 0;
}

.boxed-join .title {
	background-color: #f6f6f6;
	font-size: 115.5%;
}

.boxed-join dd:last-child {
	border-radius: 0 0 3px 3px;
}

.boxed-join dd a {
	position: relative;
	color: #000;
	display: block;
	padding: 10px 32px 10px 10px;
}

.boxed-join dd a:hover {
	background-color: #eee;
}

.boxed-join dd a:after {
	background: transparent url(images/bg-join-arrow.png) no-repeat center center;
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	position: absolute;
	right: 8px;
	top: 12px;
}

.boxed-join_green   { background-color: #c7e0d6; }
.boxed-join_madison { background-color: #aabdd0; }

.boxed-fd .icon--phone_free:before { margin-top: 6px; }

.boxed-fd .label {
	border-radius: 0;
	display: block;
	width: 100%;
	margin: 0 0 0.25em 0;
}

.boxed-fd-item {
	background: #aabdd0 url(images/bg-mesh.png) repeat center center;
	box-sizing: border-box;
	padding: 5px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 15px;
}

.boxed-fd-item * {
	box-sizing: border-box;
}

.boxed-fd-item > div {
	background-color: #fff;
	padding: 15px;
}

.boxed-fd-item .label {
	margin-bottom: 10px;
}

.boxed-fd-item .icon--phone_free:before {
	margin-top: 10px;
}

/* フッター
---------------------------------------------------------------------------------------------------- */

/* ページトップへ
------------------------------------------------------------ */

.pagetop {
	padding-top: 5px;
}

.pagetop .wrap {
	width: 1200px;
	margin: 0 auto;
}

.pagetop a {
	background-color: #004098;
	border: 1px solid #004098;
	border-radius: 3px 3px 0 0;
	color: #fff;
	display: inline-block;
	float: right;
	padding: 10px 30px 5px 20px;
}

.pagetop a:hover,
.pagetop a:focus,
.pagetop a:active {
	color: #ff0;
}

/* フッターの内側
------------------------------------------------------------ */

.site-footer {
	background-color: #004098;
}

.site-footer .wrap {
	color: #fff;
	width: 1200px;
	margin: 0 auto;
	padding: 20px 0;
}

.site-footer .wrap a,
.site-footer .wrap .link-style {
	color: #fff;
}

.site-footer .wrap a:hover,
.site-footer .wrap a:focus,
.site-footer .wrap a:active,
.site-footer .wrap .link-style:hover,
.site-footer .wrap .active {
	color: #ff0;
}

.site-footer dl {
	border-collapse: collapse;
	display: table;
	margin-bottom: 20px;
	width: 100%;
}

.site-footer dl.last {
	margin-bottom: 0;
}

.site-footer dt,
.site-footer dd {
	display: table-cell;
	vertical-align: middle;
}

.site-footer dt {
	border-right: 1px solid #fff;
	padding: 5px 15px 5px 0;
	text-align: center;
	width: 8em;
}

.site-footer dd {
	padding: 5px 0 5px 15px;
}

.site-footer dd ul {
	margin: 0;
}

/* フッターメニュー
------------------------------------------------------------ */

.site-footer .site-menu ul {
	border-collapse: collapse;
	line-height: 1.1;
	display: table;
}

.site-footer .site-menu li {
	border-left: 1px solid #eee;
	display: table-cell;
	padding: 0 15px;
}

.site-footer .site-menu li:first-child {
	border-left: 0 none;
	padding-left: 0;
}

/* サイトマップ
------------------------------------------------------------ */

.site-footer .sitemap {
	background-color: #102b51;
	margin: -0.5em 0 1.5em 9.5em;
	padding: 1em;
	position: relative;
}

.site-footer .sitemap:before {
	width: 0;
	height: 0;
	border: 15px solid transparent;
	border-bottom: 15px solid #102b51;
	left: 35px;
	position: absolute;
	top: -30px;
}

.site-footer .sitemap h4 {
	border-bottom: 1px solid #fff;
	font-weight: 600;
	margin-bottom: 1em;
	padding-bottom: 0.25em;
}

.site-footer .sitemap a {
	display: block;
}


/* グループロゴ
------------------------------------------------------------ */

.group-sites ul {
	border-collapse: collapse;
	display: table;
}

.group-sites li {
	display: inline-block;
	float: left;
	padding: 5px;
}

.group-sites .s06,
.group-sites .s11 { clear: both; }

.group-sites a {
	background-color: #fff;
	background-image: url(images/bg-group-logo-w135x50-v20200824.png);
	background-repeat: no-repeat;
	display: block;
	width: 135px;
	height: 50px;
	overflow: hidden;
	text-indent: 100%;
	text-indent: -9999px\9;
	white-space: nowrap;
}

.group-sites a:hover,
.group-sites a:focus,
.group-sites a:active { background-color: #f5f5f5; }

.group-sites .s01 a { background-position: 0 0; }
.group-sites .s02 a { background-position: 0 -50px; }
.group-sites .s03 a { background-position: 0 -100px; }
.group-sites .s04 a { background-position: 0 -150px; }
.group-sites .s05 a { background-position: 0 -200px; }
.group-sites .s06 a { background-position: 0 -250px; }
.group-sites .s07 a { background-position: 0 -300px; }
.group-sites .s08 a { background-position: 0 -350px; }
.group-sites .s09 a { background-position: 0 -400px; }
.group-sites .s10 a { background-position: 0 -450px; }
.group-sites .s11 a { background-position: 0 -500px; }
.group-sites .s12 a { background-position: 0 -550px; }
.group-sites .s13 a { background-position: 0 -650px; }
.group-sites .s14 a { background-position: 0 -700px; }
.group-sites .s15 a { background-position: 0 -800px; }
.group-sites .s16 a { background-position: 0 -850px; }

/* 採用情報
------------------------------------------------------------ */

.site-footer .recruit {
	vertical-align: top;
}

/* コピーライト
------------------------------------------------------------ */

.site-footer .copyright {
	border-top: 1px solid #0064ed;
}

.site-footer .group-logo {
	float: right;
}

.site-footer .group-logo img {
	vertical-align: bottom;
}

/* スマホ用フッター
------------------------------------------------------------ */

.unsupport-browser .footer-mobile .unsupport-browser-off {
	display: none;
}

.footer-mobile {
	background-color: #004098;
	border-top: 1px solid #002b65;
	bottom: 0;
	font-size: 10px;
	color: #fff;
	margin: 0;
	position: fixed;
	width: 100%;
	z-index: 20; /* FlexSliderの矢印が10なのでそれ以上を指定 */
}

.footer-mobile a,
.footer-mobile .link-style {
	color: #fff;
	display: block;
	padding: 5px 0;
}

.device-pc .footer-mobile a:hover,
.device-pc .footer-mobile .link-style:hover,
.device-pc .footer-mobile--menu a:hover,
.device-pc .footer-mobile--menu a:focus,
.device-pc .footer-mobile--menu a:active,
.footer-mobile .active,
.home .footer-mobile a.icon--home,
.school-top .footer-mobile a.icon--school,
.request .footer-mobile a.icon--mail,
.footer-mobile--menu .contents-menu-nav .current > a,
.footer-mobile--menu .contents-menu-nav .current > span
.footer-mobile--menu a:active,
.footer-mobile--menu .contents-menu-nav .current > a,
.footer-mobile--menu .contents-menu-nav .current > span {
	color: #ff0;
}

.footer-mobile .icon:before {
	display: block;
	font-size: 24px;
	padding: 0 0 5px 0;
	text-align: center;
	width: 100%;
}

.footer-mobile > ul {
	display: table;
	border-collapse: separate;
	border-spacing: 5px;
	padding: 0;
	width: 100%;
}

.footer-mobile > ul li {
	box-sizing: border-box;
	display: table-cell;
	text-align: center;
	vertical-align: bottom;
	width: 16.66666666666667%;
}

/* モバイル用メニュー */
.footer-mobile--menu {
	background-color: #102b51;
	bottom: 0;
	box-sizing: border-box;
	color: #fff;
	display: none;
	height: 100%;
	position: fixed;
	width: 100%;
	z-index: 15;
}

.footer-mobile--menu .wrap {
	box-sizing: border-box;
	height: 100%;
	padding: 1em;
	overflow-y: scroll;
	width: 100%;
	-webkit-overflow-scrolling: touch;
}

.footer-mobile--menu .wrap a,
.footer-mobile--menu .contents-menu-nav a,
.footer-mobile--menu .contents-menu-nav span {
	color: #fff;
}

.footer-mobile--menu .contents-menu-nav a,
.footer-mobile--menu .contents-menu-nav span {
	padding: 1.25em 1.25em 1.25em 2em;
}

.footer-mobile--menu .contents-menu-nav .sub {
	margin-left: 1em;
}

.footer-mobile--menu .contents-menu-nav .sub a,
.footer-mobile--menu .contents-menu-nav .sub span {
	padding: 0 1em 1em 4em;
}

/* タブUI */
.footer-mobile--menu .eg-tab-contents .tab-controller ul,
.footer-mobile--menu .eg-tab-contents .tab-controller ol {
	display: table;
	border-bottom: 0 none;
	text-align: center;
	margin-bottom: 1em;
	width: 100%;
}

.footer-mobile--menu .eg-tab-contents .tab-controller li,
.footer-mobile--menu .eg-tab-contents .tab-controller li:last-child {
	display: table-cell;
	margin: 0;
	padding: 0;
	width: 50%;
}

.footer-mobile--menu .eg-tab-contents .tab-controller li a {
	background-color: #163a6d;
	border: 0 none;
	box-sizing: border-box;
	color: #fff;
	display: block;
	padding: 0.75em 1em;
}

.footer-mobile--menu .eg-tab-contents .tab-controller li a:not(.active):hover {
	background-color: #163a6d;
	color: #ff0;
}

.footer-mobile--menu .eg-tab-contents .tab-controller li .active {
	background-color: #296fd1;
}

.footer-mobile--menu h4 {
	font-weight: 700;
	padding: 0 0 0.5em 0;
	margin-bottom: 0.5em;
}

/* 次回のスケジュール */
.footer-mobile--menu .next-schedule {
	border-collapse: separate;
	border-spacing: 10px;
	margin-bottom: 0.5em;
}

.footer-mobile--menu .next-schedule .table--cell {
	border: 1px solid #fff;
	text-align: center;
}

.devie-pc .footer-mobile--menu .next-schedule .table--cell:hover {
	border-color: #ff0;
}

.footer-mobile--menu .next-schedule .table--cell span {
	display: block;
	font-size: 240%;
}

/* 検索窓 */
.footer-mobile--menu .searchform {
	border-color: rgba(255,255,255, 0.6);
	border-style: solid;
	border-width: 1px 0;
	padding: 1.5em 0;
}

.footer-mobile--menu .searchform input {
	border: 1px solid #fff;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	display: inline-block;
	line-height: 1.4;
	margin: 0;
	padding: 0.5em 1em;
	-webkit-appearance: none;
}

.footer-mobile--menu .searchform .s {
	width: 78%;
}

.footer-mobile--menu .searchsubmit {
	background: none;
	color: #fff;
	cursor: pointer;
	width: 20%;
}

.device-pc .footer-mobile--menu .searchsubmit:hover,
.device-pc .footer-mobile--menu .searchsubmit:focus,
.device-pc .footer-mobile--menu .searchsubmit:active {
	border-color: #ff0;
	color: #ff0;
}


/* カラムクラス
 * Link: http://twitter.github.io/bootstrap/assets/css/bootstrap-responsive.css
---------------------------------------------------------------------------------------------------- */

.five-sixths,
.four-sixths,
.one-fourth,
.one-half,
.one-sixth,
.one-third,
.three-fourths,
.three-sixths,
.two-fourths,
.two-sixths,
.two-thirds {
	float: left;
	margin-left: 2.564102564102564%;
}

.one-half,
.three-sixths,
.two-fourths {
	width: 48.717948717948715%;
}

.one-third,
.two-sixths {
	width: 31.623931623931625%;
}

.four-sixths,
.two-thirds {
	width: 65.81196581196582%;
}

.one-fourth {
	width: 23.076923076923077%;
}

.three-fourths {
	width: 74.35897435897436%;
}

.one-sixth {
	width: 14.52991452991453%;
}

.five-sixths {
	width: 82.90598290598291%;
}

.first {
	clear: both;
	margin-left: 0;
}

@media only screen and (min-width: 980px) {
	.singular-content .one-half:nth-child(-n+2) h2,
	.singular-content .one-half:nth-child(-n+2) h3 {
		margin-top: 0;
	}

	.boxed-fd-item { margin-bottom: 0; width: 49.5%; }
	.boxed-fd-item-new { margin-bottom: 0; width: auto; float: center; }
	.boxed-fd-item_01 { float: left; }
	.boxed-fd-item_02 { float: right; }
}

@media only screen and (max-width: 650px) {
	.five-sixths,
	.four-sixths,
	.one-fourth,
	.one-half,
	.one-sixth,
	.one-third,
	.three-fourths,
	.three-sixths,
	.two-fourths,
	.two-sixths,
	.two-thirds {
		float: none;
		margin: 0 0 1em 0;
		width: 100%;
	}

	.kyouka-summary .break { display: inline; }
	.kyouka-summary dt {
		display: block;
		width: 100%;
		background-color: #333;
		color: #fff;
	}

	.kyouka-summary .table--cell {
		padding: 0.5em 0.75em;
		display: block;
	}

	.kyouka-lead:after {
		background-color: #004098;
		color: #fff;
		content: '詳細を見る ';
		display: block;
		font-size: 93%;
		margin-top: 1em;
		padding: 0.25em;
		text-align: center;
	}

	.kyouka-summary .more,
	.kyouka-summary .alignright { display: none; }
}

/* Portfolio Posts
------------------------------------------------------------ */

.portfolio {
	margin-left: -1%;
}

.portfolio-posts {
	background: #fff;
	border: 1px solid #d5d5d5;
	box-shadow: 0 0 3px #bbb;
	-webkit-box-shadow: 0 0 3px #bbb;
	box-sizing: border-box;
	clear: none;
	display: inline;
	float: left;
	margin: 0 0 1% 1%;
	overflow: hidden;
	padding: 0 9px;
	width: 32.33333333333333%;
}


/* 総合トップ内の要素
---------------------------------------------------------------------------------------------------- */

.home-kanban {
	background-color: #fff;
	display: table;
	table-layout: fixed;
	width: 1200px;
}

.home .content .more-link {
	margin: 0.75em 0 0 0;
}

/* スライダー
------------------------------------------------------------ */

.slider {
	float: left;
	overflow: hidden;
}

.flexslider {
	border: 1px solid #ccc;
	border-radius: 0;
	box-sizing: border-box;
	box-shadow: none;
	margin-bottom: 0;
	padding: 4px;
	width: 960px;
}

.flex-control-nav {
	bottom: auto;
	top: 10px;
	right: 7px;
	width: auto;
}

.flex-control-paging li {
	margin: 0 3px;
}

.flex-control-paging li a {
	background: #aaa;
	border: 2px solid #fff;
	border-radius: 0;
}

.flex-control-paging li a.flex-active {
	background: #004098;
}

.flex-direction-nav a:before {
	color: #004098;
	font-size: 36px;
}

@media screen and (max-width: 860px) {
	.flex-direction-nav .flex-prev,
	.flex-direction-nav .flex-next {
			opacity: 0.5;
	}
}

/* 学年別メニュー
------------------------------------------------------------ */

.grade-box {
	float: right;
	width: 225px;
}

.grade-box .widget-title {
	background-color: #004098;
	color: #fff;
	line-height: 1;
	text-align: center;
	padding: 12px;
}

.grade-box li {
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: 6px center;
	background-size: 26px;
	border-bottom: 1px dashed #ccc;
}

.grade-box li a {
	color: #000;
	display: block;
	font-weight: 600;
	padding: 12px;
	margin-left: 0;
}

.grade-box li a:hover,
.grade-box li a:focus,
.grade-box li a:active {
	color: #e60012;
}

 .grade-box .j .dashicons { color: #00a060; }
 .grade-box .h .dashicons { color: #e87e04; }
 .grade-box a:hover .dashicons { color: #e60012; }

/* 内部生向けメニュー
------------------------------------------------------------ */

.naibusei-box .widget-title {
	text-align: center;
	background-color: #16a085;
	color: #fff;
	padding: 12px;
	margin-bottom: 10px;
	line-height: 1;
}

.naibusei-box .grid-list--item a {
	color: #000;
	border-style: solid;
	border-color: #16a085;
}

.naibusei-box .grid-list--item a:hover {
	color: #e60012;
	border-color: #e60012;
}

/* Genesis Grid Loop
------------------------------------------------------------ */

.genesis-grid-loop .genesis-grid {
	float: left;
	margin: 0 0 10px 0;
	padding: 7px;
	width: 280px;
}

.genesis-grid-loop .genesis-grid:nth-child(3n+1) {
	clear: both;
}

.genesis-grid-loop .entry-title a {
	border: 1px solid #ccc;
	display: block;
	padding: 4px;
	margin-bottom: 5px;
}

.genesis-grid-loop .entry-title a:hover,
.genesis-grid-loop .entry-title a:focus,
.genesis-grid-loop .entry-title a:active {
	background-color: #ffe6e8;
	border-color: #e60012;
}

.genesis-grid-loop .entry-title a span {
	background-color: #fff;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 270px 121px;
	box-sizing: border-box;
	display: block;
	height: 121px;
	overflow: hidden;
	/*text-indent: 100%;*/
	text-indent: -9999px;
	white-space: nowrap;
}

.genesis-grid-loop p {
	margin-bottom: 5px;
}

.genesis-grid-loop .entries {
	border-top: 1px solid #ccc;
	margin: 15px 0;
}

.genesis-grid:last-child .entries {
	margin-bottom: 0;
}

/* 関連サイト
------------------------------------------------------------ */

.home .kanren-sites .entry-title a {
	margin-bottom: 10px;
}

.kanren-sites .entries li {
	padding: 0.75em 0.5em;
	border-bottom: 1px dashed #ccc;
}

.sidebar .kanren-sites .entries li {
	padding: 0;
}

.sidebar .kanren-sites .entries li a {
	padding: 1em 0.75em;
}










/* ラベル
---------------------------------------------------------------------------------------------------- */

.label {
	display: inline-block;
	font-size: 93%;
	line-height: 1;
	border-radius: 5px;
	margin: 2px 0;
	padding: 0.5em 0.75em;
	background-color: #e6e6e6;
}

.label_red {
	background-color: #e60012;
	color: #fff;
}


.label_blue {
	background-color: #004098;
	color: #fff;
}

.label_green {
	background-color: #8dc63f;
	color: #fff;
}

.label_orange {
	background-color: #f4662e;
	color: #fff;
}



/* 学年別ラベル
------------------------------------------------------------ */

.label--grade_s1,
.label--grade_s2,
.label--grade_s1n,
.label--grade_s2n {
	background-color: #fa6ca7;
	color: #fff;
}

.label--grade_s3,
.label--grade_s4,
.label--grade_s3n,
.label--grade_s4n {
	background-color: #fa6ca7;
	color: #fff;
}

.label--grade_e6 {
	background-color: #fa6ca7;
	color: #fff;
}

.label--grade_s,
.label--grade_s5,
.label--grade_s6
.label--grade_sn,
.label--grade_s5n,
.label--grade_s6n {
	background-color: #fa6ca7;
	color: #fff;
}

.label--grade_j0,
.label--grade_j0n {
	background-color: #00b16a;
	color: #fff;
}

.label--grade_j5,
.label--grade_j5n,
.label--grade_j1,
.label--grade_j1n {
	background-color: #30c403;
	color: #fff;
}

.label--grade_j6,
.label--grade_j6n,
.label--grade_j2,
.label--grade_j2n {
	background-color: #30c403;
	color: #fff;
}

.label--grade_j7,
.label--grade_j7n,
.label--grade_j3,
.label--grade_j3n {
	background-color: #30c403;
	color: #fff;
}

.label--grade_j4,
.label--grade_j4n {
	background-color: #00b16a;
	color: #fff;
}

.label--grade_h0,
.label--grade_h0n {
	background-color: #ec6a13;
	color: #fff;
}

.label--grade_h1,
.label--grade_h1n {
	background-color: #f89706;
	color: #fff;
}

.label--grade_h2,
.label--grade_h2n {
	background-color: #f89706;
	color: #fff;
}

.label--grade_h3,
.label--grade_h3n {
	background-color: #f89706;
	color: #fff;
}

.label--grade_internal {
	background-color: #004098;
	color: #fff;
}

.label--grade_external {
	background-color: #2C3E50;
	color: #fff;
}

.label--grade_parent {
	background-color: #4885d4;
	color: #fff;
}

/* ラベルインデックス
------------------------------------------------------------ */

.post + .label-index {
	margin-top: 20px;
}

.label-index--title  {
	border-bottom: 1px solid #ddd;
	font-weight: 300;
	font-size: 93%;
	line-height: 1;
}

.label-index--title span {
	background-color: #eee;
	border-color: #ddd;
	border-style: solid;
	border-radius: 3px 3px 0 0;
	border-width: 1px 1px 0 1px;
	display: inline-block;
	font-weight: normal;
	padding: 0.75em 1em;
}

/* ウィジェット
---------------------------------------------------------------------------------------------------- */

.widget {
	margin-bottom: 15px;
}

.content .widget {
	margin-bottom: 20px;
}

/* Widget Styled
------------------------------------------------------------ */

.widget--styled {
}

.widget--styled .widget--title,
.widget--styled .widget-title {
	background-color: #fafafa;
	background: -moz-linear-gradient(top, #f3f3f3, #fff);
	background: -ms-linear-gradient(top, #f3f3f3, #fff);
	background: -webkit-linear-gradient(top, #f3f3f3, #fff);
	border-bottom: 1px solid #e6e6e6;
	border-top: 3px solid #004098;
	color: #000;
	font-size: 115.5%;
	font-weight: 700;
	padding:  0.75em;
	position: relative;
	margin: 0 0 1.25em 0;
}

.widget--styled .widget--title:after,
.widget--styled .widget-title:after {
	background-color: #f3f3f3;
	background: -moz-linear-gradient(top, #f3f3f3, #fff);
	background: -ms-linear-gradient(top, #f3f3f3, #fff);
	background: -webkit-linear-gradient(top, #f3f3f3, #fff);
	bottom: -11px;
	content: '';
	display: block;
	height: 10px;
	left: 0;
	position: absolute;
	width: 100%;
}

/*

.widget--styled .widget--title,
.widget--styled .widget-title {
	background: transparent url(images/bg-h2-bottom.png) repeat-x left bottom;
	border: 0 none;
	border-top: 2px solid #004098;
	clear: both;
	font-size: 115.5%;
	font-weight: bold;
	margin: 0 0 12px 0;
	padding: 0 0 15px 0;
}

.widget--styled .widget--title span,
.widget--styled .widget-title span {
	background-color: #fafafa;
	background: -moz-linear-gradient(top, #f3f3f3, #fff);
	background: -ms-linear-gradient(top, #f3f3f3, #fff);
	background: -webkit-linear-gradient(top, #f3f3f3, #fff);
	display: block;
	border-top: 1px solid #fff;
	padding: 14px;
}
*/

/* コンテンツメニュー
---------------------------------------------------------------------------------------------------- */

.use-contents-menu .content .entry-content,
.use-contents-menu .content .entry-footer {
	float: right;
	width: 965px;
}

.contents-menu {
	float: left;
	font-size: 89.5%;
	line-height: 1.4;
	width: 220px;
}

.contents-menu .wrap {
	border: 1px solid #ccc;
	margin-bottom: 15px;
}

/* ヘッダー・タイトル
------------------------------------------------------------ */

.contents-menu-header {

}

.contents-menu-title {
	background-color: #004098;
	color: #fff;
	padding: 1em 0.75em;
}

.contents-menu-title span {
	display: block;
}

.contents-menu-title_img {
	background-color: #fff;
	background-position: right center;
	background-repeat: no-repeat;
	background-size: auto 60px;
	height: 60px;
	overflow: hidden;
	text-indent: 100%;
	text-indent: -9999px\9;
	white-space: nowrap;
	width: 100%;
}

/* HTMLデータ
------------------------------------------------------------ */

.contents-menu-content {
	border-top: 1px solid #ccc;
	padding: 0.75em 0.85em;
}

.contents-menu-content .alignleft img,
.contents-menu-content .alignright img {
	padding: 2px;
}

.contents-menu-content p {
	margin-bottom: 1em;
}

.contents-menu-content .last,
.contents-menu-content :last-child {
	margin-bottom: 0;
}

/* メニュー
------------------------------------------------------------ */

.contents-menu-nav a,
.contents-menu-nav span {
	color: #000;
	display: block;
	padding: 0.75em 0.75em 0.75em 2em;
}

.contents-menu-nav a:before,
.contents-menu-nav span:before {
	float: left;
	margin-left: -1em;
}

.browser-ie .contents-menu-nav a:before,
.browser-ie .contents-menu-nav span:before {
	margin-left: -0.95em;
}

.contents-menu-nav .icon--external:before {
	margin-left: -1.5em;
	margin-right: -3px;
}

.contents-menu-nav a:hover,
.contents-menu-nav a:focus,
.contents-menu-nav a:active {
	color: #e60012;
}

.contents-menu-nav .current > a,
.contents-menu-nav .current > span {
	color: #333;
	font-weight: 600;
}

.contents-menu-nav > ul {
	margin-bottom: 0;
}

.contents-menu-nav li {
	border-top: 1px dashed #ccc;
}

.contents-menu-nav li:first-child {
	border-top: 1px solid #ccc;
}

.contents-menu-nav .sub {
	margin-bottom: 0.5em;
}

.contents-menu-nav .sub li {
	border-top: 0 none;
}

.contents-menu-nav .sub a {
	padding: 0 0.5em 0.5em 2.75em;
}

.contents-menu-nav .sub a:before {
	margin-left: -1.75em;
}


/* バナー
------------------------------------------------------------ */

.contents-menu-banner {
	padding: 0.5em 0;
}

.contents-menu-banner img {
	max-width: 100%;
}

.contents-menu-banner a {
	display: block;
}


/* EG カスタムCSS
---------------------------------------------------------------------------------------------------- */

/* 汎用クラス
------------------------------------------------------------ */

.eg-hidden,
.eg-print-only,
.eg-mobile-only,
.script .jsHidden { display: none !important; }

.eg-clear-both { clear: both; }

.eg-display-ib { display: inline-block;}

.eg-display-block { display: block;}

.eg-vertical-align-middle { vertical-align: middle; }

.eg-position-relative { position: relative; }

.eg-position-absolute { position: absolute; }

.eg-opacity06 {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
}

.eg-opacity03 {
	opacity: 0.3;
	filter: alpha(opacity=30);
	-ms-filter: "alpha(opacity=30)";
}

div.eg-hr {
	background-color: #ddd;
	clear: both;
	height: 1px;
	line-height: 0;
	margin: 1.5em auto;
	width: 92%;
}

.eg-px10 { font-size: 77%; }
.eg-px11 { font-size: 85%; }
.eg-px12 { font-size: 92.5%; }
.eg-px13 { font-size: 100%; }
.eg-px14 { font-size: 108%; } /* Baseline */
.eg-px15 { font-size: 115.5%; }
.eg-px16 { font-size: 123.3%; }
.eg-px17 { font-size: 131%; }
.eg-px18 { font-size: 138.5%; }
.eg-px19 { font-size: 146.5%; }
.eg-px20 { font-size: 154%; }
.eg-px21 { font-size: 161.5%; }
.eg-px22 { font-size: 169.5%; }
.eg-px23 { font-size: 177%; } /* Ugly Bold */
.eg-px24 { font-size: 185%; }
.eg-px25 { font-size: 192.3%; }
.eg-px26 { font-size: 200%; }
.eg-px27 { font-size: 208%; }
.eg-px28 { font-size: 215.5%; }
.eg-px29 { font-size: 223.5%; }
.eg-px30 { font-size: 231%; }

.eg-en {
	font-family: "Lucida Grande", "Lucida Sans Unicode", sans-serif;
	line-height: 1.7;
}

.eg-italic { font-style: italic; }
.eg-normal { font-weight: normal; }
.eg-bold { font-weight: bold; }

.eg-red { color: red; }
.eg-blue { color: blue; }
.eg-green { color: green; }
.eg-gray { color: gray; }
.eg-black { color: black; }
.eg-white { color: #fff; }

.eg-text-align-center,
.eg-text-align-center th,
.eg-text-align-center td { text-align: center; }

.eg-text-align-left { text-align: left; }
.eg-text-align-right { text-align: right; }
.eg-underline { text-decoration: underline; }

.eg-square-num {
	border: 1px solid #333;
	font-size: 92.5%;
	margin: 0 2px;
	padding: 2px 6px;
}

.eg-free-call {
	font-weight: bold;
}

.eg-down-arrow:after {
	border-color: #000 transparent transparent;
	border-style: solid;
	border-width: 24px;
	content: '';
	display: block;
	height: 0;
	margin: 24px auto -4px auto;
	width: 0;
}

.eg-next {
	clear: both;
	color: #777;
	margin: 2em 0 0 0;
	text-align: center;
}

.eg-no-margin { margin: 0; }
.eg-no-margin-top { margin-top: 0; }
.eg-no-margin-right { margin-right: 0; }
.eg-no-margin-bottom, .last { margin-bottom: 0; }
.eg-no-margin-left { margin-left: 0; }
.eg-margin-auto {
	margin-left: auto;
	margin-right: auto;
}

.eg-margin-top5 { margin-top: 5px; }
.eg-margin-top10 { margin-top: 10px; }
.eg-margin-top15 { margin-top: 15px; }
.eg-margin-top20 { margin-top: 20px; }
.eg-margin-top25 { margin-top: 25px; }
.eg-margin-top30 { margin-top: 30px; }
.eg-margin-top35 { margin-top: 35px; }
.eg-margin-top40 { margin-top: 40px; }

.eg-margin-bottom5 { margin-bottom: 5px; }
.eg-margin-bottom10 { margin-bottom: 10px; }
.eg-margin-bottom15 { margin-bottom: 15px; }
.eg-margin-bottom20 { margin-bottom: 20px; }
.eg-margin-bottom25 { margin-bottom: 25px; }
.eg-margin-bottom30 { margin-bottom: 30px; }
.eg-margin-bottom35 { margin-bottom: 35px; }
.eg-margin-bottom40 { margin-bottom: 40px; }

.eg-no-padding { padding: 0; }
.eg-no-padding-top { padding-top: 0; }
.eg-no-padding-right { padding-right: 0; }
.eg-no-padding-bottom { padding-bottom: 0; }
.eg-no-padding-left { padding-left: 0; }

.eg-padding-top5 { padding-top: 5px; }
.eg-padding-top10 { padding-top: 10px; }
.eg-padding-top15 { padding-top: 15px; }
.eg-padding-top20 { padding-top: 20px; }
.eg-padding-top25 { padding-top: 25px; }
.eg-padding-top30 { padding-top: 30px; }
.eg-padding-top35 { padding-top: 35px; }
.eg-padding-top40 { padding-top: 40px; }

.eg-padding-bottom5 { padding-bottom: 5px; }
.eg-padding-bottom10 { padding-bottom: 10px; }
.eg-padding-bottom15 { padding-bottom: 15px; }
.eg-padding-bottom20 { padding-bottom: 20px; }
.eg-padding-bottom25 { padding-bottom: 25px; }
.eg-padding-bottom30 { padding-bottom: 30px; }
.eg-padding-bottom35 { padding-bottom: 35px; }
.eg-padding-bottom40 { padding-bottom: 40px; }

.eg-border-none,
img.eg-border-none { border: 0 none; }

.eg-border-solid { border: 1px solid #ccc; }
.eg-border-dotted { border: 1px dotted #ccc; }
.eg-border-dashed { border: 1px dashed #ccc; }

.eg-border-top { border-width: 1px 0 0 0; }
.eg-border-bottom { border-width: 0 0 1px 0; }
.eg-border-left { border-width: 0 0 0 1px; }

img.eg-border-solid {
	background-color: #f7f7f7;
	padding: 2px;
}

/* EG-Boxed, EG-Notification
 * eg-boxed1: デフォルトカラーは灰色
 * eg-notification: デフォルトカラーは赤
------------------------------------------------------------ */

.eg-boxed1,
.eg-notification {
	display: table;
	border: 2px solid #d5d5d5;
	box-sizing: border-box;
	margin-bottom: 1.5em;
	width: 100%;
}

.eg-notification dt,
.eg-notification dd {
	box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
}

.eg-notification dt {
	border: 0 none !important;
	text-align: center;
}

.eg-boxed1--title,
.eg-boxed1 > h4,
.eg-boxed1 > dt,
.eg-notification dt {
	font-size: 100%;
	font-weight: 600;
	background-color: #eee;
	color: #000;
	padding: 0.75em;
	border-bottom: 1px solid #d5d5d5;
}

.singular-content .entry-content .eg-boxed1--title {
	margin: 0;
}

.eg-boxed1--title > a,
.eg-boxed1 > h4 a,
.eg-boxed1 > dt a {
	color: #000;
	display: block;
}

.eg-boxed1--title > a:hover,
.eg-boxed1 > h4 a:hover,
.eg-boxed1 > dt a:hover {
	font-style: oblique;
	text-decoration: underline;
}

.entry-content .eg-notification dt {
	padding: 0.75em;
}

.eg-boxed1 .contents,
.eg-boxed1 dd,
.eg-notification dd {
	padding: 1em 0.75em;
}

.eg-boxed1 .contents p,
.eg-boxed1 dd p,
.eg-notification dd p {
	margin-bottom: 1em;
}

.eg-boxed1 .contents p:last-child,
.eg-boxed1 dd p:last-child,
.eg-notification dd p:last-child {
	margin-bottom: 0;
}

/* 赤色 */
.eg-boxed1_red,
.eg-notification { border-color: #e60012; }

.eg-boxed1_red .eg-boxed1--title,
.eg-boxed1_red > h4,
.eg-boxed1_red > dt,
.eg-notification dt {
	background-color: #e60012;
	border-color: #e60012;
	color: #fff;
}

.eg-boxed1_red .eg-boxed1--title > a,
.eg-boxed1_red > h4 a,
.eg-boxed1_red > dt a {
	color: #fff;
}

/* 青色 */
.eg-boxed1_blue,
.eg-notification_blue { border-color: #004098; }

.eg-boxed1_blue .eg-boxed1--title,
.eg-boxed1_blue > h4,
.eg-boxed1_blue > dt,
.eg-notification_blue dt {
	background-color: #004098;
	border-color: #004098;
	color: #fff;
}

.eg-boxed1_blue .eg-boxed1--title > a,
.eg-boxed1_blue > h4 a,
.eg-boxed1_blue > dt a {
	color: #fff;
}

/* オレンジ色 */
.eg-boxed1_orange,
.eg-notification_orange { border-color: #bf7f2a; }

.eg-boxed1_orange .eg-boxed1--title,
.eg-boxed1_orange > h4,
.eg-boxed1_orange > dt,
.eg-notification_orange dt {
	background-color: #bf7f2a;
	border-color: #bf7f2a;
	color: #fff;
}

.eg-boxed1_orange .eg-boxed1--title > a,
.eg-boxed1_orange > h4 a,
.eg-boxed1_orange > dt a {
	color: #fff;
}

/* 緑色 */
.eg-boxed1_green,
.eg-notification_green { border-color: #009688; }

.eg-boxed1_green .eg-boxed1--title,
.eg-boxed1_green > h4,
.eg-boxed1_green > dt,
.eg-notification_green dt {
	background-color: #009688;
	border-color: #009688;
	color: #fff;
}

.eg-boxed_green .eg-boxed1--title > a,
.eg-boxed1_green > h4 a,
.eg-boxed1_green > dt a {
	color: #fff;
}

/* 灰色 */
.eg-notification_gray { border-color: #d5d5d5; }

.eg-notification_gray dt {
	background-color: #eee;
	border-color: #d5d5d5;
	color: #000;
}

/* 総合トップ・校舎ページの謹告枠 */
.notification-wrap {
	margin: 0 auto;
	max-width: 1230px;
}

.single-school .notification-wrap {
	margin-top: -10px;
}

.notification-wrap .eg-notification {
	margin-bottom: 15px;
}

.notification-wrap .eg-notification dd {
	background-color: #fff;
}

/* 校舎情報ボックス */
.eg-boxed1--school {
	margin-top: 3em;
}

.eg-boxed1--school .contents {
	padding-top: 0.5em;
}

.eg-boxed1--school table {
	width: 75%;
	margin: 0 auto;
}

/* イベントボックス */
a.event-boxed {
	color: #000;
}

a.event-boxed .eg-boxed1--title {
	color: #004098;
}

a.event-boxed:hover,
a.event-boxed:focus,
a.event-boxed:active {
	border-color: #bbb;
}

a.event-boxed:hover .eg-boxed1--title,
a.event-boxed:focus .eg-boxed1--title,
a.event-boxed:active .eg-boxed1--title,
a.event-boxed:hover .more,
a.event-boxed:focus .more,
a.event-boxed:active .more {
	color: #e60012;
}

.event-boxed table {
	width: 83.419689119171%;
}

.event-boxed .alignright {
	width: 13.678756476684%;
}

/* イベントボックスの検索 */
.search-event-boxed {
	border-color: #ddd;
	border-style: solid;
	border-width: 1px 0;
}

.search-event-boxed dt {
	border: 0 none;
	background-color: #eee;
	text-align: center;
	width: 8em;
}

.search-event-boxed .break {
	display: block;
}

.search-event-boxed label {
	display: inline-block;
	width: 15em;
}

/* EG-Button
------------------------------------------------------------ */

.eg-button {
	background-color: #004098;
	border-radius: 3px;
	box-sizing: border-box;
	color: #fff;
	display: inline-block;
	margin: 2px;
	padding: 1.5em 1em;
	text-align: center;
	font-weight: 600;
	width: 48.5%;
}

a.eg-button {
	color: #fff;
	font-weight: bold;
}

.eg-button--full,
.eg-button.full {
	display: block;
	width: 100%;
}

.eg-3button .eg-button,
.eg-button--one-third {
	width: 32%;
}

.eg-button:hover,
.eg-button:focus,
.eg-button:active,
.eg-button_active,
.eg-button.active {
	background-color: #0155cc;
	box-shadow: rgba(0, 0, 0, 0.4) 0 0 6px 3px inset;
}

/* 赤色 */
.eg-button_red,
.eg-button.red {
	background-color: #e60012;
}

.eg-button_red:hover,
.eg-button_red:focus,
.eg-button_red:active,
.eg-button.red:hover,
.eg-button.red:focus,
.eg-button.red:active {
	background-color: #ff1a2c;
}

/* オレンジ色 */
.eg-button_orange,
.eg-button.orange {
	background-color: #ff9f11;
	color: #000;
}

.eg-button_orange:hover,
.eg-button_orange:focus,
.eg-button_orange:active,
.eg-button.orange:hover,
.eg-button.orange:focus,
.eg-button.orange:active {
	background-color: #fc3;
}


/* 緑色 */
.eg-button_green,
.eg-button.green {
	background-color: #009688;
}

.eg-button_green:hover,
.eg-button_green:focus,
.eg-button_green:active,
.eg-button.green:hover,
.eg-button.green:focus,
.eg-button.green:active {
	background-color: #00c4af;
}

/* 灰色 */
.eg-button_gray,
.eg-button.gray {
	background-color: #e0e0e0;
	color: #000 !important;
}

.eg-button_gray:hover,
.eg-button_gray:focus,
.eg-button_gray:active,
.eg-button.gray:hover,
.eg-button.gray:focus,
.eg-button.gray:active {
	background-color: #d5d5d5;
}

.eg-button--google-map {
	background-color: #eee;
	color: #000 !important;
	width: auto;
	padding: 5px 10px 5px 7px;
	font-size: 82%;
}

.eg-button--google-map:hover,
.eg-button--google-map:focus,
.eg-button--google-map:active {
	background-color: #e6e6e6;
	box-shadow: none;
}

:root .eg-button_disabled,
:root .eg-button_disabled:hover {
	color: #000;
	opacity: 0.6;
	background-color: #ccc;
	box-shadow: none;
	cursor: default;
}


/* 英語音源ページの場合 */
.single-listening td .eg-button { width: 100%; }

/* EG PNG Viewer, EG Overflow Auto
------------------------------------------------------------ */

.eg-png-viewer {
	margin-bottom: 1em;
}

.eg-png-viewer .controller {
	background-color: #eee;
	border: 1px solid #ccc;
	padding: 12px 10px;
}

.eg-png-viewer .controller a {
	display: inline-block;
	color: #000;
	border-radius: 3px;
	border: 1px solid #aaa;
	padding: 4px 8px;
	text-decoration: none;
}

.eg-png-viewer .controller a:hover {
	background: #fff;
	text-decoration: none;
}

.eg-png-viewer .controller a.disable {
	cursor: default;
	background: #ccc;
	color: #999;
	text-decoration: none;
}

.eg-png-viewer .contents {
	background-color: #fbfbfb;
	box-sizing: border-box;
	border: 1px solid #ccc;
	height: 580px;
	overflow: auto;
	text-align: center;
	margin: 0 auto 20px auto;
	width: 100%;
	-webkit-overflow-scrolling: touch;
}

.eg-png-viewer .contents img {
	border: 1px solid #ccc;
	max-width: none;
	margin: 10px;
}

.eg-overflow-auto {
	margin-bottom: 1em;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
}

.eg-overflow-auto img,
.eg-overflow-auto table {
	max-width: inherit;
	max-width: auto;
}

.eg-overflow-auto table {
	margin-bottom: 0;
	width: 950px;
}


/* EG tab
------------------------------------------------------------ */

.site-container .eg-tab-contents .tab-controller {
	border-bottom: 1px solid #ccc;
	margin-bottom: 1.5em;
	position: relative;
}

.site-container .eg-tab-contents .tab-controller ul {
	border-collapse: separate;
	border-spacing: 0.5em 0;
	bottom: -1px;
	box-sizing: border-box;
	display: table;
	font-size: 93%;
	margin-bottom: 0;
	position: relative;
	width: auto;
}

.site-container .eg-tab-contents .tab-controller_center ul {
	margin: 0 auto;
}

.site-container .eg-tab-contents .tab-controller li {
	display: table-cell;
}

.site-container .eg-tab-contents .tab-controller a {
	display: block;
	padding: 0.5em 1em;
	border-style: solid;
	border-width: 4px 1px 0 1px;
	border-color: #ccc;
	box-sizing: border-box;
	color: #000;
	text-align: center;
}

.site-container .eg-tab-contents .tab-controller a:not(.active):hover {
	background-color: rgba(237,244,255, 0.7);
	border-color: #e60012 #ccc #ccc #ccc;
	color: #e60012;
}

.site-container .eg-tab-contents .tab-controller a.active {
	background-color: #fff;
	border-color: #004098 #ccc #fff #ccc;
	cursor: default;
	font-weight: 600;
}


/* タブが画面幅に収まりきらない場合 */
.site-container .eg-tab-contents .tab-controller--smp {
	background-color: #004098;
	border-bottom: 0 none;
	padding: 0.5em 0;
}

.site-container .eg-tab-contents .tab-controller--smp:before {
	border-color: #004098 transparent transparent transparent;
	border-style: solid;
	border-width: 15px;
	bottom: -30px;
	height: 0;
	left: 1.5em;
	position: absolute;
	width: 0;
}

.site-container .eg-tab-contents .tab-controller--smp ul {
	position: static;
	margin: 0;
}

.site-container .eg-tab-contents .tab-controller--smp li {
	display: inline-block;
	float: left;
	margin-right: 0.5em;
}

.site-container .eg-tab-contents .tab-controller--smp a {
	border: 1px solid #fff;
	color: #fff;
}

.site-container .eg-tab-contents .tab-controller--smp a:first-letter {
	display: block;
}

.site-container .eg-tab-contents .tab-controller--smp a:not(.active):hover {
	background-color: #fff;
	border-color: #fff;
}

.site-container .eg-tab-contents .tab-controller--smp a.active {
	color: #004098;
}

.site-container .eg-tab-contents .tab-controller--smp li {
	display: inline-block;
	float: left;
	margin-right: 0.5em;
}


/* Media Queries
---------------------------------------------------------------------------------------------------- */

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
	only screen and (-moz-min-device-pixel-ratio: 1.5),
	only screen and (-o-min-device-pixel-ratio: 3/2),
	only screen and (min-device-pixel-ratio: 1.5) {

}

@media only screen and (max-width: 1250px) {
	.off--under-wxga { display: none; }

	body { background-color: #fff; }

	.site-header .wrap,
	.nav-primary .wrap,
	.breadcrumb .wrap,
	.home-kanban,
	.content-sidebar-wrap,
	.pagetop .wrap,
	.site-footer .wrap {
		box-sizing: border-box;
		width: 100%;
	}

	.site-header .wrap,
	.pagetop .wrap,
	.site-footer .wrap {
		padding-left: 10px;
		padding-right: 10px;
	}

	.site-header .title-area,
	.site-header .title-area a {
		width: 300px;
	}

	.site-header .title-area a {
		background-image: url(images/logo-w253x80@2x.png);
		background-position: left center;
		background-size: 253px 80px;
	}

	.menu-primary li:first-child a { padding: 20px; }

	.breadcrumb .wrap { padding: 5px 15px 15px 15px; }

	.content-sidebar-wrap {
		border: 0 none;
		box-shadow: none;
		padding: 5px 15px 30px 15px;
	}

	.content-sidebar .content {
		width: 68.84765625%;
	}

	.sidebar-primary {
		width: 29.296875%;
	}

	.grid-list .grid-list--item {
		width: 33.33333333333333%;
	}

	.download .download-list {
		padding-left: 40px;
	}

	.portfolio-posts {
		width: 49%;
	}

	/* 総合トップ */
	.slider,
	.grade-box {
		float: none;
		margin-bottom: 15px;
		width: 100%;
	}

	.flexslider {
		margin: 0 auto;
	}

	.grade-box .widget-title {
		margin-bottom: 10px;
		text-align: center;
	}

	.grade-box li {
		background-color: #eee;
		border: 2px solid #ccc;
		border-radius: 3px;
		box-sizing: border-box;
		display: inline-block;
		float: left;
		margin: 0.5%;
		width: 32.33333333333333%
	}

	.grade-box li:hover {
		background-color: #cbe1ff;
		border-color: #004eed;
	}

	.grade-box li a {
		background-color: #fff;
	}

	.genesis-grid-loop .genesis-grid {
		border-bottom: 1px dashed #ccc;
		clear: both;
		padding: 0.75em 0;
		width: 100%;
	}

	.genesis-grid-loop .entry-title {
		float: left;
		margin: 0 1em 0 0;
	}

	.genesis-grid-loop .entry-title a span {
		width: 290px;
		height: 130px;
		background-size: 100%;
	}

	.genesis-grid-loop .entry-content {
		overflow: hidden;
	}

	.kanren-sites .genesis-grid {
		border-bottom: 0 none;
		padding: 0;
	}

	.kanren-sites .genesis-grid .entry-title,
	.kanren-sites .genesis-grid .entry-content {
		margin-bottom: 0.5em;
	}

	.kanren-sites .entries {
		clear: both;
	}

	/* 記事リーフ */
	.contents-menu { width: 21.484375%; }

	.use-contents-menu .content .entry-content,
	.use-contents-menu .content .entry-footer {
		width: 77.05078125%;
	}

	/* フッター */
	.site-footer .site-menu li {
		display: inline-block;
		float: left;
		margin: 0 0 14px 0;
	}

	.site-footer .site-menu .i06 {
		border-left: 0 none;
		clear: both;
		padding-left: 0;
	}


	.group-sites li:nth-child(3n+1) {
		clear: both;
	}

	/* 総合トップ・校舎ページの謹告枠 */
	.notification-wrap {
		padding: 0 15px;
	}

	a.banner-request dd img { width: 90px; }
}

@media only screen and (max-width: 1020px) {
	.off--under-xga { display: none; }
}

@media only screen and (max-width: 980px) {
	.eg-mobile-only { display: block !important; }

	.eg-mobile-off,
	.header-widget-area,
	.nav-primary,
	.breadcrumb .wrap,
	.contents-menu,
	.sidebar-primary,
	.pagetop,
	.site-footer { display: none; }

	.eg-float-clear-w980 {
		float: none;
		margin-left: 0;
		width: 100%;
	}

	.site-header {
		background-color: #004098;
		margin-bottom: 10px;
	}

	.site-header .wrap { padding: 5px 0; }

	.site-header .title-area,
	.site-header .title-area a {
		width: 100%;
	}

	.site-header .title-area a {
		background-image: url(images/logo-w200x60@2x.png);
		background-position: center center;
		background-size: 200px 60px;
	}

	.content-sidebar .content,
	.use-contents-menu .content .entry-content,
	.use-contents-menu .content .entry-footer {
		width: 100%;
	}

	.eg-notification dt,
	.eg-notification dd,
	dl.menu dt,
	dl.menu dd {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	dl.menu li {
		display: list-item;
		margin-left: -0.5em;
		padding-left: 1em;
	}

	dl.menu li:before {
		content: '\30fb';
		color: #000;
		float: left;
		margin-left: -1em;
	}

	dl.menu li a { display: block; }

	.event-boxed table { width: 100%; }

	/* イベントボックスの検索 */
	.search-event-boxed { border-width: 1px; }

	.search-event-boxed .table--cell { display: block; }

	.search-event-boxed dt { border-bottom: 1px solid #ccc; padding: 0.75em; width: 100%; }

	.search-event-boxed dd { font-size: 93%; }

	.search-event-boxed .break { display: inline; }

	.download .download-list { padding-left: 0; }

	/* 総合トップ */
	.flexslider {
		width: auto;
	}

	/* 記事リーフ */
	.singular-content .entry-header .entry-title_replace {
		height: auto;
	}

	.singular-content .entry-header .entry-title_replace::before,
	.singular-content .entry-header .next-schedule-box,
	.singular-content .entry-content .next-schedule-box {
		display: none;
	}

	/* 総合トップ・校舎ページの謹告枠 */
	.notification-wrap,
	.single-school .notification-wrap {
		margin-top: 15px;
	}

	a.banner-request { min-height: 110px; }
}

@media only screen and (max-width: 650px) {
	.off--under-vga,
	.entry-pagination .page-count { display: none; }

	body,
	.singular-content .entry-content h2:not(.entry-title),
	.singular-content .entry-content h3:not(.entry-title),
	.singular-content .entry-content h4:not(.entry-title) {
		font-size: 100%;
		line-height: 1.4;
	}

	.singular-content .entry-header .entry-title,
	.archive-description .archive-title {
		font-size: 115.5%;
		line-height: 1.4;
		padding: 0.75em 1em;
	}

	.grid-list .grid-list--item {
		width: 50%;
	}

	.entry-pagination {
		font-size: 93%;
	}

	.eg-button {
		display: block;
		margin: 0.5em 0;
		width: 100%;
	}

	.portfolio {
		margin-left: 0;
	}

	.portfolio-posts {
		margin: 0 0 5% 0;
		width: 100%;
	}

	/* 総合トップ */
	.grade-box li {
		font-size: 14px;
		margin: 1%;
		width: 48%;
	}

	.news-list {
		display: block;
		padding: 0.75em 0.5em;
	}

	.news-list .table--cell {
		display: block;
		padding: 0;
	}

	.news-list .date {
		color: #555;
		text-align: left;
		width: auto;
	}

	.genesis-grid-loop .entry-title {
		float: none;
		margin: 0 auto 1em auto;
		max-width: 300px;
	}

	.eg-3button .eg-button,
	.eg-button--one-third {
		display: block;
		width: 100%;
	}

	/* リンク付きのテーブル */
	.linked-table .break { display: inline; }

	.linked-table dt { display: block; width: 100%; background-color: #333; color: #fff;  }

	.linked-table .table--cell { padding: 0.5em 0.75em; display: block; }

	.linked-table--lead:after {
		background-color: #004098;
		color: #fff;
		content: '詳細を見る ';
		display: block;
		font-size: 93%;
		margin-top: 1em;
		padding: 0.25em;
		text-align: center;
	}

	.linked-table:hover .linked-table--lead:after { background-color: #e60012; }

	.linked-table--more,
	:root .entry-content .linked-table--more { display: none; }

	.school .grid-list_related .grid-list--item { width: 50%; }

	a.banner-request { min-height: 140px; }
	a.banner-request dd p { font-size: 86.5%; }
	a.banner-request dd img { top: 30px; }
}

@media only screen and (max-width: 600px) {
	.off--under-w600 { display: none; }

	.eg-float-clear-w600 {
		float: none;
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}

	.entry-content .table--cell {
		border: 0 none;
		display: block;
		width: 100%;
	}

	.under-w600-list-item,
	.entry-content .under-w600-list-item {
		border: 0 none;
		text-align: left;
	}

	.under-w600-list-item dt,
	.entry-content .under-w600-list-item dt {
		padding: 0.25em 0;
		text-align: left;
	}

	.under-w600-list-item dt:before {
		content: '\25A0';
	}

	.under-w600-list-item dd.table--cell,
	.entry-content .under-w600-list-item dd.table--cell {
		padding: 0 0 0 1em;
	}

	.under-w600-boxed {
		border: 1px solid #ccc;
	}

	.under-w600-boxed dt,
	.under-w600-boxed dt.table--cell {
		border-bottom: 1px solid #ccc;
		text-align: center;
	}

	dd .inline { margin-left: -1em; }
}

@media only screen and (max-width: 425px) {
	.off--under-w425,
	.grid-list .icon--triangle_right_after:after {
		display: none;
	}

	.eg-button + .eg-button {
		margin-top: 0;
	}

	.alignleft,
	.alignright {
		float: none;
		margin: 0 0 1em 0;
		text-align: center;
	}

	.grid-list .grid-list--item {
		border-bottom: 1px dashed #ccc;
		float: none;
		width: 100%;
	}

	.grid-list .grid-list--item > a,
	.grid-list .grid-list--item > span {
		border: 0 none;
		height: auto;
		padding: 0.75em;
		width: 100%;
	}

	.inline li {
		display: block;
	}

	.inline li:before {
		padding: 0;
	}

	.inline--first-off li:first-child:before,
	.inline_vertical li:before {
		content: '\30fb';
	}

	.inline li a {
		display: block;
		width: 100%;
	}

	.fl:first-letter {
		padding-right: 0;
	}

	/* テーブル要素 */
	.js-mobile-rebuild-off th,
	.js-mobile-rebuild-off td {
		border: 0 none;
		box-sizing: border-box;
		display: block;
		text-align: left;
		width: 100%;
	}

	.js-mobile-rebuild-off.non-block th,
	.js-mobile-rebuild-off.non-block td {
		display: table-cell;
		width: auto;
	}

	.eg-boxed1 .js-mobile-rebuild-off th,
	.eg-boxed1 .js-mobile-rebuild-off td {
		width: 96%;
	}

	.js-mobile-rebuild-off th:before,
	.eg-table-style dt:before {
		content: '\25A0';
	}

	.js-mobile-rebuild-off th,
	.eg-table-style dt {
		background: transparent;
		padding: 0;
	}

	.js-mobile-rebuild-off th.head {
		border-left: 4px solid #555;
		color: #000;
		margin: 6px 0;
		padding: 3px 0 3px 6px;
		text-decoration: none;
	}

	.js-mobile-rebuild-off td {
		margin-bottom: 0;
		padding-top: 0.25em;
		padding-bottom: 0;
	}

	.js-mobile-rebuild-off td:last-child {
		margin-bottom: 1em;
	}

	.js-mobile-rebuild-off tr:last-child td {
		margin-bottom: 0;
	}


	.school .schedule-list .grid-list--item {
		border-bottom: 0 none;
	}

	.school .schedule-list .grid-list--item > a,
	.school .schedule-list .grid-list--item > span {
		background-color: #fff;
		height: auto;
		text-align: left;
		padding: 0;
	}

	.school .schedule-list .grid-list--item > a {
		font-weight: 300;
		color: #004098;
		padding-left: 1em;
	}

	.school .schedule-list .grid-list--item > a:before {
		content: '\30fb';
		display: inline-block;
		float: left;
		margin-left: -1em;
	}

	.school .schedule-list .grid-list--item > a:hover,
	.school .schedule-list .grid-list--item > a:focus,
	.school .schedule-list .grid-list--item > a:active {
		background-color: #fff;
		color: #e60012;
	}

	.school .schedule-list .grid-list--item > span {
		border-bottom: 1px solid #ccc;
		color: #333;
		padding-top: 1em;
	}

	.school .schedule-list .grid-list--item:first-child > span {
		padding-top: 0;
	}

	.school .schedule-list .grid-list--item > a span {
		display: inline;
	}

	.download .download-list .grid-list--item,
	.download .download-list .grid-list--item > a,
	.download .download-list .grid-list--item > span {
		box-sizing: border-box;
		display: block;
		width: 100%;
		height: auto;
		padding: 0.5em;
	}

	.download .download-list .grid-list--item {
		padding: 6px 0;
		border-bottom: 0 none;
	}

	.download .download-list .grid-list--label {
		padding: 0;
	}

	.search-event-boxed .w9,
	.search-event-boxed .w14 { width: 100%; }

	/* タブUI */
	.site-container .eg-tab-contents .tab-controller--smp {
		padding: 0.5em;
	}

	.site-container .eg-tab-contents .tab-controller--smp ul {
		display: block;
	}

	.site-container .eg-tab-contents .tab-controller--smp-h150 ul {
		max-height: 150px;
		overflow-y: scroll;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
	}

	.site-container .eg-tab-contents .tab-controller--smp li {
		display: block;
		margin: 0 0 0.5em 0;
		float: none;
	}

	.site-container .eg-tab-contents .tab-controller--smp li:last-child {
		margin-bottom: 0;
	}

	/* 総合トップ */
	.device-pc .grade-box li {
		float: none;
		width: 98%;
	}

	/* 記事リーフ */
	.entry-content .next-schedule-box {
		float: none;
		margin: 0 0 1em 0;
		width: 100%;
	}

	dl.menu2 { font-size: 93%; }

	.school .grid-list_related .grid-list--item { width: 100%; }

	a.banner-request { min-height: inherit; }
	a.banner-request dd { padding: 1em 0 0 0; }
	a.banner-request dd img {
		box-shadow: 3px 3px 3px rgba(0,0,0,0.8);
		display: block;
		margin: 0 auto 1em auto;
		float: none;
		position: static;
		width: 160px;
	}

	.boxed-fd-item .eg-px20 { font-size: 100%; }
	.boxed-fd-item .icon--phone_free:before { margin-top: 4px; }
}


/* Youtube 映像配信用 */
.entry-content .video {
	position: relative;
	height: 0;
	padding: 30px 0 56.25%;
	overflow: hidden;
}

.entry-content .video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* 時間割ページ（エクセル変換）
---------------------------------------------------------------------------------------------------- */
.jikanwari-data .label-w13 label { width: 13em; }

.jikanwari-data table .tb-rl {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
}

.jikanwari-data select {
	border-radius: 0;
	border: 1px solid #ccc;
	display: block;
	line-height: 1.1;
	margin: 0;
	padding: 0.25em 0.5em;
	background-color: #fff;
	font-size: inherit;
	color: #000;
	box-sizing: border-box;
	width: 100%;
}

.jikanwari-data form select {
	display: inline-block;
	width: 95%;
}

.jikanwari-data td .term-schedule {
	border: 1px solid #004098;
	margin: 0.5em 0 0 0;
	line-height: 1.1;
}

.jikanwari-data td .term-schedule dt {
	background-color: #004098;
	border: 0 none;
	color: #fff;
	padding: 6px;
	text-align: center;
	width: 2em;
}

.jikanwari-data td .term-schedule dd {
	padding: 6px 6px 6px 12px;
}

._jikanwari-data .table-stripe tbody:nth-child(even),
.jikanwari-data tbody.even {
	background-color: #edf4ff;
}

.jikanwari-btn,
.jikanwari-time {
	display: inline-block;
	font-weight: normal;
	border-color: #fff;
	border-width: 1px;
	border-style: solid;
	border-radius: 3px;
	padding: 6px 8px 4px 6px;
	line-height: 1.1;
	margin-left: 8px;
}

.jikanwari-btn {
	font-size: 14px;
	color: #fff;
	background-color: #343a40;
	border-color: #000;
	cursor: pointer;
}

.jikanwari-btn:hover {
	background-color: #004098;
	border-color: #001c43;
}

.jikanwari-btn .dashicons-visibility,
.jikanwari-btn .dashicons-hidden,
.jikanwari-btn .dashicons-text-page { margin-top: -2px; }

@media only screen and (max-width: 600px) {
    .jikanwari-data td .term-schedule .table--cell { display: table-cell; }
}

@media print {
	@page { size: A4 portrait; }

	.eg-print-break { page-break-before: always; }
	.eg-print-off, header, nav, .pagetop, footer, #contents-menu { display: none !important; }
	body { background-color: #fff; }

	.content-sidebar-wrap {
		border: 0 none;
		box-shadow: none;
		margin: 0;
		width: 100%;
		padding: 0;
	}

	.breadcrumb .wrap {
		font-size: 14px;
		border-bottom: 1px solid #aaa;
		line-height: 1.1;
		padding: 1em 0;
		margin: 0 0 1em 0;
		width: 100%;
	}

	.breadcrumb .breadcrumb-link-wrap:first-child span { font-size: 0; }
	.breadcrumb .breadcrumb-link-wrap:first-child span:before { font-size: 14px; content: "Y-SAPIX"; }

	.use-contents-menu .content .entry-content,
	.use-contents-menu .content .entry-footer { float: none; width: 100%; }

	table th,
	table td {
		border: 1px solid #aaa;
		padding: 0.5em;
	}

	.jikanwari-data td .term-schedule { border-color: #ccc; }

	.jikanwari-data td .term-schedule dt {
		color: #000;
		background-color: #fff;
		border-right: 1px solid #ccc;
	}
}




























/* 削除予定のクラス
---------------------------------------------------------------------------------------------------- */

/* 記事タイトルの看板画像
------------------------------------------------------------ */

.over980 .v2015 .entry-header .replace,
.over600 .v2015 .entry-header .replace {
	background-color: #f6f6f6;
	background-position: center center;
	background-repeat: no-repeat;
	display: block;
	margin: 0 0 15px 0;
	height: 280px;
	overflow: hidden;
	padding: 15px 0;
	text-indent: 100%;
	text-indent: -9999px\9;
	white-space: nowrap;
	width: 100%;
}

.over980 .v2015 .entry-header .replace {
	height: 410px;
}

.over980 .v2015 .entry-header .replace .entry-title,
.over600 .v2015 .entry-header .replace .entry-title {
	display: none;
}
