
:root {
  --filter-01: invert(59%) sepia(300%) saturate(1%) hue-rotate(50deg) brightness(151%) contrast(91%);
}
.con-tit {
  margin: 17rem 0 4rem 0;
}

/* tab-menu */
.maintab-Wrap {
  position: relative;
  width: 100%;
}
.maintab-Wrap .maintab {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  gap:2rem;
  padding-bottom:8rem;
}
.maintab-Wrap .maintab>li {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-shrink: 1;
  box-sizing: border-box;
  -webkit-transition-property: color, border-color, background-color, box-shadow;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in-out;
  transition-property: color, border-color, background-color, box-shadow;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.maintab-Wrap .maintab>li a {
  width: 100%;
  text-align: center;
  color: var(--black);
  padding: 1rem 2rem;
  border-radius: 50px;
  border:1px solid var(--gray);
  -webkit-transition-property: color, border-color, background-color, box-shadow;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in-out;
  transition-property: color, border-color, background-color, box-shadow;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.maintab-Wrap .maintab>li.active a {
  color: var(--white);
  background:var(--black)
}
.maintab-Wrap .maintab>li.active:hover a,
.maintab-Wrap .maintab>li.active {
  cursor: default;
}

.maintab-Wrap .maintab:not(.subtab, .tab-indecate)>li:not(.active) a:hover{
  color: var(--white);
  background:var(--black);
}

.tabcontents {
  display: block;
  height: 100%;
}
.tabcontents .tabcon {
  display: none;
  padding: 10px 0px 24rem;
  font-size: 1.8rem;
}
.tabcontents .tabcon.active {
  display: block;
}

.tabcon > * { margin-bottom: 16rem; }

/* tabtitle */
.tabtitle >* {line-height: 150%; text-align: center;}
.tabtitle h2 {
  font-size: 3rem;
  font-weight: bold;
}
.tabtitle p {font-size: 2rem;}

/* conBox */

.conBox h3 , .swiper-container h3{font-size: 2rem; font-weight: bold; margin-bottom: 2rem;}
.conBox p, .swiper-container p {font-size: 1.8rem;
  line-height: 150%;
  margin-bottom: 4rem;}
.conBox {line-height: 150%;max-width: 1200px;    margin-left: auto;
  margin-right: auto;}
.conBox.cen , .grid.col4 {text-align: center;}
/* flex */
.flex {
  display: flex;
  align-items: center; 
  justify-content: space-between;
  gap: 4rem;
}

.flex h5, .grid h5 {font-weight: bold;}
.flex .textArea, .grid .textArea {font-size: 1.4rem; line-height: 150%; font-weight:100;}

.flex .redBox {
  background:#e1363c;
  color:var(--white);
  border-radius: 30px;
  padding:3rem;
  max-width: 360px;
  width:100%;
}
.flex .redBox >*, .flex .Box >*, .grid.col4 .Box >* {margin-bottom: 2rem;}
.flex .redBox img ,.grid.col4 img {margin:0 auto;}
.flex .Box {text-align: center;}
.flex .Box img {margin:0 auto 2rem;}

/* table */
.tableArea {
  border-radius: 20px;
    overflow: hidden;    
  border:1px solid var(--red);
}
.tableArea table{
  width:100%;
  font-size: 1.6rem;
  text-align: center;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: 1.4rem;
}
.tableArea thead {background:var(--red);
  color:var(--white);
  border:1px solid var(--red);
}
.tableArea tr {border-bottom: 1px solid var(--gray);}
.tableArea tr th ,.tableArea tr td  {padding: 1rem 1.5rem; white-space: nowrap;}
.tableArea tbody tr:last-child {border:0;}

.hisTitle {font-size: 4.4rem;
  font-weight: bold;
  color:var(--red);  
  font-family: 'ONE-Mobile-Title';
}
.conBox .textStyle01 {
  font-size: 3.4rem;
  font-weight: bold;
  color:var(--red);  
  line-height: 150%;
}
.STU-01-end {text-align: end;}

/* relbox */
.relbox .Box {position: relative;}
.relbox .Box .textbox {
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color:var(--white);
  white-space: nowrap;
}

/* swiper */
.swiper-container {
  text-align: center;
  padding:8rem 0;
  background: #FFF3C0;
  overflow: hidden;
  width: 100%;
}
.swiper-wrapper {
  justify-content: space-between;
}
.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  width: max-content !important;
}
.slide-img {
  width: 320px;
  height: 320px;
  overflow: hidden;
  border-radius: 3rem;
  position:relative;
}
.slide-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slide-img::before{
  position:absolute;
  content: '';
  width:100%;
  height: 100%;
  left: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.6) 100%);
}

.swiper-slide .flex {
  position: absolute;
  z-index: 2;
  align-items: center;
  max-width: 320px;
  width: 100%;
  padding: 3rem;
  bottom: 0;
}
.slide-text {
  text-align: justify;
}
.slide-text label {
  color:var(--white);
  background:var(--red);
  padding: .4rem 1rem;
  border-radius: 50px;
  font-size: 1.2rem;
}
.slide-text p {
  margin: 2rem 0 0;
  color: var(--white);
}
/* tab2 */
.stageArea .flex {gap: 0;}
.stageArea .flex .Box {
  background:#fafafa;
  border-radius:40px;
  padding:4rem;
  text-align: justify;
  width: 300px;
}
.stageArea .flex .Box .textArea {
  font-size: 1.2rem;
}
.stageArea .num {
  background: var(--red);
  color: var(--white);
  width: 48px;
  height: 48px;.conBox p
  margin-left: auto;
  border-radius: 99px;
  font-size: 1.6rem;
  display: flex; 
  justify-content: center ;
  align-items: center;
}
.tableArea .style {
  font-weight: bold;
  background: #F8EFE7;;
}
.capBox p {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
/* tab3 */
.tabcon.tab3 >* {
  margin-bottom: 4rem;
}
.inputArea {
  width: 860px;
  margin:0 auto;
}
.inputArea .in-title {
  display: flex; 
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
  border-bottom: 2px solid var(--red);
  padding-bottom: 2rem;
}
.inputArea .in-title h4{
  font-weight: bold;
  font-size: 1.8rem;
}
.inputArea .in-box >* {
  margin-bottom: 2rem;
}
.stu-input-con p {
  width: 200px;;
}
.stu-input {
  border: 1px solid #e8e8e8;
  border-radius: 99px;
  width: 100%;
  padding: 1.5rem;
}

.stu-input input {
  border: none;
  outline: none;
  font-size: 1.6rem;
}

.flex-sel {
  display: flex;
  align-items: center;
  gap: .5rem;
  width: 100%;
}

.stu-input-con .search-select {width:100%; max-width: 100%;}
.col.stu-input-con {align-items: flex-start;}
/* editInput */
.editInput {width:100%; border: 1px solid var(--gray);}
.editInput .ql-toolbar.ql-snow {border: 0; border-bottom:1px solid var(--gray); text-align: justify;} 
.editInput .ql-container.ql-snow {border:0;}
.editInput .ql-editor{min-height: 400px;}
.editInput .ql-editor>* {font-size: 1.4rem; color:var(--gray2);}

/* checked */
input[type="checkbox"] {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid var(--gray);
  box-sizing: border-box;
  outline: 0;
  border-radius: 4px;
  margin-right: 0.5rem;
}
input[type="checkbox"]:checked {
  border-color: var(--red);
  background-color: var(--red);
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}

.capBox.boxStyle {
  background: #f5f5f5;
  padding:3rem;
  border-radius: 20px;
}

.capBox.boxStyle p {
  display: flex;
  gap: .5rem;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  line-height: 140%;
}

.btn.small {
  color: var(--red);
  font-size: 1.4rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--red);
}

.btn-box {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin: 4rem auto 12rem;
  max-width: 490px;
}
.btn-box .btn {
  border-radius: 99px;
  height: 5rem;
  font-size: 1.6rem;
  font-weight: bold;
  transition: all 0.5s ease-out;
}

.new-write {
  border:1px solid #e8e8e8;
  color: var(--gray2);
  width:50%;
}

.save{
  background:var(--red);
  border:1px solid var(--red);
  color: var(--white);
  width:50%;
}