/* Font - OnGothic */
/* @font-face {
    font-family: 'On Gothic';
    src: url('../font/ongothic/OnGothic-Regular.eot');
    src: url('../font/ongothic/OnGothic-Regular.eot?#iefix') format('embedded-opentype'),
        url('../font/ongothic/OnGothic-Regular.woff2') format('woff2'),
        url('../font/ongothic/OnGothic-Regular.woff') format('woff'),
        url('../font/ongothic/OnGothic-Regular.ttf') format('truetype'),
        url('../font/ongothic/OnGothic-Regular.svg#OnGothic-Regular') format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0027-007E, U+00A0-024F;
}
@font-face {
    font-family: 'On Gothic';
    src: url('../font/ongothic/OnGothic-ExtraBold.eot');
    src: url('../font/ongothic/OnGothic-ExtraBold.eot?#iefix') format('embedded-opentype'),
        url('../font/ongothic/OnGothic-ExtraBold.woff2') format('woff2'),
        url('../font/ongothic/OnGothic-ExtraBold.woff') format('woff'),
        url('../font/ongothic/OnGothic-ExtraBold.ttf') format('truetype'),
        url('../font/ongothic/OnGothic-ExtraBold.svg#OnGothic-ExtraBold') format('svg');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0027-007E, U+00A0-024F;
}
@font-face {
    font-family: 'On Gothic';
    src: url('../font/ongothic/OnGothic-Bold.eot');
    src: url('../font/ongothic/OnGothic-Bold.eot?#iefix') format('embedded-opentype'),
        url('../font/ongothic/OnGothic-Bold.woff2') format('woff2'),
        url('../font/ongothic/OnGothic-Bold.woff') format('woff'),
        url('../font/ongothic/OnGothic-Bold.ttf') format('truetype'),
        url('../font/ongothic/OnGothic-Bold.svg#OnGothic-Bold') format('svg');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0027-007E, U+00A0-024F;
} */

/* Font - JayeonSans */
@font-face {
    font-family: 'Jayeon Sans';
    src: url('../font/jayeonsans/JayeonSans-Regular.eot');
    src: url('../font/jayeonsans/JayeonSans-Regular.eot?#iefix') format('embedded-opentype'),
        url('../font/jayeonsans/JayeonSans-Regular.woff2') format('woff2'),
        url('../font/jayeonsans/JayeonSans-Regular.woff') format('woff'),
        url('../font/jayeonsans/JayeonSans-Regular.ttf') format('truetype'),
        url('../font/jayeonsans/JayeonSans-Regular.svg#JayeonSans-Regular') format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+AC00-D7A3, U+1100-11FF;
}
@font-face {
    font-family: 'Jayeon Sans';
    src: url('../font/jayeonsans/JayeonSans-Medium.eot');
    src: url('../font/jayeonsans/JayeonSans-Medium.eot?#iefix') format('embedded-opentype'),
        url('../font/jayeonsans/JayeonSans-Medium.woff2') format('woff2'),
        url('../font/jayeonsans/JayeonSans-Medium.woff') format('woff'),
        url('../font/jayeonsans/JayeonSans-Medium.ttf') format('truetype'),
        url('../font/jayeonsans/JayeonSans-Medium.svg#JayeonSans-Medium') format('svg');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+AC00-D7A3, U+1100-11FF;
}

/* Font - Eulyoo */
@font-face {
    font-family: 'Eulyoo1945';
    src: url('../font/eulyoo/Eulyoo1945-Regular.eot');
    src: url('../font/eulyoo/Eulyoo1945-Regular.eot?#iefix') format('embedded-opentype'),
        url('../font/eulyoo/Eulyoo1945-Regular.woff2') format('woff2'),
        url('../font/eulyoo/Eulyoo1945-Regular.woff') format('woff'),
        url('../font/eulyoo/Eulyoo1945-Regular.ttf') format('truetype'),
        url('../font/eulyoo/Eulyoo1945-Regular.svg#Eulyoo1945-Regular') format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Eulyoo1945';
    src: url('../font/eulyoo/Eulyoo1945-SemiBold.eot');
    src: url('../font/eulyoo/Eulyoo1945-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('../font/eulyoo/Eulyoo1945-SemiBold.woff2') format('woff2'),
        url('../font/eulyoo/Eulyoo1945-SemiBold.woff') format('woff'),
        url('../font/eulyoo/Eulyoo1945-SemiBold.ttf') format('truetype'),
        url('../font/eulyoo/Eulyoo1945-SemiBold.svg#Eulyoo1945-SemiBold') format('svg');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


/* root */
:root {
    --color-black: #000;
    --color-white: #fff;
    --color-deepblue: #003E7E;
    --color-blue: #0077F4;
}

/* reset */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{ border: 0; font-family: inherit; font-size: 100%; font-style: inherit; font-weight: inherit; margin: 0; outline: 0; padding: 0; vertical-align: baseline; }
ol,ul,li{ list-style: none; padding: 0; margin: 0; }

/* layout */
html, body { background: transparent; width: 100%; font-size: 16px; line-height: 1.6; letter-spacing: 0; color: var(--color-deepblue); margin: 0; padding: 0; font-family: 'On Gothic', 'Jayeon Sans', '애플SD 고딕네오', 'Apple SD Gothic Neo', '맑은 고딕', 'Malgun Gothic', '돋움', 'Dotum', sans-serif; word-break: keep-all; cursor: default; }
.serif { font-family: 'Eulyoo1945', 'Times New Roman', 'Times', 'Batang', Serif; }
::selection { color: var(--black); background: var(--beige-dark);}
* { box-sizing: border-box; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; -webkit-tap-highlight-color: transparent; font-synthesis: none !important; font-synthesis-weight: none !important; font-synthesis-style: none !important; font-synthesis-small-caps: none !important; }
*:focus { outline: none; }
a,
button { color: var(--color-deepblue); cursor: pointer; text-decoration: none; transition: all 0.1s ease-out; border: 0; outline: none; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; -webkit-tap-highlight-color: transparent; background-color: transparent; }
a:hover,
button:hover { text-decoration: none; color: var(--color-blue); }
a:focus,
button:focus { outline: none; }
img { width: 100%; height: auto; max-width: none; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; -webkit-user-drag: none; pointer-events: none; }
.pc-only { display: block; }
.mo-only { display: none !important; }

@media (max-width: 1024px) {
    body { font-size: 16px; }
}

@media (max-width: 768px) {
    .pc-only { display: none !important; }
    .mo-only { display: block !important; }
}

/* typography */
.bold { font-weight: bold; }

.txt-h1,
.txt-h2,
.txt-h3,
.txt-h4,
.txt-h5,
.txt-h6 { line-height: 1.4; }

.txt-h1 { font-size: 36px; }
.txt-h2 { font-size: 34px; }
.txt-h3 { font-size: 32px; }
.txt-h4 { font-size: 28px; }
.txt-h5 { font-size: 24px; }
.txt-h6 { font-size: 22px; }

.txt-large { font-size: 20px; }
.txt-normal { font-size: 16px; }
.txt-small { font-size: 14px; }
.txt-xsmall { font-size: 12px; }

@media (max-width: 1024px) {
    .txt-h1 { font-size: 32px; }
    .txt-h2 { font-size: 28px; }
    .txt-h3 { font-size: 26px; }
    .txt-h4 { font-size: 24px; }
    .txt-h5 { font-size: 22px; }
    .txt-h6 { font-size: 20px; }

    .txt-large { font-size: 18px; }
    .txt-normal { font-size: 14px; }
    .txt-small { font-size: 12px; }
    .txt-xsmall { font-size: 10px; }

    .mo-txt-h1 { font-size: 32px !important; }
    .mo-txt-h2 { font-size: 28px !important; }
    .mo-txt-h3 { font-size: 26px !important; }
    .mo-txt-h4 { font-size: 24px !important; }
    .mo-txt-h5 { font-size: 22px !important; }
    .mo-txt-h6 { font-size: 20px !important; }

    .mo-txt-large { font-size: 18px !important; }
    .mo-txt-normal { font-size: 14px !important; }
    .mo-txt-small { font-size: 12px !important; }
    .mo-txt-xsmall { font-size: 10px !important; }
}

/* btn */
*[class^=btn] { display: inline-block; }
.btn-large { padding: 12px 16px; border-radius: 8px; }
.btn-medium { padding: 8px 12px; border-radius: 6px; }
.btn-small { padding: 4px 8px; border-radius: 4px; }

.btn-deepblue { background: var(--color-deepblue); color: #fff; }
.btn-deepblue:hover { color: #eee; }
.btn-blue { background: var(--color-blue); color: #fff; }
.btn-blue:hover { color: #eee; }
.btn-white { background: #fff; color: var(--black); }
.btn-white:hover { background: #eee; color: var(--black); }

@media (max-width: 1024px) {
    .btn-large { padding: 10px 14px; border-radius: 6px; }
    .btn-medium { padding: 6px 10px; border-radius: 4px; }
    .btn-small { padding: 2px 6px; border-radius: 2px; }
}

/* bullet ul */
ul.bullet { padding: 4px 0; opacity: 0.9; }
ul.bullet li { position: relative; overflow: hidden; padding: 4px 0 4px 12px; line-height: 1.6; }
ul.bullet li::before { position: absolute; top: 17px; left: 0; content: ''; width: 2px; height: 2px; border-radius: 10px; background: var(--black); display: inline-block; }
@media (max-width: 1024px) {
    ul.bullet { padding: 2px 0; }
    ul.bullet li { padding: 3px 0 3px 10px; }
    ul.bullet li::before { top: 15px; }
}

/* container */
#container { position: relative; width: 100%; margin: 0 auto; padding: 0; max-width: var(--content-width); overflow: hidden; z-index: 2; }
#container-inner { position: relative; width: 100%; margin: 0; padding: 0; min-height: 100svh; overflow: hidden; }
@media (max-width: 1024px) {
    #container { }
}

/* theme */
.dark-el { display: none; }
body.theme-dark .light-el { display: block; }
body.theme-dark .dark-el { display: none !important; }
body.theme-light .dark-el { display: block; }
body.theme-light .light-el { display: none !important; }

/* header */
header { position: fixed; top: 0; left: 0; width: 100%; padding: 36px 50px 0; background: rgba(255,255,255,0.35); backdrop-filter: blur(10px); z-index: 999; }
header .header-inner { position: relative; border-bottom: 1px solid var(--color-deepblue); width: 100%; display: flex; justify-content: space-between; align-items: flex-end; padding: 0 0 20px; }
header .header-logo { position: relative; width: 240px; display: flex; align-items: flex-end; }
header .header-logo img { width: 100%; height: auto; display: block; }
header .header-hamburger { position: relative; width: 32px; height: 32px; cursor: pointer; display: none; }
header .header-hamburger .hamburger-line { position: absolute; left: 50%; transition: all .1s linear; transform: translate(-50%, 0%); width: 25px; height: 3px; background: url("../img/icon/icon-hamburger-line.svg") center center / 100% auto no-repeat; }
header .header-hamburger .hamburger-line.hamburger-line-1 { top: 40%; }
header .header-hamburger .hamburger-line.hamburger-line-2 { top: 60%; bottom: auto; }
header .header-gnb-wrap { overflow: hidden; transition: background .1s linear; }
header .header-gnb { display: flex; justify-content: flex-end; align-items: center; gap: 0; }
header .header-gnb li::after { content: ''; display: inline-block; height: 14px; width: 1px; background: var(--color-deepblue); margin: 0 10px; opacity: 0.3; }
header .header-gnb li:last-child:after { display: none; }
header .header-gnb li a { padding: 4px 10px; font-size: 20px; font-weight: 400; }
header .header-gnb li.current-menu-item a { color: var(--color-blue); }

body.theme-dark header { background: transparent; }
body.theme-dark header .header-inner { border-color: rgba(255, 255, 255, 0.7); }
body.theme-dark header .header-hamburger .hamburger-line { background-image: url("../img/icon/icon-hamburger-line-w.svg"); }
body.theme-dark header .header-gnb li a { color: var(--color-white); }
body.theme-dark header .header-gnb li::after { background: var(--color-white); }
body.theme-dark header .header-gnb li a,
body.theme-dark header .header-gnb:hover li.on a,
body.theme-dark header .header-gnb:hover li a { opacity: 0.7; }
body.theme-dark header .header-gnb li a:hover,
body.theme-dark header .header-gnb li.current-menu-item a { opacity: 1; }

body.gnb-opened { overflow: hidden; }
body.gnb-opened.theme-dark header .header-hamburger .hamburger-line { background-image: url("../img/icon/icon-hamburger-line.svg"); }
body.gnb-opened header .header-hamburger .hamburger-line.hamburger-line-1,
body.gnb-opened.theme-dark header .header-hamburger .hamburger-line.hamburger-line-1 { top: 50%; transform: translate(-50%, -50%) rotate(45deg); }
body.gnb-opened header .header-hamburger .hamburger-line.hamburger-line-2,
body.gnb-opened.theme-dark header .header-hamburger .hamburger-line.hamburger-line-2 { top: 50%; bottom: auto; transform: translate(-50%, -50%) rotate(-45deg); }
body.gnb-opened header .header-gnb-wrap { height: 100%; height: 100vh; padding: 80px 30px 0; }
body.gnb-opened header .header-gnb { justify-content: flex-start; }
body.gnb-opened.theme-dark header .header-inner { border-color: var(--color-deepblue); }
body.gnb-opened.theme-dark header .header-gnb li a { color: var(--color-deepblue) !important; opacity: 1; }
body.gnb-opened.theme-dark header .header-gnb li.current-menu-item a { opacity: 1; color: var(--color-blue) !important; }
body.gnb-opened.theme-dark .header-logo img.light-el,
body.gnb-opened.theme-dark header .header-hamburger .light-el { display: none !important; }
body.gnb-opened.theme-dark .header-logo img.dark-el,
body.gnb-opened.theme-dark header .header-hamburger .dark-el { display: block !important; }

@media (max-width: 1024px) {
    header { padding: 20px 30px 0; }
    header .header-inner { padding: 0 0 16px; }
    header .header-logo { width: 188px; }
    header .header-gnb-wrap { height: 0; position: fixed; top: 0; left: 0; width: 100%; height: 0; background: #fff; z-index: -1; }
    header .header-gnb { flex-direction: column; }
    header .header-gnb li { width: 100%; border-bottom: 1px solid #eee; }
    header .header-gnb li a { padding: 12px 0; display: block; }
    header .header-gnb li::after { display: none; }
    header .header-hamburger { display: block; }
}

/* content */
/* #content { padding: 150px 0 0; } */

/* footer */
footer { position: relative; display: flex; flex-direction: column; gap: 100px 0; padding: 20px 50px; background: var(--color-deepblue); color: #fff; font-size: 10px; }
footer .footer-top { display: flex; justify-content: space-between; align-items: flex-start; }
footer .footer-top .footer-tagline { opacity: 0.9; }
footer .footer-top .footer-logo { width: 90px; margin-top: 2px; }
footer .footer-top .footer-logo img { display: block; width: 100%; height: auto; }
footer .footer-bottom { display: flex; justify-content: space-between; align-items: flex-start; }
footer .footer-bottom .footer-bottom-left { display: flex; gap: 0 40px; }
footer .footer-bottom .footer-bottom-left li { display: flex; gap: 0 12px; }
footer .footer-bottom .footer-bottom-left li p,
footer .footer-bottom .footer-bottom-left li a { opacity: 0.6; color: #fff; }
footer .footer-bottom .footer-bottom-left li a { text-decoration: underline; }
footer .footer-bottom .footer-bottom-left li a:hover { opacity: 1; }
footer .footer-bottom .footer-bottom-right p { opacity: 0.6; }

@media (max-width: 1024px) {
    footer { padding: 20px 30px; gap: 80px 0; }
    footer .footer-top .footer-logo { width: 70px; }
    footer .footer-bottom { align-items: flex-end; }
    footer .footer-bottom .footer-bottom-left { flex-direction: column; gap: 12px 0; }
    footer .footer-bottom .footer-bottom-left li:first-child { flex-direction: column; gap: 0; }
}