@charset "utf-8";
@import url(reset.css);
@import url(normalize.css);

@font-face {
  font-family: 'Pretendard';
  font-weight: 900;
  font-display: swap;
  src: local('Pretendard Black'), url('../fonts/pretendard/Pretendard-Black.woff2') format('woff2'), url('../fonts/pretendard/Pretendard-Black.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 800;
  font-display: swap;
  src: local('Pretendard ExtraBold'), url('../fonts/pretendard/Pretendard-ExtraBold.woff2') format('woff2'), url('../fonts/pretendard/Pretendard-ExtraBold.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 700;
  font-display: swap;
  src: local('Pretendard Bold'), url('../fonts/pretendard/Pretendard-Bold.woff2') format('woff2'), url('../fonts/pretendard/Pretendard-Bold.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 600;
  font-display: swap;
  src: local('Pretendard SemiBold'), url('../fonts/pretendard/Pretendard-SemiBold.woff2') format('woff2'), url('../fonts/pretendard/Pretendard-SemiBold.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 500;
  font-display: swap;
  src: local('Pretendard Medium'), url('../fonts/pretendard/Pretendard-Medium.woff2') format('woff2'), url('../fonts/pretendard/Pretendard-Medium.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 400;
  font-display: swap;
  src: local('Pretendard Regular'), url('../fonts/pretendard/Pretendard-Regular.woff2') format('woff2'), url('../fonts/pretendard/Pretendard-Regular.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 300;
  font-display: swap;
  src: local('Pretendard Light'), url('../fonts/pretendard/Pretendard-Light.woff2') format('woff2'), url('../fonts/pretendard/Pretendard-Light.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 200;
  font-display: swap;
  src: local('Pretendard ExtraLight'), url('../fonts/pretendard/Pretendard-ExtraLight.woff2') format('woff2'), url('../fonts/pretendard/Pretendard-ExtraLight.woff') format('woff');
}

@font-face {
  font-family: 'Pretendard';
  font-weight: 100;
  font-display: swap;
  src: local('Pretendard Thin'), url('../fonts/pretendard/Pretendard-Thin.woff2') format('woff2'), url('../fonts/pretendard/Pretendard-Thin.woff') format('woff');
}

:root { 
  --font-size: 19px;
  --inner-width: 92%;
  --inner-max-width: 1320px;
  --header-height: 80px;
  --font-family: 'Pretendard', Arial, sans-serif;
  --title-font-family: 'Pretendard', Arial, sans-serif;

  --primary-color: #05507d;
  --secondary-color: #00a5e5;
  --success-color: #4cd964;
  --danger-color: #ff3b30;
  --warning-color: #ffcd3f;
  --info-color: #089fff;
  --light-color: #fff;
  --dark-color: #333;
  --gray-color: #f3f6f9;

  --font-color: #000;
  --font-sec-color: #333;
  --background-color: #fff;
  --background-sec-color: #f3f6f9;
  --border-color: #d9e9f0;
}


/*a { color: initial; }
img { max-width: 100%; display: block; }
input {appearance:none;-webkit-appearance:none;-moz-appearance:none;border-radius: 0;-webkit-border-radius: 0;-moz-border-radius: 0;}
select { border-radius: 0;-webkit-border-radius: 0;-moz-border-radius: 0; }
select::-ms-expand { display: none; }*/

*, *:before, *:after { -webkit-box-sizing: inherit; box-sizing: inherit; box-sizing: border-box; }
a { color: initial; text-decoration: none; }
body { font-family: var(--font-family); color: var(--font-color); font-size: var(--font-size); line-height: 1.5; font-weight: 400; letter-spacing: 0; font-weight: normal; min-width: 320px; background-color: var(--background-color); word-break: keep-all; word-wrap: break-word; }
button { padding: 0; cursor: pointer; }
img { max-width: 100%; vertical-align: top; }
map area { cursor: pointer; }
b { font-weight: 700; }

caption {width:1px; height:1px; margin:-1px; position:relative; top:0; left:0; border:none; overflow:hidden; clip:rect(0, 0, 0, 0)}
.hidden{display:inline-block; width:1px; height:1px; margin:-1px; position:relative; top:0; left:0; border:none; overflow:hidden; clip:rect(0, 0, 0, 0)}
.skip_nav a{position: absolute; top: -100px; width: 100%; background-color: #000; color: #fff; transition: top 0.3s; height: 30px; line-height: 30px; z-index: 9999; text-align: center;}
.skip_nav a:focus{top:0;}

/* IE Alert */
#IE_alert { position: fixed; top: -40px; left: 0; width: 100%; height: 40px; z-index: 10000; background-color: #000; box-sizing: border-box; font-size: 13px; color: #fff; overflow: hidden; -webkit-transition: top 0.35s ease; transition: top 0.35s ease; }
#IE_alert.show { top: 0; }
#IE_alert > div { width: 96%; height: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
#IE_alert .text a { color: #fff; border-bottom: 1px solid #fff; }
#IE_alert .text a.download { display: inline-block; width: 75px; height: 20px; font-size: 13px; color: #fff; background-color: #0067b8; text-align: center; margin-left: 20px; border: 0; }
#IE_alert .close a { color: #999; display: flex; align-items: center; }
#IE_alert .close a:after { content: ''; width: 12px; height: 12px; margin-left: 10px; background-size: contain; background-position: center; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='18px' height='18px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M17.798,1.040 L9.834,9.004 L17.706,16.877 L16.877,17.706 L9.004,9.833 L1.040,17.797 L0.202,16.960 L8.166,8.995 L0.294,1.123 L1.123,0.294 L8.996,8.166 L16.960,0.202 L17.798,1.040 Z'/%3E%3C/svg%3E"); }

/*a:focus, 
button:focus,
input:focus,
textarea:focus,
select:focus { outline-width: 1px; outline-style: dashed; outline-color: #999; }*/

/* Buttons */
.btn { display: inline-flex; justify-content: center; align-items: center; gap: 7px; width: auto; height: 45px; border-radius: 6px; padding: 0 20px; font-size: calc(var(--font-size) * 0.8); line-height: 1; text-align: center; box-sizing: border-box; font-weight: 600; vertical-align: middle; white-space: nowrap; position: relative; outline: none; border: 1px solid var(--border-color); color: var(--font-color); background-color: #fff; overflow: hidden; cursor: pointer; transition: .2s ease-out; }
.btn > * { position: relative; z-index: 2; display: inline-flex; align-items: center; justify-content: center; }
.btn > img { vertical-align: middle; display: inline-block; }
.btn.small{ min-width: 34px; height: 34px; padding: 0 15px; font-size: 0.65em; }
.btn.large { min-width: 180px; height: 4em; line-height: 4em; border-radius: 4em; font-size: 1.25em; }
.btn.disabled { pointer-events: none; background-color: #DFDFDF !important; box-shadow: none; color: #9F9F9F !important; cursor: default; }
.btn.brs { border-radius: 45px; }

.btn_primary {border:1px solid var(--primary-color); background-color: var(--primary-color); color: #fff;}
.btn_secondary {border:1px solid var(--secondary-color); background-color: var(--secondary-color); color: #fff;}
.btn_success {border:1px solid var(--success-color); background-color: var(--success-color); color: #fff;}
.btn_danger {border:1px solid var(--danger-color); background-color: var(--danger-color); color: #fff;}
.btn_warning {border:1px solid var(--warning-color); background-color: var(--warning-color); color: #fff;}
.btn_info {border:1px solid var(--info-color); background-color: var(--info-color); color: #fff;}
.btn_info2 {border:1px solid var(--info2-color); background-color: var(--info2-color); color: #fff;}
.btn_light {border:1px solid var(--light-color); background-color: var(--light-color); color: var(--primary-color);}
.btn_dark {border:1px solid var(--dark-color); background-color: var(--dark-color); color: #fff;}
.btn_gray {border:1px solid var(--gray-color); background-color: var(--gray-color); color: #222;}

.btn_outline_primary {border:1px solid var(--primary-color); color: var(--primary-color); background-color: transparent;}
.btn_outline_secondary {border:1px solid var(--secondary-color); color: var(--secondary-color); background-color: transparent;}
.btn_outline_success {border:1px solid var(--success-color); color: var(--success-color); background-color: transparent;}
.btn_outline_danger {border:1px solid var(--danger-color); color: var(--danger-color); background-color: transparent;}
.btn_outline_warning {border:1px solid var(--warning-color); color: var(--warning-color); background-color: transparent;}
.btn_outline_info {border:1px solid var(--info-color); color: var(--info-color); background-color: transparent;}
.btn_outline_info2 {border:1px solid var(--info2-color); color: var(--info2-color); background-color: transparent;}
.btn_outline_light {border:1px solid var(--light-color); color: var(--light-color); background-color: transparent;}
.btn_outline_dark {border:1px solid var(--dark-color); color: var(--dark-color); background-color: transparent;}
.btn_outline_gray {border:1px solid var(--gray-color); color: var(--gray-color); background-color: transparent;}

.btn_effect:after { content: ''; position: absolute; left: 0; bottom: 0; z-index: 1; width: 100%; height: 0%; background-color: var(--secondary-color); transition: .2s ease-out; }
.btn_effect:hover { color: #fff; border-color: var(--secondary-color); }
.btn_effect:hover:after { height: 100%; }

.btnChk { display: block; position: relative; overflow: hidden; }
.btnChk > input{ position: absolute; left: -9999px; opacity: 0; }
.btnChk > span { display: flex; align-items: center; justify-content: center; height: 56px; padding: 10px 25px; border: 1px solid #bcbcbc; border-radius: 8px; cursor: pointer; font-size: 18px; color: #fff; background-color: #bcbcbc; }
.btnChk > input:checked + span { background-color: var(--primary-color); border-color: var(--primary-color); }

.btn_group { position: relative; display: flex; }
.btn_group.center { justify-content: center; }
.btn_group.right { justify-content: flex-end; }
* + .btn_group { margin-top: 40px; }
.btn_group > * + * { margin-left: 10px; }


/* Modals */
#modal_overlay{
    position: fixed;width: 100%; height: 100%;  left: 0; top: 0; z-index: 1100;/* background:url("../img/common/transparent.png") repeat; */
    background-color: rgba(0, 0, 0, 0.5); display:none;visibility:hidden;opacity:0;
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#cc000000, endColorstr=#cc000000);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#cc000000, endColorstr=#cc000000)";
    -webkit-transition:visibility .3s ease-in-out, opacity .3s ease-in-out;
    -moz-transition:visibility .3s ease-in-out, opacity .3s ease-in-out;
    -o-transition:visibility .3s ease-in-out, opacity .3s ease-in-out;
    transition:visibility .3s ease-in-out, opacity .3s ease-in-out;
}

/* #modal_overlay:nth-child(n){filter:none} */
#modal_overlay.on{visibility:visible;opacity:1;}
.modal{position: fixed;left:0;right:0;margin:auto;z-index: 1200;display:none;visibility: hidden;opacity:0;-webkit-overflow-scrolling: touch;width: 100%; max-width: 750px; min-width: 320px; max-height: 80%; min-height: 100px; border-radius: 17.5px; overflow: hidden;
    -webkit-transform: scale(0.6,0.6);
    -moz-transform: scale(0.6,0.6);
    -ms-transform: scale(0.6,0.6);
    -o-transform: scale(0.6,0.6);
    transform: scale(0.6,0.6);
    -webkit-transition:visibility .4s ease-in-out, opacity .4s ease-in-out, -webkit-transform .3s ease-in-out .4s, width 0.5s cubic-bezier(.67,.04,.32,1);
    -moz-transition:visibility .4s ease-in-out, opacity .4s ease-in-out, -moz-transform .3s ease-in-out .4s, width 0.5s cubic-bezier(.67,.04,.32,1);
    -ms-transition:visibility .4s ease-in-out, opacity .4s ease-in-out, -ms-transform .3s ease-in-out .4s, width 0.5s cubic-bezier(.67,.04,.32,1);
    -o-transition:visibility .4s ease-in-out, opacity .4s ease-in-out, -o-transform .3s ease-in-out .4s, width 0.5s cubic-bezier(.67,.04,.32,1);
    transition:visibility .4s ease-in-out, opacity .4s ease-in-out, transform .3s ease-in-out .4s, width 0.5s cubic-bezier(.67,.04,.32,1);
}
.modal.on{visibility: visible;opacity:1; -webkit-transform: scale(1,1); -moz-transform: scale(1,1); -ms-transform: scale(1,1); -o-transform: scale(1,1); transform: scale(1,1);
    -webkit-transition:visibility .3s ease-in-out, opacity .3s ease-in-out, -webkit-transform .4s cubic-bezier(.67,.04,.32,1) .1s, width 0.5s cubic-bezier(.67,.04,.32,1);
    -moz-transition:visibility .3s ease-in-out, opacity .3s ease-in-out, -moz-transform .4s cubic-bezier(.67,.04,.32,1) .1s, width 0.5s cubic-bezier(.67,.04,.32,1);
    -ms-transition:visibility .3s ease-in-out, opacity .3s ease-in-out, -ms-transform .4s cubic-bezier(.67,.04,.32,1) .1s, width 0.5s cubic-bezier(.67,.04,.32,1);
    -o-transition:visibility .3s ease-in-out, opacity .3s ease-in-out, -o-transform .4s cubic-bezier(.67,.04,.32,1) .1s, width 0.5s cubic-bezier(.67,.04,.32,1);
    transition:visibility .3s ease-in-out, opacity .3s ease-in-out, transform .4s cubic-bezier(.67,.04,.32,1) .1s, width 0.5s cubic-bezier(.67,.04,.32,1);
}
.modal > .inner{/*position: relative;*/background-color: #fff;width: 100%; height: 100%; padding: 0;}
.modal > .inner:after{content: '';display: block;clear: both;}
.modal .modal_header { padding: 0 20px; padding-top: 50px; background-color: #fff; position: relative; box-sizing: border-box; }
.modal .modal_header > h2 { font-size: 20px; color: #222; text-align: left; font-weight: 600; padding-bottom: 20px; }
.modal .modal_content { width: 100%; /*min-height: 100px;*/ overflow-y: auto; overflow-x: hidden; color: #666;}
.modal .modal_content::-webkit-scrollbar { width: 5px; }
.modal .modal_content::-webkit-scrollbar-thumb {  background-color: var(--primary-color); border-radius: 5px; }
.modal .modal_content::-webkit-scrollbar-track { background-color: transparent; }
.modal .modal_content > .alert { min-height: 40px; padding: 10px 20px; padding-left: 50px; background-color: #efefef; font-size: 1em; color: #666; position: relative; box-sizing: border-box; }
.modal .modal_content > .alert:before { content: ''; width: 17px; height: 21px; position: absolute; top: 10px; left: 20px; background-size: contain; background-repeat: no-repeat; background-position: center; background-image: url("data:image/svg+xml,%3Csvg id='Icons' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 358.19 424.56'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23858585;stroke:%23858585;stroke-width:8px;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3EVector Smart Object6%3C/title%3E%3Cg id='_8' data-name='8'%3E%3Cpath class='cls-1' d='M3400.52,1741.4a47.27,47.27,0,0,1-47.22-47.22,7,7,0,0,1,14,0,33.22,33.22,0,0,0,66.43,0,7,7,0,0,1,14,0A47.27,47.27,0,0,1,3400.52,1741.4Z' transform='translate(-3221.43 -1320.84)'/%3E%3Cpath class='cls-1' d='M3568.62,1700.63H3232.43a7,7,0,0,1-6.22-10.21l26.62-51.58a78.53,78.53,0,0,0,8.71-35.86V1494.09a138.72,138.72,0,0,1,108.78-135.69v-8.13a25.47,25.47,0,0,1,25.44-25.44h9.53a25.47,25.47,0,0,1,25.44,25.44v8.13a138.72,138.72,0,0,1,108.78,135.69V1603a78.53,78.53,0,0,0,8.71,35.86l26.62,51.58a7,7,0,0,1-6.22,10.21Zm-324.7-14h313.21l-21.35-41.37A92.6,92.6,0,0,1,3525.5,1603V1494.09a124.74,124.74,0,0,0-103-123.05,7,7,0,0,1-5.78-6.89v-13.87a11.45,11.45,0,0,0-11.44-11.44h-9.53a11.45,11.45,0,0,0-11.44,11.44v13.87a7,7,0,0,1-5.78,6.89,124.74,124.74,0,0,0-103,123.05V1603a92.6,92.6,0,0,1-10.27,42.29Z' transform='translate(-3221.43 -1320.84)'/%3E%3Cpath class='cls-1' d='M3312.65,1552a7,7,0,0,1-7-7v-41.44a102.47,102.47,0,0,1,66.9-95.86,7,7,0,0,1,4.83,13.14,88.42,88.42,0,0,0-57.73,82.72V1545A7,7,0,0,1,3312.65,1552Z' transform='translate(-3221.43 -1320.84)'/%3E%3C/g%3E%3C/svg%3E"); }
.modal .modal_content > .inner { padding: 5px 20px; }
.modal .modal_header + .modal_content > .inner { padding-top: 5px; }
.modal .modal_footer { padding: 20px; }
.modal .modal_footer .btn_group { margin-top: 0; }

.modal .modal_close { display: flex; font-size: 0; line-height: 0; position: absolute; top: 15px; right: 15px; z-index: 3; width: 25px; height: 25px; overflow: hidden; border-radius: 50%; background-color: #e4e4e4; background-size: 42%; background-position: center; background-repeat: no-repeat; border: 0; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='31.5px' height='31.5px'%3E%3Cpath fill-rule='evenodd' stroke='rgb(0, 0, 0)' stroke-width='1px' stroke-linecap='butt' stroke-linejoin='miter' fill='rgb(0, 0, 0)' d='M29.642,28.511 L28.510,29.642 L15.500,16.631 L2.489,29.642 L1.358,28.511 L14.368,15.500 L1.358,2.489 L2.489,1.358 L15.500,14.368 L28.510,1.358 L29.642,2.489 L16.631,15.500 L29.642,28.511 Z'/%3E%3C/svg%3E"); }


/* Radio Checkbox */
input[type="radio"].custom,
input[type="checkbox"].custom { box-sizing: border-box; padding: 0; }
[type="radio"].custom:not(:checked), 
[type="radio"].custom:checked, 
[type="checkbox"].custom:not(:checked), 
[type="checkbox"].custom:checked { position: absolute; left: -9999px; opacity: 0; }
[type="radio"].custom+label,
[type="checkbox"].custom+label { position: relative; margin: 5px 0; padding-left: 45px; cursor: pointer; display: inline-block; height: 30px; line-height: 30px; font-size: 1em; vertical-align: middle; margin-left: 0; margin-right: 20px; -webkit-user-select: none; -moz-user-select: none; -khtml-user-select: none; -ms-user-select: none; white-space: nowrap; }
[type="radio"].custom+label:last-child,
[type="checkbox"].custom+label:last-child { margin-right: 0; }
[type="radio"].custom+label:before,
[type="checkbox"].custom+label:before { content: ''; position: absolute; top: 0; left: 0; width: 30px; height: 30px; z-index: 0; border: 1px solid var(--border-color); background-color: #fff; transition: .2s; margin: 0;  box-sizing: border-box; border-radius: 50%; }
[type="checkbox"].custom+label:before { border-radius: 5px; }
[type="radio"].custom+label:after,
[type="checkbox"].custom+label:after { content: '';opacity: 0;  position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-size: 46%; background-repeat: no-repeat; background-position: center; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath fill='%23ffffff' d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E"); }
[type="radio"].custom+label:after { background-color: #000; transform: scale(0.5); background-image: none; border-radius: 50%; }
/*[type="radio"].custom:checked+label:before,*/
[type="checkbox"].custom:checked+label:before { background-color: #000;  border-color: #000; }
[type="radio"].custom:checked+label:after,
[type="checkbox"].custom:checked+label:after{ opacity: 1; }
[type="checkbox"].custom+label.text-none { min-width: auto; padding-left: 20px; margin-right: 0; }

.filled-in[type="checkbox"].custom:checked+label:before{ border: 1px solid #821bc3; background-color: #821bc3; }
.filled-in[type="checkbox"].custom:checked+label:after{ border-right: 2px solid #fff; border-bottom: 2px solid #fff; }
[type="checkbox"].custom.right+label { padding-left: 0; padding-right: 30px; }
[type="checkbox"].custom.right+label:before{ left: auto; right: 0; margin: 5px 0 5px 5px; }
[type="checkbox"].custom.right:checked+label:after{ left: auto; right: 5px; }
[type="checkbox"].custom:disabled+label, [type="radio"].custom:disabled+label { color: #bfbfbf; }
[type="checkbox"].custom:disabled+label:before, [type="radio"].custom:disabled+label:before{ border-color: #bfbfbf; background-color: #ddd; }

.chkBtns { display: inline-flex; flex-wrap: wrap; overflow: hidden; border-radius: 5px; border: 1px solid var(--border-color); }
.chkBtns > * { position: relative; }

.chkBtn { display: block; position: relative; overflow: hidden; }
.chkBtn > input { position: absolute; left: -9999px; opacity: 0 }
.chkBtn > span { display: inline-flex; align-items: center; justify-content: center; width: 95px; height: 36px; padding: 0 15px; border-radius: 5px; cursor: pointer; font-size: 14px; color: #000; background-color: #fff; white-space: nowrap; }
.chkBtn > input:checked + span { background-color: #000; color: #fff; }


/* Switch */
.switch, .switch * { -webkit-user-select: none; -moz-user-select: none; -khtml-user-select: none; -ms-user-select: none; }
.switch label { display: flex; align-items: center; cursor: pointer; }
.switch label input[type=checkbox] { opacity: 0; width: 0; height: 0; position: absolute; }
.switch label input[type=checkbox]:checked + .lever { background-color: var(--primary-color); }
.switch label input[type=checkbox]:checked + .lever:after { left: calc(100% - 27px); }
.switch label .lever { display: inline-block; position: relative; width: 50px; height: 30px; background-color: #e1e1e1; border-radius: 15px; transition: background 0.25s ease; vertical-align: middle; }
.switch label .lever:after { content: ""; position: absolute; display: inline-block; width: 24px; height: 24px; transform: translateY(-50%); background-color: #fff; border-radius: 100%; left: 3px; top: 50%; transition: left 0.25s ease, background .3s ease, box-shadow 0.1s ease; }
.switch label span + .lever { margin-left: 10px; }
.switch label .lever + span { margin-left: 10px; }
.switch input[type=checkbox][disabled] + .lever { cursor: default; }
.switch label input[type=checkbox][disabled] + .lever:after,
.switch label input[type=checkbox][disabled]:checked + .lever:after { background-color: var(--primary-color); }


/* Text Animate */
.char-text { line-height: 1.25; }
.char-text .splitting { overflow: hidden; display: inline-block; vertical-align: middle; }
.char-text .char { position: relative; display: inline-block; }
.char-text .char:before { content: attr(data-char); position: absolute; top: 0; left: 0; visibility: hidden; transition: inherit; 
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.char-text .char:after { content: attr(data-char); position: absolute; top: 100%; left: 0; visibility: visible; transition: transform .6s; 
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.char-texts > span { display: inline-block; }
.char-texts > span + span { margin-left: 0.25em; }

@media (hover: hover) {
  .char-text:hover .char { transition: transform .6s; transition-delay: calc(0.01s*var(--char-index)); transform: translateY(-100%); }
}


/* Form Type */
input::placeholder,
textarea::placeholder { color: #b3c5d1; }
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.ipt { width: 100%; font-size: 0.85em; background-color: #fff; border: 1px solid #d4e1e8; color: var(--font-color); font-weight: 200; padding: 10px 20px; height: 45px; border-radius: 6px; box-sizing: border-box; vertical-align: middle; line-height: 1; }
.ipt.datepicker { padding-right: 60px; background: url(../images/ico/datepicker_calender.png) right 10px center no-repeat; width: 200px; }
.ipt:disabled,
.ipt:read-only { background-color: #fafafb; }
.ipt_group { display: flex; align-items: center; }
.ipt_group + .ipt_group { margin-top: 10px; }
.ipt_group > * { width: 100%; }
.ipt_group > * + * { margin-left: 8px; }
select.ipt { padding-right: 30px; appearance:none; -ms-appearance:none; -webkit-appearance:none; -moz-appearance:none; background-color: #fff!important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23000000'%3E%3Cpath d='M480-360 280-560h400L480-360Z'/%3E%3C/svg%3E") right 5px center no-repeat; }
select.ipt option[value=""][disabled] { display: none; }
select.ipt:invalid { color: #afafaf;  }
textarea.ipt { resize: none; padding: 15px; min-height: 100px; height: auto; }
.ipt_group .em { font-size: 11px; color: #666; padding: 10px 5px; }
.ipt_group .danger { color: var(--danger-color); }
.ipt_group .text { width: auto; }
.ipt_group .ipt_label { width: auto; height: 50px; flex: none; display: flex; align-items: center; white-space: nowrap; }
.ipt_group * + .ipt_label { margin-left: 30px; }
.ipt_group .ipt_label.req:after { content: '*'; color: #e30580; margin-left: 5px; }
.ipt_group .addon { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.ipt_group .addon + * { margin-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0; }


/* Numeric Change Btn */
.numeric_wrap { display: flex; align-items: center; }
.numeric_wrap > * { box-sizing: border-box; }
.numeric_wrap .numeric { width: 50px; height: 40px; border: 0; background-color: var(--background-color); color: #333; font-size: 14px; text-align: center; border: 1px solid var(--border-color); }
.numeric_wrap .numeric::-webkit-outer-spin-button,
.numeric_wrap .numeric::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.numeric_wrap .up,
.numeric_wrap .down { width: 40px; height: 40px; border: 1px solid var(--border-color); box-sizing: border-box; background-color: var(--background-color); cursor: pointer; flex: none; background-position: center; background-repeat: no-repeat; }
.numeric_wrap .up { border-left: 0; background-image: url(../images/ico/ico_numeric_plus.png); }
.numeric_wrap .down { border-right: 0; background-image: url(../images/ico/ico_numeric_minus.png); }


/* Grid Table */
.row { display: flex; flex-wrap: wrap; }
.row.reverse { flex-direction: row-reverse; }
.row > [class*='col_'] { width: 100%; box-sizing: border-box; }
.row > .col_1 { width: 8.333%; }
.row > .col_2 { width: 16.666%; }
.row > .col_3 { width: 25%; }
.row > .col_4 { width: 33.333%; }
.row > .col_5 { width: 41.666%; }
.row > .col_6 { width: 50%; }
.row > .col_7 { width: 58.333%; }
.row > .col_8 { width: 66.666%; }
.row > .col_9 { width: 75%; }
.row > .col_10 { width: 83.333%; }
.row > .col_11 { width: 91.666%; }
.row > .col_12 { width: 100%; }


/* Modal */
.modal_layer { display: none; opacity: 0; position: fixed; top: 0; left: 0; z-index: 9999; width: 100%; height: 100vh; overflow: hidden; background-color: rgba(0, 0, 0, 0.6); backdrop-filter: blur(3px); transition: .3s ease; }
.modal_layer > .inner { position: absolute; top: 50%; left: 50%; transform: translate(-50%,50%) scale(0.7); background-color: #fff; width: 100%; max-width: 750px; min-width: 300px; max-height: 90%; min-height: 100px; border-radius: 15px; display: flex; flex-direction: column; overflow: hidden; transition: .4s ease; }
.modal_layer .modal_close { display: flex; font-size: 0; line-height: 0; position: absolute; top: 15px; right: 15px; z-index: 3; width: 30px; height: 30px; overflow: hidden; border-radius: 50%; background-color: transparent; background-size: 76%; background-position: center; background-repeat: no-repeat; border: 0; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23000000'%3E%3Cpath d='m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z'/%3E%3C/svg%3E"); }

.modal_layer .modal_header { width: 100%; height: auto; flex: none; padding: 40px 50px; background-color: #fff; position: relative; box-sizing: border-box; }
.modal_layer .modal_header > h2 { font-size: 24px; color: var(--primary-color); text-align: left; font-weight: 800; }

.modal_layer .modal_body { width: 100%; height: 100%; min-height: 100px; padding: 10px 50px; overflow-y: auto; overflow-x: hidden; }
.modal_layer .modal_body::-webkit-scrollbar { width: 5px; }
.modal_layer .modal_body::-webkit-scrollbar-thumb {  background-color: #d5d9ea; border-radius: 5px; }
.modal_layer .modal_body::-webkit-scrollbar-track { background-color: transparent; }

.modal_layer .modal_footer { width: 100%; /*min-height: 40px;*/ flex: none; padding: 10px 20px; }

.modal_layer.on { opacity: 1; }
.modal_layer.on  > .inner { transform: translate(-50%,-50%) scale(1); }

.modal_layer.alert > .inner { max-width: 480px; }
.modal_layer.alert .alert_content { text-align: center; }
.modal_layer.alert .alert_content .text { font-weight: 500; margin-top: 10px; }
.modal_layer.alert .btn_group { margin-top: 40px; }







@media screen and (max-width: 768px){
    .modal_layer:not(.alert) > .inner { top: auto; bottom: 0; transform: translate(-50%,100%); border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
    .modal_layer:not(.alert).on  > .inner { transform: translate(-50%,0%); }
}









