/* =========================
COMMON
========================= */

/* ---------------------------
Subpage Banner
--------------------------- */

.subpage_banner{

	position:relative;
	height:362px;
	margin-top:70px;
	color:#fff;

}

.subpage_banner::after{

	content:"";
	position:absolute;
	inset:0;
	background:rgba(0,0,0,0.5);

}

.subpage_banner_inner{

	position:relative;
	z-index:2;

	height:100%;

	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;

	text-align:center;

}

.subpage_banner h1{

	font-size:56px;
	font-weight:700;
	margin-bottom:40px;

}

.subpage_banner p{

	font-size:22px;

}

#pre-registration,
#registration-info{
	background:#f7f7f7;
}

#pre-registration .container,
#registration-info .container{
	padding: 120px 20px 80px;
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
}

.page_title{
	text-align:center;
	font-size:32px;
	font-weight:700;
	margin-bottom:40px;
}


#pre-registration .subpage_banner_bg,
#registration-info .subpage_banner_bg{
	position:absolute;
	inset:0;
	background:url("/images/slider02.png") center/cover no-repeat;
}

/* =========================
TOP TAB
========================= */

.top_tabs{
	display:flex;
	justify-content:center;
	gap:15px;
	margin-bottom:40px;
}

.top_tabs .tab{
	padding:14px 40px;
	border-radius:8px;
	border:2px solid #790000;
	color:#790000;
	text-decoration:none;
	font-weight:600;
}

.top_tabs .tab.active{
	background:#790000;
	color:#fff;
}

/* =========================
FORM
========================= */

.registration_form,
.check_form{
	background:#fff;
	border-radius:10px;
	padding:30px;
	box-shadow:0 5px 20px rgba(0,0,0,0.08);
}

.form_row{
	display:grid;
	grid-template-columns:120px 1fr 120px 1fr;
	border-top:1px solid #eee;
	border-bottom:1px solid #eee;
}

.form_row + .form_row{
	border-top:none;
}

.form_row:last-child{
	border-bottom:none;
}

.label{
	background:#fafafa;
	padding:18px;
	font-weight:600;
	display:flex;
	align-items:center;
}

.field{
	padding:15px;
	display:flex;
	align-items:center;
	gap:20px;
}

.field.full{
	grid-column:span 3;
}

input[type=text]{
	width:100%;
	padding:12px;
	border:1px solid #ddd;
	border-radius:6px;
	font-size:15px;
}


.registration_form input[readonly]{
	background:#f5f5f5;
	color:#666;
	cursor:not-allowed;
}

.radio_group{
	display:flex;
	flex-wrap:wrap;
	gap:12px 20px;
}

.radio_group label{
	display:flex;
	align-items:center;
	gap:6px;
	padding:6px 10px;
	cursor:pointer;
}

/* =========================
AGE
========================= */

.age{
	flex-wrap:wrap;
	gap:20px;
}

/* =========================
ROUTE
========================= */

.route_box{
	margin-top:30px;
}

.route_title{
	font-size:18px;
	font-weight:600;
	margin-bottom:15px;
}

.route_title span{
	font-size:14px;
	color:#666;
}

.route_list{
	display:grid;
	gap:12px;
}

.route_list label{
	display:flex;
	gap:10px;
	align-items:center;
}

/* =========================
AGREE
========================= */

/* 개인정보 약관 */

.agree_box{

	background:#fafafa;
	border:1px solid #e5e5e5;
	border-radius:8px;

	padding:20px;

	margin-top:30px;

	font-size:14px;
	line-height:1.7;

	max-height:200px;
	overflow-y:auto;
}


/* 체크박스 */

.agree_check{

	display:flex;
	align-items:center;
	gap:10px;

	margin-top:15px;

	font-size:15px;
	font-weight:600;

	cursor:pointer;
}


.agree_check input{

	width:18px;
	height:18px;
	cursor:pointer;
}

/* =========================
BUTTON
========================= */

.submit_btn{
	display:block;
	margin:40px auto 0;
	background:#790000;
	color:#fff;
	border:none;
	padding:16px 60px;
	font-size:18px;
	border-radius:8px;
	cursor:pointer;
}

.submit_btn:hover{
	background:#9e0b0f;
}

/* ---------------------------
Registration Finished
--------------------------- */



#registration-finished{
	background:#f7f7f7;
}

#registration-finished .container{
	padding:120px 20px 80px;
}

#registration-finished .subpage_banner_bg{
	position:absolute;
	inset:0;
	background:url("/images/slider02.png") center/cover no-repeat;
}

#registration-finished .finished_wrap{

	max-width:700px;
	margin:0 auto;
	background:#fff;

	padding:60px 40px;

	border-radius:12px;
	box-shadow:0 10px 30px rgba(0,0,0,0.05);

}

#registration-finished .finished_icon{

	font-size:60px;
	margin-bottom:20px;
	color:#1bb39b;

}

#registration-finished h2{

	font-size:28px;
	font-weight:700;
	color:#1bb39b;

	margin-bottom:20px;

}

#registration-finished p{

	font-size:16px;
	color:#555;
	line-height:1.7;

	margin-bottom:15px;

}

#registration-finished .point{

	color:#1bb39b;
	font-weight:600;

}

#registration-finished .event_list{

	margin-top:25px;
	margin-bottom:35px;

	list-style:none;
	padding:0;

}

#registration-finished .event_list li{

	margin:8px 0;
	color:#444;
	font-size:15px;

}

#registration-finished .event_list li::before{

	content:"★";
	color:#1bb39b;
	margin-right:6px;

}

#registration-finished .submit_btn{

	display:inline-block;

	padding:14px 32px;
	background:#eee;

	border-radius:6px;

	font-size:15px;
	color:#333;
	text-decoration:none;

	transition:all .2s;

}

#registration-finished .submit_btn:hover{

	background:#ddd;

}

/* =========================
MOBILE
========================= */

@media (max-width:768px){

	.agree_box{

		font-size:13px;
		padding:16px;

		max-height:180px;
	}

	.agree_check{

		font-size:14px;
	}

	.form_row{
		grid-template-columns:1fr;
	}

	.label{
		background:none;
		padding:10px 0 5px;
	}

	.field{
		padding:0 0 15px;
	}

	.field.full{
		grid-column:auto;
	}

	.top_tabs .tab{
		padding:12px 20px;
		font-size:14px;
	}

	.page_title{
		font-size:24px;
	}

	#registration-finished .finished_wrap{

		padding:40px 25px;

	}

	#registration-finished .finished_icon{

		font-size:46px;
		margin-bottom:15px;

	}

	#registration-finished h2{

		font-size:22px;
		line-height:1.4;

	}

	#registration-finished p{

		font-size:15px;
		line-height:1.6;

	}

	#registration-finished .event_list{

		margin-top:20px;
		margin-bottom:25px;

	}

	#registration-finished .event_list li{

		font-size:14px;
		line-height:1.5;

	}

	#registration-finished .submit_btn{

		width:100%;
		padding:14px;

		font-size:15px;

	}

}





/* =========================
COMPANY REG BOOTH
========================= */

#company_reg_booth{

	background:#fff;
	color:#222;
	font-size:14px;

}

#company_reg_booth .container{

	width:100%;
	max-width:800px;
	margin:0 auto;
	padding:40px 20px 120px;

}

#company_reg_booth .company_reg_title{

	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;

	margin:0 0 34px;

	font-size:24px;
	font-weight:700;
	color:#10327b;

}

#company_reg_booth .title_icon{

	display:inline-flex;
	align-items:center;
	justify-content:center;

	width:22px;
	height:22px;

	color:#79bd34;
	font-size:22px;
	line-height:1;

}


/* =========================
AGREE
========================= */

#company_reg_booth .agree_panel{

	border:1px solid #eef0f4;
	border-radius:6px;
	overflow:hidden;

	background:#fff;

}

#company_reg_booth .agree_all,
#company_reg_booth .agree_item{

	display:flex;
	align-items:center;

	min-height:38px;
	padding:0 16px;

	border-bottom:1px solid #eef0f4;

}

#company_reg_booth .agree_all{

	background:#f6f7fa;
	font-weight:600;

}

#company_reg_booth .agree_item:last-child{

	border-bottom:none;

}

#company_reg_booth .agree_item{

	justify-content:space-between;
	gap:12px;

}

#company_reg_booth .agree_item label,
#company_reg_booth .agree_all{

	cursor:pointer;

}

#company_reg_booth .agree_item label{

	display:flex;
	align-items:center;
	gap:8px;

	font-size:13px;

}

#company_reg_booth .agree_all input,
#company_reg_booth .agree_item input{

	margin:0 8px 0 0;

}

#company_reg_booth .agree_item b{

	color:#0b55d9;
	font-weight:500;

}

#company_reg_booth .agree_item em{

	margin-left:2px;
	color:#ff3b80;
	font-style:normal;

}

#company_reg_booth .terms_view_btn{

	flex:0 0 auto;

	border:0;
	background:none;
	padding:0;

	font-size:12px;
	color:#ff3b80;

	cursor:pointer;

}

#company_reg_booth .notice_text{

	margin:28px 0 22px;
	color:#f00;

	font-size:13px;
	font-weight:600;
	line-height:1.45;

}


/* =========================
FORM
========================= */

#company_reg_booth .booth_form{

	width:100%;

}

#company_reg_booth .section_title{

	margin:46px 0 22px;

	font-size:15px;
	font-weight:700;
	color:#111;

}

#company_reg_booth .section_title::before{

	content:"■";
	margin-right:5px;
	color:#111;

}

#company_reg_booth .booth_section_title{

	margin-top:58px;

}

#company_reg_booth .form_row{

	display:grid;
	grid-template-columns:120px 1fr;
	align-items:start;
	gap:14px;

	margin-bottom:14px;

}

#company_reg_booth .form_label{

	min-height:36px;
	display:flex;
	align-items:center;

	color:#0069c9;
	font-size:13px;
	font-weight:600;
	line-height:1.3;

}

#company_reg_booth .form_label.required::after{

	content:"*";
	margin-left:2px;
	color:#ff3b80;

}

#company_reg_booth .form_field{

	min-width:0;

}

#company_reg_booth input[type="text"],
#company_reg_booth input[type="number"],
#company_reg_booth select,
#company_reg_booth textarea{

	width:100%;
	height:36px;

	border:1px solid #cfd5dd;
	border-radius:3px;

	padding:0 12px;

	background:#fff;

	font-size:13px;
	color:#222;

	box-sizing:border-box;

}

#company_reg_booth input[type="number"]{

	padding:0 4px;
	text-align:center;

}

#company_reg_booth textarea{

	height:96px;
	padding:10px 12px;
	resize:vertical;

}

#company_reg_booth select{

	appearance:none;
	-webkit-appearance:none;

	background:
		linear-gradient(45deg,transparent 50%,#1682df 50%) right 15px center / 6px 6px no-repeat,
		linear-gradient(135deg,#1682df 50%,transparent 50%) right 10px center / 6px 6px no-repeat,
		#fff;

	padding-right:34px;

}

#company_reg_booth input::placeholder,
#company_reg_booth textarea::placeholder{

	color:#9aa3ad;

}

#company_reg_booth input[readonly]{

	background:#f5f5f5;
	color:#777;

}

#company_reg_booth .inline_field{

	display:flex;
	align-items:center;
	gap:34px;

	min-height:36px;

}

#company_reg_booth .check_label{

	display:inline-flex;
	align-items:center;
	gap:7px;

	font-size:13px;
	color:#222;

	cursor:pointer;

}

#company_reg_booth .check_label input{

	margin:0;

}

#company_reg_booth .member_field{

	display:grid;
	grid-template-columns:1fr 58px;
	gap:8px;

}

#company_reg_booth .member_list{

	grid-column:1 / -1;

	display:flex;
	flex-wrap:wrap;
	gap:6px;

	margin-top:2px;

}

#company_reg_booth .member_chip{

	display:inline-flex;
	align-items:center;
	gap:5px;

	padding:4px 8px;
	border:1px solid #d5dce5;
	border-radius:20px;

	background:#f7f8fa;

	font-size:12px;

}

#company_reg_booth .member_chip button{

	border:0;
	background:none;
	padding:0;

	color:#777;
	cursor:pointer;

}

#company_reg_booth .mini_btn{

	height:36px;

	border:1px solid #cfd5dd;
	border-radius:3px;
	background:#fff;

	font-size:13px;
	color:#222;

	cursor:pointer;

}

#company_reg_booth .address_row .form_field{

	display:grid;
	gap:8px;

}

#company_reg_booth .email_field{

	display:grid;
	grid-template-columns:1fr 16px 1fr 100px;
	align-items:center;
	gap:6px;

}

#company_reg_booth .email_field span{

	text-align:center;
	color:#1682df;

}

#company_reg_booth .file_box{

	position:relative;

	display:flex;
	align-items:center;
	justify-content:center;

	width:100%;
	height:36px;

	border:1px solid #cfd5dd;
	border-radius:3px;

	background:#f1f1f1;

	cursor:pointer;

	box-sizing:border-box;

}

#company_reg_booth .file_box input{

	position:absolute;
	inset:0;
	opacity:0;
	cursor:pointer;

}

#company_reg_booth .file_text{

	position:relative;

	display:flex;
	align-items:center;
	gap:4px;

	color:#1483d8;
	font-size:12px;

	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;

	max-width:90%;

}

#company_reg_booth .file_text::before{

	content:"▱";
	font-size:11px;

}


/* =========================
OPTION
========================= */

#company_reg_booth .black_title{

	display:inline-block;

	margin:34px 0 16px;
	padding:4px 6px;

	background:#000;

	color:#fff;
	font-size:14px;
	font-weight:700;
	line-height:1;

}

#company_reg_booth .table_desc{

	margin:-4px 0 8px;

	font-size:12px;
	line-height:1.45;
	color:#333;

}

#company_reg_booth .option_table_wrap{

	width:100%;
	overflow-x:auto;

}

#company_reg_booth .option_table{

	width:100%;
	border-collapse:collapse;
	table-layout:fixed;

	font-size:12px;
	color:#222;

}

#company_reg_booth .option_table th,
#company_reg_booth .option_table td{

	border-top:1px solid #aaa;
	border-bottom:1px solid #aaa;

	padding:7px 5px;

	text-align:center;
	vertical-align:middle;

	line-height:1.35;

}

#company_reg_booth .option_table thead th{

	font-weight:700;

}

#company_reg_booth .option_table tbody th{

	font-weight:600;

}

#company_reg_booth .option_table .price_input{

	width:58px;
	height:28px;

	border-color:#1c88e5;

}

#company_reg_booth .info_icon{

	margin-left:2px;

	color:#1682df;
	font-style:normal;
	font-size:11px;

}

#company_reg_booth .table_notice{

	margin:10px 0 24px;

	color:#6a86b6;
	font-size:12px;

}

#company_reg_booth .price_summary{

	margin:20px 0 34px;

	text-align:right;
	font-size:13px;
	color:#333;

}

#company_reg_booth .price_summary strong{

	display:block;
	margin-top:10px;

	color:#1682df;
	font-size:15px;
	font-weight:700;

}

#company_reg_booth .price_summary strong span{

	color:#ff0078;
	font-size:19px;

}

#company_reg_booth .price_summary em{

	color:#333;
	font-style:normal;
	font-size:12px;
	font-weight:400;

}


/* =========================
BOTTOM
========================= */

#company_reg_booth .confirm_text{

	border-top:1px solid #d9d9d9;
	padding-top:24px;

	font-size:13px;
	font-weight:600;
	line-height:1.7;

}

#company_reg_booth .date_text{

	margin-top:34px;

	text-align:right;
	font-size:13px;

}

#company_reg_booth .sign_text{

	margin-top:14px;

	text-align:right;
	font-size:13px;

}

#company_reg_booth .button_row{

	display:flex;
	align-items:center;
	justify-content:center;
	gap:18px;

	margin-top:34px;

}

#company_reg_booth .history_btn,
#company_reg_booth .submit_btn{

	display:inline-flex;
	align-items:center;
	justify-content:center;

	width:150px;
	height:42px;

	border-radius:4px;

	font-size:14px;
	font-weight:600;

	text-decoration:none;
	box-sizing:border-box;

}

#company_reg_booth .history_btn{

	border:1px solid #ff3b80;
	background:#fff;

	color:#ff3b80;

}

#company_reg_booth .history_btn::before{

	content:"□";
	margin-right:4px;

}

#company_reg_booth .submit_btn{

	border:0;
	background:#999;

	color:#fff;

	cursor:pointer;

}

#company_reg_booth .submit_btn:not(:disabled){

	background:#1b70c9;

}

#company_reg_booth .submit_btn:disabled{

	background:#bfbfbf;
	cursor:not-allowed;

}


/* =========================
TERMS MODAL
========================= */

#company_reg_booth .terms_modal{

	display:none;

	position:fixed;
	inset:0;
	z-index:9999;

}

#company_reg_booth .terms_modal.active{

	display:block;

}

#company_reg_booth .terms_modal_dim{

	position:absolute;
	inset:0;

	background:rgba(0,0,0,0.55);

}

#company_reg_booth .terms_modal_box{

	position:absolute;
	left:50%;
	top:50%;

	width:calc(100% - 40px);
	max-width:640px;
	max-height:80vh;

	transform:translate(-50%,-50%);

	background:#fff;
	border-radius:8px;

	overflow:hidden;

}

#company_reg_booth .terms_modal_head{

	display:flex;
	align-items:center;
	justify-content:space-between;

	padding:16px 20px;

	border-bottom:1px solid #e6e6e6;

}

#company_reg_booth .terms_modal_head h3{

	margin:0;

	font-size:18px;
	font-weight:700;

}

#company_reg_booth .terms_modal_head button{

	border:0;
	background:none;

	color:#ff3b80;
	font-size:13px;

	cursor:pointer;

}

#company_reg_booth .terms_modal_body{

	max-height:60vh;
	overflow-y:auto;

	padding:22px 20px;

	font-size:14px;
	line-height:1.7;

}


/* =========================
MOBILE
========================= */

@media (max-width:768px){

	#company_reg_booth .container{

		max-width:none;
		padding:32px 16px 80px;

	}

	#company_reg_booth .company_reg_title{

		font-size:21px;
		margin-bottom:28px;

	}

	#company_reg_booth .form_row{

		grid-template-columns:1fr;
		gap:6px;

		margin-bottom:16px;

	}

	#company_reg_booth .form_label{

		min-height:auto;

	}

	#company_reg_booth .inline_field{

		gap:18px;
		flex-wrap:wrap;

	}

	#company_reg_booth .email_field{

		grid-template-columns:1fr 16px 1fr;
	}

	#company_reg_booth .email_field select{

		grid-column:1 / -1;

	}

	#company_reg_booth .member_field{

		grid-template-columns:1fr 56px;

	}

	#company_reg_booth .option_table{

		min-width:560px;

	}

	#company_reg_booth .button_row{

		gap:10px;

	}

	#company_reg_booth .history_btn,
	#company_reg_booth .submit_btn{

		width:50%;

	}

}