@charset "utf-8";
/* Shared by the desktop and mobile registration skins; inherit the site's theme. */
.royal-modern .royal-register { width:100%; max-width:860px; margin:0 auto 32px; color:var(--rd-text); font-size:15px; line-height:1.65; text-align:left; }
.royal-register, .royal-register * { box-sizing:border-box; }
.royal-register .royal-register-heading { padding:24px 0 20px; }
.royal-register .royal-register-eyebrow { color:var(--rd-blue); font-size:13px; font-weight:700; }
.royal-register .royal-register-heading h1 { position:static; width:auto; height:auto; margin:6px 0; font-size:28px; line-height:1.4; font-weight:700; color:var(--rd-text); }
.royal-register .royal-register-heading p { margin:0; color:var(--rd-muted); }
.royal-register .royal-register-steps { display:grid; grid-template-columns:1fr 1fr; gap:0; list-style:none; padding:0; margin:0 0 24px; border:1px solid var(--rd-border); background:var(--rd-surface); }
.royal-register .royal-register-steps li { padding:14px 18px; color:var(--rd-muted); font-weight:600; border-bottom:3px solid transparent; }
.royal-register .royal-register-steps li + li { border-left:1px solid var(--rd-border); }
.royal-register .royal-register-steps span { font-size:12px; margin-right:8px; }
.royal-register .royal-register-steps .is-current { color:var(--rd-blue); background:var(--rd-tint); border-bottom-color:var(--rd-blue); }
.royal-register #fregister > p { height:auto; line-height:1.7; text-align:left; padding:16px 20px; margin:0 0 20px; font-size:14px; font-weight:400; background:var(--rd-tint); color:var(--rd-text); border:1px solid var(--rd-border); border-radius:0; }
.royal-register #fregister > p::before { display:none; }
.royal-register #fregister section, .royal-register #fregisterform .register_form_inner { background:var(--rd-surface); border:1px solid var(--rd-border); border-radius:0; margin:0 0 20px; overflow:visible; }
.royal-register #fregister h2, .royal-register #register_form h2 { padding:18px 22px; margin:0; border-bottom:1px solid var(--rd-border); color:var(--rd-text); font-size:18px; font-weight:700; line-height:1.5; background:transparent; }
.royal-register #fregister textarea { height:230px; resize:vertical; padding:20px 22px; border:0; background:var(--rd-surface); color:var(--rd-muted); font:inherit; font-size:14px; line-height:1.8; }
.royal-register #fregister .fregister_terms > div { padding:20px 22px; background:var(--rd-surface); }
.royal-register #fregister table { width:100%; table-layout:fixed; font-size:14px; color:var(--rd-text); }
.royal-register #fregister th, .royal-register #fregister td { padding:12px; border:1px solid var(--rd-border); word-break:normal; overflow-wrap:anywhere; vertical-align:top; }
.royal-register #fregister th { background:var(--rd-alt); color:var(--rd-text); font-weight:600; }
.royal-register #fregister td { background:var(--rd-surface); }
.royal-register #fregister .fregister_agree { position:static; display:flex; align-items:center; gap:10px; padding:14px 22px; margin:0; border:0; border-top:1px solid var(--rd-border); background:var(--rd-alt); text-align:left; line-height:1.6; min-width:0; }
.royal-register #fregister #fregister_chkall { border:1px solid var(--rd-border); margin:0 0 20px; border-radius:0; }
.royal-register #fregister .fregister_agree label { display:flex; align-items:center; min-height:32px; margin:0; color:var(--rd-text); font-size:14px; cursor:pointer; }
.royal-register #fregister .fregister_agree label b { font-weight:500; }
.royal-register #fregister .fregister_agree label > span { display:none; }
.royal-register input[type=checkbox].selec_chk { position:static; appearance:auto; -webkit-appearance:checkbox; opacity:1; width:18px; height:18px; flex:0 0 18px; margin:0; accent-color:#2459e7; clip:auto; clip-path:none; }
.royal-register #register_form { background:transparent; margin:0; }
.royal-register #register_form .register_form_inner > ul { padding:22px; margin:0; list-style:none; }
.royal-register #register_form .register_form_inner > ul::after { display:block; content:""; clear:both; }
.royal-register #register_form li { margin-bottom:20px; }
.royal-register #register_form li:last-child { margin-bottom:0; }
.royal-register #register_form li:empty { display:none; }
.royal-register #register_form label { color:var(--rd-text); font-size:14px; line-height:1.7; margin-bottom:8px; font-weight:600; }
.royal-register #register_form .half_input { width:calc(50% - 8px); float:left; }
.royal-register #register_form .half_input.margin_input { margin-right:16px; }
.royal-register #fregisterform .frm_input, .royal-register #fregisterform textarea, .royal-register #fregisterform select, .royal-register #captcha_key { max-width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--rd-border); border-radius:0; background:var(--rd-alt); color:var(--rd-text); box-shadow:none; font:inherit; font-size:16px; line-height:1.5; }
.royal-register #fregisterform .full_input { width:100%; }
.royal-register #fregisterform .required { background-image:none!important; }
.royal-register #fregisterform input::placeholder, .royal-register #fregisterform textarea::placeholder { color:var(--rd-muted); opacity:1; font-size:14px; }
.royal-register #fregisterform input[readonly] { background:var(--rd-bg); color:var(--rd-muted); }
.royal-register #fregisterform input:focus, .royal-register #fregisterform textarea:focus, .royal-register #fregister textarea:focus { outline:2px solid var(--rd-blue); outline-offset:2px; border-color:var(--rd-blue); box-shadow:none; }
.royal-register input:-webkit-autofill { -webkit-text-fill-color:var(--rd-text); -webkit-box-shadow:0 0 0 1000px var(--rd-alt) inset!important; }
.royal-register #fregisterform .royal-register-notice { margin:20px 22px 0; padding:14px 16px; border-left:3px solid var(--rd-blue); background:var(--rd-tint); color:var(--rd-text); font-size:14px; line-height:1.7; }
.royal-register .royal-register-notice strong { display:block; margin-bottom:4px; }
.royal-register #fregisterform #verification_section { margin:14px 0 0; }
.royal-register #fregisterform #verification_section > br { display:none; }
.royal-register #fregisterform .btn_submit, .royal-register #fregisterform .btn_frmline, .royal-register .btn_confirm .btn_submit, .royal-register .btn_confirm .btn_close { display:inline-flex; align-items:center; justify-content:center; vertical-align:middle; min-height:46px; height:auto; padding:10px 18px; border:1px solid transparent; border-radius:0; font:inherit; font-size:14px; font-weight:700; line-height:1.5; text-decoration:none; cursor:pointer; background:#2459e7; color:#fff; }
.royal-register #fregisterform .btn_frmline, .royal-register .btn_confirm .btn_close { background:var(--rd-surface); border-color:var(--rd-border); color:var(--rd-text); }
.royal-register .btn_confirm { display:flex; gap:12px; margin:24px 0 0; padding:0; }
.royal-register .btn_confirm .btn_submit, .royal-register .btn_confirm .btn_close { float:none; flex:1; width:auto; margin:0; min-height:50px; height:auto!important; font-size:16px; }
.royal-register .btn_confirm .btn_submit:hover, .royal-register #fregisterform .btn_submit:hover { background:#1c48c3; color:#fff; }
.royal-register .btn_confirm .btn_close:hover, .royal-register #fregisterform .btn_frmline:hover { background:var(--rd-alt); }
.royal-register #fregisterform .btn_submit.disabled, .royal-register #fregisterform button:disabled { background:var(--rd-alt); color:var(--rd-muted); border-color:var(--rd-border); cursor:not-allowed; }
.royal-register a:focus-visible, .royal-register button:focus-visible, .royal-register input[type=checkbox]:focus-visible { outline:2px solid var(--rd-blue); outline-offset:3px; }
.royal-register #fregisterform .chk_box { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:8px 0; }
.royal-register #fregisterform .chk_box label { display:inline-flex; margin:0; }
.royal-register #fregisterform .chk_box label > span { display:none; }
.royal-register #fregisterform .chk_li { padding:0; color:var(--rd-text); font-size:14px; }
.royal-register #fregisterform .tooltip_icon { color:var(--rd-muted); min-width:28px; min-height:28px; }
.royal-register #fregisterform .tooltip { background:var(--rd-text); color:var(--rd-surface); max-width:min(360px,80vw); opacity:1; }
.royal-register #fregisterform .tooltip::before { border-right-color:var(--rd-text); }
.royal-register #fregisterform .cert_desc, .royal-register #fregisterform .frm_info { color:var(--rd-muted); }
.royal-register #fregisterform #msg_certify { border-color:var(--rd-border); background:var(--rd-tint); color:var(--rd-text); }
.royal-register #fregisterform #countdown_timer { color:#b42335!important; }
html[data-theme=dark] .royal-register #fregisterform #countdown_timer { color:#ff9da9!important; }
.royal-register #sns_register { margin:0 0 20px; padding:20px; border:1px solid var(--rd-border); background:var(--rd-surface); }
.royal-register #sns_register h2 { padding:0 0 12px; color:var(--rd-text); font-size:16px; }
.royal-register #sns_register p { background:transparent; color:var(--rd-muted); }
.royal-register #captcha { max-width:100%; padding:0; background:transparent; color:var(--rd-text); }
.royal-register #captcha #captcha_info { color:var(--rd-muted); line-height:1.7; white-space:normal; }
.royal-register #captcha #captcha_key { background:var(--rd-alt); color:var(--rd-text); }
html[data-theme=dark] .royal-register { color-scheme:dark; }
@media(max-width:767px) {
 .royal-modern .royal-register { font-size:14px; margin-bottom:24px; }
 .royal-register .royal-register-heading { padding:16px 0; }
 .royal-register .royal-register-heading h1 { font-size:24px; }
 .royal-register .royal-register-steps { margin-bottom:16px; }
 .royal-register .royal-register-steps li { padding:12px 10px; font-size:13px; }
 .royal-register .royal-register-steps span { margin-right:4px; }
 .royal-register #fregister > p { padding:14px; }
 .royal-register #fregister h2, .royal-register #register_form h2 { padding:16px; font-size:17px; }
 .royal-register #fregister textarea { padding:16px; height:210px; }
 .royal-register #fregister .fregister_terms > div { padding:12px; }
 .royal-register #fregister th, .royal-register #fregister td { padding:9px 6px; font-size:12px; }
 .royal-register #fregister .fregister_agree { padding:12px 16px; }
 .royal-register #register_form .register_form_inner > ul { padding:16px; }
 .royal-register #register_form .half_input { width:100%; float:none; margin-right:0; }
 .royal-register #fregisterform .royal-register-notice { margin:16px 16px 0; }
 .royal-register #reg_mb_hp, .royal-register #verify_code { width:100%; margin-bottom:8px; }
 .royal-register #sms_send_btn, .royal-register #sms_check_btn { width:100%; }
 .royal-register #register_form li:has(> #reg_mb_hp) > br { display:none; }
 .royal-register .btn_confirm { gap:8px; }
 .royal-register .btn_confirm .btn_submit, .royal-register .btn_confirm .btn_close { font-size:14px; padding:12px 8px; }
 .royal-register #captcha #captcha_key { margin-top:8px; }
}
/* Override legacy global dark form rules only on these two screens. */
.royal-register input[type=checkbox].selec_chk { z-index:auto; overflow:visible; }
.royal-modern:has(.royal-register), .royal-modern #nt_body:has(.royal-register), .royal-modern .royal-register { background-color:var(--rd-bg)!important; color:var(--rd-text)!important; }
html[data-theme=dark] .royal-register #fregisterform .register_form_inner { background-color:var(--rd-surface)!important; border-color:var(--rd-border)!important; }
html[data-theme=dark] .royal-register #fregister textarea { background-color:var(--rd-surface)!important; color:var(--rd-muted)!important; border-color:var(--rd-border)!important; }
html[data-theme=dark] .royal-register #fregisterform input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]), html[data-theme=dark] .royal-register #fregisterform textarea, html[data-theme=dark] .royal-register #fregisterform select { background-color:var(--rd-alt)!important; color:var(--rd-text)!important; border-color:var(--rd-border)!important; }
html[data-theme=dark] .royal-register #fregisterform input[readonly] { background-color:var(--rd-bg)!important; color:var(--rd-muted)!important; }
html[data-theme=dark] .royal-register .royal-register-heading p { color:var(--rd-muted)!important; }
.royal-register #sns_register:not(:has(.sns-wrap a)) { display:none; }
/* Mobile's legacy skin has extra panel padding and no tooltip base styles. */
.royal-modern .royal-register { padding:0; }
.royal-register #fregister section { padding:0; }
.royal-register #fregisterform .tooltip_icon { border:0; background:transparent; padding:2px 4px; cursor:pointer; }
.royal-register #fregisterform .tooltip { display:none; position:absolute; z-index:20; padding:10px 12px; font-family:inherit; font-size:13px; line-height:1.7; font-weight:400; border-radius:0; margin:6px 0 0; }
.royal-register #fregisterform .tooltip::before { display:none; }
.royal-register #fregisterform .chk_box label { padding:0; }

html[data-theme=dark] .royal-register #fregister th { background-color:var(--rd-alt)!important; color:var(--rd-text)!important; border-color:var(--rd-border)!important; }
html[data-theme=dark] .royal-register #fregister td { background-color:var(--rd-surface)!important; color:var(--rd-text)!important; border-color:var(--rd-border)!important; }
