@charset "utf-8";
/*****************************************************************
	import
*****************************************************************/
/* @import url(popup.css); */

/*****************************************************************
	동네검색 전용 START
*****************************************************************/
/* [동네검색 재수정 2026-07-29] PC에서는 카테고리 행을 마우스로 잡아 가로 이동할 수 있음을 표시한다. */
@media (hover: hover) and (pointer: fine) {
	.map-wrap .category-list {
		cursor: grab;
	}

	.map-wrap .category-list.is-pointer-dragging,
	.map-wrap .category-list.is-pointer-dragging .menu {
		cursor: grabbing;
		user-select: none;
	}
}

@keyframes ptnrNtpResearchSpin {
	to {
		transform: rotate(360deg);
	}
}

/* 현 지도 검색·결과 더보기는 전체 로더 대신 이미 있는 버튼 아이콘으로 진행 상태를 알립니다. */
#btn-re-search[aria-busy="true"] .ico16-research {
	animation: ptnrNtpResearchSpin 0.8s linear infinite;
	transform-origin: center;
}

/* 전역 로더가 없는 위치 확인은 항상 보이는 기존 내 위치 버튼에서 안내합니다. */
#bottom-sheet .my-location[aria-busy="true"] {
	background-image: none;
	cursor: wait;
}

#bottom-sheet .my-location[aria-busy="true"]::before {
	content: "";
	position: absolute;
	top: 1rem;
	left: 1rem;
	width: 1.8rem;
	height: 1.8rem;
	box-sizing: border-box;
	border: 0.2rem solid #c7d2cc;
	border-top-color: #009b66;
	border-radius: 50%;
	animation: ptnrNtpResearchSpin 0.8s linear infinite;
}

#bottom-sheet .my-location[aria-busy="true"]::after {
	content: attr(data-busy-label);
	position: absolute;
	top: 50%;
	right: calc(100% + 0.8rem);
	min-width: 12rem;
	padding: 0.6rem 0.9rem;
	border: 0.1rem solid #d9dee7;
	border-radius: 1.6rem;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.10);
	color: #2f383d;
	font-size: 1.2rem;
	line-height: 1.4;
	white-space: nowrap;
	transform: translateY(-50%);
	pointer-events: none;
}

/* 자동 더보기는 목록 문맥을 유지한 채 목록 끝에서만 진행 상태를 보입니다. */
#mapInfoList .search-page-loading-indicator {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	min-height: 5.6rem;
	padding: 1.2rem 1.6rem;
	color: #59636b;
	font-size: 1.3rem;
	text-align: center;
}

#mapInfoList .search-page-loading-indicator::before {
	content: "";
	width: 1.6rem;
	height: 1.6rem;
	box-sizing: border-box;
	border: 0.2rem solid #c7d2cc;
	border-top-color: #009b66;
	border-radius: 50%;
	animation: ptnrNtpResearchSpin 0.8s linear infinite;
}

/* [동네검색 재수정 2026-07-28]
 * 공통 하단 메뉴 여백(6.8rem)이 100vh 지도 높이에 다시 더해져 문서 전체가
 * 세로로 스크롤되는 문제를 동네검색 화면에서만 제거합니다.
 */
#wrap:has(.map-wrap):has(#bottom-sheet) {
	padding-bottom: 0;
}

/* [동네검색 재수정 2026-07-29]
 * 검색 결과 전체를 바꾸는 동안에는 기존 공통 로딩 애니메이션과 입력 차단을 유지하되,
 * 사용자가 보던 지도 위치를 잃지 않도록 동네검색에서 요청한 경우에만 배경을 투명하게 표시합니다.
 * 공통 로더 원본과 다른 화면은 수정하지 않습니다.
 */
html.is-ptnr-ntp-transparent-loading .loading {
	background-color: rgba(255, 255, 255, 0.42) !important;
	-webkit-backdrop-filter: blur(1px) !important;
	backdrop-filter: blur(1px) !important;
}

/* [동네검색 수정본 2026-07-24 시작]
 * 동네검색 전용 상태 스타일입니다. 기존 JavaScript의 동적 <style> 주입을 제거하고
 * #mapInfoList, #bottom-sheet 범위로 한정해 다른 화면에 영향을 주지 않습니다.
 */
#mapInfoList [data-place-key] {
	position: relative;
	isolation: isolate;
}

#mapInfoList [data-place-key].is-selected {
	background: transparent !important;
	border-top-color: transparent !important;
	box-shadow: none !important;
}

#mapInfoList [data-place-key].is-selected::before {
	content: "";
	position: absolute;
	inset: -0.6rem -0.8rem;
	z-index: -1;
	border-radius: 0.8rem;
	background: #eefbf2;
	pointer-events: none;
}

#mapInfoList [data-place-key].is-selected .map-info-cont {
	background: transparent !important;
}

#mapInfoList [data-place-key].is-detail-loading .map-info-cont {
	opacity: 0.72;
}

#mapInfoList [data-place-key] .detail-loading-indicator {
	position: absolute;
	top: 1.4rem;
	right: 4.8rem;
	width: 1.4rem;
	height: 1.4rem;
	border: 0.2rem solid #d7dde0;
	border-top-color: #009b5a;
	border-radius: 50%;
	animation: ptnrNtpDetailSpin 0.7s linear infinite;
	pointer-events: none;
}

#mapInfoList .initial-location-status {
	padding: 2rem 1.6rem;
	color: #59636b;
	text-align: center;
}

/* [동네검색 재수정 2026-07-27]
 * 목록 푸터를 일반 카드 사이 여백에서 분리하고, 마지막 카드가 목록 상단을 지나치지
 * 않도록 JavaScript가 계산한 높이 안에 맨 위 이동 버튼을 배치합니다.
 */
#mapInfoList>li.list-footer {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-height: 0;
	margin-top: 0;
	padding-top: 0;
	border-top: 1px solid var(--g200);
}

#mapInfoList .btn-scroll-top {
	position: absolute;
	left: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.8rem;
	height: 4.8rem;
	min-width: 4.8rem;
	min-height: 4.8rem;
	padding: 0;
	border: 1px solid var(--g200);
	border-radius: 50%;
	background: #fff;
	color: var(--g600);
	font-size: 2.4rem;
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0;
	-webkit-appearance: none;
	appearance: none;
	transform: translateX(-50%);
}

#mapInfoList .btn-scroll-top[hidden] {
	display: none !important;
}

#mapInfoList .btn-scroll-top:focus {
	outline: 0;
}

#mapInfoList .btn-scroll-top:focus-visible:not([data-focus-origin="pointer"]),
#mapInfoList .btn-scroll-top[data-focus-origin="keyboard"]:focus {
	outline: 3px dashed #000;
	outline-offset: 0.3rem;
}

#mapInfoList .btn-scroll-top:active {
	transform: translateX(-50%) scale(0.96);
}

@keyframes ptnrNtpDetailSpin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	#mapInfoList [data-place-key] .detail-loading-indicator {
		animation: none;
	}

	#btn-re-search[aria-busy="true"] .ico16-research {
		animation: none;
	}

	#bottom-sheet .my-location[aria-busy="true"]::before,
	#mapInfoList .search-page-loading-indicator::before {
		animation: none;
	}

	.map-wrap .map-pin-wrap .btn-map-pin {
		transition: none;
	}
}

.map-wrap .map-pin-wrap {
	position: relative;
}

.map-wrap .map-pin-wrap .map-pin-label {
	position: absolute;
	left: 50%;
	top: 2.4rem;
	display: none !important;
	/* [동네검색 재수정 2026-07-28] 업체명 라벨이 가까운 마커의 클릭을 가로채지 않게 합니다. */
	pointer-events: none;
	margin-top: 0.4rem;
	color: #242933;
	font-size: 1.3rem;
	white-space: nowrap;
	font-weight: 700;
	letter-spacing: 0;
	text-shadow: -0.2rem -0.2rem 0 #fff, 0.2rem -0.2rem 0 #fff,
		-0.2rem 0.2rem 0 #fff, 0.2rem 0.2rem 0 #fff;
	transform: translateX(-50%);
}

.map-wrap .map-pin-wrap .btn-map-pin {
	transform-origin: center bottom;
	transition: transform 0.12s ease, opacity 0.12s ease;
}

.map-wrap .map-pin-wrap.is-selected .btn-map-pin {
	transform: scale(1.18);
}

.map-wrap .map-pin-wrap.is-selected .map-pin-label {
	display: block !important;
}

/* [동네검색 수정본 2026-07-25 시작]
 * 축소 시 생략하던 마커만 작은 점으로 표시합니다. 기존 일반·파트너·선택 마커는 그대로 사용합니다.
 */
.map-wrap .map-pin-wrap.is-compact-dot:not(.is-selected) .btn-map-pin {
	width: 2.8rem;
	height: 2.8rem;
}

.map-wrap .map-pin-wrap.is-compact-dot:not(.is-selected) .pin-inner {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0.8rem;
	height: 0.8rem;
	padding: 0;
	border-radius: 50%;
	box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.2);
	transform: translate(-50%, -50%);
}

.map-wrap .map-pin-wrap.is-compact-dot:not(.is-selected) .pin-inner [class^="ico20-"] {
	display: none;
}

.map-wrap .map-pin-wrap.is-compact-dot:not(.is-selected) .btn-map-pin::before,
.map-wrap .map-pin-wrap.is-compact-dot:not(.is-selected) .btn-map-pin::after {
	display: none;
}
/* [동네검색 수정본 2026-07-25 끝] */

/* [동네검색 수정본 2026-07-25 시작]
 * PEEK 대신 핸들만 보이는 최소 상태를 사용합니다. 보이는 막대와 실제 조작 영역을
 * 분리해 터치·마우스·키보드 모두 최소 48px 높이에서 같은 동작을 하도록 합니다.
 * 막대의 크기·색상·라운드는 기존 .handle-bar .bar 스타일을 그대로 사용합니다.
 */
#bottom-sheet.is-collapsed {
	height: 4.8rem !important;
}

#bottom-sheet .handle-bar {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 4.8rem;
	width: 100%;
	min-width: 4.8rem;
	height: 4.8rem;
	min-height: 4.8rem;
	padding: 0;
	border: 0;
	cursor: ns-resize;
	touch-action: none;
	user-select: none;
}

#bottom-sheet .handle-bar:focus {
	outline: 0;
}

/* [동네검색 수정본 2026-07-25]
 * 운영 contents.css의 카드 포커스 표시와 동일한 점선 값을 사용합니다.
 * 포인터로 받은 포커스는 제외하고 키보드로 접근했을 때만 표시합니다.
 */
#bottom-sheet .handle-bar:focus-visible:not([data-focus-origin="pointer"]),
#bottom-sheet .handle-bar[data-focus-origin="keyboard"]:focus {
	outline: 3px dashed #000;
	outline-offset: -0.3rem;
	border-radius: 1.2rem;
}

/* [동네검색 수정본 2026-07-26]
 * 공용 상세 모달을 포인터로 연 직후의 프로그램 포커스에는 외곽선을 보이지 않습니다.
 * 첫 키보드 입력부터 data-focus-origin이 keyboard로 바뀌어 운영 공통 :focus-visible 점선을 사용합니다.
 */
#fullCompanyInfoModal2[data-focus-origin="pointer"] :focus {
	outline: 0 !important;
}

#bottom-sheet.is-collapsed .sheet-body {
	visibility: hidden;
	overflow: hidden;
	pointer-events: none;
}

button.my-location {
	padding: 0;
	-webkit-appearance: none;
	appearance: none;
}

.map-wrap .ptnr-current-location-marker {
	position: relative;
	display: block;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 50%;
	background: rgba(47, 128, 237, 0.2);
	pointer-events: none;
}

.map-wrap .ptnr-current-location-marker::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.4rem;
	height: 1.4rem;
	border: 0.3rem solid #fff;
	border-radius: 50%;
	background: #2f80ed;
	box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.28);
	content: "";
	transform: translate(-50%, -50%);
}

@media (forced-colors: active) {
	#bottom-sheet .handle-bar .bar,
	.map-wrap .ptnr-current-location-marker::after {
		border: 0.2rem solid ButtonText;
		background: ButtonFace;
	}
	#mapInfoList .btn-scroll-top {
		border-color: ButtonText;
		background: ButtonFace;
		color: ButtonText;
	}
}
/* [동네검색 수정본 2026-07-25 끝] */

@media (max-width: 767px) {
	#bottom-sheet {
		/* [동네검색 재수정 2026-07-27]
		 * 하단 메뉴는 이미 기기 안전영역 안에 배치되므로 안전영역을 중복 가산하지 않습니다.
		 * 화면 표시 후 JavaScript가 실제 하단 메뉴 경계로 다시 정밀 보정합니다.
		 */
		bottom: 6.8rem !important;
		max-height: calc(100vh - 6.8rem) !important;
		max-height: calc(100dvh - 6.8rem) !important;
	}

	#bottom-sheet .sheet-body {
		overscroll-behavior-y: contain;
	}
}

/* [동네검색 수정본 2026-07-24 끝] */
/*****************************************************************
	동네검색 전용 END
*****************************************************************/



/*****************************************************************
  Board
*****************************************************************/
.total-item-box {
	padding-bottom: 0.8rem;
	line-height: 2.2rem;
	color: var(--g900);
	font-size: 1.4rem;
}

.board-list {
	border-top: 1px solid var(--g200);
}

.board-list .board-item {
	padding: 2rem 0.4rem;
	border-bottom: 1px solid var(--g200);
}

.board-list.bdt0 .board-item:first-child {
	padding-top: 0;
}

.board-list.last-border-none .board-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.board-list .link-txt {
	position: relative;
	display: block;
}

.board-list .link-txt .date {
	display: block;
	margin-top: 0.4rem;
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
	font-weight: 400;
}

.board-list .board-item.top-fixed .link-txt {
	padding-left: 2.8rem;
}

.board-list .board-item.top-fixed .link-txt::before {
	content: "";
	position: absolute;
	top: 0.2rem;
	left: 0;
	width: 2rem;
	height: 2rem;
	background: url(../images/icon/ico_20x20_pin.png) no-repeat top left / 2rem auto;
}

.board-list .tit-box .badge.new {
	margin: 0.3rem 0 0 0.4rem;
	vertical-align: top;
}

.board-list .tit-box .txt {
	line-height: 2.4rem;
	color: var(--g900);
	font-size: 1.6rem;
}

/*****************************************************************
  Board 상세
*****************************************************************/
.board-detail .board-head {
	position: relative;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #eee;
}

.board-detail .board-head.top-fixed {
	padding-left: 2.8rem;
}

.board-detail .board-head.top-fixed::before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 2rem;
	height: 2rem;
	background: url(../images/icon/ico_20x20_pin.png) no-repeat top left / 2rem auto;
}

.board-detail .board-head .tit2 {
	display: inline;
}

.board-detail .board-head .badge.new {
	margin: 0.6rem 0 0 0.2rem;
	vertical-align: top;
}

.board-detail .board-head .date {
	display: block;
	margin-top: 0.4rem;
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
}

.board-detail .board-body {
	display: flex;
	flex-direction: column;
	min-height: 20rem;
	padding: 0 0.4rem;
	line-height: 2.4rem;
	color: var(--g900);
	font-size: 1.6rem;
	white-space: pre-line;
	word-break: break-all;
	overflow-x: auto;
}

.board-detail .board-body ol,
.board-detail .board-body ul,
.board-detail .board-body li {
	margin: revert;
	padding: revert;
	list-style: revert;
}

.board-detail .board-body table {
	width: 100% !important;
}

.board-detail .board-body+.btn-wrap {
	margin: 4rem 0;
}

.board-bottom-list {
	border-top: 1px solid var(--g200);
}

.board-bottom-list>li {
	border-bottom: 1px solid var(--g200);
}

.board-bottom-list .link-prev-next {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	padding: 1.6rem;
}

.board-bottom-list .tit {
	flex-shrink: 0;
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
}

.board-bottom-list .txt {
	line-height: 2.4rem;
	color: var(--g900);
	font-size: 1.6rem;
}

.board-bottom-list .link-prev-next.none .txt {
	color: var(--g600);
}

.notice-file {
	display: flex;
	flex-flow: column;
	margin-bottom: 2rem;
}

.notice-file .btn-file-down {
	position: relative;
	display: inline-flex;
	padding-left: 2rem;
	line-height: 2.2rem;
	color: var(--gn700);
	font-size: 1.4rem;
	font-weight: 500;
}

.notice-file .btn-file-down::before {
	content: "";
	position: absolute;
	top: 0.4rem;
	left: 0;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../images/icon/ico_16x16_papers.png) no-repeat center center / 100% auto;
}

.notice-file .btn-file-down .txt {
	text-decoration: underline;
}

/*****************************************************************
	  데이터 없는 경우
*****************************************************************/
.empty-box {
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	width: 100%;
	padding-top: 12rem;
	min-height: 45rem;
	text-align: center;
}

.empty-box.photo-no-data {
	min-height: 66.2rem;
	padding-top: 0;
}

.empty-box .txt-box {
	line-height: 2.4rem;
	color: var(--g600);
	font-size: 1.6rem;
	font-weight: 400;
}

.empty-box .txt-box.sm-txt {
	line-height: 2.2rem;
	font-size: 1.4rem;
}

.empty-box .tit {
	display: block;
	margin-bottom: 0.8rem;
	line-height: 2.4rem;
	color: var(--g700);
	font-size: 1.6rem;
	font-weight: 500;
}

.empty-box .txt-block em {
	color: var(--gn700);
}

.empty-box .ico140-nodata1,
.empty-box .ico140-nodata2 {
	background: #eee;
}

/* empty-box : 최소높이 168, 높이 100%, 가운데 정렬 타입 추가  */
.empty-box.align-center {
	justify-content: center;
	min-height: 16.8rem;
	height: 100%;
	padding-top: 0;
}

.empty-box.bdr-top {
	border-top: 1px solid var(--g200);
}

.empty-box.bdr-bottom {
	margin-bottom: 2rem;
	border-bottom: 1px solid var(--g200);
}

.empty-box.pdtb88 {
	padding: 8.8rem 0;
}

.empty-box.hei300 {
	height: 30rem;
	padding: 6rem 0 0 0;
}

.empty-box.lit-no-data {
	min-height: calc(100vh -30.9rem);
}

/*****************************************************************
  1:1 문의
*****************************************************************/
/* 1:1 문의 내역 */
.board-wrap.type-inq {
	margin-top: 4rem;
}

.board-wrap.type-inq .link-txt {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.2rem;
}

.board-wrap.type-inq .link-txt .tit-box {
	display: inline-grid;
}

/* 1:1 문의 */
.inq-link-box {
	display: block;
	margin-bottom: 2.4rem;
	padding: 2rem;
	background-color: var(--g100);
	border-radius: var(--border-radius-16);
}

.inq-link-box+.con-tit2 {
	margin-bottom: 1.2rem;
}

.inq-link-box .txt {
	line-height: 2.4rem;
	color: var(--g900);
	font-size: 1.6rem;
	font-weight: 500;
}

.inq-link-box .flex-box {
	gap: 0.8rem;
}

.inq-file-add-wrap {
	margin-top: 1.2rem;
}

.inq-file-add-wrap .round-box {
	position: relative;
	padding: 1.3rem 2rem;
}

.inq-file-add-wrap .file-info {
	position: relative;
	display: inline-flex;
	padding-left: 2rem;
	line-height: 2.2rem;
	color: var(--gn700);
	font-size: 1.4rem;
	font-weight: 400;
}

.inq-file-add-wrap .file-info::before {
	content: "";
	position: absolute;
	top: 0.4rem;
	left: 0;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../images/icon/ico_16x16_papers.png) no-repeat center center / 100% auto;
}

.inq-file-add-wrap .btn-del {
	display: block;
	right: 1rem;
	background-image: url(../images/icon/ico_16x16_close_gray.png);
	background-size: 1.6rem auto;
}


/*****************************************************************
  건강수첩
*****************************************************************/
/* 메인 */
.top-vis-health {
	text-align: center;
}

.top-vis-health .date {
	display: block;
	margin-bottom: 0.4rem;
	color: var(--g700);
}

.top-vis-health .btn-pets {
	line-height: 3rem;
	color: var(--g900);
	font-size: 2.4rem;
	font-weight: 700;
}

.top-vis-health .btn-pets .txt {
	position: relative;
	padding-right: 2.4rem;
}

.top-vis-health .btn-pets .txt::after {
	content: "";
	position: absolute;
	top: 0.6rem;
	right: 0;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../images/icon/ico_16x16_arrow_down_gray.png) no-repeat center center / 1.6rem auto;
}

.top-vis-health .img-box {
	width: 100%;
	max-width: 33.5rem;
	margin: 2.4rem auto 0;
}

.today-mission-list {
	display: flex;
	flex-flow: column;
	gap: 3.2rem;
}

.today-mission-list .cont {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.6rem;
}

.today-mission-list .cont .left {
	display: flex;
	align-items: center;
	gap: 1.6rem;
}

.today-mission-list .cont .txt-box {
	display: flex;
	flex-flow: column;
}

.today-mission-list .cont .right {
	flex-shrink: 0;
}

.dairy-time-list {
	display: flex;
	flex-flow: column;
	gap: 1.6rem;
}

.dairy-time-list li {
	position: relative;
	padding-left: 2.8rem;
}

.dairy-time-list li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 1.2rem;
	height: 2.4rem;
	background: url(../images/icon/ico_12x12_bul_time_history.png) no-repeat center center / 1.2rem auto;
}

.dairy-time-list li::after {
	content: "";
	position: absolute;
	top: 2.8rem;
	left: 5px;
	width: 1px;
	height: calc(100% - 28px);
	background-color: var(--g200);
}

.dairy-time-list .time-txt {
	display: block;
	margin-bottom: 1.2rem;
	color: var(--gn700);
	font-weight: 700;
}

.dairy-time-list .dairy-tit {
	display: block;
	line-height: 2.2rem;
	color: var(--g900);
	font-size: 1.4rem;
	font-weight: 700;
}

.dairy-time-list .info-txt-box {
	width: 100%;
}

.dairy-time-list .info-txt-box dl {
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.dairy-time-list .info-txt-box dl dt {
	flex-shrink: 0;
	min-width: 6.2rem;
	line-height: 2.2rem;
	color: var(--g700);
	font-size: 1.4rem;
}

.dairy-time-list .info-txt-box dl dd {
	line-height: 2.2rem;
	color: var(--g700);
	font-size: 1.4rem;
}

.dairy-time-list .info-txt-box .link {
	display: block;
}

.dairy-time-list .photo-box {
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.dairy-time-list .photo-box .item {
	overflow: hidden;
	width: 4.8rem;
	height: 4.8rem;
	border-radius: var(--border-radius-8);
}

.dairy-time-list .photo-box img {
	width: 100%;
}

.dairy-time-list.type2 {
	gap: 0;
}

.dairy-time-list.type2>li {
	overflow: hidden;
	padding-left: 0;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--g200);
}

.dairy-time-list.type2>li::before,
.dairy-time-list.type2>li::after {
	display: none;
}

.dairy-time-list.type2 .cont {
	display: flex;
	align-items: flex-start;
	gap: 1.6rem;
}

.dairy-time-list.type2 .cont .gray-box {
	overflow: hidden;
	padding: 0;
	background-color: var(--white);
	border-radius: 0;
	cursor: pointer;
}

.dairy-time-list.type2 .cont .flex-box {
	gap: 1.6rem;
}

.dairy-time-list.type2 .cont .time-txt {
	line-height: 2.2rem;
	color: var(--gn700);
	font-size: 1.4rem;
	font-weight: 500;
}

.dairy-time-list.type2 .photo-box .item {
	width: 7.8rem;
	height: 7.8rem;
}

.health-history-list {
	overflow-x: auto;
	display: flex;
	flex-wrap: nowrap;
	gap: 2.4rem;
	margin: 0 -2rem;
	padding: 0 2rem;
	-webkit-overflow-scrolling: touch;
}

.health-history-list .cont {
	position: relative;
}

.health-history-list .cont .link {
	display: flex;
	flex-flow: column;
	gap: 2.4rem;
	width: 14.2rem;
	padding: 2rem;
	background-color: var(--g100);
	border-radius: var(--border-radius-12);
}

.health-history-list .cont.is-done:has(.ico40-play-bored) .link,
.health-history-list .cont.is-done:has(.ico40-play-enough) .link,
.health-history-list .cont.is-done:has(.ico40-play-suitably) .link {
	background-color: var(--gn100);
}

.health-history-list .cont.is-done:has(.ico40-feed) .link,
.health-history-list .cont.is-done:has(.ico40-feed-enough) .link,
.health-history-list .cont.is-done:has(.ico40-feed-some) .link,
.health-history-list .cont.is-done:has(.ico40-feed-suitably) .link {
	background-color: #e9f2ff;
}

.health-history-list .cont.is-done:has(.ico40-poop) .link,
.health-history-list .cont.is-done:has(.ico40-poop-blood) .link,
.health-history-list .cont.is-done:has(.ico40-poop-diarrhea) .link,
.health-history-list .cont.is-done:has(.ico40-poop-hard) .link,
.health-history-list .cont.is-done:has(.ico40-poop-no) .link {
	background-color: #ffedcc;
}


.health-history-list .cont.is-done:has(.ico40-toothbrush-yes) .link,
.health-history-list .cont.is-done:has(.ico40-toothbrush-no) .link {
	background-color: #f6edff;
}

.health-history-list .cont .link .txt-box {
	display: flex;
	flex-flow: column;
	gap: 0.4rem;
}

.health-history-list .dropdown.more {
	top: 2rem;
	right: 1rem;
}

.health-history-list .dropdown.more .dropdown-cont::before {
	top: 1.4rem;
	right: -0.6rem;
	border-width: 0.4rem 0 0.4rem 0.8rem;
}

.health-history-list .dropdown.more .dropdown-cont::after {
	top: 1.3rem;
	right: -0.8rem;
	border-width: 0.5rem 0 0.5rem 0.8rem;
}

.health-history-list .dropdown.more .dropdown-cont {
	left: -5.6rem;
}

.health-consult-list {
	display: flex;
	flex-flow: column;
	gap: 1.6rem;
}

.health-consult-list .board-link {
	display: block;
	padding: 2rem;
	border: 1px solid var(--g200);
	border-radius: var(--border-radius-12);
}

.health-consult-list .board-link .tit {
	display: block;
	font-weight: 500;
}

.health-consult-list .board-link .left {
	display: flex;
	align-items: center;
}

.health-consult-list .board-link .date,
.health-consult-list .board-link .category {
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
}

.health-consult-list .board-link .date+.category {
	position: relative;
	margin-left: 0.4rem;
	padding-left: 0.4rem;
}

.health-consult-list .board-link .date+.category::before {
	content: "";
	position: absolute;
	top: 0.6rem;
	left: 0;
	width: 1px;
	height: 1rem;
	background-color: var(--g400);
}

.health-photo-list {
	overflow-x: auto;
	display: flex;
	flex-wrap: nowrap;
	gap: 0.8rem;
	margin: 0 -2rem;
	padding: 0 3.5rem;
	-webkit-overflow-scrolling: touch;
}

.health-photo-list .btn-photo {
	overflow: hidden;
	display: block;
	width: 30.5rem;
	height: 20rem;
	border-radius: var(--border-radius-12);
}

.health-photo-list .btn-photo img {
	width: 100%;
}

.health-share-list {
	overflow-x: auto;
	display: flex;
	flex-wrap: nowrap;
	gap: 0.8rem;
	margin: 0 -2rem;
	padding: 0 2rem;
	-webkit-overflow-scrolling: touch;
}

.health-share-list .cont {
	display: flex;
	flex-flow: column;
	gap: 1.2rem;
	padding: 0 0.8rem;
}

.health-share-list .cont .txt-box {
	display: flex;
	flex-flow: column;
	text-align: center;
}

.health-share-list .cont .txt-box .name {
	line-height: 2.4rem;
	color: var(--g900);
	font-size: 1.6rem;
	font-weight: 700;
}

.health-share-list .cont .txt-box .number {
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
}

.contents-box:has(.health-share-list) {
	padding-bottom: 3.2rem;
}

.health-history-ban-list {
	display: flex;
	flex-flow: column;
	gap: 1.6rem;
}

.health-history-ban-list .gray-box {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.6rem;
	width: 100%;
	padding-right: 4.4rem;
}

.health-history-ban-list .gray-box::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 2rem;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../images/icon/ico_16x16_arrow_right_gray2.png) no-repeat center center / 1.6rem auto;
	transform: translateY(-50%);
}

.health-history-ban-list .left {
	display: flex;
	align-items: center;
	gap: 1.6rem;
}

.health-history-ban-list .left .txt-box {
	display: flex;
	flex-flow: column;
	gap: 0.2rem;
}

.health-history-ban-list .right {
	flex-shrink: 0;
	text-align: right;
}

.diary-detail .title-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.diary-detail .title-box .dropdown.more {
	position: relative;
	flex-shrink: 0;
	top: auto;
	right: auto;
}

.diary-detail .txt-box .color-gray {
	white-space: pre-line;
}

.diary-detail .txt-box .date-info {
	display: block;
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
}

.diary-detail .txt-box .sub-tit {
	display: block;
	line-height: 2.6rem;
	font-size: 1.8rem;
	font-weight: 500;
}

.diary-detail .photo-box {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.8rem;
}

.diary-detail .photo-box button {
	display: block;
}

.diary-detail .photo-box img {
	width: 100%;
}

/* 건강그래프 */
.health-week {
	overflow: hidden;
}

.health-week .week-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	margin-bottom: 2.4rem;
}

.health-week .btn-nav {
	width: 3.6rem;
	height: 2.6rem;
	background: url(../images/icon/ico_16x16_arrow_right_gray2.png) no-repeat center center / 1.6rem auto;
}

.health-week .btn-nav.disabled,
.health-week .btn-nav:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
}

.health-week .btn-nav.prev {
	transform: rotate(180deg);
}

.health-week .week-range {
	width: 100%;
	max-width: 16rem;
	text-align: center;
	line-height: 2.6rem;
	font-size: 1.8rem;
	font-weight: 700;
	;
}

.health-week .swiper-wrapper {
	display: flex;
}

.health-week .swiper-wrapper .swiper-slide {
	width: 100%;
	flex-shrink: 0;
}

.health-week .week-panel {
	width: 100%;
}

.health-week .week-panel .inner+.inner {
	margin-top: 3.2rem;
	padding-top: 3.2rem;
	border-top: 1px solid var(--g200);
}

.health-week .week-status-list {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
}

.health-week .week-status-list .cont {
	display: flex;
	flex-flow: column;
	align-items: center;
	text-align: center;
}

.health-week .week-status-list .date {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.8rem;
	height: 2.8rem;
	margin-top: 0.7rem;
	background-color: var(--g100);
	border-radius: var(--border-radius-100);
	line-height: 2.2rem;
	color: var(--g500);
	font-size: 1.4rem;
	font-weight: 500;
}

.health-week .week-status-list [class^="ico40-"] {
	width: 4rem;
	height: 4rem;
	margin-top: 1.5rem;
}

.health-week .week-status-list .txt {
	margin-top: 0.4rem;
	line-height: 2rem;
	color: var(--g600);
	font-size: 1.2rem;
	font-weight: 500;
}

/* 사진첩 */
.photo-view-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.8rem;
}

.photo-view-list li {
	display: list-item;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.photo-view-list .cont {
	position: relative;
	width: 100%;
	height: 100%;
}

.photo-view-list .btn-photo-box {
	width: 100%;
	height: 100%;
	overflow: hidden;
	display: block;
	border-radius: var(--border-radius-12);
}

.photo-view-list .btn-photo-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.photo-view-list.edit-mode .btn-photo-del {
	display: block;
}

/* 건강상담/분석 */
.health-consult-list.detail-page {
	gap: 0;
}

.health-consult-list.detail-page .board-link {
	padding: 0 0.4rem;
	border: 0;
}

.health-consult-list.detail-page li {
	padding: 2rem 0;
	border-bottom: 1px solid var(--g200);
}

.health-consult-list.detail-page li:last-child {
	border-bottom: 0;
}

.health-consult-list.detail-page .tit {
	display: -webkit-box;
}

.banner-list {
	display: flex;
	flex-flow: column;
	gap: 1.2rem;
}

.banner-list .ban-consult {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.6rem 2rem;
	border-radius: var(--border-radius-16);
}

.ban-consult.type01 {
	background-color: #f0f8ff;
}

.ban-consult.type02 {
	background-color: var(--g100);
}

/* 공유돌봄 */
.take-care-list {
	display: flex;
	flex-flow: column;
	gap: 1.6rem;
}

.take-care-list .gray-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.6rem;
}

.take-care-list .gray-box .btn {
	flex-shrink: 0;
	width: auto;
}

.take-care-list .info {
	display: flex;
	align-items: center;
	gap: 1.6rem;
}

.take-care-list .info .txt-box {
	display: flex;
	flex-flow: column;
	gap: 0.2rem;
}

.take-care-list .txt-box .name {
	font-weight: 500;
}

.take-care-list .txt-box .number {
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
}

.ps-bottom-txt {
	position: absolute;
	top: -8.8rem;
	left: 0;
	width: 100%;
	text-align: center;
}

.ps-bottom-txt2 {
	position: absolute;
	top: -5.2rem;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.4rem;
	color: var(--g500);
}

.error-info-wrap {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 1.6rem;
	margin-top: 1.6rem;
	text-align: center;
}

/* 반려동물 등록 여부 모달 */
.my-pet-reg-info {
	width: 100%;
	max-width: 28rem;
	margin: 4rem auto 0;
}

.my-pet-reg-info img {
	width: 100%;
}

/* 사진올리기 */
.file-add-wrap {
	display: flex;
	gap: 0.8rem;
}

.file-add-wrap .file-add-item {
	position: relative;
	flex: 1;
	aspect-ratio: 1/1;
}

.file-add-wrap .file-add-item .file-label {
	overflow: hidden;
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--g100);
	border: 1px dashed var(--g300);
	border-radius: 1.2rem;
	cursor: pointer;
}

.file-add-wrap .file-add-item .file-label::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: var(--g100) url('../images/icon/ico_24x24_plus.png') no-repeat 50% 50% / 2.4rem 2.4rem;
	z-index: 1;
}

.file-add-wrap .file-add-item .file-label:has(.file-input:focus-visible) {
	outline: 2px solid #000;
}

.file-add-wrap .file-add-item .file-input {
	position: absolute;
	width: 100%;
	height: 100%;
}

.file-add-wrap .file-add-item .preview {
	display: none;
	overflow: hidden;
	width: 100%;
	height: 100%;
	border-radius: 1.2rem;
}

.file-add-wrap .file-add-item .preview img {
	width: 100%;
	height: 100%;
	margin: auto;
	object-fit: cover;
	object-position: top;
	aspect-ratio: 1 / 1;
}

/* 업로드 완료 상태 */
.file-add-wrap .file-add-item.on .file-label {
	display: none;
}

.file-add-wrap .file-add-item.on .preview,
.file-add-wrap .file-add-item.on .btn-photo-del {
	display: block;
}

/* 여부등록 */
.pets-mission-wrap .title-box {
	margin-bottom: 3.2rem;
	text-align: center;
}

.pets-mission-wrap .title-box .tit2 {
	position: relative;
}

.pets-mission-wrap .title-box [class*="ico-"] {
	position: relative;
}

.pets-mission-wrap .title-box [class*="ico-"]::before {
	content: '';
	display: block;
	width: 7.2rem;
	height: 7.2rem;
	margin: 0 auto 0.8rem;
}

.pets-mission-wrap .title-box .ico-mission01 {
	background: url('../images/icon/ico_72x72_mission01.png') no-repeat 50% 0 / 7.2rem 7.2rem;
}

.pets-mission-wrap .title-box .ico-mission02 {
	background: url('../images/icon/ico_72x72_mission02.png') no-repeat 50% 0 / 7.2rem 7.2rem;
}

.pets-mission-wrap .title-box .ico-mission03 {
	background: url('../images/icon/ico_72x72_mission03.png') no-repeat 50% 0 / 7.2rem 7.2rem;
}

.pets-mission-wrap .title-box .ico-mission04 {
	background: url('../images/icon/ico_72x72_mission04.png') no-repeat 50% 0 / 7.2rem 7.2rem;
}

.pets-mission-wrap .title-box:last-child {
	margin-bottom: 0;
}

.pets-mission-wrap .rdo-wrap {
	flex-direction: column;
	gap: 1.6rem;
}

/* 공유돌봄 신청 */
.pets-photo-box {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 1.2rem;
	padding: 3.2rem 2rem;
}

.pets-photo-box .img-box {
	overflow: hidden;
	width: 12rem;
	height: 12rem;
	border-radius: var(--border-radius-100);
}

.pets-photo-box .name {
	line-height: 2.6rem;
	font-size: 1.8rem;
	font-weight: 500;
}


/*****************************************************************
  질병예측
*****************************************************************/
.vis-img-box {
	width: 100%;
	max-width: 33.5rem;
	margin: auto;
}

.vis-img-box img {
	width: 100%;
}

.medi-ex-info {
	display: grid;
	align-items: center;
	grid-template-columns: 1fr 1fr;
	gap: 0.8rem;
	margin-top: 2.4rem;
}

.medi-ex-info .cont {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 0.4rem;
	text-align: center;
}

.medi-ex-info .cont .unit {
	line-height: 3rem;
	font-size: 2.4rem;
	font-weight: 400;
}

.disease-info-wrap .gray-box {
	padding: 3.2rem 2rem;
}

.disease-info-wrap .gray-box+.gray-box {
	margin-top: 2rem;
}

.disease-info-wrap .disease-list {
	/* overflow-x: auto; */
	display: flex;
	/* flex-wrap: nowrap; */
	/* gap: 0.8rem; */
}

.disease-info-wrap .disease-list .cont {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 1.2rem;
	text-align: center;
}

.pets-score-box {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 1.2rem;
	padding: 2.4rem 0.8rem;
}

.pets-score-box .img-box {
	overflow: hidden;
	width: 9.6rem;
	height: 9.6rem;
	margin: auto;
	border-radius: var(--border-radius-100);
}

.pets-score-box .txt-box .unit {
	line-height: 3rem;
	font-size: 2.4rem;
	font-weight: 400;
}

.pets-score-box .txt-box .flex-box {
	justify-content: center;
}

.payments-rank-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	margin-top: 2.4rem;
}

.payments-rank-list .cont {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 1.2rem;
}

.payments-rank-list .cont .txt-box {
	text-align: center;
}

.scenario-wrap .tit-box {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 0.4rem;
}

.scenario-gauge-wrap {
	position: relative;
	padding-top: 5.1rem;
}

.scenario-wrap .gauge-bar {
	position: absolute;
	top: 5.1rem;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 1.2rem;
	background-color: var(--gn500);
	border-radius: var(--border-radius-4);
}

.scenario-wrap .my-pets-point {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
}

.scenario-wrap .is-show .my-pets-point {
	display: block;
}

.scenario-wrap .my-pets-point .img-box {
	position: absolute;
	right: 0;
	width: 4rem;
	height: 4rem;
	border: 2px solid var(--gn500);
	border-radius: var(--border-radius-100);
	transform: translateX(50%);
}

.scenario-wrap .my-pets-point .img-box img {
	overflow: hidden;
	border-radius: var(--border-radius-100);
}

.scenario-wrap .my-pets-point .img-box::after {
	content: "";
	position: absolute;
	bottom: -1.1rem;
	left: 50%;
	width: 1rem;
	height: 0.7rem;
	background: url(../images/icon/ico_10x7_triangle.png) no-repeat center center / 100% auto;
	transform: translateX(-50%);
}

.scenario-wrap .half .my-pets-point {
	right: 50%;
	transform: translateX(-50%);
}

.scenario-wrap .scenario-list {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1px;
}

.scenario-list .cont {
	position: relative;
	padding-top: 5.1rem;
}

.scenario-list .cont .bar-box {
	overflow: hidden;
	position: relative;
	height: 1.2rem;
}

.scenario-list .cont .bar-box::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 1.2rem;
	background-color: var(--g300);
}

.scenario-list .cont .bar-box .bar {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
}

.scenario-list .is-fill .cont .bar-box .bar {
	background-color: var(--gn500);
}

.scenario-list .cont .txt-box {
	margin-top: 1.2rem;
	text-align: center;
}

.scenario-list li:first-child .bar,
.scenario-list li:first-child .bar-box::after {
	border-top-left-radius: var(--border-radius-4);
	border-bottom-left-radius: var(--border-radius-4);
}

.scenario-list li:last-child .bar,
.scenario-list li:last-child .bar-box::after {
	border-top-right-radius: var(--border-radius-4);
	border-bottom-right-radius: var(--border-radius-4);
}

.radar-legend {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1.6rem;
	margin-top: 0.8rem;
	line-height: 2rem;
	color: var(--g700);
	font-size: 1.2rem;
}

.radar-legend .young,
.radar-legend .old {
	position: relative;
	padding-left: 2rem;
}

.radar-legend .young::before,
.radar-legend .old::before {
	content: "";
	position: absolute;
	top: 0.4rem;
	left: 0;
	width: 1rem;
	height: 1rem;
	border: 1px solid transparent;
	border-radius: 0.2rem;
}

.radar-legend .young::before {
	background-color: rgba(255, 196, 70, 0.4);
	border-color: #ff9500;
}

.radar-legend .old::before {
	background-color: rgba(197, 156, 255, 0.4);
	border-color: #8832ff;
}

/*****************************************************************
  보험청구
*****************************************************************/
/* 보험상품추천 */
.pets-visual-section .page-title-box {
	margin-bottom: 2.4rem;
}

.pets-visual-section .page-title-box .description {
	margin-top: 0.8rem;
	line-height: 2.4rem;
	font-size: 1.6rem;
}

.pets-visual-section .pets-visual-box {
	position: relative;
	margin: 0 -2rem;
	/* background: #fff url(../images/common/bg_visual_ins.png) no-repeat center bottom; */
	background-size: contain;
}

.pets-visual-section .pets-visual-box .pets-img img {
	width: 100%;
}

.pets-visual-section .pets-visual-box .pets-img svg {
	display: block;
}

.pets-key-info-wrap {
	padding: 2rem;
	margin: 0 -2rem;
	background-color: var(--gn150);
}

.pets-key-info-wrap>ul {
	display: flex;
	flex-flow: column;
	gap: 1.2rem;
}

.pets-key-info-wrap .box {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	padding: 1.6rem 2rem;
	background-color: var(--white);
	border-radius: var(--border-radius-12);
}

.rank-swiper,
.status-swiper {
	overflow: visible;
	margin: 2.4rem 2rem 0 0;
}

.section:has(.rank-swiper),
.section:has(.status-swiper) {
	overflow: hidden;
}

.rank-swiper .swiper-wrapper .swiper-slide,
.status-swiper .swiper-wrapper .swiper-slide {
	width: 100%;
	height: 100%;
}

/* .status-swiper {
	height: 100%;
} */

.status-swiper .swiper-wrapper .swiper-slide {
	height: auto;
}

.rank-swiper .rank-head {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	margin-bottom: 1.6rem;
}

.rank-swiper .rank-head .num {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	background-color: var(--gn500);
	border-radius: var(--border-radius-100);
	line-height: 2.4rem;
	color: var(--white);
	font-size: 1.6rem;
	font-weight: 700;
}

.rank-swiper .gray-box {
	border-radius: var(--border-radius-8);
}

.rank-swiper .gray-box+.gray-box {
	margin-top: 1.2rem;
}

.coverage-list {
	display: flex;
	flex-flow: column;
	gap: 1.6rem;
}

.coverage-list .badge {
	margin-bottom: 1.2rem;
	padding: 0 0.8rem;
}

.coverage-list .bottom-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	margin-top: 0.8rem;
}

.coverage-list .bottom-info .txt-box {
	display: flex;
	flex-flow: column;
	gap: 0.2rem;
}

.coverage-list .bottom-info .txt-box .txt {
	color: var(--g900);
	font-weight: 500;
}

.coverage-list .bottom-info .txt-box .sm-txt {
	color: var(--g700);
}

.coverage-list .bottom-info [class^="ico96-"] {
	flex-shrink: 0;
}

.status-swiper .round-box {
	display: flex;
	flex-flow: column;
	gap: 2rem;
	height: 100%;
	justify-content: center;
}

.status-swiper .round-box .con-tit1 {
	min-height: 5.2rem;
}

.round-box .graph-box {
	margin-top: 1.6rem;
	height: 20.4rem;
	text-align: center;
}

.graph-box.img {
	margin-top: 0;
}

.graph-box.img img {
	display: block;
	width: 28rem;
	height: 20.4rem;
	margin: 0 auto;
}

.benefits-swiper {
	overflow: visible;
}

.benefits-list {
	display: flex;
	flex-wrap: nowrap;
	margin: 1.2rem 0 0 0;
	gap: 1.2rem;
	/* overflow-x: auto;
		display: flex;
		flex-wrap: nowrap;
		gap: 0.8rem;
		margin: 2.4rem -2rem 0;
		padding: 0 2rem;
		padding: 0 0;
		-webkit-overflow-scrolling: touch; */
}

.benefits-list .cont {
	display: flex;
	flex-flow: column;
	gap: 1.6rem;
	width: 14.8rem;
	padding: 2rem;
	background-color: var(--white);
	border-radius: var(--border-radius-12);
}

.benefits-list .cont.bg-color1 {
	background-color: #dff6ff;
}

.benefits-list .cont.bg-color2 {
	background-color: #fff3e2;
}

.benefits-list .cont.bg-color3 {
	background-color: #dff8ea;
}

.benefits-list .cont.bg-color4 {
	background-color: #f6eeff;
}

.benefits-list .cont.bg-color5 {
	background-color: #e6f1ff;
}

.benefits-list .cont.bg-color6 {
	background-color: #ffe8e5;
}

/* 아이선택 */
.pets-info-wrap {
	display: flex;
	align-items: center;
	gap: 1.6rem;
}

.pets-info-wrap .img-box {
	overflow: hidden;
	flex-shrink: 0;
	width: 4.8rem;
	height: 4.8rem;
	border: 1px solid var(--g200);
	border-radius: var(--border-radius-100);
}

.pets-info-wrap .txt-box {
	overflow: hidden;
}

.pets-info-wrap .txt-box .name {
	line-height: 2.4rem;
	color: var(--g900);
	font-size: 1.6rem;
	font-weight: 500;
}

.pets-detail-info-box {
	display: flex;
	align-items: center;
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
}

.pets-detail-info-box .txt {
	flex-shrink: 0;
}

.pets-detail-info-box .txt.ellipsis {
	flex-shrink: 1;
}

.pets-detail-info-box .txt+.txt::before {
	content: "·";
	display: inline-flex;
	margin: 0 0.4rem;
}

.pets-tag {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.pets-tag .ins-txt {
	line-height: 2.2rem;
	color: var(--gn700);
	font-size: 1.4rem;
	font-weight: 500;
}

.btn-sel-item .pets-info-wrap .pets-detail-info-box {
	line-height: 2.4rem;
	font-size: 1.6rem;
}

.btn-sel-item .pets-info-wrap .txt-box .name {
	line-height: 2.6rem;
	font-size: 1.8rem;
}

/* 사진 첨부 영역 */
.photo-wrap {
	overflow-y: auto;
	display: flex;
	flex-flow: column;
	min-height: 18rem;
	max-height: 32rem;
	padding-bottom: 1.2rem;
	border: 1px solid var(--g300);
	border-radius: var(--border-radius-12);
}

.photo-wrap:has(.no-img-box) {
	align-items: center;
}

.photo-wrap .no-img-box {
	margin-top: 2.6rem;
}

.photo-wrap .no-img-box+.btn-wrap {
	margin-top: 1.6rem;
}

.photo-wrap .no-img-box .no-img {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 0.4rem;
}

.photo-wrap .no-img-box .no-img .sm-txt {
	color: var(--g500);
}

.photo-wrap .attachment-list {
	width: 100%;
}

.photo-wrap .attachment-list>li {
	position: relative;
	padding: 1.2rem 2rem;
	border-bottom: 1px solid var(--g200);
}

.photo-wrap .btn-thumbnail {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	width: 100%;
	padding-right: 3rem;
	text-align: left;
}

.photo-wrap .btn-thumbnail .img {
	overflow: hidden;
	flex-shrink: 0;
	width: 4.8rem;
	height: 4.8rem;
	border-radius: var(--border-radius-4);
}

.photo-wrap .btn-thumbnail .img img {
	width: 100%;
}

.photo-wrap .btn-thumbnail .txt {
	line-height: 2.2rem;
	font-size: 1.4rem;
}

.photo-wrap .btn-del {
	display: block;
	right: 1rem;
	background: url(../images/icon/ico_16x16_close.png) no-repeat center center / 1.6rem auto;
}

.photo-wrap .attachment-list+.btn-wrap {
	margin-top: 1.2rem;
}

.photo-wrap+.bul-dot {
	margin-top: 1.2rem;
}

.pets-sel-list-wrap .btn-select-box {
	height: 6.4rem;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.pets-sel-list-wrap .pets-sel-list {
	padding: 2rem;
	border: 1px solid var(--g300);
	border-top: 0;
	border-bottom-left-radius: 1.2rem;
	border-bottom-right-radius: 1.2rem;
}

.pets-sel-list-wrap .pets-sel-list li+li {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--g200);
}

.pets-sel-list-wrap .pets-sel-list .cont {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.pets-sel-list-wrap .btn-del {
	display: block;
	right: -1rem;
	background: url(../images/icon/ico_16x16_close.png) no-repeat center center / 1.6rem auto;
}

.request-wrap .number {
	line-height: 4rem;
	color: var(--gn700);
	font-size: 3.2rem;
	font-weight: 700;
}

.request-wrap .right-cont {
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.request-wrap .right-cont .count {
	line-height: 2.2rem;
	color: var(--gn700);
	font-size: 1.4rem;
	font-weight: 400;
}

.request-wrap .right-cont .btn-retry .txt {
	position: relative;
	padding-right: 2rem;
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
	font-weight: 400;
}

.request-wrap .right-cont .btn-retry .txt::after {
	content: "";
	position: absolute;
	top: 1px;
	right: 0;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../images/icon/ico_16x16_retry.png) no-repeat center center / 1.6rem auto;
}

.request-wrap .info-txt {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--g200);
	line-height: 2.2rem;
	color: var(--g700);
	font-size: 1.4rem;
	font-weight: 400;
}

.hos-result-box {
	min-height: 11.6rem;
}

.search-hospital-list>li {
	padding: 2rem 0.4rem;
	border-bottom: 1px solid var(--g200);
}

.search-hospital-list .cont {
	display: flex;
	align-items: center;
	width: 100%;
	gap: 0.8rem;
}

.search-hospital-list .cont .btn-search-info {
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 0.4rem;
	text-align: left;
	flex: 1;
}

.search-hospital-list .cont .info-address {
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
	font-weight: 400;
}

.search-hospital-list .cont .btn-favorites {
	flex-shrink: 0;
}

.insurance-select-wrap {
	padding-top: 17.2rem;
	background: url(../images/img/img_billing.png) no-repeat center top / 28rem auto;
}

.insurance-select-wrap ul {
	display: flex;
	flex-flow: column;
	gap: 1.2rem;
}

.insurance-select-wrap .bul-dot {
	line-height: 2.2rem;
	color: var(--g700);
	font-size: 1.4rem;
	font-weight: 400;
}

.insurance-select-wrap .btn-link-arrow+.bul-dot {
	margin-top: 1.2rem;
}

.insurance-box-list {
	display: flex;
	flex-flow: column;
	gap: 2rem;
}

.insurance-box-list .round-box {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	min-height: 17.4rem;
	padding-right: 8rem;
	background-position: bottom 2rem right 2rem;
	background-size: 7.2rem auto;
	background-repeat: no-repeat;
}

.insurance-box-list .round-box.ico01 {
	background-image: url(../images/icon/ico_72x72_qr.png);
}

.insurance-box-list .round-box.ico02 {
	background-image: url(../images/icon/ico_72x72_hospital.png);
}

.insurance-box-list .round-box .txt-box {
	display: flex;
	flex-flow: column;
	gap: 0.4rem;
}

.insurance-box-list .round-box .btn-wrap {
	justify-content: flex-start;
}

.insurance-box-list .round-box .btn {
	width: auto;
}

.insurance-box-list .description {
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
	font-weight: 400;
}

.notice-wrap .gray-box {
	border-radius: var(--border-radius-16);
}

/* 사고정보 */
.app-type-list {
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.app-type-list .btn-apps {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 1.1rem 0.8rem;
	border: 1px solid var(--g300);
	border-radius: var(--border-radius-8);
	color: var(--g700);
}

.app-type-list .btn-apps.is-active {
	color: var(--gn700);
	border-color: var(--gn500);
}

.app-type-list .btn-apps.is-active .txt {
	font-weight: 700;
}

.app-type-list .btn-apps.is-active .txt .sm-txt {
	font-weight: 400;
}



/*****************************************************************
  건강 라이브러리
*****************************************************************/
.pets-link-wrap .grid-box {
	margin-top: 1.6rem;
}

.btn-pets-link {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 0.4rem;
	padding: 1.4rem 1.4rem 1rem;
	background-color: var(--g100);
	border: 1px solid transparent;
	border-radius: var(--border-radius-12);
}

.btn-pets-link .txt {
	line-height: 2.2rem;
	color: var(--g900);
	font-size: 1.4rem;
	font-weight: 500;
}

.btn-pets-link:focus,
.btn-pets-link:active {
	background-color: var(--gn100);
	border-color: var(--gn700);
}

.pets-link-wrap+.pets-link-wrap {
	margin-top: 3.2rem;
	padding-top: 0;
}

.counsel-wrap .ui-tab {
	margin-top: 1.2rem;
}

.card-list .campaign-banner {
	margin: 0;
}

.counsel-wrap .counsel-link {
	display: flex;
	flex-flow: column;
	gap: 1.6rem;
}

.counsel-wrap .counsel-link .date-txt {
	line-height: 2.2rem;
	color: var(--g500);
	font-size: 1.4rem;
	font-weight: 400;
}

.counsel-wrap .counsel-link .tit-txt {
	/* overflow: hidden;
	display: -webkit-box; */
	color: var(--g900);
	font-weight: 500;
	/* text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2; */
}

.counsel-wrap .btn-txt-arrow+.card-list {
	margin-top: 2rem;
}

.counsel-wrap .empty-box {
	padding-top: 8rem;
}

.ad-edit-txt-box {
	line-height: 2.4rem;
	color: var(--g700);
	font-size: 1.6rem;
	font-weight: 400;
}

.contents-box:has(.pets-breeds-img-box) {
	margin-top: 2rem;
}

.pets-breeds-img-box {
	max-width: 33.5rem;
	margin: 0 auto 2.4rem;
}

.pets-breeds-img-box img {
	width: 100%;
}

/* 건강상담 상세 */
.number-list.counsel>li {
	padding-left: 2rem;
}

.number-list.counsel>li::before {
	content: counter(li-number);
	top: -1px;
	width: auto;
	height: auto;
	text-align: left;
	line-height: 2.6rem;
	color: var(--gn500);
	font-size: 1.8rem;
	font-weight: 700;
}

.number-list.counsel .tit {
	display: block;
	color: var(--g900);
	font-weight: 700;
}

.number-list.counsel .txt {
	margin-top: 0.4rem;
	color: var(--g700);
}

.gray-box .sm-txt {
	color: var(--g600);
}

.ai-line-box {
	margin-top: 2.4rem;
	padding: 3.2rem 1rem 1rem;
	border: 2px solid var(--gn500);
	border-radius: var(--border-radius-12);
	text-align: center;
}

.ai-line-box .ai-info {
	margin-top: 2.6rem;
}

.ai-line-box .ai-info .txt {
	position: relative;
	display: inline-block;
	vertical-align: top;
	padding-left: 2rem;
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
}

.ai-line-box .ai-info .txt::before {
	content: "";
	position: absolute;
	top: 0.3rem;
	left: 0;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../images/icon/ico_16x16_ai_info.png) no-repeat center center / 1.6rem auto;
}

.home-care-img-box {
	width: 100%;
	max-width: 33.5rem;
	margin: 0 auto 2.4rem;
}

.home-care-img-box img {
	width: 100%;
}

.number-list.home-care>li {
	margin-top: 2.4rem;
	padding-left: 4.4rem;
}

.number-list.home-care>li::before {
	content: counter(li-number);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.2rem;
	height: 3.2rem;
	background-color: var(--g200);
	border-radius: var(--border-radius-100);
	line-height: 2.4rem;
	color: var(--g600);
	font-size: 1.6rem;
	font-weight: 700;
}

.number-list.home-care>li::after {
	content: "";
	position: absolute;
	top: 3.6rem;
	left: 1.5rem;
	z-index: -1;
	width: 2px;
	height: calc(100% - 1.6rem);
	background-color: var(--g200);
}

.number-list.home-care>li:last-child::after {
	display: none;
}

.number-list.home-care .tit {
	display: block;
	padding: 0.4rem 0;
	color: var(--g900);
	font-weight: 700;
}

.number-list.home-care .txt {
	margin-top: 0.4rem;
	color: var(--g700);
}

.treatment-txt {
	margin-bottom: 1.6rem;
	color: var(--g900);
	font-weight: 700;
}

.case-evaluation {
	margin: 3.2rem -2rem;
	padding: 4rem 2rem;
	background-color: var(--g100);
}

.case-evaluation>p {
	text-align: center;
}

.case-select-box {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin-top: 1.6rem;
}

.case-select-box .btn-case-sel {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 4.8rem;
	background-color: var(--white);
	border: 1px solid var(--g300);
	border-radius: var(--border-radius-8);
	line-height: 2.4rem;
	color: var(--g700);
	font-size: 1.6rem;
	font-weight: 400;
}

.case-select-box .btn-case-sel.is-active {
	border-color: var(--gn500);
	color: var(--gn700);
	font-weight: 700;
}


/*****************************************************************
  검색 예약
*****************************************************************/
/* 지도 */
.map-wrap {
	overflow: hidden;
	position: relative;
	/* height: calc(100vh - 5.6rem); */
	height: calc(100vh);
	/* Header 값 빼기 */
}

.map-wrap .map-header {
	position: fixed;
	top: 2rem;
	/* left: 0; */
	z-index: 99;
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
}

.map-wrap .map-search {
	position: relative;
	height: 4.8rem;
	margin: 0 2rem;
}

.map-wrap .inp-wrap.search {
	margin-bottom: 0;
}

.map-wrap .inp-wrap.search .inp-box {
	background-color: var(--white);
	border-color: var(--white);
	box-shadow: 0 0.2rem 0.8rem 0 rgba(0, 0, 0, 0.16);
}

.map-wrap .btn-search-back {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	gap: 0.8rem;
	height: 4.8rem;
	padding: 1.2rem 8rem 1.2rem 2rem;
	background-color: var(--white);
	border-radius: var(--border-radius-12);
	text-align: left;
	box-shadow: 0 0.2rem 0.8rem 0 rgba(0, 0, 0, 0.16);
}

.map-wrap .category-list {
	overflow-x: auto;
	display: flex;
	gap: 0.6rem;
	padding: 1.6rem 2rem;
	white-space: nowrap;
}

.map-wrap .category-list .menu {
	position: relative;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 0.4rem;
	min-width: 0;
	padding: 0.8rem 1.2rem;
	background-color: var(--white);
	border-radius: 3rem;
	line-height: 2.2rem;
	color: var(--g900);
	font-size: 1.4rem;
	font-weight: 500;
	box-shadow: 0 0.2rem 0.8rem 0 rgba(0, 0, 0, 0.16);
	transition: background-color 140ms ease, color 140ms ease, box-shadow 220ms ease;
}

/*
 * [동네검색 재수정 2026-07-28]
 * 둥근 모서리와 그림자 경계까지 부모 button이 클릭을 받도록 투명 히트 영역을 확장합니다.
 * 좌우 0.3rem은 카테고리 간격(0.6rem)의 절반이라 이웃 버튼과 겹치지 않습니다.
 */
.map-wrap .category-list .menu::after {
	position: absolute;
	inset: -0.4rem -0.3rem;
	content: "";
}

.map-wrap .category-list .menu.active {
	background-color: var(--g900);
	color: var(--white);
	box-shadow: 0 0.5rem 1.3rem rgba(22, 27, 34, 0.25);
}

/* [동네검색 재수정 2026-07-28] 포인터 클릭에는 남기지 않고 키보드 포커스에만 공통 점선을 표시합니다. */
.map-wrap .category-list .menu:focus {
	outline: 0;
}

.map-wrap .category-list .menu:focus-visible:not([data-focus-origin="pointer"]),
.map-wrap .category-list .menu[data-focus-origin="keyboard"]:focus {
	z-index: 1;
	outline: 3px dashed #000;
	outline-offset: 0.3rem;
}

@media (forced-colors: active) {
	.map-wrap .category-list .menu:focus-visible:not([data-focus-origin="pointer"]),
	.map-wrap .category-list .menu[data-focus-origin="keyboard"]:focus {
		outline-color: CanvasText;
	}
}

/* [동네검색 재수정 2026-07-28] 색상 외에도 현재 선택 업종을 명시하고 폭을 부드럽게 확장합니다. */
.map-wrap .category-list .menu > * {
	pointer-events: none;
}

.map-wrap .category-list .category-selected-label {
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	max-width: 0;
	margin-left: 0;
	opacity: 0;
	transform: translateX(-0.6rem);
	transition:
		max-width 260ms cubic-bezier(0.22, 1, 0.36, 1),
		margin-left 260ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 120ms ease,
		transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.map-wrap .category-list .category-selected-label::before {
	flex: 0 0 1px;
	width: 1px;
	height: 1.8rem;
	margin-right: 0.8rem;
	background-color: rgba(255, 255, 255, 0.55);
	content: "";
}

.map-wrap .category-list .category-selected-label > span {
	display: block;
	min-width: 2.6rem;
	color: var(--white);
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.8rem;
}

.map-wrap .category-list .menu.active .category-selected-label {
	max-width: 3.6rem;
	margin-left: 0.5rem;
	opacity: 1;
	transform: translateX(0);
	transition-delay: 0ms, 0ms, 70ms, 45ms;
}

@media (prefers-reduced-motion: reduce) {
	.map-wrap .category-list .menu,
	.map-wrap .category-list .category-selected-label {
		transition: none;
	}
}

.map-wrap .map-header .btn-wrap {
	margin-top: 1.6rem;
}

.map-wrap .map-area {
	/* position: relative; */
}

.map-wrap .map-kakao {
	position: absolute;
	width: 100%;
	top: 0;
	background-color: #fff;
	/* height: calc(100vh - 5.6rem); */
	height: calc(100vh);
}


.map-wrap .map-kakao>div {
	/* height: 100%; */
	height: calc(100vh);
}

.map-wrap .btn-map-pin {
	position: relative;
	z-index: 2;
}

.map-wrap .btn-map-pin .pin-inner {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.2rem;
	padding: 0.3rem;
	background-color: var(--g500);
	border: 1px solid var(--g600);
	border-radius: var(--border-radius-100);
	box-shadow: 0 0.2rem 0.6rem 0 rgba(0, 0, 0, 0.12);
	transition: transform .2s ease;
	transform-origin: center bottom;
	transform: scale(1);
}

.map-wrap .btn-map-pin .pin-inner [class^="ico20-"] {
	width: 1.6rem;
	height: 1.6rem;
	background-size: 100% auto !important;
}

.map-wrap .btn-map-pin::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 96%;
	z-index: 1;
	border-top: 4px solid var(--g500);
	border-right: 3px solid transparent;
	border-bottom: 0 solid transparent;
	border-left: 3px solid transparent;
	transform: translateX(-50%);
}

.map-wrap .btn-map-pin::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 97%;
	border-top: 5px solid var(--g600);
	border-right: 4px solid transparent;
	border-bottom: 0 solid transparent;
	border-left: 4px solid transparent;
	transform: translateX(-50%);
}

.map-wrap .btn-map-pin.is-active .pin-inner {
	transform: scale(1.25);
}

.map-wrap .btn-map-pin.partner .pin-inner {
	border-radius: var(--border-radius-4);
}

.map-wrap .btn-map-pin.partner.pin01 .pin-inner {
	background-color: var(--gn500);
	border-color: var(--gn700);
}

.map-wrap .btn-map-pin.partner.pin01::before {
	border-top-color: var(--gn500);
}

.map-wrap .btn-map-pin.partner.pin01::after {
	border-top-color: var(--gn700);
}

.map-wrap .btn-map-pin.partner.pin02 .pin-inner {
	background-color: #ca58c3;
	border-color: #af2ea7;
}

.map-wrap .btn-map-pin.partner.pin02::before {
	border-top-color: #ca58c3;
}

.map-wrap .btn-map-pin.partner.pin02::after {
	border-top-color: #af2ea7;
}

.map-wrap .btn-map-pin.partner.pin03 .pin-inner {
	background-color: #f04452;
	border-color: #ca1221;
}

.map-wrap .btn-map-pin.partner.pin03::before {
	border-top-color: #f04452;
}

.map-wrap .btn-map-pin.partner.pin03::after {
	border-top-color: #ca1221;
}

.map-wrap .btn-map-pin.partner.pin04 .pin-inner {
	background-color: #50aaff;
	border-color: #1f8aee;
}

.map-wrap .btn-map-pin.partner.pin04::before {
	border-top-color: #50aaff;
}

.map-wrap .btn-map-pin.partner.pin04::after {
	border-top-color: #1f8aee;
}

.map-wrap .btn-map-pin.partner.pin05 .pin-inner {
	background-color: #ffbb00;
	border-color: #e5a903;
}

.map-wrap .btn-map-pin.partner.pin05::before {
	border-top-color: #ffbb00;
}

.map-wrap .btn-map-pin.partner.pin05::after {
	border-top-color: #e5a903;
}

.map-wrap .btn-map-pin.partner.pin06 .pin-inner {
	background-color: #8e7afe;
	border-color: #6550d9;
}

.map-wrap .btn-map-pin.partner.pin06::before {
	border-top-color: #8e7afe;
}

.map-wrap .btn-map-pin.partner.pin06::after {
	border-top-color: #6550d9;
}

.map-wrap .btn-map-pin.partner.pin07 .pin-inner {
	background-color: #79bd05;
	border-color: #5d9300;
}

.map-wrap .btn-map-pin.partner.pin07::before {
	border-top-color: #79bd05;
}

.map-wrap .btn-map-pin.partner.pin07::after {
	border-top-color: #5d9300;
}



.map-wrap .btn-map-pin.partner.pin08 .pin-inner {
	background-color: #516a9e;
	border-color: #2a4a8d;
}

.map-wrap .btn-map-pin.partner.pin08::before {
	border-top-color: #516a9e;
}

.map-wrap .btn-map-pin.partner.pin08::after {
	border-top-color: #2a4a8d;
}

.map-wrap .btn-map-pin.partner.pin09 .pin-inner {
	background-color: #ff8902;
	border-color: #eb6e00;
	color: #fff;
}

.map-wrap .btn-map-pin.partner.pin09::before {
	border-top-color: #ff8902;
}

.map-wrap .btn-map-pin.partner.pin09::after {
	border-top-color: #eb6e00;
}

.map-wrap .btn-map-pin.partner.pin10 .pin-inner {
	background-color: #587b62;
	border-color: #395742;
	color: #fff;
}

.map-wrap .btn-map-pin.partner.pin10::before {
	border-top-color: #587b62;
}

.map-wrap .btn-map-pin.partner.pin10::after {
	border-top-color: #395742;
}

.floating-banner {
	position: absolute;
	top: -46px;
	left: 20px;
}

.floating-banner .btn-map-floating {
	position: relative;
	display: inline-flex;
	width: 40px;
	height: 40px;
	background-color: var(--g900);
	border-radius: var(--border-radius-100);
	box-shadow: 0 0.2rem 0.8rem 0 rgba(0, 0, 0, 0.16);
}

.floating-banner .btn-map-floating::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	background-color: var(--white);
	border-radius: var(--border-radius-8);
	transform: translate(-50%, -50%);
}

.floating-banner .btn-map-floating::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px;
	height: 16px;
	background-color: var(--white);
	border-radius: var(--border-radius-8);
	transform: translate(-50%, -50%);
}

.floating-banner .list-box {
	position: absolute;
	bottom: 56px;
	left: 0;
	width: 12.4rem;
	background-color: var(--white);
	border-radius: var(--border-radius-8);
	box-shadow: 0 0.2rem 0.8rem 0 rgba(0, 0, 0, 0.16);
}

.floating-banner .list-box>ul {
	display: flex;
	align-items: flex-start;
	flex-flow: column;
	padding: 0.8rem 0;
}

.floating-banner .list-box>ul>li {
	width: 100%;
}

.floating-banner .list-box>ul>li+li {
	border-top: 1px solid var(--g200);
}

.floating-banner .list-box .btn-txt-arrow {
	display: flex;
	width: 100%;
	padding: 0.5rem 0.8rem 0.5rem 1.2rem;
	line-height: 2.2rem;
	color: var(--g900);
	font-size: 1.4rem;
}

.floating-banner .list-box .btn-txt-arrow .txt {
	width: 100%;
}


.my-location {
	position: absolute;
	top: -46px;
	right: 20px;
	width: 4rem;
	height: 4rem;
	border-radius: 100%;
	border: 0.1rem solid #d9dee7;
	box-shadow: 0px 2px 8px 0px #00000029;
	cursor: pointer;
	background: #fff url('../images/icon/ico_18x18_my_location.png') no-repeat center center / 1.8rem 1.8rem;
}

.map-info-cont {
	position: relative;
	padding: 0 0.4rem 0;
}

.map-info-cont .btn-favorites {
	position: absolute;
	top: -0.3rem;
	right: 1px;
	z-index: 2;
}

.map-info-cont .txt-box .con-tit1,
.map-info-cont .txt-box .btn-txt {
	display: inline;
	margin-right: 0.4rem;
}

.map-info-cont .txt-box .badge-list {
	display: inline-flex;
	gap: 0.8rem;
	margin: 0;
	transform: translateY(1px);
}

.map-info-cont .company-info {
	margin-top: 0.8rem;
	padding: 0;
}

.map-info-cont .badge-list {
	margin-top: 1.6rem;
}

.map-info-cont .btn-wrap {
	margin-top: 0.8rem;
}

.map-info-cont .badge-list+.btn-wrap {
	margin-top: 1.6rem;
}

.swiper-wrap+.map-info-list {
	margin-top: 2rem;
}

.map-info-list>li+li {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--g200);
}


/* 회사정보 */
.company-info {
	padding: 0 .4rem;
	color: var(--g700);
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.2rem;
}

.company-info>li {
	margin-top: .6rem;
	padding-left: 2rem;
	position: relative;
}

.company-info .ico-home .btn-txt-under-line {
	color: var(--gn700);
	font-weight: 400;
}

.company-info .ico-home .btn-txt-under-line .txt::before {
	background-color: var(--gn700);
}

.company-info .ico-phone a {
	color: var(--g700)
}

/* 기본 아이콘 설정 없을시 위치 아이콘 노출됨 */
.company-info [class^="ico-"] .ico {
	position: absolute;
	left: 0;
	top: .3rem;
	width: 1.6rem;
	height: 1.6rem;
	background: url('../images/icon/ico_16x16_company_map.png') no-repeat 0 0 / 1.6rem 1.6rem;
	vertical-align: middle;
}

.company-info .ico-map .ico {
	background-image: url('../images/icon/ico_16x16_company_map.png');
}

.company-info .ico-watch .ico {
	background-image: url('../images/icon/ico_16x16_company_watch.png');
}

.company-info .ico-phone .ico {
	background-image: url('../images/icon/ico_16x16_company_phone.png');
}

.company-info .ico-home .ico {
	background-image: url('../images/icon/ico_16x16_company_home.png');
}

.company-info .ico-parking .ico {
	background-image: url('../images/icon/ico_16x16_company_parking.png');
}

.company-info .distance {
	position: relative;
	font-weight: 500;
	padding-right: .7rem;
}

.company-info .distance::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	width: .3rem;
	height: .3rem;
	background-color: var(--g500);
	border-radius: 100%;
	transform: translateY(-50%);
}

.company-info .distance:last-child {
	padding-right: 0;
}

.company-info .distance:last-child::before {
	content: none;
}

.company-info .ico-home a.btn-txt-under-line {
	width: 100%;
}

.company-info .ico-home a.btn-txt-under-line .txt {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

/* 쿠폰혜택 */
.coupon-benefit-box {
	margin-top: .8rem;
}

.coupon-benefit-box .flex-box {
	align-items: flex-start;
	gap: 2rem;
	text-align: left;
}

.coupon-benefit-box .img-info {
	overflow: hidden;
	flex-shrink: 0;
	width: 6.4rem;
	height: 6.4rem;
	border-radius: 1.6rem;
}

.coupon-benefit-box .img-info img {
	width: 100%;
	height: 100%;
	margin: auto;
	object-fit: cover;
	object-position: top;
	aspect-ratio: 1 / 1;
}

.coupon-benefit-box .txt-info {
	font-weight: 500;
	line-height: 2.4rem;
}

.coupon-benefit-box .txt-info .title {
	display: block;
}

.coupon-benefit-box .txt-info .color-green {
	display: block;
	font-weight: 700;
	line-height: 2.4rem;
}

.coupon-benefit-box .txt-info .text {
	margin-top: .8rem;
	color: var(--g600);
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.2rem;
}

.coupon-benefit-box .btn {
	margin-top: 1.6rem;
}

.coupon-info-box {
	position: relative;
}

.coupon-info-box .bul-list {
	gap: 0.4rem;
}

.coupon-info-box .bul-list .bul-dot {
	line-height: 2.4rem;
	font-size: 1.6rem;
}

.coupon-info-box .bul-list .bul-dot::before {
	top: 1rem;
}

.coupon-info-box .ico-map {
	position: relative;
	margin: 0.4rem 0 0 0;
	padding: 0 0 0 2rem;
	font-size: 1.4rem;
	line-height: 2.2rem;
	font-weight: 400;
}

.coupon-info-box [class^="ico-"] .ico {
	position: absolute;
	left: 0;
	top: .3rem;
	width: 1.6rem;
	height: 1.6rem;
	background: url('../images/icon/ico_16x16_company_map.png') no-repeat 0 0 / 1.6rem 1.6rem;
	vertical-align: middle;
}

.coupon-info-box .ico-map .ico {
	background-image: url('../images/icon/ico_16x16_company_map.png');
}

.coupon-comp-view {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	line-height: 2.2rem;
	color: var(--g700)
}


.coupon-info-view {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--g200);
	text-align: center;
}

.coupon-info-view .txt {
	position: relative;
	padding-left: 2.2rem;
	line-height: 2.4rem;
	color: var(--g600);
	font-size: 1.6rem;
}

.coupon-info-view .txt::before {
	content: "";
	position: absolute;
	top: 0.2rem;
	left: 0;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../images/icon/ico_16x16_ex_mark_gray.png) no-repeat center center / 1.6rem auto;
}


.where-to-box .contents-box {
	display: block;
	margin-top: 0;
	padding: 2rem 0.4rem 2rem;
	border-bottom: 1px solid var(--g200);
}

.where-to-box .contents-box:nth-child(1) {
	margin-top: 2.4rem;
}

.where-to-box .contents-box:nth-last-child(1) {
	border-bottom: 0;
}

.where-to-box .contents-box .coupon-info-box .con-tit2 {
	margin-bottom: 0.8rem;
}

.where-to-box .contents-box .coupon-info-box .ico-map {
	margin: 0 0 0 0;
}

.where-to-box .contents-box .coupon-info-box .btn {
	margin: 0.8rem 0 0 0;
}

/*****************************************************************
  혜택
*****************************************************************/
.ui-tab .sort-box {
	margin: 0 2rem 0.8rem;
}

.ui-tab .sort-box.underline {
	padding-bottom: 0.8rem;
	border-bottom: 1px solid var(--g200);
}

.sort-box .chk-box label {
	line-height: 2.2rem;
	font-size: 1.4rem;
}

.card-list .coupon-benefit-box {
	margin-top: 0;
}

.page-title-box .img-box.w72 {
	flex-shrink: 0;
	width: 7.2rem;
	height: 7.2rem;
}

.page-title-box .img-box.w72 img {
	width: 100%;
}

.coupon-info-box .con-tit2 {
	margin-bottom: 0.4rem;
}

.coupon-info-box .btn {
	width: auto;
	margin-top: 1.2rem;
}

.coupon-info-box>p {
	line-height: 2.4rem;
	color: var(--g700);
	font-size: 1.6rem;
}

.ui-tab .card-list-head {
	margin: 0 2rem;
}



/*****************************************************************
  마이페이지
*****************************************************************/
/* 메인 */
.my-top-info {
	margin: 0 -2rem;
	padding: 2.4rem 2rem 3.2rem;
	background-color: var(--g100);
}

.my-top-info .title-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 0.4rem;
}

.my-top-info .info-box {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 1.6rem;
	padding: 2rem 1.2rem;
	background-color: var(--white);
	border-radius: var(--border-radius-12);
}

.my-top-info .info-box .my-info-item {
	position: relative;
	text-align: center;
}

.my-top-info .info-box .my-info-item::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 4.6rem;
	background-color: var(--g200);
}

.my-top-info .info-box .my-info-item:first-child::before {
	display: none;
}

.my-top-info .info-box .my-info-item .tit {
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
	font-weight: 500;
}

.my-top-info .info-box .my-info-item .val {
	color: var(--g900);
	font-weight: 700;
}

.my-top-info .link-box {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.6rem;
	margin-top: 2.4rem;
	padding: 0 7.5px;
}

.my-top-info .link-box .short-link {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 0.8rem;
}

.my-top-info .link-box .ico-box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5.6rem;
	height: 5.6rem;
	background-color: var(--white);
	border-radius: var(--border-radius-100);
}

.my-top-info .link-box .txt {
	line-height: 2.2rem;
	color: var(--g700);
	font-size: 1.4rem;
	font-weight: 500;
}

.pets-list {
	display: flex;
	flex-flow: column;
	gap: 1.2rem;
	margin-top: 1.2rem;
}

.pets-list .pets-list-cont {
	position: relative;
	border: 1px solid var(--g300);
	border-radius: var(--border-radius-12);
}

.pets-list .pets-list-cont .dropdown.pets {
	padding: 2rem 2rem 1.6rem;
}

.pets-list .pets-list-cont .btn-toggle {
	display: flex;
	align-items: center;
	text-align: left;
	gap: 1.6rem;
	width: calc(100% - 2.4rem);
}

.pets-list .pets-list-cont .btn-toggle .img-box {
	overflow: hidden;
	flex-shrink: 0;
	width: 4.8rem;
	height: 4.8rem;
	border-radius: var(--border-radius-100);
}

.pets-list .pets-list-cont .btn-toggle .txt-box {
	width: 100%;
}

.pets-list .pets-list-cont .btn-toggle .name {
	position: relative;
	display: inline-block;
	padding-right: 2.4rem;
	margin-bottom: 0.4rem;
	vertical-align: middle;
}

.pets-list .pets-list-cont .btn-toggle .name::after {
	content: "";
	position: absolute;
	top: 1px;
	right: 0;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../images/icon/ico_16x16_arrow_down_black.png) no-repeat center center / 1.6rem auto;
}

.pets-list .pets-list-cont .btn-toggle[aria-expanded="true"] .name::after {
	transform: rotateX(-180deg);
}

.pets-list .pets-list-cont .dropdown.pets .dropdown-cont {
	margin-top: 1.6rem;
	padding: 2rem;
	background-color: var(--g100);
	border-radius: var(--border-radius-8);
}

.pets-list .pets-list-cont .dropdown.pets .dropdown-cont .s-tit {
	display: block;
	margin-bottom: 0.8rem;
	line-height: 2.2rem;
	color: var(--g900);
	font-size: 1.4rem;
	font-weight: 500;
}

.pets-list .pets-list-cont .msg-box {
	padding: 1.6rem 2rem 2rem;
	border-top: 1px solid var(--g200);
}

.dropdown.more {
	position: absolute;
	top: 1.6rem;
	right: 1.2rem;
	height: 2.4rem;
}

.dropdown.more .btn-toggle {
	width: 2.4rem;
	height: 2.4rem;
	background: url(../images/icon/ico_24x24_card_menu.png) no-repeat center center / 2.4rem auto;
}

.dropdown.more .dropdown-cont {
	position: absolute;
	top: -0.8rem;
	left: -6.4rem;
	z-index: 1;
	width: 5.7rem;
	background-color: var(--white);
	border: 1px solid var(--g300);
	border-radius: var(--border-radius-4);
	box-shadow: 0 0.4rem 1.2rem 0 rgba(0, 0, 0, 0.12);
}

.dropdown.more .dropdown-cont::before {
	content: "";
	position: absolute;
	top: 1.3rem;
	right: -0.8rem;
	z-index: 1;
	border-style: solid;
	border-width: 0.6rem 0 0.6rem 1rem;
	border-color: transparent transparent transparent var(--white);
}

.dropdown.more .dropdown-cont::after {
	content: "";
	position: absolute;
	top: 1.2rem;
	right: -1rem;
	border-style: solid;
	border-width: 0.7rem 0 0.7rem 1rem;
	border-color: transparent transparent transparent var(--g300);
}

.dropdown.more .btn-txt {
	display: block;
	width: 100%;
	padding: 0.8rem 0;
	text-align: center;
	line-height: 2.2rem;
	color: var(--g900);
	font-size: 1.4rem;
	font-weight: 400;
}

.dropdown.more .btn-txt+.btn-txt {
	border-top: 1px solid var(--g200);
}

.pets-list .pets-list-cont .btn-msg-link {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	line-height: 2.2rem;
	color: var(--g700);
	font-size: 1.4rem;
}

.pets-list .pets-list-cont .no-data {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.6rem;
	padding: 2rem;
}

.pets-list .pets-list-cont .no-data [class^="ico56-"] {
	flex-shrink: 0;
}

.my-link-wrap .tit {
	margin-bottom: 1.2rem;
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
	font-weight: 500;
}

.my-link-wrap+.my-link-wrap {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--g200);
}

.my-link-wrap .btn-txt-arrow {
	display: flex;
	gap: 0.8rem;
	width: 100%;
	padding: 1.2rem 2rem 1.2rem 0;
}

.my-link-wrap .btn-txt-arrow .txt {
	width: 100%;
}

.my-link-wrap .btn-txt-arrow .txt .color-gray2 {
	line-height: 2.2rem;
	font-size: 1.4rem;
}

/* 우리 아이 정보 조회 */
.pet-inquiry-box .inner {
	padding: 2rem;
	border: 1px solid var(--g300);
	border-radius: var(--border-radius-12);
}

.pet-inquiry-box .inner+.inner {
	margin-top: 1.2rem;
}

.pet-inquiry-box .inner:has(input:checked) {
	border: 1px solid var(--gn500);
}

.pet-inquiry-box .inner .chk-box,
.pet-inquiry-box .inner .chk-box label {
	width: 100%;
}

.pet-inquiry-box .inner .chk-box label {
	padding-left: 3rem;
	color: var(--g900);
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2.6rem;
	word-break: break-all;
}

.pet-inquiry-box .inner .chk-box label::before {
	top: .3rem;
}

.pet-inquiry-box .inner .chk-box input:checked+label {
	font-weight: 700;
}

.pet-inquiry-box .inner .pet-info {
	margin: .2rem 0 0 3rem;
	color: var(--g700);
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.2rem;
}

.pet-inquiry-box .inner .pet-info .text {
	position: relative;
	display: inline-block;
	padding-right: 1.1rem;
}

.pet-inquiry-box .inner .pet-info .text::after {
	content: '';
	position: absolute;
	top: .9rem;
	right: .1rem;
	width: .3rem;
	height: .3rem;
	background-color: var(--g700);
	border-radius: 100%;
}

.pet-inquiry-box .inner .pet-info .text:last-child {
	padding-right: 0;
}

.pet-inquiry-box .inner .pet-info .text:last-child::after {
	content: none;
}

/* .detail-list-info 공통 재설정 */
.pet-inquiry-box .txt-info {
	color: var(--g900);
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 2.2rem;
}

.pet-inquiry-box .gray-box {
	margin-top: 1.2rem;
	border-radius: var(--border-radius-8);
}

.pet-inquiry-box .inner .pet-info+.gray-box {
	margin-top: 1.6rem;
}

.pet-inquiry-box .gray-box .detail-list-info .tit {
	flex: 1;
}

.pet-inquiry-box .gray-box .detail-list-info .txt {
	flex-basis: 62%;
}

.pet-inquiry-box .top-cont {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 2.8rem;
}

.pet-chk-wrap {
	position: relative;
}

.pet-chk-wrap .chk-box input[type="checkbox"]:checked~.btn-pet-chk,
.pet-chk-wrap .chk-box input[type="checkbox"]:disabled~.btn-pet-chk {
	display: none;
}

.pet-chk-wrap .btn-pet-chk {
	position: absolute;
	inset: 0;
	/* opacity: 0; */
	width: 100%;
	height: 100%;
	z-index: 2;
}


/* My - 보험계약조회 */
.line-box.type-bottom:has(.con-tit2) .detail-list-info {
	margin-top: 1.6rem;
}

.line-box.type-bottom:has(.con-tit2) .detail-list-info+.detail-list-info {
	margin-top: 0.8rem;
}

.product-top-info {
	display: flex;
	flex-flow: column;
	gap: 0.6rem;
	margin-bottom: 4rem;
}

.card-list-head .total-item-box {
	padding: 0;
}


/* My - 회원정보 수정 */
.terms-round-box {
	border: 1px solid var(--g300);
	border-radius: var(--border-radius-12);
}

.terms-round-box .terms-head {
	padding: 2rem 2rem 1.6rem;
	border-bottom: 1px solid var(--g300);
}

.terms-round-box .terms-body {
	display: flex;
	flex-flow: column;
	gap: 2rem;
	padding: 1.6rem 2rem;
}

.terms-round-box+.terms-round-box {
	margin-top: 1.6rem;
}

.bul-list .info-txt {
	margin-top: 0.4rem;
	color: var(--g600);
}

.gray-box+.bul-dot.gray1 {
	margin-top: 1.2rem;
}

/* My - 쿠폰함 */
.card-list.edit-mode .title {
	overflow: hidden;
	display: block;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.card-edit-box {
	display: flex;
	align-items: flex-start;
	gap: 0.8rem;
}

.card-edit-box .chk-box {
	display: none;
	flex-shrink: 0;
	margin-top: 0.4rem;
}

.card-list.edit-mode .chk-box {
	display: block;
}

.card-edit-box .coupon-benefit-box {
	overflow: hidden;
	width: 100%;
}

.card-edit-box .coupon-benefit-box .txt-info {
	overflow: hidden;
}

.card-edit-box.is-checked .coupon-benefit-box {
	border-color: var(--gn500);
}

.card-edit-box .coupon-benefit-box .left-info {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 1.2rem;
}

.card-edit-box .coupon-benefit-box .gray-box {
	border-radius: var(--border-radius-16);
}

.card-edit-box .coupon-benefit-box .gray-box>span {
	line-height: 2rem;
	color: var(--g400);
	font-size: 12
}

.code-wrap {
	margin-top: 4rem;
}

.code-wrap .tit2 {
	margin-bottom: 4rem;
	text-align: center;
}

.code-field {
	position: relative;
	width: 100%;
}

.code-input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 6.4rem;
	opacity: 0;
	z-index: 2;
	letter-spacing: 4rem;
}

.code-visual {
	display: flex;
	justify-content: center;
	gap: 1.2rem;
}

.code-visual .cell {
	width: 5.6rem;
	height: 6.4rem;
	padding-top: 0.7rem;
	border: 1px solid var(--g300);
	border-radius: var(--border-radius-8);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.4rem;
}

.code-visual .cell.is-filled {
	color: var(--gn700);
	border-color: var(--gn500);
}

/* My - 포인트내역 */
.point-history-cont {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.8rem;
}

.point-history-cont .left-info {
	display: flex;
	flex-flow: column;
	gap: 0.4rem;
}

.point-history-cont .date {
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
}

.point-history-cont .right-info {
	flex-shrink: 0;
	width: 25%;
	text-align: right;
}

/* My - 관심업체 */
.dropdown.time .btn-toggle {
	position: relative;
	padding-right: 1.8rem;
	color: var(--g700);
}

.dropdown.time .btn-toggle::after {
	content: "";
	position: absolute;
	top: 0.2rem;
	right: 0;
	width: 1.2rem;
	height: 1.2rem;
	background: url(../images/icon/ico_12x12_arrow_down.png) no-repeat center center / 1.2rem auto;
}

.dropdown.time .btn-toggle[aria-expanded="true"]::after {
	transform: rotateX(-180deg);
}

.dropdown.time .btn-toggle .txt {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
}

.dropdown.time .dropdown-cont {
	margin-top: 0.6rem;
}

.time-info-list li {
	color: var(--g500);
}

.time-info-list li+li {
	margin-top: 0.2rem;
}

/* 내 정보 */
.terms-cancle-link-box .round-box {
	display: flex;
	align-items: center;
	flex-flow: column;
	justify-content: flex-start;
	gap: 2rem;
}

.terms-cancle-link-box .btn-txt-arrow {
	width: 100%;
	color: var(--g700);
}

.terms-cancle-link-box .btn-txt-arrow .txt {
	width: 100%;
}

.switch-list li {
	border-bottom: 1px solid var(--g200);
}

.switch-list .cont {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2.9rem;
	padding: 2rem 0.4rem;
}

.switch-list li:first-child .cont {
	padding-top: 0;
}

.switch-list .cont .info {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 0.2rem;
}

.switch-list .cont .info dl {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
}

/* 앱푸시 설정 */
.switch-cont-box .sm-txt {
	/* padding: 0 0.4rem; */
	padding: 0 2.1rem;
	font-size: 1.5rem;
}

.switch-cont-box .flex-box {
	justify-content: space-between;
	gap: 0;
	/* padding: 1.2rem 0; */
	padding: 1.2rem 2.1rem;
}

.switch-cont-box .round-box .flex-box {
	padding: 0;
}

.switch-cont-box+.switch-cont-box {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--g200);
}

.switch-cont-box .info-box {
	margin-top: 0.4rem;
	padding: 0 2.1rem;
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
	font-weight: 400;
}


/*****************************************************************
  회원
*****************************************************************/
/* 추후결정퍼블용 - 임시 */
.login-img-box {
	width: 28rem;
	margin: 11.8rem auto;
}

.login-img-box img {
	width: 100%;
}

.btn-top-box a.btn {
	font-size: 1.9rem;
}

/** 비밀번호 인증 **/
.pw-wrap {
	height: calc(100vh - 440px);
	margin: 0 0 25rem 0;
	/* padding-top: 7.6rem; */
}

.pw-wrap .con-tit2 {
	height: 4.8rem;
	color: var(--g700);
	font-weight: 400;
	text-align: center;
}

.pw-wrap .pw-area {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	/* max-height: 34rem; */
	max-height: 20rem;
	/* padding: 3.2rem 0 13.5rem; */
}

.pw-wrap .pw-area .text-msg {
	/* position: absolute;
	top: 6.2rem;
	left: 50%; */
	width: calc(100% - 4rem);
	margin: -2.2rem auto 3.2rem;
	text-align: center;
	/* transform: translateX(-50%); */
}

.pw-wrap .pw-field {
	position: relative;
	width: 100%;
	margin: 0 auto 3.2rem;
}

.pw-wrap .pw-input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 6.4rem;
	opacity: 0;
	z-index: 2;
	letter-spacing: 4rem;
}

.pw-wrap .pw-visual {
	display: flex;
	justify-content: center;
	gap: 0.8rem;
}

.pw-wrap .pw-visual .cell {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	background-color: var(--g600);
	border: 2px solid var(--white);
	border-radius: var(--border-radius-100);
}

/* 완료 */
.pw-wrap .pw-visual .cell.complete {
	background-color: var(--gn500);
	border-color: var(--white);
}

/* 쓰는중 */
.pw-wrap .pw-visual .cell.writing {
	background-color: var(--gn500);
	border-color: var(--gn500);
}

.pw-wrap .btn-wrap {
	gap: 2rem;
	margin-top: 1.2rem;
	margin-bottom: 2rem;
}

.pw-wrap .btn-wrap [class^="btn-txt-"] {
	font-size: 1.4rem;
	line-height: 2.2rem;
}

/* 솔루션 키패드적용 후 수정될 수 있음 */
.pw-wrap .pw-keypad-box {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	/* margin: 0 -2rem; */
	background-color: var(--g300);
	height: 25rem;
	/* padding-top: 11.8rem; */
	text-align: center;
}

/* 키패드 퍼블용 - 임시 */
/* .pw-wrap .pw-keypad-box .pw-keypad {
	height: 33.8rem;
	padding-top: 11.8rem;
	text-align: center;
} */

.pw-wrap .pw-keypad-box .pw-keypad strong,
.pw-wrap .pw-keypad-box .pw-keypad p {
	opacity: 0.5;
}

.pw-wrap .pw-keypad-box .pw-keypad p {
	color: var(--g600);
}

/* 인증 방식 선택 */
.auth-link-wrap {
	padding: 2.8rem 0 0;
}

.auth-link-wrap .link-list {
	display: flex;
	flex-flow: column;
	gap: 1.2rem;
}

.auth-link-wrap .auth-link {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	padding: 1.8rem 2rem;
	background-color: var(--g100);
	border-radius: var(--border-radius-12);
	color: var(--g900);
	font-weight: 700;
}

/* 카카오 인증 */
.step-num-list {
	counter-reset: step-num;
}

.step-num-list li {
	counter-increment: step-num;
	position: relative;
	padding-bottom: 1.2rem;
	padding-left: 4rem;
	color: var(--g700);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 3.2rem;
}

.step-num-list li::before {
	content: counter(step-num, decimal-leading-zero);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	bottom: 1.6rem;
	left: 0;
	z-index: 1;
	width: 3rem;
	height: 3rem;
	color: var(--gn700);
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 2rem;
	background-color: var(--white);
	border: 1px solid var(--gn500);
	border-radius: 100%;
}

.step-num-list li::after {
	content: '';
	display: flex;
	position: absolute;
	top: 1.6rem;
	bottom: -1.6rem;
	left: 1.5rem;
	border-left: 2px dotted var(--g400);
}

.step-num-list li:last-child {
	padding-bottom: 0;
}

.step-num-list li:last-child::after {
	content: none;
}

.notice-box {
	padding: 2.4rem;
	background-color: var(--g100);
	border-radius: var(--border-radius-12);
	text-align: center;
}

.notice-box .text {
	color: var(--g900);
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2.6rem;
}

.notice-box .text+.text-desc {
	margin-top: .2rem;
}

.notice-box .text-desc {
	color: var(--g700);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.4rem;
}

.notice-box [class^="ico56"] {
	margin-bottom: 0.8rem;
}

/*****************************************************************
  링크 배너
*****************************************************************/
.banner-link-box {
	margin-top: 2.4rem;
}

.banner-link-box .link {
	display: block;
}

.banner-link-box img {
	width: 100%;
}

/*****************************************************************
  캠페인 배너
*****************************************************************/
.campaign-banner {
	overflow: hidden;
	border-radius: var(--border-radius-12);
}

.campaign-banner .bn-wrap {
	display: block;
}

.campaign-banner:last-child {
	margin-bottom: 0;
}

.campaign-banner img {
	width: 100%;
}

.contents-box .campaign-banner {
	margin: 0;
}


/*****************************************************************
  Form Wrap
*****************************************************************/
.form-area>.inner {
	margin-top: 4rem;
}

.form-area>.inner:first-child {
	margin-top: 0;
}

.form-area .inner .con-tit2 {
	margin-bottom: 1.2rem;
}

.form-area .inner .con-tit2+.con-tit2.medium {
	margin-top: 1.6rem;
}

.form-area .inner .con-tit2.medium {
	margin-top: 4rem;
	color: var(--g700);
}

.form-area .inner>.inp-item,
.form-area .inner>.btn-wrap {
	margin-top: 1.2rem;
}

.form-area .inner .con-tit2+.inp-item,
.form-area .inner .inp-item:first-child,
.form-area .inner .con-tit2+.btn-wrap,
.form-area .inner .btn-wrap:first-child {
	margin-top: 0;
}

.form-area .inner>.inp-item+.bul-dot,
.form-area .inner>.photo-add-box+.bul-dot {
	margin-top: 1.2rem;
}

.form-area .inner .bul-list {
	gap: .2rem;
	color: var(--g600);
	font-size: 1.4rem;
}

.form-area .inne .bul-dot::before {
	top: 1.1rem;
}

.form-area .inner .bul-list .color-black {
	color: var(--g900);
}

.form-area .inner .inp-item+.flex-box {
	margin-top: .8rem;
}

.form-area+.btn-wrap {
	margin-top: 3.2rem;
}

.form-area+.btn-wrap.fixed {
	margin-top: 0;
}

.form-area .pet-info {
	margin-top: .8rem;
	color: var(--g600);
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.2rem;
}

.form-area .pet-info .text {
	position: relative;
	display: inline-block;
	margin-top: .4rem;
	padding-left: 1.1rem;
}

.form-area .pet-info .text::before {
	content: '';
	position: absolute;
	top: .9rem;
	left: .2rem;
	width: .3rem;
	height: .3rem;
	background-color: var(--g400);
	border-radius: 100%;
}

.form-area .pet-info .text:first-child {
	padding-left: 0;
}

.form-area .pet-info .text:first-child::before {
	content: none;
}

.form-area .inner .flex-box .con-tit2 {
	margin-bottom: 0;
}

.form-area .inner .flex-box .btn-txt-arrow {
	color: var(--g900);
	font-size: 1.4rem;
	font-weight: 400;
}

.form-area+.medium {
	margin-top: 3.2rem;
}

.photo-add-box {
	position: relative;
	overflow: hidden;
	margin-top: 1.2rem;
	border: 1px solid var(--g300);
	border-radius: var(--border-radius-16);
}

/* btn-photo-add 스타일 재설정 */
.photo-add-box .file-upload {
	position: relative;
	padding: 2rem;
}

.photo-add-box .file-upload .file-inp {
	position: absolute;
	overflow: hidden;
	width: 1px;
	height: 1px;
	clip: rect(0, 0, 0, 0);
}

.photo-add-box .file-upload label {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	line-height: 2.2rem;
	color: var(--g600);
	font-size: 1.4rem;
}

.photo-add-box .file-upload label .bg-plus {
	flex-shrink: 0;
	width: 7.2rem;
	height: 7.2rem;
	background: var(--g100) url('../images/icon/ico_24x24_plus.png') no-repeat 50% 50% / 2.4rem 2.4rem;
	border: 1px dashed var(--g300);
	border-radius: var(--border-radius-12);
}

/* 파일 첨부 되었을때 */
.photo-add-box .photo-add-complete {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1.6rem;
	padding: 2rem;
}

.photo-add-box .photo-add-complete .img-box {
	overflow: hidden;
	flex-shrink: 0;
	display: flex;
	width: 7.2rem;
	height: 7.2rem;
	border-radius: 1.2rem;
}

/* 파일 첨부 완료 되었을때 */
.photo-add-box .photo-add-complete .img-box img {
	width: 100%;
	height: 100%;
	margin: auto;
	object-fit: cover;
	object-position: top;
	aspect-ratio: 1 / 1;
}

.photo-add-box .photo-add-complete .file-name {
	width: 80%;
	font-size: 1.4rem;
	line-height: 2.2rem;
}

.photo-add-box .photo-add-complete .btn-del {
	display: inline-block;
	right: 2rem;
	flex-shrink: 0;
	width: 1.6rem;
	height: 1.6rem;
	background: url('../images/icon/ico_16x16_close.png') no-repeat 0 0 / 1.6rem 1.6rem;
}

.photo-add-box .photo-after-text {
	position: absolute;
	left: 10rem;
	top: 1.8rem;
	margin: 0 6rem 0 0;

}

.photo-add-box .photo-after-text input {
	width: 100%;
	height: 7.8rem;
	border: 0;
}



/*****************************************************************
  약관화면
*****************************************************************/
.tit2+.terms-wrap {
	margin-top: 3.2rem;
}

.terms-box .sub-txt {
	color: var(--g700);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.4rem;
}

.terms-box .btn-link-arrow {
	margin-top: 1.6rem;
}

.terms-box .con-tit1+.sub-txt {
	margin-top: .8rem;
}

.terms-box+.terms-wrap {
	margin-top: 3.2rem;
}

.terms-box .round-box .img-box {
	padding: 0.5rem 0.5rem;
}

.terms-wrap>.con-tit1 {
	margin-top: 3.2rem;
}

.terms-wrap>.con-tit1:first-child {
	margin-top: 0;
}

.terms-wrap .con-tit1+.round-box {
	margin-top: 1.2rem;
}

.terms-wrap>.con-tit2 {
	margin-top: 1.6rem;
}

.terms-wrap .round-box,
.terms-wrap .gray-box {
	margin-top: 0.8rem;
	border-radius: var(--border-radius-12);
}

.terms-wrap .round-box+.round-box,
.terms-wrap .round-box+.gray-box {
	margin-top: 1.2rem;
}

.terms-wrap .round-box:first-child,
.terms-wrap .gray-box:first-child {
	margin-top: 0;
}

.terms-wrap .round-box .con-tit2,
.terms-wrap .gray-box .con-tit2 {
	margin-top: 0.8rem;
}

.terms-wrap .round-box .con-tit2:first-child,
.terms-wrap .gray-box .con-tit2:first-child {
	margin-top: 0;
}

.terms-wrap .round-box .bul-list,
.terms-wrap .gray-box .bul-list {
	gap: .4rem;
	margin-top: .4rem;
}

.terms-wrap .round-box p.bul-dot,
.terms-wrap .gray-box p.bul-dot {
	margin-top: .4rem;
}

.terms-wrap .round-box .bul-dot,
.terms-wrap .gray-box .bul-dot {
	color: var(--g700);
	line-height: 2.4rem;
	font-size: 1.6rem;
}

.terms-wrap .round-box .bul-dot .sub-txt1,
.terms-wrap .gray-box .bul-dot .sub-txt1 {
	display: inline-block;
	margin-top: 1.2rem;
}

.terms-wrap .round-box .sub-txt1 {
	margin-top: .4rem;
	color: var(--g600);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.4rem;
}

.terms-wrap .round-box .sub-txt2 {
	margin-top: 0.8rem;
	color: var(--g900);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.4rem;
}

.terms-wrap .round-box .chk-wrap,
.terms-wrap .gray-box .chk-wrap {
	margin-top: 1.6rem;
}

.terms-wrap .chk-box+.chk-info-txt {
	margin-top: 0.6rem;
}

.terms-wrap .rdo-wrap {
	margin-top: 1.6rem;
}

.gray-box .sub-txt1 {
	margin-top: .4rem;
	color: var(--g700);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.4rem;
}

.gray-box .sub-txt2 {
	margin-top: 0.8rem;
	color: var(--g900);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.4rem;
}

.gray-box .sub-txt1:first-child,
.gray-box .sub-txt2:first-child {
	margin-top: 0;
}

.number-list+.gray-box {
	margin-top: 3.2rem;
}

/* 팝업안에 있을때 여백변경 */
.modal .terms-box .con-tit1+.sub-txt {
	margin-top: 1.6rem;
}

.modal .terms-wrap .round-box .bul-list,
.modal .terms-wrap .gray-box .bul-list,
.modal .terms-wrap .round-box p.bul-dot,
.modal .terms-wrap .gray-box p.bul-dot,
.modal .con-tit2.medium+.sub-txt1 {
	margin-top: .4rem;
}

.modal .terms-wrap .round-box .sub-txt2,
.modal .terms-wrap .gray-box .sub-txt2,
.modal .terms-wrap>.con-tit2+.round-box,
.modal .terms-wrap>.con-tit2+.gray-box {
	margin-top: .8rem;
}

.modal .terms-wrap>.con-tit2 {
	margin-top: 1.6rem;
}

.modal .terms-wrap .round-box .sub-txt1 {
	color: var(--g700);
}

.modal .terms-wrap .round-box .sub-txt2 {
	color: var(--g900);
}

.modal .terms-wrap .gray-box .sub-txt1:first-child,
.modal .terms-wrap .gray-box .sub-txt2:first-child {
	margin-top: 0;
}



/*****************************************************************
  완료화면
*****************************************************************/
.comp-box {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 1.6rem;
	margin: 1.6rem 0 3.2rem;
	text-align: center;
}

/* 예약문의 완료 더보기 */
.more-box {
	padding: 2rem;
	background-color: var(--g100);
	border-radius: var(--border-radius-16);
}

.more-box .detail-list-info+.detail-list-info {
	margin-top: .8rem;
}

.detail-list-info .g900 {
	color: var(--g900) !important;
}

.detail-list-info .g600 {
	color: var(--g600) !important;
}

.more-box .detail-list-info .txt {
	text-align: right;
}

.detail-list-info.column .txt {
	text-align: left;
}

.more-box .more-detail[hidden] {
	display: none;
}

.more-box .more-detail {
	margin-top: 20px;
}

.more-box .more-detail .line-box:last-child {
	border-bottom: none;

}

.more-box .line-box .txt-info {
	margin-bottom: .8rem;
}

.more-box .line-box .txt-info .tit {
	display: inline-block;
	color: var(--g900);
	font-size: 1.6rem;
	font-weight: 500;
}

.more-box .btn-wrap {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--g200);
}

.more-box .btn-more {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	color: var(--g500);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.4rem;
}

.more-box .btn-more::before {
	content: "";
	display: inline-block;
	width: 1.6rem;
	height: 1.6rem;
	margin-right: .8rem;
	background: url('../images/icon/ico_16x16_arrow_down.png') no-repeat 0 0 / 1.6rem 1.6rem;
	transition: transform 0.3s ease-in-out;
}

.more-box+.bul-dot {
	margin-top: 1.6rem;
}

.more-box.open .btn-wrap {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

.more-box.open .btn-more::before {
	transform: rotateX(-180deg);
}


/* 메인 */
.wrap.main-bg .header,
.wrap.main-bg .header>div {
	background-color: #e7f9f0;
}

.wrap.main-bg .header.scrolled,
.wrap.main-bg .header.scrolled>div {
	background-color: #fff;
}

.main-alrem-box {
	position: relative;
	height: 4.4rem;
	margin: 0 0 4rem;
}

.main-alrem {
	position: relative;
	display: flex;
	width: 100%;
	height: 4.4rem;
	padding: 0.6rem 3.6rem 0.6rem 1.2rem;
	font-size: 14px;
	box-shadow: 0rem 0.2rem 0.4rem 0rem #00000014;
	border-radius: 10rem 10rem;
	background-color: #fff;
}

.main-alrem::before {
	content: "";
	display: block;
	width: 3.6rem;
	height: 3.6rem;
	background: url(../images/icon/icon_36x36_alrem.png) no-repeat 0 center / 3.6rem auto;
}

.main-alrem>.close {
	position: absolute;
	top: 1.4rem;
	right: 2rem;
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../images/icon/ico_16x16_close.png) no-repeat 0 center / 1.6rem auto;
}

.main-alrem p {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.main-infor {
	min-height: 30.7rem;
	padding: 0 2rem 2rem;
	background: url(../images/common/main_bg.png) no-repeat 0 0 / 100% 100%;
}

.main-infor .main-infor-title {
	position: relative;
	margin: 0 0.4rem 2.4rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 3.2rem;
}

.main-infor .main-infor-title .login-after-ani {
	position: absolute;
	right: 0;
	top: -2px;
	width: 15rem;
	height: 11.4rem;
}

.main-infor .main-infor-title .login-before-ani {
	position: absolute;
	right: 0;
	top: 4px;
	z-index: 1;
	width: 15rem;
	height: 9rem;
}

.main-infor .main-memo-box {
	position: relative;
	padding: 2rem 2rem;
	height: 18rem;
	border-radius: 1.2rem;
	background-color: #fff;
	box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.04);
}

.main-infor .main-memo-box .memo-img-box {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 0 1.6rem 0;
	border-bottom: 1px solid var(--g200);
}

.main-infor .main-memo-box .memo-img-box img {
	width: 3.2rem;
	height: 3.2rem;
	margin: 0 1.2rem 0 0;
	border-radius: 50% 50%;
}

.main-infor .main-memo-box .memo-img-box .txt {
	overflow: hidden;
	display: flex;
	align-items: center;
	padding-right: 2.9rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 2.6rem;
}

.main-infor .main-memo-box .memo-img-box .txt span {
	flex: 1;
	color: var(--gn700);
}

.main-infor .main-memo-box .memo-img-box .btn-arrow {
	position: absolute;
	right: 0;
	width: 100%;
	height: 3.6rem;
	background: url(../images/icon/ico_16x16_arrow_right_black.png) no-repeat right center / 1.6rem auto;
}

.main-infor .main-memo-box .memo-mission {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 1.6rem 0 0 0;
	padding: 0 0.8rem 0;
	gap: 3rem;
}

.main-infor .main-memo-box .memo-mission .mission-item {
	display: block;
	text-align: center;
}

.main-infor .main-memo-box .memo-mission .mission-item .txt {
	margin: 0.8rem 0 0 0;
	color: var(--gn700);
	font-size: 1.4rem;
	line-height: 22px;
	font-weight: 500;
}

.main-infor .main-memo-box .memo-mission .mission-item .txt.line {
	color: var(--g900);
	text-decoration: underline;
}

.main-infor .main-memo-box:has(.none-login) {
	display: flex;
	align-items: center;
	justify-content: center;
}

.main-infor .main-memo-box .none-login {
	display: flex;
	align-items: center;
	flex-flow: column;
	text-align: center;
}

.main-infor .main-memo-box .none-login>p {
	margin-bottom: 1.2rem;
	color: var(--g700);
	font-weight: 500;
}

.main-infor .memo-swiper {
	height: 21.1rem;
}

.main-infor .swiper.memo-swiper .swiper-controls {
	margin-top: 1.8rem;
}

.main-infor .swiper.memo-swiper .swiper-controls .btn-prev,
.main-infor .swiper.memo-swiper .swiper-controls .btn-next {
	display: none;
}

.insert-box {
	padding: 2rem 2rem;
	height: 14.6rem;
	border-radius: 1.2rem;
	background-color: #fff;
	box-shadow: 0px 4px 20px 0px #0000000A;
	text-align: center;
}

.insert-box .insert-msg {
	color: #4b5565;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	text-align: center;
}

.insert-box button {
	width: 9.3rem;
	margin: 1.2rem auto 0;
}

.insert-box button .txt+span {
	margin: 0 0 0 0.5rem;
}

.main-content {
	display: flex;
	flex-direction: column;
	/* padding: 0 0 12.8rem 0; */
	background-color: #fff;
}

.main-content .main-mission-box {
	position: relative;
	border-radius: 1.2rem;
	margin: 2rem 2rem 0;
	padding: 2rem 3rem;
	border: 1px solid #48c48a;
}

.main-content .main-mission-box .infor-txt {
	display: inline-block;
	padding: 0 1rem;
	font-size: 1.4rem;
	line-height: 2.2rem;
	border-radius: 1.2rem;
	color: #fff;
	background-color: #068856;
}

.main-content .main-mission-box .tit {
	font-size: 2.4rem;
	line-height: 3.6rem;
	color: #068856;
	font-weight: 700;
}

.main-content .main-mission-box .txt {
	display: flex;
	font-size: 1.6rem;
	line-height: 1.8rem;
	color: #242933;
	font-weight: 400;
}

.main-content .main-mission-box .go-analysis {
	display: flex;
	width: 100%;
	margin: 1.5rem 0 0;
	padding: 1rem 0;
	font-size: 1.6rem;
	line-height: 1.8rem;
	color: #fff;
	border-radius: 2.2rem;
	justify-content: center;
	background-color: #068856;
}

.main-content .main-mission-box:nth-child(2) {
	border: 1px solid #179de0;
}

.main-content .main-mission-box:nth-child(2) .infor-txt {
	background-color: #179de0;
}

.main-content .main-mission-box:nth-child(2) .tit {
	color: #1f7bc1;
}

.main-content .main-mission-box:nth-child(2) .go-analysis {
	background-color: #1f7bc1;
}

.main-content .main-mission-box:after {
	content: "";
	display: block;
	position: absolute;
	right: 2rem;
	top: 2rem;
	width: 10.3rem;
	height: 10.3rem;
	background-size: 10.3rem auto !important;
	background-repeat: no-repeat !important;
	background-image: url(../images/icon/main_icon01.png);
}

.main-content .main-mission-box:nth-child(2):after {
	content: "";
	display: block;
	position: absolute;
	right: 2rem;
	top: 2rem;
	width: 10.3rem;
	height: 10.3rem;
	background-size: 10.3rem auto !important;
	background-repeat: no-repeat !important;
	background-image: url(../images/icon/main_icon02.png);
}


.main-content .mianBanner1-swiper {
	margin: 4rem 2rem 0;
}

.main-content .main-banner-box a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.main-content .main-banner-box a:focus-visible:after {
	content: " ";
	position: absolute;
	left: 3px;
	top: 3px;
	display: block;
	width: 99%;
	height: 97%;
	outline: 2px solid #000;
	border-radius: 16px;
}

.main-content .main-banner-box img {
	width: 100%;
	/* height: 8rem; */
}

.swiper.point-swiper {
	overflow: hidden;
	width: 100%;
	padding: 0 0 4px 20px;
}

.swiper.point-swiper .swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	/* width: 100% !important; */
	flex-shrink: unset;
	/* flex-shrink: inherit; */
}

.swiper.point-swiper .swiper-slide a:focus-visible,
.swiper.point-swiper .swiper-slide a[tabindex]:focus-visible {
	outline-offset: 0
}

.swiper.point-swiper .swiper-slide:nth-child(5n+1) .mission-box {
	background-color: #ddf6ff;
}

.swiper.point-swiper .swiper-slide:nth-child(5n+2) .mission-box {
	background-color: #e0f5ef;
}

.swiper.point-swiper .swiper-slide:nth-child(5n+3) .mission-box {
	background-color: #eceaff;
}

.swiper.point-swiper .swiper-slide:nth-child(5n+4) .mission-box {
	background-color: #fde8ef;
}

.swiper.point-swiper .swiper-slide:nth-child(5n+5) .mission-box {
	background-color: #ffedcc;
}

/* .swiper .swiper-wrapper .swiper-slide */


.main-content .main-subtitle {
	display: flex;
	height: 2.8rem;
	margin: 3.2rem 2rem 0;
	justify-content: space-between;

}

.main-content .main-subtitle .tit {
	color: var(--g900);
	font-size: 2rem;
	font-weight: 700;
	line-height: 2.8rem;
}

.main-content .main-subtitle .main-more-box {
	display: flex;
	align-items: center;
	cursor: pointer;
}

.main-content .main-subtitle .main-more-box .ion-point {
	display: inline-flex;
	width: 2.4rem;
	height: 2.4rem;
	background: url(../images/icon/ico_24x24_point.png) no-repeat center center / 2.4rem auto;
}

.main-content .main-subtitle .main-more-box .sum-point {
	margin: 0 0 0 0.4rem;
	color: var(--g900);
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 2.2rem;
}

.main-content .main-subtitle .main-more-box button {
	margin: 0 0 0 0.4rem;
	width: 1.6rem;
	height: 1.6rem;
}

.main-content .point-mission {
	display: flex;
	flex-wrap: nowrap;
	margin: 1.2rem 0 0 0;
	gap: 1.2rem;
	/* overflow: hidden;
	
	overflow-x: auto; */
}

.main-content .point-mission .mission-box {
	position: relative;
	width: 14.4rem;
	height: 14.4rem;
	padding: 2rem 2rem;
	border-radius: 1.2rem;
}

.main-content .point-mission li a {
	position: relative;
}

.main-content .point-mission li a:focus-visible:before {
	content: " ";
	position: absolute;
	left: 0;
	top: 2px;
	display: block;
	width: 100%;
	height: 14rem;
	outline: 2px solid #000;
	border-radius: 1.2rem;
	z-index: 1;
}

.main-content .point-mission .mission-box span {
	position: absolute;
	right: 2rem;
	bottom: 2rem;
}

.main-content .point-mission .mission-box .tit {
	color: var(--g900);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.4rem;
}

.main-content .point-mission li:nth-child(1) {
	margin: 0 0 0 2rem;
}

.main-content .point-mission li:nth-child(5n+1) .mission-box {
	background-color: #ddf6ff;
}

.main-content .point-mission li:nth-child(5n+2) .mission-box {
	background-color: #e0f5ef;
}

.main-content .point-mission li:nth-child(5n+3) .mission-box {
	background-color: #eceaff;
}

.main-content .point-mission li:nth-child(5n+4) .mission-box {
	background-color: #fde8ef;
}

.main-content .point-mission li:nth-child(5n+5) .mission-box {
	background-color: #ffedcc;
}



.main-content .one-pick-care {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	row-gap: 2rem;
	margin: 1.5rem 2rem 0;
	border-radius: 1.2rem;
}

.main-content .one-pick-care .care-box {
	text-align: center;
}

.main-content .one-pick-care .care-box a {
	position: relative;
}

.main-content .one-pick-care .care-box a:focus-visible:before {
	content: " ";
	position: absolute;
	/* left: 0; */
	top: 0;
	display: block;
	width: -webkit-fill-available;
	height: 12.2rem;
	/* outline: 2px solid #000; */
	outline: 3px dashed #000;
	border-radius: 1px;
	outline-offset: -0.3rem;
	border-radius: 1.2rem;
	z-index: 1;
}

.main-content .one-pick-care .care-box .care-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 6.4rem;
	height: 6.4rem;
	margin: 0 auto;
	border-radius: 50%;
	background-color: #f4f6f9;
}

.main-content .one-pick-care .care-box .tit {
	margin: 1.2rem 0 0 0;
	color: var(--g900);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.4rem;
}

.main-content .one-pick-care .care-box .txt {
	color: #67748e;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.2rem;
}



.main-content .health-care-box {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	row-gap: 2rem;
	margin: 1.2rem 2rem 0;
	padding: 2rem 2rem;
	border-radius: 1.2rem;
	border: 0.1rem solid #d9dee7;
}

.main-content .health-care-box .care-box {
	text-align: center;
}

.main-content .health-care-box .care-box a {
	position: relative;
}

.main-content .health-care-box .care-box a:focus-visible:before {
	content: " ";
	position: absolute;
	/* left: 0; */
	top: 0;
	display: block;
	width: -webkit-fill-available;
	height: 12.2rem;
	/* outline: 2px solid #000; */
	outline: 3px dashed #000;
	border-radius: 1px;
	outline-offset: -0.3rem;
	border-radius: 1.2rem;
	z-index: 1;
}

.main-content .health-care-box .care-box .care-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 6.4rem;
	height: 6.4rem;
	margin: 0 auto;
	border-radius: 50%;
	background-color: #f4f6f9;
}

.main-content .health-care-box .care-box .tit {
	margin: 1.2rem 0 0 0;
	color: var(--g900);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.4rem;
}

.main-content .health-care-box .care-box .txt {
	color: #67748e;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.2rem;
}

.main-content .mianBanner3-swiper {
	margin: 0 2rem 3.2rem;
}

.main-content .recent-box {
	grid-template-columns: repeat(3, 1fr);
	margin: 1.2rem 2rem 0;
	/* padding: 2rem 2rem; */
	border-radius: 1.2rem;
	border: 0.1rem solid #d9dee7;
}

.main-content .recent-box a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 2rem 2rem;
}

.main-content .recent-box a:focus-visible:after {
	content: " ";
	position: absolute;
	left: 3px;
	top: 3px;
	display: block;
	width: 99%;
	height: 97%;
	outline: 2px solid #000;
	border-radius: 16px;
}


.main-content .recent-box .tit {
	color: var(--g900);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.4rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	text-overflow: ellipsis;
	word-wrap: break-word;
}

.main-content .recent-box .txt {
	color: var(--g500);
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.2rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	text-overflow: ellipsis;
	word-wrap: break-word;
}

.main-content .recent-box .recent-badge {
	margin: 1.6rem 0 0 0;
}

.main-content .clinic-infor {
	position: relative;
	display: flex;
	align-items: center;
	height: 14rem;
	margin: 2rem 2rem 0;
	padding: 2rem 2rem;
	border-radius: 1.2rem;
	border: 1px solid var(--g200);
}

.main-content .clinic-infor .ico-symptoms {
	display: flex;
	width: 7.2rem;
	height: 7.2rem;
	border-radius: 50%;
	background-color: var(--g100);
	background-position: center;
	background-size: 5.6rem auto !important;
	background-repeat: no-repeat !important;
	background-image: url(../images/icon/ico_56x56_symptoms11.png);
}

.main-content .clinic-infor .ico-dog_breeds {
	display: flex;
	width: 7.2rem;
	height: 7.2rem;
	border-radius: 50%;
	background-color: var(--g100);
	background-position: center;
	background-size: 5.6rem auto !important;
	background-repeat: no-repeat !important;
	background-image: url(../images/icon/ico_56x56_dog_breeds02.png);
}

.main-content .clinic-infor .tit-txt-box {
	margin: 0 0 0 1.5rem;
	padding: 0 1.5rem 0 0;
}

.main-content .clinic-infor .tit-txt-box .tit {
	color: var(--g900);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 2.6rem;
}

.main-content .clinic-infor .tit-txt-box .txt {
	color: var(--g700);
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 2.2rem;
}

.main-content .clinic-infor::after {
	content: "";
	position: absolute;
	right: 2rem;
	width: 100%;
	height: 3.6rem;
	background: url(../images/icon/ico_16x16_arrow_right_black.png) no-repeat right center / 1.6rem auto;
}

.main-content .local-clinic {
	display: block;
	position: relative;
	height: 14rem;
	margin: 2rem 2rem 0;
	padding: 2rem 2rem;
	border-radius: 1.2rem;
	background-color: var(--g100);
}

.main-content .local-clinic .tit {
	display: flex;
	align-items: center;
	min-height: 50px;
	color: var(--g900);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 2.6rem;
}

.main-content .local-clinic .txt {
	margin: 0.4rem 0 0 0;
	color: var(--g700);
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.2rem;
}

.main-content .local-clinic .ico-map {
	position: absolute;
	right: 2rem;
	top: 3.4rem;
	width: 7.2rem;
	height: 7.2rem;
	background-size: 7.2rem auto !important;
	background-repeat: no-repeat !important;
	background-image: url(../images/icon/ico_72x72_map.png);
}

.main-content .local-clinic .ico-money {
	position: absolute;
	right: 2rem;
	top: 3.4rem;
	width: 7.2rem;
	height: 7.2rem;
	background-size: 7.2rem auto !important;
	background-repeat: no-repeat !important;
	background-image: url(../images/icon/ico_48x48_money.png);
}

.main-content .local-clinic+.local-clinic {
	margin: 2rem 2rem;
}


/* .main-content .local-clinic:focus-visible {
	display: block;
	width: -webkit-fill-available;
	height: 12.2rem;
	outline: 2px solid #000;
	border-radius: 1.2rem;
	z-index: 1;
} */

.quick-menu {
	position: fixed;
	right: 2rem;
	bottom: 13.6rem;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	z-index: 9999;
}

.quick-menu .quick-submenu {
	display: none;
	list-style: none;
	padding: 0;
}

#quickSubmenu li {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

#quickSubmenu li.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.quick-menu .quick-submenu li {
	margin: 0 0 0.8rem 0;
	text-align: right;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.quick-menu .quick-submenu li a.quick-link {
	display: inline-block;
	padding: 0.9rem 1.2rem 0.9rem 1.6rem;
	color: var(--g900);
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 2.2rem;
	background-color: #fff;
	border: 0.1rem solid #d9dee7;
	border-radius: 10rem;
	box-shadow: 0 0.4rem 1.2rem 0 #0000001F;
}

.quick-menu .quick-submenu li a.quick-link span {
	margin: 0.3rem 0 0 0.4rem;
}

.quick-menu .quick-open {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	margin: 0 0 0 auto;
	border: 0.1rem solid #d9dee7;
	border-radius: 50%;
	box-shadow: 0 0.4rem 1.2rem 0 #0000001F;
	background-color: #000;
	cursor: pointer;
}

.quick-menu .quick-open .plus {
	width: 1.6rem;
	height: 1.6rem;
	background: url(../images/icon/ico_16x16_add_white.png) no-repeat center center / 1.6rem auto;
	transform: rotate(180deg);
}

.quick-up {
	position: fixed;
	right: 2rem;
	bottom: 8.8rem;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	margin: 0 0 0 auto;
	border: 0.1rem solid #d9dee7;
	border-radius: 50%;
	box-shadow: 0 0.4rem 1.2rem 0 #0000001F;
	background-color: #fff;
	cursor: pointer;
}

.quick-up .up {
	width: 1.6rem;
	height: 1.6rem;
	background: url(../images/icon/ico_16x16_arrow_down_black.png) no-repeat center center / 1.6rem auto;
	transform: rotate(180deg);
}

.main-bottom-menu {
	position: fixed;
	bottom: 0;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	width: 100%;
	height: 6.8rem;
	height: auto;
	min-height: 6.8rem;
	/* padding: 0.8rem 0.8rem; */
	/* padding-bottom: calc(0.8rem + env(safe-area-inset-bottom)); */
	background-color: #fff;
	box-shadow: 0px -1px 4px 0px #0000000F;
	z-index: 9999;
}

@supports (-webkit-touch-callout: none) {
	.main-bottom-menu {
		bottom: 0;
		padding-bottom: calc(0.8rem + env(safe-area-inset-bottom));
		/* bottom: env(safe-area-inset-bottom); */

	}

	.btn-wrap.fixed {
		bottom: env(safe-area-inset-bottom);
	}
}

.main-bottom-menu a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.main-bottom-menu a.active .ico28-home,
.main-bottom-menu a:hover .ico28-home {
	background-image: url(../images/icon/ico_28x28_home_on.png);
}

.main-bottom-menu a.active .ico28-book,
.main-bottom-menu a:hover .ico28-book {
	background-image: url(../images/icon/ico_28x28_book_on.png);
}

.main-bottom-menu a.active .ico28-search,
.main-bottom-menu a:hover .ico28-search {
	background-image: url(../images/icon/ico_28x28_search_on.png);
}

.main-bottom-menu a.active .ico28-diamond,
.main-bottom-menu a:hover .ico28-diamond {
	background-image: url(../images/icon/ico_28x28_diamond_on.png);
}

.main-bottom-menu a.active .ico28-my,
.main-bottom-menu a:hover .ico28-my {
	background-image: url(../images/icon/ico_28x28_my_on.png);
}

.main-bottom-menu a .txt {
	margin: 0.2rem 0 0 0;
	color: var(--g900);
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 2rem;
}

/* 미디어 쿼리 */
@media (min-width:38.1rem) {

	.main-bottom-menu {
		left: 50%;
		width: 68rem;
		margin: 0 0 0 -34rem;
	}

	.quick-menu {
		right: calc(50% - 34rem - 4.6rem);
	}

	.quick-up {
		right: calc(50% - 34rem - 4.6rem);
	}

	.main-content .mianBanner3-swiper {
		margin: 3.2rem 2rem 0;
		padding: 0 0 3.2rem 0;
	}
}

@media (max-width:50rem) {
	.main-bottom-menu a:hover .ico28-home {
		background-image: url(../images/icon/ico_28x28_home.png);
	}


	.main-bottom-menu a:hover .ico28-book {
		background-image: url(../images/icon/ico_28x28_book.png);
	}


	.main-bottom-menu a:hover .ico28-search {
		background-image: url(../images/icon/ico_28x28_search.png);
	}


	.main-bottom-menu a:hover .ico28-diamond {
		background-image: url(../images/icon/ico_28x28_diamond.png);
	}

	.main-bottom-menu a:hover .ico28-my {
		background-image: url(../images/icon/ico_28x28_my.png);
	}

	.main-bottom-menu a.active:hover .ico28-home {
		background-image: url(../images/icon/ico_28x28_home_on.png);
	}

	.main-bottom-menu a.active:hover .ico28-book {
		background-image: url(../images/icon/ico_28x28_book_on.png);
	}

	.main-bottom-menu a.active:hover .ico28-search {
		background-image: url(../images/icon/ico_28x28_search_on.png);
	}

	.main-bottom-menu a.active:hover .ico28-diamond {
		background-image: url(../images/icon/ico_28x28_diamond_on.png);
	}

	.main-bottom-menu a.active:hover .ico28-my {
		background-image: url(../images/icon/ico_28x28_my_on.png);
	}
}

@media (hover:none) {

	.main-bottom-menu a:hover .ico28-home {
		background-image: url(../images/icon/ico_28x28_home.png);
	}


	.main-bottom-menu a:hover .ico28-book {
		background-image: url(../images/icon/ico_28x28_book.png);
	}


	.main-bottom-menu a:hover .ico28-search {
		background-image: url(../images/icon/ico_28x28_search.png);
	}


	.main-bottom-menu a:hover .ico28-diamond {
		background-image: url(../images/icon/ico_28x28_diamond.png);
	}

	.main-bottom-menu a:hover .ico28-my {
		background-image: url(../images/icon/ico_28x28_my.png);
	}

	.main-bottom-menu a.active:hover .ico28-home {
		background-image: url(../images/icon/ico_28x28_home_on.png);
	}

	.main-bottom-menu a.active:hover .ico28-book {
		background-image: url(../images/icon/ico_28x28_book_on.png);
	}

	.main-bottom-menu a.active:hover .ico28-search {
		background-image: url(../images/icon/ico_28x28_search_on.png);
	}

	.main-bottom-menu a.active:hover .ico28-diamond {
		background-image: url(../images/icon/ico_28x28_diamond_on.png);
	}

	.main-bottom-menu a.active:hover .ico28-my {
		background-image: url(../images/icon/ico_28x28_my_on.png);
	}

}