.site_footer { position:relative; display:flex; width:100%; padding:20px var(--y-layout-page-gutter, 72px) 0; flex-direction:column; gap:20px; overflow:hidden; background:var(--y-palette-mist); color:var(--y-palette-muted); font-family:"Pretendard",sans-serif; }
.site_footer_top { position:relative; z-index:1; display:flex; width:100%; height:234px; align-items:flex-start; justify-content:space-between; gap:48px; overflow:hidden; }
.site_footer_left { display:flex; width:min(477px,42vw); height:234px; flex-direction:column; align-items:flex-start; gap:20px; }
.site_footer_logo { position:relative; display:block; width:113px; height:54px; overflow:hidden; }
.site_footer_logo img { position:absolute; top:-55.51%; left:0; display:block; width:100%; height:211.86%; max-width:none; }
.site_footer_address { display:flex; flex-direction:column; gap:15px; font-size:var(--type-meta, 14px); font-style:normal; font-weight:300; line-height:1.35; white-space:nowrap; }
.site_footer_address p { margin:0; }
.site_footer_address > p:first-child { font-weight:300; }
.site_footer_address_detail { display:flex; flex-direction:column; gap:3px; }
.site_footer_contact_line { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.site_footer_contact_divider { display:inline-block; width:1px; height:.9em; flex:0 0 1px; background:currentColor; opacity:.72; }
.site_footer_social { display:flex; margin-top:0; margin-bottom:auto; gap:8px; transform:translateY(-4px); }
.site_footer_social a { display:grid; width:40.5px; height:40.5px; place-items:center; color:inherit; transition:opacity 180ms ease; }
.site_footer_social a:hover,
.site_footer_social a:focus-visible { opacity:.62; }
.site_footer_social_icon { display:block; width:27px; height:27px; fill:currentColor; color:inherit; }
.site_footer_menu { display:flex; height:100%; align-items:flex-start; gap:35px; padding-block:20px; }
.site_footer_menu_group { display:flex; min-width:0; flex-direction:column; align-items:flex-start; gap:5px; }
.site_footer_menu a { color:inherit; text-decoration:none; }
.site_footer_menu > a,
.site_footer_menu_group > a:first-child { margin-bottom:15px; font-size:var(--type-meta); font-weight:300; line-height:1.35; }
.site_footer_menu_group a:not(:first-child) { font-size:var(--type-fine); font-weight:300; line-height:1.3; }
.site_footer_menu > a { margin:0; }
.site_footer_menu > a:first-child { min-width:0; }
.site_footer_menu a:hover,
.site_footer_menu a:focus-visible { color:var(--y-palette-brand-blue); }
.site_footer_bottom { position:relative; z-index:1; display:flex; min-height:54px; padding:20px 0; align-items:center; justify-content:space-between; gap:24px; border-top:.25px solid #b8c6cc; font-size:var(--type-fine); font-weight:300; line-height:1.35; }
.site_footer_bottom p { margin:0; }
.site_footer_privacy { color:inherit; border-bottom:.5px solid currentColor; }
.site_footer_watermark { position:absolute; z-index:0; top:34px; left:50%; width:206px; height:206px; object-fit:contain; opacity:.05; transform:translateX(-50%); pointer-events:none; }
@media (max-width:1440px) { .site_footer_watermark { width:176px; height:176px; } }
@media (min-width:521px) {
  .site_footer_menu_group { position:relative; display:block; width:max-content; }
  .site_footer_menu_group > a:not(:first-child) { position:absolute; left:0; white-space:nowrap; }
  .site_footer_menu_group > a:nth-child(2) { top:37px; }
  .site_footer_menu_group > a:nth-child(3) { top:56.4px; }
  .site_footer_menu_group > a:nth-child(4) { top:75.8px; }
}
@media (max-width:1024px) { .site_footer_top { gap:28px; } .site_footer_menu { gap:24px; } .site_footer_address { white-space:normal; } .site_footer_contact_line { gap:6px; } .site_footer_watermark { width:150px; height:150px; } }
@media (max-width:768px) { .site_footer { padding-top:28px; } .site_footer_top { height:auto; flex-direction:column; gap:34px; padding-bottom:34px; overflow:visible; } .site_footer_left { width:100%; height:auto; min-height:220px; } .site_footer_menu { width:100%; height:auto; flex-wrap:wrap; justify-content:space-between; } .site_footer_bottom { align-items:flex-start; flex-direction:column; } .site_footer_watermark { top:42px; right:var(--y-layout-page-gutter, 28px); left:auto; width:110px; height:110px; transform:none; } }
@media (min-width:521px) and (max-width:768px) { .site_footer_menu { min-height:116px; } }
@media (max-width:520px) { .site_footer_menu { display:grid; grid-template-columns:repeat(2,1fr); gap:28px 20px; } }
