@charset "utf-8";

/* reset */
html, body{
    -webkit-text-size-adjust: none;  /* 크롬, 사파리, 오페라 신버전 */
    -ms-text-size-adjust: none;  /* IE */
    -moz-text-size-adjust: none;  /* 파이어폭스 */
    -o-text-size-adjust: none;  /* 오페라 구버전 */
}
*{box-sizing: border-box; -webkit-tap-highlight-color: transparent}
*::before, *::after{box-sizing: border-box;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,textarea,p,blockquote,th,td,input,select,textarea,button{margin: 0; padding: 0}
button {color: var(--gray90);}
body {
    overflow: visible;
    top: 0 !important;
    font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Noto Sans TC", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
    font-size: var(--p3);
    line-height: 1.7;
    width: 100%;
    transform-origin: left top;
    color: var(--black);
    word-break: keep-all;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    transition: background-color 0.3s ease-in-out;
}
/* 일본어·중국어 표면(body.ja / body.zh_cn — langBodyClass()): 띄어쓰기가 없어 keep-all 이면 문장 전체가 한 단어로 취급돼
   줄이 바뀌지 않고 좁은 화면에서 넘친다. 글자 단위 줄바꿈 + 금칙(line-break: strict)으로 되돌린다.
   페이지 곳곳의 keep-all(sub.css·media.css·sub_resp.css …)을 모두 이겨야 해서 !important.
   일본어는 지원 브라우저에서 구 단위 줄바꿈(auto-phrase, <html lang="ja"> 필요) — 미지원이면 앞 선언(normal)이 남는다. */
body.ja, body.ja *, body.zh_cn, body.zh_cn * {word-break: normal !important; line-break: strict;}
body.ja, body.ja * {word-break: auto-phrase !important;}
/* auto-phrase 는 구(phrase) 안에서 줄을 바꾸지 않아 「オーダーメイドレイヤリング」 같은 긴 가타카나·외래어 한 구가 칸보다 길면 그대로 넘친다
   — 한 줄에 안 들어가는 구/단어만 글자 단위로 끊는다(2026-10-15). 크롬은 auto-phrase 구에 break-word 를 적용하지 않아 일본어는 anywhere.
   (anywhere 는 min-content 도 줄여 좁은 flex 칸이 넘치는 대신 줄을 바꾼다) */
body.zh_cn, body.zh_cn * {overflow-wrap: break-word;}
body.ja, body.ja * {overflow-wrap: anywhere;}
fieldset,img{border: 0 none; vertical-align: middle}
img{max-width: 100%;}
h1,h2,h3,h4,h5,h6{font-size: inherit;}
svg{overflow: visible;}
dl,ul,ol,li{list-style: none}
blockquote, q{quotes: none}
blockquote::before, blockquote::after,q::before, q::after{content: ''; content: none}
input,select,textarea,button{font-size: inherit; font-family: inherit; vertical-align: middle}
input{-webkit-appearance: none; -webkit-border-radius: 0; outline: none; border: none;}
textarea::placeholder,
input::placeholder {color: var(--gray);}
input[type='checkbox'], input[type='radio']{clip: rect(0, 0, 0, 0); height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px !important;}
textarea{-webkit-appearance: none; -webkit-border-radius: 0; resize: vertical; width: 100%; outline: none; font-family: inherit}
button{background: none; border: 0 none; cursor: pointer;  text-transform: inherit; color: var(--gray90); line-height: inherit;}
table{border-collapse: collapse; border-spacing: 0;}
a{color: inherit; text-decoration: none;}
a:active, a:hover{text-decoration: none}
address,caption,cite,code,dfn,em,var{font-style: normal; font-weight: normal}
caption{overflow: hidden; position: absolute; clip: rect(0, 0, 0, 0); width: 1px; height: 1px; margin: -1px}
legend{overflow: hidden; position: absolute; clip: rect(0, 0, 0, 0); width: 1px; height: 1px; margin: -1px}
strong, b{font-weight: bold;}
pre{font-family: inherit;}
video { backface-visibility: hidden; -webkit-transform: translateZ(0); }


.swiper-button-next:after,
.swiper-button-prev:after,
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after { content: none;}

.swiper-button-prev,
.swiper-button-next {top: inherit; left: inherit; bottom: inherit; right: inherit; position: relative; width: auto; height: auto; background: none;}

.swiper-wrapper.disabled { transform: translate3d(0px, 0, 0) !important; }
.swiper-pagination.disabled, .swiper-button-prev.disabled, .swiper-button-next.disabled, .swiper-button-pause.disabled { display: none; }
.swiper-button-next, .swiper-button-prev { outline:none; }
