@charset "UTF-8";

/* 基本設定 */
.form-container {
  max-width: 100%;
  margin: 0 auto;
  padding: 20px;
  font-family: sans-serif;
  color: #666;
}

.form-title {
  background-color: #1e63b3;
  color: #fff;
  text-align: center;
  padding: 10px;
  font-size: 1.1rem;
  margin-bottom: 20px;
}

.form-note {
  font-size: 0.9rem;
  margin-bottom: 20px;
}

/* フォームグループ（Flexbox） */
.form-group {
  display: flex;
  margin-bottom: 15px;
  align-items: flex-start;
}

.label {
  flex: 0 0 150px; /* ラベルの幅を200pxに固定 */
  text-align: right;
  padding-right: 20px;
  padding-top: 10px;
  font-weight: bold;
  font-size: 14px;
	color: #555;
}

.label.require {
  color: #b34e4e; /* 必須項目の色 */
}

.input-area {
  flex: 1; /* 残りの幅をすべて使う */
	width: 100%;       /* スマホ時に重要 */
  display: flex;     /* 中のtextareaを制御しやすくする */
}



input[type="text"],
input[type="email"],
textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box; /* パディングを含めたサイズ計算 */
}

/* MailFormProのカラム幅を100%に */
.mfp_col10,
.mfp_col5 {
  width: 100% !important;
  box-sizing: border-box;
}

.mfp_col10 input,
.mfp_col5 input,
.mfp_col10 textarea,
.mfp_col5 textarea {
  width: 100% !important;
}

.full-width-textarea {
  width: 100% !important; /* 強制的に親要素の幅いっぱいに */
  box-sizing: border-box;
  min-height: 150px;      /* 高さを維持 */
  display: block;
}

/* --- スマホ対応 --- */
@media screen and (max-width: 991px) {
  .form-container {
    max-width: 100%;
    padding: 0;
  }

  .form-group {
    flex-direction: column; /* 縦並びに変更 */
  }

	.input-area {
		width: 100%;
	}

  .label {
    flex: none;
    width: 100%;
    text-align: left; /* 左寄せにする */
    padding-bottom: 5px;
  }

  .button-group {
    flex-direction: column;
    align-items: center;
  }

  .btn-submit, .btn-reset {
    width: 100%;
    max-width: 300px;
  }

  /* MailFormProのカラム幅を100%に */
  .mfp_col10,
  .mfp_col5 {
    width: 100% !important;
  }
}

/* ボタン関連 */
.button-group {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 50px;
}

.btn-submit {
  background-color: #d9534f !important;
  color: #fff;
  border: none;
  padding: 12px 40px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 15px;
}

.btn-reset {
  background-color: #333 !important;
  color: #ddd;
  border: 1px solid #ccc;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
	font-size: 15px;
}

.download-area {
  text-align: center;
  margin-top: 30px;
}

.btn-download {
  display: inline-block;
  background-color: #5bc0de !important;
  color: #fff;
  text-decoration: none;
  padding: 12px 40px;
  border-radius: 8px;
  font-size: 15px;
}

.btn-submit:hover,
.btn-reset:hover,
.btn-download:hover {
  transition: filter 0.3s ease;
	filter: brightness(1.2);
	color: #fff;
}

