@charset "utf-8";
/*Thin 100 Light 300 Regular 400 Medium 500 Bold 700  Black 900
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;900&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=Monda:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nanum+Gothic:wght@400;500;700&display=swap');


html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}
/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */
html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}

article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}
summary{display:list-item}
audio,canvas,progress,video{display:inline-block}
progress{vertical-align:baseline}
audio:not([controls]){display:none;height:0}[hidden],template{display:none}
a{background-color:transparent;text-decoration:none; color:#404040}
a:active,a:hover{outline-width:0}
ol, ul, li { list-style:none; padding:0; margin:0 }
blockquote, q { quotes:none }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none }
table { border-collapse:collapse; border-spacing:0 }

abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}
b,strong{font-weight:bolder}dfn{font-style:italic}mark{background:#ff0;color:#000}
small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none}
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}
button,input,select,textarea,optgroup{font:inherit;margin:0}optgroup{font-weight:bold}
button,input{overflow:visible}button,select{text-transform:none}
button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}
button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}
button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}
legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}
[type=checkbox],[type=radio]{padding:0}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}
[type=search]{-webkit-appearance:textfield;outline-offset:-2px}
[type=search]::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
input:focus { outline: none;}
button:focus { outline: none;}
select:focus { outline: none;}
/* End extract */

html,body{
	font-family:'Noto Sans KR', sans-serif, Arial;font-weight:400;
 /*   background-color: #f6f6f6; */
    font-size:15px;letter-spacing:-0.025em;
    color: #000;}
	html{/*overflow-x:hidden*/}
body{
	margin:0;
    padding: 0;
    box-sizing: border-box;
}
h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.serif{font-family:serif}
h1,h2,h3,h4,h5,h6{font-family:'Noto Sans KR', sans-serif, Arial;font-weight:400;margin:10px 0}.wide{letter-spacing:4px}
hr{border:0;border-top:1px solid #eee;margin:20px 0}

.font1{font-family:'Monda'; font-weight:400; letter-spacing:-0.05em}
.font1-1{font-family:'Monda'; font-weight:500; letter-spacing:-0.05em}
.font2{font-family:'Noto Sans KR'; font-weight:500; letter-spacing:-0.05em}
.bold700{font-weight:700}

.image{max-width:100%;height:auto}img{vertical-align:middle}a{color:inherit}
.table,.table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.table-all{border:1px solid #ccc}
.bordered tr,.table-all tr{border-bottom:1px solid #3d3e43}.striped tbody tr:nth-child(even){background-color:#f1f1f1}
.bordered td,.table-all td{border-right:1px solid #3d3e43}
.bordered td:last-child,.table-all td:last-child{border-right:none}
.table-all tr:nth-child(odd){background-color:#fff}.table-all tr:nth-child(even){background-color:#f1f1f1}
.hoverable tbody tr:hover,.ul.hoverable li:hover{background-color:#ccc}.centered tr th,.centered tr td{text-align:center}
.table td,.table th,.table-all td,.table-all th{padding:9px 8px;display:table-cell;text-align:left;vertical-align:center}
/*.table th:first-child,.table td:first-child,.table-all th:first-child,.table-all td:first-child{padding-left:40px}*/
.btn,.button{border:none;display:inline-block;padding:6px 20px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap;border-radius: 5px;}
.btn-sm{font-size:14px;letter-spacing:-0.05em;padding:3px 20px;}

.btn:hover{}
.btn,.button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}   
input[disabled],.disabled,.btn:disabled,.button:disabled{cursor:not-allowed;opacity:0.3}.disabled *,:disabled *{pointer-events:none}
.btn.disabled:hover,.btn:disabled:hover{box-shadow:none}
.badge,.tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.badge{border-radius:50%}
.ul{list-style-type:none;padding:0;margin:0}.ul li{padding:8px 16px;border-bottom:1px solid #ddd}.ul li:last-child{border-bottom:none}
.tooltip,.display-container{position:relative}.tooltip .text{display:none}.tooltip:hover .text{display:inline-block}
.ripple:active{opacity:0.5}.ripple{transition:opacity 0s}
.input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%}
.dropdown-click,.dropdown-hover{position:relative;display:inline-block;cursor:pointer}
.dropdown-hover:hover .dropdown-content{display:block}
.dropdown-hover:first-child,.dropdown-click:hover{background-color:#ccc;color:#000}
.dropdown-hover:hover > .button:first-child,.dropdown-click:hover > .button:first-child{background-color:#ccc;color:#000}
.dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1}
/*.check,.radio{width:24px;height:24px;position:relative;top:6px;background-color:#28292c}*/
.sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto}
.bar-block .dropdown-hover,.bar-block .dropdown-click{width:100%}
.bar-block .dropdown-hover .dropdown-content,.bar-block .dropdown-click .dropdown-content{min-width:100%}
.bar-block .dropdown-hover .button,.bar-block .dropdown-click .button{width:100%;text-align:left;padding:8px 16px}
.main,#main{transition:margin-left .4s}
.modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)}
.modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px}
.bar{width:100%;overflow:hidden}.center .bar{display:inline-block;width:auto}
.bar .bar-item{padding:8px 16px;float:left;width:auto;border:none;display:block;outline:0}
.bar .dropdown-hover,.bar .dropdown-click{position:static;float:left}
.bar .button{white-space:normal}
.bar-block .bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0}
.bar-block.center .bar-item{text-align:center}.block{display:block;width:100%}
.responsive{display:block;overflow-x:auto}
.container:after,.container:before,.panel:after,.panel:before,.row:after,.row:before,.row-padding:after,.row-padding:before,
.cell-row:before,.cell-row:after,.clear:after,.clear:before,.bar:before,.bar:after{content:"";display:table;clear:both}
.wcol, .half,.third,.twothird,.threequarter,.quarter{float:left;width:100%}
input[disabled] {
  background-color: #f0f0f0;  /* 회색 배경 */
  color: #999999;             /* 흐린 텍스트 */
  border: 1px solid #ddd;     /* 테두리 색 */
  cursor: not-allowed;        /* 마우스 커서 */
}

.wcol{float:left;}
.wcol.f1{width:613px; margin-right:20px}
.s1{width:8.33333%}.s2{width:16.66666%}.s3{width:24.99999%}.s4{width:33.33333%}
.s5{width:41.66666%}.s6{width:49.99999%}.s7{width:58.33333%}.s8{width:66.66666%}
.s9{width:74.99999%}.s10{width:83.33333%}.s11{width:91.66666%}.wcol.s12{width:99.99999%}

@media (min-width:601px){
.wcol.m1{width:8.33333%}.wcol.m2{width:16.66666%}.wcol.m3,.quarter{width:24.99999%}.wcol.m4,.third{width:33.33333%}
.wcol.m5{width:41.66666%}.wcol.m6,.half{width:49.99999%}.wcol.m7{width:58.33333%}.wcol.m8,.twothird{width:66.66666%}
.wcol.m9,.threequarter{width:74.99999%}.wcol.m10{width:83.33333%}.wcol.m11{width:91.66666%}.wcol.m12{width:99.99999%}
}
@media (min-width:993px){
.wcol.l1{width:8.33333%}.wcol.l2{width:16.66666%}.wcol.l3{width:24.99999%}.wcol.l4{width:33.33333%}
.wcol.l5{width:41.66666%}.wcol.l6{width:49.99999%}.wcol.l7{width:58.33333%}.wcol.l8{width:66.66666%}
.wcol.l9{width:74.99999%}.wcol.l10{width:83.33333%}.wcol.l11{width:91.66666%}.wcol.l12{width:99.99999%}}
.rest{overflow:hidden}.stretch{margin-left:-16px;margin-right:-16px}

.mr0 {margin-right:0px !important}
.mr1 {margin-right:1% !important}
.mr2 {margin-right:2.5% !important}
.mr5 {margin-right:5px !important}
.mr10 {margin-right:10px !important}
.mr15 {margin-right:15px !important}
.mr20 {margin-right:20px !important}
.mr30 {margin-right:30px !important}
.mr50 {margin-right:50px !important}
.ml0 {margin-left:0px !important}
.ml5 {margin-left:5px !important}
.ml10 {margin-left:10px !important}
.ml15 {margin-left:15px !important}
.ml20 {margin-left:20px !important}
.ml30 {margin-left:30px !important}
.ml40 {margin-left:40px !important}
.ml50 {margin-left:50px !important}
.mt3 {margin-top:3px !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}
.mt40 {margin-top:40px !important}
.mt50 {margin-top:50px !important}
.mt65 {margin-top:65px !important}
.mb10 {margin-bottom:10px !important}
.mb15 {margin-bottom:15px !important}
.mb20 {margin-bottom:20px !important}
.mb30 {margin-bottom:30px !important}
.mb50 {margin-bottom:50px !important}

.pt10 {padding-top:10px !important}
.pt15 {padding-top:15px !important}
.pt30 {padding-top:30px !important}
.pb10 {padding-bottom:10px !important}
.pl10{padding-left:10px !important}
.pl20{padding-left:20px !important}
.pr10{padding-right:10px !important}
.pr20{padding-right:20px !important}

.content,.auto{margin-left:auto;margin-right:auto}
.content{max-width:1200px}
.auto{max-width:1140px}
.cell-row{display:table;width:100%}.cell{display:table-cell}
.cell-top{vertical-align:top}
.cell-middle{vertical-align:middle}
.cell-bottom{vertical-align:bottom}
.hide{display:none!important}
.show-block,.show{display:block!important}
.show-inline-block{display:inline-block!important}

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 { margin:0; padding:0; border:0; box-sizing: border-box;  }

body { line-height:1 }
ol, ul { list-style:none; padding:0; margin:0 }
blockquote, q { quotes:none }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none }
table { border-collapse:collapse; border-spacing:0 }
a { text-decoration:none; color:#666 }

fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
input[type="text"],input[type="submit"],input[type="password"],input[type="date"],textarea,select,select option,button{ height: 40px; padding: 7px 10px;   border: solid 1px #ccc; background-color:#ffffff; box-sizing:  border-box; font-family:'Montserrat', 'Noto Sans KR' , sans-serif;}
input[type="search"] { box-sizing: border-box; }
input[type="radio"], input[type="checkbox"] { line-height: normal; }
input[type="file"] { display:inline-block; }
input[type="range"] { display: block; width: 100%; }
select[multiple], select[size] { height: auto; }
input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted; outline: 5px auto; outline-offset: -2px; }

/* Variables */
:root {
  --bg-page: #f5f6f7;
  --bg-header: #1f2329;
  --text-primary: #1f2329;
  --text-light: #6e7280;
  --border: #d9d9d9;
  --radius: 6px;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.05);
  --color-primary: #00bfa6;
  --color-primary-dark: #009582;
  --color-accent: #f5f5f5;
  --font-base: "Noto Sans KR", system-ui, -apple-system, sans-serif;
  --transition: 0.2s ease-in-out;
}

/* Global resets / utility */
* {
  box-sizing: border-box;
}
body {
  font-family: 'Noto Sans KR', sans-serif;
  /*background: url('background.jpg') no-repeat center center fixed;*/
  background-size: cover;
  color: #000;
}
h1 {
  margin: 0;
  font-size: 36px;
  font-weight: 700;
}
button {
  cursor: pointer;
  border: none;
  background: none;
  font: inherit;
}
input, select {
  font: inherit;
  outline: none;
  border: 1px solid #ccc;
  border-radius: 4px;
}

/* Layout */
#wrap.main {
	margin: 0px auto;
    position: absolute;
    background-image: url(../images/main-bg.png);
    background-repeat: no-repeat;
	/*background-size: contain;*/
    right: 0;
    left: 0;
    top: -120px;
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: white; /* 필요시 배경색 지정 */
  z-index: 1000;           /* 다른 요소보다 위에 표시 */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* 그림자 효과 (선택) */
}
.header-wrap {
    max-width: 1200px;
    margin: 0 auto;
}

/* 상단 로그인 바 */
.header-top {
    background-color: #0F97B7;
    color: #fff;
    font-size: 14px;
    padding: 10px 0;
}

.header-top a {
    color: #fff;
    text-decoration: none;
}

.header-top .btn-wrap {
    justify-content: end;
	display: flex;
	padding-right: 15px;
}
.header .btn-wrap .btn-item {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    position: relative;
    margin-left: 40px;
    padding-left: 21px;
}
.header .btn-wrap .btn-item.login {
    background: url(../images/ic-login.png) left no-repeat;
}
.header .btn-wrap .btn-item:not(:first-child):before {
    background-color: #e9e9e9;
    content: "";
    display: block;
    height: 12px;
    left: -9px;
    position: absolute;
    top: 4px;
    width: 1px;
}

/* 중앙 바 */
.header-middle {
    background-color: #fff;
    font-size: 17px;
}

.middle-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
/*.middle-wrap .logo{
    flex: 0.9;
}*/

.logo img {
    height: 33px;
}
.menu {
    width: 70%;
    text-align: center;
}
.gnb {
    position: relative;
    display: flex;
    align-items: center;
    width: 75%;
    height: 100%;
    z-index: 100;
}

.main-menu {
    position: relative; /* sub-menu 절대위치 기준 */
	width: 100%;
    padding: 20px;
}

.main-menu > a {
    display: block;
    padding: 12px 12px;
    background: white;
    color: #333;
    text-decoration: none;
}

/* sub-menu를 앞으로 덮게 */
.sub-menu {
	position: absolute;
    top: 81px;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 999;
    max-height: 0;
    color: #666;
    font-size: 15px;
    overflow: hidden;
}

.sub-menu li {
    padding: 10px 20px;
}
.main-menu:hover > .sub-menu,
.main-menu.open .sub-menu {
    max-height: 500px; /* 펼쳐질 때 충분한 값 */
}

.header-middle.open:after {
    position: absolute;
    top: 120px;
    left: 0;
    width: 100%;
    height: 250px;
    content: '';
    background: #fff;
    z-index: 10;
    border-top: 1px solid #d3d5e2;
    box-shadow: 10px 10px 10px rgba(4, 110, 192, 0.2);
	transition: max-height 0.3s ease;
}
.main-menu:hover > a,
.main-menu .sub-menu li:hover > a {
  color: #3795B6;
  font-weight: bold;
  text-decoration: underline;
  text-underline-position: under;
}

.ico-btn button {
    background: none;
    border: none;
    cursor: pointer;
}

.ico-btn img {
    width: 56px;
    height: 56px;
	vertical-align: baseline;
}
/* 회전 애니메이션 */
.menu-btn img {
    transition: transform 0.3s ease;
}

.menu-btn img.rotate {
    transform: rotate(180deg);
}


 
 
/* 하단 공지 바 */
.header-bottom {
   /* background: linear-gradient(to right, #004f91, #0077c8);*/
	background: linear-gradient(to right, #223d7c 18%, #0077c8);
    color: #fff;
    font-size: 14px;
}

.notice {
    display: flex;
    height: 100%;
}

.notice-left {
	background: linear-gradient(to right, #223d7c 100% , #125592);
    display: flex;
    align-items: center;
    padding: 0 15px;
    flex-shrink: 0;
	border-bottom-right-radius: 24px;
}

.notice-ico {
    width: 18px;
    height: 18px;
    margin-right: 8px;
}

.notice-left span {
    white-space: nowrap;
    font-weight: 500;
}
.notice-item {
  height: 40px;
  line-height: 40px;
  white-space: nowrap;
  padding-left: 10px;
  box-sizing: border-box;
}
.notice-item a{
  color:#fff;
}

.notice-right {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
}
.notice-track {
    list-style: none;
    overflow: hidden;
    height: 40px;
}

.notice-controls button {
    background: none;
    border: none;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    margin-left: -15px;
}
.intro-wrap {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	padding-top: 199px;            /* 여백 조절 */
	border-radius: 8px;            /* 모서리 둥글게 (선택) */
}

.intro {
    padding: 135px 0;
	color: #fff;
}
.intro .intro-sub{
    margin: 22px 0px;
}
.intro img {
    margin-right: 13px;
}
.intro .intro-p1,
.intro .intro-p2  {
    margin-bottom: 10px;
}

.intro-p2 {
  position: relative;
  z-index: 1; /* 텍스트가 오버레이 위에 나오도록 */
}
.intro-p2 {
	font-size: 42px;
    font-weight: 600;
    line-height: 50px;
}
.sub-text-area {
    display: inline-block;
    vertical-align: middle;
}
.sub-text-area p{
	line-height: 23px;
}
.intro-btn {
    color: #fff;
    /* width: 10px; */
    /* border: 1px solid #fff; */
    border-radius: 25px;
    padding: 8px 27px;
    font-size: 17px;
    background: #0FA0C2;
}

/*main*/
  .slide-wrap {
    position: relative;
    width: 100%;
	height: 270px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
	margin-top: 41px;
  }

  /* 오버레이 */
  .slide-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
  }

  /* 슬라이드 컨테이너 */
.swiper-container {
	z-index: 2;
	width: 1200px;
	overflow: hidden;
}

.swiper-wrapper {
	display: flex;
	transition: transform 0.5s ease;
	justify-content: center;
	/*width: 141%;*/
	padding: 15px;
}
.main-card {
  /*  flex: 0 0 13.2%; */
	margin: 0 12px;
	border-radius: 10px;
	padding: 118px 23px 30px;
	text-align: center;
	color: white;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	background-repeat: no-repeat;
	background-position: center 15px;
	background-size: 120px;
}
.swiper-slide{
	width: 240px;
}

.main-card:hover {
    transform: translateY(-5px) scale(1.05); /* 위로 살짝 + 확대 */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25); /* 그림자 */
}

/* 카드 색상 */
.main-card:nth-child(1) {
    background-color: #04a0c2;
    background-image: url(../images/ic-card-01.png);
 }
.main-card:nth-child(2) {
	background-color: #3a8e96;
    background-image: url(../images/ic-card-02.png);
}
.main-card:nth-child(3) { 
	background-color: #223d7c; 
    background-image: url(../images/ic-card-03.png);
}
.main-card:nth-child(4) { 
	background-color: #04a0c2;
    background-image: url(../images/ic-card-04.png);	
}
.main-card:nth-child(5) { 
	background-color: #3a8e96;
    background-image: url(../images/ic-card-05.png);	
}

.main-card .title {
	font-weight: 600;
	font-size: 1.2rem;
}

.main-card .desc {
	font-weight: 300;
	font-size: 12px;
	line-height: 15px;
	margin-top: 8px;
}

 .custom-prev,
.custom-next {
  background: none;
  width: 50px;
  height: 50px;
}

.custom-prev img,
.custom-next img {
  width: 100%;
  height: 100%;
}

/* 버튼 위치 조정 */
.custom-prev {
	left: 280px;
}

.custom-next {
    right: 280px;
}
.swiper-button-next, .swiper-button-prev {
	position: absolute;
    top: 40%;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
  
  
/* 주차현황 */
.parking {
  padding: 40px 20px;
  background: #fff;
}
.parking-wrap {
    max-width: 1200px;
    position: relative;
    margin: 0 auto;
    position: relative;
}

.map {
	width: 430px;
    height: 360px;
    border: 2px solid #3a8e96;
    border-radius: 10px;
}
.map-box img {
  display: block;
  width: 100%;
}

.parking-info {
    display: flex;
    gap: 20px;
    justify-content: center;
}

.tabs {
  display: flex;
  gap: 5px;
  margin-bottom: 10px;
}
.tabs .tab {
  padding: 8px 16px;
  border: none;
  background: #eee;
  border-radius: 4px;
  cursor: pointer;
}
.tabs .tab.active {
  background: #3a8e96;
  color: #fff;
}

.info-content p {
  margin: 6px 0;
}
.highlight {
  color: #3a8e96;
  font-weight: bold;
}

/* 하단 배너 영역 */
.bottom-visual-wrap {
  position: relative;
  width: 100%;
  height: 500px;
  background: url('../images/main-bottom-bg.png') no-repeat center center / cover;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
}

.bottom-visual-content {
  position: relative;
  z-index: 2;
}
.bottom-visual-content img {
  width: 250px;
}

.bottom-visual-content h1 {
	font-size: 40px;
	margin-bottom: 15px;
	font-weight: bold;
	line-height: 1.3;
}

.bottom-visual-content p {
    font-size: 22px;
    margin-bottom: 51px;
}

.btn-apply {
    display: inline-block;
    padding: 19px 45px;
    background: #04a0c2;
    color: #fff;
    border-radius: 25px;
    font-size: 18px;
    text-decoration: none;
    transition: 0.3s;
}

.btn-apply:hover {
	opacity:0.8;
}

/* 하단 푸터 */
.footer {
  background: #f5f5f5; /* 배경색 */
  padding: 20px 40px;
  font-size: 14px;
  color: #777;
  text-align: -webkit-center;
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 1200px;
}

.footer-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer-text {
  font-size: 14px;
  color: #666;
}

.footer-right {
  text-align: right;
}

.footer-menu {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-menu li a {
  color: #999;
  text-decoration: none;
  font-weight: 500;
}

.footer-menu li a:hover {
  color: #333;
}

.footer-copy {
  margin-top: 5px;
  font-size: 12px;
  color: #aaa;
}


/*login*/
.login-wrap h3 {
    font-size: 46px;
    color: #363636;
    font-weight: 700;
    text-align: center;
}
.login-wrap .login-content {
 padding-top: 20px;
}
.login-form {
    width: 500px;
    margin: 30px auto;
}

.login-form .login-top {
    text-align: center;
    font-size: 18px;
}
.login-form .login-top {
    padding: 100px 0 30px 0;
    background: url(../images/ic-login-top.png) no-repeat top center;
    font-weight: 500;
    color: #363636;
}




.login-form .box input {
    padding-left: 55px;
}
.login-form .input-id input {
    background: url(../images/ic-id.png) no-repeat left 25px center;
}
.box label {
    font-size: 14px;
    color: #212225;
    font-weight: bold;
    display: block;
    margin-bottom: 8px;
}
.login-form .box label {
    display: none;
}



.checkbox, .radio {
    position: relative;
    display: inline-block;
    padding: 0 0 0 25px;
    height: 18px;
    cursor: pointer;
    margin-right: 20px;
    color: #848484;
    line-height: 28px;
}
.checkbox.style1 {
    height: 20px;
    line-height: 20px;
    vertical-align: middle;
}
.login-wrap .checkbox, .join-wrap .checkbox, .agreed-box label {
    padding-left: 0;
}
.login-wrap .checkbox {
    padding-left: 0;
}
.login-wrap .box input {
    padding-left: 55px;
}
.login-wrap .input-id input {
    background: url(../images/ic-id.png) no-repeat left 25px center;
}




.login-wrap .box input::placeholder {font-size:15px; color:#999; letter-spacing: -1px;}
.login-wrap .input-id input {background:url("../images/ic-id.png") no-repeat left 25px center;}
.login-wrap .input-pw input {background:url("../images/ic-pw.png") no-repeat left 25px center;}
.content1 input[type=text], input[type=number], input[type=password], input[type=text], select {
    vertical-align: middle;
    border: 1px solid #cfcfcf;
    padding: 3px 10px;
}
.box input {
    height: 55px;
    border-radius: 10px;
    border: 1px solid #ccc;
    display: inline-block;
    padding: 0 20px;
    font-size: 15px;
    width: 100%;
    letter-spacing: -0.5px;
}
.checkbox.style1 input {
    display: none;
}
input[type='checkbox'] {
    width: 15px;
    height: 15px;
    opacity: 0;
    position: absolute;
    margin: 11px 0;
    cursor: pointer;
}
.checkbox.style1 .ico {
    display: inline-block;
    width: 20px;
    height: 20px;
    position: relative;
    cursor: pointer;
    margin: 0 5px 2px 0;
    vertical-align: middle;
    background-color: #fff;
    border-radius: 5px;
    border: 1px solid #ccc;
}
.checkbox.style1 .text {
    cursor: pointer;
    color: #333333;
    font-weight: 500;
    letter-spacing: -0.5px;
}
.login-wrap .login-btn {
    border-radius: 10px;
    font-weight: 600;
}
.login-wrap .btn.block {
    max-width: 100%;
    height: 55px;
    line-height: 38px;
}

.login-wrap .login-btn {
    font-family: 'Montserrat', 'Noto Sans KR', sans-serif;
    display: inline-block;
    margin-bottom: 0;
    font-size: 18px;
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    background: #22B7D2;
    color: #ffffff;
    border-radius: 10px;
    font-weight: 600;
}
.login-wrap .btn-wrap {
	display: flex;
    justify-content: center;
    margin-top: 25px;
}
.login-wrap .btn-wrap .btn-item{
    color: #666;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    position: relative;
	    margin-left: 31px;
}
.login-wrap .btn-wrap .btn-item:first-child {
    margin: 0;
}

.login-wrap .btn-wrap .btn-item:not(:first-child):before {
    background-color: #e9e9e9;
    content: "";
    display: block;
    height: 12px;
    left: -15px;
    position: absolute;
    top: 4px;
    width: 1px;
}
.login-wrap .find_wrap {
    margin-top: 30px;
}



/*체크박스, 라디오버튼*/


.screen-reader { /* 스크린 리더를 고려해서 체크박스를 화면에서 숨김 */
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    margin: -1px;
    clip-path: inset(50%);
}

.label-box {
    position: relative;
}

.check-ico {
    width: 22px;
    height: 22px;
    border-radius: 4px;
    background-color: #fff;
    border: 1px solid gray;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.check-ico::before {
    content: "";
    position: absolute;
    box-sizing: border-box;
    width: 30%;
    height: 55%;
    left: 50%;
    top: 50%;
}
.radio-box,
.check-box {
    height: 100%;
    display: flex;
    gap: 10px;
    align-items: baseline;
    margin-top: 6px;
}
.radio-box .filter-label,
.check-box .filter-label {
    padding: 0 0 7px 0px;
}
.radio-box label,
.check-box label {
    padding-left: 30px;
    position: relative;
    cursor: pointer;
	color: #363636;
}
[type="checkbox"]:checked + .label-box .check-ico {
    border-color:  #00B2EB;
    background-color: #00B2EB;
}
[type="checkbox"]:checked + .label-box .check-ico::before {
    transform: translateX(-50%) translateY(-70%) rotateZ(40deg);
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
}

/*라디오버튼*/

.radio-ico {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid gray;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.radio-ico::before {
    content: "";
    position: absolute;
    box-sizing: border-box;
    width: 12px;
    height: 12px;
    left: 4px;
    top: 4px;
    border-radius: 13px;
    background: #fff;
}

[type="radio"]:checked + .label-box .radio-ico {
    border-color:  #00B2EB;
    background-color: #fff;
}
[type="radio"]:checked + .label-box .radio-ico::before {
    border-color: #00B2EB;
	background-color: #00B2EB;
}
[type="radio"]:checked + .label-box label {
    color: #00B2EB;
}
.table .check-box {
    width: 0;
}


/* 서브 배너 영역 */
.sub-visual {
	position: relative;
    background: url(../images/sub-bg.png) no-repeat center center;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-align: center;
    background-size: cover;
    height: 163px;
	margin-top: 122px;
}

.sub-content {
  position: relative;
  z-index: 2;
}
.sub-content h1 {
    font-size: 34px;
    padding-top: 43px;
    font-weight: 500;
}

.sub-content p {
	font-size: 17px;
    padding: 6px 0 43px;
}


/*회원가입*/
.apply .contents,
.mypage .contents,
.join .contents {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding-top: 40px;
    border-radius: 8px;
}
.step-wrap {
  margin: 0px auto;
}

.step-list {
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}

.step-item {
  text-align: center;
  flex: 1;
  position: relative;
}

.step-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 20px;
    right: -30%;
    width: 60%;
    height: 1px;
    background-color: #ddd;
    z-index: 0;
}

.step-ico {
	display: inline-block;
    width: 40px;
    height: 40px;
    position: relative;
    z-index: 1;
}
.step-ico.step01 {
	background: url(../images/ic-step-01.png) no-repeat center;
}
.step-ico.step02 {
	background: url(../images/ic-step-02.png) no-repeat center;
}
.step-ico.step03 {
	background: url(../images/ic-step-03.png) no-repeat center;
}
.step-ico.step04 {
	background: url(../images/ic-step-04.png) no-repeat center;
}
.step-ico.step05 {
	background: url(../images/ic-step-05.png) no-repeat center;
}

.step-item.active .step-ico.step01 {
  background: url("../images/ic-step-active-01.png") no-repeat center / cover;
}
.step-item.active .step-ico.step02 {
  background: url("../images/ic-step-active-02.png") no-repeat center / cover;
}
.step-item.active .step-ico.step03 {
  background: url("../images/ic-step-active-03.png") no-repeat center / cover;
}
.step-item.active .step-ico.step04 {
  background: url("../images/ic-step-active-04.png") no-repeat center / cover;
}
.step-item.active .step-ico.step05 {
  background: url("../images/ic-step-active-05.png") no-repeat center / cover;
}

.step-text {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  color: #666;
}

.step-item.active .step-text {
  color: #399EC0;
  font-weight: bold;
}

.title-wrap {
  margin: 50px 90px 0;
  border-bottom: 1px solid #e5e5e5; /* 하단 구분선 */
  padding-bottom: 8px;
}

.page-title {
  font-size: 18px;
  font-weight: 600;
  color: #333;
  display: flex;
  align-items: center;
}

.title-ico {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  background: url("../images/ic-sub-title.png") no-repeat center / contain;
}

.temrs-wrap {
	margin: 30px 90px;
	color: #868686;
}
.terms-box {
	border:1px solid #ddd;
    border-radius: 8px;
	padding:10px;
	margin-bottom:10px;
	height:120px;
	overflow-y:auto;
	font-size:13px;
	line-height:1.6;
}
.temrs-wrap.all-check {
    padding: 11px 10px 17px;
    background: #E9ECEE;
}

/*회원가입 버튼*/
.btn {
	padding: 10px 18px;
    border-radius: 5px;
    /*font-weight: 600;*/
    font-size: 17px;
    align-items: center;
    gap: 6px;
    border: none;
    transition: var(--transition);
    color: #fff;
}
.btn-align.center .btn:not(:last-child) {
    margin-right: 10px;
}
.btn.basic {
    background-color: #399098;
    border-color: #399098;
    color: #fff;
}
.btn-align {
    display: flex;
    width: 100%;
}
.btn-align.center {
    justify-content: center;
}
.btn.md {
    max-width: 140px;
    height: 50px;
    /* line-height: 50px; */
}
.btn.blue:hover {
    opacity:0.9;
    color: #fff;
}
.btn.blue {
    background-color: #0FA0C2;
    border-color: #0FA0C2;
    color: #fff;
    line-height: 14px;
}
.btn.lage {
    width: 200px;
    height: 50px;
}
.btn:hover {
    opacity:0.9;
    text-decoration: none;
}


/*이용자분류*/
/************************/
.join .card-wrap {
	display: flex;
	gap: 20px;
	margin: 90px 80px 0;
}

.join .card {
  flex: 1;
  background: #f8f8f8;
  border-radius: 10px;
  padding: 30px 20px;
  text-align: center;
  transition: all 0.3s ease;
  cursor: pointer;
}

.join .card.selected {
  background: #0094b7;
  color: #fff;
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

.join .card:hover {
  background: #0094b7;
  color: #fff;
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

.join .card-ico {
	width: 80px;
	height: 80px;
	margin: 0 auto 15px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: all 0.3s ease;
}

/* 기본 아이콘 */
.join .ico-airport { background-image: url("../images/ic-airport.png"); }
.join .ico-store   { background-image: url("../images/ic-store.png"); }
.join .ico-company { background-image: url("../images/ic-company.png"); }
.join .ico-partner { background-image: url("../images/ic-partner.png"); }

/* hover 시 아이콘 교체 */
.join .card:hover .ico-airport { background-image: url("../images/ic-airport-hover.png"); }
.join .card:hover .ico-store   { background-image: url("../images/ic-store-hover.png"); }
.join .card:hover .ico-company { background-image: url("../images/ic-company-hover.png"); }
.join .card:hover .ico-partner { background-image: url("../images/ic-partner-hover.png"); }

.join .card.selected .ico-airport { background-image: url("../images/ic-airport-hover.png"); }
.join .card.selected .ico-store   { background-image: url("../images/ic-store-hover.png"); }
.join .card.selected .ico-company { background-image: url("../images/ic-company-hover.png"); }
.join .card.selected .ico-partner { background-image: url("../images/ic-partner-hover.png"); }

.join .card:active .ico-airport { background-image: url("../images/ic-airport-hover.png"); }
.join .card:active .ico-store   { background-image: url("../images/ic-store-hover.png"); }
.join .card:active .ico-company { background-image: url("../images/ic-company-hover.png"); }
.join .card:active .ico-partner { background-image: url("../images/ic-partner-hover.png"); }

.join .card-title {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 8px;
  transition: color 0.3s;
  color: #333;
}

.join .card-desc {
  font-size: 14px;
  line-height: 1.4;
  color: #666;
  transition: color 0.3s;
}

/* hover 시 텍스트 색상 변경 */
.join .card:active .card-title,
.join .card:active .card-desc,
.join .card:hover .card-title,
.join .card:hover .card-desc,
.join .card.selected .card-title,
.join .card.selected .card-desc {
  color: #fff;
}

/*입주확인*/

.search-box {
	display: flex;
	justify-content: center;
	margin: 30px;
}
.search-box input {
    width: 65%;
    padding: 12px 15px;
    outline: none;
	margin-right: 5px;
}
.search-box button {
    cursor: pointer;
    font-size: 15px;
}
.search-box button:hover {
	background: #3b6f91;
}

.card-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 30px;
    margin: 0 135px;
}

.company-card {
    /* background: white; */
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    /* transition: transform 0.2s, box-shadow 0.2s; */
    border: 1px solid #ddd;
}



.company-card ul {
	padding: 0;
	margin: 0 0 20px 0;
	list-style: none;
}
.company-card ul li {
	margin: 6px 0;
	font-size: 14px;
	text-align: left;
}


.company-card button {
    display: inline-block;
    background: #0FA0C2;
    color: white;
    border: none;
    border-radius: 19px;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s;
    width: 100px;
    height: 30px;
}
.company-card button:hover {
	background: #3b6f91;
}
.search-box button.search-ico {
    background: url(../images/ic-btn-search.png) center left 10px no-repeat #0FA0C2;
    padding-left: 35px;
}
.search-box input.search-ico {
	background: url(../images/ic-input-search.png) center left 15px no-repeat;
    padding-left: 50px;
}
.company-card ul li p.title {
    color: #474747;
    display: inline-block;
    width: 100px;
    font-size: 15px;
    font-weight: 600;
}
.company-card ul li p.desc {
	color: #4f4f4f;
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
}
.company-card.selected{
    background:#0FA0C2;
}
.company-card.selected ul li p.title {
    color: #fff;
    display: inline-block;
    width: 100px;
    font-size: 15px;
    font-weight: 600;
}
.company-card.selected ul li p.desc {
	color: #fff;
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
}
.company-card.selected button {
    border: 1px solid #fff
}
.btn-card {
	text-align: center;
}

/* 검색결과 없음 */
.no-result {
  text-align: center;
  margin-top: 60px;
  color: #666;
}

.no-result i {
  font-size: 48px;
  color: #ccc;
  margin-bottom: 15px;
}

.no-result p {
  font-size: 16px;
  margin: 0;
}

/*본인인증*/
.complete-box,
.auth-box {
	text-align: center;
}
.auth-box p {
    padding: 135px 0 0 0;
    background: url(../images/ic-auth.png) no-repeat top center;
    font-weight: 500;
    color: #363636;
    margin: 70px auto;
    line-height: 25px;
    background-size: 125px;
}
.complete-box p {
	padding: 170px 0 0 0;
    background: url(../images/ic-comlete.png) no-repeat top center;
    font-weight: 500;
    color: #363636;
    margin: 70px auto;
    line-height: 25px;
    background-size: 150px;
}

/*회원정보입력*/
.form-wrap {
  width: 800px;
  margin: 0 auto;
}

.form-title-wrap {
    text-align: center;
    width: 100%;
    display: flex;
    justify-content: center;
}
.form-title {
    font-size: 16px;
    font-weight: 600;
    color: #00a7c8;
    margin: 30px 0 15px;
    position: relative;
    border-bottom: 1px solid #00a7c8;
    width: 125px;
    padding: 5px;
}
.form-title-ico {
    display: inline-block;
    width: 21px;
    height: 21px;
    margin-right: 8px;
}
.form-title-ico.group {
	    background: url(../images/ic-group.png) no-repeat center / contain;
}
.form-title-ico.user {
	    background: url(../images/ic-user.png) no-repeat center / contain;
}
.form-title-ico.car {
	    background: url(../images/ic-car.png) no-repeat center / contain;
}

.form-title i {
  margin-right: 5px;
}
.form-wrap .filter {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}
.form-wrap .filter {
    flex-direction: row;
    align-items: normal;
}
.filter {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end; /* 레이블 기준 정렬 */
  padding: 8px 0;
}
.filter-item {
  display: flex;
  flex-direction: column;
  min-width: 150px;
  position: relative;
  font-size: 12px;
  
}

.filter-label {
  margin-bottom: 4px;
  color: #555;
  font-weight: 500;
  font-size: 12px;
}
.form-box {
	padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #fff;
    font-size: 14px;
    width: 180px;
    min-width: 120px;
}
.form-box:focus {
	border-color: #1ab394;
}

.filter select {
  appearance: none;
  background-image: url(../images/select-arrow.png);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 10px 6px;
  padding-right: 32px;
}
.form-wrap .filter-item {
    width: 49%;
}
.form-wrap .filter-item.w100 {
    width: 100%;
}
.form-wrap .filter select,
.form-wrap .filter input {
    width: 100%;
}
.form-filter-btn {
	display: flex;
}
.form-filter-btn input {
	margin-right: 5px;
}
.form-filter-btn button {
	font-size: 14px;
	padding: 0;
	width: 120px;
}
/*파일업로드*/
.file-wrap {
    display: flex;
    margin-bottom: 10px;
}
.file-wrap input {
	border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.file-label {
  position: absolute;
  font-size: 12px;
  color: gray;
  margin-top: -20px;
  margin-left: 4px;
}

.input-box {
  flex-grow: 1;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
}

input[type="file"].hidden-file {
  display: none;
}

.file-btn {
	border-top-left-radius: 0;
    border-bottom-left-radius: 0;
	width: 120px;
	font-size: 14px;
}

/*마이페이지*/
.mypage .contens {
	padding-top:0;
}
.mypage .title-wrap {
	margin:0;
}
.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 1rem 4rem;
}

.search-content {
  background: #fff;
  padding: 16px 20px;
  border-radius: 10px;
  box-shadow: var(--shadow-sm);
  max-width: 100%;
  overflow: hidden;
  margin: 10px 0;
}

.search-content .filter {
  display: flex;
  gap: 16px;
  align-items: flex-end;
  flex-wrap: wrap;
}
.filter {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end; /* 레이블 기준 정렬 */
  padding: 8px 0;
}
.filter-item {
  display: flex;
  flex-direction: column;
  min-width: 150px;
  position: relative;
  font-size: 12px;
  
}

.filter-label {
  margin-bottom: 4px;
  color: #555;
  font-weight: 500;
  font-size: 12px;
}
.form-box {
	padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #fff;
    font-size: 14px;
    width: 180px;
    min-width: 120px;
}
.form-box:focus {
	border-color: #1ab394;
}

.filter select {
  appearance: none;
  background-image: url(../images/select-arrow.png);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 10px 6px;
  padding-right: 32px;
}
.mypage .btn {
  padding: 10px 18px;
  border-radius: 5px;
  font-weight: 600;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: none;
  transition: var(--transition);
  color: #fff;
}
.btn.green {
  background: #00A88E;
  color: #fff;
}
.btn.gray {
  background: #6F6F6F;
  color: #fff;
}
.btn:hover {
  filter: brightness(1.05);
}
.table .btn-view {
	color: #00A88E !important;
    background-color: #fff !important;
    border: 1px solid #00A88E;
    padding: 3px 12px;
    height: 30px;
    border-radius: 9px;
}
.table .btn-view:hover {color:#fff!important;background-color:#00A88E!important; border:1px solid #00A88E;}
.search-btn {
	display: flex;
    margin-top: 25px;
}
.search-btn .summary {
    flex: 1;
    align-content: end;
}

/* Table */
.page-content {
    background: #fff;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
  /*  border: 1px solid #e5e7eb; */
    margin-top: 5px;
    overflow-y: auto;
    position: relative;
    height: 520px;
    border-bottom: 0;
}
.scroll-table {
  width: 100%;
  border-collapse: collapse;
}

.scroll-table thead th {
  position: sticky;
  top: 0;
  background-color: #f9f9f9;
  z-index: 1;
  border-bottom: 1px solid #ccc;
}

.scroll-table th,
.scroll-table td {
  padding: 10px;
  /*border: 1px solid #ddd;*/
  text-align: center;
}
.table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.table thead {
  background: #fafafa;
}
.table th,
.table td {
	text-align: center;
  border-bottom: 1px solid #f0f0f0;
  white-space: nowrap;
}
.table th {
	padding: 14px 10px;
}
.table td {
    padding: 8px 10px;
}
.table th {
  font-weight: 600;
  position: relative;
}
.table tbody tr:hover {
  background: #f9f9fb;
}
.table-status {
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
  display: inline-block;
}
.status-pending { background: #fff7e6; color: #d47f00; }
.status-approved { background: #e6f7ff; color: #0275d8; }
.status-rejected { background: #ffe6e6; color: #d8000c; }

/* Pagination */
.pagination-container {
    position: relative;
    width: 100%;
    background: #fff;
    padding: 21px;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
   /* border: 1px solid #e5e7eb;*/
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
    border-top: 0;
}
.pagination {
    display: flex;
    gap: 6px;
    list-style: none;
    justify-content: center;
    flex-wrap: wrap;
}
.pagination-item {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
  background: #fff;
  transition: var(--transition);
}
.pagination-item.active {
  background: var(--text-primary);
  color: #fff;
  border-color: var(--text-primary);
}
.pagination-item:hover:not(.pagination-item.active) {
  background: #f2f4f7;
}
.pagination-item.double-prev,
.pagination-item.double-next,
.pagination-item.prev,
.pagination-item.next {
  font-size: 16px;
  font-weight: bold;
  background-color: #f9f9f9;
  color: #666;
}

.pagination-item.double-prev:hover,
.pagination-item.double-next:hover,
.pagination-item.prev:hover,
.pagination-item.next:hover {
  background-color: #e0e0e0;
}

.pagination-item.disabled {
  pointer-events: none;
  color: #ccc;
  background-color: #f5f5f5;
  border-color: #eee;
}
.pagination-item img.pagination-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.pagination-select {
    position: absolute;
    right: 33px;
    top: 21px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
}

.pagination-select select {
	appearance: none;
    background-image: url(../images/select-arrow.png);
    background-repeat: no-repeat;
    background-position: right 7px center;
    background-size: 10px 6px;
    height: 36px;
    cursor: pointer;
}
.pagination-select .form-box {
	width: 75px;
    min-width: 75px;
}
/* Totals / info */
.summary {
  font-size: 13px;
  color: var(--text-light);
}

.section {
	background: #fff;
}
.section:nth-child(even) {
	background: #F7FEFF;
}
.section-contents {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	width: 1200px;
	margin: 0 auto;
}

 /*   .section:nth-child(even) {
      flex-direction: row-reverse;
    } */

    .text-box {
      flex: 1;
    }

.text-box h4 {
    color: #04a0c2;
	font-size: 18px;
	margin-bottom: 15px;
	font-weight: 600;
}

.text-box h2 {
	font-size: 35px;
	font-weight: bold;
	margin-bottom: 30px;
    line-height: 45px;
}

.text-box p {
    font-size: 14px;
    color: #333;
    line-height: 18px;
	font-weight: 500;
}

    .image-box img {
      width: 100%;
      display: block;
    }



/* 모바일 메뉴 */
@media (max-width: 1024px) {
  .menu {
    position: fixed;
    top: 0;
    right: -300px;
    width: 300px;
    height: 100%;
    background: #fff;
    flex-direction: column;
    padding: 20px;
    transition: right 0.3s ease;
    z-index: 999;
  }
  .menu.active {
    right: 0;
  }
  .gnb {
    display: block;
  }
  .main-menu {
    position: relative;
  }
  .main-menu > a {
    display: block;
    padding: 12px 0;
  }
  .sub-menu {
    display: none;
    position: static;
    background: #f9f9f9;
    padding-left: 15px;
  }
  .main-menu.open .sub-menu {
    display: block;
  }
}

.pop-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

/* 2025-11-12 추가 */
.pop-content {
    background: #fff;
    width: 360px;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    font-family: sans-serif;
    animation: popup-fade-in 0.3s ease;
    padding: 30px;
}

.pop-content .btn-close-x {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 22px;
    cursor: pointer;
    color: #666;
    transition: color 0.2s;
    top: -12px;
}

.pop-content .btn-close:hover {
    color: #000;
}
.pop-content.small {
    width: 360px;
}
.pop-content.medium {
    width: 600px;
}
.pop-content.large .date-range input,
.pop-content.medium .date-range input {
    width: 48.3%;
}
.pop-content.large {
    width: 900px;
}
.pop-content .filter {
    flex-direction: column;
    align-items: normal;
}
.pop-content.large .filter {
    flex-direction: row;
    overflow: hidden;
}
.pop-content.large .filter-item{
    width:49%;
}
.pop-content .filter select,
.pop-content .filter input{
    width:100%;
}
.pop-header {
    position: relative;
    font-size: 18px;
    font-weight: bold;
}
.pop-header .tit {
    width: 100%;
    border-bottom: 1px solid #d3d3d3;
    padding-bottom: 20px;
}

.pop-body {
    padding: 20px;
    font-size: 15px;
    color: #333;
    background-color: #fff;
    max-height: 550px;
    overflow: auto;
}
.pop-body p{
    text-align: center;
    color: #333;
    font-size: 15px;
    padding: 15px;
}

.pop-footer {
    display: flex;
    justify-content: end;
    gap: 5px;
    padding: 20px 20px 0;
}

@keyframes pop-fade-in {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}


.file-section {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 20px;
}

.file-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.file-header label {
    font-size: 14px;
    font-weight: 600;
    color: #212529;
}

.btn-download-all {
    padding: 7px 16px;
    background-color: white;
    color: #495057;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-download-all:hover {
    background-color: #f8f9fa;
    border-color: #adb5bd;
}

.file-list {
    background-color: white;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    overflow: hidden;
}

.file-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid #f1f3f5;
}

.file-item:last-child {
    border-bottom: none;
}

.file-name {
    font-size: 14px;
    color: #212529;
}

.file-actions {
    display: flex;
    gap: 8px;
}

.btn-file {
    padding: 6px 14px;
    border: 1px solid #dee2e6;
    background-color: white;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    color: #495057;
    transition: all 0.2s;
}

.btn-file:hover {
    background-color: #f8f9fa;
    border-color: #adb5bd;
}

.btn-file.btn-download {
    background-color: #212529;
    color: white;
    border-color: #212529;
}

.btn-file.btn-download:hover {
    background-color: #343a40;
}


/* 사후환불*/
.agree-section {
    background: #fff;
    border-radius: 8px;
    padding: 3px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.agree-all {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px;
    background: #f0f8ff;
    border-radius: 4px;
    margin-bottom: 20px;
    font-weight: 500;
}

.agree-title {
    font-size: 15px;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e5e5;
}

.agree-content {
    background: #fafafa;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 15px;
    font-size: 13px;
    line-height: 1.8;
    color: #555;
}

.agree-table {
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0;
    font-size: 13px;
}

.agree-table th,
.agree-table td {
    border: 1px solid #ddd;
    padding: 12px;
    text-align: left;
}

.agree-table th {
    background: #e8f4f8;
    font-weight: 500;
    text-align: center;
    color: #333;
}

.agree-table td {
    background: #fff;
    vertical-align: top;
    line-height: 1.6;
}

.highlight-red {
    color: #e74c3c;
    font-weight: 500;
}

.highlight-blue {
    color: #0F97B7;
    font-weight: 500;
}

.agree-note {
    font-size: 12px;
    color: #666;
    line-height: 1.6;
    margin-top: 10px;
    padding: 10px;
    background: #fff9e6;
    border-radius: 4px;
}

.agree-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
    font-size: 14px;
}

.agree-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* 버튼 영역 */
.btn-area {
    text-align: center;
    margin-top: 30px;
    padding: 0px 0 52px;
}

.btn-next {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #0F97B7;
    color: #fff;
    border: none;
    padding: 15px 40px;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
}

.btn-next:hover {
    background: #0a7a94;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(15, 151, 183, 0.3);
}

.btn-next::before {
    content: '✓';
    font-size: 14px;
}

/*실시협약사*/

.manager .header-top {
    background-color: #1a3a5c;
    padding: 10px 0;
}
.manager .header-bottom {
    background: linear-gradient(to right, #1a3a5c, #2c5f8a);
    padding: 10px 0;
}
.manager .notice-left {
    background: linear-gradient(to right, #1a3a5c, #2c5f8a);
    display: flex;
    align-items: center;
    padding: 0 15px;
    flex-shrink: 0;
    border-bottom-right-radius: 24px;
}
.manager .notice-right {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 20px;
}

.manager .notice-controls {
    display: flex;
    gap: 5px;
}

.manager .notice-controls button {
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 5px 8px;
    opacity: 0.8;
    transition: opacity 0.3s;
}

.manager .notice-controls button:hover {
    opacity: 1;
}
#wrap.main.manager {
    margin: 0px auto;
    position: absolute;
    background-image: url(../images/main-bg-2.png);
    background-repeat: no-repeat;
    background-size: contain;
    right: 0;
    left: 0;
    top: -120px;
}
.manager .intro-btn {
    color: #fff;
    /* width: 10px; */
    /* border: 1px solid #fff; */
    border-radius: 25px;
    padding: 8px 27px;
    font-size: 17px;
    background: #007692;
}
.manager .main-card:nth-child(1) {
    background-color: #02677d;
    background-image: url(../images/ic-card-01.png);
}

.detail-link {
  color: #00b2eb;
  text-decoration: none;
  cursor: pointer;
}

.detail-link:hover {
  color: #2563eb;
  text-decoration: underline;
}

.toast-viewer-wrap {
    min-height: 300px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
}

/* 파일 목록 컨테이너 */
.file-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.input-btn-wrap.popUpdateFileDiv {
    text-align: right;
    display: flex;
    align-items: center;
    padding: 12px 16px;
    margin: 5px 0px;
    background: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.input-btn-wrap.popUpdateFileDiv:hover {
    background: #f0f2f5;
    border-color: #d0d0d0;
}

/* 파일명 영역 */
.orgFileName {
    flex: 1;
    overflow: hidden;
}

.orgFileName .detail-link {
    display: inline-flex;
    align-items: center;
    color: #2c5282;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: color 0.2s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.orgFileName .detail-link:hover {
    color: #1a365d;
    text-decoration: underline;
}

.input-btn-wrap.popUpdateFileDiv .btnDeleteFile:hover {
    background: #e53e3e;
    color: white;
    border-color: #e53e3e;
}

.notice-detail .filter-item{
    width:100%;
}

#viewer {
    min-height: 400px;
    overflow-y: auto;
}

#viewer .toastui-editor-contents {
    font-size: 15px !important;
    padding: 20px !important;
}

#viewer .toastui-editor-contents p {
    line-height: 1.8 !important;
    margin-bottom: 12px !important;
}

#viewer .toastui-editor-contents h1 {
    font-size: 24px !important;
}

#viewer .toastui-editor-contents img {
    max-width: 100% !important;
}

/* Heading 스타일 */
#viewer .toastui-editor-contents h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    margin: 24px 0 16px !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid #e0e0e0 !important;
}

#viewer .toastui-editor-contents h2 {
    font-size: 24px !important;
    font-weight: 700 !important;
    margin: 20px 0 12px !important;
}

#viewer .toastui-editor-contents h3 {
    font-size: 20px !important;
    font-weight: 600 !important;
    margin: 16px 0 10px !important;
}

/* 리스트 스타일 */
#viewer .toastui-editor-contents ul {
    list-style: disc !important;
    padding-left: 24px !important;
    margin: 12px 0 !important;
}

#viewer .toastui-editor-contents ol {
    list-style: decimal !important;
    padding-left: 24px !important;
    margin: 12px 0 !important;
}

#viewer .toastui-editor-contents li {
    margin: 6px 0 !important;
    line-height: 1.6 !important;
}

/* Task 체크박스 스타일 */
#viewer .toastui-editor-contents .task-list-item {
    list-style: none !important;
    padding-left: 0 !important;
}

#viewer .toastui-editor-contents .task-list-item input[type="checkbox"] {
    margin-right: 8px !important;
    cursor: pointer !important;
}

#viewer .toastui-editor-contents .task-list-item.checked {
    color: #999 !important;
    text-decoration: line-through !important;
}

/* 리스트 마커 강제 표시 */
#viewer .toastui-editor-contents ul,
#viewer .toastui-editor-contents ul li {
    list-style-type: disc !important;
    list-style-position: outside !important;
}

#viewer .toastui-editor-contents ol,
#viewer .toastui-editor-contents ol li {
    list-style-type: decimal !important;
    list-style-position: outside !important;
}

#viewer .toastui-editor-contents ul,
#viewer .toastui-editor-contents ol {
    padding-left: 30px !important;
    margin: 12px 0 !important;
    display: block !important;
}

#viewer .toastui-editor-contents li {
    display: list-item !important;
    margin: 6px 0 !important;
}

/* 중첩 리스트 */
#viewer .toastui-editor-contents ul ul {
    list-style-type: circle !important;
}

#viewer .toastui-editor-contents ul ul ul {
    list-style-type: square !important;
}

/* Blockquote 스타일 */
#viewer .toastui-editor-contents blockquote {
    margin: 16px 0 !important;
    padding: 12px 20px !important;
    border-left: 4px solid #ddd !important;
    color: #666 !important;
    font-style: italic !important;
}

#viewer .toastui-editor-contents blockquote p {
    margin: 0 !important;
}
