@charset "utf-8";
.mw_wp_form_input .contact_confirm, .mw_wp_form_confirm .contact_first {
		display: none;
}
.mw_wp_form_confirm .privacy_info, .mw_wp_form_confirm .agree_check, .mw_wp_form_confirm .dis_abled::after {
		display: none;
}
input[type="text"], input[type="email"], input[type="submit"], input[type="button"], button, textarea {
		-webkit-appearance: none;
		border-radius: 0;
		padding: 0;
		vertical-align: middle;
}
.contact_lead_wrap {
		max-width: 1180px;
		margin: 0 auto 30px;
		padding: 0 20px;
}
.contact_lead {
		font-size: 20px;
		line-height: 1.8;
}
.contact_wrap {
		max-width: 1280px;
		margin: 0 auto 80px;
}
.contact_cont {
		padding: 90px 140px;
		background: #fff;
}
@media(max-width: 960px) {
		.verLandscape .contact_cont {
				padding-left: 40px;
				padding-right: 40px;
		}
}
@media(max-width: 840px) {
		.contact_cont {
				padding: 60px;
		}
}
@media(max-width: 767px) {
		.contact_cont {
				padding-top: 30px;
				padding-bottom: 60px;
		}
		.verPortrait .contact_cont {
				padding-left: 20px;
				padding-right: 20px;
		}
		.verLandscape .contact_cont {
				padding-left: 40px;
				padding-right: 40px;
		}
}
@media(max-width: 375px) {
		.contact_cont {
				padding-top: 25px;
		}
}
.contact_lead p {
		line-height: 2.0;
}
.contact_form {
		margin: 0 0 35px;
}
.contact_form dt {
		margin-bottom: 15px;
		font-weight: 500;
		display: flex;
		align-items: center;
}
.contact_form dd {
		margin-bottom: 40px;
		position: relative;
}
.contact_form dd::before, .contact_form dd::after, .input_inner::before, .input_inner::after {
		content: '';
		display: block;
		position: absolute;
		background: #1D1D1D;
		z-index: 5;
		transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
		pointer-events: none;
}
.input_inner {
		position: relative;
}
.contact_form dd::before {
		width: 100%;
		height: 1px;
		top: 0;
		left: 0;
		transform-origin: left center;
		transform: scaleX(0);
}
.contact_form dd::after {
		height: 100%;
		width: 1px;
		top: 0;
		left: 0;
		transform-origin: center top;
		transform: scaleY(0);
}
.input_inner::before {
		width: 100%;
		height: 1px;
		bottom: 0;
		left: 0;
		transform-origin: right center;
		transform: scaleX(0);
}
.input_inner::after {
		width: 1px;
		height: 100%;
		bottom: 0;
		right: 0;
		transform-origin: center bottom;
		transform: scaleY(0);
}
.contact_form.onFocus dd::after, .onFocus .input_inner::before {
		transform: scaleX(1);
}
.contact_form.onFocus dd::before, .onFocus .input_inner::after {
		transform: scaleY(1);
}
.contact_form .policy_dd::before, .contact_form .policy_dd::after {
		display: none;
}
dd input[type="text"], dd input[type="email"], dd textarea {
		padding: 18px;
		width: 100%;
		box-sizing: border-box;
		background: #e0e0e0;
		font-size: 16px;
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		color: #000;
		outline: none;
		border: none;
}
@media(max-width: 767px) {
		dd input[type="text"], dd input[type="email"], dd textarea {
				padding: 10px;
		}
}
dd textarea {
		min-height: 250px;
		resize: none;
}
.must {
		background: #3C3C3C;
		color: #fff;
		width: 75px;
		height: 22px;
		font-size: 85%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-left: 45px;
}
.must span {
		transform: translateY(-1px);
}
.input_flex {
		display: flex;
		align-items: center;
}
.input_flex input {
		width: 40%;
}
.input_flex div.first {
		margin-right: 20px;
}
.input_flex div {
		flex: 1;
}
.input_flex p {
		margin: 0;
		width: 2.5em;
		padding: 0;
		line-height: 1;
		font-size: 13px;
}
.send_btn_flex {
		margin-top: 80px;
		display: flex;
		justify-content: center;
}
.dis_abled {
		position: relative;
}
.dis_abled::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}
.dis_abled input {
		opacity: 0.5;
}
input.btn_confirm, button.btn_edit, button.btn_send {
		text-align: center;
		width: 280px;
		height: 70px;
		padding: 0 10px;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: center;
		border: none;
		font-size: 15px;
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-weight: 500;
		margin: 0 10px;
		cursor: pointer;
		transition: opacity 0.5s;
}
.btn_confirm_wrap {
		position: relative;
}
.btn_confirm_wrap::before {
		content: '';
		display: block;
		width: 6px;
		height: 6px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform: rotate(45deg);
		position: absolute;
		right: 25px;
		top: calc(50% - 3px);
		z-index: 50;
}
.btn_confirm_wrap::after {
		content: '';
		display: block;
		height: 1px;
		width: 8px;
		position: absolute;
		right: 26.5px;
		top: 50%;
		background: #fff;
		z-index: 50;
}
input.btn_confirm {
		background: #3C3C3C;
		color: #FFF;
		transition: background 0.3s;
}
button.btn_edit {
		background: #ededed;
		color: #000;
		width: 280px;
		transition: background 0.3s;
}
button.btn_send {
		background: #3C3C3C;
		color: #fff;
		width: 280px;
		transition: background 0.3s;
}
@media (hover: hover) {
		input.btn_confirm:hover, button.btn_send:hover {
				background: #c2153e;
				color: #fff;
		}
		button.btn_edit:hover {
				background: #ccc;
		}
}
@media(max-width: 767px) {
		.verPortrait .send_btn_flex {
				display: flex;
				justify-content: space-between;
		}
		.verPortrait .mw_wp_form_input .send_btn_flex {
				display: flex;
				justify-content: center;
		}
		.verPortrait input.btn_confirm, .verPortrait button.btn_edit, .verPortrait button.btn_send {
				margin-left: 0;
				margin-right: 0;
		}
		input.btn_confirm, button.btn_edit, button.btn_send {
				height: 60px;
		}
}
.privacy_info {
		margin-bottom: 25px;
}
.privacy_box {
		position: relative;
		width: 100%;
		height: 280px;
		overflow: auto;
		box-sizing: border-box;
		padding: 20px 40px 20px 20px;
		border: 1px solid #CBCBCB;
		background: #fff;
}
.privacy_box a {
		color: #3D3A39;
		text-decoration: underline;
}
.privacy_box a:hover {
		color: #3D3A39;
		text-decoration: none;
}
.privacy_box h3, .privacy_box h4 {
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 15px;
		font-weight: 400;
}
.privacy_box h3 {
		margin: 0 0 30px;
}
.privacy_box p {
		margin: 0 0 20px;
		line-height: 1.6;
		font-size: 14px;
}
.privacy_box h4 {
		margin: 0 0 15px;
		font-weight: 500;
}
.privacy_box ul {
		list-style: none;
		margin-left: 1em;
		margin-bottom: 30px;
}
.privacy_box li {
		position: relative;
		margin: 0 0 3px;
		font-size: 14px;
}
.privacy_box li::after {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
@media(max-width: 767px) {
		.privacy_box {
				height: 200px;
				padding: 15px 30px 15px 15px;
		}
		.privacy_box li {
				font-size: 14px;
		}
}
.agree_check {
		display: flex;
		justify-content: center;
		margin: 20px 0;
		cursor: pointer;
}
.agree_check, .agree_check:before, .agree_check:after {
		box-sizing: border-box;
}
.agree_check input[type=checkbox] {
		opacity: 0;
		margin: 0;
		position: absolute;
		left: -5px;
		top: -2px;
		width: 20px;
		height: 20px;
}
.agree_check, .agree_check label, .agree_check span, .agree_check input {
		cursor: pointer !important;
}
.agree_check span.mwform-checkbox-field {
		display: inline-block;
		position: relative;
		cursor: pointer;
		margin-left: 8px;
		padding: 0px 0 0 25px;
		text-align: center;
		line-height: 1;
}
.agree_check label {
		display: inline-block;
		position: relative;
		padding-left: 20px;
		padding-top: 10px;
		padding-bottom: 10px;
}
.agree_check label::before {
		position: absolute;
		content: "";
		top: calc(50% - 3px);
		left: -20px;
		width: 30px;
		height: 30px;
		margin-top: -10px;
		background: #e0e0e0;
}
.agree_check input[type="checkbox"]:checked + span.mwform-checkbox-field-text::after {
		position: absolute;
		content: '';
		top: 15px;
		left: -14px;
		width: 18px;
		height: 18px;
		margin-top: -4px;
		background: #c2153e;
}
/* ============ */
.confirm_base {
		position: relative;
}
.confirm_base .arrowBaseS {
		z-index: 5;
		position: absolute;
		width: 30px;
		height: 30px;
		background: #c2153e;
		right: 25px;
		top: calc(50% - 15px);
		display: inline-block;
		overflow: hidden;
}
@media(max-width: 960px) {
		.verLandscape .contact_lead_wrap {
				padding-left: 40px;
				padding-right: 40px;
		}
}
@media(max-width: 767px) {
		.contents {
				padding: 50px 20px 100px;
		}
		.contact_lead_wrap {
				margin-bottom: 0px;
		}
		.contact_lead {
				font-size: 16px;
		}
		.must {
				width: 50px;
				height: 22px;
				font-size: 12px;
				margin-left: 30px;
		}
		.mw_wp_form_confirm .send_btn_flex {
				display: flex;
				justify-content: space-between;
		}
		.verLandscape .mw_wp_form_confirm .send_btn_flex {
				display: flex;
				justify-content: center;
		}
		button.btn_edit, .confirmBaseFlex {
				width: calc(50% - 5px);
				max-width: 220px;
				height: 60px;
				margin: 0;
		}
		.confirmBaseFlex button.btn_send {
				width: 100%;
				height: 60px;
		}
		.confirm_base .arrowBaseS {
				width: 24px;
				height: 24px;
				right: 15px;
				top: calc(50% - 12px);
		}
		.confirmBaseFlex .arrowBaseS {
				right: 5px;
		}
		.verPortrait .mw_wp_form_confirm .confirmBaseFlex .arrowBaseS {
				right: 10px;
		}
		.verLandscape button.btn_edit {
				margin: 0 5px;
		}
		.verLandscape .confirmBaseFlex button.btn_send {
				margin: 0 5px;
		}
}
.complete_lead {
		line-height: 2.0;
		margin-bottom: 80px;
}
dd.extra {
		font-weight: 500;
}
@media(max-width: 767px) {
		.complete_lead {
				line-height: 1.8;
				margin-bottom: 40px;
		}
}
@media(max-width: 375px) {
		.complete_lead {
				margin-bottom: 30px;
		}
}
.mw_wp_form .error {
		position: absolute;
		transform: translateY(5px);
}

.mw_wp_form_input .extraConfirm {
		display: none;
}

.mw_wp_form_input .secondConfirm {
		display: none!important;
}

.mw_wp_form_preview .firstInput {
		display: none!important;
}

.mw_wp_form_preview .input_inner, .mw_wp_form_preview .contact_form dd {
		font-weight: 500
}
.mw_wp_form .error + .error {
		left: 16em
}
::placeholder {
		color: #BFBFBF;
		font-size: 15px;
		font-family: 'Noto Sans JP', sans-serif;
}