/* ============================
   タイトル（楽天完全一致）
============================ */
.rk-title {
    font-size: 20px;
    font-weight: bold;
    color: #0A1A2F;
    margin-bottom: 20px;
}

/* ============================
   ラベル（楽天完全一致）
============================ */
.rk-label {
    font-size: 14px;
    color: #0A1A2F;
    margin-bottom: 6px;
    display: block;
}

/* ============================
   入力欄（楽天完全一致）
============================ */
.rk-input {
    width: 100%;
    padding: 12px;
    border: 1px solid #D5DCE2;
    border-radius: 6px;
    margin-bottom: 6px; /* ←楽天と同じ */
    font-size: 15px;
}

/* ============================
   エラー文（楽天完全一致）
============================ */
.rk-error {
    color: #D60000;
    font-size: 13px;
    margin: 4px 0 16px 0; /* ←楽天と同じ距離感 */
}
.hidden { display: none; }

/* ============================
   次へボタン（楽天完全一致→Rakousカラー）
============================ */
.rk-btn-primary {
    width: 100%;
    height: 48px; /* ←楽天と同じ */
    background: #1E5FBF; /* Rakous Royal Blue */
    color: #FFFFFF;
    border: none;
    border-radius: 6px; /* ←楽天と同じ */
    font-size: 16px;
    cursor: pointer;
}
.rk-btn-primary:hover {
    background: #1a54a8;
}

/* ============================
   ローディング（ブランドカラー）
============================ */
.rk-loading {
    width: 28px;
    height: 28px;
    border: 3px solid #1E5FBF;
    border-top-color: transparent;
    border-radius: 50%;
    margin: 16px auto 0;
    animation: spin .7s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ============================
   下部テキスト（楽天完全一致）
============================ */
.rk-footer-text {
    font-size: 12px;
    color: #6A7A8A;
    margin-top: 24px;
    line-height: 1.6;
}

/* ============================
   下部リンク（楽天完全一致）
============================ */
.rk-footer-links {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-footer-links a {
    font-size: 14px;
    font-weight: 400; /* ←楽天と同じ */
    color: #1E5FBF;
    text-decoration: none;
}

.rk-footer-links a:hover {
    text-decoration: underline;
}

/* 下部の横並びリンク（ヘルプ / 個人情報保護方針 / 会員規約） */
.rk-footer-sub {
    display: flex;
    gap: 16px;
    font-size: 13px;
}

/* コピーライト */
.rk-copy {
    font-size: 12px;
    color: #6A7A8A;
    margin-top: 12px;
}

/* ============================
   旧クラス（互換性維持）
============================ */
.title { color:#0A1A2F; font-size:22px; margin-bottom:20px; }
.label { color:#0A1A2F; font-size:14px; margin-bottom:6px; display:block; }
.input {
    width:100%; padding:12px; border:1px solid #D5DCE2;
    border-radius:6px; margin-bottom:20px;
}
.btn-primary {
    width:100%; padding:12px; background:#1E5FBF; color:#fff;
    border:none; border-radius:8px; font-size:16px; cursor:pointer;
}
.btn-primary:hover { background:#1a54a8; }

.loading {
    width:28px; height:28px; border:3px solid #1E5FBF;
    border-top-color:transparent; border-radius:50%;
    margin:16px auto 0; animation:spin .7s linear infinite;
}
.link { color:#1E5FBF; }
.note { color:#6A7A8A; font-size:12px; margin-top:20px; }
.email-display { color:#0A1A2F; margin-bottom:20px; }
/* 楽天風の中央カードレイアウト */
.rk-container {
    width: 100%;
    min-height: 100vh;
    background-color: #F4F5FA;
    display: flex;
    justify-content: center;
    align-items: center;
}

.rk-modal {
    width: 100%;
    max-width: 420px;
    background: #FFFFFF;
    padding: 32px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    box-sizing: border-box;
}