@charset "UTF-8";
/* 
----------------------------------------------------------------------------

	フォーム系 共通

	来場予約
	営業受付
	お問い合わせ

--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
	フォーム系　共通
--------------------------------------------------------------------------*/
/*-------------------------------
	導入部
--------------------------------*/
.form_intro { text-align: center; }
.form_intro > p { margin: 30px 0 0 0; line-height: 2; }
.form_intro > p:first-of-type { margin: 0; }
.form_intro > p a:link, .form_intro > p a:visited { color: #c1272d; }
.form_intro > p a:active, .form_intro > p a:hover { color: #666; }

.form_navi { margin: 70px auto 0 auto; padding: 80px 0; text-align: center; }
.form_navi ul { margin: 0 auto; display: flex; display: -webkit-flex; max-width: 1080px; flex-wrap: wrap; }
.form_navi ul li { margin: 0 20px; display: flex; display: -webkit-flex; width: calc(50% - 40px); }
.form_navi ul li a { padding: 22px 10px; display: flex; display: -webkit-flex; width: 100%; color: #fff; font-size: 18px; font-weight: 700; border-radius: 10px; justify-content: center; -webkit-box-pack: center; flex-grow: 1; }
.form_navi ul li a:link, .form_navi ul li a:visited { background-color: #2e2e7c; }
.form_navi ul li a:active, .form_navi ul li a:hover { background-color: #999; }
.form_navi ul li.form span:after { padding: 0 25px 0 0; background: url("../img/ic_arror01_wh_b.png") no-repeat right center; background-size: 16px auto; content: ''; }
.form_navi ul li.tel span { display: inline-block; }
.form_navi ul li.tel span.gf_ba { margin: 0 0 0 15px; font-size: 32px; font-weight: 500; }
.form_navi ul li.tel span.gf_ba:before { padding: 0 0 0 30px; background: url("../img/ic_tel01_wh.png") no-repeat left top 9px; background-size: 20px auto; content: ''; }

/*-------------------------------
	入力フォーム
--------------------------------*/
.form_area { padding: 50px 0 0 0; }
.form_area .form_type { margin: 0 auto 40px auto; text-align: center; }
.form_area .form_type h2 span { margin: 0 0 30px 0; display: inline-block; line-height: 1; font-size: 20px; font-weight: 500; letter-spacing: 0.16em; }
.form_area .form_type p.privacy { margin: 20px 0 0 0; color: #c1272d; font-size: 15px; }
.form_area .form_type p.privacy a:link, .form_area .form_type p.privacy a:visited { color: #c1272d; }
.form_area .form_type p.privacy a:active, .form_area .form_type p.privacy a:hover { color: #790007; }

#formMain #formIn .formSub { margin: 80px auto 0 auto; padding: 50px; max-width: 1100px; }
#formMain #formIn .formSub > div:first-of-type .form_sbj { margin: 0 auto 40px auto; }
#formMain #formIn .form_sbj { margin: 80px auto 40px auto; padding: 8px 13px; background: #524b49; }
#formMain #formIn .form_sbj h3 { line-height: 1.4; color: #fff; font-size: 14px; font-weight: 500; }
#formMain #formIn section { margin: 30px auto 0 auto; display: table; width: 100%; table-layout: fixed; }
#formMain #formIn section:first-of-type { margin: 0 auto; }
#formMain #formIn section.line .fName, #formMain #formIn section.line .fValue { vertical-align: top; }
#formMain #formIn section .fName, #formMain #formIn section .fValue { display: table-cell; vertical-align: middle; }
#formMain #formIn section .fName { padding: 0 20px 0 0; position: relative; width: 300px; }
#formMain #formIn section .fName > span { margin: 2px 0 0 0; padding: 0 0 2px 0; position: absolute; left: 0; width: 60px; line-height: 24px; background-color: #808080; color: #fff; font-size: 14px; font-weight: 500; text-align: center; }
#formMain #formIn section .fName h3, #formMain #formIn section .fName h4 { padding: 0 0 0 80px; font-size: 16px; font-weight: 500; }
#formMain #formIn section .fName h3 span.att_multi, #formMain #formIn section .fName h4 span.att_multi { padding: 0; display: block; font-size: 14px; font-weight: 500; }
#formMain #formIn section .fName .c_dome { padding: 5px 0 0 0; line-height: 1.6; color: #b50404; font-size: 14px; font-weight: 400; }
#formMain #formIn section .fName .c_att { padding: 5px 0 0 0; line-height: 1.6; color: #000; font-size: 12px; }
#formMain #formIn section .fValue input[type="text"], #formMain #formIn section .fValue textarea { padding: 10px 15px 10px 30px; border: 1px solid #c3bcac; width: 100%; line-height: 1.8; background: #fff; color: #000; font-size: 14px; font-family: 'Noto Sans JP', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; font-weight: 400; letter-spacing: 0.1em; }
#formMain #formIn section .fValue input[type="text"]::placeholder, #formMain #formIn section .fValue textarea::placeholder { color: #aaa; }
#formMain #formIn section .fValue input[type="text"] { height: 50px; }
#formMain #formIn section .fValue input[type="text"].box01 { width: 200px; }
#formMain #formIn section .fValue input[type="text"].line_half { margin: 0 0 0 5px; display: inline-block; width: calc(50% - 5px); }
#formMain #formIn section .fValue input[type="text"].line_half:first-of-type { margin: 0 5px 0 0; }
#formMain #formIn section .fValue textarea { height: 200px; resize: vertical; }
#formMain #formIn .hisu .fName > span { background-color: #3281a9; }
#formMain p.att01 { margin: 10px 0 0 0; font-size: 13px; }
#formMain p.att02 { margin: 0 0 10px 0; }
#formMain p.att03 { margin: 10px 0 10px 0; }

/*#formMain*/
/*-------------------------------
	項目選択　input
--------------------------------*/
ul.select_one { display: flex; display: -webkit-flex; flex-wrap: wrap; }
ul.select_one.col li { margin: 10px auto 0 auto; }
ul.select_one.col li:first-of-type { margin: 0 auto; }
ul.select_one.line02 li { width: 50%; }
ul.select_one.line03 li { width: 33.33%; }
ul.select_one.line04 li { width: 25%; }
ul.select_one li { display: table; width: 100%; table-layout: fixed; }
ul.select_one li:first-of-type { margin: 0; }
ul.select_one li input, ul.select_one li > span { display: inline-block; vertical-align: top; }
ul.select_one li input { margin: 8px 10px 0 10px; width: 20px; }
ul.select_one li input:hover { cursor: pointer; }
ul.select_one li input[type="checkbox"], ul.select_one li input[type="radio"] { display: table-cell; }
ul.select_one li input[type="checkbox"]:checked + label, ul.select_one li input[type="radio"]:checked + label { color: #fff; background-color: #9b8f74; }
ul.select_one li label { padding: 8px 5px 8px 45px; display: table-cell; width: 100%; color: #000; background-color: rgba(255, 255, 255, 0); }
ul.select_one li label:hover { color: #fff; background-color: #9b8f74; cursor: pointer; }
ul.select_one li label.mfp_checked { color: #fff; background-color: #9b8f74; }
ul.select_one.static li label { padding: 8px 5px 8px 35px; }

/*-------------------------------
	項目選択　select
--------------------------------*/
.select_entry select { padding: 0 20px; border: 1px solid #ccc; background: url("../img/select_down.png") no-repeat #fff right 20px center; background-size: 12px auto; color: #000; font-size: 14px; font-family: 'Noto Sans JP', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; font-weight: 400; width: 285px; height: 40px; -webkit-appearance: none; /* (Google Chrome、Safari用) */ -moz-appearance: none; /* (Firefox用) */ appearance: none; }
.select_entry select#time, .select_entry select#time1 { width: 200px; }
.select_entry select#time option[disabled=""], .select_entry select#time1 option[disabled=""] { display: none; }

/*-------------------------------
	添付ファイル送信
--------------------------------*/
.send_file_frm dl.send_item { margin: 15px 0 0 0; line-height: 0; font-size: 0; }
.send_file_frm dl.send_item:first-of-type { margin: 0; }
.send_file_frm dl.send_item dt, .send_file_frm dl.send_item dd { display: inline-block; line-height: 1.6; vertical-align: middle; }
.send_file_frm dl.send_item dt { width: 100px; font-size: 15px; }
.send_file_frm dl.send_item dd { font-size: 12px; }
.send_file_frm dl.send_item dd input { font-family: 'Noto Sans JP', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; }
.send_file_frm ul.send_att { margin: 25px 0 0 0; }
.send_file_frm ul.send_att li.line { color: #888; font-size: 13px; }

/*-------------------------------
	個人情報の取り扱い
--------------------------------*/
#fm_privacy { margin: 50px 0 0 0; }
#fm_privacy dl.privacy_about { margin: 0 0 15px 0; color: #000; }
#fm_privacy dl.privacy_about dd { margin: 2px 0 10px 0; font-size: 14px; }
#fm_privacy dl.privacy_about dd a { padding: 0 24px 0 0; color: #a52341; background: url("../img/ic_window01_re.png") no-repeat right 4px top 2px; background-size: 14px auto; }
#fm_privacy dl.privacy_about dd a:active, #fm_privacy dl.privacy_about dd a:hover { color: #999; }
#fm_privacy div.privacy_cap { margin: 0 0 30px 0; width: 100%; }
#fm_privacy div.privacy_cap a:link, #fm_privacy div.privacy_cap a:visited { color: #c1272d; }
#fm_privacy div.privacy_cap a:active, #fm_privacy div.privacy_cap a:hover { color: #790007; }
#fm_privacy div.privacy_cap p.more a:link, #fm_privacy div.privacy_cap p.more a:visited { color: #c1272d; }
#fm_privacy div.privacy_cap p.more a:active, #fm_privacy div.privacy_cap p.more a:hover { color: #790007; }
#fm_privacy ul.select_one li input[type="checkbox"]:checked + label, #fm_privacy ul.select_one li input[type="radio"]:checked + label { color: #fff; background-color: #9B8f74; }
#fm_privacy ul.select_one li label { border: 1px solid #e1ddd5; padding: 13px 5px 13px 45px; color: #000; background-color: #e1ddd5; font-size: 17px; }
#fm_privacy ul.select_one li label:hover { border: 1px solid #9B8f74; color: #fff; background-color: #9B8f74; }
#fm_privacy ul.select_one li label.mfp_checked { border: 1px solid #9B8f74; color: #fff; background-color: #9B8f74; }

/*-------------------------------
	送信ボタン
--------------------------------*/
#formBtn { margin: 100px 0 0 0; text-align: center; }
#formBtn button { border: none; display: inline-block; width: 100% !important; height: 60px !important; max-width: 400px !important; font-size: 17px !important; font-weight: 500 !important; font-family: 'Noto Sans JP', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; letter-spacing: 0.1em !important; color: #fff !important; background-color: #524b49 !important; cursor: pointer !important; text-shadow: none !important; }
#formBtn button:hover, #formBtn button:active { background-color: #c1272d !important; text-decoration: none !important; }

/*-------------------------------
	エラーチェック共通
--------------------------------*/
#formWrap .error { text-align: center; }
#formWrap .error .check_sbj { margin: 0 0 30px 0; line-height: 1.2; color: #3281a9; font-size: 24px; font-weight: 500; text-align: center; }
#formWrap .error div { margin: 0 0 50px 0; }
#formWrap .error input { display: inline-block; width: 100%; height: 70px; max-width: 300px; border: none; cursor: pointer; background: #3281a9; color: #fff; font-size: 21px; font-family: 'Noto Sans JP', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; font-weight: 500; }
#formWrap .error input:hover, #formWrap .error input:active { opacity: 0.7; }
#formWrap .error .error_messe { color: #d23939; font-weight: 500; }

/*-------------------------------
	送信内容確認共通
--------------------------------*/
#formWrap .last .check_sbj { margin: 0 0 30px 0; line-height: 1.2; color: #3281a9; font-size: 24px; font-weight: 500; text-align: center; }
#formWrap .last .text { margin: 0 0 50px 0; text-align: center; }
#formWrap .last article { margin: 0 auto 50px; border-top: #9b8f74 1px solid; border-left: #9b8f74 1px solid; width: 100%; max-width: 800px; }
#formWrap .last article section { width: 100%; display: table; }
#formWrap .last article section h3, #formWrap .last article section div { border-bottom: #9b8f74 1px solid; border-right: #9b8f74 1px solid; padding: 10px 15px; display: table-cell; font-size: 14px; font-weight: 500; text-align: left; }
#formWrap .last article section h3 { width: 200px; background: #e1ddd5; }
#formWrap .last article section div { background: #fff; }
#formWrap .last #btn { text-align: center; }
#formWrap .last #btn input[type="submit"], #formWrap .last #btn input[type="button"] { margin: 0 5px; border: none; display: inline-block; width: 100%; height: 70px; font-size: 21px; font-weight: 500; font-family: 'Noto Sans JP', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; max-width: 240px; cursor: pointer; }
#formWrap .last #btn input[type="submit"] { color: #fff; background-color: #3281a9; }
#formWrap .last #btn input[type="submit"]:hover, #formWrap .last #btn input[type="submit"]:active { opacity: 0.7; }
#formWrap .last #btn input[type="button"] { color: #fff; background-color: #808080; }
#formWrap .last #btn input[type="button"]:hover, #formWrap .last #btn input[type="button"]:active { opacity: 0.7; }
#formWrap .last_req article section h5 { width: 250px; }

/*-------------------------------
	送信完了共通
--------------------------------*/
#contact_thanks .frm { margin: 0 auto; text-align: center; max-width: 1000px; }
#contact_thanks .frm h3 { line-height: 1.4; color: #70c0e8; font-size: 24px; font-weight: 500; letter-spacing: 0.14em; }
#contact_thanks .frm .comment { margin: 0 0 60px 0; }
#contact_thanks .frm .comment > p:first-of-type { margin: 0 0 50px 0; font-size: 24px; }
#contact_thanks .frm .comment > p:nth-of-type(n+3) { margin: 30px 0 0 0; }
#contact_thanks .frm .contact_tel_info { margin: 40px 0 0 0; }
#contact_thanks .back_btn { margin: 100px auto 0 auto; padding: 100px 0 0 0; border-top: 1px solid #524b49; }

/*--------------------------------------------------------------------------
	来場予約
--------------------------------------------------------------------------*/
#contact.appoint { /*.form_step*/ }
#contact.appoint .contact_tel_info { margin: 40px auto 50px auto; }
#contact.appoint .form_step ol { margin: 0 auto; display: flex; line-height: 0; font-size: 0; max-width: 1100px; flex-wrap: wrap; justify-content: space-between; }
#contact.appoint .form_step ol li { display: flex; width: calc(20% - 10px); height: 186px; background: #fff; text-align: center; align-items: center; }
#contact.appoint .form_step ol li div { display: flex; width: 100%; flex-direction: column; justify-content: center; }
#contact.appoint .form_step ol li div span.no { margin: 0 auto; display: block; width: 30px; line-height: 30px; color: #fff; background: #524b49; font-size: 18px; font-weight: 400; text-align: center; border-radius: 50%; }
#contact.appoint .form_step ol li div span.con { margin: 20px 0; display: block; width: 100%; line-height: 1; font-size: 15px; }
#contact.appoint .form_step ol li div img { margin: 0 auto; max-width: 60px; }
#contact.appoint .form_area .form_type { margin: 0 auto; padding: 40px 15px 0 15px; background: #e1ddd5; max-width: 1100px; }
#contact.appoint .form_area #formMain #formIn .formSub { margin: 0 auto; padding: 45px 15px 50px 15px; background: #e1ddd5; max-width: 1100px; }
#contact.appoint .form_area #formMain #formIn .formSub .formSub_frm { margin: 0 auto; padding: 50px 15px; background: #fff; max-width: 1000px; }
#contact.appoint .form_area #formMain #formIn .formSub .formSub_frm > div, #contact.appoint .form_area #formMain #formIn .formSub .formSub_frm > section { margin: 0 auto; max-width: 900px; }
#contact.appoint .form_area #formMain #formIn .formSub .select_day { margin: 40px auto 0 auto !important; padding: 40px 0 0 0; border-top: 1px solid #c3bcac; }
#contact.appoint .form_area #formMain #formIn .formSub .customer { margin: 30px auto 0 auto; }
#contact.appoint .form_area #formMain #formIn .formSub .customer .form_sbj { margin: 30px auto 40px auto; }
#contact.appoint ul.select_one li label:hover { color: #fff; background-color: #9b8f74; cursor: pointer; }
#contact.appoint ul.select_one li label.mfp_checked { color: #fff; background-color: #9b8f74; }
#contact.appoint #fm_privacy ul.select_one li label:hover { border: 1px solid #9b8f74; color: #fff; background-color: #9b8f74; }
#contact.appoint #fm_privacy ul.select_one li label.mfp_checked { border: 1px solid #9b8f74; color: #fff; background-color: #9b8f74; }

/*--------------------------------------------------------------------------
	お問い合わせ
--------------------------------------------------------------------------*/
#contact.contact .form_intro .sales_att { margin: 40px auto 50px auto; padding: 20px 10px; border: 1px solid #c3bcac; background: #fff; font-size: 14px; text-align: center; max-width: 600px; }
#contact.contact .form_intro .sales_att a { color: #c1272d; }
#contact.contact .form_intro .sales_att a:hover, #contact.contact .form_intro .sales_att a:active { color: #790007; }
#contact.contact .form_area .form_type { margin: 0 auto; padding: 40px 15px 0 15px; background: #e1ddd5; max-width: 1100px; }
#contact.contact .form_area #formMain #formIn .formSub { margin: 0 auto; padding: 45px 15px 50px 15px; background: #e1ddd5; max-width: 1100px; }
#contact.contact .form_area #formMain #formIn .formSub .formSub_frm { margin: 0 auto; padding: 50px 15px; background: #fff; max-width: 1000px; }
#contact.contact .form_area #formMain #formIn .formSub .formSub_frm section { max-width: 900px; }
#contact.contact .form_area #formMain #formIn .formSub .customer { margin: 30px auto 0 auto; }
#contact.contact .form_area #formMain #formIn .formSub .customer .form_sbj { margin: 80px 0 40px 0; }
#contact.contact ul.select_one li label:hover { color: #fff; background-color: #9b8f74; cursor: pointer; }
#contact.contact ul.select_one li label.mfp_checked { color: #fff; background-color: #9b8f74; }
#contact.contact #fm_privacy ul.select_one li label:hover { border: 1px solid #9b8f74; color: #fff; background-color: #9b8f74; }
#contact.contact #fm_privacy ul.select_one li label.mfp_checked { border: 1px solid #9b8f74; color: #fff; background-color: #9b8f74; }

/*--------------------------------------------------------------------------
	営業受付
--------------------------------------------------------------------------*/
#contact.contact_sales .form_area #formMain #formIn .formSub { margin: 0 auto; padding: 45px 15px 50px 15px; background: #fff; max-width: 1100px; }
#contact.contact_sales .form_area #formMain #formIn .formSub .formSub_frm { margin: 0 auto; max-width: 1000px; }

/*# sourceMappingURL=sub_form.css.map */
