/* font */
@font-face {
  font-family: 'Pretendard';
  src: url('/common/font/Pretendard-Regular.woff2') format('woff2');
  font-weight: 500;
}
@font-face {
  font-family: 'Pretendard';
  src: url('/common/font/Pretendard-Thin.woff2') format('woff2');
  font-weight: 300;
}
@font-face {
  font-family: 'Pretendard';
  src: url('/common/font/Pretendard-Bold.woff2') format('woff2');
  font-weight: 600;
}

/* Modern CSS Reset + common */
*, *::before, *::after {box-sizing: border-box;}
* {margin: 0;padding: 0;}
html, body {height: 100%;font-family: 'Pretendard'; font-size: 15px; scroll-behavior: smooth;}
body {overflow: hidden; background: #7799E3; -webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;box-sizing: border-box;}
img, picture, video, canvas, svg {display: block;max-width: 100%;}
input, button, textarea, select {font: inherit;}
button {cursor: pointer; outline: none; border: 0;}
a {color: inherit;text-decoration: none;}
ul, ol {list-style: none;}
table {border-collapse: collapse;border-spacing: 0;}
input, select {outline: 0; padding: 5px 10px; border: 1px solid #dedede;border-radius: 5px; background: #fff;}
input::placeholder {color: #aaa;}
textarea {outline:0; resize: none; width: 100%; height: 120px; padding: 10px; border: 1px solid #dedede;border-radius: 5px;}
input:focus, select:focus,textarea:focus,
input:active, select:active,textarea:active {border-color: #7799E3; transition: all linear .25s;}
select {-webkit-appearance:none; /* 크롬 화살표 없애기 */ -moz-appearance:none; /* 파이어폭스 화살표 없애기 */ appearance:none; /* 화살표 없애기 */ background: url(https://welfare.plusn.co.kr/common/images/join/icon_under_arrow.svg) no-repeat right 14px center; background-size: 10px auto;}
input[type="date"]::-webkit-calendar-picker-indicator {display: none;}
input[type="date"] {position: relative; -webkit-appearance:none; /* 크롬 화살표 없애기 */ -moz-appearance:none; /* 파이어폭스 화살표 없애기 */ appearance:none; /* 화살표 없애기 */}
input[type="date"]::before {content: ''; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 12px; height: 12px; background: url(https://welfare.plusn.co.kr/common/images/join/icon_date.svg) no-repeat center; background-size: 12px auto;}
input[type="file"] {cursor: pointer;}
input[type="file"]::file-selector-button {outline: none; border: 1px solid transparent; background-color: #7799E3; border-radius: 5px; padding: 2px 7px; font-size: 14px; color:#fff;}
input[type="file"]::file-selector-button:hover {background-color: #000; cursor: pointer; transition: all linear .25s;}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {-webkit-appearance: none; margin: 0;}
input[type='number'] {-moz-appearance: textfield;}/* Firefox  */
.screen-reader {position: absolute; width: 1px; height: 1px; padding: 0; border: 0; overflow: hidden; margin: -1px; clip-path: inset(50%);} /* 인풋 커스텀용 */

.chk_wrap {}
.chk_wrap label {margin-right: 7px; display: inline-block;}
.chk_wrap input[type="checkbox"] {width: initial; width: 14px; height: 14px; vertical-align: -1.3px; margin-right: 3px;}

.m0 {margin: 0 !important;}
.pd0 {padding: 0 !important;}
.m0_a {margin: 0 auto !important;}
.ma_0 {margin: auto 0 !important;}

.mt5 {margin-top: 5px !important;}
.mb5 {margin-bottom: 5px !important;}

.tac {text-align: center !important;}
.ovf_y {overflow-y: auto; height: 100%;}
.ovf_y::-webkit-scrollbar {width: 0; background: transparent;}

.f-wrap {display: flex;}
.col-3 {width: calc(100% * .25);}
.col-4 {width: calc(100% * .33);}
.col-5 {width: calc(100% * .42);}
.col-6 {width: calc(100% * .5);}
.col-7 {width: calc(100% * .58);}

.c-pink {color: #FF47BE !important;}
.c-blue {color: #7798E2 !important;}

.bg-wh {background-color: #fff !important;}
.bg-blu {background-color: #7798E2 !important;}
.bg-lblu {background-color: #E4EDFF !important;}
.bg-yel {background-color: #FEF5D9 !important;}

.upper {text-transform: uppercase !important;}

/**************** contents ****************/

/* apply */
.container {width: 1080px; margin: 0 auto; padding-top: 70px;}
.container h1.main_tit {text-align: center; font-size: 43px; line-height: 1.3; font-weight: 800; color: #fff; padding: 25px 0;}
.logo {display: inline-block;}
.logo img {width: 100%; height: auto;}
.container .main_tit + p {color: #fff; text-align: center; font-size: 18px;}
.main_tit_img {width: 80%; height: 400px; margin: 30px auto 0 auto; overflow: hidden;}
.main_tit_img img {display: inline-block; width: 100%; height: 100%;}

.cont_wrap {position: relative; height: calc(100vh - 70px); overflow: hidden; background: #fff; border-radius: 50px 50px 0 0; padding: 40px 50px 0; box-shadow: 0 0 10px 5px rgba(0,0,0,.16);}
.cont_wrap:before {content: ''; position: absolute; top:25px; left: 0; width: 100%; height: 30px; background-image: linear-gradient(to top, rgba(255,255,255,0) 0%, #fff 50%); z-index: 1;}
.cont_box {margin-bottom: 40px;}
.cont_tit {font-size: 25px; padding: 10px; color: #7799E3;}

.btn_wrap {margin: 30px 0; text-align: center;}
.btn_wrap button {font-size: 20px; padding: 15px; min-width: 300px; background-color: #000; box-shadow: 6px 4px 0 0 #d2d2d2; font-weight: bold; color: #fff; border-radius: 10px;}
.btn_wrap button:hover,
.btn_wrap button:active {background-color: #7799E3; transition: all linear .3s;}

/* 모바일 */
@media screen and (max-width: 768px) {
    body {overflow: inherit;}
    .container h1.main_tit {text-align: center; font-size: 2.4rem; padding: 20px 0;}
    .container .main_tit + p {font-size: 18px;}
    .main_tit_img {width: 50%; height: 180px;}
    .cont_wrap:before {content: none;}

    .f-wrap {display: initial;}
    .f-wrap div[class^="col-"] {width: 100%;}
    .cont_wrap {padding: 30px 20px; height: max-content;}
    .chk_wrap {text-align: left !important; padding: 0 10px;}
    .chk_wrap label {margin-bottom: 5px;}
    .cont_box {margin-bottom: 30px;}
}
/* //apply */


/* app download */
body:has( .container.app_dw) {background-color: #fff;}
.app_dw * {box-sizing: border-box;}
.app_dw {padding-top: 80px;}
.app_dw > .f-wrap {justify-content: space-between; gap: 50px; align-items: center;}
.app_dw .main_tit p {font-size: 30px; font-weight: bold;}
.app_dw .main_tit h1 {font-size: 55px; margin: 30px 5px 20px; letter-spacing: 1.5px; line-height: 1.25}
.app_dw .main_tit h1 em {font-style: normal; color: #8b3fec;}

.app_dw .content .app_btn {display: flex; align-items: center; gap: 20px; width: 80%; margin-bottom: 15px;}
.app_dw .content .app_btn a {display: inline-block; max-width: 200px;}
.app_dw .content > p {font-size: 18px; line-height: 1.3; color: #707070;}

.app_dw .content form {padding-top: 45px;}
.app_dw .content form strong {font-size: 21px;}
.app_dw .content form strong em {font-style: normal; color: #8b3fec;}
.app_dw .content form strong + p {font-size: 1rem; line-height: 1.4; margin-top: 5px; color: #707070;}
.app_dw .content fieldset {outline: none; border: 0; padding-top: 15px;}

.app_dw .app_link input[type="text"] {padding: 15px; width: 80%; font-size: 18px;}
.app_dw .app_link input[type="text"]:hover,
.app_dw .app_link input[type="text"]:active,
.app_dw .app_link input[type="text"]:focus {border-color: #8b3fec; transition: all linear .25s}
.app_dw .app_link button {width: 80%; margin-top: 10px; padding: 16px; border-radius: 5px; background-color: #8b3fec; font-weight: bold; font-size: 18px; letter-spacing: 1px; color: #fff; border: 1px solid #8b3fec;}
.app_dw .app_link button:hover,
.app_dw .app_link button:active {background-color: #333; transition: all linear .25s;}

.app_dw .img_wrap {border: 4px solid #444; border-radius: 20px; position: relative; width: 360px; height: 692px; overflow: hidden;}
.app_dw .img_wrap img {display: block; margin: 0; position: absolute; top:0; left: 0; width: 100%; height: auto;}

@media screen and (max-width: 768px) {
  .container.app_dw {width: 100vw; padding: 50px 0;}
  .app_dw .f-wrap div[class^="col-"] {padding: 0 8vw}
  .app_dw .main_tit p {font-size: 21px;}
  .app_dw .main_tit h1 {font-size: 37px; margin: 20px 3px 15px; letter-spacing: 1.3px;}

  .app_dw .content .app_btn {display: flex; align-items: center; gap: 15px; width: 100%; margin-bottom: 15px;}
  .app_dw .content > p {font-size: 15px; line-height: 1.2; margin-bottom: 30px;}

  .app_dw .img_wrap {max-width: 360px; width: 100%; height: auto;}
  .app_dw .img_wrap img {position: inherit;}
}