.opendailboxJ { display:none; }
.check_outin { display:inline-flex; align-items:center; flex-wrap:wrap; gap:5px; font-size:16px; line-height:1.8; }
.check_outin input { margin:0 3px 0 0; accent-color:#c80f18; cursor:pointer; }
.check_outin a { position:relative; color:#c80f18; font-weight:600; text-decoration:none; transition:.3s; }
.check_outin a:after { content:""; position:absolute; left:0; right:0; bottom:1px; height:1px; background:#c80f18; transform:scaleX(1); transform-origin:left center; transition:.3s; }
.check_outin a:hover { opacity:.75; }
.agree_lightbox { position:fixed; z-index:99999; inset:0; display:flex; align-items:center; justify-content:center; padding:30px; opacity:0; visibility:hidden; transition:opacity .3s ease,visibility .3s ease; }
.agree_lightbox.is-open { opacity:1; visibility:visible; }
.agree_lightbox_mask { position:absolute; inset:0; background:rgba(15,15,18,.72); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
.agree_lightbox_box { position:relative; z-index:2; display:flex; flex-direction:column; width:min(760px,100%); max-height:min(780px,calc(100vh - 60px)); background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.28); transform:translateY(20px) scale(.98); transition:transform .35s cubic-bezier(.22,.8,.3,1); }
.agree_lightbox.is-open .agree_lightbox_box { transform:translateY(0) scale(1); }
.agree_lightbox_box:before { content:""; position:absolute; z-index:5; left:0; top:0; width:100%; height:4px; background:#c80f18; }
.agree_lightbox_head { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 28px 20px; border-bottom:1px solid #ececec; }
.agree_lightbox_title { position:relative; padding-left:16px; color:#222; font-size:22px; font-weight:700; line-height:1.5; }
.agree_lightbox_title:before { content:""; position:absolute; left:0; top:.3em; width:4px; height:1.05em; border-radius:10px; background:#c80f18; }
.agree_lightbox_close { position:relative; flex:0 0 38px; width:38px; height:38px; padding:0; border:0; border-radius:50%; background:#f5f5f5; cursor:pointer; transition:.3s; }
.agree_lightbox_close span { position:absolute; left:11px; top:18px; width:16px; height:1.5px; background:#333; transition:.3s; }
.agree_lightbox_close span:first-child { transform:rotate(45deg); }
.agree_lightbox_close span:last-child { transform:rotate(-45deg); }
.agree_lightbox_close:hover { background:#c80f18; }
.agree_lightbox_close:hover span { background:#fff; }
.agree_lightbox_notice { flex:0 0 auto; display:flex; align-items:center; gap:10px; margin:18px 28px 0; padding:12px 16px; color:#6c3033; font-size:14px; line-height:1.6; background:#fff6f6; border:1px solid rgba(200,15,24,.15); border-radius:8px; }
.notice_icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 22px; width:22px; height:22px; color:#fff; font-size:13px; font-weight:700; border-radius:50%; background:#c80f18; }
.agree_lightbox_scroll { flex:1 1 auto; min-height:0; margin-top:18px; padding:4px 28px 30px; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#c80f18 #eee; }
.agree_lightbox_scroll::-webkit-scrollbar { width:7px; }
.agree_lightbox_scroll::-webkit-scrollbar-track { background:#eee; border-radius:20px; }
.agree_lightbox_scroll::-webkit-scrollbar-thumb { background:#c80f18; border-radius:20px; }
.agree_lightbox_content { color:#444; font-size:16px; line-height:2; word-break:break-word; }
.agree_lightbox_content p { margin:0 0 15px; }
.agree_lightbox_content img { max-width:100%; height:auto; }
.agree_lightbox_content a { color:#c80f18; }
.agree_read_end { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:28px; padding:14px; color:#999; font-size:14px; background:#f7f7f7; border-radius:8px; opacity:.5; transition:.3s; }
.agree_read_icon { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; color:#fff; font-size:12px; border-radius:50%; background:#aaa; transition:.3s; }
.agree_read_end.is-done { color:#387443; background:#f1f8f2; opacity:1; }
.agree_read_end.is-done .agree_read_icon { background:#438d51; }
.agree_lightbox_footer { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 28px; background:#fafafa; border-top:1px solid #eaeaea; }
.agree_read_status { display:flex; align-items:center; gap:8px; color:#777; font-size:14px; }
.status_dot { position:relative; width:9px; height:9px; border-radius:50%; background:#c80f18; }
.status_dot:after { content:""; position:absolute; inset:-4px; border:1px solid rgba(200,15,24,.3); border-radius:50%; animation:agreePulse 1.5s infinite; }
.agree_read_status.is-done { color:#3e7c48; }
.agree_read_status.is-done .status_dot { background:#438d51; }
.agree_read_status.is-done .status_dot:after { display:none; }
.agree_finish_btn {width: unset;min-width: 130px;height:44px;padding:0 22px;color:#999;font-size:14px;font-weight:600;border:0;border-radius:7px;background:#e9e9e9;cursor:not-allowed;transition:.3s;}
.agree_finish_btn.is-enabled { color:#fff; background:#c80f18; cursor:pointer; box-shadow:0 8px 20px rgba(200,15,24,.2); }
.agree_finish_btn.is-enabled:hover { background:#a90c14; transform:translateY(-1px); }
.agree_toast { position:fixed; z-index:100001; left:50%; top:30px; display:flex; align-items:center; gap:10px; max-width:calc(100% - 30px); padding:13px 18px; color:#fff; font-size:15px; line-height:1.5; background:#292929; border-left:4px solid #c80f18; border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,.2); opacity:0; visibility:hidden; transform:translate(-50%,-15px); transition:.3s; pointer-events:none; }
.agree_toast span{color: white;}
.agree_toast.is-show { opacity:1; visibility:visible; transform:translate(-50%,0); }
.agree_toast_icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 20px; width:20px; height:20px; color:#fff; font-size:12px; font-weight:bold; border-radius:50%; background:#c80f18; }
body.agree-lock { overflow:hidden; }
@keyframes agreePulse { 0% { transform:scale(.8); opacity:1; } 100% { transform:scale(1.7); opacity:0; } }
@media screen and (max-width:767px) {
	.agree_lightbox { align-items:flex-end; padding:15px; }
	.agree_lightbox_box { max-height:calc(100dvh - 30px); border-radius:15px; }
	.agree_lightbox_head { padding:22px 18px 16px; }
	.agree_lightbox_title { padding-right:5px; font-size:18px; }
	.agree_lightbox_notice { margin:14px 18px 0; padding:10px 12px; font-size:13px; }
	.agree_lightbox_scroll { padding:2px 18px 24px; }
	.agree_lightbox_content { font-size:15px; line-height:1.9; }
	.agree_lightbox_footer { display:block; padding:14px 18px 18px; }
	.agree_read_status { margin-bottom:10px; font-size:13px; }
	.agree_finish_btn { width:100%; }
}