@charset "utf-8";
.second_cont.single {
		margin-top: calc(15vw + 100px);
		margin-bottom: -100px;
		padding-bottom: 80px;
}
@media(max-width: 767px) {
		.second_wrap {
				padding-bottom: 100px;
		}
		.second_cont.single {
				margin-top: 100px;
				padding-bottom: 80px;
		}
}
.second_wrap {
		position: relative;
		z-index: 200;
}
.contact_cont {
		position: relative;
		top: -10vw;
		min-height: 450px;
}
@media(max-width: 767px) {
		.contact_cont {
				top: 5vw
		}
}
.first_lead {
		line-height: 1.8;
		margin: 0 0 60px;
}
@media(max-width: 1920px) {
		.first_lead {
				padding-top: 4em;
		}
}
@media(max-width: 767px) {
		.first_lead {
				padding-top: 0;
				margin-bottom: 20px;
		}
}
.contact_notes {
		margin: 0 auto 20px;
		text-align: right;
		font-size: 90%;
}
.contact_form {
		margin-bottom: 20px;
}
.contact_form.phone {
		margin-bottom: 50px;
}
.contact_form:not(.extra) {
		display: flex;
		align-items: center;
}
.contact_form.extra {
		display: flex;
		min-height: 150px;
}
.contact_form.extra textarea {
		min-height: 150px;
}
.contact_form:not(.extra) dt, .contact_form:not(.extra) dd {
		height: 80px;
		display: flex;
		align-items: center;
}
.contact_form dt, .contact_form dd {
		border-bottom: 1px solid #3c3c3c;
		position: relative;
}
.contact_form dt {
		letter-spacing: 0;
		font-size: 16px;
		font-weight: 500;
		width: 190px;
}
.must {
		color: #c1272d;
		margin-left: 3px;
		margin-right: 3px;
}
.contact_form.extra dt div {
		position: relative;
		top: 10px;
}
.contact_form dd {
		flex: 1
}
.contact_form dd.fileExtra {
		display: block;
}
@media(max-width: 767px) {
		.contact_form, .contact_form.extra {
				display: block !important;
		}
		.contact_form, .contact_form dt, .contact_form dd, .contact_form.extra dt, .contact_form.extra dd {
				width: auto !important;
				height: auto !important;
				display: block !important;
		}
		.contact_form.phone {
				margin-bottom: 20px;
		}
		.contact_form dt, .contact_form.extra dt {
				border: none;
				padding-bottom: 5px !important;
		}
		.contact_form dd, .contact_form.extra dd {
				padding-bottom: 10px;
		}
		.contact_form.extra dt div {
				position: static;
				top: inherit;
		}
}
/* ================= */
input[type="button"], input[type="submit"], input[type="reset"] {
		-webkit-appearance: none;
}
input:-webkit-autofill {
		box-shadow: 0 0 0 1000px #fff inset;
		-webkit-text-fill-color: #000 !important;
}
input::placeholder, textarea::placeholder {
		color: #c8c8c8;
		font-size: 16px;
		font-family: YakuHanMP, "Noto Serif JP", serif;
}
.contact_form input[type="text"], .contact_form input[type="email"], .contact_form textarea, .contact_form select {
		width: calc(100% - 80px);
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-size: 16px;
		border-radius: 0;
		outline: none;
		border: none;
		box-sizing: border-box;
}
.contact_form input[type="text"], .contact_form input[type="email"], .contact_form textarea {
		padding: 10px;
		padding-left: 0px;
		color: #000;
		background: none;
}
.contact_form select {
		padding: 14px 10px 10px;
		padding-left: 25px;
		font-family: YakuHanMP, "Noto Serif JP", serif;
		font-size: 16px;
		color: #000;
		background: none !important;
		cursor: pointer;
		box-sizing: border-box;
		line-height: 1;
}
.contact_form textarea {
		width: 100%;
		height: 250px;
		resize: none;
		padding-top: 0;
}
@media(max-width: 767px) {
		.contact_form input[type="text"], .contact_form input[type="email"], .contact_form textarea, .contact_form select {
				max-width: inherit;
				width: 100%;
				box-sizing: border-box;
		}
		input::placeholder, textarea::placeholder {
				font-size: 13px;
		}
		.contact_form textarea {
				height: 150px;
		}
}
/* ================ */
.contact_agree_wrap {
		display: flex;
		justify-content: center;
		margin: 0 0 40px;
		position: relative;
}
.contact_agree {
		display: flex;
		align-items: center;
		position: relative;
		padding-left: 34px;
}
.contact_agree label {
		cursor: pointer;
}
.contact_agree input {
		display: block;
		position: absolute;
		width: 20px;
		height: 20px;
		top: 0;
		left: -34px;
		border: none;
		opacity: 0;
		background: none;
}
.contact_agree input + span {
		position: relative;
}
.contact_agree input + span::before, .contact_agree input + span::after {
		content: '';
		display: block;
		position: absolute;
		box-sizing: border-box;
}
.contact_agree input + span::before {
		top: 1px;
		left: -34px;
		width: 20px;
		height: 20px;
		border: 1px solid #000;
}
.contact_agree input + span::after {
		top: 5px;
		left: -31px;
		width: 15px;
		height: 8px;
		transform: rotate(-45deg);
}
.contact_agree input:checked + span::before {
		background: #000;
}
.contact_agree input:checked + span::after {
		border-left: 3px solid rgba(255, 255, 255, 1);
		border-bottom: 3px solid rgba(255, 255, 255, 1);
}
.contact_agree .wpcf7-list-item {
		margin: 0 !important
}
/* ============== */
.agree_box_hd {
		font-weight: 500;
		font-size: 16px;
		text-align: center;
		margin: 100px 0 40px;
}
.contact_agree_lead {
		margin: 60px 0 30px;
		text-align: center;
		line-height: 1.8;
}
@media(max-width: 767px) {
		.contact_agree_lead {
				font-size: 14px;
				margin-top: 30px;
		}
}
.contact_agree_lead a {
		color: #000;
		text-decoration: underline;
}
@media (hover: hover) {
		.contact_agree_lead a:hover {
				color: #000;
				text-decoration: none;
		}
}
/* ============== */
.send_btn_gr {
		position: relative;
		max-width: 320px;
		margin: 60px auto 0;
}
.send_btn_gr .wpcf7-spinner {
		position: absolute;
		left: calc(50% - 12px);
		bottom: -45px;
		margin: 0 !important;
}
.sendbtn_item {
		width: 320px;
		margin: 0 0 15px;
		position: relative;
}
.sendbtn_item::after {
		content: '';
		display: block;
		position: absolute;
		top: 1px;
		right: 5px;
		width: 49px;
		height: 49px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 49px;
		pointer-events: none
}
.sendbtn_item.confirm::after {
		background-image: url("../images/icon_right_blk.png");
}
.sendbtn_item.back::after {
		background-image: url("../images/icon_left_blk.png");
}
.sendbtn_item.send::after {
		background-image: url("../images/icon_right_wht.png");
}
@media (hover: hover) {
		.sendbtn_item.confirm:hover::after {
				background-image: url("../images/icon_right_wht.png");
		}
		.sendbtn_item.back:hover::after {
				background-image: url("../images/icon_left_blk.png");
		}
		.sendbtn_item.send:hover::after {
				background-image: url("../images/icon_right_blk.png");
		}
}
.send_btn_gr input {
		font-family: YakuHanMP, "Noto Serif JP", serif;
		width: 100%;
		height: 50px;
		border-radius: 60px;
		background: none;
		border: 1px solid #000;
		transition: background 0.2s;
		cursor: pointer;
		color: #000;
		font-size: 16px;
		font-weight: 500;
		box-sizing: border-box;
		padding: 0 25px;
		text-align: left;
}
@media(max-width: 767px) {
		.send_btn_gr input {
				font-size: 15px;
				padding: 0 20px;
		}
}
.send_btn_gr .sendbtn_item.send input {
		background: #000;
		color: #fff;
}
@media (hover: hover) {
		.send_btn_gr .sendbtn_item.back:hover input {
				background: #ededed;
				color: #000;
		}
		.send_btn_gr .sendbtn_item.confirm:hover input {
				background: #000;
				color: #fff;
		}
		.send_btn_gr .sendbtn_item.send:hover input {
				background: #fff;
				color: #000;
		}
}
@media(max-width: 767px) {
		.agree_box {
				height: 200px;
		}
		.agree_inner {
				padding: 10px 15px;
				overflow: auto;
				height: 200px;
		}
		.send_btn_gr {
				max-width: 190px;
				margin: 40px auto 0;
		}
		.send_btn_gr .wpcf7-spinner {
				position: absolute;
				left: calc(50% - 12px);
				bottom: -45px;
				margin: 0 !important;
		}
		.sendbtn_item {
				width: 190px;
				margin: 0 0 15px;
		}
}
/* ============ */
.errorAlert {
		color: #c1272d;
		font-size: 14px;
		font-weight: 500;
}
.contact_form dd .wpcf7-not-valid-tip, .contact_form dd .errorAlert {
		position: absolute;
		bottom: -50px;
		left: 0;
}
@media(max-width: 767px) {
		.contact_form dd .errorAlert {
				position: static;
		}
}
.contact_agree_wrap .errorAlert {
		position: absolute;
		left: 0;
		bottom: -30px;
		width: 100%;
		text-align: center;
}
.contact_form dd .errorAlert {
		bottom: -30px;
}
.contact_form.extra dd .wpcf7-not-valid-tip {
		bottom: -40px;
}
.contact_form.extra dd .errorAlert {
		bottom: -30px;
}
.wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
		display: none;
}
.wpcf7-form-control-wrap.isShow > .wpcf7-not-valid-tip {
		display: block;
}
.wpcf7 form .wpcf7-response-output {
		text-align: center;
		border: 1px solid #c1272d;
		border: none !important;
		color: #c1272d;
		margin: 30px 0;
		padding: 15px 0;
		font-weight: 500;
		letter-spacing: 0
}
.contact_right .wpcf7 form.invalid .wpcf7-response-output, .contact_right .wpcf7 form.unaccepted .wpcf7-response-output, .contact_right .wpcf7 form.payment-required .wpcf7-response-output {
		border-color: #c1272d !important;
		color: #c1272d !important;
}
/* =========== */
.contact_lead {
		line-height: 1.8;
		margin: 0 0 2em
}
.contact_lead.confirm_lead {
		font-size: 22px;
		padding-top: 1.5em;
}
@media(max-width: 1920px) {
		.contact_lead.confirm_lead {
				padding-top: 3vw;
		}
}
@media(max-width: 1800px) {
		.contact_lead.confirm_lead {
				padding-top: 7vw;
		}
}
@media(max-width: 767px) {
		.contact_lead.confirm_lead {
				font-size: 18px;
		}
}
/* =========== */
.select_wrap {
		position: relative;
		width: 100%;
		height: 43px;
}
.select_wrap::before, .select_wrap::after {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		width: 0;
		height: 0;
		pointer-events: none;
}
.select_wrap::before {
		top: calc(50% - 8px);
		border-style: solid;
		border-right: 4px solid transparent;
		border-left: 4px solid transparent;
		border-bottom: 7px solid #000;
		border-top: 0;
}
.select_wrap::after {
		top: calc(50% + 2px);
		border-style: solid;
		border-right: 4px solid transparent;
		border-left: 4px solid transparent;
		border-top: 7px solid #000;
		border-bottom: 0;
}
select {
		-webkit-appearance: none; /* ベンダープレフィックス(Google Chrome、Safari用) */
		-moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
		appearance: none; /* 標準のスタイルを無効にする */
}