.ing_join{
	width:100%;
	padding:70px 20px 90px;
	box-sizing:border-box;
	background:
		radial-gradient(circle at 10% 10%, rgba(35,93,255,0.06), transparent 28%),
		radial-gradient(circle at 90% 90%, rgba(0,174,255,0.08), transparent 30%),
		#f5f7fb;
	font-family:'Pretendard','Noto Sans KR',Arial,sans-serif;
}

.ing_join_inner{
	width:100%;
	max-width:1180px;
	min-height:850px;
	margin:0 auto;
	display:grid;
	grid-template-columns:1.05fr 0.95fr;
	background:#fff;
	border:1px solid rgba(19,49,100,0.08);
	border-radius:30px;
	overflow:hidden;
	box-shadow:0 30px 80px rgba(22,47,89,0.12);
}

.ing_join_visual{
	position:relative;
	display:flex;
	align-items:center;
	min-height:850px;
	padding:70px;
	box-sizing:border-box;
	overflow:hidden;
	background:
		linear-gradient(145deg, rgba(7,38,105,0.97), rgba(23,89,223,0.94)),
		#1249b8;
}

.ing_join_visual:before{
	content:"";
	position:absolute;
	left:-100px;
	bottom:-140px;
	width:430px;
	height:430px;
	border:1px solid rgba(255,255,255,0.12);
	border-radius:50%;
}

.ing_join_visual:after{
	content:"";
	position:absolute;
	top:-160px;
	right:-140px;
	width:460px;
	height:460px;
	border:1px solid rgba(255,255,255,0.12);
	border-radius:50%;
}

.ing_join_visual_content{
	position:relative;
	z-index:2;
	color:#fff;
}

.ing_join_visual_badge{
	display:inline-flex;
	align-items:center;
	height:34px;
	padding:0 15px;
	margin-bottom:28px;
	border:1px solid rgba(255,255,255,0.28);
	border-radius:50px;
	background:rgba(255,255,255,0.08);
	backdrop-filter:blur(10px);
	font-size:11px;
	font-weight:700;
	letter-spacing:2px;
	color:rgba(255,255,255,0.9);
}

.ing_join_visual h2{
	margin:0;
	font-size:44px;
	line-height:1.28;
	font-weight:700;
	letter-spacing:-2px;
	word-break:keep-all;
}

.ing_join_visual p{
	margin:26px 0 0;
	font-size:16px;
	line-height:1.8;
	font-weight:400;
	color:rgba(255,255,255,0.75);
	word-break:keep-all;
}

.ing_join_visual_line{
	width:42px;
	height:2px;
	margin:38px 0 25px;
	background:rgba(255,255,255,0.7);
}

.ing_join_visual_info{
	display:flex;
	flex-wrap:wrap;
	gap:10px 18px;
}

.ing_join_visual_info span{
	position:relative;
	padding-left:12px;
	font-size:10px;
	font-weight:600;
	letter-spacing:1px;
	color:rgba(255,255,255,0.65);
}

.ing_join_visual_info span:before{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	width:4px;
	height:4px;
	margin-top:-2px;
	border-radius:50%;
	background:#fff;
}

.ing_join_visual_circle{
	position:absolute;
	z-index:1;
	border-radius:50%;
	background:rgba(255,255,255,0.08);
	box-shadow:inset 0 0 25px rgba(255,255,255,0.04);
}

.ing_join_visual_circle1{
	top:90px;
	right:85px;
	width:85px;
	height:85px;
}

.ing_join_visual_circle2{
	right:45px;
	bottom:120px;
	width:150px;
	height:150px;
}

.ing_join_visual_circle3{
	left:65px;
	bottom:55px;
	width:34px;
	height:34px;
}

.ing_join_box{
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:45px 75px;
	box-sizing:border-box;
	background:#fff;
}

.ing_join_header{
	margin-bottom:27px;
	text-align:center;
}

.ing_join_logo{
	display:flex;
	justify-content:center;
	align-items:center;
	height:42px;
	margin-bottom:18px;
}

.ing_join_logo img{
	display:block;
	max-width:160px;
	max-height:42px;
	object-fit:contain;
}

.ing_join_header h1{
	margin:0;
	font-size:32px;
	line-height:1.3;
	font-weight:800;
	letter-spacing:-1.5px;
	color:#111827;
}

.ing_join_header p{
	margin:10px 0 0;
	font-size:13px;
	line-height:1.65;
	color:#7a8496;
	word-break:keep-all;
}

.ing_join_field{
	margin-bottom:15px;
}

.ing_join_input{
	position:relative;
	display:flex;
	align-items:center;
	height:59px;
	border:1px solid #dde3ed;
	border-radius:12px;
	background:#fff;
	box-sizing:border-box;
	transition:border-color 0.2s ease, box-shadow 0.2s ease;
}

.ing_join_input:focus-within{
	border-color:#245fd7;
	box-shadow:0 0 0 4px rgba(36,95,215,0.08);
}

.ing_join_input_icon{
	flex-shrink:0;
	width:54px;
	text-align:center;
	font-size:15px;
	color:#8b96a9;
	transition:color 0.2s ease;
}

.ing_join_input:focus-within .ing_join_input_icon{
	color:#215dd3;
}

.ing_join_input input{
	position:relative;
	z-index:1;
	width:100%;
	height:100%;
	padding:8px 17px 0 0;
	border:0;
	outline:0;
	background:transparent;
	box-sizing:border-box;
	font-size:14px;
	color:#172033;
}

.ing_join_input label{
	position:absolute;
	z-index:2;
	top:50%;
	left:54px;
	padding:0 5px;
	background:#fff;
	transform:translateY(-50%);
	font-size:14px;
	line-height:18px;
	font-weight:500;
	color:#9ba4b3;
	pointer-events:none;
	transition:
		top 0.2s ease,
		left 0.2s ease,
		transform 0.2s ease,
		font-size 0.2s ease,
		color 0.2s ease;
}

.ing_join_input input:focus + label,
.ing_join_input input:not(:placeholder-shown) + label{
	top:0;
	left:15px;
	transform:translateY(-50%);
	font-size:11px;
	font-weight:700;
	color:#215dd3;
}

/* 비밀번호 보기 버튼 */
.ing_join_password_view{
	position:relative;
	z-index:3;
	flex-shrink:0;
	width:48px;
	height:100%;
	padding:0;
	border:0;
	outline:0;
	background:transparent;
	font-size:14px;
	color:#9ba4b3;
	cursor:pointer;
	transition:color 0.2s ease;
}

.ing_join_password_view:hover{
	color:#215dd3;
}

/* 비밀번호 안전도 */
.ing_join_password_security{
	margin-top:10px;
	padding:0 3px;
}

.ing_join_security_top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:7px;
}

.ing_join_security_top span{
	font-size:11px;
	font-weight:600;
	color:#7c8799;
}

.ing_join_security_top strong{
	font-size:11px;
	font-weight:700;
	color:#9aa3b2;
}

.ing_join_security_bar{
	display:grid;
	grid-template-columns:repeat(5, 1fr);
	gap:5px;
}

.ing_join_security_bar span{
	display:block;
	height:5px;
	border-radius:10px;
	background:#e8ecf2;
	transition:background 0.2s ease;
}

.ing_join_password_security p{
	margin:7px 0 0;
	font-size:11px;
	line-height:1.45;
	color:#9aa3b2;
}

/* 1단계 */
.ing_join_security_level1 .ing_join_security_bar span.active{
	background:#ef4444;
}

.ing_join_security_level1 .ing_join_security_top strong,
.ing_join_security_level1 p{
	color:#ef4444;
}

/* 2단계 */
.ing_join_security_level2 .ing_join_security_bar span.active{
	background:#f97316;
}

.ing_join_security_level2 .ing_join_security_top strong,
.ing_join_security_level2 p{
	color:#f97316;
}

/* 3단계 */
.ing_join_security_level3 .ing_join_security_bar span.active{
	background:#eab308;
}

.ing_join_security_level3 .ing_join_security_top strong,
.ing_join_security_level3 p{
	color:#b58a00;
}

/* 4단계 */
.ing_join_security_level4 .ing_join_security_bar span.active{
	background:#22a8d8;
}

.ing_join_security_level4 .ing_join_security_top strong,
.ing_join_security_level4 p{
	color:#168bb5;
}

/* 5단계 */
.ing_join_security_level5 .ing_join_security_bar span.active{
	background:#16a34a;
}

.ing_join_security_level5 .ing_join_security_top strong,
.ing_join_security_level5 p{
	color:#15803d;
}

/* 비밀번호 일치 검사 */
.ing_join_password_match{
	margin:8px 3px 0;
	font-size:11px;
	line-height:1.4;
	color:#9aa3b2;
}

.ing_join_match_success{
	color:#15803d;
}

.ing_join_match_success:before{
	content:"✓";
	margin-right:5px;
	font-weight:700;
}

.ing_join_match_error{
	color:#dc2626;
}

.ing_join_match_error:before{
	content:"!";
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:13px;
	height:13px;
	margin-right:5px;
	border-radius:50%;
	background:#dc2626;
	font-size:9px;
	font-weight:700;
	color:#fff;
}

.ing_join_input_success{
	border-color:#22a860;
}

.ing_join_input_success:focus-within{
	border-color:#22a860;
	box-shadow:0 0 0 4px rgba(34,168,96,0.08);
}

.ing_join_input_success .ing_join_input_icon{
	color:#22a860;
}

.ing_join_input_error{
	border-color:#ef4444;
}

.ing_join_input_error:focus-within{
	border-color:#ef4444;
	box-shadow:0 0 0 4px rgba(239,68,68,0.08);
}

.ing_join_input_error .ing_join_input_icon{
	color:#ef4444;
}

.ing_join_submit{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	width:100%;
	height:60px;
	margin-top:8px;
	padding:0;
	border:0;
	border-radius:12px;
	background:linear-gradient(135deg,#123f9c,#2369e9);
	box-shadow:0 12px 25px rgba(31,91,213,0.22);
	font-size:15px;
	font-weight:700;
	color:#fff;
	cursor:pointer;
	transition:transform 0.2s ease, box-shadow 0.2s ease;
}

.ing_join_submit span{
	font-size:19px;
	font-weight:300;
	transition:transform 0.2s ease;
}

.ing_join_submit:hover{
	transform:translateY(-2px);
	box-shadow:0 16px 30px rgba(31,91,213,0.3);
}

.ing_join_submit:hover span{
	transform:translateX(4px);
}

.ing_join_login{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	margin-top:25px;
	padding:18px 22px;
	border:1px solid #e6eaf1;
	border-radius:12px;
	background:#f8faff;
}

.ing_join_login strong{
	display:block;
	margin-bottom:5px;
	font-size:13px;
	font-weight:700;
	color:#283449;
}

.ing_join_login p{
	margin:0;
	font-size:11px;
	line-height:1.5;
	color:#8a94a5;
}

.ing_join_login a{
	flex-shrink:0;
	display:flex;
	align-items:center;
	gap:7px;
	font-size:13px;
	font-weight:700;
	color:#215dd3;
	text-decoration:none;
}

.ing_join_login a span{
	font-size:16px;
	transition:transform 0.2s ease;
}

.ing_join_login a:hover span{
	transform:translateX(4px);
}

.ing_join_home{
	margin-top:20px;
	text-align:center;
}

.ing_join_home a{
	display:inline-flex;
	align-items:center;
	gap:7px;
	font-size:12px;
	color:#8a94a5;
	text-decoration:none;
	transition:color 0.2s ease;
}

.ing_join_home a:hover{
	color:#215dd3;
}

@media screen and (max-width:768px){

	.ing_join{
		padding:10px 0;
	}

	.ing_join_inner{
		display:block;
		min-height:0;
		border-radius:20px;
	}

	.ing_join_visual{
		display:none;
	}

	.ing_join_box{
		padding:42px 22px 35px;
	}

	.ing_join_header{
		margin-bottom:27px;
		text-align:center;
	}
	.ing_join_header p{
		margin:10px 0 0;
		font-size:13px;
		line-height:1.65;
		color:#7a8496;
		word-break:keep-all;
	}

	.ing_join_field{
		margin-bottom:16px;
	}

	.ing_join_input{
		height:57px;
		border-radius:10px;
	}

	.ing_join_input_icon{
		width:49px;
	}

	.ing_join_input label{
		left:49px;
	}

	.ing_join_input input:focus + label,
	.ing_join_input input:not(:placeholder-shown) + label{
		left:14px;
	}

	.ing_join_password_view{
		width:45px;
	}

	.ing_join_submit{
		height:57px;
		border-radius:10px;
	}

	.ing_join_login{
		align-items:flex-start;
		padding:18px;
	}

	.ing_join_login p{
		display:none;
	}

}

/* 약관 동의 */
.ing_join_agreement{
	margin:3px 0 13px;
	border:1px solid #e1e6ee;
	border-radius:12px;
	background:#fff;
	overflow:hidden;
}

.ing_join_agreement_all{
	display:flex;
	align-items:center;
	padding:15px 17px;
	border-bottom:1px solid #e8ecf2;
	background:#f7f9fc;
	box-sizing:border-box;
	cursor:pointer;
}

.ing_join_agreement_all input,
.ing_join_agreement_item input{
	position:absolute;
	width:1px;
	height:1px;
	opacity:0;
}

.ing_join_agreement_check{
	flex-shrink:0;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:20px;
	height:20px;
	margin-right:10px;
	border:1px solid #ccd4e0;
	border-radius:6px;
	background:#fff;
	box-sizing:border-box;
	font-size:10px;
	color:transparent;
	transition:all 0.2s ease;
}

.ing_join_agreement_all input:checked + .ing_join_agreement_check,
.ing_join_agreement_item input:checked + .ing_join_agreement_check{
	border-color:#215fd3;
	background:#215fd3;
	color:#fff;
}

.ing_join_agreement_all strong{
	font-size:13px;
	font-weight:700;
	color:#273348;
}

.ing_join_agreement_list{
	padding:5px 0;
}

.ing_join_agreement_item{
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:43px;
	padding:0 16px;
	box-sizing:border-box;
}

.ing_join_agreement_item label{
	display:flex;
	align-items:center;
	min-width:0;
	cursor:pointer;
}

.ing_join_agreement_text{
	font-size:12px;
	line-height:1.5;
	color:#5f6979;
	word-break:keep-all;
}

.ing_join_agreement_text em{
	display:inline-block;
	margin-right:5px;
	font-size:10px;
	font-style:normal;
	font-weight:700;
	color:#215fd3;
}

.ing_join_agreement_view{
	flex-shrink:0;
	display:flex;
	align-items:center;
	gap:6px;
	margin-left:10px;
	padding:5px 0 5px 8px;
	border:0;
	outline:0;
	background:transparent;
	font-size:11px;
	color:#8a94a5;
	cursor:pointer;
}

.ing_join_agreement_view i{
	font-size:9px;
	transition:transform 0.2s ease;
}

.ing_join_agreement_view.active{
	color:#215fd3;
}

.ing_join_agreement_view.active i{
	transform:rotate(180deg);
}

.ing_join_agreement_content{
	display:none;
	margin:0 15px 10px;
	padding:13px;
	border:1px solid #e3e8f0;
	border-radius:8px;
	background:#f8faff;
	box-sizing:border-box;
}

.ing_join_agreement_content.active{
	display:block;
}

.ing_join_agreement_content > strong{
	display:block;
	margin-bottom:8px;
	font-size:12px;
	font-weight:700;
	color:#273348;
}

.ing_join_agreement_scroll{
	max-height:105px;
	padding-right:8px;
	overflow-y:auto;
	font-size:11px;
	line-height:1.65;
	color:#778194;
}

.ing_join_agreement_scroll p{
	margin:0 0 10px;
}

.ing_join_agreement_scroll p:last-child{
	margin-bottom:0;
}

.ing_join_agreement_scroll strong{
	font-weight:700;
	color:#566174;
}
@media screen and (max-width:768px){

	.ing_join_agreement{
		margin-top:2px;
		border-radius:10px;
	}

	.ing_join_agreement_all{
		padding:14px;
	}

	.ing_join_agreement_item{
		padding:0 13px;
	}

	.ing_join_agreement_check{
		width:19px;
		height:19px;
		margin-right:8px;
	}

	.ing_join_agreement_text{
		font-size:11px;
	}

	.ing_join_agreement_view{
		font-size:10px;
	}

	.ing_join_agreement_content{
		margin-right:12px;
		margin-left:12px;
	}

}