.shop_join_wrap{
	max-width:1320px;
	margin:60px auto;
	padding:45px 50px;
	border:1px solid #e5e5e5;
	border-radius:18px;
	background:#fff;
	font-family:Arial,'Noto Sans KR',sans-serif;
	box-sizing:border-box;
}

.shop_join_title{
	font-size:28px;
	font-weight:800;
	text-align:center;
	margin-bottom:35px;
	color:#222;
}

.shop_join_grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px 30px;
}

.shop_join_row{
	margin-bottom:0;
}

.shop_join_row label{
	display:block;
	font-size:14px;
	font-weight:700;
	color:#333;
	margin-bottom:7px;
}

.shop_join_row label span{
	color:#00a651;
}

.shop_join_full{
	grid-column:1 / 3;
}

.shop_join_input{
	width:100%;
	height:48px;
	border:1px solid #ddd;
	border-radius:10px;
	padding:0 14px;
	font-size:15px;
	box-sizing:border-box;
	outline:none;
	background:#fff;
}

.shop_join_input:focus{
	border-color:#00a651;
}

.shop_join_addr_line{
	display:flex;
	gap:10px;
	margin-bottom:8px;
}

.shop_join_zip{
	width:180px;
	flex-shrink:0;
}

.shop_join_addr_btn{
	width:130px;
	height:48px;
	border:1px solid #00a651;
	border-radius:10px;
	background:#fff;
	color:#00a651;
	font-size:14px;
	font-weight:700;
	cursor:pointer;
	flex-shrink:0;
}

.shop_join_addr_btn:hover{
	background:#00a651;
	color:#fff;
}

.shop_join_agree{
	margin:28px 0 22px;
	font-size:14px;
	color:#555;
	line-height:1.5;
	text-align:center;
}

.shop_join_agree input{
	vertical-align:middle;
	margin-right:5px;
}

.shop_join_btn{
	display:block;
	width:320px;
	height:52px;
	margin:0 auto;
	border:0;
	border-radius:10px;
	background:#00a651;
	color:#fff;
	font-size:16px;
	font-weight:700;
	cursor:pointer;
}

.shop_join_btn:hover{
	background:#008f46;
}


.shop_join_post_layer{
	display:none;
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.45);
	z-index:9999;
}

.shop_join_post_box{
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	width:520px;
	max-width:calc(100% - 30px);
	height:560px;
	background:#fff;
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 15px 40px rgba(0,0,0,.25);
}

.shop_join_post_head{
	height:52px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:0 18px;
	background:#00a651;
	color:#fff;
	font-size:16px;
	font-weight:700;
	box-sizing:border-box;
}

.shop_join_post_head button{
	border:0;
	background:transparent;
	color:#fff;
	font-size:30px;
	line-height:1;
	cursor:pointer;
}

.shop_join_post_area{
	width:100%;
	height:508px;
}

.shop_join_id_line{
	display:flex;
	gap:10px;
}

.shop_join_id_line .shop_join_input{
	flex:1;
}

.shop_join_id_btn{
	width:120px;
	height:48px;
	border:1px solid #00a651;
	border-radius:10px;
	background:#fff;
	color:#00a651;
	font-size:14px;
	font-weight:700;
	cursor:pointer;
	flex-shrink:0;
}

.shop_join_id_btn:hover{
	background:#00a651;
	color:#fff;
}

.shop_join_msg{
	margin-top:7px;
	font-size:13px;
	line-height:1.4;
}

.shop_join_msg.ok{
	color:#00a651;
}

.shop_join_msg.no{
	color:#e53935;
}

.shop_join_input_msg{
	margin-top:5px;
	font-size:12px;
	color:#e53935;
	min-height:18px;
}

.shop_join_btn_wrap{
	display:flex;
	justify-content:flex-end;
	gap:10px;
	margin:30px auto;
	width:400px;
}

.shop_join_btn{
	width:180px;
	height:52px;
	border:0;
	border-radius:10px;
	background:#00a651;
	color:#fff;
	font-size:16px;
	font-weight:700;
	cursor:pointer;
}

.shop_join_btn_gray{
	background:#666;
}

.shop_join_btn_gray:hover{
	background:#444;
}

.shop_join_btn:hover{
	background:#008d45;
}

@media all and (max-width:768px){
	.shop_join_wrap{
		max-width:none;
		margin:20px 0;
		padding:25px 15px;
		border:0;
		border-radius:0;
	}

	.shop_join_title{
		font-size:23px;
		margin-bottom:25px;
	}

	.shop_join_grid{
		display:block;
	}

	.shop_join_row{
		margin-bottom:15px;
	}

	.shop_join_full{
		grid-column:auto;
	}

	.shop_join_input{
		height:46px;
		font-size:14px;
	}

	.shop_join_addr_line{
		flex-direction:column;
		gap:8px;
	}

	.shop_join_zip{
		width:100%;
	}

	.shop_join_addr_btn{
		width:100%;
		height:46px;
	}

	.shop_join_agree{
		text-align:left;
		font-size:13px;
	}

	.shop_join_btn_wrap{
		margin:10px auto;
		width:100%;
		flex-direction:column;
		text-align:center;
	}

	.shop_join_btn{
		width:100%;
	}

	.shop_join_btn{
		width:100%;
		height:50px;
	}

	.shop_join_post_box{
		width:100%;
		max-width:100%;
		height:100%;
		border-radius:0;
	}

	.shop_join_post_area{
		height:calc(100% - 52px);
	}

	.shop_join_id_line{
		gap:8px;
	}

	.shop_join_id_btn{
		width:105px;
		height:46px;
		font-size:13px;
	}
}