@charset "utf-8";
/* CSS Document */


@font-face {
  font-family: "hk";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/hk_w4.woff2") format("woff2"), url("../fonts/hk_w4.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "hk";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/hk_w5.woff2") format("woff2"), url("../fonts/hk_w5.woff") format("woff");
  font-display: swap;
}


/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/
* {
	box-sizing: border-box;
}
h1,h2,h3,h4,h5,h6,p,span,small,dl,dt,dd,ol,ul,li {
	margin: 0;
	font-size: 100%;
}
ul {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}
img {
  vertical-align: top;
}
li {
  list-style-type: none;
  vertical-align: baseline;
}


/*--------------------------------------
　Base
---------------------------------------*/
html {
    font-size: 62.5%;
}
body {
	font-family: "hk","ヒラギノ角ゴ ProN W3","HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","HiraKakuPro-W3",sans-serif;
	color: #333;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.8;
	position: relative;
	-webkit-text-size-adjust: none;
	margin: 0;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}
img { 
  max-width: 100%; 
  height: auto;
}
a {
	color: #534741;
	text-decoration: none;
	transition: all .3s;
}
a:hover {
	text-decoration: none;
	filter:alpha(opacity=70);
	-moz-opacity:0.7;
	opacity: 0.7;
}
a:focus, a:hover {
    color: inherit;
}
.cf:after {
	content: "";
	display: block;
	clear: both;
}
.sp {
	display: none;
}

#wrap {
	/*padding: 8% 0;*/
	height: 100vh;
}
.blue {
	background: #0099ff;
	color: #003388;
}
.blue a {
	color: #003388;
}
.green {
	background: #00cc99;
	color: #006655;
}
.green a {
	color: #006655;
}
.content {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.loginBox {
	width: 45%;
	/*max-height: 80vh;*/
	/*border-radius: 2vw;*/
	border-radius: 26px;
    padding: 3vw 0 3vw;
    max-width: 1024px;
	box-shadow: 0 0 50px rgba(44,105,176,0.1) inset;
}
.blue .loginBox {
	background: #e4eef4;
}
.green .loginBox {
	background: #f4f8fb;
}
.loginBox .logoBox {
	margin: 0 0 max(2.5vw, 30px);
	text-align: center;
}
.loginBox .logoBox p {
	font-size: min(1.1vw,20px);
	letter-spacing: 0.12em;
	margin: 0 0 0.8vw;
	line-height: 1.6;
}
.loginBox .logoBox .logo {
	max-width: 450px;
	width: 43.5%;
	margin: 0 auto 1vw;
}
.green .loginBox .logoBox .logo {
	max-width: 355px;
   /* width: 51%;*/
	width: 29%;
}
.loginBox .logoBox .catch {
	/*font-size: 22px;*/
	font-size: min(1.2vw,22px);
	letter-spacing: 0.12em;
	margin: 0;
}
.loginBox .custom-inputBox {
	margin: 0 auto 1vw !important;
}

.loginBox .inputBox {
	max-width: 500px;
	width: 48%;
	margin: 0 auto 3vw;
}
.loginBox .inputBox > div {
	margin: 0 0 1.55vw;
	position: relative;
}
.loginBox .inputBox > div:last-child {
	margin: 0;
}
.loginBox .inputBox > div:before {
	content: "";
	position: absolute;
	top: calc(50% - 0.85vw);
	left: 7%;
}
.loginBox .inputBox input {
	width: 100%;
	display: block;
	height: 2.5vw;
	min-height: 40px;
	max-height: 50px;
	border-radius: 25px;
	border: none;
	-webkit-appearance: none;
	padding: 0 0 0 17%;
	font-size:min(1vw,18px);
	letter-spacing: 0.12em;
	box-shadow: 0 3px 7px rgba(51,51,51,0.1);
}
.forgot-password {
	width: auto;
	max-width: 400px;
	margin: 0 auto;
}
.forgot-password input {
	width: 100%;
	display: block;
	height: 2.5vw;
	min-height: 40px;
	max-height: 50px;
	border-radius: 25px;
	border: none;
	-webkit-appearance: none;
	padding: 0 0 0 17%;
	font-size:min(1vw,18px);
	letter-spacing: 0.12em;
	box-shadow: 0 3px 7px rgba(51,51,51,0.1);
	margin: 0 auto;
	text-align: left;
}
.blue .loginBox .inputBox .userName:before {
	background: url("../images/icon_user_blue.png") no-repeat;
	background-size: 100%;
	width: 1.3vw;
	height: 1.7vw;
}
.blue .loginBox .inputBox .password:before {
	background: url("../images/icon_pw_blue.png") no-repeat;
	background-size: 100%;
	width: 1.2vw;
	height: 1.6vw;
}
.green .loginBox .inputBox .userName:before {
	background: url("../images/icon_user_green.png") no-repeat;
	background-size: 100%;
	width: 1.3vw;
	height: 1.7vw;
}
.green .loginBox .inputBox .password:before {
	background: url("../images/icon_pw_green.png") no-repeat;
	background-size: 100%;
	width: 1.2vw;
	height: 1.6vw;
}
.blue ::placeholder {
	color: #003388;
}
.green ::placeholder {
	color: #006655;
}
.yelBtn {
	max-width: 440px;
	width: 42%;
	height: 2.5vw;
	min-height: 40px;
	max-height: 50px;
	margin: 0 auto 1.5vw;
}
.yelBtn input {
	background: #ffdf66;
	border: none;
	-webkit-appearance: none;
	text-align: center;
	font-size:min(1.15vw,22px);
	border-radius: 25px;
	display: block;
	width: 100%;
	height: 100%;
	letter-spacing: 0.12em;
	box-shadow: 0 3px 7px rgba(51,51,51,0.1);
	font-weight: 500;
}
.yelBtn input:hover {
	opacity: 0.8;
}
.yelBtn button {
	background: #ffdf66;
	border: none;
	-webkit-appearance: none;
	text-align: center;
	font-size:min(1.15vw,22px);
	border-radius: 25px;
	display: block;
	width: 100%;
	height: 100%;
	letter-spacing: 0.12em;
	box-shadow: 0 3px 7px rgba(51,51,51,0.1);
	font-weight: 500;
}
.yelBtn button:hover {
	opacity: 0.8;
}
.custom-yelBtn {
	width: 47%;
}
.custom-yelBtn button {
	font-size: 100%;
}
.keep {
	font-size:min(1vw,18px);
	text-align: center;
	display: table;
	margin: 0 auto 3.6%;
	letter-spacing: 0.08em;
}
.ECM_CheckboxInput {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.ECM_CheckboxInput-Input {
  margin: 0;
  width: 0;
  opacity: 0;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput {
	background: #003388;
}
.green .ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput {
	background: #006655;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::before {
	content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 35%;
    height: 2px;
    border-radius: 2px;
    transform: translate(-4px, 1px) rotateZ(-135deg);
    transform-origin: 2px 2px;
    background: #FFFFFF;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::after {
	content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 65%;
    height: 2px;
    border-radius: 2px;
	transform: translate(-2px, 2px) rotateZ(-45deg);
    transform-origin: 2px 2px;
    background: #FFFFFF;
}
.ECM_CheckboxInput-DummyInput {
  position: relative;
  top: 0;
  left: 0;
  display: block;
	width: 1.6vw;
	height: 1.6vw;
	max-width: 28px;
	max-height: 28px;
  background: #003388;
  border-radius: 50%;
}
.green .ECM_CheckboxInput-DummyInput  {
	background: #006655;
}
.ECM_CheckboxInput-LabelText {
  margin: 0 0 0 0.8vw;
  display: block;
}
.helpBox {
	max-width: 440px;
	width: 50%;
	margin: 0 auto;
}
.helpBox .helpInr {
	float: right;
}
.helpBox .ques {
	font-size:min(0.9vw,16px);
	letter-spacing: 0.08em;
	position: relative;
	margin: 0 0 10%;
	line-height: 1;
}
.helpBox .ques:last-child {
	margin: 0;
}
.helpBox .ques a {
	position: relative;
	padding: 0 0 0 2.1vw;
}
.helpBox .ques a:before {
	content: "";
	background: url("../images/icon_ques_blue.png") no-repeat;
	background-size: 100%;
	width: 1.6vw;
	height: 1.6vw;
	max-width: 28px;
	max-height: 28px;
	position: absolute;
	top: calc(50% - 0.8vw);
	left: 0;
}
.green .helpBox .ques a:before {
	background: url("../images/icon_ques_green.png") no-repeat;
	background-size: 100%;
}


@media screen and (max-width: 834px) {
.pc {
    display: none;
}	
.sp {
	display: block;
}
body {
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
}
#wrap {
	padding: 0;
    display: block;
    height: 100%;
}
.content {
	height: 100%;
}
.loginBox {
	width: 89%;
	margin: 0 auto;
	border-radius: 18px;
	padding: 40px 20px 30px;
}	
.loginBox .logoBox {
	margin: 0 0 35px;
}	
.loginBox .logoBox p {
	font-size: 12px;
	margin: 0 0 10px;
}
.loginBox .logoBox .logo {
	width: 250px;
	margin: 0 auto 15px;
}
.green .loginBox .logoBox .logo {
	width: 178px;
}
.loginBox .logoBox .catch {
	font-size: 12px;
}
.loginBox .inputBox {
	width: 100%;
	margin: 0 auto 30px;
}	
.loginBox .inputBox > div {
	margin: 0 0 20px;
}
.loginBox .inputBox > div:before {
	content: "";
	position: absolute;
	top: calc(50% - 10px);
	left: 20px;
}
.loginBox .inputBox input {
	height: 40px;
	padding: 0 0 0 50px;
	font-size: 16px;
}
.blue .loginBox .inputBox .userName:before {
	background: url("../images/icon_user_blue.png") no-repeat;
	background-size: 100%;
	width: 16px;
	height: 20px;
}
.blue .loginBox .inputBox .password:before {
	background: url("../images/icon_pw_blue.png") no-repeat;
	background-size: 100%;
	width: 16px;
	height: 20px;
}
.green .loginBox .inputBox .userName:before {
	background: url("../images/icon_user_green.png") no-repeat;
	background-size: 100%;
	width: 16px;
	height: 20px;
}
.green .loginBox .inputBox .password:before {
	background: url("../images/icon_pw_green.png") no-repeat;
	background-size: 100%;
	width: 16px;
	height: 20px;
}
.blue ::placeholder {
	font-size: 12px;
}
.green ::placeholder {
	font-size: 12px;
}
.yelBtn {
	width: 220px;
	height: 40px;
	margin: 0 auto 10px;
}
.yelBtn input {
	font-size: 16px;
}
.yelBtn input:hover {
	opacity: 1;
}
.keep {
	font-size: 15px;
	margin: 0 auto 20px;
}
.ECM_CheckboxInput {
  padding: 12px 8px;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::before {
	top: 50%;
    left: 50%;
    width: 35%;
    height: 2px;
    transform: translate(-4px, 1px) rotateZ(-135deg);
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::after {
	top: 50%;
    left: 50%;
    width: 61%;
    height: 2px;
    border-radius: 2px;
    transform: translate(-2px, 2px) rotateZ(-45deg);
}
.ECM_CheckboxInput-DummyInput {
	width: 20px;
	height: 20px;
}
.ECM_CheckboxInput-LabelText {
	margin: 0 0 0 8px;
}
.helpBox {
	width: 100%;
	margin: 0 auto;
}
.helpBox .ques {
	font-size: 13px;
	margin: 0 0 20px;
}
.helpBox .ques a {
	padding: 0 0 0 24px;
}
.helpBox .ques a:before {
	width: 16px;
	height: 16px;
	top: calc(50% - 8px);
	left: 0;
}
.custom-yelBtn {
	width: 100% !important;
	height: auto;
}
.yelBtn button {
	font-size: 90%;
}
.forgot-password input {
	padding: 0 0 0 25px;
	font-size: 100%;
}

}

.invalid-feedback {
color: red;
text-align: center;
padding: 0 0 20px;
}

/* slider captcha */

.slidercaptcha {
	width: 300px;
	height: 74px;
	border-radius: 4px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.125);
	margin: 40px auto 40px;
}

.slidercaptcha .card-body {
	padding: 1rem;
}

.slidercaptcha canvas:first-child {
	border-radius: 4px;
	border: 1px solid #e6e8eb;
}

.slidercaptcha.card .card-header {
	background-image: none;
	background-color: rgba(0, 0, 0, 0.03);
}

.slidercaptcha .sliderText {
	font-size: 0.7em;
}




.container {
	text-align: center;
}
.container .form-group {
	margin: 20px;
}
.container .message {
	margin-bottom: 20px;
}

.alert-success {
	font-size: 120%;
	color: #1e50e6;
	padding: 20px 0 0;
}

.otp-numbers {
	padding: 0 0 100px 0;
}

.otp-numbers .otp-num {
	text-align: center;
	padding: 5px 0;
	border: 2px solid #aaa;
}

.otp-numbers .yelBtn {
	margin-top: 100px;
}

.password-centered {
	display: flex;
	justify-content: center;
}

.password-left-aligned {
	text-align: left;
}

.form-select {
	display: inline-block;
	padding: 10px 18px;
	border: none;
	border-radius: 25px;
	width: 300px;
	box-shadow: 0 3px 7px rgba(51,51,51,0.1);
	min-height: 40px;
	max-height: 50px;
}

.red-bold {
	color: red;
	font-weight: bold;
}

.pr-label1 {
	padding-right: 40px;
}

.pr-label2 {
	padding-right: 102px
}

.pr-label3 {
	padding-right: 133px
}

@media screen and (max-width: 834px) {
	.pr-label1 {
		padding-right: 0;
		margin-right: 90px;
		font-size: 1.4rem !important;
	}
	.pr-label2 {
		padding-right: 0;
		margin-right: 145px;
		font-size: 1.4rem !important;
	}
	.pr-label3 {
		padding-right: 0;
		margin-right: 176px;
		font-size: 1.4rem !important;
	}

	.form-select {
		width: 230px;
		font-size: 1.4rem !important;
	}
}

@media screen and (max-width: 330px) {
	.pr-label1 {
		padding-right: 0;
		margin-right: 40px;
		font-size: 1.4rem !important;
	}
	.pr-label2 {
		padding-right: 0;
		margin-right: 100px;
		font-size: 1.4rem !important;
	}
	.pr-label3 {
		padding-right: 0;
		margin-right: 130px;
		font-size: 1.4rem !important;
	}

	.form-select {
		width: 170px;
		font-size: 1.4rem !important;
	}
}