@charset "utf-8";

/*=================================================
	file name: global-style.css
	create: 2016.May
	updated: 2017.4.11
===================================================*/

/* Font
----------------------------------------------*/
/* 丸文字フォント */
@font-face {
	font-family: 'GenJyuuGothic';
	src: url("../fonts/GenJyuuGothicX-Bold_subset.eot");
	src: url("../fonts/GenJyuuGothicX-Bold_subset.eot?") format('embedded-opentype'),
	     url("../fonts/GenJyuuGothicX-Bold_subset.woff") format('woff'),
	     url("../fonts/GenJyuuGothicX-Bold_subset.otf") format('opentype');
	font-style: normal;
	font-weight: normal;
}
/* Futura Italic風 */
@font-face {
	font-family: 'texgyreadventor-italic';
	src: url("../fonts/texgyreadventor-italic.eot");
	src: url("../fonts/texgyreadventor-italic.eot?") format('embedded-opentype'),
	     url("../fonts/texgyreadventor-italic.woff") format('woff'),
	     url("../fonts/texgyreadventor-italic.otf") format('opentype');
}

/*@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 100;
	src: url(../fonts/NotoSansJP-Thin_subset.woff2) format('woff2'),
	     url(../fonts/NotoSansJP-Thin_subset.woff) format('woff'),
	     url(../fonts/NotoSansJP-Thin_subset.otf) format('opentype');
}*/
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 300;
	src: url(../fonts/NotoSansJP-Light_subset.woff2) format('woff2'),
	url(../fonts/NotoSansJP-Light_subset.woff) format('woff'),
	url(../fonts/NotoSansJP-Light_subset.otf) format('opentype');
}

/*@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/NotoSansJP-Regular_subset.woff2) format('woff2'),
	url(../fonts/NotoSansJP-Regular_subset.woff) format('woff'),
	url(../fonts/NotoSansJP-Regular_subset.otf) format('opentype');
}*/
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	src: url(../fonts/NotoSansJP-Medium_subset.woff2) format('woff2'),
	url(../fonts/NotoSansJP-Medium_subset.woff) format('woff'),
	url(../fonts/NotoSansJP-Medium_subset.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	src: url(../fonts/NotoSansJP-Bold_subset.woff2) format('woff2'),
	url(../fonts/NotoSansJP-Bold_subset.woff) format('woff'),
	url(../fonts/NotoSansJP-Bold_subset.otf) format('opentype');
}
/*@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 900;
	src: url(../fonts/NotoSansJP-Black_subset.woff2) format('woff2'),
	url(../fonts/NotoSansJP-Black_subset.woff) format('woff'),
	url(../fonts/NotoSansJP-Black_subset.otf) format('opentype');
}*/

/* base and utility style
----------------------------------------------*/
/* IEで縮小表示した画像がギザギザになってしまう問題を回避 */
img { -ms-interpolation-mode: bicubic;}

/* IE10でSVG画像のサイズがセットされない現象を回避 */
@media all and (-ms-high-contrast:none){
	figure > .img-responsive[src*="svg"] {
		width: 100%;
	}
}

a {
	color: #19b6a9;
	text-decoration: none;
}
a:hover, a:focus {
	color: #8cdbd4;
	text-decoration: none;
}
a:visited {
	color: #006477;
	text-decoration: none;
}
a.blank-link {
	position: relative;
	top: 1px;
	display: inline-block;
	font-style: normal;
	font-weight: 100;
}
a.blank-link:after {
	content: "\e164";
	margin-left: .4em;
	font-family: 'Glyphicons Halflings';
	font-size: 0.8em;
}
a.more-info:after {
	content: "\e080";
	margin-left: .2em;
	font-family: 'Glyphicons Halflings';
	vertical-align: -1px;
}
a.btn:visited {
	color: #fff;
}
@media screen and (min-width: 768px) {
	a:hover img {
		opacity: .6;
	}
}

i, em {
	font-style: normal;
}
em, strong {
	font-weight: bold;
}
figcaption {
	margin: .5em 0 2em;
	font-size: 14px;
	/*font-size: .86em;*/
}
.container figcaption p {
	font-size: inherit;
}
.container figcaption .label {
	font-size: 1em;
}
@media screen and (max-width: 767px) {
	figcaption {
		margin-bottom: 1.5em;
	}
}
table + figcaption {
	margin-top: -10px;
}
hr {
	border-top: solid 8px #ccc;
	max-width: 1000px;
	margin-top: 12px;
}

/* iPhone5でのみ非表示 */
@media screen and (max-width: 320px) {
	.hidden-xxs {
		display: none !important;
	}
}
/* SP幅で横100%表示 */
@media screen and (max-width: 768px) {
	.col-sp-fluid {
		padding-right: 0!important;
		padding-left: 0!important;
	}
	.sp-fluid {
		margin-right: -15px!important;
		margin-left: -15px!important;
	}
}
@media screen and (min-width: 768px) {
	/* グリッドスタイルでcol-*の高さを同じにする */
	.row-eq-height {
		display: flex;
		flex-wrap: wrap;
	}

	.row-eq-height_top {
		display: -webkit-box;
		flex-wrap: wrap;
	}

	/* グリッドスタイルでcol-*の高さを同じにして上下中央配置 - PC表示 */
	.row-eq-height.is-center {
		justify-content: center;
		align-items: center;
		-webkit-box-align: center;
	}

	.row-eq-height_top.is-center {
		justify-content: center;
		align-items: center;
		-webkit-box-align: center;
	}
}
/* list */
ul, ol {
	padding-left: 1.6em;
}
ul + ol, ol + ul,
p + ul, p + ol {
	margin-top: -8px;
}
li > ul,
li > ol {
	padding-left: 2em;
	margin: .2em 0 .5em;
}
ol > li > ul > li {
	list-style-type: disc;
	list-style-position: outside;
}
li > ol > li {
	list-style-type: none;
	list-style-position: inside;
	counter-increment: cnt;
}
li > ol > li:before {
	display: marker;
	content: "(" counter(cnt) ") ";
	margin-left: -1.6em;
}
ol.list_parentheses {
	padding-left: 2em;
}
ol.list_parentheses > li {
	list-style-position: inside;
	counter-increment: cnt;
}
ol.list_parentheses > li:before {
	display: marker;
	content: "(" counter(cnt) ") ";
	margin-left: -1.6em;
}
.list-inline-slash li {
	display: inline-block;
	font-size: 14px;
}
.list-inline-slash li:not(:last-child):after {
	content: "/";
	margin-left: 5px;
}
/* label */
.label-sm {
	font-size: 60%;
}
.section-heading .label,
.content-heading .label {
	font-size: 70%;
}
.section-heading > br + .label,
.content-heading > br + .label {
	line-height: 3em;
}
@media screen and (max-width: 767px) {
	dt > .hidden-xs + .label {
		margin-left: 3px;
		vertical-align: 1px;
	}
}


/* 調整用
----------------------------------------------*/
@media screen and (max-width: 768px) {
	.xs-mt0 { margin-top: 0!important; }
	.xs-mb0 { margin-bottom: 0!important; }
}
@media screen and (min-width: 769px) {
	.sm-mt0 { margin-top: 0!important; }
	.sm-mb0 { margin-bottom: 0!important; }
}

/* text olor, decoration
----------------------------------------------*/
.text-attention { color: #f05096; }
.text-warning   { color: #f00; }
.text-append    { color: #EC9B00; }

.with-border {
	border: 1px solid #ddd;
}


/* Typography
----------------------------------------------*/
/* Headings */
.article-heading {
	margin-bottom: 0;
	padding: .8em 15px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.26;
}
@media screen and (max-width: 767px) {
	.article-heading {
		font-size: 21px;
	}
}
.article-heading > small {
	display: block;
	margin-top: 5px;
}
@media screen and (min-width: 768px) {
	.article-heading > small {
		font-size: 50%;
	}
}
.section-heading {
	margin-top: .5em;
	margin-bottom: .5em;
	font-size: 28px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	line-height: 1.26;
	position: relative;
}
.section-heading > small {
	display: block;
	margin-top: .5em;
	line-height: 1.3;
}
.section-heading.with-balloon {
	background: #fff;
	border: solid 4px #799FAE;
	border-radius: 8px;
	margin-bottom: 32px;
	padding: .5em 1em;
	color: #799FAE;
	font-weight: 500;
	letter-spacing: -2px;
	line-height: 1.3;
	position: relative;
}
@media screen and (max-width: 767px) {
	.section-heading.with-balloon {
		padding-right: .5em;
		padding-left: .5em;
		font-size: 21px;
	}
}
.section-heading.with-balloon:after,
.section-heading.with-balloon:before {
	top: 100%;
	left: 20px;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.section-heading.with-balloon:after {
	border-top-color: #ffffff;
	border-width: 10px 0 0 15px;
	margin-left: 1px;
}
.section-heading.with-balloon:before {
	border-top-color: #799FAE;
	border-width: 16px 0 0 24px;
	margin-left: -5px;
}
#apply .section-heading {
	background-color: #32a69c;
	margin-bottom: 20px;
	padding: .5em 0;
	color: #fff;
}
#apply .section-heading:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(50, 166, 156, 0);
	border-top-color: #32a69c;
	border-width: 10px;
	margin-left: -10px;
}
@media screen and (min-width: 768px) {
	#apply .section-heading {
		margin-bottom: 30px;
	}
	#apply .section-heading:after {
		border-width: 20px;
		margin-left: -20px;
	}
}
@media screen and (max-width: 767px) {
	.section-heading {
		font-size: 21px;
	}
	article > section > .section-heading {
		padding-right: 15px;
		padding-left: 15px;
	}
	.section-heading > small {
		padding-right: 15px;
		padding-left: 15px;
	}
}
section section .section-heading {
	font-size: 21px;
	font-weight: normal;
}
section section.curriculum .section-heading {
	font-size: 28px;
	font-weight: 700;
}
@media screen and (max-width: 767px) {
	section section .section-heading {
		font-size: 18px;
	}
	section section.curriculum .section-heading {
		font-size: 21px;
	}
}
#newprice .section-heading {
	margin-top: 20px;
	margin-bottom: 30px;
}
.content-heading {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	line-height: 1.8;
	font-size: 21px;
}
.content-heading small {
	display: block;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.content-heading {
		font-size: 18px;
	}
}
.curriculum .content-heading > span {
	border-bottom: solid 3px #ccc;
	padding: 0 20px;
}
.cycle .content-heading {
	background: #ffffff;
	border: solid 4px #fe6601;
	border-radius: 8px;
	margin-bottom: 16px;
	padding: .5em 1em;
	color: #fe6601;
	font-size: 22px;
	line-height: 1.3;
	position: relative;
}
@media screen and (max-width: 767px) {
	.cycle .content-heading {
		padding-right: .5em;
		padding-left: .5em;
	}
}
.cycle .content-heading:after,
.cycle .content-heading:before {
	top: 100%;
	left: 20px;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.cycle .content-heading:after {
	border-top-color: #ffffff;
	border-width: 10px 0 0 15px;
	margin-left: 1px;
}
.cycle .content-heading:before {
	border-top-color: #FE6601;
	border-width: 16px 0 0 24px;
	margin-left: -5px;
}

/* heading-num */
[class*='heading-num'] {
	padding-left: 1.7em;
	line-height: 1.3!important;
}
[class*='heading-num']:before {
	margin-right: -.1em;
	color: #799FAE;
	font-size: 1.1em;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	section section [class*='heading-num'] {
		padding-left: 1.9em;
	}
	section section [class*='heading-num']:before {
		margin-right: 0;
		margin-left: -1.7em;
	}
}
@media screen and (min-width: 768px) {
	section section [class*='heading-num'] {
		padding-left: 1.9em;
	}
	section section [class*='heading-num']:before {
		margin-right: 0;
		margin-left: -1.7em;
	}
}
.content-heading[class*='heading-num']:before {
	margin-left: -1.5em;
}
.heading-num1:before { content: "1｜"; }
.heading-num2:before { content: "2｜"; }
.heading-num3:before { content: "3｜"; }
.heading-num4:before { content: "4｜"; }
.heading-num5:before { content: "5｜"; }
.heading-num6:before { content: "6｜"; }
.heading-num7:before { content: "7｜"; }
.heading-num8:before { content: "8｜"; }
.heading-num9:before { content: "9｜"; }

.question-heading {
	padding-left: 34px;
	line-height: 1.4;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	position: relative;
}
.question-heading:before {
	content: url(/shogaku/lib/images/spot_question.svg);
	display: block;
	width: 24px;
	height: 24px;
	position: absolute;
	top: 4px;
	left: 0;
}
.question-heading a.blank-link {
	font-weight: 700;
}
.question-heading a.blank-link:after {
	font-weight: 100!important;
}

.list-heading {
	margin-bottom: 5px;
	font-size: 14px;
	font-weight: bold;
}

.content h4 {
	margin-top: 2em;
	font-size: 16px;
}

article > p.lead,
.container p {
	margin-bottom: 1em;
	font-size: 14px;
	line-height: 1.5;
	word-break : break-all;
}
@media screen and (max-width: 767px) {
	article > p.lead {
		padding-right: 15px;
		padding-left: 15px;
	}
}
@media screen and (min-width: 768px) {
	article > p.lead {
		width: 100%;
		max-width: 1000px;
		margin-right: auto;
		margin-left: auto;
	}
	.container p.lead {
	}
}

.text-sm { font-size: .8em; }
.text-lg { font-size: 1.2em; }

.container p:last-child {
	margin-bottom: 0!important;
}
.container li, .container dt, .container dd {
	font-size: 16px;
}
.container td li, .container td dt, .container td dd {
	font-size: 14px;
}
.container figcaption li {
	font-size: inherit;
}

.btn-block + .btn-block {
	margin-top: .8em!important;
}


/* Components
----------------------------------------------*/
/* .label */
.label-lg {
	padding-right: 1em;
	padding-left: 1em;
	font-size: 100%;
	font-weight: normal;
}
.label-tokkyo {
	border: solid 1px #337ab7;
	background-color: #fff;
	font-weight: normal;
	color: #337ab7;
}
.label-tokkyo:before {
	content: "\e028";
	margin-right: .3em;
	font-family: 'Glyphicons Halflings';
	font-size: .9em;
	vertical-align: -1px;
}
.label-kyokasho {
	border: solid 1px #d9534f;
	background-color: #fff;
	font-weight: normal;
	color: #d9534f;
}
.label-kyokasho:before {
	content: "\e043";
	margin-right: .3em;
	font-family: 'Glyphicons Halflings';
	font-size: .9em;
	vertical-align: -1px;
}
.label-point {
	border: solid 1px #14aa32;
	background-color: #fff;
	font-weight: normal;
	color: #14aa32;
}
p [class*=label-] {
	display: inline-block;
	margin-bottom: .4em;
}
.label-point:before {
	content: "\e127";
	display: inline-block;
	margin-right: .3em;
	font-family: 'Glyphicons Halflings';
	font-size: 1.1em;
}
.label-new {
	border: solid 1px #FE6A05;
	background-color: #fff;
	font-weight: normal;
	color: #FE6A05;
}
.label-new:before {
	content: "\e006";
	margin-right: .1em;
	margin-left: -.2em;
	font-family: 'Glyphicons Halflings';
	font-size: .9em;
	vertical-align: -1px;
}
.label-recommend {
	border: solid 1px #FF0000;
	background-color: #fff;
	font-weight: normal;
	color: #FF0000;
}
.label-solution {
	border: solid 1px #ef007b;
	background-color: #fff;
	font-weight: normal;
	color: #ef007b;
}
.label-solution:before {
	content: "";
	background: url(/lib/images/icon_solution.svg) no-repeat 0 0;
	background-size: contain;
	display: inline-block;
	width: 15px;
	height: 17px;
	margin-right: .1em;
	margin-left: -.2em;
	vertical-align: middle;
}

.label-product   { background-color: #f05096; }
.label-press     { background-color: #0082c8; }
.label-taikenkai { background-color: #14aa32; }
.label-column    { background-color: #FF7F27; }


/* form */
input[type="text"],
input[type="number"],
select,
textarea {
	font-size: 14px;
}
.container-form p,
.container-form .radio,
.container-form .checkbox {
	font-size: 14px;
}
.container-form .radio:first-child,
.container-form .checkbox:first-child {
	margin-top: 0;
}
@media screen and (max-width: 767px) {
	.container-form p {
		font-size: 12px;
	}
	select {
		max-width: 100%;
	}
}

/* table */
@media screen and (min-width: 768px) {
	.table-bordered > tbody > tr > th {
		min-width: 20%;
		padding-right: 20px;
		padding-left: 20px;
		white-space: nowrap;
	}
	.table-bordered > tbody > tr > td {
		padding-right: 20px;
		padding-left: 20px;
	}
}
@media screen and (max-width: 767px) {
	.table-horizontal {
		border-bottom: none;
	}
	.table-horizontal > thead {
		display: none;
	}
	.table-horizontal > tbody > tr > th,
	.table-horizontal > tbody > tr > td {
		display: block;
		border-top: none;
		border-right: none;
		border-left: none;
	}
}
	.table-horizontal > tbody > tr > td ul {
		margin-top: 10px;
		margin-bottom: 0;
}
/* table */
.table-hover > tbody > tr > th {
	background-color: #f1f8f8;
}
.table-hover > tbody > tr:hover > th {
	background-color: #DDF0F0;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
	border-bottom-color: #09b2a4;
	color: #09b2a4;
}


/* modal */
.modal-dialog {
	margin-top: 20px;
}
.modal-body > .modal-title {
	margin-bottom: .3em;
}
.modal-body > button.close {
	background-color: #fff;
	border: solid 4px #19b6a9;
	border-radius: 50%;
	box-shadow: 0 0 3px rgba(0,0,3,.6);
	width: 40px;
	height: 40px;
	font-size: 20px;
	text-align: center;
	color: #19b6a9;
	opacity: 1;
	z-index: 200;
	position: sticky;
  top: 0;
  right: 0;
  margin: -34px -26px 0 0;
  opacity: 0;
  transition: opacity .3s .3s ease-out;
}
.modal.in .modal-body > button.close {
  opacity: 1;
}
.mid .modal-body > button.close {
	border-color: #206289;
	color: #206289;
}
[aria-labelledby="tsuduku"] .modal-body,
[aria-labelledby="kawaru"] .modal-body,
[aria-labelledby="voice"] .modal-body {
	padding-top: 30px;
}

/* .btn */
.btn-with-arrow {
	border-color: #ccc;
	color: #000;
	position: relative;
}
.btn-with-arrow:hover {
	background-color: #F5F5F5;
}
.btn-with-arrow:after {
	content: "\e080";
	color: #ed7019;
	font-family: 'Glyphicons Halflings';
	font-size: 16px;
	position: absolute;
	top: calc(50% - 8px);
	right: 10px;
}
a.btn-with-arrow:visited {
	color: #000;
}


/* [資料請求・入会申し込みボタン] */
.btn-area {
	background-color: rgba(213, 237, 237, 0.7);
	width: 100%;
	padding: 10px 0;
	text-align: center;
	position: fixed;
	bottom: 0;
	z-index: 600;
}
@media screen and (max-width: 767px) {
	.btn-area.sp-fixed-top {
		background-color: rgba(213, 237, 237, 0.7);
		width: 100%;
		padding: 10px 0;
		top: auto;
		bottom: 0;
		left: 0;
		animation-name: slideUp;
		-webkit-animation-name: slideUp;
		animation-duration: 1s;
		-webkit-animation-duration: 1s;
		animation-timing-function: ease;
		-webkit-animation-timing-function: ease;
	}
	.btn-area.sp-fixed-top .btn {
		/* padding-top: 3px;
		padding-bottom: 3px; */
		font-size: 18px!important;
		padding: 7px 12px 5px!important;
	}
	.btn-area.sp-fixed-bottom {
		animation-name: slideUp;
		-webkit-animation-name: slideUp;
		animation-duration: 1s;
		-webkit-animation-duration: 1s;
		animation-timing-function: ease;
		-webkit-animation-timing-function: ease;
	}

	body.btn-stay-bottom .btn-area.sp-fixed-top {
		background-color: rgba(213, 237, 237, 0.7);
		width: 100%;
		padding: 10px 0;
		text-align: center;
		position: fixed;
		top: auto;
		bottom: 0;
		z-index: 600;
		animation: none;
	}

	body.btn-stay-bottom .btn-area.sp-fixed-top .btn{
		font-size: 18px!important;
		padding: 6px 12px!important;
	}

	body.btn-stay-bottom .btn-area.sp-fixed-bottom {
		animation: none;
	}

	.btn-area.sp-fixed-top > .container {
		margin-left: 0;
	}
}
.btn-area .btn {
	width: 46%;
	margin: 0 .6%;
	max-width: 360px;
	font-size: 16px;
}
.btn-area.sp-fixed-bottom .btn {
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.btn .visible-xs {
		display: inline-block!important;
	}
}
@media screen and (min-width: 768px) {
	.btn-area .btn {
		font-size: 18px;
	}
	.btn-area .btn .glyphicon {
		margin-right: 6px;
		font-size: 24px;
		vertical-align: -4px;
	}
}

.btn-send {
	width: 100%;
	max-width: 300px;
	color: #fff;
	background-color: #82CD01;
	background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #92e601), color-stop(100%, #82cd01));
	background: -moz-linear-gradient(top, #92e601, #82cd01);
	background: -webkit-linear-gradient(top, #92e601, #82cd01);
	background: linear-gradient(to bottom, #92e601, #82cd01);
	box-shadow: 0 3px 0 #5C9100;
}
.btn-send:after {
	content: "\e080";
	margin-left: .5em;
	font-family: 'Glyphicons Halflings';
	font-size: .9em;
}
.btn-send:hover,
.btn-send:focus,
.btn-send.focus {
	color: #fff;
	background-color: #75B801;
	background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #82cd01), color-stop(100%, #75B801));
	background: -moz-linear-gradient(top, #82cd01, #75B801);
	background: -webkit-linear-gradient(top, #82cd01, #75B801);
	background: linear-gradient(to bottom, #82cd01, #75B801);
}
.btn-send:active,
.btn-send.active,
.open > .dropdown-toggle.btn-send {
	color: #fff;
	background-color: #75B801;
	background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #82cd01), color-stop(100%, #75B801));
	background: -moz-linear-gradient(top, #82cd01, #75B801);
	background: -webkit-linear-gradient(top, #82cd01, #75B801);
	background: linear-gradient(to bottom, #82cd01, #75B801);
}
.btn-send:active:hover,
.btn-send.active:hover,
.open > .dropdown-toggle.btn-send:hover,
.btn-send:active:focus,
.btn-send.active:focus,
.open > .dropdown-toggle.btn-send:focus,
.btn-send:active.focus,
.btn-send.active.focus,
.open > .dropdown-toggle.btn-send.focus {
	color: #fff;
	background-color: #75B801;
	background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #82cd01), color-stop(100%, #75B801));
	background: -moz-linear-gradient(top, #82cd01, #75B801);
	background: -webkit-linear-gradient(top, #82cd01, #75B801);
	background: linear-gradient(to bottom, #82cd01, #75B801);
}
.btn-send:active,
.btn-send.active,
.open > .dropdown-toggle.btn-send {
	background-image: none;
}


/* [キャンペーンバナーエリア] */
.campaign-area .container {
	padding: 15px 0;
	background:#e9e9e9;
}
.campaign-area .container .slick-initialized .slick-slide {
	padding: 0 3px;
}
.slider-center {
	display: none;
	opacity: 0;
	transition: opacity .80s ease-in-out;
	-moz-transition: opacity .80s ease-in-out;
	-webkit-transition: opacity .80s ease-in-out;
}
.slider-center.loaded {
	display: block;
	opacity: 1;
}

/* [キャンペーンバナーエリア:テキスト入り] */
.campaign-area .container .slick-initialized .slick-track {
	display: flex;	/* テキスト入りの時の、高さ揃えのため */
}

.campaign-area .container .slick-initialized .slick-slide.txtincl {
	background: #fff; /* > の画像は、shogaku/lib/css/shogaku-style.cssのほうで指定 */
	background-size: auto 16px;
	background-position: 98% 50%;
	padding:8px;
	margin:0 4px;
	border-radius: 5px;
	height: auto;	/* 高さ揃えのため */
}
.campaign-area .container .slick-initialized .slick-slide.txtincl:hover { opacity: 0.7; }

.campaign-area .container .slick-initialized .slick-slide.txtincl a {
	display:block;
}
.campaign-area .container .slick-initialized .slick-slide.txtincl a:after {
	display:block;
	clear:both;
	visibility:hidden;
	height:0;
	content:".";
}

.campaign-area .container .slick-initialized .slick-slide.txtincl img {
	width:36%;
	min-width: 100px;
	margin-right:8px;
	float:left;
}
.campaign-area .container .slick-initialized .slick-slide.txtincl .title {
	font-weight:bold;
	font-size:1.1em;
}
.campaign-area .container .slick-initialized .slick-slide.txtincl .txt {
	color:#000;
	padding-right:10px;
	font-size: 13px;
}

@media screen and (max-width: 320px) {
.campaign-area .container .slick-initialized .slick-slide.txtincl .txt {
	width: 50%;
	margin-left: auto;
}
}

/* [キャンペーンバナーエリア:テキスト入り] end */


@media screen and (min-width: 768px) {
	.campaign-area .container {
		padding: 15px 5px;
	}
	.campaign-area .container .slider {
		margin: 0 -5px;
	}
	.campaign-area .container .slick-initialized .slick-slide {
		padding: 0 6px;
	}
}
.campaign-area:after {
	content: "";
	display: block;
	clear: both;
}
.campaign-area .slider img {
	opacity: .5;
}
.campaign-area .slider .slick-active img {
	opacity: 1;
}

/* [ページ上部に戻るボタン] */
.back-page-top {
	background-color: rgba(220,220,220,.5);
	border-radius: 50%;
	padding: 10px 15px;
	position: fixed;
	bottom: 70px;
	right: 5%;
	color: #00aaff;
	cursor: pointer;
	display: none;
	z-index: 1000;
}
@media screen and (max-width: 767px) {
	.back-page-top {
		display: none;
	}
}

/* [見守るネットログインボタン] */
.btn-login-ele, .btn-login-mid {
	display: table;
	height: 50px;
	padding: 6px 0 3px;
	font-size: 12px;
}
.btn-login-ele > span > em, .btn-login-mid > span > em {
	font-weight: bold;
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	.btn-login-ele > span > em, .btn-login-mid > span > em {
		padding-right: 3px;
	}
}
.btn-login-ele > span, .btn-login-mid > span {
	display: table-cell;
	padding: 0;
	line-height: 1.3;
	vertical-align: middle;
}
.btn-login-ele > span:first-child, .btn-login-mid > span:first-child {
	font-size: 24px;
	padding-right: 3px;
	text-align: right;
}
.btn-login-ele > span:last-child, .btn-login-mid > span:last-child {
	padding-right: 5px;
	font-size: 16px;
}

/* [お知らせ欄] */
.news-area > .container {
	border: 1px solid #5c6166;
	-webkit-border-radius: 5px;
	   -moz-border-radius: 5px;
	        border-radius: 5px;
	margin-top: 15px;
	margin-bottom: 15px;
	padding: 8px;
}
@media screen and (max-width: 320px) {
	.news-area > .container {
		margin-top: 8px;
		margin-bottom: 8px;
	}
}
.news-area > .container p {
	margin-bottom: .5em;
}
@media screen and (max-width: 767px) {
	.news-area > .container {
		margin-right: 10px;
		margin-left: 10px;
	}
	.news-area > .container p {
		font-size: 12px;
	}
}
.news-area.ele > .container {
	background-color: #f1f8f8;
	border-color: #09b2a4;
}
.news-area.mid > .container {
	background-color: #f2f5f9;
	border-color: #003585;
}
.news-area a {
	text-decoration: underline;
	color: #333;
}

/* [電話番号] */
.contact-us {
	margin: 30px auto;
}
.contact-us p {
	margin-bottom: 5px;
	line-height: 1.28;
}
@media screen and (max-width: 767px) {
	.contact-us {
		text-align: center;
	}
}
.contact-us small {
	font-weight: normal;
}
.contact-us .freecall {
	font-size: 18px;
	font-weight: bold;
}
.contact-us .freecall .tel-link {
	font-size: 38px;
	letter-spacing: -1px;
}
.contact-us .call > strong {
	font-size: 25px;
}
.contact-us .reception-time {
	font-size: 13px;
}
@media screen and (max-width: 767px) {
	.contact-us .tel-link a {
		color: #000;
		text-decoration: underline;
	}
}
@media screen and (min-width: 768px) {
	.contact-us > .container {
		max-width: 890px;
	}
	.contact-us .freecall p {
		padding-top: 3px;
		font-size: 26px;
	}
	.contact-us .freecall:before {
		content: url(/lib/images/logo_freecall.svg);
		width: 104px;
		height: auto;
		float: left;
		margin: 4px 20px 0 0;
	}
	.contact-us .freecall .tel-link {
		font-size: 45px;
	}
	.contact-us .call {
		font-size: 14px;
	}
	.contact-us .call > strong {
		font-size: 24px;
	}
	.contact-us .reception-time {
		font-size: 13px;
	}
}

/* [詳しく見るボタン] */
.btn-more-info-area {
	clear: both;
	width: 100%;
	max-width: 380px;
	margin: 1em auto 2.6em;
}
.panel-body .btn-more-info-area {
	margin-bottom: 5px;
}

/* .panel ------------------------------- */
.panel { margin: 1em auto; }
/* .panel */
.panel-default {
	border-color: #09b2a4;
	border-bottom-width: 3px;
}
.panel-default > .panel-heading {
	background-color: #e9f8f7;
	border-color: #09b2a4;
}
.panel-default > .panel-heading > .panel-title {
	color: #09b2a4;
	font-weight: bold;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
	border-top-color: #09b2a4;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
	border-bottom-color: #09b2a4;
}
.panel-info {
	border-color: #CDCDCD;
}
.panel > .panel-body h4 {
	margin-top: 0;
	color: #666666;
}
/* [.panel-taikenkai] */
.panel-taikenkai {
	border-color: #ccc;
}
.panel-taikenkai .panel-heading {
	background: #cfeaed;
	border-color: #ccc;
	color: #3b476e;
	font-weight: bold;
}
.panel-taikenkai .prefecture {
	margin: -15px -15px 10px;
	padding: 3px 15px;
	background: #5f92b9;
	color: #fff;
}
.panel-taikenkai .time + .prefecture {
	margin-top: 1em;
}

.panel-taikenkai .place {
	margin-bottom: 0;
}
/* [.panel-qa] */
.panel-qa {
	box-shadow: none;
	margin-bottom: 3em;
}
.panel-qa .panel-heading {
	padding: 0 0 1em 0;
	position: relative;
}
.panel-qa .panel-heading:before {
	content: url(/shogaku/lib/images/spot_question.svg);
	display: block;
	width: 24px;
	height: 24px;
	position: absolute;
	top: 2px;
	left: 0;
}
.panel-qa .panel-title {
	padding-left: 34px;
	line-height: 1.4;
	color: #19B6A9;
}
.panel-qa .panel-body {
	padding: 0;
	position: relative;
}
.panel-qa .panel-body:before {
	content: url(/shogaku/lib/images/spot_answer.svg);
	display: block;
	width: 24px;
	height: 24px;
	position: absolute;
	top: 2px;
	left: 0;
}
.panel-qa .panel-body > p {
	padding: 0 0 0 34px;
	line-height: 1.4;
}
/* [.panel-voice] */
.panel-voice {
	box-shadow: none;
}
.panel-voice .panel-heading {
	padding: 0;
}
.panel-voice .panel-heading .label {
	margin-right: .5em;
	padding: .1em 1em;
	font-size: .9em;
}
.panel-voice .panel-title {
	background: #ffffff;
	border: solid 4px #19B6A9;
	border-radius: 8px;
	margin-bottom: 16px;
	padding: .5em 1em;
	color: #000;
	font-size: 22px;
	line-height: 1.3;
	position: relative;
}
@media screen and (max-width: 767px) {
	.panel-voice .panel-title {
		padding-right: .5em;
		padding-left: .5em;
	}
}
.panel-voice .panel-title:after,
.panel-voice .panel-title:before {
	top: 100%;
	left: 20px;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.panel-voice .panel-title:after {
	border-top-color: #ffffff;
	border-width: 10px 0 0 15px;
	margin-left: 1px;
}
.panel-voice .panel-title:before {
	border-top-color: #19B6A9;
	border-width: 16px 0 0 24px;
	margin-left: -5px;
}
.panel-voice .panel-body {
	padding: 0;
}
.panel-voice .panel-body h4 {
	margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
	.panel-voice .panel-body figure > img {
		max-width: 100%;
		height: auto;
	}
}
@media screen and (min-width: 768px) {
	.panel-voice .panel-body figure > img {
		width: auto;
		height: 200px;
	}
}
.panel-voice .btn {
	max-width: 380px;
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
	.panel[class*="support-wifi-check-box"] .panel-body {
		min-height: 160px;
	}
	.support-wifi-check-box1 .panel-body .btn,
	.support-wifi-check-box3 .panel-body .btn {
		margin-top: 34px;
	}
	.support-wifi-check-box4 .panel-body .btn {
		margin-top: 34px;
	}
}


/* list */
.breadcrumb {
	border-bottom: solid 1px #1a1a1a;
	margin-bottom: 15px;
	padding-bottom: .5em;
}
.breadcrumb li {
	font-size: 14px;
}
.breadcrumb li:first-child:before {
	content: "\e021";
	margin-right: .3em;
	margin-left: .3em;
	font-family: 'Glyphicons Halflings';
	color: #00aaff;
	vertical-align: -2px;
}

li > .note {
	margin-top: 0;
	margin-bottom: .5em;
}
.note li {
	margin-bottom: .3em;
	padding-left: 1.5em;
	font-size: .86em;
	line-height: 1.3;
	list-style: none;
}
.note li a {
	text-decoration: underline;
}
.note li:before {
	content: "※";
	display: inline-block;
	width: 1.1em;
	margin-left: -1.1em;
}
.note-ordered li {
	counter-increment: number;
	padding-left: 1.9em;
}
.note-ordered li:before {
	content: "※"counter(number);
	width: 1.4em;
	margin-left: -1.4em;
}
figcaption .note li {
	font-size: 1em;
}

/* [SNSボタン] */
.sns-btn {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-js-display: flex;
	width: 160px;
	margin: 0 auto;
	padding: 16px 0;
}
.sp-nav .sns-btn {
	margin: 8px auto;
}
.sns-btn div {
	padding: 0 8px;
}
.sns-btn div a img {
	width: 37px;
}
.sns-btn div a:hover img {
	opacity: .6;
}

/* menu ------------------------------- */
.menu > .container {
	padding-right: 0;
	padding-left: 0;
}
/* .assist-menu */
.menu .assist-menu {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-js-display: flex;
	align-items: stretch;
	justify-content: space-between;
	width: 100%;
	margin-top: 0px;
}
.campaign-area + .menu .assist-menu {
	margin-top: 0;
}
.menu .assist-menu > li {
	-webkit-flex-grow: 1;
	flex-grow: 1;
}
.menu .assist-menu > li > a {
	display: block;
	background-color: #799FAE;
	border: solid 1px #fff;
	padding: 10px 0;
	text-align: center;
	color: #fff;
}
.menu .assist-menu > li > a.is-active,
.menu .assist-menu > li > a:hover {
	opacity: .6;
}
@media screen and (max-width: 767px) {
	.menu .assist-menu > li > a {
		padding: 5px 0;
		font-size: 14px;
	}
	.menu .assist-menu.sp-block { display: block; }
	.menu .assist-menu.sp-block > li {
		display: block;
		margin-bottom: 0;
	}
	.menu .assist-menu.sp-block > li > a {
		font-size: 14px;
	}
}

/* .page-menu */
.menu .page-menu {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
	width: 100%;
}
.menu .page-menu > li {
	background-color: #19b6a9;
	border: solid 1px #fff;
	width: 50vw;
	position: relative;
}
.menu .page-menu > li:after {
	content: "\e114";
	font-family: 'Glyphicons Halflings';
	background-color: #fff;
	border-radius: 50%;
	display: block;
	width: 14px;
	height: 14px;
	font-size: 10px;
	text-align: center;
	color: #19b6a9;
	position: absolute;
	top: calc(50% - 7px);
	right: 5px;
}
@media screen and (min-width: 768px) {
	.menu .page-menu > li {
		width: 25%;
	}
}
.menu .page-menu > li > a {
	display: block;
	width: 100%;
	padding: 10px 22px 10px 10px;
	font-size: 14px;
	line-height: 16px;
	color: #fff;
}
.menu .page-menu > li:hover {
	opacity: .6;
}
@media screen and (max-width: 767px) {
	.menu .page-menu > li {
		height: 3em;
		position: relative;
	}
	.menu .page-menu > li > a {
		width: 100%;
		padding-left: 5px;
		font-size: 14px;
		line-height: 16px;
		color: #fff;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%); /* Safari用 */
		transform: translate(-50%, -50%);
	}
	.menu .page-menu > li:after {
		right: 4px;
	}
}

/* .corner-menu */
.corner-menu {
	margin-bottom: 30px;
}
.corner-menu a {
	color: #000;
}
.corner-menu a:hover h4,
.corner-menu a:hover p {
	opacity: .6;
}
.corner-menu .corner-menu-image {
	width: 96%;
	margin: 0 auto;
}
.corner-menu .corner-menu-image img {
	-webkit-border-radius: 8px;
	   -moz-border-radius: 8px;
	        border-radius: 8px;
}
.corner-menu h4 {
	background-color: #A7E3DE;
	-webkit-border-radius: 8px 8px 0 0;
	   -moz-border-radius: 8px 8px 0 0;
	        border-radius: 8px 8px 0 0;
	margin: -45px auto 0;
	padding: 60px 30px 5px;
	font-weight: bold;
}
.corner-menu p {
	background-color: #A7E3DE;
	-webkit-border-radius: 0 0 8px 8px;
	   -moz-border-radius: 0 0 8px 8px;
	        border-radius: 0 0 8px 8px;
	margin: 0 auto;
	padding: 1px 30px 1em;
	position: relative;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	.corner-menu p:not(:target) { margin-top: -1px; } /* IE11 */
}

@media screen and (min-width: 768px) {
	.corner-menu h4,
	.corner-menu p {max-width: 475px;}
}
.corner-menu p:after {
	display: block;
	content: "\e080";
	background: url(/shogaku/lib/images/bg_corner-menu.png) no-repeat right bottom;
	border-radius: 0 0 8px 0;
	width: 45px;
	height: 45px;
	padding: 18px 4px 0 0;
	color: #fff;
	font-family: 'Glyphicons Halflings';
	text-align: right;
	position: absolute;
	bottom: 0;
	right: 0;
}


/* pricebox */
.price-box-container {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	-webkit-align-items: center;
	        align-items: center;
	width: 100%;
	max-width: 735px;
	margin: 0 auto;
}
.price-box-container > .price-box {
	-webkit-box-flex: 1;
	        box-flex: 1;
	width: 33.33333%;
	background: #d1f0ee;
	padding: 15px 0;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.price-box-container > .price-box {
		padding: 10px 0;
	}
}
.price-box:first-child {
	border-radius: 8px 0 0 8px;
}
.price-box:last-child {
	border-radius: 0 8px 8px 0;
}
.price-box:nth-child(2) {
	background: #fff;
	padding: 30px 0;
	border: solid 6px #d1f0ee;
	border-radius: 8px;
	position: relative;
}
@media screen and (max-width: 767px) {
	.price-box-container > .price-box:nth-child(2) {
		border-width: 3px;
		padding: 15px 0;
	}
}
.price-box.price:first-child {
	padding-bottom: 43px;
}
@media screen and (max-width: 767px) {
.price-box.price:first-child {
		padding-top: 15px;
		padding-bottom: 35px;
	}
}
.price-box dt {
	margin-bottom: 8px;
	color: #09b2a4;
	line-height: 1.3;
	text-align: center;
	vertical-align: middle;
}
.price-box.pay-every-month dt {
	line-height: 2.6;
}
@media screen and (min-width: 768px) {
	.price-box dt {
		font-size: 1.29em;
	}
}
.price-box .cmt {
	margin-left: 2px;
	font-size: 10px;
	font-weight: normal;
	vertical-align: text-top;
}
@media screen and (min-width: 768px) {
	.price-box .cmt {
		font-size: 12px;
	}
}
@media screen and (max-width: 767px) {
	.price-box dd > small {
		font-size: 10px;
	}
}
.price-box dd + dd {
	margin-top: 8px;
}
.price-box dd + dd > div {
	display: inline;
}
.price-box dd + dd > div.price-unit {
	margin-left: -3px;
}
.price-box .price-unit {
	font-size: 14px;
	line-height: 1.1;
}
@media screen and (max-width: 767px) {
	.price-box .price-unit {
		font-size: 12px;
	}
}
.price-box .text-lg {
	font-size: 2em;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.price-box .text-lg {
		font-size: 1.2em;
	}
}


/* layout block
----------------------------------------------*/
.block { display: block!important; }

/*[.page-catch-area]*/
.page-catch-area {
	position: relative;
	width: 100%;
	margin: 0 auto;
}
@media screen and (min-width: 768px) {
	.site-logo + .page-catch-area {
		margin-top: 2px;
	}
	.article-heading + .page-catch-area {
		margin-top: 15px;
	}
}
@media screen and (max-width: 767px) {
	.page-catch-area .container {
		padding-right: 0;
		padding-left: 0;
	}
	.page-catch-area.sp-no-fluid .container {
		padding-right: 15px;
		padding-left: 15px;
	}
}
@media screen and (min-width: 768px) {
	.page-catch-area.lower-page > .container {
		position: relative;
	}
	.page-catch-area.lower-page > .container > img {
		max-height: 200px;
	}
	.page-catch-area.lower-page > .container:before {
		content: "";
		display: block;
		width: 30%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#fafafa+0,fafafa+100&1+70,0+100 */
		background: -moz-linear-gradient(left,  rgba(250,250,250,1) 0%, rgba(250,250,250,1) 70%, rgba(250,250,250,0) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(left,  rgba(250,250,250,1) 0%,rgba(250,250,250,1) 70%,rgba(250,250,250,0) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to right,  rgba(250,250,250,1) 0%,rgba(250,250,250,1) 70%,rgba(250,250,250,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fafafa', endColorstr='#00fafafa',GradientType=1 ); /* IE6-9 */

	}
	.page-catch-area.lower-page > .container:after {
		content: "";
		display: block;
		width: 30%;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#fafafa+0,fafafa+100&0+0,1+30 */
		background: -moz-linear-gradient(left,  rgba(250,250,250,0) 0%, rgba(250,250,250,1) 30%, rgba(250,250,250,1) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(left,  rgba(250,250,250,0) 0%,rgba(250,250,250,1) 30%,rgba(250,250,250,1) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to right,  rgba(250,250,250,0) 0%,rgba(250,250,250,1) 30%,rgba(250,250,250,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fafafa', endColorstr='#fafafa',GradientType=1 ); /* IE6-9 */
	}
}
.page-catch-area + #apply {
	margin-top: 20px;
}
@media screen and (min-width: 768px) {
	.page-catch-area + #apply {
		margin-top: 40px;
	}
}


.bnr-area {
	margin: 0 auto 15px;
}
@media screen and (max-width: 767px) {
	.bnr-area.ele-top {
		margin-bottom: 0;
	}
	.bnr-area.ele-top > .container {
		padding-right: 0;
		padding-left: 0;
	}
}

@media screen and (max-width: 767px) {
	.bnr-area.mid-top {
		margin-bottom: 0;
	}
	.bnr-area.mid-top > .container {
		padding-right: 0;
		padding-left: 0;
	}
}

section {
	padding: 1px 0;
}
@media screen and (min-width: 768px) {
	section.pickup {
		margin-bottom: 140px;
	}
}
section > .container {
	padding-bottom: 1em;
}
@media screen and (min-width: 768px) {
	.container {
		width: 90%;
		max-width: 1000px;
		margin: 0 auto;
		padding-right: 0;
		padding-left: 0;
	}
	section section .container {
		width: 100%;
	}
	.container-fluid {
		width: 90%;
		max-width: 1000px;
		padding-right: 0;
		padding-left: 0;
	}
}
@media screen and (max-width: 767px) {
	section section > .container {
		padding-right: 0;
		padding-left: 0;
	}
	.container-fluid {
		padding-right: 0;
		padding-left: 0;
	}
}
.content {
	margin-bottom: 2em;
}
section section .content {
	margin: 1em auto;
}
@media screen and (min-width: 768px) {
	.content-inner {
		width: 100%;
		padding: 40px;
	}
}
@media screen and (max-width: 767px) {
	.content:last-child, [class*='col-'] > .content.last-child {
		margin-bottom: .5em;
	}
	.content, [class*='col-'] > .content {
		margin-bottom: 3.5em;
	}
	.container > .row > [class*='col-sm-'] + [class*='col-sm-'] {
		margin-top: 3.5em;
	}
}
.content figure > img {
	margin: 0 auto;
}

section.curriculum:before {
	content: "";
	display: block;
	width: 92%;
	margin: 0 auto;
	height: 1px;
	border-top: solid 8px #ccc;
}
@media screen and (min-width: 768px) {
	section.curriculum:before {
		width: 90%;
		max-width: 1000px;
	}
}

/* pickup */
section.pickup a {
	color: #000;
}
section.pickup a:hover {
	opacity: .6;
}
@media screen and (max-width: 767px) {
	section.pickup a {
		display: block;
	}
}
section.pickup:before {
	content: "";
	display: block;
	width: 92%;
	margin: 0 auto;
	height: 1px;
	border-top: solid 8px #19b6a9;
}
@media screen and (min-width: 768px) {
	section.pickup:before {
		width: 90%;
		max-width: 1000px;
	}
}
section.pickup .section-heading {
	color: #19b6a9;
}
section.pickup dl {
	display: table;
	width: 100%;
	margin: 0 auto 1em;
}
section.pickup dl dt {
	display: table-cell;
	width: 22%;
	max-width: 98px;
	vertical-align: top;
}
section.pickup dl dd {
	display: table-cell;
	width: 78%;
	padding-left: 1em;
	font-size: 14px;
	vertical-align: top;
}
section.pickup dl dd h4 {
	margin-bottom: .2em;
	font-size: 16px;
}
section.pickup dl dd p {
	font-size: 14px;
}
@media screen and (min-width: 768px) {
	section.pickup dl {
		display: inline-table;
		width: 46%;
		margin-right: 1.8%;
		margin-left: 1.8%;
		vertical-align: top;
	}
}
section.pickup hr{
	border-top: dotted 1px #ddd;
}

.sitemap-area li:before {
	color: #ed7019;
	content: "\e080";
	font-family: 'Glyphicons Halflings';
	margin-right: .3em;
	font-size: 12px;
}
.sitemap-area .course-logo img {
	width: 190px;
}
.sitemap-area .list-heading {
	margin-top: 2em;
}



/* header
----------------------------------------------*/
header {
	background-color: #fff;
	border-bottom: 3px solid #ccc;
	-webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
	   -moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
	        box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
	padding-top: 15px;
}
header > .container {
	position: relative;
	padding-right: 0;
	padding-left: 0;
}
@media screen and (min-width: 768px) {
	header>.container {
		height: 62px;
	}
	header .site-logo.ele {
		width: 190px;
		float: left;
	}
	header .site-logo.ele img {
		width: 190px;
		height: 50px;
	}
	header .site-logo.mid {
		width: 170px;
		float: left;
	}
	header .site-logo.mid img {
		width: 170px;
		height: 50px;
	}
}
@media screen and (min-width: 768px) {
	header .site-logo.others {
		float: left;
	}
	header .site-logo.others > div {
		float: left;
	}
	header .site-logo.others > div:last-child {
		margin: 0 0 0 14px;
	}
}
@media screen and (max-width: 767px) {
	header .site-logo.others {
		width: 90%;
		margin: 10px auto;
	}
	header .site-logo.others > div {
		text-align: center;
	}
}
header .site-logo.others > div > img {
	width: 255px;
	height: 50px;
}

@media screen and (min-width: 768px) and (max-width: 1060px) {
	header>.container {
		height: auto;
	}
	header .nav-change-grade {
		clear: both;
		padding-top: 10px;
		position: relative!important;
		right: auto!important;
	}
	header .nav-change-grade ul {
		margin: 0 auto!important;
	}
	header .nav-change-course {
		clear: both;
		position: relative!important;
		top: 0!important;
		right: 0!important;
		float: right;
	}
	header .nav-change-course ul {
		margin: 5px auto!important;
	}
}
@media screen and (max-width: 767px) {
	header {
		border-bottom: none;
		padding-top: 0;
	}
	header + .site-logo.ele {
		border-bottom: solid 1px #ccc;
		/* margin: 50px 0 0; */
		padding: 5px 12px;
		font-size: 12px;
		font-weight: bold;
	}
	header + .site-logo.ele > div {
		display: table-cell;
		vertical-align: middle;
	}
	header + .site-logo.ele > div:first-child {
		width: 60%;
		padding-right: 20px;
	}
}
@media screen and (max-width: 360px) {
	header + .site-logo.ele {
		padding-right: 10px;
		padding-left: 10px;
		font-size: 12px;
	}
	header + .site-logo.ele > div:first-child {
		width: 54%;
		padding-right: 20px;
	}
}

@media screen and (max-width: 767px) {
	header .sp-nav h1.site-logo img {
		width: auto;
		height: 30px;
	}
	header .sp-nav h1.site-logo > span {
		display: none;
	}
	header .sp-nav .nav {
		margin-top: 0;
	}
	header .sp-nav .nav > li {
		border-bottom: solid 1px #c8c8c8;
	}
	header .sp-nav .nav > li:first-child {
		border-top: solid 1px #c8c8c8;
	}
	header .sp-nav .nav a {
		color: #000;
	}
	header .sp-nav .nav > li > a:hover,
	header .sp-nav .nav > li > a:focus {
		background-color: transparent;
	}
	header .sp-nav .nav > li > a:after {
		color: #ed7019;
		content: "\e080";
		float: right;
		font-family: 'Glyphicons Halflings';
	}
	header .sp-nav .nav > li > a[aria-expanded="true"]:after {
		content: "\e114";
	}
	header .sp-nav .nav > li > ul {
/*		background: #AFE6E1;*/
		border-top: solid 1px #c8c8c8;
		margin-top: 0;
		margin-bottom: 0;
	}
	header .sp-nav .nav > li > ul > li {
		border-bottom: solid 1px #c8c8c8;
	}
	header .sp-nav .nav > li > ul > li:last-child {
		border-bottom: none;
	}
	header .sp-nav .nav > li > ul > li > a {
		position: relative;
		display: block;
		padding: 10px 15px 10px 30px;
	}
	header .sp-nav .nav > li > ul > li > a:after {
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
		color: #19B6A9;
		content: "\e080";
		font-family: 'Glyphicons Halflings';
	}
	header .sp-nav .nav > li > ul > li > a span {
		display: block;
		margin-top: 5px;
		color: #898989;
	}
	/* 画像bnr */
	.btn-img-bnr::after {
		content: "" !important;
	}
	.btn-img-bnr > img {
		width: 100%;
	}

	.nav-change-grade {
		margin-bottom: 0;
	}
  .site-logo + .nav-change-grade.list-unstyled {
    border-top: solid 1px #c8c8c8;
  }
	.nav-change-grade li {
		border-right: solid 1px #c8c8c8;
		border-bottom: solid 1px #c8c8c8;
		width: 33.33333333%;
		margin-bottom: 0;
		float: left;
	}
	.nav-change-grade.without-new1st li.btn-grade-1st,
	.nav-change-grade.without-new1st li.btn-grade-2nd,
	.nav-change-grade.without-new1st li.btn-grade-3rd {
		border-top: solid 1px #c8c8c8;
	}
	.nav-change-grade li.btn-grade-new1st,
	.nav-change-grade li.btn-grade-3rd,
	.nav-change-grade li.btn-grade-6th,
	.nav-change-grade li.btn-grade-nencho {
		border-right: none;
	}
	.nav-change-grade li.btn-grade-new1st {
		width: 100%;
		float: none;
	}
	.site-logo + .nav-change-grade li.btn-grade-new1st {
		border-top: solid 1px #c8c8c8;
	}
	.nav-change-grade li > a {
		display: block;
		font-size: 16px;
		font-weight: bold;
		padding: 7px 0 7px 15px;
	}

	.nav-change-grade.ele li > a > i {
		font-size: 24px;
		vertical-align: -1px;
	}
	.nav-change-grade.ele li > a {
			padding-left: 42px;/* 背景ベタ */
		font-family: 'GenJyuuGothic';
		transform: rotate(0.1deg);
	}
	/* [小学：学年別] */
	.nav-change-grade.ele li.btn-grade-new1st > a { letter-spacing: -1px; }
	.nav-change-grade.ele li.btn-grade-1st > a    { letter-spacing: -3px; }
	.nav-change-grade.ele li.btn-grade-new1st > a { color: #77caf5;}
	.nav-change-grade.ele li.btn-grade-1st > a    { color: #f05096;}
	.nav-change-grade.ele li.btn-grade-2nd > a    { color: #f06e00;}
	.nav-change-grade.ele li.btn-grade-3rd > a    { color: #faaf05;}
	.nav-change-grade.ele li.btn-grade-4th > a    { color: #14aa32;}
	.nav-change-grade.ele li.btn-grade-5th > a    { color: #a53c96;}
	.nav-change-grade.ele li.btn-grade-6th > a    { color: #0082c8;}
	/* 「4月から」表記 */
	/* .nav-change-grade.ele li > a {color: #fff}
	.nav-change-grade.ele li.btn-grade-1st {background-color: #f05096;border-color: #fff;border-width: 2px;}
	.nav-change-grade.ele li.btn-grade-2nd {background-color: #f06e00;border-color: #fff;border-width: 2px;}
	.nav-change-grade.ele li.btn-grade-3rd {background-color: #faaf05;border-color: #fff;border-width: 2px;}
	.nav-change-grade.ele li.btn-grade-4th {background-color: #14aa32;border-color: #fff;border-width: 2px;}
	.nav-change-grade.ele li.btn-grade-5th {background-color: #a53c96;border-color: #fff;border-width: 2px;}
	.nav-change-grade.ele li.btn-grade-6th {background-color: #0082c8;border-color: #fff;border-width: 2px;} */

	.nav-change-grade.ele li > a:before {
		content: "";
		position: absolute;
    top: 4px;
    bottom: 0;
    left: 8px;
    width: 28px;
    height: 28px;
    margin: auto 0;
    background-repeat: no-repeat;
    background-size: contain;
	}
	.nav-change-grade.ele li.btn-grade-new1st > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-new1st.svg); }
	.nav-change-grade.ele li.btn-grade-1st > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-1st.svg); }
	.nav-change-grade.ele li.btn-grade-2nd > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-2nd.svg); }
	.nav-change-grade.ele li.btn-grade-3rd > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-3rd.svg); }
	.nav-change-grade.ele li.btn-grade-4th > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-4th.svg); }
	.nav-change-grade.ele li.btn-grade-5th > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-5th.svg); }
	.nav-change-grade.ele li.btn-grade-6th > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-6th.svg); }

/* 「4月から」表記 */
	/* .nav-change-grade.ele li.btn-grade-1st > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-1st_20190404.svg); }
	.nav-change-grade.ele li.btn-grade-2nd > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-2nd_20190404.svg); }
	.nav-change-grade.ele li.btn-grade-3rd > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-3rd_20190404.svg); }
	.nav-change-grade.ele li.btn-grade-4th > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-4th_20190404.svg); }
	.nav-change-grade.ele li.btn-grade-5th > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-5th_20190404.svg); }
	.nav-change-grade.ele li.btn-grade-6th > a:before    { background-image: url(/shogaku/lib/images/icon_pikkari_grade-6th_20190404.svg); } */

	/* [中学:学年別] */
	.nav-change-grade.mid{
		display: flex;
		flex-wrap: wrap;
	}
	.nav-change-grade.mid li > a > i {
		/* font-size: 21px; */
		font-size: 1.5em;
		vertical-align: -1px;
	}
	.nav-change-grade.mid li > a {
		/* font-size: 14px; */
		font-size: 3.5vw;
		padding: 9px 0 9px 10px;
		text-align: center;
	}
	.nav-change-grade.mid li.btn-grade-new1st > a { color: #5B8EA9; font-size: 16px;}
	.nav-change-grade.mid li.btn-grade-1st > a,
	.nav-change-grade.mid li.btn-grade-1st > a::after { color: #728cba;}
	.nav-change-grade.mid li.btn-grade-2nd > a,
	.nav-change-grade.mid li.btn-grade-2nd > a::after { color: #df7f3a;}
	.nav-change-grade.mid li.btn-grade-3rd > a,
	.nav-change-grade.mid li.btn-grade-3rd > a::after { color: #6fb16b;}

	header .bnr-smile {
		/*display: none;*/
		border: 1px solid #c8c8c8;
		margin: 10px 0 0;
	}

	/* [幼児] */
	.nav-change-grade li.btn-grade-nenchu,.nav-change-grade li.btn-grade-nencho {
		width: 50%;
	}
	.nav-change-grade.pre li > a > i {
		font-size: 21px;
		vertical-align: -1px;
	}
	.nav-change-grade.pre li > a {
		font-size: 16px;
		padding: 9px 10px;
	}
	.nav-change-grade.pre li.btn-grade-nenchu > a    { color: #F5AA10;}
	.nav-change-grade.pre li.btn-grade-nencho > a    { color: #1C8DCB;}

	header .bnr-smile {
		/*display: none;*/
		border: 1px solid #c8c8c8;
		margin: 10px 0 0;
	}


}



@media screen and (min-width: 768px) {
	header .btn-login-ele,
	header .btn-login-mid {
		width: 180px;
	}
	header .seatch-form {
		width: 220px;
		position: absolute;
		top: 0;
		right: 200px;
	}
	header .seatch-form.others {
		top: 12px;
		right: 0;
	}

	header .nav-change-course {
		position: absolute;
		top: 15px;
		right: 180px;
	}
	header .nav-change-course.ele, header .nav-change-course.mid {
		top: 5px;
		/* right: 420px; */
	}
	header .nav-change-course li {
		display: inline-block;
		font-size: 13px;
		margin-right: 1.8em;
	}
	header .nav-change-course li:before {
		color: #ed7019;
		content: "\e080";
		font-family: 'Glyphicons Halflings';
		margin-right: .3em;
		vertical-align: -2px;
	}
	header .nav-change-course li a {
		color: #000;
	}

	header .nav-change-grade {
		position: absolute;
		right: 200px;
		bottom: -3px;
	}
	header .nav-change-grade ul {
		display: table;
		margin: 0;
	}
	header .nav-change-grade li {
		display: table-cell;
		vertical-align: bottom;
	}
	/* [小学.ele] */
	header .nav-change-grade.ele li:not(.btn-grade-new1st) {
		width: 80px;
		height: 30px;
	}
	header .nav-change-grade.ele li.btn-grade-new1st {
		width: 92px;
	}
	/* [中学.mid] */
	header .nav-change-grade.mid li {
		width: 120px;
		height: 30px;
	}


	header .nav-change-grade li > a {
		border-radius: 4px 4px 0 0;
		border-bottom: solid 3px #666;
		display: block;
		padding: 1px 0 0;
		font-size: 12px;
		font-weight: bold;
		line-height: 24px;
		text-align: center;
	}
	/* [小学.ele] */
	.nav-change-grade.ele li > a {
		font-family: 'GenJyuuGothic';
		transform: rotate(0.1deg);
	}


	header .nav-change-grade li a:hover,
	header .nav-change-grade li a.is-active {
		background-color: #efefef;
		text-decoration: none;
		color: #fff!important;
	}
	.nav-change-grade li a > i {
		font-size: 20px;
		vertical-align: -1px;
	}
	/* [色指定：小学] */
	header .nav-change-grade.ele li.btn-grade-new1st > a { border-color: #77caf5; color: #77caf5;}
	header .nav-change-grade.ele li.btn-grade-1st > a    { border-color: #f05096; color: #f05096;}
	header .nav-change-grade.ele li.btn-grade-2nd > a    { border-color: #f06e00; color: #f06e00;}
	header .nav-change-grade.ele li.btn-grade-3rd > a    { border-color: #faaf05; color: #faaf05;}
	header .nav-change-grade.ele li.btn-grade-4th > a    { border-color: #14aa32; color: #14aa32;}
	header .nav-change-grade.ele li.btn-grade-5th > a    { border-color: #a53c96; color: #a53c96;}
	header .nav-change-grade.ele li.btn-grade-6th > a    { border-color: #0082c8; color: #0082c8;}
	header .nav-change-grade.ele li.btn-grade-new1st > a:hover,
	header .nav-change-grade.ele li.btn-grade-new1st > a.is-active { background-color: #77caf5;}
	header .nav-change-grade.ele li.btn-grade-1st > a:hover,
	header .nav-change-grade.ele li.btn-grade-1st > a.is-active    { background-color: #f05096;}
	header .nav-change-grade.ele li.btn-grade-2nd > a:hover,
	header .nav-change-grade.ele li.btn-grade-2nd > a.is-active    { background-color: #f06e00;}
	header .nav-change-grade.ele li.btn-grade-3rd > a:hover,
	header .nav-change-grade.ele li.btn-grade-3rd > a.is-active    { background-color: #faaf05;}
	header .nav-change-grade.ele li.btn-grade-4th > a:hover,
	header .nav-change-grade.ele li.btn-grade-4th > a.is-active    { background-color: #14aa32;}
	header .nav-change-grade.ele li.btn-grade-5th > a:hover,
	header .nav-change-grade.ele li.btn-grade-5th > a.is-active    { background-color: #a53c96;}
	header .nav-change-grade.ele li.btn-grade-6th > a:hover,
	header .nav-change-grade.ele li.btn-grade-6th > a.is-active    { background-color: #0082c8;}
	/* [色指定：中学] */
	header .nav-change-grade.mid li.btn-grade-new1st > a { border-color: #86a4b3; color: #86a4b3; font-size: 14px; line-height: 26px; }
	header .nav-change-grade.mid li.btn-grade-1st > a    { border-color: #728cba; color: #728cba; }
	header .nav-change-grade.mid li.btn-grade-2nd > a    { border-color: #df7f3a; color: #df7f3a; }
	header .nav-change-grade.mid li.btn-grade-3rd > a    { border-color: #6fb16b; color: #6fb16b; }
	header .nav-change-grade.mid li.btn-grade-new1st > a:hover,
	header .nav-change-grade.mid li.btn-grade-new1st > a.is-active { background-color: #86a4b3; }
	header .nav-change-grade.mid li.btn-grade-1st > a:hover,
	header .nav-change-grade.mid li.btn-grade-1st > a.is-active    { background-color: #728cba; }
	header .nav-change-grade.mid li.btn-grade-2nd > a:hover,
	header .nav-change-grade.mid li.btn-grade-2nd > a.is-active    { background-color: #df7f3a; }
	header .nav-change-grade.mid li.btn-grade-3rd > a:hover,
	header .nav-change-grade.mid li.btn-grade-3rd > a.is-active    { background-color: #6fb16b; }
}

@media all and (-ms-high-contrast:none) {
	header .nav-change-grade.mid li > a { line-height: 27px; }
	header .nav-change-grade.mid li a > i { vertical-align: -3px; }
}

@media screen and (max-width: 767px) {
	header .sp-nav > .btn-toggle {
		background-color: rgba(255,255,255,.6);
		position: fixed;
		top: 0;
		right: 0;
		z-index: 999;
	}
	header .sp-nav > .btn-toggle a:focus {
		outline: 0;
	}
	header .sp-nav > .btn-toggle a {
		display: block;
		padding: 10px;
		color: #000;
	}
	header .sp-nav > .btn-toggle a:focus {
		outline: 0;
	}
}

/* footer
----------------------------------------------*/
footer {
	background-color: #333;
	color: #fff;
	font-size: 12px;
	padding-bottom: 20px;
}
footer a, footer a:hover, footer a:visited {
	color: #fff;
}
footer .copyright {
	text-align: center;
}
footer .copyright .justsystems-logo {
	display: block;
	width: 196px;
	height: auto;
	margin: 0 auto 5px;
}
@media screen and (max-width: 767px) {
	footer.has-btn-area {
		padding-bottom: 60px;
	}
	footer ul {
		margin-bottom: 15px;
	}
	footer ul li {
		border-bottom: 1px solid #000;
		margin-bottom: 0;
	}
	footer ul li a {
		display: block;
		padding: 10px 15px;
	}
	footer ul li a:after {
		content: "\e080";
		float: right;
		font-family: 'Glyphicons Halflings';
	}
}
@media screen and (min-width: 768px) {
	footer {
		padding-top: 20px;
		text-align: center;
	}
	footer.has-btn-area {
		margin-bottom: 61px;
	}
	footer ul {
		margin-bottom: 20px;
	}
	footer ul li {
		display: inline-block;
		padding: 0 15px;
	}
	footer ul li .glyphicon {
		font-size: 0.8em;
		margin-left: 5px;
		vertical-align: 1px;
	}
}


/* .sitemap
----------------------------------------------*/
.sitemap {
	border-top: 2px solid #5C6166;
	background-color: #f7f7f7;
	padding: 20px 0 50px;
}
.sitemap.ele { border-color: #d70c25; }
.sitemap.mid { border-color: #003585; }
.sitemap .site-logo a {
	color: #000;
}

@media screen and (min-width: 768px) {
	.sitemap .site-logo {
		width: 300px;
		margin: 0;
	}
	.sitemap .site-logo:after {
		content: "";
		display: block;
		clear: both;
	}
	.sitemap .site-logo img {
		max-width: 160px;
		height: 42px;
		margin-right: 10px;
		float: left;
	}
	.sitemap .site-logo span {
		padding-top: 8px;
		font-size: 14px;
		font-weight: bold;
		line-height: 16px;
		float: left;
	}
}

@media screen and (max-width: 767px) {
	.sitemap                   { padding: 0; }
	.sitemap.ele, .sitemap.mid { padding-bottom: 10px; }
	.sitemap .site-logo {
		margin: 0;
		padding: 10px;
	}
	.sitemap .site-logo:after {
		content: "";
		display: block;
		clear: both;
	}
	.sitemap .site-logo img {
		max-width: 54%;
		margin-right: 10px;
		float: left;
	}
	.sitemap .site-logo span {
		padding-top: 8px;
		font-size: 14px;
		font-weight: bold;
		line-height: 16px;
		float: left;
	}
	.sitemap .nav {
		border-top: solid 1px #c8c8c8;
		margin: 0;
	}
	.sitemap .nav > li {
		border-bottom: solid 1px #c8c8c8;
	}
	.sitemap .nav > li > a {
		padding-top: 15px;
		padding-bottom: 15px;
		color: #000;
	}
	.sitemap .nav > li > a:hover,
	.sitemap .nav > li > a:focus {
		background-color: transparent;
	}
	.sitemap .nav > li > a:after {
		color: #ed7019;
		content: "\e080";
		float: right;
		font-family: 'Glyphicons Halflings';
	}
	.sitemap .nav > li > a[aria-expanded="true"]:after {
		content: "\e114";
	}
	.sitemap .nav > li > ul {
/*		background: #AFE6E1;*/
		border-top: solid 1px #c8c8c8;
		margin-top: 0;
		margin-bottom: 0;
	}
	.sitemap .nav > li > ul > li {
		border-bottom: solid 1px #c8c8c8;
	}
	.sitemap .nav > li > ul > li:last-child {
		border-bottom: none;
	}
	.sitemap .nav > li > ul > li > a {
		position: relative;
		display: block;
		padding: 15px 15px 15px 30px;
		color: #000;
	}
	.sitemap .nav > li > ul > li > a:after {
		position: absolute;
		top: 50%;
		right: 15px;
		transform: translateY(-50%);
		color: #19B6A9;
		content: "\e080";
		float: right;
		font-family: 'Glyphicons Halflings';
	}
	.sitemap .nav > li > ul > li > a span {
		display: block;
		margin-top: 5px;
		color: #898989;
}
	.sitemap .login-area {
		margin: 0 10px;
	}
	.sitemap .bnr-smile {
		background-color: #fff;
		border: 1px solid #c8c8c8;
		margin: 10px 10px 0;
	}
	.bnr-smile img {
		width: 153px;
		height: auto;
		margin: 7px auto;
	}

	/* 20190408 共通footer */
	.common-map {
		padding: 0;
	}
	.common-map .site-logo {
		margin-bottom: 0;
		padding: 0;
		background: #FFF;
	}
	.common-map > div > section {
		padding: 0;
	}
	.common-map .site-logo > a {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 10px 15px;
	}
	.common-map .site-logo img {
		width: auto;
		margin-right: 0;
		max-height: 24px;
		float: inherit;
	}
	.common-map .site-logo span {
		padding-top: 0;
		font-size: 16px;
		font-weight: bold;
		float: inherit;
	}

	.common-map .nav-change-grade {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.common-map .nav-change-grade li {
		position: relative;
		width: 50%;
		float: inherit;
		border-right: none;
	}
	.common-map .nav-change-grade li:nth-child(even) {
		border-right: 1px solid #c8c8c8;
	}
	.common-map .nav-change-grade li.btn-home {
		width: 100%;
	}
	.common-map .nav-change-grade li > a {
		position: relative;
		padding: 10px 15px;
		font-size: 12px;
		font-weight: normal;
		color: #333;
	}
	.common-map .nav-change-grade li > a:active {
		background: #ebebeb;
	}
	.common-map .nav-change-grade li > a::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		width: .6em;
		height: .6em;
		margin: auto 0;
		border-top: 1px solid #808080;
		border-right: 1px solid #808080;
		transform: rotate(45deg);
	}
	.common-map .nav-change-grade.list-odd li:last-child::before {
		content: "";
		position: absolute;
		bottom: -1px;
		right: -100%;
		width: 100%;
		border-bottom: 1px solid #c8c8c8;
	}
}

@media screen and (min-width: 768px) {
	.sitemap h2 {
		font-size: 13px;
		font-weight: bold;
		margin: 0 0 8px;
	}
	.sitemap .sitemap-group:before {
		content: "";
		display: block;
		/*width: 97.6%;
		max-width: 1000px;*/
		height: 1px;
		margin: 20px 15px;
		border-bottom: 1px solid #c8c8c8;
	}
	.sitemap-ele .sitemap-group:before,
	.sitemap-mid .sitemap-group:before { width: 97%; }

	.sitemap ul li {
		margin-bottom: 8px;
		text-align: left;
	}
	.sitemap ul li a {
		color: #000;
		font-size: 13px;
	}
	.sitemap ul li a:hover {
		text-decoration: underline;
	}
	.sitemap ul li:before {
		color: #ed7019;
		content: "\e080";
		font-family: 'Glyphicons Halflings';
		margin-right: .3em;
		font-size: 12px;
	}
	.sitemap ul > li > ul {
		margin-left: 21px;
	}
	.sitemap ul > li > ul > li:before {
		display: none;
	}

	.sitemap .bnr {
		background-color: #fff;
		border: solid 1px #ccc;
		padding: 12px 0 10px;
		margin-bottom: 10px;
	}
	.sitemap .bnr:hover {
		opacity: .7;
	}
	.sitemap .bnr > div {
		width: 90%;
		max-width: 190px;
		max-height: 50px;
		margin: 0 auto 12px;
	}
	.sitemap .bnr > div > img {
		max-height: 50px;
	}
	.sitemap .bnr > p {
		margin: 0 8px;
		font-size: 11px;
		text-align: center;
		color: #000;
	}
}

/* .container-form
----------------------------------------------*/
.container-form .errorMessage {
	margin: 0 .5em;
	color: #F20017;
	font-weight: bold;
}
.container-form dl > dd {
	font-size: 16px;
}
.container-form dl {
	border: solid 1px #ddd;
	width: 100%;
	margin: -1px auto 0;
}
.container-form dl:first-child {
	margin-top: 1em;
}
.container-form dl:last-child {
	margin-bottom: 1.5em;
}
.container-form dl > dt {
	background-color: #edf4f7;
	padding: 8px;
	color: #666;
	font-weight: bold;
}
.container-form dl > dd {
	padding: 12px 8px;
}
.container-form p {
	margin-bottom: .5em;
}
.container-form .form-control {
	display: inline-block;
	padding: 3px;
	color: #000;
}

.container-form .form-control:-ms-input-placeholder{
	color: #c8c8c8;
}

.container-form .form-control:-moz-placeholder{
	color: #c8c8c8;
}

.container-form .form-control:-webkit-input-placeholder{
	color: #c8c8c8;
}


@media screen and (min-width: 768px) {
	.container-form select.form-control {
		width: 50%;
		padding: 3px 2px;
	}
}
.container-form .form-item {
	margin-bottom: 1em;
}
.container-form .add-child {
	border-top: dotted 1px #ccc;
	border-bottom: dotted 1px #ccc;
	clear: both;
	margin: 1em 0;
	padding: 1em 0;
	text-align: center;
}
.container-form .add-child strong {
	color: #f05096;
}
@media screen and (min-width: 768px) {
	.container-form dl {
		display: table;
		border: solid 1px #ddd;
		width: 100%;
	}
	.container-form dl > dt {
		display: table-cell;
		width: 30%;
		max-width: 260px;
		padding: 15px;
		vertical-align: top;
	}
	.container-form dl > dd {
		display: table-cell;
		padding: 15px;
		vertical-align: top;
	}
}
.container-form dd input[type="text"] {
	width: 100%;
}
.container-form dd label + input[type="text"] {
	width: 80%;
}
.container-form label {
	font-weight: normal;
}
.container-form dd div.col-sm-6 label {
	width: 2.2em;
	text-align: center;
}
.container-form dd small {
	display: block;
	font-size: 14px;
	color: #666;
}
.container-form dd .errorMessage + div,
.container-form dd .errorMessage + p {
	margin-top: .8em
}
@media screen and (max-width: 767px) {
	.container-form dd select,
	.container-form dd input[type="text"] {
		font-size: 16px;
	}
	.container-form dd div[class^="col-sm-"] {
		margin-bottom: .8em;
	}
	.container-form dd div[class^="col-sm-"]:last-child {
		margin-bottom: .2em;
	}
}
.container-form .form-control.yy { width: 5em; }
.container-form .form-control.mm { width: 4em; margin-left: 8px; }
.container-form .form-control.dd { width: 4em; margin-left: 8px; }
.container-form .form-control.zip { width: 4em; }
.container-form .form-control.zip + .btn { margin-left: 8px; vertical-align: 2px; }
.container-form .form-control.tel { width: 6em; }
.container-form .form-control.tel.tel01 { width: 4em; }
.container-form .form-control.school-name { width: 80%; max-width: 20em; }
.container-form .form-control.code { width: 10em; }
@media screen and (max-width: 320px) {
	.container-form .form-control.mm { width: 3.4em; margin-left: 4px; }
	.container-form .form-control.dd { width: 3.4em; margin-left: 4px; }
	.container-form .form-control.tel { width: 4em; }
	.container-form .form-control.tel.tel01 { width: 3em; }
}

/* Date Start/Expire
----------------------------------------------*/
*[data-startdate]:not(.in-the-middle),*[data-expiredate]:not(.in-the-middle){
	display: none;
}


/* CV Control */
body[data-szcv="req_info"] a.btn-agreement-ele,
body[data-szcv="req_info"] a.btn-agreement-mid{
	display: none;
	margin: 0;
}
body[data-szcv="req_info"] a.btn-request-ele,
body[data-szcv="req_info"] a.btn-request-mid{
	width: 92%;// 46%の倍
	max-width: 720px;// 360pxの倍
}

body[data-szcv="contract"] a.btn-agreement-ele,
body[data-szcv="contract"] a.btn-agreement-mid{
	width: 92%;// 46%の倍
	max-width: 720px;// 360pxの倍
}

body[data-szcv="contract"] a.btn-request-ele,
body[data-szcv="contract"] a.btn-request-mid{
	display: none;
	margin: 0;
}

body[data-szcv="contract"] a[href*='/apply/req_info/']{
	display: none;
	margin: 0;
}

body[data-szcv="contract"] #apply{
	display: none;
}


/* 20220217 add */
.bnr-cam img,
.c-banner img,
.c-img a img,
.bnr-taikenkai img,
.c-container--small a img{
	box-shadow: 0px 2px 4px -2px rgba(0, 0, 0, 0.5);
	border-radius: 15px;
}
@media (max-width: 767px){
	.bnr-cam img,
	.c-banner img,
	.c-img a img,
	.bnr-taikenkai img,
	.c-container--small a img{
		border-radius: 3vw;
	}
}
.l-header__btn .c-btn-login{
	color: #fff!important;
}