:root { 
	--main-color: #003cdc;
}

html, body {width: 100%; height: 100%; overflow: hidden;}
#wrap {scroll-snap-type: y mandatory; overflow-y: auto; height: 100vh; scroll-behavior: smooth;}
/* main { padding-top: 90px;} */

a { color: #333;	text-decoration: none; }
.container { width: 1200px; margin: 0 auto; position: relative; }
.notScroll {overflow: hidden; width: 100%; height: 100vh; touch-action: none;}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	transition: background-color 5000s ease-in-out 0s;
	-webkit-transition: background-color 9999s ease-out;
  -webkit-box-shadow: 0 0 0px 1000px none inset !important;
}

/* common */
section { padding: 60px 0;}
.color { color: var(--main-color);}

/* section sc1*/
.sc1 .container { display: flex; align-items: stretch; justify-content: space-between; gap: 30px;}
.sc1 .visual-area { display: flex; flex-direction: column; justify-content: space-between; flex:1; min-width: 0;  gap: 30px;}
.sc1 .visual-area .visual-item { display: flex; align-items: center; gap: 20px; justify-content: space-between; padding: 40px 30px; background: linear-gradient(to right, #32b0d2, #087aee); box-sizing: border-box; height: 290px;}
.sc1 .visual-area .visual-item .text_box { flex: 1; min-width: 0;}
.sc1 .visual-area .visual-item .text_box h3 { font-size: 32px; font-weight: 700; color: #fff; line-height: 1.3;}
.sc1 .visual-area .visual-item .text_box h4 { font-size: 28px; font-weight: 600; color: #fff; line-height: 1.3;}
.sc1 .visual-area .visual-item .text_box .desc { margin-top: 20px;}
.sc1 .visual-area .visual-item .text_box .desc p { font-size: 16px; color: #fff; line-height: 1.3; font-weight: 400;}
.sc1 .visual-area .visual-item .text_box .desc p + p { margin-top: 4px;}
.sc1 .visual-area .visual-item img { width: 100px;}
.sc1 .form-area { flex-shrink: 0; width: 550px; background-color: #f0f8ff; padding: 50px 42px; box-sizing: border-box;}
.sc1 .form-area form { display: flex; flex-direction: column; height: 100%;}
.sc1 .form-area .title_box { flex-shrink: 0;}
.sc1 .form-area .title_box h2 { font-size: 34px; font-weight: 700; letter-spacing: -1px; line-height: 1.3;}
.sc1 .form-area .title_box p { font-size: 22px; color: #999; line-height: 1.3; margin-top: 8px;}
.sc1 .form-area .form_list { flex:1; min-height: 0; display: flex; flex-direction: column; gap: 20px; margin-top: 32px;}
.sc1 .form-area .form_item { display: flex; align-items: center; gap: 10px;}
.sc1 .form-area .form_item .form_cover { flex: 1; min-width: 0; display: flex;}
.sc1 .form-area .form_item input { flex: 1; min-width: 0;}
.sc1 .form-area .form_item input,
.sc1 .form-area .form_item .sex_cover label { padding: 20px; background: #ffff; font-size: 20px; height: 76px; border-radius: 10px; box-sizing: border-box; outline: none; border: 1px solid #fff; cursor: pointer;}
.sc1 .form-area .form_item .sex_cover label,
.sc1 .form-area .form_item input::placeholder { color: #999; font-size: 20px; font-weight: 400;}
.sc1 .form-area .form_item .sex_cover { flex-shrink: 0; flex: initial; display: flex; align-items: center; gap: 10px;}
.sc1 .form-area .form_item .sex_cover input { display: none;}
.sc1 .form-area .form_item .sex_cover label { aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center;}
.sc1 .form-area .form_item .sex_cover input:checked + label { border: 1px solid var(--main-color); color: var(--main-color);}
.sc1 .form-area .confirm_wrap { margin-top: 20px; display: flex; align-items: center; gap: 10px; }
.sc1 .form-area .confirm_wrap button { flex: 1; min-width: 0; background-color: var(--main-color); color: #fff; text-align: center; display: flex; align-items: center; justify-content: center; border-radius: 10px; padding: 20px 0; height: 76px; font-size: 24px; letter-spacing: -1px; font-weight: 600;}


/* section sc1*/
.sc2 .sc-title { margin-bottom: 20px;}
.sc2 .sc-title h5 { font-size: 24px; color: #666; font-weight: 600;}
.sc2 .sc-contents { display: flex; align-items: center; justify-content: space-between; gap: 100px;}
.sc2 .sc-contents .text-box { flex-shrink: 0;}
.sc2 .sc-contents .text-box h3 { font-size: 36px; font-weight: 700; line-height: 1.4;}
.sc2 .sc-contents .list-box { display: grid; grid-template-columns: repeat(2, 1fr); flex: 1; min-width: 0; gap: 40px 40px;} 
.sc2 .sc-contents .list-item { display: flex; align-items: center; justify-content: space-between;}
.sc2 .sc-contents .list-item .row { display: flex; align-items: center; gap: 10px;}
.sc2 .sc-contents .list-item .row p { font-size: 24px; font-weight: 600;}
.sc2 .sc-innerForm button { height: 100%;}

/* section sc3*/
.sc3 { background-color: #f0f8ff;}
.sc3 .list_wrap { display: flex; flex-direction: column; gap: 40px;}
.sc3 .list_item { background-color: #fff; border-radius: 10px; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 40px 80px 40px 40px; height: 300px; box-sizing: border-box;}
.sc3 .list_item h5 { font-size: 26px; font-weight: 700;}
.sc3 .list_item h3 { font-size: 30px; line-height: 1.4; font-weight: 700; margin-top: 20px;}
.sc3 .list_item p { font-size: 24px; color: #666; margin-top: 20px; line-height: 1.4;}

.sc-innerForm form { background: linear-gradient(to right, #32b0d2, #087aee); border-radius: 20px; display: flex; align-items: stretch; padding: 30px; gap: 20px; margin-top: 80px;}
.sc-innerForm form ul { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex: 1; min-width: 0; height: 68px;}
.sc-innerForm form .form_item { flex: 1; min-width: 0;  height: 76px;}
.sc-innerForm .form_cover input { border-radius: 10px; padding: 25px 20px; font-size: 20px; outline: none; border: none; background-color: #fff; width: 100%; height: 100%;}
.sc-innerForm .form_cover input::placeholder { color: #999; font-weight: 400;}
.sc-innerForm .sex_cover input { display: none;}
.sc-innerForm .sex_cover { display: flex; border-radius: 10px; height: 100%;}
.sc-innerForm .sex_cover label { padding: 25px 30px; background: #fff; border-right: 1px solid #ddd; flex: 1; min-width: 0; text-align: center; color: #999; font-size: 20px; cursor: pointer; display: flex; justify-content: center; justify-content: center;}
.sc-innerForm .sex_cover label:first-of-type { border-radius: 10px 0 0 10px;}
.sc-innerForm .sex_cover label:last-of-type { border-radius: 0 10px 10px 0; border-right: 0;}
.sc-innerForm .sex_cover input:checked + label { color: var(--main-color); font-weight: 600;}
.sc-innerForm button { color: #fff; width: 200px; flex-shrink: 0; font-size: 20px; font-weight: 600; background-color: var(--main-color); border-radius: 10px;}




/* 공통 모달 디자인 */
  .modal_wrap { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 999; display: none; }
  .modal_inner { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 1200px; height: 80%; max-height: 720px; background: #fff; overflow-X: hidden; padding: 60px 40px; box-sizing: border-box; display: flex; flex-direction: column;}
  .modal_inner .modal_header { display: flex; align-items: center; justify-content: space-between; padding: 0 0 30px; flex-shrink: 0; }
  .modal_inner .modal_header img { width: 60px; }
  .modal_inner .modal_header h3 { font-size: 28px; font-weight: 700; letter-spacing: -2px; }
  .modal_txt { flex: 1; min-height: 0; overflow-y: auto; -ms-overflow-style: none; scrollbar-width: none; padding-bottom: 40px;}
  .modal_txt::-webkit-scrollbar { display: none; }
  .modal_inner .close_wrap { padding-top: 20px; flex-shrink: 0; position: relative; }
  .modal_inner .close_wrap::before { content: ""; position: absolute; bottom: 100%; left: 0; width: 100%; height: 60px; background: linear-gradient(to bottom, transparent, #fff); pointer-events: none; }
  .modal_close { width: 100%; background: var(--main-color); text-align: center; color: #fff; padding: 20px 0; font-size: 24px;  border-radius: 10px; }

  form #bohum_send_price { background: #4881ff;}