@charset "utf-8";

/********** 변수 **********/
:root {
    --primary:#27a1d1; /* 메인 컬러 */
    --primary2:#242c3d; /* 서브 컬러 */
    --black:#000; /* 타이틀 컬러 */

    /* White mix */
    --wm5:color-mix(in srgb, var(--primary) 5%, #fff);
    --wm10:color-mix(in srgb, var(--primary) 10%, #fff);
    --wm20:color-mix(in srgb, var(--primary) 20%, #fff);
    --wm30:color-mix(in srgb, var(--primary) 30%, #fff);
    --wm40:color-mix(in srgb, var(--primary) 40%, #fff);
    --wm50:color-mix(in srgb, var(--primary) 50%, #fff);
    --wm60:color-mix(in srgb, var(--primary) 60%, #fff);
    --wm70:color-mix(in srgb, var(--primary) 70%, #fff);
    --wm80:color-mix(in srgb, var(--primary) 80%, #fff);
    --wm90:color-mix(in srgb, var(--primary) 90%, #fff);
    --wm95:color-mix(in srgb, var(--primary) 95%, #fff);

    /* Black mix */
    --bm5:color-mix(in srgb, var(--primary) 5%, #000);
    --bm10:color-mix(in srgb, var(--primary) 10%, #000);
    --bm20:color-mix(in srgb, var(--primary) 20%, #000);
    --bm30:color-mix(in srgb, var(--primary) 30%, #000);
    --bm40:color-mix(in srgb, var(--primary) 40%, #000);
    --bm50:color-mix(in srgb, var(--primary) 50%, #000);
    --bm60:color-mix(in srgb, var(--primary) 60%, #000);
    --bm70:color-mix(in srgb, var(--primary) 70%, #000);
    --bm80:color-mix(in srgb, var(--primary) 80%, #000);
    --bm90:color-mix(in srgb, var(--primary) 90%, #000);
    --bm95:color-mix(in srgb, var(--primary) 95%, #000);
}

/********** skip_nav **********/
.skip_nav {display:block;overflow:hidden;position:absolute;left:0;right:0;top:0;z-index:1000;height:0;background:#000;text-align:center;}
.skip_nav:focus {overflow:auto;height:auto;padding:5px 0;color:#fff;}


/********** 숨김 **********/
.hide {overflow:hidden;position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);}


/********** 말줄임(사용시 클래스가 맨앞에 위치해야함) **********/
[class^="ellipsis"] {display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
.ellipsis1 {-webkit-line-clamp:1;}/* 1줄 */
.ellipsis2 {-webkit-line-clamp:2;}/* 2줄 */
.ellipsis3 {-webkit-line-clamp:3;}/* 3줄 */
.ellipsis4 {-webkit-line-clamp:4;}/* 4줄 */


/********** 타이틀 **********/
.h4 {font-size:6rem;font-weight:800;color:#222;line-height:1.4;margin:0.8rem 0 0.4rem;}
.h5 {font-size:4.2rem;font-weight:700;color:var(--primary);line-height:1;margin-bottom:2rem;text-align:center;}
.h6 {position:relative;padding-left:1.4rem;font-size:2rem;font-weight:500;color:#444;line-height:1.6;margin:0.8rem 0 0.4rem;}
.h6::before {content:'';position:absolute;left:0;top:0.6rem;width:0.4rem;height:2rem;background-color:var(--primary2);border-radius:0.2rem;}


/********** 리스트(사용시 클래스가 맨앞에 위치해야함) **********/
[class^="list"] > li {position:relative;padding-left:1rem;margin-top:.5rem;}
[class^="list"] > li:first-child {margin-top:0;}
[class^="list"] > li:after {content:"";position:absolute;left:0;top:1.1rem;}
/* 리스트_1 */
.list1 > li {font-weight:500;font-size:1.8rem;color:#222;}
.list1 > li:after {width:4px;height:4px;background:var(--primary);border-radius:50%;}
/* 리스트_2 */
.list2 > li {padding-left:1rem;margin-top:5px;background:url("/images/fs/common/sh_dot1.gif") no-repeat 0 .8rem;color:#444;}
/* 리스트_3 */
.list3 > li {color:#666;}
.list3 > li:after {width:3px;height:1px;background:#666;}
/* 리스트_강조 */
.list_point > li {padding-left:2rem;font-weight:500;color:var(--primary);}
.list_point > li::after {content:"";position:absolute;left:.5rem;top:.9rem;width:.5rem;height:.5rem;background:var(--primary);border-radius:1px;transform:rotate(45deg);}
/* 리스트_순서 */
.list_ol {counter-reset:list-number;}
.list_ol > li {position:relative;padding:3rem 0 3rem 5rem;font-size:1.8rem;border-bottom:1px solid #ddd;}
.list_ol > li::before {counter-increment:list-number;content:counter(list-number);position:absolute;left:0;top:2.25rem;width:4rem;height:4rem;line-height:1;border-radius:50%;background:var(--primary);font-weight:600;font-size:2rem;text-align:center;color:#fff;display:flex;justify-content:center;align-items:center;}
    @media only screen and (max-width:1023px){
        /* 리스트_강조 */
        .list_point > li::after {top:.8rem;}
    }


/********** 폰트색상 **********/
.cr_red {color:#d32f2f;}
.cr_blue {color:#0091ea;}
.cr_green {color:#4caf50;}
.cr_yellow {color:#f9a825;}
.cr_gray {color:#9e9e9e;}


/********** 테이블 **********/
.overflow_box {}
.overflow_box .iconlr {display:none;}
.tableA {width:100%;border-bottom:1px solid #ddd;border-top:2px solid var(--primary);word-break:keep-all;}
.tableA thead th {padding:1.5rem 2rem;background:var(--wm20);border-left:1px solid #ddd;border-bottom:1px solid #ddd;font-weight:600;}
.tableA thead th em {line-height:3.5rem;}
.tableA thead th:first-child {border-left:0;}
.tableA tfoot th {padding:1.5rem 2rem;background:var(--wm10);border-top:1px solid #ddd;font-weight:600;}
.tableA tfoot td {padding:1.5rem 2rem;border-left:1px solid #ddd;border-top:1px solid #fff;background:#f7faf5;font-weight:600;}
.tableA tbody th {padding:1.5rem 2rem;border-left:1px solid #ddd;border-bottom:1px solid #ddd;background:var(--wm10);vertical-align:middle;font-weight:600;}
.tableA tbody td {padding:1.5rem 2rem;border-left:1px solid #ddd;border-bottom:1px solid #ddd;}
.tableA tbody tr th:first-child, .tableA tbody tr td:first-child {border-left:0;}
.tableA tbody tr:last-child th, .tableA tbody tr:last-child td {border-bottom:0;}
.tableA tbody tr th.bd_none,.tableA tbody tr td.bd_none,
.tableA thead tr th.bd_none,.tableA thead tr td.bd_none,
.tableA tfoot tr th.bd_none,.tableA tfoot tr td.bd_none {border-left:0;}
.tableA tbody tr th.bd_left,.tableA tbody tr td.bd_left,
.tableA thead tr th.bd_left,.tableA thead tr td.bd_left {border-left:1px solid #ddd;}
.tableA tbody tr th.bd_b_none,.tableA tbody tr td.bd_b_none,
.tableA thead tr th.bd_b_none,.tableA thead tr td.bd_b_none {border-bottom:0;}
@media only screen and (max-width:1023px){
    .tableA thead th {padding:1rem 1.5rem;}
    .tableA tfoot th {padding:1rem 1.5rem;}
    .tableA tfoot td {padding:1rem 1.5rem;}
    .tableA tbody th {padding:1rem 1.5rem;}
    .tableA tbody td {padding:1rem 1.5rem;}
}
@media only screen and (max-width:767px){
    .overflow_box .iconlr {display:flex;justify-content:center;align-items:center;margin-top:10px;color:var(--primary);}
    .overflow_box .table_box {overflow-x:auto;overflow-y:hidden;}
    .overflow_box .table_box table {width:clamp(0px, 800px, 1023px);border-top:2px solid var(--primary);}
    .tableA {word-break:break-all;}
    .tableA thead th,
    .tableA tfoot th,
    .tableA tfoot td,
    .tableA tbody th,
    .tableA tbody td {padding:10px 10px;}

    /* 세로 반응형테이블 */
    .responsive .tableA {margin-top:10px;}
    .responsive .tableA, .responsive .tableA thead, .responsive .tableA tbody, .responsive .tableA th, .responsive .tableA td, .responsive .tableA tr {display:block;}
    .responsive .tableA thead tr {position:absolute;top:-9999px;left:-9999px;}
    .responsive .tableA tbody tr {display:flex;flex-wrap:wrap;}
    .responsive .tableA tbody tr:after {content:"."; display:block; clear:both; visibility:hidden; height:0;}
    .responsive .tableA tbody tr:first-child td:first-child {border:none;}
    .responsive .tableA tbody th {width:30%;padding:10px 3%;border:none;text-align:left;vertical-align:middle;}
    .responsive .tableA tbody td {position:relative;white-space:normal;width:70%;padding:10px 3%;border:none;background-color:transparent;text-align:left;box-sizing:border-box;}
    .responsive .tableA tbody tr:first-child td, .responsive .tableA tbody tr:first-child th {border-top:none;}
    .responsive .tableA tbody th, .responsive .tableA tbody td {border-bottom:1px solid #ddd;}
    .responsive .tableA td:before {content:attr(data-title);position:absolute;top:6px;left:10px;width:100px;padding-right:10px;font-weight:500;white-space:nowrap;}
    .responsive .tableA > tbody > th:before, .responsive .tableA > tbody td:before {content:attr(data-content); display:inline;}
}


/********** 폼박스(테이블형) **********/
.table_form {width:100%;border-bottom:1px solid #ddd;border-top:2px solid var(--primary);}
.table_form tbody th {padding:1.5rem 2rem;border-left:1px solid #ddd;border-bottom:1px solid #ddd;background:var(--wm10);vertical-align:middle;font-weight:600;}
.table_form tbody td {padding:1.5rem 2rem;border-left:1px solid #ddd;border-bottom:1px solid #ddd;}
.table_form tbody tr th:first-child, .table_form tbody tr td:first-child {border-left:0;}
.table_form tbody tr:last-child th, .table_form tbody tr:last-child td {border-bottom:0;}
.table_form tbody tr th.bd_none,.table_form tbody tr td.bd_none {border-left:0;}
.table_form tbody tr th.bd_left,.table_form tbody tr td.bd_left {border-left:1px solid #ddd;}
.table_form .btn_bace {height:4.5rem;line-height:4.5rem;padding:.2rem 3rem 0;}
.table_form .btn_bace.on {background:var(--primary);border:1px solid var(--primary);color:#fff;}
.table_form .flex {display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;}
.table_form .flex .checks {width:25%;margin:10px 0;}
.table_form .flex .checks.etc_input {display:flex;align-items:center;}
.table_form .flex .checks.etc_input input[type="text"] {flex-grow:1;margin-left:5px;}
.table_form .email_box {flex-wrap:nowrap;}
.table_form .hp_box {flex-wrap:nowrap;}
    @media only screen and (max-width:1499px){
        .table_form tbody tr td .si_ex select {width:100%;margin-right:0;}
        .table_form tbody tr td .si_ex input {width:100%;margin-top:10px;}
    }
    @media only screen and (max-width:1199px){
        .table_form .flex .checks {width:33.3%;}
        .table_form .email_box {flex-wrap:wrap;}
        .table_form .email_box select,
        .table_form .email_box input {width:100%;}
    }
    @media only screen and (max-width:1023px){
        .table_form colgroup {display:none;}
        .table_form tbody tr:last-child th {border-bottom:1px solid #ddd;}
        .table_form tbody th {display:block;padding:10px 10px;border-left:0;text-align:left;}
        .table_form tbody td {display:block;padding:10px 10px;border-left:0;}
        .table_form .flex .checks {width:100%;}
        .table_form .email_box {flex-wrap:nowrap;}
    }
    @media only screen and (max-width:398px){
        .table_form .email_box {flex-wrap:wrap;}
    }

    /* 반응형테이블 */
    @media only screen and (max-width:1023px){
        table.responsive {margin-top:10px;overflow:hidden;}
        table.responsive, table.responsive thead, table.responsive tbody, table.responsive th, table.responsive td, table.responsive tr {display:block;margin-bottom:0;}
        table.responsive thead tr {position:absolute;top:-9999px;left:-9999px;}
        table.responsive tbody tr:nth-child(odd) {background:#f8f8f8;}
        table.responsive tbody tr td {position:relative;padding-left:115px;white-space:normal;width:100%;min-height:27px;border-left:0 !important;font-size:1.5rem;}
        table.responsive tbody tr td br {display:none;}
        table.responsive tbody tr:first-child td:first-child {border:none;}
        table.responsive {border-top:2px solid #000;}
        table.responsive td:before {content:attr(data-title);position:absolute;top:3px;left:0;width:130px;padding-right:10px;font-weight:500;white-space:nowrap;word-break:break-all;font-size:1.5rem;}
        table.responsive td:after {content:"";position:absolute;top:6px;left:100px;width:1px;height:10px;background-color:#dedede;}
        table.responsive tbody tr {padding:2rem 2rem;}
        table.responsive tbody tr:after {content:"."; display:block; clear:both; visibility:hidden; height:0;}
        table.responsive tbody td {display:block; padding:2px 3%; border:none; background-color:transparent; text-align:left; box-sizing:border-box;}
        table.responsive tbody th {display:block; padding:2px 3%; border:none; background-color:transparent; text-align:left; vertical-align:middle; }
        table.responsive tbody tr:first-child td, table.responsive tbody tr:first-child th {border-top:none;}
        table.responsive > tbody > th:before, table.responsive > tbody td:before {content:attr(data-content)''; display:inline;font-weight:700;}
        table.responsive .pdf img {width:18px;}
    }

/* 달력 */
.datepic_box {display:inline-flex;align-items:center;max-width:70%;}
.datepic_box input {margin-right:6px;min-width:auto;}
.datepic_box span.at {margin:0 5px;}
.datepic_box .datepic_icon span {display:grid;place-items:center;width:4.5rem;height:4.5rem;border:1px solid #ddd;border-radius:1rem;cursor:pointer;background:#fff;}
    @media only screen and (max-width:575px){
        .datepic_box input {max-width:15rem;}
    }


/********** 버튼 **********/
button {background:transparent;}
/* 기본 */
.btn_bace {display:inline-flex;align-items:center;gap:.5rem;height:4rem;padding:0 3rem;background:var(--primary);text-align:center;color:#fff;cursor:pointer;border-radius:3rem;font-weight:500;font-size:1.8rem;}
.btn_bace:is(:hover,:focus:active) {background:var(--bm50);color:#fff;text-decoration:none;}
.btn_bace i {line-height:1;}
    @media only screen and (max-width:767px){
        .btn_bace {padding:0 2rem;}
    }

/* 선버튼 */
.btn_line {background:#fff;border:1px solid var(--primary);color:var(--primary);text-align:center;}
.btn_line:is(:hover,:focus:active) {border-color:var(--bm50);}

/* 크기버튼 */
.btn_bace.big, .btn_line.big {height:5rem;}
.btn_bace.small, .btn_line.small {height:3rem;font-size:1.6rem;}

/* 버튼영역 */
.btn_area {display:flex;justify-content:center;align-items:center;gap:.5rem;}
    @media only screen and (max-width:560px){
        .btn_area {flex-direction:column;}
    }


/********** 체크버튼(라디오, 체크) **********/
.checks {position:relative;display:flex;flex-wrap:wrap;gap:1.5rem;}
.checks input {overflow:hidden;position:absolute;width:1px;height:1px;padding:0;margin-left:1px;clip:rect(0,0,0,0);border:0;}
.checks input + label {display:inline-block;position:relative;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;cursor:pointer;}
.checks input:is(:hover,:focus,:active) + label:before {outline:1px dotted #000;}
.checks input:disabled:is(:hover,:focus,:active) + label:before {outline:0;}
.checks input[type="radio"] + label {padding-left:30px;}
.checks input[type="radio"] + label:before {content:'';position:absolute;left:1px;top:0;width:22px;height:22px;background:#fff;border:1px solid #ddd;border-radius:100%;text-align:center;}
.checks input[type="radio"]:checked + label:after {content:'';position:absolute;top:4px;left:5px;width:14px;height:14px;background:var(--primary);border-radius:100%;}
.checks input[type="radio"]:checked + label:before {border:1px solid var(--primary);}
.checks input[type="radio"]:disabled + label:before {background:#eee;}
.checks input[type="checkbox"] + label:before {content:'';display:inline-block;width:22px;height:22px;margin:0 .8rem 0 0;border:1px solid #ddd;border-radius:3px;text-align:center;vertical-align:middle;background:#fff;}
.checks input[type="checkbox"]:checked + label:before {content:'';text-shadow:1px 1px #fff;background:url("../../images/fs/common/check.png") no-repeat center var(--primary);border:0;font-size:14px;}
.checks input[type="checkbox"]:disabled + label:before {background:#eee;}


/********** 인풋스타일 **********/
input[type="text"],input[type="password"],input[type="email"],input[type="tel"],input[type="search"],input[type="url"],input[type="file"],input[type="date"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="time"],input[type="number"], select {height:4.5rem;padding:0 2rem;border:1px solid #ddd;background:#fff;font-size:1.6rem;border-radius:1rem;}
input[type="date"]{position:relative;}
input[type="date"]::-webkit-clear-button,
input[type="date"]::-webkit-inner-spin-button {display:none;}
input[type="date"]::-webkit-calendar-picker-indicator {position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background:transparent;z-index:1;cursor:pointer;}
input[type="date"]:after {content:'';position:absolute;top:50%;right:20px;z-index:0;width:17px;height:15px;background:#fff;margin-top:-9px;}
input:focus,select:focus,textarea:focus {border:1px solid var(--primary);}
input:disabled,input[readonly],select:disabled,select[readonly],textarea:disabled,textarea[readonly] {background:#f2f2f2;}
input::placeholder {color:#666;}
input.error {border-color:#de3412;}
p.error_txt {font-size:1.5rem;color:#de3412;margin-top:.5rem;text-indent:2rem;}
select {padding:0 6rem 0 2rem;background:url("../../images/fs/common/arrow_down.svg") no-repeat right 10px center #fff;cursor:pointer;}
textarea {width:100%;padding:1.5rem;border:1px solid #ddd;background:#fff;font-size:1.6rem;border-radius:1rem;resize:none;min-height:5rem;}
textarea.resize {resize:vertical;}
button {vertical-align:middle;}


/********** 가로값 **********/
.wh100p {width:100%;}
.wh99p {width:99%;}
.wh70p {width:70%;}
.wh50p {width:50%;}
.wh45p {width:45%;}
.wh40p {width:40%;}
.wh30p {width:30%;}
.wh200 {width:20rem;}
.wh70 {width:7rem;}
@media only screen and (max-width:767px){
    .wh99p,
    .wh70p,
    .wh50p,
    .wh45p,
    .wh40p,
    .wh30p {width:100%;}
    .wh200 {width:100%;}
}


/********** 정렬 **********/
.ta-l {text-align:left;}
.ta-c {text-align:center;}
.ta-r {text-align:right;}
.vt-t {vertical-align:top;}
.vt-c {vertical-align:middle;}
.vt-b {vertical-align:bottom;}


/********** 전역클래스 **********/
.ft-l {float:left;}
.ft-r {float:right;}
.block {display:block;}
.inblock {display:inline-block;}
.overflow {overflow:hidden;}
.clear:after {content:"";display:block;clear:both;}
.flex {display:flex;}


/********** 참고텍스트(사용시 클래스가 맨앞에 위치해야함) **********/
[class^="point"] {display:block;padding-left:22px;font-size:1.7rem;}
/* 느낌표_흰배경파란 */
.point1 {background:url("../../images/fs/common/ico_caution1.png") no-repeat 0 .4rem;color:var(--primary);}
/* 느낌표_흰배경빨강 */
.point2 {background:url("../../images/fs/common/ico_caution2.png") no-repeat 1px .6rem;}
/* 느낌표_빨강배경흰색 */
.point3 {background:url("../../images/fs/common/ico_caution3.png") no-repeat 1px .6rem;}
    @media only screen and (max-width:1023px){
        /* 느낌표_흰배경빨강 */
        .point2 {background-position:1px .4rem;}
        /* 느낌표_빨강배경흰색 */
        .point3 {background-position:1px .4rem;}
    }
    @media only screen and (max-width:767px){
        /* 느낌표_흰배경파란 */
        .point1 {background-position:0;}
        /* 느낌표_흰배경빨강 */
        .point2 {background-position:1px .2rem;}
        /* 느낌표_빨강배경흰색 */
        .point3 {background-position:1px .2rem;}
    }


/********** 가장자리_외부(margin) **********/
/* 위 */
.mt5 {margin-top:.5rem;}
.mt10 {margin-top:1rem;}.mt15 {margin-top:1.5rem;}
.mt20 {margin-top:2rem;}.mt25 {margin-top:2.5rem;}
.mt30 {margin-top:3rem;}.mt35 {margin-top:3.5rem;}
.mt40 {margin-top:4rem;}.mt45 {margin-top:4.5rem;}
.mt50 {margin-top:5rem;}.mt55 {margin-top:5.5rem;}
.mt60 {margin-top:6rem;}.mt65 {margin-top:6.5rem;}
.mt70 {margin-top:7rem;}.mt75 {margin-top:7.5rem;}
.mt80 {margin-top:8rem;}
/* 우측 */
.mr5 {margin-right:.5rem;}
.mr10 {margin-right:1rem;}
/* 좌측 */
.ml5 {margin-left:.5rem;}
.ml10 {margin-left:1rem;}


/********** 색상 Alpha(color-mix) **********/
/* White Mix */
.bg_wm5 {background-color:var(--wm5);}
.bg_wm10 {background-color:var(--wm10);}
.bg_wm20 {background-color:var(--wm20);}
.bg_wm30 {background-color:var(--wm30);}
.bg_wm40 {background-color:var(--wm40);}
.bg_wm50 {background-color:var(--wm50);}
.bg_wm60 {background-color:var(--wm60);}
.bg_wm70 {background-color:var(--wm70);}
.bg_wm80 {background-color:var(--wm80);}
.bg_wm90 {background-color:var(--wm90);}
.bg_wm95 {background-color:var(--wm95);}

/* Black Mix */
.bg_bm5 {background-color:var(--bm5);}
.bg_bm10 {background-color:var(--bm10);}
.bg_bm20 {background-color:var(--bm20);}
.bg_bm30 {background-color:var(--bm30);}
.bg_bm40 {background-color:var(--bm40);}
.bg_bm50 {background-color:var(--bm50);}
.bg_bm60 {background-color:var(--bm60);}
.bg_bm70 {background-color:var(--bm70);}
.bg_bm80 {background-color:var(--bm80);}
.bg_bm90 {background-color:var(--bm90);}
.bg_bm95 {background-color:var(--bm95);}


/********** 컨텐츠 상단박스 **********/
.icon_box {background:var(--wm10);border-radius:1rem;padding:3rem 5rem;margin-bottom:4rem;display:flex;align-items:center;gap:3.2rem;}
.icon_box .info_icon {display:inline-flex;justify-content:center;align-items:center;width:8rem;height:8rem;border-radius:50%;background:var(--primary);}
.icon_box .info_icon i {font-weight:700;font-size:4rem;color:#fff;}
.icon_box .text {width:calc(100% - 8rem);word-break:keep-all;}
    @media screen and (max-width:767px) {
        .icon_box {padding:2rem 3rem;}
        .icon_box .icon .info_icon {display:none;}
        .icon_box .text {width:100%;padding-left:0;}
        .info_box {padding:3rem;}
    }