@charset "utf-8";

h1.loginform-title {
  font-size: 2.6rem;
}
@media screen and (max-width: 960px) {
  h1.loginform-title {
		font-size: calc(1.8rem + 8 * ((100vw - 520px) / 440));
	}
}
@media screen and (max-width: 520px) {
  h1.loginform-title {
    font-size: 1.8rem;
  }  
}

.loginform-box {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
	width: 920px;
  padding: 20px 15px 60px;
  background: #fff;
  box-shadow: 0px 0px 4px 0 rgba(0, 0, 0, 0.25);
  border-radius: 6px;
  overflow: hidden;
}
.storetour .loginform-box {
  margin-top: 0;
  margin-bottom: 0;
}
.loginform-wrap {
  width: 100%;
	max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.loginform-header {
  text-align: center;
}
.loginform-logomark {
	height: 100px;
}
.loginform-title {
	margin: 5px 0 0;
}
.storetour .loginform-title {
	margin: 0;
}
.loginform-item {
  position: relative;
  width: 100%;
  margin-top: 20px;
}
.loginform-header + .loginform-item {
  margin-top: 15px;
}
.loginform-item.loginform-item_entry {
  margin-top: 30px;
}
.loginform-item.text-center {
  text-align: center;
}
.loginform-item.text-right {
  text-align: right;
}
.loginform-item.remember {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
.loginform-item .icon-password {
	position: absolute;
	right: 10px;
	top: 8px;
	cursor: pointer;
}
.loginform-item.remember > .label {
	display: block;
	position: relative;
	padding-left: 35px;
	margin-bottom: 10px;
	cursor: pointer;
	font-size: 1.6rem;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.loginform-item.remember > .label input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}
.loginform-item.remember > .label .checkmark {
	position: absolute;
	top: 2px;
	left: 0;
	height: 22px;
	width: 22px;
	border: 1px solid var(--color-gray);
}
.loginform-item.remember > .label .checkmark:after {
	content: "";
	position: absolute;
	display: none;
}
.loginform-item.remember > .label input:checked ~ .checkmark:after {
	display: block;
}
.loginform-item.remember > .label .checkmark:after {
	left: 7px;
	top: 3px;
	width: 5px;
	height: 10px;
	border: solid #000;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.loginform-item_note {
  padding-bottom: 10px;
  font-size: 1.4rem;
  line-height: 1.25;
}
::-ms-reveal {
  display: none;
}
.loginform-notice {
  text-align: left;
  color: var(--color-gray);
  font-size: 1.3rem;
}
.form-pwforget-input .loginform-item {
  margin-top: 0;
}
@media screen and (max-width: 960px){
  .loginform-box {
    height: auto;
    margin: 0 auto;
  }
  .loginform-title {
    margin: 0;
  }
  .loginform-logomark {
    display: none;
  }
}
@media screen and (max-width: 520px){
  .loginform-box {
    /*padding: 20px 10px 40px;*/
    padding: 20px 15px 40px;
  }
}

.input-login {
	width: 100%;
  height: 46px;
  padding: 3px 7px;
	color: #000;
	font-size: 1.8rem;
	border: 1px solid var(--color-gray);
}
.input-login.input-password {
  padding: 3px 45px 3px 7px!important;
}
.loginform-btn_submit {
  display: inline-block;
	width: 240px;
  height: 40px;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	border-radius: 20px;
	background-color: var(--color-main);
	cursor: pointer;
}
.loginform-btn_basic {
  display: inline-block;
	width: 240px;
  height: 40px;
	color: var(--color-main);
  font-size: 1.6rem;
	font-weight: 600;
  line-height: 40px;
	border: 1px solid var(--color-main);
	border-radius: 30px;
  background: var(--color-main-light);
	cursor: pointer;
}
.form-btn_basic {
  display: inline-block;
	width: 200px;
  height: 40px;
	color: var(--color-main);
  font-size: 1.6rem;
  border: 1px solid var(--color-main);
	border-radius: 30px;
  background: var(--color-main-light);
	cursor: pointer;
}
.form-btn_basic.btn__red {
  color: #fff;
  border: none;
  background: var(--color-accent1);
}
.form-btn_basic.btn__gray {
  color: #fff;
  border: none;
  background: var(--color-gray);
}

@media screen and (max-width: 960px) {
  .loginform-btn_submit,
  .loginform-btn_basic {
    width: calc(210px + 30 * ((100vw - 520px) / 440));
    font-size: calc(1.4rem + 2 * ((100vw - 520px) / 440));
  }  
}

@media screen and (max-width: 520px) {
	.input-login {
		font-size: 1.6rem;
	}
  .loginform-btn_submit,
  .loginform-btn_basic {
    width: 210px;
    font-size: 1.4rem;
  }
}

.loginform-item.password {
  position: relative;
}
.loginform-item.password {
  position: relative;
  margin-top: 10px;
}
.icon-password {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  z-index: 5;
  caret-color: transparent; 
}
.icon-password::before {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  background: url("../images/icons/pass_btn1.svg") center center no-repeat;
  background-size: auto;
}
.icon-password.show::before {
  background: url("../images/icons/pass_btn2.svg") center center no-repeat;
}

.loginform-logout {
  width: 100%;
  margin-top: 20px;
  text-align: center;
}
.loginform-btn_logout {
  color: #172a88;
}

.form-pwforget {
  width: 100%;
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 100px;
  text-align: center;
  background: #fff;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
  border-radius: 6px;
}
.form-pwforget .loginform-wrap {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: inherit;
}
.form-pwforget-main-inner {
  max-width: 710px;
  width: calc( 100% - 15.5% );
  margin-left: auto;
  margin-right: auto;
}
.form-pwforget-main {
  padding-top: 20px;
  overflow: hidden;
}
.form-pwforget-sub {
  padding-top: 36px;
  padding-bottom: 36px;
  background: var(--form-bgcolor);
  border-radius: 0 0 8px 8px;
}
.form-pwforget-input {
  display: flex;
  padding-top: 40px;
  padding-bottom: 40px;
}
.form-pwforget-label {
  padding-top: 10px;
  width: 10em;
  text-align: left;
  color: #595757;
}
.form-pwforget-input .loginform-item {
  text-align: left;
}
.form-pwforget-input .input-login {
  max-width: 400px;
  width: 100%;
  padding-right: 7px;
}
.form-pwforget-input .loginform-notice {
  color: #898989;
}
.form-pwforget-notice {
  margin-top: 15px;
  text-align: left;
}
@media screen and (max-width: 960px) {
  .form-pwforget-input {
    display: block;
  }
  .form-pwforget-label,
  .form-pwforget-input .loginform-item{
    width: 100%;
  }
  .form-pwforget-label {
    display: block;
    padding-top: 0;
    padding-bottom: 5px;
    text-align: left;    
  }
}
@media screen and (max-width: 520px) {
  .form-pwforget-main-inner {
    width: 100%;
    padding-left: 8px;
    padding-right: 8px;
  }
  .form-pwforget-sub,
  .form-pwforget-input {
    padding-top: 25px;
    padding-bottom: 25px;
  }  
}

/* ログイン／新規登録用ダイアログ */
.dialog-login-wrap {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100dvw;
  height: 100vh;
  height: 100dvh;
  z-index: 900;
  overflow-x: hidden;
	overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-color) var(--color-gray-light);
  overscroll-behavior-y: contain;
}
.dialog-login-wrap::-webkit-scrollbar {
  background: var(--color-gray-light);
  width: 2px;
}
.dialog-login-wrap::-webkit-scrollbar-track {
  background-color: var(--color-gray-light);
  border-radius: 100px;
}
.dialog-login-wrap::-webkit-scrollbar-thumb {
  background-color: var(--scroll-color);
  border-radius: 10px;
}
.dialog-login-wrap.active {
  display: block
}
.dialog-login-wrap::after {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
  height: 100vh;
	background: rgba(0, 0, 0, 0.5);
}
.dialog-login-box {
	position: absolute;
	top: 95px;
	left: 50%;
	transform: translate(-50%, 0);
	width: calc(100% - 50px);
	max-width: 930px;
  /*padding-bottom: 95px;*/
  z-index: 901;
}
.dialog-login-inner {
	padding: 20px 15px 60px;
	background: #fff;
	border-radius: 6px;
}
.dialog-login-close {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 60px;
	height: 60px;
	z-index: 910;
  cursor: pointer;
}
.icon-login-close {
	position: relative;
	display: inline-block;
  width: 24px;
  height: 3px;
	vertical-align: middle;
	color: var(--color-gray);
	line-height: 1;
	background: currentColor;
	border-radius: 0.1em;
	transform: rotate(45deg);
}
.icon-login-close::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: inherit;
	border-radius: inherit;
	transform: rotate(90deg);
}
@media screen and (max-width: 960px) {
  .dialog-login-box {
    top: 70px;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media screen and (max-width: 520px) {
  .dialog-login-box {
    top: 50px;
    left: 50%;
    transform: translate(-50%, 0);
    width: calc(100% - 16px);
  } 
  .dialog-login-inner {
    padding: 20px 15px 40px;
  }  
  .dialog-login-close {
    width: 45px;
    height: 45px;
  }
  .icon-login-close {
    width: 25px;
    height: 3px;
  }
  .form-pwforget {
    margin-bottom: 50px;
  }  
}

.form-complete-main {
  padding-bottom: 30px;
}
.entry-comp {
  padding-bottom: 30px;
}