@charset "utf-8";

/*
*
* お問合わせ（入力画面）専用スタイル
* ※ .contact_form_page 配下のみに適用（他ページ・確認/完了画面には影響しない）
*
*/

/*--- ページタイトル ---*/

.contact_form_page .index_h2_area {
	position: relative;
}

.contact_form_page .index_h2_area .h2_sub {
	color: #2647c1;
}

.contact_form_page .cfp_deco {
	position: absolute;
	display: block;
}

.contact_form_page .cfp_deco-title_l {
	top: 101px;
	left: calc(50% - 222px);
	width: 93px;
	height: 72px;
}

.contact_form_page .cfp_deco-title_r {
	top: 99px;
	left: calc(50% + 116px);
	width: 94px;
	height: 73px;
}

/*--- メインエリア ---*/

.contact_form_page .index_main_wrapper {
	padding-top: 59px;
}

/*--- バナー ---*/

.contact_form_page .cfp_bnr {
	margin: 0;
}

.contact_form_page .cfp_bnr img {
	display: block;
	width: 800px;
	height: auto;
}

/*--- リード文 ---*/

.contact_form_page .cfp_lead {
	position: relative;
	margin-top: 63px;
	min-height: 100px;
}

.contact_form_page .cfp_lead_text {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.05em;
	margin: 0;
	padding-right: 160px;
}

.contact_form_page .cfp_lead_img {
	position: absolute;
	top: -20px;
	right: 0;
	width: 147px;
}

.contact_form_page .cfp_lead_img img {
	display: block;
	width: 147px;
	height: auto;
}

/*--- 電話相談 ---*/

.contact_form_page .cfp_tel {
	width: 584px;
	margin: 29px auto 0;
	border-radius: 3px;
	overflow: hidden;
}

.contact_form_page .cfp_tel_head {
	background-color: #fea2af;
	color: #ffffff;
	font-size: 18px;
	font-weight: bold;
	line-height: 40px;
	letter-spacing: 0.05em;
	text-align: center;
}

.contact_form_page .cfp_tel_body {
	background-color: #f8f9ff;
	text-align: center;
	padding: 9px 0 12px;
}

.contact_form_page .cfp_tel_num {
	color: #fea2af;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.05em;
}

.contact_form_page .cfp_tel_num a {
	color: #fea2af;
	text-decoration: none;
}

.contact_form_page .cfp_tel_time {
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: 0.05em;
	margin-top: 5px;
}

/*--- よくあるご質問への誘導 ---*/

.contact_form_page .cfp_faq {
	margin-top: 35px;
}

.contact_form_page .cfp_faq_text {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.05em;
	margin: 0;
}

.contact_form_page .cfp_faq_link {
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.05em;
	margin: 20px 0 0;
}

.contact_form_page .cfp_faq_link a {
	color: #2647c1;
	text-decoration: none;
}

.contact_form_page .cfp_faq_link a:after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 8px;
	margin-left: 10px;
	background-image: url(../../common/img/arrow_blue.png);
	background-repeat: no-repeat;
	background-size: cover;
	vertical-align: middle;
}

/*--- 確認事項 ---*/

.contact_form_page .cfp_faq + .sp_wrapper {
	margin-top: 71px;
	margin-bottom: 68px !important;
}

/*--- 入力フォーム ---*/

.contact_form_page .table_form input[type="text"],
.contact_form_page .table_form input[type="email"],
.contact_form_page .table_form input[type="password"],
.contact_form_page .table_form textarea {
	background-color: #f8f9ff;
	border: 1px solid #dadef4;
	border-radius: 4px;
	box-shadow: none;
}

.contact_form_page .table_form input[type="text"]:invalid,
.contact_form_page .table_form input[type="email"]:invalid,
.contact_form_page .table_form input[type="password"]:invalid,
.contact_form_page .table_form textarea:invalid,
.contact_form_page .table_form input[type="text"]:valid,
.contact_form_page .table_form input[type="email"]:valid,
.contact_form_page .table_form input[type="password"]:valid,
.contact_form_page .table_form textarea:valid {
	box-shadow: none;
}

/*--- 区切り線 ---*/

.contact_form_page .cfp_line {
	border-top: 1px solid #dfdfdf;
	margin-top: 44px;
}

/*--- ご病気に関するご相談 ---*/

.contact_form_page .option_form_area {
	position: relative;
	background-color: #f8f9ff;
	border: none;
	border-radius: 10px;
	margin-top: 68px;
	margin-bottom: 69px;
}

.contact_form_page .option_form_area .cfp_deco-box_tl {
	top: -29px;
	left: -35px;
	width: 93px;
	height: 72px;
}

.contact_form_page .option_form_area .cfp_deco-box_br {
	bottom: -30px;
	right: -22px;
	width: 94px;
	height: 73px;
}

.contact_form_page .option_form_area .table_form input[type="text"] {
	background-color: #ffffff;
}

/*--- SP ---*/

@media screen and (max-width: 767px) {
	.index_h2_area {
		padding-top: 50px;
		padding-bottom: 40px;
	}

	.contact_form_page .index_main_wrapper {
		padding-top: 0;
	}

	.contact_form_page .cfp_deco-title_l,
	.contact_form_page .cfp_deco-title_r {
		display: none;
	}

	.contact_form_page .cfp_bnr {
		padding: 0 15px;
	}

	.contact_form_page .cfp_bnr img {
		width: 100%;
	}

	.contact_form_page .cfp_lead {
		min-height: 0;
		margin-top: 25px;
		padding: 0 15px;
	}

	.contact_form_page .cfp_lead_text {
		font-size: 15px;
		line-height: 1.7;
		padding-right: 0;
	}

	.contact_form_page .cfp_lead_text br {
		display: none;
	}

	.contact_form_page .cfp_lead_img {
		/* position: static;
		width: auto;
		margin: 10px auto 0;
		text-align: center; */
		display: none;
	}

	.contact_form_page .cfp_lead_img img {
		width: 147px;
		margin: 0 auto;
	}

	.contact_form_page .cfp_tel {
		width: auto;
		margin: 25px 15px 0;
	}

	.contact_form_page .cfp_faq {
		margin-top: 25px;
		padding: 0 15px;
	}

	.contact_form_page .cfp_faq_text {
		font-size: 15px;
		line-height: 1.7;
	}

	.contact_form_page .cfp_faq_text br {
		display: none;
	}

	.contact_form_page .cfp_faq_link {
		font-size: 15px;
		margin-top: 15px;
	}

	.contact_form_page .cfp_faq + .sp_wrapper {
		margin-top: 65px;
	}

	.contact_form_page .cfp_line {
		margin: 30px 15px 0;
	}

	.contact_form_page .option_form_area {
		border-radius: 10px;
		padding: 20px 15px;
		margin-top: 30px;
		margin-bottom: 30px;
	}

	.contact_form_page .option_form_area .cfp_deco-box_tl,
	.contact_form_page .option_form_area .cfp_deco-box_br {
		display: none;
	}
}
