/* Reset */
* {margin: 0; padding: 0; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; word-break: keep-all;}
html, body {max-width: 100%; min-height: 100%; font-size: 16px;}
html {overflow-x: hidden; -webkit-text-size-adjust: none;}
body {-webkit-print-color-adjust: exact; background: #FFFFFF; font-family: 'Pretendard'; font-style: normal; font-weight: 300; color: #333333; line-height: 1.5; letter-spacing: -0.5px;}
ul, li, dl,dt,dd {margin: 0; padding: 0; list-style: none;}
a {color: #333333; text-decoration: none;}
img {border: 0; font-size: 0; max-width: 100%;}
table, tr, td {border-collapse: collapse;}
p {word-break: keep-all;}
textarea, select {font-family: 'Pretendard'; font-size: 1em;}
input, button {margin: 0; padding: 0; font-family: 'Pretendard'; font-size: 1em;}
input[type="submit"], button {cursor: pointer;}
input {border-radius: 0;}

caption, legend {font-size: 0; line-height: 0; height: 0; position: relative;}

:focus-visible { outline: 3px dotted #ff0000; }

.ovh {overflow: hidden;}

/* Color */
:root {
  --main-color: #005B45;
  --sub-color: #DAEDE9;
  --hover-color: #004635;

  --black-color: #000000;
  --white-color: #FFFFFF;

  --line-color1: #DDDDDD;
  --line-color2: #CCCCCC;

  --text-gray: #8A8A8A;
}

/* Content Line */
.container {padding-left: 1.5rem; padding-right: 1.5rem; width: 100%;}
.wrapper {width: 1400px; max-width: 100%; margin: 0 auto;}

/* Fonts */
.f_aggro {font-family: 'Aggravo';}

/* Typography */
h1 {font-size: 3.125rem; font-weight: 800;}
h2 {font-size: 2.5rem; font-weight: 700;}
h3 {font-size: 2.25rem; font-weight: 600;}
h4 {font-size: 1.75rem; font-weight: 500;}
h5 {font-size: 1.25rem; font-weight: 700;}
h6 {font-size: 1rem; font-weight: 700;}

/* Common */
.w-per100 {width: 100%;}
.w-per95 {width: 95%;}
.w-per90 {width: 90%;}
.w-per85 {width: 85%;}
.w-per80 {width: 80%;}
.w-per75 {width: 75%;}
.w-per70 {width: 70%;}
.w-per66 {width: 66.667%;}
.w-per65 {width: 65%;}
.w-per60 {width: 60%;}
.w-per55 {width: 55%;}
.w-per50 {width: 50%;}
.w-per45 {width: 45%;}
.w-per40 {width: 40%;}
.w-per35 {width: 35%;}
.w-per33 {width: 33.333%;}
.w-per30 {width: 30%;}
.w-per25 {width: 25%;}
.w-per20 {width: 20%;}
.w-per15 {width: 15%;}
.w-per10 {width: 10%;}
.w-per5 {width: 5%;}
.wauto {width: auto;}

.h-per100 {height: 100%;}

.round-per50 {border-radius: 50%;}

.round100 {border-radius: 6.25rem;}
.round90 {border-radius: 5.625rem;}
.round80 {border-radius: 5rem;}
.round70 {border-radius: 4.375rem;}
.round60 {border-radius: 3.75rem;}
.round50 {border-radius: 3.125rem;}
.round40 {border-radius: 2.5rem;}
.round30 {border-radius: 1.875rem;}
.round25 {border-radius: 1.563rem;}
.round20 {border-radius: 1.25rem;}
.round15 {border-radius: 0.938rem;}
.round10 {border-radius: 0.625rem;}
.round5 {border-radius: 0.313rem;}

/* sound only */
.sound_only{display: inline-block !important; position: absolute; top: 0; left: 0; width: 0; height: 0; margin: 0 !important; padding: 0 !important; font-size: 0; line-height: 0; border: 0 !important; overflow: hidden !important;}

/* clearfix */
.cf:before,
.cf:after{content: " "; display: table;}
.cf:after{clear: both;}
.cf{*zoom: 1;}

/* text cut */
.tRow1{white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.tRow2 {white-space: normal; overflow: hidden; line-height: 1.5; max-height: 3em; text-align: left; word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
.tRow3 {white-space: normal; overflow: hidden; line-height: 1.5; max-height: 4.5em; text-align: left; word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;}

/*Column*/
.i-col-0{font-size: 0;}
.i-col-1{font-size: 0;}
.i-col-2{font-size: 0;}
.i-col-3{font-size: 0;}
.i-col-4{font-size: 0;}
.i-col-5{font-size: 0;}
.i-col-6{font-size: 0;}
.i-col-7{font-size: 0;}
.i-col-8{font-size: 0;}
.i-col-9{font-size: 0;}
.i-col-10{font-size: 0;}
.i-col-11{font-size: 0;}
.i-col-12{font-size: 0;}

.i-col-0 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: auto;}
.i-col-1 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 100%;}
.i-col-2 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 50%;}
.i-col-3 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 33.333%;}
.i-col-4 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 25%;}
.i-col-5 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 20%;}
.i-col-6 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 16.666%;}
.i-col-7 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 14.285%;}
.i-col-8 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 12.5%;}
.i-col-9 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 11.111%;}
.i-col-10 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 10%;}
.i-col-11 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 9.09%;}
.i-col-12 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 8.333%;}

/* skip navigation */
#skip_nav { position: absolute; left: 0; top: -1000px; width: 100%; height: 0px; z-index: 1000; line-height: 0px; font-size: 0px; }
#skip_nav a { display: block; text-align: center; width: 100%; line-height: 0px; font-size: 0px; }
#skip_nav a:focus, #skip_nav a:hover, #skip_nav a:active { position: absolute; left: 0px; top: 1000px; padding: 8px 0; display: block; height: 30px; background: #333; font-size: 12px; font-weight: bold; line-height: 18px; color: #fff; }

/* Buttons */
.i-btn {display: flex; align-items: center; justify-content: center; border: 1px solid transparent; background-color: transparent; width: 100%; transition: .3s; font-size: 16px;}

.i-btn.d-type {height: 70px; min-width: 70px; border-radius: 5px; font-weight: 600; font-size: 20px; padding: 10px;}
.i-btn.type-01 {background-color: var(--main-color); border-color: var(--main-color); color: var(--white-color);}
.i-btn.type-02 {border-color: var(--main-color); background-color: var(--white-color); color: var(--main-color);}

.i-btn.icon-type {border-radius: 4px; gap: 5px; font-weight: 600; font-size: 18px; background-color: #242424; color: var(--white-color); height: 40px; padding: 0 10px;}
.i-btn.icon-type i {font-weight: 500;}

.i-btn.ds-type {height: 48px; min-width: 120px; border-radius: 5px; font-weight: 600; font-size: 18px; padding: 5px 10px;}

/* Tab */
.tab-layout {}
.tab-layout-inner {display: flex; align-items: flex-start;}
.tab-btn {display: flex; align-items: center; justify-content: center; border: 1px solid transparent; background-color: transparent; width: 100%; transition: .3s; font-size: 16px;}

.tab-layout.type-01 {border: 1px solid var(--line-color1); border-radius: 40px; padding: 6px 8px;}
.tab-layout.type-01 .tab-btn {font-weight: 700; font-size: 25px; color: var(--text-gray); flex: 1; height: 57px; border-radius: 29px;}
.tab-layout.type-01 .tab-btn.is-active {background-color: var(--main-color); color: var(--white-color);}

.tab-layout.type-02 {display: flex; align-items: center; border-bottom: 1px solid var(--black-color);}
.tab-layout.type-02 .tab-btn {font-weight: 500; font-size: 16px; color: var(--text-gray); border: 1px solid var(--line-color1); flex: 1; height: 52px; min-width: 100px; position: relative; padding: 0 10px;}
.tab-layout.type-02 .tab-btn.is-active {font-weight: 700; color: var(--black-color); border-color: var(--black-color); border-bottom: none;}
.tab-layout.type-02 .tab-btn.is-active::before {content: ''; width: 100%; left: 0; height: 1px; background-color: var(--white-color); position: absolute; bottom: -1px;}

.tab-layout.type-03 {display: flex; align-items: center;}
.tab-layout.type-03 .tab-layout-inner {gap: 9px;}
.tab-layout.type-03 .tab-btn {border: 1px solid var(--line-color1); height: 40px; border-radius: 100px; font-weight: 400; font-size: 16px; color: #555555; padding: 0 26px;}
.tab-layout.type-03 .tab-btn.is-active {background-color: var(--main-color); border-color: var(--main-color); color: var(--white-color);}

/* Input:text */
.text-input-wrap {}
.text-input-wrap.add-btn-wrap {display: flex; align-items: flex-start; gap: 10px;}

.text-input-wrap.add-btn-wrap .i-btn {height: 30px; min-width: 94px; border-radius: 3px; background-color: #4D4D4D; font-weight: 500; font-size: 16px; color: var(--white-color); width: auto;}

.i-input {border: 1px solid var(--line-color1); border-radius: 2px; height: 30px; min-width: 200px; padding: 0 10px; font-weight: 500; font-size: 16px; color: var(--black-color);}
.i-input::placeholder {color: var(--line-color1); font-weight: 400;}

/* Input:checkbox */
.choice-wrap {display: flex; align-items: flex-start; gap: 10px 20px; flex-wrap: wrap;}
.choice-item {}
.choice-item input[type=checkbox] {position: absolute; opacity: 0; font-size: 0; width: 0; height: 0;}
.choice-item input[type=checkbox] + label {font-weight: 500; font-size: 16px; color: var(--black-color); display: flex; align-items: flex-start; gap: 10px; cursor: pointer;}
.choice-item input[type=checkbox] + label::before {content: '\eb7b'; width: 22px; height: 22px; border-radius: 4px; border: 1px solid var(--line-color2); font-weight: 500; font-size: 18px; font-family: 'remixicon' !important; display: flex; align-items: center; justify-content: center; color: var(--line-color2);}
.choice-item input[type=checkbox]:checked + label {}
.choice-item input[type=checkbox]:checked + label::before {color: var(--main-color); border-color: var(--main-color); font-weight: 700;}

/* Input:radio */
.choice-item input[type=radio] {position: absolute; opacity: 0; font-size: 0; width: 0; height: 0;}
.choice-item input[type=radio] + label {font-weight: 500; font-size: 16px; color: var(--black-color); display: flex; align-items: flex-start; gap: 10px; cursor: pointer; position: relative;}
.choice-item input[type=radio] + label::before {content: ''; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--line-color2);}
.choice-item input[type=radio] + label::after {content: ''; width: 10px; height: 10px; border-radius: 50%; background-color: var(--line-color2); position: absolute; top: 7px; left: 7px;}
.choice-item input[type=radio]:checked + label::before {border-color: var(--main-color);}
.choice-item input[type=radio]:checked + label::after {background-color: var(--main-color);}

/* Select */
.i-select {border-radius: 4px; border: 1px solid var(--line-color1); appearance: none; background: url('/source/img/icon-select.png') no-repeat center right 16px; font-weight: 500; font-size: 18px; color: var(--black-color); min-width: 150px; padding-left: 13px; padding-right: 33px; cursor: pointer;}