@import url("../font/pretendard/pretendard.css");

:root{
  --mainColor: #007f41;
}

body { min-width: 1200px;}

html {
 -webkit-text-size-adjust: none;
 -moz-text-size-adjust: none;
 -ms-text-size-adjust: none;
 -o-text-size-adjust: none;
}


* {
  margin: 0;
  padding: 0;
  font-family: 'Pretendard', sans-serif;
}
b { font-weight: inherit;}
ul, li, ol { list-style: none;}
button { all: unset; cursor: pointer;}

.inner { max-width: 1200px; width: 100%;  margin: 0 auto; position: relative;}

.color { color: var(--mainColor);}

/* header */
header { height: 90px; background-color: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); display: flex; align-items: center; position: relative; z-index: 1;}
header .inner { display: flex; align-items: center;} 
header .logo img { width: 270px;}

/* sec_visual */
#sec_visual .inner { display: flex; align-items: center; justify-content: flex-end; position: relative; max-width: 990px; padding: 90px 0;}
#sec_visual .main_img { position: absolute; bottom: 0; left: 0;}
#sec_visual .text_area { text-align: right; letter-spacing: -1px;}
#sec_visual .text_area h3 { font-size: 38px; font-weight: 500;}
#sec_visual .text_area h2 { font-size: 84px; font-weight: 600; line-height: 1.2; letter-spacing: -2px;}
#sec_visual .text_area p { font-size: 38px; margin-top: 20px; line-height: 1.4; font-weight: 500;}
#sec_visual .text_area p b { padding: 0 12px 0 7px; position: relative; font-weight: 600;}
#sec_visual .text_area p b::after { content: ''; position: absolute; bottom: 3px; left: -8px; width: 100%; height: 10px; background-color: var(--mainColor); opacity: 0.1;} 
#sec_visual .text_area span { font-size: 20px; color: #949494; margin-top: 27px; display: block; padding-right: 6px; font-weight: 500;} 

/* sec_form */
#sec_form .inner { max-width: 1200px; padding: 94px 0;}
#sec_form h4 { font-size: 32px; text-align: center; letter-spacing: -1px; margin-bottom: 42px;}
#sec_form .form_container { width: 100%; box-sizing: border-box;}

#sec_form .form_container .input_area { display: flex; align-items: center; gap: 30px; width: 100%;}
.form_container form { display: flex; flex-direction: column; gap: 18px; align-items: baseline;}
#sec_form .form_container .form_cover { display: flex; align-items: center; gap: 17px;}
#sec_form .form_container .form_cover label { font-size: 24px; letter-spacing: -1px; font-weight: 500; flex-shrink: 0; min-width: 48px;}
.form_container .form_cover input::placeholder {color: #aaa; font-weight: 400;}
.form_container .form_cover input,
.form_container .form_cover select { font-size: 20px; letter-spacing: -1px; padding: 16px 18px; letter-spacing: 0; border-radius: 10px; outline: none; line-height: 1.2; border: 1px solid #ccc; font-weight: 500;}
.form_container .form_cover select { appearance: none; background: #fff url("./arrow_tel.png") no-repeat calc(100% - 18px) 50% / 30px; color: #000;}
.form_container .form_cover .tel_wrap { display: flex; align-items: center; width: 100%; gap: 10px;}
.form_container .form_cover #mobile1,
.form_container .form_cover #mobile1__btm { padding-right: 50px;}
.form_container .form_cover #customer_name,
.form_container .form_cover #customer_birth,
.form_container .form_cover #mobile2,
.form_container .form_cover #customer_name__btm,
.form_container .form_cover #customer_birth__btm,
.form_container .form_cover #mobile2__btm { width: 100%;}
.form_container .form_cover #customer_name,
.form_container .form_cover #customer_name__btm {width: 200px;}
#sec_form .form_container .form_cover #mobile2 { flex: 1;}
.form_container .privacy_container { display: flex; gap: 24px; }
.form_container .privacy_wrap { display: flex; align-items: center;}
.form_container .privacy_wrap input[type="checkbox"] { width: 24px; aspect-ratio: 1/1; margin: 0; opacity: 0.3;}
.form_container .privacy_wrap input[type="checkbox"]:checked { opacity: 1;}
.form_container .privacy_wrap label { font-size: 20px; letter-spacing: -0.46px; margin: 0 6px 0 10px; color: #666;}
.form_container .privacy_wrap button { font-size: 20px; background: none; border: 0; cursor: pointer; font-family: inherit; color: #666;}
.form_container .btn_submit { font-size: 25px; background: var(--mainColor); padding: 20px 87px; color: #fff; letter-spacing: -1.2px; border: 0; border-radius: 10px; cursor: pointer; margin: 26px auto 0; font-weight: 500;}

#sec_form .form_container .form_cover .name_wrap {display: flex; align-items: center; gap: 10px;}
#sec_form .form_container .form_cover .gender_wrap {display: flex; align-items: center; gap: 10px;}
#sec_form .form_container .form_cover .gender_wrap input[type="radio"] {display: none;}
#sec_form .form_container .form_cover .gender_wrap label {min-width: auto; width: 58px; height: 58px; display: flex; align-items: center; justify-content: center; border: 1px solid #ccc; border-radius: 10px; cursor: pointer; color: #666;}
#sec_form .form_container .form_cover .gender_wrap input[type="radio"]:checked + label {background: var(--mainColor); color: #fff; border: 0;}

/* sec1 */
#sec1 {background-color: #f2f9f5; padding: 100px;}
#sec1 .inner { display: flex; flex-direction: column;}
#sec1 h4 { font-size: 46px; text-align: center; font-weight: 400; line-height: 1.28; margin-bottom: 40px; letter-spacing: -1px;}
#sec1 h4 b { font-weight: 500;}
#sec1 .con_area { background-color: #fff; display: flex; align-items: center; padding: 30px 0;}
#sec1 .con_area .con_wrap { flex: 1; position: relative; padding: 48px 44px 30px; display: flex; align-items: center;}
#sec1 .con_area .con_wrap + .con_wrap::after { content: ''; position:absolute; top: 50%; left: 0; transform: translate(-50%, -50%);  width: 1px; height: 100%; background: #ececec;}
#sec1 .con_area .con_wrap .text_box { flex: 1; min-width: 0; padding-left: 7px;}
#sec1 .con_area .con_wrap .text_box p { font-size: 24px; letter-spacing: -1.4px; margin-bottom: 10px; font-weight: 500;}
#sec1 .con_area .con_wrap .text_box h5 { font-size: 30px; letter-spacing: -0.6px; line-height: 1.45; font-weight: 500;}
#sec1 .con_area .con_wrap img { flex-shrink: 0;}

/* sec2 */
#sec2 { background-color: var(--mainColor); }
#sec2 .inner { padding: 96px 0; position: relative;}
#sec2 h4{ color: #fff; font-size: 51px; font-weight: 600; text-align: center; letter-spacing: -1.4px; margin-bottom: 66px;}  
#sec2 .con_area { display: flex; justify-content: flex-end;}
#sec2 .con_area img.sub_img1 { position: absolute; bottom: 0; left: 80px; }
#sec2 .con_area .con_wrap { padding: 16px 56px; display: flex; flex-direction: column; background-color: #fff;}
#sec2 .con_area .con_box { position: relative; padding: 52px 10px; display: flex; align-items: center; gap: 80px;}
#sec2 .con_area .con_box + .con_box::after { content:''; position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 1px; background: #c6c6c6;}
#sec2 .con_area .con_box .img_wrap {flex-shrink: 0; position: relative;}
#sec2 .con_area .con_box .img_wrap::before { content: ''; position: absolute; top: -10px; left: 20px; width: 50px; aspect-ratio: 1/1; border-radius: 100%; background-color: #f8f8f8;}
#sec2 .con_area .con_box img { position: relative; z-index: 1;}
#sec2 .con_area .con_box .txt_box { flex: 1; min-width: 0;}
#sec2 .con_area .con_box .txt_box p { font-size: 22px; letter-spacing: -1px; margin-bottom: 12px;}
#sec2 .con_area .con_box .txt_box h5 { font-size: 30px; font-weight: 600;}

/* sec3 */
#sec3 {background-color: #f2f9f5; padding: 100px 0;}
#sec3 .inner { display: flex; flex-direction: column; max-width: 990px;}
#sec3 h4 { font-size: 46px; text-align: center; font-weight: 400; line-height: 1.32; margin-bottom: 40px; letter-spacing: -1px;}
#sec3 h4 b { font-weight: 500;}
#sec3 .con_area .con_list { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 30px; }
#sec3 .con_area .con_item { display: flex; flex-direction: column; box-shadow: 0 0 6px  rgba(1,1,1,0.3);}
#sec3 .con_area .con_item .text_box { background-color: #fff; width: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; height: 200px;}
#sec3 .con_area .con_item .text_box h5 { font-size: 36px; font-weight: 600; letter-spacing: -1.2px; margin-bottom: 4px;}
#sec3 .con_area .con_item .text_box h5 b { font-size: 45px;}
#sec3 .con_area .con_item .text_box p { font-size: 24px; font-weight: 600; letter-spacing: -1px; color: #424242;}
#sec3 .con_area .con_item .text_box span { font-size: 18px; color: #8d8d8d; margin-top: 8px; line-height: 1.3; letter-spacing: -0.4px; font-weight: 500;}
#sec3 .con_area .con_item .bottom_box { background-color: var(--mainColor); color: #fff; font-size: 18px; text-align: center; padding: 20px 0 ; width: 100%; flex-shrink: 0; letter-spacing: -0.4px;}


/* sec_ft */
#sec_ft { padding: 80px 0; background-color: #262626; color: #fff;}
#sec_ft h4 { font-size: 30px; letter-spacing: -1px; font-weight: 400;}
#sec_ft p {font-size: 18px; letter-spacing: -1px; margin-top: 20px; line-height: 1.9;}

/* FOOTER */
.footer { width: 100%; margin: 0 auto; background: #282a29; box-sizing: border-box; padding: 35px 0;}
.footer h4 {font-size: 20px; font-weight: 500; letter-spacing: -1px; margin-bottom: 20px; color: #999;}
.footer_inner { width: 1200px; display: flex; flex-direction: column; gap: 7px; margin: 0 auto;}
.footer p {color: #999; font-size: 14px; line-height: 1.4; letter-spacing: -.2px;}
.footer button {font-size: 15px; color: #999; font-weight: 600; margin-top: 15px; width: fit-content; background: none; border: 0; padding: 0; cursor: pointer;}