@charset "UTF-8";
section {
  overflow: hidden;
}
h2,h3,p {
  overflow: hidden;
}
/*********topbtn***********/
.topbtn {
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background: var(--main-color);
  z-index: 999;
  text-align: center;
  border-radius: 50%;
  border: 4px solid #fff;
  cursor: pointer;
}
.topbtn:before {
  position: absolute;
  content: "";
  width: 13px;
  height: 13px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  display: inline-block;
  transform: translate(-50%, -50%) rotate(-45deg);
  position: absolute;
  top: 55%;
  left: 50%;
  transition: 0.3s;
}
.topbtn:hover:before {
  top: 50%;
}
/**********common************/
.video_wrap {
  position: absolute;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  left: 0;
  top: 0;
}
.video_wrap:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #00000070;
  left: 0;
  top: 0;
}
.video_wrap:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(/img/dotbg.png) repeat center;
  left: 0;
  top: 0;
}
.video_wrap iframe {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 120%;
}
/************header***********/
header {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 1000;
  transition: all 0.5s ease-in-out; 
  white-space: nowrap;
  background: transparent;
  overflow: hidden;
  height: 100px;
}
header .inner {
  position: relative;  
  z-index: 999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
header.active:after {
  opacity: 1;
}
header .header_logo {
  text-align: center;
}
header .header_logo a img {
  width: 200px;
  transition: all 0.3s 0.3s ease-in-out;
}
nav {
  display: none;
}
nav .nav_list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
nav .nav_item {
  position: relative;
  padding: 0 35px; 
}
nav .nav_item > a {
  position: relative;
  color: #000;
  font-size: 20px;
  font-weight: 700;
  display: block;
  transition: 0.3s;
  height: 120px;
  line-height: 120px;  
}
nav .nav_item > a:before {
  position: absolute;
  content: "";
  left: 0;
  background: var(--main-color);
  width: 0;
  height: 5px;
  bottom: 20px;
  transition: 0.3s;
}
nav .nav_item.on > a:before, 
nav .nav_item:hover > a:before,
nav .nav_item > a.active:before {
  width: 40%;
}
nav .nav_dropdown {
  position: absolute;
  left: 35px;
  padding: 30px 0;
  text-align: left;
  width: 100%;
}
nav .nav_dropdown a {
  display: block;
  padding: 5px 0;
  font-size: 18px;
  transition: all 0.3s;
  color: #333;
  font-weight: 400;
  border-bottom: 1px solid transparent;
}
nav .nav_dropdown a:hover {
  font-weight: 500;
  color: var(--main-color);
}
.side_nav .side_btn {
  position: relative;
  width: 35px;
  height: 25px;  
  cursor: pointer;
  overflow: hidden;
}
.side_nav .side_btn div {
  width: 100%;
  height: 2px;
  background: #fff;
  transition: all .3s;
  position: absolute;
}
.side_nav .side_btn div:nth-of-type(1) {
  top: 0;
  left: 0;
}
.side_nav .side_btn div:nth-of-type(2) {
  width: 60%;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.side_nav .side_btn div:nth-of-type(3) {
  bottom: 0;
  left: 0;
}
.side_nav .side_btn.on div:nth-of-type(1) {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%) rotate(45deg);
  opacity: 0;
}
.side_nav .side_btn.on div:nth-of-type(2) {
  left: -100%;
  opacity: 0;
}
.side_nav .side_btn.on div:nth-of-type(3) {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%) rotate(-45deg);
  opacity: 0;
}
.side_close {
  position: absolute;
  right: 70px;
  top: 30px;
  width: 40px;
  height: 40px;
  cursor: pointer;
}
.side_close div {
  width: 100%;
  height: 2px;
  background: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
}
.side_close div:nth-of-type(1) {
  transform: translate(-50%,-50%) rotate(45deg);
}
.side_close div:nth-of-type(2) {
  transform: translate(-50%,-50%) rotate(-45deg);
}
.side_list {
  position: relative;
  width: 20%;
  height: 100%;
  position: fixed;
  right: -20%;
  top: 0;
  z-index: 1001;
  background: rgba(0,0,0,0.8);
  padding: 100px 50px;
  opacity: 0;
  transition: all .3s;
}
.side_list.on {
  right: 0;
  opacity: 1;
}
.side_item {
  margin: 20px 0;
  overflow: hidden;
}
.side_item a {
  font-size: 32px;
  font-weight: 500;
  color: #fff;
  transition: all .3s; 
  cursor: pointer;
}
.side_item a:hover {
  opacity: 1;
  color: #000;
}
.side_dropdown {
  position: relative;
  height: 0;
  padding: 0;
  transition: .3s;
}
.side_dropdown.active {
  padding: 40px 0 10px;
  height: auto;
}
.side_dropdown:before {
  position: absolute;
  content: '';
  left: 0;
  top: 10px;
  width: 30px;
  height: 5px;
  background: var(--main-color);
}
.side_dropdown a {
  display: block;
  font-size: 20px;
  color: #ccc;
  padding: 5px 0;
  font-weight: 400;
  transition: all .3s;
  position: relative;
}
.side_dropdown a:hover {
  color: var(--main-color);
  font-weight: 700;
}
.side_item.active > h3 {
  color: #fff;
}
.kakao_btn {
  text-align: center;
  margin-top: 50px;
}
.kakao_btn a img {
  transition: all .3s;
  width: 50px;
  filter: saturate(0);
}
.kakao_btn a:hover img {
  filter: saturate(1);
}
/***************footer***************/
footer {
  background: #fff;
  /* padding: 30px 0; */
  color: #333;
  /* border-top: 1px solid #ddd; */
  /* margin-bottom: 100px; */
}
footer .footer_logo {
  margin-right: 100px;
}
footer .footer_logo img {
  width: 200px;
}
footer > .inner {
  display: flex;
  justify-content: start;
  align-items: center;
  max-width: 1400px;
}
.footer_content p {
  font-size: 14px;
  font-weight: 300;
  line-height: 2em;
  color: #333;
}
.footer_content p span {
  padding: 0 15px;
}
.footer_content p small {
  display: block;
  margin-top: 15px;
  font-size: 11px;
  color: #666;
}
/******consult******/
.consult {
  background: var(--main-color);
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;  
  z-index: 999;
}
.consult_cont {
  display: flex;
  justify-content: center;
  gap: 120px;
  align-items: center;
  color: #fff;
  height: 100px;
  padding: 0 70px;
}
.consult_txt {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.consult_txt img {
  width: 200px;
  margin-right: 50px;
}
.consult_txt div {
  text-align: center;
}
.consult_txt div h2 {
  font-size: 44px;
  font-weight: 900;
  line-height: 1.2em;
}
.consult_txt div p {
  font-size: 14px;
}
.consult_num {
  text-align: center;
}
.consult_num h2 {
  font-size: 45px;
  line-height: 1em;
  color: #fff;
}
.consult_kakao {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffeb3b;
  border-radius: 15px;
  color: #3e2723;
  padding: 10px 50px;
  border: 3px solid transparent;
  transition: all .3s;
}
.consult_kakao img {
  width: 45px;
  margin-right: 15px;
}
.consult_kakao p {
  font-size: 24px;
  font-weight: 900;
}
.consult_kakao:hover {
  border-color: #fff;
}
/*.main common*/
.more_w {
  margin-top: 30px;
  display: inline-block;
  font-size: 16px;
  text-align: center;
  color: #fff;
  border: 1px solid #fff;
  padding: 10px 30px;
  transition: all .3s;
  font-weight: 300;
  position: relative;
  z-index: 2;
  border-radius: 4px;
}
.more_w:hover {
  background: #fff;
  color: #333;
}
.more_b {
  margin-top: 30px;
  display: inline-block;
  font-size: 16px;
  text-align: center;
  color: #333;
  border: 1px solid #333;
  padding: 10px 30px;
  transition: all .3s;
  font-weight: 300;
  position: relative;
  z-index: 2;
  border-radius: 4px;
}
.more_b:hover {
  background: #333;
  color: #fff;
}
.location_table {
  border-color: #bbb;
  color: #333;
  width: 100%;
}
.location_table th {
  background: #999;
  color: #fff;
}
.location_table th,
.location_table td {
  padding: 15px;
  text-align: center;
  font-size: 18px;
}
.location_search {
  padding: 30px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.location_search a {
  text-align: center;
  padding: 10px 50px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 20px;
  display: flex;
  align-items: center;
}
.location_search a img {
  height: 25px;
}
.location_search a span {
  margin-left: 10px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1em;
}
.location_search a:nth-child(2) {
  margin: 0 50px;
}
.location_search a:nth-child(1) span {
  color: #03cf5d;
}
.location_search a:nth-child(2) span {
  color: #0089ff;
}
.location_search a:nth-child(3) span {
  color: #dd4436;
}
/*****************visual****************/
.visual .scroll_down_box {position: absolute; color: #fff; bottom: 20px; left: 20px; z-index: 999; text-align: center;}
.visual .scroll_down_box p {font-size: 8px; font-weight: 300; letter-spacing: 5px; writing-mode : vertical-rl;}
.visual .scroll_down_box .scroll_down_mouse {background: rgba(255, 255, 255, 0.27); width: 1px; height: 100px; position: absolute; left: 6px; bottom: 130px;  overflow: hidden;}
.visual .scroll_down_box .scroll_down_mouse span {background: #fff; display: block; width: 1px; height: 100px; position: absolute; left: 0; top: -100%; animation: wheeldown 2s 1s infinite normal;}
@keyframes wheeldown {
	0% {
		top: -100%;
	}
	100% {top: 100%;}
}
.visual {
  position: relative;
  height: 100vh;
  width: 100%;
}
.visual .sec_cont {
  position: relative;
  z-index: 1;
  text-align: center;
  color: #fff;
}
.visual_title {
  color: #fff; 
  text-align: center;
  padding: 30px 0;
}
.visual_title h2,
.visual_title h3,
.visual_title p {
  overflow: hidden;
}
.visual_title h2 {
  color: #fff;
  font-size: 80px;
  display: block;
  margin-bottom: 10px;
} 
.visual_title h2 strong {
  font-weight: 700;
}
.visual_title h3 {
  font-size: 30px;
  font-weight: 300;
  display: block;
} 
.visual_title p span {
  font-size: 24px;
  font-weight: 200;
  display: block;
}
.visual_title p strong {
  font-weight: 700;
}
.visual_cate {
  background: var(--main-color);
  color: #fff;
  padding: 10px 30px;
  text-align: center;
  font-size: 30px;
  border-radius: 50px;
}
.visual_num {
  font-size: 50px;
}
.visual_slide {
  width: 100%;
  height: 100%;
}
.visual_slide img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.visual_copy {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 20px;
  color: #fff;
  z-index: 999;
}
.visual_txt {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 9;
}
