@charset "UTF-8";

/*---------------------------------------------------------------------------------------------------------------------
	フォーム
---------------------------------------------------------------------------------------------------------------------*/
/* input,button */
input,
button,
textarea { appearance: none; outline: none; background-color: transparent; background-image: none; border-radius: 0; border: none; font-family: inherit; }
input[type="text"],
input[type="email"],
textarea,
select { border: solid 1px #ccc; color: #222 !important; background-color: #fff !important; border-radius: 5px; padding: 4px 10px; line-height: 1; width: 100% !important; box-sizing: border-box; }

/* ラジオボタン */
input[type="radio"] { opacity:0; position: absolute; }
input[type="radio"] + label,
input[type="radio"] + .mfp_element_hidden + label { position: relative; padding-left: 20px; cursor: pointer; display: inline-block; min-height: 13px; }
input[type="radio"] + label::before,
input[type="radio"] + label::after,
input[type="radio"] + .mfp_element_hidden + label::before,
input[type="radio"] + .mfp_element_hidden + label::after { position: absolute; content: ""; display: block; }
input[type="radio"] + label::before,
input[type="radio"] + .mfp_element_hidden + label::before { width: 7px; height: 7px; border-radius: 50%; background-color: #00a161; opacity: 0; z-index: 1; top: 50%; left: 3px; transform: translateY(-50%); }
input[type="radio"] + label::after,
input[type="radio"] + .mfp_element_hidden + label::after { top: 50%; left: 0; width: 11px; height: 11px; border-radius: 50%; border: solid 1px #c4c4c4; background-color: #fff; transform: translateY(-50%); }
input[type="radio"]:checked + label::before,
input[type="radio"]:checked + .mfp_element_hidden + label::before { opacity: 1; }

/*---------------------------------------------------------------------------------------------------------------------
	レイアウト
---------------------------------------------------------------------------------------------------------------------*/
#contactTable,
#mfp_confirm_table { width: 100%; max-width: 820px; border-collapse: collapse; }
#contactTable { margin: 40px auto 0; }
#mfp_phase_confirm_inner { max-width: 820px; margin: 40px auto 0; }
#mfp_confirm_table { margin: 10px auto 0; }
#contactTable th,
#contactTable td,
#mfp_confirm_table th,
#mfp_confirm_table td { border: solid 1px #ccc; vertical-align: middle; }
#contactTable th,
#mfp_confirm_table th { background-color: #eef0ea; padding: 23px 10px 23px 23px; width: 173px; }
#contactTable th .contactRequiredarea { display: flex; align-items: center; justify-content: space-between; }
#contactTable th .contactRequired { background-color: #eb0042; color: #fff; padding: 1px 10px; line-height: 1.2; }
#contactTable td,
#mfp_confirm_table td { padding: 23px 16px; }
#contactTable td .contactInput,
#contactTable td .contactInputS { display: inline-block; width: 100%; margin-right: 10px; }
#contactTable td .contactInput { max-width: 310px; }
#contactTable td .contactInputS { max-width: 200px; }
#contactTable td .contactEx { display: inline-block; color: #999999; vertical-align: top; padding-top: 5px; }
#contactTable td.contactListTd { padding-top: 20px; padding-bottom: 12px; }
#contactTable td #contactItemList { margin: 0; position: relative; }
#contactTable td #contactItemList li { display: inline-block; margin-right: 12px; margin-bottom: 8px; }
#contactTable th #contactTextareaTh { max-width: 172px; }

div.mfp_err { color: #f00; margin-top: 5px; }
.contactInputS div.mfp_err { width: 572px; }

#contactBtn,
.mfp_buttons { margin-top: 23px; display: flex; justify-content: center; }
.mfp_buttons { flex-direction: row-reverse; }
#contactBtn button,
.mfp_buttons button { padding: 5px; text-align: center; border-radius: 5px; width: 100%; max-width: 154px; margin: 0 10px; }
#contactBtn button[type="reset"],
.mfp_buttons button#mfp_button_cancel { background-color: #eef0ea; border: solid 1px #c9c9c7; }
#contactBtn button[type="submit"],
.mfp_buttons button#mfp_button_send { background-color: #00a161; color: #fff; }
#contactBtn button:hover,
.mfp_buttons button:hover { opacity: 0.7; }

/* フォーム打ち消し */
#mfp_loading,
#mfp_loading_screen,
#mfp_overlay_background,
#mfp_overlay,
#mfp_hidden { display: none; }

/* thanks.html */
#contactThanksText { margin: 160px auto 0; line-height: 1.8; text-align: center; font-size: 120%; }
#contactThanksTextBtn { margin: 20px auto 100px; max-width: 154px; }
#contactThanksTextBtn a { display: block; padding: 5px; text-align: center; background-color: #00a161; color: #fff; border-radius: 5px; text-decoration: none; }
#contactThanksTextBtn a:hover { opacity: 0.7; }

/*recaptcha*/
.grecaptcha-badge { z-index: 100; }

