@charset "utf-8";
.wrap1000 {
		max-width: 1000px;
		margin: 0 auto 200px;
		padding: 0 30px;
		position: relative;
		z-index: 10
}
@media(max-width: 767px) {
		.wrap1000 {
				padding: 0;
				margin-bottom: 80px;
		}
}
h1 {
		font-size: 40px;
		font-family: "Noto Serif JP";
		font-weight: 500;
		margin: 0 0 120px;
}
@media(max-width: 767px) {
		h1 {
				font-size: 26px;
				margin-bottom: 40px;
				padding: 0 20px;
		}
}
footer {
		background: none;
}
.contact_form input[type="text"], .contact_form input[type="email"], .contact_form textarea {
		box-sizing: border-box;
		width: 100%;
}
.form_wrap {
		background: #fff;
		position: relative;
		border-radius: 20px;
		padding: 40px 40px 60px;
}
.form_wrap.complete {
		padding-top: 80px;
		padding-bottom: 80px;
}
@media(max-width: 767px) {
		.contact_lead {
				padding: 0 20px;
		}
		.form_wrap {
				border-radius: 0;
				padding: 40px 20px 60px;
		}
		.form_wrap.complete {
				padding: 60px 20px 60px;
		}
}
.hrCenter {
		display: flex;
		justify-content: center;
		margin: 0 0 50px;
		border-bottom: 1px solid #000;
}
dl.contact_form {
		margin-bottom: 0;
		padding: 0;
}
@media(max-width: 767px) {
		dl.contact_form {
				margin-bottom: 20px;
		}
}
dl.contact_form.extra {
		margin-top: 25px;
}
.contact_form dt {
		width: 260px;
}
.contact_form dd {
		flex: 1
}
.contact_form dd div {
		width: 100%;
}
.contact_form dd.extra {
		display: block
}
option {
		font-feature-settings: "palt";
}
.agree_check_wrap {
		display: flex;
		justify-content: center;
		margin: 0 0 50px;
}
.agree_check {
		display: flex;
		justify-content: center;
		align-items: center;
		font-weight: 500;
}
.agree_check a {
		color: #000;
		text-decoration: underline;
		text-underline-offset: 4px;
}
@media (hover: hover) {
		.agree_check a:hover {
				color: #000;
				text-decoration: none;
		}
}
@media(max-width: 767px) {
		.agree_check {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				margin: 0 0 40px;
				font-size: 14px;
		}
		.agree_check strong {
				font-size: 11px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.agree_check {
				display: flex;
				justify-content: center;
		}
}
.agree_check label {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
}
@media(max-width: 767px) {
		.agree_check label {
				padding: 0 0 0 25px;
		}
}
.agree_check input[type="checkbox"] {
		width: 20px;
		height: 20px;
		margin-right: 20px;
		opacity: 0;
}
.agree_check label span {
		position: relative;
		cursor: pointer
}
.agree_check label span::before, .agree_check label span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 10px);
		left: -40px;
		width: 20px;
		height: 20px;
		border-radius: 0;
		box-sizing: border-box;
}
.agree_check label span::before {
		background: #fff;
		border: 1px solid #000;
}
.agree_check label span::after {
		background: #000;
		transform: scale(0);
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		opacity: 0;
}
input[type="checkbox"]:checked + span::after {
		transform: scale(0.6);
		opacity: 1 !important;
}
@media(max-width: 767px) {
		.agree_check input[type="checkbox"] {
				width: 30px;
				height: 30px;
				margin-right: 10px;
		}
		.agree_check label span::before, .agree_check label span::after {
				top: calc(50% - 25px);
				left: -40px;
				width: 30px;
				height: 30px;
		}
}
.sendBtn {
		display: flex;
		justify-content: center;
		margin-top: 60px;
}
.sendBtn button span {
		display: block;
		width: 100%;
		position: relative;
}
.sendBtn button span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 24.5px);
		right: -15px;
		width: 49px;
		height: 49px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 49px;
		pointer-events: none;
		background-image: url("../images/icon_right_wht.png");
}
@media (hover: hover) {
		.sendBtn button:hover span::after {
				background-image: url("../images/icon_right_blk.png");
		}
}
.sendBtn button {
		width: 324px;
		height: 50px;
		font-size: 16px;
		text-align: center;
		box-sizing: border-box;
		padding: 0 23px;
		background: #000;
		color: #fff;
		font-family: "Noto Serif JP";
		font-weight: 500;
		border: none;
		border-radius: 60px;
		cursor: pointer;
		border: 1px solid #000;
		transition: background 0.2s;
}

@media (hover: hover) {
		.sendBtn button:hover {
				background: #fff;
				color: #000;
		}
}
.sendBtn button:disabled {
		opacity: 0.2;
		cursor: not-allowed;
		pointer-events: none;
}
/* =============== */
.partner_footer {
		margin-top: calc(15vw + 200px);
		margin-bottom: -200px;
		position: relative;
}
.partner_footer footer {
		position: relative;
}
.partner_footer::before {
		content: '';
		display: block;
		position: absolute;
		top: -16vw;
		left: 0;
		width: 100%;
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 100%;
		background-image: url("../images/second_wht_bg2_pc.svg");
		height: 800px;
		z-index: 10;
		box-sizing: border-box;
		pointer-events: none;
}
.partner_footer_inner {
		position: relative;
		z-index: 15;
		top: -10vw;
		margin-bottom: -10vw;
}
@media(max-width: 1500px) {
		.partner_footer_inner {
				top: -6vw;
				margin-bottom: -6vw;
		}
}
@media(max-width: 767px) {
		.partner_footer {
				margin-top: calc(14vw + 80px);
				margin-bottom: -80px;
		}
		.partner_footer::before {
				top: -14vw;
				background-image: url("../images/second_wht_bg_sp.png");
				height: 15vw;
				min-height: inherit;
				background-size: 100%;
		}
		.partner_footer_inner {
				background: #fff;
				padding-bottom: 20px;
				margin-bottom: -20px;
		}
}
.footer_partner_hd {
		text-align: center;
		font-size: 40px;
		font-weight: 500;
		margin: 0 0 35px;
}
.footer_partner_caption {
		text-align: center;
		line-height: 1.8;
		margin: 0 0 40px;
}
@media(max-width: 767px) {
		.footer_partner_caption {
				padding-top: 40px;
				margin: 0 0 40px;
		}
}
.footer_partner_btn {
		width: 325px;
		margin: 0 auto 160px;
}
.footer_partner_btn a {
		color: #323232;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 49px;
		box-sizing: border-box;
		border: 1px solid #323232;
		border-radius: 60px;
		position: relative;
		transition: background 0.4s;
}
.footer_partner_btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: 0px;
		right: 0;
		width: 49px;
		height: 49px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 49px;
		background-image: url("../images/icon_right_blk.png");
		pointer-events: none
}
@media (hover: hover) {
		.footer_partner_btn a:hover {
				background: #000;
				color: #fff;
		}
		.footer_partner_btn a:hover::after {
				background-image: url("../images/icon_right_wht.png")
		}
}
@media(max-width: 767px) {
		.partner_bottom {
				height: 40px;
		}
		.footer_partner_hd {
				font-size: 32px;
				padding-top: 40px;
		}
		.footer_partner_btn {
				width: 80%;
				margin: 0 auto 80px;
		}
		.footer_partner_btn a span {
				transform: translateX(-1em)
		}
}
.contact_lead strong {
		font-weight: 500;
}
.agree_lead {
		margin-bottom: 20px;
		line-height: 1.8;
}
.errorAlert2 {
		color: #c1272d;
		font-size: 14px;
		font-weight: 500;
		margin-bottom: 0;
		margin-top: 10px;
		margin-left: 260px;
}
.complete_lead {
		text-align: center;
		font-size: 36px;
		font-weight: 500;
		margin-bottom: 0;
}
.download_btn {
		width: 325px;
		margin: 0 auto;
}
@media(max-width: 767px) {
		.complete_lead {
				font-size: 22px;
		}
		.download_btn {
				width: 300px;
				margin: 0 auto;
		}
}
.download_btn a {
		text-decoration: none;
		background: #000;
		border-radius: 60px;
		border: 1px solid #000;
		box-sizing: border-box;
		color: #fff;
		display: flex;
		align-items: center;
		height: 48px;
		padding-left: 25px;
		position: relative;
		transition: background 0.2s;
}
.download_btn a span {
		transform: translateY(-1px)
}
.download_btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 10px);
		right: 16px;
		width: 20px;
		height: 20px;
		pointer-events: none;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 20px;
		background-image: url("../images/icon_download_wht.png")
}
@media (hover: hover) {
		.download_btn a:hover {
				background: #fff;
				color: #000;
		}
		.download_btn a:hover::after {
				background-image: url("../images/icon_download_blk.png")
		}
}