@charset "utf-8";

/*--------------------------------------------------
	common
--------------------------------------------------*/
a:link { color: #777; text-decoration: none; }
a:visited { color: #777; text-decoration: none; }
a:hover { color: #777; text-decoration: none; }
@media screen and (min-width: 768px) {
a[href^="tel:"] { pointer-events: none; color: inherit; }
}

.bold {	font-weight: bold; }
.txtS { font-size: 2.4rem; }
.marker { line-height: 1.3em; font-weight: bold; background: #fffe84;}
@media (max-width: 767px) {
.txtS { font-size: 1.2rem; }
}

/* 選択時背景色 */
/*::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; }

.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; }

.sp { display: none !important; }
@media screen and (max-width: 767px) {
.pc { display: none !important; }
.sp { display: inherit !important; }
}

/*--------------------------------------------------
	layout
--------------------------------------------------*/
html {
	font-size: 62.5%;
}
body {
	line-height: 1;
	font-family: 'Noto Sans JP', "メイリオ", "meiryo", Verdana, "Hiragino Kaku Gothic Pro W3", "MS UI Gothic", sans-serif;
	font-size: 1.0rem;
	overflow-wrap: break-word;
	word-wrap: break-word;
	-webkit-text-size-adjust: none;
	color: #333;
	background: #feedd9;
}
img {
	max-width: 100%;
	height: auto;
}
#wrap {
	position: relative;
	max-width: 750px;
	text-align: left;
	margin: 0 auto;
	background: #fff;
	box-shadow: 0 0 30px rgba(0,0,0,0.2); 
}
section {
	padding: 80px 0;
}
.inner {
	padding: 0 4%;
}
.sec_ttl {
	line-height: 1.5;
	text-align: center;
	font-size: 5.6rem;
	font-weight: bold;
	margin-bottom: 60px;
}
.btn, a.btn {
	display: block;
	text-align: center;
	color: #fff;
	font-size: 3.2rem;
	font-weight: bold;
	padding: 30px 0;
	background: linear-gradient(to bottom,  rgba(216,120,8,1) 0%,rgba(216,120,8,1) 50%,rgba(194,108,7,1) 50%,rgba(194,108,7,1) 100%);
	border: none;
	border-radius: 10px;
	box-shadow: 8px 8px 0 rgba(149,83,6,0.3);
	cursor: pointer;
}
#overlay {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	width: 750px;
	margin: auto;
	padding: 20px 0;
	background: rgba(255,255,255,0.9);
	z-index: 100;
}
#overlay .apply {
	font-size: 3.2rem;
	background: linear-gradient(to bottom,  rgba(250,190,0,1) 0%,rgba(250,190,0,1) 50%,rgba(236,162,3,1) 51%,rgba(236,162,3,1) 100%);
}
@media (max-width: 767px) {
#wrap {
	box-shadow: none;
}
section {
	padding: 40px 0;
}
.sec_ttl {
	font-size: 2.8rem;
	margin-bottom: 30px;
}
.btn, a.btn {
	font-size: 1.6rem;
	padding: 15px 0;
	border-radius: 5px;
	box-shadow: 4px 4px 0 rgba(149,83,6,0.3);
}
#overlay {
	width: 100%;
	padding: 10px 0;
}
#overlay .apply {
	font-size: 2.4rem;
}
}

/*--------------------------------------------------
	header
--------------------------------------------------*/
header {
	height: 140px;
	background: #fff;
}
header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 10px;
}
header .header_logo {
	width: 26.09%;
}
header .header_btnArea {
	display: flex;
	justify-content: flex-end;
	width: 73.91%;
}
header .header_btnArea .apply {
	width: 62.75%;
	max-height: 90px;
	background: linear-gradient(to bottom,  rgba(250,190,0,1) 0%,rgba(250,190,0,1) 50%,rgba(236,162,3,1) 51%,rgba(236,162,3,1) 100%);
}
header .header_btnArea .call {
	width: 17.65%;
	max-height: 90px;
	margin-left: 20px;
}
@media (max-width: 767px) {
header {
	height: 70px;
}
header .inner {
	padding-top: 5px;
}
header .header_btnArea .call {
	margin-left: 10px;
}
}

/*--------------------------------------------------
	mainImg
--------------------------------------------------*/
#mainImg {
}
@media (max-width: 767px) {
}

/*--------------------------------------------------
	content
--------------------------------------------------*/
#campaign {
	padding: 40px 0;
	background: #d87808;
}
#campaign .campaign_balloon {
	padding: 40px 4% 30px;
	background: #fff;
	border-radius: 80px;
}
#campaign .campaign_item {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#campaign .campaign_item + .campaign_item {
	margin-top: 50px;
}
#campaign .campaign_icon {
	width: 28.57%;
}
#campaign .campaign_txtArea {
	width: 66.67%;
}
#campaign .campaign_txtArea .ttl {
	font-size: 4rem;
	font-weight: bold;
	color: #d87808;
}
#campaign .campaign_txtArea .txt {
	line-height: 1.5;
	font-size: 2.8rem;
	margin-top: 20px;
}
@media (max-width: 767px) {
#campaign {
	padding: 20px 0 15px;
}
#campaign .campaign_balloon {
	padding: 20px 4%;
	border-radius: 40px;
}
#campaign .campaign_txtArea .ttl {
	font-size: 2.0rem;
}
#campaign .campaign_txtArea .txt {
	font-size: 1.6rem;
	margin-top: 10px;
}
}


#point {
	padding-bottom: 0;
}
#point .point_summary li {
	line-height: 1.5;
	font-size: 4rem;
	font-weight: bold;
	padding: 30px 0 25px 100px;
	background: #feedd9;
}
#point .point_summary li:first-child {
	background: #feedd9 url(../images/point_no1.png) no-repeat left 4% center;
}
#point .point_summary li:nth-child(2) {
	background: #feedd9 url(../images/point_no2.png) no-repeat left 4% center;
}
#point .point_summary li:nth-child(3) {
	background: #feedd9 url(../images/point_no3.png) no-repeat left 4% center;
}
#point .point_summary li + li {
	margin-top: 20px;
}
#point .point_summary li span {
	color: #d87808;
}
#point .point_txtArea {
	line-height: 1.5;
	font-size: 2.8rem;
	margin-top: 80px;
}
#point .point_coaching {
	margin-top: 40px;
	padding: 40px 4%;
	background: #eee;
}
#point .point_coaching .ttl {
	font-weight: bold;
}
#point .point_coaching .img {
	float: right;
	margin: 0 0 10px 10px;
}
#point .point_coaching .txt {
	margin-top: 20px;
}
#point .point_coaching + p {
	margin-top: 80px;
}
#point .point_illust {
	line-height: 1.5;
	text-align: center;
	font-size: 3.4rem;
	font-weight: bold;
	margin-top: 40px;
}
#point .point_illust .txt {
	position: relative;
	z-index: 1;
	line-height: 1.7;
}
#point .point_illust .img {
	margin-top: -120px;
}
#point .point_message {
	background: #feedd9 url(../images/point_bg.jpg) no-repeat center bottom;
}
#point .point_message {
	line-height: 2;
	text-align: center;
	font-size: 2.8rem;
	padding: 80px 0;
}
#point .point_balloon {
	font-size: 3.2rem;
	font-weight: bold;
	margin-top: 120px;
	padding: 40px 4%;
	background: #fff;
	border-radius: 80px;
}
@media (max-width: 767px) {
#point .point_summary li {
	font-size: 2rem;
	padding: 15px 0 15px 60px;
}
#point .point_summary li:first-child,
#point .point_summary li:nth-child(2),
#point .point_summary li:nth-child(3) {
	background-size: 6.4% auto;
}
#point .point_summary li + li {
	margin-top: 10px;
}
#point .point_txtArea {
	font-size: 1.4rem;
	margin-top: 40px;
}
#point .point_coaching {
	margin-top: 20px;
	padding: 20px 4%;
}
#point .point_coaching .img {
	width: 28.57%;
	margin: 0 0 5px 5px;
}
#point .point_coaching .txt {
	margin-top: 10px;
}
#point .point_coaching + p {
	margin-top: 40px;
}
#point .point_illust {
	font-size: 1.7rem;
	margin-top: 30px;
}
#point .point_illust .img {
	margin-top: -60px;
}
#point .point_message {
	background-size: contain;
}
#point .point_message {
	font-size: 1.4rem;
	padding: 40px 0;
}
#point .point_balloon {
	font-size: 1.6rem;
	margin-top: 60px;
	padding: 20px 4%;
	border-radius: 40px;
}
}


#course .course_block + .course_block {
	margin-top: 80px;
}
#course .course_txt {
	line-height: 1.5;
	font-size: 2.8rem;
	margin-top: 40px;
}
#course .course_table {
	width: 100%;
	line-height: 1.5;
	font-size: 2.8rem;
	margin-top: 20px;
	background: #feedd9;
}
#course .course_table th {
	width: calc(6em + 4%);
	padding: 25px 0 20px 4%;
}
#course .course_table td {
	padding: 25px 0 20px;
}
#course .course_table tr + tr {
	border-top: 2px #fff solid;
}
#course .course_bonus {
	line-height: 1.5;
	font-size: 2.8rem;
	margin-top: 20px;
	padding: 40px 4%;
	border: 2px #d87808 solid;
}
#course .course_bonus .ttl {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	color: #d87808;
}
#course .course_bonus dl {
	margin-top: 20px;
}
#course .course_bonus dl dt {
	font-weight: bold;
}
@media (max-width: 767px) {
#course .course_block + .course_block {
	margin-top: 40px;
}
#course .course_txt {
	font-size: 1.4rem;
	margin-top: 20px;
}
#course .course_table {
	font-size: 1.4rem;
}
#course .course_table th {
	padding: 15px 0 15px 4%;
}
#course .course_table td {
	padding: 15px 0 15px;
}
#course .course_bonus {
	font-size: 1.4rem;
	padding: 20px 4%;
}
#course .course_bonus .ttl {
	font-size: 2rem;
}
#course .course_bonus dl {
	margin-top: 10px;
}
}


#worry {
	color: #fff;
	padding-bottom: 0;
	background: linear-gradient(to bottom,  rgba(216,120,8,1) 0%,rgba(255,255,255,1) 100%);
}
#worry .worry_item {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 49.28%;
	height: 200px;
	line-height: 1.5;
	text-align: center;
	font-size: 2.8rem;
	color: initial;
	padding: 45px 0;
	background: #fff;
	border-radius: 80px;
}
#worry .worry_item:nth-child(even) {
	margin-left: auto;
}
#worry .worry_item::after {
	content: "";
	position: absolute;
	bottom: 0;
  display: inline-block;
  width: 50px;
  height: 50px;
  vertical-align: middle;
  background-image: url(../images/worry_deco.png);
  background-size: contain;
}
#worry .worry_item:nth-child(odd)::after {
	left: 0;
}
#worry .worry_item:nth-child(even)::after {
	right: 0;
}
#worry .worry_item:nth-child(n+2) {
	margin-top: -60px;
}
#worry .worry_illust {
	width: 71.3%;
	margin: 80px auto 0;
}
@media (max-width: 767px) {
#worry .worry_item {
	height: 100px;
	font-size: 1.4rem;
	padding: 20px 0;
	border-radius: 40px;
}
#worry .worry_item::after {
  width: 25px;
  height: 25px;
}
#worry .worry_item:nth-child(n+2) {
	margin-top: -30px;
}
#worry .worry_illust {
	margin: 40px auto 0;
}
}


#reason {
	padding-top: 120px;
}
#reason .reason_summary li {
	line-height: 1.5;
	padding: 40px 4%;
	border-bottom: 2px #ccc solid;
}
#reason .reason_summary li:first-child {
	background: url(../images/reason_icon1.png) no-repeat right 4% center;
}
#reason .reason_summary li:nth-child(2) {
	text-align: right;
	background: url(../images/reason_icon2.png) no-repeat left center;
}
#reason .reason_summary li:nth-child(3) {
	background: url(../images/reason_icon3.png) no-repeat right 4% center;
}
#reason .reason_summary li .ttl {
	font-size: 4.8rem;
	color: #d87808;
	font-weight: bold;
}
#reason .reason_summary li .txt {
	font-size: 3.2rem;
	margin-top: 10px;
}
#reason .inner {
	margin-top: 80px;
}
#reason .reason_txt {
	line-height: 1.5;
	font-size: 2.8rem;
}
#reason .reason_figure {
	text-align: center;
	margin: 20px auto;
}
@media (max-width: 767px) {
#reason {
	padding-top: 60px;
}
#reason .reason_summary li {
	padding: 20px 4%;
}
#reason .reason_summary li:first-child,
#reason .reason_summary li:nth-child(2),
#reason .reason_summary li:nth-child(3) {
	background-size: 35.36%;
}
#reason .reason_summary li .ttl {
	font-size: 2.4rem;
}
#reason .reason_summary li .txt {
	font-size: 1.6rem;
}
#reason .inner {
	margin-top: 40px;
}
#reason .reason_txt {
	font-size: 1.4rem;
}
#reason .reason_figure {
	width: 79.13%;
}
}


#parentV {
	color: #fff;
	background: #d87808;
}
#parentV .parentV_item {
	font-size: 2.8rem;
}
#parentV .parentV_item + .parentV_item {
	margin-top: 40px;
}
#parentV .parentV_balloon {
	line-height: 1.5;
	color: initial;
	padding: 40px 8%;
	background: #fff;
	border-radius: 80px;	
}
#parentV .parentV_name {
	text-align: right;
	font-size: 2.4rem;
	margin: 20px 20px 0 0;
}
@media (max-width: 767px) {
#parentV .parentV_item {
	font-size: 1.4rem;
}
#parentV .parentV_item + .parentV_item {
	margin-top: 20px;
}
#parentV .parentV_balloon {
	padding: 20px 8%;
	border-radius: 40px;
}
#parentV .parentV_name {
	font-size: 1.2rem;
	margin: 10px 10px 0 0;
}
}


#studentV .studentV_item {
	font-size: 2.8rem;
}
#studentV .studentV_item + .studentV_item {
	margin-top: 40px;
}
#studentV .studentV_balloon {
	line-height: 1.5;
	padding: 40px 8%;
	background: #feedd9;
	border-radius: 80px;	
}
#studentV .studentV_name {
	text-align: right;
	font-size: 2.4rem;
	margin: 20px 20px 0 0;
}
@media (max-width: 767px) {
#studentV .studentV_item {
	font-size: 1.4rem;
}
#studentV .studentV_item + .studentV_item {
	margin-top: 20px;
}
#studentV .studentV_balloon {
	padding: 20px 8%;
	border-radius: 40px;
}
#studentV .studentV_name {
	font-size: 1.2rem;
	margin: 10px 10px 0 0;
}
}


#teacher {
	color: #fff;
	background: #d87808;
}
#teacher .teacher_txt {
	line-height: 1.5;
	text-align: center;
	font-size: 2.8rem;
}
#teacher .teacher_list {
	margin-top: 60px;
}
#teacher .teacher_balloon {
	position: relative;
	color: initial;
	margin: 0 4%;
	padding: 40px 8%;
	background: #fff;
	border-radius: 80px;
}
#teacher .teacher_ttl {
	display: flex;
	justify-content: center;
	align-items: center;
}
#teacher .teacher_ttl .name {
	font-size: 5rem;
	color: #d87808;
	font-weight: bold;
}
#teacher .teacher_ttl .icon {
	width: 31.58%;
	margin-left: 40px;
}
#teacher .teacher_message {
	line-height: 1.5;
	font-size: 2.8rem;
	margin-top: 20px;
}
/*---------- 矢印 ----------*/
.slide-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
	z-index: 20;
	cursor: pointer;
}
.slide-arrow:hover {
	opacity: 0.6;
	transition: 0.3s;
}
.prev-arrow {
	left: 0;
}
.next-arrow {
	right: 0;
}
@media (max-width: 767px) {
#teacher .teacher_txt {
	font-size: 1.4rem;
}
#teacher .teacher_list {
	margin-top: 30px;
}
#teacher .teacher_balloon {
	padding: 20px 8%;
	border-radius: 40px;
}
#teacher .teacher_ttl .name {
	font-size: 2.5rem;
}
#teacher .teacher_ttl .icon {
	margin-left: 20px;
}
#teacher .teacher_message {
	font-size: 1.4rem;
}
/*---------- 矢印 ----------*/
.slide-arrow {
	width: 31px;
}
}


#flow {
	padding-bottom: 0;
}
#flow .flow_item {
	position: relative;
}
#flow .flow_item::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -86px;
	left: 0;
  display: inline-block;
  width: 94px;
  height: 56px;
	margin: auto;
  background-image: url(../images/flow_arrow.png);
  background-size: contain;
}
#flow .flow_item +.flow_item {
	margin-top: 120px;
}
#flow .flow_item:last-child::after {
	content: none;
}
#flow .flow_item .ttl {
	font-size: 4rem;
	font-weight: bold;
	padding: 30px 0 20px 100px;
	background: #feedd9;
}
#flow .flow_item:first-child .ttl {
	background: #feedd9 url(../images/point_no1.png) no-repeat left 4% center;
}
#flow .flow_item:nth-child(2) .ttl {
	background: #feedd9 url(../images/point_no2.png) no-repeat left 4% center;
}
#flow .flow_item:nth-child(3) .ttl {
	background: #feedd9 url(../images/point_no3.png) no-repeat left 4% center;
}
#flow .flow_item .txt {
	line-height: 1.5;
	font-size: 2.8rem;
	margin-top: 20px;
}
#flow .flow_item .img {
	margin-top: 20px;
}
@media (max-width: 767px) {
#flow .flow_item::after {
	bottom: -43px;
  width: 47px;
  height: 28px;
}
#flow .flow_item +.flow_item {
	margin-top: 60px;
}
#flow .flow_item .ttl {
	font-size: 2rem;
	padding: 15px 0 15px 60px;
}
#flow .flow_item:first-child .ttl,
#flow .flow_item:nth-child(2) .ttl,
#flow .flow_item:nth-child(3) .ttl {
	background-size: 6.4% auto;
}
#flow .flow_item .txt {
	font-size: 1.4rem;
}
}


#contact {
	padding: 120px 0 0;
}
#contact .contact_txt {
	line-height: 1.5;
	text-align: center;
	font-size: 2.8rem;
}
#contact .contact_required {
	text-align: center;
	font-size: 2.4rem;
	color: #e60012;
	margin-top: 20px;
}
#contact form {
	margin-top: 60px;
	padding: 40px 0 80px;
	background: #eee;
}
#contact form .contact_item {
	font-size: 2.8rem;
}
#contact form .contact_item + .contact_item {
	margin-top: 40px;
}
#contact form .contact_item .head .asterisk {
	color: #e60012;
	margin-left: 5px;
}
#contact form .contact_item .body {
	margin-top: 10px;
}
#contact form .contact_item .body .error {
	font-size: 2.4rem;
	color: #e60012;
	margin-top: 5px;
}
#contact form .contact_item .body input[type="text"],
#contact form .contact_item .body input[type="email"],
#contact form .contact_item .body select,
#contact form .contact_item .body textarea {
	width: 100%;
	font-size: 2.8rem;
	padding: 20px 10px;
	background: #fff;
	border: 2px #ccc solid;
	border-radius: 10px;

  -webkit-appearance: none;
  appearance: none;
}
#contact form .contact_item .body textarea {
	line-height: 1.5;
}
#contact form .contact_item .body ::placeholder {
  color: #ccc;
}
#contact form .contact_btnArea {
	display: flex;
	justify-content: center;
	margin-top: 80px;
}
#contact form .contact_btnArea .btn {
	width: 320px;
	margin: 0 10px;
	padding: 30px 0;
}
#contact .contact_nav {
	display: flex;
	justify-content: center;
	text-align: center;
	font-size: 2.4rem;
	margin-top: 80px;
}
#contact .contact_nav li {
	margin: 0 20px;
}

/*---------- 確認画面 ----------*/
.confirm #contact form .contact_btnArea .btn_back {
	background: linear-gradient(to bottom,  rgba(102,102,102,1) 0%,rgba(102,102,102,1) 50%,rgba(92,92,92,1) 50%,rgba(92,92,92,1) 100%);
}
.confirm #contact form .contact_item + .contact_item {
	margin-top: 30px;
	border-top: 2px #ddd solid;
	padding-top: 30px;
}
.confirm #contact form .contact_item .body {
	color: #999;
}
/*---------- 完了画面 ----------*/
.thank #contact .inner {
	padding-bottom: 80px;
}
.thank #contact .contact_txt {
	text-align: left;
}
.thank #contact .contact_back {
	text-align: center;
	font-size: 2.8rem;
	margin: 80px 0 160px;
}
@media (max-width: 767px) {
#contact {
	padding: 60px 0 0;
}
#contact .contact_txt {
	font-size: 1.4rem;
}
#contact .contact_required {
	font-size: 1.2rem;
}
#contact form {
	margin-top: 40px;
	padding: 20px 0 40px;
}
#contact form .contact_item {
	font-size: 1.6rem;
}
#contact form .contact_item + .contact_item {
	margin-top: 20px;
}
#contact form .contact_item .body .error {
	font-size: 1.2rem;
}
#contact form .contact_item .body input[type="text"],
#contact form .contact_item .body input[type="email"],
#contact form .contact_item .body select,
#contact form .contact_item .body textarea {
	font-size: 1.6rem;
	padding: 10px;
	border-radius: 5px;
}
#contact form .contact_btnArea {
	margin-top: 40px;
}
#contact form .contact_btnArea .btn {
	width: auto;
	min-width: 160px;
	padding: 15px 20px;
}
#contact .contact_nav {
	font-size: 1.2rem;
	margin-top: 40px;
}
#contact .contact_nav li {
	margin: 0 15px;
}

/*---------- 確認画面 ----------*/
.confirm #contact form .contact_item + .contact_item {
	margin-top: 15px;
	padding-top: 15px;
}
/*---------- 完了画面 ----------*/
.thank #contact .inner {
	padding-bottom: 40px;
}
.thank #contact .contact_back {
	font-size: 1.4rem;
	margin: 40px 0 80px;
}
}

/*--------------------------------------------------
	footer
--------------------------------------------------*/
footer {
	text-align: center;
	font-size: 2.4rem;
	color: #fff;
	padding: 30px 0 160px;
	background: #333;
}
@media (max-width: 767px) {
footer {
	font-size: 1.2rem;
	padding: 30px 0 80px;
}
}