@import url("../font/pretendard/pretendard.css");

:root{
  --mainColor: #00346c;
}
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; box-sizing: border-box;}

.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; max-width: 960px;} 
header .logo img { width: 350px;}

/* sec_visual */
#sec_visual {background-color: #f8fcff; padding: 127px 0 86px;}
#sec_visual .inner { display: flex; align-items: center; padding-left: 120px;}
#sec_visual .main_img { position: absolute; bottom: -57px; right: -18px;}
#sec_visual .text_area { letter-spacing: -1px;}
#sec_visual .text_area h3 { font-size: 39px; font-weight: 500; letter-spacing: -1.4px;}
#sec_visual .text_area h2 { font-size: 86px; font-weight: 700; line-height: 1.14; letter-spacing: -1.6px;}
#sec_visual .text_area p { font-size: 33px;  line-height: 1.24; letter-spacing: -2.3px; font-weight: 500; }
#sec_visual .text_area span { font-size: 20px; display: block; font-weight: 400; margin-top: 8px; line-height: 1.3; color: #333;} 
#sec_visual .text_area .text_box { display: flex; gap: 74px; margin-top: 52px;} 

/* 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 .con_area .con_item .text_box h5 { color: #f23333;}


/* sec2 */
#sec2 { background-color: var(--mainColor); }
#sec2 .inner { padding: 120px 0; position: relative;}
#sec2 h4{ color: #fff; font-size: 52px; font-weight: 700; text-align: center; letter-spacing: -2px; margin-bottom: 52px; line-height: 1.4;}  
#sec2 h4 b { position: relative; background-color: #406791; padding: 2px 8px; margin-right: 4px;}
#sec2 .con_area { display: flex; align-items: center; justify-content: center;}

#sec2 .con_area .con_wrap { padding: 20px 53px 15px; flex-shrink: 0; display: flex; flex-direction: column; background-color: #fff;}
#sec2 .con_area .con_box { position: relative; padding: 45px 10px; display: flex; align-items: center; gap: 100px;}
#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 { position: relative; z-index: 1; transform: translateX(-20px);}
#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: 8px; color: #3d3d3d;}
#sec2 .con_area .con_box .txt_box h5 { font-size: 30px; font-weight: 600;}

/* sec3 */
#sec3 .con_area .con_item .text_box h5 { font-weight: 500; letter-spacing:-1.26px;}

/* box-list */
.box-list {background-color: #f9f9f9; padding: 105px 0;}
.box-list .inner { display: flex; flex-direction: column;}
.box-list h4 { font-size: 46px; text-align: center; font-weight: 400; line-height: 1.28; margin-bottom: 40px; letter-spacing: -1px;}
.box-list h4 b { font-weight: 700;}
.box-list .con_area .con_list { display: grid; grid-template-columns: repeat(2, 1fr); align-items: stretch; gap: 30px; }
.box-list .con_area .con_item { height: 200px; display: flex; align-items: center; box-shadow: 0 0 18px 1px  rgba(1,1,1,0.1); background-color: #fff;  padding: 31px 36px 31px 41px; box-sizing: border-box;}
.box-list .con_area .con_item .text_box { flex: 1; min-width: 0; display: flex; justify-content: center; flex-direction: column;}
.box-list .con_area .con_item .text_box h5 { font-size: 36px; font-weight: 600; letter-spacing: -1px; margin-bottom: 4px;}
.box-list .con_area .con_item .text_box h5 b { font-size: 45px;}
.box-list .con_area .con_item .text_box p { font-size: 24px; font-weight: 600; letter-spacing: -1.4px; color: #424242;}
.box-list .con_area .con_item .text_box span { font-size: 20px; color: #8d8d8d; margin-top: 10px; line-height: 1.3; letter-spacing: -1.4px; font-weight: 500;}
.box-list .con_area .con_item .img_wrap { flex-shrink: 0;}


/* sec_ft */
#sec_ft { padding: 80px 0; background-color: #4d4d4d; color: #fff;}
#sec_ft h4 { font-size: 30px; letter-spacing: -1px; font-weight: 400; margin-bottom: 20px;}
#sec_ft h5 {font-size: 18px; letter-spacing: -1px; position: relative; padding-left: 6px; margin-top: 40px; font-weight: 400;}
#sec_ft h5:after {content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); height: 100%; width: 1px; height: 17px; background-color: #fff;}
#sec_ft h5:first-of-type { margin-top: 0;}
#sec_ft p {font-size: 18px; letter-spacing: -1px; margin-top: 8px; line-height: 1.9; font-weight: 400;}
#sec_ft p + p { margin-top: 36px;}

/* 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;}