/* visual */
.visual{position: relative; padding: 90px 4% 0  4%;}
.visualSwiper{overflow: visible;}
.visual .swiper-slide{max-width: 1280px; border-radius: 28px; overflow: hidden; opacity: 0.2; transition: opacity 0.3s;}
.visual .swiper-slide-active{opacity: 1;}
.visual .swiper-slide img{width: 100%; display: block;}

/* visual nav */
.visual_nav{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; max-width: 1280px; z-index: 10; pointer-events: none;}
.visual_prev, .visual_next{position: absolute; top: 50%; transform: translateY(-50%); width: 52px; border-radius: 100px; background: rgba(2,2,2,0.24); border: none; cursor: pointer; pointer-events: auto; display: flex; align-items: center; justify-content: center; aspect-ratio: 1;}
.visual_prev{left: 20px;}
.visual_next{right: 20px;}
.visual_prev span, .visual_next span{font-family: 'SUIT Variable', sans-serif; font-size: 24px; font-weight: 200; color: #fff; line-height: 100%;}

/* visual bottom */
.visual_bottom{position: absolute; bottom: 108px; left: 50%; transform: translateX(-50%); z-index: 10; display: flex; align-items: center; gap: 24px; display: none;}
.visual_pagination{position: static; width: auto; display: flex; align-items: center; gap: 24px;}
.visual_pagination .swiper-pagination-bullet{width: 10px; height: 10px; border-radius: 100px; background: rgba(17,17,17,0.2); opacity: 1; margin: 0; transition: 0.3s;}
.visual_pagination .swiper-pagination-bullet-active{width: 30px; background: #111;}

/* visual toggle */
.visual_toggle{width: 16px; height: 16px; background: none; border: none; cursor: pointer; position: relative; display: flex; align-items: center; justify-content: center; gap: 3px; padding: 0;}
.visual_toggle.pause span{display: block; width: 3px; height: 12px; background: #111; border-radius: 1px;}
.visual_toggle.play span{display: none;}
.visual_toggle.play::after{content: ''; width: 0; height: 0; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 10px solid #111; margin-left: 2px;}

/* common */
.width{width: 92%; max-width: 1280px; margin: 0 auto;}
.common{padding: 120px 0;}

/* man1 */
.main1_wrap{display: flex; align-items: center; justify-content: space-between;}
.main1_text h2{  font-size: 36px; font-weight: 600; line-height: 130%; letter-spacing: -0.9px; color: #111; margin: 0;}
.main1_text h2 span{font-weight: 700; color: #2e50eb;}
.main1 .box_wrap{display: flex; align-items: flex-end; width: 75%; justify-content: flex-end;}
.main1 .box{display: flex; flex-direction: column; align-items: center; gap: 8px; width: calc(100% / 5); text-decoration: none; color: #111; transition: transform 0.3s;}
.main1 .box:hover{transform: translateY(-10px);}
.main1 .box .img{width: 50%; aspect-ratio: 1; border-radius: 12px; background: #f7f7f7; overflow: hidden; margin: 0 auto; padding: 10px;}
.main1 .box .img img{width: 100%;}
.main1 .box p{margin: 0;   font-size: 16px; font-weight: 500; line-height: 140%; letter-spacing: -0.4px; text-align: center;}

/* main2 */
.main2{position: relative; background: url('../img/m2-bg.png') center / cover no-repeat;}
/* .main2::before{content: ''; position: absolute; inset: 0; background: linear-gradient(75.7deg, rgba(46,122,235,0.8) 9.35%, rgba(46,80,235,0.8) 90.65%);} */
.main2 .width{position: relative; z-index: 1;}
.main2_wrap{display: flex; gap: 3%; align-items: flex-start;}
.main2_left{width: 48%; padding-top: 75px;}
.main2_right{width: 49%;}

/* main2 tabs */
.main2_top{display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;}
.main2_tabs{display: flex; gap: 8px;}
.main2_tab{border: none; cursor: pointer; background: transparent; border-radius: 100px; padding: 12px 24px;   font-size: 18px; font-weight: 600; line-height: 140%; letter-spacing: -0.45px; color: #fff; transition: 0.3s;}
.main2_tab.on{background: #fff; color: #2e50eb;}
.main2_more{display: flex; align-items: center; gap: 8px; text-decoration: none;   font-size: 16px; font-weight: 600; line-height: 140%; letter-spacing: -0.4px; color: #fff;}
.main2_more span{display: flex; align-items: center; justify-content: center; width: 36px; background: rgba(255,255,255,0.1); border-radius: 100px; font-family: 'SUIT Variable', sans-serif; font-weight: 200; font-size: 18px; aspect-ratio: 1;}

/* main2 body / table */
.main2_body{position: relative;}
.main2_panel{display: none;}
.main2_panel.on{display: block;}
.main2_table{background: #fff; border: 1px solid #e5e5ec; border-radius: 24px; overflow: hidden;}
.main2_table .main2Swiper,
.main2_table .main2Swiper2{height: 404px;}
.main2_thead{display: flex; background: #f7f7f7; border-bottom: 1px solid #2e50eb;}
.main2_thead .box{flex: 1; display: flex; align-items: center; justify-content: center; padding: 18px 0;   font-size: 17px; font-weight: 600; line-height: 140%; letter-spacing: -0.425px; color: #111;}
.main2_table .swiper-slide{width: 100%;}
.main2_table .swiper-slide .box_wrap{display: flex; width: 100%; height: 100%; align-items: center; border-bottom: 1px solid #e5e5ec;}
.main2_table .swiper-slide .box_wrap .box{flex: 1; display: flex; align-items: center; justify-content: center;   font-size: 16px; font-weight: 500; line-height: 150%; letter-spacing: -0.4px; color: #111;}
.main2_table .swiper-slide .box_wrap .box em{background: rgba(219,0,0,0.1); color: #db0000; border-radius: 4px; padding: 2px 8px; font-style: normal; font-size: 14px; font-weight: 500; line-height: 150%; letter-spacing: -0.35px;}
.main2_table .swiper-slide .box_wrap .box em.done{background: rgba(46,80,235,0.1); color: #2E50EB;}
.main2_table .swiper-slide .box_wrap .box a{color: #111; text-decoration: none;}
.main2_table .swiper-slide:last-child .box_wrap{border-bottom: none;}

.gif{padding: 30px;}
.gif img{width: 100%; border-radius: 20px; overflow: hidden;}

/* main3 */
.main3{position: relative; background: url('../img/m3-bg.png') center / cover no-repeat #f2f5fc; }
.main3_head{display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 60px;}
.main3_badge{display: inline-flex; align-items: center; justify-content: center; background: #2e50eb; color: #fff;   font-size: 18px; font-weight: 600; line-height: 150%; letter-spacing: -0.45px; padding: 4px 16px; border-radius: 100px;}
.main3_head h2{  font-size: 36px; font-weight: 700; line-height: 130%; letter-spacing: -0.9px; color: #111; text-align: center; margin: 0;}
.main3_head h2 span{color: #2e50eb; font-weight: 700;}
.main3 .box_wrap{display: flex; flex-wrap: wrap; gap: 40px;}
.main3 .box{display: flex; align-items: center; gap: 12px; width: calc(50% - 20px); background: #fff; border-radius: 28px; padding: 70px 40px; box-shadow: 0px 0px 16px 0px rgba(17,106,255,0.2);}
.main3 .box .img{width: 100px; min-width: 100px; aspect-ratio: 1;}
.main3 .box .img img{width: 100%; height: 100%; object-fit: contain;}
.main3 .box .text{display: flex; flex-direction: column; gap: 8px;}
.main3 .box .text h3{  font-size: 28px; font-weight: 700; line-height: 140%; letter-spacing: -0.7px; color: #111; margin: 0;}
.main3 .box .text h3 span{color: #2e50eb; font-weight: 700;}
.main3 .box .text p{  font-size: 18px; font-weight: 400; line-height: 140%; letter-spacing: -0.45px; color: #505050; margin: 0;}
.main3 .box .text p b{font-weight: 700; color: #111;}
.main3_point{position: absolute; right: calc(50% - 585px); bottom: -40px; width: 510px; height: 420px; pointer-events: none; animation: main3Float 3s ease-in-out infinite;}
.main3_point img{width: 100%; height: 100%; object-fit: contain;}
@keyframes main3Float{0%{transform: translateY(0px);} 50%{transform: translateY(-20px);} 100%{transform: translateY(0px);}}

/* main4 */
.main4{padding: 140px 0;}
.main4_head{display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 60px;}
.main4_badge{display: inline-flex; align-items: center; justify-content: center; background: #2e50eb; color: #fff;   font-size: 18px; font-weight: 600; line-height: 150%; letter-spacing: -0.45px; padding: 4px 16px; border-radius: 100px;}
.main4_head h2{  font-size: 36px; font-weight: 700; line-height: 130%; letter-spacing: -0.9px; color: #111; text-align: center; margin: 0;}
.main4_head h2 span{color: #2e50eb; font-weight: bold;}
.main4 .box_wrap{display: flex; align-items: stretch; justify-content: space-between;}
.main4 .box{width: 16%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 40px 0; border-radius: 20px; border: 1px solid #e5e5ec; background: #fff; text-align: center; position: relative;}
.main4 .box.on{background: #f2f5fc; border: 2px solid #2e50eb;}
.main4 .box:not(:last-child)::after{content: '>'; position: absolute; top: 50%; right: -16%; transform: translate(50%, -50%); font-family: 'SUIT Variable', sans-serif; font-size: 28px; font-weight: 200; color: #b0b0b0; line-height: 100%;}
.main4 .box .img{width: 35%; margin-bottom: 8px;}
.main4 .box .img img{width: 100%;}
.main4 .box strong{  font-size: 24px; font-weight: 600; line-height: 140%; letter-spacing: -0.6px; color: #111;}
.main4 .box.on strong{color: #2e50eb;}
.main4 .box p{  font-size: 18px; font-weight: 400; line-height: 140%; letter-spacing: -0.45px; color: #505050; margin: 0;}

/* main5 */
.main5{background: #f2f5fc; position: relative; }
.main5 .width{position: relative; z-index: 1;}
.main5_head{display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 60px;}
.main5_badge{display: inline-flex; align-items: center; justify-content: center; background: #2e50eb; color: #fff;   font-size: 18px; font-weight: 600; line-height: 150%; letter-spacing: -0.45px; padding: 4px 16px; border-radius: 100px; text-align: center;}
.main5_head h2{  font-size: 36px; font-weight: 700; line-height: 130%; letter-spacing: -0.9px; color: #111; text-align: center; margin: 0;}
.main5_head h2 span{color: #2e50eb; font-weight: bold;}
.main5_tabs{display: flex; gap: 8px; justify-content: center; margin-bottom: 28px;}
.main5_tab{border: none; cursor: pointer; background: transparent; border-radius: 100px; padding: 12px 28px;   font-size: 18px; font-weight: 600; line-height: 140%; color: #999; transition: 0.3s;}
.main5_tab.on{background: #111; color: #fff;}
.main5_body{position: relative;}
.main5_panel{display: none;}
.main5_panel.on{display: block;}
.main5 .box_wrap{display: flex; gap: 1.5%;}
.main5 .box{width: 23.5%; border-radius: 28px; border: 1px solid #e5e5ec; overflow: hidden; background: #fff;}
.main5 .box .img{background: #f7f7f7; position: relative; }
.main5 .box .img img{width: 100%;}
.main5_free{position: absolute; top: 16px; left: 16px; background: #2e50eb; color: #fff;   font-size: 14px; font-weight: 600; line-height: 140%; padding: 4px 12px; border-radius: 8px; z-index: 1;}
.main5_panel.lg .main5_free{background: #E5003A;}
.main5 .box .text{padding: 20px 0; text-align: center;}
.main5 .box .text strong{display: block;   font-size: 22px; font-weight: 600; line-height: 140%; letter-spacing: -0.55px; color: #111; margin-bottom: 8px;}
.main5 .box .text del{display: block;   font-size: 15px; font-weight: 400; line-height: 140%; letter-spacing: -0.375px; color: #999; text-decoration: line-through;}
.main5 .box .text p{  font-size: 32px; font-weight: 700; line-height: 120%; letter-spacing: -0.8px; color: #2e50eb; margin: 0;}

/* main5 floating objects */
.main5_obj1{position: absolute; left: calc(50% - 851px); top: 184px; width: 300px; pointer-events: none; z-index: 0; animation: main5Float1 3s ease-in-out infinite;}
.main5_obj1 img{width: 100%;}
.main5_obj2{position: absolute; right: calc(50% - 922px); bottom: -60px; width: 350px; pointer-events: none; z-index: 0; animation: main5Float2 3.5s ease-in-out infinite;}
.main5_obj2 img{width: 100%;}
@keyframes main5Float1{0%{transform: translateY(0);} 50%{transform: translateY(-20px);} 100%{transform: translateY(0);}}
@keyframes main5Float2{0%{transform: translateY(0);} 50%{transform: translateY(-15px);} 100%{transform: translateY(0);}}

/* main6 */
.main6_head{display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 60px;}
.main6_badge{display: inline-flex; align-items: center; justify-content: center; background: #2e50eb; color: #fff;   font-size: 18px; font-weight: 600; line-height: 150%; letter-spacing: -0.45px; padding: 4px 16px; border-radius: 100px;}
.main6_head h2{  font-size: 36px; font-weight: 700; line-height: 130%; letter-spacing: -0.9px; color: #111; text-align: center; margin: 0;}
.main6_head h2 span{color: #2e50eb; font-weight: bold;}

/* main7 */
.main7{position: relative; padding: 120px 0 160px; overflow: visible;}
.main7_bg{position: absolute; top: 0; left: 0; width: 100%; padding-bottom: 22.8%; background: #2e50eb url('../img/m7-bg.png') center / cover no-repeat;}
.main7 .width{position: relative; z-index: 1;}
.main7_wrap{display: flex; align-items: flex-start; gap: 110px;}
.main7_text{flex-shrink: 0; width: 291px; padding-top: 0;}
.main7_text h2{  font-size: 36px; font-weight: 700; line-height: 130%; letter-spacing: -0.9px; color: #fff; margin: 0 0 20px;}
.main7_text p{  font-size: 16px; font-weight: 400; line-height: 150%; letter-spacing: -0.4px; color: rgba(255,255,255,0.7); margin: 0;}
.main7_cards{display: flex; gap: 20px; align-items: flex-start;}
.main7_card{display: flex; flex-direction: column; align-items: center; gap: 24px; width: 280px;}
.main7_img{border-radius: 20px; overflow: hidden;  aspect-ratio: 260/364; width: 100%;}
.main7_img img{width: 100%;}
.main7_card span{  font-size: 20px; font-weight: 600; line-height: 130%; letter-spacing: -0.5px; color: #111; text-align: center;}

/* main8 */
.main8_head{display: flex; align-items: center; justify-content: space-between; margin-bottom: 60px;}
.main8_head h2{  font-size: 36px; font-weight: 700; line-height: 130%; letter-spacing: -0.9px; color: #111; margin: 0;}
.main8_head h2 span{color: #2e50eb; font-weight: bold;}
.main8_more{display: flex; align-items: center; gap: 8px; text-decoration: none;   font-size: 16px; font-weight: 600; line-height: 140%; letter-spacing: -0.4px; color: #111;}
.main8_more span{display: flex; align-items: center; justify-content: center; width: 36px; background: rgba(0,0,0,0.1); border-radius: 100px; font-family: 'SUIT Variable', sans-serif; font-weight: 200; font-size: 18px; aspect-ratio: 1;}

/* main9 */
.main9{padding: 60px 0 120px;}
.main9_banner{position: relative; padding: 50px 0; border-radius: 28px; background: linear-gradient(62deg, #118CFF 9%, #2E50EB 91%); overflow: visible;}
.main9_text{padding-left: 80px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px;}
.main9_badge{display: inline-flex; align-items: center; justify-content: center; background: #fff; color: #2e50eb;   font-size: 18px; font-weight: 600; line-height: 150%; letter-spacing: -0.45px; padding: 4px 16px; border-radius: 100px;}
.main9_banner h2{  font-size: 34px; font-weight: 700; line-height: 130%; letter-spacing: -0.85px; color: #fff; margin: 0;}
.main9_link{display: flex; align-items: center; gap: 8px; text-decoration: none;   font-size: 16px; font-weight: 600; line-height: 140%; letter-spacing: -0.4px; color: #fff; margin-top: 16px;}
.main9_link span{display: flex; align-items: center; justify-content: center; width: 36px; background: rgba(255,255,255,0.24); border-radius: 100px; font-family: 'SUIT Variable', sans-serif; font-weight: 200; font-size: 18px; aspect-ratio: 1;}
.main9_img{position: absolute; right: 80px; bottom: 0; width: 25%; pointer-events: none;}
.main9_img img{width: 100%;}

/* footer */
#ft{background: transparent; border-top: 0; color: #111; text-align: left; padding: 0; margin: 0;}
#ft *{box-sizing: border-box;}
.ft_top{background: #f7f7f7; padding: 20px 0; text-align: left;}
.ft_top a{font-size: 14px; font-weight: 600; line-height: 150%; letter-spacing: -0.35px; color: #111; text-decoration: none;}
.ft_bottom{background: #fff; border-top: 1px solid #e5e5ec; padding: 28px 0 128px; text-align: left;}
.ft_inner{display: flex; align-items: flex-start; justify-content: space-between;}
.ft_left{display: flex; flex-direction: column; gap: 28px; align-items: flex-start; text-align: left;}
.ft_logo{display: inline-block; opacity: 0.99;}
.ft_logo img{width: 110px;}
.ft_info{display: flex; flex-direction: column; align-items: flex-start;}
.ft_info p{font-size: 14px; font-weight: 500; line-height: 150%; letter-spacing: -0.35px; color: #999; margin: 0; text-align: left;}
.ft_copy{font-size: 13px; font-weight: 500; line-height: 150%; letter-spacing: -0.325px; color: #111; margin: 0; text-align: left;}
.ft_right{background: #f7f7f7; border-radius: 20px; padding: 24px; flex-shrink: 0;}
.ft_cs_label{font-size: 14px; font-weight: 600; line-height: 150%; letter-spacing: -0.35px; color: #767676; margin: 0 0 2px;}
.ft_cs_num{font-size: 28px; font-weight: 700; line-height: 140%; letter-spacing: -0.7px; color: #2e50eb; margin: 0 0 12px;}
.ft_cs_time{font-size: 14px; font-weight: 500; line-height: 150%; letter-spacing: -0.35px; color: #999; margin: 0;}

/* land_wrap 내부 푸터 반응형 */
.land_wrap #ft{margin: 0 auto;}
.land_wrap .ft_top{padding: 20px 4%;}
.land_wrap .ft_bottom{padding: 28px 4% 60px;}
.land_wrap .ft_inner{flex-direction: column; gap: 24px;}
.land_wrap .ft_right{width: 100%;}

/* a1 - 옵션 선택 */
.a1{padding: 150px 0 120px;}
.a1_title{font-size: 36px; font-weight: 700; line-height: 130%; letter-spacing: -0.9px; color: #111; margin: 0 0 60px;}
.a1_title .point{color: #2e50eb; font-weight: bold ;}

/* a1 행 레이아웃 */
.a1_row{display: flex; align-items: flex-start; gap: 0 3%; margin-bottom: 60px;}
.a1_label{width: 23%; font-size: 24px; font-weight: 600; line-height: 140%; letter-spacing: -0.6px; color: #111; flex-shrink: 0; padding-top: 24px;}
.a1_content{flex: 1; display: flex; flex-direction: column; gap: 12px 0;}
.a1_row > .box_wrap{flex: 1;}

/* a1 카드 */
.a1 .box_wrap{display: flex; gap: 0 1%;}
.a1 .box{flex: 1; padding: 24px; border: 1px solid #e5e5ec; border-radius: 8px; cursor: pointer; transition: 0.2s; display: flex; flex-direction: column; gap: 8px 0;}
.a1 .box:hover{border-color: #c0c0c0;}
.a1 .box.on{border-color: #2e50eb; background: rgba(46,80,235,0.06);}
.a1 .box p{font-size: 16px; font-weight: 500; line-height: 140%; letter-spacing: -0.4px; color: #767676; margin: 0;}
.a1 .box em{font-size: 20px; font-weight: 600; line-height: 140%; letter-spacing: -0.5px; color: #2e50eb; font-style: normal; margin-top: 16px;}

/* a1 인터넷 카드 속도 */
.a1_content .box strong{font-size: 32px; font-weight: 600; line-height: 140%; color: #111; display: flex; align-items: flex-end; gap: 4px;}
.a1_content .box strong span{font-size: 20px; font-weight: 600; line-height: 140%; padding-bottom: 4px;}

/* a1 TV/결합 카드 */
.a1_row > .box_wrap .box strong{font-size: 28px; font-weight: 600; line-height: 140%; letter-spacing: -0.7px; color: #111;}

/* a1 체크박스 */
.a1_check_wrap{display: flex; gap: 0 4%;}
.a1_check{display: flex; align-items: center; cursor: pointer;}
.a1_check input{display: none;}
.a1_check span{display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 500; line-height: 140%; letter-spacing: -0.4px; color: #505050;}
.a1_check span::before{content: ''; width: 20px; aspect-ratio: 1; border-radius: 50%; border: 1.5px solid #ccc; flex-shrink: 0; box-sizing: border-box; transition: 0.2s; display: flex; align-items: center; justify-content: center; font-size: 13px; line-height: 100%; color: transparent;}
.a1_check input:checked + span::before{content: '\2713'; background: #2e50eb; border-color: #2e50eb; color: #fff;}

/* a1 TV 행 토글 */
.a1 .a1_tv_row{display: none;}
.a1 .a1_tv_row.on{display: flex; animation: a1FadeIn 0.3s ease;}
@keyframes a1FadeIn{from{opacity: 0; transform: translateY(10px);} to{opacity: 1; transform: translateY(0);}}

/* a1 요금 요약 */
.a1_summary{display: flex; align-items: center; gap: 0 3%; border: 1px solid #e5e5ec; border-radius: 20px; padding: 28px 24px; margin-left: 26%; width: 74%; box-sizing: border-box;}
.a1_summary_left{flex: 1; display: flex; flex-direction: column; gap: 10px 0;}
.a1_price_line{display: flex; justify-content: space-between; align-items: center; font-size: 20px; font-weight: 500; line-height: 140%; letter-spacing: -0.5px; color: #999;}
.a1_price_line.point{color: #2e50eb;}
.a1_tv_price{display: none;}
.a1_tv_price.on{display: flex;}
.a1_price_total{display: flex; justify-content: space-between; align-items: center;}
.a1_total_label{display: flex; align-items: center; gap: 8px;}
.a1_total_text{font-size: 20px; font-weight: 600; line-height: 140%; letter-spacing: -0.5px; color: #111;}
.a1_total_note{font-size: 16px; font-weight: 500; line-height: 150%; letter-spacing: -0.4px; color: #999;}
.a1_total_price{font-size: 24px; font-weight: 600; line-height: 140%; letter-spacing: -0.6px; color: #111;}

/* a1 버튼 */
.a1_summary_right{width: 30%; display: flex; flex-direction: column; gap: 8px 0;}
.a1_btn_primary, .a1_btn_outline{display: flex; align-items: center; justify-content: center; padding: 16px 24px; border-radius: 10px; font-size: 18px; font-weight: 600; line-height: 140%; letter-spacing: -0.45px; text-decoration: none; transition: 0.2s;}
.a1_btn_primary{background: #2e50eb; color: #fff;}
.a1_btn_primary:hover{background: #2340d0;}
.a1_btn_outline{background: #fff; border: 1px solid #2e50eb; color: #2e50eb;}
.a1_btn_outline:hover{background: rgba(46,80,235,0.06);}

/* a2 요금표 공통 */
.a2{background: #F2F5FC;}
.a2_title{font-size: 32px; font-weight: 700; line-height: 130%; letter-spacing: -0.8px; color: #111; margin: 0 0 20px;}
.a2_table_wrap{border-radius: 8px; overflow: hidden; border: 1px solid #e5e5ec;}
.a2_table{width: 100%; border-collapse: collapse;}
.a2_table th{background: #2e50eb; color: #fff; font-size: 18px; font-weight: 600; line-height: 140%; letter-spacing: -0.45px; padding: 15px 12px; text-align: center; border: 1px solid rgba(255,255,255,0.28);}
.a2_table td{font-size: 18px; font-weight: 500; line-height: 140%; letter-spacing: -0.45px; color: #505050; padding: 15px 12px; text-align: center; border-bottom: 1px solid #e5e5ec; border-right: 1px solid #e5e5ec; background: #fff;}
.a2_table td:last-child{border-right: none;}
.a2_table tbody.gray td{background: #f7f7f7;}
.a2_table tr.red td{color: #f40000;}
.a2_table tr.gray td{background: #f7f7f7;}
.a2_table tr.gray td[rowspan]{background: #fff;}
.a2_table tr.a2_tall td{padding: 28px 12px;}
.a2_group{margin-top: 60px;}
.a2_group:first-child{margin-top: 0;}
.a2_badge{display: inline-block; background: #2e50eb; color: #fff; font-size: 15px; font-weight: 600; line-height: 150%; letter-spacing: -0.375px; padding: 2px 12px; border-radius: 4px; margin-top: 4px;}
.a2_cta{display: flex; gap: 0 3%; margin-top: 60px;}
.a2_cta_left, .a2_cta_right{width: 48.5%; border-radius: 20px; display: flex; align-items: center; justify-content: center; padding: 30px 20px;}
.a2_cta_left{background: #fff; border: 2px solid #2e50eb;}
.a2_cta_left p{font-size: 24px; font-weight: 600; line-height: 130%; letter-spacing: -0.6px; color: #111; margin: 0; text-align: center;}
.a2_cta_left p strong{color: #2e50eb; font-weight: 700;}
.a2_cta_right{background: #2e50eb; gap: 0 2%;}
.a2_cta_right svg{flex-shrink: 0;}
.a2_cta_right p{font-size: 20px; font-weight: 700; line-height: 130%; color: #fff; margin: 0; white-space: nowrap;}
.a2_cta_right strong{font-size: 32px; font-weight: 700; line-height: 130%; color: #fff; white-space: nowrap;}

/* a3 비밀지원금 폼 */
.a3{padding: 120px 0;}
.a3_wrap{display: flex; justify-content: space-between; align-items: flex-start;}
.a3_left{width: 48%;}
.a3_left h2{font-size: 36px; font-weight: 700; line-height: 130%; letter-spacing: -0.9px; color: #111;}
.a3_left h2 .point{color: #2e50eb; font-weight: bold;}
.a3_right{width: 48%;}

/* a3 내 formmail 오버라이드 */
.a3 #formmail-write{border: none; border-radius: 0; padding: 0; box-shadow: none; gap: 40px;}
.a3 #formmail-write h2{display: none;}
.a3 #formmail-write .form-body{gap: 20px;}
.a3 #formmail-write .form-group{border-bottom: none; padding: 0; margin: 0;}
.a3 #formmail-write .form-group input[type=text],
.a3 #formmail-write .form-group input[type=tel]{background: #f7f7f7; border-radius: 8px; padding: 22px 16px; font-size: 18px;}
.a3 #formmail-write .form-group input::placeholder{color: #999;}
.a3 #formmail-write .form-footer{align-items: flex-start;}
.a3 #formmail-write .applybtn{border-radius: 10px; background: #2e50eb; padding: 18px 24px;}

/* a4 유의사항 */
.a4{padding: 0 0 120px;}
.a4_notice{background: #f7f7f7; border-radius: 28px; padding: 48px; display: flex; flex-direction: column; gap: 36px;}
.a4_title{font-size: 24px; font-weight: 600; line-height: 130%; letter-spacing: -0.6px; color: #111; margin: 0 0 12px;}
.a4_list{list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px;}
.a4_list li{display: flex; align-items: flex-start; gap: 6px; font-size: 16px; font-weight: 500; line-height: 150%; letter-spacing: -0.4px; color: #505050;}
.a4_list li::before{content: ''; display: block; width: 5px; min-width: 5px; background: #505050; border-radius: 100px; flex-shrink: 0; margin-top: 10px; aspect-ratio: 1;}

/* SK 포인트 컬러 */
.sk .a1_title .point{color: #ef7e05;}
.sk.a1 .box.on{border-color: #ef7e05; background: rgba(239,126,5,0.06);}
.sk.a1 .box em{color: #ef7e05;}
.sk .a1_check input:checked + span::before{background: #ef7e05; border-color: #ef7e05;}
.sk .a1_price_line.point{color: #ef7e05;}
.sk .a1_btn_primary{background: #ef7e05;}
.sk .a1_btn_primary:hover{background: #d96e00;}
.sk .a1_btn_outline{border-color: #ef7e05; color: #ef7e05;}
.sk .a1_btn_outline:hover{background: rgba(239,126,5,0.06);}
.sk .a2_table th{background: #ef7e05;}
.sk .a2_badge{background: #ef7e05;}
.sk .a2_cta_left{border-color: #ef7e05;}
.sk .a2_cta_left p strong{color: #ef7e05;}
.sk .a2_cta_right{background: #ef7e05;}
.sk .a3_left h2 .point{color: #ef7e05;}
.sk #formmail-write .applybtn{background: #ef7e05;}

/* LG 포인트 컬러 */
.lg .a1_title .point{color: #EB018B;}
.lg.a1 .box.on{border-color: #EB018B; background: rgba(235,1,139,0.06);}
.lg.a1 .box em{color: #EB018B;}
.lg .a1_check input:checked + span::before{background: #EB018B; border-color: #EB018B;}
.lg .a1_price_line.point{color: #EB018B;}
.lg .a1_btn_primary{background: #EB018B;}
.lg .a1_btn_primary:hover{background: #d0017b;}
.lg .a1_btn_outline{border-color: #EB018B; color: #EB018B;}
.lg .a1_btn_outline:hover{background: rgba(235,1,139,0.06);}
.lg .a2_table th{background: #EB018B;}
.lg .a2_badge{background: #EB018B;}
.lg .a2_cta_left{border-color: #EB018B;}
.lg .a2_cta_left p strong{color: #EB018B;}
.lg .a2_cta_right{background: #EB018B;}
.lg .a3_left h2 .point{color: #EB018B;}
.lg #formmail-write .applybtn{background: #EB018B;}

/* Hello 포인트 컬러 */
.hello .a1_title .point{color: #FF68C8;}
.hello.a1 .box.on{border-color: #FF68C8; background: rgba(255,104,200,0.06);}
.hello.a1 .box em{color: #FF68C8;}
.hello .a1_check input:checked + span::before{background: #FF68C8; border-color: #FF68C8;}
.hello .a1_price_line.point{color: #FF68C8;}
.hello .a1_btn_primary{background: #FF68C8;}
.hello .a1_btn_primary:hover{background: #e855b0;}
.hello .a1_btn_outline{border-color: #FF68C8; color: #FF68C8;}
.hello .a1_btn_outline:hover{background: rgba(255,104,200,0.06);}
.hello .a2_table th{background: #FF68C8;}
.hello .a2_badge{background: #FF68C8;}
.hello .a2_cta_left{border-color: #FF68C8;}
.hello .a2_cta_left p strong{color: #FF68C8;}
.hello .a2_cta_right{background: #FF68C8;}
.hello .a3_left h2 .point{color: #FF68C8;}
.hello #formmail-write .applybtn{background: #FF68C8;}

/* Sky 포인트 컬러 */
.sky{--isp-color: #0CD45F; --isp-bg: rgba(12,212,95,0.06);}
.sky .a1_title .point{color: var(--isp-color);}
.sky.a1 .box.on{border: 2px solid var(--isp-color); background: var(--isp-bg);}
.sky.a1 .box em{color: var(--isp-color);}
.sky .a1_check input:checked + span::before{background: var(--isp-color); border-color: var(--isp-color);}
.sky .a1_price_line.point{color: var(--isp-color);}
.sky .a1_btn_primary{background: var(--isp-color);}
.sky .a1_btn_primary:hover{background: #0ab84f;}
.sky .a1_btn_outline{border-color: var(--isp-color); color: var(--isp-color);}
.sky .a1_btn_outline:hover{background: var(--isp-bg);}
.sky .a2_table th{background: var(--isp-color);}
.sky .a2_badge{background: var(--isp-color);}
.sky .a2_cta_left{border-color: var(--isp-color);}
.sky .a2_cta_left p strong{color: var(--isp-color);}
.sky .a2_cta_right{background: var(--isp-color);}
.sky .a3_left h2 .point{color: var(--isp-color);}
.sky #formmail-write .applybtn{background: var(--isp-color);}

/* popup */
.pop_wrap{display: none; position: fixed; top: 0; left: 0; background: rgba(0,0,0,0.4); width: 100%; height: 100%; z-index: 9999;}
.pop_wrap .pop-inner{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 560px; max-height: 70vh; padding: 40px; background: #fff; border-radius: 24px; overflow-y: auto;}
.pop_wrap .pop-inner h3{  font-size: 22px; font-weight: 700; line-height: 130%; letter-spacing: -0.55px; color: #111; margin: 0 0 24px; padding-bottom: 16px; border-bottom: none; text-align: left;}
.pop_wrap .pop-text p{  font-size: 14px; font-weight: 400; line-height: 180%; letter-spacing: -0.35px; color: #555; margin: 0;}
.pop_wrap .pop-text p span{font-weight: 600; color: #111; font-size: 15px;}
.pop-close{position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 100px; background: #f7f7f7; transition: background 0.2s;}
.pop-close:hover{background: #eee;}
.pop-close i{font-size: 20px; color: #555;}

/* 셀프신청서 상품구성 체크박스 (칩 스타일) */
.p1_product_checks{display: flex; flex-wrap: wrap; gap: 10px;}
.p1_product_check{display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: #555; cursor: pointer; background: #f5f6f8; border: 1px solid #e0e3ea; border-radius: 100px; padding: 10px 20px; transition: all 0.2s;}
.p1_product_check:hover{background: #eef1ff; border-color: #c0caee;}
.p1_product_check:has(input:checked){background: #2e50eb; color: #fff; border-color: #2e50eb;}
.p1_product_check input[type="checkbox"]{display: none;}

/* 상담신청 팝업 폼 */
.contact_form{padding: 10px 0 0;}
.contact_form h2{font-size: 26px; font-weight: 800; text-align: center; color: #111; margin: 0 0 32px; letter-spacing: -0.5px;}
.contact_form .in_box{margin-bottom: 20px;}
.contact_form .in_box h3{font-size: 15px; font-weight: 700; color: #111; margin: 0;}
.contact_form .in_box input[type="text"]{width: 100%; height: 52px; padding: 0 20px; border: 1px solid #e0e0e0; border-radius: 12px; background: #fafafa; font-size: 15px; color: #333; outline: none; transition: border 0.2s; box-sizing: border-box;}
.contact_form .in_box input[type="text"]:focus{border-color: #2e50eb; background: #fff;}
.contact_form .in_box input[type="text"]::placeholder{color: #aaa; font-size: 14px;}
.contact_form .check{display: flex; align-items: center; gap: 6px; margin: 16px 0 24px; font-size: 13px; color: #666;}
.contact_form .check input[type="checkbox"]{width: 16px; height: 16px; accent-color: #2e50eb; cursor: pointer;}
.contact_form .check label{cursor: pointer; font-size: 13px; color: #555;}
.contact_form .check .pop_btn{display: none;}
.contact_form .con_btn{display: block; width: 100%; height: 56px; border: none; border-radius: 14px; background: #1a1a1a; color: #fff; font-size: 17px; font-weight: 700; cursor: pointer; transition: opacity 0.2s; letter-spacing: -0.3px;}
.contact_form .con_btn:hover{opacity: 0.9;}

.p1{padding: 150px 0 120px; background: #f2f4f8;}
.p1 .width3{max-width: 800px; margin: 0 auto; padding: 0;}
.p1 .board_title{margin: 0 0 40px; text-align: center;}
.p1 .board_title h2{font-size: var(--fs32); font-weight: 700; line-height: 140%; color: #111;}

/* 카드 영역 */
.p1_card{background: #fff; border-radius: 20px; padding: 40px 48px; margin: 0 0 24px; box-shadow: 0 2px 16px rgba(0,0,0,0.06); border: 1px solid #eef0f4;}
.p1_card_title{font-size: var(--fs22); font-weight: 700; line-height: 140%; color: #111; margin: 0 0 8px; padding: 0 0 16px; border-bottom: 2px solid #2e50eb;}

/* 개인정보 안내 */
.p1_info{background: #fdf6ec; border: none; border-radius: 12px; padding: 20px 24px; margin: 0 0 28px;}
.p1_info p{font-size: 15px; font-weight: 400; line-height: 180%; color: #7a6a4f;}
.p1_info p strong{color: #111; font-weight: 600;}

/* 알림 박스 */
.p1_alert{background: #fff8e6; border-radius: 8px; padding: 14px 20px; margin: 0 0 28px; display: flex; align-items: center; gap: 8px;}
.p1_alert span{font-size: 15px; font-weight: 400; line-height: 150%; color: #8a7340;}

/* 동의 체크박스 */
.p1_agree{display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; background: #f7f8fa; border-radius: 10px; margin: 0 0 28px; border: none;}
.p1_agree label{display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 500; line-height: 140%; color: #333; cursor: pointer;}
.p1_agree label input[type="checkbox"]{width: 20px; aspect-ratio: 1; accent-color: #2e50eb; cursor: pointer;}
.p1_required{font-size: 15px; font-weight: 500; line-height: 140%; color: #e74c3c;}

/* 신청 폼 */
.p1_form{display: flex; flex-direction: column;}
.p1_form dl{display: flex; align-items: center; padding: 16px 0; border-bottom: 1px solid #eef0f4; margin: 0; gap: 0 3%;}
.p1_form dl:last-child{border-bottom: none;}
.p1_form dt{width: 125px; flex-shrink: 0; font-size: 15px; font-weight: 600; line-height: 140%; color: #555; padding: 0; white-space: nowrap;}
.p1_form dt span{color: #e74c3c; font-weight: 600; margin-left: 2px;}
.p1_form dd{width: 85%; display: flex; flex-direction: column; gap: 10px 0;}

/* 입력 필드 공통 */
.p1_form input[type="text"],
.p1_form input[type="tel"],
.p1_form input[type="email"]{font-size: 16px; font-weight: 400; line-height: 140%; color: #111; background: #fff; border: 1px solid #dde1e8; border-radius: 10px; padding: 14px 20px; outline: none; transition: border-color 0.2s;}
.p1_form input:focus{border-color: #2e50eb; box-shadow: 0 0 0 3px rgba(46,80,235,0.1);}
.p1_form input::placeholder{color: #aab0bc;}
.p1_form select{font-size: 16px; font-weight: 400; line-height: 140%; color: #111; background: #fff; border: 1px solid #dde1e8; border-radius: 10px; padding: 14px 20px; outline: none; cursor: pointer; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 20px center;}
.p1_form textarea{font-size: 16px; font-weight: 400; line-height: 160%; color: #111; background: #fff; border: 1px solid #dde1e8; border-radius: 16px; padding: 14px 20px; outline: none; width: 100%; resize: vertical; transition: border-color 0.2s;}
.p1_form textarea:focus{border-color: #2e50eb; box-shadow: 0 0 0 3px rgba(46,80,235,0.1);}
.p1_form textarea::placeholder{color: #aab0bc;}

/* 안내 텍스트 */
.p1_notice{font-size: 15px; font-weight: 400; line-height: 140%; color: #2e50eb; padding: 14px 0;}

/* 핸드폰 */
.p1_phone{flex-direction: row !important; align-items: center; gap: 8px !important;}
.p1_phone span{font-size: 15px; color: #aab0bc;}

/* 주소 */
.p1_address_top{display: flex; align-items: center; gap: 0 8px;}
.p1_zipbtn{font-size: 15px; font-weight: 600; line-height: 140%; color: #2e50eb; background: #f0f3ff; border: 1px solid #d0d9f5; border-radius: 10px; padding: 14px 24px; cursor: pointer; white-space: nowrap; transition: 0.2s;}
.p1_zipbtn:hover{background: #e4eaff;}
.p1_address input{width: 100%;}

/* 은행 */
.p1_bank_top{display: flex; align-items: center; gap: 0 2%;}
.p1_bank input:last-child{width: 100%;}

/* 캡차 */
.p1_captcha_top{display: flex; align-items: center; gap: 0 12px;}
.p1_captcha_top img{border-radius: 10px; border: 1px solid #dde1e8; height: 50px;}
.p1_captcha_txt{font-size: 13px; font-weight: 400; line-height: 140%; color: #999; margin-top: 6px;}

/* 버튼 */
.p1_btn{display: flex; align-items: center; justify-content: center; gap: 0 12px; padding: 40px 0 0;}
.p1_btn button{font-size: var(--fs18); font-weight: 600; line-height: 140%; border: none; border-radius: 14px; padding: 18px 0; cursor: pointer; width: 200px; text-align: center; transition: 0.2s;}
.p1_cancel{background: #f0f1f4; color: #888; border: 1px solid #e0e3ea;}
.p1_cancel:hover{background: #e5e7ec;}
.p1_submit{background: #1a1a1a; color: #fff;}
.p1_submit:hover{background: #333;}




@media all and (max-width: 1400px){
    .visual .swiper-slide{max-width: 900px;}
}
@media all and (max-width: 1200px){
    .main1_text h2{font-size: 30px;}
}
@media all and (max-width: 1024px){
    .visual{padding: 107px 0 40px;}
    .visual .swiper-slide{max-width: 90%;}
    .visual_prev, .visual_next{width: 40px;}
    .common{padding: 60px 0;}
    .main1_wrap{flex-direction: column; gap: 40px 0;}
    .main1_text h2{text-align: center;}
    .main1 .box_wrap{width: 100%;  justify-content: center;}
    .main1 .box{width: calc(100% / 3);}
    .main2_wrap{flex-direction: column; gap: 40px 0;}
    .main2_left{width: 100%; padding-top: 0;}
    .main2_right{width: 100%;}
    .main2_tab{font-size: 16px; padding: 10px 20px;}
    .main2_more{font-size: 14px;}
    .main3_head{margin-bottom: 40px;}
    .main3 .box_wrap{gap: 24px;}
    .main3 .box{width: 100%; padding: 40px 30px;}
    .main3 .box .text h3{font-size: 22px;}
    .main3 .box .text p{font-size: 16px;}
    .main3_point{width: 300px; height: 250px;}
    .main4{padding: 60px 0;}
    .main4_head{margin-bottom: 40px;}
    .main4 .box{width: 18%; padding: 30px 0;}
    .main4 .box strong{font-size: 20px;}
    .main4 .box p{font-size: 15px;}
    .main4 .box:not(:last-child)::after{font-size: 22px;}
    .a1{padding: 140px 0 80px;}
    .a1_title{font-size: 30px; margin-bottom: 40px;}
    .a1_row{flex-direction: column; gap: 12px 0; margin-bottom: 40px;}
    .a1_label{width: 100%; padding-top: 0;}
    .a1_content{width: 100%;}
    .a1_row > .box_wrap{width: 100%;}
    .a1_content .box strong{font-size: 28px;}
    .a1_content .box strong span{font-size: 18px;}
    .a1_row > .box_wrap .box strong{font-size: 24px;}
    .a1 .box em{font-size: 18px;}
    .a1_summary{margin-left: 0; width: 100%;}
    .a1_price_line{font-size: 18px;}
    .a1_total_text{font-size: 18px;}
    .a1_total_price{font-size: 22px;}
    .a2{padding: 60px 0 80px;}
    .a2_title{font-size: 28px;}
    .a2_table th{font-size: 16px; padding: 12px 8px;}
    .a2_table td{font-size: 16px; padding: 12px 8px;}
    .a2_badge{font-size: 13px; padding: 2px 8px;}
    .a2_cta{margin-top: 40px;}
    .a2_cta_left p{font-size: 20px;}
    .a2_cta_right p{font-size: 18px;}
    .a2_cta_right strong{font-size: 28px;}
    .a3{padding: 80px 0;}
    .a3_left h2{font-size: 30px;}
    .a3 #formmail-write .form-group input[type=text],
    .a3 #formmail-write .form-group input[type=tel]{font-size: 16px; padding: 18px 14px;}
    .a4{padding: 0 0 80px;}
    .a4_notice{padding: 36px; border-radius: 20px; gap: 28px;}
    .a4_title{font-size: 22px;}
    .a4_list li{font-size: 15px;}
    .main5_head{margin-bottom: 40px;}
    .main5 .box{border-radius: 20px;}
    .main5 .box .text strong{font-size: 18px;}
    .main5 .box .text del{font-size: 13px;}
    .main5 .box .text p{font-size: 26px;}
    .main5_obj1{width: 200px; left: calc(50% - 600px); top: 120px;}
    .main5_obj2{width: 250px; right: calc(50% - 650px); bottom: -40px;}
    .main6_head{margin-bottom: 40px;}
    .main6_badge{font-size: 16px;}
    .main6_head h2{font-size: 30px;}
    .main7{padding: 80px 0 120px;}
    .main7_bg{padding-bottom: 28%;}
    .main7_wrap{gap: 60px;}
    .main7_text{width: 240px;}
    .main7_text h2{font-size: 30px;}
    .main7_text p{font-size: 15px;}
    .main7_card{width: 220px;}
    .main7_card span{font-size: 17px;}
    .main8_head{margin-bottom: 40px;}
    .main8_head h2{font-size: 30px;}
    .main9{padding: 40px 0 100px;}
    .main9_banner{padding: 40px 0;}
    .main9_text{padding-left: 50px;}
    .main9_badge{font-size: 16px;}
    .main9_banner h2{font-size: 28px;}
    .main9_img{right: 40px; width: 25%;}
    .ft_bottom{padding: 24px 0 100px;}
    .ft_info p{font-size: 13px;}
    .ft_cs_num{font-size: 24px;}

    .p1{margin-top: 30px;}
    .landing03 { padding: 130px 0 80px;}
}
@media all and (max-width: 900px){}
@media all and (max-width: 850px){}
@media all and (max-width: 768px){
    .gif{padding: 120px 0 20px 0;}
    /* p1 반응형 */
    .p1_card{padding: 24px 20px; border-radius: 14px; margin: 0 0 16px; box-shadow: 0 1px 8px rgba(0,0,0,0.05);}
    .p1_card_title{font-size: 18px; margin: 0 0 14px; padding: 0 0 12px;}
    .p1_info{padding: 14px 16px; border-radius: 10px; margin: 0 0 20px;}
    .p1_info p{font-size: 13px; line-height: 170%;}
    .p1_alert{padding: 12px 16px; margin: 0 0 20px;}
    .p1_alert span{font-size: 13px;}
    .p1_agree{padding: 14px 16px; border-radius: 8px; margin: 0 0 20px;}
    .p1_agree label{font-size: 14px; gap: 8px;}
    .p1_form dl{flex-direction: column; align-items: flex-start; gap: 6px 0; padding: 12px 0;}
    .p1_form dt{width: 100%; padding: 0; font-size: 14px;}
    .p1_form dd{width: 100%;}
    .p1_form input[type="text"],
    .p1_form input[type="tel"],
    .p1_form input[type="email"]{font-size: 14px; padding: 12px 14px; border-radius: 8px;}
    .p1_form select{font-size: 14px; padding: 12px 14px; border-radius: 8px;}
    .p1_form textarea{font-size: 14px; padding: 12px 14px; border-radius: 10px;}
    .p1_phone{flex-wrap: wrap;}
    .p1_phone input{flex: 1; min-width: 0;}
    .p1_address_top{flex-wrap: wrap; gap: 8px;}
    .p1_zipbtn{font-size: 13px; padding: 12px 16px; border-radius: 8px;}
    .p1_btn{padding: 28px 0 0; gap: 0 10px;}
    .p1_btn button{width: 48%; font-size: 15px; padding: 14px 0; border-radius: 10px;}

    .visual{padding: 0;}
    .visualSwiper{overflow: hidden;}
    .visual .swiper-slide{max-width: 100%; border-radius: 0; opacity: 1; height: 300px;}
    .visual .swiper-slide img{width: 100%; height: 100%; object-fit: cover;}
    .visual_nav{display: none;}
    .visual_bottom{bottom: 16px; gap: 12px;}
    .visual_pagination{gap: 12px;}
    .main1_text h2{font-size: 26px;}
    .main1_text h2 br{display: none;}
    .main1 .box .img{border-radius: 10px; width: 80%;}
    .main1 .box p{font-size: 12px;}
    .main2_thead .box{font-size: 14px; padding: 14px 0;}
    .main2_table .main2Swiper,
    .main2_table .main2Swiper2{height: 300px;}
    .main2_table .swiper-slide .box_wrap .box{font-size: 13px; padding: 10px 0;}
    .main2_tab{font-size: 14px; padding: 8px 16px;}
    .main2_more span{width: 30px; font-size: 14px; font-family: 'SUIT Variable', sans-serif;}
    .main3_badge{font-size: 15px;}
    .main3_head h2{font-size: 28px;}
    .main3 .box{padding: 30px 24px; border-radius: 20px;}
    .main3 .box .img{width: 70px; min-width: 70px;}
    .main3 .box .text h3{font-size: 20px;}
    .main3 .box .text p{font-size: 15px;}
    .main3 .box .text p br{display: none;}
    .main3_point{width: 220px; height: 180px;}
    .main4_badge{font-size: 15px;}
    .main4_head h2{font-size: 28px;}
    .main4 .box_wrap{flex-wrap: wrap; gap: 12px 3%; justify-content: center;}
    .main4 .box{width: 30%; padding: 24px 0;}
    .main4 .box:not(:last-child)::after{display: none;}
    .main4 .box .img{width: 30%;}
    .main4 .box strong{font-size: 18px;}
    .main4 .box p{font-size: 14px;}
    .a1{padding: 140px 0 60px;}
    .a1_title{font-size: 26px; margin-bottom: 32px;}
    .a1_label{font-size: 20px;}
    .a1_content .box strong{font-size: 24px;}
    .a1_content .box strong span{font-size: 16px; padding-bottom: 2px;}
    .a1_row > .box_wrap .box strong{font-size: 20px;}
    .a1 .box{padding: 20px;}
    .a1 .box p{font-size: 14px;}
    .a1 .box em{font-size: 16px; margin-top: 12px;}
    .a1_check span{font-size: 14px;}
    .a1_summary{flex-direction: column; gap: 20px 0; padding: 24px 20px; border-radius: 16px;}
    .a1_summary_left{width: 100%;}
    .a1_summary_right{width: 100%;}
    .a1_price_line{font-size: 16px;}
    .a1_total_text{font-size: 16px;}
    .a1_total_note{font-size: 14px;}
    .a1_total_price{font-size: 20px;}
    .a1_btn_primary, .a1_btn_outline{font-size: 16px; padding: 14px 20px;}
    .a2{padding: 60px 0 60px;}
    .a2_title{font-size: 24px; margin-bottom: 16px;}
    .a2_table_wrap{overflow-x: auto; -webkit-overflow-scrolling: touch;}
    .a2_table{min-width: 650px;}
    .a2_table th{font-size: 15px; padding: 12px 8px;}
    .a2_table td{font-size: 15px; padding: 12px 8px;}
    .a2_badge{font-size: 12px;}
    .a2_cta{flex-direction: column; gap: 12px 0; margin-top: 30px;}
    .a2_cta_left, .a2_cta_right{width: 100%; padding: 24px 16px;}
    .a2_cta_left p{font-size: 18px;}
    .a2_cta_right p{font-size: 16px;}
    .a2_cta_right strong{font-size: 24px;}
    .a3{padding: 60px 0;}
    .a3_wrap{flex-direction: column; gap: 40px 0;}
    .a3_left{width: 100%;}
    .a3_left h2{font-size: 26px;}
    .a3_right{width: 100%;}
    .a3 #formmail-write .form-group input[type=text],
    .a3 #formmail-write .form-group input[type=tel]{font-size: 15px; padding: 16px 14px;}
    .a3 #formmail-write .applybtn{font-size: 16px; padding: 16px;}
    .a4{padding: 0 0 60px;}
    .a4_notice{padding: 24px; border-radius: 16px; gap: 24px;}
    .a4_title{font-size: 20px;}
    .a4_list li{font-size: 14px;}
    .main5_badge{font-size: 15px;}
    .main5_head h2{font-size: 28px;}
    .main5_tab{font-size: 16px; padding: 10px 22px;}
    .main5 .box_wrap{flex-wrap: wrap; gap: 12px 2%;}
    .main5 .box{width: 49%;}
    .main5 .box .img{padding: 0;}
    .main5 .box .text{padding: 16px 0;}
    .main5 .box .text strong{font-size: 16px;}
    .main5 .box .text del{font-size: 12px;}
    .main5 .box .text p{font-size: 22px;}
    .main5_free{font-size: 12px; padding: 3px 10px; top: 12px; left: 12px;}
    .main5_obj1, .main5_obj2{display: none;}
    .main6_badge{font-size: 15px;}
    .main6_head h2{font-size: 28px;}
    .main7{padding: 60px 0 100px;}
    .main7_bg{padding-bottom: 60%; background-position: right;}
    .main7_wrap{flex-direction: column; gap: 40px; align-items: center;}
    .main7_text{width: 100%; text-align: center;}
    .main7_text h2{font-size: 26px;}
    .main7_text h2 br{display: none;}
    .main7_text p{font-size: 14px;}
    .main7_text p br{display: none;}
    .main7_cards{justify-content: center; gap: 3%;}
    .main7_card{width: 31%;}
    .main7_card span{font-size: 13px;}
    .main8_head{margin-bottom: 32px;}
    .main8_head h2{font-size: 26px;}
    .main8_more{font-size: 14px;}
    .main8_more span{width: 30px; font-size: 14px;}
    .main9{padding: 30px 0 80px;}
    .main9_banner{padding: 30px 0; border-radius: 20px;}
    .main9_text{padding-left: 30px; gap: 8px;}
    .main9_badge{font-size: 14px; padding: 3px 12px;}
    .main9_banner h2{font-size: 22px;}
    .main9_link{font-size: 14px; margin-top: 8px;}
    .main9_link span{width: 30px; font-size: 14px;}
    .main9_img{right: 20px; width: 30%;}
    .ft_inner{flex-direction: column; gap: 32px;}
    .ft_left{gap: 20px;}
    .ft_bottom{padding: 24px 0 100px;}
    .ft_info p{font-size: 12px;}
    .ft_info p span{display: block;}
    .ft_info .ft_bar{display: none;}
    .ft_copy{font-size: 12px;}
    .ft_right{width: 100%;}
    .ft_cs_num{font-size: 24px;}

    .p1 .width3{padding: 50px 0 0;}
    .p1 .board_title{margin-bottom: 30px;;}
    .pop_wrap .pop-inner{padding: 20px;}
    .pop_wrap .pop-inner h3{font-size: 18px; margin: 0 0 16px; padding-bottom: 12px;}
}
@media all and (max-width: 550px){
    .main2_table .main2Swiper,
    .main2_table .main2Swiper2{height: 240px;}
    .main2_table .swiper-slide .box_wrap .box{padding: 8px 0;}
    .main4 .box_wrap{flex-wrap: wrap; gap: 12px 4%;}
    .main4 .box{width: 48%;}
    .a1_row{margin-bottom: 30px;}
    .a1_label{font-size: 16px; padding-top: 16px;}
    .a1 .box_wrap{flex-wrap: wrap; gap: 8px 2%;}
    .a1 .box{flex: none; width: 49%;}
    .a1_content .box strong{font-size: 18px;}
    .a1_content .box strong span{font-size: 13px;}
    .a1_row > .box_wrap .box strong{font-size: 16px;}
    .a1 .box{padding: 12px;}
    .a1 .box p{font-size: 12px;}
    .a1 .box em{font-size: 14px; margin-top: 8px;}
    .a1_check span{font-size: 12px;}
    .a1_summary{padding: 16px 14px;}
    .a1_price_line{font-size: 14px;}
    .a1_total_text{font-size: 14px;}
    .a1_total_note{font-size: 12px;}
    .a1_total_price{font-size: 18px;}
    .a1_btn_primary, .a1_btn_outline{font-size: 14px; padding: 12px 16px;}
}


/* ========================================
   ren1 - 렌탈 히어로 섹션
   ======================================== */
.ren1{position: relative; padding: 80px 0 40px; background-size: cover; background-position: center; border-radius: 0 0 32px 32px; overflow: hidden;}
.ren1 .width2{position: relative; z-index: 1; text-align: left;}
.ren1-title{font-size: 42px; font-weight: 400; line-height: 150%; letter-spacing: -0.9px; color: #222; text-align: left; padding-left: 32%;}
.ren1-title b{font-weight: 800;}
.ren1-list{list-style: none; padding: 0; margin: 28px 0 0; padding-left: 32%; display: inline-flex; flex-direction: column; align-items: flex-start;}
.ren1-list li{position: relative; padding-left: 28px; font-size: 22px; font-weight: 500; line-height: 200%; color: #333;}
.ren1-list li::before{content: '✔'; position: absolute; left: 0; top: 0; color: #2B7DE9; font-size: 16px; font-weight: 700;}
.ren1-form{margin-top: 175px; background: #fff; border-radius: 16px; padding: 28px 24px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); max-width: 520px; margin-left: auto; margin-right: auto;}
.ren1-form-title{font-size: 18px; font-weight: 700; color: #222; margin-bottom: 16px; text-align: center; line-height: 140%;}
.ren1-form-row{display: flex; gap: 2%;}
.ren1-input{flex: 1; padding: 14px 16px; border: 1px solid #ddd; border-radius: 8px; font-size: 16px; color: #222; outline: none; background: #F7F7F7;}
.ren1-input::placeholder{color: #999;}
.ren1-btn{padding: 14px 24px; background: #1B2A6B; color: #fff; border: none; border-radius: 8px; font-size: 16px; font-weight: 700; cursor: pointer; white-space: nowrap; transition: 0.2s;}
.ren1-btn:hover{background: #152258;}

@media all and (max-width: 650px){
.ren1{padding: 60px 0 40px;}
.ren1-title{font-size: 28px;}
.ren1-list li{font-size: 16px; padding-left: 24px;}
.ren1-list li::before{font-size: 14px;}
.ren1-form{padding: 24px 20px;}
.ren1-form-title{font-size: 16px;}
.ren1-form-row{flex-direction: column; gap: 12px;}
.ren1-input{padding: 14px 16px; font-size: 15px;}
.ren1-btn{padding: 14px; font-size: 15px; text-align: center;}
}

/* ========================================
   ren2 - 정수기 찾기 버튼
   ======================================== */
.ren2{padding: 40px 0; text-align: center;}
.ren2-btn{display: inline-block; padding: 16px 40px; background: linear-gradient(49.6deg, #118cff 9.35%, #2e50eb 90.65%); color: #fff; font-size: 20px; font-weight: 700; line-height: 140%; letter-spacing: -0.5px; border-radius: 100px; text-decoration: none; transition: 0.2s; font-family: 'SUIT Variable', sans-serif; }
.ren2-btn span{font-family: 'SUIT Variable', sans-serif; font-weight: 200;}
.ren2-btn:hover{opacity: 0.9;}

@media all and (max-width: 650px){
.ren2{padding: 30px 0;}
.ren2-btn{font-size: 17px; padding: 14px 32px;}
}

/* ========================================
   ren3 - 정수기 선택 섹션
   ======================================== */
.ren3{padding: 60px 0 560px; background-size: cover; background-position: center top; background-repeat: no-repeat; text-align: center;}
.ren3-title{font-size: 38px; font-weight: 500; line-height: 140%; letter-spacing: -0.8px; color: #111; text-shadow: 0 0 12px rgba(255,255,255,0.9), 0 0 24px rgba(255,255,255,0.7);}
.ren3-title b{font-weight: 800;}
.ren3-desc{font-size: 20px; font-weight: 500; line-height: 160%; letter-spacing: -0.4px; color: #333; margin-top: 16px; text-shadow: 0 0 10px rgba(255,255,255,0.9), 0 0 20px rgba(255,255,255,0.7);}

@media all and (max-width: 650px){
.ren3{padding: 48px 0 420px;}
.ren3-title{font-size: 24px;}
.ren3-desc{font-size: 14px; margin-top: 12px;}
}

/* ========================================
   ren4 - 3단계 안내
   ======================================== */
.ren4{padding: 60px 0;}
.ren4 .box_wrap{display: flex; gap: 3%;}
.ren4 .box{width: calc(33.333% - 2%); text-align: center;}
.ren4-num{display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: #2B7DE9; color: #fff; font-size: 20px; font-weight: 700; line-height: 100%; border-radius: 100%; margin-bottom: 16px;}
.ren4 .box strong{display: block; font-size: 20px; font-weight: 800; line-height: 140%; letter-spacing: -0.5px; color: #222;}
.ren4 .box p{font-size: 14px; font-weight: 400; line-height: 160%; color: #888; margin-top: 4px;}
.ren4 .box .img{margin-top: 20px; border-radius: 12px; overflow: hidden;}
.ren4 .box .img img{width: 100%;}

@media all and (max-width: 650px){
.ren4{padding: 48px 0;}
.ren4 .box_wrap{flex-direction: column; gap: 40px;}
.ren4 .box{width: 100%;}
.ren4-num{width: 36px; height: 36px; font-size: 18px; margin-bottom: 12px;}
.ren4 .box strong{font-size: 18px;}
.ren4 .box .img{width: 70%; margin: 16px auto 0;}
}

/* ========================================
   ren5 - 혜택 섹션
   ======================================== */
.ren5{padding: 60px 0; text-align: center;}
.ren5 .img{width: 100%; margin: 0 auto;}
.ren5 .img img{width: 100%;}
.ren5-desc{font-size: 20px; font-weight: 700; line-height: 140%; letter-spacing: -0.5px; color: #222; margin-top: 16px;}
.ren5 .ren5-tel{margin-top: 32px;}

@media all and (max-width: 650px){
.ren5{padding: 48px 0;}
.ren5 .img{width: 100%;}
.ren5-desc{font-size: 17px;}
.ren5 .ren5-tel{margin-top: 24px;}
}

/* ========================================
   land1 - 히어로 섹션
   ======================================== */
.land_wrap{max-width: 700px; margin: 0 auto; background: #fff;;}
.land1{position: relative; padding: 80px 0 120px; background: linear-gradient(180deg, #4566FF 2.64%, #4765EF 46.57%); background-size: cover; background-position: center; border-radius: 0 0 32px 32px; text-align: center; overflow: hidden;}
.land1 .width2{position: relative; z-index: 1;}
.land1-sub{font-family: 'Giants', sans-serif; font-size: 40px; font-weight: 400; line-height: 140%; letter-spacing: -1px; color: #fff; margin: 0 0 16px; display: flex; align-items: center; justify-content: center; gap: 12px;}
.land1-title{font-family: 'Giants', sans-serif; font-size: 90px; font-weight: 700; line-height: 120%; letter-spacing: -2.25px; color: #fff; margin: 0 0 24px;}
.land1-desc{font-size: 32px; font-weight: 700; line-height: 130%; letter-spacing: -0.8px; color: #fff; margin: 0 0 40px;}
.land1-btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #fff; color: #2e50eb; font-size: 28px; font-weight: 700; line-height: 140%; letter-spacing: -0.7px; padding: 20px 60px; border-radius: 10px; text-decoration: none; box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.12); transition: 0.2s;}
.land1-btn:hover{transform: translateY(-2px); box-shadow: 2px 4px 8px 0px rgba(0,0,0,0.18);}
.land1-btn i{font-size: 28px;}

@media all and (max-width: 650px){
.land1{padding: 60px 0 80px;}
.land1-sub{font-size: 24px; gap: 8px;}
.land1-title{font-size: 52px; letter-spacing: -1.5px;}
.land1-desc{font-size: 22px; margin-bottom: 30px;}
.land1-btn{font-size: 20px; padding: 16px 40px; border-radius: 16px;}
.land1-btn i{font-size: 20px;}
}

/* ========================================
   land2 - 통신사 카드 슬라이더
   ======================================== */
.land2{padding:60px 0;}
.land2-head{display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;}
.land2-title{font-size: 32px; font-weight: 600; color: #111; letter-spacing: -0.8px; line-height: 1.3;}
.land2-nav{display: flex; gap: 10px;}
.land2-prev,
.land2-next{width: 52px; height: 52px; border-radius: 100px; border: 1px solid #e5e5ec; background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: 0.2s;}
.land2-prev:hover,
.land2-next:hover{border-color: #ccc;}
.land2-prev i,
.land2-next i{font-size: 22px; color: #333;}
.land2-slider{overflow: hidden;}
.land2-card{width: 290px !important; border: 1px solid #e5e5ec; border-radius: 8px; padding: 28px 0; text-align: center; cursor: pointer; transition: 0.2s;}
.land2-card.active{border-color: #2e50eb; background: rgba(46,80,235,0.06);}
.land2-logo{height: 100px; display: flex; align-items: center; justify-content: center;}
/* .land2-logo img{max-height: 60px; max-width: 130px; object-fit: contain;} */
.land2-name{font-size: 24px; font-weight: 500; color: #111; letter-spacing: -0.6px; line-height: 1.4; margin-top: 12px;}

@media all and (max-width: 650px){
.land2{padding: 30px 0;}
.land2-title{font-size: 24px;}
.land2-prev,
.land2-next{width: 42px; height: 42px;}
.land2-prev i,
.land2-next i{font-size: 18px;}
.land2-card{width: 200px !important; padding: 20px 0;}
.land2-logo{height: 70px;}
.land2-logo img{max-height: 40px; max-width: 90px;}
.land2-name{font-size: 18px; margin-top: 8px;}
}

/* ========================================
   land2 - 인터넷/TV 상품 카드
   ======================================== */
.land2-product{margin-top: 65px;}
.land2-product-head{display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;}
.land2-product-title{font-size: 32px; font-weight: 600; color: #111; letter-spacing: -0.8px; line-height: 130%;}
.land2-product-nav{display: flex; gap: 10px;}
.land2-product-prev,
.land2-product-next{width: 52px; aspect-ratio: 1; border-radius: 100px; border: 1px solid #e5e5ec; background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: 0.2s;}
.land2-product-prev:hover,
.land2-product-next:hover{border-color: #ccc;}
.land2-product-prev i,
.land2-product-next i{font-size: 22px; color: #333;}
.land2-product-slider{overflow: hidden;}
.land2-product-card{width: 290px !important; border: 1px solid #e5e5ec; border-radius: 8px; padding: 24px; cursor: pointer; transition: 0.2s; display: flex; flex-direction: column; gap: 28px;}
.land2-product-card:hover{border-color: #c0c0c0;}
.land2-product-card.active{border-color: #2e50eb; background: rgba(46,80,235,0.06);}
.land2-product-card .speed-wrap{display: flex; flex-direction: column; gap: 8px;}
.land2-product-card .speed{display: flex; align-items: flex-end; gap: 4px;}
.land2-product-card .speed strong{font-size: 32px; font-weight: 600; line-height: 140%; color: #111;}
.land2-product-card .speed span{font-size: 20px; font-weight: 600; line-height: 140%; color: #111; padding-bottom: 4px;}
.land2-product-card .speed-wrap > strong{font-size: 28px; font-weight: 600; line-height: 140%; letter-spacing: -0.7px; color: #111;}
.land2-product-card .name{font-size: 20px; font-weight: 500; line-height: 140%; letter-spacing: -0.5px; color: #767676; margin: 0;}
.land2-product-card .price{font-size: 24px; font-weight: 600; line-height: 140%; letter-spacing: -0.6px; color: #2e50eb; margin: 0;}

/* land2 체크 아이콘 행 */
.land2-check-wrap{display: flex; gap: 40px; align-items: center; margin-top: 12px;}
.land2-check{display: flex; align-items: center; gap: 8px; cursor: pointer; user-select: none;}
.land2-check-icon{width: 28px; aspect-ratio: 1; border-radius: 50%; border: 1.5px solid #ccc; display: flex; align-items: center; justify-content: center; transition: 0.2s; box-sizing: border-box; flex-shrink: 0;}
.land2-check-icon::before{content: '\2713'; font-size: 14px; line-height: 100%; color: transparent; transition: 0.2s;}
.land2-check.on .land2-check-icon{background: #2e50eb; border-color: #2e50eb;}
.land2-check.on .land2-check-icon::before{color: #fff;}
.land2-check-text{font-size: 20px; font-weight: 500; line-height: 140%; letter-spacing: -0.5px; color: #505050;}

/* land2 TV 섹션 */
.land2-tv-section{display: none; margin-top: 65px;}
.land2-tv-section.on{display: block; animation: land2FadeIn 0.3s ease;}
@keyframes land2FadeIn{from{opacity: 0; transform: translateY(10px);} to{opacity: 1; transform: translateY(0);}}

@media all and (max-width: 650px){
.land2-product-head{margin-bottom: 16px;}
.land2-product-title{font-size: 24px;}
.land2-product-prev,
.land2-product-next{width: 42px;}
.land2-product-prev i,
.land2-product-next i{font-size: 18px;}
.land2-product-card{width: 220px !important; padding: 20px;}
.land2-product-card .speed strong{font-size: 26px;}
.land2-product-card .speed span{font-size: 16px;}
.land2-product-card .name{font-size: 16px;}
.land2-product-card .price{font-size: 20px;}
.land2-check-wrap{gap: 24px;}
.land2-check-text{font-size: 16px;}
.land2-check-icon{width: 24px;}
}

/* ========================================
   land2 - 요금 요약 카드
   ======================================== */
.land2-summary{border: 1px solid #e5e5ec; border-radius: 20px; padding: 28px 24px; margin-top: 65px; display: flex; flex-direction: column; gap: 20px;}
.land2-summary-lines{display: flex; flex-direction: column; gap: 8px;}
.land2-summary-line{display: flex; justify-content: space-between; align-items: center; font-size: 22px; font-weight: 500; line-height: 140%; letter-spacing: -0.55px; color: #999;}
.land2-summary-line.point{color: #2e50eb;}
.land2-summary-total{display: flex; justify-content: space-between; align-items: center; margin-top: 8px;}
.land2-summary-total-label{display: flex; align-items: center; gap: 2%; white-space: nowrap;}
.land2-total-text{font-size: 22px; font-weight: 600; line-height: 140%; letter-spacing: -0.55px; color: #111;}
.land2-total-note{font-size: 16px; font-weight: 500; line-height: 150%; letter-spacing: -0.4px; color: #999;}
.land2-total-price{font-size: 28px; font-weight: 600; line-height: 140%; letter-spacing: -0.7px; color: #111;}
.land2-summary-btns{display: flex; gap: 2%;}
.land2-btn-primary,
.land2-btn-outline{flex: 1; display: flex; align-items: center; justify-content: center; padding: 18px 0; border-radius: 10px; font-size: 20px; font-weight: 600; line-height: 140%; letter-spacing: -0.5px; text-decoration: none; transition: 0.2s;}
.land2-btn-primary{background: #2e50eb; color: #fff;}
.land2-btn-primary:hover{background: #2340d0;}
.land2-btn-outline{background: #fff; border: 1px solid #2e50eb; color: #2e50eb;}
.land2-btn-outline:hover{background: rgba(46,80,235,0.06);}

@media all and (max-width: 650px){
.land2-summary{padding: 24px 20px; border-radius: 16px; margin-top: 40px;}
.land2-summary-line{font-size: 18px;}
.land2-total-text{font-size: 18px;}
.land2-total-note{font-size: 14px;}
.land2-total-price{font-size: 24px;}
.land2-btn-primary,
.land2-btn-outline{padding: 16px 0; font-size: 18px; border-radius: 10px;}
}

/* ========================================
   land3 - 맞춤 컨설팅
   ======================================== */
.land3{padding: 60px 0 60px; background: #fff;}
.land3-title{font-size: 40px; font-weight: 700; line-height: 130%; letter-spacing: -1px; color: #111; margin: 0 0 28px;}
.land3-title .point{color: #2e6aeb; font-weight: bold;}
.land3-img{width: 100%;}
.land3-img img{width: 100%;}

@media all and (max-width: 650px){
.land3{padding: 30px 0 60px;}
.land3-title{font-size: 28px; margin: 0 0 20px;}
}

/* ========================================
   land4 - 상담 폼
   ======================================== */
.land4{padding: 80px 0; background: url('../img/land4-bg.png') center / cover no-repeat; }
.land4-title{font-size: 40px; font-weight: 700; line-height: 130%; letter-spacing: -1px; color: #fff; margin: 0 0 28px;}
.land4-card{background: #fff; border-radius: 28px; padding: 40px;}

/* land4 formmail2 오버라이드 */
.land4 #formmail-write{border: none; border-radius: 0; padding: 0; box-shadow: none; background: transparent; display: flex; flex-direction: column; gap: 36px;}
.land4 #formmail-write h2{display: none;}
.land4 #formmail-write .form-body{display: flex; flex-direction: column; gap: 16px; padding: 0;}
.land4 #formmail-write .form-group{border: none; padding: 0; margin: 0;}
.land4 #formmail-write .form-label{font-size: 22px; font-weight: 600; line-height: 140%; letter-spacing: -0.55px; color: #111; margin: 0 0 16px;}
.land4 #formmail-write .form-input{display: flex; align-items: center; background: #f7f7f7; border-radius: 8px; padding: 24px 20px; gap: 2%;}
.land4 #formmail-write .form-prefix{font-size: 20px; font-weight: 400; line-height: 140%; letter-spacing: -0.5px; color: #999; white-space: nowrap;}
.land4 #formmail-write .form-control{border: none; outline: none; background: transparent; font-size: 20px; font-weight: 400; line-height: 140%; letter-spacing: -0.5px; color: #111; padding: 0; margin: 0; width: 100%;}
.land4 #formmail-write .form-control::placeholder{color: #999;}
.land4 #formmail-write .form-footer{display: flex; flex-direction: column; gap: 20px; align-items: flex-start;}
.land4 #formmail-write .privacy{display: flex; align-items: center; gap: 3%;}
.land4 #formmail-write .privacy label{display: flex; align-items: center; gap: 2%; font-size: 20px; font-weight: 500; line-height: 140%; letter-spacing: -0.5px; color: #111; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; white-space: nowrap;}
.land4 #formmail-write .privacy label input[type="checkbox"]{width: 28px; height: 28px; aspect-ratio: 1; appearance: none; -webkit-appearance: none; background: #ddd; border-radius: 50%; position: relative; cursor: pointer; flex-shrink: 0; margin: 0; border: none; transition: 0.2s;}
.land4 #formmail-write .privacy label input[type="checkbox"]:checked{background: #2e50eb;}
.land4 #formmail-write .privacy label input[type="checkbox"]::after{content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -60%) rotate(-45deg); width: 12px; aspect-ratio: 5/3; border-bottom: 2px solid #fff; border-left: 2px solid #fff; opacity: 0; transition: 0.2s;}
.land4 #formmail-write .privacy label input[type="checkbox"]:checked::after{opacity: 1;}
.land4 #formmail-write .privacy a{font-size: 16px; font-weight: 500; line-height: 160%; letter-spacing: -0.4px; color: #319bff; text-decoration: none; white-space: nowrap;}
.land4 #formmail-write .applybtn{width: 100%; border: none; cursor: pointer; background: #2e50eb; border-radius: 12px; padding: 16px 24px; font-size: 0; font-weight: 600; line-height: 140%; letter-spacing: -0.6px; color: #fff; transition: 0.2s; height: 64px; display: flex; align-items: center; justify-content: center;}
.land4 #formmail-write .applybtn::after{content: '맞춤 요금 설계 받기'; font-size: 24px;}
.land4 #formmail-write .applybtn:hover{background: #2340d0;}
.ren-apply #formmail-write .applybtn::after{content: '맞춤 설계 받기';}

@media all and (max-width: 650px){
.land4{padding: 60px 0; border-radius: 24px 24px 0 0;}
.land4-title{font-size: 28px; margin: 0 0 20px;}
.land4-card{padding: 28px 24px; border-radius: 20px;}
.land4 #formmail-write .form-label{font-size: 18px; margin: 0 0 12px;}
.land4 #formmail-write .form-input{padding: 16px;}
.land4 #formmail-write .form-prefix{font-size: 16px;}
.land4 #formmail-write .form-control{font-size: 16px;}
.land4 #formmail-write .privacy label{font-size: 16px;}
.land4 #formmail-write .privacy label input[type="checkbox"]{width: 24px;}
.land4 #formmail-write .privacy a{font-size: 14px;}
.land4 #formmail-write .applybtn{padding: 16px 20px;}
.land4 #formmail-write .applybtn::after{font-size: 20px;}
}

/*
   land5 - 이미지 슬라이더
*/
.land5{padding: 80px 0; background: #fff;}
.land5-title{font-size: 40px; font-weight: 700; line-height: 130%; letter-spacing: -1px; color: #111; margin: 0 0 28px;}
.land5-title .point{color: #2e6aeb; font-weight: bold;}
.land5-slider-wrap{position: relative;}
.land5 .swiper-slide{width: 100%; border-radius: 28px; overflow: hidden; position: relative;}
.land5 .swiper-slide img{width: 100%; display: block;}
.land5-controls{position: absolute; bottom: 20px; left: 40px; display: flex; align-items: center; gap: 8px; z-index: 10;}
.land5-counter{background: rgba(0,0,0,0.6); border-radius: 100px; padding: 8px 14px; font-size: 20px; font-weight: 400; line-height: 150%; color: rgba(255,255,255,0.6); white-space: nowrap;}
.land5-counter strong{font-weight: 600; color: #fff;}
.land5-pause{background: rgba(0,0,0,0.6); border-radius: 100px; border: none; cursor: pointer; width: 36px; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; gap: 3px; transition: 0.2s;}
.land5-pause span{display: block; width: 2.5px; padding: 5px 0; background: #fff; border-radius: 1px;}
.land5-pause.play span{display: none;}
.land5-pause.play::before{content: '▶'; color: #fff; font-size: 12px; margin-left: 2px;}
@media(max-width:650px){
.land5{padding: 60px 0;}
.land5-title{font-size: 28px; margin: 0 0 20px;}
.land5-controls{left: 24px; bottom: 16px;}
.land5-counter{font-size: 16px; padding: 6px 12px;}
.land5-pause{width: 32px;}
}

/*
   land6 - 고객 후기
*/
.land6{padding: 80px 0; background: #f2f5fc;}
.land6-title{font-size: 40px; font-weight: 700; line-height: 130%; letter-spacing: -1px; color: #111; margin: 0 0 28px;}
.land6-title .point{color: #2e6aeb; font-weight: bold;}
.land6 .box_wrap{display: flex; flex-direction: column; gap: 20px;}
.land6 .box{display: flex; align-items: center; gap: 5%; background: #fff; border-radius: 20px; box-shadow: 0px 6px 16px rgba(0,0,0,0.12); padding: 28px;}
.land6 .box .img{width: 26%; flex-shrink: 0;}
.land6 .box .img img{width: 100%; border-radius: 12px;}
.land6 .box .text{flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px;}
.land6-head{display: flex; align-items: center; gap: 5%; margin: 0 0 4px;}
.land6-stars{font-size: 22px; color: #f4c542; letter-spacing: 2px; line-height: 100%;}
.land6-name{font-size: 18px; font-weight: 500; line-height: 140%; letter-spacing: -0.45px; color: #999;}
.land6 .box strong{font-size: 28px; font-weight: 600; line-height: 140%; letter-spacing: -0.7px; color: #111; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.land6 .box p{font-size: 18px; font-weight: 400; line-height: 140%; letter-spacing: -0.45px; color: #505050; margin: 0;}
@media(max-width:650px){
.land6{padding: 60px 0;}
.land6-title{font-size: 28px; margin: 0 0 20px;}
.land6 .box{padding: 20px; gap: 4%;}
.land6 .box .img{width: 28%;}
.land6 .box strong{font-size: 22px;}
.land6 .box p{font-size: 15px;}
.land6-stars{font-size: 18px;}
.land6-name{font-size: 15px;}
}

.land7 img{width: 100%;}

/* ========================================
   land10 - 대표번호 배너
   ======================================== */
.land10{padding: 30px 0 20px;}
.land10-banner{display: flex; flex-direction: column; align-items: center; gap: 6px; background: linear-gradient(135deg, #4A8EFF 0%, #2E50EB 50%, #5B3FE8 100%); border-radius: 20px; padding: 32px 24px; text-decoration: none; transition: 0.3s; text-align: center; box-shadow: 0 8px 32px rgba(46,80,235,0.3);}
.land10-banner:hover{transform: translateY(-2px); box-shadow: 0 12px 40px rgba(46,80,235,0.4);}
.land10-sub{font-size: 18px; font-weight: 600; line-height: 140%; letter-spacing: 2px; color: rgba(255,255,255,0.85); font-family: 'Gmarket Sans', sans-serif;}
.land10-num{display: flex; align-items: center; gap: 12px;}
.land10-icon{width: 32px; filter: brightness(0) invert(1);}
.land10-num strong{font-size: 36px; font-weight: 800; line-height: 130%; letter-spacing: 1px; color: #fff; font-family: 'Gmarket Sans', sans-serif;}

@media all and (max-width: 650px){
.land10{padding: 30px 0 40px;}
.land10-banner{padding: 28px 20px; border-radius: 16px; box-shadow: 0 6px 24px rgba(46,80,235,0.25);}
.land10-sub{font-size: 13px; letter-spacing: 1.5px;}
.land10-icon{width: 26px;}
.land10-num strong{font-size: 24px;}
}

/*
   land8 - 가전제품 이미지 슬라이더
*/
.land8{padding: 80px 0; background: #fff;}
.land8-title{font-size: 40px; font-weight: 700; line-height: 130%; letter-spacing: -1px; color: #111; margin: 0 0 28px;}
.land8-title .point{color: #2e6aeb; font-weight: bold;}
.land8-slider-wrap{position: relative;}
.land8 .swiper-slide{width: 100%; aspect-ratio: 1.409; border-radius: 28px; overflow: hidden; position: relative;}
.land8 .swiper-slide img{width: 100%; display: block;}
.land8-controls{position: absolute; bottom: 20px; left: 40px; display: flex; align-items: center; gap: 8px; z-index: 10;}
.land8-counter{background: rgba(0,0,0,0.6); border-radius: 100px; padding: 8px 14px; font-size: 20px; font-weight: 400; line-height: 150%; color: rgba(255,255,255,0.6); white-space: nowrap;}
.land8-counter strong{font-weight: 600; color: #fff;}
.land8-pause{background: rgba(0,0,0,0.6); border-radius: 100px; border: none; cursor: pointer; width: 36px; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; gap: 3px; transition: 0.2s;}
.land8-pause span{display: block; width: 2.5px; padding: 5px 0; background: #fff; border-radius: 1px;}
.land8-pause.play span{display: none;}
.land8-pause.play::before{content: '▶'; color: #fff; font-size: 12px; margin-left: 2px;}
@media(max-width:650px){
.land8{padding: 60px 0;}
.land8-title{font-size: 28px; margin: 0 0 20px;}
.land8-controls{left: 24px; bottom: 16px;}
.land8-counter{font-size: 16px; padding: 6px 12px;}
.land8-pause{width: 32px;}
}

/* 03 랜딩페이지 - 비밀지원금 */
.landing03 { padding: 120px 0 80px; min-height: 100vh; background: #f8f9fb; display: flex; align-items: center; justify-content: center;}
.landing03_inner { width: 100%; max-width: 480px; margin: 0 auto; padding: 0 20px; text-align: center;}
.landing03_inner h2 { font-size: 36px; font-weight: 800; color: #111; line-height: 1.3; margin-bottom: 40px;}
.landing03_visual { position: relative; width: 240px; height: 280px; margin: 0 auto 40px;}
.landing03_circle { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 220px; height: 220px; border-radius: 50%; background: linear-gradient(135deg, #a8d8ea, #82c9e5);}
.landing03_phone { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); width: 140px; height: 240px; background: #fff; border-radius: 24px; border: 3px solid #333; overflow: hidden;}
.landing03_phone::before { content: ''; position: absolute; top: 8px; left: 50%; transform: translateX(-50%); width: 40px; height: 4px; background: #333; border-radius: 4px;}
.landing03_chat { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80px; height: 50px; background: var(--color); border-radius: 16px; display: flex; align-items: center; justify-content: center; gap: 6px;}
.landing03_chat span { width: 10px; height: 10px; background: #fff; border-radius: 50%;}
.landing03_form { background: #fff; border-radius: 16px; padding: 30px 24px; box-shadow: 0 2px 12px rgba(0,0,0,0.06);}
.landing03_input { display: flex; align-items: center; gap: 12px 7%; border: 1px solid #ddd; border-radius: 8px; padding: 14px 16px; margin-bottom: 16px;}
.landing03_input label { font-size: 14px; font-weight: 600; color: #333; white-space: nowrap; letter-spacing: 4px;}
.landing03_input input { border: none; outline: none; font-size: 16px; width: 100%; font-weight: 500; text-align: center;}
.landing03_agree { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px;}
.landing03_agree label { font-size: 14px; color: #333; display: flex; align-items: center; gap: 6px; cursor: pointer;}
.landing03_agree label input[type="checkbox"] { accent-color: var(--color); width: 18px; height: 18px;}
.landing03_more { background: none; border: 1px solid #ddd; border-radius: 4px; padding: 4px 10px; font-size: 12px; color: #666; cursor: pointer;}
.landing03_privacy { background: #f9f9f9; border-radius: 8px; padding: 14px 16px; margin-bottom: 12px; text-align: left;}
.landing03_privacy p { font-size: 13px; color: #666; line-height: 1.6;}
.landing03_submit { width: 100%; padding: 16px; background: var(--color); color: #fff; border: none; border-radius: 8px; font-size: 18px; font-weight: 700; cursor: pointer; margin-top: 16px; transition: 0.2s;}
.landing03_submit:hover { opacity: 0.9;}
@media all and (max-width: 768px){
  .landing03 { padding: 130px 0 60px;}
  .landing03_inner h2 { font-size: 28px;}
  .landing03_visual { width: 200px; height: 240px;}
  .landing03_circle { width: 180px; height: 180px;}
  .landing03_phone { width: 120px; height: 200px;}
}

/* PC 하단 DB바 */
.pc_db { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 97; }
.pc_db_inner { display: flex; align-items: center; justify-content: center; gap: 36px; background: linear-gradient(135deg, #1e2d45 0%, #2c3e5a 50%, #1e2d45 100%); padding: 16px 40px; border-top: 2px solid rgba(232,149,47,0.5); box-shadow: 0 -4px 20px rgba(0,0,0,0.25); }
.pc_db_info { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.pc_db_icon { position: relative; width: 50px; height: 50px; flex-shrink: 0; }
.pc_db_icon i { font-size: 24px; color: #fff; background: linear-gradient(135deg, #e8952f, #f0a94a); width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; position: relative; z-index: 1; box-shadow: 0 3px 12px rgba(232,149,47,0.4); }
.pc_db_icon::after { content: ''; position: absolute; top: -4px; left: -4px; right: -4px; bottom: -4px; border-radius: 50%; border: 2px solid rgba(232,149,47,0.35); animation: pc_db_ring 2s ease-out infinite; }
@keyframes pc_db_ring { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(1.3); opacity: 0; } }
.pc_db_info strong { display: block; font-size: 28px; font-weight: 800; color: #fff; letter-spacing: -0.5px; line-height: 1.1; }
.pc_db_info span { font-size: 13px; color: rgba(255,255,255,0.55); margin-top: 2px; display: block; }
.pc_db_divider { width: 1px; height: 40px; background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.2), transparent); flex-shrink: 0; }
.pc_db_form { display: flex; align-items: center; gap: 20px; }
.pc_db_input_wrap { position: relative; }
.pc_db_input_wrap i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-size: 16px; color: rgba(255,255,255,0.4); }
.pc_db_form input[type="text"] { width: 220px; height: 46px; border: 2px solid rgba(255,255,255,0.18); border-radius: 8px; background: rgba(255,255,255,0.08); color: #fff; padding: 0 16px 0 38px; font-size: 14px; transition: 0.3s;  }
.pc_db_form input[type="text"]:focus { border-color: rgba(232,149,47,0.6); background: rgba(255,255,255,0.12); outline: none; box-shadow: 0 0 0 3px rgba(232,149,47,0.15); }
.pc_db_form input[type="text"]::placeholder { color: rgba(255,255,255,0.4); }
.pc_db_agree { display: flex; align-items: center; gap: 8px; font-size: 13px; color: rgba(255,255,255,0.8); white-space: nowrap; cursor: pointer; }
.pc_db_agree input[type="checkbox"] { accent-color: #e8952f; width: 17px; height: 17px; cursor: pointer; }
.pc_db_agree span { letter-spacing: -0.3px; }
.pc_db_view { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.25); border-radius: 4px; padding: 3px 10px; font-size: 11px; color: rgba(255,255,255,0.6); cursor: pointer; margin-left: 2px; transition: 0.2s; }
.pc_db_view:hover { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.5); color: #fff; }
.pc_db_submit { height: 46px; padding: 0 36px; background: linear-gradient(135deg, #e8952f, #f0a94a); color: #fff; border: none; border-radius: 8px; font-size: 16px; font-weight: 700; cursor: pointer; white-space: nowrap; transition: 0.3s; box-shadow: 0 3px 12px rgba(232,149,47,0.35); display: flex; align-items: center; gap: 8px; }
.pc_db_submit i { font-size: 18px; }
.pc_db_submit:hover { background: linear-gradient(135deg, #d4841f, #e8952f); transform: translateY(-1px); box-shadow: 0 5px 18px rgba(232,149,47,0.45); }
.pc_db_privacy { background: #151f30; padding: 14px 0; border-top: 1px solid rgba(255,255,255,0.06); }
.pc_db_privacy p { font-size: 12px; color: rgba(255,255,255,0.5); text-align: center; line-height: 1.8; }
.pc_db_privacy p strong { color: rgba(255,255,255,0.75); }
/* 모바일 하단바 */
.mob_db { display: none; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 97; padding: 10px 12px; background: #2c3e5a; box-sizing: border-box; gap: 8px; }
.mob_db .mob_db_consult { flex: 1; height: 48px; display: flex; align-items: center; justify-content: center; background: transparent; border: 1.5px solid rgba(255,255,255,0.35); border-radius: 10px; color: #fff; font-size: 16px; font-weight: 600; letter-spacing: -0.3px; }
.mob_db .mob_db_call { flex: 1; height: 48px; display: flex; align-items: center; justify-content: center; gap: 6px; background: linear-gradient(135deg, #5b9bf5, #4a8df5); border: none; border-radius: 10px; color: #fff; font-size: 16px; font-weight: 700; letter-spacing: -0.3px; box-shadow: 0 2px 10px rgba(74,141,245,0.35); }
.mob_db .mob_db_call i { font-size: 18px; }
@media screen and (max-width: 1024px){
    .pc_db { display: none; }
    .mob_db { display: flex; }
}