body {
	overflow-x: auto;
	width: 100%;
}

header {
	padding: 0 10px;
	height: 57px;
}

.gap-5 {
	gap: 5px;
}

.gap-10 {
	gap: 10px !important;
}

.text-normal {
	white-space: pre-line;
}

.flex-1 {
	flex: 1;
}

.flex-2 {
	flex: 2;
}

.gray-a {
	color: #aaa;
}

.red {
	color: red;
}

.blue {
	color: #2D50FF !important;
}

.white {
	color: white;
}

.font_10 {
	font-size: 10px;
}

.font_11 {
	font-size: 11px;
}

.font_12 {
	font-size: 12px;
}

.font_13 {
	font-size: 13px;
}

.font_14 {
	font-size: 14px;
}

.font_15 {
	font-size: 15px;
}

.font_16 {
	font-size: 16px;
}

.font_17 {
	font-size: 17px;
}

.font_18 {
	font-size: 18px;
}

.font_19 {
	font-size: 19px;
}

.font_22 {
	font-size: 22px;
}

.font_25 {
	font-size: 25px;
}

.font_30 {
	font-size: 30px;
}

.font_bold {
	font-weight: bold;
}

.font_100 {
	font-weight: 100;
}

.font_300 {
	font-weight: 300;
}

.font_500 {
	font-weight: 500;
}

.border-gray {
	border: 1px solid #ddd;
}

.border-blue {
	border: 1px solid #2D50FF;
}

.border-black {
	border: 1px solid #000;
}

.border-white {
	border: 1px solid #fff;
}

.line-sm {
	line-height: 1.2;
}

.line-m {
	line-height: 1.5;
}

.gap15 {
	gap: 15px;
}

.pd-bottom-50 {
	padding-bottom: 50px;
}

.column {
	display: flex;
	flex-direction: column;
}

.row {
	display: flex;
	flex-direction: row !important;
}

.bottom {
	border-bottom: 1px solid #2d50ff;
	padding-bottom: 10px;
}

.header-wrap  nav {
	padding: 0;
	display: flex;
	width: 100%;
	color: #525252;
	gap: 0;
}

.container {
	width: 100%;
	height: 100%;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.close-btn, .overlay {
	display: none;
}

.hamburger {
	display: none;
	flex-direction: column;
	cursor: pointer;
	gap: 5px;
}

.hamburger span {
	display: block;
	width: 25px;
	height: 3px;
	background: #000;
}

/* 오버레이 */
.overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.5);
	z-index: 900;
}

.top_logo {
	display: flex;
	min-width: 120px;
	max-width: 120px;
}

.top_logo .logo {
	width: 100%;
}

.top-mega-menu {
	display: flex;
	justify-content: space-between;
	width: 100%;
	align-items: center;
}

.top-mega-menu .menu-wrapper .menu {
	display: flex;
	gap: 10px;
	height: 100%;
	align-items: center;
}

.top-mega-menu .menu li {
	display: flex;
	height: 100%;
	align-items: center;
	width: 105px;
	justify-content: center;
	font-weight: bold;
}

.top-mega-menu .menu li a:hover {
	color: #2D50FF;
}

.top-icon-external {
	content: "";
	display: inline-flex;
	flex-shrink: 0;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	background-image: url(../images/icon/external.svg);
	width: 20px;
	height: 20px;
}

/* 메가 드롭다운 */
.menu-wrapper {
	height: 100%;
}
/* 메가 드롭다운 영역 */
.mega-menu {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	background-color: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	box-sizing: border-box;
	z-index: 100;
	flex-wrap: nowrap;
	justify-content: space-between;
	border-top: 1px solid #2d50ff;
}

/* hover 시 보이게 */
.menu-wrapper:hover .mega-menu {
	display: flex;
}

/* 내부 컬럼 구조 */
.mega-menu .mega-menu-column {
	width: 1400px;
	margin: auto;
	display: flex;
	gap: 10px;
	padding: 20px 0 20px 0;
	line-height: 2;
}

.mega-menu-column-list {
	display: flex;
	width: 100%;
	gap: 10px;
}

.mega-menu-column-item {
	width: 105px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	text-align: center;
}

.bac-no {
	min-width: 120px;
	display: flex;
}

.mega-menu h3 {
	margin-top: 0;
	color: #333;
	font-size: 16px;
	display: flex;
	justify-content: center;
}

.mega-menu ul {
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 15px;
	font-size: 14px;
}

.header-wrap  .mega-menu ul li {
	width: 100%;
	height: auto !important;
	line-height: 1.5;
}

.header-wrap  .mega-menu ul li a {
	color: #555;
	text-decoration: none;
	transition: color 0.2s;
}

.mega-menu ul li a:hover {
	color: #0078ff;
}

.top-mega-menu .member {
	display: flex;
	gap: 10px;
}

.header-wrap  .top-mega-menu .member li {
	display: flex;
	color: #000;
	background-color: transparent;
}

.top-mega-menu .member li.mypage {
	background-color: transparent;
	color: #000;
	gap: 5px;
	padding: 0;
	align-items: center;
}

.top-mega-menu .member li.mypage::after, .top-mega-menu .member li.login::after
	{
	content: '｜';
	display: inline-flex;
	vertical-align: middle;
	color: #979797;
}

.top-mega-menu .member a.login-mypage::before {
	content: "";
	display: inline-flex;
	flex-shrink: 0;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	background-image: url(../images/icon/ico-mygov.svg);
	width: 20px;
	height: 19px;
}

.top-mega-menu .member li.login {
	gap: 5px;
}

.top-mega-menu .member li.out {
	background-color: transparent;
	color: #000;
	gap: 10px;
	padding: 0;
	align-items: center;
}

.top-mega-menu .member a.log-in::before {
	content: '';
	display: inline-flex;
	flex-shrink: 0;
	width: 25px;
	height: 19px;
	vertical-align: middle;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(../images/icon/ico-logout.svg);
}

.top-mega-menu .member a.log-join::before {
	content: '';
	display: inline-flex;
	flex-shrink: 0;
	width: 32px;
	height: 22px;
	vertical-align: middle;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(../images/icon/ico-join.svg);
}

.top-mega-menu .member a.log-out::before {
	content: '';
	display: inline-flex;
	flex-shrink: 0;
	width: 32px;
	height: 22px;
	vertical-align: middle;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(../images/icon/ico-logout.svg);
}

.log-before, .log-after {
	display: flex;
	align-items: center;
}

.login-mypage .login-name {
	font-weight: bold;
	font-size: 13px;
}

.log-out {
	font-size: 13px;
}

.login-mypage .login-name:after {
	content: '님';
	font-weight: 400;
	margin-left: 5px;
}

.login-mypage {
	display: flex;
	align-items: end;
}

.top-mega-menu .member button, .top-mega-menu .member li.login a.log-in,
	.top-mega-menu .member li.logjoin a.log-join {
	display: flex;
	align-items: center;
}

.header-wrap {
	border-bottom: 1px solid #2D50FF;
	position: relative;
}

header {
	max-width: 1400px;
	margin: auto;
}

.mypage-pw-half input, .mypage-pw input {
	width: 100%;
}

.mypage-pw-half {
	width: 40% !important;
	border: 1px solid #ddd;
	border-radius: 5px;
	padding: 0 10px;
}

.mypage-pw {
	width: calc(100% - 5px) !important;
	border: 1px solid #ddd;
	border-radius: 5px;
	padding: 0 10px;
}

/*메인*/
.content {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

/* 메인배너 */
.content .slider {
	background-image: url("../images/background/bg_img01.png"); /* 이미지 경로 */
	background-size: cover; /* 영역에 맞게 채움 */
	background-position: center; /* 가운데 정렬 */
	background-repeat: no-repeat; /* 반복 방지 */
	position: relative;
    width: 100%;
    height: 100%;
}

.slider-group {
	max-width: 1200px;
	height: 423px;
	overflow: hidden;
	margin: auto;
}

.slides {
	display: flex;
	 width: 100%;
	transition: transform 0.7s ease;
	will-change: transform;
	height: 100%;
}

.slide {
	flex-shrink: 0;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: flex-start; /* 중심 정렬 제거 */
	align-items: center;
}

.banner-text-group {
	display: flex;
	height: 100%;
	justify-content: space-between;
	align-items: center;
	width: 100%; /* 기본 유지 가능 */
	flex-wrap: nowrap; /* 줄바뀜 방지 */
	 min-width: 0;
}

.banner-text {
	flex: 0 0 450px;
	max-width: 50%;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 30px;
	font-size: 20px;
	 flex-shrink: 0;
}

.banner-text .small-20 {
	letter-spacing: -2px;
}

.banner-title {
	font-size: 50px;
	line-height: 1.2;
}

.banner-img {
	display: flex;
	width: 50%;
	padding: 10px;
	height: 100%;
	flex-shrink: 0; /* 이미지 영역이 줄어들지 않게 */
}

.banner-img img {
	width: 100%;
	height: auto;
	display: block;
}

.indicator {
	text-align: center;
	bottom: 19px;
	position: absolute;
	left: 46%;
}

.dot {
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: #ccc;
	margin: 0 5px;
	cursor: pointer;
}

.dot.active {
	background-color: #2d50ff;
}

/*숫자*/
.icon-group {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 15px;
	border-top: 3px solid #2d50ff;
	padding-top: 30px;
}

.stoppage {
	border-radius: 100px;
	background-color: #2d50ff;
	padding: 5px;
	width: 25px;
}

.img-num {
	background-color: #2d50ff;
	padding: 2px 10px;
	border-radius: 5px;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 2;
}

/**/

/*자주찾는 서비스 바로가기*/
.content .favorite-services {
	width: 100%;
	background-color: #2D50FF;
}

.content .favorite-services .section-inner, .content .process-guide .section-inner,
	.content .operation-status .section-inner, .content .utilization .section-inner,
	.content .release-notes .section-inner, .content .notice-board .section-inner,
	.content .img-board {
	max-width: 1200px;
	margin: auto;
	display: flex;
}

.content .favorite-services .section-inner .item {
	display: flex;
	flex-direction: column;
	border-right: 1px solid #949494;
	justify-content: center;
	flex: 1; /* 기본값: 나머지 네 개 동일 */
}

.content .favorite-services .section-inner .item .item-group {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 15px;
	height: 100%;
}

.content .favorite-services .section-inner .item.first {
	flex: 0.6; /* 첫 번째만 2배 크기 */
}

.content .favorite-services .section-inner .item .go {
	display: flex;
	justify-content: end;
}

.content .favorite-services .section-inner .item .icon-sm {
	position: relative;
	display: flex;
}

.content .favorite-services .section-inner .item .icon-sm .icon-images {
	z-index: 1;
	display: flex;
}

.content .favorite-services .section-inner .item .icon-sm .icon-shadow {
	position: absolute;
	top: -10px;
	left: 30px;
	z-index: 1;
	opacity: 0.3;
	display: flex;
	background-color: #fff;
	width: 26px;
	height: 26px;
	border-radius: 5px;
}

.content .favorite-services .section-inner .item a:hover {
	background-color: #f7f7f787;
	opacity: 1;
	transition: background 0.5s;
	color: #2D50FF;
	font-weight: bold;
}

.item.kmemr {
	background-color: #133aa5;
	color: #fff;
}

.item.infertility {
	background-color: #ffc8c8;
	color: #ff00a5
}

.content .favorite-services .section-inner .item.infertility a:hover {
	background-color: #f7f7f787;
	opacity: 1;
	transition: background 0.5s;
	color: #ff4ec1;
	font-weight: bold;
}

/*한의약 표준 임상정보 api 절차 안내*/
.content .process-guide {
	background-image: url("../images/background/bg_img02.png"); /* 이미지 경로 */
	background-size: cover; /* 영역에 맞게 채움 */
	background-position: center; /* 가운데 정렬 */
	background-repeat: no-repeat; /* 반복 방지 */
	position: relative;
	width: 100%;
}

.content .process-guide::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.8); /* 검정 반투명 */
	z-index: 1; /* 오버레이 */
}

.content .process-guide .section-inner {
	padding: 50px 0 80px;
	flex-direction: column;
	gap: 50px;
	position: relative;
	z-index: 2; /* 텍스트가 오버레이보다 위 */
}

.content .process-guide .section-inner .process-steps {
	gap: 30px;
	align-items: center;
}

.item-group1 {
	flex: 1.5;
	display: flex;
}

.item-group2 {
	display: flex;
	flex-wrap: wrap;
}

.item-group5 {
	justify-content: space-between;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
}

.content .process-guide .section-inner .process-steps .item {
	display: flex;
	flex-direction: column;
	align-items: center;
	border: 1px solid #949494;
	gap: 15px;
	border-radius: 5px;
	height: 100%;
	width: 100%;
}

.process-steps .item a.item-group {
	text-align: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: space-between;
	padding: 15px;
	width: 100%;
	align-items: center;
}

.process-steps .item a.item-group img {
	width: 130px;
}

.content .process-guide .section-inner .process-steps .item:hover {
	border: 1px solid #fff;
	background-color: #ffffff36;
}

/* 운영 현황*/
.content .operation-status .section-inner {
	gap: 30px;
	padding: 50px 0;
}

.item-title {
	position: relative;
	display: flex;
	width: 100%;
	align-items: end;
}

h2.section-title {
	font-size: 24px;
}

.item-title a {
	position: absolute;
	right: 0;
	display: flex;
	padding: 0 5px;
}

.item-title a:hover {
	color: #2D50FF;
	font-weight: bold;
	background-color: #edf2ff;
	padding: 0 5px;
	border-radius: 5px;
}

.content .operation-status .section-inner .column .status-board {
	display: flex;
}

.operation-status p {
	text-align: center;
	font-size: 25px;
	font-weight: 600;
	color: #2d50ff;
	line-height: 3;
}

.content .operation-status .section-inner .column .status-board .updated-data-text
	{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 1;
}

.content .operation-status .section-inner .column .status-board .updated-data-text .updated-item-group
	{
	display: flex;
	flex-direction: column;
	width: 200px;
}

.content .operation-status .section-inner .column .status-board .updated-data-text .updated-item-group .updated-item
	{
	background-color: #F3F3F3;
	display: flex;
	width: 100%;
	padding: 2px 10px;
	gap: 15px;
	justify-content: space-between;
	border-bottom: 1px solid #ddd;
}

.content .operation-status .section-inner .column .status-board .updated-data-graph
	{
	display: flex;
	flex-direction: column;
	flex: 1.5;
	justify-content: center;
	align-items: center;
	position: relative;
}

svg {
	width: 100%;
	height: 100%;
}

.bg {
	fill: none;
	stroke: #e5e5e5;
	stroke-width: 20;
}

.meter {
	fill: none;
	stroke: #2D50FF;
	stroke-width: 20;
	stroke-linecap: round;
	stroke-dasharray: 471; /* 반원 둘레 */
	stroke-dashoffset: 0;
	transition: stroke-dashoffset 1s ease;
}

.status {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	bottom: 20px;
	gap: 10px;
}

.content .operation-status .section-inner .column .status-board .item-box
	{
	width: 100%;
	text-align: center;
	background-color: #EDF2FF;
	border: 1px solid #cbd4ff;
	padding: 35px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-radius: 5px;
	box-sizing: border-box;
	flex: 0 0 calc(( 100% - 2 * 16px)/3);
}

.content .operation-status .section-inner .column .status-board .item-box:hover
	{
	background-color: #2D50FF;
}

.content .operation-status .section-inner .column .status-board .item-box:hover a
	{
	color: #fff;
}

.content .operation-status .section-inner .column .status-board .item-box:hover div.bottom
	{
	border-bottom: 1px solid #ddd;
}

.content .operation-status .section-inner .column .status-board .item-box:hover div.blue
	{
	color: #EDF2FF !important;
}

.content .operation-status .section-inner .column .status-board .item-box a
	{
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* 5번째*/
.content .utilization {
	background-color: #F2F2F2;
	padding: 30px 0;
}

.content .utilization .utilization-title {
	display: flex;
	height: 60px;
	align-items: center;
	font-weight: bold;
	font-size: 22px;
}

.content .utilization .utilization-item {
	border: 1px solid #949494;
	padding: 20px;
	font-size: 40px;
	text-align: center;
	border-radius: 5px;
	background-color: #fff;
	font-weight: bold;
	color: #2D50FF;
	position: relative;
	overflow: hidden;
	cursor: pointer;
}

/* 배경 어둡게(오버레이) */
.utilization .utilization-item::after {
	content: "";
	position: absolute;
	inset: 0; /* top/right/bottom/left: 0 */
	background: #EDF2FF;
	opacity: 0;
	transition: opacity .25s ease;
}
/* 중앙 텍스트: “자세히보기” */
.utilization .utilization-item::before {
	content: "바로가기";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #2D50FF;
	font-weight: 700;
	font-size: 14px;
	opacity: 0;
	transition: opacity .25s ease;
	z-index: 1;
	width: 80px;
	background-color: #fff;
	padding: 10px;
	border-radius: 5px;
	text-align: left;
	border: 1px solid #949494;
}

/* 아이콘 추가 */
.utilization .utilization-item span.icon {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(calc(-50% + 30px), -50%); /* 텍스트 옆으로 이동 */
	width: 16px;
	height: 16px;
	background: url('../images/icon/next_b.svg') no-repeat center/contain;
	opacity: 0;
	transition: opacity .25s ease;
	z-index: 1;
}

/* hover 시 효과 */
.utilization .utilization-item:hover::after, .utilization .utilization-item:hover::before,
	.utilization .utilization-item:hover span.icon {
	opacity: 1;
}

/* 릴리즈노트 */
.content .release-notes .section-inner {
	padding: 50px 0;
}

.content .release-notes .section-inner .item {
	padding: 25px 20px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	background-color: #ffffff;
	border-radius: 5px;
	border: 1px solid #949494;
}

.content .release-notes .section-inner .item h2 {
	font-size: 20px;
}

.content .release-notes .section-inner .item .release-data {
	border-top: 1px solid #949494;
	padding-top: 25px;
	position: relative;
}

.content .release-notes .section-inner .item p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3; /* 최대 3줄까지 표시 */
	overflow: hidden; /* 넘치는 텍스트 숨김 */
	text-overflow: ellipsis;
	height: 75px;
}

.content .release-notes .section-inner .item:hover {
	background-color: #EDF2FF;
	cursor: pointer;
}

.content .release-notes .section-inner .item:hover .release-data {
	color: #2D50FF; /* 원하는 색상으로 변경 */
}

.content .release-notes .section-inner .item .release-data span.icon {
	position: absolute;
	right: 23px;
	transform: translate(calc(-50% + 30px), -50%);
	width: 16px;
	height: 16px;
	background: url(../images/icon/next_bk.svg) no-repeat center/contain;
	z-index: 1;
	top: 37px;
}

.content .release-notes .section-inner .item:hover .release-data span.icon
	{
	position: absolute;
	right: 23px;
	transform: translate(calc(-50% + 30px), -50%);
	width: 16px;
	height: 16px;
	background: url(../images/icon/next_b.svg) no-repeat center/contain;
	z-index: 1;
	top: 37px;
}

/*공지사항*/
.content .notice-board .section-inner .notice-list {
	border: 1px solid #949494;
	padding: 20px;
	border-radius: 5px;
}

.content .notice-board .section-inner .notice-list li {
	border-bottom: 1px solid #949494;
	padding: 15px 0;
}

.content .notice-board .section-inner .notice-list li:first-child {
	padding-top: 0;
}

.content .notice-board .section-inner .notice-list li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.content .notice-board .section-inner .notice-list li a {
	display: flex;
	justify-content: space-between;
}

.content .notice-board .section-inner .notice-list li a div {
	display: flex;
	gap: 10px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1; /* 최대 3줄까지 표시 */
	overflow: hidden; /* 넘치는 텍스트 숨김 */
	text-overflow: ellipsis;
	height: 25px;
	max-width: 80%;
	position: relative;
}

.content .notice-board .section-inner .notice-list li a div p {
	padding-right: 15px;
}

.content .notice-board .section-inner .notice-list li a:hover {
	color: #2D50FF;
}

.content .notice-board .section-inner .notice-list li a span.new-icon {
	background: url(../images/icon/new.png) no-repeat center/contain;
	width: 8px;
	height: 8px;
	position: absolute;
	top: 0;
	right: 0;
}

/* 이미지 배너 */
.content .img-board .application_button {
	padding: 30px 0;
}

/* 하단 */

/* Footer 기본 스타일 */
.site-footer {
	background: #0D3056; /* 어두운 배경 */
	color: #e6eef8; /* 대비 높은 글자색 */
	padding: 28px 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	box-sizing: border-box;
}

.site-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}

/* 링크 그룹 */
.site-footer__nav {
	display: flex;
	gap: 18px;
	align-items: center;
	flex-wrap: wrap;
}

/* 링크 스타일 (버튼처럼 보이게, 접근성 고려) */
.site-footer__link {
	color: inherit;
	text-decoration: none;
	border-radius: 6px;
	font-size: 14px;
	transition: background 0.12s ease, color 0.12s ease;
	outline: none;
}

.site-footer__link:hover, .site-footer__link:focus {
	text-decoration: underline;
}

/* 메타 정보 (회사명, 연락처 등) */
.site-footer__meta {
	display: flex;
	gap: 12px;
	flex-direction: column;
	align-items: flex-end;
	font-size: 13px;
	opacity: 0.9;
	line-height: 1.4;
	width: 100%;
}

/* 회사명/저작권 줄 스타일 */
.site-footer__company {
	margin: 0;
	font-weight: 400;
}

.d_width {
	background-color: #071a2f;
	text-align: center;
	color: #fff;
	font-size: 12px;
	padding: 10px 0;
}

.d_width address {
	font-style: normal;
}

/* 관련사이트 영역 */
.site-footer__right {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* 셀렉트박스 스타일 */
.related-site-select {
	background: #1b2432;
	color: #e6eef8;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	padding: 8px 10px;
	font-size: 14px;
	outline: none;
	cursor: pointer;
	min-width: 180px;
}

.related-site-select:focus {
	border-color: #4a90e2;
}
/* 이동 버튼 */
.related-site-btn {
	padding: 8px 14px;
	border-radius: 5px;
	font-size: 14px;
	cursor: pointer;
	transition: background 0.2s ease;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: #1b2432;
	color: #e6eef8;
}

.related-site-btn:hover {
	background: #2d50ff;
}

.site-footer__sub {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

textarea {
	resize: none; /* 크기 조절 불가 */
	overflow: auto; /* 내용이 넘치면 스크롤 생김 */
}

/* 설문지 */
body:has(.survey-wrap) {
	background-color: #f2f6fc;
	padding: 20px;
	overflow-y: hidden;
}

.survey-wrap {
	display: flex;
	width: 100%;
	min-height: 100%;
	flex-direction: column;
	gap: 15px;
	background-color: #ffffff;
	border-radius: 5px;
	padding: 30px 20px;
	position: relative;
}

.survey-wrap .survey-title {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	line-height: 3;
	color: #132058;
}

.survey-wrap .survey-title.sub {
	font-size: 16px;
	text-align: left;
	padding: 5px 10px;
	border-radius: 5px;
	color: #000000;
	font-weight: bold;
	line-height: 1.4;
	margin: 10px 0;
}

.survey-wrap .survey-info {
	font-size: 13px;
	padding: 15px 0;
	font-weight: 200;
	line-height: 1.4;
	text-align: center;
}

.survey-wrap .survey-info.sub {
	text-align: justify;
	border: solid 1px #ff9200;
	padding: 6px;
	border-radius: 5px;
	margin: 10px 0;
	color: #000000;
	max-height: 200px;
	overflow-y: auto;
	background-color: #fff5e6;
	font-weight: 500;
}

.survey-wrap .question-wrap {
	padding: 10px;
	display: flex;
	flex-direction: column;
	gap: 15px;
	border: 1px solid #ddd;
	border-radius: 10px;
}

.survey-wrap .question-wrap .question {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

/* 설문지 질문아래 선*/
.question-line {
	border: 1px solid #ddd;
	margin-bottom: 35px;
	margin-top: 20px;
}

.survey-wrap .question-title {
	line-height: 1.6;
	font-weight: bold;
	color: #000;
	font-size: 13px;
	margin: 0;
}

.survey-wrap .survey-info.question {
	background-color: #f3f3f3;
	padding: 10px;
	border-radius: 5px;
	color: #000;
	max-height: 100px;
	overflow-y: auto;
	border: none;
	font-weight: 400;
	text-align: justify;
	font-size: 13px;
}

.survey-wrap .survey-result {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-top: 20px;
}

.survey-wrap .result-title {
	font-size: 18px;
	font-weight: 600;
}

.survey-wrap .survey-result table {
	table-layout: fixed;
	border-top: solid 1px #cccccc;
	border-bottom: solid 1px #cccccc;
}

.survey-wrap .survey-result table th, .survey-wrap .survey-result table td
	{
	padding: 5px 10px;
	vertical-align: middle;
	line-height: 1.6;
}

.survey-wrap .survey-result table th {
	font-weight: 500;
	padding: 5px 20px;
}

.survey-wrap .survey-result table td:has(input) {
	vertical-align: top;
}

.survey-wrap .survey-result table tbody tr {
	border-top: dashed 1px #cccccc;
	background-color: #ffffff;
}

.survey-wrap .survey-result table tbody tr:first-of-type {
	border-top: none;
}

.survey-wrap .survey-result table tfoot tr {
	background-color: #f2f8fb;
	border-top: solid 1px #cccccc;
	border-bottom: solid 1px #cccccc;
}

.survey-wrap .survey-result input {
	text-align: right;
	width: 100%;
	border: 1px solid #ff9200;
	background-color: #fff0dd;
}

.survey-wrap .question-wrap .question-text textarea {
	min-height: 62px;
	margin-top: 10px;
	margin-bottom: 10px;
	border: 1px solid #ddd;
}

.survey-wrap .question-wrap .question-text textarea::placeholder {
	color: #cccccc;
}

.survey-wrap .question-wrap .check-wrap {
	gap: 10px 25px;
	font-size: 13px;
}

.survey-wrap .question-wrap .check-wrap .text {
	display: flex;
	min-width: 25px;
	height: 100% !important;
	padding-left: 23px;
}

.survey-wrap .survey-info+.question-wrap {
	margin-top: 0;
	background-color: #fff;
	border-top: 1px solid #cdcdcd;
}

.survey-wrap .survey-title.sub+.question-wrap {
	margin-top: 0px;
}

.tablet-main {
	background-image: url(../images/background/health.png);
	background-repeat: no-repeat;
	background-size: 150px auto;
	background-position: center 30px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	height: 250px;
	padding: 0 0 40px 0;
	border: solid 1px #cccccc;
	border-left: none;
	border-right: none;
}

.tablet-main p {
	font-size: 18px;
	font-weight: 500;
}

.tablet-survey {
	display: block;
	width: 100%;
	height: calc(100% - 55px);
}

.survey-wrap .survey-image {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.survey-wrap .survey-image img {
	max-width: 100%;
}

.check-block {
	display: flex;
	align-items: center;
	gap: 7px;
}

.check-block .tooltip span.icon {
	margin-top: 1px;
}

/*데시보드*/
.corptypepiechart canvas {
	width: 100% !important;
	height: 100% !important;
}
/**/
@media screen and (max-width: 1730px) {
	.block-wrap:has(.template, .emr) {
		max-height: calc(100% - 124px);
	}
	.block-wrap.emr-wrap {
		max-height: calc(100% - 124px);
	}
}

@media screen and (max-width: 1700px) {
	.recode-wrap {
		flex-direction: column;
	}
	.recode-wrap .recode-input {
		max-width: 100%;
	}
	.recode-wrap .text-count {
		max-width: 100%;
		height: auto;
	}
	.recode-wrap .text-count .count {
		position: unset;
		top: unset;
		right: unset;
	}
	.recode-wrap .text-count textarea {
		min-height: 120px;
	}
}

@media screen and (max-width: 1024px) {
	#clinicSelectChart {
		max-width: 90%;
		width: 100%;
	}
}

#member .search-wrap .group>span {
	min-width: 56px;
}

.section .tree-wrap.survey {
	width: 100%;
}

.note-editor .note-editing-area .note-editable table {
	width: 100% !important;
}

.btn-top {
	position: fixed;
	right: 20px; /* 화면 오른쪽에서 거리 */
	bottom: 20px; /* 화면 아래에서 거리 */
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: none;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	font-size: 12px;
	cursor: pointer;
	display: none; /* 기본 숨김. 스크롤 시 보이게 함 */
	align-items: center;
	justify-content: center;
	z-index: 10000;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	transition: transform .2s ease, opacity .2s ease;
}

/* 나타날 때 약간 올라오는 애니메이션 */
.btn-top.show {
	display: flex; /* flex로 가운데 정렬 */
	opacity: 1;
	transform: translateY(0);
}

/* 숨길 때 */
.btn-top.hide {
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
}

/* 호버 효과 */
.btn-top:hover {
	transform: translateY(-3px);
	background: rgba(0, 0, 0, 0.8);
}

.pre {
	white-space: pre-wrap;
}