@charset "utf-8";

/* =========================================================
   하단 카피라이트 / 푸터
   ========================================================= */
#ft{
	width:100%;
	padding:52px 30px 46px;
	background:#222;
	color:#aaa;
}

#ft #ft_wr{
    width:100%;
    max-width:1361px;
    margin:0 auto;
    padding:0 20px;
}

#ft .ft-top{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:40px;
	margin-bottom:34px;
}

#ft .ft-logo{
	width:280px;
	margin:0;
}

#ft .ft-policy{
	display:flex;
	align-items:center;
	gap:34px;
	padding-top:22px;
}

#ft .ft-policy a{
	position:relative;
	color:#eee;
	font-size:15px;
	font-weight:600;
	letter-spacing:-.03em;
}

#ft .ft-policy a + a:before{
	content:"";
	position:absolute;
	top:50%;
	left:-17px;
	width:1px;
	height:12px;
	background:#555;
	transform:translateY(-50%);
}

#ft .ft-info-grid{
	display:grid;
	grid-template-columns:1.05fr 1fr;
	gap:68px;
	max-width:1450px;
}

#ft .ft-info-column{
	display:flex;
	flex-direction:column;
	gap:17px;
}

#ft .ft-info-row{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:28px;
}

#ft .ft-info-column:nth-child(2) .ft-info-row{
	grid-template-columns:repeat(2,minmax(0,1fr));
}

#ft dl{
	display:flex;
	align-items:flex-start;
	gap:18px;
	margin:0;
	min-width:0;
}

#ft dt{
	flex:0 0 auto;
	min-width:58px;
	color:#f2f2f2;
	font-size:15px;
	font-weight:700;
	line-height:1.55;
	letter-spacing:-.03em;
}

#ft dd{
	margin:0;
	color:#999;
	font-size:15px;
	font-weight:400;
	line-height:1.55;
	letter-spacing:-.025em;
}

#ft dd a{
	color:#999;
}

#ft dd a:hover{
	color:#fff;
}

#ft .ft-copy{
	margin-top:34px;
	color:#999;
	font-size:14px;
	font-weight:400;
	letter-spacing:-.01em;
}

#ft .ft-copy strong{
	color:#ddd;
	font-weight:600;
}

@media screen and (max-width:1200px){
	#ft{
		padding-left:24px;
		padding-right:24px;
	}

	#ft .ft-info-grid{
		grid-template-columns:1fr;
		gap:26px;
	}

	#ft .ft-info-row{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}







@media screen and (max-width:820px){
	#ft{
		padding:42px 20px 38px;
	}

	#ft #ft_wr{
		padding:0;
	}

	#ft .ft-top{
		flex-direction:column;
		gap:24px;
		margin-bottom:30px;
	}

	#ft .ft-logo{
		width:230px;
		max-width:72vw;
	}

	#ft .ft-policy{
		flex-wrap:wrap;
		padding-top:0;
		gap:12px 24px;
	}

	#ft .ft-policy a{
		font-size:14px;
	}

	#ft .ft-info-grid{
		grid-template-columns:1fr;
		gap:28px;
	}

	#ft .ft-info-column{
		gap:14px;
	}

	#ft .ft-info-row,
	#ft .ft-info-column:nth-child(2) .ft-info-row{
		grid-template-columns:1fr;
		gap:14px;
	}

	#ft dl{
		display:grid;
		grid-template-columns:132px minmax(0,1fr);
		align-items:start;
		gap:10px 16px;
		width:100%;
	}

	#ft dt{
		min-width:0;
		white-space:nowrap;
		word-break:keep-all;
		font-size:14px;
		line-height:1.6;
	}

	#ft dd{
		min-width:0;
		font-size:14px;
		line-height:1.6;
		word-break:keep-all;
		overflow-wrap:anywhere;
	}

	#ft .ft-copy{
		margin-top:30px;
		font-size:13px;
		line-height:1.7;
	}
}

@media screen and (max-width:520px){
	#ft{
		padding:34px 16px 34px;
	}

	#ft .ft-top{
		gap:20px;
		margin-bottom:26px;
	}

	#ft .ft-logo{
		width:200px;
		max-width:68vw;
	}

	#ft .ft-policy{
		gap:10px 22px;
	}

	#ft .ft-policy a{
		font-size:13px;
	}

	#ft .ft-policy a + a:before{
		left:-11px;
	}

	#ft .ft-info-grid{
		gap:24px;
	}

	#ft .ft-info-column{
		gap:12px;
	}

	#ft .ft-info-row,
	#ft .ft-info-column:nth-child(2) .ft-info-row{
		gap:12px;
	}

	#ft dl{
		grid-template-columns:124px minmax(0,1fr);
		gap:8px 12px;
	}

	#ft dt{
		font-size:13px;
		font-weight:700;
		letter-spacing:-.04em;
	}

	#ft dd{
		font-size:13px;
		line-height:1.65;
		letter-spacing:-.025em;
	}

	#ft .ft-copy{
		margin-top:26px;
		font-size:12px;
		line-height:1.65;
		white-space:normal;
		word-break:keep-all;
	}
}

@media screen and (max-width:390px){
	#ft{
		padding-right:14px;
		padding-left:14px;
	}

	#ft dl{
		grid-template-columns:116px minmax(0,1fr);
		gap:8px 10px;
	}

	#ft dt,
	#ft dd{
		font-size:12px;
	}

	#ft .ft-policy{
		gap:8px 18px;
	}

	#ft .ft-policy a{
		font-size:12px;
	}
}

#ft_copy{}

/* ===========================
   SVG Quick Menu
=========================== */
#quick_wrap{
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:9999;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:12px;
	padding:0;
	background:transparent;
	border-radius:0;
	box-shadow:none;
}

#quick_wrap a,
#quick_wrap button{
	display:flex;
	align-items:center;
	justify-content:center;
	width:62px;
	height:62px;
	margin:0;
	padding:0;
	border:0;
	border-radius:50% !important;
	color:#fff;
	cursor:pointer;
	box-shadow:0 8px 20px rgba(0,0,0,.20);
	transition:
		transform .25s ease,
		filter .25s ease,
		box-shadow .25s ease;
}

#quick_wrap #phone_btn{
	background:#ea533e;
}

#quick_wrap #tel_btn{
	background:#f36a13;
}

#quick_wrap #top_btn{
	background:#12aae2;
}

#quick_wrap svg{
	display:block;
	width:30px;
	height:30px;
	color:#fff;
	fill:none;
	stroke:currentColor;
	stroke-width:2.4;
	stroke-linecap:round;
	stroke-linejoin:round;
	pointer-events:none;
}

#quick_wrap .quick-icon-phone{
	width:29px;
	height:29px;
}

#quick_wrap a:hover,
#quick_wrap a:focus,
#quick_wrap button:hover,
#quick_wrap button:focus{
	transform:translateY(-4px);
	filter:brightness(1.06);
	box-shadow:0 12px 25px rgba(0,0,0,.27);
	outline:none;
}

#quick_wrap a:focus-visible,
#quick_wrap button:focus-visible{
	outline:2px solid #fff;
	outline-offset:3px;
}

/* 모바일 퀵메뉴: 브라우저 하단 안전영역 고려 */
@media screen and (max-width:780px){
	#quick_wrap{
		right:10px;
		bottom:calc(10px + env(safe-area-inset-bottom));
		gap:9px;
	}

	#quick_wrap a,
	#quick_wrap button{
		width:52px;
		height:52px;
	}

	#quick_wrap svg{
		width:24px;
		height:24px;
	}
}

@media screen and (max-width:500px){
	#quick_wrap{
		right:8px;
		bottom:calc(10px + env(safe-area-inset-bottom));
		gap:10px;
	}

	#quick_wrap a,
	#quick_wrap button{
		width:50px;
		height:50px;
	}

	#quick_wrap svg{
		width:23px;
		height:23px;
	}
}

