/* --- フォーム全体のコンテナ --- */
.container {
    /* bodyからフォントと文字色の設定を移動 */
    font-family: 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
    color: #333;

    background-color: #ffffff;
    border-radius: 16px; /* 角の丸みを強くする */
    box-shadow: 0 8px 30px rgba(0, 91, 172, 0.1); /* 青みがかった影 */
    padding: 40px 50px;
    width: 100%;
    max-width: 650px;
    border: 1px solid #e0e0e0;
    margin: 50px auto; /* LP内でフォームが中央に来るようにマージンを設定 */
}

.form-wrapper {
    text-align: center;
}

/* --- タイトルと説明文 --- */
.form-title {
    color: #005bac; /* メインの青色 */
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 15px;
}

.form-description {
    color: #555;
    margin-bottom: 40px;
    font-size: 16px;
    line-height: 1.7;
}

/* --- 各入力グループ --- */
.form-group {
    margin-bottom: 25px;
    text-align: left;
}

.form-group label {
    display: flex;
    align-items: center;
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
    font-size: 15px;
}

/* --- 必須ラベルのデザイン --- */
.required {
    background-color: #005bac; /* メインの青色 */
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    padding: 3px 10px;
    border-radius: 4px;
    margin-left: 10px;
    line-height: 1;
}

/* --- 入力フィールドのデザイン --- */
.form-group input {
    width: 100%;
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 8px; /* 入力欄の角も丸くする */
    box-sizing: border-box;
    font-size: 16px;
    transition: all 0.3s ease;
}

/* --- 入力フィールドのフォーカス時 --- */
.form-group input:focus {
    outline: none;
    border-color: #ffb800; /* アクセントの黄色 */
    box-shadow: 0 0 10px rgba(255, 184, 0, 0.5); /* フォーカス時に黄色い影 */
}

/* --- 送信ボタン --- */
.submit-button {
    background-color: #005bac; /* メインの青色 */
    color: #fff;
    width: 100%;
    max-width: 320px;
    padding: 18px 30px;
    border: none;
    border-radius: 50px; /* 角を完全に丸くしてボタン状に */
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 91, 172, 0.3);
    margin-top: 20px;
}

.submit-button:hover {
    background-color: #004a8c; /* ホバー時少し暗くする */
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 91, 172, 0.4);
}


/* === サンクスページ用のスタイル === */
.thanks-description {
    margin-bottom: 40px;
    line-height: 1.8;
    font-size: 18px;
}

.button-wrapper {
    text-align: center;
    margin-top: 30px;
}

/* トップページへ戻るボタン */
.back-button {
    display: inline-block;
    background-color: #fff;
    color: #005bac;
    border: 2px solid #005bac;
    padding: 15px 30px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    transition: all 0.3s ease;
}

.back-button:hover {
    background-color: #005bac;
    color: #fff;
}