@charset "utf-8";
/* #content */
.img_box img{width: 100%;}
.sub_visual {width: 100%; height:48.5vw; position: relative; background-image: url(../images/img_visual_bg.jpg); background-repeat: no-repeat; background-position: center bottom; background-size: cover;}
.sub_visual .inner{padding: 0 19.06%;}
.sub_visual .text_box {text-align: left;}
.sub_visual .text_box h3{font-size: 64px; font-weight: 700; margin-bottom: 24px; line-height: 1.2;}
.sub_visual .text_box .add_text{font-size: 22px; font-weight: 300; line-height: 1.4;}
.sub_visual .text_box .label_text{font-size: 32px; color: #fff; font-weight: 600; padding: 14px 48px; background: var(--man-color-main); border-radius: 36px; display: inline-block; margin-top: 64px;}
[class*="section"] .inner{padding: 160px 14.7%;}
.container .title_box{text-align: center;}
.container .title_box h4{font-size: 64px; line-height: 1.5; font-weight: 700; color: var(--gray-color-1000); margin-top:10px;}
.container .title_box .sub_title{font-size: 22px; line-height: 1.3; margin-top:40px;}
.container .title_box .sub_text{font-size: 26px; line-height: 1.5; font-weight: 400; color: var(--gray-color-800); letter-spacing: -1px; margin-top:36px;}
.container .content_box{margin-top: 80px;}
input[type='radio'] + label{cursor: pointer;}
[class*="btn-"]{cursor: pointer; font-size: 32px; font-weight: 600; color: #FFF; padding:14px 64px; line-height: 1.2; border-radius: 36px; text-align: center; display: inline-block;}
.btn-primary{background-color: var(--man-color-02);}
.female .btn-primary{background-color: var(--woman-color-main);}
.btn-woman{background-color: var(--woman-color-main);}
.section01 ul{display: grid; grid-template-columns: repeat(2, 1fr); gap:24px; width:calc(1136/1368 * 100%); margin:0 auto;}
.section01 ul li{display: flex; flex-direction: column; gap: 56px; justify-content: center; align-items: center;}
.section01 ul li.on input[type='radio'] + label, .section01 input[type='radio'] + label:hover{outline:2px dashed #1d4aef;}
.section01 ul .gender-img{cursor: pointer;}
.section01 ul li.on .gender-img{outline:2px dashed #1d4aef;}
.section01 [class*="btn-"]{width:calc(400/556 * 100%);}
.section02 .selector-container{width: 752px; margin:0 auto;}
.section02 .img_wrapper{width: 100%; height: 560px; position: relative;}
.section02 .base_img{background-image: url(../images/img_select_bg_man.jpg); background-size: contain; background-repeat: no-repeat; background-position: center; width:100%; height: 100%;}
.section02 #woman_img_wrapper .base_img{background-image: url(../images/img_select_bg_woman.jpg); background-size: contain; background-repeat: no-repeat; background-position: center; width:100%; height: 100%;}
.section02 .area-checkbox {display: none;}
.section02 .overlay-svg {position: absolute; top: 0; left: 50%;}
.male .section02 .overlay-svg:nth-of-type(1){transform: translate(-49%,163px); width: 258px; height: 105px;}
.male .section02 .overlay-svg:nth-of-type(2){transform: translate(-49%,147px); width: 173px; height: 48px;}
.male .section02 .overlay-svg:nth-of-type(3){transform: translate(-49%,120px); width: 246px; height: 58px;}
.male .section02 .overlay-svg:nth-of-type(4){transform: translate(-50%,100px); width: 159px; height: 39px;}
.section02 .area {fill: transparent; transition: fill 0.3s ease;}
.male .section02 .overlay-svg .area.active {fill: #74a5fa81; stroke: #74a5fa81; stroke-width: 1px;}
.section02 .btn_wrapper{display: flex; justify-content: space-between; align-items: center; gap:16px; margin-top: 40px; margin-bottom: 80px;}
.section02 .btn_wrapper .btn_checkbox{flex: 1;}
.section02 .checkbox-label {flex-grow: 1; display: block; padding: 16px; font-size: 32px; font-weight: bold; border-radius: 10px; cursor: pointer; transition: background-color 0.3s, color 0.3s; text-align: center; background-color: #0D1D3D; color: #fff;}
.section02 .btn_next{font-size: 32px; color: #fff; background-color: var(--man-color-02); padding:16px; border-radius: 32px; flex:1; position: relative;}
.section02 .btn_next::after {content: ''; position: absolute; top: 50%; right:40%; display: block; width: 12px; height: 12px; border: 2px solid #fff; border-top: 0; border-left: 0; -ms-transform: rotate(-45deg) translate(0, -50%); -webkit-transform: rotate(-45deg) translate(0%, -50%); -moz-transform: rotate(-45deg) translate(0, -50%); transform: rotate(-45deg) translate(0%, -50%); margin-top:-2px;}
.section02 .area-checkbox:checked + .checkbox-label {background-color: #DEDEE4;}
.female .section02 .overlay-svg:nth-of-type(1){transform: translate(-49%,146px); width: 240px; height: 121px;}
.female .section02 .overlay-svg:nth-of-type(2){transform: translate(-49%,137px); width: 240px; height: 89px;}
.female .section02 .overlay-svg:nth-of-type(3){transform: translate(-49%,128px); width: 233px; height: 59px;}
.female .section02 .overlay-svg:nth-of-type(4){transform: translate(-50%,107px); width: 222px; height: 57px;}
.female .section02 .overlay-svg .area.active {fill: rgba(255, 169, 156, .7); stroke: rgba(255, 169, 156, .7); stroke-width: 1px;}
.female .section02 .btn_next{background-color: var(--woman-color-main);}
.female .section02 .checkbox-label {background-color: #FF6852;}
.section03 .title_box .title{color: var(--woman-color-main);}
.section03 .content_box{width: calc(1136/1368 *100%); margin:80px auto 0;}
.compare_list{width:calc(672/1368 *100%); margin: 0 auto; text-align: center;}
.compare_list .img_box{display: flex; justify-content: stretch; align-items: center;}
.compare_list figure{position:relative; padding-bottom:31px;}
.compare_list figure figcaption{font-size: 16px; color: #FFF; text-align: center; height: 32px; line-height: 2; width: 100%; background-color: #8A8D9F; position: absolute; bottom: 1px; left: 0;}
.compare_list figure.after figcaption{background-color: #676A7D;}
.compare_list .desc_text li{font-size: 20px; font-weight: 600; letter-spacing: -0.02em; display: inline-block; padding:0 16px; border-right: 1px solid #B9BAC1; margin: 16px 0 12px;}
.compare_list .desc_text li:last-of-type{border-right: none;}
.compare_list .date{font-size: 14px; line-height: 1.2; color: var(--black-color-300); font-weight: 600;}
.section03 .form_box{width:100%; background:#f8f8f8; border-radius:16px; padding: 64px 40px 16px; margin-top:40px;}
.section03 .form_wrap input:not(.agree){padding: 15px 30px; border:1px solid var(--black-color-300); background: #fff; font-size: 22px; line-height: 1.4; border-radius: 8px;}
.section03 .form_wrap input:focus{outline:2px dashed #1d4aef;}
.section03 .form_wrap{display: flex; flex-direction: column; gap: 8px; width: calc(538/1136 *100%); margin:0 auto 24px;}
.section03 .note{margin-top: 60px; padding-top: 20px; border-top: 1px solid #ddd;}
.section03 .custom-checkbox{padding-left:8px;}
.section03 .custom-checkbox .checkmark{background: #fff; border:1px solid var(--black-color-300);}
/* ===== [S] section03 추가 - 자세히보기 버튼 및 약관 ===== */
.section03 .agree-wrapper {width: 100%;}
.section03 .flex-align-center {display: flex; align-items: center; flex-wrap: wrap;}
.section03 .btn-view-terms {display: inline-block; padding: 4px 14px; margin-left: 10px; border: 1px solid #ccc; border-radius: 30px; background-color: #fff; color: #555; font-size: 14px; font-weight: 400; font-style: normal; line-height: 1.5; vertical-align: middle; cursor: pointer; transition: all 0.2s;}
.section03 .btn-view-terms:hover {background-color: #f5f5f5; border-color: #aaa;}
.section03 .terms {display: none; width: 100%; margin-top: 10px; padding: 15px; border: 1px solid #ddd; background-color: #fff; box-sizing: border-box;}
/* ===== [E] section03 추가 - 자세히보기 버튼 및 약관 ===== */
@media screen and (max-width:1800px) {}
@media screen and (max-width:1540px) {
    .container .title_box .sub_title{font-size:24px;}
    .container .title_box h4{font-size: 54px; margin-top:8px;}
    .section01 ul, .section02 ul, .section03 .content_box, .compare_list{width:100%;}
    .section02 ul{gap: 40px 16px;}
}
@media screen and (max-width:1440px) {}
@media screen and (max-width:1058px) {
    .container .title_box .sub_text{font-size: 20px;}
}
@media screen and (max-width: 1024px) {
    .sub_visual {padding: 0 5%; height: calc(144vw - 94px); background-image: url(../images/img_visual_bg_tb.jpg); background-position: center bottom;}
    .sub_visual .inner{padding: 0;}
    .sub_visual .text_box h3{font-size: 44px;}
    .sub_visual .text_box .add_text{font-size:22px;}
    [class*="section"] .inner{padding: 120px 5%;}
    .container .title_box h4{font-size: 44px; margin-top:8px;}
    .container .title_box .sub_title{margin-top: 24px;}
    .container .content_box{margin-top:48px;}
    [class*="btn-"]{font-size: 28px; padding: 12px 96px;}
    .section01 ul{gap: 16px;}
    .section02 .selector-container{width: 696px;}
    .male .section02 .overlay-svg:nth-of-type(1){transform: translate(-49%,172px); width: 240px; height: 100px;}
    .male .section02 .overlay-svg:nth-of-type(2){transform: translate(-49%,155px); width: 160px; height: 45px;}
    .male .section02 .overlay-svg:nth-of-type(3){transform: translate(-49%,129px); width: 224px; height: 58px;}
    .male .section02 .overlay-svg:nth-of-type(4){transform: translate(-50%,114px); width: 148px; height: 39px;}
    .female .section02 .overlay-svg:nth-of-type(1){transform: translate(-49%,152px); width: 222px; height: 121px;}
    .female .section02 .overlay-svg:nth-of-type(2){transform: translate(-49%,143px); width: 222px; height: 89px;}
    .female .section02 .overlay-svg:nth-of-type(3){transform: translate(-49%,138px); width: 212px; height: 59px;}
    .female .section02 .overlay-svg:nth-of-type(4){transform: translate(-50%,118px); width: 204px; height: 57px;}
    .section02 .checkbox-label{font-size: 28px;}
    .section03 .form_box{background:#fff; margin-top: 0;}
    .section03 .form_wrap{width:80%; margin: 0 auto 48px;}
    .section03 .form_wrap input:not(.agree){padding: 13px 24px; font-size: 20px;}
}
@media screen and (max-width:767px) {
    .wrap {min-width: 375px;}
    .sub_visual {padding: 0 24px; height: calc(180vw - 64px); background-image: url(../images/img_visual_bg_mo.jpg);}
    .sub_visual .text_box h3{font-size: 34px; margin-bottom: 16px;}
    .sub_visual .text_box .add_text{font-size:18px;}
    .sub_visual .text_box .label_text{font-size: 24px; position: absolute; left: 50%; bottom: 72px; transform: translateX(-50%); width: max-content; text-align: center;}
    [class*="section"] .inner{padding: 60px 24px;}
    .container .title_box .sub_title{font-size: 16px; margin-top: 16px;}
    .container .title_box h4{font-size: 34px; margin-top:8px; text-wrap: balance; word-break: keep-all;}
    .container .content_box{margin-top: 40px;}
    .container .title_box .sub_text{font-size: 16px;}
    [class*="btn-"]{font-size: 24px; padding: 8px 48px;}
    .section01 ul{gap:8px;}
    .section01 ul li{gap:16px;}
    .section01 [class*="btn-"]{width: 100%; padding: 8px;}
    .section02 .selector-container{width: 320px;}
    .section02 .img_wrapper{height: 240px;}
    .male .section02 .overlay-svg:nth-of-type(1){transform: translate(-49%,43px); width: 110px; height: 100px;}
    .male .section02 .overlay-svg:nth-of-type(2){transform: translate(-49%,51px); width: 74px; height: 45px;}
    .male .section02 .overlay-svg:nth-of-type(3){transform: translate(-49%,35px); width: 103px; height: 58px;}
    .male .section02 .overlay-svg:nth-of-type(4){transform: translate(-50%,33px); width: 65px; height: 39px;}
    .female .section02 .overlay-svg:nth-of-type(1){transform: translate(-49%,28px); width: 102px; height: 121px;}
    .female .section02 .overlay-svg:nth-of-type(2){transform: translate(-49%,34px); width: 101px; height: 89px;}
    .female .section02 .overlay-svg:nth-of-type(3){transform: translate(-49%,38px); width: 99px; height: 59px;}
    .female .section02 .overlay-svg:nth-of-type(4){transform: translate(-50%,30px); width: 96px; height: 57px;}
    .section02 .btn_wrapper{margin:24px 0 60px; gap: 8px;}
    .section02 .checkbox-label{padding:12px; font-size: 22px;}
    .section03 .form_box{padding:24px 0 0;}
    .section03 .form_wrap{width:100%;}
    .section02 .btn_next{padding:12px; font-size: 24px;}
    .section02 .btn_next::after {right:34%; width: 10px; height: 10px; margin-top:0px;}
    .compare_list .desc_text li{font-size:18px; padding: 0 8px;}
    .compare_list .date{font-size: 12px;}
    .section03 .btn-view-terms {padding: 3px 12px; font-size: 13px; margin-left: 8px;}
}