@charset "utf-8";

:root {
	--rn-navy: #0f172a;
	--rn-navy-light: #1e293b;
	--rn-blue-dark: #1d4ed8;
	--rn-blue-main: #2563eb;
	--rn-blue-light: #eff6ff;
	--rn-gray-text: #64748b;
	--rn-gray-border: #e2e8f0;
	--rn-gray-bg: #f8fafc;
	--rn-point: rgb(249, 115, 22);
	--rn-point-hover: rgb(234, 88, 12);
	--rn-point-light: #fff7ed;
	--rn-green: #10b981;
}

/* 페이지 타이틀 (페이지 상단 버튼 그룹 포함) */
.rn-page-header {
	padding: 50px 0 40px;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}

.rn-header-left {
	display: flex;
	align-items: center;
	gap: 24px;
}

.rn-page-title {
	font-size: 42px;
	font-weight: 900;
	color: var(--rn-navy);
	margin: 0;
	letter-spacing: -1px;
}

.rn-page-subtitle {
	font-size: 20px;
	color: var(--rn-gray-text);
	font-weight: 500;
	letter-spacing: -0.5px;
	margin-top: 6px;
}

.rn-header-divider {
	width: 2px;
	height: 32px;
	background-color: var(--rn-gray-border);
}

.rn-btn-group {
	display: flex;
	gap: 12px;
	align-items: center;
}

.rn-btn {
	padding: 14px 30px;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 700;
	transition: all 0.3s;
	display: inline-block;
	letter-spacing: -0.5px;
	text-align: center;
	cursor: pointer;
}

.rn-btn-outline {
	background: #ffffff !important;
	color: var(--rn-navy-light) !important;
	border: 1px solid var(--rn-gray-border) !important;
}

.rn-btn-outline:hover {
	background: var(--rn-gray-bg) !important;
	border-color: var(--rn-blue-main) !important;
	color: var(--rn-blue-main) !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.rn-btn-primary {
	background: var(--rn-point) !important;
	color: #ffffff !important;
	border: none !important;
	box-shadow: 0 4px 10px rgba(249, 115, 22, 0.2);
}

.rn-btn-primary:hover {
	background: var(--rn-point-hover) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 15px rgba(249, 115, 22, 0.3);
}

.rn-page-header::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg, var(--rn-blue-main), #8b5cf6, var(--rn-point), rgba(255, 255, 255, 0));
	background-size: 200% auto;
	animation: rn-gradientMove 5s linear infinite;
	border-radius: 2px;
	opacity: 0.8;
}

@keyframes rn-gradientMove {
	0% {
		background-position: 0% 50%;
	}

	50% {
		background-position: 100% 50%;
	}

	100% {
		background-position: 0% 50%;
	}
}

.renew-ip-wrapper {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px 80px;
	font-family: "Pretendard", "Noto Sans KR", -apple-system, BlinkMacSystemFont, sans-serif;
	color: #334155;
}

.renew-ip-wrapper *,
.renew-ip-wrapper *::before,
.renew-ip-wrapper *::after {
	box-sizing: border-box;
}

.renew-ip-wrapper a {
	text-decoration: none !important;
	color: inherit;
}

.renew-ip-wrapper ul,
.renew-ip-wrapper li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.renew-ip-wrapper h1,
.renew-ip-wrapper h2,
.renew-ip-wrapper h3,
.renew-ip-wrapper h4,
.renew-ip-wrapper p {
	margin: 0;
	padding: 0;
}

/* 가격 뱃지 디자인 */
.rn-header-price {
	display: flex;
	align-items: baseline;
	background: #ffffff;
	padding: 6px 20px;
	border-radius: 50px;
	border: 2px solid var(--rn-point);
	box-shadow: 0 4px 15px rgba(249, 115, 22, 0.15);
	color: var(--rn-point);
	animation: rn-pulse 2s infinite;
}

.rn-price-label {
	font-size: 14px;
	color: var(--rn-gray-text);
	font-weight: 600;
	margin-right: 12px;
	letter-spacing: -0.5px;
}

.rn-price-month {
	font-size: 18px;
	font-weight: 700;
	margin-right: 4px;
}

.rn-price-amount {
	font-size: 30px;
	font-weight: 900;
	letter-spacing: -1px;
}

.rn-price-unit {
	font-size: 20px;
	font-weight: 800;
	margin-left: 2px;
}

@keyframes rn-pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.4);
	}

	70% {
		box-shadow: 0 0 0 10px rgba(249, 115, 22, 0);
	}

	100% {
		box-shadow: 0 0 0 0 rgba(249, 115, 22, 0);
	}
}

/* 탭 메뉴 */
.rn-tabs-wrap {
	border-bottom: 2px solid var(--rn-gray-border);
	margin-bottom: 60px;
	padding-top: 10px;
}

.rn-tabs {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.rn-tabs li {
	flex: 1;
	text-align: center;
}

.rn-tabs a {
	display: block;
	padding: 15px 0;
	font-size: 16px;
	font-weight: 700;
	color: var(--rn-gray-text);
	transition: all 0.3s;
	position: relative;
}

.rn-tabs a:hover {
	color: var(--rn-blue-main);
}

.rn-tabs li.active a {
	color: var(--rn-point);
	font-weight: 800;
}

.rn-tabs li.active a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 3px;
	background-color: var(--rn-point);
}

/* 히어로 섹션 */
@property --rn-angle {
	syntax: '<angle>';
	initial-value: 0deg;
	inherits: false;
}

@keyframes rn-spin-border {
	to {
		--rn-angle: 360deg;
	}
}

.rn-hero-section {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 70px 50px;
	border-radius: 24px;
	margin-bottom: 60px;
	position: relative;
	z-index: 1;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}

.rn-hero-text {
	position: relative;
	z-index: 2;
}

.rn-hero-text h3 {
	font-size: 38px;
	font-weight: 900;
	line-height: 1.4;
	color: var(--rn-navy);
	margin-bottom: 20px;
	letter-spacing: -1px;
	word-break: keep-all;
}

.rn-hero-text h3 span {
	color: var(--rn-blue-main);
}

.rn-hero-text p {
	font-size: 18px;
	color: var(--rn-gray-text);
	line-height: 1.6;
	margin-bottom: 0;
	font-weight: 500;
	word-break: keep-all;
}

.rn-hero-section::before {
	content: '';
	position: absolute;
	inset: 2px;
	background: var(--rn-gray-bg);
	border-radius: 22px;
	z-index: -1;
}

.rn-hero-section::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 24px;
	background: conic-gradient(from var(--rn-angle),
			var(--rn-gray-border) 0%,
			var(--rn-gray-border) 60%,
			var(--rn-blue-main) 75%,
			var(--rn-point) 90%,
			var(--rn-gray-border) 100%);
	z-index: -2;
	animation: rn-spin-border 5s linear infinite;
}

/* 히어로 섹션 우측 국기 포인트 */
.rn-hero-flag {
	position: absolute;
	right: 80px;
	top: 50%;
	transform: translateY(-50%);
	width: 120px;
	height: 80px;
	border-radius: 12px;
	overflow: hidden;
	border: 4px solid #ffffff;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
	z-index: 2;
}

.rn-hero-flag img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 빠른 사용방법 / 매뉴얼 링크 */
.rn-manuals {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 120px;
}

.rn-manuals a {
	padding: 12px 24px;
	background: #fff;
	color: var(--rn-navy-light);
	border-radius: 50px;
	font-size: 15px;
	font-weight: 600;
	border: 1px solid var(--rn-gray-border);
	transition: all 0.2s;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}

.rn-manuals a:hover,
.rn-manuals a.active {
	background: var(--rn-blue-main);
	color: #fff;
	border-color: var(--rn-blue-main);
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(37, 99, 235, 0.2);
}

/* 7개 국가 통합 내비게이션 박스 */
.rn-abroad-nav-container {
	display: flex;
	background: #ffffff;
	border: 1px solid var(--rn-gray-border);
	border-radius: 12px;
	margin-bottom: 80px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
	margin-top: 40px;
}

.rn-abroad-nav-item {
	flex: 1;
	position: relative;
	padding: 50px 15px 30px;
	border-right: 1px solid var(--rn-gray-border);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: background-color 0.3s ease;
}

.rn-abroad-nav-item:hover {
	background-color: var(--rn-gray-bg);
}

.rn-abroad-nav-item:last-child {
	border-right: none;
}

.rn-nav-flag {
	position: absolute;
	top: -25px;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 50px;
	background: #ffffff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	border: 2px solid #ffffff;
	font-size: 24px;
}

.rn-nav-flag img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rn-nav-subtitle {
	font-size: 13px;
	color: var(--rn-gray-text);
	margin-bottom: 8px;
	font-weight: 600;
	letter-spacing: -0.5px;
}

.rn-nav-title {
	font-size: 22px;
	font-weight: 800;
	color: var(--rn-navy-light);
	line-height: 1.2;
	margin-bottom: 25px;
	letter-spacing: -1px;
}

.rn-nav-btn-view {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 12px 0;
	border: 1px solid var(--rn-blue-main);
	border-radius: 20px;
	font-size: 14px;
	font-weight: 700;
	color: var(--rn-blue-main) !important;
	margin-bottom: 8px;
	transition: all 0.3s;
	background: #ffffff;
	cursor: pointer;
}

.rn-nav-btn-view:hover {
	background: var(--rn-blue-main);
	color: #ffffff !important;
}

.rn-nav-btn-buy {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 12px 0;
	background: var(--rn-blue-main);
	border: 1px solid var(--rn-blue-main);
	border-radius: 20px;
	font-size: 14px;
	font-weight: 700;
	color: #ffffff !important;
	transition: all 0.3s;
	cursor: pointer;
}

.rn-nav-btn-buy:hover {
	background: var(--rn-blue-dark);
	border-color: var(--rn-blue-dark);
	box-shadow: 0 4px 10px rgba(37, 99, 235, 0.2);
}

/* 섹션 공통 */
.rn-section {
	margin-bottom: 120px;
}

.rn-sec-header {
	text-align: center;
	margin-bottom: 40px;
}

.rn-sec-title {
	font-size: 34px;
	font-weight: 900;
	color: var(--rn-navy-light);
	margin-bottom: 15px;
	letter-spacing: -1px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: transparent;
	padding: 0;
	border-radius: 0;
	border: none;
	box-shadow: none;
}

.rn-sec-title::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 32px;
	background: var(--rn-point);
	border-radius: 3px;
}

.rn-sec-desc {
	font-size: 18px;
	color: var(--rn-gray-text);
	font-weight: 500;
	line-height: 1.6;
	word-break: keep-all;
	margin-top: 0;
}

/* 5열 그리드 및 카드 스타일 */
.rn-grid-5 {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}

.rn-card-grid-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	width: 100%;
}

.rn-card {
	background: #fff;
	border: 1px solid var(--rn-gray-border);
	border-radius: 20px;
	padding: 40px 20px;
	text-align: center;
	transition: all 0.3s;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.rn-card:hover {
	transform: translateY(-8px);
	border-color: #bfdbfe;
	box-shadow: 0 15px 30px rgba(37, 99, 235, 0.08);
}

.rn-badge {
	padding: 8px 20px;
	border-radius: 30px;
	font-weight: 800;
	font-size: 14px;
	background: var(--rn-blue-light);
	color: var(--rn-blue-dark);
	margin-bottom: 25px;
	display: inline-block;
}

.rn-svg-icon {
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: var(--rn-gray-bg);
	border: 1px solid var(--rn-gray-border);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 25px;
	color: var(--rn-blue-main);
	transition: all 0.3s;
}

.rn-card:hover .rn-svg-icon {
	background: var(--rn-blue-light);
	border-color: #bfdbfe;
	transform: scale(1.05);
	color: var(--rn-blue-dark);
}

.rn-svg-icon svg {
	width: 34px;
	height: 34px;
	stroke-width: 2;
}

.rn-card p.desc {
	font-size: 16px;
	color: var(--rn-navy-light);
	line-height: 1.5;
	word-break: keep-all;
	margin: 0;
	font-weight: 700;
}

/* 서비스 소개 박스 */
.rn-info-card {
	background: #fff;
	border: 1px solid var(--rn-gray-border);
	border-radius: 20px;
	padding: 40px 30px;
	transition: all 0.3s;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.rn-info-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 30px rgba(37, 99, 235, 0.08);
	border-color: var(--rn-blue-main);
}

.rn-info-card h4 {
	font-size: 22px;
	font-weight: 800;
	color: var(--rn-navy-light);
	margin-bottom: 15px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.rn-info-card h4 svg {
	color: var(--rn-blue-main);
}

.rn-info-card p {
	font-size: 16px;
	color: var(--rn-gray-text);
	line-height: 1.6;
	font-weight: 500;
	word-break: keep-all;
	margin-bottom: 20px;
}

.rn-info-card .btn-hgx {
	display: inline-block;
	padding: 10px 24px;
	background: var(--rn-gray-bg);
	color: var(--rn-blue-main);
	border: 1px solid var(--rn-gray-border);
	border-radius: 8px;
	font-weight: 700;
	font-size: 15px;
	transition: 0.3s;
}

.rn-info-card .btn-hgx:hover {
	background: var(--rn-blue-main);
	color: #fff;
	border-color: var(--rn-blue-main);
}

/* 요금제/비교 테이블 */
.rn-table-wrap {
	background: #fff;
	border-radius: 20px;
	border: 1px solid var(--rn-gray-border);
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
	margin-bottom: 20px;
}

.rn-table {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
}

.rn-table th {
	padding: 20px 15px;
	font-size: 17px;
	font-weight: 700;
	border-right: 1px solid var(--rn-gray-border);
	border-bottom: 1px solid var(--rn-gray-border);
	color: #fff;
	background: var(--rn-navy-light);
}

.rn-table th:last-child {
	border-right: none;
}

.rn-table th.th-label {
	background-color: #f8fafc;
	color: var(--rn-gray-text);
}

.rn-table th.th-product1 {
	background-color: var(--rn-navy-light);
	color: #ffffff;
}

.rn-table th.th-product2 {
	background-color: var(--rn-blue-main);
	color: #ffffff;
}

.rn-table th.th-product3 {
	background-color: var(--rn-point);
	color: #ffffff;
	border-right: none;
}

.rn-table td {
	padding: 22px 15px;
	border-bottom: 1px solid var(--rn-gray-border);
	border-right: 1px solid var(--rn-gray-border);
	font-size: 16px;
	font-weight: 600;
	color: var(--rn-navy-light);
	vertical-align: middle;
	line-height: 1.5;
}

.rn-table td.text-left {
	text-align: left;
	padding-left: 30px;
	font-weight: 500;
	color: var(--rn-gray-text);
}

.rn-table td.col-product2 {
	background-color: #f0f7ff;
	color: var(--rn-blue-dark);
	font-weight: 700;
}

.rn-table td.col-product3 {
	background-color: #fff7ed;
	color: var(--rn-point);
	font-weight: 700;
	border-right: none;
}

.rn-table td:last-child {
	border-right: none;
}

.rn-table:not(.rn-table-nohover) tbody tr:hover {
	background-color: #f8fafc;
}

.rn-table:not(.rn-table-nohover) tbody tr:hover td.col-product2 {
	background-color: #e0f2fe;
}

.rn-table:not(.rn-table-nohover) tbody tr:hover td.col-product3 {
	background-color: #ffedd5;
}

.rn-table.rn-table-nohover tbody tr:hover {
	background-color: transparent !important;
}

.rn-table.rn-table-nohover tbody tr:hover td {
	background-color: #fff !important;
}

.rn-table-notice {
	padding: 20px 30px;
	background: #fff;
	color: var(--rn-gray-text);
	font-size: 15px;
	font-weight: 500;
	text-align: left;
	border-top: 1px solid var(--rn-gray-border);
	line-height: 1.6;
}

/* QOS 보장서비스 및 그래프 */
.rn-qos-wrap {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.rn-qos-card {
	background: #fff;
	border-radius: 24px;
	border: 1px solid var(--rn-gray-border);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
	padding: 50px 40px;
}

.rn-qos-title {
	font-size: 24px;
	font-weight: 800;
	color: var(--rn-navy-light);
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	gap: 12px;
}

.rn-qos-title::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 24px;
	background: var(--rn-point);
	border-radius: 3px;
}

.rn-qos-diag-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}

.rn-qos-diag-col {
	width: 42%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.rn-qos-img-box {
	width: 100%;
	background: #ffffff;
	border: 1px solid var(--rn-gray-border);
	border-radius: 16px;
	padding: 40px 20px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 280px;
}

.rn-qos-img-box img {
	width: 100%;
	max-width: 340px;
	height: auto;
	display: block;
	margin: 0 auto;
	object-fit: contain;
}

.rn-qos-label-card {
	background: #f8fafe;
	border: 1px solid #e1ebff;
	border-radius: 12px;
	padding: 18px 20px;
	width: 100%;
	text-align: center;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.rn-qos-label-card.highlight {
	background: #fff7ed;
	border: 1px solid #ffedd5;
}

.rn-qos-lbl-main {
	font-size: 17px;
	font-weight: 800;
	margin-bottom: 8px;
	color: var(--rn-navy-light);
}

.rn-qos-lbl-main.point {
	color: var(--rn-point);
}

.rn-qos-lbl-sub {
	font-size: 15px;
	font-weight: 600;
	color: var(--rn-gray-text);
}

.rn-qos-legend {
	width: 16%;
	display: flex;
	flex-direction: column;
	gap: 25px;
	align-items: center;
}

.rn-qos-lg-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	font-weight: 700;
	color: var(--rn-navy-light);
	white-space: nowrap;
}

.rn-qos-chart-scroll {
	width: 100%;
	overflow-x: auto;
}

.rn-qos-chart-inner {
	min-width: 800px;
	display: flex;
	padding-top: 25px;
	padding-bottom: 35px;
}

.rn-qos-y-axis {
	width: 60px;
	flex-shrink: 0;
	position: relative;
	border-right: 1px solid var(--rn-gray-border);
}

.rn-qos-y-axis span {
	position: absolute;
	right: 12px;
	transform: translateY(-50%);
	font-size: 13px;
	font-weight: 700;
	color: var(--rn-gray-text);
}

.rn-qos-graph-area {
	flex-grow: 1;
	position: relative;
	height: 250px;
	border-bottom: 1px solid var(--rn-gray-border);
}

.rn-qos-grid {
	position: absolute;
	left: 0;
	right: 0;
	border-top: 1px dashed #e2e8f0;
	z-index: 1;
}

.rn-qos-svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 2;
}

.rn-qos-path-bad {
	fill: none;
	stroke: #94a3b8;
	stroke-width: 2.5;
	stroke-linejoin: round;
	stroke-linecap: round;
}

.rn-qos-path-good {
	fill: none;
	stroke: var(--rn-blue-main);
	stroke-width: 3;
	stroke-linejoin: round;
	stroke-linecap: round;
}

.rn-qos-marker {
	position: absolute;
	left: 0;
	transform: translate(-50%, -50%);
	background: #fff;
	padding: 4px 14px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 800;
	border: 2px solid;
	z-index: 10;
	white-space: nowrap;
}

.rn-qos-marker.bad {
	border-color: #94a3b8;
	color: #475569;
}

.rn-qos-marker.good {
	border-color: var(--rn-blue-main);
	color: var(--rn-blue-main);
}

.rn-qos-max-badge {
	position: absolute;
	color: #fff;
	padding: 6px 14px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 800;
	transform: translateY(-50%);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
	z-index: 15;
}

.rn-qos-max-badge.bad {
	background: #64748b;
}

.rn-qos-max-badge.good {
	background: var(--rn-blue-main);
}

.rn-qos-x-axis {
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
}

.rn-qos-x-axis span {
	font-size: 14px;
	font-weight: 700;
	color: var(--rn-gray-text);
	transform: translateX(-50%);
}

.rn-qos-x-axis span:last-child {
	transform: translateX(0%);
}

.rn-qos-x-axis span:first-child {
	transform: translateX(0%);
}

.rn-qos-chart-legend {
	width: 160px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 30px;
	position: relative;
}

.rn-qos-cl-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 800;
	color: var(--rn-navy-light);
}

.rn-qos-cl-line {
	width: 40px;
	height: 4px;
	border-radius: 2px;
}

.rn-qos-cl-line.bad {
	background: #94a3b8;
}

.rn-qos-cl-line.good {
	background: var(--rn-blue-main);
}

.rn-qos-ping-txt {
	position: absolute;
	bottom: -15px;
	font-size: 14px;
	font-weight: 800;
	color: var(--rn-gray-text);
}

.traffic-pulse-bad {
	fill: #94a3b8;
	filter: drop-shadow(0px 0px 3px rgba(148, 163, 184, 0.8));
}

.traffic-pulse-good {
	fill: var(--rn-blue-main);
	filter: drop-shadow(0px 0px 4px rgba(37, 99, 235, 0.6));
}

/* 기기 배너 */
.rn-device-banner {
	background: #fff;
	border-radius: 24px;
	padding: 60px 40px;
	text-align: center;
	margin-bottom: 120px;
	border: 1px solid var(--rn-gray-border);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}

.rn-device-icons {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin: 40px 0 50px;
	flex-wrap: wrap;
}

.rn-device-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
}

.rn-device-icon-box {
	width: 90px;
	height: 90px;
	background: #f8fafc;
	border-radius: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--rn-blue-main);
	transition: all 0.3s;
	border: 1px solid var(--rn-gray-border);
}

.rn-device-item:hover .rn-device-icon-box {
	transform: translateY(-10px);
	box-shadow: 0 15px 35px rgba(37, 99, 235, 0.15);
	border-color: var(--rn-blue-main);
	background: var(--rn-blue-main);
	color: #fff;
}

.rn-device-icon-box svg {
	width: 44px;
	height: 44px;
	stroke-width: 1.5;
}

.rn-device-item span {
	font-size: 16px;
	font-weight: 700;
	color: var(--rn-navy-light);
}

/* 서브페이지 사용 방법 애니메이션 */
.rn-how-to-use {
	background: #ffffff;
	border-radius: 24px;
	padding: 80px 40px;
	margin-bottom: 120px;
	border: 1px solid var(--rn-gray-border);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}

.rn-htu-header {
	text-align: center;
	margin-bottom: 70px;
}

.rn-htu-title {
	font-size: 34px;
	font-weight: 900;
	color: var(--rn-navy-light);
	letter-spacing: -1px;
}

.rn-htu-title span {
	color: var(--rn-blue-main);
}

.rn-step-wrap {
	position: relative;
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.rn-step-track {
	position: absolute;
	top: 29px;
	left: 15%;
	right: 15%;
	height: 2px;
	background: #cbd5e1;
	z-index: 1;
}

.rn-step-ball {
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--rn-blue-main);
	z-index: 5;
	box-shadow: none !important;
	animation: rnBallMove 9s infinite ease-in-out;
}

.rn-step-item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	z-index: 10;
}

.rn-step-circle {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #f8fafc;
	border: 2px solid #94a3b8;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 900;
	color: #64748b;
	margin-bottom: 25px;
	transition: all 0.3s;
	position: relative;
	box-shadow: 0 0 0 0 rgba(239, 246, 255, 0);
}

.rn-step-text {
	text-align: center;
}

.rn-step-text strong {
	display: block;
	font-size: 19px;
	color: var(--rn-navy-light);
	margin-bottom: 8px;
	font-weight: 800;
	letter-spacing: -0.5px;
	transition: all 0.3s;
}

.rn-step-text span {
	font-size: 16px;
	color: var(--rn-gray-text);
	font-weight: 500;
}

@keyframes rnBallMove {

	0%,
	20% {
		left: 0%;
		opacity: 1;
	}

	30%,
	50% {
		left: 50%;
		opacity: 1;
	}

	60%,
	80% {
		left: 100%;
		opacity: 1;
	}

	85%,
	95% {
		left: 100%;
		opacity: 0;
	}

	100% {
		left: 0%;
		opacity: 0;
	}
}

.rn-step-item.step-1 .rn-step-circle {
	animation: rnNode1 9s infinite ease-in-out;
}

.rn-step-item.step-2 .rn-step-circle {
	animation: rnNode2 9s infinite ease-in-out;
}

.rn-step-item.step-3 .rn-step-circle {
	animation: rnNode3 9s infinite ease-in-out;
}

@keyframes rnNode1 {

	0%,
	20% {
		border-color: var(--rn-blue-main);
		color: var(--rn-blue-main);
		box-shadow: 0 0 0 8px #eff6ff;
		background: #ffffff;
	}

	30%,
	100% {
		border-color: #94a3b8;
		color: #64748b;
		box-shadow: 0 0 0 0 rgba(239, 246, 255, 0);
		background: #f8fafc;
	}
}

@keyframes rnNode2 {

	0%,
	20% {
		border-color: #94a3b8;
		color: #64748b;
		box-shadow: 0 0 0 0 rgba(239, 246, 255, 0);
		background: #f8fafc;
	}

	30%,
	50% {
		border-color: var(--rn-blue-main);
		color: var(--rn-blue-main);
		box-shadow: 0 0 0 8px #eff6ff;
		background: #ffffff;
	}

	60%,
	100% {
		border-color: #94a3b8;
		color: #64748b;
		box-shadow: 0 0 0 0 rgba(239, 246, 255, 0);
		background: #f8fafc;
	}
}

@keyframes rnNode3 {

	0%,
	50% {
		border-color: #94a3b8;
		color: #64748b;
		box-shadow: 0 0 0 0 rgba(239, 246, 255, 0);
		background: #f8fafc;
	}

	60%,
	80% {
		border-color: var(--rn-blue-main);
		color: var(--rn-blue-main);
		box-shadow: 0 0 0 8px #eff6ff;
		background: #ffffff;
	}

	90%,
	100% {
		border-color: #94a3b8;
		color: #64748b;
		box-shadow: 0 0 0 0 rgba(239, 246, 255, 0);
		background: #f8fafc;
	}
}

.rn-step-item.step-1 .rn-step-text strong {
	animation: rnTxt1 9s infinite ease-in-out;
}

.rn-step-item.step-2 .rn-step-text strong {
	animation: rnTxt2 9s infinite ease-in-out;
}

.rn-step-item.step-3 .rn-step-text strong {
	animation: rnTxt3 9s infinite ease-in-out;
}

@keyframes rnTxt1 {

	0%,
	20% {
		color: var(--rn-blue-main);
	}

	30%,
	100% {
		color: var(--rn-navy-light);
	}
}

@keyframes rnTxt2 {

	0%,
	20% {
		color: var(--rn-navy-light);
	}

	30%,
	50% {
		color: var(--rn-blue-main);
	}

	60%,
	100% {
		color: var(--rn-navy-light);
	}
}

@keyframes rnTxt3 {

	0%,
	50% {
		color: var(--rn-navy-light);
	}

	60%,
	80% {
		color: var(--rn-blue-main);
	}

	90%,
	100% {
		color: var(--rn-navy-light);
	}
}

/* FAQ 아코디언 */
.faq-section {
	margin-bottom: 120px;
}

.faq-section .container {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	text-align: left;
}

.faq-section .section-title {
	font-size: 34px;
	font-weight: 900;
	color: var(--rn-navy-light);
	margin-bottom: 40px;
	letter-spacing: -1px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	justify-content: center;
	width: 100%;
}

.faq-section .section-title::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 32px;
	background: var(--rn-point);
	border-radius: 3px;
}

.faq-list {
	width: 100%;
	margin: 0 auto;
	background: #fff;
	border-radius: 20px;
	border: 1px solid var(--rn-gray-border);
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.faq-item {
	border-bottom: 1px solid var(--rn-gray-border);
	text-align: left;
}

.faq-item:last-child {
	border-bottom: none;
}

.faq-question {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px 30px;
	font-size: 18px;
	font-weight: 700;
	color: var(--rn-navy-light);
	cursor: pointer;
	transition: all 0.2s;
}

.faq-question:hover {
	background: var(--rn-gray-bg);
	color: var(--rn-blue-main);
}

.faq-icon-box {
	font-size: 26px;
	color: var(--rn-gray-text);
	transition: transform 0.3s, color 0.3s;
	font-weight: 300;
}

.faq-question:hover .faq-icon-box {
	color: var(--rn-blue-main);
}

.faq-answer-wrapper {
	display: grid;
	grid-template-rows: 0fr;
	transition: all 0.3s ease-in-out;
	overflow: hidden;
	background: #fff;
}

.faq-answer-inner {
	min-height: 0;
	padding: 0 30px;
	font-size: 16px;
	line-height: 1.7;
	color: var(--rn-gray-text);
	font-weight: 500;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.faq-item.active .faq-answer-wrapper {
	grid-template-rows: 1fr;
	border-top: 1px dashed var(--rn-gray-border);
}

.faq-item.active .faq-answer-inner {
	padding: 20px 30px 30px;
	opacity: 1;
}

.faq-item.active .faq-icon-box {
	transform: rotate(45deg);
	color: var(--rn-point);
}

.faq-item.active .faq-question {
	color: var(--rn-blue-main);
}

/* 유의사항 안내 추가속성 */
.rn-caution li.text-red {
	color: var(--rn-red);
	font-weight: 800;
}

/* 유저 꿀팁 / 모바일 목업 구조 */
.rn-mini-icons {
	display: flex;
	gap: 16px;
	justify-content: center;
	margin-bottom: 30px;
	color: #94a3b8;
}

.rn-mini-icons svg {
	width: 50px;
	height: 50px;
	background: #f1f5f9;
	padding: 12px;
	border-radius: 14px;
	transition: all 0.3s ease;
}

.rn-card:hover .rn-mini-icons svg {
	background: var(--rn-blue-light);
	color: var(--rn-blue-main);
}

.rn-tip-container {
	display: flex;
	gap: 50px;
	align-items: center;
	background: #fff;
	border-radius: 24px;
	padding: 60px 50px;
	border: 1px solid var(--rn-gray-border);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}

.rn-tip-visual {
	flex: 0 0 320px;
	display: flex;
	justify-content: center;
}

.rn-mockup {
	width: 260px;
	height: 500px;
	border: 10px solid var(--rn-navy-light);
	border-radius: 36px;
	background: #fff;
	position: relative;
	overflow: hidden;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
	margin: 0 auto;
}

.rn-mockup-top {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 120px;
	height: 24px;
	background: var(--rn-navy-light);
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 16px;
	z-index: 10;
}

.rn-mockup-header {
	background: #64748b;
	color: #fff;
	padding: 35px 15px 15px;
	font-size: 16px;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 10px;
}

.rn-mockup-header::before {
	content: '←';
	font-size: 18px;
}

.rn-mockup-info {
	background: #e2e8f0;
	padding: 15px;
	font-size: 13px;
	font-weight: 700;
	color: var(--rn-navy-light);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.rn-mockup-radio {
	display: flex;
	align-items: center;
	gap: 8px;
}

.rn-mockup-radio::before {
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 4px solid var(--rn-gray-text);
}

.rn-mockup-radio.active::before {
	border-color: var(--rn-blue-main);
}

.rn-mockup-body {
	padding: 15px;
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding-bottom: 25px;
}

.rn-mockup-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.rn-mockup-item span {
	font-size: 14px;
	font-weight: 600;
	color: var(--rn-navy);
}

.rn-mockup-check {
	width: 22px;
	height: 22px;
	border-radius: 6px;
	border: 2px solid #cbd5e1;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s;
}

.rn-mockup-check.checked {
	background: var(--rn-blue-main);
	border-color: var(--rn-blue-main);
	color: #fff;
}

.rn-mockup-check svg {
	width: 14px;
	height: 14px;
	stroke-width: 3;
}

.rn-tip-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.rn-tip-box {
	padding: 35px 30px;
	border-radius: 20px;
	border: 1px solid var(--rn-gray-border);
	transition: all 0.3s;
	background: #fff;
}

.rn-tip-box h4 {
	font-size: 22px;
	font-weight: 800;
	color: var(--rn-navy-light);
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.rn-tip-box p {
	font-size: 16px;
	color: var(--rn-gray-text);
	line-height: 1.6;
	margin: 0;
	font-weight: 500;
	word-break: keep-all;
}

.rn-tip-box p strong {
	color: var(--rn-navy);
	font-weight: 800;
}

.rn-tip-box.active {
	border-color: #bfdbfe;
	background: var(--rn-blue-light);
	box-shadow: 0 10px 25px rgba(37, 99, 235, 0.05);
}

.rn-tip-box.active h4 {
	color: var(--rn-blue-main);
}

.rn-tip-box.active p strong {
	color: var(--rn-blue-main);
}

.rn-tip-box.disabled {
	background: var(--rn-gray-bg);
}

/* abroad.php 고유 스타일 */
.rn-country-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	max-width: 1100px;
	margin: 0 auto;
}

.rn-country-tag {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 20px;
	background-color: #ffffff;
	border: 1px solid var(--rn-gray-border);
	border-radius: 50px;
	color: var(--rn-navy-light);
	font-weight: 700;
	font-size: 16px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.rn-country-tag:hover {
	background-color: #ffffff;
	border-color: var(--rn-blue-main);
	color: var(--rn-blue-main);
	box-shadow: 0 10px 25px rgba(43, 97, 209, 0.08);
	transform: translateY(-4px);
}

.rn-country-tag:nth-child(-n+3) {
	width: calc((100% - 32px) / 3);
}

.rn-country-tag:nth-child(n+4) {
	width: calc((100% - 48px) / 4);
}

.rn-flag-icon {
	width: 26px;
	height: 26px;
	margin-right: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}

.rn-flag-icon img {
	width: 100%;
	height: auto;
	border-radius: 4px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.rn-card-grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.rn-card-icon-wrap {
	width: 70px;
	height: 70px;
	border-radius: 50%;
	margin-bottom: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
}

.rn-bg-blue {
	background-color: #eef4ff;
	color: var(--rn-blue-main);
}

.rn-bg-green {
	background-color: #ecfdf5;
	color: var(--rn-green);
}

.rn-bg-purple {
	background-color: #f5f3ff;
	color: #8b5cf6;
}

.rn-card h4 {
	font-size: 22px;
	font-weight: 800;
	color: var(--rn-navy-light);
	margin-bottom: 16px;
	line-height: 1.4;
}

.rn-card p {
	font-size: 15.5px;
	color: var(--rn-gray-text);
	line-height: 1.6;
	word-break: keep-all;
	font-weight: 500;
	margin-bottom: 0;
}

.rn-quality-section {
	background: var(--rn-gray-bg);
	padding: 80px 60px;
	border-radius: 24px;
	border: 1px solid var(--rn-gray-border);
	display: flex;
	align-items: center;
	gap: 60px;
	margin-bottom: 120px;
}

.rn-quality-text {
	flex: 1;
}

.rn-quality-text h2 {
	font-size: 32px;
	font-weight: 900;
	color: var(--rn-navy);
	line-height: 1.4;
	margin-bottom: 40px;
	word-break: keep-all;
	letter-spacing: -1px;
}

.rn-quality-list {
	list-style: none;
	padding: 0;
}

.rn-quality-item {
	display: flex;
	align-items: flex-start;
	margin-bottom: 30px;
}

.rn-quality-item:last-child {
	margin-bottom: 0;
}

.rn-check-icon {
	width: 28px;
	height: 28px;
	background-color: var(--rn-blue-main);
	border-radius: 50%;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 18px;
	flex-shrink: 0;
	margin-top: 2px;
}

.rn-quality-item h4 {
	font-size: 19px;
	font-weight: 800;
	color: var(--rn-navy-light);
	margin-bottom: 8px;
}

.rn-quality-item p {
	font-size: 16px;
	color: var(--rn-gray-text);
	line-height: 1.6;
	word-break: keep-all;
	font-weight: 500;
}

.rn-quality-img {
	flex: 1;
	background: url('https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&q=80&w=1000') center/cover;
	height: 400px;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.rn-pricing-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	max-width: 900px;
	margin: 0 auto 50px;
}

.rn-pricing-card {
	background: #fff;
	border-radius: 24px;
	padding: 60px 40px;
	border: 1px solid var(--rn-gray-border);
	text-align: center;
	position: relative;
	transition: all 0.4s;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.rn-pricing-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 40px rgba(37, 99, 235, 0.08);
}

.rn-pricing-card.premium {
	border: 2px solid var(--rn-blue-main);
}

.rn-pricing-badge {
	position: absolute;
	top: -16px;
	left: 50%;
	transform: translateX(-50%);
	background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
	color: #fff;
	padding: 8px 24px;
	border-radius: 50px;
	font-size: 14px;
	font-weight: 800;
	box-shadow: 0 8px 20px rgba(245, 158, 11, 0.35);
	animation: pulse 2.5s infinite;
}

.rn-plan-name {
	display: inline-block;
	padding: 10px 30px;
	border-radius: 12px;
	font-size: 22px;
	font-weight: 800;
	margin-bottom: 20px;
}

.rn-tag-light {
	background-color: var(--rn-gray-bg);
	color: var(--rn-navy);
	border: 1px solid var(--rn-gray-border);
}

.rn-tag-premium {
	background-color: var(--rn-navy);
	color: #fff;
}

.rn-plan-desc {
	font-size: 16px;
	color: var(--rn-gray-text);
	font-weight: 600;
	margin-bottom: 20px;
}

.rn-price-box {
	padding: 10px 0 35px;
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 4px;
}

.rn-price-box strong {
	font-size: 42px;
	font-weight: 900;
	color: var(--rn-navy-light);
	letter-spacing: -1px;
}

.rn-price-box span {
	color: #94a3b8;
	font-size: 18px;
	font-weight: 600;
}

.rn-plan-features {
	text-align: left;
	margin-bottom: 40px;
	list-style: none;
	padding-top: 35px;
	border-top: 1px solid #f1f5f9;
}

.rn-plan-features li {
	display: flex;
	align-items: center;
	margin-bottom: 16px;
	font-size: 16px;
	color: #334155;
	font-weight: 600;
}

.rn-plan-features li svg {
	color: var(--rn-blue-main);
	margin-right: 14px;
}

/* voip.php 고유 스타일 */
.area01 h1 {
	display: block;
	margin: 20px 0 40px 0;
	text-align: center
}

.area01 h3 {
	color: #21B8E9;
	text-align: center
}

.area01 .box {
	padding: 30px 0;
	background: url('/img/202102/voip_01.png') no-repeat 0 100% #EDF6FF;
}

.area01 .list {
	display: flex;
	justify-content: end;
	margin: 40px 80px 0 0
}

.area01 .list li>span {
	display: inline-block;
	width: 300px;
	margin: 5px 0 5px 10px;
	padding: 20px 30px;
	background-color: #fff;
	text-align: center;
	border-radius: 10rem;
	font-size: 22px;
	font-weight: 400
}

.area01 .method {
	padding: 70px 0;
	text-align: center
}

.area01 .method h2 {
	margin: 0 0 0 0;
	font-size: 28px;
	font-weight: 600
}

.area01 .method p {
	margin: 0;
	font-size: 18px;
	line-height: 24px;
	font-weight: 600
}

.area01 .method .btns {
	display: flex;
	justify-content: space-between;
	margin: 50px 0 0 0
}

.area01 .method .btns>div {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 49%;
	height: 300px;
	background-color: #F7F7F7;
	border-radius: 2.0rem
}

.area01 .method .btns>div p {
	display: block
}

.area01 .method .moimstone a {
	background-color: #FB8B20 !important;
	color: #fff !important
}

.area01 .method .btns a {
	display: inline-block;
	margin: 30px 10px 0;
	padding: 20px 70px;
	background-color: #232323;
	color: #fff;
	border-radius: 10rem;
	font-size: 18px
}

.area01 .method .btns a:hover {
	text-decoration: none
}

.area02 {
	padding: 40px 0 60px;
	background-color: #edf6ff
}

.area02 h1 {
	display: block;
	margin: 0 0 40px 0;
	text-align: center;
	font-size: 24px;
	font-weight: 500
}

.area02 .wrap {
	display: flex;
	justify-content: space-between
}

.area02 .wrap .box-wrap {
	width: 32%;
	padding: 10px 0 10px;
	text-align: center;
	border-radius: 1.0rem;
	color: #fff
}

.area02 .wrap .box {
	position: relative;
	margin: 30px 0 0 0;
	padding: 55px 0 40px;
	background-color: #fff;
	text-align: center;
	border-radius: 1.0rem;
	color: #333
}

.area02 .wrap .box>h5 {
	display: inline-block;
	margin: -80px 0 0 0;
	padding: 15px 45px;
	background-color: #0066ff;
	color: #fff;
	border-radius: 3.0rem;
	font-size: 20px;
	box-shadow: 5px 5px 8px #ccc
}

.area02 .wrap .box>p {
	margin: 0 0 15px 0;
	font-size: 19px;
	font-weight: 600
}

.area02 .wrap .box>strong {
	display: block;
	font-size: 34px;
	font-weight: 800;
	color: #0066ff;
	letter-spacing: -1px
}

.area03 {
	padding: 40px 0 0;
	text-align: center
}

.area03 h1 {
	display: block;
	margin: 20px 0 40px 0;
	color: #FB8B20;
	text-align: center;
	font-size: 24px;
	font-weight: 800
}

.area03 .box {
	position: relative;
	margin: 60px 0;
	padding: 0 0 50px 0;
	border: 1px dashed #ccc;
	border-radius: 1.0rem
}

.area03 .box h3 {
	display: inline-block;
	margin-top: -30px;
	padding: 20px 50px;
	background-color: #F5F5F5;
	font-size: 22px;
	font-weight: 400;
	border-radius: 10rem
}

.area03 .box p {
	margin: 0
}

#go_payment_global_haionchina .btns a {
	margin: 0 10px
}

#dialog_moimstone a.download {
	top: 590px;
	right: 126px
}

.dialog-content {
	background-color: #fff !important
}

.dialog-content>.wrap>.dialog-body {
	text-align: center
}

.dialog-content>.wrap>.dialog-body .img {
	margin: 20px 0 0 0
}

.dialog-content>.wrap>.top {
	padding: 10px 0;
	background-color: #333;
	color: #fff;
	text-align: center
}

.dialog-content>.wrap>.top>h1 {
	display: block;
	font-size: 28px;
	font-weight: 600
}

.dialog-content .tab {
	display: flex
}

.dialog-content .tab>a {
	width: 50%;
	padding: 30px 0 25px;
	display: block;
	border-bottom: 1px solid #eeeeee;
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	color: #000
}

.dialog-content .tab>a:hover {
	text-decoration: none
}

.dialog-content .tab>a.active {
	background-color: #282828;
	color: #fff
}

.dialog-body {
	position: relative
}

.dialog-body a.download {
	position: absolute;
	top: 20px;
	right: 20px
}

#dialog_desktop .btns a {
	margin: 0 10px !important
}

#dialog_notebook .btns a {
	margin: 0 10px !important
}

.ui-dialog {
	padding: 0
}

.ui-widget-header {
	background: url('') no-repeat 0 0 #000 !important;
	color: #fff
}

.ui-dialog .ui-dialog-titlebar-close {
	border-radius: 0 !important;
	background: url('') no-repeat 0 0 #000 !important;
	border: 0
}

.ui-dialog .ui-dialog-titlebar {
	border: 0 none;
	border-radius: 0
}

.ui-dialog .ui-dialog-content {
	padding: 0
}

.ui-widget.ui-widget-content {
	border: 0 none
}

.ui-widget-overlay {
	background: url('') no-repeat 0 0 #333
}

/* haionchina.php 고유 스타일 */
._layer_popup {
	display: none;
	overflow: hidden;
	position: absolute;
	border: 1px solid #666;
	background-color: #fff;
	z-index: 9999
}

._layer_popup .inner {
	position: relative;
	width: 100%;
	height: 100%
}

._layer_popup .inner a {
	display: block;
	position: absolute;
	top: 0;
	left: 0
}

._layer_popup .inner .bot {
	display: block;
	width: 100%;
	height: 22px;
	padding: 5px 0 0 0;
	position: absolute;
	bottom: 0;
	left: 0;
	border-top: 1px solid #ccc;
	background-color: #f0f0f0
}

._layer_popup .inner .noshow {
	float: left;
	margin: 0 0 0 5px
}

._layer_popup .inner .close {
	float: right;
	margin: 0 5px 0 0
}

/* 국내 거주자 배너 */
.rn-domestic-banner {
	background: #fff7ed;
	border: 1px solid #ffedd5;
	border-radius: 20px;
	padding: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-shadow: 0 4px 15px rgba(249, 115, 22, 0.05);
	margin-bottom: 80px;
}

.rn-domestic-banner h4 {
	font-size: 24px;
	font-weight: 800;
	color: var(--rn-navy-light);
	margin-bottom: 8px;
}

.rn-domestic-banner p {
	font-size: 16px;
	color: var(--rn-gray-text);
	font-weight: 500;
}

.rn-domestic-banner .rn-btn-primary {
	padding: 16px 30px;
	font-size: 17px;
}

/* 유의사항 안내 */
.rn-caution {
	background: var(--rn-point-light);
	padding: 40px 50px;
	border-radius: 20px;
	border: 1px solid #ffedd5;
	border-left: 6px solid var(--rn-point);
	margin-bottom: 80px;
}

.rn-caution h4 {
	font-size: 20px;
	font-weight: 800;
	color: #9a3412;
	margin-bottom: 16px;
	letter-spacing: -0.5px;
}

.rn-caution ul {
	padding-left: 0;
}

.rn-caution li {
	font-size: 15px;
	font-weight: 600;
	color: #c2410c;
	position: relative;
	padding-left: 16px;
	line-height: 1.6;
	word-break: keep-all;
	margin-bottom: 8px;
}

.rn-caution li::before {
	content: '※';
	position: absolute;
	left: 0;
	color: var(--rn-point);
	font-size: 14px;
	top: 1px;
}

.rn-caution li:last-child {
	margin-bottom: 0;
}

.rn-caution li.text-red {
	color: var(--rn-red);
	font-weight: 800;
}

/* 하단 프로모션 CSS */
.rn-promo-section {
	margin-top: 60px;
	padding-top: 60px;
	border-top: 1px solid var(--rn-gray-border);
	margin-bottom: 80px;
}

.rn-promo-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.rn-promo-box {
	background-color: #ffffff;
	border: 1px solid var(--rn-gray-border);
	border-radius: 24px;
	padding: 32px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	text-decoration: none !important;
	color: inherit;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.rn-promo-box:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}

.rn-promo-title {
	font-size: 24px;
	font-weight: 900;
	color: var(--rn-navy-light);
	margin-bottom: 8px;
	letter-spacing: -0.5px;
}

.rn-promo-desc {
	font-size: 15px;
	color: var(--rn-gray-text);
	margin-bottom: 30px;
	line-height: 1.6;
	font-weight: 500;
}

.rn-promo-btn {
	background-color: var(--rn-blue-main);
	color: #ffffff;
	font-weight: 700;
	font-size: 14px;
	padding: 10px 28px;
	border-radius: 50px;
	margin-top: 20px;
	border: 1px solid var(--rn-blue-main);
	transition: all 0.3s ease;
	box-shadow: 0 2px 6px rgba(37, 99, 235, 0.2);
}

.rn-promo-box:hover .rn-promo-btn {
	background-color: var(--rn-blue-dark);
	color: #ffffff;
	border-color: var(--rn-blue-dark);
	box-shadow: 0 4px 12px rgba(29, 78, 216, 0.3);
}

/* CTA 띠배너 공통 */
.rn-cta-banner-full {
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	background-color: var(--rn-blue-light);
	border-top: 1px solid #dbeafe;
	border-bottom: 1px solid #dbeafe;
	padding: 20px 0;
	margin-bottom: 120px;
}

.rn-cta-banner-inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 24px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 48px;
}

.rn-cta-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.rn-cta-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	padding: 10px 0;
	background: #fff;
	color: var(--rn-blue-main);
	font-weight: 700;
	font-size: 14px;
	border-radius: 8px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	border: 1px solid #bfdbfe;
	transition: all 0.3s;
}

.rn-cta-btn:hover {
	background: var(--rn-blue-main);
	color: #fff !important;
	border-color: var(--rn-blue-main);
	box-shadow: 0 4px 10px rgba(37, 99, 235, 0.2);
}

.rn-cta-btn.orange {
	background: var(--rn-point);
	color: #fff;
	border-color: var(--rn-point);
}

.rn-cta-btn.orange:hover {
	background: var(--rn-point-hover);
	border-color: var(--rn-point-hover);
	box-shadow: 0 4px 10px rgba(249, 115, 22, 0.3);
}

.rn-cta-support {
	display: flex;
	align-items: center;
	gap: 12px;
	text-align: left;
}

.rn-cta-support span {
	font-weight: 700;
	color: var(--rn-navy-light);
	font-size: 15px;
}

.rn-cta-support p {
	font-size: 28px;
	font-weight: 900;
	color: var(--rn-blue-main);
	letter-spacing: -1px;
	line-height: 1;
	transition: transform 0.3s;
	cursor: pointer;
	margin: 0;
}

.rn-cta-support p:hover {
	transform: scale(1.05);
}

/* =========================================================
   회사소개 / 브랜드소개 고유 스타일
========================================================= */
.company {
	background: url("/img/201901/brand_logo.jpg") no-repeat 100% 120px #fff;
}

.company.company-intro-page {
	background: url("/img/201901/company_01.jpg") no-repeat 95% 200px #fff;
}

.company>.row>.intro {
	margin: 10px 0 0 0;
	font-size: 15px;
	color: #666;
}

.company>.row>.intro>h3 {
	margin: 0;
	padding: 0;
	color: #222;
	font-family: "Noto sans KR", sans-serif;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: -1px;
}

.company>.row>.intro>h3 em {
	display: block;
	margin-bottom: 15px;
	font-size: 23px;
	font-weight: 400;
}

.company>.row>.intro>h4 {
	margin: 20px 0 0 0;
	padding: 0;
	color: #ff7200;
	font-size: 18px;
}

.company>.row>.intro>h4>p {
	margin: 5px 0 0 0;
	color: #ff7200;
	font-size: 18px;
	font-weight: 700;
}

.company>.row>.intro>p {
	color: #666;
}

.company>.row>.intro>.btns {
	text-align: right;
}

.company>.row>.intro>.btns>a {
	display: inline-block;
	padding: 10px 30px 10px 15px;
	background: url("/img/201901/bl_white_arrow_r.gif") no-repeat 94% 13px #fc871e;
	color: #fff !important;
	font-size: 14px;
	text-decoration: none;
	transition: background-color 0.2s;
}

.company>.row>.intro>.btns>a:hover {
	background-color: #fe7a03;
	text-decoration: none;
}

/* 브랜드소개 4개 그리드 박스 */
.rn-brand-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	margin: 40px 0;
}

.rn-brand-card {
	position: relative;
	height: 160px;
	border-radius: 12px;
	padding: 30px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
	background-size: cover;
	background-position: center;
	color: var(--rn-navy-light);
}

.rn-brand-card.card-01 {
	background-image: url("/img/201901/brand_box_01.jpg");
}

.rn-brand-card.card-02 {
	background-image: url("/img/201901/brand_box_02.jpg");
}

.rn-brand-card.card-03 {
	background-image: url("/img/201901/brand_box_03.jpg");
}

.rn-brand-card.card-04 {
	background-image: url("/img/201901/brand_box_04.jpg");
}

.rn-brand-card h3 {
	margin: 0 0 10px 0;
	font-size: 20px;
	font-weight: 800;
	color: var(--rn-navy);
}

.rn-brand-card p {
	margin: 0;
	color: var(--rn-gray-text);
	font-size: 14px;
	line-height: 1.5;
	font-weight: 600;
}

/* 인허가증 리스트 */
.rn-license-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin: 30px 0;
}

.rn-license-card {
	background: #ffffff;
	border: 1px solid var(--rn-gray-border);
	border-radius: 12px;
	padding: 15px;
	text-align: center;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
	transition: transform 0.2s, box-shadow 0.2s;
}

.rn-license-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
	border-color: var(--rn-blue-main);
}

.rn-license-pic {
	width: 100%;
	border: 1px solid #f1f5f9;
	border-radius: 8px;
	overflow: hidden;
	background: #f8fafc;
	aspect-ratio: 3/4;
	display: flex;
	align-items: center;
	justify-content: center;
}

.rn-license-pic img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.rn-license-txt {
	margin-top: 12px;
	font-size: 14px;
	font-weight: 700;
	color: var(--rn-navy-light);
}

/* 회사소개 연혁 그리드 */
.rn-history-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin: 30px 0;
}

.rn-history-card {
	background: #ffffff;
	border: 1px solid var(--rn-gray-border);
	border-radius: 16px;
	padding: 30px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.01);
}

.rn-history-card h4 {
	font-size: 18px;
	font-weight: 800;
	color: var(--rn-point);
	margin-bottom: 15px;
	border-bottom: 2px solid var(--rn-point-light);
	padding-bottom: 10px;
}

.rn-history-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.rn-history-item {
	font-size: 15px;
	font-weight: 700;
	color: var(--rn-navy-light);
	margin-bottom: 12px;
}

.rn-history-item:last-child {
	margin-bottom: 0;
}

.rn-history-sublist {
	list-style: none;
	padding-left: 12px;
	margin-top: 4px;
}

.rn-history-subitem {
	font-size: 13.5px;
	font-weight: 500;
	color: var(--rn-gray-text);
}

/* =========================================================
   Bootstrap 기반 반응형 스타일 (Breakpoints)
========================================================= */

/* xl 미만 (Desktop, 기존 1200px/1100px 대응) */
@media (max-width: 1199.98px) {
	.rn-abroad-nav-container {
		flex-wrap: wrap;
		border-right: 1px solid var(--rn-gray-border);
		border-bottom: none;
	}

	.rn-abroad-nav-item {
		flex: 0 0 25%;
		border-bottom: 1px solid var(--rn-gray-border);
		margin-top: 25px;
		padding-top: 40px;
	}

	.rn-abroad-nav-item:last-child {
		border-right: 1px solid var(--rn-gray-border);
	}

	.rn-grid-5 {
		grid-template-columns: repeat(3, 1fr);
	}

	.rn-pricing-grid {
		grid-template-columns: 1fr;
		max-width: 500px;
	}
}

/* lg 미만 (Large Tablet, 기존 1000px 대응) */
@media (max-width: 991.98px) {
	.rn-qos-diag-flex {
		flex-direction: column;
		gap: 40px;
	}

	.rn-qos-diag-col {
		width: 100%;
	}

	.rn-qos-legend {
		width: 100%;
		flex-direction: row;
		justify-content: center;
		flex-wrap: wrap;
	}

	.rn-tip-container {
		flex-direction: column;
		text-align: center;
	}

	.rn-tip-box h4 {
		justify-content: center;
	}

	.rn-country-tag:nth-child(-n+3),
	.rn-country-tag:nth-child(n+4) {
		width: calc((100% - 20px) / 2);
	}

	.rn-brand-grid {
		grid-template-columns: 1fr;
	}

	.rn-brand-card {
		height: auto;
		min-height: 150px;
	}

	.rn-license-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.rn-history-grid {
		grid-template-columns: 1fr;
	}
}

/* md 미만 (Tablet, 기존 768px 대응) */
@media (max-width: 767.98px) {
	.rn-abroad-nav-item {
		flex: 0 0 50%;
	}

	.rn-card-grid-2 {
		grid-template-columns: 1fr;
	}

	.rn-domestic-banner {
		flex-direction: column;
		text-align: center;
		gap: 20px;
	}

	.rn-cta-banner-inner {
		flex-direction: column;
		gap: 20px;
		text-align: center;
	}

	.rn-cta-support {
		justify-content: center;
	}

	.rn-promo-grid {
		grid-template-columns: 1fr;
	}

	.rn-grid-5 {
		grid-template-columns: repeat(2, 1fr);
	}

	.rn-card-grid-3 {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.rn-btn-group {
		flex-direction: column;
	}

	.rn-page-title {
		font-size: 32px;
	}

	.rn-tabs a {
		font-size: 15px;
		padding: 10px 5px;
	}

	.rn-table-notice {
		flex-direction: column;
		align-items: flex-start;
	}

	.rn-sec-title {
		font-size: 26px;
		padding: 14px 30px;
	}

	.rn-hero-flag {
		right: 30px;
		width: 80px;
		height: 54px;
	}

	.rn-quality-section {
		flex-direction: column-reverse;
		padding: 40px 20px;
		gap: 30px;
	}

	.rn-quality-img {
		width: 100%;
		height: 250px;
	}

	/* 모바일용 세로 스텝 애니메이션 조정 */
	.rn-step-wrap {
		flex-direction: column;
		gap: 50px;
	}

	.rn-step-track {
		top: 15%;
		bottom: 15%;
		left: 30px;
		right: auto;
		width: 2px;
		height: 70%;
	}

	.rn-step-ball {
		top: 0%;
		left: 50%;
		transform: translate(-50%, -50%);
		animation: rnBallMoveVertical 9s infinite ease-in-out;
	}

	.rn-step-item {
		flex-direction: row;
		align-items: center;
		gap: 30px;
		width: 100%;
		text-align: left;
	}

	.rn-step-circle {
		margin-bottom: 0;
	}

	.rn-step-text {
		text-align: left;
	}
}

/* sm 미만 (Mobile, 기존 600px/480px 대응 통합 및 고도화) */
@media (max-width: 575.98px) {
	.rn-abroad-nav-item {
		flex: 0 0 100%;
		border-right: none;
	}

	.rn-abroad-nav-item:last-child {
		border-right: none;
	}

	.rn-device-icons {
		gap: 15px;
	}

	.rn-device-icon-box {
		width: 70px;
		height: 70px;
		border-radius: 16px;
	}

	.rn-device-icon-box svg {
		width: 32px;
		height: 32px;
	}

	.rn-device-item span {
		font-size: 14px;
	}

	.rn-page-header::after {
		display: none;
	}

	.rn-page-header {
		flex-direction: column;
		align-items: flex-start;
		padding: 30px 0;
		gap: 20px;
		border-bottom: 1px solid var(--rn-gray-border);
	}

	.rn-header-left {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		width: 100%;
	}

	.rn-header-divider {
		display: none;
	}

	.rn-cta-banner-full {
		margin-bottom: 80px;
	}

	.rn-grid-5 {
		grid-template-columns: 1fr;
	}

	.rn-table-wrap {
		overflow-x: auto;
	}

	.rn-table {
		min-width: 600px;
	}

	.faq-section {
		margin-bottom: 80px;
	}

	.rn-tip-container {
		padding: 40px 20px;
	}

	.rn-hero-flag {
		display: none;
	}

	.rn-country-tag:nth-child(-n+3),
	.rn-country-tag:nth-child(n+4) {
		width: 100%;
	}

	.rn-section {
		margin-bottom: 80px;
	}

	.rn-btn-group {
		width: 100%;
	}

	.rn-btn {
		width: 100%;
	}

	.rn-header-price {
		align-self: flex-end;
		margin-top: -65px;
		padding: 6px 18px;
	}

	.rn-price-amount {
		font-size: 24px;
	}

	.company {
		background-image: none !important;
	}

	.rn-license-grid {
		grid-template-columns: 1fr;
	}

	.company>.row>.intro>.btns {
		text-align: center;
	}

	.company>.row>.intro>.btns>a {
		width: 100%;
		text-align: center;
	}
}

/* =========================================================
   KT고정IP (premium.php) 레거시 스타일
========================================================= */
.static_kt_01 {
	position: relative;
	width: 1079px;
	height: 282px;
	background: url("/img/201901/static_kt_01.jpg") no-repeat 0 0
}

.static_kt_01 li {
	position: absolute;
	font-size: 20px;
	font-weight: 800
}

.static_kt_01 .tit01 {
	top: 35px;
	left: 45px
}

.static_kt_01 .tit02 {
	top: 35px;
	left: 616px
}

.static_kt_01 .tit03 {
	top: 190px;
	left: 45px
}

.static_kt_01 .tit04 {
	top: 190px;
	left: 616px
}

.static_guide_01 {}

.static_guide_01:after {
	display: block;
	content: '';
	clear: both
}

.static_guide_01 li {
	float: left;
	width: 36%
}

.static_guide_01 li:last-child {
	width: 28%
}

.static_guide_01 li .wrap {
	position: relative;
	width: 100%;
	height: 190px
}

.static_guide_01 li .wrap:hover em {
	background-color: #fe7a03;
	-webkit-transition: background-color 0.2s
}

.static_guide_01 li .wrap:hover span.box {
	border: 2px solid #fe7a03;
	-webkit-transition: border-color 0.2s
}

.static_guide_01 em {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	padding: 20px;
	background-color: #656978;
	color: #fff;
	font-size: 18px
}

.static_guide_01 span.box {
	display: block;
	position: absolute;
	top: 28px;
	left: 0;
	padding: 50px 65px;
	border: 2px solid #656978;
	text-align: center;
	font-size: 17px;
	line-height: 1.5em
}

.static_guide_01 span.bar {
	width: 15px;
	height: 24px;
	position: absolute;
	top: 95px;
	left: 312px;
	background: url("/img/201901/bl_blue_bar.gif") no-repeat 0 0
}

/* =========================================================
   유동아이피 (game.php, marketing.php) 레거시 스타일
========================================================= */
.content_tab {}

.dynamic_01 {
	position: relative;
	width: 1079px;
	height: 372px;
	background: url("/img/201901/4box_bg_02.jpg") no-repeat 0 0
}

.dynamic_01 li {
	position: absolute;
	color: #30393f;
	font-family: "Noto Sans KR";
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2em
}

.dynamic_01 .tit01 {
	top: 35px;
	left: 45px
}

.dynamic_01 .tit02 {
	top: 35px;
	left: 616px
}

.dynamic_01 .tit03 {
	top: 227px;
	left: 45px
}

.dynamic_01 .tit04 {
	top: 227px;
	left: 616px
}

.dynamic_01 li>ul {
	margin-top: 12px
}

.dynamic_01 li>ul>li {
	position: relative;
	font-size: 14px;
	font-weight: 500;
	color: #666;
	line-height: 1.4em
}

.dynamic_02 {
	position: relative;
	width: 970px;
	height: 279px;
	margin: 0 auto;
	background: url("/img/201901/6dia_bg_01.jpg") no-repeat 0 0
}

.dynamic_02 li {
	position: absolute;
	color: #fff;
	font-family: "Noto Sans KR";
	font-size: 13px;
	font-weight: 400;
	line-height: 1.2em;
	text-align: center
}

.dynamic_02 .tit01 {
	top: 21px;
	left: 50px
}

.dynamic_02 .tit02 {
	top: 203px;
	left: 199px
}

.dynamic_02 .tit03 {
	top: 39px;
	left: 373px
}

.dynamic_02 .tit04 {
	top: 172px;
	left: 493px
}

.dynamic_02 .tit05 {
	top: 39px;
	left: 640px
}

.dynamic_02 .tit06 {
	top: 203px;
	left: 790px
}

.product_01 {
	position: relative;
	width: 100%;
	height: 408px;
	background-color: #dedfe2;
	border-radius: 0.6em
}

.product_01>h3 {
	position: absolute;
	top: 140px;
	left: 30px;
	width: 165px;
	color: #666;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.5em;
	letter-spacing: -1px;
	word-break: break-all
}

.product_01>.bg {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 842px;
	height: 388px;
	background: url("/img/201901/8circle_bg_01.jpg") no-repeat center #fff;
	border-radius: 0.6em
}

.product_01>.bg.green {
	background: url("/img/201901/8circle_bg_02.jpg") no-repeat center #fff
}

.product_01>.bg ul li {
	position: absolute;
	width: 100px;
	height: 95px;
	color: #fff;
	font-size: 15px;
	text-align: center;
	line-height: 1.2em
}

.product_01>.bg ul li>strong {
	display: block;
	margin-bottom: 8px;
	font-size: 20px
}

.product_01>.bg ul li.tit01 {
	top: 82px;
	left: 77px
}

.product_01>.bg ul li.tit02 {
	top: 82px;
	left: 272px
}

.product_01>.bg ul li.tit03 {
	top: 82px;
	left: 470px
}

.product_01>.bg ul li.tit04 {
	top: 82px;
	left: 669px
}

.product_01>.bg ul li.tit05 {
	top: 253px;
	left: 77px
}

.product_01>.bg ul li.tit06 {
	top: 253px;
	left: 272px
}

.product_01>.bg ul li.tit07 {
	top: 253px;
	left: 470px
}

.product_01>.bg ul li.tit08 {
	top: 253px;
	left: 669px
}

.product_02 {
	position: relative
}

.product_02 h3 {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 90px;
	margin: 0;
	padding: 3px 0;
	background-color: #37b469;
	border-radius: 0.7em;
	color: #fff;
	font-size: 15px;
	text-align: center
}

.product_02:after {
	display: block;
	content: '';
	clear: both
}

.product_02_left {
	position: relative;
	float: left;
	width: 277px;
	height: 590px;
	background-color: #f4f4f4;
	border: 1px solid #ecebeb;
	border-radius: 0.6em
}

.product_02_right {
	position: relative;
	float: right;
	width: 784px;
	height: 590px;
	background-color: #f4f4f4;
	border: 1px solid #ecebeb;
	border-radius: 0.6em
}

.product_02 li {
	position: absolute;
	width: 166px;
	height: 166px;
	background: url("/img/201901/1dia_bg_01.png") no-repeat 0 0;
	color: #666;
	font-size: 13px;
	text-align: center;
	line-height: 1.05em;
	font-weight: 800
}

.product_02 li strong {
	display: block;
	padding-top: 45px;
	margin-bottom: 17px;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2em
}

.product_02_left li.tit01 {
	top: 42px;
	left: 56px
}

.product_02_right li.tit01 {
	top: 42px;
	left: 85px
}

.product_02_right li.tit02 {
	top: 42px;
	left: 310px
}

.product_02_right li.tit03 {
	top: 42px;
	left: 530px
}

.product_02_right li.tit04 {
	top: 215px;
	left: 85px
}

.product_02_right li.tit05 {
	top: 215px;
	left: 310px
}

.product_02_right li.tit06 {
	top: 215px;
	left: 530px
}

.product_02_right li.tit07 {
	top: 388px;
	left: 85px
}

.product_02_right li.tit08 {
	top: 388px;
	left: 310px
}

.product_02_right li.tit09 {
	top: 388px;
	left: 530px
}

.product_02_desc {
	padding-top: 20px;
	color: #777
}

.product_02_desc:after {
	display: block;
	content: '';
	clear: both
}

.product_02_desc strong {
	display: block;
	font-size: 17px;
	font-weight: 700
}

.product_02_desc li.tit01 {
	float: left;
	font-size: 13px
}

.product_02_desc li.tit02 {
	float: right
}

.product_03 {
	position: relative;
	padding-bottom: 40px
}

.product_03:last-child {
	padding-bottom: 0
}

.product_03:after {
	display: block;
	content: '';
	clear: both
}

.product_03 h3 {
	display: inline-block;
	margin: 0;
	padding: 4px 15px;
	background-color: #37b469;
	border-radius: 0.6em;
	color: #fff;
	font-size: 15px
}

.product_03 span {
	float: left;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	line-height: 1.3em
}

.product_03 .tit01 {
	display: block;
	overflow: hidden;
	width: 177px;
	height: 119px;
	margin-left: 70px;
	padding-top: 58px;
	background: url("/img/201901/1dia_bg_02.png") no-repeat 0 0
}

.product_03 .tit02 {
	display: block;
	width: 43px;
	height: 43px;
	margin: 67px 0 0 62px;
	background: url("/img/201901/icon_plus_01.png") no-repeat 0 0;
	text-indent: -9999em
}

.product_03 .tit03 {
	display: block;
	width: 58px;
	height: 33px;
	margin: 72px 0 0 62px;
	background: url("/img/201901/icon_arrow_r_01.png") no-repeat 0 0;
	text-indent: -9999em
}

.product_03 .strike {
	overflow: hidden;
	display: block;
	position: absolute;
	top: 135px;
	left: 30px;
	width: 95%;
	height: 5px;
	background-color: #545660;
	border-radius: 0.8em;
	opacity: 0.7;
	filter: alpha(opacity=70);
}

.product_03 .tit01>strong.alert01 {
	color: #ffeb34
}

.product_03_desc {
	margin: 25px 13px 10px 13px;
	color: #666;
	font-size: 14px
}

.product_03_wrap {
	padding: 15px;
	background-color: #f4f4f4;
	border: 1px solid #ecebeb;
	border-radius: 1.0em
}

.product_03_inner {
	padding: 30px 30px;
	background-color: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 1.0em
}

a.btn {
	display: inline-block;
	padding: 7px 20px
}

a.bone {
	border: 1px solid #ccc;
	background-color: #fff
}

a.btn.green.bone {
	padding: 10px 37px;
	border: 1px solid #fc871e;
	color: #fc871e;
	background: urL("/img/201901/hl_orange_arrow_r.gif") no-repeat 93% 7px;
}

a.btn.orange.bone {
	padding-right: 40px;
	border: 1px solid #fc871e;
	color: #fff;
	font-weight: 600;
	background: urL("/img/201901/hl_white_arrow_r.gif") no-repeat 93% 7px;
	background-color: #fe7a03
}

a.btn.orange.bone:hover {
	text-decoration: underline;
	padding-right: 40px;
	border: 1px solid #fc871e;
	color: #fc871e;
	font-weight: 600;
	background: urL("/img/201901/hl_orange_arrow_r.gif") no-repeat 93% 7px;
}

a.btn.orange.paymentbone {
	padding-right: 40px;
	border: 1px solid #fc871e;
	color: #fff;
	background: urL("/img/201901/hl_white_arrow_r.gif") no-repeat 75% 10px;
	background-color: #fe7a03
}

a.btn.orange.paymentbone:hover {
	text-decoration: underline;
	padding-right: 40px;
	border: 1px solid #fc871e;
	color: #fc871e;
	background: urL("/img/201901/hl_orange_arrow_r.gif") no-repeat 75% 10px;
}

.maketing_cool {
	position: relative;
	width: 1079px;
	height: 107px;
	top: -5px;
	background: url("/img/201901/maketing_cool_bg.jpg") no-repeat 0 0;
}

.maketing_cool li {
	position: absolute;
	left: 450px;
	color: #242424;
	font-family: "Noto Sans KR";
	font-size: 18px;
	font-weight: 300;
	line-height: 1.2em;
	text-align: left
}

.maketing_cool .tit01 {
	top: 15px;
	left: 15px
}

.maketing_cool .tit01 .tx01 {
	font-family: "Nanum Gothic", Sans-serif;
	font-size: 17px;
	font-weight: 600;
	color: #242424
}

.maketing_cool .tit02 {
	top: 45px;
	left: 15px
}

.maketing_cool .tit02 .tx02 {
	font-family: "Nanum Gothic", Sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #242424
}

.maketing_cool .tit03 {
	top: 65px;
	left: 15px;
}

.maketing_cool .tit03 .tx03 {
	font-family: "Nanum Gothic", Sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: #242424
}

.maketing_cool .tit04 {
	top: 25px;
	left: 485px
}

.maketing_cool .tit04 a {
	width: 319px;
	height: 54px;
	display: block;
	background: url("/img/201901/maketing_coolbtn.jpg") no-repeat 0 0;
}

.maketing_cool li>ul {
	margin-top: 12px
}

.maketing_cool li>ul>li {
	position: relative;
}

/* 미니 버튼 유틸리티 (Bootstrap 5 보정용) */
.btn-xs {
	padding: 0.2rem 0.4rem;
	font-size: 0.75rem;
	border-radius: 0.25rem;
}

/* 호버 이펙트 보조 클래스 */
.hover-primary-parent:hover .hover-primary-child {
	color: var(--bs-primary) !important;
}