@charset "UTF-8";

:root {
	--login-form-width: 300px;
	--login-form-padding: 3em;
}

@media screen and (max-width: 959px) {
	:root {
		--login-form-padding: 2em;
	}
}

@media screen and (max-width: 474px) {
	:root {
		--login-form-padding: 1em;
	}
}

body {
	background-color: silver;
}

.login_form {
	/*基本幅+左右パティング分*/
	width: calc(var(--login-form-width) + var(--login-form-padding) * 2);
	border-radius: 10px;
	background-color: var(--theme-form-background);
	padding: var(--login-form-padding) var(--login-form-padding);
}

.login_form .logo_img {
	flex-grow: 1;
	text-align: center;
}

.login_form .logo_img img {
	width: 80%;
	object-fit: cover;
	height: auto;
}

.login_form .form_inpt {
	margin: 1em 0;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.login_form .form_inpt input,.login_form .form_inpt select {
	padding: 0.4em;
	margin-top: 0.4em;
}

.login_form .form_btn {
	margin: 1em 0;
	padding-top: 1em;
}

.login_form .form_btn button, .login_form .form_btn input[type=submit] {
	width: 100%;
	padding: 0.8em;
	border: solid 1px var(--theme-form-bordercolor);
	border-radius: 8px;
	color: var(--theme-accent-textcolor);
	background-color: var(--theme-accent-background);
	transition: 0.25s;
}

.login_form .form_btn button:hover, .login_form .form_btn input[type=submit]:hover {
	opacity: initial;
	background-color: transparent;
	color: var(--theme-accent-background);
}


.login_mess {
	width: 100%;
	height: 16px;
	color: #ff0000;
	font-size: 12px;
	line-height: 16px;
	text-align: left;
	margin: 15px auto 0px auto;
}

.login_servicename {
	white-space: nowrap;
	text-align: center;
	font-size: 1.125rem;
}




.contents {
	/* layout.cssの固有項目を無効化 */
	margin-top: var(--cdc-header-height);
	margin-left: inherit;
	margin-right: inherit;
	background-color: inherit;
	/* 配置をセンターに*/
	align-content: space-around;
	flex-wrap: wrap;
}

.footer {
	padding-left: inherit;
}