@charset "UTF-8";
html, body, div, span, h1, h2, h3, h4, h5, h6, p, del, em, img, small, strong, sub, sup, b, i, dl, dt, dd, ol, ul, li, table, caption, tbody, tfoot, thead, tr, th, td, footer, header, menu, nav, section, figure, form, input, select, textarea {
		margin: 0;
		padding: 0;
		border: 0;
		outline: 0;
		font-size: 100%;
		font-weight: normal;
		font-style: normal;
		vertical-align: baseline;
		background: transparent;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
}

body {
		line-height: 1;
}

footer, header, nav, section {
		display: block;
}

nav ul, nav ol {
		list-style: none;
}

nav a, .nav a {
		display: block;
}

a {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		vertical-align: baseline;
		background: transparent;
}

table {
		border-collapse: collapse;
		border-spacing: 0;
}

hr {
		display: block;
		height: 1px;
		border: 0;
		border-top: 1px solid #ccc;
		margin: 1em 0;
		padding: 0;
}

strong {
		font-weight: bold;
}

img {
		display: block;
		max-width: 100%;
}

html {
		position: relative;
		min-height: 100%;
		height: 100%;
		overflow-y: scroll;
}

body {
		height: 100%;
		color: #000;
		background: #FFF;
}

html, body, button, input, select, textarea {
		color: #000;
		font: normal 15px/1.8 'Verdana','Hiragino Kaku Gothic ProN','游ゴシック', 'YuGothic','メイリオ','Meiryo',sans-serif;
}

a {
		color: #34AC37;
		outline: none;
		text-decoration: none;
}

a:hover, a:focus, a:active {
		color: #69A644;
		outline: none;
}

.eng, #simple-ft .school-info .address-box h2,
#simple-ft .school-info .sns-box h2 {
		font-family: 'Roboto Condensed', sans-serif;
}

h1, h2, h3, h4 {
		line-height: 1.1;
}

h2.eng, #simple-ft .school-info .address-box h2,
#simple-ft .school-info .sns-box h2 {
		margin: 40px 0 0 0;
		color: #69A644;
		font-size: 50px;
		font-weight: 700;
}

h3.eng {
		color: #231815;
		font-size: 30px;
		font-weight: 700;
}

h5 {
		font-size: 1.06rem;
		font-weight: normal;
		line-height: 1.4;
}

@media screen and (min-width: 1025px) {
		h5 {
				font-size: 1.3rem;
				line-height: 1.3;
		}
}

@media screen and (max-width: 544px) {
		br.pc {
				display: none;
		}
}

@media screen and (min-width: 1025px) {
		br.sp {
				display: none;
		}
}

.well {
		padding: 10px 15px;
		border: 1px solid #DEDEDE;
		border-radius: 5px;
}

@media screen and (min-width: 1025px) {
		.well {
				padding: 20px 30px;
		}
}

/* Base Layout */
body#fixed-head {
		padding-top: 65px;
}

@media screen and (min-width: 1025px) {
		body#fixed-head {
				padding-top: 90px;
		}
}

@media screen and (min-width: 1025px) {
		body#fixed-head .wrap {
				margin-top: -90px;
				padding-top: 90px;
		}
}

/* Header */
header#main-header {
		width: 100%;
		height: 60px;
		background: #FFF;
		border-bottom: 1px solid #999;
		position: relative;
		overflow: hidden;
}

header#main-header #hd-logo {
		width: auto;
		height: 40px;
		position: absolute;
		top: 10px;
		left: 0.5rem;
}

@media screen and (min-width: 1025px) {
		header#main-header #hd-logo {
				left: 30px;
		}
}

header#main-header #hd-logo-tight {
		width: auto;
		height: 40px;
}

header#main-header #panel-btn {
		display: inline-block;
		position: relative;
		width: 40px;
		height: 40px;
		float: right;
		border-radius: 50%;
		background: #231815;
		z-index: 999;
		margin: 10px 10px 0 auto;
}

@media screen and (min-width: 1025px) {
		header#main-header #panel-btn {
				margin: 10px 15px 0 auto;
		}
}

header#main-header #panel-btn:focus, header#main-header #panel-btn:hover {
		background: rgba(35, 24, 21, 0.7);
}

header#main-header #panel-btn span {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 14px;
		height: 2px;
		margin: -1px 0 0 -7px;
		background: #FFF;
		transition: .2s;
}

header#main-header #panel-btn span::before, header#main-header #panel-btn span::after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 14px;
		height: 2px;
		background: #FFF;
		transition: .3s;
}

header#main-header #panel-btn span::before {
		margin-top: -6px;
}

header#main-header #panel-btn span::after {
		margin-top: 4px;
}

header#main-header #panel-btn span.close {
		background: transparent;
}

header#main-header #panel-btn span.close::before, header#main-header #panel-btn span.close::after {
		margin-top: 0;
}

header#main-header #panel-btn span.close::before {
		transform: rotate(-45deg);
}

header#main-header #panel-btn span.close::after {
		transform: rotate(-135deg);
}

header#main-header #panel-btn.close {
		background: #69A644;
}

header#main-header #panel-btn.close span {
		background: transparent;
}

header#main-header #panel-btn.close span::before, header#main-header #panel-btn.close span::after {
		margin-top: 0;
}

header#main-header #panel-btn.close span::before {
		transform: rotate(-45deg);
}

header#main-header #panel-btn.close span::after {
		transform: rotate(-135deg);
}

#panel {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		right: -100%;
		padding: 40px 70px 0 0;
		color: #FFF;
		background: #231815;
		z-index: 998;
}

@media screen and (min-width: 1025px) {
		#panel {
				width: 400px;
				right: -400px;
		}
}

#panel ul li a {
		display: block;
		color: #FFF;
		background: #231815;
		transition: .3s;
		cursor: pointer;
		padding: 7px 15px;
}

#panel ul li a:focus, #panel ul li a:hover {
		color: #FFF;
		background: #C1402D;
}

#panel ul li ul li a {
		padding-left: 30px;
}

/* Main */
#status {
		padding: 1px 0;
		color: #FFF;
		background: #231815;
}

@media screen and (min-width: 1025px) {
		#status {
				padding: 5px 0;
		}
}

#status span {
		font-size: 1rem;
		line-height: 1;
}

@media screen and (min-width: 1025px) {
		#status span {
				font-size: 1.2rem;
		}
}

#kasou-hero {
		padding: 10px 0;
		background: #69A644;
}

@media screen and (min-width: 1025px) {
		#kasou-hero {
				padding: 40px 0;
		}
}

#kasou-hero h1 {
		margin: 0;
		color: #FFF;
		font-size: 1.4rem;
		font-family: 'Noto Sans JP', sans-serif;
		font-style: normal;
		font-weight: 700;
}

@media screen and (min-width: 1025px) {
		#kasou-hero h1 {
				font-size: 1.9rem;
		}
}

#kasou-hero h1.eng {
		font-size: 1.7rem;
		font-weight: 700;
}

@media screen and (min-width: 1025px) {
		#kasou-hero h1.eng {
				font-size: 3rem;
		}
}

.page-nav {
		margin: 40px 0;
}

@media screen and (min-width: 1025px) {
		.page-nav {
				text-align: right;
		}
}

.page-nav li {
		list-style: none;
}

@media screen and (min-width: 1025px) {
		.page-nav li {
				display: inline-block;
				margin-right: 20px;
		}
}

.page-nav li a {
		color: #231815;
}

.page-nav li a:focus, .page-nav li a:hover {
		text-decoration: underline;
}

.side-bar {
		padding: 0;
		background: #EEE;
}

.side-bar ul li a {
		padding: 10px 5px 10px 15px;
		display: block;
		color: #000;
		background: #EEE;
		transition: .3s;
		cursor: pointer;
}

.side-bar ul li a:focus, .side-bar ul li a:hover {
		color: #000;
		background: #999;
}

.side-bar ul li a:hover {
		color: #FFF;
}

.side-bar ul li a::before {
		color: #69A644;
}

@media screen and (min-width: 1025px) {
		.wide-md {
				width: 80%;
				margin-right: auto;
				margin-left: auto;
		}
}

/* Footer */
#other-nav {
		background: #69A644;
}

#other-nav ul li {
		display: inline-block;
}

#other-nav ul li a {
		display: block;
		color: #FFF;
		background: transparent;
		transition: .3s;
		cursor: pointer;
		padding: 10px 20px 10px 10px;
}

#other-nav ul li a:focus, #other-nav ul li a:hover {
		color: #FFF;
		background: #231815;
}

.ft-share {
		padding: 10px 0;
		background: #231815;
}

.ft-share .container {
		height: auto;
}

.ft-share .container .sns_box {
		min-width: 268px;
		height: 24px;
		overflow: hidden;
}

@media screen and (min-width: 1025px) {
		.ft-share .container .sns_box {
				height: 38px;
		}
}

.ft-share .container .sns_box .sns_button {
		float: left;
		box-shadow: inset 0 0 0 2px #fff;
		border-radius: 100%;
		transition: all 280ms ease;
}

.ft-share .container .sns_box .sns_button a {
		display: block;
		width: 24px;
		height: 24px;
		color: #fff;
		text-align: center;
		line-height: 24px;
		transition: all 280ms ease;
}

@media screen and (min-width: 1025px) {
		.ft-share .container .sns_box .sns_button a {
				width: 38px;
				height: 38px;
				line-height: 38px;
		}
}

.ft-share .container .sns_box .sns_button a i {
		font-size: 12px;
		line-height: 24px;
		vertical-align: middle;
}

@media screen and (min-width: 1025px) {
		.ft-share .container .sns_box .sns_button a i {
				font-size: 18px;
				line-height: 38px;
		}
}

.ft-share .container .sns_box .sns_button:hover {
		box-shadow: inset 0 0 0 22px #fff;
}

.ft-share .container .sns_box .sns_button + .sns_button {
		margin: 0 0 0 20px;
}

.ft-share .container .sns_box .twitter:hover a {
		color: #1B95E0;
}

.ft-share .container .sns_box .facebook:hover a {
		color: #3B5999;
}

.ft-share .container .sns_box .google:hover a {
		color: #dd4b39;
}

.ft-share .container .sns_box .instagram:hover a {
		color: #2b5c84;
}

.ft-share .container .sns_box .pocket:hover a {
		color: #EE4056;
}

.site-detail {
		width: 100%;
		padding: 10px 5px;
		background: #EFEFEE;
		overflow: hidden;
		position: relative;
}

@media screen and (min-width: 1025px) {
		.site-detail {
				padding: 30px;
		}
}

.site-detail .school-info {
		width: 100%;
		margin-bottom: 20px;
}

@media screen and (min-width: 1025px) {
		.site-detail .school-info {
				width: 40%;
				float: left;
		}
}

.site-detail .school-info h1 {
		margin: 10px 0;
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 1.5;
}

@media screen and (min-width: 1025px) {
		.site-detail .school-info h1 {
				font-size: 24px;
		}
}

.site-detail .school-info h1 span {
		font-size: 18px;
}

.site-detail .school-info .access-info {
		display: inline-block;
		overflow: hidden;
}

.site-detail .school-info .access-info p {
		margin-right: 50px;
		white-space: nowrap;
}

.site-detail .school-info .access-info .go-accessmap {
		display: block;
		float: right;
		margin-left: 20px;
}

.site-detail .school-info .access-info .go-accessmap::before {
		display: block;
		margin: 0 0 5px 0;
		content: "\f041";
		font-family: FontAwesome;
		color: #69A644;
		font-size: 40px;
		transition: .3s;
}

.site-detail .school-info .access-info .go-accessmap:hover::before {
		margin: 5px 0 0 0;
		color: #231815;
}

.site-detail .school-info .tel,
.site-detail .school-info .tel a {
		color: #69A644;
		font-size: 1.4rem;
		font-weight: bold;
}

@media screen and (min-width: 1025px) {
		.site-detail .school-info .tel,
		.site-detail .school-info .tel a {
				font-size: 24px;
		}
}

.site-detail .school-info .open-time {
		padding-left: 10px;
		border-left: 5px solid rgba(105, 166, 68, 0.5);
}

.site-detail .school-info .ft-nav-btn {
		margin-top: 20px;
}

.site-detail .school-info .ft-nav-btn li {
		display: inline-block;
}

.site-detail .school-info .ft-nav-btn li a {
		display: block;
		color: #FFF;
		background: #69A644;
		transition: .3s;
		cursor: pointer;
		display: inline-block;
		margin: 20px 20px 0 0;
		padding: 1px 10px;
		font-size: 1rem;
		font-weight: normal;
		border: 1px solid #69A644;
		border-radius: 3px;
}

.site-detail .school-info .ft-nav-btn li a:focus, .site-detail .school-info .ft-nav-btn li a:hover {
		color: #FFF;
		background: #231815;
}

.site-detail .school-info .ft-nav-btn li a:focus, .site-detail .school-info .ft-nav-btn li a:hover {
		border-color: #231815;
}

.site-detail .fb-area {
		width: 100%;
		margin-bottom: 20px;
}

@media screen and (min-width: 1025px) {
		.site-detail .fb-area {
				width: 50%;
				float: right;
		}
}

.site-detail .fb-area .fb-page {
		width: 240px !important;
}

@media screen and (min-width: 1025px) {
		.site-detail .fb-area .fb-page {
				width: 100% !important;
				height: 350px;
		}
}

#simple-ft .school-info {
		overflow: hidden;
}

@media screen and (min-width: 1025px) {
		#simple-ft .school-info {
				width: 100%;
				float: none;
		}
}

@media screen and (min-width: 1025px) {
		#simple-ft .school-info h1 {
				width: 30%;
				float: left;
				margin-right: 3%;
		}
}

#simple-ft .school-info h1 span {
		font-size: 14px;
}

@media screen and (min-width: 1025px) {
		#simple-ft .school-info h1 span {
				font-size: 16px;
		}
}

#simple-ft .school-info .address-box,
#simple-ft .school-info .sns-box {
		margin: 40px 0;
}

@media screen and (min-width: 1025px) {
		#simple-ft .school-info .address-box,
		#simple-ft .school-info .sns-box {
				width: 30%;
				float: left;
				margin: 0 3% 0 0;
		}
}

#simple-ft .school-info .address-box h2,
#simple-ft .school-info .sns-box h2 {
		margin: 0 0 10px 0;
		padding: 0 0 3px 0;
		color: #000;
		font-size: 1.2rem;
		border-bottom: 1px solid #000;
}

#simple-ft .school-info .access-info {
		display: inline-block;
		overflow: hidden;
}

#simple-ft .school-info .access-info p {
		margin-right: 50px;
		white-space: nowrap;
}

#simple-ft .school-info .access-info .go-accessmap {
		display: block;
		float: right;
		margin-left: 20px;
}

#simple-ft .school-info .access-info .go-accessmap::before {
		display: block;
		margin: 0 0 5px 0;
		content: "\f041";
		font-family: FontAwesome;
		color: #69A644;
		font-size: 40px;
		transition: .3s;
}

#simple-ft .school-info .access-info .go-accessmap:hover::before {
		margin: 5px 0 0 0;
		color: #231815;
}

#simple-ft .school-info .tel,
#simple-ft .school-info .tel a {
		color: #69A644;
		font-size: 1.4rem;
		font-weight: bold;
}

@media screen and (min-width: 1025px) {
		#simple-ft .school-info .tel,
		#simple-ft .school-info .tel a {
				font-size: 24px;
		}
}

#simple-ft .school-info .open-time {
		padding-left: 10px;
		border-left: 5px solid rgba(105, 166, 68, 0.5);
}

#simple-ft .school-info .ft-nav-btn {
		margin-top: 20px;
}

#simple-ft .school-info .ft-nav-btn li {
		display: inline-block;
}

#simple-ft .school-info .ft-nav-btn li a {
		display: block;
		color: #FFF;
		background: #69A644;
		transition: .3s;
		cursor: pointer;
		display: inline-block;
		margin: 20px 20px 0 0;
		padding: 1px 10px;
		font-size: 1rem;
		font-weight: normal;
		border: 1px solid #69A644;
		border-radius: 3px;
}

#simple-ft .school-info .ft-nav-btn li a:focus, #simple-ft .school-info .ft-nav-btn li a:hover {
		color: #FFF;
		background: #231815;
}

#simple-ft .school-info .ft-nav-btn li a:focus, #simple-ft .school-info .ft-nav-btn li a:hover {
		border-color: #231815;
}

#pagetop {
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 997;
}

@media screen and (min-width: 1025px) {
		#pagetop {
				width: auto;
				display: inline-block;
				position: fixed;
				right: 0;
				left: auto;
				bottom: 61px;
				z-index: 997;
		}
}

#pagetop a {
		display: block;
		color: #FFF;
		background: #231815;
		transition: .3s;
		cursor: pointer;
		margin: 0;
		padding: 5px 30px 5px 20px;
		font-size: 0.9rem;
		text-align: center;
}

#pagetop a:focus, #pagetop a:hover {
		color: #FFF;
		background: #C1402D;
}

#pagetop a::before {
		padding-right: 1rem;
		content: "\f0d8";
		font-family: FontAwesome;
}

#copyright {
		margin: 20px 0;
		color: rgba(0, 0, 0, 0.7);
		font-size: .8rem;
		text-align: center;
}

.eng-ft-copy {
		z-index: 800;
}

@media screen and (min-width: 1025px) {
		.eng-ft-copy {
				margin: 17px 0;
				display: flex;
				flex-direction: row-reverse;
				justify-content: space-between;
		}
}

.eng-ft-copy .copyright {
		padding-left: 10px;
		color: rgba(0, 0, 0, 0.7);
		font-size: .8rem;
}

@media screen and (max-width: 1025px) {
		.eng-ft-copy .copyright {
				padding-top: 5px;
				padding-bottom: 5px;
				border-top: 1px solid #DEDEDE;
		}
}

@media screen and (max-width: 1025px) {
		.eng-ft-copy .eng-tail-nav {
				margin: 5px;
		}
}

.eng-ft-copy .eng-tail-nav li {
		display: inline-block;
		margin: 3px 0 3px -1px;
		padding: 0 5px;
		border-right: 1px solid #DEDEDE;
		border-left: 1px solid #DEDEDE;
}

@media screen and (min-width: 1025px) {
		.eng-ft-copy .eng-tail-nav li {
				margin: 0 0 0 -1px;
				padding: 0 10px;
		}
}

.eng-ft-copy .eng-tail-nav li a {
		color: #000;
		font-size: .85rem;
		border-bottom: 1px solid transparent;
		transition: .3s;
}

.eng-ft-copy .eng-tail-nav li a:focus, .eng-ft-copy .eng-tail-nav li a:hover {
		border-color: #000;
}

/* html #eng-header {
		visibility: hidden;
}

html.wf-active #eng-header {
		visibility: visible;
} */

#eng-header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		height: 65px;
		z-index: 998;
}

@media screen and (min-width: 1200px) {
		#eng-header {
				height: 90px;
		}
}

#eng-header.shade {
		box-shadow: 2px 0 2px 0 rgba(0, 0, 0, 0.5);
}

#eng-header .hd-copy {
		height: 25px;
		background: #EEE;
}

#eng-header .hd-copy h1 {
		color: rgba(0, 0, 0, 0.8);
		font-size: 0.8rem;
		line-height: 25px;
}

@media screen and (max-width: 1200px) {
		#eng-header .hd-copy h1 {
				margin-left: -10px;
		}
}

#eng-header .hd-nav {
		height: 40px;
		background: #FFF;
}

@media screen and (min-width: 1200px) {
		#eng-header .hd-nav {
				height: 65px;
		}
}

#eng-header .hd-nav .container {
		position: relative;
}

#eng-header .hd-nav .container #hd-logo {
		width: auto;
		height: 30px;
		position: absolute;
		top: 5px;
		left: 0.5rem;
}

@media screen and (min-width: 1200px) {
		#eng-header .hd-nav .container #hd-logo {
				height: 50px;
		}
}

#eng-header .hd-nav .container .hd-btn-phone,
#eng-header .hd-nav .container .hd-btn-form {
		width: 52px;
		height: 40px;
		position: absolute;
		top: 0;
		color: #FFF;
}

@media screen and (min-width: 1200px) {
		#eng-header .hd-nav .container .hd-btn-phone,
		#eng-header .hd-nav .container .hd-btn-form {
				width: 170px;
				height: 80px;
				top: -25px;
		}
}

#eng-header .hd-nav .container .hd-btn-phone {
		right: 104px;
		background: #444;
}

@media screen and (min-width: 1025px) {
		#eng-header .hd-nav .container .hd-btn-phone {
				right: 175px;
				padding: 8px 0 0 0;
				color: #FFF;
				background: #69A644;
		}
}

#eng-header .hd-nav .container .hd-btn-phone img {
		display: none;
}

@media screen and (min-width: 1025px) {
		#eng-header .hd-nav .container .hd-btn-phone img {
				display: block;
				margin: 0 auto;
		}
}

@media screen and (min-width: 1025px) {
		#eng-header .hd-nav .container .hd-btn-phone .sp-phone {
				display: none;
		}
}

#eng-header .hd-nav .container .hd-btn-phone .sp-phone::before {
		content: "\f095";
		display: block;
		width: 44px;
		height: 40px;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 4px;
		margin: auto 0;
		color: #FFF;
		background: transparent;
		font-size: 24px;
		line-height: 40px;
		text-align: center;
		font-family: FontAwesome;
}

@media screen and (min-width: 1025px) {
		#eng-header .hd-nav .container .hd-btn-phone .sp-phone::before {
				display: none;
		}
}

#eng-header .hd-nav .container .hd-btn-form {
		right: 54px;
		background: #2D52C1;
}

@media screen and (min-width: 1200px) {
		#eng-header .hd-nav .container .hd-btn-form {
				right: 0;
				padding: 12px 5px 0 55px;
				color: #FFF;
				background: #444;
				transition: .3s;
		}
}

#eng-header .hd-nav .container .hd-btn-form span {
		display: none;
}

@media screen and (min-width: 1200px) {
		#eng-header .hd-nav .container .hd-btn-form span {
				display: inline-block;
				font-size: 1rem;
				text-align: center;
				line-height: 1.3;
		}
}

#eng-header .hd-nav .container .hd-btn-form::before {
		content: "\f0e0";
		display: block;
		width: 44px;
		height: 40px;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 4px;
		margin: auto 0;
		color: #FFF;
		background: transparent;
		font-size: 24px;
		line-height: 40px;
		text-align: center;
		font-family: FontAwesome;
		transition: .3s;
}

@media screen and (min-width: 1200px) {
		#eng-header .hd-nav .container .hd-btn-form::before {
				height: 44px;
				left: 7px;
				color: #444;
				background: #FFF;
				line-height: 44px;
				border-radius: 50%;
		}
}

#eng-header .hd-nav .container .hd-btn-form:hover {
		background: #68a443;
}

#eng-header .hd-nav .container .hd-btn-form:hover::before {
		color: #68a443;
}

#eng-header #eng-mn-btn {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 54px;
		height: 40px;
		background: #C1402D;
		z-index: 100;
		cursor: pointer;
}

@media screen and (min-width: 1200px) {
		#eng-header #eng-mn-btn {
				display: none;
		}
}

#eng-header #eng-mn-btn:focus, #eng-header #eng-mn-btn:hover {
		background: rgba(35, 24, 21, 0.7);
}

#eng-header #eng-mn-btn span {
		display: block;
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		width: 24px;
		height: 2px;
		margin: -1px auto 0 auto;
		background: #FFF;
		transition: .2s;
}

#eng-header #eng-mn-btn span::before, #eng-header #eng-mn-btn span::after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 24px;
		height: 2px;
		background: #FFF;
		transition: .3s;
}

#eng-header #eng-mn-btn span::before {
		margin-top: -8px;
}

#eng-header #eng-mn-btn span::after {
		margin-top: 6px;
}

#eng-header #eng-mn-btn span.close {
		background: transparent;
}

#eng-header #eng-mn-btn span.close::before, #eng-header #eng-mn-btn span.close::after {
		margin-top: 0;
}

#eng-header #eng-mn-btn span.close::before {
		transform: rotate(-45deg);
}

#eng-header #eng-mn-btn span.close::after {
		transform: rotate(-135deg);
}

#eng-header.open #eng-mn-btn {
		background: #69A644;
}

#eng-header.open #eng-mn-btn span {
		background: transparent;
}

#eng-header.open #eng-mn-btn span::before, #eng-header.open #eng-mn-btn span::after {
		margin-top: 0;
}

#eng-header.open #eng-mn-btn span::before {
		transform: rotate(-45deg);
}

#eng-header.open #eng-mn-btn span::after {
		transform: rotate(-135deg);
}

#eng-header .eng-nav {
		display: table;
		width: calc(100% - (180px + (175px * 2) + 20px));
		position: absolute;
		top: 0;
		bottom: 0;
		left: 180px;
		padding-top: 12px;
}

#eng-header .eng-nav li {
		display: table-cell;
		height: 40px;
		padding: 0 10px;
		text-align: center;
		vertical-align: middle;
		border-left: 1px solid #DEDEDE;
}

#eng-header .eng-nav li a {
		color: #000;
		background: transparent;
		font-weight: bold;
		border-bottom: 2px solid transparent;
		transition: .3s;
}

#eng-header .eng-nav li a:hover {
		border-bottom: 2px solid #000;
}

@media screen and (max-width: 1200px) {
		#eng-header .eng-nav {
				display: block;
				width: 100% !important;
				position: absolute;
				top: 40px;
				right: -500px;
				left: auto;
				padding-top: 0;
				box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.4);
				z-index: 990;
				opacity: 0;
				transition: .5s ease-in-out;
		}
		#eng-header .eng-nav li {
				display: block;
				height: auto;
				padding: 0;
		}
		#eng-header .eng-nav li a {
				display: block;
				padding: 15px 10px;
				color: #FFF;
				background: rgba(35, 24, 21, 0.9);
				text-align: center;
		}
}

@media screen and (max-width: 1200px) {
		#eng-header.open .eng-nav {
				right: 0;
				opacity: 1;
		}
}

#eng-main-banner {
		height: 600px;
		background: url(../english-class/images/eng-main-banner-bg.jpg) no-repeat center 0 #FFF;
		background-size: contain;
		position: relative;
}

#eng-main-banner .dnone {
		opacity: 0;
}

#eng-main-banner .wakaru {
		width: 259px;
		height: 157px;
		position: absolute;
		left: 0;
		bottom: 30px;
		margin: 0;
		transition: .3s;
}

#eng-main-banner .wakaru:focus, #eng-main-banner .wakaru:hover {
		bottom: 25px;
}

@media screen and (max-width: 1025px) {
		#eng-main-banner {
				width: 100%;
				height: auto;
		}
		#eng-main-banner::before {
				content: "";
				display: block;
				padding-top: 75%;
		}
		#eng-main-banner .inn {
				position: absolute;
				top: 0;
				right: 0;
				bottom: 0;
				left: 0;
				background: url(../english-class/images/eng-main-banner-bg-sp.jpg) no-repeat center 20px #FFF;
				background-size: 100% auto;
		}
		#eng-main-banner .wakaru {
				width: 40%;
				height: auto;
		}
}

.eng-toppage-mds {
		margin: 40px 0;
		text-align: center;
}

.eng-toppage-mds span {
		color: #000;
		font-family: 'Noto Sans JP', sans-serif;
		font-style: normal;
		font-weight: 700;
		font-size: 1.8rem;
		border-bottom: 3px solid #69A644;
}

.eng-toppage-submds {
		margin: 60px 0;
		color: #69A644;
		font-family: 'Noto Sans JP', sans-serif;
		font-style: normal;
		font-weight: 700;
		font-size: 1.5rem;
		line-height: 1.5;
		text-align: center;
}

@media screen and (min-width: 1025px) {
		.eng-toppage-submds {
				font-size: 2rem;
		}
}

#eng-middle-nav {
		padding: 10px 0;
		background: #EEE;
}

#eng-middle-nav ul {
		list-style: none;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
}

@media screen and (min-width: 1025px) {
		#eng-middle-nav ul {
				flex-wrap: nowrap;
		}
}

#eng-middle-nav ul li {
		width: 45%;
}

@media screen and (min-width: 1025px) {
		#eng-middle-nav ul li {
				width: 20%;
		}
}

#eng-middle-nav ul li a {
		display: block;
		height: 120px;
		margin: 20px 0 0 0;
		padding: 80px 0 0 0;
		color: #000;
		background-repeat: no-repeat;
		background-position: 50% 30%;
		background-size: 70px auto;
		background-color: #FFF;
		text-align: center;
		font-size: .9rem;
		font-weight: bold;
		line-height: 1.2;
		border: 3px solid #69A644;
		border-radius: 8px;
		top: 0;
		transition: .3s;
}

@media screen and (min-width: 1025px) {
		#eng-middle-nav ul li a {
				height: 150px;
				margin: 20px 0;
				padding: 115px 0 0 0;
				font-size: 1.1rem;
				background-size: auto;
		}
}

#eng-middle-nav ul li a::before {
		padding-right: 10px;
		content: "\f138";
		color: #69A644;
		font-family: FontAwesome;
}

#eng-middle-nav ul li a:hover {
		margin: 26px 0 14px 0;
		background-color: #e7f8e8;
}

#eng-middle-nav ul li:nth-child(1) a {
		background-image: url(../english-class/images/eng_middle_nav_1.png);
}

#eng-middle-nav ul li:nth-child(2) a {
		background-image: url(../english-class/images/eng_middle_nav_2.png);
}

#eng-middle-nav ul li:nth-child(3) a {
		background-image: url(../english-class/images/eng_middle_nav_3.png);
}

#eng-middle-nav ul li:nth-child(4) a {
		background-image: url(../english-class/images/eng_middle_nav_4.png);
}

#eng-middle-message {
		padding: 40px 0;
		background: #FFF;
}

#eng-middle-message .detail-guide {
		margin: 20px 0;
		overflow: hidden;
}

@media screen and (min-width: 1025px) {
		#eng-middle-message .detail-guide {
				margin: 60px 0 20px 0;
				display: flex;
				justify-content: space-between;
		}
}

#eng-middle-message .detail-guide .detail-guide-area {
		width: 98%;
		margin: 20px auto;
		padding: 30px 10px 10px 10px;
		box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.5);
		background-size: auto 100%;
		position: relative;
		z-index: 0;
}

@media screen and (min-width: 1025px) {
		#eng-middle-message .detail-guide .detail-guide-area {
				min-height: 240px;
				width: 40%;
				margin: 10px;
				padding: 10px 20px 10px 120px;
				background-size: auto 100%;
		}
}

#eng-middle-message .detail-guide .detail-guide-area.a {
		background: url(../english-class/images/detail-guide-area-a.jpg) no-repeat -30px 0 #FFF;
}

#eng-middle-message .detail-guide .detail-guide-area.b {
		background: url(../english-class/images/detail-guide-area-b.jpg) no-repeat 0 0 #FFF;
}

@media screen and (max-width: 1025px) {
		#eng-middle-message .detail-guide .detail-guide-area::before {
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
				background: rgba(255, 255, 255, 0.7);
				z-index: -1;
		}
}

#eng-middle-message .detail-guide .detail-guide-area .copy {
		margin: 10px 0 0 0;
		color: #528235;
		font-size: .92rem;
		font-weight: bold;
		text-align: center;
}

#eng-middle-message .detail-guide .detail-guide-area h2 {
		margin: 10px 0;
		color: #000;
		font-family: 'Noto Sans JP', sans-serif;
		font-style: normal;
		font-weight: 700;
		font-size: 1.7rem;
		text-align: center;
}

@media screen and (min-width: 1025px) {
		#eng-middle-message .detail-guide .detail-guide-area h2 {
				font-size: 2rem;
		}
}

#eng-middle-message .detail-guide .detail-guide-area .text {
		margin: 20px 0;
		padding: 0 3px;
		font-size: .8rem;
		background: #FFF;
}

#eng-middle-message .detail-guide .detail-guide-area .b-inn {
		margin: 10px 20px;
}

@media screen and (min-width: 1025px) {
		#eng-middle-message .detail-guide .detail-guide-area .b-inn {
				margin: 10px 30px 0 30px;
		}
}

#eng-middle-message .detail-guide .detail-guide-area a {
		display: block;
		color: #000;
		background: #FFF;
		transition: .3s;
		cursor: pointer;
		text-align: center;
		font-weight: bold;
		border: 1px solid #999;
		border-radius: 20px;
}

#eng-middle-message .detail-guide .detail-guide-area a:focus, #eng-middle-message .detail-guide .detail-guide-area a:hover {
		color: #000;
		background: #e7f8e8;
}

#eng-middle-message .detail-guide .detail-guide-area a::before {
		color: #69A644;
}

#eng-middle-message .detail-guide .detail-guide-area .detail-nav {
		margin: 0 20px;
		overflow: hidden;
}

@media screen and (min-width: 1025px) {
		#eng-middle-message .detail-guide .detail-guide-area .detail-nav {
				margin: 0;
		}
}

#eng-middle-message .detail-guide .detail-guide-area .detail-nav a {
		width: 40%;
		margin: 10px 0;
		font-size: .9rem;
		overflow: hidden;
}

#eng-middle-message .detail-guide .detail-guide-area .detail-nav a:nth-child(odd) {
		float: left;
}

#eng-middle-message .detail-guide .detail-guide-area .detail-nav a:nth-child(even) {
		float: right;
}

@media screen and (min-width: 1025px) {
		#eng-middle-message .detail-guide .detail-guide-area .detail-nav a {
				margin: 10px 15px;
		}
}

#eng-grow-step {
		padding: 40px 0;
		background: #FFF;
		border-top: 1px solid #DEDEDE;
}

.growstep-zu {
		margin: 40px auto;
		width: 100%;
		height: auto;
}

@media screen and (min-width: 1025px) {
		.growstep-zu {
				width: 80%;
				height: auto;
		}
}

#course-by-age {
		padding-top: 40px;
		border-top: 1px solid #DEDEDE;
}

.eng-age-type {
		width: 100%;
		margin: 40px 0;
		border: 1px solid #CCC;
		position: relative;
}

.eng-age-type .age-ribbon {
		display: inline-block;
		height: 40px;
		position: absolute;
		top: 10px;
		left: -10px;
		padding: 0 0 0 40px;
		color: #FFF;
		background: #69A644;
		font-size: 1.2rem;
		line-height: 40px;
		font-family: 'Noto Sans JP', sans-serif;
		font-style: normal;
		font-weight: 700;
		z-index: 910;
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-ribbon {
				height: 72px;
				top: 20px;
				left: -20px;
				font-size: 1.8rem;
				line-height: 72px;
		}
}

.eng-age-type .age-ribbon::before, .eng-age-type .age-ribbon::after {
		content: "";
		display: block;
		width: 0;
		height: 0;
		position: absolute;
}

.eng-age-type .age-ribbon::before {
		top: 100%;
		left: 0;
		border-top: 10px solid #3b5e26;
		border-bottom: 10px solid transparent;
		border-left: 10px solid transparent;
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-ribbon::before {
				border-top: 20px solid #3b5e26;
				border-bottom: 20px solid transparent;
				border-left: 20px solid transparent;
		}
}

.eng-age-type .age-ribbon::after {
		top: 0;
		left: 100%;
		border-top: 20px solid #69A644;
		border-right: 20px solid transparent;
		border-bottom: 20px solid #69A644;
		border-left: 20px solid #69A644;
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-ribbon::after {
				border-width: 36px;
		}
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-waku {
				display: table;
		}
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-bg, .eng-age-type .age-type-text {
				display: table-cell;
		}
}

.eng-age-type .age-bg {
		height: 300px;
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: cover;
		position: relative;
		z-index: 900;
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-bg {
				width: 40%;
				height: 100%;
		}
}

.eng-age-type .age-bg.baby {
		background-image: url(../english-class/images/age_baby.jpg);
}

.eng-age-type .age-bg.childhood-1 {
		height: 0;
		opacity: 0;
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-bg.childhood-1 {
				height: 100%;
				opacity: 1;
				background-image: url(../english-class/images/age_childhood_1.jpg);
		}
}

.eng-age-type .age-bg.childhood-2 {
		background-image: url(../english-class/images/age_childhood_2.jpg);
}

.eng-age-type .age-bg.grade-school-1 {
		height: 0;
		opacity: 0;
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-bg.grade-school-1 {
				height: 100%;
				opacity: 1;
				background-image: url(../english-class/images/age_grade-school_1.jpg);
		}
}

.eng-age-type .age-bg.grade-school-2 {
		background-image: url(../english-class/images/age_grade-school_2.jpg);
}

.eng-age-type .age-bg.high-school {
		background-image: url(../english-class/images/age_high-school.jpg);
}

.eng-age-type .lesson-time {
		width: 80px;
		position: absolute;
		bottom: 10px;
		left: 10px;
		padding: 50px 0 5px 0;
		background: #FFF;
		border: 1px solid #CCC;
		z-index: 909;
}

.eng-age-type .lesson-time::before {
		width: 100%;
		height: 36px;
		display: block;
		position: absolute;
		top: 7px;
		left: 0;
		color: #cccccc;
		content: "\f017";
		font-family: FontAwesome;
		font-size: 36px;
		line-height: 1;
		text-align: center;
}

.eng-age-type .lesson-time .time {
		display: block;
		font-size: .8rem;
		text-align: center;
		line-height: 1;
}

.eng-age-type .lesson-time strong {
		display: block;
		margin: 0;
		color: #9fcc84;
		font-size: 2rem;
		font-weight: normal;
		text-align: center;
		line-height: 1;
}

@media screen and (min-width: 1025px) {
		.eng-age-type .lesson-time strong {
				font-size: 2.3rem;
				line-height: 1.2;
		}
}

.eng-age-type .lesson-time strong .kara {
		display: block;
		transform: rotate(90deg);
		font-size: 1.3rem;
		line-height: 1;
}

.eng-age-type .lesson-time .min {
		display: block;
		padding-right: 5px;
		font-size: .8rem;
		line-height: 1;
		text-align: right;
}

.eng-age-type .lesson-time .min .saidai {
		padding-right: 10px;
		color: #999;
}

.eng-age-type .age-type-text {
		padding: 20px 30px;
		background: #FFF;
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-type-text {
				width: 60%;
		}
}

.eng-age-type .age-type-text .age-mds {
		font-weight: bold;
		line-height: 1.5;
		font-size: 1.2rem;
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-type-text .age-mds {
				margin: 20px 0;
				font-size: 1.8rem;
		}
}

.eng-age-type .age-type-text p {
		margin: 20px 0;
}

.eng-age-type .age-type-text .go-detail-btn {
		margin: 30px 0 10px 0;
		text-align: center;
}

.eng-age-type .age-type-text .go-detail-btn a {
		display: block;
		color: #000;
		background: #FFF;
		transition: .3s;
		cursor: pointer;
		display: inline-block;
		padding: 5px 20px;
		font-weight: bold;
		border: 1px solid #999;
		border-radius: 20px;
}

.eng-age-type .age-type-text .go-detail-btn a:focus, .eng-age-type .age-type-text .go-detail-btn a:hover {
		color: #000;
		background: #69A644;
}

.eng-age-type .age-type-text .go-detail-btn a:focus, .eng-age-type .age-type-text .go-detail-btn a:hover {
		color: #FFF;
		border-color: #69A644;
}

.eng-age-type .age-type-text.childhood-1, .eng-age-type .age-type-text.grade-school-1 {
		padding-top: 60px;
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-type-text.childhood-1, .eng-age-type .age-type-text.grade-school-1 {
				padding-top: 100px;
		}
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-type-text.childhood-1 p, .eng-age-type .age-type-text.grade-school-1 p {
				padding-right: 20px;
		}
}

.eng-age-type .age-type-text.childhood-1 .lesson-time, .eng-age-type .age-type-text.grade-school-1 .lesson-time {
		position: relative;
		top: 0;
		left: 0;
		float: left;
		margin: 30px 20px 0 0;
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-type-text.childhood-1 .lesson-time, .eng-age-type .age-type-text.grade-school-1 .lesson-time {
				margin: 10px 20px 0 0;
		}
}

.eng-age-type .age-type-text.childhood-2 .lesson-time, .eng-age-type .age-type-text.grade-school-2 .lesson-time {
		position: relative;
		top: 0;
		left: 0;
		float: right;
		margin: 30px 0 0 20px;
}

@media screen and (min-width: 1025px) {
		.eng-age-type .age-type-text.childhood-2 .lesson-time, .eng-age-type .age-type-text.grade-school-2 .lesson-time {
				margin: 10px 0 0 20px;
		}
}

#go-eng-form-nav {
		margin-top: 60px;
		padding: 30px 0;
		background: url(../english-class/images/go_eng_form_nav_bg.jpg) no-repeat 0 center #D6D4CB;
}

#go-eng-form-nav .inn {
		width: 96%;
		margin: 0 auto;
		padding: 20px;
		background: rgba(255, 255, 255, 0.6);
		text-align: center;
}

@media screen and (min-width: 1025px) {
		#go-eng-form-nav .inn {
				width: 80%;
		}
}

#go-eng-form-nav .inn h2 {
		margin-top: 20px;
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 1.5;
}

@media screen and (min-width: 1025px) {
		#go-eng-form-nav .inn h2 {
				font-size: 2rem;
		}
}

#go-eng-form-nav .inn h3 {
		margin: 10px 0;
		text-align: center;
}

#go-eng-form-nav .inn h3 span {
		display: inline-block;
		padding: 10px 30px;
		color: #FFF;
		background: #69A644;
		font-size: 1.1rem;
		font-weight: bold;
		text-align: center;
}

@media screen and (min-width: 1025px) {
		#go-eng-form-nav .inn h3 span {
				font-size: 1.4rem;
		}
}

#go-eng-form-nav .inn .text {
		margin: 10px 0;
		text-align: center;
}

@media screen and (min-width: 1025px) {
		#go-eng-form-nav .inn .text {
				margin-top: 30px;
		}
}

#go-eng-form-nav .inn .text p {
		display: inline-block;
		text-align: left;
}

#go-eng-form-nav .inn .go-eng-form-btn {
		display: block;
		color: #000;
		background: #FFF;
		transition: .3s;
		cursor: pointer;
		display: inline-block;
		height: auto;
		margin: 10px 0 20px 0;
		padding: 5px 20px;
		font-size: 1rem;
		line-height: 1.5;
		font-weight: bold;
		border: 1px solid #CCC;
		border-radius: 30px;
}

#go-eng-form-nav .inn .go-eng-form-btn:focus, #go-eng-form-nav .inn .go-eng-form-btn:hover {
		color: #000;
		background: #231815;
}

@media screen and (min-width: 1025px) {
		#go-eng-form-nav .inn .go-eng-form-btn {
				height: 50px;
				padding: 0 50px;
				line-height: 50px;
				font-size: 1.3rem;
				border-radius: 50px;
		}
}

#go-eng-form-nav .inn .go-eng-form-btn::before {
		content: "\f15c";
		padding-right: 20px;
		color: #69A644;
		font-family: FontAwesome;
		line-height: 1.5;
}

@media screen and (min-width: 1025px) {
		#go-eng-form-nav .inn .go-eng-form-btn::before {
				padding-right: 30px;
				line-height: 50px;
		}
}

#go-eng-form-nav .inn .go-eng-form-btn:hover {
		color: #FFF;
}

.eng-concept {
		width: 100%;
		height: auto;
		background: url(../english-class/images/eng_image_2.jpg) no-repeat 0 center;
		background-size: cover;
		overflow: hidden;
}

.eng-concept .eng-concept-inn {
		width: 100%;
		height: 100%;
		background: rgba(255, 255, 255, 0.7);
}

.eng-concept h2 {
		margin: 0;
		padding: 20px 0;
		font-size: 1rem;
		line-height: 1.5;
		font-weight: bold;
}

@media screen and (min-width: 1025px) {
		.eng-concept h2 {
				padding: 70px 0;
				font-size: 1.5rem;
				line-height: 1.8;
		}
}

.afterschool-text {
		margin: 20px 0 60px 0;
		text-align: center;
}

@media screen and (min-width: 1025px) {
		.afterschool-text > .inn {
				width: 80%;
				margin-right: auto;
				margin-left: auto;
		}
}

.afterschool-text h3 {
		margin: 100px 0 20px;
		padding: 40px 0;
		background: #bbdba8;
		font-size: 1.2rem;
		font-weight: bold;
		text-align: center;
}

.afterschool-text h4 {
		display: inline-block;
		margin: 30px 0 20px 0;
		padding: 0 7px 5px 7px;
		font-size: 1.1rem;
		font-weight: bold;
		border-bottom: 3px solid #231815;
}

@media screen and (min-width: 1025px) {
		.afterschool-text h4 {
				margin: 50px 0 30px 0;
		}
}

.afterschool-text p {
		text-align: left;
}

.nyukou-step {
		width: 100%;
		margin: 40px 0;
		padding: 0.5rem;
		text-align: left;
		border: 1px solid #69A644;
}

@media screen and (min-width: 1025px) {
		.nyukou-step {
				display: table;
		}
}

.nyukou-step dt {
		font-weight: bold;
}

@media screen and (min-width: 1025px) {
		.nyukou-step dt {
				display: table-cell;
				width: 20%;
				padding-left: 15px;
		}
}

@media screen and (min-width: 1025px) {
		.nyukou-step dd {
				display: table-cell;
				width: 80%;
		}
}

.nyukou-step .kobetumendan {
		margin: 20px 0;
		padding: 10px;
		background: #EEE;
}

.nyukou-step.step {
		position: relative;
}

.nyukou-step.step::after {
		content: "";
		width: 0;
		height: 0;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		margin: 15px auto;
		border-top: 10px solid #231815;
		border-right: 14px solid transparent;
		border-left: 14px solid transparent;
}

@media screen and (min-width: 768px) {
		.afterschool-gaiyou {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
		}
}

.afterschool-gaiyou > .inn {
		width: 100%;
		margin: 20px 0;
		padding: 110px 20px 10px 20px;
		border: 1px solid #CCC;
		position: relative;
}

@media screen and (min-width: 768px) {
		.afterschool-gaiyou > .inn {
				width: 31%;
		}
}

.afterschool-gaiyou > .inn::before {
		content: "";
		display: block;
		width: 100%;
		height: 100px;
		position: absolute;
		top: 0;
		left: 0;
		background: #EEE;
}

.afterschool-gaiyou > .inn::after {
		display: block;
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		margin: 0 auto;
		color: #c9c9c9;
		font-family: FontAwesome;
		line-height: 100px;
		font-size: 3.5rem;
		text-align: center;
}

.afterschool-gaiyou > .inn .mds {
		margin: 20px 0;
		padding: 0 7px 5px 7px;
		font-size: 1.1rem;
		font-weight: bold;
		line-height: 1.5;
		text-align: left;
		border-bottom: 3px solid #231815;
}

.afterschool-gaiyou > .inn.area::after {
		content: "\f041";
}

.afterschool-gaiyou > .inn.bus::after {
		content: "\f207";
}

.afterschool-gaiyou > .inn.holiday::after {
		content: "\f073";
}

.afterschool-gaiyou > .inn.time::after {
		content: "\f017";
}

.afterschool-gaiyou > .inn.anzen::after {
		content: "\f118";
}

.afterschool-gaiyou > .inn.saigai::after {
		content: "\f279";
}

.afterschool-gaiyou > .inn.sick::after {
		content: "\f0f8";
}

.afterschool-gaiyou > .inn.renraku::after {
		content: "\f0e0";
}

.afterschool-gaiyou > .inn.fever::after {
		content: "\f2c7";
}

.afterschool-gaiyou > .inn.furikae::after {
		content: "\f145";
}

.afterschool-gaiyou > .inn.okeiko::after {
		content: "\f0c3";
}

.afterschool-gaiyou > .inn.event::after {
		content: "\f005";
}

.afterschool-image-area {
		margin: 40px 0;
		display: flex;
		justify-content: space-between;
}

@media screen and (min-width: 1025px) {
		.afterschool-image-area {
				margin: 60px 0;
				justify-content: space-around;
		}
}

.afterschool-image-area img {
		display: block;
		width: 48%;
		height: 48%;
}

@media screen and (min-width: 1025px) {
		.afterschool-image-area img {
				width: 400px;
				height: auto;
		}
}

#eng-header-simple {
		height: 65px;
}

@media screen and (min-width: 1025px) {
		#eng-header-simple {
				height: 90px;
		}
}

#eng-header-simple .hd-copy {
		height: 25px;
		background: #231815;
}

#eng-header-simple .hd-copy h1 {
		color: #FFF;
		font-size: 0.8rem;
		line-height: 25px;
}

@media screen and (max-width: 1025px) {
		#eng-header-simple .hd-copy h1 {
				margin-left: -10px;
		}
}

#eng-header-simple .hd-nav {
		height: 40px;
		background: #FFF;
}

@media screen and (min-width: 1025px) {
		#eng-header-simple .hd-nav {
				height: 65px;
		}
}

#eng-header-simple .hd-nav .container {
		position: relative;
}

#eng-header-simple .hd-nav .container #hd-logo {
		width: auto;
		height: 30px;
		position: absolute;
		top: 5px;
		left: 0.5rem;
}

@media screen and (min-width: 1025px) {
		#eng-header-simple .hd-nav .container #hd-logo {
				height: 50px;
		}
}

#eng-header-simple .hd-nav .container .form-nav {
		display: table;
		margin: 0 0 0 auto;
		padding-top: 12px;
}

#eng-header-simple .hd-nav .container .form-nav li {
		display: table-cell;
		height: 20px;
		padding: 0 10px;
		text-align: center;
		vertical-align: middle;
		border-left: 1px solid #DEDEDE;
}

@media screen and (min-width: 1025px) {
		#eng-header-simple .hd-nav .container .form-nav li {
				height: 40px;
				padding: 0 20px;
		}
}

#eng-header-simple .hd-nav .container .form-nav li:last-child {
		border-right: 1px solid #DEDEDE;
}

#eng-header-simple .hd-nav .container .form-nav li a {
		color: #000;
		background: transparent;
		font-size: .8rem;
		font-weight: bold;
		border-bottom: 2px solid transparent;
		transition: .3s;
}

@media screen and (min-width: 1025px) {
		#eng-header-simple .hd-nav .container .form-nav li a {
				font-size: 1rem;
		}
}

#eng-header-simple .hd-nav .container .form-nav li a:focus, #eng-header-simple .hd-nav .container .form-nav li a:hover {
		border-bottom: 2px solid #000;
}

.eng-form-hd {
		height: 100px;
		background: url(../english-class/images/eng_form_hd.jpg) no-repeat 0 0 #5E5026;
		background-size: cover;
}

@media screen and (min-width: 1025px) {
		.eng-form-hd {
				height: 170px;
		}
}

.eng-form-hd h1 {
		padding: 26px 0 0 0;
		color: #FFF;
		font-size: 20px;
		text-align: center;
		font-weight: bold;
		line-height: 1.5;
}

@media screen and (min-width: 1025px) {
		.eng-form-hd h1 {
				padding: 40px 0 0 0;
				font-size: 35px;
		}
}

.eng-form-hd h1 .main {
		display: block;
		font-size: 18px;
}

@media screen and (min-width: 1025px) {
		.eng-form-hd h1 .main {
				font-size: 30px;
		}
}

.eng-form-lead {
		text-align: center;
}

.eng-form-lead p {
		display: inline-block;
		margin: 40px auto;
		text-align: left;
}

@media screen and (max-width: 1025px) {
		.eng-form-lead p {
				font-size: .8rem;
		}
}

.form-comp-image {
		width: 50px;
		height: 50px;
		margin: 0 auto 20px auto;
		position: relative;
}

@media screen and (min-width: 1025px) {
		.form-comp-image {
				width: 70px;
				height: 70px;
		}
}

.form-comp-image::before {
		content: "\f058";
		font-family: FontAwesome;
		font-size: 50px;
		color: rgba(132, 78, 57, 0.7);
}

@media screen and (min-width: 1025px) {
		.form-comp-image::before {
				font-size: 70px;
		}
}

.comp-msg {
		display: inline-block;
}

.order-table {
		width: 100%;
		background: #FFF;
		border-collapse: collapse;
}

.order-table th,
.order-table td {
		border: 1px solid #CCC;
}

.order-table th {
		padding: 5px 2px;
		background: #d7eacc;
		text-align: center;
		font-weight: normal;
		white-space: nowrap;
		font-size: 0.9rem;
}

@media screen and (min-width: 1025px) {
		.order-table th {
				font-size: 1rem;
		}
}

.order-table td {
		padding: 10px 5px;
}

.order-table td a {
		color: #000;
		text-decoration: underline;
}

.order-table td a:focus, .order-table td a:hover {
		color: #000;
		background: rgba(105, 166, 68, 0.2);
		text-decoration: none;
}

.order-table td a:visited {
		color: #555;
}

.form-group {
		width: 100%;
		display: table;
		margin-bottom: 30px;
}

.form-group .control-label,
.form-group .input-area {
		display: table-cell;
		vertical-align: top;
}

.form-group .control-label {
		width: 30%;
}

.form-group .input-area {
		width: 70%;
}

@media screen and (max-width: 544px) {
		.form-group.pc .control-label,
		.form-group.pc .input-area {
				display: block;
				width: 100%;
		}
}

@media screen and (max-width: 544px) {
		.form-group.pc .control-label {
				margin-bottom: 15px;
				border-bottom: 1px solid #CCC;
		}
}

.form-control {
		display: block;
		width: 100%;
}

.form-md {
		display: inline-block;
		width: 150px;
}

.form-sm {
		display: inline-block;
		width: 100px;
}

.form-ss {
		display: inline-block;
		width: 50px;
}

#form-step {
		margin: 20px 0;
}

@media screen and (min-width: 1025px) {
		#form-step {
				margin: 40px 0;
		}
}

#form-step li {
		display: inline-block;
		width: 28%;
		height: 44px;
		margin-right: 6%;
		color: #000;
		background: #DEDEDE;
		text-align: center;
		line-height: 44px;
		position: relative;
}

@media screen and (min-width: 1025px) {
		#form-step li {
				width: 30%;
				margin-right: 4%;
		}
}

#form-step li::after {
		content: "";
		display: block;
		width: 0;
		height: 0;
		position: absolute;
		top: 0;
		left: 100%;
		border-top: 22px solid transparent;
		border-bottom: 22px solid transparent;
		border-left: 18px solid #DEDEDE;
}

@media screen and (min-width: 1025px) {
		#form-step li::after {
				border-left: 22px solid #DEDEDE;
		}
}

#form-step li:last-child {
		margin-right: 0;
}

#form-step li:last-child::after {
		border: 0;
}

#form-step li.active {
		background: #bbdba8;
}

#form-step li.active::after {
		border-left-color: #bbdba8;
}

#form-step li.active-eng {
		color: #FFF;
		background: #844E39;
}

#form-step li.active-eng::after {
		border-left-color: #844E39;
}

.hissu {
		display: inline-block;
		margin: 0 7px;
		padding: 0 5px;
		color: #FFF;
		background: #C1402D;
		font-size: .85rem;
		line-height: 1.5;
		border-radius: 3px;
}

.sample {
		margin: 10px 0;
		color: #C1402D;
		font-size: .85rem;
}

.form-status-msg {
		margin-bottom: 40px;
		padding: 20px;
		background: #FFF;
		border: 1px solid #CCC;
}

.form-status-msg .complete-msg {
		color: #0036D9;
		font-size: 1.1rem;
}

.error-msg {
		width: 96%;
		margin: 40px auto;
		padding: 10px 20px;
		background: #FFF;
		border: 2px solid #D80000;
		border-radius: 5px;
}

.error-msg li {
		margin: 0 0 5px 20px;
		color: #D80000;
}

.error-msg li:last-child {
		margin-bottom: 0;
}

input[type="text"],
input[type="password"],
input[type="file"],
textarea {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
}

input[type="text"],
input[type="password"] {
		height: 34px;
		padding: 0 5px;
		line-height: 34px;
}

select {
		height: 34px;
		line-height: 34px;
}

textarea.q-text {
		height: 100px;
		padding: 0 5px;
}

input[type="text"],
input[type="password"],
select,
textarea {
		border: 2px solid #DEDEDE;
		border-radius: 3px;
}

input[type="text"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
		border-color: #69A644;
		outline: none;
}

.radio,
.checkbox {
		cursor: pointer;
		margin-right: 20px;
		white-space: nowrap;
}

.radio:last-of-type,
.checkbox:last-of-type {
		margin-right: 0;
}

.radio {
		padding: 3px 5px 3px 25px;
		position: relative;
}

form input[type="radio"],
form input[type="checkbox"] {
		display: inline-block;
		margin: 0 10px 0 0;
		border: 2px solid #DDD;
		-webkit-appearance: button;
		appearance: button;
}

form input[type="radio"]:focus,
form input[type="checkbox"]:focus {
		border-color: #69A644;
		outline: none;
}

form input[type="radio"] {
		width: 16px;
		height: 16px;
		border-radius: 50%;
		position: absolute;
		top: 4px;
		left: 2px;
}

form input[type="radio"]:checked::after {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		position: absolute;
		top: 2px;
		left: 2px;
		background: #000;
		border-radius: 50%;
}

form input[type="checkbox"] {
		width: 14px;
		height: 14px;
		vertical-align: baseline;
		position: relative;
}

form input[type="checkbox"]:checked::after {
		content: "";
		display: block;
		width: 6px;
		height: 9px;
		position: absolute;
		top: 0;
		left: 2px;
		border-right: 3px solid #000;
		border-bottom: 3px solid #000;
		transform: rotate(45deg);
}

.btn-area {
		padding: 20px 0;
		background: #DEDEDE;
		border-radius: 3px;
}

.btn-lg {
		display: block;
		color: #FFF;
		background: #231815;
		transition: .3s;
		cursor: pointer;
		padding: 10px;
		font-size: 1.25rem;
		text-align: center;
		border-radius: 0.3rem;
}

.btn-lg:focus, .btn-lg:hover {
		color: #FFF;
		background: #C1402D;
}

.btn-lgs {
		display: block;
		color: #FFF;
		background: #231815;
		transition: .3s;
		cursor: pointer;
		display: inline-block;
		padding: 5px 20px;
		font-size: 1.125rem;
		text-align: center;
		border-radius: 0.2rem;
}

.btn-lgs:focus, .btn-lgs:hover {
		color: #FFF;
		background: #C1402D;
}

.btn-md {
		display: block;
		color: #FFF;
		background: #231815;
		transition: .3s;
		cursor: pointer;
		display: inline-block;
		padding: 5px 10px;
		font-size: 1rem;
		text-align: center;
		border-radius: 0.2rem;
}

.btn-md:focus, .btn-md:hover {
		color: #FFF;
		background: #C1402D;
}

.btn-sm {
		display: block;
		color: #FFF;
		background: #231815;
		transition: .3s;
		cursor: pointer;
		display: inline-block;
		padding: 1px 10px;
		font-size: 0.85rem;
		text-align: center;
		border-radius: 0.2rem;
}

.btn-sm:focus, .btn-sm:hover {
		color: #FFF;
		background: #C1402D;
}

.btn-back {
		background: #999;
}

.policy-kakunin {
		width: 100%;
		margin: 20px 0 40px 0;
		padding: 20px 15px;
		border: 3px solid rgba(193, 64, 45, 0.4);
		border-radius: 5px;
}

@media screen and (min-width: 1025px) {
		.policy-kakunin {
				width: 85%;
				margin: 20px auto 60px auto;
		}
}

@media screen and (min-width: 1025px) {
		.policy-kakunin div[class^="col-md"] {
				text-align: center;
		}
}

.order-btn-area {
		margin: 50px auto 80px auto;
}

@media screen and (min-width: 1025px) {
		.order-btn-area .inn {
				width: 70%;
				margin: 0 auto;
		}
}

.order-btn-area .submit, .order-btn-area .back {
		height: 50px;
		margin: 30px auto;
		padding: 0 20px;
		line-height: 50px;
		border-radius: 3px;
		position: relative;
}

.order-btn-area .submit {
		display: block;
		color: #FFF;
		background: #C1402D;
		transition: .3s;
		cursor: pointer;
		font-size: 1.1rem;
		font-weight: bold;
		letter-spacing: 2px;
}

.order-btn-area .submit:focus, .order-btn-area .submit:hover {
		color: #FFF;
		background: #231815;
}

@media screen and (min-width: 1025px) {
		.order-btn-area .submit {
				font-size: 1.3rem;
		}
}

.order-btn-area .submit.wide {
		width: 85%;
}

.order-btn-area .submit.md {
		width: 40%;
}

.order-btn-area .back {
		display: block;
		color: #FFF;
		background: #999;
		transition: .3s;
		cursor: pointer;
		font-size: 1rem;
}

.order-btn-area .back:focus, .order-btn-area .back:hover {
		color: #FFF;
		background: #231815;
}

@media screen and (min-width: 1025px) {
		.order-btn-area .back {
				font-size: 1.2rem;
		}
}

.eng-form-bg {
		padding: 10px 0;
		background: #F2EFE6;
}

@media screen and (min-width: 1025px) {
		.eng-form-bg {
				padding: 40px 0;
		}
}

.eng-form-mds {
		margin: 60px 0 20px 0;
		font-size: 1.2rem;
		font-weight: bold;
}

@media screen and (min-width: 1025px) {
		.eng-form-mds {
				font-size: 1.6rem;
		}
}

.form-input-area {
		background: #FFF;
		border: 1px solid rgba(153, 153, 153, 0.5);
}

.form-input-area .form-group {
		margin: 0;
		border-bottom: 1px solid rgba(153, 153, 153, 0.5);
}

.form-input-area .form-group:last-of-type {
		border-bottom: none;
}

@media screen and (min-width: 1025px) {
		.form-input-area .form-group .control-label {
				padding: 20px;
				background: #F4FAD8;
				border-right: 1px solid rgba(153, 153, 153, 0.5);
		}
		.form-input-area .form-group .control-label.noline {
				background: #FFF;
				border-right: 0;
		}
		.form-input-area .form-group .input-area {
				padding: 20px;
		}
}

@media screen and (max-width: 1025px) {
		.form-input-area .form-group .control-label,
		.form-input-area .form-group .input-area {
				display: block;
				width: 100%;
				padding: 10px;
		}
		.form-input-area .form-group .control-label {
				font-weight: bold;
		}
		.form-input-area .form-group .input-area {
				padding-top: 0;
		}
}

.form-input-area.policy-area {
		padding: 20px;
}

@media screen and (min-width: 1025px) {
		.form-input-area.policy-area {
				padding: 30px 40px;
		}
}

.shikaku-list .s-li {
		display: inline-block;
		margin: 3px 20px 3px 0;
}

@media screen and (min-width: 1025px) {
		.shikaku-list .s-li {
				margin-right: 40px;
		}
}

.policy-kakunin-box {
		height: 200px;
		margin: 30px 0;
		padding: 20px;
		border: 1px solid #CCC;
		overflow-y: scroll;
}

.policy-dl {
		margin: 20px 0;
}

.policy-dl dt {
		font-weight: bold;
}

.policy-dl dd {
		margin-bottom: 20px;
		margin-left: 20px;
}

@media screen and (min-width: 1025px) {
		.policy-dl dd {
				margin-left: 40px;
		}
}

.policy-dl dd ul {
		margin-left: 20px;
}

.policy-dl dd ol {
		margin-left: 30px;
}

.policy-ol-kakko {
		margin-left: 0 !important;
}

.policy-ol-kakko > li {
		list-style: none;
		padding-left: 3rem;
		text-indent: -3rem;
}

.policy-ol-kakko > li li {
		padding-left: 0;
		text-indent: 0;
}

.up-alpha li {
		list-style-type: upper-alpha;
}

.num-list li {
		list-style-type: decimal;
}

.kome-list {
		padding-left: 1rem;
		text-indent: -1rem;
}

a[href^="tel:"] {
		cursor: default;
}

@media only screen and (min-width: 992px) {
		a[href^="tel:"] {
				pointer-events: none;
		}
		a[href^="tel:"].pc {
				color: #000;
		}
}

a.blank::after {
		padding-left: 10px;
		content: "\f08e";
		font-family: FontAwesome;
}

/*
a.pdf::after {
	padding-left:5px;
	content: "\f1c1";
	font-family: FontAwesome;
}*/
a.caret-right::before, #panel ul li a::before, .page-nav li a::before, .side-bar ul li a::before, #other-nav ul li a::before, #eng-middle-message .detail-guide .detail-guide-area a::before, .eng-age-type .age-type-text .go-detail-btn a::before {
		display: inline-block;
		margin-right: 10px;
		content: "\f0da";
		font-family: FontAwesome;
}

a.caret-right::before:hover, #panel ul li a::before:hover, .page-nav li a::before:hover, .side-bar ul li a::before:hover, #other-nav ul li a::before:hover, #eng-middle-message .detail-guide .detail-guide-area a::before:hover, .eng-age-type .age-type-text .go-detail-btn a::before:hover {
		text-decoration: none;
}

a.touka {
		transition: .3s;
}

a.touka:active,
a.touka:hover {
		opacity: .7;
}

a.text-btn {
		display: inline-block;
		color: #000;
		border-bottom: 2px solid transparent;
		transition: .3s;
}

a.text-btn:focus, a.text-btn:hover {
		border-bottom: 2px solid #000;
}

/* Margin & Padding */
.mt-50 {
		margin-top: 50px;
}

.mt-40 {
		margin-top: 40px;
}

.mt-30 {
		margin-top: 30px;
}

.mt-20 {
		margin-top: 20px;
}

.mt-10 {
		margin-top: 10px;
}

.mt-05 {
		margin-top: 5px;
}

.mt-0 {
		margin-top: 0 !important;
}

.mb-100 {
		margin-bottom: 100px;
}

.mb-50 {
		margin-bottom: 50px;
}

.mb-40 {
		margin-bottom: 40px;
}

.mb-30 {
		margin-bottom: 30px;
}

.mb-20 {
		margin-bottom: 20px;
}

.mb-10 {
		margin-bottom: 10px;
}

.mb-05 {
		margin-bottom: 5px;
}

.mb-0 {
		margin-bottom: 0 !important;
}

.ml-05 {
		margin-left: 5px;
}

.ml-10 {
		margin-left: 10px;
}

.ml-20 {
		margin-left: 20px;
}

.ml-30 {
		margin-left: 30px;
}

.ml-40 {
		margin-left: 40px;
}

.ml-50 {
		margin-left: 50px;
}

.mr-05 {
		margin-right: 5px;
}

.mr-10 {
		margin-right: 10px;
}

.mr-20 {
		margin-right: 20px;
}

.mr-30 {
		margin-right: 30px;
}

.mr-40 {
		margin-right: 40px;
}

.mr-50 {
		margin-right: 50px;
}

.pt-50 {
		padding-top: 50px;
}

.pt-40 {
		padding-top: 40px;
}

.pt-30 {
		padding-top: 30px;
}

.pt-20 {
		padding-top: 20px;
}

.pt-10 {
		padding-top: 10px;
}

.pt-05 {
		padding-top: 5px;
}

.pb-100 {
		padding-bottom: 100px;
}

.pb-50 {
		padding-bottom: 50px;
}

.pb-40 {
		padding-bottom: 40px;
}

.pb-30 {
		padding-bottom: 30px;
}

.pb-20 {
		padding-bottom: 20px;
}

.pb-10 {
		padding-bottom: 10px;
}

.pb-05 {
		padding-bottom: 5px;
}

.pl-50 {
		padding-left: 50px;
}

.pl-40 {
		padding-left: 40px;
}

.pl-30 {
		padding-left: 30px;
}

.pl-20 {
		padding-left: 20px;
}

.pl-10 {
		padding-left: 10px;
}

.pl-05 {
		padding-left: 5px;
}

.pr-50 {
		padding-right: 50px;
}

.pr-40 {
		padding-right: 40px;
}

.pr-30 {
		padding-right: 30px;
}

.pr-20 {
		padding-right: 20px;
}

.pr-10 {
		padding-right: 10px;
}

.pr-05 {
		padding-right: 5px;
}

/* position */
.text-right {
		text-align: right;
}

.text-center {
		text-align: center;
}

.text-left {
		text-align: left;
}

.valign-middle {
		vertical-align: middle !important;
}

.valign-top {
		vertical-align: top !important;
}

.valign-bottom {
		vertical-align: bottom !important;
}

.text-nowrap {
		white-space: nowrap;
}

@media screen and (min-width: 1025px) {
		.pc-center {
				text-align: center;
		}
}

.pull-right {
		float: right;
}

.pull-left {
		float: left;
}

.pull-center {
		margin-right: auto;
		margin-left: auto;
}

.clearfix::after {
		display: block;
		content: "";
		clear: both;
}

/* Text Style */
.bold {
		font-weight: bold;
}

.text-normal {
		font-weight: normal;
}

.text-lg {
		font-size: 1.25rem;
}

.text-md {
		font-size: 1.12rem;
}

.text-mm {
		font-size: 1rem;
}

.text-sm {
		font-size: 0.87rem;
}

.text-xs {
		font-size: 0.75rem;
}

.sr-only {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		border: 0;
}

/* List */
.dl-horizontal.dl-space dt, .dl-horizontal.dl-space dd {
		margin-bottom: 5px;
}

.dl-horizontal.dl-space.dl-last-nomargin {
		margin-bottom: 0;
}

.site-green {
		color: #69A644;
}

.site-red {
		color: #C1402D;
}

.site-black {
		color: #231815;
}

.bg-white {
		background: #FFF;
}
