@charset "utf-8";

/* header */
header { position:absolute; top:0; left:0; width:100%; z-index:99; transition:top 0.4s ease; }
header .innerP50 { display:flex; justify-content:space-between; height:100%; }
header h1 { position:relative; z-index:15; display:flex; align-items:center; }
header h1 a { display:block; }
header.over_all h1 { z-index:999; }
@media screen and (max-width:1200px){
	header { position:fixed; height:80px; }
	#wrap.on header.active { background:rgba(0, 0, 0, 0.1); }
	header.fix { top:-80px; }
	header.fix.nav-down { top:0; }
	header:before { content:''; display:block; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(255, 255, 255, 1); opacity:0; transition:top 0.3s; }
	header.fix.nav-down:before { opacity:1; }
	header h1 img,
	header h1 svg { width:auto; height:26px; transition:top 0.3s; }
	header.fix.nav-down h1 svg .c-w { fill:#626969; }
}
@media screen and (max-width:1024px){
	header h1 img,
	header h1 svg { height:22px; }
}
@media screen and (max-width:640px){
	header { height:60px; }
	header.fix { top:-60px; }
	header h1 img,
	header h1 svg { height:18px; }
}

header #navi { position:relative; z-index:3; display:flex; justify-content:center; width:100%; }
header #navi #gnb > ul { display:flex; text-align:center; }
header #navi #gnb > ul > li { position:relative; transition:all 0.5s; }
header #navi #gnb > ul > li > a { position:relative; padding:0 30px; height:100px; text-wrap:nowrap; display:flex; justify-content:center; align-items:center; color:#fff; font-size:var(--font21); font-weight:500; line-height:1.3; transition:all 0.3s; }
header.over #navi #gnb > ul > li > a { padding:0 50px; }
header #navi #gnb > ul > li > .subDepth { z-index:-11; opacity:0; visibility:hidden; position:absolute; left:50%; transform:translateX(-50%); top:100px; padding-top:30px; padding-bottom:140px; width:100%; }
header.over #navi #gnb > ul > li > .subDepth { opacity:1; visibility:visible; z-index:3; } 
header #navi #gnb > ul > li > .subDepth > ul { position:relative; opacity:0; }
header.over  #navi #gnb > ul > li > .subDepth > ul { position:relative; animation:ani_5 0.7s 0.1s; animation-fill-mode:both; }
header #navi #gnb > ul > li > .subDepth > ul > li { padding:0 5px; }
header #navi #gnb > ul > li > .subDepth > ul > li:not(:last-child) { padding-bottom:20px; }
header #navi #gnb > ul > li > .subDepth > ul > li > a { position:relative; font-size:var(--font17); color:rgba(255, 255, 255, 0.5); font-weight:300; line-height:1.3; transition:all 0.3s; }
header #navi #gnb > ul > li > .subDepth > ul > li > a:before { content:''; display:block; position:absolute; bottom:-5px; left:50%; transform:translateX(-50%); width:0; height:1px; transition:all 0.3s; background:#fff; }
header #navi #gnb > ul > li > .subDepth > ul > li > a:hover,
header #navi #gnb > ul > li > .subDepth > ul > li.over > a { color:#fff; /*text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px;*/ }
header #navi #gnb > ul > li > .subDepth > ul > li > a:hover:before,
header #navi #gnb > ul > li > .subDepth > ul > li.over > a:before { width:100%; }
header #navi #gnb > ul > li > .subDepth > ul > li .depth3 { display:none }
header .gnb_bg { visibility:hidden; height:0; opacity:0; position:absolute; top:0; left:0; width:100%; background:rgba(0, 0, 0, 0.85); backdrop-filter:blur(7.5px); transition:all 0.3s; z-index:1; }
header.over .gnb_bg { opacity:1; visibility:visible; z-index:1; height:100%; }
header .gnb_bg:before { content:''; display:block; visibility:hidden; height:1px; opacity:0; position:absolute; top:100px; left:0; width:100%; background:rgba(255, 255, 255, 0.10); transition:all 0.3s; z-index:1; }
header.over .gnb_bg:before { opacity:1; visibility:visible; z-index:2; }
@media screen and (max-width:1580px){
	header #navi #gnb > ul > li > a { padding:0 25px; }
	header.over #navi #gnb > ul > li > a { padding:0 40px; }
	header #navi #gnb > ul > li > .subDepth { padding-bottom:100px; }
}
@media screen and (max-width:1440px){
	header #navi #gnb > ul > li > a { padding:0 20px; }
	header.over #navi #gnb > ul > li > a { padding:0 30px; }
	header #navi #gnb > ul > li > .subDepth { padding-bottom:60px; }
}
@media screen and (max-width:1200px){
	header #navi { display:none }
}

header .top-menu { display:flex; align-items:center; gap:20px; }
header .top-menu .sns { position:relative; z-index:15; }
header .top-menu .lang { position:relative; z-index:15; margin-right:30px; height:42px; border-radius:100px; border:2px solid rgba(255, 255, 255, 0.30); display:flex; align-items:center; gap:20px; padding:0 20px; transition:all 0.3s; }
header .top-menu .lang a { position:relative; color:rgba(255, 255, 255, 0.5); font-size:var(--font17); font-weight:600; line-height:1.1; transition:all 0.3s;  }
header .top-menu .lang a:before { content:''; display:block; position:absolute; top:50%; left:-10px; transform:translateY(-50%); width:1px; height:10px; background:rgba(255, 255, 255, 0.5); transition:all 0.3s; }
header .top-menu .lang a:first-child:before { display:none }
header .top-menu .lang a.on { color:#fff; }
header.over .top-menu .lang,
header .top-menu .lang:hover { border:2px solid #fff; }
@media screen and (max-width:1580px){
	header .top-menu .lang { margin-right:15px; }
}
@media screen and (max-width:1440px){
	header .top-menu .lang { margin-right:10px; }
}
@media screen and (max-width:1200px){
	header .top-menu .sns img { transition:all 0.3s; }
	header.fix.nav-down .top-menu .sns img { filter:brightness(0) invert(0.15); }
	header.fix.nav-down .top-menu.on .sns img { filter:brightness(0) invert(1); }
	header.fix.nav-down .top-menu .lang { border-color:#999; }
	header.fix.nav-down .top-menu .lang a { color:#aaa; }
	header.fix.nav-down .top-menu .lang a:before { background:rgba(0, 0, 0, 0.5);  }
	header.fix.nav-down .top-menu .lang a.on { color:#111; }
	header.fix.nav-down .top-menu .lang:hover { border-color:#111; }
	header.fix.nav-down .top-menu.on .lang { border-color:rgba(255, 255, 255, 0.30); }
	header.fix.nav-down .top-menu.on .lang a { color:rgba(255, 255, 255, 0.5); }
	header.fix.nav-down .top-menu.on .lang a.on { color:#fff; }
	header.fix.nav-down .top-menu.on .lang:hover { border-color:#fff; }
}
@media screen and (max-width:640px){
	header .top-menu { gap:10px; }
	header .top-menu .lang { margin-right:5px; height:36px; padding:0 15px; }
	header .top-menu .lang,
	header .top-menu .lang:hover { border-width:1px; }
}

header .searchBox > .btn { position:relative; z-index:15; width:18px; height:18px; }
header .searchBox > .btn a { display:flex; align-items:center; justify-content:center; width:100%; height:100%; background:url(/img/svg/search_icon.svg) center center no-repeat; transition:all 0.3s; }
header .searchBox.on  > .btn a { background:url(/img/svg/search_close.svg) center center no-repeat; }
header .searchBox .s-box { z-index:10; overflow:hidden; position:absolute; top:0; left:0; width:100%; height:0; background:rgba(0, 0, 0, 0.85); backdrop-filter:blur(7.5px); transition:all 0.3s; }
header .searchBox .ipbox { padding:160px 0 76px; max-width:860px; margin:0 auto; }
header .searchBox.on .s-box { height:400px; }
header .searchBox .ipbox:before { content:''; display:block; visibility:hidden; height:1px; opacity:0; position:absolute; top:100px; left:0; width:100%; background:rgba(255, 255, 255, 0.10); transition:all 0.3s; z-index:1; }
header .searchBox.on .ipbox:before { opacity:1; visibility:visible; z-index:2; }
header .searchBox .ipbtn { position:relative; width:100%; height:95px; }
header .searchBox .ipbtn input[type="text"] { width:100%; border:none; outline:none; color:#fff; font-size:var(--font21); font-weight:500; line-height:1.1; padding:0 145px 0 60px; height:100%; line-height:100%; background:none; border:2px solid #fff; border-radius:100px; }
header .searchBox .ipbtn input::placeholder{ color:rgba(255, 255, 255, 0.3); font-weight:500; }
header .searchBox .ipbtn .btn { position:absolute; right:50px; top:50%; transform:translateY(-50%); }
header .searchBox .ipbtn .btn button { border:none; outline:none; background:none; width:45px; height:45px; background:url(/img/svg/search_icon_ov.svg) center center no-repeat; }
header .searchBox .ipbtn .btn button span { text-indent:-9999em; display:block; overflow:hidden }
header .searchBox .keyword { margin-top:30px; }
header .searchBox .keyword dl { display:flex; }
header .searchBox .keyword dt { width:115px; height:39px; color:#aaa; font-size:var(--font18); font-weight:500; line-height:1.3; flex-shrink:0; display:flex; align-items:center; }
header .searchBox .keyword dd { display:flex; flex-wrap:wrap; gap:5px; } 
header .searchBox .keyword dd a { padding:0 20px; height:39px; color:#aaa; font-size:var(--font15); font-weight:500; line-height:1.3; display:inline-flex; align-items:center; justify-content:center; background:#222; border-radius:100px; }

header.over .searchBox > .btn img,
#wrap.on header.over .searchBox > .btn img { filter:brightness(0) invert(0.7); }
@media screen and (max-width:1200px){
	header .searchBox.on .s-box { height:350px; }
	header .searchBox .ipbox { padding:120px 20px 50px; }
	header .searchBox .ipbox:before { top:80px; }
	header .searchBox .ipbtn { height:75px; }
	header .searchBox .ipbtn input[type="text"] { padding:0 115px 0 40px; }
	header .searchBox .ipbtn .btn { right:30px; }
	header.fix.nav-down .searchBox > .btn a { background:url(/img/svg/search_bk_icon.svg) center center no-repeat; }
	header.fix.nav-down .searchBox.on > .btn a { background:url(/img/svg/search_close.svg) center center no-repeat; }
}
@media screen and (max-width:640px){
	header .searchBox.on .s-box { height:280px; }
	header .searchBox .ipbox { padding:80px 20px 40px; }
	header .searchBox .ipbox:before { top:60px; }
	header .searchBox .ipbtn { height:55px; }
	header .searchBox .ipbtn input[type="text"] { padding:0 70px 0 30px; border-width:1px; }
	header .searchBox .ipbtn .btn { right:10px; }
	header .searchBox .ipbtn .btn button { background-size:20px auto; }
	header .searchBox .keyword { margin-top:20px; }
	header .searchBox .keyword dt { width:80px; height:30px; }
	header .searchBox .keyword dd a { padding:0 15px; height:30px; }
	header .searchBox > .btn a,
	header .searchBox.on > .btn a { background-size:15px auto; }

}

header .allmenu { position:relative; z-index:20; opacity:1; }
header.over_all .allBox.active .allmenu { opacity:0; }
header .allmenu a { position:relative; width:40px; height:42px; display:block; }
header .allmenu span { position:absolute; left:50%; transform:translateX(-50%); display:block; height:3px; background:#fff; transition:all 0.3s; }
#wrap.on header .allmenu span { background:#fff; }
header.over .allmenu span,
#wrap.on header.over .allmenu span { background:#fff; }
header .allmenu span:nth-child(1) { top:13px; width:100%; }
header .allmenu span:nth-child(2) { bottom:13px; width:100%; }
header .allmenu a:hover span:nth-child(1),
header .allmenu a:hover span:nth-child(2) { width:26px; }
@media screen and (max-width:1200px){
	header .allmenu a { width:32px; height:36px; }
	header .allmenu span { height:2px; }
	header .allmenu span:nth-child(1) { top:11px; }
	header .allmenu span:nth-child(2) { bottom:11px; }
	header .allmenu a:hover span:nth-child(1),
	header .allmenu a:hover span:nth-child(2) { width:22px; }
	header.fix.nav-down .allmenu span { background:#111; }
	header.fix.nav-down .top-menu.on .allmenu span { background:#fff; }
}


#allmenuBox .btnClose { opacity:0; cursor:pointer; position:absolute; right:46px; top:36px; z-index:5; }
#allmenuBox.on .btnClose { opacity:1; width:30px; height:30px; display:flex; align-items:center; justify-content:center; background:url(/img/svg/close_icon.svg) center center no-repeat; }
#allmenuBox .subDepth .box h4.title { display:none }
#allmenuBox { z-index:999; position:fixed; top:0; right:-110%; width:100%; height:100vh; background:#fff; transition:all 0.8s; overflow:hidden; }
#allmenuBox.on { right:0; }
#allmenuBox .menuBox { position:relative; width:calc(100% - 100px); display:flex; align-items:center; height:calc(100vh - (100px + 60px)); padding:0 6%; margin:0 50px; }
#allmenuBox .menuBox:before { content:''; display:block; position:absolute; left:6%; width:calc(100% - (6% * 2)); height:2px; background:var(--mainColor); }
#allmenuBox .menuBox .mCont { position:relative; z-index:3; }
#allmenuBox .menuBox .mCont,
#allmenuBox .menuBox .mCont > ul { width:100%; }
#allmenuBox .top { display:flex; align-items:center; justify-content:space-between; height:100px; padding:0 8% 0 50px; }
#allmenuBox .mLogo { position:relative; z-index:15; }
#allmenuBox .mLogo svg { width:auto; height:30px; }
#allmenuBox .mLogo svg .c-w { fill:#626969; }
#allmenuBox .menu { display:flex; align-items:center; gap:20px; }
#allmenuBox .menu .sns { position:relative; z-index:15; }
#allmenuBox .menu .sns img { filter:brightness(0) invert(0.15); }
#allmenuBox .menu.on .sns img { filter:none; }
#allmenuBox .menu .lang { position:relative; z-index:15; height:42px; border-radius:100px; border:2px solid #e5e5e5; display:flex; align-items:center; gap:20px; padding:0 20px; transition:all 0.3s; }
#allmenuBox .menu .lang a { position:relative; color:#ddd; font-size:var(--font17); font-weight:600; line-height:1.1; }
#allmenuBox .menu .lang a:before { content:''; display:block; position:absolute; top:50%; left:-10px; transform:translateY(-50%); width:1px; height:10px; background:rgba(0, 0, 0, 0.5);  }
#allmenuBox .menu .lang a:first-child:before { display:none }
#allmenuBox .menu .lang a.on { color:#111; }
#allmenuBox .menu .lang:hover { border-color:#111; }
#allmenuBox .menu.on .lang { border-color:rgba(255, 255, 255, 0.30); }
#allmenuBox .menu.on .lang a { color:rgba(255, 255, 255, 0.5); }
#allmenuBox .menu.on .lang a.on { color:#fff; }
#allmenuBox .menu.on .lang:hover { border-color:#fff; }
#allmenuBox .searchBox > .btn a { background:url(/img/svg/search_bk_icon.svg) center center no-repeat; }
#allmenuBox .searchBox.on > .btn a { background:url(/img/svg/search_close.svg) center center no-repeat; }
#allmenuBox .allBox { display:none }
.web #allmenuBox .menuBox .mCont { padding-right:10px; }
.web #allmenuBox .menuBox .mCont,
.web #allmenuBox .menuBox .mCont > ul { width:100%; }
.web #allmenuBox .menuBox .mCont > ul > li { position:relative; padding:60px 0; border-bottom:1px solid #e5e5e5; display:flex; width:100%; }
.web #allmenuBox .menuBox .mCont > ul > li > a { position:relative; width:400px; color:#111; font-size:var(--font34); font-weight:500; line-height:1.3; letter-spacing:-0.04em; text-transform:uppercase; display:flex; flex-shrink:0; }
.web #allmenuBox .menuBox .mCont > ul > li .subDepth { position:relative; width:calc(100% - 400px); }
.web #allmenuBox .menuBox .mCont > ul > li .subDepth > ul { display:flex; gap:60px 25px; flex-wrap:wrap; }
.web #allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li { width:calc((100% - 100px) / 5); }
.web #allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li > a { color:#111; font-size:var(--font19); font-weight:500; line-height:1.3; }
.web #allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li ul { padding:30px 0 0; }
.web #allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li ul li:not(:last-child) { margin-bottom:10px; }
.web #allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li ul li a { color:#888; font-size:var(--font17); font-weight:500; line-height:1.3; }
@media screen and (max-width:1440px){
	.web #allmenuBox .menuBox .mCont > ul > li { padding:40px 0; }
	.web #allmenuBox .menuBox .mCont > ul > li > a { width:300px; }
	.web #allmenuBox .menuBox .mCont > ul > li .subDepth { width:calc(100% - 300px); }
	.web #allmenuBox .menuBox .mCont > ul > li .subDepth > ul { gap:50px 20px; }
	.web #allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li ul { padding:20px 0 0; }
}
@media screen and (max-width:1280px){
	#allmenuBox .top { height:80px; padding:0 8% 0 20px; }
	#allmenuBox .mLogo svg { height:26px; }
	.web #allmenuBox .menuBox .mCont > ul > li { padding:30px 0; }
	.web #allmenuBox .menuBox .mCont > ul > li > a { width:240px; }
	.web #allmenuBox .menuBox .mCont > ul > li .subDepth { width:calc(100% - 240px); }
	.web #allmenuBox .menuBox .mCont > ul > li .subDepth > ul { gap:40px 20px; }
	.web #allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li ul { padding:15px 0 0; }
	#allmenuBox.on .btnClose { right:20px; top:24px; }
}
@media screen and (max-width:1024px){
    #allmenuBox { position:fixed; top:0; left:unset; right:-110%; width:100%; height:100dvh; background:#fff; transition:all 0.3s 0.1s ease-in-out; z-index:10000; }
    #allmenuBox.on { right:0; z-index:10000; opacity:1; visibility:visible; transition:all 0.3s 0.1s ease-in-out; }
	#allmenuBox .menuBox { position:relative; width:calc(100% - (20px * 2)); height:calc(100dvh - (100px + 20px)); margin:0 20px; padding:0; }
	#allmenuBox .menuBox:before { left:0; width:100%; }
	#allmenuBox .top { height:80px; padding:0 20px; }
	#allmenuBox .mLogo svg { height:22px; }
	#allmenuBox .menu { padding-right:40px; }
	#allmenuBox .menu .lang { margin-right:15px; }
    #allmenuBox .menuBox .mCont > ul { position:relative; top:40px; padding:0; overflow:hidden; }
    #allmenuBox .menuBox .mCont > ul > li { position:relative; display:block; height:auto; padding:10px 20px; }
	#allmenuBox .menuBox .mCont > ul > li > a { position:relative; color:#111; font-size:var(--font48); font-weight:500; line-height:1.3; letter-spacing:-0.04em; }
    #allmenuBox .menuBox .mCont > ul > li > .subDepth { position:relative; display:none; width:100%; }
	#allmenuBox .menuBox .mCont > ul > li.hover .subDepth { display:block; opacity:1; visibility:visible; z-index:2; }
	#allmenuBox .menuBox .mCont > ul > li.hover .subDepth .box { animation:ani_3_2 0.5s 0.3s; animation-fill-mode:both; }
	#allmenuBox .menuBox .mCont > ul > li:before { content:""; display:block; width:18px; height:var(--font52); position:absolute; right:10px; top:10px; transition:all 0.5s; background:url(/img/svg/gnb_m_arr.svg) center center no-repeat; opacity:0.5 }
	#allmenuBox .menuBox .mCont > ul > li.hover:before { transform:rotate(180deg); opacity:1 }
	#allmenuBox .menuBox .mCont > ul > li .subDepth > ul { padding:15px 2px; }
	#allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li > a { color:#111; font-size:var(--font32); font-weight:400; line-height:1.3; }
	#allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li:not(:last-child) { margin-bottom:15px; }
	#allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li > a { color:#111; font-size:var(--font26); font-weight:400; line-height:1.3; }
	#allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li ul { display:flex; flex-wrap:wrap; gap:10px 20px; padding:10px 0; }
	#allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li ul li { width:calc((100% - 40px) / 3); }
	#allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li ul li a { color:#888; font-size:var(--font22); font-weight:400; line-height:1.3;  }
}
@media screen and (max-width:640px){
	#allmenuBox .top { height:60px; }
	#allmenuBox .mLogo svg { height:18px; }
	#allmenuBox .menu { gap:10px; }
	#allmenuBox .menu { padding-right:35px; }
	#allmenuBox .menu .lang { margin-right:5px; height:36px; padding:0 15px; }
	#allmenuBox .menu .lang,
	#allmenuBox .menu .lang:hover { border-width:1px; }
    #allmenuBox .menuBox .mCont > ul { top:20px; }
    #allmenuBox .menuBox .mCont > ul > li { padding:5px 10px; }
    #allmenuBox .menuBox .mCont > ul > li:not(:last-child) { margin-bottom:10px; }
	#allmenuBox .menuBox .mCont > ul > li:before { top:5px; right:5px; }
	#allmenuBox .menuBox .mCont > ul > li .subDepth > ul { padding:10px 2px; }
	#allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li:not(:last-child) { margin-bottom:10px; }
	#allmenuBox .menuBox .mCont > ul > li .subDepth > ul > li ul { padding:5px 0 8px; }
	#allmenuBox.on .btnClose { top:16px; background-size:18px auto; }
}

footer { position:relative; background:#101010; }
footer .footer_box { position:relative; padding:180px 0 60px; }
footer .footer_box .top,
footer .footer_box .bottom { display:flex; justify-content:space-between; }
footer .footer_box .bottom { margin-top:120px; }
footer .l-box { display:flex; flex-direction:column; justify-content:space-between; }
footer .l-box .sns-box ul { display:flex; gap:40px; }
footer .l-box .fmenu { width:100%; margin-top:30px; }
footer .l-box .fmenu > ul { max-width:280px; }
footer .l-box .fmenu > ul > li:not(:last-child) { margin-bottom:30px; }
footer .l-box .fmenu > ul > li { position:relative; }
footer .l-box .fmenu > ul > li > a { color:#fff; font-size:var(--font23); font-weight:500; line-height:1.1; display:flex; align-items:center; justify-content:space-between; }
footer .l-box .fmenu > ul > li > a .clone-link { font-weight:600; display:flex; align-items:center; justify-content:space-between; width:100%; }
footer .l-box .fmenu > ul > li .aniTxt { height:var(--font25); }
footer .l-box .fmenu > ul > li.family-site img { transition:all 0.4s; }
footer .l-box .fmenu > ul > li.family-site.on img { transform:rotate(-180deg); }
footer .l-box .fmenu .fbox { display:none; position:absolute; left:0; bottom:50px; width:100%; padding:30px; background:var(--mainColor); }
footer .l-box .fmenu .fbox li:not(:last-child) { margin-bottom:30px; }
footer .l-box .fmenu .fbox li a { color:rgba(255, 255, 255, 0.3); font-size:var(--font19); font-weight:500; line-height:1.3; transition:all 0.3s; }
footer .l-box .fmenu .fbox li a:hover { color:#fff; }
footer .l-box .fmenu .info { margin-top:40px; }
footer .l-box .fmenu .info h5 { color:#fff; font-size:var(--font21); font-weight:600; line-height:1.3; }
footer .l-box .fmenu .info ul { margin-top:15px; display:flex; gap:10px 41px; }
footer .l-box .fmenu .info ul li { position:relative; color:#fff; font-size:var(--font19); font-weight:500; line-height:1.3; }
footer .l-box .fmenu .info ul li:before { content:""; display:block; width:1px; height:15px; position:absolute; left:-20px; top:50%; transform:translateY(-50%); background:rgba(255, 255, 255, 0.3); }
footer .l-box .fmenu .info ul li:first-child:before { display:none; }
footer .l-box .logo img { height:30px; }
footer .r-box { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; text-align:right; }
footer .r-box .txt { color:#fff; font-size:var(--font50); font-weight:600; line-height:1.4; }
footer .r-box .btn { margin-top:60px; }
footer .r-box .btn a { width:250px; height:75px; border:2px solid #fff; border-radius:100px; display:flex; align-items:center; justify-content:center; transition:all 0.4s; }
footer .r-box .btn a .clone-link { color:#fff; font-size:var(--font21); font-weight:500; line-height:1.1; display:inline-flex; align-items:center; justify-content:center; gap:0 15px; }
footer .r-box .btn a .aniTxt { height:var(--font23); }
footer .r-box .btn a:hover { border-color:var(--mainColor); background:var(--mainColor); }
footer .copyright { color:#fff; font-size:var(--font18); font-weight:400; line-height:1.3; height:30px; display:flex; align-items:flex-end; }
@media screen and (max-width:1280px){
	footer .r-box .btn a { width:240px; height:65px; }
}
@media screen and (max-width:1024px){
	footer .footer_box { padding:160px 0 50px; }
	footer .footer_box .bottom { margin-top:80px; }
	footer .l-box { max-width:300px; }
	footer .l-box .sns-box ul { gap:30px; }
	footer .l-box .sns-box img { height:36px; }
	footer .l-box .fmenu > ul { max-width:240px; }
	footer .l-box .fmenu > ul > li:not(:last-child) { margin-bottom:20px; }
	footer .l-box .fmenu > ul > li > a img { height:14px; }
	footer .l-box .fmenu > ul > li.family-site > a img { height:12px; }
	footer .l-box .fmenu .fbox { bottom:45px; padding:25px; }
	footer .l-box .fmenu .fbox li:not(:last-child) { margin-bottom:25px; }
	footer .l-box .fmenu .info { margin-top:20px; }
	footer .l-box .fmenu .info ul { margin-top:8px; gap:5px 31px; }
	footer .l-box .fmenu .info ul li:before { height:10px; left:-15px; }
	footer .r-box .btn { margin-top:30px; }
	footer .r-box .btn a { width:220px; height:55px; }
	footer .r-box .btn a img { height:14px; }
}
@media screen and (max-width:760px){
	footer .footer_box { padding:120px 0 50px; }
	footer .footer_box .bottom { margin-top:60px; }
	footer .footer_box .top { flex-wrap:wrap; flex-direction:column-reverse; }
	footer .footer_box .top .l-box { margin-top:40px; display:flex; flex-direction:row; align-items:center; max-width:100%; } 
	footer .footer_box .top .r-box { align-items:flex-start; text-align:left; }
	footer .footer_box .bottom { flex-wrap:wrap; gap:10px; }
	footer .footer_box .bottom .l-box,
	footer .footer_box .bottom .r-box { text-align:center; width:100%; max-width:100%; justify-content:center; align-items:center; }
	footer .l-box .sns-box { position:absolute; right:0; top:120px;}
	footer .l-box .sns-box ul { gap:20px; }
	footer .l-box .sns-box img { height:32px; }
	footer .l-box .fmenu { margin-top:0; }
	footer .l-box .fmenu > ul { display:flex; gap:10px 60px; max-width:100%; }
	footer .l-box .fmenu > ul > li:nth-child(1) { order:2; }
	footer .l-box .fmenu > ul > li:not(:last-child) { margin-bottom:0; }
	footer .l-box .fmenu > ul > li { width:calc((100% - 60px) / 2); }
	footer .l-box .fmenu .fbox { bottom:40px; padding:20px; }
	footer .l-box .fmenu .fbox li:not(:last-child) { margin-bottom:20px; }
	footer .l-box .fmenu .info ul { margin-top:5px; }
	footer .r-box .btn { margin-top:20px; }
	footer .r-box .btn a { width:160px; height:45px; border-width:1px; }
}
@media screen and (max-width:520px){
	footer .footer_box { padding:100px 0 50px; }
	footer .l-box .sns-box { top:190px;}
	footer .l-box .sns-box img { height:28px; }
	footer .l-box .fmenu > ul { gap:10px 40px; }
	footer .l-box .fmenu > ul > li { width:calc((100% - 40px) / 2); }
	footer .l-box .fmenu .fbox { bottom:30px; padding:15px; }
	footer .l-box .fmenu .fbox li:not(:last-child) { margin-bottom:15px; }
	footer .l-box .fmenu > ul > li.family-site > a img { height:11px; }
	footer .l-box .fmenu > ul > li > a img,
	footer .r-box .btn a img { height:12px; }
}

.quickMenu { position:sticky; right:0; bottom:0; margin-top:-60px; display:flex; justify-content:flex-end; z-index:50; pointer-events:none; }
.quickMenu.on {}
.quickMenu * { pointer-events:auto; }
.quickMenu .quick { position:relative; }
.quickMenu .quick > a { color:#fff; font-size:var(--font15); font-weight:600; line-height:1.0; width:200px; height:60px; display:flex; align-items:center; justify-content:center; gap:10px; background:linear-gradient(175deg, #3c147d 0%, #6d24e3 100%); }
.quickMenu .quick > a img { margin-bottom:2px }
.quickMenu .quick .q-box { display:none; position:absolute; left:0; bottom:60px; width:100%; background:rgba(255, 255, 255, 0.80); border:1px solid #e5e5e5; border-bottom:none }
.quickMenu .quick .q-box a { width:100%; height:60px; display:flex; align-items:center; justify-content:center; }
.quickMenu .btn_top a { width:60px; height:60px; display:flex; align-items:center; justify-content:center; background:var(--mainColor1); }
@media screen and (max-width:1024px){
	.quickMenu { margin-top:-50px; }
	.quickMenu .quick > a { width:180px; height:50px; }
	.quickMenu .quick .q-box { bottom:50px; }
	.quickMenu .quick .q-box a { height:50px; }
	.quickMenu .btn_top a { width:50px; height:50px; }
}
@media screen and (max-width:640px){
	.quickMenu { margin-top:-40px; }
	.quickMenu .quick > a { height:40px; }
	.quickMenu .quick .q-box { bottom:40px; }
	.quickMenu .quick .q-box a { height:40px; }
	.quickMenu .quick .q-box a img { height:14px; }
	.quickMenu .btn_top a { width:40px; height:40px; }
}



#allmenuBox .os-theme-dark > .os-scrollbar-vertical  { padding:0; background:rgba(0, 0, 0, 0.05); width:3px; border-radius:3px; }
#allmenuBox .os-theme-dark > .os-scrollbar-horizontal { padding:0; background:rgba(0, 0, 0, 0.05); height:3px; border-radius:3px; }
#allmenuBox .os-theme-dark > .os-scrollbar-vertical, 
#allmenuBox .os-theme-light > .os-scrollbar-vertical { width:3px; }
#allmenuBox .os-theme-dark > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle { background:#000; width:3px; height:3px; border-radius:3px; opacity:0.6 }
#allmenuBox .os-theme-dark.os-host-transition > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle.active, 
#allmenuBox .os-theme-light.os-host-transition > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle.active,
#allmenuBox .os-theme-dark > .os-scrollbar:hover > .os-scrollbar-track > .os-scrollbar-handle,
#allmenuBox .os-theme-dark > .os-scrollbar:hover > .os-scrollbar-track > .os-scrollbar-handle.active { background:#000; border-radius:3px; opacity:1; }
#allmenuBox .privacy-box .os-theme-dark > .os-scrollbar-vertical,
#allmenuBox .privacy-box .os-theme-dark > .os-scrollbar-horizontal { background:rgba(255, 255, 255, 0.5) }

.privacyPop { position:fixed; top:0; left:0; width:100%; height:100%; z-index:99999; display:none; }
.privacyPop.on { display:block; }
.privacyPop.on .bg { position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0, 0, 0, 0.4); }
.privacyPop .popbody { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); z-index:2; max-width:1200px; width:100%; padding:30px; background:#fff;  }
.privacyPop .popbody .title { text-align:center; color:#111; font-size:var(--font36); font-weight:600; line-height:1.3; padding:20px 0 40px; border-bottom:1px solid #ddd }
.privacyPop .popbody .scroll-box { height:600px; }
.privacyPop .popbody .popCont { width:100%; padding-top:20px; }
.privacyPop .btn_close { cursor:pointer; position:absolute; top:40px; right:40px; width:40px; height:40px; }
.privacyPop .btn_close span { z-index:1; height:2px; width:28px; position:absolute; top:50%; left:50%; transform:rotate(45deg); margin:0px 0 0 -14px; background:#000; display:block; }
.privacyPop .btn_close span:after { content:""; display:block; height:2px; width:28px; position:absolute; top:50%; left:50%; transform:rotate(-90deg); margin:0 0 0 -14px;background:#000; }
.privacyPop .popbody .privacy .mt30 { margin-top:15px; }
.privacyPop .popbody .privacy .pv-list .ptxt { font-size:var(--font20); }
.privacyPop .popbody .privacy .pv-list h4 { font-size:var(--font24); }
.privacyPop .popbody .privacy .pv-list > dl { margin-top:30px; }
.privacyPop .popbody .privacy .pv-list > dl > dt { font-size:var(--font17); }
.privacyPop .popbody .privacy .pv-list > dl > dd { margin-top:5px; font-size:var(--font17); }
.privacyPop .popbody .privacy .pv-list > dl > dd > p { margin-top:5px; font-size:var(--font17); }
.privacyPop .popbody .privacy .pv-list > dl > dd ul { margin-top:5px; }
.privacyPop .popbody .privacy .pv-list > dl > dd li:not(:last-child) { margin-bottom:5px; }
.privacyPop .popbody .privacy .pv-list > dl > dd li { font-size:var(--font17); }
.privacyPop .popbody .privacy .pv-list > dl > dd .list > li { padding-left:12px; }
.privacyPop .popbody .privacy .pv-list > dl > dd .list > li:before {top:11px; }
.privacyPop .popbody .privacy .pv-list table { margin-top:10px; }
.privacyPop .popbody .privacy .pv-list table thead th,
.privacyPop .popbody .privacy .pv-list table tbody th { font-size:var(--font17); }
.privacyPop .popbody .privacy .pv-list table thead th { height:50px; }
.privacyPop .popbody .privacy .pv-list table tbody td { padding:10px 20px; font-size:var(--font17); }
@media screen and (max-height:800px){
	.privacyPop .popbody .scroll-box { height:500px; }
}
@media screen and (max-height:700px){
	.privacyPop .popbody .scroll-box { height:360px; }
}
@media screen and (max-width:1280px){
	.privacyPop .popbody { top:50%; left:20px; transform:translate(0, -50%); max-width:calc(100% - 40px); }
}
@media screen and (max-width:1024px){
	.privacyPop .popbody { padding:20px; }
	.privacyPop .popbody .title {  padding:10px 0 20px; }
	.privacyPop .popbody .scroll-box { height:500px; }
	.privacyPop .btn_close { top:20px; right:20px; }
	.privacyPop .btn_close span,
	.privacyPop .btn_close span:after { height:1px; width:22px; margin:0px 0 0 -11px; }
	.privacyPop .popbody .privacy .mt30 { margin-top:10px; }
	.privacyPop .popbody .privacy .pv-list > dl { margin-top:15px; }
	.privacyPop .popbody .privacy .pv-list > dl > dd { margin-top:5px; }
	.privacyPop .popbody .privacy .pv-list > dl > dd > ul { margin-top:3px; }
	.privacyPop .popbody .privacy .pv-list > dl > dd .list > li { padding-left:8px; }
	.privacyPop .popbody .privacy .pv-list > dl > dd .list > li:before { top:9px; width:2px; height:2px; }
	.privacyPop .popbody .privacy .pv-list table thead th { height:45px; }
	.privacyPop .popbody .privacy .pv-list table tbody td { padding:10px 20px; }
}
@media screen and (max-width:640px){
	.privacyPop .popbody .title { padding:5px 0 15px 0; }
	.privacyPop .popbody .scroll-box { height:360px; }
	.privacyPop .btn_close { top:10px; right:10px; }
}