/* 공통 */
/* checkbox */
.container-checkbox {
	display:inline-block;
	position:relative;
	padding-left:35px;
	margin-bottom:12px;
	cursor:pointer;
	font-size: 16px;
	color:#444;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
}
.container-checkbox input {
	position:absolute;
	opacity:0;
	cursor:pointer;
}
.container-checkbox .checkmark {
	position:absolute;
	top:0;
	left:0;
	height:24px;
	width:24px;
	background-color:#fff;
	border:1px solid #ddd;
	border-radius:4px;
}
.container-checkbox:hover input ~ .checkmark {
	background-color:#fff;
}
.container-checkbox input:checked ~ .checkmark {
	background-color:var(--main-color);
	border:1px solid var(--main-color);
}
.container-checkbox .checkmark:after {
	content:"";
	position:absolute;
	display:none;
}
.container-checkbox input:checked ~ .checkmark:after {
	display:block;
}
.container-checkbox .checkmark:after {
	left:9px;
	top:5px;
	width:5px;
	height:10px;
	border:solid white;
	border-width:0 3px 3px 0;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform: rotate(45deg);
}
/* radio */
.container-radio {
	display:inline-block;
	position:relative;
	padding-left:35px;
	margin-bottom:12px;
	cursor:pointer;
	font-size:22px;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
}
.container-radio input {
	position:absolute;
	opacity:0;
	cursor:pointer;
}
.container-radio .checkmark {
	position:absolute;
	top:0;
	left:0;
	height:25px;
	width:25px;
	background-color:#eee;
	border-radius:50%;
}
.container-radio:hover input ~ .checkmark {
	background-color:#ccc;
}
.container-radio input:checked ~ .checkmark {
	background-color:var(--main-color);
}
.container-radio .checkmark:after {
	content:"";
	position:absolute;
	display:none;
}
.container-radio input:checked ~ .checkmark:after {
	display:block;
}
.container-radio .checkmark:after {
		top:9px;
	left:9px;
	width:8px;
	height:8px;
	border-radius:50%;
	background: white;
}
/* color */
.bg-primary {
	background-color:var(--main-color);
}
.font-primary {
	color:var(--main-color);
}
.font-secondary {
	color:var(--sub-color);
}
.font-red {
	color:var(--red-color);
}
.font-gray60 {
	color:#666;
}
.font-gray80 {
	color:#888;
}
.font-dark {
	color:#222;
}
.font-m {
	font-size: 18px !important;
	font-weight:500;
}
.font-medium {
	font-weight: 600;
}
/* spacing */
.mt-30 {
	margin-top:30px;
}
.mb-20 {
	margin-bottom:20px;
}
.mb-10 {
	margin-bottom:10px;
}
.mb-30 {
	margin-bottom:30px;
}
.mr-20 {
	margin-right:20px;
}
.mr-30 {
	margin-right: 30px;
}
/* align */
.align-start {
	align-items:start !important;
}
.align-start h5 {
	padding-top: 15px;
}
/* sitemap */
.sitemap {
	position:relative;
	background-color:#F4F7FA;
	padding: 40px 0;
}
.sitemap .container {
	display:flex;
	justify-content:space-around;
}
.sitemap dl {
	width:20%
}
.sitemap dl dt {
	font-size: 24px;
	font-weight:600;
	padding-bottom:10px;
}
.sitemap dl dd a {
	font-size: 16px;
	line-height:2;
}
.sitemap dl dd a:hover {
	color:var(--main-color);
	text-decoration:underline;
}
@media screen and (max-width:768px) {
		.sitemap {
		display: none;
	}
}
/* login */
.login {
	background:url('../img/sub/login-bg.jpg') top center no-repeat;
	background-size:cover;
	padding: 130px 0;
}
.sec-heading__login {
	text-align:center;
}
.sec-heading__login p {
	padding: 25px 0 50px 0;
	font-size: 24px;
}
.login-top-box>form>.form-box input:focus {
		border:1px solid var(--main-color);
}
.login-top-box {
		width:540px;
	margin:0 auto;
	padding: 60px;
	background-color:#fff;
	border-radius:20px;
}
.login-top-box>form>.form-box {
	max-width:410px;
	margin:0 auto;
}
.login-top-box>form>.form-box .id-icon-box {
	position:relative;
}
/* .login-top-box>form>.form-box img {
	position:absolute;
	left:20px;
	bottom:28px;
} */
.login-top-box>form>.form-box .id-box {
	width:100%;
	height:60px;
	padding:0 54px;
	box-sizing:border-box;
	margin-bottom:10px;
	border:1px solid #e5e5e5;
	border-radius:6px;
}
.login-top-box>form>.form-box .pass-icon-box {
	position:relative;
}
.login-top-box>form>.form-box .pass-box {
	width:100%;
	height:60px;
	padding:0 54px;
	box-sizing:border-box;
	margin-bottom:10px;
	border:1px solid #e5e5e5;
	border-radius:6px;
}
.login-top-box>form>.form-box .id-box:hover,.login-top-box>form>.form-box .pass-box:hover {
		box-shadow:0 2px 6px 0 rgba(68,68,68,0.08);
}
.login-top-box>form>.form-box .check-box:hover {
	cursor:pointer;
}
.login-top-box>form>.form-box>.submit {
	font-size: 20px;
	font-weight:600;
	width:100%;
	height:70px;
	border-radius:6px;
	background-color:var(--main-color);
	color:#fff;
	margin-top:20px;
	margin-bottom:30px;
	cursor:pointer;
	transition:all 0.3s ease;
}
.login-top-box>form>.form-box>.submit:hover {
	opacity:.9;
	box-shadow:0 5px 10px 0 rgba(0,79,159,0.3);
}
.text-box {
	text-align:center;
	color:#666;
}
.text-box>.join span {
	color:var(--main-color);
	font-weight:600;
}
.text-box>.join::after,.text-box>.id::after {
	content:"";
	border:1px solid #ddd;
	margin-right:20px;
	margin-left:20px;
}
@media screen and (max-width:768px) {
	.login-top-box {
				width:100%;
			padding: 25px;
	}
}
/* Sub Top */
.subtop {
	height:250px;
	width:100%;
	background-size:cover;
	background-position:center;
	display:flex;
	align-items:center;
	justify-content:center;
}
.subtop.subtop01 {
	background-image:url('/assets/new/img/sub/subtop-img01.png');
}
.subtop.subtop02 {
	background-image:url('/assets/new/img/sub/subtop-img02.png');
}
.subtop.subtop03 {
	background-image:url('/assets/new/img/sub/subtop-img03.png');
}
.subtop.subtop04 {
	background-image:url('/assets/new/img/sub/subtop-img04.png');
}
.subtop.subtop05 {
	background-image:url('/assets/new/img/sub/subtop-img05.png');
}
.subtop-inner {
	max-width:1200px;
	width:95%;
	text-align:center;
}
.subtop-title {
	font-size: 45px;
	font-weight:700;
	color:#fff;
	margin:0;
	margin-bottom:15px;
}
.breadcrumb-list {
	list-style:none;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:8px;
	margin:0;
	padding:0;
}
.breadcrumb-home svg,.breadcrumb-divider svg {
	width:20px;
	height:20px;
}
.breadcrumb-list a,.breadcrumb-list span {
	font-size: 16px;
	color:#fff;
}
@media screen and (max-width:768px) {
		.subtop {
			margin-top:70px;
			height:150px;
	}
	.subtop-title {
			font-size: 24px;
			font-weight:700;
			color:#fff;
			margin:0;
			margin-bottom:10px;
	}
	.breadcrumb-list {
			font-size: 14px;
			gap: 4px;
	}
}
/* ======== 서브 레이아웃 ======== */
.subpage-wrapper {
		display:flex;
	min-width:1300px;
	max-width:1300px;
	margin:0 auto;
	background-color:#fff;
	padding: 70px 0 120px 0;
}
/* ===== PC 스타일 ===== */
.lnb {
    width: 250px;
    background-color: #fff;
}

.lnb-title {
    height: 80px;
    background: url('../img/sub/lnb-bg.png');
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    display: flex;
    align-items: center;
    padding: 25px 20px;
    border-radius: 0 30px 0 30px;
}

/* ===== PC 메뉴 (항상 표시) ===== */
.lnb-menu {
    padding: 0;
    display: block;
}

/* 모바일 메뉴 숨김 */
.lnb-menu-mobile {
    display: none !important;
}

.menu-depth1 {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-depth1 > .menu-item {
    position: relative;
}

.menu-depth1 > .menu-item > .menu-link {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    color: #333;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
    height: 55px;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.menu-depth1 > .menu-item > .menu-link:hover {
    color: var(--main-color);
}

.menu-depth1 > .menu-item > .menu-link.on {
    background: url('../img/sub/ico-menu-link.svg') 200px center no-repeat;
    color: var(--main-color);
    font-weight: 600;
}

/* PC: 2depth 항상 펼쳐짐 */
.menu-depth2 {
    list-style: none;
    display: block;
    border-bottom: 1px solid #eee;
    background-color: #fff;
    padding: 0;
    margin: 0;
}

.menu-depth2 .menu-item {
    border-bottom: 1px solid #eee;
}

.menu-depth2 .menu-item:last-child {
    border-bottom: none;
}

.menu-depth2 .menu-link {
    display: block;
    padding: 12px 20px 12px 40px;
    color: #222;
    text-decoration: none;
    font-size: 15px;
    transition: all 0.3s ease;
}

.menu-depth2 .menu-link:hover,
.menu-depth2 .menu-link.on {
    color: var(--main-color);
    font-weight: 600;
}

.menu-depth2 .menu-link.on {
    text-decoration: underline;
}

/* 배너 */
.lnb-banners {
	padding-top:40px;
	display:flex;
	flex-direction:column;
	gap:10px;
}
.banner-item {
	overflow:hidden;
}
.banner-item img {
	width:100%;
	height:auto;
	display:block;
	transition:transform 0.3s ease;
}
.banner-item:hover img {
	transform: scale(1.05);
}
/* ======== 콘텐츠 영역 ======== */
.contents {
	flex:1;
	padding-left:70px;
}

.contents_sub {
	flex:1;
	padding-left:50px;
}

.contents-title {
	font-size: 30px;
	font-weight:700;
	color:#333;
	padding:22px 0;
}
.content-section {
	margin-bottom:40px;
}
.content-section h2 {
	font-size: 14px;
	color:#333;
	margin-bottom:15px;
	font-weight:600;
}
.content-section p {
	line-height:1.8;
	color:#666;
	font-size:15px;
	margin-bottom:12px;
}
.content-section ul {
	list-style:none;
}
.content-section ul li {
	position:relative;
	padding-left:15px;
	line-height:1.8;
	color:#666;
	margin-bottom:10px;
	font-size:15px;
}
.content-section ul li:before {
	content:'';
	position:absolute;
	left:2px;
	top:10px;
	width:4px;
	height:4px;
	background-color:var(--main-color);
	font-weight: bold;
}
/* ======== 모바일 스타일 (768px 이하) ======== */
@media (max-width:768px) {
	.subpage-wrapper {
			display:block;
			min-width:100%;
			max-width:100%;
			padding:0 0 60px 0;
	}
	.lnb {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #ddd;
    }

    /* PC 제목 숨김 */
    .lnb-title {
        display: none !important;
    }

    /* PC 메뉴 숨김 */
    .lnb-menu {
        display: none !important;
    }

    /* 모바일 메뉴 표시 */
    .lnb-menu-mobile {
        display: flex !important;
        background-color: #fff;
        border-bottom: 1px solid #ddd;
        height: 50px;
        gap: 0;
        padding: 0;
        margin: 0;
    }

    /* Select 컨테이너 */
    .lnb-menu-mobile .select {
        flex: 1;
        position: relative;
        border-right: 1px solid #ddd;
        display: flex;
        align-items: center;
        height: 50px;
    }

    .lnb-menu-mobile .select:last-child {
        border-right: none;
    }

    /* Select 버튼 */
    .lnb-menu-mobile .select > button {
        flex: 1;
        height: 50px;
        background-color: #fff;
        border: none;
        text-align: left;
        padding-left: 12px;
        padding-right: 30px;
        outline: none;
        font-size: 15px;
        color: #333;
        font-weight: 400;
        position: relative;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        cursor: pointer;
        box-sizing: border-box;
        transition: all 0.3s ease;
    }

    .lnb-menu-mobile .select > button:hover {
        background-color: #f5f5f5;
    }

    /* Select 화살표 아이콘 */
    .lnb-menu-mobile .select > button::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        width: 12px;
        height: 8px;
        background: url('../img/sub/ico_arrow_menu.svg') no-repeat center;
        transition: transform 0.3s ease;
    }

    /* 드롭다운 열림 상태 화살표 회전 */
    .lnb-menu-mobile .select.on > button::after {
        transform: translateY(-50%) rotate(180deg);
    }

    /* Dropdown 리스트 기본 상태 (숨김) */
    .lnb-menu-mobile .select > ul {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: #fff;
        border: 1px solid #ddd;
        border-top: none;
        box-sizing: border-box;
        max-height: 300px;
        overflow-y: auto;
        z-index: 100;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    /* Dropdown 열림 상태 */
    .lnb-menu-mobile .select.on > ul {
        display: block;
    }

    /* Dropdown 리스트 아이템 */ 
    .lnb-menu-mobile .select ul li {
        border-bottom: 1px solid #eee;
    }

    .lnb-menu-mobile .select ul li:last-child {
        border-bottom: none;
    }

    /* Dropdown 링크 */
    .lnb-menu-mobile .select ul li a {
        display: block;
        color: #333;
        text-decoration: none;
        font-size: 15px;
        padding: 12px;
        transition: all 0.3s ease;
        cursor: pointer;
        box-sizing: border-box;
    }

    .lnb-menu-mobile .select ul li a:hover {
        background-color: #f5f5f5;
        color: var(--main-color);
    }

    /* 활성 상태 */
    .lnb-menu-mobile .select ul li a.active {
        background-color: #f5f5f5;
        color: var(--main-color);
        font-weight: 600;
    }

    /* Empty 상태 (자식 메뉴 없을 때) */
    .lnb-menu-mobile .select.empty > button {
        color: #ccc;
        cursor: default;
    }

    .lnb-menu-mobile .select.empty > button:hover {
        background-color: #fff;
    }

    .lnb-menu-mobile .select.empty > button::after {
        display: none;
    }
	/* 배너 숨기기 */
	.lnb-banners {
		display: none;
	}
	/* 콘텐츠 */
	.contents {
		width:100%;
		padding:0 20px;
	}
	.contents_sub {
		width:100%;
		padding:0 20px;
	}
	.contents-title {
			font-size: 24px;
			padding:20px 0;
	}
	.content-section {
			margin-bottom:25px;
	}
	.content-section h2 {
			font-size: 12px;
			margin-bottom:12px;
	}
	.content-section p {
			font-size: 15px;
	}
	.content-section ul li {
			font-size: 15px;
	}
}
/* 테이블 */
.table-wrapper {
	width:100%;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
}
.table-wrapper table {
	width:100%;
	border-collapse:collapse;
	min-width:800px;
}
.table-wrapper thead {
	background-color:#F6F6FA;
	border-top:2px solid #222;
}
.table-wrapper th {
	font-size: 18px;
	font-weight:600;
	padding:15px 20px;
	text-align:center;
	color:#222;
	border-bottom:1px solid #e5e5e5;
}
.table-wrapper td {
	font-size: 16px;
	text-align:center;
	padding:15px 20px;
	border-bottom:1px solid #e5e5e5;
	color:#444;
}
.table-wrapper td .logo_name img {
	height:40px;
	width: auto;
 	 object-fit: contain;
}
.table-wrapper tbody tr:last-child td {
	border-bottom:1px solid #e5e5e5;
}
@media (max-width:768px) {
	.table-wrapper {
			overflow-x:auto;
			-webkit-overflow-scrolling:touch;
	}
	.table-wrapper th,.table-wrapper td {
			font-size: 15px;
			padding:15px 12px;
	}
	.table-wrapper th {
			font-size: 15px;
	}
	.table-wrapper table {
			min-width: 320px;
	}
}
/* badge */
.badge {
	display:flex;
	align-items:center;
	padding:4px 10px;
	border-radius:4px;
	width:70px;
}
.badge img {
	margin-right:5px;
}
.badge-plus {
	background-color:#E6FBEB;
	color:var(--sub-color)
}
.badge-minus {
	background-color:#FFF0F1;
	color: var(--red-color)
}
/* Pagination */
.pagination {
	display:flex;
	justify-content:center;
	align-items:center;
	gap:10px;
	margin-top:50px;
}
.pagination a,.pagination span {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:30px;
	height:40px;
	font-size: 16px;
	color:#888;
	cursor:pointer;
	position:relative;
	transition:color 0.3s ease;
}
.pagination a:hover {
	color:#222;
}
.pagination a.active,.pagination span.active {
	color:var(--main-color);
	font-weight:600;
}
.pagination a.active::after,.pagination span.active::after {
	content:'';
	position:absolute;
	bottom:0;
	left:50%;
	transform:translateX(-50%);
	width:15px;
	height:3px;
	background-color:var(--main-color);
}
.pagination .first:hover,.pagination .last:hover,.pagination .prev:hover,.pagination .next:hover {
	opacity:.6;
}
.point-exchange {
	background-color:var(--main-color);
	color: #fff;
}
/* form */
.info-box {
	padding: 30px;
	background-color:var(--box-color);
	border-radius:20px;
	width:100%;
	margin-bottom:20px;
}
.info-box .box-head {
	padding-bottom:20px;
}
.info-box h5 {
	font-size: 18px;
	font-weight:500;
	width:140px;
}
.info-box .box-head .box-title {
	font-size: 20px;
	display:flex;
	align-items:flex-start;
}
.info-box .box-head .box-title img {
	padding-right:10px;
}
.info-box .box-body.context .form-row {
	align-items:flex-start;
}
.info-box .box-body.context h6 {
	font-size: 18px;
	padding-right:30px;
}
.info-box .box-body.context h6 span {
	display:inline-block;
	width:24px;
	height:24px;
	background-color:#4F5270;
	color:#fff;
	text-align:center;
	font-size: 14px;
	border-radius:50%;
	line-height:1.8;
	margin-right:10px;
}
.info-box .box-body.context p {
	font-size: 16px;
}
.accordion .box-footer,.info-box .box-footer {
	position:relative;
	overflow:hidden;
	border-top:1px solid #E0E9F1;
	padding:15px 0 0;
}
@media (max-width:768px) {
	.info-box {
			padding: 20px;
	}
	.info-box .box-head .box-title {
		font-size:18px;
	}
	.form-section {
			padding: 20px 0;
	}
}