/* GmarketSansMedium 폰트 정의 */
@font-face {
  font-family: "GmarketSansMedium";
  src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff")
    format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'CookieRun-Regular';
  src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/CookieRun-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

:root {
	--main-font-color: #131313;  /* CSS 전역 변수 선언 */
  --main-font-color-orange:#FFA500;
}

/* 기본 설정 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "GmarketSansMedium","CookieRun-Regular" ,"Apple SD Gothic Neo", "맑은 고딕",
    sans-serif;
}

html body {
  width: 100%;
  height: 100%;
}

header {
  background-color: #7dd9f8f5;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  position: fixed;
  padding-top: 0.2rem;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}

.header_logo {
  background-color: #7dd9f8f5;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding-bottom: 0.2rem;
  border-bottom: 1px solid #E0E0E0;
}

.logo_text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
}

.sub_text {
  color: #474747;
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0;
  text-align: center;
  word-break: keep-all;
}
.sub_text .highlight {
  color: #001aff;
}
.main_text {
  color: #2b2b2b;
  font-size: 2rem;
  margin: 0;
  font-family: "CookieRun-Regular";

}

.main_text .highlight {
  font-size: 3rem;
  background: linear-gradient(to right bottom, #1b9acc, #0c60c0);
    color: transparent;
    -webkit-background-clip: text;

}

.logo_image img {
  height: 100px;
  width: auto;
}

.nav_container {
  display: flex;
  justify-content: flex-end;
  background-color: #e1f4faf5;

  padding: 0.5rem 0;
  padding-right: 1rem;
}

nav {
  display: flex;
  gap: 2rem;
  align-items: center;
}

nav a {
  color: #333333;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 500;
  padding: 0.5rem;
  position: relative;
  transition: color 0.3s ease;
  text-align: center;
  line-height: 1.2;
}

/* 두 줄 텍스트 스타일 */

nav a:hover {
  color: #4BCCFF;
}

nav a::after {
  content: '';
  position: absolute;
  width: 0;
  height: 2px;
  bottom: 0;
  left: 50%;
  background-color: #4BCCFF;
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

nav a:hover::after {
  width: 100%;
}

section {
  width: 100%;
  margin: auto;
}

/* main-title vr-meeting-container */
.vr-meeting-container {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.vr-meeting-container .content-wrapper {
  position: absolute;
  z-index: 2;
  padding: 2rem;
  color: #ffffff;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-bottom: 10rem;

  width: 100%;
}

.vr-meeting-container .title {
  font-size: 6rem;
  font-weight: bold;
  margin-bottom: 1rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5), 3px 3px 8px rgba(0, 0, 0, 0.3);
}

.vr-meeting-container .kr {
  margin-right: 0.5rem;
}

.vr-meeting-container .subtitle {
  font-size: 2rem;
  font-weight: 300;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

.vr-meeting-container .video-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: polygon(0 0, 100% 0, 100% 80%, 0 100%);
}
.vr-meeting-container .video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
}
.vr-meeting-container .background-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 768px) {
  .vr-meeting-container .title {
    font-size: 2.5rem;
  }

  .vr-meeting-container .subtitle {
    font-size: 1.2rem;
  }
}
/* features css */
/* Features 섹션 스타일 */
.features-container {
  padding: 6rem 2rem;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.features-container .features-content {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

/* 텍스트 스타일 */
.features-container .text-content {
  margin-bottom: 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  
}

.features-container .main-title {
  font-size: 4rem;
  color: #383838;
  margin-bottom: 1.5rem;
  font-weight: bold;
  text-underline-offset:10px;
  word-break: keep-all;
  
}
.features-container .strike {
  text-decoration: underline;
  -webkit-text-decoration-color: #fc9e47;
  text-decoration-color: #fc9e47;
  -webkit-text-decoration-style: wavy;
  text-decoration-style: wavy;
}

.features-container .sub-title .highlight{
  color: var(--main-font-color-orange);
  font-weight: bold;
  font-size: 1.3rem;
}

.features-container .sub-title {
  font-size: 1.2rem;
  color: #333;
  margin-bottom: 1rem;
  font-weight: 700;
  word-break: keep-all;
}

.features-container .description {
  width: 400px;
  font-size: 2.5rem;
  color: #445ce4;
  margin-bottom: 2rem;
  word-break:break-all;
  font-family: "CookieRun-Regular";
  word-break: keep-all;

}

.features-container .call-to-action {
  font-size: 1.8rem;
  color: #444;
  font-weight: 900;
  font-family: "CookieRun-Regular";
  word-break: keep-all;

}

.features-container .highlight {
  color: var(--main-font-color-orange);
}

/* 이미지 그리드 스타일 */
.features-container .image-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  padding: 2rem;
}

.features-container .image-grid img {
  width: 30%;
  height: 250px;
  object-fit: cover;
  border: 5px solid #ffdba6;
  border-radius: 15px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.2);

}

/* env css */
.env-container {
  background-color: #FFF0F5;
  padding: 6rem 2rem;
  min-height: 700px;
  height: 750px;
  position: relative;
  overflow: hidden;
}

.env-container .slide-container {
  position: relative;
  overflow: hidden;
}

.env-container .slide-content {
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.env-container .slide-content.active {
  display: block;
  opacity: 1;
  animation: fadeIn 1s ease forwards;
}

.env-container .env-content {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
}

.env-container .env-left {
  flex: 1;
}
.env-container .env-content-text{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  
}
.env-container .title {
  font-size: 2rem;
  color: #333;
  margin-bottom: 1rem;
  font-weight: 900;
}

.env-container .title .highlight {
  color: var(--main-font-color-orange);
  font-size: 4rem;
}

.env-container .subtitle {
  font-size: 1.6rem;
  color: #666;
  margin-bottom: 3rem;
}
.course-info {
  padding: 0;
  margin: 0;
}

.course-info > li {
  margin-bottom: 0.8rem;
  font-size: 1.3rem;
  color: #333;
  line-height: 1.6;
}


/* 숫자 리스트 스타일 */
.marker-style {
  counter-reset: list-counter;
  list-style: none;
  padding-left: 0.5em;
  margin: 0;
}

.marker-style li {
  counter-increment: list-counter;
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.4rem;
  color: #333;
  font-size: 1.3rem;
}

.marker-style li::before {
  content: counter(list-counter) ")";
  position: absolute;
  left: 0;
  width: 2em;
  color: #666;
  font-size: 1.3rem;
}

/* 키워드와 교과목 코드 스타일 */
.info-content {
  margin-left: 0.5em;
  font-size: 1.3rem;
}

.course-code {
  margin-top: 0.2rem;
  padding-left: 7em;
  color: #666;
  font-size: 1.2rem;
  word-break: keep-all;
}

.env-container .feature-boxes {
  position: relative;
  display: flex;
  justify-content: center;
  max-width: 800px;
  margin: 4rem auto 0;
  margin-left: -5px;
}

.env-container .feature-box {
  background: rgba(255, 255, 255, 0.658);
  padding: 1.5rem;
  border-radius: 100px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
  position: relative;
  width: calc(33.33% + 60px);
  margin-right: -20px;
  z-index: 1;
}

.env-container .feature-box:first-child {
  transform-origin: right center;
}

.env-container .feature-box:nth-child(2) {
  z-index: 2;
}

.env-container .feature-box:last-child {
  margin-right: 0;
  transform-origin: left center;
}

.env-container .feature-box:hover {
  transform: translateY(-5px);
  z-index: 3;
}

.env-container .feature-box h3 {
  color: #FF6B6B;
  margin-bottom: 0.5rem;
  font-size: 1.2rem;
}

.env-container .feature-box p {
  color: #666;
  font-size: 0.9rem;
  line-height: 1.4;
  word-break: keep-all;
}

.env-container .env-right {
  position: relative;
}

.env-container .main-image {
  width: 100%;
  max-width: 500px;
  height: 400px;
  margin-left: auto;
  border-radius: 30px;
  box-shadow: 5px 4px 9px 5px rgba(0, 0, 0, 0.1);

}

.env-container .controls-container {
  position: absolute;
  bottom: 2rem;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.env-container .navigation-controls {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 4rem;
}

.env-container .home-button {
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  color: #666;
  transition: all 0.3s ease;
}

.env-container .home-button.active {
  color: #FF6B6B;
  transform: scale(1.2);
}

.env-container .home-button i {
  font-size: 24px;
}

.env-container .dot-indicators {
  display: flex;
  gap: 0.5rem;
}

.env-container .dot {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 3px solid brown;
  cursor: pointer;
  transition: all 0.3s ease;
}

.env-container .dot.active {
  background: #FF6B6B;
}

.env-container .tab-buttons {
  display: grid;
  grid-template-columns: repeat(6, 1fr);

  gap: 1rem;
  margin-top: 1rem;
  word-break: keep-all;
}

.env-container .tab-button {
  padding: 0.8rem 1.5rem;
  border: none;
  border-radius: 25px;
  background: white;
  color: #666;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.env-container .tab-button.active {
  background: #FF6B6B;
  color: white;
  transform: scale(1.05);
}

@keyframes fadeIn {
  from {
      opacity: 0;
      transform: translateX(20px);
  }
  to {
      opacity: 1;
      transform: translateX(0);
  }
}

/* curriculum css */
.curriculum-container {
  color: white;
  text-align: center;
}


.curriculum-container .curriculum-content-header {
  position: relative;
  height: 300px;
  width: 100%;
  background: url(./images/header_banner.png);
  background-size: 100% 100%;
  color: white;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 60px;
}

.curriculum-container .curriculum-content-header .main-title {
  font-size: 3rem;
  font-weight: bold;
  margin-top: -4rem;
  margin-bottom: 1rem;
  position: relative;
  z-index: 2;
  color: #ffd28f;
}

.curriculum-container .curriculum-content-header .subtitle {
  font-size: 3rem;
  position: relative;
  font-weight: bold;
  z-index: 2;
  word-break: keep-all;
}
.curriculum-container .curriculum-content-header .sub-text{
  display: flex;
  width: 100%;
  justify-content: flex-end;
  padding-top: 20px;
  padding-right: 20%;
  color: #5a5a5a;
}
.curriculum-container .curriculum-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 10rem;

}

.curriculum-container .process-title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  color: #161616;
  word-break: keep-all;

}

.curriculum-container .process-subtitle {
  font-size: 1.2rem;
  margin-bottom: 4rem;
  color: #8a8a8a;
}

.curriculum-container .step-container {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}

.curriculum-container .step-box {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.curriculum-container .step-label {
  background-image: url(./images/text_title.png);
  background-size: 100% 100%;
  width: 400px;
  padding: 0.8rem 1.2rem 1.7rem 1.2rem;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  margin: 0 auto;
}
.step-label-center{
  display: flex;
  width: 65%;
  height: 100%;
  align-items: center;
  justify-content: center;
  word-break: keep-all;

}

.curriculum-container .step-number {
  font-weight: bold;
  font-size: 0.9rem;
  color: #FF6B00;
  padding: 1rem;
  border-radius: 20px;
  background-color: #fff;
}

.curriculum-container .step-title {
  color: #ffffff;
  font-weight: bold;
  font-size: 1.5rem;
}

.curriculum-container .step-content {
  border-radius: 20px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.curriculum-container .step-content img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 10px;
}

.curriculum-container .step-text {
  text-align: center;
}

.curriculum-container .step-text h4 {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

.curriculum-container .step-text p {
  font-size: 1.2rem;
}

.curriculum-container .course-content{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;

}
.curriculum-container .course-content .course-block{
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  width: 70%;
  justify-content: center;
  align-items: flex-start;
}

.course-block .course-detail{
  display: flex;
  flex-direction: column;
  text-align: end;
  width: 30%;
}

.course-block .course-detail span{
  width: 100%;
  font-size: 0.9rem;
  color: #252525;
  
}

.course-block .course-detail img{
  width: 100%;
  height: 100%;
}

/* world css */
.world-container {
  background-color: #FFF0F5;
  padding: 6rem 2rem;
  margin-top: 5rem;
  min-height: 550px;
  height: 550px;
  position: relative;
  overflow: hidden;
}



.world-container .slide-content {
  display: block;
  opacity: 1;
  animation: fadeIn 1s ease forwards;
}

.world-container .world-content {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
}

.world-container .world-left {
  flex: 1;
}
.world-container .world-content-text{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  
}
.world-container .title {
  font-size: 2rem;
  color: #333;
  margin-bottom: 1rem;
  font-weight: 900;
}

.world-container .title .highlight {
  color: var(--main-font-color-orange);
  font-size: 4rem;
}

.world-container .subtitle {
  font-size: 1.6rem;
  color: #666;
  margin-bottom: 3rem;
}

.world-container .feature-boxes {
  position: relative;
  display: flex;
  justify-content: center;
  max-width: 800px;
  margin: 4rem auto 0;
  margin-left: -5px;
}

.world-container .feature-box {
  background: rgba(255, 255, 255, 0.658);
  padding: 1.5rem;
  border-radius: 100px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
  position: relative;
  width: calc(33.33% + 60px);
  margin-right: -20px;
  z-index: 1;
}

.world-container .feature-box:first-child {
  transform-origin: right center;
}

.world-container .feature-box:nth-child(2) {
  z-index: 2;
}

.world-container .feature-box:last-child {
  margin-right: 0;
  transform-origin: left center;
}

.world-container .feature-box:hover {
  transform: translateY(-5px);
  z-index: 3;
}

.world-container .feature-box h3 {
  color: #FF6B6B;
  margin-bottom: 0.5rem;
  font-size: 1.2rem;
}
.world-container .feature-box-text{
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.world-container .feature-box p {
  color: #666;
  font-size: 0.9rem;
  line-height: 1.4;
  word-break: keep-all;
}

.world-container .world-right {
  position: relative;
}

.world-container .main-image {
  width: 100%;
  max-width: 500px;
  height: auto;
  margin-left: auto;
  border-radius: 50px;
}

/* target css */
.target-container{
  color: white;
  text-align: center;
}


.target-container .target-header {
  position: relative;
  height: 300px;
  width: 100%;
  background: url(./images/header_banner.png);
  background-size: 100% 100%;
  color: white;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 60px;
}

.target-container .target-header .main-title {
  font-size: 3rem;
  font-weight: bold;
  margin-top: -4rem;
  margin-bottom: 1rem;
  position: relative;
  z-index: 2;
  color: #ffd28f;
}

.target-container .target-header .subtitle {
  font-size: 3rem;
  position: relative;
  font-weight: bold;
  z-index: 2;
}

.target-container .target-content {
  padding: 4rem 2rem;
  background-color: #fff;
}

.target-container .target-grid {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-items: center;
  gap: 2rem;
}

.target-container .target-item {
  padding: 1.5rem;
  border-radius: 15px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  width: 100%;
  word-break: break-all;
  
  
}
.target-container .target-item-flex{
  display: flex;
  align-items: center;
}
.target-container .item-number {
  width: 60px;
  height: 60px;
  background-color: #FF6B00;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: bold;

}

.target-container .item-header {
  width: 75%;
  margin: 1.5rem 0 1rem;
  padding-left: 1rem;
}

.target-container .item-header h3 {
  font-size: 1.8rem;
  color: #FF6B00;
  margin-bottom: 0.5rem;
}

.target-container .item-header h4 {
  font-size: 1.2rem;
  color: #333;
  word-break: keep-all;
}

.target-container .item-image {
  width: 100%;
  height: 200px;
  margin: 1.2rem 0 1.7rem 0;
  border-radius: 10px;
  overflow: hidden;
}

.target-container .item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.target-container .item-description {
  color: #666;
  font-size: 1rem;
  line-height: 1.6;
  padding: 0 1rem;
  word-break: keep-all;
}


.travel-container{
  color: #000000;
  margin: 5rem 0 5rem 0;
  padding-bottom: 5rem;
  background-color: #f0f0f0;
}
.travel-container .travel-header{
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fce6b8;
  padding: 3rem 0;
}

.travel-header .main-title{
  font-size: 2rem;
  color: rgb(255, 136, 0);
}

.travel-header .sub-title{
  font-size: 1.5rem;
  color: #3b3b3b;
}

.travel-container .travel-content-flex{
  width: 100%;
  margin-top: 3rem;
  display: flex;
  justify-content: center;
}

.travel-container .travel-content{
  width: 1200px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-items: center;
  gap: 30px;
}

.travel-content .travel-item{
  width: 100%;
}

.travel-item img{
  width: 100%;
  height: 200px;
}

.travel-content .travel-item p{
  padding-top: 10px;
}


.performance_container {
  padding: 6rem 2rem;
}
.performance_container .performance_header{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 20%;
}
.performance_container .performance_title {
  font-size: 2.5rem;
  color: #333;
  margin-bottom: 1rem;
  font-weight: bold;
}
.performance_container .performance_header p{
  padding-left: 5%;
}

.performance_container .slider_container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.performance_container .slide_wrap {
  display: flex;
  transition: transform 0.5s ease-in-out;
}
.slide_content{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 2rem;
}
.performance_container .slide {
  flex: 0 0 100%;
  opacity: 0;
}

.performance_container .slide.active {
  opacity: 1;

}
.performance_container .slide_header{
  display: flex;
  justify-content: center;
  padding: 2rem;
  background-color: #4ac8fa;
  border-radius: 30px;
  color: #FFFFFF;
}
.performance_container .performance_grid {

  width: 50%;
}
.performance_container .slide_header h2{
  word-break: keep-all;
  text-align: center;
}
.performance_container .performance_grid img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.performance_container .slide_controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  margin-top: 2rem;
}

.performance_container .slide_controls button {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #666;
  cursor: pointer;
  padding: 0.5rem;
  transition: color 0.3s ease;
}

.performance_container .slide_controls button:hover {
  color: #333;
}

.performance_container .slide_dots {
  display: flex;
  gap: 0.5rem;
}

.performance_container .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #ddd;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.performance_container .dot.active {
  background-color: #666;
}



.contact_container {
  max-width: 800px;
  margin: 4rem auto;
  padding: 2rem;
  background-color: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

.contact_container .contact_title {
  color: #1A3C8F;
  text-align: center;
  font-size: 2rem;
  margin-bottom: 2rem;
  font-weight: bold;
}

.contact_container .contact_form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.contact_container .form_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.contact_container .form_group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.contact_container .form_group label {
  color: #333333;
  font-size: 0.9rem;
  font-weight: 500;
}

.contact_container .required {
  color: var(--main-font-color-orange);
  margin-left: 4px;
}

.contact_container .form_group input,
.contact_container .form_group textarea {
  padding: 0.8rem;
  border: 1px solid #E0E0E0;
  border-radius: 5px;
  font-size: 1rem;
  transition: border-color 0.3s ease;
}

.contact_container .form_group input:focus,
.contact_container .form_group textarea:focus {
  outline: none;
  border-color: #4BCCFF;
  box-shadow: 0 0 0 2px rgba(75, 204, 255, 0.1);
}

.contact_container .submit_btn {
  background-color: var(--main-font-color-orange);
  color: white;
  padding: 1rem;
  border: none;
  border-radius: 5px;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease;
  margin-top: 1rem;
}

.contact_container .submit_btn:hover {
  background-color: #FF8C00;
}

@media (max-width: 768px) {
  .contact_container {
      padding: 1.5rem;
      margin: 2rem auto;
  }

  .contact_container .form_row {
      grid-template-columns: 1fr;
      gap: 1rem;
  }

  .contact_container .contact_title {
      font-size: 1.5rem;
  }
}


@media (max-width: 1280px){
  .curriculum-container .step-container{
    gap: 1rem;
  }
}

@media (max-width: 1024px){
  .nav_container{
    justify-content: center;
  }

  .env-container{
    height: 1135px;
  }
  .world-container .subtitle{
    font-size: 1rem;
  }
  .travel-container .travel-content{
    padding: 0 1rem;
  }
  .env-container .tab-buttons{
    grid-template-columns: repeat(3, 1fr);
  }
  .env-container .env-content{
    flex-direction: column;
    gap: 3rem;
  }
  .env-container .feature-box{
    margin-right: -35px;
  }
  .env-container .feature-box p{
    font-size: 0.7rem;

  }
  .course-info > li{
    font-size: 1.1rem;
  }
  .marker-style li{
    font-size: 1.1rem;
  }
  .marker-style li::before{
    font-size: 1.1rem;
  }
  .info-content{
    font-size: 1.1rem;
  }
  .course-code{
    font-size: 1.1rem;
  }

  .curriculum-container .step-label{
    width: auto;
  }
  .world-container .title {
    font-size: 1.7rem;
  }
  .world-container .title .highlight{
    font-size: 2.7rem;
  }
  .world-container .feature-box p{
    font-size: 0.7rem;
  }

  .performance_container .performance_grid{
    width: 70%;
  }

}
@media (max-width: 768px){
  nav{
    gap: 1rem;
  }
  nav a{
    font-size: 0.8rem;
  }
  .header_logo{
    flex-direction: column-reverse;
    gap: 0.5rem;
  }
  .features-container .image-grid img{
    width: 45%;
  }

  .sub_text{
    font-size: 1rem;
  }
  .main_text{
    font-size: 1rem;
  }
  .features-container .main-title{
    font-size: 3.5rem;
  }
  .main_text .highlight{
    font-size: 2rem;
  }
  .logo_image img{
    height: 80px;
  }
  .env-container{
    height: 1200px;
  }

  .course-info{
    padding: 0 1rem;
  }
  .course-info > li{
    font-size: 1rem;
  }
  .marker-style li{
    font-size: 1rem;
  }
  .marker-style li::before{
    font-size: 1rem;
  }
  .info-content{
    font-size: 1rem;
  }
  .course-code{
    font-size: 1rem;
  }

  .env-container .slide-first-style{
    gap: 8rem;
  }
  .env-container .env-left{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .env-container .title{
    font-size: 1.7rem;
  }
  .env-container .subtitle{
    font-size: 1.3rem;
  }
  .env-container .feature-boxes{
    margin: 0;
    
  }
  .env-container .tab-button{
    font-size: 0.8rem;
  }
  .curriculum-container .curriculum-content-header .subtitle{
    font-size: 2.5rem;
  }

  .curriculum-container .step-title{
    font-size: 1.2rem;
  }
  .curriculum-container .step-text h4{
    font-size: 1.3rem;
  }
  .curriculum-container .curriculum-content-header .subtitle{
    font-size: 2.2rem;
  }
  .curriculum-container .curriculum-content-header .sub-text{
    padding-right: 10px;
    padding-top: 20px;
  }
  .curriculum-container .curriculum-content-header .sub-text span{
    font-size: 0.8rem;
  }
  .curriculum-container .course-content .course-block{
    width: 100%;
  }

  .world-container{
    height: 810px;
    padding: 3rem 1rem;
  }
  .world-container .world-content{
    flex-direction: column;
  }
  .world-container .world-left{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .world-container .feature-boxes{
    margin: 0;
  }

  .target-container .target-header .subtitle{
    font-size: 2.5rem;
  }
  .travel-container .travel-content-flex{
    padding: 0 1rem;
  }
  .performance_container .performance_header{
    padding-left: 0;
  }
  .performance_container .performance_grid{
    width: 100%;
  }

}
@media (max-width: 425px) {
  nav {
    flex-wrap: wrap;
    justify-content: center;
  }
  .sub_text{
    font-size: 0.8rem;
  }
  .features-container .image-grid img{
    height: 150px;
  }
  .env-container .title .highlight{
    font-size: 2rem;
  }
  .env-container .title{
    font-size: 0.8rem;
  }
  .env-container .subtitle{
    font-size: 0.8rem;
  }
  .curriculum-container .step-container{
    flex-direction: column;
  }
  .curriculum-container .curriculum-content-header .main-title{
    font-size: 2rem;
  }
  .curriculum-container .curriculum-content-header .subtitle{
    font-size: 1.3rem;
  }

  .env-container{
    height: 1000px;
  }
  .course-info > li{
    font-size: 0.7rem;
  }
  .marker-style li{
    font-size: 0.7rem;
  }
  .marker-style li::before{
    font-size: 0.7rem;
  }
  .info-content{
    font-size: 0.7rem;
  }
  .course-code{
    font-size: 0.7rem;
    padding: 0;
  }
  .target-container .target-grid{
    grid-template-columns: 1fr;
  }

  .course-block .course-detail{
    width: 45%;
  }
  .world-container .subtitle{
    font-size: 0.8rem;
  }

  .target-container .target-header .main-title{
    font-size: 2rem;
  }
  .target-container .target-header .subtitle{
    font-size: 1.6rem;
  }


  .travel-header .main-title{
    font-size: 1.5rem;
  }
  .travel-header .sub-title{
    margin-top: 20px;
    font-size: 0.9rem;
  }

  .travel-container .travel-content{
    grid-template-columns: 1fr;
  }
  .travel-content .travel-item{
    display: flex
;
    flex-direction: column;
    align-items: center;
  }
  .travel-item img{
    width: 80%;
  }

  .performance_container .performance_title{
    font-size: 2rem;
  }
  .performance_container .slide_header{
    padding: 2rem 1rem;
  }
  .performance_container .slide_header h2{
    font-size: 0.9rem;
  }
}

@media (max-width: 375px) {

  .sub_text{
    padding: 0 1rem;
    font-size: 0.7rem;
  }
  .features-container .description{
    font-size: 2.3rem;
    padding: 0 1rem;

  }
  .features-container .sub-title{
    font-size: 1.3rem;
  }
  .features-container .main-title{
    font-size: 2.5rem;
    padding: 0 1rem;
  }
  .env-container .subtitle{
    font-size: 1rem;
  }
  .env-container .slide-first-style{
    gap: 4rem;
  }
  .curriculum-container .process-title{
    font-size: 1.5rem;
  }
  .curriculum-container .curriculum-content-header .subtitle{
    font-size: 1.1rem;
  }
  .world-container .title{
    font-size: 1.5rem;
  }
  .world-container .feature-box h3{
    font-size: 1rem;
  }
  .world-container{
    height: 690px;
  }
  .target-container .target-header .subtitle{
    font-size: 1.3rem;
  }
  .target-container .target-header{
    margin-bottom: 30px;
  }
  .target-container .target-content{
    padding: 2rem 1rem;
  }
  .target-container .item-header h3{
    font-size: 1.5rem;
  }
  .target-container .item-header h4{
    font-size: 0.9rem;
  }
  .target-container .item-number{
    font-size: 1.2rem;
    width: 50px;
    height: 50px;
  }
  .travel-container{
    margin-top: 2rem;
  }
  .travel-header .main-title{
    font-size: 1.3rem;
  }
  .travel-header .sub-title{
    font-size: 0.7rem;
  }
  .performance_container .performance_title{
    font-size: 1.5rem;
    text-align: center;
  }
  .performance_container .performance_header p{
    text-align: center;
    padding-left: 0;
  }
}
@media (max-width:320px) {
  header{
    width: 320px;
  }
  nav{
    gap: 0.6rem;
  }
  nav a{
    font-size: 0.6rem;
  }
  .main_text{
    font-size: 0.8rem;
  }
  .main_text .highlight{
    font-size: 1.5rem;
  }
  .features-container .text-content{
    width: 320px;
  }
  .features-container .description{
    font-size: 2rem;
    padding: 0 2rem;
  }
  .features-container .image-grid img{
    width: 80%;
  }
  .env-container .feature-boxes{
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  .env-container .feature-box{
    margin-right: 0px;
    
    width: 250px;
    height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 50px;
    padding: 0;
  }
  .env-container .feature-box p{
    font-size: 0.7rem;
  }
  .env-container{
    height: 1200px;
  }
  .env-container .tab-buttons{
    grid-template-columns: repeat(2,1fr);
  }

  .curriculum-container .curriculum-content-header .main-title{
    font-size: 1.5rem;
  }
  .curriculum-container .process-subtitle{
    font-size: 1rem;
    padding: 0 1rem;
  }
  .curriculum-container .curriculum-content-header .subtitle{
    font-size: 1.2rem;
  }
  .curriculum-container .curriculum-content-header{
    margin-bottom: 30px;
  }
  .world-container .title{
    font-size: 1.2rem;
  }
  .world-container .title .highlight{
    font-size: 2rem;
  }
  .world-container .subtitle{
    font-size: 0.6rem;
  }

  .world-container .feature-boxes{
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  .world-container .feature-box{
    margin-right: 0px;
    
    width: 250px;
    height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 50px;
    padding: 0;
  }
  .world-container{
    height: 860px;
  }

  .target-container .target-header .main-title{
    font-size: 1.5rem;
  }
  .target-container .target-header .subtitle{
    font-size: 1rem;
  }

  .performance_container .performance_title{
    font-size: 1.5rem;
  }
  .performance_container .performance_header p{
    font-size: 0.8rem;
  }
  .performance_container .slide_header h2{
    font-size: 0.7rem;
    word-break: keep-all;
    text-align: center;
  }

}





/* 사이드 배너 */
.side_banner {
  position: fixed;
  right: 0;
  top: 60%;
  transform: translateY(-50%) translateX(calc(100% - 48px));
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 1px;
  transition: transform 0.3s ease;
}
.side_banner:hover {
  transform: translateY(-50%) translateX(0);
}
.side_banner_btn {
  display: flex;
  align-items: center;
  padding: 5px 15px;
  height: 60px;
  color: #252525;
  text-decoration: none;
  border-radius: 10px 0 0 10px;
  box-shadow: -2px 2px 5px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  width: 300px;
}
/* 하단 네비게이션 바 스타일 */
.bottom_nav {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #fff;
  padding: 10px;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
  z-index: 1000;
}

.bottom_nav .nav_item {
  color: #333;
  text-decoration: none;
  font-size: 24px;
  padding: 10px;
  transition: color 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.bottom_nav .nav_item:hover {
  color: #4BCCFF;
}

.bottom_nav .nav_item span {
  font-size: 12px;
  margin-top: 5px;
}
/* 반응형 스타일 */
@media (max-width: 768px) {
  .side_banner {
      display: none;
  }
  
  .bottom_nav {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 10px 5px;
}


.footer {
    margin-bottom: 85px;  /* 텍스트가 추가되어 높이가 늘어나므로 마진값 증가 */
}
}

/* 기존 사이드 배너 스타일 유지 */
.side_download {
    background: linear-gradient(45deg, #21e953, #1aad3f);
    border: 2px solid #1aad3f;
}

.side_download:hover {
    background: linear-gradient(45deg, #19c043, #158f34);
}

/* 문의하기 버튼 */
.side_contact.side_banner_btn:nth-child(2) {
  background: linear-gradient(45deg, #4b9afa, #2178f8);
  border: 2px solid #2178f8;
}

.side_contact.side_banner_btn:nth-child(2):hover {
  background: linear-gradient(45deg, #3b89e9, #1867e7);
}

/* 이메일 버튼 */
.side_contact.side_banner_btn:nth-child(3) {
  background: linear-gradient(45deg, #f7a324, #e88c0c);
  border: 2px solid #e88c0c;
}

.side_contact.side_banner_btn:nth-child(3):hover {
  background: linear-gradient(45deg, #e6920b, #d77b0b);
}

/* 전화 버튼 */
.side_contact.side_banner_btn:nth-child(4) {
  background: linear-gradient(45deg, #ff6b6b, #ff4f4f);
  border: 2px solid #ff4f4f;
}

.side_contact.side_banner_btn:nth-child(4):hover {
  background: linear-gradient(45deg, #ff5a5a, #ff3e3e);
}

/* 아이콘 스타일 */
.icon-only {
  font-size: 20px;
  width: 30px;
  margin-right: 10px;
  transition: margin 0.3s ease;
}

.side_banner:not(:hover) .icon-only {
  margin-right: 0;
}

.side_banner:not(:hover) .side_banner_text {
  display: none;
}

.side_banner_text {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}


.banner_contact{
  font-size: 18px;
}
/* 아이콘 컬러 조정 */
.side_banner_btn .icon-only {
  color: #ffffff;
}

/* 텍스트 컬러 통일 */
.side_banner_text {
  color: #ffffff;
}

.side_banner_text .highlight {
  color: #ffffff;
  font-weight: 900;
}



