@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap');

/* reset */
@media all {
    .clear:after { 
        content:""; 
        display:block; 
        clear:both;
    }
    * { margin:0; padding:0; outline:none; box-sizing:border-box; }
    body {
    line-height:1; font-size:14px; font-weight:400; color:#000; font-family: 'Noto Sans KR', sans-serif !important; word-wrap: break-word; word-break: keep-all;
    overflow-x: hidden;
    }
    h1, h2, h3, h4, h5, h6 { margin:0; font-family: 'Noto Sans KR', sans-serif !important; line-height:1; font-size: 1em; }
    ul, ol { list-style:none; margin:0; padding: 0; }
    a { outline:0; text-decoration:none; color: #000; }
    a:focus { outline:none; }
    figure,dl,dd,input[type=radio], input[type=checkbox]  { margin: 0; padding: 0; }
    img { border:none; outline:none; max-width: 100%; }
    p { margin:0; padding:0; word-wrap: break-word; word-break: keep-all;  }
    button, input, submit { border: none; background: none; }
    dt { font-weight: normal; }
    ::placeholder { font-family: 'Noto Sans KR', sans-serif !important; }
    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    input:-webkit-autofill:active {
        transition: background-color 5000s ease-in-out 0s;
        -webkit-transition: background-color 9999s ease-out;
        box-shadow: none !important;
        -webkit-text-fill-color: none !important;
    }
}
/* 루트 위치 변경할시 thema/main.js의 변수 headerTopBoxHeight 꼬임 */
:root {
	/* 컨텐츠 너비 */
	--containerV1-width : 1300;

    /* mainColor */
	--main-color : #ff192a; 		

    --header-topBox-height: 100px;
}
@media (max-width:991px) {
    :root {
        --header-topBox-height: 70px;
    }
}
@media (max-width:768px) {
    :root {
        --header-topBox-height: 40px;
    }
}

/* container */
.containerV1 { width: 100%; margin: 0 auto; max-width: calc(var(--containerV1-width) * 1px); }
@media (max-width:1330px) {
	.containerV1 { padding: 0 15px; }
}

/* 확대 축소 애니메이션 */
@keyframes ani_scale1 {
	50% { transform:scale(1.01); }
}
@keyframes ani_scale2 {
	50% { transform:scale(1.04); }
}

/* 탭 초기화 */
.tabBox1 .nav { border: none; }
.tabBox1 .nav > li { margin: 0; float: none; }
.tabBox1 .nav > li > a { padding: 0; margin: 0; border-radius:0; border: 0; }
.tabBox1 .nav > li:hover > a { background: none; }
.tabBox1 .nav > li.active > a { border: none; background: none; }


.wrapper { overflow-x: hidden; }

/* 헤드 pc & mob */
@media all {
    #header { position: sticky; left: 0; top: 0; width: 100%; z-index: 2000; transition:transform 0.2s; }
    
    /* topBox */
    #header .topBox { background: #f8f8f8; position: relative; z-index: 3; }
    #header .topBox .containerV1 { 
        display:grid; grid-template-columns: repeat(3,auto);
        justify-content: space-between; align-items:center; 
        height: var(--header-topBox-height); 
    }
    #header .topBox .containerV1 .logo a img { 
        height: calc( var(--header-topBox-height) / 1.8867 ); 
    }
    
    /* menu */
    #header .menu { 
        --menu-font-size-pc:16;
        --menu-font-size-mob:13;
        --menu-color:#555;
        font-size: min( calc( var(--menu-font-size-mob) / 350 * 100vw ), calc(var(--menu-font-size-pc) * 1px) );
        box-shadow: 0 5px 5px rgba(0,0,0,0.05); background: #fff;
    }  

    /* 해당페이지 일 때 메뉴 효과 */
    #header .menu .outer > li.on > a {
        --menu-color:var(--main-color);
    }
}
@media (min-width:991px) {/* pc */
    /* topBox */
    #header .topBox .containerV1 .member_form { 
        font-size: 12px; 
        display: grid !important; justify-items: end; gap:1.3em;
    }
    #header .topBox .containerV1 .member_form .list1 { 
        --color:#888;
        display: flex; 
        color: var(--color);
    }
    #header .topBox .containerV1 .member_form .list1 > li:not(:last-child):after { 
        content: '|'; margin: 0 1em; font-size: 0.7em; display: inline-block; 
        transform: translateY(-15%); color: var(--color);
    }
    #header .topBox .containerV1 .member_form .list1 > li > a { 
        display: inline-block; color: var(--color);
    }
    #header .topBox .containerV1 .member_form .list2 {
        display: flex; gap:1.8em; text-align: center;
    }
    #header .topBox .containerV1 .member_form .list2 > li > a .text {
        color: #000; padding-top: 0.66em;
    }

    /* menu */
    #header .menu .outer {
        display: grid; align-items: center; padding: 0.625em 0; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr auto;
    }
    #header .menu .outer > li { position: relative; }
    #header .menu .outer > li:not(.inquiry) { 
        text-align: center; border-left: 1px solid var(--menu-color); 
    }
    #header .menu .outer > li:not(.inquiry) a {
        font-weight: bold; color: var(--menu-color); display: block;
    }
    #header .menu .outer > li.inquiry > a { 
        display: block;
        font-size: 0.875em; font-weight: bold;
        color: #fff; background: var(--main-color);
        padding: 0.5em 1em 0.6em;
        border-radius: 2em;
    }

    /* 스크롤 할 때 */
    #header.scroll { transform: translateY(calc(-1 * var(--header-topBox-height))); }
}
@media (max-width:1330px) and (min-width:991px) {/* pc */
    #header .menu .outer > li:first-child { border-left: none; }
}
@media (max-width:991px) { /* mob */
    #header {
        --btn-size:max(22px,calc(40 / 991 * 100vw));
    }

    /* topBox */
    #header .topBox .search-btn { 
        font-size: var(--btn-size);
        color: #000; 
    }
    #header .topBox .containerV1 .logo a img { 
        height: calc( var(--header-topBox-height) / 1.6 ); 
    }
    #header .topBox .btn_menu { 
        font-size: var(--btn-size);
        color: #000; 
    }
    #header .topBox .btn_menu > i { font-size: 1.15em; }

    /* menu */
    #header .menu .outer { 
        display:flex; justify-content: space-between; 
        padding: 1.2em 0;
    }
    /* 홈케어 지우고 menu_mob 안에 넣기 */
    #header .menu .outer > li.g05 { display: none; }
    #header .menu .outer > li > a { 
        display: inline-block; padding: 0.3em 0;
        color: var(--menu-color);
     }
    #header .menu .inner { position: absolute; display: none; }

    /* menu_mob */
    #header .menu_mob { 
        --side-padding:25px;
        font-size: 16px;
        position: fixed; right: 0; top: 0; width: min(22em,80%); height: 100%; 
        z-index:9999; background: #fff; 
        transform:translateX(100%);
        transition:0.4s; 
    }
    #header .menu_mob.inactive {
        transform:translateX(0);
    }
    #header .menu_mob .itemBox {  
        width: 100%; height: 100%; 
        overflow-x: hidden; overflow-y:auto; 
        position: absolute;  top:0;
    }
    #header .menu_mob .containerV1 {  
        padding:0 var(--side-padding);
    }
    #header .menu_mob_bg { 
        position: absolute; right: 0; top: 0; 
        z-index:8000; width: 100%; height: 100vh; 
        background: rgba(0,0,0,0.5); 
    }
    #header .menu_mob .close_btn {
        margin-right: 15px; margin-top: 10px;
        position: absolute; right: 0; top: 0; z-index: 1;
        font-size: var(--btn-size);
        color: #000; 
        height: var(--header-topBox-height);
        line-height: var(--header-topBox-height);
        cursor: pointer;
    }
    #header .menu_mob .close_btn > i { font-size: 1.4em; }

    /* menu_mob - member_form */
    #header .menu_mob .member_form { 
        padding: 18px 0 25px;
        background: #e9e9e9; 
    }
    #header .menu_mob .member_form .text1 { margin-bottom: 1.8em; }
    #header .menu_mob .member_form .text1 > p > a {
        display: inline-block;
    }
    #header .menu_mob .member_form .text1 > p > a > span {  
        display: inline-block; border-bottom: 3px solid #000;
        padding-bottom: 0.5em; color: #000;
    }
    #header .menu_mob .member_form .list1 {
        display: grid; gap:1.4em;
    }

    /* menu_mob - outer & inner */
    #header .menu_mob .outer {
        padding: 25px 0;
        display: grid; gap:0.5em; border-bottom: 8px solid #e9e9e9;
    }
    #header .menu_mob .outer > li > .text { 
        display: block; padding: 10px 0; 
    }
    #header .menu_mob .outer > li:not(.dropDown) {
        padding: 0 var(--side-padding);
    }
    #header .menu_mob .outer > li.dropDown > .text {
        padding-left: var(--side-padding); padding-right: var(--side-padding);
        cursor: pointer;
    }
    #header .menu_mob .inner { 
        background: #e9e9e9; font-size: 0.9em;
        padding: 0 1.8em; height: 0; overflow: hidden; 
        transition: 0.3s;
    }
    #header .menu_mob .inner > li { height: 2em; line-height: 2em; }

    /* menu_mob - outer li.dropDown .text click */
    #header .menu_mob .outer > li.dropDown > .text.on ~ .inner {
        height: calc(var(--i) * 2em + 1.2em);
        padding-top: 0.6em; padding-bottom: 0.6em;
    }

    /* menu_mob - cs_center */
    #header .menu_mob .cs_center {
        padding: 25px 0; border-bottom: 1px solid #ededed;
    }
    #header .menu_mob .cs_center .inner1 {
        display: grid; grid-template-columns: auto 1fr; gap:0.5em;
        align-items: center;
        margin-bottom: 2em;
    }
    #header .menu_mob .cs_center .inner1 .textBox > .text1 {
        font-size: 0.875em; color: #767676; margin-bottom: 0.4em;
    }
    #header .menu_mob .cs_center .inner1 .textBox > .text1 a {  
        color: inherit;
    }
    #header .menu_mob .cs_center .inner1 .textBox > .text2 {
        font-size: 0.8125em; color: #9e9e9e;
    }
    #header .menu_mob .cs_center .inner2 > a {  
        display: block; background: #e9e9e9; text-align: center;
        padding: 1em; border-radius: 1em;
    }

    /* menu_mob - snsList */
    #header .menu_mob .snsList {
        display: flex; justify-content: space-around;
        padding: 1.5em 0;
    }
    #header .menu_mob .snsList > li > a:hover { opacity: 0.9; }
}

/*--------------------------------------------------- 인덱스세팅 ----------------------------------------------------------------------------*/

/* 타이틀박스 */
@media all {
    #index .titleBox1 {
        text-align: center; color: #000;
    }
    #index .titleBox1 > h2 {
        --title-font-size-pc:30;
        --title-font-size-mob:18;
        font-size: min( calc( var(--title-font-size-mob) / 350 * 100vw ), calc(var(--title-font-size-pc) * 1px) );
        font-weight: normal; line-height: 1.4;
    }
    #index .titleBox1 .text1 {
        font-size: 15px; line-height: 1.6;
    }
    #index .titleBox1 .bar {
        width: 71px; height: 5px; background: var(--main-color); margin: 0 auto;
    }
}
@media (max-width:580px) {
    #index .titleBox1 .text1 { font-size: 13px; }
    #index .titleBox1 .bar { width: 50px; height: 3px; }
}

/* index - section1 */
@media all {
    #index .section1 { transform: translateY(-20%); position: relative; z-index: 1000;}
    #index .section1 .itemBox { 
        display: grid; grid-template-columns: 34% 64%; gap:2%;
    }
}
@media (max-width:1300px) {
    #index .section1 { transform: translateY(0); }
    #index .section1 .itemBox { padding: 30px 0 60px; }
}
@media (max-width:991px) {
    #index .section1 .itemBox { display: block; }
}

/* index - section2 */
@media all {
    #index .section2 { 
        margin:30px 0 max(60px,calc(100 / 1920 * 100vw)); 
    }
    #index .section2 .titleBox1 {
        margin-bottom: 26px;
    }
}

/* index - section3 */
@media all {
    #index .section3 { 
        margin-bottom: 60px; 
    }
    #index .section3 .containerV1 {
        display: grid; justify-content: center;
    }
    #index .section3 .textBox {
        color: #8e591b; text-align: center;
        padding: 0 min(calc(15 / 350 * 100vw),65px); position: relative;
    }
    #index .section3 .textBox::before,
    #index .section3 .textBox::after {
        position: absolute; top: 50%; transform: translateY(-50%);
        font-size: min(calc(25 / 350 * 100vw),65px);
        color: #e4b90d; font-weight: bold;
    }
    #index .section3 .textBox::before {  
        content: '{'; left: 0;
    }
    #index .section3 .textBox::after {  
        content: '}'; right: 0;
    }
    #index .section3 .textBox .text1 {
        font-size: min(calc(14 / 350 * 100vw),30px);
        font-weight: bold; line-height: 1.4; margin-bottom: 0.3em;
    }
    #index .section3 .textBox .text2 {
        font-size: min(calc(12 / 350 * 100vw),16px);
        line-height: 1.6;
    }
}

/* index - section4 */
@media all {
    #index .section4 { 
        padding:0 0 max(55px,calc(95 / 1920 * 100vw));
    }
    #index .section4 .titleBox1 {
        margin-bottom: 20px;
    }
    #index .section4 .titleBox1 > h2 { margin-bottom: 0.2em; }

    #index .section4 .tabBox1 {
        --border-color:#ddd;
    }
    #index .section4 .tabBox1 .nav { 
        --tab-font-size-pc:20;
        --tab-font-size-mob:13;
        font-size: min( calc( var(--tab-font-size-mob) / 350 * 100vw ), calc(var(--tab-font-size-pc) * 1px) );
        font-weight: bold; display:flex; color: #000; 
        border-left: 1px solid var(--border-color); border-top: 1px solid var(--border-color);
        margin-bottom: 2.22em;   
    }
    #index .section4 .tabBox1 .nav > li { flex:1; text-align: center; position: relative; }
    #index .section4 .tabBox1 .nav > li > a { 
        color: inherit; display: block; position: relative; padding: 0.5em 0; 
        border-right: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color);
        transition:var(--transition); 
    }
    #index .section4 .tabBox1 .nav > li.active > a {
        background: #c90000; color: #fff;
    }
}


/* index - section5 */
@media all {
	#index .section5 { 
		--font-size-pc: 10;
		--font-size-mob: 10;
		font-size: min( calc( var(--font-size-mob) / 500 * 100vw ), calc(var(--font-size-pc) * 1px) );
        padding: max(55px,calc(95 / 1920 * 100vw)) 0;
        background: #fff;
    }

	#index .section5 .itemBox {
		border: 1px solid #ddd;
		padding: 1.5em 1.5em 1.5em 3em; display: flex;
	}
	#index .section5 .itemBox .item > h3 {font-size: 2em; color: #000; line-height: 1.2; }
	#index .section5 .itemBox .item > h3 .color-tag {color: var(--main-color);}

	/* item01 */
	#index .section5 .itemBox .item01 {padding:  2em 2.6em 0 0; border-right: 1px solid #ddd; width: 76%;}
	#index .section5 .itemBox .item01 > h3 {display: flex;	align-items: center; gap: 0 5px; margin-bottom: 1.5em;}
	#index .section5 .itemBox .item01 > h3 > figure {
		width: 1.2em; height: 1.5em; background: url(img/index_section5_icon.png) no-repeat center center;
		position: relative; top: 2px;
	}
	
	/* item02 */
	#index .section5 .itemBox .item02 {padding: 2em 1.5em; width: 24%; display: flex; flex-direction: column; align-items: center;}
	#index .section5 .itemBox .item02 > h3 {font-weight: bold; margin-bottom: 1em; text-align: center;}

}

@media (max-width: 991px) {
	#index .section5 .itemBox {padding: 1.5em 0 1.5em 3em;}
	#index .section5 .itemBox .item01 {width: 70%;}
	#index .section5 .itemBox .item02 {width: 35%;}
}

@media (max-width: 768px) {
	#index .section5 .itemBox {padding: 1.5em;}
	#index .section5 .itemBox .item01,
	#index .section5 .itemBox .item02 {width: 50%;}
	#index .section5 .itemBox .item01 {padding: 2em 1.5em 2em 0;}
	#index .section5 .itemBox .item02 {padding: 2em 0 2em 1.5em;}
}

@media (max-width: 600px) {
	#index .section5 .itemBox {flex-direction: column;}
	#index .section5 .itemBox .item01,
	#index .section5 .itemBox .item02 {width: 100%; padding: 2em 0;}
	#index .section5 .itemBox .item01 {border-right: none; }
	#index .section5 .itemBox .item01 > h3 {text-align: center; justify-content: center;}
}




/* index - section6 */
@media all {
    #index .section6 { 
        padding: max(55px,calc(95 / 1920 * 100vw)) 0;
        background: #eee;
    }
    #index .section6 .titleBox1 {
        margin-bottom: 50px;
    }
    #index .section6 .titleBox1 > h2 { margin-bottom: 0.8em; }
}

/* index - section7 */
@media all {
    #index .section7 { 
        padding: max(55px,calc(95 / 1920 * 100vw)) 0;
    }
    #index .section7 .titleBox1 {
        margin-bottom: 50px;
    }
    #index .section7 .titleBox1 > h2 { margin-bottom: 0.8em; }

    #index .section7 .itemBox {
        display: grid; grid-template-columns: repeat(4,auto);
        justify-content: space-between;
    }
    #index .section7 .itemBox > li > a {
        display: block; transition: 0.4s;
    }
    #index .section7 .itemBox > li > a:hover {
        box-shadow: 0 10px 10px rgba(0,0,0,0.2); transform: translateY(-10px);
    }
}
@media (max-width:1400px) {
    #index .section7 .itemBox > li > a {
        width: calc(291 / 1400 * 100vw);
    }
}
@media (max-width:768px) {
    #index .section7 .itemBox {
        grid-template-columns: repeat(2,1fr); gap:15px;
    }
    #index .section7 .itemBox > li > a {
        text-align: center; width: auto; 
    }
}



/* index - section8 */
@media all {
    #index .section8 { 
		--font-size-pc: 10;
		--font-size-mob: 10;
		font-size: min( calc( var(--font-size-mob) / 500 * 100vw ), calc(var(--font-size-pc) * 1px) );
        padding: max(55px,calc(95 / 1920 * 100vw)) 0;
        background: #fff;
    }

	#index .section8 .itemBox {
		border: 1px solid #ddd;
		padding: 1.5em 1.5em 1.5em 3em; display: flex;
	}
	#index .section8 h3 {font-size: 3em; color: #000; line-height: 1.2; margin-bottom: 1em;}

}

/*--------------------------------------------------- 인덱스세팅 끝 ----------------------------------------------------------------------------*/



/*--------------------------------------------------- 푸터세팅 ----------------------------------------------------------------------------*/
@media all {
    #footer {
        background: #434343; color: #fff; padding: 6.66em 0 4em; 
        font-size: 15px;
    }
    #footer a { color: inherit; }
    #footer .containerV1 {
        display: grid; grid-template-columns: 1fr auto;
    }
    #footer .containerV1 .itemBox .inner1 { margin-bottom: 2em; }
    #footer .containerV1 .itemBox .inner1 .text1 {
        font-size: 1.2em; font-weight: bold; margin-bottom: 0.6em;
    }
    #footer .containerV1 .itemBox .inner1 .text2 {
        font-size: 2em; font-weight: bold; color: #ffa800; margin-bottom: 0.4em;
    }
    #footer .containerV1 .itemBox .inner1 .text4 {
        font-size: 1em; font-weight: 400; color: yellow; margin-bottom: 0.4em;
    }
    #footer .containerV1 .itemBox .inner2 .text { line-height: 1.6; }
    #footer .containerV1 .itemBox .inner2 .text span:not(:last-child):after { 
        content: '|'; margin-left: 0.6em; margin-right: 0.4em; font-size: 0.8em;
        transform: translateY(-0.2em); display: inline-block;
    }
    #footer .containerV1 .itemBox .inner2 .copy { 
        margin-top: 0.5em; line-height: 1.6; 
    }
    #footer .containerV1 .snsList { 
        display: flex; gap:1em; margin-top: 1.8em;
    }
    #footer .containerV1 .snsList > li > a > svg {  
        width: 32px; height: auto;
    }
}
@media (max-width:768px) {
    #footer .containerV1 { grid-template-columns: 1fr; }
    #footer .containerV1 .snsList { 
        margin-top: 3em;
    }
}

/*--------------------------------------------------- 푸터세팅 끝 ----------------------------------------------------------------------------*/










/* 서브페이지 패딩 */
.tmt_sub_frame { padding:40px 0 50px; min-height: 70vh; }


/* 게시판 및 게시판헤드 등 기타 버튼들 기본컬러 변경 */
.btn.btn-color {border: 1px solid var(--main-color); background-color: var(--main-color);}
.btn.active.btn-color, .btn.btn-color:hover, .btn.btn-color:focus, .btn.btn-color:active {background-color: var(--main-color);}
.border-color, i.border-color, img.border-color {border-color: var(--main-color);}

/* 모달 z-index높이기 (해드에 가려지는 경우 발견해서) */
.modal { z-index: 9999; }
.modal-backdrop { z-index: 9998; }
