/*
Theme Name: progrive Theme
Description: progrive Theme
Version: 1.0.0
*/

/* チェックボックスのスタイル */
.ss_grid .ss_input input[type="checkbox"],
.ss_grid .ss_input input[type="radio"] {
    margin: 0; /* デフォルトの余白をリセット */
    width: auto; /* デフォルトサイズを保持 */
    vertical-align: middle; /* テキストと高さを揃える */
}

/* 20241229 */
/* フォーム全体のスタイル */
.ss_container {
    max-width: 100%;
    margin: 0 auto;
    padding: 20px;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-family: Arial, sans-serif;
}

/* 必須マーク（※）の強調 */
.ss_user_notnull {
    color: #d9534f; /* 少し落ち着いた赤色 */
    font-weight: bold; /* 太字 */
    margin-left: 4px;
    font-size: 16px; /* わずかに大きく */
    vertical-align: middle; /* テキストと高さを揃える */
}

/* エラーメッセージのスタイル */
.error-message {
    color: red; /* 赤色 */
    font-weight: bold; /* 太字 */
    font-size: 14px; /* 適切なサイズ */
    margin-top: 5px; /* フォーム要素との間に余白 */
    display: none; /* 初期状態で非表示 */
}


.ss_privacy .ss_grid {
    /* スタイルをここに記述 */
    width: 100%;
    max-height: 300px; /* 必要に応じて高さを設定 */
    overflow-y: auto; /* 縦スクロールを有効化 */
    padding: 10px;
    background-color: #ffffff;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.6;
    box-sizing: border-box;
}

/* 個人情報の取り扱いタイトル */
.ss_privacy .ss_form_title {
    font-size: 18px; /* フォントサイズを大きく設定 */
    font-weight: bold; /* 太字で強調 */
    color: #333; /* 文字色を濃いグレーに設定 */
    margin-bottom: 10px; /* タイトル下に余白を追加 */
    text-align: left; /* 左寄せ */
    border-bottom: 2px solid #ccc; /* タイトル下にラインを追加 */
    padding-bottom: 5px; /* 下線との間に余白を追加 */
    padding-left: 10px;
}

/* フォーム全体を表形式に */
.ss_field {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #ddd; /* フィールド全体の枠線 */
    margin-bottom: 15px;
    padding: 10px;
    border-radius: 4px;
    background-color: #fff;
}

/* タイトル列のスタイル */
.ss_field .ss_form_title {
    flex: 0 0 30%; /* タイトル列の幅を固定 */
    font-size: 14px;
    font-weight: bold;
    color: #333;
    text-align: right;
    padding: 10px;
    border-right: 1px solid #ddd; /* タイトル列の右側の線 */
    box-sizing: border-box;
    background-color: #f9f9f9; /* タイトル背景色 */
}

/* 入力列のスタイル */
.ss_field .ss_grid {
    flex: 1 0 70%; /* 入力列の幅を調整 */
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 10px; /* 入力フィールド間の余白 */
}

/* 入力フィールド */
.ss_grid .ss_input input,
.ss_grid .ss_input textarea {
    width: 100%; /* 入力フィールドを全幅に */
    padding: 8px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}


/* コメントや補足テキスト */
.ss_rightComment,
.ss_bottomComment {
    font-size: 12px;
    color: #666;
    margin-top: 5px; /* コメントの余白 */
}

/* テキストエリアのスタイル */
.ss_grid .ss_input textarea {
    resize: vertical; /* 縦方向のみリサイズ可能 */
}

/* フォーカス時のスタイル */
.ss_grid .ss_input input:focus,
.ss_grid .ss_input textarea:focus {
    outline: 2px solid #007bff; /* フォーカス時の強調 */
}

/* ボタンエリア */
.ss_btnArea {
    text-align: center;
    margin-top: 20px;
}

/* スピナー（ロード中）のスタイル */
.ss_submit_loader .spinner {
    width: 30px;
    height: 30px;
    border: 3px solid #ccc;
    border-top: 3px solid #007bff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 20px auto;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}


/* チェックボックスおよびラジオボタンの配置 */
#ss_VisitorData\.attribute1 .ss_grid .ss_input {
    display: flex; /* 横並びに配置 */
    align-items: center; /* 縦方向の中央揃え */
    gap: 8px; /* チェックボックスと説明文の間に余白 */
}

/* 説明文のスタイル */
#ss_VisitorData\.attribute1 .ss_grid .ss_input label {
    font-size: 14px;
    color: #333;
    line-height: 1.4;
    cursor: pointer; /* ラベルをクリック可能に */
}

/* フォーカス時のスタイル */
.ss_grid .ss_input input:focus,
.ss_grid .ss_input textarea:focus {
    outline: 2px solid #007bff; /* フォーカス時の外枠 */
    background-color: #eef6ff; /* 背景色を少し明るく */
    border-color: #0056b3; /* 枠線を強調 */
}

/* フォーム全体を表形式に */
.ss_enquete_field {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #ddd; /* フィールド全体の枠線 */
    margin-bottom: 15px;
    padding: 10px;
    border-radius: 4px;
    background-color: #fff;
}

/* タイトル列のスタイル */
.ss_enquete_field .ss_enquete_title {
    flex: 0 0 30%; /* タイトル列の幅を固定 */
    font-size: 14px;
    font-weight: bold;
    color: #333;
    text-align: right;
    padding: 10px;
    border-right: 1px solid #ddd; /* タイトル列の右側の線 */
    box-sizing: border-box;
    background-color: #f9f9f9; /* タイトル背景色 */
}

/* 入力列のスタイル */
.ss_enquete_field .ss_grid {
    flex: 1 0 70%; /* 入力列の幅を調整 */
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 10px; /* 入力フィールド間の余白 */
}

/* ご用件のテキストボックスを特定してサイズを調整 */
.ss_enquete_field .ss_grid .ss_input textarea {
    width: 100%; /* 幅を100%に */
    height: 300px; /* 高さを300pxに設定 */
    padding: 10px; /* 内側の余白 */
    font-size: 14px; /* フォントサイズ */
    border: 1px solid #ccc; /* 枠線 */
    border-radius: 4px; /* 角を丸める */
    box-sizing: border-box; /* ボックスサイズを調整 */
    resize: vertical; /* ユーザーが高さを調整可能に */
}

/* 登録ボタンのスタイル */
.ss_btnArea input[type="button"] {
    width: 100%; /* ボタンを全幅にする場合は指定 */
    max-width: 200px; /* ボタンの幅を制限 */
    padding: 15px 20px; /* ボタンの内側余白 */
    font-size: 16px; /* フォントサイズを調整 */
    font-weight: bold; /* 太字にする */
    color: #ffffff; /* 文字色を白に */
    background-color: #004AAD; /* 背景色 */
    border: none; /* 枠線を削除 */
    border-radius: 8px; /* 角を丸くする */
    cursor: pointer; /* ホバー時にポインターを表示 */
    transition: all 0.3s ease; /* アクション時の滑らかな変化 */
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* 軽い影を付ける */
}

/* マウスオーバー時のスタイル */
.ss_btnArea input[type="button"]:hover {
    background-color: #003377; /* 背景色を少し暗く */
    color: #ffffff; /* 文字色を維持 */
    box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.2); /* 影を強調 */
    transform: scale(1.05); /* 少し大きく見せる */
}

/* フォーカス時のスタイル */
.ss_btnArea input[type="button"]:focus {
    outline: none; /* デフォルトのフォーカスアウトラインを削除 */
    box-shadow: 0px 0px 8px rgba(0, 74, 173, 0.8); /* フォーカス時の光る効果 */
}


