@charset "UTF-8";

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]:focus,
input[type="button"]:focus {
	outline-offset: -2px;
}

/* javaScriptでヘッダー分のmarginを調整しない場合は必要
#mf_link {
   margin-top:-60px;
  padding-top:60px;
}
*/

div#mf_wrapper {}

div#mf_header h3 {
	font-size: 24px;
	margin: 0px;
	padding: 8px 16px 0;
}

form#mailform {
	padding: 5px;
}

table.mailform {
	margin: 0 auto;
	overflow: hidden;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-word;
	width: 100%;
}

table.mailform tr th,
table.mailform tr td {
	text-align: left;
	border-bottom: solid 1px #ccc;
	padding: 12px 5px 8px 30px;
}

table.mailform tr th {
	overflow: hidden;
	vertical-align: top;
	width: 100%;
	float: none;
	padding: 1.5em 0 0.5em 0;
	display: block;
	border-bottom: none;
	font-weight: bold;
}

table.mailform tr td {
	width: 100%;
	float: none;
	border-top: none;
	padding: 0 0 1.5em 0;
	display: block;
}

table.mailform tr td.lasttd {
	border-bottom: none;
	padding: 0;
}

table.mailform tr th p {
	margin: 0px;
	padding: 0px;
	font-size: 80%;
	font-weight: normal;
	color: #3377ff;
}

table.mailform tr td textarea {
	width: 100%;
	height: 120px;
}

span.required,
span.optional {
	display: inline-block;
	color: #ffffff;
	line-height: 1;
	padding: 8px 9px;
	margin-right: 10px;
	border-radius: 6px;
}

/* --span color Base f46f9c http://paletton.com/--- */

span.required {
	background: #C5243A;
}

span.optional {
	background: #3D7EB6;
}

select:invalid {
	color: #888;
}

select:invalid:focus {
	color: #000;
}

form#mailform input[type="text"],
form#mailform input[type="password"],
form#mailform input[type="email"],
form#mailform input[type="tel"] {
	width: 100%;
	height: 2.6em;
	padding: 0 1em;
	border: 1px solid #cccccc;
	border-radius: 6px;
	background: #fafafa;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 100%;
	font-family: inherit;
	margin-top: 5px;
}

form#mailform input[type="text"]:focus,
form#mailform input[type="password"]:focus,
form#mailform input[type="email"]:focus,
form#mailform input[type="tel"]:focus,
form#mailform textarea:focus {

	border: 1px solid #55ccff;
	background: #ffffff;
	outline: none;
}

form#mailform input[type=radio] {
	margin-right: 10px;
}

form#mailform select {

	/* styling */
	background: #fafafa;
	border: 1px solid #cccccc;
	border-radius: 6px;
	display: inline-block;
	font-size: 100%;
	font-family: inherit;
	height: 2.6em;
	padding: 0 1em;

	/* reset */

	margin: 0;
	margin-top: .5em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
}

/* arrows */

form#mailform select {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="5"><path d="M0,0 10,0 5,5z" fill="%23888" /></svg>');
	background-position: calc(100% - 0.5em) 1em;
	background-repeat: no-repeat;
}

form#mailform select:focus {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="5"><path d="M0,5 5,0 10,5z" fill="%2355ccff" /></svg>');
	outline: 0;

	border: 1px solid #55ccff;
}


form#mailform select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #000;
}

form#mailform select::after {}

form#mailform .form_post {
	width: 13.5em !important;
	margin: 0 0 0.5em 0;
}

@media screen and (max-width : 486px) {
	form#mailform .button_post {
		margin: 0.5em 0 1em !important;
	}
}

form#mailform .button_post {
	padding: 0.7em 1.7em 0.7em 0.5em !important;
	border: 1px solid #c5243a;
	color: #c5243a;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="5"><path d="M0,0 10,0 5,5z" fill="%23c5243a" /></svg>');
	background-position: calc(100% + 0.35em) 1.05em;
	background-repeat: no-repeat;
	margin: 0 0 0 0.5em;
	font-size: 0.7em;
}

form#mailform .button_post:hover {
	opacity: 0.7;
}

form#mailform textarea {
	display: block;
	width: 100%;
	height: 200px;
	padding: 0.8em 1em;
	resize: vertical;
	border: 1px solid #cccccc;
	border-radius: 6px;
	background: #fafafa;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 100%;
	font-family: inherit;
}

form#mailform p#form_submit {
	width: 90%;
	margin: 0 auto;
	padding: 2.5em 0 0;
	text-align: center;
}

form#mailform input[type="submit"] {
	padding: 16px 24px;
	vertical-align: middle;
	line-height: 1;
	background: #000;
	border-radius: 6px;
	color: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1.2em;
}

form#mailform input[type="submit"]:hover {
	cursor: pointer;
}

form#mailform label {
	padding: .5em 0 0 .5em;
	display: inline-block;
	min-width: 100px;
}

form#mailform label span {
	vertical-align: -0.15em;
}

form#mailform textarea:focus {}

.err {
	background-color: rgb(255, 238, 238) !important;
	border-color: #c5243a !important;
}

span.errMsg {
	display: block;
	color: #c5243a;
	font-weight: bold;
	margin-top: .3em;
	font-size: .9em;
}

.err.selectWrap {
	padding: 0 0 .5em 0;
}

#privacy_check+div span.errMsg {
	text-align: center;
}

.g-recaptcha div {
	margin: auto;
}

/* --responsive----------------------------------------------------------------------------------------------------------------- */

/* 640pixel start */
@media screen and (max-width : 640px) {

	div#mf_wrapper {}

	form#mailform {}

	form#mailform table {}

	form#mailform tr {}

	form#mailform dl dt span {
		font-weight: normal;
	}

	span.required,
	span.optional {}

	form#mailform input#form_submit_button {
		margin-left: 0;
	}

	form#mailform input#phone,
	form#mailform input#schedule {
		width: 50%;
	}

}

/* 640pixel end */