/* =========================
   フォーム要素
========================= */
input[type="text"],
input[type="time"],
input[type="date"],
input[type="email"],
input[type="password"],
input[type="number"] {
  width: 100%;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.4;
  color: #111;
  background: #fff;

  border: 1px solid #ccc;
  border-radius: 6px;

  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}

input[type="text"]:focus,
input[type="time"]:focus,
input[type="date"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus {
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.2);
}

textarea {
  width: 100%;
  min-height: 120px;
  padding: 10px 12px;

  font-size: 14px;
  line-height: 1.5;

  border: 1px solid #ccc;
  border-radius: 6px;

  resize: vertical;
  outline: none;
  box-sizing: border-box;

  transition: border-color 0.2s, box-shadow 0.2s;
}

textarea:focus {
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.2);
}

select {
  width: 100%;
  padding: 10px 12px;

  font-size: 14px;
  line-height: 1.4;

  border: 1px solid #ccc;
  border-radius: 6px;

  background: #fff;
  color: #111;

  outline: none;
  box-sizing: border-box;

  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  transition: border-color 0.2s, box-shadow 0.2s;
}

select:focus {
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.2);
}

input[type="radio"] {
  width: 16px;
  height: 16px;
  accent-color: #4a90e2;
  cursor: pointer;
}

input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #4a90e2;
  cursor: pointer;
}
