    @charset "utf-8";

    /* 초기화 */
    html {overflow-y:scroll}
    body {margin:0;padding:0;font-size:0.75em;background:#fff}
    html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
    /* h1, h2, h3, h4, h5, h6 {font-size:1em;} */
    article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}

    ul, dl,dt,dd {margin:0;padding:0;list-style:none}
    legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
    label, input, button, select, img {vertical-align:middle;font-size:1em}
    input, button {margin:0;padding:0;font-size:1em}
    input[type="submit"] {cursor:pointer}
    button {cursor:pointer}

    textarea, select {font-size:1em}
    select {margin:0}
    p {margin:0;padding:0;word-break:break-all}
    hr {display:none}
    pre {overflow-x:scroll;font-size:1.1em}
    a {color:#000;text-decoration:none}

    *, :after, :before {
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
    }

    input[type=text],input[type=password], textarea {
    -webkit-transition:all 0.30s ease-in-out;
    -moz-transition:all 0.30s ease-in-out;
    -ms-transition:all 0.30s ease-in-out;
    -o-transition:all 0.30s ease-in-out;
    outline:none;
    }

    input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {
    -webkit-box-shadow:0 0 5px #9ed4ff;
    -moz-box-shadow:0 0 5px #9ed4ff;
    box-shadow:0 0 5px #9ed4ff;
    border:1px solid #558ab7 !important;
    }

    .placeholdersjs {color:#aaa !important}

    /* 레이아웃 크기 지정 */
    /* #hd, #wrapper, #ft {min-width:1200px}

    #hd_pop,
    #hd_wrapper,
    #tnb .inner,

    #gnb .gnb_wrap,
    #container_wr,
    #ft_wr {width:1200px} */

    /* 팝업레이어 */
    #hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
    #hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
    .hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
    .hd_pops img {max-width:100%}
    .hd_pops_con {}
    .hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
    .hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
    .hd_pops_footer button {padding:10px;border:0;color:#fff}
    .hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
    .hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}

    /* 상단 레이아웃 */
    /* #hd {background:#212020} */
    #hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}

    #tnb {border-bottom:1px solid #383838;margin:0 auto}
    #tnb:after {display:block;visibility:hidden;clear:both;content:""}
    #tnb .inner {margin:0 auto}

    /* #hd_wrapper {position:relative;margin:0 auto;height:140px;zoom:1} */

    /* #logo {float:left;padding:30px 0 0} */

    .hd_sch_wr {float:left;padding:30px 0;width:445px;margin-left:65px}
    #hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
    #hd_sch {border-radius:30px;overflow:hidden}
    #hd_sch #sch_stx {float:left;width:385px;height:45px;padding-left:10px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.25em;color:#fff}
    #hd_sch #sch_submit {float:left;width:60px;height:45px;border:0;background:#2c2c2c;color:#fff;border-radius:0 30px 30px 0;cursor:pointer;font-size:16px}

    #hd_define {float:left}
    #hd_define:after {display:block;visibility:hidden;clear:both;content:""}
    #hd_define li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
    #hd_define li:last-child {padding-right:0;margin-right:0;border-right:0}
    #hd_define li a {display:inline-block;color:#919191}
    #hd_define li.active a {color:#fff}

    #hd_qnb {float:right;text-align:right}
    #hd_qnb:after {display:block;visibility:hidden;clear:both;content:""}
    #hd_qnb li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
    #hd_qnb li:last-child {padding-right:0;margin-right:0;border-right:0}
    #hd_qnb li span {display:block;margin-top:5px;font-size:0.92em}
    #hd_qnb li a {display:inline-block;color:#919191}
    #hd_qnb .visit .visit-num {display:inline-block;line-height:16px;padding:0 5px;margin-left:5px;border-radius:10px;background:#da22f5;color:#fff;font-size:10px}


    .hd_login {position:absolute;right:0;top:60px}
    .hd_login li {float:left;margin:0 5px;border-left:1px solid #616161;padding-left:10px;line-height:13px}
    .hd_login li:first-child {border-left:0}
    .hd_login a {color:#fff}


    /* 메인메뉴 */
    #gnb {position:relative; font-family: var(--sfont); padding-right: 15px;}
    #gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
    #gnb .gnb_wrap {margin:0 auto;position:relative}
    #gnb .gnb_wrap:hover, #gnb .gnb_wrap:focus, #gnb .gnb_wrap:active{z-index:3}
    /* #gnb #gnb_1dul {font-size:1.083em;padding:0;border-bottom:1px solid #e0e2e5;zoom:1} */
    #gnb #gnb_1dul {font-size:1.1rem;padding:0;zoom:1; display: flex;align-items: center;}
    #gnb ul:after {display:block;visibility:hidden;clear:both;content:""}
    #gnb .gnb_1dli {float:left;line-height:55px;padding:0px;position:relative}
    /* #gnb .gnb_1dli:hover > a {color:var(--mc);
    -webkit-transition:background-color 2s ease-out;
    -moz-transition:background-color 0.3s ease-out;
    -o-transition:background-color 0.3s ease-out;
    transition:background-color 0.3s ease-out} */

    #hd .gnb_1dli .bg {position:absolute;top:24px;right:8px;display:inline-block;width:10px;height:10px;overflow:hidden;background:url('./images/gnb_bg2.gif') no-repeat 50% 50%;text-indent:-999px}
    #hd .gnb_1da {display:block;/*font-weight:bold;*/padding:0 15px;color:#fff;text-decoration:none; transition: all 0.45s;}
    /* #hd .gnb_1dli.gnb_al_li_plus .gnb_1da{padding-right:25px} */
    #hd .gnb_2dli:first-child {border:0}
    #hd .gnb_2dul {display:none;position:absolute;top:54px;min-width:140px;padding-top:2px}
    #hd .gnb_2dul .gnb_2dul_box {border:1px solid #e0e2e5;/*border-top:0;*/padding:0;
    -webkit-box-shadow:0px 1px 3px rgba(97, 97, 97, 0.7);
    -moz-box-shadow:0px 1px 3px rgba(97, 97, 97, 0.7);
    box-shadow:0px 1px 3px rgba(97, 97, 97, 0.7)}
    #hd .gnb_2da {display:block;padding:0 10px;line-height:40px;background:#fff;color:#080808;text-align:center;text-decoration:none;font-size: 1rem;}
    #hd a.gnb_2da:hover {color:#fff;background:#333;
    -moz-transition:all 0.3s ease-out;
    -o-transition:all 0.3s ease-out;
    transition:all 0.3s ease-out}

    #hd .gnb_1dli_air .gnb_2da {}
    #hd .gnb_1dli_on .gnb_2da {}
    #hd .gnb_2da:focus, .gnb_2da:hover {color:#fff}
    #hd .gnb_1dli_over .gnb_2dul {display:block;left:50%;transform: translateX(-50%);}
    #hd .gnb_1dli_over2 .gnb_2dul {display:block;right:50%;transform: translateX(50%);}

    /* 중간 레이아웃 */
    #wrapper {}
    /* #container_wr:after {display:block;visibility:hidden;clear:both;content:""} */
    #container_wr {margin:0 auto;zoom:1}
    #aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}

    /* #container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
    #container:after {display:block;visibility:hidden;clear:both;content:""} */
    #container_title {font-size:1.333em;margin:0 auto;font-weight:bold}
    #container_title span {margin:0 auto 10px;display:block;line-height:30px}

    .lt_wr {width:32%}
    .lt_wr:nth-child(3n+1) {clear:both}
    .latest_wr {margin-bottom:20px}
    .latest_wr:after {display:block;visibility:hidden;clear:both;content:""}
    .latest_top_wr {margin:0 -10px 20px}
    .latest_top_wr:after {display:block;visibility:hidden;clear:both;content:""}

    /* 하단 레이아웃 */
    #ft {background:#212020;margin:0 auto;text-align:center}
    #ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
    /* #ft_wr {max-width:1240px;margin:0;padding:40px 0;position:relative;display:inline-block;text-align:left} */
    /* #ft_wr:after {display:block;visibility:hidden;clear:both;content:""} */
    /* #ft_wr .ft_cnt {width:25%;float:left;padding:0 20px} */

    #ft_link {text-align:left}
    #ft_link a {display:block;color:#fff;line-height:2em;font-weight:bold}
    /* #ft_company h2 {font-size:1.2em;margin-bottom:20px}
    #ft_company {font-weight:normal;color:#e3e3e3;line-height:2em} */
    #ft_catch {margin:20px 0 10px}
    #ft_copy {text-align:center;/*width:1200px;*/margin:0 auto;padding:20px 0;color:#5b5b5b;font-size:0.92em;border-top:1px solid #383838}
    #top_btn {position:fixed;bottom:20px;right:20px;width:50px;height:50px;line-height:46px;border:2px solid #333;color:#333;text-align:center;font-size:15px;z-index:90;background:rgba(255,255,255,0.5);border-radius: 8px;}
    #top_btn:hover {border-color:var(--mc);background:var(--mc);color:#fff}

    /* 게시물 선택복사 선택이동 */
    #copymove {}
    #copymove .win_desc {text-align:center;display:block}
    #copymove .tbl_wrap {margin:20px}
    #copymove .win_btn {padding:0 20px 20px}
    .copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px}
    .copymove_currentbg {background:#f4f4f4}

    /* 화면낭독기 사용자용 */
    #hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
    .msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}

    /* 본문 바로가기 */
    #skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
    #skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}

    /* ie6 이미지 너비 지정 */
    .img_fix {width:100%;height:auto}

    /* 캡챠 자동등록(입력)방지 기본 -pc */
    #captcha {display:inline-block;position:relative}
    #captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
    #captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
    #captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
    #captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
    #captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
    #captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}

    /* 캡챠 자동등록(입력)방지 기본 - mobile */
    #captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
    #captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block}
    #captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px}
    #captcha.m_captcha #captcha_reload span {display:none}
    #captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
    #captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
    #captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}

    /* ckeditor 단축키 */
    .cke_sc {margin:0 0 5px;text-align:right}
    .btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
    .cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
    .cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
    .cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
    .cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
    .cke_sc_def dt {width:20%;font-weight:bold}
    .cke_sc_def dd {width:30%}

    /* ckeditor 태그 기본값 */
    #bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
    #bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
    #bo_v_con li {display:list-item}

    /* 버튼 */
    a.btn,.btn {line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;font-size:1.4em;
    -webkit-transition:background-color 0.3s ease-out;
    -moz-transition:background-color 0.3s ease-out;
    -o-transition:background-color 0.3s ease-out;
    transition:background-color 0.3s ease-out}

    a.btn01 {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle}
    a.btn01:focus, a.btn01:hover {text-decoration:none}
    button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none}
    a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
    a.btn02:focus, .btn02:hover {text-decoration:none}
    button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}

    .btn_confirm {text-align:right} /* 서식단계 진행 */

    .btn_submit {border:0;background:var(--mc);color:#fff;cursor:pointer;border-radius:3px}
    .btn_submit:hover {background:#2375eb}
    .btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff}
    a.btn_close {text-align:center;line-height:50px}

    a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
    button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
    .btn_cancel:hover {background:#aaa}
    a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
    a.btn_frmline {}
    button.btn_frmline {font-size:1em}

    /* 게시판용 버튼 */
    a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent}
    .btn_b01:hover, .btn_b01:hover {color:#000}
    a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle}
    a.btn_b02:hover, .btn_b02:hover {background:#0025eb}
    a.btn_b03, .btn_b03 {display:inline-block;background:#fff;border:1px solid #b9bdd3;color:#646982;text-decoration:none;vertical-align:middle}
    a.btn_b03:hover, .btn_b03:hover {background:#ebedf6}
    a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle}
    a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9}
    a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
    .btn_admin:hover, a.btn_admin:hover {color:#ff3746}


    /* 기본테이블 */
    .tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec} 
    .tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
    .tbl_head01 {margin:0 0 10px}
    .tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
    .tbl_head01 thead th {padding:20px 0;font-weight:normal;text-align:center;border-bottom:1px solid #ececec;height:40px}
    .tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
    .tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
    .tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8e8e8}
    .tbl_head01 td {color:#666;padding:10px 5px;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all}
    .tbl_head01 tbody tr:hover td {background:#fafafa}
    .tbl_head01 a:hover {text-decoration:underline}

    .tbl_head02 {margin:0 0 10px}
    .tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
    .tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
    .tbl_head02 thead a {color:#383838}
    .tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
    .tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
    .tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff}
    .tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff;line-height:1.4em;word-break:break-all}
    .tbl_head02 a {}

    /* 폼 테이블 */
    .tbl_frm01 {margin:0 0 20px}
    .tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
    .tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left}
    .tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent}
    .wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;
    -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
    -moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
    }
    .tbl_frm01 textarea {padding:2px 2px 3px}
    .frm_input {height:40px}

    .full_input {width:100%}
    .half_input {width:49.5%}
    .twopart_input {width:385px;margin-right:10px}
    .tbl_frm01 textarea, .write_div textarea {width:100%;height:100px}
    .tbl_frm01 a {text-decoration:none}
    .tbl_frm01 .frm_file {display:block;margin-bottom:5px}
    .tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}

    /*기본 리스트*/
    .list_01 ul {border-top:1px solid #ececec}
    .list_01 li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative}
    .list_01 li:nth-child(odd) {background:#f6f6f6}
    .list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
    .list_01 li:hover {background:#f9f9f9}
    .list_01 li.empty_li {text-align:center;padding:20px 0;color:#666}

    /*폼 리스트*/
    .form_01 h2 {font-size:1.167em}
    .form_01 li {margin-bottom:10px}
    .form_01 ul:after,
    .form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
    .form_01 .left_input {float:left}
    .form_01 .margin_input {margin-right:1%}
    .form_01 textarea {height:100px;width:100%}
    .form_01 .frm_label {display:inline-block;width:130px}

    /* 자료 없는 목록 */
    .empty_table {padding:50px 0 !important;text-align:center}
    .empty_list {padding:20px 0 !important;color:#666;text-align:center}

    /* 필수입력 */
    .required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}

    /* 테이블 항목별 정의 */
    .td_board {width:80px;text-align:center}
    .td_category {width:80px;text-align:center}
    .td_chk {width:30px;text-align:center}
    .td_date {width:60px;text-align:center}
    .td_datetime {width:110px;text-align:center}
    .td_group {width:80px;text-align:center}
    .td_mb_id {width:100px;text-align:center}
    .td_mng {width:80px;text-align:center}
    .td_name {width:100px;text-align:left}
    .td_nick {width:100px;text-align:center}
    .td_num {width:50px;text-align:center}
    .td_numbig {width:80px;text-align:center}
    .td_stat {width:60px;text-align:center}

    .txt_active {color:#5d910b}
    .txt_done {color:#e8180c}
    .txt_expired {color:#ccc}
    .txt_rdy {color:#8abc2a}

    /* 새창 기본 스타일 */
    .new_win {position:relative}
    .new_win .tbl_wrap {margin:0 20px}
    .new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);
    -moz-box-shadow:0 1px 10px rgba(0,0,0,.1);
    box-shadow:0 1px 10px rgba(0,0,0,.1)}
    .new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
    .new_win .win_ul {margin-bottom:15px;padding:0 20px}
    .new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
    .new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px}
    .new_win .win_ul li:first-child {margin-left:0}
    .new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3}
    .new_win .win_ul .selected {background:var(--mc);border-color:var(--mc);position:relative;z-index:5}
    .new_win .win_ul .selected a {color:#fff;font-weight:bold}
    .new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px}
    .new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
    .new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px}
    .new_win .frm_info {font-size:0.92em;color:#919191}
    .new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:var(--mc);background:#f6f6f6;padding:0 10px;border-radius:5px}
    .new_win .new_win_con {margin:20px 0;padding:20px}
    .new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
    .new_win .new_win_con2 {margin:20px 0}
    .new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
    .new_win .win_btn {text-align:center}
    .new_win .cert_btn {margin-bottom:30px;text-align:center}
    .new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
    .new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}

    /* 검색결과 색상 */
    .sch_word {color:#fff;background:#ff005a;padding:2px 5px 3px;line-height:18px;margin:0 2px}

    /* 자바스크립트 alert 대안 */
    #validation_check {margin:100px auto;width:500px}
    #validation_check h1 {margin-bottom:20px;font-size:1.3em}
    #validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}

    /* 사이드뷰 */
    .sv_wrap {position:relative;font-weight:normal}
    .sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333;
    -webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
    -moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
    box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
    .sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #333 transparent}
    .sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb}
    .sv_wrap .sv a:hover {background:#000;color:#fff}
    .sv_member {color:#333}
    .sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
    .sv_nojs .sv {display:block}

    /* 페이징 */
    /* .pg_wrap {clear:both;float:left;display:inline-block} */
    .pg_wrap {clear:both;text-align: center;}
    .pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} 
    .pg {text-align:center}
    .pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee}
    .pg a:focus, .pg a:hover {text-decoration:none}
    .pg_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px}
    .pg_page:hover {background-color:#fafafa}
    .pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
    .pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
    .pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
    .pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
    .pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa}

    .pg_current {display:inline-block;background:var(--mc);border:1px solid var(--mc);color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px}

    /* cheditor 이슈 */
    .cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {
    -webkit-box-sizing:content-box;
    -moz-box-sizing:content-box;
    box-sizing:content-box;
    }

    /* Mobile화면으로 */
    #device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}

    /* 추가 스타일 */
    /* head.php */
    #hd {position: fixed; width: 100%; top: 0; left: 0; transition: all 0.45s; background-color: rgba(0, 0, 0, 0.2); z-index: 1000}
    #hd:hover {background-color: rgba(0, 0, 0, .75)}
    /* #hd.down {background-color: rgba(0, 0, 0, .75); transition: all 0.45s} */
    /* #hd.down .gnb_1da {color: #fff; transition: all 0.45s;} */
    /* #hd.down .gnb_2dul .gnb_2dul_box {border: none;} */

    #hd_wrapper {display: flex; justify-content: space-between; align-items: center; padding: 15px 0;}

    #logo {width: 20%; max-width: 120px; padding-left: 15px; filter: brightness(0) invert(1);}
    #logo>a {display: block;}
    #logo>a>img {width: 100%; transition: all 0.35s;}
    /* #hd.down #logo>a>img {filter: brightness(0) invert(1); transition: all 0.35s;} */

    /* head mobile */
    .submenu_toggle {display: none;}
    #mobile_menu_btn {display: none;background: none;border: none;font-size: 2rem;color: white;cursor: pointer; padding-right: 15px;}

    /* tail.php */
    #ft {padding: 25px 15px 35px; color: #fff;}
    #ft_wr {display: flex; justify-content: space-between; align-items: flex-start;}

    #ft_menu #ft_gnb {display: flex;}
    #ft_menu #ft_gnb>li {margin-right: 8px;}
    #ft_menu #ft_gnb>li:last-of-type {margin-right: 0;}

    #ft_sns {display: flex;}
    #ft_sns>a {margin-left: 10px; width: 22px; aspect-ratio: 1/1; display: flex; justify-content: center; align-items: center;}
    #ft_sns>a.aside_shop>img {filter: brightness(0) invert(1);}
    #ft_sns>a>img {width: 100%;}
    #ft_sns>a:first-of-type {margin-left: 0;}

    #ft_company {margin-top: 15px; padding-top: 15px; border-top: 1px solid #4a4a4a; text-align: left; line-height: 160%;}
    #ft_company>p {word-break: keep-all;}

    /* aside_btn.php */
    #aside_btn {top: 50%; right: 20px; transform: translateY(-50%); display: flex; flex-direction: column; align-items: flex-end; background-color: #f5f5f5; padding: 8px 0; border-radius: 12px; border: 1px solid #ccc; z-index: 9999999;}
    #aside_btn .aside_link {padding: 12px 8px; margin-bottom: 5px; border-bottom: 1px solid #ccc; width: 55px;}
    #aside_btn .aside_link:first-of-type {padding-top: 5px;}
    #aside_btn .aside_link:last-of-type {padding-bottom: 5px; margin-bottom: 0; border-bottom: none;}
    #aside_btn .aside_link>img {width: 100%;}
    #aside_btn .aside_link>p {text-align: center; font-family: var(--sfont); margin-top: 5px; font-size: 0.9rem;}

    /* banner.php */
    /* section#upper_banner */
    #upper_banner {width: 100%;height: 400px;background-position: center center;background-repeat: no-repeat;background-size: cover;display: flex;justify-content: center;align-items: center;position: relative}
    #upper_banner::after {content: '';display: block;width: 100%;height: 100%;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);backdrop-filter: brightness(0.7);}
    #upper_banner .banner_title {text-align: center;color: #fff;z-index: 1;padding: 0 15px; display: flex; justify-content: center; align-items: center; flex-direction: column;font-family: var(--sfont);}
    #upper_banner .banner_title>p {font-size: 1.2rem;padding: 0 10px;line-height: 120%;word-break: keep-all;
    margin-top: 5px;}
    #upper_banner .banner_title>h1 {font-size: 3rem;}
    #upper_banner .banner_title>div.line {width: 60%; height: 2px; background-color: #fff; margin: 15px 0 25px;}

    /* 공통 */
    .title_text {text-align: center; word-break: keep-all; font-size: 1.12rem;}
    .board_title {font-family: var(--sfont); text-align: center; font-size: 1.8rem;}
    .shop_btn {position: fixed; top: 50%; left: 0; transform: translateY(-50%); background: linear-gradient(var(--sc3), var(--mc)); width: 50px; height: 150px; border-top-right-radius: 6px; border-bottom-right-radius: 6px; color: #fff; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; font-size: 18px; z-index: 998;}
    .shop_btn>i {vertical-align: middle;}
    .shop_btn>span {writing-mode: vertical-lr; font-family: var(--sfont);}
    @media (max-width: 768px) {
        .shop_btn { transform: none; top: auto; left: auto; bottom:75px;right:20px;width:50px;height:50px;line-height:46px;border:2px solid #333;color:#333;text-align:center;font-size:15px;z-index:90;background:rgba(255,255,255,0.5);border-radius: 8px; display: block;}
        .shop_btn:hover {border-color:var(--mc);background:var(--mc);color:#fff}
        .shop_btn>span {display: none;}
    }

    .yt_ad_btn {display: block; position: fixed; left: 15px; bottom: 15px; border-radius: 6px; overflow: hidden; width: 250px; border: 1px solid var(--sc2);}
    .yt_ad_btn img {width: 100%; filter: brightness(0.65);transform: scale(1.05); transition: all 0.3s;}
    .yt_ad_btn p {position: absolute;z-index: 2;color: #fff;top: 50%;left: 50%;text-align: center;line-height: 1.3;transform: translate(-50%, -50%);font-size: 42px;}
    .yt_ad_btn:hover img {transform: scale(1.15);}

    @media (max-width: 768px) {
        .yt_ad_btn {width: 150px;}
        .yt_ad_btn p {font-size: 32px;}
    }

    @media (max-width: 425px) {
        .yt_ad_btn {display: none;}
    }

    /* mask-section */
    .fp-watermark {display: none !important;}
    .mask-section{position:relative;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center;}
    .bg-expand{position:absolute;top:50%;left:50%;width:110vw;height:110vh;transform:translate(-50%,-50%) scale(1.05);clip-path:inset(45% 40% 45% 40% round 80px);transition:clip-path 1.2s cubic-bezier(0.65,0,0.35,1),transform 1.2s ease;background-repeat: no-repeat; background-size: cover; background-position: center center;}
    .bg-expand::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0.5);}
    .mask-section.animate .bg-expand{clip-path:inset(0% 0% 0% 0% round 0px);transform:translate(-50%,-50%) scale(1);}

    .side-text{position:absolute;z-index:20;color:#fff;font-weight:900;font-size:clamp(2.5rem,4vw,5rem);transition:opacity .8s ease,transform .8s ease;}
    .left-text{top:15%;left:8%;}
    .right-text{bottom:15%;right:8%;}

    .mask-section.animate .side-text{opacity:0;}
    .mask-section.animate .left-text{transform:translateX(-60px);}
    .mask-section.animate .right-text{transform:translateX(60px);}

    .main-content{position:relative;z-index:30;text-align:center;color:#fff;max-width:900px;padding:0 15px;opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s ease;}
    .mask-section.content-show .main-content{opacity:1;transform:translateY(0);}
    .sub-num{font-size:1rem;letter-spacing:2px;margin-bottom:12px;display:inline-block;border-bottom:1px solid rgba(255,255,255,.9);padding-bottom:6px;}
    .title{font-size:clamp(2.5rem,6vw,5rem);font-weight:900;margin:16px 0;}
    .desc{font-size:clamp(.95rem,1.3vw,1.1rem);line-height:1.7;opacity:.9;margin-bottom:40px;word-break:keep-all;}

    .btn-wrap{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;}
    .main-btn{padding:14px 48px;border-radius:999px;font-weight:700;font-size:1rem;transition:transform .15s ease; display: block;}
    .main-btn:active{transform:scale(.97);}
    .btn-black{background:#000;color:#fff;}
    .btn-white{background:#fff;color:#000;}

    @media(max-width:768px){
        .left-text{top:15%;left:50%;transform:translateX(-50%);}
        .right-text{bottom:10%;right:auto;left:50%;transform:translateX(-50%);}
        .mask-section.animate .left-text{transform:translate(-50%,-40px);}
        .mask-section.animate .right-text{transform:translate(-50%,40px);}
        .side-text{font-size:clamp(1.8rem,6vw,2.8rem);}
    }

    #fp-nav ul li a span{
        background:rgba(255,255,255,0.5) !important;
    }

    #fp-nav ul li a.active span{
        background:#ffffff !important;
    }

    /* index_hero.php */
    #index_hero {}
    #index_hero .hero_fixed_bg {position: absolute;inset: 0;z-index: 0;}
    #index_hero .hero_fixed_bg img,
    #index_hero .hero_fixed_bg video {width: 100%;height: 100%;object-fit: cover;}
    #index_hero::after {content: '';position: absolute;inset: 0;background: rgba(0,0,0,0.45);z-index: 1;}

    #index_hero .swiper-slide {opacity: 0 !important;transition: opacity .6s ease;}
    #index_hero .swiper-slide-active {opacity: 1 !important;}

    #index_hero .hero_swiper {position: relative;z-index: 2;width: 100%;height: 100%;}
    #index_hero .swiper-slide {display: flex;align-items: center;justify-content: center;text-align: center;padding: 0 20px;}

    #index_hero .hero_content {max-width: 900px;color: #fff;}
    #index_hero .hero_content h1 {font-size: 52px;line-height: 1.3;margin-bottom: 20px;word-break: keep-all;}
    #index_hero .hero_content h1 span {color: var(--mc);}
    #index_hero .hero_content p {font-size: 18px;margin-bottom: 30px;opacity: 0.9;word-break: keep-all;}

    #index_hero .hero_btn {display: inline-block;padding: 14px 32px;border-radius: 40px;background: var(--sc);color: #fff;text-decoration: none;transition: .3s;}

    #index_hero .hero_pagination {position: absolute;bottom: 40px;left: 50%;transform: translateX(-50%);display: flex;justify-content: center;align-items: center;gap: 10px;z-index: 10;}
    #index_hero .hero_pagination .swiper-pagination-bullet {width: 10px;height: 10px;background: rgba(255,255,255,0.6);border-radius: 50px;opacity: 1;transition: all .35s ease;}
    #index_hero .hero_pagination .swiper-pagination-bullet-active {width: 32px;background: var(--mc);}

    /* index_hero2.php */
    #index_hero2{position:relative;width:100%;height:100vh;overflow:hidden;color:#fff;}
    #index_hero2 .hero_fixed_bg{position:absolute;inset:0;z-index:0;}
    #index_hero2 .hero_fixed_bg img,#index_hero2 .hero_fixed_bg video{width:100%;height:100%;object-fit:cover;}
    #index_hero2::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.45);z-index:1;}

    #index_hero2 .hero_content_wrap{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 20px;}
    #index_hero2 .hero_content{max-width:900px;}
    #index_hero2 .hero_content h1{font-size:52px;line-height:1.3;margin-bottom:20px;word-break: keep-all;}
    /* #index_hero2 .hero_content h1 span{color:var(--mc);} */
    #index_hero2 .hero_content p{font-size:18px;margin-bottom:30px;opacity:0.9; word-break: keep-all; line-height: 125%;}

    #index_hero2 .hero_btn{display:inline-block;padding:14px 32px;border-radius:40px;background:#fff;color:var(--mc); transition: all 0.35s;}
    #index_hero2 .hero_btn:hover{background: var(--mc); color: #fff; transition: all 0.35s;}

    @media (max-width:768px){
        #index_hero2 .hero_content h1{font-size:34px;}
        #index_hero2 .hero_content p{font-size:15px;}
        #index_hero2 .hero_btn{padding:12px 26px;}
    }

    /* index_company.php */
    #index_company .bg-expand {background-image:url('/img/bg_company.jpg');}

    /* index_product.php */
    #index_product .bg-expand {background-image:url('/img/bg_product.jpg');}

    /* index_location.php */
    #index_location{background:transparent;display:flex;align-items:center;padding:80px 0 60px;position: relative;}
#index_location .location_bg {position: absolute; width: 100% !important; height: 100% !important;  top: 0; left: 0; z-index: -1; filter: brightness(0.7);}

#index_location .location_inner{padding:30px 15px;background-color: rgba(255, 255, 255, .85);border-radius: 12px;min-width: 800px;}
#index_location .location_inner .btn-wrap{margin-top: 20px;}

#index_location .location_title{text-align:center;font-size:clamp(26px,2.5vw,40px);margin-bottom:30px;font-family: var(--sfont);}
#index_location .location_title span{color:var(--mc);}

#index_location .location_info{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center;}

#index_location .info_item h3{font-size:18px;margin:15px 0;color:#222;}
#index_location .info_item p{font-size:14px;line-height:1.6;color:#555;}

#index_location .info_icon{font-size:36px;color:var(--mc);}
#index_location .info_icon>i{line-height: 0;vertical-align: middle;}

#index_location .main-btn {background-color: var(--mc);color: #fff;}

/* ===== 반응형 ===== */
@media(max-width:1024px){
    #index_location .location_info{grid-template-columns:1fr 1fr;}
}

@media(max-width:768px){
    #index_location .location_info{grid-template-columns:1fr;}
}

    /* wrap_banner */
    .wrap_banner{width:100%;height:100vh;background-position:center center;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;}
    .wrap_banner_inner{width:100%;height:100%;padding:0 20px;display:flex;flex-direction:column;justify-content:center;align-items:center;backdrop-filter:brightness(60%);}
    .wrap_banner_inner p{font-size:1.5rem;}
    .wrap_banner_inner h1{font-size:3.5rem;color:#f5f5f5;margin-top:12px;text-align:center;font-family:var(--sfont);}

    /* video_banner */
    .wrap_banner.video_banner{position:relative;overflow:hidden;background:none;}
    .wrap_banner.video_banner .bg_video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%, -50%);object-fit:cover;z-index:0;}

    .title_highlight{display:inline-block;color:var(--sc);}
    .title_highlight span{background-color:#fff;padding:2px 10px;border-radius:3px;word-break:keep-all;opacity:.9; display: block;}

    .scroll_down{left:50%;bottom:1.5%;transform:translate(-50%,-50%);font-size:1.8rem;color:#f5f5f5;border:1px solid #f5f5f5;border-radius:50%;width:70px;height:70px;display:flex;justify-content:center;align-items:center;cursor:default;}
    .scroll_down>span{-webkit-animation:mover 1s infinite alternate;animation:mover 1s infinite alternate;}

    @-webkit-keyframes mover {
        0% {transform: translateY(0);}
        100% {transform: translateY(-10px);}
    }

    /* info */
    .info_cont {margin: 150px 0; padding: 0 15px;}
    .info_cont.mg_auto {margin: 80px auto;}
    .info_title {font-family: var(--sfont); font-size: 2.4rem; color: var(--mc); text-align: center; margin-bottom: 50px;}
    .info_title::after{content:"";display:block;width:60px;height:3px;background:var(--mc);margin:16px auto 0;}

    /* info/info_overview.php */
    #info_overview{display:grid;grid-template-columns:.7fr 1fr;gap:30px;}

    #info_overview .io_slide{width:100%;height:400px;min-width:0;}
    #info_overview .io-swiper{width:80%;height:100%;}
    #info_overview .io-swiper .swiper-slide{width:100%;height:100%;overflow:hidden;}
    #info_overview .io-swiper .swiper-slide img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;}

    .io_text{display:flex;align-items:center;height:100%;padding-left:40px;}
    /* .overview_text{max-width:520px;} */
    .overview_text h2{font-size:clamp(28px,2.5vw,36px);font-weight:700;margin-bottom:28px;color:var(--mc);position:relative;font-family:var(--sfont);}
    .overview_text h2::after{content:"";display:block;width:60px;height:3px;background:var(--mc);margin-top:16px;}
    .overview_text p{font-size:15.5px;line-height:1.9;color:#444;margin-bottom:18px;word-break:keep-all;}
    /* .overview_text p:first-of-type{font-weight:600;color:#222;} */

    @media(max-width:1024px){
        #info_overview {grid-template-columns: 1fr; gap: 50px;}
        .io_text{padding-left:0;margin-top:40px;justify-content:center;text-align:center;}
        .overview_text{max-width:100%;}
        .overview_text h2::after{margin:16px auto 0;}
    }

    @media(max-width:425px){
        .info_cont {margin: 80px auto;}
        .info_title {font-size: 1.6rem;}
        #info_overview .io_slide{height:200px;}
    }

    /* info/info_vision.php */
    #info_vision .vision_grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;}
    #info_vision .vision_grid>div:last-of-type{grid-column: 1/3;}

    #info_vision .vision_card{background:#fff;padding:60px 40px;border-radius:20px;border:1px solid #eee;text-align:center;transition:.35s ease;position:relative;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:20px;}
    #info_vision .vision_card:hover{transform:translateY(-8px);box-shadow:0 15px 40px rgba(0,0,0,.05);}

    .hex_icon{width:100px;aspect-ratio:1/1.1547;background:var(--mc);display:flex;align-items:center;justify-content:center;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);transition:all .4s;}
    .hex_icon>i{color:#fff;font-size:50px;line-height:0;}

    #info_vision .vision_card:hover .hex_icon{background:var(--sc);transform:scale(1.05);}
    #info_vision .vision_card h3{font-size:22px;letter-spacing:2px;font-weight:700;color:var(--mc);font-family:var(--sfont);}
    #info_vision .vision_card p{font-size:1rem;line-height:1.8;color:#555;word-break:keep-all;}

    @media(max-width:768px){
        #info_vision .vision_grid{grid-template-columns:1fr;}
        #info_vision .vision_grid>div:last-of-type{grid-column: auto;}
    }

    /* info/history.php */
    [class~=timeline] {box-sizing: border-box}
    [class~=timeline]:before {box-sizing: border-box}
    [class~=timeline] * {box-sizing: border-box}
    [class~=timeline] *:before {box-sizing: border-box}
    [class~=timeline] {position: relative;font-size: 1em;width: 100%;height: 100%;overflow-y: hidden;overflow-x: hidden}

    [class~=timeline] [class~=timeline-block] {margin-top: -4px}
    [class~=timeline] [class~=timeline-icon] {position: absolute;width: 20px;height: 20px;left: 50%;margin-left: -10px;margin-top: 10px;border: 5px solid #aaa;border-radius: 100%;background-color: #fff;text-align: center}
    [class~=timeline] [class~=timeline-icon][class~=timeline-icon-hide-border] {border: 0}
    [class~=timeline] [class~=timeline-icon][class~=timeline-icon-hide-border] i[class~=fa] {margin-left: 0;margin-top: 0}
    [class~=timeline] [class~=timeline-icon][class~=timeline-icon-hide-border] img {margin-left: 0;margin-top: 0}
    [class~=timeline] [class~=timeline-icon] i[class~=fa] {display: inline-block;width: 32px;height: 32px;margin-left: -4px;margin-top: -4px;vertical-align: bottom;line-height: 32px;text-align: center;font-size: 30px}
    [class~=timeline] [class~=timeline-icon] img {display: inline-block;width: 32px;height: 32px;margin-left: -4px;margin-top: -4px;vertical-align: bottom;line-height: 32px;text-align: center;font-size: 30px}
    [class~=timeline] [class~=timeline-icon] img {border-radius: 100%}

    [class~=timeline] [class~=timeline-content] {position: relative;width: 46%;padding-bottom: 50px}
    [class~=timeline] [class~=timeline-content] [class~=bar_count] {display: block;font-size: 2em;font-weight: 700;color: var(--mc);padding-bottom: 10px; font-family: var(--sfont);}
    [class~=timeline] [class~=timeline-content] ul {width: 100%;padding: 0;margin: 0; color: #333;}
    [class~=timeline] [class~=timeline-content] ul li {position: relative;font-size: 1rem;line-height: 160%;z-index: 1;word-break: keep-all;}
    [class~=timeline] [class~=timeline-content] ul li em {position: absolute;left: 0;display: inline-block;color: #333;font-style: normal;margin-right: 10px;}
    [class~=timeline] [class~=timeline-content] ul li img {width: 268px;height: 89px;margin-top: 20px;background: #000}
    [class~=timeline]::before {position: absolute;width: 1px;height: 100%;top: 0px;left: 50%;margin-left: -1px;background-color: #eee;content: ""}

    [class~=timeline][class~=timeline-alternating] [class~=timeline-block]:nth-of-type(2n+1) [class~=timeline-content] {text-align: right}
    [class~=timeline][class~=timeline-alternating] [class~=timeline-block]:nth-of-type(2n+1) [class~=timeline-content] ul li {position: relative;}
    [class~=timeline][class~=timeline-alternating] [class~=timeline-block]:nth-of-type(2n+1) [class~=timeline-content] ul li em {position: absolute;right: 0;margin-right: 0;z-index: 0}
    [class~=timeline][class~=timeline-alternating]:not([class~=timeline-left]) [class~=timeline-block]:nth-of-type(2n) [class~=timeline-content] {left: 54%}
    [class~=timeline][class~=timeline-alternating]:not([class~=timeline-left]) [class~=timeline-block]:nth-of-type(2n) [class~=timeline-date] {left: auto;right: 115%;margin-left: -400px}

    /* info/cert.php */
    #info_cert .cert_wrap {margin-bottom: 60px;}
    #info_cert .cert_box h3,#info_cert .profile_box h3{font-size:22px;margin-bottom:30px;color:var(--mc);font-family:var(--sfont);}

    #info_cert .cert_grid{display:grid;grid-template-columns:repeat(8,1fr);gap:25px;}
    #info_cert .cert_item{text-align:center; display: block;}
    #info_cert .cert_item img{width:100%;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,0.05);transition:.3s ease;}
    #info_cert .cert_item img:hover{transform:scale(1.03);}
    #info_cert .cert_item p{margin-top:12px;font-size:14px;color:#555; word-break: keep-all;}

    #info_cert .profile_box{background:#fff;padding:50px 40px;border-radius:20px;border:1px solid #eee;text-align:center;grid-column: span 2;}
    #info_cert .profile_box {display: flex; flex-direction: column; justify-content: center; align-items: center;}
    #info_cert .profile_desc{font-size:15px;line-height:1.8;color:#444;margin-bottom:40px; word-break: keep-all;}
    #info_cert .download_btn{display:inline-block;padding:14px 40px;border-radius:40px;background:var(--mc);color:#fff;text-decoration:none;font-weight:600;transition:.3s ease;}
    #info_cert .download_btn:hover{background:var(--sc);transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,0.08);}

    @media(max-width:1024px){
        #info_cert .cert_grid{grid-template-columns: repeat(6, 1fr);}
        #info_cert .profile_box{grid-column: span 3;}
    }

    @media(max-width:768px){
        #info_cert .cert_grid{grid-template-columns: repeat(4, 1fr);}
        #info_cert .profile_box{grid-column: span 2;}
    }

    @media(max-width:425px){
        #info_cert .cert_grid{grid-template-columns: repeat(3, 1fr);}
        #info_cert .profile_box{grid-column: 1;}
    }

    @media(max-width:320px){
        #info_cert .cert_grid{grid-template-columns: repeat(2, 1fr); gap: 10px;}
    }

    /* info/location.php */
    .location_wrap {margin-bottom: 80px;}
    .locate_wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center;}
    .info_map{border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.05);}
    .locate_info{display:flex;flex-direction:column;gap:40px;}

    .locate_item h3{font-size:18px;letter-spacing:2px;margin-bottom:12px;color:var(--mc);font-weight:700;font-family:var(--sfont);}
    .locate_item p{font-size:15px;line-height:1.8;color:#444;word-break:keep-all;}
    .locate_item{padding-bottom:20px;border-bottom:1px solid #eaeaea;}
    .locate_item:last-child{border-bottom:none;}

    #info_locate .root_daum_roughmap{width:100%!important;}
    #info_locate .root_daum_roughmap .wrap_controllers,
    #info_locate .root_daum_roughmap .cont .section.lst{display:none!important;}
    #info_locate .root_daum_roughmap .wrap_btn_zoom{right:30px!important;}

    @media(max-width:768px){
        .locate_wrap{grid-template-columns:1fr;gap:40px;}
    }

    /* info/network.php */
    .network_wrap {display:grid;grid-template-columns:repeat(2, 1fr);gap:30px;align-items:center;}
    .network_img {border-radius: 18px; overflow: hidden;}
    .network_img img {width: 100%; height: 100%; object-fit: cover; transition: all 0.3s;}
    .network_img:hover img {transform: scale(1.05); transition: all 0.3s;}
    .network_wrap h3{font-size:22px;letter-spacing:2px;margin-top:12px;color:var(--mc);font-weight:700;font-family:var(--sfont); text-align: center;}


/* product/product.php */
/* 라파비 제품 특장점 */
:root {
    --lpv-c1: #7b4db2;
    --lpv-c2: #a57fd1;
    --lpv-c3: #f4effa;
    --lpv-c4: #222;
    --lpv-c5: #666;
    --lpv-c6: #e9def7;
    --lpv-c7: #f8f6fb;
    --lpv-c8: #d9c8ef;
    --lpv-c9: #ff7a59;
}

.lpv_strength { padding: 120px 15px; background: #fff; overflow: hidden; }
.lpv_hd_wrap {display: flex; gap: 60px; margin-bottom: 60px; align-items: center;}
.lpv_hd_img {max-width: 300px;}
.lpv_hd_img img {width: 100%;}
.lpv_hd {  }
.lpv_kicker { display: inline-block; margin-bottom: 18px; padding: 8px 14px; border-radius: 999px; background: var(--lpv-c3); color: var(--lpv-c1); font-size: 14px; font-weight: 700; letter-spacing: 0.08em; }
.lpv_title {  color: var(--lpv-c4); font-size: 48px; line-height: 1.25; font-weight: 300; word-break: keep-all; font-family: var(--sfont);}
.lpv_title strong { color: var(--lpv-c1); font-weight: 800; }
.lpv_desc { margin: 24px auto 0; color: var(--lpv-c5); font-size: 18px; line-height: 1.8; word-break: keep-all; }

.lpv_point { display: grid; grid-template-columns: 1.05fr 1fr; gap: 28px; align-items: stretch; margin-bottom: 70px; }
.lpv_point_intro, .lpv_point_stats { border-radius: 28px; padding: 40px; }
.lpv_point_intro { background: linear-gradient(135deg, #fbf9fe 0%, #f2ebfa 100%); border: 1px solid var(--lpv-c6); }
.lpv_badge { display: inline-block; margin-bottom: 18px; padding: 7px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--lpv-c8); color: var(--lpv-c1); font-size: 13px; font-weight: 700; }
.lpv_point_intro h3 { margin: 0 0 18px; color: var(--lpv-c4); font-size: 38px; line-height: 1.25; font-weight: 800; word-break: keep-all; font-family: var(--sfont);}
.lpv_point_intro p {  color: var(--lpv-c5); font-size: 17px; line-height: 1.8; word-break: keep-all; }
.lpv_point_stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; background: var(--lpv-c7); border: 1px solid #eee; }
.lpv_stat { display: flex; flex-direction: column; justify-content: center; min-height: 150px; padding: 26px 24px; border-radius: 22px; background: #fff; border: 1px solid #eee; text-align: center; }
.lpv_stat strong { display: block; color: var(--lpv-c1); font-size: 40px; line-height: 1; font-weight: 800; }
.lpv_stat span { display: block; margin-top: 12px; color: var(--lpv-c5); font-size: 15px; line-height: 1.6; word-break: keep-all; }

.lpv_feat_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-bottom: 90px; }
.lpv_feat_item { height: 100%; padding: 34px 28px; border-radius: 24px; background: #fff; border: 1px solid #eee; box-shadow: 0 12px 32px rgba(32, 18, 58, 0.05); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.lpv_feat_item:hover { transform: translateY(-6px); border-color: var(--lpv-c8); box-shadow: 0 18px 40px rgba(32, 18, 58, 0.10); }
.lpv_feat_icon { width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; margin-bottom: 22px; border-radius: 20px; background: var(--lpv-c3); }
.lpv_feat_icon svg { width: 36px; height: 36px; fill: none; stroke: var(--lpv-c1); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.lpv_feat_item h3 { margin: 0 0 14px; color: var(--lpv-c4); font-size: 24px; font-weight: 800; line-height: 1.4; word-break: keep-all; }
.lpv_feat_item p {  color: var(--lpv-c5); font-size: 16px; line-height: 1.8; word-break: keep-all; }

.lpv_sec_tit { margin-bottom: 34px; }
.lpv_sec_en { margin: 0 0 10px; color: var(--lpv-c2); font-size: 14px; font-weight: 700; letter-spacing: 0.08em; }
.lpv_sec_tit h3 {  color: var(--lpv-c4); font-size: 36px; font-weight: 800; line-height: 1.3; word-break: keep-all; font-family: var(--sfont);}

.lpv_mech { margin-bottom: 90px; padding: 50px; border-radius: 32px; background: var(--lpv-c7); }
.lpv_mech_wrap { display: grid; grid-template-columns: 0.5fr 1.5fr; gap: 34px; align-items: start; }
.lpv_mech_img { padding: 34px; border-radius: 24px; background: #fff; border: 1px solid #eee; overflow: hidden; }
.lpv_mech_img img {width: 100%; height: 100%; object-fit: cover;}
.lpv_mech_figure { padding: 34px; border-radius: 24px; background: #fff; border: 1px solid #eee; }
.lpv_wave { position: relative; display: flex; height: 74px; overflow: hidden; border-radius: 16px; margin-bottom: 28px; background: #f5f5f5; }
.lpv_wave span { display: flex; align-items: center; justify-content: center; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; }
.lpv_wave .uv { width: 28%; background: linear-gradient(90deg, #5a3a9a 0%, #7f5bc2 100%); }
.lpv_wave .vis { width: 44%; background: linear-gradient(90deg, #8b6dd1 0%, #b891ef 100%); }
.lpv_wave .ir { width: 28%; background: linear-gradient(90deg, #f1b2b2 0%, #f59f9f 100%); }
.lpv_wave em { position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); padding: 4px 10px; border-radius: 999px; background: #fff; color: var(--lpv-c1); font-size: 13px; font-style: normal; font-weight: 800; box-shadow: 0 4px 10px rgba(0,0,0,0.08); }

.lpv_flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 12px; align-items: center; }
.lpv_flow_box { min-height: 90px; display: flex; align-items: center; justify-content: center; padding: 14px; border-radius: 18px; background: var(--lpv-c3); color: var(--lpv-c4); font-size: 15px; line-height: 1.5; font-weight: 700; text-align: center; word-break: keep-all; }
.lpv_flow_arrow { width: 18px; height: 18px; border-top: 2px solid var(--lpv-c2); border-right: 2px solid var(--lpv-c2); transform: rotate(45deg); }

.lpv_mech_text { padding: 34px; border-radius: 24px; background: #fff; border: 1px solid #eee; }
.lpv_check li { position: relative; padding-left: 30px; color: var(--lpv-c5); font-size: 17px; line-height: 1.9; word-break: keep-all; }
.lpv_check li + li { margin-top: 10px; }
.lpv_check li::before { content: ""; position: absolute; left: 0; top: 11px; width: 16px; height: 16px; border-radius: 50%; background: var(--lpv-c1); box-shadow: inset 0 0 0 4px #fff; outline: 1px solid var(--lpv-c1); }
.lpv_note { margin: 26px 0 0; padding-top: 22px; border-top: 1px solid #ece6f5; color: #888; font-size: 14px; line-height: 1.8; word-break: keep-all; }

.lpv_cert { margin-bottom: 90px; }
.lpv_cert_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.lpv_cert_card { padding: 34px 30px; border-radius: 24px; background: #fff; border: 1px solid #eee; }
.lpv_cert_label { display: inline-block; margin-bottom: 16px; padding: 7px 12px; border-radius: 999px; background: var(--lpv-c3); color: var(--lpv-c1); font-size: 18px; font-weight: 700; }
.lpv_card_img {border-radius: 6px; aspect-ratio: 3/4; overflow: hidden;}
.lpv_card_img img {width: 100%; height: 100%; object-fit: cover; transition: all 0.35s;}
.lpv_card_img:hover img {transform: scale(1.03); transform: all 0.35s;}
.lpv_cert_card h4 { margin: 14px 0; color: var(--lpv-c4); font-size: 24px; line-height: 1.4; font-weight: 800; word-break: keep-all; }
.lpv_cert_card p { margin: 0 0 18px; color: var(--lpv-c5); font-size: 16px; line-height: 1.8; word-break: keep-all; }
.lpv_cert_card ul li { position: relative; padding-left: 18px; color: var(--lpv-c4); font-size: 15px; line-height: 1.8; word-break: keep-all; }
.lpv_cert_card ul li::before { content: ""; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; border-radius: 50%; background: var(--lpv-c2); }

.lpv_cert_card{min-width:0}
.lpv_card_img.lpv_card_img_swiper{position:relative;width:100%;max-width:100%;overflow:hidden;border-radius:12px}
.lpv_card_img.lpv_card_img_swiper.swiper{min-width:0}
.lpv_card_img.lpv_card_img_swiper .swiper-wrapper{align-items:stretch}
.lpv_card_img.lpv_card_img_swiper .swiper-slide{width:100%;flex-shrink:0}
/* .lpv_card_img.lpv_card_img_swiper .swiper-slide img{display:block;width:100%;height:auto;max-width:100%} */
.lpv_card_img.lpv_card_img_swiper .lpv_card_pagination{bottom:10px}
.lpv_card_img.lpv_card_img_swiper .swiper-pagination-bullet{background:var(--mc);opacity:.6;transition: all 0.2s;}
.lpv_card_img.lpv_card_img_swiper .swiper-pagination-bullet-active{background:var(--mc);opacity:1;transition: all 0.2s; width: 22px; border-radius: 36px;}

.lpv_space { padding: 50px; border-radius: 32px; background: linear-gradient(135deg, #fbf9fe 0%, #f4edf9 100%); }
.lpv_space_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.lpv_space_item { padding: 28px 24px; border-radius: 22px; background: rgba(255,255,255,0.88); border: 1px solid var(--lpv-c8); text-align: center; }
.lpv_space_item strong { display: block; margin-bottom: 10px; color: var(--lpv-c1); font-size: 22px; line-height: 1.4; font-weight: 800; word-break: keep-all; }
.lpv_space_item p {  color: var(--lpv-c5); font-size: 15px; line-height: 1.7; word-break: keep-all; }
.lpv_space_img{position:relative;width:100%;aspect-ratio:4/3;margin-bottom:18px;border-radius:16px;overflow:hidden;}
.lpv_space_img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.lpv_space_item:hover .lpv_space_img img{transform:scale(1.05)}

.lpv_dev { margin-bottom: 90px;}
.lpv_dev_wrap { }
.lpv_dev_intro { padding: 34px; border-radius: 24px; background: var(--lpv-c7); border: 1px solid var(--lpv-c6); margin-bottom: 15px;}
.lpv_dev_intro h4 { margin: 12px 0 14px; color: var(--lpv-c4); font-size: 26px; font-weight: 800; line-height: 1.4; word-break: keep-all; }
.lpv_dev_intro p { color: var(--lpv-c5); font-size: 16px; line-height: 1.8; word-break: keep-all; }
.lpv_dev_list { display: grid; gap: 30px; grid-template-columns: repeat(3, 1fr); }
.lpv_dev_item { padding: 24px; border-radius: 20px; background: #fff; border: 1px solid #eee; transition: all .25s ease; }
.lpv_dev_item:hover { transform: translateY(-4px); border-color: var(--lpv-c8); box-shadow: 0 10px 24px rgba(32, 18, 58, 0.08); }
.lpv_dev_item strong { display: block; margin-bottom: 8px; color: var(--lpv-c1); font-size: 18px; font-weight: 800; }
.lpv_dev_item p { color: var(--lpv-c5); font-size: 14px; line-height: 1.7; }
.lpv_dev_img { position: relative; width: 100%; aspect-ratio: 4/3; margin-bottom: 14px; border-radius: 14px; overflow: hidden; background: #f5f5f5; }
.lpv_dev_img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.lpv_dev_item:hover .lpv_dev_img img { transform: scale(1.05); }

/* 반응형 */
@media (max-width: 1280px) {
    .lpv_strength { padding: 100px 15px; }
    .lpv_title { font-size: 42px; }
    .lpv_feat_grid { grid-template-columns: repeat(2, 1fr); }
    .lpv_cert_grid,
    .lpv_space_grid { grid-template-columns: repeat(2, 1fr); }
    .lpv_point,
    .lpv_mech_wrap { grid-template-columns: 1fr; }
    .lpv_dev_wrap { grid-template-columns: 1fr; }
}

@media (max-width: 991px) {
    .lpv_strength { padding: 80px 15px; }
    .lpv_hd_wrap {gap: 30px; margin-bottom: 50px;}
    .lpv_hd { }
    .lpv_title { font-size: 34px; }
    .lpv_desc { font-size: 16px; }
    .lpv_point_intro,
    .lpv_point_stats,
    .lpv_mech,
    .lpv_space { padding: 30px; }
    .lpv_point_intro h3 { font-size: 30px; }
    .lpv_stat strong { font-size: 34px; }
    .lpv_feat_item h3,
    .lpv_cert_card h4 { font-size: 21px; }
    .lpv_sec_tit h3 { font-size: 30px; }
    .lpv_mech_figure,
    .lpv_mech_text { padding: 24px; }
    .lpv_flow { grid-template-columns: 1fr; gap: 10px; }
    .lpv_flow_arrow { margin: 0 auto; transform: rotate(135deg); }
}

@media (max-width: 768px) {
    .lpv_hd_wrap {align-items: flex-start; flex-direction: column;}
    .lpv_hd_img {max-width: 250px;}
    .lpv_strength { padding: 70px 15px; }
    .lpv_title { font-size: 28px; }
    .lpv_point_stats,
    .lpv_feat_grid,
    .lpv_cert_grid,
    .lpv_space_grid { grid-template-columns: 1fr; }
    .lpv_point_intro,
    .lpv_point_stats,
    .lpv_mech,
    .lpv_space { padding: 22px; border-radius: 22px; }
    .lpv_stat { min-height: auto; padding: 22px 18px; border-radius: 18px; }
    .lpv_feat_item,
    .lpv_cert_card,
    .lpv_space_item { padding: 24px 20px; border-radius: 18px; }
    .lpv_sec_tit { margin-bottom: 24px; }
    .lpv_sec_tit h3 { font-size: 25px; }
    .lpv_mech_figure,
    .lpv_mech_text { padding: 20px; border-radius: 18px; }
    .lpv_check li { font-size: 15px; padding-left: 26px; }
        .lpv_dev { padding: 22px; border-radius: 22px; }
    .lpv_dev_intro,
    .lpv_dev_item { padding: 20px; border-radius: 18px; }
}

/* product/lights.php */
    :root {
        --lpv-p1:#7349b7;
        --lpv-p2:#8d6ad0;
        --lpv-p3:#f4eefb;
        --lpv-p4:#222;
        --lpv-p5:#666;
        --lpv-p6:#ddd2ef;
        --lpv-p7:#f8f5fc;
        --lpv-p8:#efe8f8;
        --lpv-p9:#ffffff;
        --lpv-p10:#ececec;
    }

.lpv_product_page { padding:120px 15px; background:#fff; overflow:hidden; }
.lpv_prod_hd { max-width:900px; margin:0 auto 50px; text-align:center; }
.lpv_prod_kicker { display:inline-block; margin-bottom:18px; padding:8px 14px; border-radius:999px; background:var(--lpv-p3); color:var(--lpv-p1); font-size:14px; font-weight:700; letter-spacing:.08em; }
.lpv_prod_title { margin:0; color:var(--lpv-p4); font-size:48px; line-height:1.25; font-weight:300; word-break:keep-all; font-family: var(--sfont);}
.lpv_prod_title strong { color:var(--lpv-p1); font-weight:800; }
.lpv_prod_desc { margin:22px auto 0; color:var(--lpv-p5); font-size:18px; line-height:1.8; word-break:keep-all; }

.lpv_prod_sec { margin-bottom:36px; padding:44px; border:1px solid var(--lpv-p10); border-radius:32px; background:linear-gradient(180deg, #fff 0%, #fcfbfe 100%); box-shadow:0 14px 34px rgba(35, 22, 61, .05); }
.lpv_prod_sec:last-child { margin-bottom:0; }
.lpv_prod_top { margin-bottom:28px; }
.lpv_prod_head { display:flex; flex-direction:column; gap:10px; }
.lpv_prod_label { display:inline-flex; align-self:flex-start; padding:8px 14px; border-radius:999px; background:var(--lpv-p3); color:var(--lpv-p1); font-size:13px; font-weight:700; }
.lpv_prod_head h3 { margin:0; color:var(--lpv-p4); font-size:42px; line-height:1.1; font-weight:800; letter-spacing:-.02em; }
.lpv_prod_head p { margin:0; color:var(--lpv-p5); font-size:18px; line-height:1.7; word-break:keep-all; }

.lpv_prod_body { display:grid; grid-template-columns:520px 1fr; gap:42px; align-items:start; }
.lpv_prod_visual { display:flex; flex-direction:column; gap:18px; }
.lpv_prod_mainimg { overflow:hidden; border-radius:26px; background:var(--lpv-p7); border:1px solid var(--lpv-p10); }
.lpv_prod_mainimg img { width:100%; display:block; }
.lpv_prod_subgrid { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.lpv_prod_subgrid.col2 { grid-template-columns:repeat(2, 1fr); }
.lpv_prod_subimg { overflow:hidden; border-radius:18px; background:var(--lpv-p7); border:1px solid var(--lpv-p10); }
.lpv_prod_subimg img { width:100%; display:block; }

.lpv_prod_info { display:flex; flex-direction:column; gap:24px; }
.lpv_prod_copy { padding:26px 28px; border-radius:24px; background:var(--lpv-p7); border:1px solid var(--lpv-p10); }
.lpv_prod_copy h4 { margin:0 0 12px; color:var(--lpv-p4); font-size:28px; line-height:1.4; font-weight:800; word-break:keep-all; }
.lpv_prod_copy p { margin:0; color:var(--lpv-p5); font-size:16px; line-height:1.85; word-break:keep-all; }

.lpv_spec_list { margin:0; padding:0; list-style:none; border-top:1px solid var(--lpv-p6); }
.lpv_spec_list li { display:grid; grid-template-columns:140px 1fr; gap:18px; padding:14px 0; border-bottom:1px solid var(--lpv-p8); align-items:center; }
.lpv_spec_list li strong { color:var(--lpv-p1); font-size:16px; font-weight:800; line-height:1.4; }
.lpv_spec_list li span { color:var(--lpv-p4); font-size:17px; line-height:1.6; word-break:keep-all; }

.lpv_prod_feat { display:flex; flex-wrap:wrap; gap:10px; }
.lpv_prod_feat span { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border-radius:999px; background:var(--lpv-p3); color:var(--lpv-p1); font-size:14px; font-weight:700; line-height:1.4; word-break:keep-all; }

.lpv_prod_use { padding:24px 28px; border-radius:24px; background:#fff; border:1px solid var(--lpv-p10); }
.lpv_prod_use strong { display:block; margin-bottom:10px; color:var(--lpv-p1); font-size:18px; font-weight:800; }
.lpv_prod_use p { margin:0; color:var(--lpv-p5); font-size:16px; line-height:1.8; word-break:keep-all; }
.lpv_prod_use_img_wrap {display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin: 8px 0;}
.lpv_prod_use_img {aspect-ratio: 1/1; background-color: rgb(237, 237, 237); border-radius: 8px; overflow: hidden;}
.lpv_prod_use_img img {width: 100%; height: 100%; object-fit: cover; transition: all 0.35s;}
.lpv_prod_use_img:hover img {transform: scale(1.05); transition: all 0.35s;}

.lpv_prod_cta { margin-top: 30px; padding: 26px; border-radius: 20px; background: #fff; border: 1px solid var(--lpv-p6); text-align: center; grid-column: 1/3;}
.lpv_prod_btn { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 14px 26px; border-radius: 999px; background: var(--lpv-p1); color: #fff; font-size: 16px; font-weight: 700; text-decoration: none; transition: all .25s ease;}
.lpv_prod_meta { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.lpv_prod_meta span { font-size: 14px; color: var(--lpv-p5); }
.lpv_prod_meta strong { color: var(--lpv-p1); margin-right: 4px; }

.lpv_install { margin-top: 100px; padding: 60px; border-radius: 32px; background: linear-gradient(135deg, #fbf9fe 0%, #f2ebfa 100%); border: 1px solid var(--lpv-p6); }
.lpv_install_wrap { display: flex; flex-direction: column; gap: 30px; }
.lpv_install_table_wrap { overflow-x: auto; }
.lpv_install_table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 20px; overflow: hidden; border: 1px solid var(--lpv-p10); }
.lpv_install_table thead { background: var(--lpv-p3); }
.lpv_install_table th { padding: 16px; font-size: 15px; color: var(--lpv-p1); font-weight: 800; border-bottom: 1px solid var(--lpv-p6); }
.lpv_install_table td { padding: 16px; font-size: 14px; color: var(--lpv-p5); text-align: center; border-bottom: 1px solid var(--lpv-p8); }
.lpv_install_table tr:last-child td { border-bottom: none; }
.lpv_install_table tbody tr:hover { background: #faf7ff; }
.lpv_install_note { margin-top: 12px; font-size: 13px; color: #888; text-align: right; }
.lpv_install_cta { text-align: center; }
.lpv_install_btn { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 16px 34px; border-radius: 999px; background: var(--lpv-p1); color: #fff; font-size: 16px; font-weight: 800; text-decoration: none; transition: all .25s ease; box-shadow: 0 12px 30px rgba(115, 73, 183, 0.25); }
.lpv_install_btn:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(115, 73, 183, 0.35); }

.lpv_case { margin-top: 100px;}
.lpv_case_desc { margin: 0 0 30px; color: var(--lpv-p5); font-size: 17px; line-height: 1.8; word-break: keep-all; }
.lpv_case_summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 40px; }
.lpv_case_sumitem { padding: 24px 20px; border-radius: 20px; background: #fff; border: 1px solid var(--lpv-p10); text-align: center; }
.lpv_case_sumitem strong { display: block; margin-bottom: 8px; color: var(--lpv-p1); font-size: 18px; line-height: 1.4; font-weight: 800; }
.lpv_case_sumitem span { display: block; color: var(--lpv-p5); font-size: 14px; line-height: 1.6; }
.lpv_case_block + .lpv_case_block { margin-top: 56px; }
.lpv_case_head { margin-bottom: 22px; }
.lpv_case_head h4 { margin: 0 0 8px; color: var(--lpv-p4); font-size: 28px; line-height: 1.35; font-weight: 800; word-break: keep-all; }
.lpv_case_head p { margin: 0; color: var(--lpv-p5); font-size: 15px; line-height: 1.7; }
.lpv_case_grid { display: grid; gap: 22px; }
.lpv_case_grid.type_feedback { grid-template-columns: repeat(3, 1fr); }
.lpv_case_grid.type_clinic { grid-template-columns: repeat(2, 1fr); }
.lpv_case_grid.type_result { grid-template-columns: repeat(3, 1fr); }
.lpv_case_card { overflow: hidden; border-radius: 24px; background: #fff; border: 1px solid var(--lpv-p10); box-shadow: 0 12px 30px rgba(35, 22, 61, .05); }
.lpv_case_img { overflow: hidden; border-bottom: 1px solid var(--lpv-p10); background: #f7f4fb; }
.lpv_case_img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.lpv_case_card:hover .lpv_case_img img { transform: scale(1.03); }
.lpv_case_grid.type_feedback .lpv_case_img { aspect-ratio: 4 / 3; }
.lpv_case_grid.type_clinic .lpv_case_img { aspect-ratio: 4 / 3; }
.lpv_case_grid.type_result .lpv_case_img { aspect-ratio: 4 / 3; }
.lpv_case_txt { padding: 24px; }
.lpv_case_txt strong { display: block; margin-bottom: 10px; color: var(--lpv-p4); font-size: 22px; line-height: 1.4; font-weight: 800; word-break: keep-all; }
.lpv_case_txt p { margin: 0; color: var(--lpv-p5); font-size: 15px; line-height: 1.8; word-break: keep-all; }

.lpv_prod_sec.is-highlight {background: linear-gradient(135deg, #f6f1ff 0%, #ffffff 100%);border: 1px solid var(--lpv-p6);box-shadow: 0 24px 60px rgba(67, 34, 130, 0.12);position: relative;overflow: hidden;}
.lpv_prod_sec.is-highlight::before {content: "";position: absolute;top: -120px;right: -120px;width: 600px;height: 600px;background: radial-gradient(circle, rgba(123,77,178,0.18) 0%, transparent 70%);z-index: 0;}
.lpv_prod_sec.is-highlight * {position: relative;z-index: 1;}
.lpv_prod_sec.is-highlight .lpv_prod_head h3 {font-size: 48px;color: var(--lpv-p1);}
.lpv_prod_sec.is-highlight .lpv_prod_label {background: var(--lpv-p1);color: #fff}
.lpv_prod_sec.is-highlight .lpv_prod_mainimg {border-radius: 30px;box-shadow: 0 20px 40px rgba(67, 34, 130, 0.15)}
.lpv_prod_sec.is-highlight .lpv_prod_subimg {opacity: 0.85;transition: all .3s ease}
.lpv_prod_sec.is-highlight .lpv_prod_subimg:hover {opacity: 1}
.lpv_prod_sec.is-highlight .lpv_prod_copy {background: #fff;border: 1px solid var(--lpv-p6);}
.lpv_prod_sec.is-highlight .lpv_spec_list li strong {color: var(--lpv-p1);}
.lpv_prod_sec.is-highlight .lpv_prod_feat span {background: var(--lpv-p1);color: #fff;}
.lpv_prod_sec.is-highlight .lpv_prod_use {background: linear-gradient(135deg, #fff 0%, #f3edff 100%);border: 1px solid var(--lpv-p6);}

@media (max-width: 1280px) {
    .lpv_product_page { padding:100px 15px; }
    .lpv_prod_title { font-size:42px; }
    .lpv_prod_body { grid-template-columns:440px 1fr; gap:30px; }
    .lpv_prod_head h3 { font-size:38px; }
    .lpv_spec_list li { grid-template-columns:120px 1fr; }
    .lpv_case_summary { grid-template-columns: repeat(2, 1fr); }
    .lpv_case_grid.type_feedback,
    .lpv_case_grid.type_result { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 991px) {
    .lpv_product_page { padding:80px 15px; }
    .lpv_prod_hd { margin-bottom:56px; }
    .lpv_prod_title { font-size:34px; }
    .lpv_prod_desc { font-size:16px; }
    .lpv_prod_sec { padding:30px; border-radius:24px; }
    .lpv_prod_body { grid-template-columns:1fr; gap:28px; }
    .lpv_prod_head h3 { font-size:34px; }
    .lpv_prod_head p { font-size:16px; }
    .lpv_prod_copy { padding:22px; border-radius:20px; }
    .lpv_prod_copy h4 { font-size:24px; }
    .lpv_prod_use { padding:22px; border-radius:20px; }
    .lpv_prod_cta {  grid-column: auto;}

    .lpv_case_head h4 { font-size: 24px; }
    .lpv_case_txt strong { font-size: 20px; }
}

@media (max-width: 768px) {
    .lpv_product_page { padding:70px 15px; }
    .lpv_prod_title { font-size:28px; }
    .lpv_prod_sec { padding:22px; border-radius:20px; margin-bottom:22px; }
    .lpv_prod_top { margin-bottom:20px; }
    .lpv_prod_head h3 { font-size:28px; }
    .lpv_prod_mainimg { border-radius:18px; }
    .lpv_prod_subgrid, .lpv_prod_subgrid.col2 { grid-template-columns:1fr; }
    .lpv_prod_subimg { border-radius:14px; }
    .lpv_prod_copy h4 { font-size:21px; }
    .lpv_spec_list li { grid-template-columns:1fr; gap:6px; padding:12px 0; }
    .lpv_spec_list li strong { font-size:15px; }
    .lpv_spec_list li span { font-size:15px; }
    .lpv_prod_feat span { width:100%; justify-content:center; text-align:center; }
    .lpv_prod_use strong { font-size:17px; }
    .lpv_prod_use p { font-size:15px; }
    .lpv_prod_use_img_wrap {grid-template-columns: repeat(4, 1fr);}
    .lpv_install { padding: 30px 20px; border-radius: 22px; }
    .lpv_install_table th,
    .lpv_install_table td { padding: 12px; font-size: 13px; }

    .lpv_case { margin-top: 70px;}
    .lpv_case_summary,
    .lpv_case_grid.type_feedback,
    .lpv_case_grid.type_clinic,
    .lpv_case_grid.type_result { grid-template-columns: 1fr; }
    .lpv_case_txt { padding: 20px; }
    .lpv_case_txt strong { font-size: 18px; }
    .lpv_case_desc { font-size: 15px; }
}
@media (max-width: 425px) {
    .lpv_prod_use_img_wrap {grid-template-columns: repeat(2, 1fr);}
    .lpv_install_table thead { display: none; }
    .lpv_install_table,
    .lpv_install_table tbody,
    .lpv_install_table tr,
    .lpv_install_table td { display: block; width: 100%; }

    .lpv_install_table { border: 0; background: transparent; }
    .lpv_install_table tbody { display: flex; flex-direction: column; gap: 14px; }

    .lpv_install_table tr { padding: 16px; border: 1px solid var(--lpv-p10); border-radius: 16px; background: #fff; overflow: hidden; }
    .lpv_install_table td { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 10px 0; text-align: left; border: 0; border-bottom: 1px solid var(--lpv-p8); font-size: 13px; line-height: 1.6; }
    .lpv_install_table td:last-child { border-bottom: 0; padding-bottom: 0; }
    .lpv_install_table td:first-child { padding-top: 0; }

    .lpv_install_table td::before { content: attr(data-label); flex: 0 0 68px; color: var(--lpv-p1); font-weight: 800; }
}

.vision_card.circle_img img {width: 100%}