*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, hr, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, span, strike, strong, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video{
    margin: 0;
    padding: 0;
    border: 0;
    font-style: normal;
    font-variant: normal;
    font-weight: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
    line-height: 160%;
    background-repeat:no-repeat !important
}
input, select{
    margin: 0;
    padding: 0;
    font-style: normal;
    font-variant: normal;
    font-weight: inherit;
    /* NanumSquareNeo / NotoSansKR 웹폰트가 로드되지 않는 환경 대비: Pretendard로 통일 */
    font-family:'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
}
input[type='tel'], input[type='text'], input[type='password'], textarea, button{
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none
}
input[type='tel']:focus, input[type='text']:focus, input[type='password']:focus, textarea:focus, button:focus{
    outline:none
}
input, select{
    padding: 5px
}
input[type='file']{
    padding: 0
}
input::-webkit-input-placeholder{
    font-size:14px;
    color:#aaa;
    font-family:'Pretendard', sans-serif;
}
input:focus::-webkit-input-placeholder, input:focus::-moz-placeholder, input:focus:-ms-placeholder{
    color: transparent !important
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{
    display: block
}
body{
    font-family:'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'AppleGothic', 'Malgun Gothic', '맑은 고딕', 'NanumGothic', '나눔고딕', sans-serif;
    word-break: keep-all;
    -webkit-text-size-adjust: none;
}
ol, ul{
    list-style: none
}
blockquote, q{
    quotes: '"' '"'
}
blockquote:after, blockquote:before, q:after, q:before{
    content: '';
    content: none
}
table{
    border-collapse: collapse;
    border-spacing: 0
}
address{
    font-style: normal
}
textarea{
    width: 100%;
    resize: none;
}
button, img, input, select{
    vertical-align: middle
}
button{
    margin: 0;
    padding: 0;
    border: 0;
    background-color: transparent;
    font: inherit;
    color: inherit;
    cursor: pointer;
    border-radius: 0
}
input, textarea, button, select, a, .btn{
    font-family:'Pretendard', sans-serif;
    -webkit-tap-highlight-color: transparent;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}
input, select, textarea{
    background-color:#fff;
    padding: 10px;
    border:1px solid #d9d9d9;
}
input:focus, select:focus, textarea:focus{
    background-color:#fff;
    outline:none;
    border-color:#3a6cbf;
    box-shadow: 0 0 0 3px rgba(58, 108, 191, 0.1);
}
input:-webkit-autofill{
    -webkit-box-shadow: 0 0 0 30px #fff inset;
    -webkit-text-fill-color: #000;
}
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active{
    transition: background-color 5000s ease-in-out 0s
}
a{
    font-size: inherit;
    color: inherit;
    text-decoration: none
}
/* 이미지 크롭 방지 공통 규칙: 어떤 컴포넌트가 사용하든 기본은 "잘리지 않게" */
img{
    border: 0;
    max-width:100%;
    height:auto;
    object-fit: contain;
}
em, strong{
    font-size: inherit;
    line-height: inherit
}
body, html{
    min-width:320px
}
body, a{
    color:#222
}
b, .bd, h1, h2, h3, h4, h5, h6, strong{
    font-family:'Pretendard', sans-serif;
    font-weight:700;
}
table td a{
    overflow: hidden;
    height: auto;
    white-space: normal;
    word-wrap: break-word;
    word-break: break-all;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

/*
  히어로 배너 방어 규칙
  landing_render_hero() 가 출력하는 마크업은 별도 파일이라 여기서 100% 제어는 어렵지만,
  일반적으로 쓰이는 클래스/구조에 대해 "고정 높이 + cover로 인한 크롭"을 막아둡니다.
  실제 히어로 HTML 구조를 확인하면 더 정확하게 잡을 수 있습니다.
*/
.hero, [class*="hero"], .landing-hero{
    width:100%;
}
.hero img, [class*="hero"] img, .landing-hero img{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
}
