/* ------------------------------
 問い合わせ関連
------------------------------ */
/* 各ページで共通の見た目にする箇所 */

/* ページ構成 */
#page_contact_default, #page_contact_sendmail, #page_contact_sendmail_result {
	position: relative;
	width: 640px;
	min-height: 500px;
	background-position: top center;
	background-repeat: repeat-y;
	background-size: 100% auto;
	text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
}
	#page_contact_default > div[data-role="content"],
	#page_contact_sendmail > div[data-role="content"],
	#page_contact_sendmail_result > div[data-role="content"] {
		position: relative;
		padding: 0;
	}
		#page_contact_default_header, #page_contact_sendmail_header, #page_contact_sendmail_result_header {
			position: relative;
			width: 640px;
			height: 74px;
			line-height: 74px;
			background-position: top center;
			background-repeat: no-repeat;
			background-size: 100% 100%;
			text-align: center;
			font-weight: bold;
		}
		#page_contact_default_body, #page_contact_sendmail_body, #page_contact_sendmail_result_body {
			position: relative;
			padding: 28px;
			box-sizing: border-box;
		}

/* ボタン 次の段階に進む用(空色+白文字) */
#page_contact_default_support_section_button_div,
#page_contact_sendmail_form_section_submit_button_div,
#page_contact_sendmail_input_check_modal_content_button_div,
#page_contact_sendmail_result_back_main_button_div {
	position: relative;
	width: 556px;
	height: 70px;
	line-height: 70px;
	margin: 0 auto;
	color: #fff;
	text-align: center;
	font-weight: bold;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
#page_contact_sendmail_form_section_submit_button_div {
	margin-top: 50px;
}
#page_contact_sendmail_input_check_modal_content_button_div {
	width: 100%;
}

/* ボタン 別ページに遷移する用 */
.page_contact_default_section_button_div,
.parts_contact_qa_section_button_div {
	position: relative;
	width: 290px;
	height: 57px;
	margin: 0 auto;
}

/* 注意文 箇条書きにする場合 */
#page_contact_default .page_contact_default_note_list,
#page_contact_sendmail .page_contact_sendmail_note_list {
	list-style: none;
	line-height: 1.4em;
}
	#page_contact_default .page_contact_default_note_list > li,
	#page_contact_sendmail .page_contact_sendmail_note_list > li {
		padding: 0 0 0 1em;
	}
	#page_contact_default .page_contact_default_note_list > li:before,
	#page_contact_sendmail .page_contact_sendmail_note_list > li:before {
		content: "・";
		margin-left: -1em;
		font-weight: 900;
	}

/* よくある質問 */
div[contact_qa_section] {
	position: relative;
}
	div[contact_qa_section] > .parts_contact_qa_section_header {
		position: relative;
		height: 1.5em;
		line-height: 1.5em;
		margin: 0 auto;
		padding: 0 5px;
		border-left: 5px solid #ff722d;
		font-weight: bold;
	}
	div[contact_qa_section] > .parts_contact_qa_section_body {
		position: relative;
		margin: 18px auto 0;
		padding: 0;
	}
		div[contact_qa_section] > .parts_contact_qa_section_body > div {
			position: relative;
			background-color: #fff;
			border-top: 2px solid #b0b0b0;
		}
		div[contact_qa_section] > .parts_contact_qa_section_body > div:last-child {
			border-bottom: 2px solid #b0b0b0;
		}
			div[contact_qa_section] > .parts_contact_qa_section_body > div > div {
				position: relative;
				line-height: 1.4em;
				padding: 19px 10px;
				font-weight: 500;
			}
	div[contact_qa_section] > .parts_contact_qa_section_footer {
		position: relative;
		margin: 25px auto 0;
		flex-wrap: wrap;
	}
		div[contact_qa_section] > .parts_contact_qa_section_footer > .parts_contact_qa_section_button_l_div {
			position: relative;
			width: 100%;
			margin: 10px auto 0;
		}

/* サポート休業のお知らせ */
#page_contact_default_support_vacation_div {
	position: relative;
	margin: 30px auto;
	text-align: center;
}
	#page_contact_default_support_vacation_title_div {
		position: relative;
		width: 345px;
		margin: 0 auto 10px;
	}
		#page_contact_default_support_vacation_title_div > a {
			color: #000;
			text-decoration: underline;
			text-decoration-color: #000;
		}
	#page_contact_default_support_vacation_period_div {
		position: relative;
		margin: 0 auto 10px;
	}

/* 未登録アカウント向けのログイン案内 */
#page_contact_default_login_info_link_div {
	position: relative;
	margin: 0 auto;
}
	#page_contact_default_login_info_link_dummy {
		position: relative;
		width: 340px;
		margin: 0 auto;
		padding: 5px;
		background-color: #e6b816;
		text-align: center;
		border-radius: 10px;
	}

/* TOPページ */
#page_contact_default_body {
	background-position: top right -50px;
	background-repeat: no-repeat;
	background-size: 300px auto;
}
	/* 案内文 */
	#page_contact_default_intro_section {
		position: relative;
		line-height: 1.4em;
		margin: 0 auto 80px -10px;
		padding: 80px 20px 0;
        text-shadow: 2px 2px 0px #fff, -2px 2px 0px #fff, 2px -2px 0px #fff, -2px -2px 0px #fff, 2px 0px 0px #fff, 0px 2px 0px #fff, -2px 0px 0px #fff, 0px -2px 0px #fff;
		font-weight: bold;
		background-position: top left;
		background-repeat: no-repeat;
		background-size: 449px 85px;
	}

	/* サポート窓口 */
	#page_contact_default_support_section {
		position: relative;
		margin: 80px auto 0;
	}
		#page_contact_default_support_section > .page_contact_default_section_header {
			position: relative;
			font-weight: bold;
			text-align: center;
		}
		#page_contact_default_support_section > .page_contact_default_section_body {
			position: relative;
			text-align: center;
			margin: 0 auto;
			padding: 25px 10px 10px;
			line-height: 1.4em;
			background-color: #fff;
			border-radius: 10px;
			border: 2px solid #b0b0b0;
		}
			#page_contact_default_support_section_in_support_div {
				position: relative;
				line-height: 1.5em;
				margin: 35px auto 15px;
				font-weight: bold;
			}
		#page_contact_default_support_section > .page_contact_default_section_footer {
			position: relative;
			margin: 10px auto 0;
		}
			#page_contact_default_support_section > .page_contact_default_section_footer > .page_contact_default_section_button_div {
				margin-top: 10px;
			}
			#page_contact_default_mail_box_btn_div {
				position: relative;
				width: 284px;
				height: 74px;
				margin: 10px auto 30px;
			}



/* 送信フォームのページ */
#page_contact_sendmail .page_contact_sendmail_section_header {
	position: relative;
	font-weight: bold;
	text-align: left;
}
#page_contact_sendmail_genre_section {
	position: relative;
	margin: 0 auto;
}
	#page_contact_sendmail_genre_1_section, #page_contact_sendmail_genre_2_section {
		position: relative;
		margin: 0 auto;
		text-align: left;
		font-weight: bold;
	}
	#page_contact_sendmail_genre_2_section {
		margin-top: 22px;
		padding: 27px 0 0;
		background-size: auto auto;
		background-position: top center;
		background-repeat: no-repeat;
	}
	#page_contact_sendmail_genre_1_section::after, #page_contact_sendmail_genre_2_section::after {
		position: absolute;
		height: 2.5em;
		line-height: 2.5em;
		content: "▼";
		right: 20px;
		margin: auto 0;
		pointer-events: none;
	}
		#page_contact_sendmail_genre_section select {
			position: relative;
			width: 100%;
			height: 2.5em;
			padding: 10px 20px;
			border: 1px solid #686868;
			border-radius: 10px;
			color: #000;
			background-color: #fff;
			appearance: none;
			-webkit-appearance: none;
			outline: 0;
		}
			#page_contact_sendmail_genre_section select > option[disabled] {
				display: none;
			}
#page_contact_sendmail_qa_section {
	position: relative;
	margin: 45px auto 0;
	padding: 30px 0 50px;
	border-top: 5px dotted #686868;
	border-bottom: 5px dotted #686868;
}
#page_contact_sendmail_genre_text_section {
	position: relative;
	margin: 80px auto 0;
}

#page_contact_sendmail_form_section {
	position: relative;
	margin: 50px auto;
}
	#page_contact_sendmail_form_section > form > .page_contact_sendmail_section_header {
		margin: 50px auto 0;
	}
	/* 文字入力フォーム */
	#page_contact_sendmail_form_section > form > input[type="text"],
	#page_contact_sendmail_form_section > form > textarea {
		position: relative;
		width: 100%;
		line-height: 1.4em;
		margin: 0 auto;
		padding: 8px;
		border-radius: 10px;
		box-sizing: border-box;
		border: 1px solid #686868;
		color: #000;
		background-color: #fff;
		font-weight: 400;
		font-family: 'M PLUS 1p', sans-serif, Helvetica, Arial;
	}
	#page_contact_sendmail_form_section > form > textarea {
		height: 250px;
	}
	/* ファイル選択部分のSTYLE定義 */
	#page_contact_sendmail_form_section_input_file_div {
		position: relative;
		margin: 0 auto 10px;
		display: flex;
		align-items: top;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
		#page_contact_sendmail_form_section_input_file_div > div {
			position: relative;
			margin: 0;
		}
		#page_contact_sendmail_form_section_input_file_div > div:not(:first-child) {
			margin-left: 40px;
		}
			#page_contact_sendmail_form_section_input_file_div > div > .page_contact_sendmail_form_section_input_file_btn_div {
				position: relative;
				width: 133px;
				height: 134px;
				margin: 0;
				border-radius: 10px;
				overflow: hidden;
			}
				#page_contact_sendmail_form_section_input_file_div > div > .page_contact_sendmail_form_section_input_file_btn_div > label {
					position: relative;
					display: block;
					background-size: 100% auto;
					background-position: center;
					background-repeat: no-repeat;
				}
				#page_contact_sendmail_form_section_input_file_div > div > .page_contact_sendmail_form_section_input_file_btn_div > .page_contact_sendmail_form_section_input_file_error {
					position: absolute;
					line-height: 1.2em;
					margin: auto;
					padding: 50px 0;
					top: 0;
					right: 0;
					bottom: 0;
					left: 0;
					text-align: center;
					font-weight: 800;
					color: red;
					background-color: rgba( 255, 255, 255, 0.8 );
					pointer-events: none;
				}
			#page_contact_sendmail_form_section_input_file_div > div > .page_contact_sendmail_form_section_input_file_cancel_btn_div {
				position: absolute;
				width: 50px;
				bottom: -10px;
				right: -15px;
			}

/* モーダルの内部 */
#page_contact_sendmail_input_check_modal_div .parts_common_modal_actual_div .parts_common_modal_absolute_contents_div {
	padding: 0;
}
	#page_contact_sendmail_input_check_modal_content_div{
		position: relative;
		margin: 0 auto;
	}
		#page_contact_sendmail_input_check_modal_content_header{
			position: relative;
			height: 77px;
			line-height: 77px;
			text-align: center;
			font-weight: bold;
		}
		#page_contact_sendmail_input_check_modal_content_body{
			position: relative;
			padding: 10px 15px 20px;
			text-align: left;
		}
			#page_contact_sendmail_input_check_modal_content_body > div {
				position: relative;
				margin: 0 auto;
			}
			#page_contact_sendmail_input_check_modal_content_body > div:not(:first-child) {
				margin-top: 50px;
			}
				.page_contact_sendmail_input_check_modal_content_value_div {
					position: relative;
					margin: 0 auto;
					padding: 5px 10px;
				}
				.page_contact_sendmail_input_check_modal_content_value_error_text_div {
					position: relative;
					line-height: 1em;
					margin: 0 auto;
					padding: 0;
					color: red;
					text-align: left;
				}
				#page_contact_sendmail_input_check_modal_content_body_message > .page_contact_sendmail_input_check_modal_content_value_error_text_div {
					margin-bottom: 5px;
				}
				#page_contact_sendmail_input_check_modal_content_body_message > .page_contact_sendmail_input_check_modal_content_value_div {
					box-sizing: border-box;
					border: 2px solid #686868;
					border-radius: 10px;
				}
				#page_contact_sendmail_input_check_modal_content_body_file > .page_contact_sendmail_input_check_modal_content_value_div {
					display: flex;
					justify-content: flex-start;
					padding: 0;
				}
					#page_contact_sendmail_input_check_modal_content_body_file > .page_contact_sendmail_input_check_modal_content_value_div > div {
						position: relative;
						width: 133px;
						height: 134px;
						margin: 0 20px 0 0;
						overflow: hidden;
						display: flex;
						align-items: center;
						justify-content: center;
						border-radius: 10px;
					}

/* エラーモーダル */
#page_contact_sendmail_error_modal_content_div, #page_contact_sendmail_error_result_modal_content_div {
	position: relative;
	line-height: 1.4em;
	margin: 0 auto;
	padding: 50px 0;
	text-align: center;
	color: #fff;
}
	#page_contact_sendmail_error_modal_content_div > div {
		position: relative;
		margin: 0 auto;
		display: none;
	}
	#page_contact_sendmail_error_modal_content_div > div:before {
		position: relative;
		content: "・";
	}
	#page_contact_sendmail_error_modal_content_div > div:not(:first-child) {
		margin-top: 40px;
	}
	/* エラー1件のときだけ、複数表示用の設定が不要 */
	#page_contact_sendmail_error_modal_content_div[data-count="1"] > div:before {
		content: "";
	}
	#page_contact_sendmail_error_modal_content_div[data-count="1"] > div:not(:first-child) {
		margin-top: 0;
	}

	/* 送信エラーモーダル */
	#page_contact_sendmail_error_result_modal_content_detail_div {
		position: relative;
		line-height: 1.4em;
		margin: 60px auto 0;
	}



/* 送信結果ページ */
#page_contact_sendmail_result_message_div {
	position: relative;
	min-height: 230px;
	background-position: bottom 10px right 10px;
	background-repeat: no-repeat;
	background-size: auto auto;
}