@charset "UTF-8";
/* CSS Document */
.btn{
	width: 70%;
	display: inline-block;
	position: relative;
	font-size: 1em;
	line-height: 2.5rem;
	border-radius: 4px;
	text-align: center;
	cursor: pointer;
	background-color: #3566B1; color: #fff;
	border: none;
	margin-bottom: 1rem;
}

.login {
	width: 100vw;
	height: 100vh;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0% auto;
	position: relative;
	background-position-x:50%;
	z-index: 1;
	overflow:hidden;
	background-color: transparent;
}
.err_msg {
	margin-bottom: 1rem;
	font-size: .8rem;
    line-height: 1.6;
	color: #EE2222;
}
.msg {
	margin: 5px; line-height: 1.6;
	font-size: .8rem;
}

.no_disp {
	display: none;
}

@media screen and (min-width: 1024px) {
	.login {background-position-x:60%;}
}
.login-inner{
	width: 100vw;
	height: auto;
	min-height: 100vh;
	padding: 4% 5%;
	
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	/* 左右中央寄せ */
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;

	/* 上下中央寄せ */
	-webkit-box-align: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
	
	flex-direction: column;
}
.login-contents{
	width: 80%;
	background: rgba(255,255,255,0.8);
	border-radius: 10px;
	padding: 8%;
	text-align: center;
	box-shadow: 0 0 12px 0 rgba(0,0,0,0.1), 0 10px 30px 0 rgba(0,0,0,0.2);
}
.login-contents img{width: 60%; margin-bottom:1rem;}
.login-contents h1{font-size:1.5rem; margin-bottom:3rem;}
.login-contents h5{text-align: left; font-weight: normal; margin-bottom: 0;}
.login-contents a{color: #333; text-decoration: underline;}
.login-contents .btn-area p{font-size: .7rem;}
.login-contents input{
	padding:.5rem;
	border:none;
	border-bottom: 1px solid #ccc;
	margin:0 auto 1rem;
	background: rgba(255,255,255,0);
	width:95%;
	border-radius: 0;
	box-shadow: none;
}
.login-contents input.number{
    width:29%; margin-top: 1rem;
    border: 1px solid #ccc;
    display: inline-block;
}
.login-contents div[class*="-name"]{
    width:46%;
    display: inline-block;
}
.login-contents .family-name{margin-right: 4%;}
.login-contents input:focus{outline: none;}

/* Tablet */
@media screen and (min-width: 600px) {
.login-contents{ width: 40%; padding: 4%;}
.login-contents img{width: 80%; margin-bottom:1rem;}
.login-contents h1{
	font-weight: bold;
	line-height: 1.5;
	color: #323232;
	margin-bottom:2rem; text-align: center;
}

/* PC */
@media screen and (min-width: 1024px) {
.login-contents{
	width: 30%;
	padding: 30px 24px;
	max-width: 320px;
}
}