@charset "utf-8";
@supports (-webkit-touch-callout: none) {
  /* CSS specific to iOS devices */
}
/* base */
html.safari.desktop {
  font-size: 0.040083333vw;
}
::selection {
  background: rgb(79 186 193 / 56%);
  color: #fff;
}
body {
  font-size: 16rem;
  word-break: keep-all;
}
th[data-view="file"] + td ul li a {
  line-height: 1em;
}
ul li:last-child {
  margin-right: 0;
}

::-webkit-scrollbar {
  width: 10rem;
}
::-webkit-scrollbar-thumb {
  background-color: hsla(0, 0%, 42%, 0.3);
  border-radius: 100rem;
}

html,
body {
  height: 100vh;
  height: var(--vh);
}
body {
  overflow-y: overlay;
}

/* data-motion */
[data-motion="blur"] {
  filter: blur(10px);
  opacity: 0;
  transform: scale(1.1);
  transition: 1s ease 0s;
}
[data-motion="blur"].motion_in {
  filter: blur(0);
  opacity: 1;
  transform: scale(1);
}
[data-motion="slide-up"] {
  opacity: 0;
  transform: translateY(50rem);
  transition: 1s ease 0s;
}
[data-motion="slide-up"].motion_in {
  opacity: 1;
  transform: translateY(0);
}
[data-motion="slide-left"] {
  opacity: 0;
  transform: translateX(50rem);
  transition: 1s ease 0s;
}
[data-motion="slide-left"].motion_in {
  opacity: 1;
  transform: translateX(0);
}
[data-motion="slide-right"] {
  opacity: 0;
  transform: translateX(-50rem);
  transition: 1s ease 0s;
}
[data-motion="slide-right"].motion_in {
  opacity: 1;
  transform: translateX(0);
}
[data-motion="slide_show_right"] {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: clip-path var(--aniTime, 1.5s) var(--aniEase, ease) 0s;
}
[data-motion="slide_show_right"].motion_in {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  transition-delay: var(--aniDelay, 0.1s);
}
[data-motion="slide_show_left"] {
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  transition: clip-path var(--aniTime, 1.5s) var(--aniEase, ease) 0s;
}
[data-motion="slide_show_left"].motion_in {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  transition-delay: var(--aniDelay, 0.1s);
}
[data-motion="slide_show_down"] {
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transition: clip-path var(--aniTime, 1.5s) var(--aniEase, ease) 0s;
}
[data-motion="slide_show_down"].motion_in {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  transition-delay: var(--aniDelay, 0.1s);
}
[data-motion="slide_show_up"] {
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  transition: clip-path var(--aniTime, 1.5s) var(--aniEase, ease) 0s;
}
[data-motion="slide_show_up"].motion_in {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  transition-delay: var(--aniDelay, 0.1s);
}

/* root ---------------  */
:root {
  --vh: 100%;
  --color-black: #212121;
  --color-line: #242424;
  --color-point: #bf3365;
  --color-bpoint: #48c46d;
  --color-gray: #f8f8f8;

  --animation-basic: all 0.4s ease;
  --animation-lazy: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  --lang-kor: "Pretendard", Sans-serif;
  --lang-en: "Outfit", Sans-serif;
  --lang-mob: Sans-serif;
}

/* 공통 --------------- */
.inner {
  width: 100%;
  box-sizing: border-box;
  margin: 0 260px;
}
.flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
}

/* 버튼 */
.area_button {
  display: flex;
}
.area_button .btn {
  width: 170rem;
  height: 55rem;
  display: flex;
  border: 1px solid transparent;
  background-color: transparent;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transition: background-color 0.3s;
}
.area_button .btn span {
  font-size: 16rem;
}
.area_button .btn.white {
  border-color: #222;
  background-color: #fff;
}
.area_button .btn.white span {
  color: #222;
}
.area_button .btn.black {
  background-color: #222;
}
.area_button .btn.black span {
  color: #fff;
}
.area_button .btn + .btn {
  margin-left: 8rem;
}
@media (hover: hover) {
  .area_button .btn.white:hover {
    background-color: #222;
  }
  .area_button .btn.white:hover span {
    color: #fff;
  }
  .area_button .btn.black:hover {
    background-color: #fff;
  }
  .area_button .btn.black:hover span {
    color: #222;
  }
}

/* 칼라 */
.point {
  color: var(--color-point);
}

/* 체크 */
[data-check] label {
  padding-left: 34rem;
  box-sizing: border-box;
  cursor: pointer;
  position: relative;
}
[data-check] label em {
}
[type="checkbox"]:not(:checked),
[type="checkbox"]:checked {
  position: absolute;
  left: 0;
  opacity: 0.01;
}
[type="checkbox"]:not(:checked) + .mark,
[type="checkbox"]:checked + .mark {
  position: absolute;
  cursor: pointer;
  width: 24rem;
  height: 24rem;
  left: 0;
  top: 0;
  background: transparent;
  border: 1px solid transparent;
  -webkit-transition: all 0.275s;
  transition: all 0.275s;
}
[type="checkbox"]:not(:checked) + .mark:after,
[type="checkbox"]:checked + .mark:after {
  content: "";
  width: 7rem;
  height: 12rem;
  box-sizing: border-box;
  border-bottom: 2rem solid var(--color-point);
  border-right: 2rem solid var(--color-point);
  position: absolute;
  top: 4rem;
  left: 9rem;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
[type="checkbox"]:not(:checked) + .mark:after {
  opacity: 0;
  -webkit-transform: scale(0) rotate(0);
  transform: scale(0) rotate(0);
}
[type="checkbox"]:checked + .mark:after {
  opacity: 1;
  -webkit-transform: scale(1) rotate(37deg);
  transform: scale(1) rotate(37deg);
}
[type="checkbox"]:disabled:not(:checked) + .mark:before,
[type="checkbox"]:disabled:checked + .mark:before {
  box-shadow: none;
  border-color: #bbb;
  background-color: #e9e9e9;
}
[type="checkbox"]:disabled:checked + .mark:after {
  color: #777;
}
[type="checkbox"]:disabled + .mark {
  color: #aaa;
}

/* Accessibility */
[type="checkbox"]:checked:focus + .mark:before,
[type="checkbox"]:not(:checked):focus + .mark:before {
  box-shadow: inset 0 1rem 3rem rgba(0, 0, 0, 0.1),
    0 0 0 6px rgba(100, 164, 247, 0.2);
}

#header {
  height: 98rem;
  border-bottom: 1px solid #242424;
  position: relative;
  z-index: 90;
}
#header h1 a {
  height: 40rem;
  position: absolute;
  left: 64rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 130;
}
#header h1 a img {
  display: block;
  height: 100%;
}
#header .btn_menu {
  display: none;
}
#header .btn_menu {
  position: absolute;
  top: 27rem;
  right: 20rem;
  z-index: 9999;
  width: 23rem;
  height: 24rem;
  font-size: 0rem;
  transition: all 0.3s ease 0s;
}
#header .btn_menu > span {
  display: block;
  position: absolute;
  left: 0rem;
  width: 100%;
  height: 2rem;
  background: #fff;
}
#header .btn_menu > span:nth-of-type(1) {
  top: 5rem;
}
#header .btn_menu > span:nth-of-type(2) {
  top: 50%;
  margin-top: -1rem;
  transition: background 0.3s ease 0s;
}
#header .btn_menu > span:nth-of-type(3) {
  top: 17rem;
}
#header .btn_menu > span:nth-of-type(1),
#header .btn_menu > span:nth-of-type(3) {
  transition: all 0.3s ease;
  transition-property: top, transform;
  transition-delay: 0.3s, 0s;
}
#header .btn_menu.active {
  position: fixed;
  top: 25rem;
  transform: rotate(180deg);
}
#header .btn_menu.active > span:nth-of-type(1) {
  top: 10rem;
  transform: rotate(-45deg);
}
#header .btn_menu.active > span:nth-of-type(2) {
  background: transparent;
}
#header .btn_menu.active > span:nth-of-type(3) {
  top: 10rem;
  transform: rotate(45deg);
}
#header .btn_menu.active > span:nth-of-type(1),
#header .btn_menu.active > span:nth-of-type(3) {
  transition-delay: 0s, 0.3s;
}
#header .btn_close {
  position: fixed;
  opacity: 0;
  visibility: hidden;
  top: 0rem;
  left: 0rem;
  z-index: 99;
  width: -webkit-calc(100% - 320rem);
  width: 100%;
  height: -webkit-calc(100vh - -0rem * 1);
  height: calc(100vh - -0px * 1);
  background: #000;
  font-size: 0;
  transition: all 0.3s ease-out 0s;
}
.active #header .btn_close {
  opacity: 0.4;
  visibility: visible;
}

.hd-util {
  position: absolute;
  right: 0;
  z-index: 90;
  background-color: #212121;
  width: 220rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hd-util ul {
  display: flex;
}
.hd-util ul li {
  position: relative;
}
.hd-util ul li + li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6rem;
  width: 1px;
  height: 13rem;
  background-color: #fff;
  opacity: 0.34;
}
.hd-util ul a {
  color: #fff;
  font-size: 15rem;
  padding: 0 17rem;
  box-sizing: border-box;
  position: relative;
}
.hd-util ul a i {
  margin-right: 10rem;
}
.hd-util.mo_ver {
  display: none;
}

#header .online-classroom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20rem;
  position: absolute;
  top: 0;
  right: 220rem;
  width: 320rem;
  height: 100%;
  background: var(--color-point);
  font-size: var(--fs18);
  line-height: 1;
  color: #fff;
  font-weight: bold;
  border-left: 1px solid var(--color-line);
  box-sizing: border-box;
}
#header .online-classroom img {
  display: block;
  width: 12rem;
}
#header .online-classroom.mo {
  display: none;
}

footer {
  width: 100%;
  display: flex;
  box-sizing: border-box;
  justify-content: space-between;
  border-top: 1px solid #ddd;
  position: relative;
}
footer > div {
  padding-top: 48rem;
  padding-bottom: 42rem;
  box-sizing: border-box;
}
footer > div + div {
  border-left: 1px solid #ddd;
}
.footer-info {
  display: flex;
  width: 970rem;
  padding-left: 64rem;
}
.footer-info a {
  width: 230rem;
  display: block;
}
.footer-info a img {
  width: 100%;
}
.footer-info .footer-info__box {
  width: calc(100% - 230rem);
  padding-left: 80rem;
  box-sizing: border-box;
}
.footer-info address strong {
  display: block;
  font-size: 17rem;
  font-weight: 600;
  margin-bottom: 14rem;
}
.footer-info address span {
  display: inline-block;
  margin: 2rem 0;
  color: #666;
}
.footer-info address span + span {
  margin-left: 25rem;
}
.footer-info .copyright {
  margin-top: 76rem;
  font-size: 14rem;
  opacity: 0.4;
}
.footer-link {
  width: 540rem;
  padding-left: 40rem;
}
.footer-link > a {
  display: block;
  color: #666;
  margin-bottom: 14rem;
  cursor: pointer;
}
.footer-link > a:nth-child(1) {
  font-weight: 500;
  color: var(--color-black);
}

.footer-link .fsite {
  position: relative;
  width: 180rem;
}
.footer-link .fsite > a {
  display: flex;
  justify-content: space-between;
  height: 47rem;
  margin-top: 29rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15rem;
  box-sizing: border-box;
  border: 1px solid var(--color-line);
  cursor: pointer;
}
.footer-link .fsite > a i {
  font-size: 10rem;
}
.footer-link .fsite ul {
  display: none;
  position: absolute;
  left: 0;
  bottom: 47rem;
  padding: 25rem 15rem;
  background: var(--color-line);
  width: 100%;
  box-sizing: border-box;
}
.footer-link .fsite ul li + li {
  margin-top: 10rem;
}
.footer-link .fsite ul li a {
  display: block;
  font-size: var(--fs16);
  color: #fff;
  transition: 0.3s ease;
}
@media (hover: hover) {
  .footer-link .fsite ul li a:hover {
    opacity: 0.6;
  }
}

.top-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0;
  top: -1px;
  width: 100rem;
  aspect-ratio: 1/1;
  background: var(--color-line);
}
.top-btn img {
  display: block;
  width: 20rem;
}

.privacy-pop__item > dl {
  max-height: 400px;
  overflow: auto;
}
.privacy-pop__item dt {
  position: relative;
  display: block;
  padding-left: 12px;
  margin-top: 20px;
}
.privacy-pop__item > dl dt:first-child {
  margin-top: 0;
}
.privacy-pop__item dt::before {
  position: absolute;
  left: 0;
  top: 9px;
}
.privacy-pop__item dd > ul > li {
  margin: 5px 0;
}
.privacy-pop__item dd > ul > li:has(ul) {
  margin: 15px 0;
}
.privacy-pop__item dd > ul > li > ul > li {
  margin: 5px 0;
  color: #666;
}

@media all and (min-width: 1025px) {
  #header nav .gnb {
    display: flex;
    position: absolute;
    left: 0;
    width: 100%;
    top: 0;
    justify-content: center;
    padding: 0 540rem 0 315rem;
    box-sizing: border-box;
  }
  #header nav .gnb > li {
    position: relative;
  }
  #header nav .gnb > li > a {
    display: block;
    transition: all 0.2s;
    height: 98rem;
    position: relative;
    line-height: 98rem;
    font-size: 18rem;
    font-weight: 700;
    color: #333;
    padding: 0 40rem;
    box-sizing: border-box;
  }
  #header nav .gnb > li:hover > a {
    color: var(--color-point);
  }
  #header nav .gnb > li ul {
    display: none;
    position: absolute;
    opacity: 0;
    visibility: hidden;
    top: 35rem;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    padding: 8rem 17rem;
    background: #fff;
    border: 1rem solid #444;
    box-shadow: 15rem 20rem 29rem 0rem rgba(0, 0, 0, 0.23);
    transition: all 0.4s ease-out;
    transition-property: opacity, top, visibility;
    transition-delay: 0s, 0s, 0s;
  }
  #header nav .gnb > li ul.active {
    display: block;
    transition-delay: 0.1s;
  }
  #header nav .gnb > li.active ul {
    opacity: 1;
    visibility: visible;
    top: 75rem;
    z-index: 10;
    transition-delay: 0s, 0s, 0s;
  }
  #header nav .gnb > li ul > li > a {
    display: block;
    position: relative;
    padding: 10rem 0rem;
    background: #fff;
    border-top: 1rem solid #e1e1e1;
    font-size: 15rem;
    color: #404040;
    text-align: left;
    transition: all 0.3s ease 0s;
  }
  #header nav .gnb > li ul > li > a:hover {
    opacity: 0.5;
  }
  #header nav .gnb > li ul > li:first-child > a {
    border-top-width: 0px;
  }
}

@media (min-width: 2000px) {
  html,
  html.safari.desktop {
    font-size: 0.05254860746190225vw;
  }
}
@media all and (max-width: 1860px) {
  #header h1 a {
    left: 44rem;
    height: 35rem;
  }
  #header .online-classroom {
    gap: 10rem;
    width: calc(26% - 220rem);
  }
  #header nav .gnb {
    padding: 0 485rem 0 295rem;
  }

  .footer-info {
    padding-left: 44rem;
  }
  .footer-link {
    width: 26%;
  }
}
@media (max-width: 1480px) {
  html,
  html,
  html.safari.desktop {
    font-size: 0.06756756756756757vw;
  }
  .inn {
    padding: 0 32rem;
  }
}
@media all and (max-width: 1440px) {
  .inner {
    padding: 0 60rem;
  }
}
@media all and (max-width: 1024px) {
  html,
  html,
  html.safari.desktop {
    font-size: 0.09775171065493645vw;
  }
  .inner {
    padding: 0 40rem;
  }

  #header {
    height: 76rem;
  }
  #header .btn_menu,
  #header .btn_close {
    display: block;
  }
  #header nav {
    width: 380rem;
    background-color: #fff;
    position: fixed;
    right: 0;
    top: 0;
    height: 100vh;
    z-index: 200;
    -webkit-transform: translate(380rem, 0);
    transform: translate(380rem, 0);
    transition: transform 0.3s ease-out;
  }
  /* #header .btn_menu.active > span{background-color: #000;} */
  #header nav .hd-util.mo_ver {
    height: 76rem;
    width: 100%;
  }
  #header nav.active {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  #header nav.active .hd-util.mo_ver {
    display: flex;
  }
  #header nav .gnb {
    padding: 90rem 0 0 0;
  }
  #header nav .gnb > li {
    border-bottom: 1px solid #ddd;
  }
  #header nav .gnb > li a {
    display: block;
    color: #000;
  }
  #header nav .gnb > li > a {
    padding: 15rem 20rem;
  }
  #header nav .gnb > li ul {
    display: none;
    background-color: #f5f5f5;
    padding: 14rem 0;
    border-top: 1px solid #ddd;
  }
  #header nav .gnb > li ul a {
    padding: 8rem 40rem;
  }

  .hd-util {
    width: 250rem;
    padding: 0 20rem;
    box-sizing: border-box;
    justify-content: flex-start;
  }
  .hd-util ul li:nth-child(1) a {
    padding-left: 0;
  }

  #header .online-classroom {
    right: 250rem;
    width: 180rem;
  }

  footer {
    flex-wrap: wrap;
    padding: 0;
    padding-bottom: 210rem;
    position: relative;
  }
  footer .footer-info {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 32rem 40rem;
    box-sizing: border-box;
    border-top: 1px solid #ddd;
  }
  footer > div + div {
    border-left: 0;
  }
  footer > div {
    padding-top: 28rem;
    padding-bottom: 28rem;
  }
  .footer-link {
    width: 100%;
    border-left: 1px solid #ddd;
    box-sizing: border-box;
  }
  .footer-link > a {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0;
  }
  .footer-link > a + a {
    margin-left: 20rem;
  }
  .footer-link .fsite ul {
    bottom: auto;
    top: 47rem;
  }
  .footer-info .copyright {
    margin-top: 16rem;
  }

  .top-btn {
    width: 80rem;
  }
  .top-btn img {
    width: 18rem;
  }
}
@media (max-width: 860px) {
  html,
  html,
  html.safari.desktop {
    font-size: 0.13020833333333335vw;
  }
  body {
    font-size: 15rem;
  }

  #header .online-classroom {
    right: 250rem;
    width: 150rem;
  }

  .footer-apply {
    margin-top: 16rem;
  }
  .footer-info a {
    width: 200rem;
  }
  .footer-info .footer-info__box {
    width: calc(100% - 200rem);
    padding-left: 50rem;
  }
}

@media (max-width: 540px) {
  ::-webkit-scrollbar {
    height: 0rem;
  }
  ::-webkit-scrollbar-thumb {
    background-color: hsla(0, 0%, 42%, 0.1);
  }
  body {
    font-size: 15rem;
  }
  html,
  html,
  html.safari.desktop {
    font-size: 0.26666666666666665vw;
  }

  #header {
    height: 60rem;
  }
  #header h1 a {
    left: 15rem;
    height: 25rem;
  }
  #header .hd-util.pc_ver ul {
    display: none;
  }
  .hd-util.pc_ver {
    width: 60rem;
  }
  #header .btn_menu {
    width: 60rem;
    height: 60rem;
    top: 0;
    right: 0;
  }
  #header .btn_menu > span {
    width: 22rem;
    left: 50%;
    transform: translateX(-50%);
  }
  #header .btn_menu > span:nth-child(1) {
    display: none;
  }
  #header .btn_menu > span:nth-child(2)::before {
    content: "";
    width: 100%;
    height: 2rem;
    position: absolute;
    left: 0;
    top: 7rem;
    background-color: #fff;
  }
  #header .btn_menu > span:nth-child(2)::after {
    content: "";
    width: 100%;
    height: 2rem;
    position: absolute;
    left: 0;
    top: -7rem;
    background-color: #fff;
  }
  #header .btn_menu > span:nth-child(3) {
    display: none;
  }
  #header nav .hd-util.mo_ver {
    height: 60rem;
  }
  #header .btn_menu.active {
    top: 0;
  }
  #header nav .gnb {
    padding-top: 0;
  }
  #header .btn_menu.active > span:nth-child(2)::before {
    transform: rotate(45deg);
    top: 0;
  }
  #header .btn_menu.active > span:nth-child(2)::after {
    transform: rotate(-45deg);
    top: 0;
  }

  #header .online-classroom.pc {
    display: none;
  }
  #header .online-classroom.mo {
    display: flex;
    position: relative;
    right: auto;
    margin-top: 60rem;
    width: 100%;
    height: 50rem;
  }

  footer {
    padding-bottom: 0;
    flex-direction: column-reverse;
  }
  footer .footer-info {
    padding: 20rem;
    position: relative;
    flex-direction: column;
  }
  .footer-info .footer-info__box {
    width: 100%;
    padding-left: 0;
  }
  .footer-info a {
    width: 200rem;
    margin-bottom: 15rem;
  }
  .footer-info address * {
    display: block;
  }
  .footer-info address strong {
    font-size: 15rem;
    margin-bottom: 6rem;
  }
  .footer-info address span {
    font-size: 14rem;
  }
  .footer-info address span + span {
    margin-left: 0;
  }
  .footer-info address br {
    display: none !important;
  }
  .footer-info .copyright {
    font-size: 13rem;
  }
  .footer-link {
    padding: 20rem;
  }
  .footer-link .fsite > a {
    margin-top: 20rem;
  }

  .top-btn {
    width: 60rem;
  }
  .top-btn img {
    width: 15rem;
  }

  .area_button .btn {
    width: 100%;
    height: 48rem;
  }
  .area_button .btn + .btn {
    margin-left: 4rem;
  }
}
@media all and (max-width: 480px) {
}
