.contact_form_container {
	background-color: rgba(0, 177, 160, 0.2);
}

.page-id-305 .feature_intro {
	padding-top: 30px;
	padding-bottom: 20px;
	background-color: rgba(0, 177, 160, 0.2);
}

form#mailformpro {
	padding: 20px 0px;
}

.contact_form {
	max-width: 1000px;
	margin: 0 auto;
}


/*体験レッスン希望内容*/
.contact_lesson_hope h2, .contact_lesson_info h2 {
	margin-bottom: 25px;
	padding: 4px;
}

.contact_lesson_info {
	margin-top: 0px;
}

.contact_item {
	margin: 17px 0;
	display: flex;
	justify-content: space-between;
	font-size: .16rem;
	line-height: .28rem;
}

.contact_item_name {
	padding: 5px;
	flex: 0 1 25%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #a6d9d1;
}

.contact_item_name>* {
	flex: auto;
}

.contact_item textarea, .contact_item_name_content {
	height: 130px !important;
}

.contact_input {
	flex: 0 1 72%;
	justify-content: flex-start;
	align-items: baseline;
	display: flex;
}

.contact_input>* {
	flex: auto;
}

.contact_input label input {
	vertical-align: baseline;
}

.contact_input_purpose {}

.mfpro-list-item {
	margin: 0 .2rem 0 0 !important;
}

.contact_date .contact_input, .contact_name .contact_input {
	justify-content: space-between;
}

.contact_date .contact_input>*, .contact_course .contact_input>*, .contact_name .contact_input>* {
	flex: 0 1 48%;
}

.mfpro-form-control {
	margin-left: -2px;
	padding: 0;
	border-width: 1px;
	border-color: #a5d9d1;
	width: 100%;
	min-height: 40px;
}

.mfpro-text, .mfpro-textarea {
	padding-left: 6px;
	font-size: 16px;
	box-sizing: border-box;
	border: none;
}

.lesson-porpose {
	margin-left: -7px;
}

.mfpro-select {
	padding-left: 6px;
}

.contact_mail .contact_input input, .contact_tel .contact_input input, .contact_input textarea {
	width: 100%;
	vertical-align: middle;
	box-sizing: border-box;
}

.contact_input text {
	box-sizing: border-box;
}

.contact_porpose .contact_input {
	flex-direction: column;
	align-items: flex-start;
}

.contact_porpose .mfpro-list-item:first-of-type {
	margin: 0 .2rem 0 2px !important;
}

.contact_porpose .mfpro-list-item:last-of-type {
	display: block;
}

.contact_porpose .mfpro-form-control-wrap {
	width: 100%;
}

.mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea, .mfp_element_date, .mfp_element_password {
	width: 100% !important;
}

.mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea, .mfp_element_date, .mfp_element_password {
	border: solid 1px #adadad;
	border-radius: 0;
	background: #fafafa;
	box-shadow: none;
	padding: 3px 8px;
	margin: 2px;
	vertical-align: middle;
}

.mfp_element_all {
	max-width: 100%;
}

form#mailformpro label.mfp_checked {
	padding: 3px;
	border: none;
	background-color: transparent;
	box-shadow: inherit;
}

form#mailformpro label.mfp_not_checked {
	border: none;
}

div.mfp_ok {
	display: none !important;
}

div.mfp_err {
	display: table;
	margin: 5px 0px 0px 0px;
	padding: 0px 0px 0px 17px;
}


/*よくある質問*/

.qa {
	margin: 80px auto 30px;
}

.qa_h {
	background: #03aba0;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 53px;
	color: #FFF;
}

.qa_h h2 {
	flex: 0 1 auto;
	width: 94%;
	text-align: center;
	font-size: .19rem;
}

.qa_h .plus {
	flex: 0 1 auto;
	width: 6%;
}

.qa_h .plus.active {
	top: 4px;
}

.plus {
	flex: 0 0 auto;
	position: relative;
	top: 0;
	right: 0;
	width: 32px;
	height: 32px;
	cursor: pointer;
	z-index: 13;
}

.plus span {
	content: '';
	width: 10px;
	height: 10px;
	border: 0;
	border-bottom: solid 3px #FFF;
	border-right: solid 3px #FFF;
	position: absolute;
	top: 30%;
	left: 0;
	margin-top: -6px;
	transform: rotate(45deg);
}

.plus span:nth-child(1) {
	top: 60%;
}

.plus.active span {
	border-bottom: 0;
	border-right: 0;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	transform: rotate(-45deg);
}

.qa_content {
	padding: 60px 0 0;
	display: none;
	text-align: center;
}

.q, .a {
	margin-bottom: 20px;
	display: flex;
	align-items: flex-start;
}

.q img, .a img {
	flex: 0 1 auto;
	width: 37px;
}

.q p, .a p {
	padding: 5px 10px;
	flex: 0 1 auto;
	width: calc(100% - 37px);
	font-size: .16rem;
}

.q p {
	background-color: #efefef;
	display: flex;
	align-items: center;
}

.q a, .a a {
	color: #03aba0;
}


/*サンクスページ*/

.thanks {
	margin: 80px;
}

.thanks p {
	text-align: center;
	font-size: .17rem;
	margin-bottom: 20px;
}

.thanks p:first-child {
	margin-top: 50px;
}


/*フォームカレンダー*/

.select_calender {
	position: relative;
}

.select_calender img {
	position: absolute;
	width: 30px;
	right: 10px;
	top: 9px;
	pointer-events: none;
}

.kitahama .ui-datepicker-calendar td {
	pointer-events: none;
}

.kitahama .ui-datepicker-calendar .is-saturday {
	pointer-events: auto;
}

.nishisanso .ui-datepicker-calendar .is-friday, .nishisanso .ui-datepicker-calendar .is-sunday, .nishisanso .ui-datepicker-calendar .is-saturday, .nishisanso .ui-datepicker-calendar .is-holiday {
	pointer-events: none;
}

.ui-datepicker-trigger {
	display: none;
}

.kitahama a.ui-state-default {
	color: #d6d6d6;
	background: #f7f7f7;
	border: 1px solid #e4e4e4;
}

.kitahama .is-saturday a {
	border: 1px solid #c5c5c5;
	background: #f6f6f6;
	color: #454545;
}

.kitahama .is-holiday a {
	color: #d6d6d6;
	background: #f7f7f7;
	border: 1px solid #e4e4e4;
}

.nishisanso .is-friday a, .nishisanso .is-sunday a, .nishisanso .is-saturday a, .nishisanso .is-holiday a {
	color: #d6d6d6;
	background: #f7f7f7;
	border: 1px solid #e4e4e4;
}

p:empty:before {
	display: none;
}


/*個人情報*/

.contact_personal {
	margin: 45px 0;
}

.contact_personal h2 {
	margin: 5px 0 12px;
	background-color: transparent;
	color: #373737;
	font-size: .16rem;
}

.contact_personal div {
	padding: 10px 20px;
	/* border: solid 1px #373737; */
	border-radius: 10px;
	font-size: .13rem;
	background: #FFF;
}

.contact_personal p {
	margin: 0 auto 10px;
	width: 90%;
}

.contact_personal>p {
	margin-top: 30px;
	width: 100%;
	font-weight: bold;
	font-size: .14rem;
	text-align: center;
}

.contact_personal span {
	display: block;
	font-weight: bold;
}

.privacy_agree {
	text-align: center;
	margin-top: 54px;
}

.privacy_agree span {
	font-size: .16rem;
}

.privacy_agree_link {
	font-size: .16rem;
}

.mfp_err_agree {
	margin: 30px auto 0 !important;
	max-width: 353px;
}

.submit_outer {
	position: relative;
}

.submit {
	margin: 30px auto 80px;
	padding: 13px 10px;
	border: none;
	outline: none;
	display: block;
	width: 40%;
	background-color: #03aba0!important;
	text-align: center;
	font-size: .16rem;
	font-weight: bold;
	color: #fff;
	border-radius: 43px;
	cursor: pointer;
}

.submit_outer::after {
	content: "";
	width: 20px;
	height: 20px;
	display: inline-block;
	background-image: url(/wp-content/themes/original/images/arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 28%;
	right: 36%;
	pointer-events: none;
}

.submit:hover {
	opacity: 0.8;
}

.submit_outer {
	margin: 40px auto;
}

.thanks_p {
	margin: 0 auto 70px;
	max-width: 1000px;
	width: calc(100% - 30px);
	text-align: center;
}

@media screen and (min-width: 800px) {
	.thanks_wrap {
		min-height: calc(100vh - 483px);
	}
}

@media screen and (min-width: 600px) {
	.submit {
		width: 100%;
		max-width: 326px;
	}
	.qa {
		margin: 60px auto 50px;
	}
}


/*ここからセレクトボックス矢印*/

.select {
	width: 100%;
	position: relative;
	z-index: 1;
}

.select_on_arrow {
	position: relative;
}

.select_on_arrow::after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	right: 17px;
	top: 33%;
	z-index: 1;
	border-style: solid;
	border-width: 15px 10px 0 10px;
	border-color: #AA9682 transparent transparent transparent;
	pointer-events: none;
}

select {
	/* 初期化 */
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	background: none;
	color: #333;
	font-size: 16px;
	width: 100%;
	height: 100%;
	padding: 0 10px;
}


/*よくある質問アコーディオングラデ
.wrapper {
  width: 640px;
  margin: 30px auto;
  font-size: .16rem;
  line-height: 1.5;
}
.text_wrapper {
  position: relative;
  margin-bottom: 45px;
}
.text {
  height: 90px;
  overflow: hidden;
}
.show_more,
.show_more2 {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 30px;
  padding-top: 60px;
  text-align: center;
  line-height: 30px;
  background: linear-gradient(
    180deg,
    rgb(255, 255, 255, 0) 0%,
    rgb(255, 255, 255, 1) 70%
  );
  cursor: pointer;
  transition: bottom 0.2s;
}
.active {
  background: none;
  bottom: -30px;
}
.show_more span{
	background-color: red;
}*/

@media screen and (min-width: 600px) and (max-width: 780px) {
	.submit_outer::after {
		right: 28%;
	}
}


/*850以下*/

@media screen and (max-width: 850px) {
	.contact_form {
		width: calc(100% - 0px);
		box-sizing: border-box;
	}
	.contact_form h1 {
		padding: 10px 0;
		line-height: normal;
	}
	.lesson_flow h2 {
		font-size: .17rem;
	}
	.lesson_flow_in {
		padding: 20px 30px 40px;
		flex-direction: column;
	}
	.lesson_flow_in div, .lesson_flow_in div:nth-of-type(2) {
		flex: auto;
	}
	.lesson_flow_in div {
		margin-bottom: 34px;
	}
	.lesson_flow img {
		margin: -21px 0 0 20px;
		transform: rotate(90deg);
	}
	.lesson_flow_in div:nth-of-type(3) {
		flex: auto;
	}
	.lesson_flow_in div:nth-of-type(4) {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 599px) {
	.catch_heading .centering {
		width: calc(100% - 22px);
		min-height: initial;
		padding: 3px;
		overflow: visible;
	}
	form#mailformpro {
		padding: 0px 20px 20px;
	}
	.contact_item {
		margin: 0 0 5px;
	}
	.catch_heading img {
		margin: 0px 0 10px;
	}
	.top_news_right td, .top_news_right th {
		padding: 5px 0px 0px;
		display: block;
		text-align: left;
	}
	.top_news li {
		color: #d0d0d0;
	}
	.contact_lesson {
		margin-top: 22px;
	}
	.contact_select .mfpro-form-control, .contact_school .mfpro-form-control, .contact_sex .mfpro-form-control {
		display: block;
	}
	.contact_item {
		flex-direction: column;
	}
	.contact_item_name_purpose {
		margin-bottom: -20px;
	}
	.contact_item_name {
		margin-top: 20px;
		height: auto !important;
	}
	.contact_lesson_hope h2, .contact_lesson_info h2 {
		margin-bottom: -16px;
	}
	.contact_input {
		margin-right: auto;
		margin-left: auto;
		display: block;
		width: 100%;
	}
	.contact_select .mfpro-list-item {
		margin: 0 !important;
	}
	.mfpro-form-control {
		margin-top: 15px;
	}
	.contact_input_purpose .mfpro-form-control {
		margin-top: 0px;
	}
	.select_calender img {
		right: 12px;
		top: 22px;
	}
	.select_on_arrow::after {
		right: 17px;
		top: 27px;
	}
	.contact_porpose .mfpro-list-item {
		display: block;
	}
	.contact_personal div {
		padding: 10px 0;
	}
	.contact_personal span {
		margin-top: 20px;
	}
	.contact_personal p {
		margin-top: 30px;
		text-align: justify;
	}
	.submit_outer {
		margin: 40px auto;
		width: 326px;
		max-width: 100%;
	}
	.submit {
		margin: 0 auto;
		padding: 5px 0;
		width: 326px;
		background-color: #03aba0;
		-webkit-appearance: none;
	}
	.submit_outer::after {
		right: 13px;
	}
	.select::after {
		top: 50%;
	}
}