/* 메인(index.php) 전용: css/sub.css에서 메인에 쓰이는 규칙만 옮긴 파일 (PageSpeed 3단계, 2026-11-04)
   메인 화면 스타일을 sub.css에서 고쳐도 반영되지 않으니 이 파일을 수정한다. */
body { font-family: 'Noto Sans KR', sans-serif; }
.btn { display: inline-block; padding: 20px 30px; border-radius: 999px; font-weight: 700; font-size: 16px; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.swiper-container-outer { position: relative; margin: 30px 0 40px 0; }
.sub_serchbox {
width: 100%;height:80px;border:2px solid #8d8d8d;padding:0px 30px;font-size:24px;color:#282828;background:rgba(255,255,255,0.2);outline:0;border-radius:40px;
}
.sub_serchbox::placeholder { color: #c1c6ca; }
.sub_serchbox_icon {
position: absolute;width: 40px;height:auto;right:30px;top: 50%;  transform: translate(0%,-50%); z-index: 1;cursor:pointer;
}
.sub_serchbox_icon img { max-width:100%;filter: brightness(0); }
.balck_filter {
width: 100%; height: 100%; position: absolute; background: #000; opacity: 0.7;  z-index: 99;
}
.full_cover video {
-webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: auto; height: auto;  z-index: -100; 
	background-size: 100% 100%;  background-color: black; background-position: center center; 
	background-size: contain; object-fit: cover; z-index: 77; opacity: 1;
}
.role { font-size: 1.125rem; color: #374151; font-weight: 500; }
.cate01 { display:block; }
.cate02 { display:none; }
.cate03 { display:none; }
.cate04 { display:none; }
.cate05 { display:none; }
.cate06 { display:none; }
.cate07 { display:none; }
/* 터치 영역은 24px 이상(접근성 기준), 보이는 점은 ::before로 그린다 */
.newpa .swiper-pagination-bullet { position:relative;width:24px;height:24px;margin:0 !important;border-radius:0;background:transparent;vertical-align:middle; }
.newpa .swiper-pagination-bullet::before { content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;border-radius:8px;background:#d7d7d7;transform:translate(-50%,-50%); }
.newpa .swiper-pagination-bullet-active { background:transparent;width:48px; }
.newpa .swiper-pagination-bullet-active::before { background:#10356c;width:40px; }
/* 영상 슬라이드는 점이 여러 줄이 될 수 있어 썸네일 아래에 둔다 */
.con06 .con06_box .con06_inbox .mediabox .mySwiper03 { padding-bottom:8px; }
.mySwiper03 .newpa.swiper-pagination { position:relative;bottom:auto;margin-top:8px; }
.reset {
position: absolute; top:20px; right: 20px;padding: 6px 22px; border-radius: 50px; color: #10356c; font-weight: 700; border: 1px solid #10356c;  font-size: 15px;background: #fff; outline: 0;
}
.progress {
width: 140px; height: 140px;font-size: 30px; color: #fff; border-radius: 50%; overflow: hidden; position: relative;background: #fff2f1; text-align: center; line-height: 140px; margin: 0 auto;
}
.progress::after { content: "%"; }
.swiper-outter { width: 100%;padding: 0 65px;position: relative; }
@media all and (max-width:1380px) {
.sub_serchbox {font-size: 20px;height: 70px;}
.sub_serchbox_icon {width: 30px;}
}
@media all and (max-width:1024px) {
.swiper-outter {padding: 0;}
}
@media all and (max-width:980px) {
.num {font-size: 14px !important;}
}
@media all and (max-width:768px) {
.sub_serchbox {height: 60PX; font-size: 16PX; padding: 0px 25px;}
.sub_serchbox_icon {width: 26px; right: 24px;}
.newpa .swiper-pagination-bullet::before {width: 12px; height: 12px;}
.newpa .swiper-pagination-bullet-active {width: 24px; }
.newpa .swiper-pagination-bullet-active::before {width: 20px; }
}
@media all and (max-width:490px) {
.sub_serchbox {padding: 0px 20px; height: 56PX; font-size: 15PX;}
.sub_serchbox_icon {width: 24px; top: 48%;}
}
@media all and (max-width:450px) {
.role {font-size: 14px;}
.newpa .swiper-pagination-bullet::before { width: 10px;height: 10px;}
.newpa .swiper-pagination-bullet-active::before {width: 15px;}
.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {bottom: 22px;}
}
@media all and (max-width:430px) {
.reset {font-size: 12px; padding: 4px 15px;top: 10px; right: 10px;}
.progress { width: 110px; height: 110px;line-height: 110px;}
}
@media all and (max-width:407px) {
.sub_serchbox {height: 50px; padding: 0px 16px;}
.sub_serchbox_icon {right: 18px; width: 20px;}
}
@media all and (max-width:380px) {
.num {font-size: 13px !important;}
}
@media all and (max-width:350px) {
.sub_serchbox_icon {right: 15px; width: 17px;  top: 44%;}
}
@media all and (max-width:320px) {
.sub_serchbox {font-size: 11.5px;}
}
@media all and (max-width:280px) {
.logo {margin: 0 0 0 15px;}
.num {font-size: 11px !important;}
}
/* 좁은 화면에서 변호사 슬라이드 점이 두 줄이 되면 카드와 겹치지 않게 내린다 */
@media all and (max-width:380px) {
.lawyer_swiper .newpa.swiper-pagination { bottom:0; }
}
