@charset "UTF-8";
/*-------------------------------
 Page Header
-------------------------------*/
.pageHeader {
	background: var(--c_black01);
}
.pageHeader__title {
	color: var(--c_white);
}
.pageHeader__lead {
	color: var(--t_white0106);
}

@media screen and (max-width: 767px) {

}



/*-------------------------------
 Register Form
-------------------------------*/
.registerSection {
	max-width: 800px;
	margin: 0 auto;
	padding: 50px 0 100px;
}

@media screen and (max-width: 767px) {
	.registerSection {
		padding: 40px 0 60px;
	}
}


/*-------------------------------
 Register Form 登録完了
-------------------------------*/
.registerComplete {
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
	padding: 150px 0 50px;
}
.registerComplete__icon {
	width: 80px;
	height: 80px;
	background: linear-gradient(135deg, var(--c_green03) 0%, var(--c_green01) 100%);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 24px;
	box-shadow: 0 10px 15px -3px rgba(34, 197, 94, 0.3), 0 4px 6px -4px rgba(34, 197, 94, 0.3);
}
.registerComplete__svg {
	display: block;
	color: var(--c_white);
}
.registerComplete__title {
	font-size: 36px;
	font-weight: 700;
	color: var(--c_white);
	margin-bottom: 16px;
	letter-spacing: 0.02em;
}
.registerComplete__text {
	font-size: 18px;
	color: rgba(255, 255, 255, 0.6);
	line-height: 1.7;
	margin-bottom: 32px;
}
.registerComplete__action {
	display: flex;
	justify-content: center;
	gap: 16px;
}

@media screen and (max-width: 767px) {
	.registerComplete {
		padding: 80px 0 0;
	}
	.registerComplete__icon {
		width: 80px;
		height: 80px;
		margin-bottom: 24px;
		box-shadow: 0 10px 15px -3px rgba(34, 197, 94, 0.3), 0 4px 6px -4px rgba(34, 197, 94, 0.3);
	}
	.registerComplete__title {
		font-size: 36px;
		margin-bottom: 16px;
	}
	.registerComplete__text {
		font-size: 16px;
		margin-bottom: 32px;
	}
	.registerComplete__action {
		flex-direction: column;
		align-items: center;
		gap: 12px;
		width: 100%;
		margin-bottom: 40px;
	}
}


/*-------------------------------
 Login
-------------------------------*/
.loginSection {
	padding: 100px 0 0;
	text-align: center;
}
.login__title {
	margin-bottom: 32px;
	font-size: 28px;
	font-weight: 700;
	color: var(--c_white);
	letter-spacing: 0.05em;
}
.form__card-login {
	max-width: 460px;
	margin: 0 auto;
	text-align: left;
}
.form__input-login {
	height: 50px;
	padding: 0 16px 0 44px;
}
.form__input-login--username {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23888888'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 14px center;
	background-size: 20px;
}
.form__input-login--password {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23888888'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 14px center;
	background-size: 20px;
}
.form__input-login--captcha {
	padding: 0 16px;
}
.form__login__rememberWrap {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}
.form__login__checkbox {
	width: 20px;
	margin: 0 8px 0 0;
	accent-color: var(--c_red01);
	cursor: pointer;
}
.form__login__checkbox__label {
	display: inline-block;
	margin-bottom: 0;
	font-size: 15px;
	color: var(--t_white0107);
	cursor: pointer;
}

.form__login__links {
	padding-top: 20px;
	margin-top: 20px;
	text-align: center;
	border-top: 1px solid var(--t_white0101);
}
.form__login__linkText {
	font-size: 14px;
	line-height: 1.6;
	color: var(--t_white0107);
}
.form__login__linkText:last-child {
	margin-bottom: 0;
}
.form__login__link {
	color: var(--c_white);
	text-decoration: none;
	transition: color 0.2s;
}
.form__login__link--forgot {
	color: var(--c_red01);
	font-weight: 700;
}
.form__login__link:hover {
	text-decoration: underline;
}

.login__footerText {
	padding-top: 30px;
	font-size: 14px;
	color: var(--t_white0105);
	line-height: 1.6;
}
.login__footerTextLink {
	color: var(--c_red01);
	text-decoration: none;
}


@media screen and (max-width: 767px) {
	.loginSection {
		padding: 80px 0 0;
	}
	.login__title {
		margin-bottom: 32px;
		font-size: 28px;
	}
	.form__input-login {
		height: 50px;
		padding: 0 16px 0 44px;
	}
	.form__input-login--username {
		background-position: 14px center;
		background-size: 20px;
	}
	.form__input-login--password {
		background-position: 14px center;
		background-size: 20px;
	}
	.form__input-login--captcha {
		padding: 0 16px;
	}
	.form__login__rememberWrap {
		margin-bottom: 20px;
	}
	.form__login__checkbox {
		width: 20px;
		margin: 0 8px 0 0;
	}
	.form__login__checkbox__label {
		font-size: 15px;
	}
	.form__login__links {
		padding-top: 20px;
		margin-top: 20px;
	}
	.form__login__linkText {
		margin-bottom: 10px;
		font-size: 14px;
	}
	.form__login__linkText:last-child {
		margin-bottom: 0;
	}
	.login__footerText {
		padding-top: 30px;
		font-size: 14px;
	}
}


/*-------------------------------
 Login
-------------------------------*/
.resetSection {
	padding: 100px 0 0;
	text-align: center;
}
.reset__title {
	margin-bottom: 32px;
	font-size: 28px;
	font-weight: 700;
	color: var(--c_white);
	letter-spacing: 0.05em;
}
.form__card-reset {
	max-width: 460px;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.resetSection {
		padding: 80px 0 0;
	}
	.reset__title {
		margin-bottom: 32px;
		font-size: 28px;
	}
}