body { background-color: #fff; color: #333; font-family: sans-serif; }
.form-container { max-width: 550px; margin: 20px auto; padding: 20px; border: 1px solid #ddd; }
h2 { text-align: center; color: #b8860b; margin-bottom: 30px; }

.field { margin-bottom: 20px; }
label { display: block; font-weight: bold; margin-bottom: 8px; font-size: 0.9em; }
input[type="text"], input[type="email"], input[type="tel"] { width: 100%; padding: 10px; border: 1px solid #ccc; box-sizing: border-box; }

/* エラー表示 */
.error-msg { color: #d9534f; font-size: 0.8em; margin-top: 5px; display: none; }

/* スクール選択セクション（吹き出しを廃止したフラットデザイン） */
.school-section {
    border-top: 2px solid #1a365d;
    border-bottom: 2px solid #1a365d;
    padding: 20px 10px;
    background: #f9f9f9;
    margin: 40px 0 0;
}
.school-item { display: block; margin-bottom: 10px; font-weight: normal; cursor: pointer; }
.school-item input { margin-right: 10px; }

/* 希望日時セクション */
.date-section { padding: 20px 10px; background: #fff; }
.date-row { margin-bottom: 15px; font-size: 0.9em; }
.date-row input { width: 40px; padding: 5px; text-align: center; margin: 0 5px; }

.submit-btn { 
    background: #b8860b; color: #fff; border: none; padding: 18px; 
    width: 100%; cursor: pointer; font-weight: bold; font-size: 1.1em;
}
.submit-btn:disabled { background: #ccc; }

.radio-group label { font-weight: normal; margin-right: 20px; cursor: pointer; }

/* 他のinput[type="text"]等と共通のクラスにする */
.form-control {
  width: 100%;             /* 横幅を親要素に合わせる */
  padding: 10px 15px;      /* 内側の余白を他の項目と揃える */
  font-size: 16px;         /* スマホでズームされないサイズ */
  font-family: inherit;    /* フォントをサイト全体に合わせる */
  border: 1px solid #ccc;  /* 枠線の太さと色 */
  border-radius: 4px;      /* 角の丸みを他の項目と揃える */
  box-sizing: border-box;  /* パディングを含めた幅計算にする */
  background-color: #fff;
  resize: vertical;        /* ユーザーが縦方向だけサイズ調整できるようにする */
}

/* 入力中に枠線の色を変える設定（フォーカス時） */
.form-control:focus {
  border-color: #007bff;   /* サイトのメインカラー等に合わせる */
  outline: none;
  box-shadow: 0 0 5px rgba(0, 123, 255, 0.25);
}

/* プレースホルダーの文字色（少し薄くする） */
.form-control::placeholder {
  color: #999;
}

.terms-section {
    margin-top: 30px;
    padding: 20px;
    background: #fdfdfd;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}
.terms-guide { 
    font-size: 0.85em; 
    color: #d7000f; 
    margin-bottom: 10px; 
    font-weight: bold; 
}
.rule-btn {
    display: block;
    width: 100%;
    padding: 12px;
    text-align: center;
    border: 2px solid #009640;
    color: #009640;
    text-decoration: none;
    font-weight: bold;
    border-radius: 4px;
    box-sizing: border-box;
}
.rule-btn.visited { background: #e6f4ea; }
.check-mark { margin-left: 8px; }

.checkbox-area { margin-top: 20px; text-align: center; }
.checkbox-area .disabled { color: #aaa; cursor: not-allowed; }

/* 送信ボタンの初期状態 */
#submitBtn:disabled {
    background-color: #ccc !important;
    cursor: not-allowed;
    opacity: 0.7;
}

.field select {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    background-color: #fff;
}