@charset "UTF-8";

/* ========================================================================================================================
　form用style
========================================================================================================================= */
.vc_column-inner  {
	background: #FFF3EB;
}

.form-table{
	width: 100%;
}
p.red{
	color:#f00;
}

/* table th,td の基本 style */

.form-table > tbody > tr > th,
.form-table > tbody > tr > td{
	padding: 20px 0px;
	text-align:left;
}
.form-table > tbody > tr:not(.noborder) > th{
	border-bottom:2px solid #007058;
	padding-left: 10px;
}

.form-table > tbody > tr > th{
	width:20%;
	vertical-align: top;
	font-weight: normal;
	text-align: left;
	font-size: 1.1em;
}

.form-table > tbody > tr > td{
}
.form-table > tbody > tr > td p{
	width: 100%;
	margin-bottom: 10px;
}
.reservation-date{
	width:100%;
	padding-right:40px;
	box-sizing:border-box;
	display:flex;
	justify-content:space-between;
}
.reservation-date p{
	text-align:center;
}
.reservation-date > div{
	width:31%;
}
.reservation-date > div div{
	width:100%;
}
.reservation-date div{
}
.mw_wp_form tr td .ui-datepicker-calendar tr td{
	text-align: center;
}
.mw_wp_form tr td .ui-datepicker-calendar tr td a{
	text-align: center;
}
.ui-datepicker .ui-datepicker-title{
	margin:0;
}

.reservation-date div label{
	display:inline-block;
	width:20%
}
.reservation-date div input,
.reservation-date div select{
	width:80%;
	box-sizing: border-box;
	padding: 5px;
	font-size: 1em;
}
.reservation-date div input{
	padding: 6px 10px;
}

@media screen and (max-width: 767px) {
	.form-table > tbody > tr  > th,
	.form-table > tbody > tr  > td{
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	.form-table > tbody > tr > th{
		padding-bottom: 0;
	}
	.form-table > tbody > tr > td textarea{
		width:100%;
	}
}


/* table th,td の中身 style */

.form-table-th{
	display: block;
	position: relative;
}


.icon-required{
	color: #DC3E07;
	padding-left: 10px;
}

.form-table td li:not(:first-child){
	margin-top: 13px;
}

input[type="text"],
input[type="textarea"],
input[type="tel"],
input[type="date"],
input[type="email"],
textarea,
select {
	background-color: #fff;
	border: 1px solid #ccc;;
	margin: 3px 0;
}

input[type="text"],
input[type="tel"],
input[type="email"],
select {
	display: inline-block;
	vertical-align: middle;
}
.reservation-date {
	margin-top: 10px;
}


/* 入力補助 */

.form-table-note{
	color: #9f9f9f;
}

.form-table-note,
.form-table-attention{
	font-size: 0.8rem;
}
.form-table-attention{
	color: #555;
}
.form-table-attention.block {
display: block;
}


/* 入力エリア width */

input[type="text"],
input[type="textarea"],
input[type="tel"],
input[type="email"],
select,
textarea{
	padding: 13px 13px;
	max-width: 100%;
	box-sizing: border-box;
	border-radius: 3px;
}
input[type="text"].notempty,
input[type="textarea"].notempty,
input[type="tel"].notempty,
input[type="email"].notempty,
select.notempty,
textarea.notempty{
	background-color:#FFF;
}
input[type="date"]{
	padding:6px 13px;
}
input[type="checkbox"]{
	margin-left:15px;
	margin-right:5px;
    width: 20px;
    height: 20px;
    vertical-align: middle;
}

.edit-s{ width: 20%; }
.edit-l{ width: 100%; }


/* selectカスタム */

select{
	/* height: 32px; */
	width: 30%;
	vertical-align: middle;
}

@media screen and (max-width: 767px) {
	select{
		width: 60%;
	}
	input[type="checkbox"]{
	    width: 30px;
	    height: 30px;
	    vertical-align: middle;
	}
	.course label {
	font-size: 17px;
	}
}


/* ボタン系 */

button{
	margin:0px;
	padding:0px;
	border:unset;
}
button.text{
	border: none;
	cursor: pointer;
	outline: none;
	padding: 20px 50px;
	appearance: none;
	background-color: #b20000;
	color: #fff;
	vertical-align: top;
	border-radius: 6px;
}
button.text:hover {
	background-color:#db5151;
}

.submit-btn{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	text-decoration: none;
	width: 250px;
	height:3em;
	background: #cb3535;
	color: #fff;
	font-size: 110%;
	vertical-align: initial;
}

.submit-btn::after{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	right: 13px;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.form-btn-list{
	width:90%;
	margin:0 auto 40px;
	display:flex;
	justify-content:center;
}
.form-btn-list li{
	width: 70%;
	margin:4%;
}

.form-btn-list button,
.form-back-btn{
	background-color: #f17a2e;
	color: #fff;
	display: block;
	text-decoration: none;
	text-align: center;
	position: relative;
	width: 100%;
	height:3em;
	font-size: 110%;
	vertical-align: top;
	box-shadow: 0px 2px 0px 0px #c15309;
}
.form-back-btn:hover {
	background-color:#f17a2e;
}

.form-btn-list .back button{
	background-color: #999;
	color: #FFF;
	box-shadow: 0px 2px 0px 0px #333;
}

.form-btn-list li a,
.form-back-btn{
	margin-left: auto;
	margin-right: auto;
}

.form-btn-list a::before,
.form-back-btn::before {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	left: 13px;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}

.form-btn-list .form_btn_float_l{
	float: left;
}

.form-btn-list .form_btn_float_r{
	float: right;
}
.auto_width{
	width:auto;
}



@media screen and (max-width: 767px) {
	button img{
		width:100%;
	}

	.form-btn-list{
		margin-top: 30px;
	}

	.submit-btn,
	.form-back-btn,
	.form-btn-list a{
		margin-top: 21px;
		width: 100%;
	}

	.form-btn-list .form_btn_float_l,
	.form-btn-list .form_btn_float_r{
		float: none;
	}
	
	input[name=name],
	input[name=kana],
	input.edit-l,
	textarea.edit-l{
		width: 100%;
	}
}


/* error */

#sec-contact.sec-contact_lower{
	margin-top: 70px;
}

.mw_wp_form .error{
	display: inline-block;
}

p.validation-error{
	border: 1px solid #DC3E07;
	color: #DC3E07;
	text-align: center;
}

.validation-error span{
	display: block;
	font-weight: bold;
	font-size: 2.1rem;
	margin-bottom: 8px;
}

.error_item{
	background-color: #ffb4be;
}

.error_comment{
	color: #DC3E07;
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 8px;
	padding-left: 13px;
}

@media screen and (max-width: 767px) {
	#sec-contact.sec-contact_lower{
		margin-top: 34px;
	}

	.error_message span{
		font-size: 1.6rem;
	}
	.reservation-date{
		display:block;
		padding-right:0;
	}
	.reservation-date > div{
		width:100%;
		margin-bottom:40px;
	}
	.course span{
		display:block;
	}
	
	.form-table > tbody > tr:not(.noborder) > th{
	}

}


/* thanks */

.thanks_message{
	font-size: 2.1rem;
	margin-bottom: 34px;
}

