@charset "utf-8";
/* CSS Document */

/* ------------------------------

フォーム部品

-------------------------------*/

#form-wrap{
	display: block;
	width:100%;
	max-width:700px;
	margin: 10px auto;
	padding: 10px;
	box-sizing: border-box;
	background: #fff;
	text-align: center;
	}

.input-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 95%;
  max-width: 700px;
  margin-bottom: 16px;
}
.label-wrapper {
  display: flex;
  align-items: center; /* 縦方向中央揃え */
  gap: 8px; /* バッジとラベルの間隔 */
  margin-bottom: 6px;
  width: 100%; /* 幅を統一 */
}
.label-badge {
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  white-space: nowrap; /* 改行されないように */
}
.required {
  background-color: #e74c3c; /* 赤 */
}
.optional {
  background-color: #3498db; /* 青 */
}
.select {
  background-color: #2ecc71; /* 緑：成功・選択イメージ */
}
.input-container label {
  font-size: 14px;
  font-weight: bold;
  color: #333;
  display: flex;
  align-items: center;
}
.input-container input,
.input-container textarea {
  width: 100%;
  padding: 10px;
  font-size: 14px;
  color: #333;
  border: 2px solid #ccc;
  border-radius: 6px;
  outline: none;
  transition: border-color 0.3s ease-in-out;
  box-sizing: border-box;
}

.input-container textarea {
  resize: none;       /* ユーザーによる手動リサイズを禁止（任意） */
  overflow: hidden;   /* 自動高さ変更でスクロールバーを非表示 */
  line-height: 1.2;   /* 行の高さを調整 */
  min-height: calc(1.5em * 2 + 20px); /* ✅ 2行 + padding */
  height: auto;
}

.input-container input:focus,
.input-container textarea:focus {
  border-color: #007bff;
}

/* 備考テキストのスタイル */
.note {
  font-size: 12px;
  color: #666;
  margin-top: 4px;
  margin-bottom: 0px;
  padding-left: 0px;
  text-align: left;
}
/* input と単位を横並びにする */
.input-group {
  display: flex;
  align-items: center;
  gap: 8px; /* 入力欄と単位の間隔 */
}
.input-group input {
  flex: 1; /* 入力フィールドを可変幅に */
  padding: 10px;
  font-size: 16px;
  color: #333;
  border: 2px solid #ccc;
  border-radius: 6px;
  outline: none;
  transition: border-color 0.3s ease-in-out;
}
.input-group input:focus {
  border-color: #007bff;
}
/* 単位のスタイル */
.unit {
  font-size: 16px;
  color: #333;
  white-space: nowrap; /* 改行防止 */
}
.confirm-view {
  border: none !important; /* 確実に枠を消す */
  background: transparent !important; /* 背景を透明に */
  padding: 0;
  font-size: 16px;
  color: #333;
  pointer-events: none; /* 編集不可にする */
}
/* 確認時に表示するテキスト */
.confirm-text {
  white-space: pre-line; /* textarea の改行を適用 */
  padding: 10px;
  font-size: 16px;
  color: #333;
  background: transparent; /* 確認時の背景を透明に */
  border: none; /* 確認用テキストの枠も消す */
  display: none; /* 初期状態では非表示 */
  text-align: left; /* テキストを左寄せに */
}
/* 必須項目未入力時のエラースタイル */
.error {
  border: 2px solid red !important;
}
button {
  font-size: 16px;
  font-weight: bold;
  padding: 12px 20px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-block;
  min-width: 180px;
  text-align: center;
}
/* 記入内容を確認 (青系) */
#confirmBtn {
  background: linear-gradient(135deg, #3a8dde, #1c6dd0);
  color: white;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}
#confirmBtn:hover {
  background: linear-gradient(135deg, #1c6dd0, #1558a0);
}
/* 送信ボタン (緑系) */
#submitBtn {
  background: linear-gradient(135deg, #2ecc71, #27ae60);
  color: white;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}
#submitBtn:hover {
  background: linear-gradient(135deg, #27ae60, #1e8449);
}
/* 戻るボタン (赤系) */
#editBtn {
  background: linear-gradient(135deg, #e74c3c, #c0392b);
  color: white;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}
#editBtn:hover {
  background: linear-gradient(135deg, #c0392b, #962d22);
}
.contact-line {
  width: 100%;
  margin-bottom: 20px;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  padding: 10px;
  color: white;
  background: linear-gradient(45deg, #00c300, #007700);
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
.blue {
  background: linear-gradient(45deg, #007bff, #0056b3);
}

/* ------------------------------
toggleボタン (iPhone風) - 小型バージョン
-------------------------------*/

.toggle-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 1rem;
  line-height: 1;
}

.toggle-label-text {
  font-weight: bold;
  font-size: 0.95rem;
  min-width: 40px;
}

.toggle-switch {
  position: relative;
  display: inline-block;
  width: 48px;        /* 小型化 */
  height: 26px;       /* 小型化 */
  vertical-align: middle;
}

.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider-toggle {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0;
  right: 0; bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
  border-radius: 26px;
  display: block;
}

.slider-toggle::before {
  position: absolute;
  content: "";
  height: 18px;        /* 小型化 */
  width: 18px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: 0.4s;
  border-radius: 50%;
  display: block;
}

.toggle-switch input:checked + .slider-toggle {
  background-color: #f9e79f;
}

.toggle-switch input:checked + .slider-toggle::before {
  transform: translateX(20px);  /* 距離調整 */
}

/* ------------------------------
3つ以上の選択があるradio
-------------------------------*/

.radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px; /* 少し控えめな間隔 */
}

.radio-group input[type="radio"] {
  display: none;
}

.radio-group label {
  padding: 6px 12px;                      /* 少し小さめ */
  border: 1.5px solid #ccc;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 14px;                        /* 小さめ文字 */
  user-select: none;
  background-color: #fff;
  color: #333;
}

/* 選択時のスタイル（落ち着いたグリーン） */
.radio-group input[type="radio"]:checked + label {
  background-color: #f9e79f;              /* 淡い緑 */
  color: #1c4b2c;                         /* ダークグリーン系の文字色 */
  border-color: #8fcfae;
}



input,
textarea,
select,
button {
  font-size: 16px;
}