:root {
  --main-color: #00af4a;
  --bg-color: #ffffff;
  --sub-color: #6b746e;
  --border-color: #e2e5e3;
}
body {min-width: 1200px; overflow-x: hidden;}
.inner {width: 1200px; margin: 0 auto; position: relative;}
.br48 {display: none;}
.br76 {display: none;}

/* Select box 스타일 초기화 */
select {
	background: #fff url('../images/arrow.png') no-repeat 85% 50% !important;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
  color: inherit;
  font-family: inherit;
  outline: none;
}

/* HEADER */
header { padding: 25px 0; position: absolute; top: 0; left: 0; z-index: 11; width: 100%;}
header .inner {display: flex; align-items: center; justify-content: space-between;}
header .logo_wrap a {display: inline-block;}
header .logo_wrap img {height: 34px; width: auto; display: block;}
header .nav_wrap ul {display: flex; align-items: center; gap: 10px;}
header .nav_wrap ul li a { font-size: 18px; font-weight: 600; padding: 8px 14px; color: var(--bg-color);}
header .nav_wrap ul li.active a { font-weight: 700; border-bottom: 3px solid var(--bg-color);}
header .btn_menu {display: none;}
header .btn_menu img {display: block; width: 32px;}
header .btn_menu .icon_close {display: none;}
.menu_dim {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .5); z-index: 99; opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s ease;}

header button.login img {width: 32px; height: 32px; aspect-ratio: 1 / 1; filter: brightness(0) invert(1);}
header .login_wrap {position: relative;}
header .login_text {display: none;}
header .login_dropdown {position: absolute; top: calc(100% + 12px); right: 0; width: 160px; background: #fff; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, .1); padding: 6px 16px; box-sizing: border-box; opacity: 0; visibility: hidden; transform: translateY(-6px); pointer-events: none; transition: opacity .2s ease, transform .2s ease, visibility .2s ease; z-index: 1000;}
header .login_dropdown.is-open {opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;}
header .login_dropdown a {display: flex; align-items: center; justify-content: space-between; padding: 12px 0; font-size: 16px; font-weight: 600; color: #171717; text-decoration: none;}
header .login_dropdown a .arrow {display: block; width: 8px; height: 8px; border-top: 2px solid #171717; border-right: 2px solid #171717; transform: rotate(45deg); margin-right: 3px;}

/* section1 */
.sec1 {width: 100%;}
.sec1 ul {display: flex; align-items: center;}
.sec1 ul li {background: #00AF4A; background: linear-gradient(90deg, rgba(0, 175, 74, 1) 0%, rgba(84, 207, 150, 1) 100%); height: 580px; overflow: hidden; width: 100vw; box-sizing: border-box; display: flex; align-items: center;}
.sec1 ul li .planb {position: absolute; left: 50%; top: -100px; transform: translateX(-50%); opacity: .15;}
.sec1 ul li.card1 .inner {position: relative; display: flex; flex-direction: column; align-items: center;}
.sec1 ul li.card1 p {font-size: 32px; margin-bottom: 30px; color: var(--bg-color); font-family: 'A2Z';}
.sec1 ul li.card1 p b { color: #ffff56; text-shadow: 0 0 15px #0b8c48;}
.sec1 ul li.card1 p b.dot { position: relative;}
.sec1 ul li.card1 p b.dot::before { position: absolute; width: .19em; height: .19em; border-radius: 100px; background: #ffff56; content:""; top: -.19em; left: 50%; transform: translateX(-50%);}
.sec1 ul li.card1 h2 {font-size: 100px; color: var(--bg-color); margin-bottom: 30px; font-weight: 700; font-family: 'A2Z'; text-shadow: 0 0 15px #0b8c48;}
.sec1 ul li.card1 span {font-size: 30px; font-weight: 800; color: var(--bg-color); margin-bottom: 10px; display: block;}
.sec1 ul li.card1 small {font-size: 26px; font-weight: 500; color: var(--bg-color);}
.sec1 ul li.card_sub .inner {display: flex; align-items: center; justify-content: space-between;}
.sec1 ul li.card_sub .title_wrap h2 {font-size: 50px; color: var(--bg-color); font-weight: 800; line-height: 1.3; white-space: nowrap;}
.sec1 ul li.card_sub .title_wrap h2 b {color: #ffff56;}
.sec1 ul li.card_sub .title_wrap p {font-size: 20px; color: var(--bg-color); margin-top: 10px;}
.sec1 ul li.card_sub .title_wrap a {padding: 10px 16px; border-radius: 100px; background: #007a34; display: flex; align-items: center; justify-content: center; font-size: 20px; color: var(--bg-color); font-weight: 700; width: fit-content; margin-top: 30px;}
.autoplay-controls {position: absolute; bottom: 35px; left: 50%; transform: translateX(-50%); z-index: 11; display: flex; align-items: center;}
.autoplay-controls .swiper-pagination {position: static; width: auto; display: flex; gap: 6px; align-items: center;}
.autoplay-controls .swiper-pagination-bullet { width: 8px; height: 8px; background: rgba(255, 255, 255, .6); border-radius: 50%; opacity: 1; margin: 0 !important; transition: all .3s ease;}
.autoplay-controls .swiper-pagination-bullet-active { width: 20px; border-radius: 10px; background: #ffffff;}
.btn-autoplay { background: none; border: none; cursor: pointer; padding: 0; width: 24px; height: 24px; display: flex; justify-content: center; align-items: center; margin-left: 6px;}
.btn-autoplay.pause {gap: 2px;}
.btn-autoplay.pause::before,
.btn-autoplay.pause::after { content: ""; display: block; width: 5px; height: 12px; background-color: #ffffff; border-radius: 1px;}
.btn-autoplay.play::before { content: ""; display: block; width: 0; height: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 12px solid #ffffff;}
.btn-autoplay.play::after {display: none;}

/* section2 */
.sec2 {padding: 60px 0; border-bottom: 1px solid var(--border-color);}
.sec2 .title_wrap {margin-bottom: 40px; text-align: center;}
.sec2 .title_wrap h3,
.bottom_form .title_wrap h3 {display: inline; font-size: 32px; font-weight: 700; background: linear-gradient(to top, transparent 0, transparent .06em, #9ce8bc .06em, #9ce8bc .28em, transparent .28em); padding: 0 4px; -webkit-box-decoration-break: clone; box-decoration-break: clone;}
.sec2 .content_wrap {display: flex; width: 1050px; margin: 0 auto;}
.sec2 .form_wrap form ul {display: flex; justify-content: space-between; align-items: flex-start;}
.sec2 .form_wrap form ul li > div {display: flex; flex-direction: column;}
.sec2 .form_wrap form ul li .title {font-size: 18px; font-weight: 600; margin-bottom: 10px;}
.sec2 .form_wrap form ul li input:not([type="radio"]) {height: 50px; outline: none; border: 1px solid var(--border-color); border-radius: 10px; padding-left: 20px; box-sizing: border-box;}
.sec2 .form_wrap form ul li .name_wrap input {width: 280px;}
.sec2 .form_wrap form ul li .sex_wrap .title {margin-bottom: 10px;}
.sec2 .form_wrap form ul li .sex_wrap .checkbox_wrap {display: flex; align-items: center; gap: 20px; height: 50px;}
.sec2 .form_wrap form ul li .sex_wrap .checkbox_wrap > div { display: flex; align-items: center; gap: 8px;}
.sec2 .form_wrap form ul li .sex_wrap input[type="radio"] { appearance: none; width: 20px; height: 20px; border: 1px solid var(--border-color); border-radius: 50%;  outline: none; position: relative; vertical-align: middle; margin: 0; transition: all .2s; cursor: pointer;}
.sec2 .form_wrap form ul li .sex_wrap input[type="radio"]::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0); width: 10px; height: 10px; border-radius: 50%; background-color: var(--main-color);}
.sec2 .form_wrap form ul li .sex_wrap input[type="radio"]:checked::after { transform: translate(-50%, -50%) scale(1);}
.sec2 .form_wrap form ul li .sex_wrap .checkbox_wrap label {font-size: 16px; font-weight: 600; cursor: pointer;}
.sec2 .form_wrap form ul li .birth_wrap input {width: 280px;}
.sec2 .form_wrap form ul li .tel_wrap .input_box {display: flex; align-items: center; gap: 10px;}
.sec2 .form_wrap form ul li .tel_wrap input {width: 320px;}
.sec2 .form_wrap form ul li .tel_wrap select {height: 50px; border: 1px solid var(--border-color); border-radius: 10px; width: 110px; padding-left: 20px; font-family: inherit; font-weight: 600; cursor: pointer;}
.sec2 .form_wrap form .button_wrap {margin-top: 30px; display: flex; align-items: center; justify-content: center; gap: 20px;}
.sec2 .form_wrap form .button_wrap .kakao_wrap {position: relative;}
@keyframes bubble-float { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, -10px); } }
.sec2 .form_wrap form .button_wrap .kakao_wrap .balloon {position: absolute; top: -14px; left: 60px; animation: bubble-float 1.3s ease-in-out infinite; pointer-events: none;}
.sec2 .form_wrap form .button_wrap .kakao_wrap .balloon p {background: #fff; border-radius: 100px; box-shadow: 0 0 3px rgba(115, 122, 118, .8); padding: 7px 13px; font-weight: 500; color: #737a76;}
.sec2 .form_wrap form .button_wrap .kakao_wrap .balloon img {position: absolute; left: 50%; bottom: 0; transform: translate(-50%, 100%);}
.sec2 .form_wrap form .button_wrap .kakao_wrap .btn_kakao {border-radius: 10px; width: 350px; height: 60px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 600; background: #f8db08; gap: 10px;}
.sec2 .form_wrap form .button_wrap .kakao_wrap .btn_kakao img {width: 28px;}
.sec2 .form_wrap form .button_wrap .kakao_wrap .btn_kakao,
.bottom_form .form_wrap form .button_wrap .kakao_wrap .btn_kakao {letter-spacing: inherit;}
.sec2 .form_wrap form .button_wrap .btn_submit {background: #00703a; color: #fff; border-radius: 10px; width: 350px; height: 60px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 600;}
.sec2 .form_wrap form .button_wrap .btn_naver {border-radius: 10px; width: 350px; height: 60px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 600; background: #03c75a; color: #fff; gap: 10px;}
.sec2 .form_wrap form .button_wrap .btn_naver img {width: 28px;}

/* section3 */
.sec3 {padding: 100px 0;}
.sec3 .inner {display: flex; align-items: center; justify-content: space-between;}
.sec3 .title_wrap span {font-family: 'Inklipquid'; font-size: 48px; color: #007a34; margin-bottom: 20px; display: block;}
.sec3 .title_wrap h3 {font-size: 54px; font-weight: 700; line-height: 1.2; margin-bottom: 20px;}
.sec3 .title_wrap h3 b {color: var(--main-color);}
.sec3 .title_wrap p {font-size: 26px; color: var(--sub-color); line-height: 1.3;}

/* section4 */
.sec4 .inner {border-top: 1px solid #dde4e0;padding: 100px 0; display: flex; align-items: center; justify-content: space-between; overflow: hidden;}
.sec4 .title_wrap h3 {font-size: 54px; font-weight: 700; line-height: 1.2; margin-bottom: 20px;}
.sec4 .title_wrap h3 b {color: var(--main-color);}
.sec4 .title_wrap p {font-size: 26px; color: var(--sub-color); line-height: 1.3;}
.sec4 .img_wrap {position: relative; width: 275px; margin-right: 370px;}
.sec4 .img_wrap::after {content:""; position: absolute; top: 0; right: -370px; width: 100px; height: 100%; background: linear-gradient(to right, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%); z-index: 11; pointer-events: none;}
.sec4 .img_wrap .frame {position: relative; top: 0; left: 0; width: 100%; display: block; z-index: 10;}
.sec4 .img_wrap .swiper { overflow: visible; position: absolute; top: 1%; left: 4%; width: 92%; height: 98%; z-index: 5; clip-path: inset(-50% -500% -50% 0);}
.sec4 .img_wrap .swiper ul li {width: 100%; height: 100%; overflow: hidden;}
.sec4 .img_wrap .swiper ul li img {width: 100%; display: block; height: 100%; object-fit: cover;}

/* section5 */
.sec5 {padding: 100px 0; background: var(--main-color);}
.sec5 .inner {display: flex; align-items: center; justify-content: space-between;}
.sec5 .title_wrap h3 {font-size: 54px; font-weight: 700; line-height: 1.2; margin-bottom: 20px; color: var(--bg-color);}
.sec5 .title_wrap p {font-size: 26px; color: var(--bg-color); line-height: 1.3;}

/* sec5 애니메이션 */
.sec5 .logo_burst {position: relative; width: 506px; aspect-ratio: 506 / 591; container-type: inline-size; flex-shrink: 0;}
.sec5 .logo_burst img {position: absolute; display: block; height: auto;}
.sec5 .logo_burst .hand {left: calc(132 / 506 * 100%); top: calc(329 / 591 * 100%); width: calc(321 / 506 * 100%); z-index: 2;}
.sec5 .logo_burst .logo {left: calc(var(--x) / 506 * 100%); top: calc(var(--y) / 591 * 100%); width: calc(80 / 506 * 100%); z-index: 1; opacity: 0; transform: translate(calc(var(--sx) * 1cqw), calc(var(--sy) * 1cqw)) scale(.2); transition: transform 1.7s cubic-bezier(.22, 1.15, .36, 1) calc(.45s + var(--d) * .4), opacity .25s ease;}
.sec5 .logo_burst .logo.first {opacity: 1; z-index: 3;}

/* 처음 상태로 돌아갈 때 */
.sec5 .logo_burst:not(.on) .logo {transition: transform 1.1s cubic-bezier(.45, 0, .25, 1) calc(var(--d) * .15), opacity .35s ease calc(.75s + var(--d) * .15);}
.sec5 .logo_burst:not(.on) .logo.first {transition: transform 1.1s cubic-bezier(.45, 0, .25, 1);}

/* 삼성화재: 모여 있을 때 다른 로고 위에 보이도록 */
.sec5 .logo_burst.on .logo {opacity: 1; transform: none;}

/* 퍼진 뒤 */
@keyframes logo-float {
  0%, 100% {translate: 0 0;}
  50% {translate: 0 -2.4cqw;}
}
.sec5 .logo_burst.on .logo {animation: logo-float 3.2s ease-in-out infinite; animation-delay: calc(2.15s + var(--d) * .4);}
.sec5 .logo_burst.on .logo:nth-child(2n) {animation-duration: 3.8s;}
.sec5 .logo_burst.on .logo:nth-child(3n) {animation-duration: 4.4s;}
@media (prefers-reduced-motion: reduce) {
  .sec5 .logo_burst .logo {opacity: 1; transform: none; transition: none; animation: none !important;}
}

/* download_wrap */
.download_wrap {background: #f3fff8;}
.download_wrap .inner {display: flex; align-items: center; justify-content: space-between;}
.download_wrap .middle_line {width: 690px; height: 2px; background: #00af4a;}
.download_wrap .download {text-align: end;}
.download_wrap .download .text_wrap {margin-bottom: 10px;}
.download_wrap .download .text_wrap p {font-size: 16px; color: #00af4a; font-weight: 600; margin-bottom: 6px;}
.download_wrap .download .text_wrap h4 {font-size: 24px; color: #00af4a; font-weight: 700;}
.download_wrap .download a img {width: 102px;}

/* bottom_form */
.bottom_form {padding: 60px 0;}
.bottom_form .title_wrap {margin-bottom: 40px; text-align: center;}
.bottom_form .form_wrap form ul {display: flex; justify-content: space-between; align-items: flex-start;}
.bottom_form .form_wrap form ul li > div {display: flex; flex-direction: column;}
.bottom_form .form_wrap form ul li .title {font-size: 18px; font-weight: 600; margin-bottom: 10px;}
.bottom_form .form_wrap form ul li input:not([type="radio"]) {height: 50px; outline: none; border: 1px solid var(--border-color); border-radius: 10px; padding-left: 20px; box-sizing: border-box;}
.bottom_form .form_wrap form ul li .name_wrap input {width: 280px;}
.bottom_form .form_wrap form ul li .sex_wrap .title {margin-bottom: 10px;}
.bottom_form .form_wrap form ul li .sex_wrap .checkbox_wrap {display: flex; align-items: center; gap: 20px; height: 50px;}
.bottom_form .form_wrap form ul li .sex_wrap .checkbox_wrap > div { display: flex; align-items: center; gap: 8px;}
.bottom_form .form_wrap form ul li .sex_wrap input[type="radio"] { appearance: none; width: 20px; height: 20px; border: 1px solid var(--border-color); border-radius: 50%;  outline: none; position: relative; vertical-align: middle; margin: 0; transition: all .2s; cursor: pointer;}
.bottom_form .form_wrap form ul li .sex_wrap input[type="radio"]::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0); width: 10px; height: 10px; border-radius: 50%; background-color: var(--main-color);}
.bottom_form .form_wrap form ul li .sex_wrap input[type="radio"]:checked::after { transform: translate(-50%, -50%) scale(1);}
.bottom_form .form_wrap form ul li .sex_wrap .checkbox_wrap label {font-size: 16px; font-weight: 600; cursor: pointer;}
.bottom_form .form_wrap form ul li .birth_wrap input {width: 280px;}
.bottom_form .form_wrap form ul li .tel_wrap .input_box {display: flex; align-items: center; gap: 10px;}
.bottom_form .form_wrap form ul li .tel_wrap input {width: 320px;}
.bottom_form .form_wrap form ul li .tel_wrap select {height: 50px; border: 1px solid var(--border-color); border-radius: 10px; width: 110px; padding-left: 20px; font-family: inherit; font-weight: 600; cursor: pointer;}
.bottom_form .form_wrap form .button_wrap {margin-top: 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;}
.bottom_form .form_wrap form .button_wrap .kakao_wrap {position: relative; margin-top: 8px;}
@keyframes bubble-float { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, -10px); } }
.bottom_form .form_wrap form .button_wrap .kakao_wrap .balloon {position: absolute; top: -14px; left: 60px; animation: bubble-float 1.3s ease-in-out infinite; pointer-events: none;}
.bottom_form .form_wrap form .button_wrap .kakao_wrap .balloon p {background: #fff; border-radius: 100px; box-shadow: 0 0 3px rgba(115, 122, 118, .8); padding: 7px 13px; font-weight: 500; color: #737a76;}
.bottom_form .form_wrap form .button_wrap .kakao_wrap .balloon img {position: absolute; left: 50%; bottom: 0; transform: translate(-50%, 100%);}
.bottom_form .form_wrap form .button_wrap .kakao_wrap .btn_kakao {border-radius: 10px; width: 350px; height: 60px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 600; background: #f8db08; gap: 10px;}
.bottom_form .form_wrap form .button_wrap .kakao_wrap .btn_kakao img {width: 28px;}
.bottom_form .form_wrap form .button_wrap .btn_submit {background: #00703a; color: #fff; border-radius: 10px; width: 350px; height: 60px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 600;}
.bottom_form .form_wrap form .button_wrap .btn_naver {border-radius: 10px; width: 350px; height: 60px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 600; background: #03c75a; color: #fff; gap: 10px;}
.bottom_form .form_wrap form .button_wrap .btn_naver img {width: 28px;}

/* 메인 sec2 */
.naver_wrap {display: none;}

@media (min-width: 1025px) {
  .sec2.main_sec2 .content_wrap {align-items: stretch; justify-content: space-between; gap: 0;}

  .sec2.main_sec2 .form_wrap.no_naver {display: flex; flex-direction: column; justify-content: center;}
  .sec2.main_sec2 .bohum_wrap {flex: 1; min-width: 0; display: flex; flex-direction: column; padding-right: 70px; border-right: 1px solid var(--border-color); margin-right: 70px; overflow: hidden; padding-top: 30px;}
  .sec2.main_sec2 .bohum_wrap h4 {font-size: 32px; font-weight: 700; line-height: 1.6; margin-bottom: 60px;}
  .sec2.main_sec2 .bohum_wrap > ul {display: flex; flex-direction: column; gap: 0;}
  .sec2.main_sec2 .bohum_wrap > ul > li .bohum_swiper {margin-top: 20px; border-radius: 0;}
  .sec2.main_sec2 .bohum_mySwiper {padding: 0;}
  .sec2.main_sec2 .bohum_mySwiper .swiper-slide {justify-content: flex-start;}
  .sec2.main_sec2 .form_wrap {width: 440px; flex-shrink: 0;}
  .sec2.main_sec2 .naver_wrap {display: block; position: relative;}
  .sec2.main_sec2 .naver_wrap .balloon {position: absolute; top: -20px; right: 0; z-index: 1; animation: bubble-float 1.3s ease-in-out infinite; pointer-events: none;}
  .sec2.main_sec2 .naver_wrap .balloon p {background: #fff; border-radius: 100px; box-shadow: 0 0 3px rgba(115, 122, 118, .8); padding: 7px 13px; font-size: 16px; font-weight: 500; color: #737a76;}
  .sec2.main_sec2 .btn_naver {width: 100%; height: 60px; border-radius: 100px; background: #03a94d; color: #fff; font-size: 20px; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 10px;}
  .sec2.main_sec2 .btn_naver .n_icon {display: block; width: 22px; height: 22px; object-fit: contain; flex-shrink: 0;}
  .sec2.main_sec2 .direct_line {position: relative; text-align: center; margin: 24px 0 24px; font-size: 13px; color: #8a918d;}
  .sec2.main_sec2 .direct_line::before {content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid var(--border-color);}
  .sec2.main_sec2 .direct_line span {position: relative; background: #fff; padding: 0 12px; font-size: 16px; font-weight: 500; color: var(--sub-color);}
  .sec2.main_sec2 .form_wrap form ul {display: grid; grid-template-columns: 1fr auto; column-gap: 20px; row-gap: 18px; align-items: end;}
  .sec2.main_sec2 .form_wrap form ul li:nth-child(n+3) {grid-column: 1 / -1;}
  .sec2.main_sec2 .form_wrap form ul li .title {font-size: 18px; font-weight: 600; margin-bottom: 10px;}
  .sec2.main_sec2 .form_wrap form ul li input:not([type="radio"]) {width: 100%; height: 50px; font-size: 16px; padding-left: 16px;}
  .sec2.main_sec2 .form_wrap form ul li .name_wrap input,
  .sec2.main_sec2 .form_wrap form ul li .birth_wrap input,
  .sec2.main_sec2 .form_wrap form ul li .tel_wrap input {width: 100%;}
  .sec2.main_sec2 .form_wrap form ul li .tel_wrap .input_box {display: block;}
  .sec2.main_sec2 .form_wrap form ul li .sex_wrap .checkbox_wrap {height: 48px; gap: 14px;}
  .sec2.main_sec2 .form_wrap form ul li .sex_wrap .checkbox_wrap label {font-size: 16px; font-weight: 600;}
  .sec2.main_sec2 .form_wrap form ul li .sex_wrap input[type="radio"] {width: 16px; height: 16px;}
  .sec2.main_sec2 .form_wrap form ul li .sex_wrap input[type="radio"]::after {width: 8px; height: 8px;}
  .sec2.main_sec2 .form_wrap form .button_wrap {flex-direction: row-reverse; gap: 12px; margin-top: 24px;}
  .sec2.main_sec2 .form_wrap form .button_wrap > * {flex: 1;}
  .sec2.main_sec2 .form_wrap form .button_wrap .btn_submit {background: #00703a; width: 100%; height: 60px; font-size: 20px;}
  .sec2.main_sec2 .form_wrap form .button_wrap .kakao_wrap .btn_kakao {width: 100%; height: 60px; font-size: 20px;}
  .sec2.main_sec2 .form_wrap form .button_wrap .kakao_wrap .btn_kakao img {width: 20px;}
  .sec2.main_sec2 .form_wrap form .button_wrap .kakao_wrap .balloon {display: none;}
}

@media (min-width: 1025px) {
  .sec2.main_sec2 .naver_wrap .balloon p {position: relative;}
  .sec2.main_sec2 .naver_wrap .balloon::after {content: ""; position: absolute; left: 50%; bottom: -10px; width: 10px; height: 12px; margin-left: -5px; background: #fff; clip-path: polygon(0 0, 100% 0, 50% 100%); filter: drop-shadow(0 1px 1px rgba(115, 122, 118, .5));}
}

/* 메인/서브 sec2 */
@media (max-width: 1024px) {
  .sec2.main_sec2 .content_wrap {display: block; width: 100%;}
  .sec2.main_sec2 .bohum_wrap {display: block; padding: 0; margin: 0; border: 0;}
  .sec2.main_sec2 .bohum_wrap h4 {display: none;}
  .sec2.main_sec2 .bohum_wrap > ul > li:nth-child(n+2) {display: none;}
  .sec2.main_sec2 .bohum_swiper {margin: 0 auto 24px;}
  .sec2.main_sec2 .form_wrap {width: 100%;}
}

/* ===== 상단 폼(sec2.main_sec2) 반응형 보완 : index.php / sub.php 공통 ===== */
/* 1025~1240px : 고정폭 1050px 넘침 방지 */
@media (min-width: 1025px) and (max-width: 1240px) {

  .sec2.main_sec2 .content_wrap {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; width: 100%; max-width: 1050px;}
  .sec2.main_sec2 .bohum_wrap {padding-right: 40px; margin-right: 0;}
  .sec2.main_sec2 .bohum_wrap h4 {font-size: 28px; margin-bottom: 50px;}
  .sec2.main_sec2 .form_wrap {width: auto;}
}

/* 태블릿·모바일 */
@media (max-width: 1024px) {
  .sec2.main_sec2 .form_wrap {max-width: 640px; margin: 0 auto;}
  .sec2.main_sec2 .naver_wrap {display: block; position: relative;}
  .sec2.main_sec2 .naver_wrap .balloon {position: absolute; top: -18px; right: 14px; z-index: 1; animation: bubble-float 1.3s ease-in-out infinite; pointer-events: none;}
  .sec2.main_sec2 .naver_wrap .balloon p {position: relative; background: #fff; border-radius: 100px; box-shadow: 0 0 3px rgba(115, 122, 118, .8); padding: 6px 12px; font-size: 14px; font-weight: 500; color: #737a76;}
  .sec2.main_sec2 .naver_wrap .balloon::after {content: ""; position: absolute; left: 50%; bottom: -9px; width: 10px; height: 11px; margin-left: -5px; background: #fff; clip-path: polygon(0 0, 100% 0, 50% 100%); filter: drop-shadow(0 1px 1px rgba(115, 122, 118, .5));}
  .sec2.main_sec2 .btn_naver {width: 100%; height: 56px; border-radius: 100px; background: #03a94d; color: #fff; font-size: 18px; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 10px;}
  .sec2.main_sec2 .btn_naver .n_icon {display: block; width: 22px; height: 22px; object-fit: contain; flex-shrink: 0;}
  .sec2.main_sec2 .direct_line {position: relative; text-align: center; margin: 22px 0; color: var(--sub-color);}
  .sec2.main_sec2 .direct_line::before {content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid var(--border-color);}
  .sec2.main_sec2 .direct_line span {position: relative; background: #fff; padding: 0 12px; font-size: 15px; font-weight: 500;}

  .sec2.main_sec2 .form_wrap form .button_wrap {max-width: none;}
  .bottom_form .form_wrap form .button_wrap {max-width: 640px; margin-left: auto; margin-right: auto;}
  .sec2.main_sec2 .form_wrap form .button_wrap > * {flex: 1; min-width: 0;}
  .bottom_form .form_wrap form .button_wrap > * {flex: none; min-width: 0;}
  .sec2.main_sec2 .form_wrap form .button_wrap .kakao_wrap .btn_kakao,
  .sec2.main_sec2 .form_wrap form .button_wrap .btn_submit,
  .bottom_form .form_wrap form .button_wrap .kakao_wrap .btn_kakao,
  .bottom_form .form_wrap form .button_wrap .btn_submit {width: 100%;}
  .bottom_form .form_wrap {max-width: 640px; margin: 0 auto;}
}

/* 모바일 */
@media (max-width: 768px) {
  .sec2.main_sec2 .btn_naver {height: 52px; font-size: 16px;}
  .sec2.main_sec2 .naver_wrap .balloon {top: -16px; right: 10px;}
  .sec2.main_sec2 .naver_wrap .balloon p {font-size: 12px; padding: 4px 10px;}
  .sec2.main_sec2 .direct_line {margin: 18px 0;}
  .sec2.main_sec2 .direct_line span {font-size: 13px;}
  .sec2.main_sec2 .form_wrap form .button_wrap,
  .bottom_form .form_wrap form .button_wrap {max-width: none; flex-direction: column; align-items: stretch;}
  .sec2.main_sec2 .form_wrap form .button_wrap > *,
  .bottom_form .form_wrap form .button_wrap > * {flex: none; width: 100%;}
  .sec2.main_sec2 .form_wrap form .button_wrap .btn_submit,
  .bottom_form .form_wrap form .button_wrap .btn_submit {height: 54px; flex-shrink: 0;}
  .sec2.main_sec2 .form_wrap form ul li input:not([type="radio"]),
  .bottom_form .form_wrap form ul li input:not([type="radio"]) {font-size: 16px;}
}

/* 작은 모바일 */
@media (max-width: 360px) {
  .sec2 .form_wrap form ul,
  .bottom_form .form_wrap form ul {gap: 12px;}
  .sec2 .form_wrap form ul li .sex_wrap .checkbox_wrap,
  .bottom_form .form_wrap form ul li .sex_wrap .checkbox_wrap {gap: 10px;}
  .sec2 .form_wrap form ul li .sex_wrap .checkbox_wrap label,
  .bottom_form .form_wrap form ul li .sex_wrap .checkbox_wrap label {font-size: 14px;}
  .sec2.main_sec2 .btn_naver {font-size: 15px;}
}

.bohum_swiper {max-width: 100%; box-sizing: border-box;}
.sec2.main_sec2 .content_wrap,
.sec2.main_sec2 .bohum_wrap,
.sec2.main_sec2 .bohum_wrap > ul,
.sec2.main_sec2 .bohum_wrap > ul > li,
.sec2.main_sec2 .form_wrap {min-width: 0; max-width: 100%;}

@media (min-width: 1025px) {
  .sec2.main_sec2 .bohum_wrap > ul > li .bohum_swiper {width: 100%; margin-left: 0; margin-right: 0;}
}

@media (max-width: 1024px) {
  .sec2.main_sec2 .bohum_swiper {width: 100%; max-width: 640px;}
  .sec2.main_sec2 .bohum_wrap {overflow: hidden;}
}


/* sub.php */
.sub_sec1 {background: #00AF4A; background: linear-gradient(90deg, rgba(0, 175, 74, 1) 0%, rgba(84, 207, 150, 1) 100%); padding-top: 110px; height: 580px;}
.sub_sec1 .main_banner {display: flex; align-items: center; justify-content: space-between;}
.sub_sec1 .main_banner .img_wrap {height: 430px; display: flex; align-items: center; justify-content: flex-end;}
.sub_sec1 .main_banner .img_wrap .main_img {display: block; max-height: 100%; width: auto;}
.sub_sec1 .main_title_wrap h2 {font-size: 50px; font-weight: 800; color: var(--bg-color); line-height: 1.3; white-space: nowrap;}
.sub_sec1 .main_title_wrap h2 b {color: #ffff56;}
.sub_sec1 .main_title_wrap p {font-size: 20px; color: var(--bg-color); margin-top: 10px;}

.sub_sec3 .inner {display: flex; flex-direction: column; align-items: center; padding: 100px 0; border-bottom: 1px solid var(--border-color);}
.sub_sec3 h3 {font-size: 32px; font-weight: 700; margin-bottom: 40px;}
.sub_sec3 h3 b {color: var(--main-color);}
.sub_sec3 .point_box {margin-bottom: 40px; padding: 10px 16px; background: #ffff56; text-align: center;}
.sub_sec3 .point_box span {font-size: 32px; font-weight: 700;}
.sub_sec3 .point_wrap {margin-bottom: 40px; max-width: 100%;}
.sub_sec3 .point_wrap .point_box {margin-bottom: 0;}
.sub_sec3 .point_wrap .source {display: block; margin-top: 6px; text-align: right; font-size: 11px; font-weight: 400; font-style: normal; color: #666;}
.sub_sec3 .point_box span b { color: #007a34; font-weight: 700;}
.sub_sec3 .point_box span b:last-child {font-size: 40px; color: var(--main-color); font-weight: 800;}
.sub_sec3 p {font-size: 20px; color: var(--sub-color); line-height: 1.5; text-align: center;}
.sub_sec3 p b { color: #191c1a; font-weight: 500;}
.sub_sec3 span {font-size: inherit; line-height: inherit; text-align: center;}
.sub_sec3 span b { color: #191c1a; font-weight: 500;}
.sub_sec3 .table_wrap {width: 100%; max-width: 1000px; margin-top: 40px;}
.sub_sec3 .table_wrap table {width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed;}
.sub_sec3 .table_wrap table thead th {background: var(--main-color); height: 60px; color: var(--bg-color); font-size: 20px; font-weight: 700;}
.sub_sec3 .table_wrap table thead th:first-child {width: 170px;}
.sub_sec3 .table_wrap table thead th.title {font-size: 16px; font-weight: 600;}
.sub_sec3 .table_wrap table tbody td {border: 1px solid #dde4e0; height: 100px; font-size: 18px; font-weight: 500;}
.sub_sec3 .table_wrap table tbody td:first-child {width: 170px;}
.sub_sec3 .table_wrap table tbody td b {color: var(--main-color);}
.sub_sec3 .table_wrap table tbody td.title {border-color: #a0cab2; background: #e2f9ec; font-size: 16px; color: #007a34;}

.sub_sec4 .inner {display: flex; flex-direction: column; align-items: center; padding: 100px 0; border-bottom: 1px solid var(--border-color);}
.sub_sec4 h3 {font-size: 32px; font-weight: 700; margin-bottom: 40px;}
.sub_sec4 h3 b {color: var(--main-color);}
.sub_sec4 h3 b.vs {font-weight: 700; color: var(--sub-color);}
.sub_sec4 .table_wrap {width: 100%; max-width: 1000px;}
.sub_sec4 .table_wrap table {width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed;}
.sub_sec4 .table_wrap table thead th {background: var(--main-color); height: 60px; color: var(--bg-color); font-size: 20px; font-weight: 700;}
.sub_sec4 .table_wrap table thead th:first-child {width: 170px;}
.sub_sec4 .table_wrap table thead th.title {font-size: 16px; font-weight: 600;}
.sub_sec4 .table_wrap table tbody td {border: 1px solid #dde4e0; height: 100px; font-size: 18px; font-weight: 500; position: relative;}
.sub_sec4 .table_wrap table tbody td:first-child {width: 170px;}
.sub_sec4 .table_wrap table tbody td b {color: var(--main-color);}
.sub_sec4 .table_wrap table tbody td.title {border-color: #a0cab2; background: #e2f9ec; font-size: 16px; color: #007a34;}
.sub_sec4 .table_wrap table tbody td span {display: block; text-align: right; font-size: 10px; color: var(--sub-color); position: absolute; right: 5px; bottom: 5px;}
.sub_sec4 p {text-align: center; font-size: 24px; font-weight: 500; margin-top: 40px;}

.cancer_sec .inner {padding: 100px 0; border-bottom: 1px solid var(--border-color); display: flex; flex-direction: column; align-items: center;}
.cancer_sec h3 {font-size: 32px; font-weight: 700; margin-bottom: 40px;}
.cancer_sec h3 b {color: var(--main-color);}
.cancer_sec ul {display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; width: 100%;}
.cancer_sec ul li {padding: 40px 0; border-radius: 20px; display: flex; flex-direction: column; align-items: center; text-align: center; min-height: 260px;}
.cancer_sec ul li.yellow {background: #fffbe8;}
.cancer_sec ul li.green {background: #e2f9ec;}
.cancer_sec ul li h4 {font-size: 24px; font-weight: 700; margin-bottom: 40px;}
.cancer_sec ul li .desc_box {display: flex; flex: 1; flex-direction: column; justify-content: center; width: 100%;}
.cancer_sec ul li .desc_box p {font-size: 16px; font-weight: 500; line-height: 1.2;}
.cancer_sec ul li .desc_box span {display: block; font-weight: 400; color: var(--sub-color);}
.care_sec .inner {padding: 100px 0; border-bottom: 1px solid var(--border-color); display: flex; flex-direction: column; align-items: center;}
.care_sec h3 {font-size: 32px; font-weight: 700; margin-bottom: 40px; color: var(--sub-color);}
.care_sec h3 b {color: var(--main-color);}
.care_sec .card_list {display: flex; align-items: center; justify-content: center; gap: 30px;}
.care_sec .card_list .card_wrap {display: flex; flex-direction: column; align-items: center; border-radius: 20px; padding: 40px 0; width: 330px; gap: 20px;}
.care_sec .card_list .card_wrap.yellow {background: #fffbe8;}
.care_sec .card_list .card_wrap.green {background: #e2f9ec;}
.care_sec .card_list .card_wrap h4 {font-size: 24px; font-weight: 700;}
.care_sec .card_list .card_wrap p {font-size: 18px; font-weight: 500; line-height: 1.4; text-align: center;}
.care_sec .card_list .card_wrap p b {color: var(--main-color);}
.care_sec .card_list .card_wrap small {display: block; width: 100%; box-sizing: border-box; margin-top: -8px; font-size: 10px; line-height: 1.2; color: var(--sub-color); text-align: center; word-break: keep-all;}
.care_sec .card_list span {font-size: 32px; font-weight: 700; color: var(--sub-color);}

.sub_sec5 .inner {display: flex; flex-direction: column; align-items: center; padding: 100px 0; border-bottom: 1px solid var(--border-color);}
.sub_sec5 h3 {font-size: 32px; font-weight: 700; margin-bottom: 40px;}
.sub_sec5 h3 b {color: var(--main-color);}
.sub_sec5 ul {display: flex; align-items: center; justify-content: center; gap: 30px;}
.sub_sec5 ul li button {width: 280px; display: flex; flex-direction: column; align-items: center; background: #e2f9ec; border-radius: 10px; padding: 40px 10px 0; position: relative; overflow: hidden;}
.sub_sec5 ul li button {height: 330px;}
.sub_sec5 ul li.silbi button, .sub_sec5 ul li.total button {height: 310px;}
.sub_sec5 ul li.yellow button {background: #fffbe8;}
.sub_sec5 ul li button .text_wrap {margin-bottom: 16px;}
.sub_sec5 ul li button .text_wrap h4 {font-size: 26px; font-weight: 700; margin-bottom: 10px; line-height: 1.3;}
.sub_sec5 ul li button .text_wrap p {font-size: 16px; color: var(--sub-color); font-weight: 500; line-height: 1.2;}
.sub_sec5 ul li button .text_wrap p b {color: #007a34;}
.sub_sec5 ul li button small {display: block; text-align: start; font-size: 10px; color: var(--sub-color); line-height: 1.3; width: 100%; word-break: keep-all; overflow-wrap: break-word; box-sizing: border-box; padding-right: 70px; padding-bottom: 10px;}
.sub_sec5 ul li button .img_wrap {position: absolute; right: -1px; bottom: -1px; background: var(--bg-color); width: 60px; height: 60px; border-top-left-radius: 35px; display: flex; align-items: center; justify-content: center;}
.sub_sec5 ul li button .img_wrap::before {content:""; position: absolute; bottom: 100%; right: 0; width: 30px; height: 30px; background: transparent; border-bottom-right-radius:15px; box-shadow: 10px 10px 0 0 var(--bg-color);}
.sub_sec5 ul li button .img_wrap::after {content:""; position: absolute; right: 100%; bottom: 0; width: 30px; height: 30px; background: transparent; border-bottom-right-radius:15px; box-shadow: 10px 10px 0 var(--bg-color);}

/* 치아보험 sub_sec5 */
.sub_sec5 .sec5_desc {font-size: 20px; color: var(--sub-color); line-height: 1.5; text-align: center; margin: -10px 0 40px;}
.sub_sec5 .sec5_desc b {color: #191c1a; font-weight: 500;}

/* sub_sec5 제목 아래 문구 */
.sub_sec5 h3:has(+ .sec5_note) {margin-bottom: 20px;}
.sub_sec5 .sec5_note {font-size: 14px; color: var(--sub-color); text-align: center; margin-bottom: 40px;}
@media (max-width: 1024px) {
  .sub_sec5 h3:has(+ .sec5_note) {margin-bottom: 16px;}
  .sub_sec5 .sec5_note {font-size: 13px; margin-bottom: 30px;}
}
@media (max-width: 768px) {
  .sub_sec5 h3:has(+ .sec5_note) {margin-bottom: 12px;}
  .sub_sec5 .sec5_note {font-size: 12px; margin-bottom: 24px;}
}
@media (max-width: 480px) {
  .sub_sec5 h3:has(+ .sec5_note) {margin-bottom: 10px;}
  .sub_sec5 .sec5_note {font-size: 11px; margin-bottom: 20px;}
}

/* sub_sec5 */
.sub_sec5 .notice_btn {display: inline-flex; align-items: center; gap: 6px; margin-top: 40px; padding: 6px 12px; border: 1px solid #007a34; border-radius: 30px; font-size: 16px; font-weight: 600; cursor: pointer; color: #007a34;}
.sub_sec5 .notice_btn .arrow {width: 16px; height: 16px; display: block; transform: rotate(180deg); transition: transform .3s;}
.sub_sec5 .notice_btn.open .arrow {transform: none;}
.sub_sec5 .notice_card {display: grid; grid-template-rows: 0fr; width: 100%; max-width: 840px; transition: grid-template-rows .35s ease, margin-top .35s ease;}
.sub_sec5 .notice_card.open {grid-template-rows: 1fr; margin-top: 20px;}
.sub_sec5 .notice_card .notice_body {overflow: hidden; background: #f2f8f4; border-radius: 10px;}
.sub_sec5 .notice_card ul {display: block; padding: 21px 0;}
.sub_sec5 .notice_card li {display: block; flex: none; width: 100%; max-width: none; font-size: 14px; color: var(--sub-color); line-height: 1.4; text-align: center; word-break: keep-all; text-wrap: balance;}
.sub_sec5 .notice_card li::before {content: "※ ";}
.sub_sec5 .notice_card ul {padding-left: 20px; padding-right: 20px;}
@media (max-width: 768px) {
  .sub_sec5 .notice_btn {margin-top: 32px; font-size: 15px;}
  .sub_sec5 .notice_card.open {margin-top: 16px;}
  .sub_sec5 .notice_card li {font-size: 13px;}
}
@media (max-width: 480px) {
  .sub_sec5 .notice_btn {margin-top: 28px; padding: 5px 10px; font-size: 14px;}
  .sub_sec5 .notice_card.open {margin-top: 14px;}
  .sub_sec5 .notice_card ul {padding: 16px 14px;}
  .sub_sec5 .notice_card li {font-size: 12px; line-height: 1.5;}
  .sub_sec5 .notice_card li + li {margin-top: 6px;}
}

/* dental_sec */
.dental_sec .inner {display: flex; flex-direction: column; align-items: center; padding: 100px 0; border-bottom: 1px solid var(--border-color);}
.dental_sec h3 {font-size: 32px; font-weight: 700; margin-bottom: 40px; text-align: center; line-height: 1.3;}
.dental_sec h3 b {color: var(--main-color);}
.dental_sec .dental_sec_desc {font-size: 20px; color: var(--sub-color); text-align: center; line-height: 1.4; margin: -10px 0 40px;}
.dental_sec .dental_sec_desc b {color: #191c1a; font-weight: 500;}
.dental_sec .period_wrap {display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%;}
.dental_sec .period_wrap .start {font-size: 24px; font-weight: 700; flex-shrink: 0;}
.dental_sec .period_wrap .arrow {flex-shrink: 0; display: block; width: auto; height: auto;}
.dental_sec .period_card {flex: 1; min-width: 0; max-width: 250px; height: 200px; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #e2f9ec; border-radius: 20px; text-align: center;}
.dental_sec .period_card.yellow {background: #fffbe8;}
.dental_sec .period_card .period {font-size: 24px; font-weight: 700; margin-bottom: 30px;}
.dental_sec .period_card h4 {font-size: 28px; font-weight: 800; color: var(--main-color); margin-bottom: 16px;}
.dental_sec .period_card .desc {font-size: 16px; font-weight: 500;}

.sub_sec3 .table_wrap table th,
.sub_sec3 .table_wrap table td,
.sub_sec4 .table_wrap table th,
.sub_sec4 .table_wrap table td {text-wrap: balance; word-break: keep-all;}

/* =====================================================================
   반응형 (1set 과 같은 기준)
   - PC(1241px 이상)는 위의 스타일 그대로
   - 1240px 이하 : 가로 폭 유동 (좌우 여백)
   - 1024px 이하 : 태블릿 (햄버거 메뉴)
   - 768px 이하  : 모바일
   ===================================================================== */

/* ---------- 1240px 이하 ---------- */
@media (max-width: 1240px) {
  body {min-width: 0;}
  .inner {width: 100%; padding: 0 20px; box-sizing: border-box;}
  main {word-break: keep-all;}
  header .nav_wrap ul {gap: 18px;}
  header .nav_wrap ul li a {padding: 8px 8px;}
  .sec4 .inner,
  .sub_sec3 .inner,
  .sub_sec4 .inner,
  .sub_sec5 .inner,
  .cancer_sec .inner,
  .care_sec .inner {width: auto; margin: 0 20px; padding-left: 0; padding-right: 0; box-sizing: border-box;}
  /* 폼 */
  .sec2 .form_wrap form ul,
  .bottom_form .form_wrap form ul {gap: 16px;}
  .sec2 .form_wrap form ul li .name_wrap input,
  .sec2 .form_wrap form ul li .birth_wrap input,
  .bottom_form .form_wrap form ul li .name_wrap input,
  .bottom_form .form_wrap form ul li .birth_wrap input {width: 200px;}
  .sec2 .form_wrap form ul li .tel_wrap input,
  .bottom_form .form_wrap form ul li .tel_wrap input {width: 220px;}
  /* 서브 상단 배너 / 메인 슬라이드 */
  .sub_sec1 .main_title_wrap h2 {font-size: 42px; white-space: normal;}
  .sub_sec1 .main_banner .img_wrap {width: 45%; max-width: 520px; flex-shrink: 1;}
  .sub_sec1 .main_banner .img_wrap .main_img {max-width: 100%; height: auto;}
  .sec1 ul li.card_sub .title_wrap h2 {font-size: 42px;}
  .sec1 ul li.card_sub .inner > img {width: 45%; max-width: 520px; height: auto; flex-shrink: 1;}
  .sec3 .inner > img,
  .sec5 .inner > .logo_burst {max-width: 45%; height: auto;}
  /* 메인 sec4 */
  .sec4 .img_wrap {margin-right: 120px;}
  .sec4 .img_wrap::after {right: -120px;}
  .download_wrap .middle_line {width: auto; flex: 1; margin: 0 30px;}

  .sec1 ul li.card1 p {line-height: 1.4;}
  .sec1 ul li.card1 h2 {line-height: 1.2;}
  .sec1 ul li.card1 span,
  .sec1 ul li.card1 small {line-height: 1.4;}
  .sec1 ul li.card_sub .title_wrap p {line-height: 1.4;}
  .sec2 .title_wrap h3,
  .bottom_form .title_wrap h3 {line-height: 1.3;}
  .sec3 .title_wrap span {line-height: 1.3;}
  .sec3 .title_wrap h3,
  .sec4 .title_wrap h3,
  .sec5 .title_wrap h3 {line-height: 1.3;}
  .sec3 .title_wrap p,
  .sec4 .title_wrap p,
  .sec5 .title_wrap p {line-height: 1.4;}
  .sub_sec1 .main_title_wrap h2 {line-height: 1.3;}
  .sub_sec1 .main_title_wrap p {line-height: 1.4;}
  .sub_sec3 h3,
  .sub_sec4 h3,
  .sub_sec5 h3,
  .cancer_sec h3,
  .care_sec h3 {line-height: 1.3;}
  .sub_sec3 p,
  .sub_sec4 p {line-height: 1.4;}
  .sub_sec3 .table_wrap table tbody td,
  .sub_sec4 .table_wrap table tbody td,
  .sub_sec3 .table_wrap table thead th,
  .sub_sec4 .table_wrap table thead th {line-height: 1.3;}
  .cancer_sec ul li h4 {line-height: 1.3;}
  .cancer_sec ul li .desc_box p {line-height: 1.4;}
  .care_sec .card_list .card_wrap h4 {line-height: 1.3;}
  .sub_sec5 ul li button .text_wrap h4 {line-height: 1.3; font-size: 22px;}
  .sub_sec5 ul li button .text_wrap p {line-height: 1.35;}
  .download_wrap .download .text_wrap h4 {line-height: 1.3;}

  .sub_sec5 ul li button small {padding-right: 64px; padding-top: 8px; margin-top: auto; line-height: 1.35;}

  .sub_sec5 ul {align-items: stretch;}
  .sub_sec5 ul li {display: flex;}
  .sub_sec5 ul li button,
  .sub_sec5 ul li.silbi button, .sub_sec5 ul li.total button,
  .sub_sec5 ul li.driver button, .sub_sec5 ul li.cancer button, .sub_sec5 ul li.care button, .sub_sec5 ul li.dental button {height: auto; flex: 1; min-height: 310px; padding-bottom: 16px;}

  .dental_sec .inner {width: auto; margin: 0 20px; padding-left: 0; padding-right: 0; box-sizing: border-box;}
}

/* ---------- 1024px 이하 (태블릿) ---------- */
@media (max-width: 1024px) {
  /* HEADER - 햄버거 메뉴 (header 에 menu_open 클래스가 붙으면 펼침, js/header.js) */
  header {padding: 15px 0; z-index: 100;}
  header .inner {position: static;}
  header .inner > div:last-child:empty {display: none;}
  header .btn_menu {display: block; order: 2;}
  header .btn_menu img {filter: brightness(0) invert(1);}
  /* 모바일: 로그인 아이콘 대신, 메뉴가 열렸을 때만 닫기 버튼 왼쪽에 텍스트로 표시 */
  header .login_wrap {display: none;}
  header.menu_open .login_text {display: block; order: 1; margin: 0 16px 0 auto; font-size: 15px; font-weight: 600; color: var(--bg-color);}
  header.menu_open .btn_menu .icon_menu {display: none;}
  header.menu_open .btn_menu .icon_close {display: block;}
  header .nav_wrap {position: absolute; top: 100%; left: 0; width: 100%; background: #fff; box-shadow: 0 8px 16px rgba(0, 0, 0, .08); max-height: 0; overflow: hidden; transition: max-height .3s ease;}
  header.menu_open .nav_wrap {max-height: 700px;}
  header .nav_wrap ul {flex-direction: column; align-items: stretch; gap: 0; padding: 0 20px; border-top: 1px solid var(--border-color);}
  header .nav_wrap ul li {border-bottom: 1px solid var(--border-color);}
  header .nav_wrap ul li:last-child {border-bottom: 0;}
  header .nav_wrap ul li a {display: block; font-size: 17px; padding: 16px 4px; color: #191c1a;}
  header .nav_wrap ul li.active a {border-bottom: 0; color: var(--main-color);}
  /* 메뉴 열렸을 때 - 배경 어둡게 + 스크롤 막기 */
  html.menu_lock .menu_dim {opacity: 1; visibility: visible;}
  html.menu_lock,
  html.menu_lock body {overflow: hidden;}
  /* SECTION 1 */
  .sec1 ul li {height: 520px; padding-top: 70px;}
  .sec1 ul li .planb {width: 1200px; max-width: none; top: -60px;}
  .sec1 ul li.card1 p {font-size: 24px; margin-bottom: 24px;}
  .sec1 ul li.card1 h2 {font-size: 72px; margin-bottom: 24px;}
  .sec1 ul li.card1 span {font-size: 24px;}
  .sec1 ul li.card1 small {font-size: 20px;}
  .sec1 ul li.card_sub .inner {align-items: center; gap: 20px;}
  .sec1 ul li.card_sub .title_wrap h2 {font-size: 38px;}
  .sec1 ul li.card_sub .title_wrap a {font-size: 17px; margin-top: 24px;}
  .sec1 ul li.card_sub .title_wrap p {font-size: 17px;}
  .sec1 ul li.card_sub .inner > img {width: 42%; max-width: 420px; height: auto; flex-shrink: 0;}
  .autoplay-controls {bottom: 25px;}
  /* 폼 */
  .sec2 {padding: 40px 0;}
  .bottom_form {padding: 50px 0;}
  .sec2 .title_wrap,
  .bottom_form .title_wrap {margin-bottom: 30px;}
  /* 보험사 띠: 폼 아래가 아니라 '보험료 간편 확인' 제목보다 위로 */
  .sec2 .inner {display: flex; flex-direction: column;}
  .sec2 .inner .bohum_swiper {order: -1; margin: 0 auto 24px;}
  .sec2 .title_wrap h3,
  .bottom_form .title_wrap h3 {font-size: 26px;}
  .sec2 .form_wrap form ul,
  .bottom_form .form_wrap form ul {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;}
  .sec2 .form_wrap form ul li input:not([type="radio"]),
  .bottom_form .form_wrap form ul li input:not([type="radio"]) {width: 100%;}
  .sec2 .form_wrap form ul li .name_wrap input,
  .sec2 .form_wrap form ul li .birth_wrap input,
  .bottom_form .form_wrap form ul li .name_wrap input,
  .bottom_form .form_wrap form ul li .birth_wrap input {width: 100%;}
  .sec2 .form_wrap form ul li .tel_wrap input,
  .bottom_form .form_wrap form ul li .tel_wrap input {width: auto; flex: 1; min-width: 0;}
  .sec2 .form_wrap form ul li .tel_wrap select,
  .bottom_form .form_wrap form ul li .tel_wrap select {flex-shrink: 0; width: 100px;}
  .sec2 .form_wrap form .button_wrap .kakao_wrap .btn_kakao,
  .sec2 .form_wrap form .button_wrap .btn_submit,
  .bottom_form .form_wrap form .button_wrap .kakao_wrap .btn_kakao,
  .bottom_form .form_wrap form .button_wrap .btn_submit,
  .sec2 .form_wrap form .button_wrap .btn_naver,
  .bottom_form .form_wrap form .button_wrap .btn_naver {width: 300px; font-size: 18px;}

  /* SECTION 3 / 4 / 5 */
  .sec3 {padding: 70px 0;}
  .sec3 .inner,
  .sec5 .inner {flex-direction: column; gap: 40px; text-align: center;}
  .sec3 .title_wrap span {font-size: 34px; margin-bottom: 14px;}
  .sec3 .title_wrap h3,
  .sec4 .title_wrap h3,
  .sec5 .title_wrap h3 {font-size: 40px;}
  .sec3 .title_wrap p,
  .sec4 .title_wrap p,
  .sec5 .title_wrap p {font-size: 20px;}
  .sec3 .inner > img,
  .sec5 .inner > .logo_burst {max-width: 70%; width: 480px;}
  .sec4 .inner {flex-direction: column; gap: 40px; padding-top: 70px; padding-bottom: 70px; text-align: center;}
  .sec4 .img_wrap {margin-right: 0; width: 240px;}
  .sec4 .img_wrap::after {display: none;}
  .sec4 .img_wrap .swiper {overflow: hidden; clip-path: none;}
  .sec5 {padding: 70px 0;}

  /* 서브 배너 */
  .sub_sec1 {height: 440px; padding-top: 0; display: flex; align-items: center; box-sizing: border-box;}
  .sub_sec1 .inner {margin-top: 80px;}
  .sub_sec1 .main_title_wrap h2 {font-size: 38px; white-space: normal;}
  .sub_sec1 .main_title_wrap p {font-size: 18px;}
  .sub_sec1 .main_banner .img_wrap {width: 40%; max-width: 360px; height: auto;}

  /* 서브 sec3 / sec4 */
  .sub_sec3 .inner,
  .sub_sec4 .inner,
  .sub_sec5 .inner,
  .cancer_sec .inner,
  .care_sec .inner {padding-top: 70px; padding-bottom: 70px;}
  .sub_sec3 h3,
  .sub_sec4 h3,
  .sub_sec5 h3,
  .cancer_sec h3,
  .care_sec h3 {font-size: 28px; text-align: center; margin-bottom: 30px;}
  .sub_sec3 p {font-size: 18px;}
  .sub_sec3 .point_wrap {margin-bottom: 30px;}
  .sub_sec3 .point_box {margin-bottom: 0; padding: 8px 14px;}
  .sub_sec3 .point_box span {font-size: 26px;}
  .sub_sec3 .point_box span b:last-child {font-size: 32px;}
  .sub_sec4 p {font-size: 20px; margin-top: 30px;}
  .sub_sec3 .table_wrap table thead th:first-child,
  .sub_sec3 .table_wrap table tbody td:first-child,
  .sub_sec4 .table_wrap table thead th:first-child,
  .sub_sec4 .table_wrap table tbody td:first-child {width: 110px;}
  .sub_sec3 .table_wrap table thead th,
  .sub_sec4 .table_wrap table thead th {font-size: 17px;}
  .sub_sec3 .table_wrap table tbody td,
  .sub_sec4 .table_wrap table tbody td {font-size: 16px; height: 84px;}

  /* 서브 cancer / care */
  .cancer_sec ul {gap: 20px;}
  .cancer_sec ul li {padding: 30px 12px;}
  .cancer_sec ul li h4 {font-size: 20px; margin-bottom: 24px;}
  .care_sec .card_list {gap: 16px;}
  .care_sec .card_list .card_wrap {width: 280px; padding: 30px 10px;}
  .care_sec .card_list .card_wrap img {max-width: 100%; height: auto;}
  .care_sec .card_list .card_wrap h4 {font-size: 22px;}
  .care_sec .card_list .card_wrap p {font-size: 16px;}

  /* 서브 sec5 */
  .sub_sec5 ul {gap: 16px; width: 100%;}
  .sub_sec5 ul li {flex: 1; min-width: 0; max-width: 280px;}
  .sub_sec5 ul li button {width: 100%;}
  .sub_sec5 ul li button img:not(.angle) {max-width: 100%; height: auto;}
  .sub_sec5 ul li button .text_wrap h4 {font-size: 18px;}
  .sub_sec5 ul li button .text_wrap p {font-size: 14px;}

  .sub_sec4 .table_wrap table tbody td {padding: 10px 12px;}
  .sub_sec3 .table_wrap table thead th,
  .sub_sec3 .table_wrap table tbody td,
  .sub_sec4 .table_wrap table thead th {padding-left: 12px; padding-right: 12px;}
  /* 출처(span)는 작은 화면에서도 칸의 우측 하단에 absolute 로 유지 */
  .sub_sec4 .table_wrap table tbody td span {max-width: calc(100% - 10px); text-align: right; line-height: 1.35; word-break: keep-all;}

  .dental_sec .inner {padding-top: 70px; padding-bottom: 70px;}
  .dental_sec h3 {font-size: 28px; margin-bottom: 20px;}
  .dental_sec .dental_sec_desc {font-size: 18px; margin: 0 0 30px;}
  .dental_sec .period_wrap .start {font-size: 20px;}
  .dental_sec .period_card {height: 170px;}
  .dental_sec .period_card .period {font-size: 20px; margin-bottom: 20px;}
  .dental_sec .period_card h4 {font-size: 24px; margin-bottom: 12px;}
  .dental_sec .period_card .desc {font-size: 14px;}
  .dental_sec .period_wrap .arrow {width: 10px;}
}

/* ---------- 768px 이하 (모바일) ---------- */
@media (max-width: 768px) {
  .br76 {display: block !important;}

  .inner {padding: 0 16px;}
  .sec4 .inner,
  .sub_sec3 .inner,
  .sub_sec4 .inner,
  .sub_sec5 .inner,
  .cancer_sec .inner,
  .care_sec .inner {margin: 0 16px;}

  /* HEADER */
  header {padding: 12px 0;}
  header .logo_wrap img {height: 28px; width: auto;}
  header .btn_menu img {width: 28px;}
  header .nav_wrap ul {padding: 0 16px;}
  header .nav_wrap ul li a {font-size: 16px; padding: 14px 4px;}

  /* SECTION 1 */
  .sec1 ul li {height: 460px; padding-top: 55px;}
  .sec1 ul li .planb {width: 680px; top: 50%; transform: translate(-50%, -50%);}
  .sec1 ul li.card1 {display: flex; align-items: center; justify-content: center; padding-top: 60px; padding-bottom: 40px;}
  .sec1 ul li.card1 .inner {width: 100%; text-align: center;}
  .sec1 ul li.card1 h2,
  .sec1 ul li.card1 small {text-align: center;}
  .sec1 ul li.card1 p {font-size: 17px; text-align: center; margin-bottom: 18px;}
  .sec1 ul li.card1 h2 {font-size: 48px; margin-bottom: 18px;}
  .sec1 ul li.card1 span {font-size: 16px; text-align: center;}
  .sec1 ul li.card1 small {font-size: 14px;}
  .sec1 ul li.card_sub .inner {flex-direction: column; align-items: center; gap: 16px; text-align: center;}
  .sec1 ul li.card_sub .title_wrap h2 {font-size: 25px;}
  .sec1 ul li.card_sub .title_wrap a {font-size: 14px; padding: 8px 14px; margin: 16px auto 0;}
  .sec1 ul li.card_sub .title_wrap p {font-size: 13px; margin-top: 6px;}
  .sec1 ul li.card_sub .inner > img {width: 200px; max-width: 60%;}
  .autoplay-controls {bottom: 16px;}

  /* 폼 */
  .sec2 {padding: 30px 0;}
  .bottom_form {padding: 40px 0;}
  .sec2 .title_wrap,
  .bottom_form .title_wrap {margin-bottom: 24px;}
  .sec2 .inner .bohum_swiper {margin-bottom: 16px;}
  .sec2 .title_wrap h3,
  .bottom_form .title_wrap h3 {font-size: 20px;}
  .sec2 .form_wrap form ul,
  .bottom_form .form_wrap form ul {grid-template-columns: 1fr auto; gap: 16px;}
  .sec2 .form_wrap form ul li:nth-child(n+3),
  .bottom_form .form_wrap form ul li:nth-child(n+3) {grid-column: 1 / -1;}
  .sec2 .form_wrap form ul li .title,
  .bottom_form .form_wrap form ul li .title {font-size: 15px; margin-bottom: 8px;}
  .sec2 .form_wrap form ul li input:not([type="radio"]),
  .bottom_form .form_wrap form ul li input:not([type="radio"]) {height: 46px; padding-left: 14px;}
  .sec2 .form_wrap form ul li .tel_wrap select,
  .bottom_form .form_wrap form ul li .tel_wrap select {height: 46px; width: 90px; padding-left: 14px;}
  .sec2 .form_wrap form ul li .sex_wrap .checkbox_wrap,
  .bottom_form .form_wrap form ul li .sex_wrap .checkbox_wrap {height: 46px; gap: 14px;}
  .sec2 .form_wrap form .button_wrap,
  .bottom_form .form_wrap form .button_wrap {flex-direction: column; gap: 10px; margin-top: 24px;}
  .sec2 .form_wrap form .button_wrap .kakao_wrap,
  .bottom_form .form_wrap form .button_wrap .kakao_wrap {width: 100%; margin-top: 6px;}
  .sec2 .form_wrap form .button_wrap .kakao_wrap .btn_kakao,
  .sec2 .form_wrap form .button_wrap .btn_submit,
  .bottom_form .form_wrap form .button_wrap .kakao_wrap .btn_kakao,
  .bottom_form .form_wrap form .button_wrap .btn_submit,
  .sec2 .form_wrap form .button_wrap .btn_naver,
  .bottom_form .form_wrap form .button_wrap .btn_naver {width: 100%; height: 54px; font-size: 17px;}
  .sec2 .form_wrap form .button_wrap .kakao_wrap .btn_kakao img,
  .bottom_form .form_wrap form .button_wrap .kakao_wrap .btn_kakao img,
  .sec2 .form_wrap form .button_wrap .btn_naver img,
  .bottom_form .form_wrap form .button_wrap .btn_naver img {width: 24px;}
  .sec2 .form_wrap form .button_wrap .kakao_wrap .balloon,
  .bottom_form .form_wrap form .button_wrap .kakao_wrap .balloon {z-index: 1;}
  .sec2 .form_wrap form .button_wrap .kakao_wrap .balloon p,
  .bottom_form .form_wrap form .button_wrap .kakao_wrap .balloon p {font-size: 13px; padding: 5px 10px;}

  /* SECTION 3 / 4 / 5 (메인) */
  .sec3 {padding: 50px 0;}
  .sec3 .inner,
  .sec5 .inner {gap: 30px;}
  .sec3 .title_wrap span {font-size: 20px; margin-bottom: 10px;}
  .sec3 .title_wrap h3,
  .sec4 .title_wrap h3,
  .sec5 .title_wrap h3 {font-size: 26px; margin-bottom: 14px;}
  .sec3 .title_wrap p,
  .sec4 .title_wrap p,
  .sec5 .title_wrap p {font-size: 15px;}
  .sec3 .inner > img,
  .sec5 .inner > .logo_burst {max-width: 85%; width: 320px;}
  .sec4 .inner {gap: 30px; padding-top: 50px; padding-bottom: 50px;}
  .sec4 .img_wrap {width: 200px;}
  .sec5 {padding: 50px 0;}

  /* 서브 상단 배너 */
  .sub_sec1 {height: auto; min-height: 420px; padding: 0 0 20px; display: flex; align-items: center; box-sizing: border-box;}
  .sub_sec1 .inner {margin-top: 70px;}
  .sub_sec1 .main_banner {flex-direction: column; align-items: center; text-align: center; gap: 20px;}
  .sub_sec1 .main_title_wrap h2 {font-size: 26px;}
  .sub_sec1 .main_title_wrap p {font-size: 15px;}
  .sub_sec1 .main_banner .img_wrap {width: 240px; max-width: 70%; justify-content: center;}

  /* 서브 sec3 / sec4 */
  .sub_sec3 .inner,
  .sub_sec4 .inner,
  .sub_sec5 .inner,
  .cancer_sec .inner,
  .care_sec .inner {padding-top: 50px; padding-bottom: 50px;}
  .sub_sec3 h3,
  .sub_sec4 h3,
  .sub_sec5 h3,
  .cancer_sec h3,
  .care_sec h3 {font-size: 22px; margin-bottom: 24px;}
  .sub_sec3 p {font-size: 15px;}
  .sub_sec3 .point_wrap {margin-bottom: 24px;}
  .sub_sec3 .point_box {margin-bottom: 0; padding: 6px 10px;}
  .sub_sec3 .point_box span {font-size: 18px; line-height: 1.4; word-break: keep-all;}
  .sub_sec3 .point_box span b:last-child {font-size: 24px;}
  .sub_sec3 .table_wrap {margin-top: 30px;}
  .sub_sec4 p {font-size: 16px; margin-top: 24px;}
  .sub_sec3 .table_wrap table thead th:first-child,
  .sub_sec3 .table_wrap table tbody td:first-child,
  .sub_sec4 .table_wrap table thead th:first-child,
  .sub_sec4 .table_wrap table tbody td:first-child {width: 17%;}
  .sub_sec3 .table_wrap table thead th,
  .sub_sec4 .table_wrap table thead th {font-size: 13px; height: 44px; padding: 0 8px; word-break: keep-all;}
  .sub_sec3 .table_wrap table thead th.title,
  .sub_sec4 .table_wrap table thead th.title,
  .sub_sec3 .table_wrap table tbody td.title,
  .sub_sec4 .table_wrap table tbody td.title {font-size: 11px;}
  .sub_sec3 .table_wrap table tbody td {font-size: 12px; height: 64px; padding: 6px 8px; word-break: keep-all;}
  .sub_sec4 .table_wrap table tbody td {font-size: 12px; height: 64px; padding-left: 8px; padding-right: 8px; word-break: keep-all;}
  .sub_sec4 .table_wrap table tbody td span {font-size: 8px;}
  .sub_sec4 .table_wrap table tbody tr:has(td span) td {height: 92px;}

  /* cancer / care  */
  .cancer_sec ul {grid-template-columns: 1fr; gap: 14px;}
  .cancer_sec ul li {min-height: 0; padding: 26px 16px; border-radius: 16px;}
  .cancer_sec ul li h4 {font-size: 18px; margin-bottom: 16px;}
  .cancer_sec ul li .desc_box p {font-size: 15px;}
  .care_sec .card_list {flex-direction: column; width: 100%; gap: 10px;}
  .care_sec .card_list .card_wrap {width: 100%; max-width: 360px; box-sizing: border-box; border-radius: 16px; padding: 26px 16px;}
  .care_sec .card_list .card_wrap h4 {font-size: 20px;}
  .care_sec .card_list .card_wrap p {font-size: 15px;}
  .care_sec .card_list .card_wrap small {font-size: 11px; padding: 0 14px; margin-top: -4px;}
  .care_sec .card_list span {font-size: 24px;}


  /* 서브 sec5  */
  .sub_sec5 ul {gap: 10px;}
  .sub_sec5 ul li {max-width: none;}
  .sub_sec5 ul li button {padding: 24px 8px 54px;}
  .sub_sec5 ul li button .text_wrap {margin-bottom: 10px;}
  .sub_sec5 ul li button .text_wrap h4 {font-size: 16px; margin-bottom: 6px;}
  .sub_sec5 ul li button .text_wrap p {font-size: 12px;}
  .sub_sec5 ul li button img:not(.angle) {max-width: 80%;}
  .sub_sec5 ul li button small {font-size: 9px; padding-right: 50px;}
  .sub_sec5 ul li button .img_wrap {width: 44px; height: 44px; border-top-left-radius: 26px;}
  .sub_sec5 ul li button .img_wrap .angle {width: 28px; height: auto;}
  .sub_sec5 ul li button,
  .sub_sec5 ul li.silbi button, .sub_sec5 ul li.total button,
  .sub_sec5 ul li.driver button, .sub_sec5 ul li.cancer button, .sub_sec5 ul li.care button, .sub_sec5 ul li.dental button {min-height: 0; padding-bottom: 54px;}

  .sub_sec5 ul li button:has(small),
  .sub_sec5 ul li.silbi button:has(small), .sub_sec5 ul li.total button:has(small),
  .sub_sec5 ul li.driver button:has(small), .sub_sec5 ul li.cancer button:has(small), .sub_sec5 ul li.care button:has(small), .sub_sec5 ul li.dental button:has(small) {padding-bottom: 14px;}

  .sub_sec5 .sec5_desc {font-size: 15px; margin: -6px 0 24px;}


  .download_wrap .inner {padding-top: 10px;}
  .download_wrap .inner > img {width: 110px; height: auto;}
  .download_wrap .middle_line {margin: 0 20px;}
  .download_wrap .download .text_wrap p {font-size: 13px;}
  .download_wrap .download .text_wrap h4 {font-size: 18px;}
  .download_wrap .download a img {width: 90px;}


  .dental_sec .inner {margin: 0 16px; padding-top: 50px; padding-bottom: 50px;}
  .dental_sec h3 {font-size: 22px; margin-bottom: 14px;}
  .dental_sec .dental_sec_desc {font-size: 15px; margin: 0 0 24px;}
  .dental_sec .period_wrap {flex-direction: column; gap: 8px;}
  .dental_sec .period_wrap .start {font-size: 18px;}
  .dental_sec .period_wrap .arrow {transform: rotate(90deg); width: 10px; margin: 2px 0;}
  .dental_sec .period_card {flex: none; width: 100%; max-width: 320px; height: 140px; border-radius: 16px;}
  .dental_sec .period_card .period {font-size: 17px; margin-bottom: 14px;}
  .dental_sec .period_card h4 {font-size: 22px; margin-bottom: 8px;}
}


/* ---------- 480px 이하 ---------- */
@media (max-width: 480px) {
  .br48 {display: block !important;}
  .pcbr {display: none !important;}

  .sec1 ul li.card1 h2 {font-size: 42px;}
  .sec1 ul li .planb {width: 460px;}


  .sub_sec3 .table_wrap table thead th {font-size: 11px; padding-left: 5px; padding-right: 5px;}
  .sub_sec3 .table_wrap table thead th.title,
  .sub_sec4 .table_wrap table thead th.title,
  .sub_sec3 .table_wrap table tbody td.title,
  .sub_sec4 .table_wrap table tbody td.title {font-size: 10px;}
  .sub_sec3 .table_wrap table tbody td {font-size: 11px; height: 56px; padding: 4px 5px;}
  .sub_sec3 .table_wrap table thead th:first-child,
  .sub_sec3 .table_wrap table tbody td:first-child,
  .sub_sec4 .table_wrap table thead th:first-child,
  .sub_sec4 .table_wrap table tbody td:first-child {width: 14%;}


  .sub_sec4 .table_wrap table tbody td {font-size: 11px; height: 56px; padding-left: 5px; padding-right: 5px;}
  .sub_sec4 .table_wrap table thead th {font-size: 11px; padding-left: 5px; padding-right: 5px;}
  .sub_sec4 .table_wrap table tbody td span {font-size: 7px; right: 4px; bottom: 3px;}
  .sub_sec4 .table_wrap table tbody tr:has(td span) td {height: 84px;}
  .download_wrap .middle_line {display: none;}


  .sub_sec5 ul {flex-direction: column; gap: 12px;}
  .sub_sec5 ul li {width: 100%; max-width: 320px;}
  .sub_sec5 ul li button {padding: 26px 12px 54px;}
  .sub_sec5 ul li button .text_wrap h4 {font-size: 20px;}
  .sub_sec5 ul li button .text_wrap p {font-size: 14px;}
  .sub_sec5 ul li button img:not(.angle) {max-width: 55%;}
  .sub_sec5 ul li button .img_wrap {width: 48px; height: 48px;}

  .sub_sec5 ul li button small {padding-right: 54px;}

  .sub_sec5 ul {align-items: center;}
  .sub_sec5 ul li {width: 100%; max-width: 320px;}

  .sub_sec5 ul li button,
  .sub_sec5 ul li.silbi button, .sub_sec5 ul li.total button,
  .sub_sec5 ul li.driver button, .sub_sec5 ul li.cancer button, .sub_sec5 ul li.care button, .sub_sec5 ul li.dental button {padding-bottom: 16px;}
}

/* ---------- 400px 이하 ---------- */
@media (max-width: 400px) {
  .sub_sec4 .table_wrap table tbody td span {font-size: 6px; line-height: 1.3;}
}

/* 치아보험 카드 */
@media (min-width: 1025px) {
  .sub_sec5 ul:has(li.dental) {width: 100%; gap: 20px;}
  .sub_sec5 ul li.dental {flex: 1; min-width: 0; max-width: 280px;}
  .sub_sec5 ul li.dental button {width: 100%;}
}


/* login.php */
.login_sec {padding: 160px 0 100px; background: linear-gradient(90deg, rgba(0, 175, 74, 1) 0%, rgba(84, 207, 150, 1) 100%); min-height: 480px; box-sizing: border-box;}
.login_sec .login_box {width: 1000px; max-width: 100%; margin: 0 auto; padding: 48px 40px; background: #fff; border-radius: 16px; box-shadow: 0 0 20px rgba(0, 0, 0, .1); text-align: center; box-sizing: border-box;}
.login_sec .login_box h2 {font-size: 28px; font-weight: 800; margin-bottom: 10px;}
.login_sec .login_box h2 {line-height: 1.35; letter-spacing: -0.05em; margin-bottom: 100px;}
.login_sec .login_box h2 b {color: var(--main-color);}
.login_sec .sns_login {display: flex; flex-direction: column; gap: 20px;}
.login_sec .sns_login_btn {width: 100%; height: 65px; border: 0; border-radius: 6px; padding: 0 16px; display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer;}
.login_sec .sns_login_btn .icon {display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; flex-shrink: 0;}
.login_sec .sns_login_btn .icon img {width: 24px; height: 24px; object-fit: contain;}
.login_sec .sns_login_btn .txt {font-size: 18px; font-weight: 600; letter-spacing: -0.05em; color: inherit;}
.login_sec .sns_login_btn.kko {background: #fad500; color: #171717;}
.login_sec .sns_login_btn.naver {background: #07b253; color: #fff;}


/* mypage.php */
.mypage_sec {padding: 160px 0 100px; background: linear-gradient(90deg, rgba(0, 175, 74, 1) 0%, rgba(84, 207, 150, 1) 100%); min-height: 480px; box-sizing: border-box;}
.mypage_sec .inner {width: 1000px; max-width: 100%;}
.mypage_sec .mypage_title {font-size: 32px; font-weight: 700; color: #fff; letter-spacing: -0.05em; margin-bottom: 30px;}
.mypage_sec .panel {background: #fff; border-radius: 16px; box-shadow: 0 0 20px rgba(0, 0, 0, .1); box-sizing: border-box;}
.mypage_sec .profile_card {padding: 48px 60px;}
.mypage_sec .profile_card h3 {font-size: 24px; font-weight: 700; color: #171717; margin-bottom: 40px;}
.mypage_sec .info_list > div {margin-bottom: 28px;}
.mypage_sec .info_list > div:last-child {margin-bottom: 0;}
.mypage_sec .info_list dt {font-size: 16px; font-weight: 500; color: #777; margin-bottom: 8px;}
.mypage_sec .info_list dd {font-size: 20px; font-weight: 600; color: #171717;}
.mypage_sec .social_value {display: flex; align-items: center; gap: 12px; flex-wrap: wrap;}
.mypage_sec .social_badge {width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; overflow: hidden;}
.mypage_sec .social_badge img {width: 17px; height: 17px; object-fit: contain;}
.mypage_sec .social_badge.kko {background: #fad500;}
.mypage_sec .social_badge.naver {background: #07b253;}
.mypage_sec .action_card {margin-top: 24px; padding: 8px 60px;}
.mypage_sec .action_row {display: flex; align-items: center; justify-content: space-between; min-height: 70px; border-bottom: 1px solid #f1f1f1; font-size: 18px; font-weight: 500; color: #6b6b6b; text-decoration: none;}
.mypage_sec button.action_row {width: 100%; padding: 0; background: none; border: 0; border-bottom: 1px solid #f1f1f1; font-family: inherit; text-align: left; cursor: pointer;}
.mypage_sec .action_row:last-child {border-bottom: 0;}
.mypage_sec .action_row .arrow {width: 10px; height: 10px; border-top: 2px solid #666; border-right: 2px solid #666; transform: rotate(45deg); margin-right: 3px;}
@media (max-width: 768px) {
  .mypage_sec {padding: 110px 0 60px;}
  .mypage_sec .inner {width: 100%; padding: 0 16px; box-sizing: border-box;}
  .mypage_sec .mypage_title {font-size: 26px; margin-bottom: 20px;}
  .mypage_sec .profile_card {padding: 28px 22px;}
  .mypage_sec .profile_card h3 {font-size: 20px; margin-bottom: 28px;}
  .mypage_sec .info_list dd {font-size: 18px;}
  .mypage_sec .action_card {padding: 4px 22px;}
  .mypage_sec .action_row {min-height: 56px; font-size: 16px;}
}


/* service.php */
.terms_sec {padding: 70px 0; background: linear-gradient(90deg, rgba(0, 175, 74, 1) 0%, rgba(84, 207, 150, 1) 100%); min-height: 480px; box-sizing: border-box;}
.terms_sec .inner {width: 1000px; max-width: 100%;}
.terms_sec .terms_title {font-size: 32px; font-weight: 700; color: #fff; letter-spacing: -0.05em; margin-bottom: 30px;}
.terms_sec .panel {background: #fff; border-radius: 16px; box-shadow: 0 0 20px rgba(0, 0, 0, .1); box-sizing: border-box;}
.terms_sec .terms_card {padding: 50px 60px;}
.terms_sec .terms_card h3 {font-size: 24px; font-weight: 700; color: #171717; margin-bottom: 40px;}
.terms_sec .terms_chapter {margin-bottom: 40px;}
.terms_sec .terms_chapter:last-child {margin-bottom: 0;}
.terms_sec .terms_chapter h4 {font-size: 20px; font-weight: 700; color: #00af4a; padding-bottom: 12px; margin-bottom: 20px; border-bottom: 1px solid #f1f1f1; line-height: 1.4;}
.terms_sec .terms_article {margin-bottom: 24px;}
.terms_sec .terms_article h5 {font-size: 17px; font-weight: 600; color: #171717; margin-bottom: 8px;}
.terms_sec .terms_article p {font-size: 15px; font-weight: 400; line-height: 1.7; color: #555; margin-bottom: 4px; word-break: keep-all;}
.terms_sec .terms_article p.sub {padding-left: 16px;}
.terms_sec .terms_article p strong {font-weight: 600; color: #171717;}
.page_terms {min-height: 100vh; display: flex; flex-direction: column;}
.page_terms main {flex: 1; display: flex; flex-direction: column;}
.page_terms .terms_sec {flex: 1; display: flex; flex-direction: column; justify-content: start;}
.page_terms .terms_sec {padding: 40px 0; min-height: 0;}
@media (max-width: 768px) {
  .page_terms .terms_sec {padding: 20px 0;}
  .terms_sec {padding: 110px 0 60px;}
  .terms_sec .inner {width: 100%; padding: 0 16px; box-sizing: border-box;}
  .terms_sec .terms_title {font-size: 26px; margin-bottom: 20px;}
  .terms_sec .terms_card {padding: 28px 22px;}
  .terms_sec .terms_card h3 {font-size: 20px; margin-bottom: 28px;}
  .terms_sec .terms_chapter h4 {font-size: 18px;}
  .terms_sec .terms_article h5 {font-size: 16px;}
  .terms_sec .terms_article p {font-size: 14px;}
}


/* withdraw.php */
.withdraw_sec {padding: 160px 0 100px; background: linear-gradient(90deg, rgba(0, 175, 74, 1) 0%, rgba(84, 207, 150, 1) 100%); min-height: 480px; box-sizing: border-box;}
.withdraw_sec .inner {width: 1000px; max-width: 100%;}
.withdraw_sec .withdraw_title {font-size: 32px; font-weight: 700; color: #fff; letter-spacing: -0.05em; line-height: 1.35; margin-bottom: 30px;}
.withdraw_sec .mb_br {display: none;}
.withdraw_sec .panel {background: #fff; border-radius: 16px; box-shadow: 0 0 20px rgba(0, 0, 0, .1); box-sizing: border-box;}
.withdraw_sec .withdraw_form {margin: 0;}
.withdraw_sec .withdraw_notice {padding: 40px 50px;}
.withdraw_sec .withdraw_notice p {font-size: 17px; font-weight: 500; line-height: 1.6; color: #555; margin-bottom: 8px;}
.withdraw_sec .withdraw_notice p:last-child {margin-bottom: 0;}
.withdraw_sec .withdraw_notice p.gap {margin-top: 24px;}
.withdraw_sec .withdraw_agree {display: flex; justify-content: flex-end; margin: 24px 0 36px;}
.withdraw_sec .wd_check {display: inline-flex; align-items: center; gap: 12px; cursor: pointer; font-size: 16px; font-weight: 500; line-height: 1.4; color: #171717; user-select: none;}
.withdraw_sec .withdraw_agree .wd_check,
.withdraw_sec .withdraw_agree .wd_check .txt {color: #fff;}
.withdraw_sec .wd_check input {position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; pointer-events: none;}
.withdraw_sec .wd_check .box {position: relative; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 6px; background: #d9d9d9; transition: background-color .15s ease;}
.withdraw_sec .wd_check .box::after {content: ""; position: absolute; top: 50%; left: 50%; width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: translate(-50%, -60%) rotate(45deg);}
.withdraw_sec .wd_check input:checked + .box {background: var(--main-color);}
.withdraw_sec .withdraw_agree .wd_check input:checked + .box {background: #fff;}
.withdraw_sec .withdraw_agree .wd_check input:checked + .box::after {border-color: var(--main-color);}
.withdraw_sec .wd_check input:focus-visible + .box {outline: 2px solid var(--main-color); outline-offset: 2px;}
.withdraw_sec .withdraw_reason {padding: 40px 50px 44px;}
.withdraw_sec .withdraw_reason h3 {font-size: 24px; font-weight: 700; color: #171717; margin-bottom: 12px;}
.withdraw_sec .withdraw_reason .sub {font-size: 16px; font-weight: 600; color: #555;}
.withdraw_sec .reason_list {margin-top: 32px; display: flex; flex-direction: column; gap: 20px;}
.withdraw_sec .reason_list .wd_check {align-self: flex-start;}
.withdraw_sec .etc_input {width: 100%; height: 52px; border: 1px solid #d8dce1; border-radius: 10px; padding: 0 16px; font-size: 16px; color: #171717; box-sizing: border-box; margin-top: 4px;}
.withdraw_sec .etc_input::placeholder {color: #b0b4ba;}
.withdraw_sec .etc_input:focus {outline: none; border-color: var(--main-color);}
.withdraw_sec .etc_input:disabled {background: #f5f6f8; cursor: not-allowed;}
.withdraw_sec .withdraw_submit {margin-top: 40px; display: flex; justify-content: center;}
.withdraw_sec .btn_withdraw {min-width: 240px; height: 60px; border: 0; border-radius: 22px; background: #fff; color: var(--main-color); font-size: 18px; font-weight: 600; cursor: pointer; transition: opacity .15s ease;}
.withdraw_sec .btn_withdraw:not(:disabled):hover {opacity: .9;}
.withdraw_sec .btn_withdraw:disabled {background: rgba(255, 255, 255, .45); color: rgba(255, 255, 255, .85); cursor: not-allowed;}

.wd_modal {display: none; position: fixed; inset: 0; z-index: 100000; align-items: center; justify-content: center; padding: 24px; box-sizing: border-box;}
.wd_modal.is-open {display: flex;}
.wd_modal .backdrop {position: absolute; inset: 0; background: rgba(0, 0, 0, .5);}
.wd_modal .dialog {position: relative; width: 100%; max-width: 400px; background: #fff; border-radius: 20px; padding: 42px 30px 30px; box-shadow: 0 10px 40px rgba(0, 0, 0, .25); text-align: center; box-sizing: border-box;}
.wd_modal .modal_title {font-size: 24px; font-weight: 700; line-height: 1.35; color: #171717; margin-bottom: 20px;}
.wd_modal .modal_title .accent {display: block; color: var(--main-color);}
.wd_modal .modal_desc {font-size: 16px; font-weight: 500; line-height: 1.6; color: #171717; margin-bottom: 30px;}
.wd_modal .modal_confirm {width: 250px; max-width: 100%; height: 52px; border: 0; border-radius: 14px; background: var(--main-color); color: #fff; font-size: 17px; font-weight: 600; cursor: pointer;}
body.modal_open {overflow: hidden;}
@media (max-width: 768px) {
  .withdraw_sec {padding: 110px 0 60px;}
  .withdraw_sec .inner {width: 100%; padding: 0 16px; box-sizing: border-box;}
  .withdraw_sec .withdraw_title {font-size: 26px; margin-bottom: 20px;}
  .withdraw_sec .mb_br {display: block;}
  .withdraw_sec .withdraw_notice {padding: 28px 22px;}
  .withdraw_sec .withdraw_notice p {font-size: 15px;}
  .withdraw_sec .withdraw_agree {margin: 20px 0 28px;}
  .withdraw_sec .withdraw_agree .wd_check {font-size: 14px;}
  .withdraw_sec .withdraw_reason {padding: 28px 22px 32px;}
  .withdraw_sec .withdraw_reason h3 {font-size: 20px;}
  .withdraw_sec .reason_list {margin-top: 24px; gap: 16px;}
  .withdraw_sec .wd_check {font-size: 15px;}
  .withdraw_sec .btn_withdraw {width: 100%; height: 54px; font-size: 17px;}
  .wd_modal .dialog {padding: 34px 22px 24px;}
  .wd_modal .modal_title {font-size: 21px;}
  .wd_modal .modal_desc {font-size: 15px;}
}


/* ===== 화재 · 정기/종신 · 펫 · 보장분석 · 어린이/상해 ===== */
/* fire_sec */
.fire_sec .inner {display: flex; flex-direction: column; align-items: center; padding: 100px 0; border-bottom: 1px solid var(--border-color);}
.fire_sec h3 {font-size: 32px; font-weight: 700; margin-bottom: 40px; text-align: center; line-height: 1.3;}
.fire_sec h3 b {color: var(--main-color);}
.fire_sec .qna_list {display: flex; flex-direction: column; gap: 50px; width: 100%; max-width: 1040px; padding: 0 20px; box-sizing: border-box;}
.fire_sec .qna_list li {display: flex; flex-direction: column;}
.fire_sec .bubble {border-radius: 10px; font-size: 18px; font-weight: 500; line-height: 1.5; word-break: keep-all;}
.fire_sec .bubble.question {align-self: flex-start; background: #e2f9ec; padding: 16px 30px; font-weight: 700; color: #191c1a;}
.fire_sec .bubble.answer {align-self: flex-end; background: #fffbe8; padding: 20px 30px; text-align: right; max-width: 520px;}
.fire_sec .bubble {position: relative;}
.fire_sec .bubble::after {content: ""; position: absolute; top: 0; width: 32px; height: 21px; background: no-repeat center / 100% 100%;}
.fire_sec .bubble.question {border-top-left-radius: 0;}
.fire_sec .bubble.answer {border-top-right-radius: 0;}
.fire_sec .bubble.question::after {right: calc(100% - 12px); background-image: url('../images/fire/green_bubble.png');}
.fire_sec .bubble.answer::after {left: calc(100% - 12px); background-image: url('../images/fire/yellow_bubble.png');}
.fire_sec .bubble p {font-size: 20px; font-weight: 700;}
.fire_sec .bubble.answer p {font-weight: 500;}
.fire_sec .bubble.answer small {display: block; margin-top: 4px; font-size: 10px; line-height: 1.3; color: var(--sub-color);}

@media (max-width: 1024px) {
  .fire_sec .inner {padding-top: 70px; padding-bottom: 70px;}
  .fire_sec h3 {font-size: 28px; margin-bottom: 30px;}
  .fire_sec .qna_list {gap: 40px;}
  .fire_sec .bubble p {font-size: 18px;}
  .fire_sec .bubble.answer {max-width: 80%;}
}

@media (max-width: 768px) {
  .fire_sec .inner {width: auto; margin: 0 20px; padding: 50px 0; box-sizing: border-box;}
  .fire_sec h3 {font-size: 22px; margin-bottom: 24px;}
  .fire_sec .qna_list {gap: 32px; padding: 0 16px;}
  .fire_sec .qna_list li {gap: 20px;}
  .fire_sec .bubble::after {width: 26px; height: 17px;}
  .fire_sec .bubble.question::after {right: calc(100% - 10px);}
  .fire_sec .bubble.answer::after {left: calc(100% - 10px);}
  .fire_sec .bubble p {font-size: 16px;}
  .fire_sec .bubble.question {padding: 14px 20px; max-width: 100%;}
  .fire_sec .bubble.answer {padding: 16px 20px; max-width: 100%;}
}

@media (max-width: 480px) {
  .fire_sec .inner {margin: 0 16px;}
  .fire_sec .qna_list {gap: 26px; padding: 0 12px;}
  .fire_sec .qna_list li {gap: 14px;}
  .fire_sec .bubble::after {width: 22px; height: 14px;}
  .fire_sec .bubble.question::after {right: calc(100% - 8px);}
  .fire_sec .bubble.answer::after {left: calc(100% - 8px);}
  .fire_sec .bubble p {font-size: 14px;}
  .fire_sec .bubble.question {padding: 12px 16px;}
  .fire_sec .bubble.answer {padding: 14px 16px;}
  .fire_sec .bubble.answer br {display: none;}
}


/* jong_sec */
.jong_sec1 .inner {display: flex; flex-direction: column; align-items: center; padding: 100px 0; border-bottom: 1px solid var(--border-color);}
.jong_sec1 h3 {font-size: 32px; font-weight: 700; margin-bottom: 40px; text-align: center;}
.jong_sec1 h3 b {color: var(--main-color);}
.jong_sec1 .jong_sec_desc {font-size: 20px; color: var(--sub-color); text-align: center; margin-bottom: 40px; line-height: 1.2;}
.jong_sec1 .jong_cards {display: flex; justify-content: center; gap: 30px; width: 100%;}
.jong_sec1 .jong_card {flex: 1; max-width: 400px; min-height: 172px; box-sizing: border-box; padding: 40px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #e2f9ec; border-radius: 20px; text-align: center;}
.jong_sec1 .jong_card.yellow {background: #fffbe8;}
.jong_sec1 .jong_card h4 {font-size: 24px; font-weight: 700; margin-bottom: 30px;}
.jong_sec1 .jong_card p {font-size: 16px; font-weight: 500; line-height: 1.3; word-break: keep-all;}


/* care_sec 를 정기/종신에서 쓸 때 */
.care_sec.jong h3 {color: #191c1a;}
.care_sec .card_list .card_wrap.left {width: 360px; box-sizing: border-box; padding: 40px 0;}
.care_sec .card_list .card_wrap.left p {text-align: left; font-size: 18px; line-height: 1.4; font-weight: 500;}
.care_sec .card_list .card_wrap p span {font-size: 12px; color: var(--sub-color); font-weight: 500;}


/* card_sec */
.jong_sec2 .inner {display: flex; flex-direction: column; align-items: center; padding: 100px 0; border-bottom: 1px solid var(--border-color);}
.jong_sec2 h3 {font-size: 32px; font-weight: 700; margin-bottom: 40px; text-align: center; line-height: 1.3;}
.jong_sec2 h3 b {color: var(--main-color);}
.jong_sec2 ul {display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; width: 100%; max-width: 1140px;}
.jong_sec2 ul li {display: flex; flex-direction: column; align-items: center; padding: 40px 0; border-radius: 10px; background: #e2f9ec;}
.jong_sec2 ul li.yellow {background: #fffbe8;}
.jong_sec2 ul li h4 {font-size: 24px; font-weight: 700; margin-bottom: 20px; text-align: center;}
.jong_sec2 ul li img {display: block; max-width: 100%; height: auto; margin-bottom: 20px;}
.jong_sec2 ul li p {font-size: 18px; font-weight: 500; line-height: 1.4; text-align: left; word-break: keep-all;}

@media (max-width: 1240px) {
  .jong_sec1 .inner,
  .jong_sec2 .inner {width: auto; margin: 0 20px; padding-left: 0; padding-right: 0; box-sizing: border-box;}
}

@media (max-width: 1024px) {
  .jong_sec1 .inner,
  .jong_sec2 .inner {padding-top: 70px; padding-bottom: 70px;}
  .jong_sec1 h3,
  .jong_sec2 h3 {font-size: 28px; margin-bottom: 30px;}
  .jong_sec1 h3 {margin-bottom: 16px;}
  .jong_sec1 .jong_sec_desc {margin-bottom: 30px;}
  .care_sec .card_list .card_wrap.left {width: 300px;}
  .jong_sec2 ul {gap: 16px;}
  .jong_sec2 ul li {padding: 30px 20px; box-sizing: border-box;}
  .jong_sec2 ul li h4 {font-size: 20px; margin-bottom: 16px;}
  .jong_sec2 ul li img {max-width: 80%;}
  .jong_sec2 ul li p {font-size: 15px;}
}

@media (max-width: 768px) {
  .jong_sec1 .inner,
  .jong_sec2 .inner {margin: 0 16px; padding-top: 50px; padding-bottom: 50px;}
  .jong_sec1 h3,
  .jong_sec2 h3 {font-size: 22px; margin-bottom: 24px;}
  .jong_sec1 h3 {margin-bottom: 12px;}
  .jong_sec1 .jong_sec_desc {font-size: 14px; margin-bottom: 24px;}
  .jong_sec1 .jong_cards {flex-direction: column; align-items: center; gap: 10px;}
  .jong_sec1 .jong_card {width: 100%; max-width: 360px; min-height: 0; padding: 24px 16px;}
  .jong_sec1 .jong_card h4 {font-size: 18px; margin-bottom: 14px;}
  .jong_sec1 .jong_card p {font-size: 13px;}
  .care_sec .card_list .card_wrap.left {width: 100%; max-width: 360px;}
  .care_sec .card_list .card_wrap.left p {font-size: 14px;}
  .jong_sec2 ul {grid-template-columns: 1fr; max-width: 360px; gap: 10px;}
  .jong_sec2 ul li {padding: 24px 16px;}
  .jong_sec2 ul li h4 {font-size: 18px; margin-bottom: 14px;}
  .jong_sec2 ul li img {max-width: 60%;}
  .jong_sec2 ul li p {font-size: 14px;}
}

@media (max-width: 480px) {
  .jong_sec2 .inner {margin: 0 12px; padding-top: 40px; padding-bottom: 40px;}
  .jong_sec2 h3 {font-size: 20px; margin-bottom: 20px;}
  .jong_sec2 ul {max-width: 100%;}
  .jong_sec2 ul li {padding: 20px 14px;}
  .jong_sec2 ul li h4 {font-size: 17px;}
  .jong_sec2 ul li p {font-size: 13px;}
}


/* pet_sec1 */
.pet_sec1 .inner {display: flex; flex-direction: column; align-items: center; padding: 100px 0; border-bottom: 1px solid var(--border-color);}
.pet_sec1 h3 {font-size: 32px; font-weight: 700; margin-bottom: 40px; text-align: center; line-height: 1.3;}
.pet_sec1 h3 b {color: var(--main-color);}
.pet_sec1 .pet_boxes {display: flex; flex-direction: column; gap: 30px; width: 100%; max-width: 800px;}
.pet_sec1 .pet_box {display: flex; align-items: center; gap: 40px; padding: 40px; box-sizing: border-box; border-radius: 20px; background: #e2f9ec;}
.pet_sec1 .pet_box.yellow {background: #fffbe8;}
.pet_sec1 .pet_head {display: flex; flex-direction: column; align-items: center; gap: 8px; flex-shrink: 0; width: 160px;}
.pet_sec1 .pet_head h4 {font-size: 24px; font-weight: 700;}
.pet_sec1 .pet_head img {display: block; max-width: 100%; height: auto;}
.pet_sec1 .pet_list {display: flex; flex-direction: column; gap: 32px; flex: 1; min-width: 0;}
.pet_sec1 .pet_list strong {display: block; font-size: 18px; font-weight: 500; margin-bottom: 4px;}
.pet_sec1 .pet_list p {font-size: 18px; color: var(--sub-color); line-height: 1.4; word-break: keep-all; padding-left: 20px; position: relative;}
.pet_sec1 .pet_list p::before {content: "•"; position: absolute; left: 2px;}


/* pet_sec2 */
.pet_sec2 .inner {display: flex; flex-direction: column; align-items: center; padding: 100px 0; border-bottom: 1px solid var(--border-color);}
.pet_sec2 h3 {font-size: 32px; font-weight: 700; margin-bottom: 40px; text-align: center; line-height: 1.3;}
.pet_sec2 h3 b {color: var(--main-color);}
.pet_sec2 .check_list {display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; width: 100%; max-width: 1060px;}
.pet_sec2 .check_list li {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 30px; min-height: 150px; padding: 40px; box-sizing: border-box; border-radius: 20px; text-align: center; background: #e2f9ec;}
.pet_sec2 .check_list li.yellow {background: #fffbe8;}
.pet_sec2 .check_list li h4 {font-size: 24px; font-weight: 700;}
.pet_sec2 .check_list li p {font-size: 14px; font-weight: 500; line-height: 1.4; word-break: keep-all;}

@media (min-width: 1241px) {
  .sub_sec5 ul li.pet button,
  .sub_sec5 ul li.bojang button {height: 330px;}
}

@media (max-width: 1240px) {
  .pet_sec1 .inner,
  .pet_sec2 .inner {width: auto; margin: 0 20px; padding-left: 0; padding-right: 0; box-sizing: border-box;}
}

@media (max-width: 1024px) {
  .pet_sec1 .inner,
  .pet_sec2 .inner {padding-top: 70px; padding-bottom: 70px;}
  .pet_sec1 h3,
  .pet_sec2 h3 {font-size: 28px; margin-bottom: 30px;}
  .pet_sec1 .pet_box {gap: 30px; padding: 30px 36px;}
  .pet_sec2 .check_list {gap: 16px;}
  .pet_sec2 .check_list li {min-height: 130px; padding: 24px 12px;}
  .pet_sec2 .check_list li h4 {font-size: 19px;}
  .pet_sec2 .check_list li p {font-size: 13px;}
}

@media (max-width: 768px) {
  .pet_sec1 .inner,
  .pet_sec2 .inner {margin: 0 16px; padding-top: 50px; padding-bottom: 50px;}
  .pet_sec1 h3,
  .pet_sec2 h3 {font-size: 22px; margin-bottom: 24px;}
  .pet_sec1 .pet_boxes {gap: 14px; max-width: 480px;}
  .pet_sec1 .pet_box {flex-direction: column; align-items: stretch; gap: 20px; padding: 26px 20px; border-radius: 16px;}
  .pet_sec1 .pet_head {width: auto; flex-direction: row; justify-content: center; gap: 14px;}
  .pet_sec1 .pet_head h4 {font-size: 20px;}
  .pet_sec1 .pet_head img {max-width: 110px;}
  .pet_sec1 .pet_list {gap: 14px;}
  .pet_sec1 .pet_list strong {font-size: 15px;}
  .pet_sec1 .pet_list p {font-size: 13px;}
  .pet_sec2 .check_list {grid-template-columns: repeat(2, 1fr); gap: 10px; max-width: 480px;}
  .pet_sec2 .check_list li {min-height: 110px; gap: 10px; padding: 20px 10px; border-radius: 16px;}
  .pet_sec2 .check_list li h4 {font-size: 17px;}
  .pet_sec2 .check_list li p {font-size: 12px;}
}

@media (max-width: 480px) {
  .pet_sec1 .inner,
  .pet_sec2 .inner {margin: 0 12px; padding-top: 40px; padding-bottom: 40px;}
  .pet_sec1 h3,
  .pet_sec2 h3 {font-size: 20px; margin-bottom: 20px;}
  .pet_sec1 .pet_box {padding: 22px 16px;}
  .pet_sec2 .check_list li {min-height: 100px; padding: 16px 8px;}
  .pet_sec2 .check_list li h4 {font-size: 16px;}
}


/* 치아보험 카드 */
@media (min-width: 1025px) {
  .sub_sec5 ul:has(li.dental),
  .sub_sec5 ul:has(li.fire),
  .sub_sec5 ul:has(li.bojang),
  .sub_sec5 ul:has(li.sanghae, li.child) {width: 100%; gap: 20px;}
  .sub_sec5 ul li.dental,
  .sub_sec5 ul li.fire,
  .sub_sec5 ul li.bojang,
  .sub_sec5 ul li.sanghae,
  .sub_sec5 ul li.child {flex: 1; min-width: 0; max-width: 280px;}
  .sub_sec5 ul li.dental button,
  .sub_sec5 ul li.fire button,
  .sub_sec5 ul li.bojang button,
  .sub_sec5 ul li.sanghae button,
  .sub_sec5 ul li.child button {width: 100%;}
  .sub_sec5 ul li.fire button img:not(.angle),
  .sub_sec5 ul li.sanghae button img:not(.angle),
  .sub_sec5 ul li.child button img:not(.angle) {max-width: 100%; height: auto;}
}

.sub_sec5 ul li.fire button .text_wrap h4 {overflow-wrap: anywhere;}

@media (max-width: 1240px) {
  .sub_sec5 ul li.fire button .text_wrap h4 {font-size: 20px;}
}


/* 481~768px: 카드 2x2 */
@media (min-width: 481px) and (max-width: 768px) {
  .sub_sec5 ul:has(li.fire),
  .sub_sec5 ul:has(li.sanghae, li.child) {flex-wrap: wrap; justify-content: center; gap: 12px;}
  .sub_sec5 ul li.fire,
  .sub_sec5 ul li.sanghae,
  .sub_sec5 ul li.child {flex: 0 0 calc(50% - 6px); max-width: none;}
}

.bojang_sec .inner {display: flex; flex-direction: column; align-items: center; padding: 100px 0; border-bottom: 1px solid var(--border-color);}
.bojang_sec h3 {font-size: 32px; font-weight: 700; margin-bottom: 20px; text-align: center; line-height: 1.3;}
.bojang_sec h3 b {color: var(--main-color);}
.bojang_sec .bojang_desc {font-size: 20px; color: var(--sub-color); text-align: center; line-height: 1.4; margin-bottom: 40px;}
.bojang_sec .bojang_desc b {color: #191c1a; font-weight: 500;}
.bojang_sec .phone {position: relative; width: 300px; max-width: 100%;}
.bojang_sec .phone .frame {display: block; width: 100%; height: auto;}
.bojang_sec .phone .screen {position: absolute; top: 2.5%; left: 4.5%; right: 4.5%; bottom: 2.5%; display: flex; flex-direction: column; padding: 0 18px 24px; border-radius: 36px; overflow: hidden;}
.bojang_sec .phone .time {font-size: 12px; font-weight: 700; margin: 21px 0 0 15px;}
.bojang_sec .phone .bars {display: flex; justify-content: space-between; margin-top: 80px; padding: 0 6px;}
.bojang_sec .phone .bar {display: flex; flex-direction: column; align-items: center; width: 51px;}
.bojang_sec .phone .bar .track {display: flex; align-items: flex-end; width: 100%; height: 186px; background: #dfe3e0; border-radius: 6px;}
.bojang_sec .phone .bar .track i {display: block; width: 100%; background: var(--main-color); border-radius: 6px;}
.bojang_sec .phone .bar.yellow .track i {background: #edb82b;}
.bojang_sec .phone .bar b {margin-top: 10px; font-size: 14px; font-weight: 600; white-space: nowrap;}
.bojang_sec .phone .bar small {margin-top: 10px; font-size: 12px; color: var(--sub-color); font-weight: 500;}
.bojang_sec .phone .result {display: flex; align-items: center; gap: 6px; margin-top: 24px; padding: 14px 16px; border-radius: 10px; background: #e2f9ec; font-size: 12px; line-height: 1.3;}
.bojang_sec .phone .result em {flex-shrink: 0; font-style: normal; font-weight: 600; color: var(--main-color); font-size: 12px;}
.bojang_sec .phone .result em::after {content: "|"; margin-left: 6px; color: var(--sub-color); font-weight: 400;}
.bojang_sec .phone .result span { font-size: 12px; white-space: nowrap;}
.bojang_sec .phone .check_btn {margin-top: 30px; height: 46px; border-radius: 10px; background: var(--main-color); color: #fff; font-size: 14px; font-weight: 600; cursor: pointer;}

@media (max-width: 1240px) {
  .bojang_sec .inner {width: auto; margin: 0 20px; padding-left: 0; padding-right: 0; box-sizing: border-box;}
}


@media (max-width: 360px) {
  .bojang_sec .phone {width: 240px;}
  .bojang_sec .phone .screen {padding: 0 12px 16px; border-radius: 26px;}
  .bojang_sec .phone .time {margin: 14px 0 0 10px; font-size: 10px;}
  .bojang_sec .phone .bars {margin-top: 44px; padding: 0 2px;}
  .bojang_sec .phone .bar {width: 40px;}
  .bojang_sec .phone .bar .track {height: 124px;}
  .bojang_sec .phone .bar b {font-size: 11px;}
  .bojang_sec .phone .bar small {font-size: 10px;}
  .bojang_sec .phone .result {margin-top: 16px; padding: 8px 10px;}
  .bojang_sec .phone .result em,
  .bojang_sec .phone .result span {font-size: 10px;}
  .bojang_sec .phone .check_btn {margin-top: 16px; height: 38px; font-size: 12px;}
}


/* child_sec */
.child_sec .inner {display: flex; flex-direction: column; align-items: center; padding: 100px 0; border-bottom: 1px solid var(--border-color);}
.child_sec h3 {font-size: 32px; font-weight: 700; margin-bottom: 40px; text-align: center;}
.child_sec h3 b {color: var(--main-color);}
.child_sec ul {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; width: 100%; max-width: 1050px;}
.child_sec ul li {display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 20px; padding: 40px 0; border-radius: 20px; background: #e2f9ec; min-height: 284px; box-sizing: border-box;}
.child_sec ul li.yellow {background: #fffbe8;}
.child_sec ul li h4 {font-size: 24px; font-weight: 700; text-align: center;}
.child_sec ul li img {display: block; max-width: 70%; height: auto;}

@media (max-width: 1240px) {
  .child_sec .inner {width: auto; margin: 0 20px; padding-left: 0; padding-right: 0; box-sizing: border-box;}
}

@media (max-width: 1024px) {
  .child_sec .inner {padding-top: 70px; padding-bottom: 70px;}
  .child_sec h3 {font-size: 28px; margin-bottom: 30px;}
}

@media (max-width: 768px) {
  .child_sec .inner {margin: 0 16px; padding: 50px 0;}
  .child_sec h3 {font-size: 22px; margin-bottom: 24px;}
  .child_sec ul {grid-template-columns: repeat(2, 1fr); gap: 10px;}
  .child_sec ul li {min-height: 0; padding: 20px 8px; gap: 12px;}
  .child_sec ul li h4 {font-size: 14px; word-break: keep-all;}
}

@media (max-width: 1240px) {
  .fire_sec .inner {width: auto; margin: 0 20px; padding-left: 0; padding-right: 0; box-sizing: border-box;}
  .sub_sec5 ul li.fire button,
  .sub_sec5 ul li.bojang button {height: auto; flex: 1; min-height: 310px; padding-bottom: 16px;}
}
@media (max-width: 1024px) {
  .bojang_sec .inner {padding-top: 70px; padding-bottom: 70px;}
  .bojang_sec h3 {font-size: 28px; margin-bottom: 16px;}
  .bojang_sec .bojang_desc {font-size: 18px; margin-bottom: 30px;}
}
@media (max-width: 768px) {
  .sub_sec5 ul li.fire button,
  .sub_sec5 ul li.bojang button {min-height: 0; padding-bottom: 54px;}
  .sub_sec5 ul li.fire button:has(small),
  .sub_sec5 ul li.bojang button:has(small) {padding-bottom: 14px;}
  .bojang_sec .inner {margin: 0 16px; padding-top: 50px; padding-bottom: 50px;}
  .bojang_sec h3 {font-size: 22px; margin-bottom: 12px;}
  .bojang_sec .bojang_desc {font-size: 15px; margin-bottom: 24px;}
}
@media (max-width: 480px) {
  .sub_sec5 ul li.fire button,
  .sub_sec5 ul li.bojang button {padding-bottom: 16px;}
  .bojang_sec .inner {margin: 0 12px; padding-top: 40px; padding-bottom: 40px;}
  .bojang_sec h3 {font-size: 20px;}
  .bojang_sec .phone {width: 270px;}
  .bojang_sec .phone .screen {padding: 0 14px 20px; border-radius: 30px;}
  .bojang_sec .phone .time {margin: 16px 0 0 12px; font-size: 11px;}
  .bojang_sec .phone .bars {margin-top: 56px; padding: 0 4px;}
  .bojang_sec .phone .bar {width: 46px;}
  .bojang_sec .phone .bar .track {height: 150px;}
  .bojang_sec .phone .bar b {margin-top: 8px; font-size: 12px;}
  .bojang_sec .phone .bar small {margin-top: 6px; font-size: 11px;}
  .bojang_sec .phone .result {gap: 5px; margin-top: 20px; padding: 10px 12px;}
  .bojang_sec .phone .result em,
  .bojang_sec .phone .result span {font-size: 11px;}
  .bojang_sec .phone .check_btn {margin-top: 20px; height: 42px; font-size: 13px;}
}


/* 펫보험 2뎁스 폼 */
.sec2 .form_wrap form:not(.step2on) ul.step2,
.bottom_form .form_wrap form:not(.step2on) ul.step2,
.sec2 .form_wrap form.step2on ul.step1,
.bottom_form .form_wrap form.step2on ul.step1 {display: none;}
.pet .sec2 .form_wrap form:not(.step2on) .kakao_wrap,
.pet .bottom_form .form_wrap form:not(.step2on) .kakao_wrap {display: none;}
.sec2 .form_wrap form ul li .visit_wrap .title,
.bottom_form .form_wrap form ul li .visit_wrap .title {white-space: nowrap;}
.sec2 .form_wrap form ul li .visit_wrap .btn_group,
.bottom_form .form_wrap form ul li .visit_wrap .btn_group {display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; height: 50px;}
.sec2 .form_wrap form ul li .visit_wrap .btn_group button,
.bottom_form .form_wrap form ul li .visit_wrap .btn_group button {display: flex; align-items: center; justify-content: center; min-width: 140px; background: #fff; border: 1px solid var(--border-color); border-radius: 10px; font-size: 16px; font-weight: 600; color: #444; cursor: pointer;}
.sec2 .form_wrap form ul li .visit_wrap .btn_group button.active,
.bottom_form .form_wrap form ul li .visit_wrap .btn_group button.active {background: var(--main-color); border-color: var(--main-color); color: #fff;}


/* 펫보험 1단계 */
.sec2 .form_wrap form ul.step1,
.bottom_form .form_wrap form ul.step1 {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 10px; align-items: end;}
.sec2 .form_wrap form ul.step1 li:nth-child(n+3),
.bottom_form .form_wrap form ul.step1 li:nth-child(n+3) {grid-column: 1 / -1;}
.sec2 .form_wrap form ul.step1 li input:not([type="radio"]),
.bottom_form .form_wrap form ul.step1 li input:not([type="radio"]) {width: 100%;}
.sec2 .form_wrap form ul.step1 li .visit_wrap .title,
.bottom_form .form_wrap form ul.step1 li .visit_wrap .title {margin-bottom: 10px;}

@media (max-width: 768px) {
  .sec2 .form_wrap form ul li .visit_wrap .btn_group,
  .bottom_form .form_wrap form ul li .visit_wrap .btn_group {height: 46px;}
  .sec2 .form_wrap form ul li .visit_wrap .btn_group button,
  .bottom_form .form_wrap form ul li .visit_wrap .btn_group button {min-width: 0;}
  .sec2.main_sec2 .form_wrap form ul li .visit_wrap .title {white-space: normal; word-break: keep-all;}
  .sec2.main_sec2 .form_wrap form ul li .visit_wrap .btn_group button {font-size: 15px;}
}


/* bojang 내 보험료 조회하기 버튼 */
.btn_wrap {display: flex; justify-content: center;}
.btn_wrap .btn_submit {background: var(--main-color); color: #fff; border-radius: 10px; width: 350px; height: 60px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 600;}
.sec2.bojang_btn {border: none; padding: 0;}
.sec2.bojang_btn .inner {border-bottom: 1px solid var(--border-color); padding: 60px 0;}
.bottom_form.bojang_btn {padding: 60px 0;}
@media (max-width: 1240px) {
  .sec2.bojang_btn .inner {width: auto; margin: 0 20px; padding-left: 0; padding-right: 0; box-sizing: border-box;}
}
@media (max-width: 1024px) {
  .bottom_form.bojang_btn {padding: 40px 0;}
  .btn_wrap .btn_submit {width: 300px; font-size: 18px;}
}
@media (max-width: 768px) {
  .sec2.bojang_btn,
  .bottom_form.bojang_btn {padding: 30px 0;}
  .btn_wrap .btn_submit {width: 100%; height: 54px; font-size: 17px;}
}

/* 네이버·카카오 간편 확인은 PC·모바일 모두 숨김. 나머지 폼 레이아웃은 유지 */
.naver_wrap,
.kakao_wrap,
.btn_naver {
  display: none !important;
}