/* 基本スタイル */



/* フォームエリア */
main {
  margin: 50px auto;
}

.login-info-box {
  background-color: #EEE2D3;
  padding: 16px;
  margin: 36px 0;
  width: 900px;
}

.form-group {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  gap: 10px;
}

.required {
  background: #C39C89;
  color: #fff;
  padding: 2px 6px;
  font-size: 12px;
}

label {
  display: inline-block;
  width: 200px;
}

input {
  flex-grow: 0;
  width: 300px;
  padding: 8px;
  border: 1px solid #ccc;
}

.btn-login {
  display: block;
  margin: 30px auto;
  padding: 10px 40px;
  background: #C39C89;
  color: white;
  border: none;
  cursor: pointer;
}


.login-info-box a {
  border-bottom: 1px solid #332405;
  /* 文字と線の距離 */
  padding-bottom: 1px;
  /* インライン要素として扱うために指定 */
  display: inline-block;
  /* 線の長さを文字幅に合わせるために必要 */
  line-height: 1.1;

}

.forgot-password {
  border-bottom: 1px solid #332405;
  /* 文字と線の距離 */
  padding-bottom: 1px;
  /* インライン要素として扱うために指定 */
  display: inline-block;
  /* 線の長さを文字幅に合わせるために必要 */
  line-height: 1.1;
}


@media (max-width:800px) {

  /* 1. コンテナの制限解除 */
  .login-info-box {
    width: 90%;
    /* 画面幅に合わせて伸縮 */
    max-width: 900px;
    /* 最大幅を制限 */
    margin: 36px auto;
    /* 中央寄せ */
  }

  /* 2. フォームグループをモバイルで見やすく */
  @media screen and (max-width: 768px) {
    .form-group {
      flex-direction: column;
      /* 縦並びに変更 */
      align-items: flex-start;
      /* 左寄せ */
      gap: 5px;
    }

    label {
      width: 100%;
      /* 横幅いっぱい */
    }

    input {
      width: 100%;
      /* 横幅いっぱい */
      box-sizing: border-box;
      /* パディングを含めて幅を計算 */
    }
  }

  /* --- 微調整 --- */
  main {
    padding: 0 5%;
    /* 画面端に張り付かないように余白を確保 */
    max-width: 900px;
    margin: 50px auto;
  }

  /* リンクのデザイン共通化 */
  .login-info-box a,
  .forgot-password {
    text-decoration: none;
    border-bottom: 1px solid #332405;
    padding-bottom: 1px;
  }
}