 
:root {

	--transition: all 0.4s ease-in-out;

}
  

/* common */
* { margin: 0; padding: 0; outline: none; box-sizing: border-box; -webkit-tap-highlight-color: transparent;}
body {margin: 0; padding: 0; -ms-overflow-style: none; scrollbar-width: none; background: #000000;}
html::-webkit-scrollbar {display: none;}
html { scroll-behavior: smooth; }
html, body {font: 400 16px/1.2 'Pretendard', 'Noto Sans KR', sans-serif;  color: #fff; width: 100%; position: relative;}
ul, li {list-style: none;}
a {text-decoration: none; color: inherit; -webkit-tap-highlight-color: transparent;}
img {max-width: 100%;}
button { font-family: inherit; border: none; background-color: transparent; outline: 0;  cursor: pointer; }
input,textarea,button,select {font-family: inherit;}

body.hidden { overflow: hidden;}
body::before { content: "";  position: fixed;  left: 0;  top: 0;  width: 100%;  height: 100%; background-color: rgba(0,0,0,0.25); z-index: 99; transition: var(--transition); opacity: 0; pointer-events: none;cursor: pointer;}
body.hidden::before { opacity: 1;  pointer-events: auto;}
  
.wrap {width: 100%; position: relative;}
.pc {display: block;}
.tablet {display: none !important;}
.mobile { display: none !important;}
.container {position: relative; width: 100%; } 
.inner {position: relative; width: 90%; max-width: 1280px;  margin-left: auto; margin-right: auto;}
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after,
.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {display: none;}

  
/*header*/
.header { position: relative; width: 100%;  height: 6.25rem;  background: #000; z-index: 100; border-bottom: 1px solid rgba(255,255,255,0.5);}
.header .h_inner { height: 100%; display: flex; align-items: center; justify-content: center; }
.header .h_logo { width:7.5rem;}
.header .h_logo > a {display: flex; align-items: center; justify-content: center;}
  

/* footer */
.footer { position: relative;  width: 100%;  padding: 8.75rem 0 6rem;}
.footer .f_inner { display: flex; flex-direction: column;  align-items: center; gap: 2rem;}
.footer .f_inner .f_copy { font-size: 1rem; line-height: 1; color: #fff;  text-transform: uppercase;}
.footer .f_inner .f_logo {display: flex; align-items: center; justify-content: center; width: 6.25rem;}


/* modal */
.modal { position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 100;  background: #000000; padding: 6rem 0; transition: var(--transition);  pointer-events: none; opacity: 0; overflow: auto;}
.modal::-webkit-scrollbar {display: none;}
.modal.show { pointer-events: auto; opacity: 1;}
.modal .modal_close_btn { background: url(../img/modal_close.png) no-repeat center / contain #00d400; position: absolute; top: 2.5rem; right: 2.5rem; width: 3.75rem;  aspect-ratio: 1 / 1; transition: var(--transition); border-radius: 50%;}
.modal .modal_close_btn:hover { transform: rotate(180deg);}
.modal .modal_box { display: flex; flex-direction: column; align-items: center;  gap: 8rem; transition: var(--transition); margin-top: 2.5rem;  opacity: 0;}
.modal.show .modal_box { margin-top: 0; opacity: 1;}
.modal .modal_box .modal_tit {  font-size: 2rem; line-height: 1.2; font-weight: 700; letter-spacing: -0.04em; color: #fff;  text-align: center;}
.modal .modal_box .modal_tit .color {color: #00d400;}


/* alert modal */
.alert_modal { position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 100; background: rgba(0, 0, 0, 0.5); transition: all 0.4s ease; pointer-events: none; opacity: 0;}
.alert_modal .modal_box { position: absolute;  left: 50%; top: 50%;  transform: translate(-50%, -50%); border-radius: 1.875rem;background: rgba(0, 0, 0, 0.9);  box-shadow: 0 0 2.5rem rgba(255, 255, 2555, 0.3); padding: 2.5rem 1.25rem 3rem; min-width: 420px; max-width: 90%;  max-height: 90%; gap: 0;}
.alert_modal .modal_box .modal_icon { font-size: 5rem; color: #00d400; margin-bottom: 1.5rem;}
.alert_modal .modal_box .modal_tit { font-weight: 600;  font-size: 1.875rem;  line-height: 150%;  letter-spacing: -0.01em; text-align: center;  color: #fff; margin-bottom: 0.75rem;}
.alert_modal .modal_box .modal_desc {  font-size: 1.25rem; line-height: 147%;  letter-spacing: -0.01em; text-align: center;  color: #b2b2b2;}
.alert_modal .modal_box .modal_btnbox { width: 100%; display: flex; justify-content: center; gap: 0.75rem;  margin-top: 3rem;}
.alert_modal .modal_box .modal_btnbox .modal_btn { font-weight: 600;  font-size: 1.125rem; line-height: 147%; letter-spacing: -0.01em; color: #fff;  max-width: calc((100% - 0.75rem) / 2);  display: flex; align-items: center; justify-content: center;  padding: 1rem 3rem; border-radius: 10rem; border: 1px solid #00d400; color: #00d400; transition: var(--transition);}
.alert_modal .modal_box .modal_btnbox .modal_btn:hover { color: #fff;  background: #00d400;}
.alert_modal .modal_box .modal_btnbox .modal_btn.typeB {}



/* form */
.form { position: relative; width: 100%; display: flex;  flex-direction: column;  gap: 8.5rem;}
.form_box { display: flex; flex-wrap: wrap; gap: 2.5rem 2rem;}
.form_box.ver2 {gap: 4rem 2rem;}
.form_item {position: relative;}
.form_item.wid50 { width: calc((100% - 2rem) / 2);}
.form_item.wid100 { width: 100%;}

.form_tit { font-size: 1.5rem; line-height: 1.2;  letter-spacing: -0.04em;  color: #fff;}
.form_tit2 { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1rem;}
.form_tit2.ver2 {margin-bottom: 1.25rem;}
.form_tit2 .num { font-size: 2.5rem;  line-height: 1.2;  letter-spacing: -0.04em;   font-weight: 700;  text-transform: uppercase; color: #00d400;}
.form_tit2 .txt { margin-top: 0.5rem;  font-size: 1.875rem; line-height: 1.2;  letter-spacing: -0.04em;  font-weight: 500; display: flex; flex-direction: column;  gap: 0.625rem;}
.form_tit2 .txt .small { font-size: 1.375rem; line-height: 1.2; letter-spacing: -0.04em;  font-weight: 100;}

.form_term { margin-top: 2.5rem;  display: flex;  align-items: center;   justify-content: space-between;  gap: 2rem;}
.form_term .form_check {flex: 1;}
.form_term .form_termbtn { font-size: 1.5rem; line-height: 1.2;  letter-spacing: -0.04em; color: #ffffff; transition: var(--transition);  cursor: pointer;}
.form_term .form_termbtn:hover {color: #00d400;}

.form_btnbox { position: relative; margin-top: 1.5rem;  display: flex;  align-items: center;  justify-content: center;}
.form_btnbox .form_btn { font-size: 2rem; line-height: 1.2; letter-spacing: -0.04em;  font-weight: 700; color: #00d400; padding: 1.5rem 5rem; border: 2px solid #00d400;  border-radius: 10rem; transition: var(--transition);}
.form_btnbox .form_btn:hover {background: #00d400; color: #fff;}

.input_box { width: 100%; display: flex; flex-direction: column; gap: 1rem;}
.input_box .input_text { width: 100%;  height: 3.75rem;  background: transparent;   border: 1px solid #b2b2b2; border-radius: 0.938rem;  padding: 1rem 1.5rem;  font-size: 1.125rem; letter-spacing: -0.04em; font-weight: 200; color: #fff;  transition: var(--transition);}
.input_box .input_text:focus {border-color: #00d400;}
.input_box .input_text::placeholder {color: #b2b2b2;}
.input_box textarea.input_text { height: 16rem; padding: 1.5rem;}
.input_box textarea.input_text.ver2 { font-size: 1.125rem; height: 18rem;}
.input_box .input_text.input_etc { text-align: center;  border-radius: 1rem; padding: 1.5rem 0;  font-size: 1.125rem;}
.input_box .input_text.input_etc::placeholder {color: #fff;}
.input_box .input_text.input_etc.is_filled {font-weight: 700; background: #f2f2f2; border-color: #f2f2f2; color: #000000;}

.check_box {display: flex; align-items: center; gap: 1rem;}
.check_box .input_check {position: relative; appearance: none;  width: 1.5rem; height:1.5rem; border: 1px solid #fff; border-radius: 0; transition: var(--transition); cursor: pointer;}
.check_box .input_check::before {content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: url(../img/ic_check.png) no-repeat center/contain; opacity: 0; transition: var(--transition);}
.check_box .input_check:checked {background: #00d400; border-color: #00d400;}
.check_box .input_check:checked::before {opacity: 1;}
.check_box .label_check {font-size: 1.5rem; line-height: 1.2; letter-spacing: -0.04em; color: #fff; cursor: pointer; flex: 1; transition: var(--transition);} 
.check_box .label_check:hover {color: #00d400;}

.radio_wrap { display: flex; flex-wrap: wrap; gap: 1.5rem;}
.radio_wrap .radio_box { width: calc((100% - 1.5rem*2) / 3);}
.radio_box .input_radio { display: none;}
.radio_box .label_radio { position: relative; width: 100%;  border: 1px solid #b2b2b2;  border-radius: 1rem; padding: 1.5rem 0; font-size: 1.125rem; letter-spacing: -0.04em; font-weight: 100; color: #fff;  display: flex; align-items: center;  justify-content: center;  transition: var(--transition);  cursor: pointer;}
.radio_box .label_radio:hover {color: #00d400; border-color: #00d400;}
.radio_box .label_radio .after { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;  opacity: 0; pointer-events: none;}
.radio_box .input_radio:checked + .label_radio {font-weight: 700; background: #f2f2f2; border-color: #f2f2f2; color: #000000;}
.radio_box .input_radio:checked + .label_radio .before { opacity: 0;}
.radio_box .input_radio:checked + .label_radio .after { opacity: 1; pointer-events: all;}