@charset "utf-8";
.single_cont {}
input, select, button, textarea {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
}
input[type="text"], textarea {
		border: 1px solid #D5D5D5;
		border-radius: 4px;
		padding: 10px;
		font-size: 16px;
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		width: 100%;
		background: #F5F5F5;
}
input[type="text"] {
		height: 70px;
}
textarea {
		height: 250px;
		resize: none;
}
.contact_lead {
		line-height: 2.0;
		padding-bottom: 45px;
		margin-bottom: 60px;
		text-align: center;
		border-bottom: 1px solid #ddd;
}
.contact_lead.confirm_lead {
		border: none;
		padding-bottom: 0;
		margin-bottom: 80px;
}
.contact_lead a {
		color: #D3372D;
		text-decoration: none;
}
@media (hover: hover) {
		.contact_lead a:hover {
				color: #D3372D;
				text-decoration: underline;
		}
}
.contactForm {
		display: flex;
		align-items: center;
		margin-bottom: 50px;
		position: relative;
}
.confirmGr {
		position: relative;
}
.confirmGr::before, .confirmGr::after {
		content: '';
		display: block;
		position: absolute;
		top: -25px;
		left: 0;
		width: 100%;
		height: 1px;
		pointer-events: none
}
.confirmGr .contactForm::before, .confirmGr .contactForm::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -25px;
		left: 0;
		width: 100%;
		height: 1px;
}
.confirmGr::before, .confirmGr .contactForm::before {
		background: #E2E2E2;
}
.confirmGr::after, .confirmGr .contactForm::after {
		background: #D3372D;
		width: 260px;
}
.contactForm.flexStart {
		display: flex;
		align-items: flex-start;
}
.contactForm.extra {
		display: block;
}
.contactForm dt {
		width: 260px;
		font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		font-weight: 500;
}
.contactForm.extra dt {
		width: auto;
		margin: 0 0 15px;
}
.contactHd {
		display: flex;
		align-items: center;
}
.contactForm dd {
		flex: 1
}
.contactForm dd ul {
		list-style: none;
		font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.th_notes {
		font-size: 12px;
		color: #999;
		padding-top: 3px;
}
.must {
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 13px;
		background: #D3372D;
		color: #fff;
		width: 40px;
		height: 20px;
		margin-left: 13px;
}
.must.nini {
		background: #E5E5E5;
		color: #868686;
}
.must span {
		transform: translateY(-1px)
}
.errorAlert {
		position: relative;
}
.errorAlert p {
		position: absolute;
		top: 10px;
		left: 0;
		font-size: 14px;
		color: #D3372D;
}
dd ul.horizon {
		display: flex;
		align-items: center
}
dd ul li {
		margin-bottom: 15px;
}
dd ul.horizon li {
		margin-right: 45px;
		margin-bottom: 0;
}
dd ul li span {
		position: relative;
		display: inline-block
}
dd ul li span::before, dd ul li span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 12px);
		left: -32px;
		width: 26px;
		height: 26px;
		box-sizing: border-box;
		border-radius: 50%;
		pointer-events: none;
		z-index: 5;
}
dd ul li input[type="checkbox"] + span::before {
		border-radius: 0;
}
dd ul li span::before {
		border: 1px solid #c9c9c9;
		background: #F5F5F5;
}
dd ul li input[type="radio"]:checked + span::before {
		background: #D3372D;
		border: 1px solid #D5D5D5;
}
dd ul li input[type="checkbox"]:checked + span::before {
		background: #D3372D;
		border: 1px solid #D5D5D5;
}
dd ul li input[type="checkbox"] + span::after {
		position: absolute;
		content: '';
		top: 6px;
		left: -26px;
		width: 15px;
		height: 8px;
		transform: rotate(-47deg) scale(1) !important;
		border-radius: 0;
}
dd ul li input[type="checkbox"]:checked + span::after {
		border-left: 3px solid #fff;
		border-bottom: 3px solid #fff;
}
dd ul li input[type="radio"] + span::after {
		transform: scale(0.4);
		background: #fff;
		opacity: 0;
}
dd ul li input[type="radio"]:checked + span::after {
		opacity: 1;
}
dd ul.vertical li {
		margin: 0 0 12px
}
dd ul li label {
		display: flex;
		align-items: center;
		cursor: pointer;
		position: relative;
		padding-left: 32px;
}
dd ul li label input[type="radio"], dd ul li label input[type="checkbox"] {
		width: 22px;
		height: 22px;
		position: absolute;
		left: 0;
		top: calc(50% - 10px);
		border: none;
		opacity: 0
}
/* ============= */
.agree_center {
		display: flex;
		justify-content: center;
		margin: 0 0 50px;
}
.agree_center a {
		color: #D3372D;
		text-decoration: none;
}
@media (hover: hover) {
		.agree_center a:hover {
				color: #D3372D;
				text-decoration: underline;
		}
}
.agree_center li {
		list-style: none
}
.agree_center span {
		position: relative;
		display: inline-block;
}
.agree_center input[type="checkbox"] {
		width: 22px;
		height: 22px;
		position: absolute;
		left: 0;
		top: calc(50% - 10px);
		border: none;
		opacity: 0;
}
.agree_center span::before, .agree_center span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 12px);
		left: -32px;
		width: 26px;
		height: 26px;
		box-sizing: border-box;
		pointer-events: none;
		z-index: 5;
		border-radius: 0;
}
.agree_center span::before {
		border: 1px solid #c9c9c9;
		background: #F5F5F5;
}
.agree_center input[type="checkbox"] + span::after {
		position: absolute;
		content: '';
		top: 6px;
		left: -26px;
		width: 15px;
		height: 8px;
		transform: rotate(-47deg) scale(1) !important;
}
.agree_center label {
		display: flex;
		align-items: center;
		cursor: pointer;
		position: relative;
		padding-left: 32px;
}
.agree_center input[type="checkbox"]:checked + span::before {
		background: #D3372D;
		border: 1px solid #D5D5D5;
}
.agree_center input[type="checkbox"]:checked + span::after {
		border-left: 3px solid #fff;
		border-bottom: 3px solid #fff;
}
/* ============== */
.sendbtn_flex {
		display: flex;
		justify-content: center;
		padding-bottom: 30px;
}
.confirmGr + .sendbtn_flex {
		padding-top: 40px;
}
.sendbtn {
		width: 195px;
		margin: 0 15px
}
.sendbtn_item input, .sendbtn_item submit, .sendbtn_item button {
		width: 100%;
		height: 56px;
		color: #fff;
		border: none;
		border-radius: 60px;
		font-size: 16px;
		font-weight: 700;
		cursor: pointer;
		box-sizing: border-box;
		padding-left: 20px;
}
.next .sendbtn_item input, .next .sendbtn_item submit, .next .sendbtn_item button {
		background: #D3372D;
		border: 1px solid #D3372D;
}
.prev .sendbtn_item input, .prev .sendbtn_item submit, .prev .sendbtn_item button {
		background: #767676;
		border: 1px solid #767676;
}
.next .sendbtn_item, .prev .sendbtn_item {
		position: relative;
}
.next .sendbtn_item::after, .prev .sendbtn_item::after {
		content: '';
		display: block;
		position: absolute;
		width: 23px;
		height: 23px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 23px;
		top: calc(50% - 11px);
		left: 13px;
		pointer-events: none;
		border-radius: 50%;
}
.next .sendbtn_item::after {
		background-image: url("../images/link_btn_arw_wht.png")
}
.prev .sendbtn_item::after {
		background-image: url("../images/contact_back_blk.png")
}
@media (hover: hover) {
		.next .sendbtn_item input:hover, .next .sendbtn_item submit:hover, .next .sendbtn_item button:hover {
				color: #D3372D;
				background: #fff;
		}
		.prev .sendbtn_item input:hover {
				color: #767676;
				background: #fff;
		}
		.next .sendbtn_item:hover::after {
				background-image: url("../images/link_btn_arw_red.png")
		}
		.prev .sendbtn_item:hover::after {
				background-image: url("../images/contact_back_wht.png")
		}
}
@media(max-width: 960px) {
		.contactForm, .contactForm.flexStart {
				display: block;
				margin-bottom: 30px;
		}
		.contactForm dt {
				width: auto;
				margin: 0 0 15px;
				display: flex;
				align-items: center;
		}
		.th_notes {
				padding: 0;
				margin-left: 10px;
		}
		input[type="text"] {
				height: 60px;
		}
		.errorAlert {
				position: static;
		}
		.errorAlert p {
				position: static;
				margin-top: 10px;
		}
		.confirmGr .contactForm dd {
				min-height: 25px;
		}
}
@media(max-width: 840px) {
		.verLandscape .sendbtn_flex {
				display: flex;
				justify-content: center;
				flex-direction: row;
				width: 100%!important;
		}
		.verLandscape .sendbtn {
				width: 195px;
				margin: 0 15px
		}
}
@media(max-width: 767px) {
		.contact_lead {
				line-height: 1.8;
				text-align: left;
				padding-bottom: 30px;
				margin-bottom: 30px;
				font-size: 15px;
		}
		.contact_lead.confirm_lead {
				text-align: center;
		}
		.contactForm {
				margin-bottom: 40px;
		}
		.confirmGr .contactForm {
				margin-bottom: 50px !important;
		}
		.contactHd {
				font-size: 15px;
		}
		.contactForm dd ul li {
				font-size: 14px;
		}
		textarea {
				height: 250px;
		}
		.sendbtn_flex {
				padding-bottom: 30px;
				display: flex;
				flex-direction: column-reverse;
		}
		.sendbtn {
				margin: 0;
		}
		.sendbtn.spCenter {
				margin-left: auto;
				margin-right: auto;
				width: 195px;
		}
		.confirmGr + .sendbtn_flex {
				padding-top: 40px;
				margin-left: auto;
				margin-right: auto;
				width: 195px;
		}
		.sendbtn_item {
				margin: 0 0 24px
		}
		.sendbtn_item input, .sendbtn_item submit, .sendbtn_item button {
				height: 50px;
		}
		.next .sendbtn_item::after, .prev .sendbtn_item::after {
				width: 20px;
				height: 20px;
				background-size: 20px;
				top: calc(50% - 10px);
				left: 10px;
		}
		.th_notes {
				font-size: 11px;
				margin-left: 5px;
		}
		.must {
				margin-left: 8px;
		}
		.confirmGr::after, .confirmGr .contactForm::after {
				width: 27%;
		}
}
/* ============ */
.thanks_contents {
		text-align: center;
}
.thanks_lead {
		font-size: 18px;
		font-weight: 500;
		text-align: center;
		margin: 0 0 35px
}