/* basic.css */
html, body {
    height: 100%;
}

/* color */
:root {
    --darkblue-color: #0d2b58;
    --gray-color: #666;
    --lightgray-color: #f5f6f8;
    --darkgray-color: #222;
    --redpink-color: #c8005f;
}

body {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: -1px;
}

table, th, td, input, select, button, textarea, pre, span {
    font: inherit;
    color: inherit;
}

body, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, select, button, textarea, p, blockquote, table, th, td {
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
}

ol, ul {
    list-style: none;
}

img, fieldset {
    border: 0;
}

img {
    width: auto;
    height: auto;
    max-width: 100%;
    vertical-align: middle;
}

.image-wrap_center {
    display: flex;
    justify-content: center;
}

a {
    color: #222;
    text-decoration: none;
}

table {
    border-spacing: 0;
    border-collapse: collapse;
    border: 0;
}

th, td {
    word-break: break-all;
    word-wrap: break-word;
}

label {
    cursor: pointer;
}

button {
    cursor: pointer;
    border: 0;
    outline: none !important;
    appearance: none;
}

textarea {
    resize: none;
}

input, button, select, textarea {
    vertical-align: middle;
}

address, caption, cite, code, dfn, em, var {
    font-style: normal;
}

hr {
    clear: both;
    display: none;
}

blockquote, q {
    quotes: none;
}

abbr, acronym {
    border: 0;
}

legend, caption {
    visibility: hidden;
    overflow: hidden;
    line-height: 0;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    text-indent: -99999px;
    font-size: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
    display: block;
}

input[type="checkbox"]:focus, button:focus {
    outline: 0;
}

button:focus, button:hover, button:active, button:visited {
    outline: 0;
}

.auto:after, .clearfix:after, ol:after, ul:after, dl:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    overflow: hidden;
    clear: both;
    font-size: 0;
}

.hidden {
    position: absolute;
    visibility: hidden;
    overflow: hidden;
    height: 0;
    width: 0;
    margin: 0;
    padding: 0;
    font: 0/0 Arial;
}

.text-hidden {
    position: absolute;
    text-indent: -999999px;
}

/* Rules for sizing the icon. */
.md-18 {
    font-size: 18px;
}

.md-24 {
    font-size: 24px;
}

.md-36 {
    font-size: 36px;
}

.md-48 {
    font-size: 48px;
}

/* Rules for using icons as black on a light background. */
.material-icons.md-dark {
    color: rgba(0, 0, 0, 0.54);
}

.material-icons.md-dark.md-inactive {
    color: rgba(0, 0, 0, 0.26);
}

/* Rules for using icons as white on a dark background. */
.material-icons.md-light {
    color: rgba(255, 255, 255, 1);
}

.material-icons.md-light.md-inactive {
    color: rgba(255, 255, 255, 0.3);
}

/*검색*/
.search-item {
    display: inline-block;
    margin-bottom: 8px;
    vertical-align: middle;
}

.search-item .form-label {
    display: inline-block;
    line-height: 2.2;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 17px;
    vertical-align: middle;
}

.search-item .form-cont {
    display: inline-block;
    vertical-align: middle;
}

.input-item {
    display: inline-block;
    margin-right: 14px;
    vertical-align: middle;
}

.input-item .form-label {
    display: inline-block;
    line-height: 2.2;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 17px;
    vertical-align: middle;
}

.input-item .form-cont {
    display: inline-block;
    vertical-align: middle;
}

.input-item2 .form-label {
    display: inline-block;
    line-height: 2.2;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 17px;
    vertical-align: middle;
}

.input-item3 .form-label {
    display: inline-block;
    line-height: 2.2;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 14px;
    vertical-align: middle;
}

/* form */
.form-select-row {
    display: block;
    width: 100%;
    padding: 0.4375rem 2.25rem 0.4375rem 0.75rem;
    -moz-padding-start: calc(.75rem - 3px);
    font-size: .80rem;
    font-weight: 400;
    line-height: 1.5;
    color: #20252a;
    background-color: #fff;
    appearance: none;
}

.form-select-row option {
    font-size: 14px;
    padding: 5px 0;
}

.form-select-row::-webkit-scrollbar-thumb {
    width: 5px;
    background-color: #e0e0e0;
}

.form-select-row::-webkit-scrollbar {
    width: 5px;
    background-color: #fff;
}

.form-check-input {
    /* 크기 */
    width: 1.2em;
    height: 1.2em;

    /* 배경 */
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    /* 테두리 */
    border: 1px solid rgba(0, 0, 0, 0.25);
    border-radius: 4px; /* 둥근 테두리 원하면 조절 가능 */

    /* 체크박스 기본 스타일 제거 */
    appearance: none;
    -webkit-appearance: none;
    outline: none;

    /* 색상 출력 안정화 (인쇄 등) */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;

    /* 정렬 */
    vertical-align: middle;

    /* 마우스 효과 */
    cursor: pointer;
    transition: all 0.2s ease;
}


.form-check-input[type="checkbox"] {
    background: #fff;
}

.form-check-input[type="radio"] {
    border-radius: 50%;
    background: #fff;
}

.form-check-input:checked {
    background-color: #c8005f;
    border-color: #c8005f;
}

.form-check-input:checked[type="checkbox"] {
    background-image: url(../../images/home/bg_check.svg);
}

.form-check-label {
    margin-left: 5px;
    margin-bottom: 0 !important;
    vertical-align: middle;
}

.form-check-label2 {
    font-size: 18px;
    line-height: 50px;
    margin-left: 5px;
    margin-bottom: 0 !important;
    vertical-align: middle;
    font-weight: normal;
}

.form-check-label3 {
    font-size: 18px;
    line-height: 40px;
    margin-bottom: 0 !important;
    vertical-align: middle;
    font-weight: normal;
    margin-left: 5px;
    max-width: 100px;
    height: 40px;
    overflow: hidden;
}

.form-check-inline {
    display: inline-block;
    margin-right: 2rem;
}

.form-inline {
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
}

.form-check-line2 {
    display: inline-block;
    width: 49%;
}

.form-label {
    font-weight: 500;
}

.form_textarea {
    display: block;
    width: 100%;
    padding: 0.4375rem 0.75rem;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ddd;
    appearance: none;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    box-sizing: border-box;
}

.form-control {
    width: -webkit-fill-available;
}

/*padding*/
.pd-3px {
    padding: 3px;
}

.pd-5px {
    padding: 5px;
}

.pd-10px {
    padding: 10px;
}

.pd-20px {
    padding: 20px;
}

.pr-5px {
    padding-right: 5px;
}

.pr-10px {
    padding-right: 10px;
}

.pl-10px {
    padding-left: 10px;
}

.pl-25px {
    padding-left: 25px;
}

.pt-10px {
    padding-top: 10px;
}

.pt-30px {
    padding-top: 30px;
}

/*margin*/
.mb-5px {
    margin-bottom: 5px;
}

.mb-10px {
    margin-bottom: 10px;
}

.mb-15px {
    margin-bottom: 15px;
}

.mb-20px {
    margin-bottom: 20px;
}

.mb-30px {
    margin-bottom: 30px;
}

.mb-50px {
    margin-bottom: 50px;
}

.mb-65px {
    margin-bottom: 65px;
}

.ml-10px {
    margin-left: 10px;
}

.ml-20px {
    margin-left: 20px;
}

.mr-10px {
    margin-right: 10px;
}

.mr-20px {
    margin-right: 20px;
}

.mt-5px {
    margin-top: 5px;
}

.mt-10px {
    margin-top: 10px;
}

.mt-15px {
    margin-top: 15px;
}

.mt-30px {
    margin-top: 30px;
}

.mt-50px {
    margin-top: 50px;
}

.mt-70px {
    margin-top: 70px;
}

.mg-10px {
    margin: 10px 0;
}

.va-m {
    vertical-align: middle;
}

.float-left {
    float: left;
}

.clear {
    clear: both;
}

.overflow {
    overflow: hidden;
}

.sr-only {
    position: absolute;
    display: block;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    clip: rect(0, 0, 0, 0);
    overflow: hidden
}

.search-cont {
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
}

.form-select-2 {
    display: block;
    width: 100%;
    padding: 0.4375rem 2.25rem 0.4375rem 0.75rem;
    -moz-padding-start: calc(.75rem - 3px);
    font-size: 16px;
    font-weight: 400;
    line-height: 130%;
    background-color: #fff;
    background-image: url("../../images/home/select.svg");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    border: 0;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    appearance: none;
    outline: 0;
    min-width: 100px;
}

.form-input-1 {
    display: block;
    width: 100%;
    padding: 0.4375rem 0.75rem;
    font-size: 16px;
    font-weight: 400;
    line-height: 130%;
    background-color: #fff;
    border: 0;
    appearance: none;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    box-sizing: border-box;
    outline: 0;
    min-width: 300px;
}

.form-input-2 {
    display: block;
    width: 100%;
    padding: 14px;
    font-size: 18px;
    line-height: 18px;
    font-weight: 400;
    background-color: #fff;
    appearance: none;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    border-radius: 2px;
    outline: 0;
    border: 1px solid #ddd;
    box-sizing: border-box;
    min-width: 150px;
}

.form-input-3 {
    display: block;
    width: 100%;
    padding: 0 20px;
    height: 60px;
    font-size: 18px;
    line-height: 130%;
    font-weight: 400;
    background-color: #fff;
    appearance: none;
    outline: 0;
    border: 0;
    box-sizing: border-box;
}

.form-input-2:focus {
    border: 1px solid #e9cedb;
    box-shadow: none
}

input::placeholder {
    color: #999;
}

input:read-only {
    background: #f8f9fa;
}

.wd-150 {
    width: 150px;
}

.wd-300 {
    min-width: 300px;
}

.wd-460 {
    width: 460px;
}

.wd-70p {
    width: calc(100% - 250px);
}

.wd-100p {
    width: 100%;
}

.dp_ib {
    display: inline-block;
}

.gd_wd {
    background: url(../../images/home/i_caution.png) left 0 top 7px no-repeat;
    padding-left: 20px;
    font-size: 16px;
}

.fl_rt {
    float: right;
}

.ft-16px {
    font-size: 16px;
}

.br-1px {
    position: relative;
}

.br-1px::after {
    content: '';
    position: absolute;
    top: 18px;
    right: 0;
    width: 1px;
    height: 23px;
    background: #ddd;
}

.float-right {
    float: right;
}

.form-div-100 {
    width: 100%;
}

.bt-1px {
    border-top: 1px solid #ddd;
}

.txt_regular_b {
    font-size: 18px;
    font-weight: 500;
    color: #555;
    letter-spacing: -0.64px;
    line-height: 30px;
}

.unit_cont_ro {
    margin-bottom: 50px;
}

.page_title_box {
    margin-bottom: 45px;
}

.depth2_title {
    font-size: 26px;
    font-weight: 600;
    color: #222;
    letter-spacing: -0.64px;
    line-height: 1.1em;
    margin-bottom: 10px;
}

h3.depth2_title.title_ubar:after {
    content: " ";
    margin-bottom: 26px;
    margin-top: 10px;
}

p.txt_regular {
    margin-bottom: 20px;
}

.txt_regular, .txt_regular a {
    font-size: 18px;
    font-weight: 400;
    color: #555;
    letter-spacing: -0.64px;
    line-height: 30px;
}

ol.num_list2 > li:after, .num_list2 {
    content: " ";
    display: block;
    clear: both;
}

ol.num_list2 > li {
    position: relative;
    line-height: 30px;
    padding-bottom: 10px;
}

ol.num_list2 > li span.num, .num_list2 span.num {
    display: block;
    float: left;
    line-height: 30px;
    width: 25px;
}

ol.num_list2 > li span.txt {
    display: block;
    overflow: hidden;
    line-height: 30px;
    font-size: 18px;
}

ol.num_list2 > li:after, .num_list2 {
    content: " ";
    display: block;
    clear: both;
}

ol.num_list > li:after, .num_list {
    content: " ";
    display: block;
    clear: both;
}

ol.num_list > li {
    position: relative;
    line-height: 1.875em;
    padding-bottom: 10px;
}

ol.num_list > li span.num, .num_list span.num {
    display: block;
    float: left;
    line-height: 30px;
    width: 16px;
}

ol.num_list > li span.txt, .num_list span.txt {
    display: block;
    overflow: hidden;
    line-height: 30px;
    font-size: 18px;
}

ul.bullet_block > li, .bullet_block > .txt {
    position: relative;
    padding-left: 21px;
    line-height: 30px;
    padding-bottom: 14px;
    font-size: 16px;
}

ul.bullet_block > li:after, .bullet_block > .txt:after {
    content: " ";
    position: absolute;
    top: 13px;
    left: 0;
    display: block;
    width: 10px;
    height: 5px;
    background-color: #bba078;
}
