@charset "UTF-8";

/* クリア定義 */
.formPageWrapper, .formPageWrapper div, .formPageWrapper span, .formPageWrapper object, .formPageWrapper iframe, .formPageWrapper h1, .formPageWrapper h2, .formPageWrapper h3, .formPageWrapper h4, .formPageWrapper h5, .formPageWrapper h6, .formPageWrapper p, .formPageWrapper blockquote, .formPageWrapper pre, .formPageWrapper abbr, .formPageWrapper address, .formPageWrapper cite, .formPageWrapper code, .formPageWrapper del, .formPageWrapper dfn, .formPageWrapper em, .formPageWrapper img, .formPageWrapper ins, .formPageWrapper kbd, .formPageWrapper q, .formPageWrapper samp, .formPageWrapper small, .formPageWrapper strong, .formPageWrapper sub, .formPageWrapper sup, .formPageWrapper var, .formPageWrapper b, .formPageWrapper i, .formPageWrapper dl, .formPageWrapper dt, .formPageWrapper dd, .formPageWrapper ol, .formPageWrapper ul, .formPageWrapper li, .formPageWrapper fieldset, .formPageWrapper form, .formPageWrapper label, .formPageWrapper legend, .formPageWrapper caption, .formPageWrapper tfoot, .formPageWrapper thead, .formPageWrapper th, .formPageWrapper article, .formPageWrapper aside, .formPageWrapper canvas, .formPageWrapper details, .formPageWrapper figcaption, .formPageWrapper figure, .formPageWrapper footer, .formPageWrapper header, .formPageWrapper hgroup, .formPageWrapper menu, .formPageWrapper nav, .formPageWrapper section, .formPageWrapper summary, .formPageWrapper time, .formPageWrapper mark, .formPageWrapper audio, .formPageWrapper video {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: 
	transparent;
}
.formPageWrapper, .formPageWrapper * {
	font-feature-settings: normal;
	box-sizing: content-box;
}
.formPageWrapper button {
	box-sizing: border-box;
}

/* タグ定義 */

.formPageWrapper {
	margin: 0;
	padding: 0;
	background-color:#FFF;
	font-size: 14px;
	height: auto;
	line-height: 26px;
	overflow-x: hidden;
	width: 100%;
	position: relative;
	font-family: 'Lato', 'Avenir', 'Avenir Next', 'Century Gothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

.formPageWrapper p {
	margin-bottom: 1em;
}
.formPageWrapper small {
	font-size: 12px;
	color: #999;
	display: inline-block;
	line-height: 1.5em;
	margin-top: 1em;
	font-weight: normal;
}

.formPageWrapper :placeholder-shown {
	color: #aaaaaa;
}
.formPageWrapper ::-ms-input-placeholder{ /* edge */
	color: #aaaaaa;
}

/* クラス定義 */

.formPageWrapper .ct { /* 中央寄せ */
	text-align: center;
}

.formPageWrapper .bold {/* 太字 */
	font-weight: bold;
}
.formPageWrapper .req::before {/* 必須アイコン */
	content: "必須";
	background-color: #e95a83;
	color:#fff;
  border-radius: 15px;
  padding: 0 .5em;
  position: absolute;
  left: 0;
  font-weight: normal;
	font-size: 12px;
  line-height: 22px;
}
.formPageWrapper .mfp_col12 { width: 100%; }
.formPageWrapper .mfp_col11 { width: 91.6%; }
.formPageWrapper .mfp_col10 { width: 83.3%; }
.formPageWrapper .mfp_col9 { width: 75%; }
.formPageWrapper .mfp_col8 { width: 66.6%; }
.formPageWrapper .mfp_col7 { width: 58.3%; }
.formPageWrapper .mfp_col6 { width: 50%; }
.formPageWrapper .mfp_col5 { width: 41.6%; }
.formPageWrapper .mfp_col4 { width: 33.3%; }
.formPageWrapper .mfp_col3 { width: 25%; }
.formPageWrapper .mfp_col2 { width: 16.6%; }
.formPageWrapper .mfp_col1 { width: 8.3%; }

.formPageWrapper .w100 { width: 100px !important; }

/* メールフォームプロの定義拡張 */
.formPageWrapper .mfp_element_all{
	max-width: none;
}
.formPageWrapper .mfp_parent_error>.mfp_err {
	display: block;
}
form#mailformpro dl dt {
	width: 145px;
	font-size: inherit;
	font-weight: normal;
	line-height: inherit;
	text-align: left;
	margin-left: 0;
	background-color: inherit;
	border-top: none;
  position: relative;
  padding-top: 20px;
  padding-left: 55px;
  padding-bottom: 13px;
}
form#mailformpro dl dt.wrap {
  padding-top: 15px;
  padding-bottom: 0;
  line-height: 19px;
}
form#mailformpro dl dt.req {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
form#mailformpro dl dd {
	font-size: inherit;
	line-height: normal;
	background-color: inherit;
	border-top: none;
	border-bottom: solid 1px #888888;
  padding-top: 13px;
	padding-left: 210px;
  padding-bottom: 13px;
}
form#mailformpro dl dd:last-of-type {
	border-bottom: none;
}
form#mailformpro dl dd > .mfp_rows {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  min-height: 40px;
  flex-wrap: wrap;
}

form#mailformpro label.mfp_checked {
	padding: 0px;
	margin: 3px;
	border: none;
	background:none;
	box-shadow: none;
}
form#mailformpro label.mfp_not_checked {
	border: none;
	padding: 0px;
	margin: 3px;
}

form#mailformpro .radio_col {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

form#mailformpro .radio_col label.mfp_checked,
form#mailformpro .radio_col label.mfp_not_checked {
  position: relative;
}
form#mailformpro .radio_col label.mfp_checked::before,
form#mailformpro .radio_col label.mfp_not_checked::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  border: solid 1px #72767b;
  border-radius: 50%;
  background-color: #FFF;
  position: relative;
  top: 2px;
}
form#mailformpro .radio_col label.mfp_checked::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border: solid 1px transparent;
  border-radius: 50%;
  margin: auto;
  background-color: #e95a83;
  position: absolute;
  top: 6px;
  left: 4px;
}
form#mailformpro .radio_col label.mfp_checked input[type="radio"],
form#mailformpro .radio_col label.mfp_not_checked input[type="radio"] {
  display: none;
}

form#mailformpro input[type="text"],
form#mailformpro input[type="age"],
form#mailformpro input[type="tel"],
form#mailformpro input[type="email"],
form#mailformpro select,
form#mailformpro textarea {
	box-shadow: none;
	font-size: inherit;
	line-height: inherit;
}
form#mailformpro select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: .6em 2em .6em .4em;
	min-width: 100%;
	background-color: #f6f7f7;
	border: 1px solid #888888;
	border-radius: 6px;
	box-sizing: border-box;
}
form#mailformpro select::-ms-expand { /* IE11 */
	display: none;
}

form#mailformpro input[type="text"],
form#mailformpro input[type="age"],
form#mailformpro input[type="tel"],
form#mailformpro input[type="email"],
form#mailformpro textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: .6em;
	background-color: #f6f7f7;
	border: 1px solid #888888;
	border-radius: 6px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

form#mailformpro input[type="text"],
form#mailformpro input[type="tel"],
form#mailformpro input[type="email"],
form#mailformpro textarea {
	width: 100%;
}
form#mailformpro input[type="text"].form_other,
form#mailformpro .form_schedule input[type="text"]{
	width: auto;
}
form#mailformpro input[type="age"] {
	width: 60px;
}


/* メールフォームプロ 確認画面の定義拡張 */
#mfp_overlay_background {
	position: fixed !important;
	top: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: auto !important;
}
#mfp_overlay #mfp_confirm_table tr{
	background-color: #FFF;
}
#mfp_overlay #mfp_buttons{
	padding-top: 1em;
}

#mfp_overlay #mfp_button_send,
#mfp_overlay #mfp_button_cancel{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border: 0 solid transparent;
	margin: 0 auto;
	display: block;
	padding: 20px;
	width: 480px;
	background: none;
	background-color: #e95a83;
	border-radius: 40px;
	color:#FFF;
	font-size: 14px;
	font-weight: bold;
	position: relative;
	text-align: center;
	text-shadow: none;
}

/* メールフォームプロ thanks画面の定義拡張 */
.formPageWrapper .mfp_thanks strong{
	padding: 3px 10px;
	color: #e95a83;
	font-size: 14px;
	pointer-events: none;
}

/* ページ固有定義 */

.formPageWrapper .section_s {
	margin-bottom: 70px;
}
.formPageWrapper .section_form {
	margin: 0 auto;
  width: 100%;
}

.formPageWrapper .section_form dl{
	margin-bottom: 10px;
}

/* 電話番号リンク */
.formPageWrapper .tel_link a { /* 表示定義 */
	display: inline-block;
	height: 30px;
	overflow: hidden;
	padding-left: 22px;
	background-image: url(/web/lp_20191220_1/mailformpro426/mfp.statics/images/handset-icon.svg);
	background-size: 22px 22px;
	background-position: left center;
	background-repeat: no-repeat;
}
.formPageWrapper .tel_link a { /* 文字定義 */
	font-family: "Times New Roman", serif;
	font-size: 30px;
	line-height: 30px;
}
.formPageWrapper a[href^="tel:"] {
	/* cursor: default; */
}
.formPageWrapper a:link, a:visited {
	color: #333333;
	text-decoration: none;
	outline: none;
}

.formPageWrapper .section_form .form_info {
	margin: .5em 0 0;
}

.formPageWrapper .section_form .form_schedule .form_select{
	margin-bottom: .5em;
}

.formPageWrapper .section_form .form_schedule input{
	width: auto;
}
.formPageWrapper .section_form .form_schedule .modalCalendar a {
  border: 1px solid #888888;
}

form#mailformpro .form_select{
	width: auto;
	position: relative;
	display: inline-block;
}
form#mailformpro .form_select::after {
	content: "\25BC";
	font-weight: bold;
	font-size: 12px;
	color: #aaaaaa;
	display: inline-block;
	position: absolute;
	top: calc(50% - 1.5em / 2);
	right: 12px;
	pointer-events: none;
}
form#mailformpro .form_select_plus::after {
	content: "\25BC";
	font-weight: bold;
	font-size: 12px;
	color: #aaaaaa;
	display: inline-block;
	position: absolute;
	top: calc(50% - 1.5em / 2);
	right: 12px;
	pointer-events: none;
}

form#mailformpro .form_reference .form_select{
	width: 100% ;
}
form#mailformpro .form_reference_other{
  padding-top: 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
form#mailformpro .form_reference_other > span{
	min-width: 14em;
}
form#mailformpro .form_reference_other > input{
	width: 100%!important;
}

.formPageWrapper .section_form .mfp_buttons{
  padding: 0 0 20px;
  text-align: left;
  border-bottom: solid 1.64px #e95a83;
  margin-bottom: 10px;
}

.formPageWrapper .section_form button.btn_pink{
	-webkit-appearance: none;
	-moz-appearance: none;
  appearance: none;
  outline: none;
  border: 0 solid transparent;
  margin: 0 auto;
  display: block;
  padding: 13px 80px;
  background: none;
  background-color: rgba(0, 0, 0, 0);
  background-color: #e95a83;
  border-radius: 10px;
  color: #FFF;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: normal;
  text-align: center;
  text-shadow: none;
  letter-spacing: 2px;
  position: relative;
}
.formPageWrapper .section_form button.btn_pink::after{
  content: "\FF1E";
	position: absolute;
	top: calc(50% - 1.5em / 2);
	right: 6px;
  width: 1em;
  height: 1em;
}

.formPageWrapper a.mailto_anchor{
  display: inline-block;
  margin-bottom: 13.9px;
  padding: 14.8px 20.9px 12.8px 22.8px;
  border-radius: 9px;
  color: #FFF;
  background-color: #b3b3b3;
  position: relative;
}
.formPageWrapper a.mailto_anchor > svg{
  position: relative;
  top: 3px;
}


@media screen and (min-width:769px) { 
	.formPageWrapper .pc_none{display:none;}
}
@media screen and (max-width:768px) { 
	/* スマホ向け */
	.formPageWrapper  {
		line-height: 22px;
		font-family: 'Avenir', 'Avenir Next', 'Century Gothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	}
	.formPageWrapper .sp_none{display:none;}
	.formPageWrapper .req::after {/* 後方 必須アイコン解除 */
		content: none !important;
	}
	.formPageWrapper .req::before {/* 必須アイコン */
    background-color: #fff;
    color: #e95a83;
    border-radius: 8px;
    padding: 2px 4px;
    margin-right: .5em;
    position: static;
    font-size: 10px;
    line-height: 12px;
	}
	form#mailformpro {
		padding: 0px;
	}
	form#mailformpro dl dt {
    width: calc(100vw - 10px);
    background-color: #e95a83;
    color: #fff;
    margin: 0 5px;
    padding: .5em 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: normal;
	}
  form#mailformpro dl dt.wrap {
    padding-top: .5em;
    padding-bottom: .5em;
  }
	form#mailformpro dl dt.req {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		-webkit-justify-content: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	form#mailformpro dl dd {
		padding: 10px 15px 10px;
		margin-bottom: 0;
		line-height: 22px;
    border: none;
	}
	form#mailformpro input[type="text"],
	form#mailformpro input[type="age"],
	form#mailformpro input[type="tel"],
	form#mailformpro input[type="email"],
	form#mailformpro input[type="radio"],
	form#mailformpro select,
	form#mailformpro textarea {
		font-size: 16px;
		margin: 0;
	}
	form#mailformpro textarea {
		margin: 1px 0;
	}
	form#mailformpro select {
		padding: .5em 2em .5em 1em;
		border-radius: 4px;
	}
	form#mailformpro input[type="text"].form_other,
	form#mailformpro .form_schedule input[type="text"]{
		width: 100%;
	}
	#mfp_overlay #mfp_button_send,
	#mfp_overlay #mfp_button_cancel{
		display: block;
		padding: 20px;
		width: 100%;
	}
	.formPageWrapper .w100 {
		width: 120px !important;
	}
	.formPageWrapper .section_s {
		margin-bottom: 0px;
	}
	.formPageWrapper .section_form {
		width: 100%;
	}
	.formPageWrapper .section_form dl dd .form_schedule span {
		position: relative;
		left: -20px;
		display: block;
		width: 100vw;
		background-color: #dddddd;
		margin: 1em 0;
		padding: .5em 20px;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
  form#mailformpro .form_reference_other {
    flex-direction: column;
  }
  form#mailformpro .form_reference_other > span{
    min-width: 14em;
  }
  form#mailformpro .form_reference_other > input{
    width: 100%!important;
  }
	.formPageWrapper .section_form .mfp_buttons{
		text-align: center;
    margin: 0 25px 10px;
	}
  .formPageWrapper .mailto_container {
    margin: 0 15px;
  }
  .formPageWrapper a.mailto_anchor {
    padding: 5px 10px;
    border-radius: 3px;
  }
  #frontpage .formPageWrapper .mailto_note {
    font-size: 14px !important;
  }
}