@charset "UTF-8";

.bg {
	background: url(../images/bg_login.jpg) no-repeat center/cover;
}

/* ---------------------------------------
  ログイン
-----------------------------------------*/

#login {
	padding: 80px 0 35px;
	min-height: calc(100vh - 55px);
}

#login .login_txt {
	/*	width: 50%;*/
	padding-top: 150px;
	padding-left: 15px;
}

#login .login_txt .logo {
	width: 283px;
}

#login .login_txt .txt01 {
	font-size: 1.6rem;
	margin: 1.5em 0;
}

#login .login_txt dl {
	margin: 25px 0 5px;
}

#login .login_txt dt {
	font-size: 1.8rem;
	margin-bottom: .2em;
}

#login .login_txt dd {
	font-size: 1.6rem;
}


#login .login_box {
	width: 50%;
	min-width: 490px;
	/*	margin-right: 30px;*/
	border: 3px solid #0e57a2;
	border-radius: 10px;
	background: #fff;
	padding: 60px 60px 30px;
	min-height: 580px;
	position: relative;
}

#login .login_box .ttl {
	font-weight: bold;
	font-size: 3.0rem;
	margin-bottom: .3em;
}

#login .login_box .txt {
	font-size: 1.6rem;
	margin-bottom: 1em;
}
#login .login_box.complete .txt{
	color: #707070;
	font-size: 2.1rem;
	margin-bottom: 0;
	margin-top: 1.4em;
}

#login .login_box form dl{
	margin-bottom: 22px;
}
#login .login_box form dl dt {
	margin: 2.2em 0 .3em;
}



.login_box .check {
	margin: 22px 0;
}

.login_box .check label {
	position: relative;
	display: inline-block;
	word-break: break-all;
	cursor: pointer;
/*	line-height: 1.6;*/
}

.login_box .check label input[type="checkbox"] + span {
	position: relative;
	padding: 0 0 0 22px;
}

.ie .login_box .check label input[type="checkbox"] + span {
	padding-top: 2px;
}

.login_box .check label span {
	display: inline-block;
}

.login_box .check label input[type="checkbox"] {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.login_box .check label input[type="checkbox"] + span::before {
	position: absolute;
	display: inline-block;
	content: '';
	box-sizing: border-box;
	border-radius: 0;
}

.login_box .check label input[type="checkbox"] + span::before {
	z-index: 0;
	left: 0;
	top: 3px;
	background-color: #fff;
	width: 15px;
	height: 15px;
	border: 1px solid #666666;
}

.login_box .check label input[type="checkbox"]:checked + span::after {
	display: block;
	content: '';
	position: absolute;
	top: 2px;
	left: 4px;
	width: 16px;
	height: 8px;
	border-left: 3px solid #0e57a2;
	border-bottom: 3px solid #0e57a2;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


.login_box .reissue {
	position: absolute;
	left: 60px;
	bottom: 30px;
	font-size: 1.6rem;
}

@media screen and (max-width: 1024px) {
	#login .wrap {
		display: block;
	}
	#login .login_txt {
		padding: 0;
	}
	#login .login_box {
		width: 74%;
		margin: 50px auto 0;
	}
	.login_box .reissue{
		position: static;
		margin-top: 100px;
	}
}

@media screen and (max-width: 768px) {
	#login{
		padding: 40px 0 18px;
	}
	#login .login_box {
		min-width: inherit;
		width: 100%;
		margin: 25px auto 0;
		padding: 30px 30px 15px;
		min-height: 300px;;
	}
	.login_box .reissue{
		margin-top: 50px;
	}
}



