@charset "utf-8";

/*--------------------------------------------------
	リンクカラー
--------------------------------------------------*/
a:link { color: #183bba; text-decoration: none; }
a:visited { color: #183bba; text-decoration: none; }
a:hover { color: #183bba; text-decoration: underline; }

@media screen and (min-width: 768px) {
a[href^="tel:"] { pointer-events: none;}
}

/*--------------------------------------------------
	フォントスタイル
--------------------------------------------------*/
.bold {	font-weight: bold;}
.red { color: #f00;}
.orange { color: #EC7632;}
.marker { background: linear-gradient(transparent 70%, #ECE532 0%);}

::selection {background: #fe4545;color:#fff;}
::-moz-selection {background: #fe4545;color:#fff;}

/*--------------------------------------------------
	マージン
--------------------------------------------------*/
.mgt05 { margin-top: 5px;}
.mgt10 { margin-top: 10px;}
.mgt15 { margin-top: 15px;}
.mgt20 { margin-top: 20px;}
.mgt25 { margin-top: 25px;}
.mgt30 { margin-top: 30px;}
.mgt35 { margin-top: 35px;}
.mgt40 { margin-top: 40px;}
.mgt45 { margin-top: 45px;}

/*--------------------------------------------------
	フロート
--------------------------------------------------*/
.fltR { float: right;}
.fltC { float: center;}
.fltL { float: left;}

/*--------------------------------------------------
	配置
--------------------------------------------------*/
.right { text-align: right; }
.left { text-align: left; }
.center { text-align: center; }

/*--------------------------------------------------
	float解除
--------------------------------------------------*/
.clearfix:after { content: ""; display: block; clear: both; }
.clearfix { display: inline-block; }
/*\*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/**/

.both { clear: both; }

/*--------------------------------------------------
	PC/SP非表示
--------------------------------------------------*/
.sp { display: none !important; }
@media screen and (max-width: 767px) {
.pc { display: none !important; }
.sp { display: inherit !important; }
}

/*==================================================
	レイアウト
==================================================*/
.error { color: red; margin-bottom: 15px; }
.errmsg { color: red; font-size: 1.6rem; }
#loading { width: 100%; height: 100%; margin: 0; background: #fff; opacity: 1.0; position: fixed; top: 0; left: 0; z-index: 99999; }
#loading img { position:absolute; top:50%; left:50%;margin-top: -1.5px; margin-left: -70px; }

html {
	font-size: 62.5%;
}
body {
    font-family: 'Noto Sans JP', "メイリオ", "meiryo", Verdana, "Hiragino Kaku Gothic Pro W3", "MS UI Gothic", sans-serif;
	font-size: 1.0rem;
	line-height: 1;
	letter-spacing: 0px;
	overflow-wrap: break-word;
	word-wrap: break-word;
	-webkit-text-size-adjust: none;
	/* font-feature-settings: "palt" 1, "kern" 1; */
	color: #333;
	background: #fff;
}
img {
	max-width: 100%;
	height: auto;
}
#wrap {
	overflow: hidden;
	width: 100%;
	max-width: 750px;
	text-align: left;
	margin: 0 auto;
	box-shadow: 0 0 50px rgba(0,0,0,0.3);
}

.inner {
    padding: 0 4.67%; /* 340px */
}
.inner610 {
	padding: 0 9.33%;
}
.inner650 {
	padding: 0 6.67%;
}
.inner680 {
	padding: 0 4.66%;
}
.inner710 {
	padding: 0 2.66%;
}
#content {
}
section {
    padding: 100px 0;
}
section:not(#form) {
    letter-spacing: 0.08em;
}
.sec_head {
    text-align: center;
}
.sec_ttlEN {
    font-size: 12rem;
    color: #DCF1FE;
    letter-spacing: 0.05em;
}
.sec_ttl {
    line-height: 1.5;
    font-size: 4.8rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    color: #112D46;
    margin-top: -1.4em;
}
.jost {
    font-family: "Jost", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
.cvArea {
    text-align: center;
}
@media screen and (max-width: 767px) {
#content {
	font-size: 1.0rem;
}
section {
    padding: 50px 0;
}
.sec_ttlEN {
    font-size: 6rem;
}
.sec_ttl {
    font-size: 2.4rem;
}
}
@media screen and (max-width: 374px) {
#content {
	font-size: 0.9rem;
}
}

/*==================================================
	floating
==================================================*/
.floating {
    display: none;
    position: fixed;
    bottom: 0;
    max-width: 750px;
    z-index: 100;
}
.floating_btn {
    display: block;
    padding: 1.5%;
    background: #0D4EA7;
}

/*==================================================
	#header
==================================================*/
#header {
	min-height: 140px;
	width: 100%;
	max-width: 750px;
	background: #fff;
	z-index: 100;
}
#header .headerCont {
	display: flex;
	justify-content: space-between;
	width: 100%;
	text-align: center;
	font-size: 1.3rem;
	font-weight: bold;
	padding-top: 20px;
	padding-bottom: 20px;
}
#header p + p {
	margin-top: 10px;
}
#header .logo {
	width: 38.59%;
}
#header .logo .img span {
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	margin-top: 5px;
}
#header .entry {
	width: 58.45%;
}
#header .entry .btnWrap {
	display: flex;
	justify-content: center;
	margin-top: 5px;
}
#header .entry .btnWrap a {
	display: block;
}
#header .entry .btnWrap a + a {
	margin-left: 2px;
}
@media screen and (max-width: 767px) {
#header {
	min-height: 80px;
}
#header .headerCont {
	font-size: 0.7rem;
	padding-top: 10px;
	padding-bottom: 10px;
}
#header p + p {
	margin-top: 5px;
}
#header .logo .img span {
	font-size: 1.2rem;
}
#header .entry .btnWrap a {
	/*height: 45px;*/
	height: 55px;
}
#header .entry .btnWrap img {
	height: 100%;
}
}
@media screen and (max-width: 374px) {
#header {
	min-height: 65px;
}
#header .headerCont {
	font-size: 0.6rem;
}
#header .logo .img span {
	font-size: 1.0rem;
}
}

/*==================================================
	#mv
==================================================*/
#mv {
    position: relative;
}
.mv_box {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 69.33%; /*260px*/
    height: 59.01%; /*275px*/
    margin: auto;
    padding: 0 5.87%;
    background: rgba(255,255,255,0.9);
}
.mv_emblem {
    text-align: right;
    margin-top: -7.27%;
}
.mv_ttl {
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-size: 3.5rem;
    margin-top: 3.64%;
}
.large {
    font-size: 4.5rem;
}
.mv_course {
    display: flex;
    font-size: 3.5rem;
    font-weight: bold;
    margin-top: 7.27%;
}
.mv_course li:first-child {
    color: #1B4986;
}
.mv_course li:nth-child(2) {
    color: #E75751;
    margin-left: 1em;
}
.mv_course li:last-child {
    color: #547AF0;
    margin-left: 1em;
}
.mv_avatar {
    position: absolute;
    right: 0;
    bottom: 9.09%;
    left: 0;
    width: 85%;
    max-width: 442px;
    margin: auto;
}
@media screen and (max-width: 767px) {
.mv_emblem {
    width: 31.15%;
    margin-left: auto;
}
.mv_ttl {
    font-size: 1.8rem;
    letter-spacing: 0;
}
.large {
    font-size: 2.4rem;
}
.mv_course {
    font-size: 1.8rem;
}
}

/*==================================================
	#campaign
==================================================*/
#campaign {
    padding: 40px 0;
}
@media screen and (max-width: 767px) {
#campaign {
    padding: 20px 0;
}
}

/*==================================================
	#content
==================================================*/
#intro {
    padding: 40px 0 80px;
    background: url(../images/intro_bg.jpg) no-repeat center bottom;
    background-size: 100% auto;
}
#intro .sec_ttlEN {
    font-size: 9rem;
}
#intro .sec_ttlEN span {
    display: block;
    text-align: right;
}
#intro .sec_ttl {
    text-align: justify;
    text-align-last: justify;
    font-size: 4.4rem;
    letter-spacing: 0;
    margin-top: 10px;
}
.intro_txt {
    line-height: 1.7;
    text-align: justify;
    font-size: 2.8rem;
    margin-top: 20px;
}
.intro_figure {
    text-align: center;
    width: 73.07%;
    margin: 60px auto 0;
}
@media screen and (max-width: 767px) {
#intro {
    padding: 20px 0 80px;
}
#intro .sec_ttlEN {
    font-size: 4.5rem;
}
#intro .sec_ttl {
    font-size: 2.2rem;
}
.intro_txt {
    font-size: 1.4rem;
}
}


#reasons {
    background: url(../images/reasons_bg.jpg) no-repeat center bottom;
    background-size: 100% auto;
}
#reasons .sec_ttl {
    line-height: 1;
    font-size: 3.6rem;
}
#reasons .sec_ttl .large {
    font-size: 4rem;
}
#reasons .sec_ttl .orange {
    font-size: 5.6rem;
}
#reasons .reasons_block {
    padding: 0 5.29%;
}
.sec_head + .reasons_block {
    margin-top: 60px;
}
.reasons_block + .reasons_block {
    margin-top: 60px;
}
.reasons_photo {
    text-align: center;
}
.reasons_no {
    display: flex;
    align-items: center;
    font-size: 2.8rem;
    color: #56BDFB;
    margin-top: 10px;
}
.reasons_no::after {
    content: "";
    width: 134px;
    height: 1px;
    background-color: #56BDFB;
    margin-left: 5px;
}
.reasons_head {
    margin-top: 10px;
}
.reasons_ttlEN {
    font-size: 7rem;
    color: #DCF1FE;
}
.reasons_ttl {
    line-height: 1.7;
    font-size: 3.6rem;
    font-weight: bold;
    margin-top: -1em;
}
.reasons_txt {
    line-height: 1.7;
    text-align: justify;
    font-size: 2.8rem;
    margin-top: 20px;
}
.reasons_note {
    font-size: 2rem;
    margin-top: 20px;
}
@media screen and (max-width: 767px) {
#reasons .sec_ttl {
    font-size: 1.8rem;
}
#reasons .sec_ttl .large {
    font-size: 2rem;
}
#reasons .sec_ttl .orange {
    font-size: 2.8rem;
}
.sec_head+.reasons_block {
    margin-top: 30px;
}
.reasons_block + .reasons_block {
    margin-top: 30px;
}
.reasons_no {
    font-size: 1.4rem;
}
.reasons_no::after {
    width: 67px;
}
.reasons_ttlEN {
    font-size: 3.5rem;
}
.reasons_ttl {
    font-size: 1.8rem;
}
.reasons_txt {
    font-size: 1.4rem;
    margin-top: 10px;
}
.reasons_note {
    font-size: 1rem;
    margin-top: 10px;
}
}


#news {
    text-align: center;
    padding: 20px 0 0;
}
.news_line1 {
    line-height: 1.5;
    font-size: 4rem;
    color: #fff;
    font-weight: bold;
    margin-top: 20px;
    padding: 15px 4.67%;
    background: #1A3C90;
}
#news .inner {
    margin-top: 20px;
}
.news_txt {
    text-align: left;
    line-height: 1.5;
    font-size: 4rem;
    letter-spacing: initial;
    font-weight: bold;
}
.news_marker {
    background: linear-gradient(transparent 90%, #DF0428 0%);
}
.news_blue {
    font-size: 4.8rem;
    color: #1A3C90;
}
.news_note {
    text-align: left;
    font-size: 2rem;
    font-weight: bold;
    margin-top: 10px;
}
.news_img {
    width: 41.19%;
    margin: 40px auto 0;
}
.news_line2 {
    line-height: 1.5;
    font-size: 3rem;
    color: #fff;
    font-weight: bold;
    padding: 10px 4.67%;
    background: #1A3C90;
}
.news_line2 small {
    display: block;
    font-size: 2rem;
    font-weight: normal;
    margin-top: 5px;
}
@media screen and (max-width: 767px) {
.news_line1 {
    font-size: 2rem;
}
.news_txt {
    font-size: 2rem;
}
.news_blue {
    font-size: 2.4rem;
}
.news_note {
    font-size: 1rem;
}
.news_img {
    margin: 20px auto 0;
}
.news_line2 {
    font-size: 1.5rem;
}
.news_line2 small {
    margin-top: initial;
}
.news_line2 small {
    font-size: 1rem;
}
}


#teacher {
    background: #56BDFB;
}
#teacher .sec_ttlEN {
    color: #4EACE5;
}
#teacher .sec_ttl {
    text-align: justify;
    text-align-last: justify;
    color: #fff;
}
.teacher_list {
    margin: 60px 5.29% 0;
    background: #fff;
}
.teacher_item {
    position: relative;
    padding: 60px 0;
}
.teacher_item_inner {
    padding: 0 10.53%;
}
.teacher_school {
    display: flex;
    align-items: center;
    font-size: 3.2rem;
}
.teacher_school span {
    display: block;
    width: 11.5em;;
}
.teacher_school::after {
    content: "";
    /* width: 124px; */
    width: calc(100% - 12em);
    height: 4px;
    background-color: #56BDFB;
    margin-left: 0.5em;
}
.teacher_prof {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}
.teacher_name {
    font-size: 4rem;
    font-weight: bold;
    color: #56BDFB;
}
.teacher_from {
    font-size: 2.8rem;
}
.teacher_from span {
    display: inline-block;;
    color: #fff;
    font-weight: bold;
    margin-right: 10px;
    padding: 5px 10px;
    background: #EC7632;
}
.teacher_photo {
    text-align: center;
    width: 83.33%;
    margin: 60px auto 0;
}
.teacher_desc {
    line-height: 1.7;
    /* text-align: justify; */
    font-size: 2.8rem;
    margin-top: 60px;
}
.slick-slide img {
    display: inline !important;
}
.slide_arrow {
    position: absolute;
    top: 50%;
    width: 40px;
    margin: auto;
    cursor: pointer;
    z-index: 50;
}
.prev_arrow {
    left: 5px;
}
.next_arrow {
    right: 5px;
}
.slick-dots {
    bottom: initial !important;
    width: 100vw !important;
    margin: 0 calc(50% - 50vw) !important;
    padding: 30px 0 0 !important;
}
.slick-dots li button {
    padding: 0 !important;
}
.slick-dots li button:before {
    font-size: 10px !important;
    color: #fff !important;
    opacity: initial !important;
}
.slick-dots li.slick-active button:before {
    color: #EC7632 !important;
    opacity: initial !important;
}
@media screen and (max-width: 767px) {
.teacher_list {
    margin-top: 30px;
}
.teacher_item {
    padding: 30px 0;
}
.teacher_school {
    font-size: 1.6rem;
}
.teacher_school::after {
    /* width: 62px; */
    height: 2px;
}
.teacher_prof {
    margin-top: 15px;
}
.teacher_name {
    font-size: 2rem;
}
.teacher_from {
    font-size: 1.4rem;
}
.teacher_photo {
    margin: 30px auto 0;
}
.teacher_desc {
    font-size: 1.4rem;
    margin-top: 30px;
}
.slide_arrow {
    width: 20px;
}
.slick-dots {
    min-width: 360px;
    padding: 15px 0 0 !important;
}
}


#school {
}
.school_list {
    margin-top: 60px;
}
.school_item {
    text-align: center;
    padding: 0 8.51%;
}
.school_item + .school_item {
    margin-top: 60px;
}
.school_name {
    font-size: 3.6rem;
    font-weight: bold;
    margin-top: 10px;
}
.school_tel {
    font-size: 3.6rem;
    font-weight: bold;
    margin-top: 20px;
}
.school_tel img {
    margin-right: 2px;
}
.school_tel a {
    color: #333;
}
@media screen and (max-width: 767px) {
.school_list {
    margin-top: 30px;
}
.school_item+.school_item {
    margin-top: 30px;
}
.school_name {
    font-size: 1.8rem;
    margin-top: 10px;
}
.school_tel {
    font-size: 1.8rem;
    margin-top: 10px;
}
.school_tel img {
    width: 19px;
}
}


#faq {
}
#faq .sec_head + .faq_item {
    margin-top: 60px;
}
.faq_item + .faq_item {
    margin-top: 60px;
}
.faq_icon {
    margin-right: 30px;
}
.faq_q {
    position: relative;
    display: flex;
    align-items: center;
    line-height: 1.7;
    text-align: justify;
    font-size: 2.8rem;
    padding: 30px 90px 30px 30px;
    background: #EEF5F9;
    border-radius: 20px;
    cursor: pointer;
}
.faq_q::after {
    content: "＋";
    position: absolute;
    top: -0.5em;
    right: 15px;
    bottom: 0;
    width: 1em;
    height: 1em;
    font-weight: bold;
    margin: auto;
}
.faq_q.active::after,
#faq .sec_head+.faq_item .faq_q::after {
    content: "－";
}
#faq .sec_head+.faq_item .faq_q.active::after {
    content: "＋";
}
.faq_a {
    display: none;
}
#faq .sec_head+.faq_item .faq_a {
    display: block; /*最初は開けておく*/
}
.faq_a_inner {
    display: flex;
    align-items: flex-start;
    line-height: 1.7;
    text-align: justify;
    font-size: 2.8rem;
    padding: 30px 30px 0;
}
@media screen and (max-width: 767px) {
#faq .sec_head+.faq_item {
    margin-top: 30px;
}
.faq_item+.faq_item {
    margin-top: 20px;
}
.faq_icon {
    width: 36px;
    margin-right: 15px;
}
.faq_q {
    font-size: 1.4rem;
    padding: 15px 45px 15px 15px;
}
.faq_a_inner {
    font-size: 1.4rem;
    padding: 15px 15px 0;
}
}


#flow {
    background: #EDF7FB;
}
#flow .sec_ttlEN {
    color: #fff;
}
.flow_list {
    margin-top: 60px;
    padding: 0 8.36%;
}
.flow_item {
    position: relative;
    min-height: 700px;
    padding: 0 5.71%;
    background: #fff;
    border: 8px #56BDFB solid;
}
.flow_item:last-child {
    border: 8px #EC7632 solid;
}
.flow_item + .flow_item {
    margin-top: 60px;
}
.flow_step {
    position: absolute;
    top: 0;
    left: 0;
}
.flow_img {
    text-align: center;
    margin: 100px auto 0;
}
.flow_ttl {
    line-height: 1.5;
    text-align: center;
    color: #56BDFB;
    font-size: 3.6rem;
    font-weight: bold;
    margin-top: 20px;
}
.flow_item:last-child .flow_ttl {
    color: #EC7632;
}
.flow_desc {
    line-height: 1.7;
    text-align: justify;
    font-size: 2.8rem;
    margin-top: 60px;
}
@media screen and (max-width: 767px) {
.flow_list {
    margin-top: 30px;
}
.flow_item {
    min-height: 350px;
    border: 4px #56BDFB solid;
}
.flow_item:last-child {
    border: 4px #EC7632 solid;
}
.flow_item+.flow_item {
    margin-top: 30px;
}
.flow_step {
    width: 82px;
}
.flow_img {
    width: 100px;
    margin: 50px auto 0;
}
.flow_ttl {
    font-size: 1.8rem;
    margin-top: 10px;
}
.flow_desc {
    font-size: 1.4rem;
    margin-top: 30px;
}
}

/*==================================================
	#form
==================================================*/
#form {
    padding: 0;
}
#form .sec_ttl {
	margin-top: 80px;
}
#form .sec_ttl span {
    font-size: 4rem;
}
#form .flow {
	text-align: center;
	margin-top: 40px;
}
#form .txt {
	margin-top: 20px;
}
#form .formArea {
	margin-top: 40px;
	padding-top: 80px;
	padding-bottom: 80px;
	background: #eeeeee;
}
#form .reserTableWrap {   }
#form .reserTableWrap .reserTable table { width: 100%; font-size: 1.6rem; }
#form .reserTableWrap .reserTable tr + tr:not([class])  { border-top: 1px solid #cccccc; }
#form .reserTableWrap .reserTable .formNote .small { display: block; margin: -5px 0 11px; padding-left: 12px; }
#form .reserTableWrap .reserTable .formField { position: relative; width: 257px; font-weight: normal; color: #333; padding: 16px 0 16px 12px; font-weight: bold; }
#form .reserTableWrap .reserTable .formField.vt { padding-top: 16px; vertical-align: top; }
#form .reserTableWrap .reserTable .formField.vt:after { top: 20px; transform: none; }
#form .reserTableWrap .reserTable .formField:after { content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 18px; border-left: 1px solid #cccccc; }
#form .reserTableWrap .reserTable .formField .required { font-size: 1.0rem; font-weight: normal; color: #e60012; margin-left: 5px; }
#form .reserTableWrap .reserTable .small { font-size: 1.0rem; font-weight: normal; }
#form .reserTableWrap .reserTable .formInput { width: 490px; padding: 16px 15px 16px 28px; }
#form .reserTableWrap .reserTable .formInput .checkboxList label { display: inline-block; }
#form .reserTableWrap .reserTable .formInput input.inputStyle { width: 100%; height: 38px; border: none; border-radius: 4px; padding: 0 10px; font-size: 1.6rem; box-shadow: inset 0 2px 0 0 rgba(4, 0, 0, 0.1); font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }
#form .reserTableWrap .reserTable .formInput input.inputStyle::placeholder { color: #cccccc; }
#form .reserTableWrap .reserTable .formInput input.inputDate { width: 195px; }
#form .reserTableWrap .reserTable .formInput .checkboxList input { appearance: auto; margin: 10px 5px 10px 10px; }
#form .reserTableWrap .reserTable .formInput input.none { display: none }
#form .reserTableWrap .reserTable .formInput select { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: #fff url(../images/select_arrow.png) center right 12px/auto no-repeat; width: 195px; height: 38px; max-width: 100%; border: none; border-radius: 5px; padding: 0 20px 0 10px; font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 1.6rem; box-shadow: inset 0 2px 0 0 rgba(4, 0, 0, 0.1); }
#form .reserTableWrap .reserTable .formInput select::-ms-expand { display: none; }
#form .reserTableWrap .reserTable .formInput textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; height: 188px; width: 100%; border: none; border-radius: 5px; padding: 10px; font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; box-shadow: inset 0 2px 0 0 rgba(4, 0, 0, 0.1); resize: none; }
#form .reserTableWrap .levelTable { margin-top: 15px; width: 100%; font-size: 1.4rem; border: 2px solid #cccccc; border-bottom: 1px solid #cccccc; }
#form .reserTableWrap .levelTable table { width: 100%; }
#form .reserTableWrap .levelTable tr { height: 40px; background: #ebebeb; }
#form .reserTableWrap .levelTable tr > td, #form .reserTableWrap .levelTable tr > th { border-bottom: 1px solid #cccccc; }
#form .reserTableWrap .levelTable tr:first-child > td, #form .reserTableWrap .levelTable tr:first-child > th { border-bottom: 2px solid #cccccc; }
#form .reserTableWrap .levelTable tr:nth-child(2n) { background: #fff; }
#form .reserTableWrap .levelTable tr th { width: 20%; vertical-align: middle; padding: 12px 20px; text-align: center; font-weight: bold; }
#form .reserTableWrap .levelTable tr th:first-child { border-right: 2px solid #cccccc; font-weight: bold; }
#form .reserTableWrap .levelTable tr td { vertical-align: middle; padding: 0 20px; text-align: center; color: #666; }
#form .reserTableWrap .cmmBtn { text-align: center; margin-top: 40px; }
#form .reserTableWrap .cmmBtn input { display: inline-block; width: 270px; font-size: 1.8rem; color: #fff; background: #FF3902; text-align: center; font-weight: bold; border: none; border-radius: 40px; padding: 12px 0 11px; box-shadow: 0 0 30px rgba(214, 112, 29, 0.6); cursor: pointer; }
#form .reserTableWrap .cmmBtn input.btn_return { margin-right: 15px; background: #333; box-shadow: 0 0 30px rgba(51, 51, 51, 0.6);}
#form .reserTableWrap .cmmBtn input:hover { -webkit-animation: flash 1.0s; animation: flash 1.0s; }
#form .privacy { text-align: left; font-size: 1.2rem; margin-top: 40px;}
#form .privacy p + p { margin-top: 10px;}
#form .reserContact { text-align: center; margin: 50px 0 0; background: #ddd; padding: 15px 0; }
#form .reserContact .contTxt {  }
#form .reserContact .contTel a { font-size: 2.6rem; font-weight: bold; color: #333; }
#form .thanksTxt {
}
#form .thanksTxt .center {
	text-align: center;
}
#form .thanksTxt .ttl {
	font-weight: bold;
}
#form .thanksTxt .ttl + p {
	margin-top: 20px;
}
#form .thanksTxt .linefriend {
	margin-top: 80px;
}
#form .formAreaThanks:before {
	content: "";
	display: block;
	height: 140px;
	margin-top: -140px;
	visibility: hidden;
}
#form .formAreaThanks {
	position: relative;
	text-align: center;
}
#form .formAreaThanks .btn {
	position: absolute;
	right: 0;
	bottom: 20.99%;
	left: 0;
	width: 54.13%;
	margin: auto;
}

@media screen and (max-width: 767px) {
#form {
}
#form .sec_ttl {
	width: 98.69%;
	margin: 40px auto 0;
}
#form .sec_ttl span {
    font-size: 2rem;
}
#form h2 + .img {
	width: 99.02%;
	margin: 15px auto 0;
}
#form .flow {
	margin-top: 20px;
}
#form .formArea {
	margin-top: 20px;
	padding-top: 40px;
	padding-bottom: 40px;
}
  #form .reserTableWrap { }
  #form .reserTableWrap .reserTable tr + tr:not([class])  { border-top: 2px solid #ccc; }
  #form .reserTableWrap .reserTable .formNote .small { padding-left: 0; }
  #form .reserTableWrap .reserTable .formField { display: block; width: 100%; padding: 10px 0 0; font-weight: bold; font-size: 15px; }
  #form .reserTableWrap .reserTable .formField:after { content: none; }
  #form .reserTableWrap .reserTable .formInput { display: block; width: 100%; padding: 4px 0 11px; font-size: 1.5rem; }
  #form .reserTableWrap .reserTable .formInput input.inputStyle { font-size: 1.6rem; }
  #form .reserTableWrap .reserTable .formInput input.inputDate { width: 100%; -webkit-appearance: none; }
  #form .reserTableWrap .reserTable .formInput select { width: 100%; font-size: 1.6rem; }
  #form .reserTableWrap .reserTable .formInput textarea { font-size: 1.6rem; }
  #form .reserTableWrap .levelTable { margin-top: 10px; font-size: 1.1rem; border: none; }
  #form .reserTableWrap .levelTable tr { height: 29px; }
  #form .reserTableWrap .levelTable tr:first-child > th { border-bottom: 1px solid #ccc; }
  #form .reserTableWrap .levelTable tr th, #form .reserTableWrap .levelTable tr th:first-child { padding: 0 2px; border: 1px solid #ccc; font-weight: bold; }
  #form .reserTableWrap .levelTable tr td { padding: 0 2px; border: 1px solid #ccc; }
  #form .reserTableWrap .cmmBtn { width: 100%; margin-top: 22px; }
  #form .reserTableWrap .cmmBtn input { width: 95%; padding: 9px 0; font-size: 1.6rem; }
  #form .reserTableWrap .cmmBtn input.btn_return { margin-right: 0; margin-bottom: 15px;}
	#form .privacy { margin-top: 20px;}
  #form .reserContact { margin: 30px 0 0; }
  #form .reserContact .contTel a { font-size: 2.3rem; }
		
#form .thanksTxt {
}
#form .thanksTxt .linefriend {
	margin-top: 40px;
}
#form .formAreaThanks:before {
	height: 80px;
	margin-top: -80px;
}
#form .formAreaThanks .btn {
	bottom: 20.61%;
}
}

/*==================================================
	#footer
==================================================*/
#footer .footerCont {
	padding-top: 80px;
	padding-bottom: 60px;
}
#footer .logo {
	text-align: center;
}
#footer .school {
	margin-top: 40px;
}
#footer .school li {
	display: flex;
	justify-content: center;
	align-items: center;
}
#footer .school li + li {
	margin-top: 10px;
}
#footer .school li .name {
	width: 25%;
	text-align: right;
	font-size: 2.0rem;
	padding: 10px 10px 10px 0;
	border-right: 1px #3C3C3C solid;
}
#footer .school li .detail {
	width: 75%;
	padding-left: 10px;	
}
#footer .school li .detail .ad {
	font-size: 1.2rem;
}
#footer .school li .detail .call {
	font-size: 1.8rem;
	margin-top: 5px;
}
#footer .links {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
#footer .links li {
	padding: 0 15px;
	border-right: 1px #3C3C3C solid;
	border-left: 1px #3C3C3C solid;
}
#footer .copy {
	text-align: center;
	color: #fff;
	padding: 15px 0;
	background: rgb(0,67,129);
	/* background: linear-gradient(145deg, rgba(255,182,197,1) 0%, rgba(255,110,139,1) 15%, rgba(255,110,139,1) 100%); */
}
@media screen and (max-width: 767px) {
#footer .footerCont {
	padding-top: 40px;
	padding-bottom: 30px;
}
#footer .logo {
	width: 44.92%;
	margin: auto;
}
#footer .school {
	margin-top: 20px;
}
#footer .school li + li {
	margin-top: 5px;
}
#footer .school li .name {
	font-size: 1.0rem;
	padding: 5px 5px 5px 0;
}
#footer .school li .detail {
	padding-left: 5px;	
}
#footer .school li .detail .ad {
	font-size: 0.7rem;
}
#footer .school li .detail .call {
	font-size: 1.0rem;
	margin-top: 5px;
}
#footer .links {
	margin-top: 20px;
}
#footer .copy {
	padding: 10px 0;
}
}

