body {

    font-family: 'Noto Sans JP', sans-serif;

    background: #fff; 

    margin: 0;

    padding: 0;

}



.container {

    max-width: 700px;

    margin: 50px auto 100px; /* フッターに余白を確保 */

    background: #fff;

    padding: 30px;

}



h1, h2 {

    font-size: 30px;

    text-align: center;

    margin-bottom: 15px;

    color: #222;

}



p {

    text-align: center;

    color: #666;

    margin-bottom: 20px;

}



/* ✅ 必須項目 */

.required {

    color: red;

    margin-left: 4px;

}



/* ✅ エラーBOX */

.error-box {

    background: #ffe2e2;

    border: 1px solid #ff7b7b;

    padding: 10px 15px;

    margin-bottom: 20px;

    color: #b30000;

    font-size: 14px;

    border-radius: 4px;

}



/* ✅ 入力行 */

.form-row {

    margin-bottom: 15px;

}



.form-row label {

    display: inline-block;

    width: 220px;

    vertical-align: top;

    font-weight: bold;

    color: #333;

    padding-top: 6px;

}



/* ✅ 入力系 */

input[type="text"], select, textarea {

    width: calc(100% - 240px);

    padding: 8px;

    border: 1px solid #ccc;

    border-radius: 4px;

    font-size: 14px;

    box-sizing: border-box;

}



textarea {

    resize: vertical;

}



/* ✅ チェックボックス・ラジオオプション */

.options {

    display: inline-block;

    width: calc(100% - 230px);

}



.options label {

    margin-right: 0px; /* ← あなたの指定 */

    display: inline-block;

    cursor: pointer;

}



.options input[type="checkbox"],

.options input[type="radio"] {

    margin-right: 6px; /* ← ◯と文字の間隔を確保 */

}



/* ✅ ボタン */

.button-center {

    text-align: center;

    margin: 50px 0;

}



.btn {

    background: #B40F16;

    color: #fff;

    padding: 12px 25px;

    font-size: 16px;

    font-weight: bold;

    border: none;

    border-radius: 4px;

    cursor: pointer;

}



.btn:hover {

    background: #980b11;

}



/* ✅ 確認画面のテーブル */

.confirm-table {

    width: 100%;

    border-collapse: collapse;

    margin: 20px 0;

}



.confirm-table th, .confirm-table td {

    text-align: left;

    border: 1px solid #ccc;

    padding: 8px;

}



/* ✅ フッター */

.footer {

    background: #B40F16;

    color: #fff;

    text-align: center;

    padding: 8px 8px;

    font-size: 12px;

    position: fixed;

    bottom: 0;

    left: 0;

    width: 100%;

    z-index: 1000;

}

.footer p {

    color: #fff;

    font-size: 16px;

}

