.cm_wrapper{
	width: 100%;
	max-width: 1440px;
	margin-left:auto;
	margin-right:auto;
}

.dc_wrapper{
	width: 100%;
	max-width: 960px;
	margin-left:auto;
	margin-right:auto;
}

.fm_wrapper{
	width: 100%;
	max-width: 720px;
	margin-left:auto;
	margin-right:auto;
}

.nr_wrapper{
	width: 100%;
	max-width: 480px;
	margin-left:auto;
	margin-right:auto;
}

.mb_wrapper{
	width: 100%;
	max-width: 320px;
	margin-left:auto;
	margin-right:auto;
}

/*@media only screen and (max-device-width: 767px) {*/
@media only screen and (max-width: 767px) {
	/*	Mobile	*/
	body{
		font-size: 0.8125rem;
	}

	:root{
		--radius-layout:12px;
		--radius-block:6px;
	}

	main .fm_wrapper,	
	main .dc_wrapper,
	main .cm_wrapper{
		max-width: 100%;
		padding-left:24px;
		padding-right:24px;
	}
}

@media only screen and (max-width: 1023px) {
	/*	Tablet	*/
	body{
		font-size: 0.8125rem;
	}

	main .dc_wrapper,
	main .cm_wrapper{
		max-width: 100%;
		padding-left:16px;
		padding-right:16px;
	}
}

@media only screen and (max-width: 840px) {
	main .cm_wrapper,
	.dc_wrapper{
		width: 100%;
		max-width: 100%;
		padding-left:16x;
		padding-right:16px;
	}
}

@media only screen and (max-width: 720px) {
	.fm_wrapper{
		width: 100%;
		max-width: 100%;
		padding-left:16px;
		padding-right:16px;
	}
}

@media only screen and (max-width: 600) {
	.nr_wrapper{
		width: 100%;
		max-width: 100%;
		padding-left:16px;
		padding-right:16px;
	}
}


/******************************************************************
	HEADER
******************************************************************/
header .head_wrapper{
	background-color:rgba(255,255,255,0.6);
	box-shadow: 0 0 6px 0px rgba(0, 0, 0, 0.15);
}

header .gnb.pc{
	display:flex;
	justify-content: space-between;
	height:72px;
}

header .gnb.pc .logo{
	flex-grow: 0;
	flex-shrink: 0;
	display:flex;
	flex-direction: column;
	justify-content: center;
}

header .gnb.pc .logo a{
	display:inline-block;
	line-height:0;
}

header .gnb.pc .logo img{
	width:102px;
}

header .gnb.pc .main{
	flex-grow: 1;
	flex-shrink: 1;
	padding-left:60px;
}

header .gnb.pc .main ul{
	display:flex;
}

header .gnb.pc .main a{
	display:inline-block;
	font-size:1rem;
	font-weight:500;
	line-height:48px;
	color:var(--jb-color-bold);
	border-radius: var(--jb-radius-button);
	padding: 0 36px;
}

header .gnb.pc .main a:hover{
	background-color:var(--jb-border-button);
}

header .gnb.pc .hot{
	display:flex;
	flex-grow: 0;
	flex-shrink: 0;
}

header .gnb.pc .hot ul{
	display:flex;
}

header .gnb.pc .hot ul:not(:first-child){
	padding-left:8px;
}

header .gnb.pc .hot ul li{
	display:flex;
	flex-direction: column;
	justify-content: center;
}

header .gnb.pc .hot ul li:not(:first-child){
	padding-left:4px;
}

header .gnb.pc .hot a{
	display:inline-block;
	height:48px;
	font-weight:500;
	line-height:46px;
	color:var(--jb-color-bold);
	border:1px SOLID var(--jb-border-button);
	border-radius: var(--jb-radius-button);
	padding: 0 24px;
}

header .gnb.pc .hot button{
	width:48px;
	height:48px;
	line-height:0;
	color:var(--jb-color-bold);
	background-color: transparent;
	border:1px SOLID var(--jb-border-button);
	border-radius: var(--jb-radius-button);
}

header .gnb.pc .hot button .material-symbols-rounded,
header .gnb.pc .hot button .material-icons,
header .gnb.pc .hot button .material-icons-round{
	font-size:2rem;
	line-height:46px;
}

header .gnb.pc .hot button .material-symbols-rounded{
	font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24 !important
}

header .gnb.pc .hot a:hover,
header .gnb.pc .hot button:hover{
	background-color:var(--jb-border-button);
}

header .gnb.mb{
	display:none;
}

@media only screen and (max-width: 1023px) {
	/*	Tablet	*/
	header .gnb.pc{
		display:none;
	}

	header .gnb.mb{
		display:flex;
		justify-content: space-between;
		height:64px;
		padding-left:16px;
		padding-right:16px;
	}

	header .gnb.mb .logo{
		flex-grow: 0;
		flex-shrink: 0;
		padding-top:8px;
	}

	header .gnb.mb .logo a{
		display:inline-block;
	}

	header .gnb.mb .logo img{
		width:96px;
	}

	header .gnb.mb .hot{
		display:flex;
		flex-grow: 0;
		flex-shrink: 0;
	}

	header .gnb.mb .hot ul{
		display:flex;
	}

	header .gnb.mb .hot a{
		display:inline-block;
		height:42px;
		font-weight:500;
		line-height:46px;
		color:var(--jb-color-bold);
		border:none;
		border-radius: var(--jb-radius-button);
		padding: 0 16px;
	}

	header .gnb.mb .hot button{
		width:42px;
		height:42px;
		line-height:0;
		color:var(--jb-color-bold);
		background-color: transparent;
		border:none;
		border-radius: var(--jb-radius-button);
	}

	header .gnb.mb .hot button .material-symbols-rounded,
	header .gnb.mb .hot button .material-icons,
	header .gnb.mb .hot button .material-icons-round{
		font-size:2.5rem;
		line-height:44px;
	}

	header .gnb.mb .hot a:hover,
	header .gnb.mb .hot button:hover{
		background-color:var(--jb-border-button);
	}

	header .gnb.mb .menu_wrapper{
		display:none;
		position:fixed;
		left:0;
		top:0;
		width:100%;
		height:100vh;
		background-color:#FFF;
		z-index:10;
	}
}


/******************************************************************
	BODY
******************************************************************/
main{
	position:relative;
	min-height:600px;
}

main:not(.bnp){
	padding-bottom:96px;
}


/******************************************************************
	FOOTER
******************************************************************/
footer{
	background-color:#F9F9FB;
	padding:42px 0px 32px;
}

footer .main{
	display:grid;
	grid-template-columns:320px 1fr;
	column-gap: 60px;
	width:100%;
}

footer .main .footer_menu{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px;
}

footer .main h3{
	display:flex;
	width:100%;
	font-size:0.875rem;
	font-weight: 600;
	line-height:150%;
	color:var(--jb-color-bold);
}

footer .main .box h3:not(:first-child){
	padding-top: 16px;
}

footer .main h3 > .label{
	flex-grow: 1;
	flex-shrink: 1;
}

footer .main h3 > .icon{
	display:none;
}

footer .main button{
	cursor:pointer;
	flex-grow: 0;
	flex-shrink: 0;
	display:inline-flex;
	border:none;
	background-color:transparent;
	padding:0;
}

footer .main button .label{
	display:inline-block;
	height:24px;
	line-height:24px;
}

footer .main button .icon{
	display:inline-block;
	height:24px;
	line-height:0px;
}

footer .main button .icon .material-symbols-rounded,
footer .main button .icon .material-icons{
	line-height:24px;
}

footer .main .menu_list li{
	padding-top:8px;
}

footer .main a{
	color:var(--jb-color-main);
	line-height:24px;
}


footer .main .cs_phone{
	font-size:2rem;
	font-weight:900;
	line-height:42px;
	color:var(--jb-color-bold);
}

footer .main .cs_content{
	width:100%;
	display:grid;
	grid-template-columns: 40px auto;
	line-height:120%;
	padding-top:8px;
}

footer .main .cs_helpdesk{
	padding-top:24px;
}

footer .main .cs_helpdesk ul{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	height:48px;
	overflow:hidden;
}

footer .main .cs_helpdesk ul li:not(:first-child){
	padding-left:8px;
}

footer .main .cs_helpdesk a{
	display:inline-block;
	width:100%;
	height:48px;
	text-align:center;
	color:var(--jb-color-light);
	line-height:46px;
	border:1px SOLID #d4dae5;
	border-radius:8px;
	background-color:#FFF;
}

footer .main .cs_helpdesk a:hover{
	color:var(--jb-color-main);
	background-color:#d4dae5;
}

footer .main .cs_helpdesk .material-symbols-rounded,
footer .main .cs_helpdesk .material-icons{
	font-size:2rem;
}

footer .divider {
	height: 1px;
	overflow: hidden;
	background-color: #edf0f5;;
	margin:24px 0;
}

footer .expand{
	display:flex;
	padding-bottom:12px;
}


footer .expand .bi{
	flex-grow: 1;
	flex-shrink: 1;
}

footer .expand img{width:96px;}

footer .expand .icon{
	display:none;
	flex-grow: 0;
	flex-shrink: 0;
}

footer .bottom ul{
	display:flex;
}

footer .bottom ul:not(:first-child){
	padding-top:4px;
}

footer .bottom ul li:not(:first-child):before{
	content: '|';
	color:var(--jb-color-bright);
	padding-left:12px;
	padding-right:12px;
}

footer .bottom ul li .label:after{
	content:':';
	padding-left:4px;padding-right:4px;
}

footer .copyright{
	font-weight:400;
	padding-top:16px;
}

@media only screen and (max-width: 1023px) {
	/*	Tablet	*/
	footer{
		padding-left:16px;
		padding-right:16px;
	}

	footer .main{
		display:flex;
		flex-direction: column;
	}

	footer .main .box:not(:first-child){
		padding-top: 32px;
	}

	footer .main h3{
		cursor:pointer;
		padding-top:0px;
		padding-bottom:16px;
	}


	footer .main h3 > .icon,
	footer .expand .icon{
		display:block;
	}

	footer .main .menu_list,
	footer .bottom{
		display:none;
	}
}


/******************************************************************
	SIDE BAR
******************************************************************/
#side_bar{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100vh;
	background-color:var(--jb-white);
	z-index:900;
}

#side_bar .side_bar_container{
	width: 100%;
	max-width: 720px;
	min-height:600px;

	margin-left:auto;
	margin-right:auto;
	padding-bottom:60px;
}

#side_bar .top{
	display:flex;
	align-items: center;
	justify-content: space-between;
	height:72px;
}

#side_bar .top .logo span{
	display:inline-block;
	padding-top:6px;
}

#side_bar .top .logo span img{
	width:144px;
}

#side_bar .top button{
	cursor:pointer;
	width:48px;
	height:48px;
	line-height:0;
	background-color: transparent;
}
#side_bar .top button .material-symbols-rounded,
#side_bar .top button .material-icons-round{
	font-size:2rem;
	line-height:48px;
}

#side_bar .main_section{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	justify-content: center;
	padding-top:60px;
}

#side_bar .main_section:first-child{
	padding-top:36px;

}

#side_bar .main_section .box:not(:first-child){
	padding-left:96px;
}

#side_bar h3{
	display:flex;
	width:100%;
	font-size:1.125rem;
	font-weight: 600;
	line-height:150%;
	color:var(--jb-color-bold);
}

#side_bar .box h3:not(:first-child){
	padding-top:16px;
}

#side_bar h3 > .label{
	flex-grow: 1;
	flex-shrink: 1;
}

#side_bar h3 > .icon{
	display:none;
}

#side_bar .menu_list li{
	padding-top:8px;
}

#side_bar a{
	color:var(--jb-color-main);
	line-height:24px;
}


/******************************************************************
	SLIDING BAR
******************************************************************/
.page_sliding{
	position:fixed;
	right:0;
	bottom:0;
	width:60px;
	height:60px;
	border-top-left-radius:var(--jb-radius-form);
	overflow:hidden;
}

.page_sliding button{
	cursor:pointer;
	width:60px;
	height:60px;
	line-height:0;
	color:var(--jb-white);
	border-radius:0;
	background-color:var(--jb-blue);
}

.page_sliding button:hover{
	background-color:var(--jb-red);
}

.page_sliding button ..material-symbols-rounded,
.page_sliding button .material-icons-round{
	font-size:2rem;
	line-height:60px;
}