body {
  font-family: "Noto Sans JP";
}
main {
  display: block;
  width: 100%;
  height: 100vh;
  background: #EDF4F4;
  position: relative;
}
section {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-align: center;
}
section::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0;
  padding-top: 8.5%;
  background: url(../../img/user/login/band.png) no-repeat;
  background-size: cover;
}
section .section_inner {
  position: absolute;
  top: 45%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 10;
}
.card {
  display: inline-block;
  margin-top: 50px;
  width: 600px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  box-shadow: 5px 5px 5px rgba(0,0,0,.2);
}
.card .card_header {
  padding: 20px;
  background: #F7B13C;
  color: #fff;
  font-size: 18px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.card .card_body {
  padding: 20px 0 50px;
  background: #FFFAF8;
  text-align: center;
}
.form_row {
  display: inline-block;
  width: 100%;
  max-width: 380px;
  margin-top: 30px;
}
.form_row > label{
  display: block;
  text-align: left;
  font-size: 15px;
}
.form_row .form_row_child {
  margin-top: 10px;
}
.input_group {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  height: 60px;
  margin-top: 10px;
}
.input_group .input_label {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  background: #FFFFE9;
  width: 60px;
  height: 100%;
  border: 1px solid #A0A0A0;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  border-right: none;
  box-sizing: border-box;
}
.input_group .form_control {
  width: calc(100% - 60px);
  height: 100%;
  box-sizing: border-box;
  border: 1px solid #A0A0A0;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-left: none;
  padding: 10px;
}
.form_btn_wrap {
  display: block;
  margin-top: 40px;
}
.form_btn_wrap .form_btn {
  display: inline-block;
  width: 240px;
  height: 60px;
  border-radius: 30px;
  border: none;
  outline: none;
  color: #fff;
  cursor: pointer;
  position: relative;
  background: url(../../img/user/login/icon_door.svg) #7FDBA8 no-repeat;
  background-size: 26px;
  background-position: center right 20%;
  font-family: inherit;
  font-size: 18px;
  box-shadow: 5px 5px 5px rgba(0,0,0,.2);
  transition: all 1s;
}
.form_btn_wrap .form_btn:hover {
  box-shadow: 7px 10px 10px rgba(0,0,0,.1);
}

@media screen and (max-width: 700px) {
  section .section_inner {
    width: 80%;
  }
  .card {
    width: 100%;
  }
}
@media screen and (max-width: 600px) { 
  h1 img {
    width: 100%;
  }
  .card {
    margin-top: 20px;
  }
  .card .card_body {
    padding: 0 0 30px;
  }
  .form_row {
    width: 80%;
    margin-top: 20px;
  }
  .input_group {
    height: 40px;
  }
  .input_group .input_label {
    width: 40px;
  }
  .input_group .input_label img {
    width: 20px;
  }
  .input_group .form_control {
    width: calc(100% - 40px);
  }
  .form_btn_wrap {
    margin-top: 20px;
  }
  .form_btn_wrap .form_btn {
    width: 200px;
    height: 40px;
    background-size: 20px;
  } 
}

.error {
	display: block;
	text-align: left;
	color: crimson;
}
