﻿@charset "utf-8";
/* 웹폰트 */
@font-face {
	font-family: 'Pretendard Variable';
	font-weight: 45 920;
	font-style: normal;
	font-display: swap;
	src: local('Pretendard Variable'), url('../font/PretendardVariable.woff2') format('woff2-variations');
}
@font-face {
    font-family: 'Pretendard';
    src: url('../font/Pretendard-Thin.woff') format('woff');
    font-weight: 100;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../font/Pretendard-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../font/Pretendard-Light.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../font/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../font/Pretendard-Medium.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../font/Pretendard-SemiBold.woff') format('woff');
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../font/Pretendard-Bold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../font/Pretendard-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../font/Pretendard-Black.woff') format('woff');
    font-weight: 900;
    font-display: swap;
}
.Chivo{
  font-family: "Chivo Mono", monospace;
  font-weight: 600;
  font-optical-sizing: auto;
  font-style: normal;
}
.Times{font-family: 'Times New Roman', Times, serif;}
html { -webkit-box-sizing: border-box; -moz-box-sizing: border-box;box-sizing: border-box; -webkit-text-size-adjust: none; -moz-text-size-adjust: none; -ms-text-size-adjust: none;} 
*, *:before, *:after { -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; }
body { position: relative; height: 100%!important; background-color: var(--white); color: var(--gray_2); width: calc(100% - var(--quick)); margin-left: var(--quick)!important; transition: all var(--q_trans); }
body, html { overflow-x: hidden!important; font-size: 16px; line-height: 1!important; font-family: 'Pretendard'; font-weight: 400; letter-spacing: -0.05em; scroll-behavior: smooth; 
/*overflow-wrap: normal; overflow-y: visible; line-height: initial;h1, h2, h3, h4, h5, h6,*/}
/*li, */
html, body, div, span, applet, object, iframe,  p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var,b, u, i, center, dl, dt, dd, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video/*, ol, ul th, td,*/  { margin: 0; padding: 0; border: 0; font-size: inherit;  vertical-align: bottom!important;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
input, button, textarea,select { background: transparent; overflow: hidden; outline: none;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
input, select, textarea{ font-family: 'Pretendard'; transition: all var(--q_trans);} 
/* select{ background: url("../images/arrow_down.svg") no-repeat;
	background-size: 20px; background-position:90% center; 
	-webkit-appearance: none;-moz-appearance: none; appearance: none;} */
/*code, pre, select {font-size:1.3em; font-family: 'Pretendard'; font-weight: 400; }*/
address, em, cite { font-style: normal; }
img, svg { display: block; max-width: 100%; border:0 none; }

/* 기본테이블 */
table{border-collapse: collapse; width: 100%; border-spacing: 0; background-color: var(--white); font-size: 0.9rem;}
table caption{padding:0.5rem 1rem; text-align: start;}
table th { font-weight: bold; background-color: var(--gray_f1);  }
table th, table td {border-top:1px solid #ddd; border-bottom:1px solid #ddd; padding:1rem; text-align: center; vertical-align:middle; line-height: 1.4; }
table a{color: inherit;}
/*table td{min-width: fit-content; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
 th, td {text-align:left; font-weight:normal; } */
/*리스트초기화*/
ol, ul { list-style: none; list-style-position: outside; line-height: 1.4; padding-inline-start: 0; margin-block-start: 0em!important; margin-block-end: 0em!important; }
/*리스트기본세팅ul li::marker {	content: "-  ";	color: inherit;}
ul.dot-list li::marker {	content: "·  ";	color: inherit;}*/
ul.line-list{	padding-inline-start: 0.75rem;	list-style-position: outside;}
ul.line-list li::marker {	content: "-  ";	color: inherit;}



blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
label, button { cursor: pointer; }
input[type="date"] { display:block; min-height: 1.2em; min-width: 100%; }
input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px white inset; transition: background-color 5000s ease-in-out 0s; }
input:-moz-autofill { transition: background-color 5000s ease-in-out 0s; }
input:-webkit-autofill, input:-moz-autofill, input:-ms-autofill { background-color: inherit; }
select:focus { outline: none; }

img{ vertical-align: top; display: inline-block; }
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing:border-box; }
p{display: block; /*margin-block-start: 0em!important margin-block-end: 0em!important;*/ unicode-bidi: isolate;}
/* 스크롤바 전체 */   
::-webkit-scrollbar {width: 10px!important; background-color: transparent;}
/* 스크롤바 막대 */   
::-webkit-scrollbar-thumb { background-color:var(--scroll)!important; border-radius: 10px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover{border: 0px!important; background-color: var(--point)!important; }
/* 스크롤바 외부  */   
::-webkit-scrollbar-track { background-color: transparent!important; margin: 30px 0 }
/* 플레이스홀더숨김 */
::placeholder { background-color: transparent; font-size:inherit;  }
input:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; }
input:focus::-moz-placeholder { color:transparent; }
input:focus:-ms-input-placeholder { color:transparent; }
/* 아이콘 */
.fa, .fa-brands, .fa-duotone, .fa-light, .fa-regular, .fa-solid, .fa-thin, .fab, .fad, .fal, .far, .fas, .fat { line-height: normal!important; }
a{color: inherit;}
a:link, a:visited, a:hover, a:active { text-decoration:none; cursor: pointer; }
a:focus, a:active {-webkit-tap-highlight-color: transparent;}
button,a,img{-webkit-tap-highlight-color:transparent; line-height: inherit}
/* 아이폰 기본 스타일 제거 */
input, textarea { appearance: none; -webkit-appearance: none; line-height: 0.8}
/*키워드숨김*/
.keywordhide{overflow: hidden; display: inline-block; position: relative; z-index: -1; border: 0; width: 1px; height: 1px; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);}
/* 버튼 이펙트*/
button { overflow: hidden; background: transparent; white-space: nowrap; vertical-align: top; text-decoration:none; }
button::-moz-focus-inner {border:0; padding:0;}

/* 기본 버튼 */
.base_btn { padding: 0.8rem 1.5rem; border-radius: var(--br_base); border:var(--op_black); display: inline-flex; align-items: center; justify-content: center; gap:0.5rem; color: inherit; position: relative!important;}
.base_btn:hover {background-color: var(--light_point)!important;}
.base_btn.base_btn_s {padding: 0 2rem!important;}
/* 화살표있는 큰 버튼 */
.big_btn{ padding: 0rem 2rem;  min-height: 70px; min-width: 300px!important; gap:0.5rem; position: relative!important;  margin-left: auto!important; margin-right: auto!important;  }

/* a나 버튼 에 텍스트랑 아이콘 함께 있는 경우 작은 버튼 큰번튼 동시에 사용하려면  */
a .btn_txt, button .btn_txt { transform: translateX(0.85rem); transition-duration: 0.3s;  line-height: 1; }
a .iconer, button .iconer { transform: translateY(3rem); transition-duration: 0.3s; display: inline-flex!important; align-items: center; justify-content: center;}
a:hover .btn_txt, button:hover .btn_txt  { transform: translateX(0px); }
a:hover .iconer, button:hover .iconer { transform: translateY(0%); }

/* 배경 파란 버튼 box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);*/
.hover{	background-color: var(--point);	color: var(--white); position: relative!important;}
.hover:hover { background-color: var(--dark_point)!important; }
.hover:active { box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);transform: translateY(1px);}

/* 배경 반짝 버튼 이펙트 */
.hoverEffect{ overflow: hidden; position: relative!important;}
.hoverEffect:after { background: var(--white); content: "";  height: 155px;  left: -150%;  opacity: 0.2; position: absolute; top: -50px; transform: rotate(35deg); transition: all 450ms cubic-bezier(0.19, 1, 0.22, 1); width: 50px; /* z-index: -10;*/}
.hoverEffect:hover:after { left: 150%; transition: all 450ms cubic-bezier(0.19, 1, 0.22, 1);}

/* 버튼 스타일 02 */
.btn_style_02 { display: inline-flex; gap: 10px; align-items: center; height: 50px; padding: 0 1.5rem; border-radius: 500rem; border: none; overflow: hidden; color:var(--white); position: relative; transition: var(--transition); font-size: 1.1em; font-weight: 600; }

.btn_down{ display: flex; gap: 10px; align-items: center; width: fit-content; height: 50px; padding: 0 1.25rem; border-radius: 500rem; border: none; overflow: hidden; background-color: var(--red); color: var(--white)!important; transition: var(--transition); font-size: 1.1em; font-weight: 600;}

/* 라디오 셀렉트 */
.radio_button_group { display: flex; justify-content: space-between; }
.radio_button_group .radio_input { display: none; }
.radio_button_group label { display: inline-flex; align-items: center; justify-content: center; border: solid 1px #ddd; flex: 1; margin-right: 2%; box-sizing: border-box; font-weight: 600; transition: var(--q_trans); color: #888; border-radius: var(--br_base); height: 56px; }
	.radio_button_group label:last-child { margin-right: 0; }
.radio_button_group .radio_input:checked + .radio_label { border: solid 1px var(--point); background-color: rgba(15,115,233,0.1); color: var(--point); }
.radio_button_group label.disabled { background-color: rgba(0,0,0,0.05)!important; color: #888888!important; cursor: not-allowed; }

/* 파랑 체크박스 */
.custom-checkbox input[type="checkbox"] {  display: none;}
.custom-checkbox .checkmark {	display: inline-block;	width: 1.6rem;	height: 1.6rem;	background-color: var(--white);	border: var(--op_black); border-radius: var(--br_s); margin-right: 8px;	vertical-align: middle;	position: relative;	cursor: pointer; transition: var(--q_trans);}

.custom-checkbox input:checked + .checkmark::after { content: ""; position: absolute; left: 30%; top: 1px; width: 40%; height: 1.1rem; border: solid var(--point); border-width: 0 3px 3px 0;	transform: rotate(45deg); }
.custom-checkbox:hover .checkmark, 
.custom-checkbox input:checked ~ .checkmark  {	background-color: var(--light_point);  }
.custom-checkbox input:checked ~ .checktext  {	color: var(--point);  }
.custom-checkbox input:checked ~ .checkmark:after{ animation: bluecheckAnim 0.3s forwards; }
@keyframes bluecheckAnim {
  0% { left: -100%; opacity: 0; }
  100% {left: 30%; opacity: 1; }
}

/* 배경 파랑 체크박스 */
.custom-checkbox2 input:checked + .checkmark::after {content: ""; position: absolute; left: 30%; top: 1px; width: 40%; height: 1.1rem; border: solid var(--white); border-width: 0 3px 3px 0;	transform: rotate(45deg);}
.custom-checkbox2 input:checked ~ .checkmark  {	background-color: var(--point);  }

/* Wrap max-width: calc( 1400px + 6rem );padding-left: 3rem; padding-right: 3rem;*/
.wrap { width: 100%;  max-width: 1400px; margin: 0 auto; word-break: keep-all; }
/* PC, 모바일 표시 */
.p_ver { display: inline-block!important; }
.m_ver { display: none!important; }/*모바일에서 보임*/

/* ==================== 모바일 레이아웃 ==================== */

@media ( max-width: 1380px  ) {
	body{width: 100%!important; margin-left:0!important;}
}
@media ( max-width: 1280px ) {
    /* Wrap */
    /* .wrap { max-width: calc( 1400px + 4rem ); padding-left: 2rem; padding-right: 2rem; } */

	/* PC, 모바일 표시 */
	.p_ver  { display: none!important; }
	.m_ver { display: inline-block!important; }
}

@media ( max-width: 900px ) {
    /* Wrap */
    /* .wrap { max-width: calc( 100% + 2rem ); padding-left: 1rem; padding-right: 1rem; } */
	
	/* 버튼 스타일 01 */
    .base_btn { padding: 0.5rem 1rem; font-size: 12px; }
	.btn_style_01 { height: 48px !important; color: #fff !important; gap: 5px; font-size: 0.9em; line-height: 1.2; padding: 0 2rem; }
	.btn_style_01:hover { color: #fff !important; }
	.btn_style_01 .btn_txt { transform: translateX(0); }
	.btn_style_01 .iconer { transform: translateY(0); font-size: 1.3em; margin-left: 0.2rem; }
	.btn_style_01 .iconer svg { width: 20px; height: 20px; }
	.btn_style_01:hover .iconer { transform: translateY(0); }
	
	/* 화살표있는 큰 버튼 */
	.big_btn{ min-height: 50px; min-width: 180px!important; }
	/* 버튼 스타일 02 */
	.btn_style_02 { height: 44px; padding: 0 1.5rem; gap: 6px; }

	/* 체크박스 */
	.checkbox_ctr { height: 22px; padding-left: 25px; transform: scale(0.9); transform-origin: left; }
	.checkbox_ctr .checkmark { height: 22px; width: 22px; }
	.checkbox_ctr .checkmark::after { top: 3px; left: 7px; }
	
	/* 라디오 셀렉트 */
	.radio_button_group label { height: 48px; }
	.btn_down{ margin: auto;}

    
    table{table-layout: fixed;}
    table th, table td { padding:0.75rem 0.3rem;}
}
@media ( max-width: 600px ) {
	
}


