: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;}
.m_txt {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 .nav_wrap ul {display: flex; align-items: center; gap: 40px;}
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 .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; flex-direction: column; align-items: center; justify-content: center; gap: 12px;}
.sec2 .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); } }
.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 .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;}

/* 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.silbi button, .sub_sec5 ul li.total button {height: 310px;}
.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: 330px;}
.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;}
.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 제목 아래 작은 문구 (config sec5 'note') */
.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;}
  .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: 110px;}
  .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;}
  /* 1024px 이하에서만 짧은 문장으로 교체 (pc_txt / m_txt) */
  .pc_txt {display: none;}
  .m_txt {display: inline;}
  .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: 22px;}
  .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; padding: 90px 0 36px;}
  .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;}
  /* 출처(span)가 들어가는 행(실비보험)만 높이를 더 높게 */
  .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;}
}

/* 치아보험 카드 5개 */
@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;}
}