@charset "utf-8";
footer {
		background: none;
}
.conatct_hdr {
		position: relative;
		z-index: 200;
		max-width: 1000px;
		margin: 0 auto;
		padding: 0 20px
}
.conatct_hdr h1 {
		font-size: 40px;
		font-weight: 500;
		margin: 0 0 120px;
		padding: 0
}
@media(max-width: 767px) {
		.conatct_hdr h1 {
				font-size: 30px;
				margin: 0 0 25px;
		}
}
.contact_wrap {
		max-width: 1000px;
		box-sizing: border-box;
		background: #fff;
		padding: 60px 40px;
		margin-bottom: 200px;
		border-radius: 20px;
}
@media(max-width: 767px) {
		.contact_wrap {
				padding: 30px 15px;
		}
}
.first_lead, .confirm_lead {
		line-height: 1.8;
		margin: 0 0 30px;
		font-size: 140%;
		font-weight: 500;
}
@media(max-width: 767px) {
		.first_lead, .confirm_lead {
				font-size: 16px;
				margin: 0 0 20px;
		}
}
.contact_notes {
		margin: 0 auto 20px;
		text-align: right;
		font-size: 90%;
}
.contact_form {
		margin-bottom: 20px;
}
.contact_form:not(.extra) {
		display: flex;
		align-items: center;
}
.contact_form.extra {
		display: flex;
		min-height: 150px;
		padding-top: 15px;
}
.contact_form.extra textarea {
		min-height: 140px;
}
.contact_form:not(.extra) dt, .contact_form:not(.extra) dd {
		height: 80px;
		display: flex;
		align-items: center;
}
.contact_form dt, .contact_form dd {
		padding-bottom: 20px;
		border-bottom: 1px solid #3c3c3c;
		position: relative;
}
.contact_form dt {
		letter-spacing: 0;
		font-size: 16px;
		font-weight: 500;
		width: 190px;
		line-height: 1.8;
}
.must {
		color: #c1272d;
		margin-left: 3px;
		margin-right: 3px;
}
span.base {
		display: inline-block;
		position: relative;
		padding-right: 14px;
}
span.base .must {
		position: absolute;
		display: block;
		margin: 0;
		top: 0;
		right: 0;
}
span.base.extra .must {
		right: 1.5em
}
.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;
}
input::placeholder:lang(en), textarea::placeholder:lang(en) {
		color: #c8c8c8;
		font-size: 14px;
		font-family: "Lora", 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: 140px;
		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: 14px;
		}
		.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;
		justify-content: 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: 20px 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: calc(50% - 24.5px);
		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, .sendbtn_item.back a {
		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: center;
		text-decoration: none;
}

.sendbtn_item.back a {
		display: flex;
		justify-content: flex-start;
		align-items: center;
}
@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, .sendbtn_item.back a:hover {
				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: 300px;
				margin: 20px auto 0;
		}
		.send_btn_gr .wpcf7-spinner {
				position: absolute;
				left: calc(50% - 12px);
				bottom: -45px;
				margin: 0 !important;
		}
		.sendbtn_item {
				width: 100%;
				margin: 0 0 15px;
		}
}
/* ============ */
.errorAlert {
		color: #c1272d;
		font-size: 14px;
		font-weight: 500;
		margin-bottom: 20px;
		margin-left: 190px;
		position: relative;
		top: -5px;
}
@media(max-width: 767px) {
		.errorAlert {
				margin-left: 0;
				top: -3px;
		}
}
.uploadItem .errorAlert {
		margin-left: 0;
}
.contact_agree_wrap .errorAlert {
		position: static;
		width: 100%;
		text-align: center !important;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 !important
}
.contact_agree_center {
		display: flex;
		justify-content: center;
		align-items: center;
}
.contact_agree_center .errorAlert {
		margin-top: 15px;
		margin-left: 0 !important;
}
.contact_form.extra dd .errorAlert {
		position: static !important;
		margin: 0px 0 15px;
}
/* =========== */
.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; /* 標準のスタイルを無効にする */
}
.birth_flex {
		display: flex;
		align-items: center;
}
.contact_form .birthYear input[type="text"] {
		width: 120px;
}
.mw_wp_form_input .sendbtn_item.send {
		display: none !important
}
.mw_wp_form_input .sendbtn_item.back {
		display: none !important
}
.mw_wp_form_confirm .sendbtn_item.confirm {
		display: none !important
}
.placeholder {
		font-size: 16px;
		font-weight: 400;
		color: #c8c8c8;
		margin: 0 0 15px;
}
@media(max-width: 767px) {
		.placeholder {
				font-size: 14px;
		}
}
.imgattached {
		display: flex;
		align-items: center;
		gap: 15px;
		padding: 0 0 10px;
		position: relative;
}
@media(max-width: 767px) {
		.imgattached {
				display: block;
		}
}
.imgattached input[type=file] {
		display: none !important;
}
.imgattached label {
		background: #fff;
		color: #000;
		border-radius: 60px;
		cursor: pointer;
		text-align: center;
		width: 256px;
		height: 48px;
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 1px solid #000;
		position: relative;
}
@media(max-width: 767px) {
		.imgattached label {
				margin-bottom: 15px;
		}
}
.imgattached label::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 10px);
		left: inherit;
		right: 15px;
		width: 18px;
		height: 18px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 18px;
		background-image: url("../images/icon_upload_blk.png");
		pointer-events: none
}
@media (hover: hover) {
		.imgattached label:hover {
				background: #000;
				color: #fff;
		}
		.imgattached label:hover::after {
				background-image: url("../images/icon_upload_wht.png");
		}
}
.imgattached label .mwform-file-delete {
		display: none;
}
.imgattached__status {
		color: #000;
}
.imgattached__delete {
		position: absolute;
		right: -50px;
		display: block;
		width: 30px;
		height: 30px;
		display: none;
		cursor: pointer;
}
.imgattached__delete::before, .imgattached__delete::after {
		content: '';
		display: block;
		position: absolute;
		top: 14.5px;
		left: 4px;
		width: 22px;
		height: 1px;
		pointer-events: none;
		background: #000;
}
.imgattached__delete::before {
		transform: rotate(45deg)
}
.imgattached__delete::after {
		transform: rotate(-45deg)
}
.imgattached:has(.mw-wp-form_file input[type="hidden"]) .imgattached__status {
		display: none;
}
.imgattached:has(.mw-wp-form_file input[type="hidden"]) .label-inner {
		opacity: 0
}
.mw_wp_form_input .confirm_lead {
		display: none
}
.mw_wp_form_preview .first_lead {
		display: none
}
.mw_wp_form_preview .placeholder {
		display: none
}
.mw_wp_form_preview .imgattached label {
		display: none
}
.mw_wp_form_preview .contact_agree_lead, .mw_wp_form_preview .contact_agree_center {
		display: none
}
.mw_wp_form_preview .send_btn_gr {
		margin-top: 60px;
}
@media(max-width: 767px) {
		.mw_wp_form_preview .send_btn_gr {
				margin-top: 40px;
		}
}