#contents .main-banner .main-banner__pagination{
    left:calc(50% - 3.3rem) !important;
    top:calc(90% - 3.3rem) !important;
}
/* 1겹: 1360px 영역 안에서 cont 블록을 가운데로 */
.swiper-slide-visual0X .inner.w1400 {
	justify-content: center !important;
}

/* 2겹: cont 안의 자식들을 가운데로 */
.swiper-slide-visual0X .main-banner__cont {
	align-items: center;
	text-align: center;
}
.main-banner__cont{
    max-width:100% !important;
}
.main-banner__title{
    font-size:4.25rem !important; line-height:1.1 !important;
}
.main-banner__desc{
    font-size:1.5rem !important; line-height:1.2 !important;
}
.main-banner__desc b{
    font-weight: 800;
}
.main-banner__box{
    text-align:center;
}
.main-banner__box span{
	display: inline-block;
	padding: 0.875rem 2.25rem;
	border: 0.0625rem solid rgba(255, 255, 255, 0.45);
	border-radius: 6.25rem;
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(0.375rem);
	-webkit-backdrop-filter: blur(0.375rem);
	color: #fff;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.01em;
	white-space: nowrap;
}
.main-banner__title .main-banner__365-img{ 
    height:1.25em !important;
    margin-right:0.25rem;
    vertical-align:top;
}
@media screen and (max-width: 48rem) {
	.main-banner__box {
		padding: 0.75rem 1.25rem;
		font-size: 0.875rem;
		white-space: normal;
	}
}

@media screen and (max-width: 48rem) {
    .main-banner__title {
        font-size: 2rem  !important;
    }
    .main-banner__box{
        display: none;
    }
}

.mv_video{width: 100%;}
.mv_video .inner{
    position: relative;
    padding-top: 56.25%;
}
.mv_video .inner iframe{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.mv_video .inner .text-wrap{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    text-align: center;
}
.mv_video .inner .text-wrap img{
    max-width: 100%;
}
@media screen and (max-width: 1024px) {
    .mv_video .inner .text-wrap img{
        max-width: 70%;
    }
}
@media screen and (max-width: 768px) {
    .mv_video .inner{
        padding-top: 84.67%;
    }
    .mv_video .inner iframe{
        width: 160%;
        margin-left: -30%;
    }
    .mv_video .inner .text-wrap img{
        max-width: 75%;
    }
}

/* ===================================================================
   비급여진료비용고지(npay.php) 표 모바일 대응 - 2026-08-13 추가

   nonpay2.css 는 SASS 컴파일 결과물이라 직접 수정하지 않고 여기에 작성.
   modify.css 는 nonpay2.css 보다 먼저 로드되므로, 모든 선택자 앞에
   상위 래퍼 .nonpay-intro-article 을 붙여 우선순위를 한 단계 올림.
   (인라인 style="white-space:nowrap" 대응 1곳만 !important 사용)

   - 모든 해상도 : 긴 텍스트 잘림 방지
   - 768px 이하 : 컬럼 폭을 내용 기준으로 (기존 고정 768px + 퍼센트 폭 → 칸 눌림 해결)
   - 600px 이하 : 표를 카드형으로 전환, 가로 스크롤 없이 전체 내용 표시
   =================================================================== */

/* ----- 표 텍스트 잘림 방지 (모든 해상도 공통) ----- */
.nonpay-intro-article .nonpay-table th,
.nonpay-intro-article .nonpay-table td {
	word-wrap: break-word;
	overflow-wrap: anywhere;
}

/* ----- 768px 이하 : 컬럼 폭 자동 ----- */
@media only screen and (max-width: 768px) {
	.nonpay-intro-article .nonpay-table {
		min-width: 0;
	}
	.nonpay-intro-article .nonpay-table table {
		table-layout: auto;
		width: auto;
		min-width: 100%;
	}
	.nonpay-intro-article .nonpay-table col {
		width: auto !important;
	}
	.nonpay-intro-article .nonpay-table thead tr:nth-child(2) th,
	.nonpay-intro-article .nonpay-table tbody td {
		white-space: nowrap;
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(3),
	.nonpay-intro-article .nonpay-table tbody td:nth-child(9) {
		white-space: normal;
		min-width: 9em;
		word-break: keep-all;
		word-wrap: break-word;
		overflow-wrap: anywhere;
	}
}

/* ----- 600px 이하 : 카드형 ----- */
@media only screen and (max-width: 600px) {
	.nonpay-intro-article .nonpay-table-area {
		overflow-x: visible;
	}
	.nonpay-intro-article .nonpay-table {
		border-top: 0;
	}
	.nonpay-intro-article .nonpay-table colgroup,
	.nonpay-intro-article .nonpay-table thead {
		display: none;
	}
	.nonpay-intro-article .nonpay-table table,
	.nonpay-intro-article .nonpay-table tbody,
	.nonpay-intro-article .nonpay-table tbody tr,
	.nonpay-intro-article .nonpay-table tbody th,
	.nonpay-intro-article .nonpay-table tbody td {
		display: block;
		width: auto;
	}
	.nonpay-intro-article .nonpay-table tbody tr {
		margin-bottom: 0.75rem;
		padding: 0.9rem 1rem;
		border: 1px solid #cdcdcd;
		border-top: 2px solid #b78a3f;
		border-radius: 6px;
	}
	.nonpay-intro-article .nonpay-table tbody th,
	.nonpay-intro-article .nonpay-table tbody td {
		height: auto;
		min-width: 0;
		padding: 0.3rem 0;
		border: 0;
		text-align: left;
		white-space: normal !important;
		word-break: keep-all;
		word-wrap: break-word;
		overflow-wrap: anywhere;
		font-size: 0.85em;
		line-height: 1.45;
	}
	/* 분류 */
	.nonpay-intro-article .nonpay-table tbody th:nth-child(1) {
		display: inline-block;
		margin-bottom: 0.4rem;
		padding: 0.15rem 0.6rem;
		background: #f4f6f6;
		border-radius: 3px;
		font-size: 0.75em;
		color: #666;
	}
	/* 코드 */
	.nonpay-intro-article .nonpay-table tbody td:nth-child(2):not(:empty) {
		display: inline-block;
		margin-left: 0.4rem;
		font-size: 0.75em;
		color: #999;
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(2):empty {
		display: none;
	}
	/* 명칭 - 카드 제목 */
	.nonpay-intro-article .nonpay-table tbody td:nth-child(3) {
		min-width: 0;
		margin-bottom: 0.5rem;
		padding: 0.1rem 0 0.6rem;
		border-bottom: 1px solid #ececec;
		font-size: 1em;
		font-weight: 500;
		color: #222;
	}
	/* 나머지 항목 - 라벨 + 값 (값이 길어도 잘리지 않도록 minmax(0,1fr)) */
	.nonpay-intro-article .nonpay-table tbody td:nth-child(n + 4) {
		display: grid;
		grid-template-columns: 5.5em minmax(0, 1fr);
		gap: 0.5rem;
		min-width: 0;
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(n + 4):empty {
		display: none;
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(n + 4)::before {
		color: #888;
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(4)::before {
		content: '비용';
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(5)::before {
		content: '최저비용';
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(6)::before {
		content: '최고비용';
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(7)::before {
		content: '치료재료대';
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(8)::before {
		content: '약제비';
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(9)::before {
		content: '특이사항';
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(10)::before {
		content: '최초등록일';
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(11)::before {
		content: '최종변경일';
	}
	.nonpay-intro-article .nonpay-table tbody td:nth-child(4) {
		color: #b78a3f;
		font-weight: 500;
	}
	/* 검색 결과 없음 */
	.nonpay-intro-article .nonpay-table tbody tr td[colspan] {
		padding: 1.5rem 0;
		text-align: center;
	}
}

.quick-list{
    background: #f1f1f1;
    border-radius: 50px;
}

/* ===================================================================
   환자후기(리뷰) 슬라이더 - 썸네일 4개씩 슬라이드 롤링
   =================================================================== */
.main-community__slider.swiper {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.main-community__slider .main-community__list.swiper-wrapper {
	display: flex;
	flex-direction: row !important; /* main.css @media(max-width:48rem) .main-community__list{flex-direction:column} 무력화 - 모바일에서 세로로 쌓이던 원인 */
	flex-wrap: nowrap !important;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0 !important; /* 기존 flex gap과 Swiper spaceBetween(margin-right)이 겹쳐 간격이 2배로 붙는 것 방지 */
}
.main-community__slider .mainReview__move.swiper-slide {
	flex-shrink: 0;
	height: auto;
}
.main-community__slider .mainReview__move .link__block {
	display: block;
	width: 100%;
	aspect-ratio: 335 / 420;
	overflow: hidden;
}
.main-community__slider .mainReview__move img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.main-community__slider .main-community__pagination.swiper-pagination {
	position: static;
	margin-top: 1.5rem;
	text-align: center;
}
/* 1024px 미만: 다른 반응형 CSS가 카드 폭을 100%로 강제해 1개씩 떨어지는 것 방지 (JS breakpoints: 0 => slidesPerView 2) */
@media screen and (max-width: 1023px) {
	.main-community__slider .mainReview__move.swiper-slide {
		width: 50% !important;
	}
}

/* ===================================================================
   FAQ(cz_customerQ) 아코디언 테이블 992px 이하에서 목록이 사라지는 문제 수정
   - 2026-08-28 추가

   board.min.css 는 SASS 컴파일 결과물이라 직접 수정하지 않고 여기에 작성.
   원인: board.min.css 의 @media(max-width:992px) 공통 규칙이 .board-table1 안의
   모든 td 를 일단 display:none 시킨 뒤, .subject_wrap 구조를 가진 td 만 다시
   보여주는 방식(카드형 변환)인데, FAQ 아코디언 테이블(.tablequestions)은
   .subject_wrap 대신 .questions-subject 구조를 써서 어떤 td 도 다시
   보이지 않아 목록 전체가 사라졌음.
   해결: .tablequestions 한정으로 셀렉터 우선순위를 올려 일반 테이블
   레이아웃을 그대로 유지시킴 (.reserve-table1 에 적용된 기존 예외 처리와 동일한 방식).
   =================================================================== */
@media only screen and (max-width: 992px) {
	.board-table1 .tablequestions {
		display: table;
	}
	.board-table1 .tablequestions colgroup {
		display: table-column-group;
	}
	.board-table1 .tablequestions thead {
		display: table-header-group;
	}
	.board-table1 .tablequestions tbody {
		display: table-row-group;
	}
	.board-table1 .tablequestions tr {
		display: table-row;
	}
	.board-table1 .tablequestions tbody tr td {
		display: table-cell;
	}
}

@media (max-width: 992px) {
	.view_area .content_area .txt_wrap img{ width:100%; max-width:1080px;}
}

/* 메인 뉴스 카드 이미지 - 모바일 위아래 잘림 방지 (main.css보다 먼저 로드되므로 선택자 우선순위 높임) */
@media (max-width: 48rem) {
	.main-news .main-news__card-img {
		height: auto;
		aspect-ratio: 454 / 340;
	}
}
