/* ------ common ------ */
* {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 0;
    font-family: "Noto Sans KR";
}

ul,
ol,
li {
    list-style: none;
}

select,
a {
    color: #000;
    text-decoration: none;
}

a[href^=tel] {
    text-decoration: inherit;
    color: inherit;
}

.landing_container {
    width: 100%;
    box-sizing: border-box;
}

.container {
    position: relative;
}

.container_wrap {
    width: 750px;
    margin: auto;
    background: linear-gradient(180deg, #C4EDFF 6.98%, rgba(196, 237, 255, 0.6) 22.36%);
    font-size: 37px;
    color: #393939;
}

/* input box */
.input_wrap {
    box-sizing: border-box;
    padding: 60px;
}

.request .input_wrap {
    padding: 60px 60px 0 60px;
}

/* 이름 input */
#name,
#tel_1 {
    width: 100%;
    height: 100px;
    border: 1px solid #B6B6B6;
    box-sizing: border-box;
    font-size: 38px;
    padding: 23px 0 23px 28px;
    margin-bottom: 30px;
    font-family: "Noto Sans KR";
}

#age {
    width: 100%;
    height: 100px;
    border: 1px solid #B6B6B6;
    box-sizing: border-box;
    font-size: 38px;
    padding: 23px 0 23px 28px;
    margin-bottom: 30px;
    font-family: "Noto Sans KR";
}

#gift {
    width: 100%;
    height: 100px;
    border: 1px solid #707070;
    box-sizing: border-box;
    font-size: 33px;
    padding: 23px 0 23px 28px;
    margin-bottom: 30px;
    font-family: "Noto Sans KR";
    margin-top: 30px;
}

/* 전화번호 input */
.tel_wrap {
    width: 100%;
    height: 100px;
    white-space: nowrap;
    text-align: center;
}

.tel_wrap .select_box {
    width: 25%;
    float: left;
    position: relative;
    background-color: #fff;
    z-index: 10;
}

.tel_wrap .select_box #tel_1 {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 1px solid #707070;
    font-size: 36px;
    padding-left: 28px;
    z-index: 100;
    background-color: transparent;
}

.tel_wrap .select_box img {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(-50%, -30%);
    z-index: -1;
}

.tel_wrap #tel_2 {
    width: 34%;
    height: 100%;
    box-sizing: border-box;
    border: 1px solid #707070;
    max-width: 230px;
    padding-left: 28px;
    font-size: 36px;
    display: inline-block;
}

.tel_wrap #tel_3 {
    width: 34%;
    height: 100%;
    float: right;
    box-sizing: border-box;
    border: 1px solid #707070;
    max-width: 230px;
    padding-left: 28px;
    font-size: 36px;
}

.landing-header-slogun {
    font-family: 'Paperlogy';
    font-style: normal;
    font-weight: 300;
    font-size: 54px;
    line-height: 68px;
    text-align: center;
    padding: 70px 0 0;
}

.landing-header-slogun strong {
    font-size: 54px;
    font-weight: 900;
    color: #0043CB;
}

.help-text {
    text-align: center;
    font-size: 25px;
    padding: 20px 0;
}

.input_wrap select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.input_wrap select::-ms-expand {
    display: none;
}

/* 개인정보 */
input[type="checkbox"] {
    width: 35px;
    height: 35px;
    vertical-align: middle;
    margin-right: 6px;
}

.text_label span {
    font-size: 38px;
    vertical-align: middle;
}

.text_label {
    text-align: center;
    width: 100%;
    display: block;
    margin-bottom: 20px !important;
}

.text_label a {
    display: inline-block;
    font-size: 18px;
    background-color: #fff;
    border: 1px solid #3F3F3F;
    color: #3F3F3F;
    vertical-align: middle;
    padding: 8px;
    margin-left: 10px;
}

.section {
    position: relative;
}

canvas {
    z-index: 9999999;
    pointer-events: none;
    position: fixed;
    top: 0;
    transform: scale(1.1);
    left: 0;
}


/* 라디오 버튼 초기화*/
.intro_sul input[type=radio] {
    display: none;
}

.intro_sul input[type=radio]+label {
    display: inline-block;
    cursor: pointer;
    position: relative;
}


/* 1. 실제 라디오 버튼을 화면에서 숨깁니다. (기능은 유지) */
.sectionChk input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    /* 브라우저 기본 스타일 제거 */

    /* 화면에서는 안 보이지만, 접근성을 위해 완전히 없애지는 않습니다. */
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* 2. 가짜 라디오 버튼(동그라미)을 생성합니다. (span 태그의 가상요소 ::before 사용) */
.sectionChk input[type=radio]+span::before {
    content: '';
    /* 가상요소는 content 속성이 필수 */
    display: inline-block;
    width: 30px;
    height: 30px;
    background-color: #E9E9E9;
    border: 2px solid #D0D0D0;
    /* 이 줄을 추가 (회색 테두리) */
    border-radius: 50%;
    /* 완전한 원으로 만듦 */
    vertical-align: middle;
    margin-right: 15px;
    /* 동그라미와 텍스트 사이 간격 */
    box-sizing: border-box;
    /* 테두리 포함 크기 계산 */

    /* 부드러운 색상 전환 효과 */
    transition: all 0.2s ease;
}

/* 3. 라디오 버튼이 선택되었을 때( :checked )의 스타일을 정의합니다. */
.sectionChk input[type=radio]:checked+span::before {
    border-color: #547FEC;
    /* 선택 시 테두리 색상 변경 */
    background-color: #547FEC;
    /* 선택 시 내부 점 색상 */

    /* 안쪽에 점처럼 보이게 하는 트릭 */
    padding: 5px;
    background-clip: content-box;
    /* 배경색이 padding 안쪽에만 그려지도록 설정 */
}

.sectionChk input[type=radio]+label {
    cursor: pointer;
}

/* .sectionChk input[type=radio]:checked+label::after {
    content: "";
    width: 20px;
    height: 20px;
    background-color: #8C64FF;
    border-radius: 30px;
    position: absolute;
    right: 85px;
    top: 88px;
} */

.sectionChk input[type=checkbox] {
    display: none;
}

.sectionChk input[type=checkbox]+label {
    display: inline-block;
    cursor: pointer;
}


.hidden {
    display: none;
}

.puple_bg {
    width: 100%;
    background-color: #fff;
    /* min-height: 1245px;
    background: url('./lading_bg.png?ver=2') no-repeat center 70px; */
    position: relative;
    padding: 100px 0;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
}


.page_num {
    position: absolute;
    left: 50%;
    top: 100px;
    transform: translate(-50%);
    color: #fff;
}

.q-text {
    text-align: center;
    padding: 270px 0 70px;
    font-size: 55px;
    font-family: 'Noto Sans CJK KR';
    font-weight: 400;
    color: #2f284d;
    letter-spacing: -0.03em;
    line-height: 76px;
}

.q-text .point {
    color: #8C64FF;
    font-size: 55px;
}


.check_list li {
    background-color: #fff;
    color: #393939;
}


.check_list li input[type='checkbox']+label::after {
    content: "";
    position: absolute;
    right: 40px;
    width: 34px;
    height: 34px;
    border: 1px solid #707070;
}

.check_list li input[type='checkbox']:checked+label::after {
    background-color: #FFEF60;
}

.break {
    flex-basis: 100%;
    width: 0px;
    height: 0px;
    overflow: hidden;
}


.img_ul {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    gap: 10px;
}

.img_ul li {
    width: 50%;
    text-align: center;
}

.ft_text {
    text-align: left;
    margin: 0 0 50px;
    font-size: 25px;
    font-family: 'Noto Sans KR';
    font-weight: 300;
    letter-spacing: -0.082em;
    margin-top: 36px;
}

.result_btn {
    width: 650px;
    left: calc(50% - 325px);
    height: 142px;
    background-image: url('./images/btn.png');
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 100px;
    color: #fff;
    font-size: 38px;
    /* margin:60px 0; */
    transition: background-image 0.3s ease;
    animation: blink 1s infinite;
}

@keyframes blink {

    0%,
    100% {
        background-image: url('./images/btn.png');
    }

    50% {
        background-image: url('./images/btn_h.png');
    }
}


.fixed {
    /* position: fixed; */
    /* bottom: 30px; */
    /* height: 235px; */
    /* width: 100%; */
    background: #fff;
}


.question {
    margin: 0px 60px 0px;
    display: flex;
    gap: 40px;
}

.qnum {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    font-size: 120px;
    color: #547FEC;
    line-height: 100px;
}

.qtext {
    word-break: keep-all;
    font-weight: 600;
}

.section .check_list {
    display: flex;
    gap: 20px 0;
    flex-direction: row;
    margin: 40px auto;
    flex-wrap: wrap;
    justify-content: center;
}

.section .check_list li {
    width: 650px;
    height: 70px;
    /*padding: 40px 35px; */
    background: #FFFFFF;
    /* border: 1px solid #B6B6B6;
    box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.05);
    border-radius: 15px; */
    display: block;
    box-sizing: border-box;
    cursor: pointer;
}

/* '커뮤니티' 항목을 위한 특별 스타일 */
.section .check_list li.community-item {
    height: auto;
    /* 고정 높이를 해제하고 내용에 맞게 자동으로 조절 */
}

.section .check_list li.community-item label {
    /* 커뮤니티 라벨의 아래쪽 패딩을 줄여 입력창과 가깝게 만듦 */
    padding-bottom: 0px;
}

.check_list li label {
    display: block;
    padding: 40px 0px;
    box-sizing: border-box;
    line-height: 40px;
    cursor: pointer;
}

.check_list li label span {
    padding-left: 10px;
}

.landing_foot_lt>p {
    padding: 20px 10px;
    color: #fff;
    font-size: 16px;
    line-height: 28px;
}

.landing_foot_lt {
    width: 100%;
    background: #3D3D3D;
    margin: 0 auto;
    text-align: center;
}

.privacy {
    margin: 0 60px;
}

.privacy_wrap {
    color: #454545 !important;
}

.alert-div {
    color: red;
    font-size: 15px;
    margin: -50px 165px 50px;
}



.community-text-input:focus {
    border-color: #547FEC;
    outline: none;
    background-color: #547FEC14;
    /* #RRGGBB + 투명도(AA) */
}

.check_list li.multi-line-item,
.check_list li.etc-item {
    height: auto;
}

/* 2. 여러 줄 항목의 <label> 전체적인 여백을 설정합니다. */
.check_list li.multi-line-item label {
    padding-top: 25px;
    padding-bottom: 0px;
}

/* 3. 여러 줄 항목의 텍스트(span)에 들여쓰기 트릭을 적용합니다. */
.check_list li.multi-line-item label span {
    display: inline-block;
    /* text-indent 적용을 위해 필수 */
    vertical-align: middle;

    /* (가짜 동그라미 너비 30px + 오른쪽 여백 15px) = 45px */
    padding-left: 56px;
    /* 모든 줄을 45px 만큼 밀어냅니다. */
    text-indent: -45px;
    /* 첫 번째 줄만 다시 45px 만큼 당겨옵니다. */

    line-height: 1.5;
    /* 줄 간격 설정 */
}

/* 4. '기타' 항목의 label과 입력창 간격 조절 (기존과 동일) */
.check_list li.etc-item label {
    padding-bottom: 10px;
}