@charset "utf-8";

/* ===========================================================

	Title: login.css
	Created: 2021-12-10

=========================================================== */
/*

	main
	main-visual

	
=========================================================== */
/* ===========================================================

	.global-navigation-container

=========================================================== */
.global-navigation-container {
	padding: 0;
}

/* ===========================================================

	main

=========================================================== */
main {
	width: 100%;
}

/* ===========================================================

	main-visual

=========================================================== */
.is-login .contents-style .main-visual {
	margin: 0 !important;
	background: url("../img/public/main_visual.jpg") 50% 65% no-repeat;
	background-size: cover;
	height: calc(100vh - 227px) !important;
}

/* ===========================================================

	main-visual_contents

=========================================================== */
.main-visual_contents {
	position: absolute;
	top: 25%;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	min-width: 1200px;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* ===========================================================

	corporate-slogan

=========================================================== */
.is-login .contents-style .corporate-slogan {
	padding: 24px 64px 40px 64px;
	margin: 0 !important;
	max-width: 980px;
}

.corporate-slogan p {
	letter-spacing: 0.1em;
	line-height: 2.0;
	font-size: 2.2rem;
	font-weight: 600;
}


/* ===========================================================

	login

=========================================================== */
.is-login .contents-style .article {
	position: relative;
}
.is-login .contents-style .login-box {
	width: 30%;
	min-width: 450px;
	padding: 32px;
	margin: 0 40px 0 0 !important;
	text-align: center;
	background-color: rgba(242,242,228,0.75);
	border-radius: 15px;
}

.login-box h2 {
	font-weight: 500;
	font-size: 2.4rem;
	border: none;
	padding: 10px 32px;
	margin: 0 0 32px;
	position: relative;
	flex-shrink: 0;
	line-height: 1.2;
}

.login-form form {
	text-align: center;
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
}

.login-form__input {
	position: relative;
	margin-bottom: 8px;
}

.login-form__input::before {
	content: "";
	width: 18px;
	height: 18px;
	position: absolute;
	left: 1em;
	top: 50%;
	transform: translate(0, -60%);
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

.login-form__input.login-form__input--user::before {
	background-image: url(../img/public/icon__user.svg);
}

.login-form__input.login-form__input--password::before {
	background-image: url(../img/public/icon__password.svg);
}

.login-form input {
	border: none;
	width: 100%;
	height: 52px;
	line-height: 52px;
	padding: 0 8px 0 3em;
	color: #111;
	background-color: #fff;
	border-radius: 5px;
}

.login-box .login-form {
	position: relative;
}
.login-box .login-form .error {
	position: absolute;
	top: -32px;
	left: 50%;
	transform: translateX(-50%);
	margin: 0 !important;
	color: #f00;
	font-weight: bold;
	font-size: 13px;
}

.login-box input value, .login-form--user::-webkit-input-placeholder, .login-box input.ph:-ms-input-placeholder, .login-box input.ph::-moz-placeholder {
	color: #f00;
	font-size: 14px;
	font-weight: normal;
	margin-left: 2em;
}

.login-form--user::-webkit-input-placeholder, .login-form--password::-webkit-input-placeholder {
	color: #7E7E7E;
	font-size: 14px;
	font-weight: normal;
}

.login-box input[type="button"],
.login-box input[type="submit"] {
	width: 65%;
	line-height: 45px;
	height: 45px;
	margin: 10px 0 5px;
	padding: 0;
	color: #fff;
	background-color: #cc0000;
	text-align: center;
	font-size: 1.6rem;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: .3s ease-in-out;
}

.login-button a {
	text-decoration: none;
	display: block;
}

.login-box input[type="button"]:hover, .login-box input[type="submit"]:hover {
	opacity: 0.6;
}


.login-box .forget a {
	position: relative;
	font-size: 1.4rem;
	text-decoration: none;
	padding-left: 24px;
}

.login-box .forget a::before {
	content: "";
	width: 16px;
	height: 10px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -60%);
	background-image: url(../img/global/icon__arrow.svg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

.login-box #subcontent {
	display: none;
	padding: 5px;
	background-color: #fff;
	border: 2px solid #004831;
	text-align: center;
	font-size: 13px;
	font-size: 1.3rem;
}

/* login-contents__error
----------------------------------------------------------- */
.login-box p.login-contents__error {
	position: absolute;
	top: -55px;
	left: 50%;
	transform: translateX(-50%);
	height: 40px;
	line-height: 40px;
	padding: 0 15px;
	background-color: #cc0000;
	color: #fff;
	text-align: center;
	font-size: 13px;
	font-size: 1.3rem;
	white-space: nowrap;
}

.login-box p.login-contents__error:before {
	position: absolute;
	bottom: -30px;
	left: 50%;
	margin: 0 0 0 -8px;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 8px 0 8px;
	border-color: #004831 transparent transparent transparent
}

/* ===========================================================

	footer

=========================================================== */
footer {
	border: none;
	padding: 0;
}
@media screen and (min-width: 1328px) {
	.global-footer__sub {
		padding: 10px 64px;
	}
 
}