/* ヘッダー固定分余白 */
.content, main {
  padding-top: 140px;
  box-sizing: border-box;
}

/* タイトル */
.page-title {
  text-align: center;
  font-size: 1.6em;
  margin-bottom: 10px;
}
.description {
  text-align: center;
  margin-bottom: 20px;
  font-size: 0.95em;
}

/* 全体の幅揃え（注意書き・電話案内・フォーム・確認） */
.notice-section,
.phone-section,
.contact-form,
.confirm-section {
  max-width: 700px;
  margin: 0 auto;
}

/* 注意書き */
.notice-header {
  background: #0F2147;
  color: #fff;
  padding: 8px 12px;
  font-weight: bold;
}
.notice-body {
  border: 1px solid #ccc;
  border-top: none;
  padding: 10px 15px;
  font-size: 0.9em;
}
.notice-body ul { padding-left: 20px; }
.required { color: red; font-size: 0.9em; margin-left: 4px; }

/* プライバシーポリシーリンク */
.privacy-link { text-decoration: underline; color: #0F2147; }
.privacy-link:hover { color: #173f6a; }

/* 見出し */
.section-title {
  font-weight: bold;
  font-size: 1.1em;
  border-bottom: 2px solid #ccc;
  margin-top: 30px;
  padding-bottom: 5px;
}

/* 入力フォーム */
table.form-table { width: 100%; border-collapse: collapse; margin-top: 15px; }
.form-table th, .form-table td { border: 1px solid #ccc; padding: 10px; vertical-align: top; }
.form-table th { background: #fafafa; width: 30%; }
input[type="text"], input[type="email"], textarea {
  width: 100%; padding: 6px; border: 1px solid #ccc; border-radius: 3px; font-size: 1em; box-sizing: border-box;
}
textarea { resize: vertical; min-height: 100px; }

/* 確認テーブル（幅は confirm-section により制限） */
.confirm-table { width: 100%; border-collapse: collapse; margin-top: 15px; }
.confirm-table th, .confirm-table td { border: 1px solid #ccc; padding: 10px; text-align: left; vertical-align: top; }
.confirm-table th { background: #fafafa; width: 30%; }

/* ボタン */
.button-area { text-align: center; margin-top: 20px; }
button { background: #0F2147; color: #fff; border: none; padding: 12px 25px; font-size: 1em; cursor: pointer; border-radius: 3px; }
button:hover { background: #173f6a; }

/* エラー表示 */
.error { color: red; font-weight: b/* ヘッダー固定分余白 */
.content, main {
  padding-top: 140px;
  box-sizing: border-box;
}

/* タイトル */
.page-title {
  text-align: center;
  font-size: 1.6em;
  margin-bottom: 10px;
}

.description {
  text-align: center;
  margin-bottom: 20px;
  font-size: 0.95em;
}

/* 幅合わせ */
.notice-section,
.phone-section,
.contact-form,
.confirm-section {
  max-width: 700px;
  margin: 0 auto;
}

/* 注意書き */
.notice-header {
  background: #0F2147;
  color: #fff;
  padding: 8px 12px;
  font-weight: bold;
}
.notice-body {
  border: 1px solid #ccc;
  border-top: none;
  padding: 10px 15px;
  font-size: 0.9em;
}
.notice-body ul {
  padding-left: 20px;
}
.required {
  color: red;
  font-size: 0.9em;
  margin-left: 4px;
}

/* プライバシーポリシーリンク */
.privacy-link {
  text-decoration: underline;
  color: #0F2147;
}
.privacy-link:hover {
  color: #173f6a;
}

/* 見出し */
.section-title {
  font-weight: bold;
  font-size: 1.1em;
  border-bottom: 2px solid #ccc;
  margin-top: 30px;
  padding-bottom: 5px;
}

/* 入力フォーム */
table.form-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 15px;
}
.form-table th, .form-table td {
  border: 1px solid #ccc;
  padding: 10px;
  vertical-align: top;
}
.form-table th {
  background: #fafafa;
  width: 30%;
}
input[type="text"],
input[type="email"],
textarea {
  width: 100%;
  padding: 6px;
  border: 1px solid #ccc;
  border-radius: 3px;
  font-size: 1em;
  box-sizing: border-box;
}
textarea {
  resize: vertical;
  min-height: 100px;
}

/* 確認テーブル */
.confirm-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 15px;
}
.confirm-table th, .confirm-table td {
  border: 1px solid #ccc;
  padding: 10px;
  text-align: left;
  vertical-align: top;
}
.confirm-table th {
  background: #fafafa;
  width: 30%;
}

/* ボタン */
.button-area {
  text-align: center;
  margin-top: 20px;
}
button {
  background: #0F2147;
  color: #fff;
  border: none;
  padding: 12px 25px;
  font-size: 1em;
  cursor: pointer;
  border-radius: 3px;
}
button:hover {
  background: #173f6a;
}

/* エラー表示 */
.error {
  color: red;
  font-weight: bold;
  margin-bottom: 10px;
}

/* スマホ対応 */
@media (max-width: 640px) {
  .form-table th, .form-table td,
  .confirm-table th, .confirm-table td {
    display: block;
    width: 100%;
  }
}old; margin-bottom: 10px; }

/* レスポンシブ */
@media (max-width: 640px) {
  .form-table th, .form-table td, .confirm-table th, .confirm-table td { display: block; width: 100%; }
}