/* mainのセンター合わせ */
.main_center {
  display: flex;
  justify-content: center;
  align-items: center;
}

/*新規登録ボタン*/
.wrap_btn_plus {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 20px;
  margin-bottom: 50px;
}

.wrap_btn_plus h2 {
  margin-bottom: 0;
}

span.t_sub {
  margin: 0 10px;
}

.t_sml {
  font-size: var(--t_sml2);
  margin-bottom: 5px;
}

.t_bold {
  font-weight: 700;
}

.t_red {
  color: red !important;
  font-weight: 700 !important;
}

.m10a {
  margin-top: 10px;
}

.m10b {
  margin-bottom: 10px;
}

.m20a {
  margin-top: 20px;
}

.m20b {
  margin-bottom: 20px;
}

.m30b {
  margin-bottom: 30px;
}

/* エラーメッセージフィールド */
.error_message {
  font-size: 0.8rem;
  padding: 10px;
  border-radius: 8px;
  background: rgba(255, 0, 0, 0.1);
  color: var(--red);
  margin-inline: auto;
  max-inline-size: max-content;
}

.wrap_error_message {
  width: fit-content;
}

.add .wrap_error_message,
.edit .wrap_error_message {
  margin-left: 27%;
}

.login .wrap_error_message {
  margin-left: 33.33%;
  margin-bottom: 15px;
}

/* テキスト一行の場合はセンター寄せ */
.t_center {
  margin-inline: auto;
  max-inline-size: max-content;
}

/*必須項目*/
.left span {
  font-size: 0.6rem;
  color: var(--red);
  margin-left: 5px;
}

/* 入力内容の誓約確認 */
p.t_checked {
  display: flex;
  align-items: flex-start;
  width: max-content;
  margin: 0 auto;
}

p.t_checked::before {
  content: "\2713";
  color: var(--blue1);
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1;
  flex-shrink: 0;
}

p.t_notice {
  font-size: 0.8rem;
  margin-top: 10px;
}

.from_to {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: fit-content;
}

.from_to li {
  display: flex;
  align-items: center;
  width: fit-content;
}

.wrap_review .radio1 {
  width: 270px;
  margin: 0 auto;
}

ul.hide {
  display: none;
  width: 100%;
  margin-top: 10px;
}

ul.hide fieldset {
  margin-top: 20px;
}

/*ファイル添付*/
.right label:has(input[type="file"]) {
  width: 100%;
  max-width: 400px;
}

.wrap-field-group {
  width: 100%;
}

/*リンク設定*/
.a_style1 {
  color: var(--blue1);
  border-bottom: 1px dotted var(--blue1);
  padding-bottom: 1px;
  transition: 0.3s;
}

.a_style1:hover {
  filter: brightness(1.4);
}

.a_style2 {
  color: var(--red);
  border-bottom: 1px dotted var(--red);
  padding-bottom: 1px;
  transition: 0.3s;
}

.a_style2:hover {
  filter: brightness(1.4);
}

.a_style3 {
  color: var(--blue1);
  border-bottom: 1px dotted var(--blue1);
  padding-bottom: 1px;
  transition: 0.3s;
}

p.red {
  color: var(--red);
}

p.copyright {
  text-align: center;
  color: var(--gray4);
}

/* flexbox内を縦に配置*/
.align_column {
  flex-direction: column;
}

/* ラジオボタンを縦に配置*/

ul.radio_column {
  align-items: flex-start;
}

ul.radio_column .left {
  padding-top: 10px;
}

ul.radio_column .right {
  flex-direction: column;
  width: 100%;
}

ul.radio_column fieldset {
  width: 100%;
}

ul.radio_column label {
  width: 100%;
}

/* flexbox 上揃え */
.top_align {
  align-items: flex-start !important;
}

.top_align .radio1 {
  flex-direction: column;
}

.top_align .left {
  padding-top: 10px;
}

/* ログイン・パスワード再発行 */
div.wrap_login {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .main_center {
    justify-content: center;
    align-items: flex-start;
    overflow-y: visible;
  }

  .wrap_btn_plus {
    flex-direction: column;
    justify-content: flex-start;
    align-items: start;
    gap: 15px;
    margin-bottom: 30px;
  }

  .add .wrap_error_message,
  .edit .wrap_error_message {
    margin-left: 0;
  }

  .login .wrap_error_message {
    margin-left: 0;
  }

  .error_message {
    width: 100%;
  }
}
