@charset "UTF-8";
/*-------------------------
 * 
 * 
 * 
 * ローディング
 * 
 * 
 * 
-------------------------*/

@media (max-width: 1024px) {

}

@media (max-width: 640px) {

}

/*-------------------------
 * 
 * 
 * 
 * Layout
 * 
 * 
 * 
-------------------------*/

#contactContentsWrapper > .inner {
	/* width: 80%;
	margin: 0 4% 0 16%; */
	width: 74%;
	margin: 0 10% 0 16%;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 5%;
	padding: 240px 0 320px;
}

#contactContentsWrapper .pageHeader {
	/* width: 40%;
	max-width: 360px; */
	width: 360px;
	position: sticky;
	top: 240px;
}

#contactContentsWrapper .pageBody {
	/* width: 55%; */
	/* max-width: 640px; */
	width: calc(100% - 360px - 5%);
	flex-grow: 1;
}

@media (max-width: 1024px) {

	#contactContentsWrapper > .inner {
		width: 92%;
		margin: 0 auto;
		flex-direction: column;
		gap: 64px;
		padding: 160px 0 96px;
	}

	#contactContentsWrapper .pageHeader {
		width: 100%;
		position: relative;
		inset: auto;
	}

	#contactContentsWrapper .pageBody {
		width: 100%;
	}

}

@media (max-width: 640px) {

	#contactContentsWrapper > .inner {
		gap: 48px;
		padding: 128px 0 80px;
	}

}

/*-------------------------
 * 
 * 
 * 
 * Page Header
 * 
 * 
 * 
-------------------------*/

#contactContentsWrapper .pageHeader > .inner {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

#contactContentsWrapper .pageHeader .pageHeaderTitle {
	font-size: 44px;
	line-height: 1;
}

#contactContentsWrapper .pageHeader .pageHeaderDesc {
	display: flex;
	flex-direction: column;
	gap: 32px;
	opacity: 0;
	visibility: hidden;
	transform: translate(0,40px);
	transition: 1s ease;
}

#contactContentsWrapper .pageHeader .pageHeaderDesc.isActive {
	opacity: 1;
	visibility: visible;
	transform: translate(0,0);
}

#contactContentsWrapper .pageHeader .pageHeaderDescLeadParagraph {
	display: flex;
	flex-direction: column;
}

#contactContentsWrapper .pageHeader .pageHeaderDescLeadMust {
	display: flex;
	gap: .25em;
}

#contactContentsWrapper .pageHeader .pageHeaderDescNotes {
	font-size: 12px;
	line-height: 1.5;
	color: var(--gray02);
}

#contactContentsWrapper .pageHeader .pageHeaderDescNotes a {
	color: var(--gray02);
	text-decoration: underline;
}

#contactContentsWrapper .pageHeader .pageHeaderDescNotes a:hover,
#contactContentsWrapper .pageHeader .pageHeaderDescNotes a:active {
	color: var(--lightGray01);
	text-decoration: none;
}

@media (max-width: 1024px) {

	#contactContentsWrapper .pageHeader .pageHeaderDesc {
		max-width: 400px;
	}

	#contactContentsWrapper .pageHeader .pageHeaderDescLead {
		gap: 1.25em;
	}

	/* #contactContentsWrapper .pageHeader .pageHeaderDescLeadParagraph {
		display: block;
	} */

}

@media (max-width: 640px) {

	#contactContentsWrapper .pageHeader .pageHeaderDescLeadParagraph {
		display: block;
	}

}

/*-------------------------
 * 
 * 
 * 
 * Page Body
 * 
 * 
 * 
-------------------------*/

#contactContentsWrapper .pageBody {
	opacity: 0;
	visibility: hidden;
	transform: translate(0,40px);
	transition: 1s ease;
}

#contactContentsWrapper .pageBody.isActive {
	opacity: 1;
	visibility: visible;
	transform: translate(0,0);
}

#contactContentsWrapper .pageBody > .inner {
	width: 100%;
}

@media (max-width: 1024px) {

}

@media (max-width: 640px) {

}

/*-------------------------
 * 
 * 
 * 
 * Form
 * 
 * 
 * 
-------------------------*/

#contactContentsWrapper .must {
	color: var(--accent);
}

#form > .inner {
	width: 100%;
	max-width: 640px;
	position: relative;
	padding: 48px 0 0;
}

#form > .inner::before {
	display: block;
	content: '';
	width: 100%;
	height: 1px;
	background: var(--white);
	position: absolute;
	top: 0;
	left: 0;
}

#form .formItems {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

#form .formItem {
	all: unset;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

#form .formItemHeading {
	line-height: 1;
	display: flex;
	gap: .25em;
}

#form input[type=text],
#form input[type=email],
#form input[type=tel],
#form textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	all: unset;
	font-family: inherit;
	font-size: var(--font-size-default);
	display: block;
	padding: 16px;
	width: 100%;
	box-sizing: border-box;
	border-radius: 4px;
	background: var(--darkGray02);
	color: var(--white);
}

#form textarea {
	height: 16em;
}

#form input[type="text"]:focus,
#form input[type="email"]:focus,
#form input[type="tel"]:focus,
#form select:focus,
#form textarea:focus {
	outline: 0;
}

#form ::placeholder {
	color: var(--lightGray01);
}

#form ::-ms-input-placeholder {
	color: var(--lightGray01);
}

#form input[type=checkbox] {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	all: unset;
	display: block;
	width: 24px;
	height: 24px;
	box-sizing: border-box;
	position: relative;
	vertical-align: middle;
	/* background: var(--white); */
	background: var(--darkGray02);
	border-radius: 4px;
	/* margin: -2px 4px 0 0; */
}

#form input[type=checkbox]:focus {
	outline: 0;
}

#form input[type=checkbox]:checked {
	background: var(--accent);
}

#form input[type=checkbox]:checked::before,
#form input[type=checkbox]:checked::after {
	display: block;
	content: '';
	position: absolute;
	background: var(--white);
	transform: rotate(-45deg);
}

#form input[type=checkbox]:checked::before {
	top: 11px;
	left: 8px;
	width: 12px;
	height: 2px;
}

#form input[type=checkbox]:checked::after {
	top: 10px;
	left: 7px;
	width: 2px;
	height: 6px;
}

#form .privacyPolicyCheck {
	align-items: center;
}

#form .privacyPolicyCheck label {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: .75em
}

#form .privacyPolicyCheck a {
	color: var(--white);
	text-decoration: underline;
}

#form .privacyPolicyCheck a:hover,
#form .privacyPolicyCheck a:active {
	color: var(--lightGray02);
	text-decoration: none;
}

#form .submit {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 64px auto 0;
}

#form .submit input[type=submit] {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	all: unset;
	font-family: inherit;
	display: block;
	font-size: var(--font-size-default);
	font-weight: 600;
	text-align: center;
	letter-spacing: .25em;
	background: var(--gray01);
	color: var(--white);
	border: none;
	border-radius: 36px;
	width: 100%;
	max-width: 480px;
	height: 72px;
	line-height: 72px;
	margin: 0 auto;
	transition: .3s ease;
}

#form .submit input[type=submit]:hover {
	background: var(--accent);
}

#form .submit input[type=submit]:focus {
	outline: 0;
}

#form .submit input[type=submit]:disabled {
	opacity: .5;
	pointer-events: none;
}

@media (max-width: 1024px) {

	#form > .inner {
		max-width: initial;
	}

}

@media (max-width: 640px) {

	#form > .inner {
		padding-top: 40px;
	}

	#form .formItems {
		gap: 32px;
	}

	#form .formItemHeading {
		font-size: var(--font-size-default);
	}

	#form .submit {
		margin-top: 56px;
	}

	#form .submit input[type=submit] {
		border-radius: 32px;
		height: 64px;
		line-height: 64px;
	}

}

/*-------------------------
 * 
 * 
 * 
 * Google reCAPTCHA
 * 
 * 
 * 
-------------------------*/

.grecaptcha-badge {
	opacity: 0;
	visibility: hidden;
}
