
html, body {
	min-height: 100%;
	background: linear-gradient(0deg, #464646, 66%, #1C1C1C);
	color: #fff;
}
body {
	background: transparent;
}

.logo {
	margin: 1rem 0;
	text-align: center;
}
.logo img {
	width: 265px;
	height: auto;
}

.content {
	display: flex;
	justify-content: center;
	padding: 8rem 0 0;
}
footer {
	padding: 3rem 0;
	background: transparent;
}
.content > div {
	width: 100%;
}


.login-table {
	width: 630px;
	margin: 0 auto;
	padding: 2rem 5rem;
	border: solid 1px #999;
	border-radius: 3px;
}
h1 {
	font-size: 3.4rem;
	font-weight: 600;
	text-align: center;
}

table {
	width: 100%;
	margin: 2rem 0 0;
}
th {
	padding: 1rem;
	font-size: 1.2rem;
	font-weight: 600;
	text-align: right;
}
td {
	padding: 1rem;
}
td input[type="text"], 
td input[type="password"] {
	width: 36rem;
	padding: 1rem;
	border: none;
	border-radius: 3px;
	background: #000;
	color: #fff;
	font-size: 1.2rem;
}
td.login-table-explain {
	text-align: left;
}
td.login-table-explain2 {
	padding-top: 0;
	font-size: 1.2rem;
	text-align: left;
}
td.login-table-return {
	font-size: 1.2rem;
	text-align: center;
}
td.login-table-return a {
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: underline;
}

.login-table-error {
}
.login-table-error p {
	padding: 0.5rem 1rem;
	border: solid 1px #C61517;
	font-size: 1.3rem;
	text-align: left;
}
.login-table-submit td {
	padding-top: 1.5rem;
	text-align: center;
}

.button-login {
	width: 20rem;
	padding: 0.5em 1em;
	border: none;
	border-radius: 5px;
	background: #C92127;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	cursor: pointer;
	transition: all .3s;
}

.button-login:hover {
	background: #D8393A;
	color: #fff;
	transition: all .3s;
}

@media (max-width: 736px) {
	body {
		min-width: auto;
	}
	.logo img {
		width: 40%;
	}
	h1 {
		font-size: 2rem;
	}
	.content {
		padding-top: 3rem;
	}
	.login-table {
		width: calc(100% - 2rem);
		margin-left: 1rem;
		margin-right: 1rem;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	th {
	}
	td {
	}
	td input[type="text"], 
	td input[type="password"] {
		width: 100%;
	}
	.button-login {
		padding: 0.8em 1em;
	}
	.login-table-error p {
		padding: 1em;
	}
}


.h1_explain {
	font-size: 1rem;
	font-weight: 600;
	text-align: center;
}

.login-w-table {
	display: flex;
	margin: 0 auto;
	max-width: 800px;
	position: relative;
}
.login-w-contents {
	width: 380px;
	height: 420px;
	margin: 0 1rem;
	padding: 2rem 5rem;
	border: solid 1px #999;
	border-left: none;
	border-radius: 3px;
	position: relative;
}
.error .login-w-contents {
	height: 460px;
}
.login-w-contents:first-child {
	border: solid 1px #999;
	border-right: none;
}
.login-w-contents::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	height: 30%;
	border-left: solid 1px #999;
	border-radius: 3px;
}
.login-w-contents::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	height: 10%;
	border-left: solid 1px #999;
	border-radius: 3px;
}
.login-w-contents:first-child::before {
	left: auto;
	right: 0;
}
.login-w-contents:first-child::after {
	left: auto;
	right: 0;
}
.login-w-form {
	position: absolute;
	padding-top: 12rem;
	margin: 0 0 0 17rem;
}



@media (max-width: 736px) {
	.login-w-contents {
		width: calc(50% - 2rem);
		height: 420px;
		padding: 2rem;
	}
	.login-w-contents::before {
		height: 22%;
	}
	.login-w-contents::after {
		height: 10%;
	}
	.h1_explain {
		display: none;
	}
	.login-w-form {
		width: calc(100% - 6rem);
		margin: 0 3rem;
		padding-top: 9rem;
	}
}



.login-table-th-reset {
	width: 20%;
}


