@charset "utf-8";
/* variable */
/*:root {*/
/*    --primary-color: #AE0000; !*레드*!*/
/*    --primary-color-rgb:174,0,0; !*레드 rgb*!*/
/*    --primary-light-color:#c12929;*/
/*    --secondary-color:#63391B; !*브라운*!*/
/*    --main-text-color:#22272B; !*텍스트 기본 컬러*!*/
/*    --sub-text-color:#64707C; !*서브 텍스트 컬러*!*/
/*    --subLight-text-color:#A5A5A5; !*서브 라이트 텍스트 컬러 (서브 텍스트보다 한 톤 더 연함)*!*/
/*    --font-basic:"Pretendard", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Malgun Gothic", "맑은 고딕", helvetica, "Apple SD Gothic Neo", arial, dotum, 돋움, sans-serif; !* 본문 메인 폰트 *!*/
/*    --font-mont:"Montserrat", sans-serif; !*몬세랏 고딕 폰트*!*/
/*    --font-myeongjo:"Nanum Myeongjo", serif; !*나눔명조 폰트*!*/
/*    --black:#080808; !*기본 블랙*!*/
/*    --yellow:#F6C54B; !*옐로우*!*/
/*}*/

/* ------------reset ------------*/
*,
::before,
::after {
    box-sizing: border-box;
}

::before,
::after {
    text-decoration: inherit;
    vertical-align: inherit;
}

.cf:after {
    display: block;
    content: "";
    clear: both;
}

html {
    width: 100%;
    height: 100%;
    cursor: default;
    -moz-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    word-break: break-word;
}

body,
button,
dd,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
select,
table,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0;
}

body,
button,
input,
select,
table,
textarea {
    font-size: 13px;
    line-height: 1.5;
    color: inherit;
    font-family:var(--font-family);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    line-height: inherit;
}

hr {
    height: 0;
    overflow: visible;
}

main,
details {
    display: block;
}

dl,
ol,
ul,
menu {
    list-style: none;
}

pre,
code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

address,
em,
i {
    font-style: normal;
}

a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
}

a:hover {
    text-decoration: none;
}

abbr[title] {
    text-decoration: underline;
    text-decoration: underline dotted;
}

b,
strong {
    font-weight: bolder;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

audio,
video {
    display: inline-block;
}

img {
    vertical-align: top;
}

iframe,
img,
fieldset {
    border-style: none;
}

img,
video {
    max-width: 100%;
}

svg:not([fill]) {
    fill: currentColor;
}

svg:not(:root) {
    overflow: hidden;
}

img[src$=".gif"],
img[src$=".png"] {
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    -ms-interpolation-mode: nearest-neighbor;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

button {
    background-color: transparent;
    cursor: pointer;
}

button,
select {
    text-transform: none;
}

button,
input {
    border: 0;
    border-radius: 0;
    overflow: visible;
}

input:focus {
    outline: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

figure {
    margin: 0;
}

fieldset {
    border: 1px solid #a0a0a0;
    padding: 0.35em 0.75em 0.625em;
}

input {
    overflow: visible;
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal;
}

progress {
    display: inline-block;
    vertical-align: baseline;
}

select {
    text-transform: none;
}

textarea {
    overflow: auto;
    resize: vertical;
}

[type="checkbox"],
[type="radio"] {
    padding: 0;
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto;
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: 0.54;
}

::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

:-moz-focusring {
    outline: 1px dotted ButtonText;
}

:-moz-ui-invalid {
    box-shadow: none;
}

dialog {
    background-color: #fff;
    border: solid;
    color: #000;
    display: block;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
}

dialog:not([open]) {
    display: none;
}

summary {
    display: list-item;
}

.pre-wrap {
    white-space: pre-wrap;
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

[hidden] {
    display: none;
}

[aria-busy="true"] {
    cursor: progress;
}

[aria-controls] {
    cursor: pointer;
}

[aria-disabled="true"],
[disabled] {
    cursor: not-allowed;
}

[aria-hidden="false"][hidden] {
    display: initial;
}

[aria-hidden="false"][hidden]:not(:focus) {
    clip: rect(0, 0, 0, 0);
    position: absolute;
}


/* ------------ common ------------ */
html{
    font-size: 10px;
    scroll-behavior: smooth;
}
body {
    overflow-x: hidden; font-size: 1.6rem; color:var(--main-text-color); letter-spacing: -0.03em;
    word-break: keep-all; line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/* 가독성 향상을 위한 본문 스타일 */
p {
    line-height: 1.8;
    margin-bottom: 0.5em;
}
p:last-child {
    margin-bottom: 0;
}
.wrap{
    min-height: 130vh;
}
.wrap:not(.idx){
    margin-top: 102px; padding-top: 113px;
}
/* font famliy */
.ff-mont {
    font-family: var(--font-mont);
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.ff-myeongjo{
    font-family: var(--font-myeongjo);
    font-weight: 400;
    font-style: normal;
}

/* buttons - 터치 영역 최소 44px 보장 */
button {
    background-color: #0D101100;
}
.btn{
    padding:1.2rem 3.6rem; min-height: 4.8rem;
    border-radius: 5em;
    font-size: 1.6rem; font-weight: 700;
    transition: all 0.15s ease-in-out;
    display: inline-flex; align-items: center; justify-content: center;
}
.btn:hover, .btn:focus{
    filter:brightness(90%);
    transform: translateY(-1px);
}
.btn:active{
    filter:brightness(80%);
    transform: translateY(0);
}
.btn-primary{
    background-color: var(--black);
    color:white;
}
.btn-secondary{
    background-color: white;
    color:var(--black);
}
.btn-outline-secondary{
    border: 1px solid #fff; background-color: rgba(255, 255, 255, 0.3);
}
.btn-lg{
    padding:1rem 6rem; height: 7rem;
    font-size: 1.8rem;
}

.btn-sm{
    padding: 0.8rem 3.6rem; height: 4rem;
    font-size: 1.4rem;
}

/* form */
.form-wrap{
    display: flex; flex-direction: column;
}
.form-label{
    margin-bottom: 1rem;
    font-size: 1.5rem; line-height: 1;
}
.form-control{
    padding:1rem 1.8rem; height: 5rem; line-height: 5rem;
    background-color: rgba(255, 255, 255, 0.1); border-radius: 1.6rem; border:1px solid rgba(255,255,255,0.5);
    font-size: 1.6rem; font-weight: 400;
    transition: border-color 0.2s ease-in-out, backgrond-color 0.2s ease-in-out;
}
.form-control:focus{
    border-color: #0BDBBD; background-color: #0bdbbc17;
}
textarea.form-control{
    line-height: 1.4; height: auto; min-height: 14.4rem; width: 100%; padding: 1.7rem 1.8rem;;
}
textarea.form-control:focus{
    outline: none;
}

/* icon */
*[class^="ic-"]{
    width:2.4rem;
}
button[class^="ic-"]{
    height: 2.4rem;
    padding:0.5rem;
}

/* layout */
.container-fluid{
    position: relative; width:100%; padding: 0 20px;
}
.container-lg{
    position: relative; width:1590px; margin:0 auto; padding:0 20px;
}
.container{
    position: relative; width: 1280px; margin:0 auto; padding:0 20px;
}
.container-sm{
    position: relative; width:1280px; margin:0 auto; padding:0 20px;
}
/* responsive */
.only-pc{
    display: block!important;
    /* 769~1920 */
}
.only-tb{
    display: none!important;
}
.only-tb-mb{
    display: none!important;
    /* 320~768 */
}
.only-mb{
    display: none!important;
    /* 320~512 */
}

/* font weight */
.fw-300{
    font-weight: 300;
}
.fw-400{
    font-weight: 400;
}
.fw-500{
    font-weight: 500;
}
.fw-600{
    font-weight: 600;
}
.fw-700{
    font-weight: 700;
}
.fw-800{
    font-weight: 800;
}
/* font size */
.fs-12{
    font-size: 1.2rem;
}
.fs-13{
    font-size: 1.3rem;
}
.fs-14{
    font-size: 1.4rem;
}
.fs-17{
    font-size: 1.8rem;
}
.fs-18{
    font-size: 1.8rem;
}
.fs-20{
    font-size: 2rem;
}
.fs-21{
    font-size: 2.1rem;
}
.fs-22{
    font-size: 2.2rem;
}
.fs-32{
    font-size: 3.2rem;
}
.fs-36{
    font-size: 3.6rem;
}
.fs-52{
    font-size: 5.2rem;
}
.fs-56{
    font-size: 5.6rem;
}

/* width height */
.w-100{
    width:100%;
}
.w-50{
    width:50%
}

/* margin padding */
.mt-0{
    margin-top: 0!important;
}
.mt-5{
    margin-top: 0.5rem!important;
}
.mt-10{
    margin-top: 1rem!important;
}
.mt-14{
    margin-top: 1.4rem!important;
}
.mt-16{
    margin-top: 1.6rem!important;
}
.mt-30{
    margin-top: 3rem!important;
}
.mt-36{
    margin-top: 3.6rem!important;
}
.mt-40{
    margin-top: 4rem!important;
}
.mt-52{
    margin-top: 5.2rem!important;
}
.mt-60{
    margin-top: 6rem!important;
}
.mt-80{
    margin-top: 8rem!important;
}
.mt-100{
    margin-top: 10rem!important;
}
.mt-120{
    margin-top: 12rem!important;
}
.mt-170{
    margin-top: 17rem!important;
}
.mt-200{
    margin-top: 20rem!important;
}
.mr-12{
    margin-right: 1.2rem!important;
}
.px-0{
    padding-left: 0!important; padding-right: 0!important;
}

/* display */
.d-block{
    display: block;
}
.d-flex{
    display: flex;
}
.flex-wrap{
    flex-wrap: wrap;
}
.align-itmes-center{
    align-items: center;
}
.justify-between{
    justify-content: space-between;
}
.rounded-circle{
    border-radius: 50%;
}


/* align */
.text-left{
    text-align: left;
}
.text-center{
    text-align: center;
}
.text-right{
    text-align: right;
}

.rectangle{
    position: relative; width: 100%;
}
.rectangle::after{
    content: ''; display: block; width:100%; padding-top: 100%;
}
.rectangle_16_9::after{
    padding-top: 56.25%;
}
.rectangle > img, .rectangle > video,.rectangle > iframe{
    display: block; width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: center;
    z-index: -999;
}
.text-brown{
    color: var(--secondary-color);
}
.text-mono400{
    color:var(--sub-text-color);
}
.text-mono300{
    color:var(--subLight-text-color);
}

/* ------------ 디자인 개선: 호버/포커스 효과 ------------ */
a:focus-visible, button:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* 링크 호버 효과 강화 */
a {
    transition: color 0.2s ease, opacity 0.2s ease;
}

/* 카드형 요소 호버 효과 */
.hover-lift {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

/* 이미지 호버 확대 효과 */
.hover-zoom {
    overflow: hidden;
}
.hover-zoom img {
    transition: transform 0.4s ease;
}
.hover-zoom:hover img {
    transform: scale(1.05);
}

/* ------------ header ------------ */
.header{
    position:fixed; top:0; left:0; width:100%;  z-index: 9999;
    background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(20px); transition: all 0.2s ease-in-out;
}
.header > .container-lg {
    display: flex; align-items: center; justify-content: space-between; height: 102px;
    transition: all 0.2s ease-in-out;
}
.header .logo{
    height: 88px;
    max-width: 20rem;
}
.header .lnb > ul{
    display: flex; align-items: center;
    font-size: 1.6rem; font-weight: 700;
}
.header .lnb > ul > li{
    margin:0 20px;
    text-align: center;
}
.header .lnb > ul >li > a{
    display: block; padding:1rem;
    position: relative;
}
.header .lnb > ul >li > a::after{
    content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
    width: 0; height: 2px; background-color: var(--primary-color);
    transition: width 0.3s ease;
}
.header .lnb > ul >li > a:hover::after{
    width: 80%;
}
.header .lnb > ul > .btn{
    margin-left: 20px;
}
.header .btn-ham{
    width:17px; padding:12px; height: auto; font-size: 0; margin-right: -12px;
    box-sizing: content-box;
    display: none;
}
.header .logo .logo-pc{
    height: 100%;
}
.header .logo-mb{
    height: 100%;
    display: none;
}
.header .hd-white{
    display: none;
}
.header-wrap.white .header{
    backdrop-filter: unset; background-color: transparent;
}
.header-wrap.white .header> .container-lg{
    height: 164px; color:white;
}
.header-wrap.white .header > .container-lg .lnb .btn{
    background-color: rgba(255, 255, 255, 0.2); border: 1px solid white;
    color: white;
}
.header-wrap.white .header > .container-lg .hd-white{
    display: block;
}
.hd-white{
    height: 100%;
    object-fit: scale-down;
}
.header-wrap.white .header > .container-lg .hd-default{
    display: none;
}
.hd-default{
    height: 100%;
    object-fit: scale-down;
}
.lnb > ul > li{
    position: relative;
    transition: color 0.2s ease-in-out;
}
.lnb > ul > li:hover{
    color: var(--primary-color);
}
.lnb > ul > li.on::before{
    content: ''; position: absolute; top:30%; right: 0; transform: translate(-50%,-50%);
    width: 4px; height: 4px; border-radius: 50%;
    background-color: var(--primary-color);
}
/* ------------ aside ------------*/
.lnb-mb{
    position: fixed; right:-110vw; z-index: 99999; width:100%; height: 100vh; padding:83px; top:0;
    background-color: #111; border-bottom-left-radius: 10.5rem;
    color:white; transition: all 0.3s ease-in-out; opacity: 0;
}
.lnb-mb.on{
    right:0; opacity: 1;
}
.lnb-mb .btn-close{
    position: absolute; width:13px; box-sizing: content-box; height: auto; padding: 10px; right:12px; top:12px;
    font-size: 0;
}
.lnb-mb .lnb a{
    display: block; padding:20px 0; margin:5px 0;
    font-size: 2rem; font-weight: 700;
    transition: color 0.2s ease, padding-left 0.3s ease;
}
.lnb-mb .lnb a:hover{
    color: var(--primary-light-color);
    padding-left: 10px;
}
.lnb-mb .lnb .btn{
    margin-top: 4rem;
}
/* ------------ fixed-nav ------------*/
.fixed-nav{
    position: fixed; right:7rem; top:50%; transform: translateY(-50%); padding:33px 2px; z-index: 99999;
    background-color: var(--black); border-radius: 5em;
    color:white; text-align: center; font-size: 13px;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.15);
}
.fixed-nav i{
    font-size: 2.4rem;
}
.fixed-nav li{
    position: relative;
}
.fixed-nav li a{
    display: block; padding:1.7rem; box-sizing: content-box;
    transition: all 0.2s ease-in-out;
}
.fixed-nav li a:hover{
    color:var(--primary-light-color);
}
.fixed-nav li::before{
    content: ''; position: absolute; left:50%; transform: translateX(-50%); bottom:-1px; width:49px; height: 1px;
    background-color: rgba(255, 255, 255, 0.1);
}
.fixed-nav li:last-child::before{
    content: unset;
}
/* footer */
.footer-wrap{
    padding:100px 0;
    background-color: #111111; color:white;
    font-size: 1.5rem;
}
.footer-wrap .footer .container{
    display: flex;
}
.footer-wrap .footer .left{
    width:70%; margin-top: 2rem;
}
.footer-wrap .footer .right{
    width:30%; text-align: right;
}
.footer-wrap .footer .logo{
    width:12rem; margin-bottom: 3.7rem; margin-left: auto;
}
.company-info span{
    padding-right: 0.8rem;
    color:rgba(255, 255, 255, 0.75) /* 대비 개선 0.6 → 0.75 */
}
.company-info{
    display: flex; padding:27px 0;
}
.footer-wrap .footer .right{
    text-align: right;
}
.footer-wrap .footer .right .lnb a{
 display: inline-block; position: relative; padding:1rem;
}
.footer-wrap .footer .right .lnb a::before{
    content: ''; position:absolute; bottom:0.5rem; left:0; width:0; height:0.4rem;
    background-color: #0bdbbc90;
    transition: width 0.2s ease-in-out;
}
.footer-wrap .footer .right .lnb a:hover::before{
    width:100%;
}
.line-break {
    white-space: pre-line; /* 실제 줄바꿈 문자를 기반으로 줄바꿈을 적용 */
}
.line-break-only-pc {
    white-space: pre-line; /* 실제 줄바꿈 문자를 기반으로 줄바꿈을 적용 */
}


/* ------------ responsive ------------ */
@media screen and (max-width:1700px) {
    .container-lg{
        width:1400px;
    }
    .fixed-nav{
        right: 3rem;
    }
}
@media screen and (max-width:1600px) {
    /* heading */
    .heading-2{
        font-size: 8rem;
    }
    .heading-3{
        font-size: 3.6rem;
    }
    .heading-5{
        font-size: 2rem;
    }
    .container-lg{
        width:1200px;
    }
    /* font-size */
    .fs-20{
        font-size: 1.9rem;
    }
    .fs-21{
        font-size: 2.0rem;
    }
    .fs-22{
        font-size: 2.1rem;
    }
    .fs-32{
        font-size: 3.0rem;
    }
    .fs-36{
        font-size: 3.2rem;
    }
    .fs-52{
        font-size: 4.8rem;
    }
    .fs-56{
        font-size: 5.0rem;
    }
    /* margin padding */
    .mt-30{
        margin-top: 2.8rem!important;
    }
    .mt-36{
        margin-top: 3.2rem!important;
    }
    .mt-40{
        margin-top: 3.8rem!important;
    }
    .mt-52{
        margin-top: 4.4rem!important;
    }
    .mt-60{
        margin-top: 5rem!important;
    }
    .mt-80{
        margin-top: 7rem!important;
    }
    .mt-100{
        margin-top: 9rem!important;
    }
    .mt-120{
        margin-top: 11rem!important;
    }
    .mt-170{
        margin-top: 15rem!important;
    }
    .mt-200{
        margin-top: 15rem!important;
    }

}
@media screen and (max-width:1440px) {

    /* font size */

    .fs-17{
        font-size: 1.6rem;
    }
    .fs-18{
        font-size: 1.7rem;
    }
    .fs-20{
        font-size: 1.8rem;
    }
    .fs-21{
        font-size: 2.0rem;
    }
    .fs-22{
        font-size: 2.1rem;
    }
    .fs-32{
        font-size: 2.8rem;
    }
    .fs-36{
        font-size: 2.8rem;
    }
    .fs-52{
        font-size: 4.0rem;
    }
    .fs-56{
        font-size: 4.2rem;
    }
    /* margin padding */
    .mt-30{
        margin-top: 2.7rem!important;
    }
    .mt-36{
        margin-top: 2.8rem!important;
    }
    .mt-40{
        margin-top: 3.6rem!important;
    }
    .mt-52{
        margin-top: 4.2rem!important;
    }
    .mt-60{
        margin-top: 4.5rem!important;
    }
    .mt-80{
        margin-top: 6rem!important;
    }
    .mt-100{
        margin-top: 8rem!important;
    }
    .mt-120{
        margin-top: 10rem!important;
    }
    .mt-170{
        margin-top: 14rem!important;
    }
    .mt-200{
        margin-top: 14rem!important;
    }
    .side-menu-wrap{
        width: 7rem;
    }
    /* heading */
    .heading-2{
        font-size: 7.4rem;
    }
    .heading-3{
        font-size: 3.4rem;
    }
    .heading-5{
        font-size: 1.9rem;
    }
    /* layout */
    .container-lg{
        width:1180px;
    }
    .container{
        width: 1180px;
    }
    .container-sm{

    }


    /* header */
    .header .lnb > ul > li{
        margin:0 8px;
    }
}
@media screen and (max-width:1280px) {
    /* heading */
    .heading-2{
        font-size: 7.2rem;
    }
    .heading-3{
        font-size: 3.2rem;
    }
    .side-menu-wrap{
        padding:2.4rem 0;
    }
    .lnb-wrap::after{
        border-bottom-left-radius: 30rem;
    }
    .lnb-wrap .lnb li{
        font-size: 5rem;
    }
    .lnb-wrap .lnb-inner{
        margin-top: -15rem;
    }
    /* layout */
    .container, .container-lg, .container-sm{
        width:991px;
    }
    /* margin padding */
    .mt-30{
        margin-top: 2.6rem!important;
    }
    .mt-36{
        margin-top: 2.7rem!important;
    }
    .mt-40{
        margin-top: 3.5rem!important;
    }
    .mt-52{
        margin-top: 4.0rem!important;
    }
    .mt-60{
        margin-top: 4.2rem!important;
    }
    .mt-80{
        margin-top: 5rem!important;
    }
    .mt-100{
        margin-top: 7rem!important;
    }
    .mt-120{
        margin-top: 9rem!important;
    }
    .mt-170{
        margin-top: 12rem!important;
    }
    .mt-200{
        margin-top: 13rem!important;
    }


}
@media screen and (max-width:991px) {
    .fixed-nav{
        right: 1rem;
    }
    /* font size */
    .fs-18{
        font-size: 1.74rem;
    }
    .fs-20{
        font-size: 1.7rem;
    }
    .fs-21{
        font-size: 1.9rem;
    }
    .fs-22{
        font-size: 2.0rem;
    }
    .fs-32{
        font-size: 2.6rem;
    }
    .fs-36{
        font-size: 2.7rem;
    }
    .fs-52{
        font-size: 3.7rem;
    }
    .fs-56{
        font-size: 3.8rem;
    }
    /* margin padding */
    .mt-30{
        margin-top: 2.4rem!important;
    }
    .mt-36{
        margin-top: 2.6rem!important;
    }
    .mt-40{
        margin-top: 3.2rem!important;
    }
    .mt-52{
        margin-top: 3.6rem!important;
    }
    .mt-60{
        margin-top: 4.1rem!important;
    }
    .mt-80{
        margin-top: 4.5rem!important;
    }
    .mt-100{
        margin-top: 6rem!important;
    }
    .mt-120{
        margin-top: 8rem!important;
    }
    .mt-170{
        margin-top: 11rem!important;
    }
    .mt-200{
        margin-top: 12rem!important;
    }

    .wrap:not(.idx){
        padding-top: 50px; margin-top: 5rem;
    }
    /* layout */
    .container, .container-lg, .container-sm{
        width:80%;
    }
    .header .lnb{
        display: none;
    }
    .header .logo .logo-pc{
        display: none;
    }
    .header .logo .logo-mb{
        display: block;
    }
    .header-wrap.white .header> .container-lg{
        height: 50px;
    }
    .header > .container-lg{
        height: 50px;
    }
    .header .btn-ham{
        display: block;
    }

    /* fixed nav */
    .fixed-nav{
        padding:24px 0; top:unset; bottom:10px; transform: unset;
    }
    .fixed-nav li a{
        padding:0.8rem 1.2rem
    }
    .header .logo{
        width: 12rem;
        height: 30px;
    }

}
@media screen and (max-width:768px) {
    /* 모바일 터치 영역 개선 */
    .btn { min-height: 5rem; padding: 1.4rem 3rem; }
    .btn-sm { min-height: 4.4rem; padding: 1rem 2.4rem; }

    /* font size */
    .fs-21{
        font-size: 1.8rem;
    }
    .fs-22{
        font-size: 1.9rem;
    }
    .fs-32{
        font-size: 2.2rem;
    }
    .fs-36{
        font-size: 2.4rem;
    }
    .fs-52{
        font-size: 3.7rem;
    }
    .fs-56{
        font-size: 3.8rem;
    }
    /*margin padding */
    .mt-30{
        margin-top: 2.2rem!important;
    }
    .mt-36{
        margin-top: 2.4rem!important;
    }
    .mt-40{
        margin-top: 3.0rem!important;
    }
    .mt-52{
        margin-top: 3.2rem!important;
    }
    .mt-60{
        margin-top: 4.0rem!important;
    }
    .mt-80{
        margin-top: 4.2rem!important;
    }
    .mt-100{
        margin-top: 5rem!important;
    }
    .mt-120{
        margin-top: 7rem!important;
    }
    .mt-170{
        margin-top: 10rem!important;
    }
    .mt-200{
        margin-top: 11rem!important;
    }
    /* responsive */
    .only-pc{
        display: none!important;
        /* 769~1920 */
    }
    .only-tb-mb{
        display: block!important;
        /* 320~768 */
    }
    .only-tb{
        display: block!important;
    }
    .line-break-only-pc {
        white-space: normal;
    }


    .btn-lg{
        padding:1rem 4rem; height: 6.4rem;
        border-radius: 2rem;
        font-size: 1.7rem;
    }
    .fixed-nav {
        display: flex; justify-content: center; right:50%; transform: translateX(50%); bottom:10px; width:calc(100% - 20px); top:unset;
        padding:0;
        font-size: 11px;
    }
    .fixed-nav i{
        font-size: 2rem;
    }
    .fixed-nav li a{
        padding:1.5rem 2rem;
    }
    .fixed-nav li::before{
        content: unset;
    }
}
@media screen and (max-width:575px) {
    html{font-size: 10px;} /* 모바일에서도 기본 폰트 크기 유지하여 가독성 확보 */
    body { line-height: 1.75; } /* 모바일에서 줄 높이 증가 */
    p { line-height: 1.85; } /* 본문 가독성 향상 */
    /* font size */
    .fs-21{
        font-size: 1.7rem;
    }
    .fs-22{
        font-size: 1.8rem;
    }
    .fs-32{
        font-size: 2.0rem;
    }
    .fs-36{
        font-size: 2.1rem;
    }
    .fs-52{
        font-size: 3.1rem;
    }
    .fs-56{
        font-size: 3.2rem;
    }
    /* margin padding */
    .mt-30{
        margin-top: 2rem!important;
    }
    .mt-36{
        margin-top: 2.2rem!important;
    }
    .mt-40{
        margin-top: 2.6rem!important;
    }
    .mt-52{
        margin-top: 3.0rem!important;
    }
    .mt-60{
        margin-top: 3.3rem!important;
    }
    .mt-80{
        margin-top: 3.8rem!important;
    }
    .mt-100{
        margin-top: 4.5rem!important;
    }
    .mt-120{
        margin-top: 6rem!important;
    }
    .mt-170{
        margin-top: 7rem!important;
    }
    .mt-200{
        margin-top: 8rem!important;
    }
    /* responsive */
    .only-mb{
        display: block!important;
        /* 320~512 */
    }
    .only-tb{
        display: none!important;
    }
    .container-fluid{
    }
    .container-lg{
        width:100%;
    }
    .container{
        width:100%;
    }
    .container-sm{
        width:100%;
    }
    /* heading */
    .heading-2{
        font-size: 5rem;
    }
    .heading-3{
        font-size: 2.4rem;
    }
    .heading-5{
        font-size: 1.7rem;
    }
    /* heading */
    .heading-2{
        font-size: 4.2rem;
    }
    .heading-3{
        font-size: 2.4rem;
    }
    .heading-5{
        font-size: 1.8rem; font-weight: 700; line-height: 1.4;
    }
    /*header*/
    .header .btn-ham{
        display: block;
    }
    /*footer*/
    .footer-wrap{
        padding:60px 0;
    }
    .footer-wrap .footer .container{
        flex-wrap: wrap;
    }
    .footer-wrap .footer .right, .footer-wrap .footer .left {
        width:100%;
    }


}
@media screen and (max-width:412px) {

}
@media screen and (max-width:360px) {

}
@media screen and (max-width:320px) {

}
