﻿@charset "utf-8";


/*---------- fonts ----------*/
@font-face {
    font-family: 's-core-dream';
    src: url(../fonts/scdream3-webfont.woff2) format('woff2'), url(../fonts/scdream3-webfont.woff) format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 's-core-dream';
    src: url(../fonts/scdream4-webfont.woff2) format('woff2'), url(../fonts/scdream4-webfont.woff) format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 's-core-dream';
    src: url(../fonts/scdream5-webfont.woff2) format('woff2'), url(../fonts/scdream5-webfont.woff) format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 's-core-dream';
    src: url(../fonts/scdream6-webfont.woff2) format('woff2'), url(../fonts/scdream6-webfont.woff) format('woff');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 's-core-dream';
    src: url(../fonts/scdream7-webfont.woff2) format('woff2'), url(../fonts/scdream7-webfont.woff) format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 's-core-dream';
    src: url(../fonts/scdream8-webfont.woff2) format('woff2'), url(../fonts/scdream8-webfont.woff) format('woff');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard';
    src: local('Pretendard ExtraBold'), url(../fonts/Pretendard-ExtraBold.woff2) format('woff2'), url(../fonts/Pretendard-ExtraBold.woff) format('woff');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard';
    src: local('Pretendard Bold'), url(../fonts/Pretendard-Bold.woff2) format('woff2'), url(../fonts/Pretendard-Bold.woff) format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard';
    src: local('Pretendard SemiBold'), url(../fonts/Pretendard-SemiBold.woff2) format('woff2'), url(../fonts/Pretendard-SemiBold.woff) format('woff');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard';
    src: local('Pretendard Medium'), url(../fonts/Pretendard-Medium.woff2) format('woff2'), url(../fonts/Pretendard-Medium.woff) format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard';
    src: local('Pretendard Regular'), url(../fonts/Pretendard-Regular.woff2) format('woff2'), url(../fonts/Pretendard-Regular.woff) format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard';
    src: local('Pretendard Light'), url(../fonts/Pretendard-Light.woff2) format('woff2'), url(../fonts/Pretendard-Light.woff) format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard';
    src: local('Pretendard Thin'), url(../fonts/Pretendard-Thin.woff2) format('woff2'), url(../fonts/Pretendard-Thin.woff) format('woff');
    font-weight: 200;
    font-style: normal;

}

/*---------- reset ----------*/
/* basic */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    box-sizing: border-box;
    font-variant-numeric: tabular-nums;
}

input, select, textarea {
    margin: 0;
    padding: 0 .5rem;
    font-size: .9rem;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    color: var(--gray);
    vertical-align: middle;
}

input::placeholder {
    color: #ccc;
    font-weight: 300;
}

textarea {
    resize: none;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

/* arrow none */
strong {
    font-weight: 600;
}

/* input, select */
input[type=checkbox] {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: middle;
    /*margin-right: .3em;*/
    background: #fff;
    border: 1px solid #aaa;
    /*margin-top: -.2em;*/
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 1em;
    padding: 0;
    border-radius: .2em;
    overflow: hidden;
}

input[type=checkbox]:checked {
    border: 1px solid var(--blue);
}

input[type=checkbox]:checked::before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background: url(../images/ico_checkbox.png) no-repeat center var(--blue);
    background-size: .8em;
}

input[type=radio] {
    width: 1em;
    height: 1em;
    border: 1px solid #ccc;
    border-radius: 1em;
    vertical-align: middle;
    background: #fff;
    /*margin-right: .3em;*/
    /*margin-top: -.2em;*/
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    font-size: 1em;
}

input[type=radio]::after {
    content: '';
    border: 2px solid #fff;
    background: #ccc;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border-radius: 1em;
}

input[type=radio]:checked {
    border: 1px solid var(--blue);
}

input[type=radio]:checked::after {
    content: '';
    border: 2px solid #fff;
    background: var(--blue);
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border-radius: 1em;
}
input[type=radio]#privacyAgreeN:checked {
    border: 1px solid var(--red);
}
input[type=radio]#privacyAgreeN:checked::after {
    background: var(--red);
}


/* 기본 select 상태 */
select {
    border: 1px solid #b9c3dd;
    border-radius: .3em;
    height: 2.2em;
    line-height: 2.2em;
    background: url(../images/ico_select_arrow.png) no-repeat calc(100% - .5rem) 50% #ffffff;
    box-sizing: border-box;
    vertical-align: middle;
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    font-size: 1em;
    color: #334155;
    padding: 0 1.5em 0 0.5em;
}

/* 비활성화 select 상태 */
select:disabled, select[readonly], .select_readonly {
    /*background-color: #f1f5f9 !important;*/
    /*border: 1px solid #e2e8f0 !important;*/
    /*color: #94a3b8 !important;*/
    /*cursor: default;*/
    /*pointer-events: none;*/
    /*background-image: url(../images/ico_select_arrow.png) !important;*/
}

select::-ms-expand {
    display: none;
}

select.placeholder {
    color: #ddd;
}

input[type=text], input[type=password] {
    /*border: 1px solid #b9c3dd;*/
    /*background: #ffffff;*/
    /*border-radius: .3em;*/
    /*height: 2.2em;*/
    /*line-height: 2.2em;*/
    /*width: 12em;*/
    font-size: 1em;
    /*color: #334155;*/
    /*padding: 0 0.5em;*/
    transition: border-color 0.2s;
}

input[type=text]:focus, input[type=password]:focus {
    border: 1px solid #1d89cb;
    outline: none;
}

input[readonly], input[readonly="readonly"],
textarea[readonly], textarea[readonly="readonly"], .readonly,
input:disabled, textarea:disabled, select:disabled {
    background-color: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    color: #94a3b8 !important;
    pointer-events: none;
    cursor: default;
}

/* file custom */
.filebox {
    display: flex;
    flex-wrap: wrap;
}

.filebox .upload-name {
    display: inline-block;
    height: 40px;
    padding: 0 10px;
    vertical-align: middle;
    border: 0;
    background-color: #f6f6f6;
    color: #999;
    flex: 1;
    border-radius: .25rem;
}

.filebox label {
    display: inline-block;
    padding: 0;
    color: #fff;
    vertical-align: middle;
    background-color: #999;
    border-radius: .25rem;
    cursor: pointer;
    width: 100px;
    text-align: center;
    height: 40px;
    line-height: 40px;
    margin-left: 10px;
}

.filebox input[type="file"] {
    position: absolute;
    width: 0;
    height: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

i, em {
    font-style: normal;
}

blockquote, q {
    quotes: none;
}

sub {
    vertical-align: sub;
    font-size: smaller;
    line-height: 0;
    color: var(--red);
}

sup {
    vertical-align: super;
    font-size: smaller;
    line-height: 0;
    color: var(--red);
}

img, fieldset {
    vertical-align: middle;
}

a {
    color: inherit;
    vertical-align: inherit;
    text-decoration: none;
}

a:link, a:hover {
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
    color: inherit;
    font-weight: inherit;
    font-size: inherit;
}

ol, ul, li {
    list-style: none;
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    word-break: normal;
}

th, td {
    text-align: center;
    vertical-align: middle;
}

caption, legend {
    width: 1px;
    height: 1px;
    margin: -1px 0 0 0;
    padding: 0;
    border: 0;
    overflow: hidden;
    font-size: 0;
    color: transparent;
    line-height: 0;
}

fieldset, legend {
    border: 0;
    background-color: transparent;
}

hr {
    height: 0;
    border: 0;
    background-color: transparent;
}

button {
    display: inline-block;
    border: 0;
    background-color: transparent;
    font-size: inherit;
    text-align: center;
    cursor: pointer;
    overflow: visible;
}

[role="button"], [role="submit"] {
    cursor: pointer !important;
}

a {
    cursor: pointer;
}

a[href^=tel] {
    cursor: text;
    pointer-events: none;
}

a[href^=tel]:hover {
    color: currentColor;
    text-decoration: none;
}

html, body {
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: var(--fonttype-2);
    font-size: 16px;
}

body {
    min-height: 100vh;
    color: #111;
    font-weight: 400;
}

html.ov_hidden,
body.ov_hidden {
    overflow: hidden;
}


* {
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
}

/**, :after, :before {*/
/*    box-sizing: border-box;*/
/*    flex-shrink: 0;*/
/*}*/

*:focus-visible {
    outline: 2px solid #000;
}

*:focus:not(:focus-visible) {
    outline: none;
}

/* chrome blue line */
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px #fff inset;
    -webkit-text-fill-color: #000;
}

input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active {
    transition: background-color 600000s ease-in-out 0s, color 600000s 0s;
}

html {
    scroll-behavior: smooth;
}

/* 클릭시 부드럽게 스크롤 */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

html {
    min-width: 320px;
}

/* width */
.w50 {
    width: 50px !important;
}

.w55 {
    width: 55px !important;
}

.w60 {
    width: 60px !important;
}

.w65 {
    width: 65px !important;
}

.w70 {
    width: 70px !important;
}

.w75 {
    width: 75px !important;
}

.w80 {
    width: 80px !important;
}

.w85 {
    width: 85px !important;
}

.w90 {
    width: 90px !important;
}

.w95 {
    width: 95px !important;
}

.w100 {
    width: 100px !important;
}

.w150 {
    width: 150px !important;
}

.w200 {
    width: 200px !important;
}

.w250 {
    width: 250px !important;
}

.w300 {
    width: 300px !important;
}

.w350 {
    width: 350px !important;
}

.w400 {
    width: 400px !important;
}

.w450 {
    width: 450px !important;
}

.w500 {
    width: 500px !important;
}

/* width(%) */
.w10p {
    width: 10% !important;
}

.w15p {
    width: 15% !important;
}

.w20p {
    width: 20% !important;
}

.w25p {
    width: 25% !important;
}

.w30p {
    width: 30% !important;
}

.w35p {
    width: 35% !important;
}

.w40p {
    width: 40% !important;
}

.w43p {
    width: 43% !important;
}

.w45p {
    width: 45% !important;
}

.w48p {
    width: 48% !important;
}

.w50p {
    width: 50% !important;
}

.w55p {
    width: 55% !important;
}

.w60p {
    width: 60% !important;
}

.w65p {
    width: 65% !important;
}

.w70p {
    width: 70% !important;
}

.w75p {
    width: 75% !important;
}

.w80p {
    width: 80% !important;
}

.w85p {
    width: 85% !important;
}

.w90p {
    width: 90% !important;
}

.w95p {
    width: 95% !important;
}

.w100p {
    width: 100% !important;
}

/* height */
.h10 {
    height: 10px !important;
}

.h20 {
    height: 20px !important;
}

.h30 {
    height: 30px !important;
}

.h40 {
    height: 40px !important;
}

.h50 {
    height: 50px !important;
}

.h60 {
    height: 60px !important;
}

.h70 {
    height: 70px !important;
}

.h80 {
    height: 80px !important;
}

.h90 {
    height: 90px !important;
}

.h100 {
    height: 100px !important;
}

.h120 {
    height: 120px !important;
}

.h200 {
    height: 200px !important;
}

.h300 {
    height: 300px !important;
}

.h400 {
    height: 400px !important;
}

.h500 {
    height: 500px !important;
}

.h100p {
    height: 100% !important;
}

.hauto {
    height: auto !important
}

/* margin */
.m0 {
    margin: 0 !important;
}

.m5 {
    margin: 5px !important;
}

.m10 {
    margin: 10px !important;
}

.m15 {
    margin: 15px !important;
}

.m20 {
    margin: 20px !important;
}

.m25 {
    margin: 25px !important;
}

.m30 {
    margin: 30px !important;
}

.m35 {
    margin: 35px !important;
}

.m40 {
    margin: 40px !important;
}

.m45 {
    margin: 45px !important;
}

.m50 {
    margin: 50px !important;
}

.m55 {
    margin: 55px !important;
}

.m60 {
    margin: 60px !important;
}

.mt0 {
    margin-top: 0 !important;
}

.mt5 {
    margin-top: 5px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt15 {
    margin-top: 15px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt25 {
    margin-top: 25px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt35 {
    margin-top: 35px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mt45 {
    margin-top: 45px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mt55 {
    margin-top: 55px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb35 {
    margin-bottom: 35px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb45 {
    margin-bottom: 45px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb55 {
    margin-bottom: 55px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.ml0 {
    margin-left: 0 !important;
}

.ml5 {
    margin-left: 5px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.ml15 {
    margin-left: 15px !important;
}

.ml20 {
    margin-left: 20px !important;
}

.ml25 {
    margin-left: 25px !important;
}

.ml30 {
    margin-left: 30px !important;
}

.ml35 {
    margin-left: 35px !important;
}

.ml40 {
    margin-left: 40px !important;
}

.ml45 {
    margin-left: 45px !important;
}

.ml50 {
    margin-left: 50px !important;
}

.ml55 {
    margin-left: 55px !important;
}

.ml60 {
    margin-left: 60px !important;
}

.mr0 {
    margin-right: 0 !important;
}

.mr5 {
    margin-right: 5px !important;
}

.mr10 {
    margin-right: 10px !important;
}

.mr15 {
    margin-right: 15px !important;
}

.mr20 {
    margin-right: 20px !important;
}

.mr25 {
    margin-right: 25px !important;
}

.mr30 {
    margin-right: 30px !important;
}

.mr35 {
    margin-right: 35px !important;
}

.mr40 {
    margin-right: 40px !important;
}

.mr45 {
    margin-right: 45px !important;
}

.mr50 {
    margin-right: 50px !important;
}

.mr55 {
    margin-right: 55px !important;
}

.mr60 {
    margin-right: 60px !important;
}

/* padding */
.p0 {
    padding: 0 !important;
}

.pt0 {
    padding-top: 0 !important;
}

.pb0 {
    padding-bottom: 0 !important;
}

.pl0 {
    padding-left: 0 !important;
}

.pr0 {
    padding-right: 0 !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pt30 {
    padding-top: 30px !important;
}

.pt40 {
    padding-top: 40px !important;
}

.pt50 {
    padding-top: 50px !important;
}

.pt60 {
    padding-top: 60px !important;
}

.pt70 {
    padding-top: 70px !important;
}

.pt80 {
    padding-top: 80px !important;
}

.pt90 {
    padding-top: 90px !important;
}

.pt100 {
    padding-top: 100px !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.pb20 {
    padding-bottom: 20px !important;
}

.pb30 {
    padding-bottom: 30px !important;
}

.pb40 {
    padding-bottom: 40px !important;
}

.pb50 {
    padding-bottom: 50px !important;
}

/* etc px */
.mb4 {
    margin-bottom: 4px !important;
}

.mb16 {
    margin-bottom: 16px !important;
}

.mr6 {
    margin-right: 6px !important;
}

.w80p {
    width: 80px !important;
}

.mgb4p {
    margin-bottom: 4px !important;
}

.mgr6p {
    margin-right: 6px !important;
}

/* align */
.ta-l {
    text-align: left !important;
}

.ta-c {
    text-align: center !important;
}

.ta-r {
    text-align: right !important;
}

.va-t {
    vertical-align: top !important;
}

.va-m {
    vertical-align: middle !important;
}

.va-b {
    vertical-align: bottom !important;
}

/* border-no */
.bd-n {
    border: none !important;
}

.bd-n-t {
    border-top: none !important;
}

.bd-n-b {
    border-bottom: none !important;
}

.bd-n-l {
    border-left: none !important;
}

.bd-n-r {
    border-right: none !important;
}

.b1 {
    border: 1px solid #ddd !important;
}

/* float */
.f-right {
    float: right !important;
}

.f-left {
    float: left !important;
}

/* show hide */
.show, .block {
    display: block !important;
}

.hide {
    display: none !important;
}

.inblock {
    display: inline-block !important;
}

/* clear */
.clear {
    display: block !important;
    min-height: 1% !important;
}

.clear::after {
    content: " ";
    height: 0;
    display: block;
    visibility: hidden;
    clear: both;
}

.f-clear {
    display: block;
    min-height: 1%;
}

.f-clear:after {
    content: '';
    height: 0;
    display: block;
    visibility: hidden;
    clear: both;
}

/* overflow */
.ov-hidden {
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    position: fixed;
}

.ov-hidden-y {
    overflow-y: hidden !important;
    position: fixed;
}

.ov-hidden-x {
    overflow-x: hidden !important;
    position: fixed;
}

.ov-scroll {
    overflow: scroll !important;
}

.ov-scroll-y {
    overflow-y: scroll !important;
}

.ov-scroll-x {
    overflow-x: scroll !important;
}

/*---------- root ----------*/
:root {
    /* color */
    --black: #121212;
    --gray: #666666;
    --lightgray: #f5f5f5;
    --darkgray: #333333;
    --white: #ffffff;
    --red: #dc3545;
    --orange: #EB6A2D;
    --yellow: #FFD232;
    --gold: #e0b413;
    --theme: #147CF6;
    --theme-rgb: 20, 124, 246;
    --blue: #1681c0;
    --green: #16c01e;
    --indigo: #1B399B;
    --sapphire: #0ab9bc;
    --iceblue: #F4FAFF;
    --violet: #6f42c1;
    --purple: #ac42c1;
    --brown: #483936;
    --sodomy: #353847;
    --header-dynamic-height: 70px;
    /* text */
    --text-title-lg: 5rem;
    --text-title-md: 3rem;
    --text-title-sm: 2.25rem;
    --text-content-1: 2rem;
    --text-content-2: 1.875rem;
    --text-content-3: 1.25rem;
    --text-content-4: 1rem;
    --text-content-5: .9rem;
    --text-content-6: .8rem;
    /* transition */
    --transition-2: all 0.2s ease-in-out;
    --transition-4: all 0.4s ease-in-out;
    --transition-8: all 0.8s ease-in-out;
    --transition-12: all 0.12s ease-in-out;
    /* font bisic */
    --fonttype-1: 's-core-dream', 'Malgun Gothic', '맑은 고딕', sans-serif;
    --fonttype-2: 'Pretendard', 'Malgun Gothic', '맑은 고딕', sans-serif;
}

/* text ellipsis */
.text-el-1 {
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
    width: 100%;
    overflow: hidden;
}

/* line1 */
.text-el-2 {
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
    line-height: 1.4em;
    height: 1.8em;
    -webkit-line-clamp: 2;
}

/* line2 */
.text-el-3 {
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
    line-height: 1.4em;
    height: 4.2em;
    -webkit-line-clamp: 3;
}

/* line3 */
.text-el-4 {
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
    line-height: 1.4em;
    height: 5.6em;
    -webkit-line-clamp: 4;
}

/* line4 */

/* button */
.btn_wrap {
    display: block;
    margin: 2rem 0;
}

.btn_wrap select {
    display: inline-block;
    width: auto;
    border-radius: 3px;
    padding: 0 1.5rem 0 .8rem;
}

/*button[type=button]:hover, button[type=submit]:hover, input[type=submit]:hover, input[type=button]:hover, .btn:hover {opacity: .8 !important;}*/
/*button[type=button]:disabled, button[type=submit]:disabled, input[type=submit]:disabled, input[type=button]:disabled {*/
/*    cursor: default;*/
/*}*/

.btn {
    border: 0;
    text-align: center;
    letter-spacing: -0.02em;
    display: inline-block;
    border-radius: .2em;
    vertical-align: middle;
    height: 2.2em;
    line-height: 2.2em;
    padding: 0 1em;
    color: #fff;
    background: #666;
    font-size: 1em;
    white-space: nowrap;
    transition: all .2s;
}

.btn i {
    margin: -1px 5px 0 -5px;
}

.btn i img {
    vertical-align: middle;
    width: 17px;
    height: 17px;
}

.btn-round {
    border-radius: 2rem !important;
}

.btn > strong {
    font-weight: 800;
}

.btn > small {
    font-weight: 500;
    font-size: .7em;
}

.btn-lg {
    height: 3em;
    line-height: 3em;
    padding: 0 1em;
    font-size: 1.1em;
    box-sizing: content-box;
}

.btn-md {
    height: 2.2em;
    line-height: 2.2em;
    padding: 0 1em;
    font-size: .85em;
    box-sizing: content-box;
}

.btn-sm {
    height: 2em;
    line-height: 2em;
    padding: 0 .6em;
    font-size: .8em;
    box-sizing: content-box;
}

.btn-xsm {
    height: 1.5em;
    line-height: 1.5em;
    padding: 0 .4em;
    font-size: .8em;
    box-sizing: content-box;
}

.btn-blue {
    background-color: var(--blue);
}

.btn-lightgray {
    background-color: #999;
}

.btn-gray {
    background-color: #666;
}

.btn-darkgray {
    background-color: var(--darkgray);
}

.btn-orange {
    background-color: var(--orange);
}

.btn-green {
    background-color: var(--theme);
}

.btn-red {
    background-color: var(--red);
}

.btn-brown {
    background-color: var(--brown);
}

.btn-purple {
    background-color: var(--purple);
}

.btn-white {
    border: 1px solid #999;
    background-color: var(--white);
    color: #222;
    box-sizing: border-box;
    line-height: calc(2.2em - 2px);
}

.btn-resultdown {
    height: auto !important;
    line-height: 1.4 !important;
    padding: 2rem;
    font-size: 1.1rem !important;
}

.is-disabled {
    background: #e5e7eb;
    border: 1px solid #d1d5db;
    color: #6b7280;
    cursor: not-allowed;
    box-shadow: none;
    filter: none;
}

.is-disabled:hover {
    background: #e5e7eb;
    border-color: #d1d5db;
    color: #6b7280;
}

/* font */
.c-white {
    color: var(--white) !important;
}

.c-blue {
    color: var(--blue) !important;
}

.c-lightgray {
    color: #999 !important;
}

.c-gray {
    color: #666 !important;
}

.c-darkgray {
    color: var(--darkgray) !important;
}

.c-orange {
    color: var(--orange) !important;
}

.c-green {
    color: var(--theme) !important;
}

.c-red {
    color: var(--red) !important;
}

.c-brown {
    color: var(--brown) !important;
}

.c-purple {
    color: var(--purple) !important;
}

.fs12 {
    font-size: 12px !important;
}

.fs14 {
    font-size: 14px !important;
}

.fs16 {
    font-size: 16px !important;
}

.fs18 {
    font-size: 18px !important;
}

.fs20 {
    font-size: 20px !important;
}

.fs24 {
    font-size: 24px !important;
}

.fw300 {
    font-weight: 300 !important;
}

.fw400 {
    font-weight: 400 !important;
}

.fw500 {
    font-weight: 500 !important;
}

.fw600 {
    font-weight: 600 !important;
}

.fw700 {
    font-weight: 700 !important;
}

/* table */
.tbl-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.tbl-wrap::-webkit-scrollbar {
    width: 4px;
    height: 4px;
}

.tbl-wrap::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

.tbl-wrap::-webkit-scrollbar-track {
    background-color: rgba(0, 0, 0, 0.06);
}

.tbl-top {
    display: flex;
    justify-content: space-between;
    margin-bottom: .7em;
    align-items: center;
    flex-wrap: wrap;
    text-align: left;
    padding-left: 1em;
    text-indent: -.7em;
}

.tbl-search input[type=text] {
    border: 1px solid #b9c3dd;
    background: #f4f6f7;
    border-radius: .2em;
    height: 2em;
    line-height: 2em;
    width: 15em;
    font-size: 1em;
}

.tbl-search .btn-board-search {
    width: 2em;
    height: 2em;
    background: url(../images/ico-search-bk.svg) no-repeat center / 2em auto;
    padding: 0;
    font-size: 1em;
    overflow: hidden;
    text-indent: -100px;
}


.tbl-basic {
    border-collapse: collapse;
    border: 0;
    padding: 0;
    margin: 0 0 1em;
    border-top: 2px solid var(--black);
    width: 100%;
    background: #fff;
    font-size: 1em;
    line-height: 1.5;
}

.tbl-basic th {
    background: #F3F6F8;
    color: var(--black);
    font-weight: 600;
    letter-spacing: -0.05em;
    border-right: 1px solid #d6dae4;
    vertical-align: middle;
    padding: .7em 1em;
    border-bottom: 1px solid #d6dae4;
}

.tbl-basic .titbg {
    background: #e4f3fb !important;
}

.tbl-basic .whitebg {
    background: #fff !important;
}

.tbl-basic .whitebg2 {
    background: #fafafa !important;
}

.tbl-basic tbody:not(#carList) tr:nth-child(1) {
    border-top: 0;
}

.tbl-basic td {
    background: #fff;
    color: var(--black);
    font-weight: 300;
    border-right: 1px solid #ebeced;
    border-bottom: 1px solid #ddd;
    vertical-align: middle;
    text-align: center;
    padding: .6em 1em;
}

.tbl-basic td.sl {
    white-space: nowrap;
}

.tbl-basic td.whitebg {
    background: #fff !important;
}

.tbl-basic td a {
    color: var(--black);
    transition: color .1s;
}

.tbl-basic td a:hover {
    color: var(--theme);
    text-decoration: underline;
}

.tbl-basic th:last-child, .tbl-basic td:last-child {
    border-right: 0;
}

.tbl-basic tr.highlight td {
    background: #ffffeb !important;
}

.tbl-basic tr.notice td {
    background: #ffffeb !important;
    color: var(--black);
    font-weight: 600;
}

.tbl-basic.hv tr:hover td {
    background: #fafafa;
}

@media screen and (max-width: 800px) {
    .tbl-basic thead th {
        white-space: nowrap;
    }

    .tbl-basic colgroup col {
        width: auto !important;
    }

    .tbl-basic.type2 {
        display: block;
        table-layout: unset !important;
        min-width: unset !important;
    }

    .tbl-basic.type2 thead {
        display: none;
    }

    .tbl-basic.type2 tbody, .tbl-basic.type2 tbody tr, .tbl-basic.type2 tbody td {
        display: block !important;
    }

    .tbl-basic.type2 tbody td {
        text-align: left;
        position: relative;
        padding: .6em .625em .6em 8em;
        min-height: 2.5em;
    }

    .tbl-basic.type2 tbody td::before {
        content: attr(data-label);
        display: inline-block;
        width: 7em;
        position: absolute;
        top: 0;
        left: 0;
        padding: .6em;
        line-height: 1.2;
        background: #F3F6F8;
        color: var(--black);
        font-weight: 500;
        letter-spacing: -0.05em;
        vertical-align: middle;
        height: 100%;
        text-align: left;
    }

    .tbl-basic.type2 tbody td.ta-r {
        text-align: left !important;
    }

    .tbl-basic.type2 tbody tr {
        padding: 0;
        border-top: 1px solid #000;
        margin-bottom: 1.2em;
    }

    .tbl-write.type2 {
        display: block;
        table-layout: unset !important;
        min-width: unset !important;
    }

    .tbl-write.type2 thead, .tbl-write.type2 th {
        display: none;
    }

    .tbl-write.type2 tbody, .tbl-write.type2 tbody tr, .tbl-write.type2 tbody td {
        display: block !important;
    }

    .tbl-write.type2 tbody td {
        text-align: left;
        position: relative;
        padding: 1em .625em 1em 8em;
        min-height: 1.4em;
    }

    .tbl-write.type2 tbody td::before {
        content: attr(data-label);
        display: grid;
        width: 7em;
        position: absolute;
        top: 0;
        left: 0;
        padding: 1em;
        background: #F3F6F8;
        color: var(--black);
        font-weight: 500;
        letter-spacing: -0.05em;
        vertical-align: middle;
        height: 100%;
        text-align: center;
        align-items: center;
    }

    .tbl-write.type2 tbody tr {
        padding: 0;
    }

    .tbl-write.type2.illegal tbody tr:not(:first-child) {
        margin-top: 5px;
        border-top: 2px solid #0c0c0c;
    }

    .tbl-privacy {
        width: 100% !important;
    }
}

/* 개인정보 수집 이용 동의 table*/

.tbl-privacy {
    border-collapse: collapse;
    padding: 0;
    margin: 0 0 1em;
    border: 3px solid var(--red);
    width: 50%;
    background: #fff;
    font-size: 1em;
    line-height: 1.5;
}

.tbl-privacy th {
    background: #F3F6F8;
    color: var(--black);
    font-weight: 500;
    letter-spacing: -0.05em;
    border-right: 1px solid #d6dae4;
    vertical-align: middle;
    padding: .7em 1em;
    border-bottom: 1px solid #d6dae4;
}

.tbl-privacy .titbg {
    background: #e4f3fb !important;
}

.tbl-privacy .whitebg {
    background: #fff !important;
}

.tbl-privacy .whitebg2 {
    background: #fafafa !important;
}

.tbl-privacy tbody tr:nth-child(1) {
    border-top: 0;
}

.tbl-privacy td {
    background: #fff;
    color: var(--black);
    font-weight: 300;
    border-right: 1px solid #ebeced;
    border-bottom: 1px solid #ddd;
    vertical-align: middle;
    text-align: center;
    padding: .6em 1em;
}

.tbl-privacy td.sl {
    white-space: nowrap;
}

.tbl-privacy td.whitebg {
    background: #fff !important;
}

.tbl-privacy td a {
    color: var(--black);
    transition: color .1s;
}

.tbl-privacy td a:hover {
    color: var(--theme);
    text-decoration: underline;
}

.tbl-privacy th:last-child, .tbl-basic td:last-child {
    border-right: 0;
}

.tbl-privacy tr.highlight td {
    background: #ffffeb !important;
}

.tbl-privacy tr.notice td {
    background: #ffffeb !important;
    color: var(--black);
    font-weight: 600;
}

.tbl-privacy.hv tr:hover td {
    background: #fafafa;
}

.tbl-write {
    border-collapse: collapse;
    border: 0;
    padding: 0;
    border-top: 2px solid var(--black);
    width: 100%;
    background: #fff;
    font-size: 1em;
    margin-bottom: 1em;
}

.tbl-write th, .tbl-write td {
    vertical-align: middle;
    line-height: 1.4;
}

.tbl-write thead th {
    padding: 1em;
    color: var(--black);
    font-weight: 600;
    border-bottom: 1px solid #d6dae4 !important;
    background: #F3F6F8;
    letter-spacing: -0.05em;
    vertical-align: middle;
}

.tbl-write tbody th {
    padding: .8em 1em;
    color: var(--black);
    font-weight: 600;
    border-bottom: 1px solid #d6dae4;
    background: #F3F6F8;
    letter-spacing: -0.05em;
    vertical-align: middle;
    font-size: 1em;
}

.tbl-write tbody td {
    border-bottom: 1px solid #ddd;
    padding: .8em 1em;
    text-align: left;
    color: var(--black);
    font-weight: 300;
    font-size: 1em;
    line-height: 1.4;
    word-break: keep-all;
}

.tbl-write tbody td:scope {
    vertical-align: middle !important;
}

.tbl-write tbody td a {
    display: inline-block;
    margin-right: 5px;
}

.tbl-write tbody td a:hover {
    text-decoration: underline;
    color: var(--theme);
}

.tbl-write tbody td.write-content {
    padding: 1.5em;
    line-height: 1.6;
    height: 15em;
    vertical-align: top;
}

.tbl-write.nobd {
    border-top: 1px solid #ddd;
}

@media screen and (max-width: 800px) {
    .tbl-survey, .tbl-survey, .tbl-survey tbody, .tbl-survey tr, .tbl-survey th, .tbl-survey td {
        display: block;
    }

    .tbl-survey td {
        padding: 1.5em !important;
    }
}

.paging {
    margin: 2rem auto 0;
    text-align: center;
    width: 100%;
    font-size: 0;
}

.paging li {
    display: inline-block;
    width: 24px;
    height: 24px;
    line-height: 24px;
    border-radius: 24px;
    margin: 0 .25rem;
}

.paging li a {
    width: 100%;
    height: 100%;
    display: block;
    color: var(--darkgray);
    font-size: .9rem;
    font-weight: normal;
    text-align: center;
    cursor: pointer;
    background: #fff;
    transition: .2s ease;
    border-radius: 24px;
}

.paging li p {
    width: 100%;
    height: 100%;
    display: block;
    color: var(--darkgray);
    font-size: .9rem;
    font-weight: normal;
    text-align: center;
    cursor: pointer;
    background: #fff;
    transition: .2s ease;
    border-radius: 24px;
}

.paging li a:hover {
    background: #eee;
    font-weight: 500;
}

.paging li p:hover {
    background: #eee;
    font-weight: 500;
}

.paging .active, .paging .active:hover {
    background: var(--gray);
    font-weight: 500;
    color: #fff;
}

.paging img {
    vertical-align: middle;
    margin-top: -.15em;
}

.paging li.img a {
    background: #fff;
}

.paging li.img p {
    background: #fff;
}

.tbl-btn-wrap {
    text-align: right;
}

.flex-col {
    display: flex;
    flex-direction: column;
}

.flex-row {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.gap05 {
    gap: .5em;
}

.gap1 {
    gap: 1em;
}

.gap2 {
    gap: 2em;
}

.gap3 {
    gap: 3em;
}

.gap4 {
    gap: 4em;
}

.flex1 {
    flex: 1;
}

.flex0 {
    flex: 0;
}

.flex-row.center {
    justify-content: center;
}

/* skip */
.skip a {
    display: block;
    position: absolute;
    left: 0;
    top: -9999px;
    overflow: hidden;
    width: 100%;
    background: black;
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    text-align: center;
}

.skip a:focus {
    position: absolute;
    top: 0;
    padding: 1.1em 0;
    z-index: 99999;
    outline: none !important;
}

/*.wrap {background: #fff; padding-top: 140px;}*/
.wrap:not(.wrap-bg) {
    height: auto;
    min-height: 100%;
    padding-bottom: 190px !important;
}

.wrap {
    background: #fff;
    padding-top: 127px;
    margin-bottom: 30px;
}

.wrap-bg {
    background: #F3F6F8;
}

/* 헤더 */
.header {
    z-index: 3;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 0 0 1em rgba(0, 0, 0, .2);
}

.header::after {
    content: '';
    position: absolute;
    top: 118px;
    left: 0;
    width: 100%;
    display: block;
    border-top: 1px solid #ddd;
    opacity: 0;
    transition: opacity .3s;
}

.header-inner {
    max-width: 1600px;
    position: relative;
    margin: 0 auto;
    display: flex;
    align-items: start;
    overflow: hidden;
    max-height: 125px;
    transition: max-height .3s ease;
    /*padding: 0 0 0 20px;*/
    padding-top: 25px;
    padding-right: 25px
}

.header:hover {
    box-shadow: 0 0 30px rgba(0, 0, 0, .2);
}

.header:hover .header-inner {
    max-height: 500px;
}

.header:hover::after {
    opacity: 1;
}

body.is-modal-open .header .header-inner {
    max-height: 140px !important;
}

body.is-modal-open .header::after {
    opacity: 0;
}

.header h1 {
    font-size: 30px;
    font-family: var(--fonttype-1);
    font-weight: 600;
    letter-spacing: -.05em;
    display: flex;
    align-items: center;
    gap: 5px;
    /*align-self: center;*/
    margin-top: 22px;
}

.header h1 strong {
    color: var(--theme);
}

.header h1::before {
    content: '';
    display: block;
    width: 80px;
    height: 50px;
    background: url(../images/logo.png) no-repeat center / auto 50px;
}

.header-gnb {
    display: flex;
    flex-direction: column;
    flex: 1;
    /*padding: 13px 0 1px;*/
    padding-bottom: 1px;
}

.toplink {
    display: flex;
    gap: 40px;
    justify-content: end;
    padding-right: 20px;
}

.toplink li a {
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 200;
}

.toplink li a::before {
    content: '';
    width: 24px;
    height: 24px;
    display: inline-block;
    background: url(../images/ico-login.png) no-repeat center / 24px auto;
}

.toplink li .btn-login::before {
    background-image: url(../images/ico-login.png);
}

.toplink li .btn-logout::before {
    background-image: url(../images/ico-logout.png);
}

.toplink li .btn-join::before {
    background-image: url(../images/ico-join.png);
}

.toplink li .btn-mypage::before {
    background-image: url(../images/ico-mypage.png);
}

.toplink li .btn-sitemap::before {
    background-image: url(../images/ico-sitemap.png);
}

.toplink li a {
    font-size: 1em;
    color: #111;
    letter-spacing: -.05em;
    font-weight: 400;
}

.btn-menu {
    display: none;
    width: 60px;
    height: 59px;
    background: url(../images/ico-menu.png) no-repeat center #fff;
    position: fixed;
    top: 0;
    right: 0;
    transition: none;
    overflow: hidden;
    font-size: 1px;
    text-indent: -200px;
}

.btn-menu.on {
    background-image: url(../images/ico-menu-close.png);
}

.nav-wrap {
    height: 100%;
    /*text-align: right;*/
    position: relative;
    z-index: 2;
}

.nav-wrap > ul {
    display: flex;
    flex-direction: row;
    gap: 2px;
    justify-content: end;
    margin: 0 auto;
    position: relative;
    /*z-index: 2;*/
    height: 100%;
}

.nav-wrap > ul > li {
    display: inline-block;
    vertical-align: top;
    height: 100%;
}

.nav-wrap > ul > li > a {
    color: #111;
    display: block;
    font-size: 22px;
    /*font-weight: 600;*/
    width: 100%;
    line-height: 80px;
    transition: color .3s ease;
    letter-spacing: -.05em;
    padding: 10px 22px 0;
    font-family: var(--fonttype-1), serif;
    font-weight: 500;
    border: 2px solid transparent;
}
@media (max-width: 1570px) {
    .header h1 {
        font-size: 26px;
    }
}

.nav-wrap > ul > li > ul {
    padding: 12px;
    padding-right: 15px;
    display: block;
    /*height: 240px;*/
    transition: all .3s;
}
.nav-wrap > ul > li:last-child > ul:last-child {
    padding-right: 32px;
}

.nav-wrap > ul > li > ul > li {
    line-height: 1;
    text-align: left;
}

.nav-wrap > ul > li > ul > li > a {
    display: block;
    font-size: 1em;
    font-weight: 300;
    line-height: 1.2;
    color: #111;
    padding: 5px 15px;
}

.nav-wrap > ul > li > ul > li a::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 2px;
    background: #888;
    margin: .4em .2em 0 0;
    vertical-align: top;
}

.nav-wrap > ul > li:hover > a {
    color: var(--theme);
}

.nav-wrap > ul > li > a.active {
    color: var(--theme);
    border-bottom: 4px solid var(--theme);
}

.nav-wrap > ul > li > ul > li > a:hover, .nav-wrap > ul > li > ul > li > a.active {
    color: var(--theme) !important;
    font-weight: 700 !important;
}

.nav-wrap > ul > li:hover > ul {
    background: linear-gradient(
            to bottom,
            #f6f6f6 0%,
            #fafafa 40%,
            #ffffff 100%
    );
}

.dim {
    display: none;
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: rgba(0, 0, 0, .5);
}

.btn-menu.on ~ .dim, .header:hover ~ .dim {
    display: block;
}

body.mo .nav-wrap > ul > li > a {
    pointer-events: auto;
}

/* 메인 비주얼 */
.main-visual {
    height: 450px;
    background: url(../images/main-visual4.png) no-repeat center 0 / cover #ccc;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-top: -30px;
    overflow: hidden;
}


.main-visual::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 200px;

    background: linear-gradient(
            to bottom,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,.3) 35%,
            rgba(255,255,255,.7) 70%,
            color-mix(in srgb, var(--theme) 5%, white) 100%
    );

    pointer-events: none;
}

.main-visual .txt {
    color: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 100px;
    padding: 0 20px;
}

.main-visual .t1 {
    font-size: 2.75em;
    word-break: keep-all;
}

.main-visual .t2 {
    font-size: 4.375em;
    font-weight: 600;
    font-family: var(--fonttype-1);
    word-break: keep-all;
}

/* 메인 콘텐츠 */
.main-content {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
    position: relative;
    z-index: 1;
    padding: 2em 20px 3.5em;
}

.main-content .quick {
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin-top: -355px;
}

.main-content .quick li {
    flex: 1;
}

.main-content .quick li a {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    display: flex;
    padding: 30px 20px 0;
    text-align: center;
    border-radius: 25px;
    background: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .05);
    font-family: var(--fonttype-1);
    font-weight: 500;
    border: 5px solid transparent;
    transition: all .3s ease;
    height: 100%;
    min-height: 240px;
    gap: 20px;
}

.main-content .quick li img {
    width: 100px;
    /*margin-bottom: 20px;*/
}

.main-content .quick li p {
    font-size: 1.375em;
    text-align: center;
    letter-spacing: -.05em;

    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.main-content .quick2 {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding: 36px 64px;
    text-align: center;
    border-radius: 25px;
    background: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .05);
}

.main-content .quick li:hover {
    z-index: 2;
}

.main-content .quick li:hover a {
    transform: scale(1.05);
    box-shadow: 10px 10px 30px rgba(0, 0, 0, .2);
    border: 5px solid var(--theme);
}

.main-content .quick2 li {
}

.main-content .quick2 li a {
    display: flex;
    flex-direction: column;
    text-align: center;
    color: #6298AE;
    align-items: center;
    gap: 8px;
    letter-spacing: -.05em;
}

.main-content .quick2 li a:hover {
    color: var(--theme);
}

.main-content .quick2 li a:hover img {
    filter: saturate(5) /*hue-rotate(-110deg)*/
}

.main-content .quick2 li img {
    width: 48px;
    height: 48px;;
}

.main-content .quick2 li p {
    color: #6298AE;
    font-size: 1.125em;
}

.main-bbs {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.main-bbs h3 {
    font-size: 1.375em;
    color: #111;
    font-weight: 600;
    letter-spacing: -.05em;
    margin-bottom: 18px;
    line-height: 1.5;
    padding: 0 0 10px;
    font-family: var(--fonttype-1);
    font-weight: 500;
}

.main-bbs .guide {
    flex: 0;
    min-width: calc(50% - .75em);
    /*background: color-mix(in srgb, var(--theme) 10%, white);*/
    background: white;

    border-radius: 25px;

    /*box-shadow: 0 4px 10px rgba(0, 0, 0, .05);*/
    /*box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.15);*/

    box-shadow:
            0 0 10px rgba(0,0,0,.05),
            0 10px 25px rgba(0,0,0,.12);
    padding: 24px 40px;
}

.main-bbs .guide ul {
    display: flex;
    gap: 12px;
    flex-direction: column;
}

.main-bbs .guide ul li {
    display: flex;
    gap: 20px;
    align-items: center;
}

.main-bbs .guide ul li strong {
    font-size: 2.5em;
    line-height: 50px;
    font-weight: 800;
    color: var(--theme);
}

.main-bbs .guide ul li p {
    height: 50px;
    background: #F3F6F8;
    border-radius: 25px;
    padding: 0 20px;
    font-size: 1.125em;
    flex: 1;
    letter-spacing: -.04em;
    display: flex;
    align-items: center;
}

.main-bbs .notice {
    flex: 0;
    min-width: calc(50% - .75em);
    /*background: color-mix(in srgb, var(--theme) 10%, white);*/
    background: white;

    border-radius: 25px;
    /*box-shadow: 0 4px 10px rgba(0, 0, 0, .05);*/
    /*box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.15);*/
    box-shadow:
            0 0 10px rgba(0,0,0,.05),
            0 10px 25px rgba(0,0,0,.12);
    padding: 24px 40px;
}

.main-bbs .notice-head {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 8px;
}

.main-bbs .btn-more {
    font-size: 1em;
    color: #6298AE;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 18px;
}

.main-bbs .btn-more::after {
    content: '';
    width: .75em;
    height: 1em;
    display: block;
    background: url(../images/ico-main-arrow.png) no-repeat center / .75em 1em;
}

.main-bbs .notice ul {
    gap: 24px;
    display: flex;
    flex-direction: column;
}

.main-bbs .notice ul li {
    display: flex;
    gap: 10px;
    flex: 1;
}

.main-bbs .notice ul li .subject {
    flex: 1;
    padding-left: 1em;
    text-indent: -1em;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
    width: calc(100% - 10em);
    overflow: hidden;
}

.main-bbs .notice ul li .subject::before {
    content: '';
    display: inline-block;
    width: .5em;
    height: .5em;
    border-radius: .5em;
    background: #6298AE;
    margin: 0 .5em .08em 0;
}

.main-bbs .notice ul li .date {
    color: #6298AE;
    font-weight: 300;
}

.main-bbs .notice ul li a:hover {
    color: var(--theme);
}

/* 푸터 */
.footer-wrap {
    background: #596369;
    padding: 45px 0 50px;
    height: 190px;
    position: relative;
    z-index: 2;
    margin-top: auto;
}

.footer {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    gap: 5%;
    justify-content: space-between;
    align-items: start;
    padding: 0 20px;
}

.logo-ft {
    flex: 0;
    width: 15em;
    height: auto;
}

.footer > div {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.footer .footer-group1 {
    display: flex;
    flex-direction: row;
    gap: 40px;
    padding: 10px 0;
}

.footer .footer-group1 li {
}

.footer .footer-group1 li a {
    color: rgba(255, 255, 255, .9);
    font-weight: 200;
}

.footer .footer-group2 {
    color: rgba(255, 255, 255, .9);
    display: flex;
    flex-direction: row;
    gap: .75em 2em;
    font-size: 0.875em;
    font-weight: 200;
    flex-wrap: wrap;
}

.footer .footer-group2 li {
}

.footer .footer-group2 li strong {
    font-weight: 500;
    display: inline-block;
    margin-right: 10px;
}

.footer .footer-group2 li .sp {
    color: var(--theme);
    font-weight: 600;
}

.footer .copy {
    font-weight: 200;
    color: #fff;
    opacity: .5;
    letter-spacing: 0;
    word-break: keep-all;
    line-height: 1.4;
    font-size: .875em;
}

.footer .copy span {
    white-space: nowrap;
}

.footer select {
    width: 165px;
    border: 1px solid rgba(255, 255, 255, .4);
    color: rgba(255, 255, 255, .9);
    background: url(../images/ico-select-down-ft.png) no-repeat calc(100% - 10px) 50% transparent;
    height: 40px;
    border-radius: 4px;
    font-weight: 300;
    padding: 0 15px;
    margin-left: auto;
}

/* 서브 */
.sub-head {
    text-align: center;
    height: 10em;
    background: #507197;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.sub-head > div {
    display: flex;
    flex-direction: column;
    max-width: 1440px;
    width: 100%;
    height: 100%;
    padding: 1.25em;
    margin: 0 auto;
    text-align: left;
    gap: 1.5em;
    position: relative;
}

.sub-head > div::before {
    content: '';
    background: url(../images/header.png) no-repeat 90% 0% / auto 100%;
    width: 100%;
    height: 100%;
    z-index: 0;
    position: absolute;
    top: 0;
}

.sub-head h2 {
    color: #fff;
    font-size: 2.5em;
    font-weight: 600;
    display: flex;
    position: relative;
}

.sub-head p {
    color: #fff;
    font-size: 1.1em;
    margin-top: -.9em;
    letter-spacing: -.02em;
    font-weight: 300;
    position: relative;
}

.sub-head .linemap {
    text-align: left;
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    padding: 0 4px;
    color: #fff;
    display: flex;
    align-items: center;
    opacity: .7;
}

.sub-head .linemap li {
    padding: 0;
    display: flex;
    align-items: center;
    line-height: 1;
    font-size: .875rem;
}

.sub-head .linemap li img {
    margin-top: -3px;
}

.sub-head .linemap li::after {
    background: url(../images/ico-linemap-arrow.svg) no-repeat center / 12px 12px;
    width: 12px;
    height: 12px;
    content: '';
    display: inline-block;
    margin: 0 .5em;
}

.sub-head .linemap li a {
    color: #fff;
}

.sub-head .linemap li:last-child::after {
    display: none;
}

/*.main-content {max-width: 1280px; margin: 0 auto; padding: 0.5em 1.25em; line-height: 1.5;}*/
/* wrap 없이 렌더링되는 서브 페이지도 헤더 고정 높이만큼 상단 여백 확보 */
/*body > .main-content {*/
/*  padding-top: calc(var(--header-dynamic-height, 70px) + .5em);*/
/*}*/
.stit {
    font-size: 3em;
    font-weight: 600; /*margin-bottom: .8em;*/
    letter-spacing: -.05em;
}

/* space/use-guide 전용 정리 */
.use-guide-content {
    padding-top: 2em;
    padding-bottom: 3.5em;
}

.main-content #detail_con > h4,
.main-content #detail_con > .month-header-wrap > h4 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 2em;
    margin-bottom: .7em;
    font-size: 1.55em;
    line-height: 1.55em;
    font-weight: 600;
    letter-spacing: -.03em;
    color: var(--darkgray);
    text-align: left;
    padding-left: 40px;
    background: url(/images/bl.png) no-repeat left center;
}

.main-content #detail_con > h4:first-child,
.main-content #detail_con > .month-header-wrap > h4:first-child {
    margin-top: 0;
}

.use-date-label {
    font-size: 15px;
    font-weight: 300;
}

@media screen and (max-width: 500px) {
    .main-content #detail_con > h4 {
        /*flex-direction: column;*/
        gap: 0;
    }

}


.use-guide-content .tableBox {
    margin-top: .7em;
    margin-bottom: 1.6em;
}

.use-guide-content .bl02 {
    text-align: left;
    font-weight: 500;
    margin-bottom: .5em;
}
.para01 {
    margin-top: 40px;
    margin-left: 15px;
}
.para01 li {
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: break-word;
}
.bl02 {
    position: relative;
    padding-left: 20px;
    font-size: 1.25em;
    color: #1C36D6;
}
.bl02:before {
    display: block;
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    width: 15px;
    height: 15px;
    border-radius: 10px;
    border: 5px solid #00B7F1;
    box-sizing: border-box;
}

.use-guide-content .bl03,
.use-guide-content .bl04 {
    padding-left: .4em;
    margin-bottom: 1.1em;
}

.use-guide-content .bl03 > li,
.use-guide-content .bl04 > li {
    text-align: left;
    line-height: 1.6;
    color: #333;
    padding-left: 1em;
    text-indent: -.75em;
    /*margin-bottom: .35em;*/
}

.use-guide-content .bl03 > li::before {
    content: '-';
    margin-right: .35em;
    color: #5f7188;
}

.use-guide-content .bl04 > li::before {
    content: '·';
    margin-right: .35em;
    color: #5f7188;
}

.use-guide-content .refer {
    margin-top: .35em;
    color: #617287;
    font-size: .95em;
    text-indent: 0;
    padding-left: 0;
}

.use-guide-content .use-guide-table td.left {
    text-align: left;
}

.use-guide-content .use-guide-table td,
.use-guide-content .use-guide-table th {
    white-space: normal;
}

@media screen and (max-width: 800px) {
    .use-guide-content {
        padding-top: 1.2em;
    }

    /*.use-guide-content #detail_con > h4 {*/
    /*  font-size: 1.15em;*/
    /*  margin-top: 1.6em;*/
    /*}*/
}

/* 반응형 헤더/네비 복원 */
@media screen and (max-width: 1510px) {
    html, body {
        font-size: 14px;
    }

    /* .nav-wrap > ul {gap: 40px;} */
    .nav-wrap > ul > li > a {
        padding: 10px 10px 0;
    }

    .nav-wrap > ul > li > ul > li > a {
        padding: 5px 0;
    }

    /*.main-content {*/
    /*    padding: 0 20px 40px;*/
    /*}*/
}

@media screen and (max-width: 1315px) {
    /*헤더두줄바꾸기*/
    .header h1 {
        font-size: 1.4em;
    }

    .header h1 strong {
        display: block;
    }
}
@media screen and (max-width: 1130px) {
    .nav-wrap > ul > li> a {
        font-size: 18px;
    }
}
@media screen and (max-width: 1120px) {

    .header h1 {
        font-size: 1.1em;
    }

}
/*헤더 햄버거메뉴*/
@media screen and (max-width: 1060px) {
    #header > div > a.auth-wrap {
        padding:10px  5px 0 0 !important;
    }
    .header {
        position: fixed;
        width: 100%;
        left: 0;
        top: 0;
        height: 60px;
        border-bottom: 1px solid #ddd;
        z-index: 4;
    }

    .header::after {
        display: none;
    }

    .header-inner {
        max-height: 100%;
        padding: 0 .5em;
        padding-right: 70px; /* 햄버거 버튼 공간 */
    }

    /* ===========================
       Hamburger Button
    =========================== */

    .btn-menu {
        display: block;
        z-index: 12;
    }

    /* ===========================
       Right Menu(Login/Logout)
    =========================== */

    .toplink {
        position: fixed;
        top: 0;
        right: 70px;
        left: auto;
        height: 60px;
        z-index: 11;
        display: flex;
        align-items: center;
        gap: 0;
    }

    .toplink li.memberName {
        position: static;
        max-width: 45vw;
        white-space: normal;
        word-break: keep-all;
        font-size: .9em;
        font-weight: bold;
        color: #333;
        pointer-events: none;
        text-align: right;
        line-height: 1.2;
    }

    .toplink li.memberName span {
        display: inline;
    }

    .toplink li a {
        display: none;
        align-items: center;
        gap: 4px;
        text-decoration: none;
        line-height: 1;
    }

    .toplink li a img {
        display: block;
        width: auto;
        height: 20px;
        object-fit: contain;
    }

    /* 메뉴 열렸을 때 */

    .btn-menu.on ~ .toplink {
        display: flex;
        right: 80px;
        opacity: 1;
    }

    .btn-menu.on ~ .toplink li.memberName {
        display: none !important;
    }

    .btn-menu.on ~ .toplink li a {
        display: flex !important;
    }

    .btn-menu:not(.on) ~ .toplink {
        transition: none !important;
    }

    /* ===========================
       Drawer Menu
    =========================== */

    .nav-wrap {
        position: fixed;
        top: 0;
        right: -80%;
        width: 80%;
        max-width: 300px;
        height: 100%;

        padding: 0;

        background: #fff;

        border-top: 59px solid #e7ecf1;

        box-shadow: 0 0 0 rgba(0,0,0,.2);

        overflow: auto;

        transition: right .3s ease;

        z-index: 10;

        text-align: left;
    }

    .btn-menu.on ~ .nav-wrap {
        right: 0;
    }

    /* ===========================
       1Depth
    =========================== */

    .nav-wrap > ul {
        display: block;
        height: 100%;
        overflow: auto;
        border-top: 1px solid #ddd;
    }

    .nav-wrap > ul > li {
        position: relative;
        width: 100%;
        height: auto;
        min-height: 40px;
        line-height: 40px;
    }

    .nav-wrap > ul > li > a {
        display: block;
        position: relative;

        padding: 0 44px 0 20px;

        font-size: 1.25em;
        line-height: 50px;

        background: #fff;

        border: none;
        border-bottom: 1px solid #ddd;
    }

    .nav-wrap > ul > li > a.active {
        border-bottom: 1px solid var(--theme);
    }

    .nav-wrap > ul > li:hover > a {
        border-bottom: 1px solid var(--theme);
    }

    .nav-wrap > ul > li > a::after {
        content: "";

        position: absolute;

        top: 50%;
        right: 20px;

        width: 8px;
        height: 8px;

        border-right: 2px solid #7b8794;
        border-bottom: 2px solid #7b8794;

        transform: translateY(-75%) rotate(45deg);

        transition:
                transform .25s ease,
                border-color .25s ease;
    }

    .nav-wrap > ul > li.is-open > a::after {
        transform: translateY(-25%) rotate(-135deg);
        border-color: var(--theme);
    }

    /* ===========================
       2Depth
    =========================== */

    .nav-wrap > ul > li > ul {
        overflow: hidden;

        display: block;

        padding: 0 20px;

        background: #f3f6f8;

        border-bottom: 1px solid #ddd;

        max-height: 0;

        opacity: 0;

        visibility: hidden;

        pointer-events: none;

        transform: translateY(-4px);

        transition:
                max-height .3s ease,
                opacity .25s ease,
                transform .25s ease,
                visibility 0s linear .3s;
    }

    .nav-wrap > ul > li.is-open > ul {
        max-height: 1000px;

        padding: 10px 20px;

        opacity: 1;

        visibility: visible;

        pointer-events: auto;

        transform: translateY(0);

        transition:
                max-height .35s ease,
                opacity .25s ease,
                transform .25s ease,
                visibility 0s;
    }

    .nav-wrap > ul > li > ul li a {
        padding: 10px;
    }

    .nav-wrap > ul > li:hover > ul {
        background: #f6f6f6;
    }

    /* ===========================
       Dim
    =========================== */

    .header ~ .dim {
        display: none !important;
    }
    .wrap {
        padding-top: 60px;
    }
    .header h1 {
        font-size: 1.2em;
        max-width: calc(100% - 20px);
        white-space: normal;
        line-height: 1.2;
        margin-top: 4px;
    }

    .header h1 a {
        display: inline-block;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .nav-wrap > ul > li > ul {
        height: auto;
    }
}

@media screen and (max-width: 910px) {


    .toplink li.memberName {
        max-width: 60vw;
        white-space: nowrap;
        font-size: 0.9em;
        font-weight: bold;
        color: #333;
        pointer-events: none;
        text-align: right;
        line-height: 1.2;
    }

    .main-visual {
        height: 300px;
    }

    .main-visual .txt {
        font-size: .5em;
        gap: 1.5em;
        margin-bottom: 10vw;
        padding: 0 1.5em;
    }

    .main-content .quick li img {
        width: 60%;
        margin-bottom: 1em;
    }

    .main-content .quick li p {
        font-size: 1em;
    }

    .main-content .quick li a {
        padding: 1em .3em;
        border-radius: 1em;
        border-width: 3px;
        min-height: auto;
    }

    .main-content .quick {
        gap: 1em;
        margin-top: -230px;
    }

    .main-content .quick2 {
        gap: 1.5em;
        justify-content: center;
        flex-wrap: wrap;
        padding: 1.2em;
        text-align: center;
        border-radius: 1em;
    }

    .main-content {
        gap: 2em;
        /*padding: 0 1em 5em;*/
    }

    .main-content .quick2 li img {
        width: 2em;
        height: 2em;
    }

    .main-content .quick2 li a {
        gap: .5em;
    }

    .main-bbs {
        gap: 1em;
    }

    .main-bbs h3 {
        font-size: 1.2em;
    }

    .main-bbs .guide, .main-bbs .notice {
        flex: 0;
        width: calc(50% - .5em);
        border-radius: 1em;
        padding: 1.5em
    }

    .main-bbs .guide ul li p {
        font-size: 1em;
    }

    .sub-head {
        font-size: .8em;
    }

    .map iframe {
        height: 50vw;
    }

    .header ~ .dim {
        display: none !important;
    }

    .sub-content {
        padding: 2em 1.25em 3em;
    }

    .sub-head > div {
        justify-content: center;
    }

    .sub-head > div::before {
        background-position: 50% 0;
    }

    .sub-head p {
        display: none;
    }

    .sub-head h2 {
        font-size: 1.8em;
    }

    .mhide {
        display: none;
    }
}

@media screen and (max-width: 700px) {

    .footer {
        padding: 0 1em;
        position: relative;
    }

    .footer select {
        position: absolute;
        right: 1em;
        padding: 0 .3em;
        width: 9em;
        height: 2em;
        top: -1.6em;
        font-weight: 200;
        background-position: calc(100% - .3em);
        background-size: .8em;
    }
}

@media screen and (max-width: 640px) {
    .main-bbs {
        flex-direction: column;
    }

    .main-bbs .guide, .main-bbs .notice {
        width: 100%;
    }

    .sub-head h2 {
        font-size: 1.6em;
    }

    .logo-ft {
        display: none;
    }

    .footer .footer-group1 {
        gap: 2em;
        padding: .82em 0;
    }

    .footer-wrap {
        padding: 2em 0;
    }

    .tbl-basic td {
        padding: .6em;
    }

    .tbl-write tbody th {
        padding: .6em;
        white-space: nowrap;
    }

    .tbl-write tbody td {
        padding: .6em;
    }

    .tbl-basic thead th {
        padding: .6em;
    }

    .tbl-basic tbody td {
        padding: .6em;
        white-space: nowrap;
    }
}

@media (max-width: 525px) {
    /*.main-visual {*/
    /*    height: 55vw;*/
    /*}*/

    .main-visual .txt {
        font-size: .4em;
    }

    .main-visual .t2 {
        font-size: 4em;
    }

    .main-content {
        gap: 1.25em;
    }

    .main-content .quick {
        flex-wrap: wrap;
        gap: .75em;
    }

    .main-content .quick li {
        flex: 1 0 40%;
    }

    .main-content .quick li img {
        width: 50%;
    }

    .main-content .quick2 {
        gap: 1em;
    }

    .sub-head {
        height: 8em;
    }

    .sub-head > div::before {
        background-position: 50% 0;
    }
}

.download_image {
    width: 25px;
    height: 25px;
    cursor: pointer;
}

.tbl-wrap-modal {
    max-height: 450px;
    overflow-y: auto;
}

/* 1. tr에 호버했을 때 내부 모든 td 배경색을 바꿈 (이게 제일 확실함) */
.carList:hover td {
    color: #1d89cb !important;
    font-weight: 500;
    cursor: pointer;
}

.memberName {
    margin: auto 0;
    display: inline-flex;
    gap: 3px;
}

@media screen and (max-width: 440px) {
    .memberName {
        flex-direction: column;
    }
}

/* datepicker */
.datepicker + .ui-datepicker-trigger {
    margin: 0 4px 0 -22px;
}

.ui-datepicker {
    width: 250px;
    padding: 0;
    display: none;
    border: 0;
    margin-top: 5px;
}

.ui-widget.ui-widget-content {
    border: 1px solid #d2d7dc;
    border-radius: 3px;
    overflow: hidden;
    background: #fff;
    box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.1);
    font-size: 14px;
}

.ui-datepicker .ui-widget-header {
    position: relative;
    padding: 6px 0 28px 0;
    border: 0;
    background: #afb8c3;
    color: #fff;
    border-radius: 0;
}

.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
    width: 70px;
    height: 26px;
    line-height: 26px;
    background: rgba(142, 153, 166, .5) url(../images/arrow-button.png) 100% -27px no-repeat;
    margin: 0 4px;
    padding: 0 6px;
    border: 0;
    border-radius: 3px;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.ui-datepicker select.ui-datepicker-month {
    width: 60px;
    margin: 0 4px 0 10px;
}

.ui-datepicker select.ui-datepicker-month:hover, .ui-datepicker select.ui-datepicker-year:hover {
    background: rgba(142, 153, 166, .8) url(../images/arrow-button.png) 100% -27px no-repeat;
}

.ui-datepicker select::-ms-expand {
    display: none;
}

.ui-datepicker .ui-datepicker-title {
    line-height: 1.8em;
    text-align: center;
    margin: 0px 2.3em;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0;
}

.ui-datepicker-title .ui-datepicker-year option, .ui-datepicker-title .ui-datepicker-month option {
    background: #fff;
    color: #333;
}

.ui-datepicker .ui-datepicker-calendar {
    position: relative;
    width: 96%;
    padding-top: 100px;
    margin: 0 auto;
}

.ui-datepicker-calendar thead tr {
    position: absolute;
    top: -20px;
    left: 5px;
    right: 5px;
}

.ui-datepicker-calendar thead th {
    float: left;
    display: block;
    padding: 0;
    width: 14.2857%;
    color: #fff;
    font-size: 11px;
    letter-spacing: 1px;
    opacity: 0.9;
}

.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
    position: absolute;
    top: 5px;
    width: 1.8em;
    height: 1.8em;
    text-indent: -9999px;
    cursor: pointer;
}

.ui-datepicker .ui-datepicker-prev {
    left: 5px;
}

.ui-datepicker .ui-datepicker-prev.ui-state-hover {
    background: rgba(0, 0, 0, 0.1);
    border: 0;
}

.ui-datepicker .ui-datepicker-prev .ui-icon {
    background: url(../images/arrow-button.png) 0 0 no-repeat;
}

.ui-datepicker .ui-datepicker-next {
    right: 5px;
}

.ui-datepicker .ui-datepicker-next.ui-state-hover {
    background: rgba(0, 0, 0, 0.1);
    border: 0;
}

.ui-icon {
    display: block;
    width: 16px;
    height: 16px;
}

.ui-datepicker .ui-datepicker-next .ui-icon {
    background: url(../images/arrow-button.png) -16px 0 no-repeat;
}

.ui-datepicker .ui-state-default {
    display: block;
    border: 0;
    width: 30px;
    height: 30px;
    line-height: 30px;
    padding: 0;
    margin: 4px auto;
    font-size: 12px;
    text-align: center;
    background: #fff;
    font-weight: normal;
    color: #333;
    box-sizing: border-box;
    border-radius: 30px;
}

.ui-datepicker .ui-state-default.ui-state-hover {
    background: rgba(0, 0, 0, 0.05);
}

.ui-datepicker-today .ui-state-default {
    color: #49a6fe;
    font-weight: bold;
}

.ui-datepicker-current-day .ui-state-default {
    background: #f3914d !important;
    color: #fff;
    font-weight: bold;
}

.ui-datepicker-buttonpane {
    overflow: hidden;
    border-top: 1px solid #eee;
}

.ui-datepicker-buttonpane button[data-handler="today"] {
    color: #49a6fe;
    opacity: 0.75;
}

.ui-datepicker td, .ui-datepicker th {
    border: 0;
}

.ui-datepicker .ui-datepicker-buttonpane button {
    float: right;
    cursor: pointer;
    width: auto;
    margin: 0.5em 0.2em 0.4em;
    padding: 0.2em 0.6em 0.3em;
    overflow: visible;
}

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
    float: left;
}

.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span {
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -8px;
    top: 50%;
    margin-top: -8px;
}

.ui-datepicker .ui-datepicker-unselectable.ui-state-disabled > .ui-state-default {
    background-color: #e0e0e0;
}

#loading {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    background-color: #ededed;
    opacity: 0.7;
    z-index: 99;
    text-align: center;
    display: none;
}

#loading > #loading-bar {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 100;
    transform: translate(-50%, -50%);
}

#loading > #loading-bar > img {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -o-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
}

a.disabled {
    cursor: default;
    pointer-events: none;
}

.paging > li.img > a:not(.disabled) > img {
    filter: brightness(0.5);
}

.paging > li.img > a.disabled > img {
    filter: brightness(1.0);
}

.sitelink > option {
    background-color: #596369;
}

.sitelink > option:disabled {
    color: #fff;
}

.pop-img {
    display: none;
}

.pop-img.show {
    display: block;
}

/*
회원탈퇴시까지 글자
 */
.span-highlight {
    font-size: calc(1em + 4px) !important;
    font-weight: 600;
    text-decoration: underline;
    color: var(--blue);
}

/*
회원약관 글씨 조정 25.09.22
 */
.font-update {
    font-size: calc(1em + 3px) !important;
    color: var(--blue) !important;
}

/*
새로 추가 #이용수 개인정보 제공 약관 강조 글자!
 */
.span-highlight1 {
    font-size: calc(1em + 2px) !important;
    font-weight: 600;
    text-decoration: underline;
    color: var(--red);
}

/**
 새로 추가 #이용수 -> 개인정보 약관 강조!
 */
.notice-box {
    border: 3px solid var(--red);
    padding: 10px;
    display: inline-block;
}


/* 공통 플로팅 모달 */
.floating-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .45);
    padding: 20px;
    opacity: 1;
}

.floating-modal-dialog {
    width: min(100%, 460px);
    max-height: 82vh;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 18px;
    padding: 24px 24px 22px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .2);
    border-top: 6px solid var(--theme);
    animation: floatingModalPop .18s ease;
}

.floating-modal-head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 10px;
}

.floating-modal-icon {
    font-size: 2.25rem;
    color: var(--theme);
}

.floating-modal-dialog.is-warning .floating-modal-icon {
    color: var(--orange);
}

.floating-modal-title {
    font-family: var(--fonttype-1);
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 0;
    color: var(--darkgray);
}

.floating-modal-message {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #243444;
    word-break: keep-all;
    margin-bottom: 20px;
    max-height: 42vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 6px;
    scrollbar-width: thin;
    scrollbar-color: var(--theme) rgb(184 210 255 / 0.2);
}

.floating-modal-message::-webkit-scrollbar {
    width: 8px;
}

.floating-modal-message::-webkit-scrollbar-track {
    background: rgb(184 210 255 / 0.2);;
    border-radius: 8px;
}

.floating-modal-message::-webkit-scrollbar-thumb {
    background: var(--theme);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .7);
}

.floating-modal-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.floating-modal-btn {
    min-width: 96px;
    height: 2.5em;
    line-height: 2.5em;
    font-weight: 600;
}

/* 모달 내부에서만 포커스 링 제거 */
.floating-modal-overlay *:focus,
.floating-modal-overlay *:focus-visible {
    outline: none !important;
    /*box-shadow: none !important;*/
}

/* 공통 로딩 스피너 모달 */
.loading-spinner-overlay {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(7, 16, 12, .45);
    backdrop-filter: blur(2px);
}

.loading-spinner-overlay.show {
    display: flex !important;
}

.loading-spinner-modal {
    width: min(92vw, 340px);
    background: #fff;
    border-radius: 18px;
    border-top: 5px solid var(--theme);
    box-shadow: 0 20px 35px rgba(0, 0, 0, .18);
    padding: 26px 22px 22px;
    text-align: center;
}

.loading-spinner-icon-wrap {
    position: relative;
    width: 82px;
    height: 82px;
    margin: 0 auto 12px;
    display: grid;
    place-items: center;
}

.loading-spinner-icon-wrap::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: radial-gradient(circle, rgb(0 64 183 / 0.18) 0%, rgb(0 119 183 / 0.03) 72%);
}

.loading-spinner-icon {
    font-size: 3rem;
    color: var(--theme);
    z-index: 1;
}

.loading-spinner-symbol {
    position: absolute;
    /*font-size: 1.05rem;*/
    width: 25px;
    color: #fff;
    z-index: 2;
}

.loading-spinner-message {
    font-weight: 500;
    margin-top: 4px;
    color: #2d343e;
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: -.01em;
    word-break: keep-all;
}

@media (max-width: 640px) {
    .loading-spinner-modal {
        border-radius: 14px;
        padding: 22px 16px 18px;
    }

    .loading-spinner-icon-wrap {
        width: 72px;
        height: 72px;
    }

    .loading-spinner-icon {
        font-size: 2.6rem;
    }
}

@keyframes floatingModalPop {
    from {
        opacity: 0;
        transform: translateY(10px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


@media (max-width: 800px) {
    .floating-modal-overlay {
        padding: 16px;
    }

    .floating-modal-message {
        text-align: center;
    }

    .floating-modal-dialog {
        width: 100%;
        max-width: 100%;
        padding: 20px 30px 22px;
        border-radius: 14px;
    }

    .floating-modal-title {
        font-size: 1.2rem;
    }

    .floating-modal-actions {
        justify-content: stretch;
    }

    .floating-modal-btn {
        flex: 1;
        min-width: 0;
    }

}



/*요소안쪽에 그리는 로딩스피너*/
.element-in-empty {
    background: #fff;
    border: 1px dashed #d4e2d7;
    border-radius: 12px;
    color: #63756b;
    text-align: center;
    padding: 26px 12px;
    font-size: 1.4rem;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.element-in-loading {
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 0;
}

.element-in-loading .loading-spinner-modal {
    width: min(92%, 340px);
}

/*요소안쪾에 그리는 로딩스피너끝*/

/*카드박스*/
.card-box {
    background: #fff;
    border: 1px solid #e4ece6;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .04);
    padding: 18px 20px;
    font-size: 18px;
}

.card-box .bl03 {
    margin: 0;
    padding-left: 20px;
    display: grid;
    line-height: 1.55;
    color: #34443c;
    gap: 1px;
}

.card-box .bl03 .point {
    color: #070069;
    font-weight: 700;
    text-decoration: underline;
}

.card-box .bl03 ul {
    margin: 8px 0 0;
    padding-left: 16px;
    color: #5f7067;
}

.addNotice {
    /*margin-top: 14px;*/
    background: linear-gradient(180deg, #f0f2ff 0%, #ecedfa 100%);
    border: 1px solid #c6cbe8;
    border-radius: 12px;
    padding: 14px 16px;
    font-weight: 600;
}

.addNotice .title {
    margin: 0 0 8px;
    color: #070069;
    font-weight: 700;
}

.addNotice > ul {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 6px;
    color: #3c4b42;
    line-height: 1.5;
}

.footer select {
    width: 185px;
    background-color: #3f4448;
    color: #ffffff;
    border: 1px solid #666;
}

/*269518 전용랩퍼*/
.page {
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

.wrap {
    margin-bottom: 0;
}

.wrap:not(.wrap-bg) {
    min-height: auto;
    padding-bottom: 0 !important;
}

.fa-solid.fa-map-location-dot.address-icon {
    cursor: pointer;
}

/*공용 토글 스타일*/
.common-toggle-wrap {
    position: relative;
}

.common-toggle-tooltip {
    position: absolute;
    /* 라벨 왼쪽 위 */
    bottom: calc(100% + 12px);
    right: 45px;

    padding: 10px 14px;
    border-radius: 12px;
    background: linear-gradient(
            135deg,
            #003C97 0%,
            #0052CC 100%
    );
    color: #ffffff;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -0.2px;
    line-height: 1.4;

    white-space: nowrap;


    box-shadow: 0 8px 24px rgba(0, 60, 151, 0.25),
    0 2px 8px rgba(0, 0, 0, 0.08);

    border: 1px solid rgba(255, 255, 255, 0.12);

    backdrop-filter: blur(6px);

    opacity: 0;
    visibility: hidden;

    transform: translateY(6px);

    transition: opacity 0.25s ease,
    transform 0.25s ease,
    visibility 0.25s;
}

.common-toggle-tooltip.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* 말풍선 꼬리 */
.common-toggle-tooltip::after {
    content: "";

    position: absolute;
    top: 100%;
    right: 15px;

    border-width: 6px;
    border-style: solid;
    border-color: #0052CC transparent transparent transparent;

}


/*  토글 스위치 스타일 */
.common-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: #374151;
    cursor: pointer;
    user-select: none;
}

.common-toggle input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.common-toggle span {
    padding-left: 52px;

    display: inline-flex;
    align-items: center;

    min-height: 28px;
    padding-right: 12px;

    font-size: 14px;
    font-weight: 700;

    color: #64748b;
    background: #f1f5f9;

    border: 1px solid #e2e8f0;
    border-radius: 999px;

    transition: all .2s ease;
}
.common-toggle input:checked + span {
    color: var(--theme);
    background: rgba(20, 124, 246, 0.08);
    border-color: var(--theme);
}
.common-toggle span::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 50%;
    width: 40px;
    height: 22px;
    border-radius: 999px;
    background: #e5e7eb;
    border: 1px solid #cbd5e1;
    transform: translateY(-50%);
    transition: background-color .2s ease, border-color .2s ease;
}

.common-toggle span::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 50%;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.2);
    transform: translateY(-50%);
    transition: transform .2s ease;
}

.common-toggle input:checked + span::before {
    background: var(--theme);
    border-color: var(--theme);
    box-shadow: 0 0 0 3px rgba(20, 124, 246, 0.15);
}

.common-toggle input:checked + span::after {
    transform: translate(18px, -50%);
}

.common-toggle input:focus-visible + span::before {
    box-shadow: 0 0 0 3px rgba(20, 124, 246, 0.2);
}

.common-toggle input {
    margin: 0;
}
/*공용토글 스타일 끗*/

/*공용 검색 창 스타일*/
.my-search-button {
    grid-area: button;
    height: 42px;
    border: 0;
    border-radius: 10px;
    background: var(--theme);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.my-search-button:hover {
    background: #003c97;
    box-shadow: 0 6px 14px rgb(0 48 151 / 0.25);
}

.my-search-button:active {
    transform: translateY(1px);
}

input[type=text].my-search-input {
    grid-area: keyword;
    width: 100%;
    height: 42px;
    border: 1px solid #d7e2db;
    border-radius: 10px;
    padding: 0 12px;
    background: #fff;
    color: #2f3f36;
    text-align: center;
}

.my-search-input:focus {
    outline: 0;
    border-color: var(--theme);
    box-shadow: 0 0 0 2px rgb(0 85 183 / 0.14);
}

.my-search-wrap h3 {
    grid-area: area;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    /*padding: 0 12px 0 0;*/
    background: transparent;
    color: #2f3f36;
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: -.01em;
}

.my-search-wrap {
    display: grid;
    width: 55%;
    /*align-self: stretch;*/
    grid-template-columns: minmax(100px, 100px) minmax(0, 1fr) 112px;
    grid-template-areas: "area keyword button";
    align-items: center;
    gap: 10px;
}
@media (max-width: 1085px) {
    .my-search-wrap {
        width: 70%;
    }
}
@media (max-width: 920px) {
    .my-search-wrap {
        grid-template-columns: minmax(75px, 75px) minmax(0, 1fr);
        grid-template-areas:         "area keyword"        "button button";
        width: 100%;
    }
    .my-search-button {
        width: 100%;
    }
}




.is-attention-common {
    border-color: rgba(220, 53, 69, 0.9);
    box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.14);
    animation: commonAttentionPulse 1.4s ease-in-out;
}

@keyframes commonAttentionPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.25);
    }
    25% {
        box-shadow: 0 0 0 6px rgba(220, 53, 69, 0.18);
    }
    50% {
        box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.12);
    }
    75% {
        box-shadow: 0 0 0 6px rgba(220, 53, 69, 0.18);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.12);
    }
}


.pretty-line-break {
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: break-word;
}



/*공용툴팁*/

.tooltip-wrap {
    display: inline-flex;
    align-items: center;
}
.tooltip-wrap i {
    color: var(--red);
    cursor: pointer;
    transition: transform .2s ease;
}
/* 호버 시 아이콘 살짝 떠오름 */
.tooltip-wrap:hover i {
    transform: translateY(-2px) scale(1.08);
}


/* 툴팁 */
.tooltip-box {
    position: fixed; /* Floating UI가 계산 */
    top: 0;
    left: 0;

    display: none;

    padding: 10px 14px;

    border: 1px solid var(--theme);
    border-radius: 10px;

    background: #eef6ff;

    color: var(--theme);

    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;

    white-space: nowrap;

    box-shadow:
            0 4px 12px rgba(0, 0, 0, 0.08);

    z-index: 4;

    /*max-width: 290px; !* 원하는 최대 너비 *!*/

}
.tooltip-box.is-back {
    z-index: 3;
}
.tooltip-text {
    display: block;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.tooltip-box[data-show] {
    display: block;
}
.tooltip-arrow {
    position: absolute;
    width: 10px;
    height: 10px;
    background: #f2f8ff;
    border-right: 1px solid var(--theme);
    border-bottom: 1px solid var(--theme);
}


/*임산부사전등록페이지의 신청과정 스타일*/
.process {
    display: flex;
    gap: 24px;
    list-style: none;
    /*margin: 0;*/
    padding: 0;
    margin-top: 10px;
}
@media (max-width: 940px) {
    .process {
        margin-top: 25px;
    }

}

.process li {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    background: var(--white);
    border: 1px solid #E7EEF7;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(20,124,246,.08);
    /*overflow: hidden;*/
    transition: var(--transition-2);
}
.process .card{
    overflow:hidden;
}
.process li:hover{
    transform: translateY(-4px);
    box-shadow: 0 14px 34px rgba(20,124,246,.15);
}

/* Step 원형 */
.process li::before{
    content: counter(step);
    counter-increment: step;
    position: absolute;
    left: 50%;
    top: -18px;
    transform: translateX(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--theme);
    color: var(--white);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:15px;
    box-shadow:0 6px 16px rgba(20,124,246,.25);
}

.process{
    counter-reset: step;
}

/* 화살표 */
.process li:not(:last-child)::after{
    content:"";
    position:absolute;
    top:50%;
    right:-18px;
    width:36px;
    height:36px;
    transform:translateY(-50%);
    background:var(--white);
    border-radius:50%;
    box-shadow:0 4px 12px rgba(0,0,0,.08);
    z-index:2;
}

.process li:not(:last-child)::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23147CF6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4l6 6-6 6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:center;
}

/* 상단 영역 */
.process .tit{
    margin:0;
    padding:30px 16px 14px;
    text-align:center;
    font-size:var(--text-content-5);
    font-weight:700;
    color:var(--theme);
    background:var(--iceblue);
    border-bottom:1px solid #EAF3FE;
}

/* 내용 */
.process .txt{
    flex:1;
    margin:0;
    padding:24px 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:var(--darkgray);
    font-size:var(--text-content-5);
    line-height:1.7;
    word-break:keep-all;
}

/* 마지막 카드 강조 */
.process li:last-child{
    background:linear-gradient(135deg,var(--theme),#43a0ff);
}

.process li:last-child::before{
    background:color-mix(in srgb, var(--theme) 20%, white);
    color:var(--theme);
}

.process li:last-child .txt{
    color:var(--white);
    font-size:1rem;
    font-weight:700;
}

.process li:last-child .tit{
    background:transparent;
    color:rgba(255,255,255,.9);
    border-bottom:1px solid rgba(255,255,255,.15);
}

/* 반응형 */
@media (max-width:600px){

    .process{
        flex-direction:column;
        gap:18px;

    }
    .process li:last-child .txt {
        padding-top: 30px;
    }

    .process li{
        min-height:unset;
    }

    .process li::before{
        left:22px;
        transform:none;
    }

    .process .tit{
        padding:18px 16px 12px 70px;
        text-align:left;
    }

    .process .txt{
        /*justify-content:flex-start;*/
        text-align:center;
        padding:18px 18px 22px;
    }

    .process li:not(:last-child)::after{
        top:auto;
        bottom:-18px;
        left:50%;
        right:auto;
        transform:translateX(-50%) rotate(90deg);
    }
}

.bl04>li:before, p.bl04:before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 3px;
    height: 3px;
    background: #888;
}
.bl03 .bl04 {
    margin: 5px 0px 20px;
}
.bl04>li, p.bl04 {
    position: relative;
    margin-top: 4px;
    margin-left: 5px;
    padding-left: 8px;
    font-size: .95em;
}
.bl03>li, p.bl03, dd.bl03 {
    position: relative;
    /*margin: 7px 0px 7px 5px;*/
    padding-left: 12px;
}
#detail_con>h4, .bl01 {

    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: .7em;
    line-height: 1.55em;
    font-weight: 600;
    letter-spacing: -.03em;

    text-align: left;
    padding-left: 40px;

    margin-top: 65px;
    font-size: 1.55em;
    background: url(/images/bl.png) no-repeat left 0;
    color: #353847;
}
#detail_con>h4:first-child, .bl01:first-child {
     margin-top: 0;
 }
.red-emphasis {
    color: var(--red);
    font-weight: 900;
    font-size: 18px;
    margin-top: 5px;
}

/*링크스타일*/
.link-style {
    display: inline-flex;
    align-items: center;
    gap: 4px;

    color: #0066cc;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;

    transition: color .2s;
    text-indent: 0;
}

.link-style::after {
    content: "↗";
    font-size: 13px;
}

.link-style:hover {
    color: #004a99;
}

/* =========================
   공용 버튼 영역
========================= */
.common-btn-wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;

}

/* =========================
   공용 버튼 기본 스타일
========================= */
.common-btn-confirm,
.common-btn-cancel,
.common-btn-normal{
    display: inline-flex;
    justify-content: center;
    align-items: center;

    min-width: 120px;
    height: 48px;

    padding: 0 20px;

    border: none;
    border-radius: 12px;

    font-size: 15px;
    font-weight: 600;

    cursor: pointer;

    transition:
            background-color 0.2s ease,
            transform 0.15s ease,
            box-shadow 0.2s ease;
}

/* =========================
   확인 버튼
========================= */
.common-btn-confirm {
    background: var(--theme);
    color: #fff;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.common-btn-confirm:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}

.common-btn-confirm:active {
    transform: translateY(0);
}

/* =========================
   취소 버튼
========================= */
.common-btn-cancel {
    background: var(--red);
    color: #fff;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.common-btn-cancel:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}

.common-btn-cancel:active {
    transform: translateY(0);
}

/* =========================
   평소 버튼
========================= */
.common-btn-normal {
    background: var(--white);
    color: var(--darkgray);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    border: solid 1px var(--darkgray);
}

.common-btn-normal:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}

.common-btn-normal:active {
    transform: translateY(0);
}


/* =========================
   비활성화
========================= */
.common-btn-confirm:disabled,
.common-btn-cancel:disabled,
.common-btn-normal:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}
.header-wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
/* =========================
   모바일
========================= */
@media (max-width: 640px) {

    .common-btn-wrap {
        width: 100%;
        justify-content: stretch;
        gap: 10px;
    }

    .common-btn-confirm,
    .common-btn-cancel {
        flex: 1;
        min-width: 0;
        height: 50px;
    }
    .header-wrap{
        flex-direction: column;
        gap: 10px;
    }

}

.common-btn-confirm,
.common-btn-cancel {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.common-btn-confirm img,
.common-btn-cancel img{
    height: 1.3em;
    width: auto;
}
/*사용예시
<div class="common-btn-wrap">
    <button type="button" class="common-btn-confirm">
        저장
    </button>

    <button type="button" class="common-btn-cancel">
        취소
    </button>
</div>*/

.blind {
    display: none !important;
}

.common-detail-card {
    display: grid;
    gap: 18px;
}

/*동의요소에서 활용*/
.checkbox-span {
    white-space: normal;
    word-break: keep-all;
    flex: 1 1 auto;
    overflow-wrap: break-word;
}
.common-check-wrap {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #2d3d34;
    font-weight: 500;
    line-height: 1.45;
    cursor: pointer;
}
.common-check-wrap:has(input:disabled) {
    opacity: 0.6;
    cursor: not-allowed;
}

.common-scroll {
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid #d7e4db;
    border-radius: 10px;
    padding: 12px 14px;
    background: #fbfdfb;
    /* scrollbar-width: thin; */
    /* scrollbar-color:
color-mix(in srgb, var(--theme) 72%, #fff) #e5efe8; */
    scrollbar-width: thin;
    scrollbar-color: var(--theme) rgb(184 210 255 / 0.2);
}
.pre-line {
    white-space: pre-line;
}
.common-radio-group {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.text-and-holder-center {
    text-align: center;
}

.text-and-holder-center::placeholder {
    text-align: center;
}

/*데이트피커 스타일*/
.date-input-wrap {
    position: relative;
    width: fit-content;
    align-items: center;
    display: inline-flex;
}

.date-input-wrap i {
    position: absolute;
    left: 12px;

    color: #64748b;
    pointer-events: none;
}

.date-input-wrap input[type="text"].flatpickr {
    /*width: 100%;*/
    box-sizing: border-box;
    padding-left: 38px;
    text-align: center;
}

input[readonly].flatpickr:not(.force-readonly) {

    pointer-events: auto;
    color: #2f3f35 !important;
    background-color: var(--white) !important;
}
/*문장 왼편에 - 표시*/
.minus-mark li {
    position: relative;
    padding-left: 12px;
}
.minus-mark li:before {
    content: "-";
    position: absolute;
    left: 0;
    transform: translateY(-1px);

}

button:disabled {
    opacity: 0.8;
    cursor: not-allowed;
}



/*로그아웃버튼이있을때*/
a.auth-wrap:not(:has(> img.auth-btn)) {
    line-height: normal !important;
    padding: 32px 0 0 25px !important;
}
/*본인인증버튼이있을때*/
a.auth-wrap:has(> img.auth-btn) {
    padding: 30px 0 0 25px !important;
}
@keyframes authGlow {
    0%, 100% {
        transform: scale(1);
        filter:
                drop-shadow(0 0 4px rgba(255, 59, 59, .45))
                drop-shadow(0 0 8px rgba(255, 59, 59, .25));
    }

    50% {
        transform: scale(1.02);
        filter:
                drop-shadow(0 0 7px rgba(255, 59, 59, .9))
                drop-shadow(0 0 14px rgba(255, 80, 80, .55))
                drop-shadow(0 0 21px rgba(255, 120, 80, .3));
    }
}
a.auth-wrap > img:not(.auth-wrap) {
    width: 30px;
}
a.auth-wrap > img.auth-btn {
    width: 35px;
    filter:
            drop-shadow(0 0 4px rgba(0,123,255,.4))
            drop-shadow(0 0 10px rgba(0,123,255,.3));
    animation: authGlow 2s ease-in-out infinite;
}


@media (max-width: 560px) {
    .main-content:not(.not-mobile-padding-top) {
        padding-top: 40px;
    }
}