@charset "utf-8";
/*########################################################################################

ヘッダー（gnaviなし用アレンジ）

########################################################################################*/
#header {
	background: #fff;
	border-bottom: 16px solid #004098;
	box-shadow: 0 2px 6px -1px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 2px 6px -1px rgba(0,0,0,0.5);
	-moz-box-shadow: 0 2px 6px -1px rgba(0,0,0,0.5);
}
.header_nav {
	visibility: hidden;
}
/*########################################################################################

ログインページスタイル

########################################################################################*/
.eng_font {
	font-family: 'Open Sans', sans-serif !important;
}
#container {
	padding: 8px 0 40px;
}
#main_login {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: 16px auto 0;
	padding: 0 24px 0 48px;
	width: auto; /* 左右の余白を含んで横幅100% */
}
.error {
	width: 100%;
	margin-bottom: 1em;
}
.login_box h2, 
.login_notes h2, 
.privacy_mark h2, 
.help_menu h2 {
	display: none;
}
/*-----------------------------------------------------------------------------

■┓ログインボックス
┗┛
-----------------------------------------------------------------------------*/
.login_wrap {
	width: 45%;
}
.login_box {
	margin-bottom: 1em;
	padding: 20px;
	border-radius: 10px;
	background-color: #f6f6f6;
	border:1px solid #ccc;
}
.login_box table {
	margin: 1em auto 0;
}
.login_box table th , 
.login_box table td {
	padding-bottom: .5em;
}
.login_box table th {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	padding-right: .5em;
	text-align: right;
	vertical-align: middle;
}
.login_box table td input {
	font-size: 18px;
	font-size: 1.8rem;
	padding: 8px;
	width: 270px;
}
.login_button {
	margin-top: 1em;
}
.login_button a {
	display: block;
	width: 184px;
	height: 72px;
	margin: auto;
	overflow: hidden;
}
.login_button a img {
	width: 184px;
	height: 72px;
}
.login_button a:hover img {
	opacity: 1;
}
/* パスワード表示切替 */
.show_pass {
	font-size: 14px;
	font-size: 1.4rem;
	margin-top: -.5em;
}
.show_pass input[type="checkbox"] + label {
	display: inline-block;
	font-weight: normal;
	margin-right: 0.8em;
	padding: 6px 3px 3px 22px;
	position: relative;
	user-select: none;
}
.show_pass input[type="checkbox"] + label::before,
.show_pass input[type="checkbox"] + label::after {
	content: "";
	display: block;
	position: absolute;
	transition: all .2s;
}
.show_pass input[type="checkbox"] + label::before {
	background: #f4f4f4;
	border: 1px solid #ccc;
	border-radius: 3px;
	top: 0.5em;
	left: 0;
	width: 14px;
	height: 14px;
}
.show_pass input[type="checkbox"] + label::after {
	border-left: 2px solid #767676;
	border-bottom: 2px solid #767676;
	top: calc(0.5em + 4px);
	left: 3px;
	width: 8px;
	height: 4px;
	opacity: 0;
	transform: rotate(-45deg) scale(.5);
}
.show_pass input[type="checkbox"] + label:hover::before {
	background: #fff;
}
.show_pass input[type="checkbox"]:checked + label::before {
	background: #fff;
	border: 1px solid #767676;
}
.show_pass input[type="checkbox"]:checked + label::after {
	transform: rotate(-45deg) scale(1);
	opacity: 1;
}

/*-----------------------------------------------------------------------------

■┓ヘルプメニュー
┗┛
-----------------------------------------------------------------------------*/
.help_menu {
	width: 55%;
}
.help_menu ul {
	padding: 40px 0 40px 40px;
}
.help_menu ul li {
	display: block;
	/*
	font-size: 18px;
	font-size: 1.8rem;
	*/
	padding: 0 0 5px 18px;
	position: relative;
}
.help_menu ul li::before {
	position: absolute;
	display: block;
	content: "";
	/*top: calc(50% - 12px);*/
	top: 4px;
	left: -2px;
	width: 14px;
	height: 14px;
	background: #004098;
	border-radius: 50%;
}
.help_menu ul li::after {
	position: absolute;
	display: block;
	/*top: calc(50% - 8px);*/
	top: 8px;
	left: 3px;
	content: "";
	border: 3px solid transparent;
	border-left: 5px solid #fff;
}

/*-----------------------------------------------------------------------------

■┓ログイン注意書き
┗┛
-----------------------------------------------------------------------------*/
.login_notes {
	padding: 16px 0 0 16px;
}
.login_notes ul {

}
.login_notes ul li {
	display: block;
	padding: 0 0 .5em 20px;
	position: relative;
}
.login_notes ul li::before {
	position: absolute;
	display: block;
	content: "";
	top: 4px;
	left: 0;
	width: 14px;
	height: 14px;
	background: #369;
	border-radius: 50%;
}
.login_notes ul li::after {
	position: absolute;
	display: block;
	top: 8px;
	left: 5px;
	content: "";
	border: 3px solid transparent;
	border-left: 5px solid #fff;
}

/*-----------------------------------------------------------------------------

■┓プライバシーマークなど
┗┛
-----------------------------------------------------------------------------*/
.privacy_mark {
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin-top: 40px;
	padding: 28px;
	width: 100%;
}
.privacy_mark section {
	display: flex;
}
.privacy_mark section div {
	display: flex;
	align-items: center;
}
.privacy_mark section div:nth-of-type(1) {
	padding-right: 16px;
}
.privacy_mark section div:nth-of-type(2) {
	font-size: 14px;
	font-size: 1.4rem;
}
.privacy_mark section img {
	width: 75px;
}