@charset "utf-8";


p {
	margin-bottom: 0;
	line-height: 1.8;
}

.wpcf7-list-item {
	margin: 0 0 1rem 0 !important;
}

.wpcf7-not-valid-tip {
	margin-top: 1rem !important;
	margin-bottom: 2rem !important;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #dc3232 !important;
	display: flex;
	justify-content: center;
	color: #dc3232;
	padding: 1rem;
}

/*-----------------------------------------*/
/* 改行させない */

.mailform_list li .td .privacy +  .flex_line p{
	width: 100%;
}

/*-----------------------------------------*/
/* オートコンプリート機能の背景色を無効化 */

input:-webkit-autofill{
	box-shadow: 0 0 0 1000px white inset !important;
}

/*-----------------------------------------*/
/* ローディングアイコン */

/*　削除する場合　*/
/*
.wpcf7-spinner {
	display: none!important;
}
*/
/*　位置調整する場合　*/
.wpcf7-spinner {
	top: 10%;
	left: 30%;
}

/*-----------------------------------------*/

.contact_top_text{
	margin-bottom: 4rem;
	text-align: center;
}

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

	.contact_top_text{
		font-size: 1.4rem;
		text-align: left;
	}

}

/*-----------------------------------------*/

.mgb1{ margin-bottom: 1rem; }

.w10{ width: 10%; }
.w20{ width: 20%; }
.w30{ width: 30%; }
.w40{ width: 40%; }
.w50{ width: 50%; }
.w60{ width: 60%; }
.w70{ width: 70%; }
.w80{ width: 80%; }
.w90{ width: 90%; }
.w100{ width: 100%; }

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

}

/*-----------------------------------------*/

/* リスト */

.contact_list{
	margin-bottom: 4rem;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}

.contact_list li{
	width: 100%;
	display: flex;
	border-bottom: 0.1rem solid #ddd;
	padding-top: 2rem;
	padding-bottom: 2rem;
	justify-content: space-between;
}

.contact_list li .th{
	width: 25%;
	line-height: 1.5;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.contact_list li .th h4{
	line-height: 1.5;
}

.contact_list li .th small{
	color: #ac280e;
	border: 0.1rem solid #ac280e;
	border-radius: 5rem;
	width: 6rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.contact_list li .td{
	width: 70%;
	line-height: 1.5;
}

.contact_list li .td p{
	text-align: left;
}

.contact_list li .td .box{
	margin-bottom: 2rem;
}

.contact_list li .td .box.bottom{
	margin-bottom: 0;
}

.contact_list li .td h5{
	font-size: 1.6rem;
	padding-bottom: 1rem;
	margin-bottom: 2rem;
	border-bottom: 0.1rem dotted #ccc;
}

.contact_list li .td h6{
	font-size: 1.6rem;
	margin-bottom: 1.5rem;
}

.contact_list li .td hr{
	margin-bottom: 3rem;
}

.contact_list li .td .flex_line{
	display: flex;
	align-items: flex-start;
}

.contact_list li .td .flex_line .left{
	min-width: 10rem;
	text-align: left;
	margin-top: 0.5rem;
}

#wpcf7-f32-o1 .contact_list li .td .flex_line .left{
	margin-top: 0;
}

.contact_list li .td .flex_line .left + p{
	display: flex;
	align-items: center;
}

.contact_list li .td .flex_line .left + p .reservation_time{
	margin-left: 1rem;
	font-size: 1.4rem;
	color: #007a5e;
}

.contact_list li .td .flex_line.space-between{
	justify-content: space-between;
}

.contact_list li .td .flex_line.wrap{
	flex-wrap: wrap;
}

.contact_list li .td .flex_line.wrap span{
	/* width: 35%; */
	margin-top: 0;
	margin-right: 4rem;
	margin-bottom: 2rem;
}

.contact_list li .td .flex_line.wrap p > span{
	margin-right: 0;
}

.contact_list li .td .name_line .item-box{
	width: 48%;
}

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

	.contact_list {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.contact_list li .td .flex_line .left + p .reservation_time{
		font-size: 1.2rem;
	}

}

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

}

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

	.contact_list {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		overflow: hidden;
	}

	.contact_list li{
		flex-wrap: wrap;
		padding-top: 3rem;
	}

	.contact_list li:first-child{
		padding-top: 0rem;
	}
	
	.contact_list li .th{
		width: 100%;
		padding: 1rem;
		background: #eee;
		margin-bottom: 1rem;
	}
	
	.contact_list li .td{
		width: 96%;
		margin-left: auto;
		margin-right: auto;
	}
	
	.contact_list li .td .flex_line{
		/* flex-wrap: wrap; */
	}

	.contact_list li .td .flex_line.wrap span{
		width: 100%;
	}

	.contact_list li .td .flex_line .left {
		min-width: 7rem;
		font-size: 1.4rem;
		margin-top: 0.7rem;
	}

	.contact_list li .td .flex_line .left + p {
		flex-wrap: wrap;
		line-height: 1.6;
	}

	.contact_list li .td .flex_line .left + p .reservation_time{
		margin-left: 0;
		margin-top: 0.5rem;
		font-size: 1.1rem;
	}

}


/* ウォーターマーク */

::placeholder {
	color: #ccc !important
}

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

}


/* エラー表記 */

span.error{
	white-space: nowrap;
	color: #d01515;
	font-size: 1.4rem;
	margin-left: 1rem;
}

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

	span.error{
		margin-top: 0.5rem;
		margin-left: 0rem;
		margin-bottom: 1rem;
	}

}


/* 注釈 */

.contact_list li .td .caution{
	font-size: 1.4rem;
	margin-top: 1rem;
	color: #007a5e;
}

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

	.contact_list li .td .caution{
		font-size: 1.2rem;
		margin-top: 0.5rem;
	}

}

/* プライバシーポリシーコメント */

.contact_list li .td .privacy{
	text-align: left;
	font-size: 1.4rem;
	margin-bottom: 2rem;
}

.contact_list li .td .privacy a{
	text-decoration: underline;
	color: #007a5e;
}

/* submitボタン */

.contact_bt_form{
	display: flex;
	justify-content: center;
	margin-bottom: 6rem;
}

.contact_bt_form p{
	width: min-content;
}

.contact_bt_form .btn{
	font-size: inherit;
	padding: 1rem 2rem;
	margin-left: 1rem;
	margin-right: 1rem;
	background-color: #007a5e;
	border-color: #007a5e;
}

.contact_bt_form .btn.btn-secondary{
	background-color: #828282;
	border-color: #828282;
}

.contact_bt_form .btn:hover,
.contact_bt_form .btn:active{
	background-color: #28ab8d !important;
	border-color: #28ab8d !important;
}

.contact_bt_form .btn.btn-secondary:hover,
.contact_bt_form .btn.btn-secondary:active{
	background-color: #aaa !important;
	border-color: #aaa !important;
}

.contact_bt_form .btn:focus{
	box-shadow: 0 0 0 .2rem rgba(193, 213, 207, 0.5) !important;
}

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

	.contact_bt_form{
		margin-bottom: 0;
	}

}

/*-----------------------------------------*/

/* input */

/* PCとスマートフォンでの<input type="date"/>のスタイルをリセット */
input[type="date"] {
	appearance: none; /* ブラウザのデフォルトスタイルを無効化 */
	-webkit-appearance: none;
	-moz-appearance: none;
}

input[type="date"],
input[type="text"],
input[type="email"],
textarea {
	-webkit-transition: background-position .15s cubic-bezier(.8, 0, 1, 1),
	-webkit-transform .25s cubic-bezier(.8, 0, 1, 1);
	font-size: 1.6rem;
	padding-left: 1.2rem;
	padding-right: 1.2rem;
	transition: .5s !important;
}

input[type="date"],
input[type="text"],
input[type="email"]{
	height: 4rem;
	margin-right: 1rem;
}

.form-control[readonly] {
	background-color: #fff;
	color: #495057;
}

.custom-select{
	height: 4rem;
	padding-left: 1.2rem;
	padding-right: 3rem;
}

input[type="date"]:active,
input[type="text"]:active,
input[type="email"]:active,
textarea:active {
	/* -webkit-transform: scale(1.05); */
	-webkit-transition: -webkit-transform .1s cubic-bezier(0, 0, .2, 1);
}

input[type="text"]#tel{ width: 40%; }
input[type="email"]#mail{ width: 80%; }
input[type="text"]#post{ width: 30%; /* margin-left: 1rem; */ }
input[type="text"]#number{ width: 40%; }

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

	input[type="date"]{
		width: 15rem;
	}

	/*Safariハック*/
	_::-webkit-full-page-media, _:future, :root input[type="date"]{
		width: 15rem;
		text-align: left;
		padding-top: 0.5rem;
		padding-left: 0.8rem;
	}

}

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

	input[type="date"],
	input[type="text"],
	input[type="email"],
	textarea {
		font-size: 1.7rem;
	}

	input[type="text"],
	input[type="email"]{
		margin-right: 0rem;
		margin-bottom: 1rem;
	}

	input[type="text"]#tel{ width: 80%; }
	input[type="email"]#mail{ width: 100%; }
	input[type="text"]#post{ width: 50%; }
	input[type="text"]#number{ width: 80%; }

}

/* textarea */

textarea.form-control {
	font-size: 1.7rem;
}


/* label */

.contact_list li .td label{
	margin-right: 2rem;
	margin-bottom: 1rem;
}

.contact_list input[type="radio"]:checked  + span{
	color: #007a5e;
}

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

	.contact_list li .td label{
		margin-bottom: 0;
	}

}

/* ラジオボタン */

.contact_list input[type="radio"] {
	position: relative;
	margin: 0 0.5rem 0 0;
	cursor: pointer;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 0.3rem;
	border: none;
	vertical-align: middle;

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.contact_list input[type="radio"]:checked:before {
	transform: scale(1, 1);
}

.contact_list input[type="radio"]:before {
	position: absolute;
	z-index: 1;
	top: 2px;
	left: 2px;
	width: 1.7rem;
	height: 1.7rem;
	content: '';
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: scale(0, 0);
	transform: scale(0, 0);
	border-radius: 50%;
	background: #007a5e;
}

.contact_list input[type="radio"]:after {
	position: absolute;
	top: -2px;
	left: -2px;
	width: 2.5rem;
	height: 2.5rem;
	content: '';
	border: 0.2rem solid #ced4da;
	border-radius: 50%;
	background: #ffffff;
}

.contact_list input[type="radio"]:checked:after {
	border: 0.2rem solid #007a5e;
}


/* チェックボックス */

.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0 !important;
}

.contact_list input[type="checkbox"]:checked  + span{
	color: #007a5e;
}


.contact_list input[type="checkbox"] {
	position: relative;
	margin: 0 0.5rem 0 0;
	cursor: pointer;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 0.3rem;
	border: none;
	vertical-align: middle;

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.contact_list input[type="checkbox"]:checked:before {
	transform: scale(1, 1);
}

.contact_list input[type="checkbox"]:before {
	position: absolute;
	z-index: 1;
	top: 2px;
	left: 2px;
	width: 1.7rem;
	height: 1.7rem;
	border-radius: 0.2rem;
	content: '';
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: scale(0, 0);
	transform: scale(0, 0);
	background: #007a5e;
}

.contact_list input[type="checkbox"]:after {
	position: absolute;
	top: -2px;
	left: -2px;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.2rem;
	content: '';
	border: 0.2rem solid #ced4da;
	background: #ffffff;
}

.contact_list input[type="checkbox"]:checked:after {
	border: 0.2rem solid #007a5e;
}

/*-------------*/

.modal-header{
	padding: 2rem 2rem;
}

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

}

/*-----------------------------------------------------------------------------*/

/* [data-class="wpcf7cf_group"] {
	display: unset !important;
}

.wpcf7cf-hidden{
	display: none !important;
} */

/*-----------------------------------------------------------------------------*/
/*IEハック*/
/*
_:-ms-lang(x)::-ms-backdrop, .xxxxxxxxxxxx{ padding: 1rem 1rem 0.5rem ; }
*/

/*-----------------------------------------------------------------------------*/
/*firefoxハック*/
/*
@-moz-document url-prefix() {
	.xxxxxxxxxxxx{
		width: 48%;
	}
}
*/

/*-----------------------------------------------------------------------------*/
/*Safariハック*/
/*
_::-webkit-full-page-media, _:future, :root .xxxxxxxxxxxx {

}
*/
/*placeholder表示ズレ対策*/
_::-webkit-full-page-media, _:future, :root .mailform_list input::-webkit-input-placeholder {
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}
_::-webkit-full-page-media, _:future, :root .mailform_list input:-ms-input-placeholder {
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}
_::-webkit-full-page-media, _:future, :root .mailform_list input::-moz-placeholder {
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}

