/* 背景色を白に設定 */
#Containar {
  background: #fff !important;
}

#Contents {
  background-color: #fff !important;
}

#ContentsMain {
  background-color: #fff !important;
}

/* テーブルスタイル調整 */
table.style01 {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

table.style01 th,
table.style01 td {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* エラー表示 */
.error {
  color: #cc3333;
  font-size: 12px;
  margin-top: 4px;
  display: block;
  line-height: 1.4;
}

/* EFO: エラーがある入力フィールドを強調 */
table.style01 input.error-field,
table.style01 textarea.error-field,
table.style01 select.error-field {
  background-color: #fff5f5;
  border-color: #cc3333;
}

table.style01 input.error-field:focus,
table.style01 textarea.error-field:focus,
table.style01 select.error-field:focus {
  background-color: #fff5f5;
  border-color: #cc3333;
  box-shadow: 0 0 0 2px rgba(204, 51, 51, 0.2);
}

/* EFO: エラーがあるセルを強調 */
table.style01 td.has-error {
  background-color: #fff5f5;
}

table.style01 td.has-error label {
  color: #cc3333;
}

/* 必須マーク */
.required {
  color: #cc3333;
  font-weight: bold;
}

/* アラートメッセージ */
.alert {
  background: #fff5f5;
  border: 1px solid #f5c2c2;
  color: #9c1a1a;
  padding: 12px 16px;
  margin: 16px 0;
}

/* 確認画面のサマリー */
.summary {
  border: 1px solid #e5e5e5;
  padding: 12px 16px;
  margin: 16px 0;
}

.summary dl {
  margin: 0;
}

.summary dt {
  font-weight: 600;
  margin-top: 8px;
}

.summary dd {
  margin: 4px 0 0 0;
  white-space: pre-wrap;
}
