@charset "utf-8";
/********* font *********/
/* 'Pretendard Variable' */
@import url(../styles/pretendard-subset.css);

/* Montreal */
@import url(../styles/Montreal.css);

/* Dalmation-FREE */
@import url(../styles/Dalmation-FREE.css);

/* 'Montserrat', sans-serif; */
@import url('https://fonts.googleapis.com/css?family=Montserrat');


/********* css 변수 *********/
:root {
  --font-main-ko: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, Helvetica, sans-serif;
  --font-main-en: 'Montreal', sans-serif;
  --font-sub-en: 'Montreal', sans-serif;

  --font-xl: 7.5rem;
  /* 240px */
  --font-lg: 13rem;
  /* 208px */
  --font-md: 7.50rem;
  /* 120px */
  --font-sm: 5rem;
  /* 80px */
  --font-s: 1.50rem;
  /* 24px */
  --font-ss: 1.25rem;
  /* 20px */
  --font-xs: 1.13rem;
  /* 18px */

  --main: #0072BC;
  --main-color: #000;
  --main-color1: #fff;

  --sub-color: #ffd000;

  --color-bg: #8a8a8ac2;

  --color-next: #383735;

  --spacing-xl: 10rem;
  /* 160px */
  --spacing-lg: 9.38rem;
  /* 150px */
  --spacing-md: 5rem;
  /* 80px */
  --spacing-sm: 4rem;
  /* 64px  */


  --color-bg1: #dff9fb;
  --color-bg2: #ffffff;
  --color1: 104, 109, 224;
  --color2: 126, 214, 223;
  --color3: 223, 249, 251;
  --color4: 255, 121, 121;
  --color5: 149, 175, 192;
  --color-interactive: 140, 100, 255;
  --circle-size: 200%;
  --blending: hard-light;
}

::selection {
  background: var(--main-color1);
  color: var(--main);
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-main-ko);
}

.flex-container {
  display: flex;
  align-items: center;
}

.grid-container {
  display: grid;
  align-items: center;
}

.title {
  font-size: var(--font-xl);
  text-transform: uppercase;
  font-family: var(--font-main-en);
  font-weight: 600;
}

.title2 {
  font-size: var(--font-lg);
  text-transform: uppercase;
  font-family: var(--font-main-en);
  font-weight: 400;
  letter-spacing: -16px;
}

.title3 {
  font-size: 100px;
  text-transform: uppercase;
  font-weight: 400;
  font-family: var(--font-main-en);
  line-height: 1.2;
}

.title4 {
  font-size: var(--font-sm);
  text-transform: capitalize;
}

.layout {
  padding: 300px 0;
  width: 1600px;
  margin: 0 auto;
}

.layout-sub {
  width: 1600px;
  margin: 0 auto;
}

.tag {
  border: 1px solid var(--main-color1);
  border-radius: 30px;
  padding: 10px 20px;
  display: inline;
  margin-right: 20px;
}

.box-txt p {
  font-size: 30px;
}

.arrow-wapper {
  border: 1px solid var(--main-color1);
  border-radius: 30px;
  padding: 10px 20px;
  margin-right: 20px;
  display: flex;
  justify-content: space-between;
  font-size: var(--font-ss);
  text-transform: capitalize;
  font-weight: normal;
  color: var(--main-color1);
  cursor: pointer;
}

.arrow-wapper:hover .arrow {
  transform: translateX(5px);
}

.arrow {
  width: 18px;
  transition: transform 0.3s ease;
  margin-left: 10px;
}



/******* header *******/
header {
  position: fixed;
  width: 100%;
  z-index: 99;
  height: 100px;
  justify-content: space-between;
  padding: 70px;
}

/* header on */
body .header-wrapper.on {
  height: 45px;
  backdrop-filter: blur(5px);
  padding: 50px 70px
}

header .logo {
  width: 150px;
  height: 30px;
}

header .header-btn {
  align-items: normal;
}

header .header-btn .star-wrapper {
  position: relative;
  width: 20px;
  height: 20px;
  cursor: pointer;
}

header .header-btn .star-wrapper img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 6px;
}

header .header-btn .star-wrapper .star-hover img {
  display: none;
  width: 23px;
  height: 23px;
  right: -1.8px;
  top: 4px;
}

header .header-btn .star-wrapper:hover .star-hover img {
  display: block;
}

header .header-btn .star-wrapper .star-btn:hover header .header-btn .star-wrapper .star-btn img {
  display: none;
}

header .header-btn .menu-wrapper {
  padding-left: 20px;
  cursor: pointer;
  position: relative;
}

header .header-btn .menu-wrapper .pc-menu {
  position: absolute;
  top: 0px;
  z-index: 999;
  width: 30px;
  height: 30px;
}

header .header-btn .menu-wrapper .pc-menu span {
  display: block;
  background-color: var(--main-color);
  width: 27px;
  height: 2px;
  transition: all 0.3s ease;
}

/* 블랙 모드일 때 */
header .header-btn .menu-wrapper .pc-menu.black span {
  background-color: var(--main-color1);
}

header .header-btn .menu-wrapper .pc-menu .bar1 {
  transform: translateY(8px);
}

header .header-btn .menu-wrapper .pc-menu .bar2 {
  transform: translateY(13px);
}

header .header-btn .menu-wrapper .pc-menu .bar3 {
  transform: translateY(18px);
}

/* X자 변신 */
header .header-btn .menu-wrapper .pc-menu.active .bar1 {
  transform: rotate(45deg) translate(5px, 18px);
  background-color: #000;
}

header .header-btn .menu-wrapper .pc-menu.active .bar2 {
  display: none;
}

header .header-btn .menu-wrapper .pc-menu.active .bar3 {
  transform: rotate(-45deg) translate(-16px, 4px);
  background-color: #000;
}

header .header-btn .menu-wrapper .header-nav {
  display: none;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.4s ease;
}

header .header-btn .menu-wrapper .header-nav.on {
  display: block;
  max-height: 500px;
  opacity: 1;
}

header .header-btn .menu-wrapper .header-nav .menu-content .menu-list {
  width: 304px;
  height: 382px;
  background-color: var(--main-color1);
  border-radius: 26px;
  padding: 60px 0 30px 40px;
  position: absolute;
  top: -16px;
  right: -40px;
}

header .header-btn .menu-wrapper .header-nav .menu-content .menu-list li {
  font-size: var(--font-s);
  padding-bottom: 8px;
  text-transform: capitalize;
}

header .header-btn .menu-wrapper .header-nav .menu-content .menu-list li:last-child {
  border: 2px solid #000;
  border-radius: 30px;
  width: 215px;
  margin-top: 30px;
  padding: 10px 10px;
  justify-content: space-around;
}

header .header-btn .menu-wrapper .header-nav .menu-content .menu-list li:last-child a {
  text-align: center;
  display: block;
  font-size: var(--font-xs);
}

.menu-list li.arrow {
  display: flex;
  align-items: center;
  gap: 8px;
}

.menu-list li.arrow:hover {
  background-color: var(--main);
  color: var(--main-color1);
}

.menu-list li.arrow:hover a {
  color: var(--main-color1);
}

.menu-list li.arrow .buttonArrow {
  transition: transform 0.3s ease;
}

.menu-list li.arrow:hover svg {
  animation: arrowMove 0.6s ease forwards;
}

@keyframes arrowMove {
  0% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(6px);
  }

  70% {
    transform: translateX(2px);
  }

  100% {
    transform: translateX(6px);
  }
}

.menu-list li a {
  position: relative;
  text-decoration: none;
  color: #000;
  transition: all 0.3s ease;
}

.menu-list li a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  background-color: var(--main);
  left: 0;
  bottom: -4px;
  transition: width 0.3s ease;
}

.menu-list li a:hover::after {
  width: 100%;
}

.menu-list li:last-child a::after {
  background-color: transparent;
}

/******* footer *******/
footer {
  font-size: var(--font-ss);
  text-transform: capitalize;
  background-color: var(--main-color);
  color: var(--main-color1);
  padding: 10px 100px 100px;

  position: relative;
  z-index: 9;
}

.footer-logo {
  justify-content: space-between;
}

.footer-logo img {
  width: 300px;
}

.footer-logo p {
  font-size: var(--font-md);
  letter-spacing: -6px;
  text-transform: none;
}

.footer-list {
  justify-content: space-between;
  margin: 70px 0;
}

.footer-list .sns li {
  margin-right: 30px;
}

.footer-list .sns li a {
  display: block;
}

.footer-list .sns li a svg {
  width: 12px;
}

.footer-list .footer-logos li {
  margin-left: 30px;
}

.footer-list .footer-logos li img {
  width: 120px;
}

.footer-list .footer-logos li:last-child img {
  width: 80px;
}

.footer-last {
  justify-content: space-between;
}

.footer-last .footer-last-nav li {
  margin-right: 30px;
}

.footer-last .newsletter-btn a {
  border: 1px solid var(--color-bg);
  padding: 10px 20px;
  border-radius: 30px;
}

.footer-copyright {
  margin-top: 70px;
  font-size: 16px;
  justify-content: space-between;
}

.footer-copyright .footer-sectors li {
  border: 1px solid var(--color-bg);
  border-radius: 20px;
  padding: 8px 20px;
  margin: 0 10px;
}

.footer-copyright .footer-sectors li:first-child {
  border: none;
  margin: 0;
  padding: 0;
}

.footer-copyright .footer-copyrightText img {
  width: 50px;
  margin-left: 20px;
}

/* 모바일 버전 */
@media (max-width: 767px) {
  body {
    font-size: 16px;
  }

  .title p,
  .title {
    font-size: 50px;
    text-transform: uppercase;
    font-family: var(--font-main-en);
    font-weight: 600;
  }

  .title2 p,
  .title2 {
    font-size: 60px;
    text-transform: uppercase;
    font-family: var(--font-main-en);
    font-weight: 400;
    letter-spacing: -3px;
  }

  .title3 p,
  .title3 {
    font-size: 60px;
    text-transform: uppercase;
    font-weight: 400;
    font-family: var(--font-main-en);
    line-height: 1.2;
    margin-bottom: 50px;
  }

  .title4 p,
  .title4 {
    font-size: var(--font-s);
    text-transform: capitalize;
  }

  .layout {
    padding: 110px 30px;
    width: 100%;
    margin: 0 auto;
  }

  .layout-sub {
    width: 400px;
    margin: 0 auto;
    padding: 0 30px;
  }

  .tag {
    width: 270px;
    border: 1px solid var(--main-color1);
    border-radius: 30px;
    padding: 6px 0px;
    display: inline;
    margin-right: 0;
    font-size: 16px;
    text-align: center;
  }

  .box-txt p {
    font-size: 18px;
  }

  /* header */
  body header {
    padding: 20px;
    height: 80px;
  }

  header .logo {
    width: 100px;
    height: 20px;
  }

  header .header-btn {
    width: 70px;
  }

  body .header-wrapper.on {
    height: 60px;
    backdrop-filter: blur(5px);
    padding: 20px
  }

  /* footer */
  footer {
    padding: 60px 20px;
  }

  footer a,
  footer li,
  footer p {
    font-size: 14px;
  }

  .footer-logo img {
    width: 100px;
  }

  .footer-logo p {
    font-size: 20px;
    letter-spacing: 0;
  }

  .footer-list {
    margin: 30px 0;
    flex-direction: column;
  }

  .footer-list .sns,
  .footer-list .footer-logos {
    width: 100%;
    justify-content: space-between;
    margin-bottom: 10px;
  }

  .footer-list .sns li,
  .footer-list .footer-logos li {
    margin: 0;
  }

  .footer-list .sns li a svg {
    width: 10px;
  }

  .footer-list .footer-logos li img {
    width: 60px;
  }

  .footer-list .footer-logos li:nth-child(2) img {
    width: 75px;
  }

  .footer-list .footer-logos li:last-child img {
    width: 40px;
  }

  .footer-last {
    width: 100%;
    flex-direction: column;
  }

  .footer-last .footer-last-nav {
    justify-content: space-between;
    width: 100%;
  }

  .footer-last .newsletter-btn {
    text-align: center;
    width: 100%;
    padding: 10px 0;
  }

  .footer-last .newsletter-btn a {
    padding: 6px 14px;
    display: block;
  }

  .footer-last .footer-last-nav li {
    margin-right: 0;
  }

  .footer-copyright {
    flex-direction: column;
    margin-top: 40px;
  }

  .footer-copyright .footer-sectors {
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .footer-copyright .footer-sectors li {
    margin: 5px 0;
    width: 100px;
    padding: 4px 10px;
    text-align: center;
  }

  .footer-copyright .footer-copyrightText {
    width: 100%;
    justify-content: end;
  }

  .footer-copyright .footer-copyrightText a img {
    width: 30px;
    margin-left: 20px;
  }

}

@media (max-width: 390px) {
  .layout {
    padding: 110px 10px;
  }
}