.utility-page-wrap{
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}
.utility-page-content{
  border: 1px solid var(--color--gray-2);
  border-radius: var(--border-radius--lg);
  text-align: center;
  flex-direction: column;
  align-items: center;
  width: 600px;
  padding: 60px;
  display: flex;
  position: relative;
  overflow: hidden;
}
.utility-page-form{
  z-index: 1;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  display: flex;
  position: relative;
}
.utility-decoration{
  opacity: .7;
  height: 370px;
  position: absolute;
  inset: -50px -50px auto auto;
}
.bg-linear-3{
  background-image: linear-gradient(40deg, var(--color--secondary-3), #e5ecf91a 50%, var(--color--secondary-3));
}
.w-form{
  margin: 0 0 15px;
}
.w-form-fail{
  background-color: #ffdede;
  margin-top: 10px;
  padding: 10px;
  display: none;
}
.w-input{
  color: #333;
  vertical-align: middle;
  background-color: #fff;
  border: 1px solid #ccc;
  width: 100%;
  height: 38px;
  margin-bottom: 10px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.42857;
  display: block;
}
.w-input::placeholder{
  color: #999;
}
.w-input:focus{
  border-color: #3898ec;
  outline: 0;
}
.form-input{
  border: 1px solid var(--color--gray-2);
  border-radius: var(--border-radius--form-input);
  background-color: var(--color--white);
  color: var(--color--primary-1);
  font-size: var(--_typography---h6--body--body-xs);
  line-height: var(--_typography---h6--body--line-height-1);
  height: 50px;
  margin-bottom: 10px;
  padding: 10px 20px;
  transition: border-color .3s ease-in-out;
}
.form-input:focus{
  border: 1px solid var(--color--primary-2);
  color: var(--color--primary-1);
}
.form-input::placeholder{
  color: var(--color--gray-1);
}
.error-message{
  border-radius: var(--border-radius--lg);
  color: #f5f5f5;
  text-align: center;
  background-color: #e92222;
  padding: 15px;
}
.button-primary-2.form-button{
  border-radius: var(--border-radius--form-input);
}
@media screen and (max-width: 767px){
  .utility-page-wrap{
    width: auto;
    height: auto;
    padding-top: 15px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .utility-page-content{
    padding: 40px;
  }
}
@media screen and (max-width: 479px){
  .utility-page-content{
    padding: 20px;
  }
}
