@charset "UTF-8";

/*ログイン
-------------------------------------*/
#login{
  margin-bottom: 10%;
}
#login form{
  width: 750px;
  margin: 5% auto;
}
#login .item_label{
  display: block;
  width: 25%;
}
#login .btn_login{
  width: 250px;
  margin: 5% auto 0;
}
/* モバイル表示時 */
@media screen and (max-width: 768px){
  #login form,
  #login .item_label{
    width: 100%;
  }
}

/*インプットエリア
-------------------------------------*/
#input_area{
  background: #f2f2f2;
  padding: 3% 3% 3% 8%;
  margin-bottom: 10%;
}
#input_area h2{
  color: #4d4d4d;
  text-align: center;
}
#error_message,
#error_message_login{
  color: #8e0617;
  font-weight: bold;
  margin: 3% 0;
  line-height: 20px;
}
.error {
  border: 2px solid #d9534f !important;
  background-color: #fff5f5 !important;
}
.radio-error {
  border: 2px solid #d9534f;
  background-color: #fff5f5;
  padding: 10px;
  border-radius: 6px;
}

.msg{
	display: block;
}
.flex_box{
  display: flex;
  flex-direction: row;
  margin: 3% 0;
  align-items: center;
}
.flex_align_top{
  align-items: flex-start;
}
.input_long{
  width: 500px;
}
.input_middle{
  width: 220px;
}
.input_select{
  width: 130px;
}
.input_select_middle{
  width: 220px;
}
.input_select_long{
  width: 500px;
}
textarea{
  margin: 2% 0 3% 0;
  width: 755px;
  height: 300px;
}
.item_label,
.item_label_main,
.item_label_sub{
  margin-bottom: 0;
}
.item_label{
  display: block;
  width: 30%;
}
.input_annotation{
  margin: -3% 0 3% 30%;
}
.item_label_main{
  display: block;
}
.item_label_sub{
  display: block;
  width: 30%;
  text-align: right;
  padding-right: 5%;
}
.input_group{
  display: flex;
  flex-direction: row;
  align-items: center;
}
/*　チェックボックスエリア　*/
.box_checkbox{
  display: block;
  width: 600px;
  margin: 0 auto 3%;
  justify-content: space-between;
}
.box_checkbox label{
  width: 250px;
  display: inline-block;
}
.box_checkbox .checkbox_label_long{
  width: 550px;
  display: inline-block;
}
/*　セレクトエリア　*/
.input_select_area select{
  display: block;
  margin-bottom: 3%;
}
/*　名前　*/
#input_area .label_name{
  display: block;
  width: 30px;
  text-align: center;
  margin-right: 5px;
}
.input_name{
  width: 220px;
}
/*　日付　*/
.input_day{
  width: 220px;
}
/*　郵便番号　*/
.input_postalcode{
  width: 220px;
}
/*　郵便番号　住所検索ボタン*/
.postalcode input:last-of-type{
  height: 40px;
  font-size: 20px;
  /* margin-left: 5%; */
  vertical-align: middle;
}
.password-wrapper {
  position: relative;
  display: inline-block;
}

.password-wrapper input {
  padding-right: 56px; /* 右側にテキスト分の余白を確保 */
  box-sizing: border-box;
}

.password-wrapper button {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: transparent;
  padding: 0;
  font-size: 13px;
  cursor: pointer;
}
/* モバイル表示時 */
@media screen and (max-width: 768px){
  #input_area{
    padding: 3%;
  }
  .flex_box{
    display: block;
    margin-bottom: 8%
  }
  .item_label{
    margin-bottom: 2%;
  }
  .input_long{
    width: 100%;
  }
  .input_middle{
    width: 40%;
  }
  .input_select_long{
    width: 100%;
  }
  textarea{
    margin: 2% 0 3% 0;
    width: 100%;
    height: 100px;
  }
  .input_annotation{
    margin: -8% 0 8% 0;
  }
  .item_label,
  .item_label_main,
  .item_label_sub{
    width: 100%;
    text-align: left;
  }
  .btn_address{
    font-size: 14px;
    height: auto;
    padding: 2% 5%;
  }
  .box_checkbox label,
  .box_checkbox .checkbox_label_long{
    width: 100%;
  }
  /*　チェックボックスエリア　*/
  .box_checkbox{
    width: 100%;
    margin-bottom: 5%;
  }
    /*　名前　*/
  .input_name{
    width: 100%;
    margin-bottom: 3%;    
  }
   /*　日付　郵便番号　*/
  .input_day,
  .input_postalcode{
    width: 60%
  }
     /*　郵便番号　住所検索ボタン　*/
  .postalcode input:last-of-type{
    font-size: 16px;
    vertical-align: middle;
  }
}
/*確認エリア
-------------------------------------*/
#confirmation{
  background-color: #fff;
  border: 1px solid #4d4d4d;
  padding: 3% 3% 3% 8%;
  margin-bottom: 10%;
}
#confirmation h2{
  color: #4d4d4d;
  text-align: center;
}
#confirmation p{
  margin-bottom: 0;
}
#confirmation .confirmation_box{
  margin-bottom: 5%;
}
#confirmation .confirmation_box:last-of-type{
  margin-bottom: 0;
}
/* モバイル表示時 */
@media screen and (max-width: 768px){
  #confirmation{
    padding: 3%;
  }
}