        /* --- Section 02 --- */
        #section02 {
            margin-bottom: 3rem;
        }

/* フォームコンテナのレイアウト */
.form-container {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
}

/* ヘッダーテキストのスタイル */
.header-text {
    text-align: center; /* text-center */
    margin-bottom: 2rem; /* mb-8 */
}

.header-text p {
    margin-bottom: 0.5rem; /* mb-2 */
}

/* フォーム全体のラッパー */
.form-wrapper {
    background-color: #ffffff; /* bg-white */
    border-radius: 0.5rem; /* rounded-lg */
    padding: 2rem; /* p-8 */
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); /* shadow-sm */
}

/* フォームグループ（ラベルと入力欄のセット） */
.form-group {
    margin-bottom: 1.5rem; /* space-y-6 の代わりに各要素にマージンを設定 */
}

.form-group:last-child {
    margin-bottom: 0;
}

/* ラベルのスタイル */
.form-label {
    display: block; /* block */
    margin-bottom: 0.5rem; /* mb-2 */
    font-weight: 500;
}

/* 必須マーク（※）のスタイル */
.required-mark {
    color: #ef4444; /* text-red-500 */
    margin-left: 0.25rem; /* ml-1 */
}

/* 入力欄（input）の共通スタイル */
.form-input {
    width: 100%; /* w-full */
    padding: 0.75rem 1rem; /* px-4 py-3 */
    background-color: #f3f4f6; /* bg-gray-100 */
    border-radius: 0.25rem; /* rounded */
    border: none; /* border-none */
    box-sizing: border-box; /* paddingがwidthに含まれるように */
    transition: box-shadow 0.2s ease-in-out;
    font-size: 1.5rem;
}

/* テキストエリアのスタイル */
.form-textarea {
    width: 100%; /* w-full */
    padding: 0.75rem 1rem; /* px-4 py-3 */
    background-color: #f3f4f6; /* bg-gray-100 */
    border-radius: 0.25rem; /* rounded */
    border: none; /* border-none */
    resize: none; /* resize-none */
    box-sizing: border-box;
    transition: box-shadow 0.2s ease-in-out;
}

/* 入力欄フォーカス時のスタイル */
.form-input:focus,
.form-textarea:focus {
    outline: none; /* focus:outline-none */
    box-shadow: 0 0 0 2px #f97316; /* focus:ring-2 focus:ring-orange-500 */
}

/* 送信ボタンのコンテナ */
.submit-button-container {
    text-align: center; /* text-center */
    padding-top: 1rem; /* pt-4 */
}

/* 送信ボタンのスタイル */
.submit-button {
    background-color: #d8634e;
    color: #ffffff;
    padding: 1rem 7rem;
    border: none;
    font-size: 1.5rem;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: background-color 0.15s cubic-bezier(0.4, 0, 0.2, 1); /* transition-colors */
}

/* 送信ボタンのホバーエフェクト */
.submit-button:hover {
    background-color: #ea580c; /* hover:bg-orange-600 */
}

/* --- レスポンシブ対応 --- */
/* 画面幅が640px以下の時に適用されるスタイル */
@media (max-width: 1024px) {

    .form-wrapper {
        padding: 0rem;
    }

    .submit-button {
        padding: 0.75rem 1.5rem;
        width: 100%; /* ボタンを親要素の幅いっぱいに広げる */
        font-size: 1rem;
    }

    .form-input {
    font-size: 1rem;
}
}
