@charset "UTF-8";
/* 
----------------------------------------------------------------------------

	フォーム系 共通
	お問い合わせ・資料請求
	ご来場予約
	お施主様

--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
	フォーム系　共通
--------------------------------------------------------------------------*/
/*-------------------------------
　ページ基本設定(id=contact)
--------------------------------*/
#contact { margin: 0 auto; width: 100%; max-width: 1140px; }
#contact #intro_frm { margin: 0 auto; padding: 0 0 70px 0; width: 100%; }
#contact #intro_frm .intro { margin-bottom: 40px; font-size: 15px; text-align: center; }
#contact #intro_frm .intro .sub_tx { border: 1px solid #4b8fc0; margin: 40px auto 0; padding: 20px; max-width: 532px; font-size: 14px; }
#contact #contact_sbj { margin: 0 0 50px 0; }
#contact #contact_sbj h2 { border-bottom: 2px solid #4b8fc0; margin: 0 auto 30px; padding: 0 0 10px; max-width: 460px; text-align: center; font-size: 25px; font-weight: 500; }
#contact #contact_sbj p { text-align: center; }
#contact #contact_sbj p.privacy { margin: 20px 0 0 0; font-size: 15px; font-weight: 500; }
#contact #contact_sbj p.privacy a:link, #contact #contact_sbj p.privacy a:visited { color: #f15a24; }
#contact #contact_sbj p.privacy a:active, #contact #contact_sbj p.privacy a:hover { color: #4b8fc0; }
#contact p.no_ev { background: #eeeeee; margin-bottom: 100px; padding: 40px 20px 40px; text-align: center; }

/*-------------------------------
	電話番号
--------------------------------*/
.contact_tel_info { background: #edf0f3; margin: 0 auto 0; padding: 0 10px 0; width: 100%; max-width: 600px; text-align: center; padding: 24px 20px; }
.contact_tel_info p { display: inline-block; vertical-align: middle; }
.contact_tel_info .info_tx { padding: 0; font-size: 18px; font-weight: 500; }
.contact_tel_info .info_number { padding: 0 0 0 40px; line-height: 1; font-size: 27px; font-weight: 500; font-family: 'Oswald'; }
.contact_tel_info .info_number span { display: inline-block; padding: 0 0 0 30px; background: url("../img/icon_tel.png") no-repeat left center; background-size: 25px auto; }

/*-------------------------------
	入力フォーム
--------------------------------*/
#formMain #formIn .formSub { border: 1px solid #4b8fc0; padding: 40px 50px; }
#formMain #formIn article, #formMain #formIn .items { box-sizing: border-box; display: table; width: 100%; }
#formMain #formIn article > div, #formMain #formIn .items > div { box-sizing: border-box; display: table-cell; vertical-align: top; }
#formMain #formIn article .fName, #formMain #formIn .items .fName { width: 300px; padding: 28px 25px 15px 0; font-size: 15px; font-weight: 500; }
#formMain #formIn article .fName span:first-child, #formMain #formIn .items .fName span:first-child { box-sizing: border-box; float: left; display: block; width: 60px; text-align: center; font-size: 14px; font-weight: 500; padding: 1px 0 1px; line-height: 1.8; background-color: #a5b3c3; color: #FFF; }
#formMain #formIn article .fName span:last-child, #formMain #formIn .items .fName span:last-child { padding: 0 0 0 75px; display: block; letter-spacing: 0.08em; }
#formMain #formIn article .fName span.att_multi, #formMain #formIn .items .fName span.att_multi { padding: 0; font-size: 14px; font-weight: 400; }
#formMain #formIn article .fName .m_add, #formMain #formIn .items .fName .m_add { padding: 0 0 0 70px; display: block; }
#formMain #formIn article .fName .c_dome, #formMain #formIn .items .fName .c_dome { padding: 5px 0 0 0; display: block; clear: both; color: #ff0000; font-size: 13px; font-weight: 400; letter-spacing: 0.05em; }
#formMain #formIn article .fValue, #formMain #formIn .items .fValue { padding: 15px 0 15px; }
#formMain #formIn article .fValue input[type="text"], #formMain #formIn article .fValue textarea, #formMain #formIn article .fValue input.input_text, #formMain #formIn .items .fValue input[type="text"], #formMain #formIn .items .fValue textarea, #formMain #formIn .items .fValue input.input_text { box-sizing: border-box; width: 100%; padding: 15px 10px 15px 30px; border: none; border: 1px solid #cccccc; background: #fff; font-size: 14px; resize: vertical; font-family: 'Noto Sans', 'Noto Sans JP', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; }
#formMain #formIn article .fValue input[type="text"]::placeholder, #formMain #formIn article .fValue textarea::placeholder, #formMain #formIn article .fValue input.input_text::placeholder, #formMain #formIn .items .fValue input[type="text"]::placeholder, #formMain #formIn .items .fValue textarea::placeholder, #formMain #formIn .items .fValue input.input_text::placeholder { color: #a5b3c3; }
#formMain #formIn article .fValue textarea, #formMain #formIn .items .fValue textarea { height: 180px; line-height: 1.3; font-family: 'Noto Sans', 'Noto Sans JP', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; }
#formMain #formIn article .fValue .entry_select, #formMain #formIn .items .fValue .entry_select { display: table; width: 100%; background-color: #edf0f3; table-layout: fixed; font-size: 14px; }
#formMain #formIn article .fValue .entry_select + .entry_select, #formMain #formIn .items .fValue .entry_select + .entry_select { margin: 5px 0 0 0; }
#formMain #formIn article .fValue .entry_select input[type="checkbox"], #formMain #formIn .items .fValue .entry_select input[type="checkbox"] { margin: 16px 0 0 10px; display: table-cell; width: 20px; vertical-align: middle; text-align: left; }
#formMain #formIn article .fValue .entry_select input[type="checkbox"]:checked + label, #formMain #formIn .items .fValue .entry_select input[type="checkbox"]:checked + label { color: #fff; background-color: #4b8fc0; }
#formMain #formIn article .fValue .entry_select label, #formMain #formIn .items .fValue .entry_select label { padding: 10px 20px 10px 40px; display: table-cell; vertical-align: middle; width: 100%; }
#formMain #formIn article .fValue .entry_select:hover, #formMain #formIn .items .fValue .entry_select:hover { color: #fff; background-color: #4b8fc0; }
#formMain #formIn .hisu .fName span:first-child { background-color: #f15a24; }
#formMain #formIn #fm_privacy { border-top: 1px solid #cccccc; margin-top: 50px; padding-top: 50px; }
#formMain #formIn #fm_privacy h2 { margin: 0 0 10px 0; padding: 0 0 0 35px; line-height: 1.6; background: url("../img/icon_l.png") no-repeat left top 3px; background-size: 18px auto; font-size: 16px; font-weight: 400; }
#formMain #formIn #fm_privacy a { color: #f15a24; font-weight: 500; }
#formMain #formIn #fm_privacy a:hover, #formMain #formIn #fm_privacy a:active { color: #4b8fc0; }
#formMain #formIn #fm_privacy .privacy_tx { margin-bottom: 20px; font-size: 14px; }
#formMain #formBtn { margin: 100px 0 0 0; text-align: center; }
#formMain #formBtn button { box-sizing: border-box; display: inline-block; width: 100%; height: 60px; max-width: 400px; font-size: 17px; font-weight: 500; font-family: 'Noto Sans', 'Noto Sans JP', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; letter-spacing: 0.1em; color: #FFF; background-color: #d0956e; border: 1px solid #d0956e; cursor: pointer; }
#formMain #formBtn button:hover, #formMain #formBtn button:active { background-color: #f15a24; border: 1px solid #f15a24; text-decoration: none; color: #FFF; }

/*-------------------------------
	送信完了共通
--------------------------------*/
#contact_thanks { margin: 0 auto; padding: 90px 20px 120px; text-align: center; max-width: 1140px; }
#contact_thanks .frm { margin: 0 auto 100px; }
#contact_thanks .frm h2 { margin-bottom: 30px; line-height: 1.4; font-size: 28px; font-weight: 700; }
#contact_thanks .frm h2 + div { margin: 0 auto; padding: 0; width: 100%; font-size: 15px; max-width: 1000px; }
#contact_thanks .frm .contact_tel_info { margin-top: 70px; }
#contact_thanks .back_btn { margin: 0 auto; max-width: 300px; }

/*-------------------------------
	エラーチェック共通
--------------------------------*/
#formWrap .error { padding: 60px 20px 100px; text-align: center; }
#formWrap .error h2 { font-size: 18px; font-weight: 700; line-height: 1.8; margin-bottom: 30px; }
#formWrap .error div { margin-bottom: 50px; }
#formWrap .error input { box-sizing: border-box; display: inline-block; width: 100%; height: 60px; max-width: 300px; border: none; margin-bottom: 30px; cursor: pointer; background: #d0956e; color: #fff; font-size: 17px; font-weight: 500; font-family: 'Noto Sans', 'Noto Sans JP', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; }
#formWrap .error input:hover, #formWrap .error input:active { background: #f15a24; color: #FFF; }
#formWrap .error .error_messe { color: #ff0004; margin-bottom: 10px; }

/*-------------------------------
	送信内容確認共通
--------------------------------*/
#formWrap .last { padding: 60px 20px 100px; box-sizing: border-box; }
#formWrap .last h2 { text-align: center; font-size: 23px; font-weight: 700; margin-bottom: 30px; }
#formWrap .last .text { text-align: center; margin-bottom: 50px; }
#formWrap .last article { box-sizing: border-box; width: 100%; max-width: 800px; margin: 0 auto 50px; border-top: #888 1px solid; border-left: #888 1px solid; }
#formWrap .last article section { box-sizing: border-box; width: 100%; display: table; }
#formWrap .last article section h3, #formWrap .last article section div { box-sizing: border-box; display: table-cell; border-bottom: #888 1px solid; border-right: #888 1px solid; padding: 10px 15px; font-size: 14px; }
#formWrap .last article section h3 { width: 200px; background: #efefef; }
#formWrap .last #btn { text-align: center; }
#formWrap .last #btn input[type="submit"], #formWrap .last #btn input[type="button"] { box-sizing: border-box; display: inline-block; width: 100%; height: 60px; max-width: 300px; font-size: 17px; font-weight: 500; font-family: 'Noto Sans', 'Noto Sans JP', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; border: none; cursor: pointer; margin: 0 5px; }
#formWrap .last #btn input[type="submit"] { background-color: #d0956e; color: #fff; }
#formWrap .last #btn input[type="submit"]:hover, #formWrap .last #btn input[type="submit"]:active { background: #f15a24; color: #fff; }
#formWrap .last #btn input[type="button"] { background: #dddddd; /* border-color: #666666; */ }
#formWrap .last #btn input[type="button"]:hover, #formWrap .last #btn input[type="button"]:active { background: #666; color: #fff; }
#formWrap .last_req article section h5 { width: 250px; }

/*-------------------------------
	項目選択・日時選択
--------------------------------*/
#formMain #formIn .select_event { margin-bottom: 20px; }
#formMain #formIn .select_event .event_entry { display: table; width: 100%; table-layout: fixed; }
#formMain #formIn .select_event .event_entry input[type="radio"] { margin: 9px 0 0 0; display: table-cell; width: 40px; vertical-align: middle; text-align: left; box-sizing: border-box; }
#formMain #formIn .select_event .event_entry input[type="radio"]:checked + label { color: #FFF; }
#formMain #formIn .select_event .event_entry label { padding: 5px 20px 5px 40px; display: table-cell; vertical-align: middle; width: 100%; font-weight: 500; box-sizing: border-box; }
#formMain #formIn .select_event .event_entry + .event_entry { margin: 5px 0 0 0; }
#formMain #formIn .select_day { margin-bottom: 50px; }
#formMain #formIn .select_day .weekday { margin: 0 0 15px 0; color: #72492d; font-size: 14px; font-weight: 500; }
#formMain #formIn .select_day article, #formMain #formIn .select_day .items { margin-bottom: 0; }
#formMain #formIn .select_day article select, #formMain #formIn .select_day .items select { background: url("../img/select_down.png") right 5px center no-repeat; background-size: 14px auto; border: 1px solid #cccccc; margin-top: 5px; padding: 10px 20px 10px 15px; min-width: 205px; font-size: 13px; font-family: 'Noto Sans', 'Noto Sans JP', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; -webkit-appearance: none; /* (Google Chrome、Safari用) */ -moz-appearance: none; /* (Firefox用) */ appearance: none; }
#formMain #formIn .select_day article .month, #formMain #formIn .select_day article .day, #formMain #formIn .select_day .items .month, #formMain #formIn .select_day .items .day { width: 100%; max-width: 100px; }
#formMain #formIn .select_day article #time, #formMain #formIn .select_day .items #time { width: 100%; max-width: 150px; }
#formMain #formIn .select_day article #time option[disabled=""], #formMain #formIn .select_day .items #time option[disabled=""] { display: none; }
#formMain #formIn .select_day article + article { margin: 10px 0 0 0; }
#formMain #formIn .select_day article + p { font-size: 14px; }

/*--------------------------------------------------------------------------
	お問い合わせ・資料請求
--------------------------------------------------------------------------*/
#contact.contact #intro_frm .intro { border-bottom: 1px solid #cccccc; margin-bottom: 70px; padding-bottom: 70px; }
#contact.contact #contact_sbj { border-top: 1px solid #cccccc; padding-top: 60px; }
#contact.contact #formMain #formIn article.kind .fValue label { padding: 0 1px 0 0; float: left; width: 50%; box-sizing: border-box; }
#contact.contact #formMain #formIn article.kind .fValue label:last-of-type { padding: 0 0 0 1px; }
#contact.contact #formMain #formIn article.kind .fValue label span { display: block; background-image: url("../img/icon_radio_off.png"); background-color: #fff; background-position: left 10px top 16px; background-repeat: no-repeat; background-size: 14px auto; height: 50px; color: #757bb1; font-size: 15px; font-weight: 400; padding: 10px 10px 10px 33px; cursor: pointer; box-sizing: border-box; }
#contact.contact #formMain #formIn article.kind .fValue input { display: none; }
#contact.contact #formMain #formIn article.kind .fValue input[type=radio]:checked + label span { background-image: url("../img/icon_radio_on.png"); background-color: #4b8fc0; color: #fff; }
#contact.contact #formMain #formIn .select_event.sche_rd .event_entry input[type="radio"] { margin: 16px 0 0; width: 35px; }
#contact.contact #formMain #formIn .select_event.sche_rd .event_entry input[type="radio"]:checked { accent-color: #000; }
#contact.contact #formMain #formIn .select_event.sche_rd .event_entry input[type="radio"]:checked + label { color: #000; }
#contact.contact #formMain #formIn .select_event.sche_rd .event_entry label { padding: 10px 10px 10px 35px; background-color: #fff; font-size: 14px; }
#contact.contact #formMain #formIn article.disabled { display: none; }

/*--------------------------------------------------------------------------
	ご来場予約
--------------------------------------------------------------------------*/
#contact.appoint #intro_frm { padding: 0 0 70px 0; }
#contact.appoint .step { margin: 0 0 100px 0; }
#contact.appoint .step ul { display: flex; display: -webkit-flex; }
#contact.appoint .step ul li { background: #edf0f3; margin: 0 5px; padding: 20px 0 20px; width: 20%; line-height: 1.5; text-align: center; }
#contact.appoint .step ul li span.flow { display: inline-block; background-size: 30px auto, 60px auto; background-position: center top, center bottom; background-repeat: no-repeat; padding: 50px 10px 80px; font-size: 15px; font-weight: 500; }
#contact.appoint .step ul li span.f01 { background-image: url("../img/no1.png"), url("../img/appoint_01.png"); }
#contact.appoint .step ul li span.f02 { background-image: url("../img/no2.png"), url("../img/appoint_02.png"); }
#contact.appoint .step ul li span.f03 { background-image: url("../img/no3.png"), url("../img/appoint_03.png"); }
#contact.appoint .step ul li span.f04 { background-image: url("../img/no4.png"), url("../img/appoint_04.png"); }
#contact.appoint .step ul li span.f05 { background-image: url("../img/no5.png"), url("../img/appoint_05.png"); }
#contact.appoint #formMain #formIn .formSub { padding: 50px; }
#contact.appoint #formMain #formIn .linetitle { margin: 0 0 10px 0; }
#contact.appoint #formMain #formIn .linetitle.sub { margin: 70px 0 20px 0; }
#contact.appoint #formMain #formIn .linetitle h3 { border-bottom: 1px solid #000; padding: 0 0 15px 30px; line-height: 1.5; color: #1a1a1a; background: url("../img/icon_l.png") no-repeat left 4px; background-size: 18px auto; font-size: 18px; font-weight: 500; }
#contact.appoint #formMain #formIn .select_event:last-child { margin: 0; }
#contact.appoint #formMain #formIn .select_event .event_entry input[type="radio"] { margin: 16px 0 0; width: 35px; }
#contact.appoint #formMain #formIn .select_event .event_entry input[type="radio"]:checked + label { color: #fff; background-color: #4b8fc0; }
#contact.appoint #formMain #formIn .select_event .event_entry label { padding: 10px 10px 10px 35px; background-color: #fff; font-size: 14px; }
#contact.appoint #formMain #formIn .select_event .event_entry label:hover { color: #fff; background-color: #4b8fc0; }
#contact.appoint #formMain #formIn .select_event .event_empty { padding: 13px 10px 10px 0; }
#contact.appoint #formMain #formIn .select_day { border-top: 1px solid #cccccc; margin: 40px auto 0; padding-top: 20px; }
#contact.appoint #formMain #formIn article .fName { font-size: 15px; }
#contact.appoint #formMain #formIn article:last-child .fName, #contact.appoint #formMain #formIn article:last-child .fValue { padding-bottom: 0; }
#contact.appoint #formMain #formIn .entry_select { background-color: #edf0f3; font-size: 14px; }
#contact.appoint #formMain #formIn .entry_select:hover { background-color: #4b8fc0; }
#contact.appoint #formMain #formIn .entry_select input[type="checkbox"]:checked + label { background-color: #4b8fc0; }
#contact.appoint #formMain #formIn .no_appoint { text-align: center; background: #fff1dc; font-size: 16px; padding: 10px; margin-top: 30px; color: #f15a24; }

/*--------------------------------------------------------------------------
	お施主様専用フォーム　※メールフォームプロ使用
--------------------------------------------------------------------------*/
#contact.client #formMain #formIn .select_event { margin-bottom: 0; }
#contact.client #formMain #formIn .select_event .event_entry input[type="radio"] { margin-top: -2px; }
#contact.client #formMain #formIn .select_event .event_entry label { padding: 5px 0px 5px; font-size: 14px; }
#contact.client #formMain #formIn .select_event .event_entry label.mfp_checked { background: #FFF; }
#contact.client #formMain #formIn .select_event .event_entry label:hover { background-color: #FFF; }
#contact.client #formMain #formIn .select_event .event_entry input[type="radio"]:checked { accent-color: #000; }
#contact.client #formMain #formIn .select_day { margin-bottom: 0; }
#contact.client #formMain #formIn .file_send dl dt { border: none; width: 40px; text-align: left; }
#contact.client #formMain #formIn .file_send dl dd { border: none; padding: 10px 5px 10px 60px; }
#contact.client #formMain #formIn .temp_text { margin-top: 10px; font-size: 12px; }
#contact.client #formMain #formIn #temp p.file { margin-top: 10px; max-width: 220px; font-size: 14px; font-weight: 400; }
#contact.client #formMain #formIn .ex { color: #888888; font-size: 13px; }
#contact.client #formMain #formIn #fm_privacy .label_list label { float: none; background: #edf0f3; padding: 12px; }
#contact.client #formMain #formIn #fm_privacy .label_list label.mfp_checked { background: #edf0f3; }
#contact.client #formMain #formIn #fm_privacy .label_list label:hover { background: #4b8fc0; color: #FFF; }

#contact.client div#mfp_phase_confirm { background: #FFF; }
#contact.client div#mfp_phase_confirm div#mfp_phase_confirm_inner { margin: 0; }
#contact.client div#mfp_phase_confirm div#mfp_phase_confirm_inner table#mfp_confirm_table { margin: 15px auto 50px; }
#contact.client div#mfp_phase_confirm div#mfp_phase_confirm_inner table#mfp_confirm_table tr th, #contact.client div#mfp_phase_confirm div#mfp_phase_confirm_inner table#mfp_confirm_table tr td { border: 1px solid #888; }
#contact.client div#mfp_phase_confirm div#mfp_phase_confirm_inner table#mfp_confirm_table tr th { background: #efefef; padding: 10px 15px; width: 200px; font-size: 14px; }
#contact.client div#mfp_phase_confirm div#mfp_phase_confirm_inner table#mfp_confirm_table tr td { background: #FFF; padding: 10px 15px; font-size: 14px; }
#contact.client div.mfp_buttons { padding: 0; }
#contact.client div.mfp_buttons button#mfp_button_send { background: #d0956e; height: 60px; font-size: 17px; }
#contact.client div.mfp_buttons button#mfp_button_send:hover { background: #f15a24; }
#contact.client div.mfp_buttons button#mfp_button_cancel { background: #dddddd; color: #000; height: 60px; font-size: 17px; }
#contact.client div.mfp_buttons button#mfp_button_cancel:hover { background: #666666; color: #FFF; }

/*#contact.client*/

/*# sourceMappingURL=sub_form.css.map */
