/* reset */
* {margin: 0;padding: 0; box-sizing: border-box;}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, tbody, tfoot, thead, tr, th, td{margin:0;padding:0;}
h1, h2, h3, h4, h5, h6 {font-weight: inherit; font-size: inherit;}
a {color: inherit; text-decoration: inherit;}
img {vertical-align: middle;}
a img {border: none;}
li {list-style: none;}
address, em, i {font-style: normal;}
a:focus {outline: none}
button:focus {outline: none}

/* 공통요소 */
body {background: #F5F6FB; font-family: 'Neue Haas Grotesk Display Pro', sans-serif;}
.con2 .alert .left {font-weight: 300;}
.inner {padding: 300px 160px 200px;}


/* header */
header {position: absolute; top: 40px; left: 0; width: 100%; z-index: 101;}
.inner-header {width: 90%; display: flex; justify-content: space-between; align-items: center; margin: 0 auto;}
.inner-header .logo {font-family: 'HK Grotesk', sans-serif; font-size: 36px; font-weight: 800;}
.inner-header nav {border-radius: 29px; background: rgba(0,0,0,0.05); backdrop-filter: blur(14px); display: flex; align-items: center; margin: 0 auto;}
.inner-header nav ul {display: flex; justify-content: space-between; margin: 0 auto; color: #F5F6FB; text-decoration: none; padding: 4px 6vw;}
.inner-header nav ul li {font-size: 20px; text-align: center; font-weight: 300; font-family: 'Pretendard',sans-serif;}

.inner-header nav ul li a {position: relative; display: inline-block; overflow: hidden; margin: 10px 15px 0 15px; color: transparent;}
.inner-header nav ul li a::before, .inner-header nav ul li a::after {content: attr(data-text); position: absolute; left: 0; width: 100%; text-align: center; transition: transform 0.4s ease; color: #000;}
.inner-header nav ul li a::after {transform: translateY(0);}
.inner-header nav ul li a::before {transform: translateY(100%);}
.inner-header nav ul li a:hover::after {transform: translateY(-100%);}
.inner-header nav ul li a:hover::before {transform: translateY(0);}

.inner-header .right-box {display: flex; align-items: center;}
.inner-header .right-box .language {display: flex; width: 80px; height: 32px; border-radius: 29px; background: rgba(0,0,0,0.05); margin: 0 auto; align-items: center; justify-content: center;}
.inner-header .right-box .language p {font-family: 'Pretendard',sans-serif; font-size: 16px; font-weight: 500; color: #000;}
.inner-header .right-box .language img {width: 10px; height: 8px; margin-left: 10px; filter: invert(100%);}

.menu {width: 32px; height: 24px; display: flex; flex-direction: column; justify-content: space-between; margin-left: 10px; position: relative; display: none;}
.menu span {display: block; width: 100%; height: 3px; background: #000; border-radius: 2px;}

.menu.active .a {transform: translateY(11px) rotate(45deg);}
.menu.active .b {opacity: 0;}
.menu.active .c {transform: translateY(-10px) rotate(-45deg);}

.fullscreen-menu {display: none;}



.title {font-size: 11vw; letter-spacing: -1px; margin-bottom: 80px; font-weight: 500;}
.title span {display: block; overflow: hidden; transform: translate3d(0,0,0) skewY(0deg)}
.title span b {display: block;}


.title.motion span b {animation: textAni 1s ease forwards;}

@keyframes textAni {
    0% {opacity: 0;}
    30% {opacity: 0; transform: translate3d(0,40px,0) skewY(8deg); transform-origin: top left;}
}



.con1 .buy {font-size: 30px; color: #777777; font-weight: 500; margin-bottom: 30px;}
.con1 .buy_box {display: flex; justify-content: space-between; font-family: 'Pretendard',sans-serif;;}
.con1 .buy_box .select_ticket {width: 65%; }
.con1 .buy_box .select_ticket li {padding: 52px 60px; margin-bottom: 25px; border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 20px; align-items: center; display: flex; justify-content: space-between;}
.con1 .buy_box .select_ticket li {padding: 52px 60px; margin-bottom: 25px; border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 20px; align-items: center; display: flex; justify-content: space-between;}
.con1 .buy_box .select_ticket li .class {font-size: 36px; font-weight: 600; letter-spacing: -1px; }
.con1 .buy_box .select_ticket li .class span {font-size: 20px; font-weight: 400; letter-spacing: -1px; color: #777777; margin-left: 15px;}
.con1 .buy_box .select_ticket li .right {display: flex}
.con1 .buy_box .select_ticket li .discount {font-size: 26px; align-content: center; color: #575757; font-weight: 500; margin-right: 15px;}
.con1 .buy_box .select_ticket li .discount span {margin-right: 15px; color: #FF7E7E; font-weight: 500;}

.con1 .product {background: #0A0A0A; color: white; border-radius: 20px; padding: 50px 40px; width: 33.5%;}
.con1 .product .top {display: flex; justify-content: space-between; align-content: center; margin-bottom: 30px; white-space: nowrap;
}
.con1 .product .top .logo {font-family: 'HK Grotesk', sans-serif; font-weight: 800; font-size: 26px;}
.con1 .product .buy {font-size: 24px; color: #F5F6FB;}

.con1 .product .system .select_product {font-size: 30px; margin-bottom: 30px; font-weight: 600; }
.con1 .product .system .select_product {font-size: 30px; margin-bottom: 30px; font-weight: 600; }
.con1 .product .system .class {display: flex; justify-content: space-between; margin-bottom: 70px;}
.con1 .product .system .class .class-name {font-size: 26px;}
.con1 .product .system .class .class-name span {display: block; line-height: 2; font-size: 20px; font-weight: 200;}
.con1 .product .system .class .price {align-content: end; font-size: 20px; font-weight: 200;}

.con1 .product .total {display: flex; justify-content: space-between; font-size: 26px; margin-bottom: 15px;}

.con1 .product .payment {margin-top: 80px; font-size: 30px;  font-weight: 600;}
.con1 .product .payment p.a {margin-bottom: 40px;}
.con1 .product .payment .select_payment {padding: 0 0 0 20px; margin-bottom: 100px;}
.con1 .product .payment .select_payment li {display: flex; font-size: 26px; margin-bottom: 30px; font-weight: normal;}
.con1 .product .payment .select_payment li img {margin-right: 16px; width: 6%;}
.con1 .product .payment .select_payment li .card {margin-right: 10px; width: 15%;}
.con1 .product .payment .select_payment li .card:last-child {margin-right: 0;}

.con1 .bottom {font-size: 20px; text-align: center;}
.con1 .bottom p {font-weight: 200;}
.con1 .bottom button {background: white; border-radius: 10px; margin-top: 15px; color: #0A0A0A; width: 100%; padding: 20px 0; font-size: 20px;}

.con2 .alert {margin-top: 80px; font-weight: 800; color: #6D6D6D;}
.con2 .alert .left {display: flex; margin-right: 64px; font-size: 20px; font-weight: 600; margin-bottom: 40px; font-family: 'Pretendard',sans-serif;}
.con2 .alert .left img {width: 24px; height: 24px; margin-right: 10px;}
.con2 .alert .right {font-size: 18px; color: #838383; line-height: 1.5; font-weight: 400; font-family: 'Pretendard',sans-serif;}

.select_ticket li.active {background: #0A0A0A;  border: none; background-image: url(../img/select_ticket2.svg); background-size: cover;}
.con1 .buy_box .select_ticket li.active .class, .con1 .buy_box .select_ticket li.active .class-name,
.con1 .buy_box .select_ticket li.active .discount {
  color: #fff;
}
.select_ticket li.active .class span {color: #ccc;}
.select_ticket li.active .right img {content: url(../../../img/select_box2.svg);}


footer .inner {padding: 100px 120px 100px; display: flex; justify-content: space-between; background: #000}
footer .inner .logo {font-family: 'Cabinet Grotesk', sans-serif; font-size: 32px; padding-right: 50px; border-right: 2px solid #999; width: auto; color: #fff; font-weight: 400; line-height: 1.3; letter-spacing: -1px;}
footer .inner ul {display: flex; justify-content: space-between; width: 65%;}
footer .inner ul li {font-family: 'Pretendard', sans-serif; text-align: right; letter-spacing: 1px;}
footer .inner ul li .contact {font-size: 20px; font-weight: 600; margin-bottom: 70px; color: #fff;}
footer .inner ul li .contact.b {margin-bottom: 55px;}
footer .inner ul li p {font-size: 16px; color: #999; word-break: break-all}


footer .inner .sns .img a {display: block; width: 100%; height: 100%;}
footer .inner .sns .img:nth-child(3) {margin-bottom: 0;}
footer .inner .sns .img img {width: 100%; margin-bottom: 12px;}

footer .inner .sns.a {display: none;}



@media screen and (max-width: 1400px) {
    .inner-header {width: 92%;}
  .inner-header nav {display: none;}
  .inner-header .right-box .language {display: none;}
  .menu {display: flex;}
  .menu.active {display: flex;}
  .fullscreen-menu {position: fixed; top: 0; left: 100%; width: 100%; height: 100%; background: #fff; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 100px; font-size: 50px; color: #fff; transition: all 0.7s; z-index: 100;}
  .fullscreen-menu.active { left: 0; }
  .fullscreen-menu a { color: #000; text-decoration: none; font-weight: bold; }
  header.menu-open {position: fixed; top: 40px; left: 0; width: 100%;}
  body.no-scroll { overflow: hidden;}
  .inner {padding: 250px 24px 200px;}

  
  .inner-header .logo img {width: 18vw;}

  .title {font-size: 13vw; margin-bottom: 60px;}

  .con1 .buy {font-size: 24px; margin-bottom: 24px;}
  .con1 .buy_box .select_ticket {width: 60%;}
  .con1 .buy_box .select_ticket li {padding: 28px 36px; margin-bottom: 25px; border-radius: 15px;}
  .con1 .buy_box .select_ticket li .class {font-size: 24px;}
  .con1 .buy_box .select_ticket li .class span {font-size: 14px; display: block; margin-left: 0; margin-top: 4px;}
  .con1 .buy_box .select_ticket li .discount {font-size: 20px; margin-right: 12px;}
  .con1 .buy_box .select_ticket li .discount span {margin-right: 12px;}
  .con1 .buy_box .select_ticket li .right {justify-content: space-between;}
  .con1 .buy_box .select_ticket li:nth-child(1) .right img {width: 20%;}
  .con1 .buy_box .select_ticket li .right img {width: 14%;}

  .con1 .product {width: 38%; padding: 40px 30px;}
  .con1 .product .total {margin-bottom: 16px;}
  .con1 .product .top {margin-bottom: 50px;}
  .con1 .product .top .logo {font-size: 18px;}
  .con1 .product .buy {font-size: 18px; margin-bottom: 0;}
  .con1 .product .system .select_product {font-size: 20px; margin-bottom: 24px;}
  .con1 .product .system .class {margin-bottom: 35px;}
  .con1 .product .system .class .class-name {font-size: 18px;}
  .con1 .product .system .class .class-name span {font-size: 16px;}
  .con1 .product .system .class .price{font-size: 16px;}
  .con1 .product .total {font-size: 20px;}
  .con1 .product .payment {margin-top: 50px;}
  .con1 .product .payment p.a {font-size: 20px; margin-bottom: 24px;}
  .con1 .product .payment .select_payment {padding: 0 0 0 10px; margin-bottom: 130px;}
  .con1 .product .payment .select_payment li {font-size: 18px; margin-bottom: 20px;}
  .con1 .product .payment .select_payment li img {margin-right: 10px; width: 6%;}
  .con1 .product .payment .select_payment li .card {margin-right: 10px; width: 13%;}
  .con1 .product .payment .select_payment li .card:last-child {margin-right: 0;}

  .con1 .bottom p {font-size: 16px;}
  .con1 .bottom button {font-size: 16px; padding: 16px 0; margin-top: 12px;}

  .con2 .alert {margin-top: 60px;}
  .con2 .alert .left {margin-bottom: 25px;}
  .con2 .alert .left img {width: 24px; margin-right: 8px;}
  .con2 .alert p {font-size: 16px; margin-top: 2px;}
  .con2 .alert .right {font-size: 16px;}


      footer .inner {padding: 50px 24px 50px;}
footer .inner .logo {font-size: 26px;}
footer .inner ul {flex-wrap: wrap;}
footer .inner ul li {width: 45%; margin-bottom: 50px;} 
footer .inner ul li:nth-child(3), footer .inner ul li:nth-child(4) {margin-bottom: 0;}
footer .inner ul li .contact {font-size: 16px;}
footer .inner ul li p {font-size: 14px;}
footer .inner .sns .img a {width: 90%;}
}



@media screen and (max-width: 768px) {
      .inner-header .logo {font-size: 30px;}
    .fullscreen-menu {font-size: 40px; gap: 80px;}
  .inner {padding: 200px 20px 150px;}

  .title {font-size: 15vw; margin-bottom: 40px;}
  .con1 .buy {font-size: 20px; margin-bottom: 20px;}

  .con1 .buy_box .select_ticket {width: 49%;}
  .con1 .buy_box .select_ticket li {padding: 20px 20px; margin-bottom: 16px; border-radius: 10px;}
  .con1 .buy_box .select_ticket li .class {font-size: 20px;}
  .con1 .buy_box .select_ticket li .class span {font-size: 14px;}
  .con1 .buy_box .select_ticket li .discount {font-size: 18px; margin-right: 0;}
  .con1 .buy_box .select_ticket li .discount span {margin-right: 0; display: block; font-size: 16px;}
  .con1 .buy_box .select_ticket li:nth-child(1) .right img {width: 15%;}
  .con1 .buy_box .select_ticket li .right img {width: 15%;}

  .con1 .product .top {margin-bottom: 36px;}
  .con1 .product .top .logo {font-size: 2.5vw;}
  .con1 .product {width: 49%; padding: 32px 35px; border-radius: 10px;}
  .con1 .product .buy {font-size: 14px;}
  .con1 .product .system .select_product {font-size: 18px; margin-bottom: 16px;}
  .con1 .product .system .class {margin-bottom: 36px;}
  .con1 .product .system .class .class-name {font-size: 14px; }
  .con1 .product .system .class .class-name span {font-size: 14px;}
  .con1 .product .system .class .price {font-size: 14px;}
  .con1 .product .total {font-size: 16px; margin-bottom: 8px;}
  .con1 .product .total-price {font-size: 16px;}

  .con1 .product .payment {margin-top: 36px;}
  .con1 .product .payment p.a {font-size: 18px; margin-bottom: 16px;}
  .con1 .product .payment .select_payment li {font-size: 16px; margin-bottom: 16px;}
  .con1 .product .payment .select_payment {margin-bottom: 60px; padding: 0 0 0 8px;}

  .con1 .product .payment .select_payment li .card {margin-right: 8px; width: 12%;}

  .con1 .bottom {margin-top: 90px;}
  .con1 .bottom p {font-size: 12px;}
  .con1 .bottom button {padding: 12px 0;}

  .con2 .alert {margin-top: 30px;}
  .con2 .alert .left {margin-bottom: 20px;}
  .con2 .alert .left img {width: 20px; margin-right: 8px;}
  .con2 .alert p {font-size: 14px; margin-top: 4px;}
  .con2 .alert .right {font-size: 14px;}

    footer .inner {padding: 30px 20px 0px;}
  footer .inner {padding: 50px 24px 50px; flex-wrap: wrap;}
  footer .inner .logo {font-size: 28px; padding-right: 25px; line-height: 1.2; margin-bottom: 50px;}
  footer .inner ul {flex-wrap: wrap;  width: 100%;}
  footer .inner ul li {width: 45%; margin-bottom: 24px; flex-wrap: wrap; display: flex;} 
  footer .inner ul li:nth-child(3), footer .inner ul li:nth-child(4) {margin-bottom: 0;}
  footer .inner ul li .contact {font-size: 14px; display: inline; width: 100%; margin-bottom: 24px; text-align: left;}
  footer .inner ul li p {font-size: 12px; display: inline; width: 100%; text-align: left;}
  footer .inner .sns .img a {width: 70%;}
  footer .inner .sns .img img {margin-bottom: 10px;}

  footer .inner .sns.a {display: block;}
  footer .inner .sns.b {display: none;}

}



@media screen and (max-width: 500px) {
  .inner-header .logo {font-size: 26px;}
  .fullscreen-menu {font-size: 28px; gap: 40px;}

  
    .menu {width: 25px; height: 17px;}
    .menu.active .a {transform: translateY(4px) rotate(45deg);}
    
  .inner-header .logo img {width: 25vw;}

  .inner {padding: 180px 16px 100px;}
  .title {font-size: 15vw; margin-bottom: 30px;}
  .con1 .buy {font-size: 14px; margin-bottom: 20px;}

  .con1 .buy_box {flex-wrap: wrap;}
  .con1 .buy_box .select_ticket {width: 100%;}
  .con1 .buy_box .select_ticket li .right {width: 40%;}
  .con1 .buy_box .select_ticket li {display: none;}
  .con1 .buy_box .select_ticket li.active {display: block; display: flex;}
  .con1 .buy_box .select_ticket li .discount {font-size: 16px;}
  .con1 .buy_box .select_ticket li .class {font-size: 18px;}
  .con1 .buy_box .select_ticket li .class span {font-size: 12px;}
  .con1 .buy_box .select_ticket li:nth-child(1) .right img {width: 18%;}
  .con1 .buy_box .select_ticket li .right img {width: 18%;}

  .con1 .product {width: 100%;}
  .con1 .product .top .logo {font-size: 4vw;}
  
  .con2 .alert {margin-top: 20px;}
  .con2 .alert .left {margin-bottom: 16px;}
  .con2 .alert .left img {width: 20px; margin-right: 8px;}
  .con2 .alert p {font-size: 14px; margin-top: 4px;}
  .con2 .alert .right {font-size: 12px;}


  footer .inner .logo {font-size: 24px;}
  footer .inner ul li .contact.b {margin-bottom: 24px;}
  footer .inner .sns .img a {width: 60%;}
  footer .inner .sns .img img {margin-bottom: 8px;}

  .title.motion span b {animation: none !important}
}
