@charset "utf-8";
/* CSS Document */


/*================================
↓ここからメールフォームpro
*/

#mfp_hidden{
	display: none;
}
div#mfp_loading {
	display: none;
}
div#mfp_loading_screen {
	display: none;
}
div#mfp_overlay_background {
	display: none;
}
div#mfp_overlay {
	display: none;
}

#mailformpro {
	padding: 0 !important;
}
/*必須項目*/
.must {
	line-height: 1;
	color: #ff4d63;
	vertical-align: text-top;
	margin-right: 2px;
}
.mfp_small {
	font-size: 0.8em;
	vertical-align: baseline;
}
.mfp_comment {
	color: #8ec152;
	vertical-align: baseline;
}
/*入力欄全体
--------------------------------*/
.mailform {
	

}
/*質問箇所（左エリア）
--------------------------------*/
.mfp_dt {
	font-size: clamp(15px, 20 / 1024 * 100vw, 20px);
font-weight: 500;
margin-bottom: 15px;
padding-left: 35px;
line-height: calc(20 / 30);
position: relative;
}

.mfp_dt::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 25px;
	height: 25px;
	background: #6385a8;
	border-radius: 5px;
}



/*入力箇所（右エリア）
--------------------------------*/
.mfp_dd {
	text-align: left;
}

/*--------------------------------
どうなさいましたか
--------------------------------*/
dd.mfp_dd ol.check-list {
  display: flex;
  flex-wrap: wrap;
}
dd.mfp_dd ol.check-list li {
  width: calc(100%/2);
  /*margin-bottom: 10px;*/
  padding-left: 22px;
  text-indent: -22px;
}

/*エラーメッセージ
--------------------------------*/
.mfp_err {
	clear: both;
	display: none;
	text-align: left;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 17px;
	color: #F00;
	font-size: 12px;
	line-height: 1.5em !important;
	background-image: url(img/mfp_error.gif);
	background-repeat: no-repeat;
	background-position: 0px 3px;
}
/*入力ボックス
--------------------------------*/
.mfp_dd input {
	border-radius: 15px;
	vertical-align: middle;
	height: 56px;
	width: 100% !important;
	border: none;
	padding: 5px 10px;
}


input:focus {
	border-color: #6385a8;
	outline: none;
	box-shadow: inset 0 0 0 2px #6385a8;
}
textarea:focus {
	border-color: #6385a8;
	outline: none;
	box-shadow: inset 0 0 0 2px #6385a8;
}


.mfp_dd label {
	/*display: block;*/
}
/*チェックボックス
--------------------------------*/
.check-list {
	display: flex;
}
.mfp_dd.-check-list {
background: #fff;
border-radius: 15px;
height: 56px;
display: flex;
justify-content: center;
flex-direction: column;
padding: 5px 20px;
}
.check-list li {
	margin-right: 50px;
}
.check-list input {
	vertical-align: baseline;
}

/* .check-list input  {
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	-webkit-clip-path: inset(50%) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
} */

.check-list input  {
	/* border: 0 !important;
	clip: rect(0 0 0 0) !important;
	-webkit-clip-path: inset(50%) !important;
	clip-path: inset(50%) !important; */
	height: 20px !important;
	/* margin: -1px !important; */
	/* overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important; */
	width: 20px !important;
	accent-color:#6385a8;
	border-radius: 50%;
}

.radio__input:checked + .radio__icon::after {
	-webkit-animation: radio-ripple 0.8s cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
	animation: radio-ripple 0.8s cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
	background-color: #6385a8;
	pointer-events: none;
}
.radio__input:checked + .radio__icon::before {
	background-color: #6385a8;
    opacity: 1;
}



.radio__icon::before {
	background-color: #6385a8;
	transition: background-color 0.5s, opacity 0.5s;
}
.radio__icon::before, .radio__icon::after {
	content: "";
	border-radius: 50%;
	bottom: 0;
	height: 10px;
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 10px;
	margin: auto;
	background: #6385a8;
}
.radio__icon {
	border: 1px solid #6385a8;
	border-radius: 50%;
	display: inline-block;
	width: 20px;
	height: 20px;
	position: relative;
	transition: border-color 0.5s;
	margin-right: 10px;
}
.radio__text {
	display: inline-block;
	letter-spacing: 0.01em;
	line-height: 1.5;
	position: relative;
	transition: color 0.3s;
}
.radio {
	align-items: center;
	cursor: pointer;
	display: inline-flex;

}

/*チェックボックス(その他)
--------------------------------*/
.sub_input {
	text-align: left;
}
/*テキストエリア
--------------------------------*/
.mfp_dd textarea {
	width: 100% !important;
	height: 222px !important;
	padding: 3px 8px;
	border:none;
	border-radius: 15px;
	line-height: 1.5;
}

/*当院への通院状況
--------------------------------*/
.visit-status {}
.visit-status li {}
/*ご予約希望日時
--------------------------------*/
.rsvchoice {
	display: flow-root;
	margin-bottom: 15px;
}
.rsvchoice .date {
	float: left;
	margin-right: 30px;
}
.rsvchoice .time {
	float: left;
}
.rsvchoice select {
	border: solid 1px #CCC;
	border-radius: 3px;
	vertical-align: text-bottom;
}
/*送信ボタン
--------------------------------*/
 .mfp_buttons {
	text-align: center;
}
.mfp_buttons_dt {
	color: #f89802;
	text-align: center;
}
.mfp_buttons_dd {
	text-align: center;
}
.mfp_buttons button {
	display: inline-block;
	cursor: pointer;
	min-width: 180px;
	background-color: #f89802;
	border: 2px solid #f89802;
  font-size: clamp(16px, 18 / 1200 * 100vw, 18px);
	padding: 10px 20px;
	line-height: 1.4;
	color: #fff;
	-webkit-transition: ease-in-out 0.1s;
	transition: ease-in-out 0.1s;
}

.mfp_buttons button:hover {
	background-color: #fff;
	color: #f89802;
}
.mfp_buttons button:first-child {
	margin-right: 20px;
} 


/*--------------------------------
確認画面
--------------------------------*/
#mfp_phase_confirm {}
/*確認画面タイトル(入力内容をご確認ください)
--------------------------------*/
.confirm_title {
	margin-bottom: 20px;
	font-size: clamp(18px, 20 / 1200 * 100vw, 20px);
	font-weight: bold;
	text-align: center;
}
/*入力欄全体
--------------------------------*/
#mfp_confirm_table {
	margin: 0 auto 40px;
	max-width: 700px;
	width: 100%;
padding: 40px;
	background: #fff;
	border-radius: 20px;
	padding: 40px;
    display: block;
}
/*質問箇所（左エリア）
--------------------------------*/
#mfp_confirm_table th {
	width: 50%;
	text-align: left;
	border-bottom: 1px solid #ccc;
	padding: 5px 10px;
	font-size: clamp(13px, 20 / 1200 * 100vw, 20px);
	font-weight: bold;
}
/*入力箇所（右エリア）
--------------------------------*/
#mfp_confirm_table td {
	width: 50%;
	text-align: left;
	border-bottom: 1px solid #ccc;
	padding: 5px 10px;
	font-size: clamp(12px, 20 / 1200 * 100vw, 20px);

}
/*送信ボタン
--------------------------------*/
.mfp_buttons {}
.mfp_buttons .mfp_dt {}
.mfp_buttons button {}


/*
↑ここまでメールフォームpro
================================*/


.must-text {
	color: #f00;
}




/*================================
ここからTABLET縦・SP適用（896px以下）
================================*/
@media(max-width: 896px) {

	/*================================
	↓ここからメールフォームpro
	*/

	/*質問箇所（左エリア）
	--------------------------------*/
	/* .mfp_dt {
		width: 100%;
		padding: 10px 20px;
		border: none;
	} */


	/*入力箇所（右エリア）
	--------------------------------*/
	/* .mfp_dd {
		width: 100%;
		padding: 10px
	} */
	/*チェックボックス
	--------------------------------*/
	/* .checkbox-list li {
		width: calc(100%/2);
	} */

	/*
	↑ここまでメールフォームpro
	================================*/




}




/*--------------------------------
*
*
*
*ブレイクポイントはその都度、設置するサイトに合わせてください
*
*
*
--------------------------------*/



/*================================
ここからSP適用
================================*/
@media screen and (max-width: 750px) {

	/*================================
	↓ここからメールフォームpro
	*/

	/*チェックボックス
	--------------------------------*/
	.checkbox-list li {
		width: 100%;
	}
	/*ご予約希望日時
	--------------------------------*/
	.rsvchoice_text {
		display: inline-block;
		text-align: right;
	}
	.rsvchoice .date {
		float: none;
		margin-right: 0;
	}
	.rsvchoice .time {
		float: none;
	}
	/*送信ボタン
	--------------------------------*/
	.mfp_buttons button {
		/*
		display: block;
		width: 100%;
		*/
	}
	.mfp_buttons button:first-child {
		margin-right: 0;
		margin-bottom: 10px;
	}


	/*--------------------------------
	確認画面
	--------------------------------*/
	#mfp_phase_confirm {}
	/*確認画面タイトル(入力内容をご確認ください)
	--------------------------------*/
	.confirm_title {}
	/*入力欄全体
	--------------------------------*/
	#mfp_confirm_table {
		max-width: 100%;
	}
	/*質問箇所（左エリア）
	--------------------------------*/
	#mfp_confirm_table th {
		display: block;
		width: 100%;
	}
	/*入力箇所（右エリア）
	--------------------------------*/
	#mfp_confirm_table td {
		display: block;
		width: 100%;
	}
	/*送信ボタン
	--------------------------------*/
	#mfp_phase_confirm .mfp_buttons {}
	.mfp_buttons {}
	.mfp_buttons .mfp_dt {}
	.mfp_buttons button {}

	/*
	↑ここまでメールフォームpro
	================================*/

.mfp_dd input.mfp_name {

}
.mfp_dt {

}

.mfp_not_checked {
}
/* .mfp_dd input.mfp_name {
	height: auto;
}
.mfp_dd input {
	height: auto;
} */

/* .mfp_buttons button {
	padding: 10px;
	min-width: 130px;

} */
#mfp_confirm_table th {
	border: none;
}
#mfp_confirm_table {
	padding: 40px 15px;
}
.form__telephone-link span:before {
	top: 0;
}
.privacy-policy {
	padding: 30px 15px;
}
.form__content {
	padding: 40px 15px;
}

.sub_input input {
	width: 80%!important;
}

dd.mfp_dd ol.check-list li {
	width: 100%;
}




.mfp_dd.-check-list {
	height: 40px;
}
.mailform__item {
	margin-bottom: 25px;
}
.mfp_dt::before {
	width: 17px;
	height: 17px;
}

.mfp_dt {
	padding-left: 25px;
}

.mfp_dd input {
	height: 40px;
	border-radius: 8px;
}

}
