@charset "utf-8";
/* CSS Document */
/* 前回のスタイルに以下を追加・上書き */
body { font-family: sans-serif; background: #f8f9fa; padding: 50px 20px; }
.form-container { max-width: 600px;}
.form-group { margin-bottom: 20px; }
label { display: block; margin-bottom: 5px; font-weight: bold; }
input[type="text"], input[type="email"], input[type="tel"], select, textarea { width: 100%; padding: 10px; box-sizing: border-box; border: 1px solid #ddd; border-radius: 4px; }
.required { color: #fff; background: #e74c3c; padding: 2px 5px; font-size: 11px; border-radius: 3px; }
.error-msg { color: #e74c3c; margin-bottom: 20px; padding: 10px; border: 1px solid #e74c3c; border-radius: 4px; }
.contactTop p {
    margin: 0;
	font-size: 14px;
}
span.caution {
    color: #757272;
    font-size: 14px;
}
.contactBottom h3 span {
    display: block;
    font-size: 15px;
    font-weight: normal;
}
.contactBottom h3 {
    font-size: 22px;
}
.contactBottom p {
    margin: 0;
	font-size: 14px;
}
.form-container {
    margin-top: 40px;
}
.contactBottom {
    background-color: #edeef3;
    padding: 10px;
    margin-top: 25px;
    border: solid 1px #e2e2e2;
}
.contactBottom h4 {
    margin: 0;
    font-size: 20px;
}
.confirm-table tr {
    border-bottom: solid 2px #b1b2b2;
}
/* 確認画面用 */
.confirm-table { width: 100%; border-collapse: collapse; margin-bottom: 30px; }
.confirm-table th, .confirm-table td { padding: 15px; border-bottom: 1px solid #eee; text-align: left; }
.confirm-table th { width: 30%; background: #fcfcfc; }
.btn-group { display: flex; gap: 10px; }
.submit-btn { background: #3498db; color: #fff; border: none; padding: 15px; width: 100%; cursor: pointer; border-radius: 4px; font-weight: bold; }
.back-btn { background: #95a5a6; color: #fff; border: none; padding: 15px; width: 100%; cursor: pointer; border-radius: 4px; }