@charset "UTF-8";
/**
 * 1ページ完結型 会員登録フォーム固有CSS
 * 共通部分は register-common.css を参照
 */

/* ============================================
   セクション区切り
============================================ */
.form-section {
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 1px solid #eee;
}
.form-section:last-child {
    border-bottom: none;
}

/* ============================================
   バリデーションエラーメッセージ
============================================ */
.form-section > .error,
#facultySection > .error,
#departmentSection > .error {
    display: inline-block;
    padding: 5px 10px;
    color: #fff;
    background-color: #E3002D;
    position: relative;
    margin-top: 10px;
}
.form-section > .error::before,
#facultySection > .error::before,
#departmentSection > .error::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 6px 8px 6px;
    border-color: transparent transparent #E3002D transparent;
}

/* ============================================
   レスポンシブ（1ページ型固有）
============================================ */
@media (max-width: 768px) {
    .form-section {
        margin-bottom: 30px;
        padding-bottom: 20px;
    }
}

/* =========================================================
 * V2 (サジェスト方式) 専用スタイル
 * ========================================================= */
.suggest-wrap {
    position: relative;
    margin-bottom: 16px;
}
.suggest-input-wrap {
    position: relative;
}
.suggest-input {
    width: 100%;
    padding-right: 70px;
}
.suggest-loading {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: #888;
}
.suggest-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 10;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    max-height: 280px;
    overflow-y: auto;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}
.suggest-item {
    padding: 10px 14px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
}
.suggest-item:hover {
    background: #f5f9ff;
}
.suggest-item:last-child {
    border-bottom: none;
}
.suggest-empty {
    margin-top: 8px;
    color: #999;
    font-size: 13px;
}
