@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Montserrat:700');
@import url('https://fonts.googleapis.com/css?family=Playball');
/*
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&subset=japanese');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:700&subset=japanese');
*/

/*common*/

* {
	box-sizing: border-box;
}

body {
	/*	font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 1.3rem;
	word-wrap: break-word;
	word-break: break-all;
	line-height: 1.7;
	color: #000;
	background: #fff;
	min-width: 1250px;
	width: 100%;
}


.jpFonts {
	/*	font-family: 'Noto Serif JP', "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;*/
	font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight: 700;
}

.enDispaly {
	font-family: 'Playball', cursive;
}

.enGothic {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
}

.sp {
	display: none !important;
}

.pc {
	display: block;
}

a {
	text-decoration: none;
	color: #000;
}

.links {
	text-decoration: underline;
}

.links:hover {
	text-decoration: none;
}

.alignC {
	text-align: center;
}

img {
	vertical-align: top;
}

.imgWrap .wp-post-image,
.reImg {
	width: 100%;
	height: auto;
}

.imgWrapper {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.imgWrapper img {
	width: 50%;
	height: auto;
}

.cntInner {
	padding: 0 5%;
}

.bgShaded {
	background: url(../img/bg_shaded_01.png) no-repeat bottom right;
	background-size: 847px auto;
}

.blockModP {
	width: 800px;
	margin: 0px auto 50px auto;
}

.line {
	background: url(../img/line.png) repeat-x center center;
	background-size: auto 10px;
	width: 100%;
	height: 10px;
}

.cntWidth1000 {
	width: 1000px;
	margin: 0 auto;
}

.cntWidth800 {
	width: 800px;
	margin: 0 auto;
}


/*ttl*/
.ttlA {
	color: #5a79ba;
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.4;
	margin-bottom: 20px;
	font-family: 'Noto Serif JP', "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.ttlA .enDispaly {
	display: block;
	font-size: 3rem;
	letter-spacing: 0.1em;
	color: #315194;
	font-weight: normal;
}

.ttlB {
	color: #5a79ba;
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.4;
	margin-bottom: 20px;
	font-family: 'Noto Serif JP', "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.ttlB .enDispaly {
	display: block;
	font-size: 3rem;
	letter-spacing: 0.1em;
	color: #315194;
	font-weight: normal;
}

.pages .ttlB {
	margin-bottom: 40px;
}

.ttlC {
	color: #5a79ba;
	font-size: 2.5rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.4;
	margin-bottom: 20px;
	border-bottom: 2px solid #5a79ba;
	padding-bottom: 10px;
	width: 400px;
	font-family: 'Noto Serif JP', "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}


.ttlC .enDispaly {
	display: block;
	font-size: 2rem;
	letter-spacing: 0.1em;
	color: #315194;
	font-weight: normal;
}

.ttlD {
	border-top: 2px solid #5a79ba;
	border-bottom: 2px solid #5a79ba;
	padding: 5px 0;
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	color: #5a79ba;
	margin-bottom: 30px;
	font-family: 'Noto Serif JP', "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.ttlD span {
	display: block;
	border-top: 1px solid #5a79ba;
	border-bottom: 1px solid #5a79ba;
	padding: 10px 0;
}

/*btn*/

.btnA a,
.btnA a::after {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.btnA a {
	border: 1px solid #5a79ba;
	text-align: center;
	width: 200px;
	height: 60px;
	line-height: 60px;
	color: #5a79ba;
	display: block;
	font-size: 1.5rem;
	font-weight: bold;
}

.btnA.alignC a {
	margin: 0 auto;
}

.btnA a:hover {
	background: #5a79ba;
	color: #fff;
}

/*nav*/


.fixNav {
	position: fixed;
	top: 0px;
	left: 0px;
	height: 100%;
	background: #303030;
	z-index: 82;
	width: 250px;
	color: #fff;
	min-height: 700px;
}

.fixNav .mainNav li:first-child a {}

.fixNav .mainNav a {
	color: #fff;
	font-size: 1.5rem;
	padding-top: 10px;
	padding-bottom: 10px;
	display: block;
}

.fixNav .mainNav a:hover {
	text-decoration: underline;
}

.fixNav .mainNav li {}

.fixNav .mainNav {
	text-align: center;
	margin-bottom: 120px;
}

.telWrap dt {
	position: relative;
}

.telWrap dt:after,
.telWrap dt:before {
	content: "";
	display: block;
	height: 1px;
	background: #fff;
	width: 34%;
	position: absolute;
}

.telWrap dt:before {
	left: 0;
	top: 10px;
}

.telWrap .number .enGothic {
	font-size: 1.8rem;
	display: block;
	line-height: 1.2;
	letter-spacing: 0.1em;
}

.telWrap .number {
	margin-bottom: 10px;
	font-size: 1.2rem;
}

.telWrap {
	border-bottom: 1px solid #fff;
	margin-bottom: 30px;
}

.telWrap dt:after {
	right: 0;
	top: 10px;
}

.snsList {
	text-align: center;
}

.snsList li {
	display: inline-block;
	margin-right: 20px;
}

.snsList li a:hover img {
	opacity: 0.7;
}

.snsList li:last-child {
	margin-right: 0px;
}

.navWraper {
	width: 200px;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);

}

.navTrigger {
	position: absolute;
	top: 0%;
	right: 0;
	z-index: 8;
	cursor: pointer;
	width: 50px;
	text-align: center;
	height: 100%;
	background: #315194;
	display: table;
}

.navTriggerWrap {
	display: table-cell;
	vertical-align: middle;
	height: 100%;
}

.fixed .navTriggerWrap .menuClose,
.navTriggerWrap .menu {
	display: none;
}

.fixed .navTriggerWrap .menu,
.fixed .navTriggerWrap .menu {
	display: block;
}

.fixNav .logo {
	position: absolute;
	top: 8vh;
	left: 0%;

}

.fixNav .logo {
	width: 200px;
	text-align: center;
}

.headSnsWrap {
	position: absolute;
	bottom: 9vh;
	left: 0;
	width: 200px;
	text-align: center;
}

@media screen and (max-height: 650px) {
	.headSnsWrap {
		display: none;
	}
}

.headCopy {
	font-size: 1.2rem;
	bottom: 29px;
	text-align: center;
	position: absolute;
	width: 200px;
}

.snsTtl {
	font-size: 2rem;
	position: relative;
	margin-bottom: 15px;
	padding: 0 20px;
}

.snsTtl:before {
	content: "";
	display: block;
	height: 1px;
	background: #fff;
	width: 20%;
	position: absolute;
	top: 15px;
}

.snsTtl:after {
	content: "";
	display: block;
	height: 1px;
	background: #fff;
	width: 20%;
	position: absolute;
	top: 15px;
	right: 20px;
}

/*mainVisual*/

.topMain.slick-slider {}

.topMain.slick-slider img {}

.slick-slide {
	z-index: 1;
}

#mainVisual {
	position: relative;
	width: 100%;
}

#mainVisual .lead {
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	color: #fff;
	line-height: 1.2;
	z-index: 2;
	padding: 0 5%;
}

#mainVisual .lead span {
	display: block;
}

#mainVisual .lead .enGothic,
#mainVisual .lead .enDispaly {
	font-size: 8rem;
	letter-spacing: 0.1em;
}

#mainVisual .lead .enDispaly {
	color: #5a79ba;
}

#mainVisual .lead .enGothic {
	color: #303030;
}

#mainVisual .lead .jpT {
	margin-top: 30px;
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	color: #303030;
	font-family: 'Noto Serif JP', "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;

}

#mainVisual .lead .jpT span {
	color: #5a79ba;
	display: inline;
}

#mainVisual .btLesson a:hover img {
	opacity: 0.7;
}

#mainVisual .btLesson {
	position: absolute;
	right: 5%;
	bottom: -50px;
	z-index: 2;
}

/*top*/
.about {
	padding: 100px 0;
}

.about .cntInner {
	display: table;
	width: 1000px;
	margin: 0 auto;
}

.about .txtWrap {
	display: table-cell;
	width: 60%;
	padding-right: 5%;
	vertical-align: middle;
}

.about .image {
	display: inline-block;
	width: 100%;
}

.about .modP {
	margin-bottom: 30px;
}

.rec {
	background: url(../img/index/ph_index_02.jpg) no-repeat top center;
	background-size: cover;
	padding: 50px 0;
}

.recUl {
	width: 600px;
	margin: 0 auto 40px auto;
}

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

.recUl li {
	border-bottom: 1px solid #ddd;
	padding: 10px 0 7px;
	font-size: 1.5rem;
}

.recUl li i {
	margin-right: 10px;
	position: relative;
	top: -3px;
}

.recUl li label {
	flex: 1;
}

.rec .btnA a {
	margin: 0 auto;
}

.cntThree {
	width: 100%;
	display: table;
}

.cntThree .image {
	width: 55%;
	display: table-cell;
}

.cntThree .txtBox {
	width: 45%;
	display: table-cell;
	vertical-align: middle;
	padding: 0 5%;
}

.cntThree .txtBox .modP {
	margin-bottom: 30px;
	width: 400px;
}

/*blogList*/
.blogWrap {
	padding: 60px 0;
}

.blogList {
	width: 800px;
	margin: 0 auto 40px auto;
	border-top: 1px solid #ddd;
}

.blogList li {
	border-bottom: 1px solid #ddd;
}

.blogList li .imgWrap {
	display: table-cell;
	width: 150px;
}

.blogList li figcaption {
	display: table-cell;
	vertical-align: middle;
	padding-left: 20px;
}

.blogList .category {
	background: #5a79ba;
	color: #fff;
	font-style: normal;
	font-size: 1.2rem;
	display: inline-block;
	padding: 5px 10px;
	margin-right: 10px;
}

.blogList .date {
	display: inline-block;
	color: #5a79ba;
}

.blogList .ttl {
	font-size: 1.6rem;
	font-weight: bold;
	margin-top: 10px;
}

.blogList li a {
	display: block;
	padding: 20px;

}

.blogList li a:hover {
	background: #f5f5f5;
}

/*pager*/
.pageLoader {
	position: relative;
	margin-top: 4rem;
	display: none;
}

.pageLoaderSpinner2 {
	position: relative;
	width: 40px;
	height: 40px;
	margin: auto;
}

.pageLoaderSpinner2 .spinner-container {
	position: absolute;
	width: 100%;
	height: 100%;
}

.pageLoader .container1>div,
.pageLoader .container2>div,
.pageLoader .container3>div {
	background-color: rgba(155, 50, 101, 1);
}

/*blog detail*/
.blogDetail .meta {
	margin-bottom: 10px;
}

.blogDetail .category {
	display: inline-block;
	background: #5a79ba;
	color: #fff;
	font-size: 1.4rem;
	padding: 5px 10px;
	margin-right: 10px;
}

.blogDetail time {
	font-size: 1.8rem;
	color: #5a79ba;
}

.articleTtl {
	border-bottom: 1px solid #5a79ba;
	padding-bottom: 5px;
	font-weight: bold;
	font-size: 2rem;
	margin-bottom: 30px;
}

.singleContent img {
	max-width: 100%;
	height: auto;
}

.singleContent img {
	margin: 20px 0;
}

.blogSingle .btnA {
	margin-top: 30px;
}

/*****form*******/
.formWrap {
	width: 600px;
	margin: 0 auto;
	padding: 50px 0;
}

.formWrap dl {}

.formWrap dt {
	font-size: 1.6rem;
	font-weight: bold;
}

.formWrap dd {
	margin: 15px 0 30px 0;
}

.formWrap .required {
	background: #5a79ba;
	font-size: 1.2rem;
	color: #fff;
	font-weight: normal;
	height: 25px;
	line-height: 25px;
	display: inline-block;
	padding: 0 15px;
	margin-right: 10px;
	position: relative;
	top: -2px;
}

.formWrap .any {
	background: #999;
	font-size: 1.2rem;
	color: #fff;
	font-weight: normal;
	height: 25px;
	line-height: 25px;
	display: inline-block;
	padding: 0 15px;
	margin-right: 10px;
	position: relative;
	top: -2px;
}

.formWrap textarea,
.formWrap input[type="email"],
.formWrap input[type="text"] {
	border: 1px solid #ddd;
	background: #fff;
	height: 40px;
	padding-left: 15px;
	width: 100%;
}

.formWrap textarea {
	height: 15em;
}

.formWrap .formBtn {
	display: block;
	position: relative;
	width: 200px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	border: 1px solid #5a79ba;
	color: #5a79ba;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	cursor: pointer;
	margin: 0 auto;
}

.formWrap .formBtn:hover {
	background: #5a79ba;
	color: #fff;
}

.mwform-radio-field-text {
	cursor: pointer;
}

/*privacy*/
.dlB {
	width: 800px;
	margin: 0 auto 50px auto;
}

.dlB dt {
	font-size: 1.8rem;
	font-weight: bold;
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
	margin-bottom: 15px;
}

.dlB li {
	margin-bottom: 15px;
}

.dlB li li {
	margin: 15px 0 15px 1.5em;
}

.dlB .num {
	font-style: normal;
	font-weight: bold;
	display: table-cell;
	padding-right: 5px;
	width: 30px;
}

.dlB .content {
	display: table-cell;
}

.dlB .one {
	margin-bottom: 15px;
	display: block;
}


/*lecture*/
.lecName {
	font-style: normal;
	color: #315194;
	font-weight: bold;
	display: block;
	font-size: 1.5rem;
	line-height: 1.4;
}

.dotImg {
	background: url(../img/dot_02.png) repeat top left;
	background-size: 4px auto;
	padding: 10px;
}

/*voice*/
.vouceUl .voicesText {
	border-bottom: 1px solid #5a79ba;
	padding-bottom: 30px;
}

/*faq*/
.faqWrap {
	padding: 60px 0;
}

.faqDl {
	width: 800px;
	margin: 0 auto;
	border-top: 1px solid #ddd;
	padding: 10px 0 20px;
}

.faqDl:last-of-type {
	border-bottom: 1px solid #ddd;
}

.faqDl i {
	font-size: 3rem;
	color: #315194;
	font-style: normal;
	font-weight: normal;
	display: inline-block;
	width: 30px;
}

.faqDl dt {
	font-size: 1.6rem;
	font-weight: bold;
	color: #5a79ba;
}

.faqDl dd {
	padding-left: 35px;
}

/*****.siteFooter*******/

.siteFooterOuterA {
	background: #f5f5f5;
	padding: 50px 0;
}

.contactUl {
	width: 800px;
	margin: 0 auto;
}

.contactUl li {
	text-align: center;
	background: #fff;
	padding: 30px 0;
	border: 1px solid #ddd;
	margin-bottom: 30px;
}

.contactUl li.telLi {
	padding-bottom: 10px;
}

.contactUl li li {
	border: none;
	display: inline-block;
	margin: 0 15px;
	padding-bottom: 0;
	padding-top: 10px;
}

.contactUl li li:nth-child(2n) {}

.contactUl li li .ttl {
	background: #5a79ba;
	color: #fff;
	display: block;
	margin-bottom: 10px;
	min-width: 220px;
}

.contactUl .heading {
	font-size: 1.5rem;
	margin-bottom: 10px;
}

.contactUl .tel {
	font-size: 3rem;
	line-height: 1;
}

.contactUl small {
	font-size: 1.2rem;
}

.footInfo {
	padding-top: 50px;
	text-align: center;
}

.footInfo .footLogo {
	margin-bottom: 20px;
}

.footInfo .address {
	margin-bottom: 20px;
	font-size: 1.3rem;
}

.footInfo .footNav {
	font-size: 0;
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
	padding: 15px 20px;
	max-width: 1000px;
	margin: 0 auto;
	display: inline-block;
}

.footInfo .footNav li {
	display: inline-block;
	font-size: 1.3rem;
	border-right: 1px solid #151515;
	padding-right: 10px;
	margin-right: 10px;
	line-height: 1;
}

.footInfo .footNav li:last-child {
	border: none;
	margin-right: 0;
}

.footInfo .footNav li a:hover {
	text-decoration: underline;
}

.siteFooterOuterB {
	background: #315194;
	text-align: center;
	padding: 30px 0;
}

.footSns {
	font-size: 0;
	margin-bottom: 20px;
}

.footSns li {
	display: inline-block;
	margin-right: 20px;
}

.footSns li:last-child {
	margin-right: 0;
}

.footSns li a:hover img {
	opacity: 0.7;
}

.siteFooterOuterB address {
	color: #fff;
	font-size: 1.2rem;
}


/*pgTop*/
.pageTop {
	display: none;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 7;
}

.pageTop a {
	background: #5a79ba;
	width: 40px;
	height: 40px;
	display: block;
	text-align: center;
	padding-top: 15px;
}

.pageTop a:hover {
	background: #315194;
}

.pageTop a:hover img {
	opacity: 0.7;
}

/*pageVisual*/
#pageVisual {
	position: relative;
}

#pageVisual .pageTtl {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	/* Safari用 */
	transform: translate(-50%, -50%);
	color: #fff;
	text-align: center;
}

#pageVisual .enDispaly {
	font-size: 4rem;
	text-transform: capitalize;
	color: #5a79ba;
}

#pageVisual .jpTxt {
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	font-family: 'Noto Serif JP', "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	/*color:#303030;*/


}

#pageVisual .pageTtl span {
	display: block;
	line-height: 1.4;
}

#pageVisual .btLesson a:hover img {
	opacity: 0.7;
}

#pageVisual .btLesson {
	position: absolute;
	right: 5%;
	bottom: -30px;
}

/*bred*/
.bred {
	padding: 10px;
	border-bottom: 1px solid #ddd;
	margin-bottom: 100px;
}

.bred a:hover {
	text-decoration: underline;
}

/*reason*/
.reasonOl li {
	margin-bottom: 50px;
}

.reasonOl .num {
	display: block;
	border-bottom: 1px solid #315194;
	font-style: normal;
	font-size: 3rem;
	width: 50px;
	color: #315194;
	margin: 0 auto 10px auto;
}

.reasonOl .imgWrap {
	display: table;
}

.reasonOl .imgWrap .image {
	display: table-cell;
	width: 40%;
}

.reasonOl .imgWrap .txt {
	display: table-cell;
	vertical-align: middle;
	padding-left: 30px;
}

.flow .reasonOl .imgWrap {
	padding: 20px;
	border: 1px solid #ddd;
}

.flow .reasonOl {
	margin-bottom: 100px;
}

.flow .reasonOl li {
	margin-bottom: 30px;
}

.flow .reasonOl li:last-child {
	margin-bottom: 50px;
}

/*txtBox*/
.schoolTxtBox {
	border-top: 2px solid #5a79ba;
	border-bottom: 2px solid #5a79ba;
	padding: 5px 0;
	margin-bottom: 30px;
	position: relative;
	margin-top: 40px;
}

.schoolTxtBox .heading {
	background: #5a79ba;
	margin: 0 auto;
	color: #fff;
	border-radius: 20px;
	min-width: 150px;
	display: inline-block;
	padding: 10px;
	text-align: center;
	position: absolute;
	top: -20px;
	font-weight: bold;
	left: 50%;
	margin-right: -50%;
	-webkit-transform: translate(-50%, 0);
	/* Safari用 */
	transform: translate(-50%, 0);
}

.schoolTxtBox .innerTxt {
	border-top: 1px solid #5a79ba;
	border-bottom: 1px solid #5a79ba;
	padding: 20px 0;
}

.schoolSubtxtBox {
	background: #f5f5f5;
	padding: 15px;
	font-size: 1.2rem;
	margin-top: 30px;
}


/*map*/
.ggmapSize {
	width: 1000px;
	margin: 0 auto;
}

.ggmap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*dlA*/
.dlA {
	font-size: 0;
	margin-bottom: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-lines: multiple;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.dlA dt {
	text-align: center;
	font-size: 1.4rem;
	color: #fff;
	background: #5a79ba;
	border-top: 1px solid #5a79ba;
	border-bottom: 1px solid #5a79ba;
	width: 30%;
	margin-bottom: 10px;
	padding: 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.dlA dd {
	font-size: 1.4rem;
	color: #fff;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	width: 70%;
	margin-bottom: 10px;
	color: #000;
	padding: 10px;
	vertical-align: top;
}

.priceDl {
	display: table;
	width: 100%;
	margin-bottom: 15px;
}

.priceDl dt {
	display: table-cell;
	vertical-align: middle;
	background: #5a79ba;
	color: #fff;
	font-weight: bold;
	width: 80%;
	text-align: left;
	padding: 15px;
}

.priceDl dd {
	display: table-cell;
	vertical-align: middle;
	background: #315194;
	color: #fff;
	font-weight: bold;
	width: 20%;
	text-align: center;
	padding: 15px;
}

/*lesson*/

.lessonUl li:nth-child(n + 2) {
	display: none;
}

.lessonlistUl li .line {
	margin-bottom: 50px;
}

.lessonlistUl li .btnA {
	margin-bottom: 50px;
}

.lessonlistUl li:last-child .line {
	display: none;
}

/*blog*/
.categoryDl dt {
	background: #5a79ba;
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 1.8rem;
	padding: 5px 10px;
}

.categoryDl dd {
	text-align: left;
	font-size: 13px;
}

@media screen and (min-width:770px) {
	.categoryDl dd {
		text-align: center;
	}
}

.categoryDl dd ul {
	padding: 10px;
	border-bottom: 1px solid #ddd;
	margin-bottom: 50px;
}

.categoryDl dd li {
	display: inline-block;
	margin-right: 10px;
	border-right: 1px solid #ddd;
	padding-right: 10px;
}

.categoryDl dd li a:hover {
	text-decoration: underline;
}

.categoryDl dd li:last-child {
	margin-right: 0px;
	border-right: none;
	padding-right: 0px;
}

/*margin*/
.mt20 {
	margin-top: 20px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb100 {
	margin-bottom: 100px;
}




/********sp***************/

@media screen and (max-width: 770px) {

	/*common*/

	body {
		padding-left: 0 !important;
		font-size: 1.3rem;
		padding-top: 50px;
		min-width: 100%;
	}

	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}

	.spInner {
		padding: 0 5%;
	}

	.cntWidth800 {
		width: 90%;
	}

	/*header*/
	.spSiteHeader {
		background: #303030;
		width: 100%;
		height: 50px;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 10;
	}

	.spSiteHeader .spInner {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		height: inherit;
	}

	.spSiteHeader .logo {
		position: relative;
		left: 0;
		top: 0;
		line-height: 1;
	}

	.spSiteHeader .hum {
		position: absolute;
		right: 5%;
		top: 16px;
	}

	.spSiteHeader .phone {
		position: absolute;
		right: 22%;
		top: 7px;
	}

	/*hamburger*/
	.closeBT {
		position: absolute;
		right: 5%;
		top: 5%;
		z-index: 99;
	}

	.humNavi {
		padding-top: 10%;
	}


	.humNavi li a {
		display: block;
		padding: 10px 0;
		color: #fff;
		font-weight: bold;
	}

	#humTel,
	#hum {
		display: none;
	}

	.modaal-inline.modaal-fullscreen .modaal-container {
		background: rgba(90, 121, 186, 0.7);
	}

	#pageVisual .btLesson,
	#mainVisual .btLesson {
		position: fixed;
		width: 100%;
		bottom: 0;
		left: 0;
		z-index: 99;
	}

	.ttlTel {
		font-size: 1.4rem;
		color: #fff;
		margin-bottom: 15px;
		text-align: center;
		margin-top: 20px;
	}

	.spTelUl {
		border-bottom: 1px solid #fff;
		padding-bottom: 10px;
	}

	.spTelUl .ttl {
		padding: 5px;
		text-align: center;
		background: #5a79ba;
		color: #fff;
		margin-bottom: 5px;
	}

	.spTelUl li {
		margin-bottom: 10px;
	}

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

	.spTelUl .tel {
		font-size: 1.6rem;
		letter-spacing: 0.2em;
		text-align: center;
	}

	.spTelUl a {
		color: #fff;
	}

	/*ttl*/
	.ttlB {
		font-size: 2rem;
		margin-bottom: 10px;
	}

	.ttlB.alignC {
		margin-bottom: 20px;
	}

	.ttlA {
		font-size: 2rem;
		margin-bottom: 20px;
	}

	.ttlB .enDispaly,
	.ttlA .enDispaly {
		font-size: 1.5rem;
	}

	.pages .ttlB {
		margin-bottom: 20px;
		font-size: 1.6rem;
	}

	.ttlC .enDispaly {
		font-size: 1.5rem;
	}

	.ttlC {
		font-size: 1.5rem;
		width: 100%;
	}

	.ttlD {
		font-size: 1.4rem;
		margin-bottom: 20px;
	}

	.ttlD span {
		padding: 5px 5%;
	}

	/*btn*/
	.btnA a {
		width: 100%;
		font-size: 1.4rem;
	}

	/*lead*/
	#mainVisual .lead {
		left: 0;
	}

	#mainVisual .lead .enDispaly {
		font-size: 2.5rem;
	}


	#mainVisual .lead .enGothic {
		font-size: 3rem;
	}

	#mainVisual .lead .jpT {
		font-size: 1.8rem;
		margin-top: 15px;
	}

	/*top*/
	.about {
		padding: 50px 0;
	}

	.about .cntInner {
		width: 100%;
	}

	.bgShaded {
		background: url(../img/sp_bg_shaded_01.png) no-repeat bottom right;
		background-size: 100% auto;
	}

	.about .txtWrap {
		display: block;
		width: 100%;
		padding-right: 0;
	}

	.about .image.dotImg {
		margin-bottom: 20px;
	}

	.rec {
		background: none;
	}

	.recUl {
		width: 100%;
	}

	.recUl li {
		display: flex;
		justify-content: left;
		align-items: center;
		font-size: 1.3rem;
	}

	.recUl li i {
		width: 20px;
		position: relative;
		top: 5px;

	}

	.recUl li i img {
		width: 100%;
		height: auto;
	}

	.cntThree {
		margin-bottom: 0px;
	}


	.cntThree .txtBox,
	.cntThree .image {
		display: block;
		width: 100%;
	}

	.cntThree .image {
		margin-bottom: 20px;
	}

	.cntThree .btnA {
		margin-bottom: 50px;
	}

	.blogWrap {
		padding: 50px 0;
	}

	.blogList {
		width: 100%;
		margin: 0 auto 20px auto;
	}

	.blogList li .imgWrap {
		width: 30%;
	}

	.blogList .category {
		font-size: 1rem;
	}

	.blogList .ttl {
		font-size: 1.4rem;
	}

	.blogWrap .btnA a {
		width: 90%;
	}

	.faqWrap {
		padding: 50px 0;
	}

	.faqDl {
		width: 100%;
		padding: 10px 5%;
	}

	.faqDl dt {
		font-size: 1.4rem;
		margin-bottom: 10px;
	}

	.faqDl dt span {
		display: flex;
		justify-content: left;
		align-items: center;
		width: 100%;
	}

	.faqDl i {
		font-size: 2rem;
		margin-right: 20px;
		width: auto;

	}

	/*footer*/
	.contactUl {
		width: 90%;
	}

	.contactUl small {
		font-size: 1.2rem;
	}

	.siteFooterOuterA {
		padding: 30px 0 0;
	}

	.footInfo .footNav {
		width: 100%;
	}

	.siteFooterOuterB {
		padding: 30px 0 80px 0;
		position: relative;
	}

	.contactUl .heading {
		font-size: 1.4rem;
	}

	.contactUl li li {
		margin-right: 0;
		margin-left: 0;
	}

	.contactUl li {
		margin-bottom: 15px;
	}

	.siteFooterOuterA .btnA a {
		width: 80%;
	}

	.footInfo .footNav {
		text-align: left;
		padding: 0;
		margin-bottom: -1px;
	}

	.footInfo .footNav li {
		width: 50%;
		margin-right: 0;
		font-size: 1.1rem;
		text-align: center;
		border-right: none;
		border-bottom: 1px solid #ddd;
	}

	.footInfo .footNav li a {
		height: 40px;
		line-height: 40px;
	}

	.footInfo .footNav li:nth-child(odd) {
		border-right: 1px solid #ddd;
	}

	.footInfo .address {
		font-size: 1.1rem;
	}

	.footInfo {
		padding-top: 30px;
	}

	/*page*/
	#pageVisual .pageTtl {
		z-index: 9;
		width: 100%;
	}

	#pageVisual .enDispaly {
		font-size: 1.5rem;
		color: #fff;
	}

	#pageVisual .jpTxt {
		font-size: 1.5rem;
	}

	#pageVisual .mv img {}

	.blockModP {
		width: 90%;
		margin: -20px auto 30px auto;
	}

	.pages .imgLeft .image {
		padding: 0 5%;
	}

	.cntThree .txtBox .modP {
		margin-bottom: 15px;
		width: 100%;
	}

	.cntWidth1000 {
		width: 100%;
	}

	#reason {
		margin-top: -60px;
		padding-top: 60px;
	}

	.reasonOl .num {
		font-size: 1.5rem;
		width: 30px;
		margin: 0 auto 5px auto;
	}

	.reasonOl .imgWrap {
		display: block;
		padding: 0 5%;
	}

	.reasonOl .imgWrap .image {
		display: block;
		width: 100%;
		margin-bottom: 20px;
	}

	.reasonOl .imgWrap .txt {
		display: block;
		vertical-align: middle;
		padding-left: 0px;
	}

	.reasonOl li {
		margin-bottom: 30px;
	}

	.flow .reasonOl li {
		margin-bottom: 15px;
	}

	.flow .reasonOl .imgWrap {
		width: 90%;
		padding: 10px;
		margin: 0 auto 15px auto;
	}

	.flow .reasonOl .alignC img {
		width: 30px;
		height: auto;
	}

	.flow .reasonOl {
		margin-bottom: 50px;
	}

	.lecName {
		font-size: 1.2rem;
	}

	.schoolTxtBox .heading {
		font-size: 1.3rem;
		padding: 5px;
		top: -15px;
	}

	.single-lesson .dotImg,
	.lessonlistUl .dotImg {
		width: 90%;
		margin: 0 auto;
	}

	.lessonlistUl li .btnA {
		margin-bottom: 30px;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}

	.lessonlistUl li .line {
		margin-bottom: 30px;
	}

	.priceDl dt {
		text-align: center;
	}

	.priceDl dt,
	.priceDl dd {
		display: block;
		width: 100%;
		padding: 10px;
	}

	.vouceUl .voicesText {
		padding: 0 5% 5% 5%;
	}

	.dlA {
		width: 90%;
		margin-bottom: 20px;
		margin-left: auto;
		margin-right: auto;
	}

	.dlA dd,
	.dlA dt {
		display: block;
		width: 100%;
	}

	.dlA dt {
		margin-bottom: 0;
		padding: 5px;
	}

	.dlA dd {
		border: none;
	}

	.ggmapSize {
		width: 90%;
	}

	.categoryDl dt {
		font-size: 1.4rem;
	}

	.privacyCnt {
		padding: 0 5%;
	}

	.dlB {
		width: 100%;
		margin: 0 auto 30px auto;
	}

	.dlB dt {
		font-size: 1.5rem;
	}

	.blogDetail .category {
		font-size: 1.2rem;
	}

	.blogDetail time {
		font-size: 1.4rem;
	}

	.articleTtl {
		font-size: 1.5rem;
		margin-bottom: 20px;
	}

	.categoryDl dd ul {
		margin-bottom: 30px;
	}

	/*form*/
	.formWrap dt {
		font-size: 1.4rem;
	}

	.formElement {
		width: 90%;
		margin: 0 auto;
	}

	.formWrap {
		width: 100%;
	}

	.formWrap textarea,
	.formWrap input[type="email"],
	.formWrap input[type="text"] {
		border-radius: 0;
		padding: 5px;
	}

	.formWrap .formBtn {
		border-radius: 0;
	}

	.finish {
		padding-top: 0px !important;
	}

	.finish p {
		width: 90%;
		margin: 0 auto;
	}

	input[type="radio"] {
		position: relative;
		-webkit-appearance: button;
		appearance: button;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		width: 24px;
		height: 24px;
		content: "";
		background-color: #FFFFFF;
		border: 1px solid #999999;
		-webkit-border-radius: 24px;
		border-radius: 24px;
		vertical-align: middle;
		cursor: pointer;
	}

	input[type="radio"]:checked:after {
		display: block;
		position: absolute;
		top: 5px;
		left: 5px;
		content: "";
		width: 12px;
		height: 12px;
		background: #5a79ba;
		-webkit-border-radius: 12px;
		border-radius: 12px;
	}

	/*bred*/
	.bred {
		margin-bottom: 30px;
		font-size: 1.2rem;
	}

	.bred a {
		font-size: 1.2rem;
	}

	/*margin*/
	.mb100 {
		margin-bottom: 50px;
	}

	.mb50 {
		margin-bottom: 30px;
	}

	.imgWrapper {
		display: block;
	}

	.imgWrapper img {
		width: 100%;
	}

}


/*****************************************************************************
	Flex Box
*****************************************************************************/
/***********
horizon
************/
.f_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}

.f_item {
	-webkit-flex: 1 0 auto;
	-ms-flex: 1 0 auto;
	flex: 1 0 auto;
}

.f_h_start {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

.f_h_center {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: center;
	justify-content: center;
}

.f_h_end {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

.f_h_sb {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.f_h_sa {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-around;
	justify-content: space-around;
}

.f_wrap {
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

/***********
vertical
************/
.f_column {
	-webkit-box-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.f_start {
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.f_end {
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.f_center {
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.f_baseline {
	-webkit-align-items: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
}

.f_stretch {
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}

/*****************************************************************************
	common media
*****************************************************************************/
.col {
	width: 100%;
}

@media screen and (max-width:770px) {

	/* for Mobile */
	.f_res {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	div.blank {
		height: 25px;
	}

	div.blankx2 {
		height: 50px;
	}

	.pc {
		display: none;
	}

	.order_top {
		-webkit-order: -1;
		-ms-order: -1;
		order: -1;
	}

	.order_1 {
		-webkit-order: 1;
		-ms-order: 1;
		order: 1;
	}

	address {}
}

@media screen and (min-width:768px) {

	/* for Tablet and PC */
	.f_res {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}

	div.blank {
		height: 50px;
	}

	div.blankx2 {
		height: 100px;
	}

	div.blankx3 {
		height: 150px;
	}

	.sp {
		display: none;
	}

	.w10 {
		width: 10%;
		min-width: 10%;
	}

	.w15 {
		width: 15%;
		min-width: 15%;
	}

	.w20 {
		width: 20%;
		min-width: 20%;
	}

	.w20s {
		width: calc(20% - 1em);
		min-width: calc(20% - 1em);
	}

	.w20l {
		width: calc(20% + 1em);
		min-width: calc(20% + 1em);
	}

	.w25 {
		width: 25%;
		min-width: 25%;
	}

	.w25s {
		width: calc(25% - 1em);
	}

	.w33 {
		width: calc(100% / 3);
	}

	.w33s {
		width: calc(100% / 3 - 0.5em);
	}

	.w30 {
		width: 30%;
		min-width: 30%;
	}

	.w30s {
		width: calc(30% - 1em);
		min-width: calc(30% - 1em);
	}

	.w30l {
		width: calc(30% + 1em);
	}

	.w35 {
		width: 35%;
		min-width: 35%;
	}

	.w35s {
		width: calc(35% - 1em);
		min-width: calc(35% - 1em);
	}

	.w40 {
		width: 40%;
		min-width: 40%;
	}

	.w40s {
		width: calc(40% - 1em);
		min-width: calc(40% - 1em);
	}

	.w45 {
		width: 45%;
	}

	.w45s {
		width: calc(45% - 1em);
		min-width: calc(45% - 1em);
	}

	.w45l {
		width: calc(45% + 1em);
		min-width: calc(45% + 1em);
	}

	.w60 {
		width: 60%;
		min-width: 60%;
	}

	.w60s {
		width: calc(60% - 1em);
	}

	.w60l {
		width: calc(60% + 1em);
	}

	.w66 {
		width: 66%;
	}

	.w50s {
		width: calc(50% - 1em);
	}

	.w50 {
		width: 50%;
		min-width: 50%;
	}

	.w50l {
		width: calc(50% + 1em);
	}

	.w55 {
		width: calc(55%);
		min-width: calc(55%);
	}

	.w55s {
		width: calc(55% - 1em);
		min-width: calc(55% - 1em);
	}

	.w65 {
		width: 65%;
		min-width: 65%;
	}

	.w65s {
		width: calc(65% - 1em);
		min-width: calc(65% - 1em);
	}

	.w75 {
		width: 75%;
	}

	.w75s {
		width: calc(75% - 1em);
	}

	.w70 {
		width: 70%;
	}

	.w70s {
		width: calc(70% - 1em);
	}

	.w70l {
		width: calc(70% + 1em);
	}

	.w80 {
		width: 80%;
	}

	.w80s {
		width: calc(80% - 1em);
	}

	.w80l {
		width: calc(80% + 1em);
	}

	.w85 {
		width: 85%;
	}

	.w90 {
		width: 90%;
	}

	.w95 {
		width: 95%;
	}
}

.f_cc {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

/*blog対策*/
.meta time {
	font-size: 1.6rem;
	padding-right: 10px;
}

.meta br {
	display: none;
}


.articleTtl {
	font-size: 3rem;
}

.seoText,
.tableContents li a,
.blogDetail {
	font-size: 1.6rem;
	font-size: 16px !important;
	line-height: 2 !important;
}

.seoTtl02 {
	margin-top: 4em !important;
}

.seoTtl01 {
	margin-top: 2em !important;
	font-size: 2.8rem !important;
	font-size: 28px !important;
}

@media screen and (max-width:768px) {
	.meta br {
		display: block;
	}

	.articleTtl {
		font-size: 2.6rem;
	}

	.seoTtl01 {
		font-size: 2.4rem !important;
		font-size: 24px !important;
	}

	.seoTtl02 {
		margin-top: 2em !important;
	}

}

/***************
	Logo Size
****************/
.fixNav .logo img {
	width: auto;
	height: auto;
	max-width: 180px;
	max-height: 60px;
}

.footInfo .footLogo img {
	width: auto;
	height: auto;
	max-width: 300px;
	max-height: 70px;
}

@media screen and (max-width: 770px) {
	.spSiteHeader .logo img {
		width: auto;
		height: auto;
		max-width: 200px;
		max-height: 40px;
	}

	.footInfo .footLogo img {
		width: auto;
		height: auto;
		max-width: 200px;
		max-height: 70px;
	}
}



@media screen and (max-width: 770px) {
	.googleCalendar {
		width: 100% !important;
		padding-left: 1.2em;
		padding-right: 1.2em;
		position: relative;
	}
}
