/** destyle.css v1.0.11 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/** copy from auth_login.css */
* {
	box-sizing: border-box
}

:after, :before {
	box-sizing: inherit
}

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent
}

body {
	margin: 0
}

main {
	display: block;
}

address, blockquote, dl, figure, form, iframe, p, pre, table {
	margin: 0
}

h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	margin: 0
}

ol, ul {
	margin: 0;
	padding: 0;
	list-style: none
}

dt {
	font-weight: 700
}

dd {
	margin-left: 0
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border: 0;
	border-top: 1px solid;
	margin: 0;
	clear: both;
	color: inherit
}

pre {
	font-family: monospace, monospace;
	font-size: inherit
}

address {
	font-style: inherit
}

a {
	background-color: transparent;
	text-decoration: none;
	color: inherit
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted
}

b, strong {
	font-weight: bolder
}

code, kbd, samp {
	font-family: monospace, monospace;
	font-size: inherit
}

small {
	font-size: 80%
}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}

sub {
	bottom: -.25em
}

sup {
	top: -.5em
}

img {
	border-style: none;
	vertical-align: bottom
}

embed, iframe, object {
	border: 0;
	vertical-align: bottom
}

button, input, optgroup, select, textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	outline: 0;
	border-radius: 0;
	text-align: inherit
}

[type=checkbox] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox
}

[type=radio] {
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio
}

button, input {
	overflow: visible
}

button, select {
	text-transform: none
}

[type=button], [type=reset], [type=submit], button {
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}

[type=button][disabled], [type=reset][disabled], [type=submit][disabled], button[disabled] {
	cursor: default
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
	border-style: none;
	padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
	outline: 1px dotted ButtonText
}

fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0
}

legend {
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal
}

progress {
	vertical-align: baseline
}

textarea {
	overflow: auto
}

[type=checkbox], [type=radio] {
	padding: 0
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

label[for] {
	cursor: pointer
}

details {
	display: block
}

summary {
	display: list-item
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

caption {
	text-align: left
}

td, th {
	vertical-align: top
}

th {
	text-align: left;
	font-weight: 700
}

[hidden], template {
	display: none
}

html {
	font-family: system-ui, "\30D2\30E9\30AE\30CE\89D2\30B4   ProN", Hiragino Kaku Gothic ProN, Hiragino Sans, YuGothic, Arial, sans-serif
}

.container {
	min-height: 100vh;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed
}

.main {
	height: calc(100vh - 112px);
	min-height: 720px;
	background: #e5e5e5;
	display: flex;
	flex-direction: column;
	width: 100%;
	padding-top: 58px;
	align-items: center;
	justify-content: center;
}

@media screen and (max-width: 420px) {
	.main {
		display: block;
		min-height: unset;
		height: auto;
		background: #fff;
	}
}

.header {
	background-color: #294c7b;
	padding: 17px;
	text-align: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
	border-bottom: 1px solid #162a44
}

.header-error {
	position: fixed;
	top: 58px;
	left: 0;
	width: 100%;
	z-index: 1;
}

@media screen and (max-width: 420px) {
	.header {
		position: static;
		padding: 15px
	}

	.header .header__logo-link .header__logo {
		width: 95px
	}

	.header-error {
		position: static;
		top: 48px;
	}
}

.footer {
	width: 100%;
	padding: 30px 0;
	background-color: #fafafa
}

.footer-list {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	padding-bottom: 16px
}

.footer-list .footer-list__item {
	padding: 0 12px
}

.footer-list .footer-list__item .footer-list__link {
	font-size: 12px;
	color: #797979;
	text-wrap: none
}

.footer-copyright {
	text-align: center
}

.footer-copyright .footer-copyright__text {
	font-size: 11px;
	color: #797979
}

@media screen and (min-width: 420px) and (max-width: 705px) {
	.footer-list {
		flex-wrap: wrap
	}

	.footer-list .footer-list__item {
		width: 33.3333%;
		padding: 5px 0;
		text-align: center
	}

	.footer-list .footer-one-column {
		width: 100%;
		display: block;
		padding: 5px 0;
		text-align: center
	}
}

@media screen and (max-width: 420px) {
	.footer {
		padding: 15px 0;
		position: static;
		background: #fff
	}

	.error-body .footer {
		position: absolute
	}

	.footer-list {
		flex-wrap: wrap;
		padding: 0 22px;
		-webkit-box-pack: justify;
		justify-content: space-between
	}

	.footer-list .footer-list__item {
		padding: 5px 0;
		text-align: center
	}

	.footer-list .footer-list__item:last-of-type {
		width: 100%
	}

	.footer-list .footer-one-column {
		width: 100%;
		display: block;
		padding: 5px 0;
		text-align: center
	}

	.footer-copyright {
		padding: 18px 0 36px
	}

	.footer-copyright .footer-copyright__text {
		font-size: 11px
	}
}

.login-wrap {
	width: 380px;
	margin: 24px auto;
	padding: 36px;
	border-radius: 10px;
	color: #3b3b3b;
	background: #fff;
	line-height: 1.6
}

.login-form__title {
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	color: inherit;
	line-height: 1.5
}

.login-form-error {
	text-align: center;
	background-color: #FEE2E2;
	border-bottom: 1px solid #E01616;
	padding: 10px 8px 8px;
	color: #E01616;
	font-size: 13px;
}

.login-form-error--sp {
	text-align: center;
	background-color: #FEE2E2;
	border-bottom: 1px solid #E01616;
	padding: 8px;
	color: #E01616;
	font-size: 13px;
}

.login-form-text {
	margin-top: 20px;
	position: relative
}

.login-form-text .login-form-text__input {
	height: 42px;
	width: 100%;
	font-size: 13px;
	padding: 10px 45px;
	border: 2px solid #d9d9d9;
	border-radius: 4px;
	line-height: 40px
}

.login-form-text .login-form-text__input.js-error {
	border: 2px solid #e01616
}

.login-form-text .login-form-text__input::-webkit-input-placeholder {
	color: #999
}

.login-form-text .login-form-text__input::-moz-placeholder {
	color: #999
}

.login-form-text .login-form-text__input:-ms-input-placeholder {
	color: #999
}

.login-form-text .login-form-text__input::-ms-input-placeholder {
	color: #999
}

.login-form-text .login-form-text__input::placeholder {
	color: #999
}

.login-form-text .login-form-text__input:focus {
	border-color: #1581a1
}

.login-form-text.login-form-text__email:before {
	position: absolute;
	content: url(/src/images/html/svg/input_mail_dark.svg);
	left: 15px;
	top: 9px
}

.login-form-text.login-form-text__password .js-toggle-password-show {
	padding-right: 54px
}

.login-form-text.login-form-text__password:before {
	position: absolute;
	content: url(/src/images/html/svg/input_pass_dark.svg);
	left: 17px;
	top: 10px
}

.login-form-text .login-form-text__toggle {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	position: absolute;
	right: 0;
	top: 0;
	line-height: 40px;
	font-size: 13px;
	padding: 0 8px;
	cursor: pointer;
	color: #868686
}

.login-form-text .login-form-text__error {
	margin: 8px 0 -4px;
	font-size: 11px;
	color: #b91c1c;
	font-weight: 700;
	display: none
}

.login-form-text .login-form-text__error.js-error {
	display: block
}

.login-form-forget {
	text-align: right;
	margin-top: 7px
}

.login-form-forget .login-form-forget__text {
	font-size: 14px;
	line-height: 1.5;
	color: #3d76b6
}

.login-form-forget .login-form-forget__text:hover {
	color: #5ea6db;
	text-decoration: underline
}

.login-form-submit {
	margin-top: 24px
}

.login-form-submit .login-form-submit__button {
	color: #fff;
	background-color: #f26600;
	font-size: 16px;
	font-weight: 700;
	line-height: 48px;
	border-radius: 6px;
	text-align: center;
	width: 100%;
	padding: 12px;
}

.login-form-submit .login-form-submit__button:hover {
	background-color: #ff8024
}

.login-form-submit .login-form-submit__button:disabled {
	opacity: .6
}

.login-register-divider {
	width: calc(100% + 80px);
	height: 1px;
	border: none;
	background-color: #d9d9d9;
	margin: 24px 0 24px -40px
}

.login-register-link {
	margin-top: 24px
}

.login-register-link .login-register-link__button {
	color: #f26600;
	text-align: center;
	line-height: 1.5;
	border-radius: 5px;
	border: 1px solid #f26600;
	display: block;
	font-weight: 700;
	font-size: 18px;
	height: 50px;
	padding-top: 12px
}

.login-register-link .login-register-link__button:hover {
	color: #ff8024;
	border-color: #ff8024
}

.login-register-link .login-register-link__description {
	margin-top: 11px;
	color: #868686;
	line-height: 1.5;
	font-size: 13px
}

@media screen and (max-width: 420px) {
	.login-wrap {
		border: none;
		border-radius: 0;
		width: 100%;
		max-width: 320px;
		position: static;
		-webkit-transform: translate(0);
		transform: translate(0);
		margin: 30px auto 0;
		padding: 0
	}

	.login-wrap .login-form-error {
		margin-top: 16px
	}

	.error .login-wrap {
		position: absolute
	}

	.login-wrap .login-form-text {
		margin-top: 16px;
		position: relative
	}

	.login-wrap .login-form-text.login-form-text__email:before {
		position: absolute;
		content: url(/src/images/html/svg/input_mail_dark.svg);
		left: 11px;
		top: 9px
	}

	.login-wrap .login-form-text.login-form-text__password:before {
		position: absolute;
		content: url(/src/images/html/svg/input_pass_dark.svg);
		left: 11px;
		top: 10px
	}

	.login-wrap .login-form-text .login-form-text__input {
		background: none;
		padding-left: 38px;
		padding-right: 13px;
		border: 2px solid #d9d9d9;
		box-shadow: none;
		border-radius: 4px
	}

	.login-wrap .login-form-text .login-form-text__input.js-error {
		border: 2px solid #e01616
	}

	.login-wrap .login-form-text .login-form-text__input:focus {
		border-color: #1581a1
	}

	.login-wrap .login-form-text.login-form-text__password .login-form-text__input {
		padding-right: 3em
	}

	.login-wrap .login-form-text.login-form-text__password .login-form-text__input.js-toggle-password-show {
		padding-right: 4em
	}

	.login-wrap .login-form-submit {
		margin-top: 16px
	}

	.login-wrap .login-form-submit .login-form-submit__button {
		line-height: 50px;
		font-size: 14px;
		font-weight: 700
	}
}

@media screen and (max-width: 420px) and (max-width: 321px) {
	.login-wrap {
		padding: 0 40px
	}

	.login-form-error__text {
		font-size: 12px
	}

	.login-form-submit {
		height: 55px
	}

	.login-form-submit .login-form-submit__button {
		line-height: 55px
	}
}

.error {
	position: absolute;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	left: 50%;
	padding-top: 300px
}

.error .error--text {
	color: #3b3b3b;
	text-align: center
}

@media screen and (max-width: 420px) {
	.error {
		width: 100%;
		height: 100%;
		position: static;
		-webkit-transform: translate(0);
		transform: translate(0);
		padding-top: 0
	}
}
