@charset "UTF-8";
/* ==================================================
	common
================================================== */
/* elements
-------------------------------------------------- */
form { display: inline; }

label { vertical-align: middle; }

input, select, optgroup, option, textarea { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック","Yu Gothic","游ゴシック体",YuGothic,"ＭＳ Ｐゴシック",sans-serif; font-weight: normal; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) { input, select, optgroup, option, textarea { font-size: 1.6rem; } }

/* ========== end △ */
input[type=text] { width: 100%; padding: 3px 5px; border: 1px solid #000; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) { input[type=text] { width: 60%; } }

/* ========== end △ */
input[type="email"] { width: 100%; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) { input[type="email"] { width: 60%; } }

/* ========== end △ */
input[type="radio"] { margin-right: 0.3em; }

input[type="checkbox"] { margin-right: 0.3em; }

input[type="submit"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; margin: 0; padding: 0; border: none; background-color: transparent; }

input[type="submit"][disabled] { background-color: #ddd !important; -webkit-transition: none !important; -o-transition: none !important; transition: none !important; cursor: default; }

textarea { width: 100%; height: 8em; padding: 3px 5px; resize: none; overflow: hidden; }

/* ==================================================
	contact input
================================================== */
/* common
-------------------------------------------------- */
.form_content_style .dl_table_style > dl > dt { min-width: 200px; }

.form_content_style .dl_table_style > dl > dd { vertical-align: middle; }

/* radio / checkbox button list */
.form_content_style .btn_list li { display: inline-block; margin-right: 10px; margin-bottom: 5px; vertical-align: top; }

.form_content_style .btn_list li.other { width: 100%; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) { .form_content_style .btn_list li.other input[type="text"] { margin-top: 5px; } }

/* ========== end △ */
.form_content_style .age input { width: 5em; }

.form_content_style .zip .zip_code input { width: 10em; }

.form_content_style .zip dl dt, .form_content_style .zip dl dd { margin-top: 5px; }

/* icon 必須 / 任意 */
.form_content_style .required, .form_content_style .any { position: relative; }

.form_content_style .required::before, .form_content_style .any::before { float: right; display: inline-block; padding: 0 5px; color: #fff; font-size: 1.2rem; }

.form_content_style .required::before { content: "必須"; background-color: #f33737; }

.form_content_style .any::before { content: "任意"; background-color: #3878d7; }

/* 同意テキスト */
body.form .consent_txt { margin-top: 30px; text-align: center; line-height: 1.8; }

/* submit buttons
-------------------------------------------------- */
body.form .form_submit_btn { text-align: center; }

body.form .form_submit_btn input { display: inline-block; width: 100%; margin-top: 25px; padding: 10px 0; border-radius: 5px; background-color: #333; color: #fff; font-size: 1.6rem; -webkit-transition: all 0.2s ease; -o-transition: all 0.2s ease; transition: all 0.2s ease; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) { body.form .form_submit_btn input { width: 40%; margin-right: 10px; margin-left: 10px; } }

/* ========== end △ */
body.form .form_submit_btn input.back { background-color: #aaa; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) { body.form .form_submit_btn input:hover { background-color: #f68787; } }

/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) { body.form .form_submit_btn .btn_style { width: 40%; } }

/* ========== end △ */
body.form .form_submit_btn .btn_style a { padding: 12px 0; font-size: 1.6rem; font-weight: normal; }

/* error message
-------------------------------------------------- */
body.form .error_txt { margin: 50px 10px; color: #ff3b30; font-weight: bold; text-align: center; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) { body.form .error_txt { margin: 100px 0; } }

/* ========== end △ */
/* completion message
-------------------------------------------------- */
body.form .completion_txt { margin: 50px 10px; font-size: 1.6rem; font-weight: bold; text-align: center; line-height: 1.8; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) { body.form .completion_txt { margin: 100px 0; } }

/* ========== end △ */
