@charset "Shift_JIS";

.login{
	position:relative;
	min-width:240px;
	background:#fff;

}

/* -----------------------------------------------------------------------login form */
form{
	height:100%;
}
#login_form{
	display: grid;
	place-content: center;
	height: 100%;
}

#logoarea{
	width:200px;
	margin:auto;
	text-align:center;
}
#logoarea img{
	margin-bottom:0px;
}

.login_address{
	width:196px;
	margin:20px auto 0;
}
.login_pass{
	position:relative;
	width:196px;
	margin:10px auto 18px;
}
.login_address input,
.login_pass input{
	width:100%;
	padding:12px 8px 8px 8px !important;
	background:#fff;
	border:none;
	border-bottom:1px dotted #ccc;
	box-sizing:border-box;
	text-align:center;
	outline:none;
}
.login_address input::-webkit-input-placeholder {
	font-size:14px;
}
.login_address input:-moz-placeholder {
	font-size:14px;
}
.login_pass input::-moz-placeholder {
	font-size:16px;
}
.login_pass input:-ms-input-placeholder {
	font-size:16px;
}
.login_address input{
	font-size:16px;
}
	@media all and (-ms-high-contrast: none){
		.login_address input{
			padding-bottom:2px;
		}
	}
.login_address input:hover,
.login_pass input:hover{
	border-bottom:1px dotted #ccc;
}
.login_address input[type="text"]:focus,
.login_pass input[type="password"]:focus{
	border-bottom:1px dotted #ccc !important;
	background:none !important;
}

	@media all and (-ms-high-contrast: none){
		.login_address input[type="text"]:focus{
			padding:10px 8px 3px 8px;
		}
		.login_pass input[type="password"]:focus{
			padding:10px 8px 7px 8px;
		}
	}
.error_box .login_address.error input,
.error_box .login_pass.error input{
	border-bottom:2px solid #f11 !important;
}

.error_box span{
	color:#f11;
	font-size:12px;
}
.error_box .login_address span,
.error_box .login_pass span{
	color:#f11;
}
.error_box{
	width:500px;
	height:20px;
	padding:12px 0;
	margin:auto;
	text-align:center;
	position:absolute;
	top:-420px;
	bottom:0;
	left:0;
	right:0;
	background:#ffe5e5;
	border-radius:5px;
	color:#f11;
}




.login_check{
	width:196px;
	margin:auto;
	font-size:12px;
	text-align:center;
}
.login_check .checkbox{
	margin:0;
}
	.login_check input[type=checkbox]{
		display:none;
	}

.login_check label{
	color:#666;
	box-sizing:border-box;
	-webkit-transition:background-color 0.2s linear;
	transition:background-color 0.2s linear;
	position:relative;
	display:inline-block;
	margin:12px 0 0 0;
	padding:0 0 0 25px;
	border-radius:8px;
	vertical-align:middle;
	cursor:pointer;
}

.login_check label:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 1px solid #999;
  border-radius: 3px;
  content: '';
}
.login_check label:before{
	-webkit-transition:opacity 0.2s linear;
	transition:opacity 0.2s linear;
	position:absolute;
	top:50%;
	left:6px;
	display:block;
	margin-top:-8px;
	width:3px;
	height:9px;
	border-right:3px solid #999;
	border-bottom:3px solid #999;
	content:'';
	opacity:0;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
}
		.login_check input[type=checkbox]:checked + label:before{
			opacity: 1;
		}

.login_button{
	text-align:center;
}
.loginbtn{
	width:100%;
	height:50px;
	padding:8px;
	background:url(../images/icon_login_join.png) 50% 45% / 50px 50px no-repeat;
	border:none;
	color:#666;
	font-size:24px;
	cursor:pointer;
}
.loginbtn:hover{
	background:url(../images/icon_login_join_hover.png) 50% 45% / 50px 50px  no-repeat;
	font-weight:bold;
}
.loginbtn:focus{
	outline:none;
	text-decoration:underline;
	background:url(../images/icon_login_join_hover.png) 50% 45% / 50px 50px  no-repeat;
}

.login_button.save{
	margin-top:18px;
	opacity: 1;
	display:block;
}
.loginid_save{
	width:100%;
	font-size:30px;
	text-align:center;
	margin-top:30px;
	margin-bottom:20px;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.another_account{
	margin-top:25px;
	padding-left:20px;
	text-align:center;
	font-size:16px;
	background:url(../images/icon_another_account.png) 25px 45% / 20px 20px no-repeat;
	cursor:pointer;
	color:#9d9d9d;
}
.another_account:hover{
	text-decoration:underline;
	background:url(../images/icon_another_account_hover.png) 25px 45% / 20px 20px no-repeat;
	color:#666;
}

.head-border {
  display: flex;
  align-items: center;
  margin: 40px 0 10px;
	color: #666;
}

.head-border:before,
.head-border:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #999;
}

.head-border:before {
  margin-right: 1rem;
}

.head-border:after {
  margin-left: 1rem;
}
.sso_wrap{
	display: grid;
  gap: 10px;
}
.btn-sso{
  padding: 4px 8px;
  background: #3c8dbc;
	border: 0;
  border-radius: 5px;
  color: #fff;
  text-align: center;
	min-height: 44px;
}
.btn-img:hover{
	opacity: .7;
}

#information{
	position: relative;
	word-break:break-all;
	width:calc(100% + 140px);
	margin:0-60px;
}
#information em {
	display:inline-block;
	-webkit-transform:skewX(-15deg);
	-ms-transform:skewX(-15deg);
	transform:skewX(-15deg);
}

.showpw_wrap{
	display:flex;
	justify-content:center;
	position:absolute;
	top:0;
	right:-38px;
	bottom:0;
	width:30px;
	height:15px;
	margin:auto;
}
.showpw{
	opacity:0;
	-webkit-appearance:none;
	appearance:none;
	position:absolute;
}
.showpw_icon{
	display:block;
	width:30px;
	height:15px;
	background:url("../images/secret_eye1.png") no-repeat;
	background-size:contain;
}
.showpw:checked + .showpw_icon{
	background:url("../images/secret_eye2.png") no-repeat;
	background-size:contain;
}
