/* ログイン共通 */

div, p, input, section, main, input, button { box-sizing: border-box; }

.login-section {
	width: 100%;
	max-width: 960px;
	margin: 32px auto;
	padding: 24px 0;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.03);
}

.login-section h1 {
	margin-top: 0;
	margin-bottom: 16px;
	font-size: 2.0rem;
}

.form-row {
	margin-bottom: 16px;
	display: flex;
	flex-direction: column;
}

label {
	margin-bottom: 6px;
	font-size: 14px;
	color: #444;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"] {
	border: 1px solid #cfd4d9;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 100%;
}

button[type="submit"],
button[type="button"] {
	border: 1px solid #cfd4d9;
	background: #0b79d0;
	color: #fff;
	padding: 10px 14px;
	border-radius: 6px;
	cursor: pointer;
}
button[type="submit"]:hover,
button[type="button"]:hover {
	opacity: 0.9;
}

.alert {
	padding: 10px 12px;
	border-radius: 6px;
	margin-bottom: 16px;
	font-size: 14px;
}
.alert.error {
	background: #ffe8e8;
	border: 1px solid #ffb4b4;
	color: #7a0000;
}
.alert.success {
	background: #e7f7ff;
	border: 1px solid #a8d8ff;
	color: #004a7a;
}

.help, .note, .to-verify {
	font-size: 13px;
	color: #666;
}
.to-verify {
	margin-top: 12px;
}