
::-webkit-scrollbar {display:none;} 

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
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,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,caption,tbody,tfoot,thead,tr,th,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
body{ line-height:1.5; font-family:'Dotum'; font-size:16px; color:#000; background:#fff;-ms-overflow-style: none; } 
audio,canvas,progress,video{display:inline-block;vertical-align:baseline}
audio:not([controls]){display:none;height:0;}
ul,ol,li{list-style:none}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
fieldset,img{border:0}
hr{height:0;}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-0.5em}
sub{bottom:-0.25em}
address,caption,em,var{font-style:normal;font-weight:normal}
a{text-decoration:none;cursor:pointer;color: inherit;}
a[href^="tel"]{font-style:normal}
a:hover,a:active,a:focus{text-decoration:none !important;}
b,strong{font-weight:bold}
dfn{font-style:italic}
img{border:0;vertical-align:top}
pre{overflow:auto}
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}
table{border-spacing:0;border-collapse:collapse}
td,th{padding:0;}
legend, caption{overflow:hidden;text-indent:-9999999px; height:0 !important; width:0 !important;line-height:0 !important;margin:0;padding:0;}
input{vertical-align:middle;margin:0;padding:0;}
input[type="text"],input[type="password"],input[type="email"]{-webkit-appearance:none;appearance:none;border-radius:0;font-family:'Dotum';}
input:checked[type="checkbox"]{-webkit-appearance:checkbox;appearance:checkbox}
button,input[type="button"],input[type="submit"],input[type="reset"],input[type="file"]{border-radius:0;-webkit-appearance:button;appearance:button;font-family:'Dotum';}
button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}
button{overflow:visible;border:none;cursor:pointer;margin:0;padding:0;}
a,input,button,select{outline:none}
button,select{text-transform:none}
optgroup{font-weight:bold}
textarea{border:1px solid #bcbcbc;overflow:auto;-webkit-appearance:none;appearance:none;}
input::-ms-clear{display:none;}



body { width: 100%; margin: auto; font-family: 'Pretendard', sans-serif; overflow-x: hidden; }

/*body.main { overflow-y: hidden; }*/

.mo { display: none !important; }
.pc { display: block; }

/*  */


/*html,a,.btn { cursor: none; }*/
.btn { cursor: pointer; }

#cursor {  position: fixed;  z-index: 999999999999999;  left: 0;  top: 0;  pointer-events: none;  will-change: transform;}

@media (hover: hover) and (pointer: fine) {
 
  .cursor__circle {  	display: none;    width: 25px;    height: 25px;    margin-top: -50%;    margin-left: -50%;    border-radius: 50%;    border: solid 1px #004e71;    transition: opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1),      background-color 0.3s cubic-bezier(0.25, 1, 0.5, 1),      border-color 0.3s cubic-bezier(0.25, 1, 0.5, 1),      width 0.3s cubic-bezier(0.25, 1, 0.5, 1),      height 0.3s cubic-bezier(0.25, 1, 0.5, 1);      display: none;  }

  .cursor_drag { width: 25px; height: 25px; background-color: rgba(0,0,0,0.7); display: flex; justify-content: center; align-items: center; border-radius: 100%; left: 0; top: 0; transform: translate(-50%,-50%); transition: 0.3s; opacity: 0; position: absolute; }
  .cursor_drag p { color: #fff; font-size: 10px; line-height: 100%; font-weight: 500; display: inline-block; position: relative; letter-spacing: 0; }
  .cursor_drag p:before { content:''; width: 6px; height: 6px; border-left: 1px solid #000; border-bottom: 1px solid #000; transform: rotate(45deg); position: absolute; left: -42px; top: 0; bottom: 0; margin: auto; }
  .cursor_drag p:after { content:''; width: 6px; height: 6px; border-right: 1px solid #000; border-bottom: 1px solid #000; transform: rotate(-45deg); position: absolute; right: -42px; top: 0; bottom: 0; margin: auto; }
 
  .cursor_click { width: 25px; height: 25px; background-color: transparent; border: 1px solid #fff; display: flex; justify-content: center; align-items: center; border-radius: 100%; left: 0; top: 0; transform: translate(-50%,-50%); transition: 0.3s; opacity: 0; position: absolute; }
  .cursor_click p { color: #fff; font-size: 10px; line-height: 100%; font-weight: 500; display: inline-block; position: relative; letter-spacing: 0; transform: translateY(-5px); }
  .cursor_click p:before { content:''; width: 5px; height: 5px; border-left: 1px solid #fff; border-bottom: 1px solid #fff; transform: rotate(-45deg); position: absolute; left: 0; right: 0; top: 18px; bottom: 0; margin: auto; }
 
  #cursor{    width: 70px;    height: 70px;  }
  #cursor.arrow .cursor__circle{width: 80px;  height: 80px;    background-color: transparent;    border-color: #004e71;  }
  #cursor.click .cursor__circle{ width: 80px;  height: 80px;    background-color: transparent;    border-color: transparent;  }
  #cursor.click .cursor_click { width: 65px;   height: 65px;	opacity: 1;  }
  #cursor.drag .cursor__circle{  width: 80px;   height: 80px;    background-color: transparent;    border-color: transparent;  }
  #cursor.drag .cursor_drag {  width: 80px;   height: 80px;	opacity: 1;  }
  #cursor.drag2 .cursor__circle{ width: 80px;   height: 80px;    background-color: transparent;    border-color: transparent;  }
  #cursor.drag2 .cursor_drag {  width: 65px;   height: 65px;	opacity: 1;  }
  #cursor.drag2 .cursor_drag { background-color: transparent; border: 1px solid #fff; }
  #cursor.drag2 .cursor_drag p:before { border-left: 1px solid #fff; border-bottom: 1px solid #fff; }
  #cursor.drag2 .cursor_drag p:after { border-right: 1px solid #fff; border-bottom: 1px solid #fff; }

}


/**/

.all_wrap { width: 100%; height: auto; position: relative; left: 0; top: 0; }
body.main .all_wrap { height: 100vh; text-align: center; }
body.sub .all_wrap { overflow: hidden; }


.section { background-color: #fff; width: 100%; height: 100vh; position: relative; overflow: hidden; }

/*  */

#section1 { width: 100%;  z-index: 1; }

.main_wrap { width: 100%; height: 100vh; position: relative; overflow: hidden; display: flex; justify-content: center; align-items: center; background-color: #000; overflow: hidden; }
.main_wrap::before { content: ''; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background-color: #000; opacity: 0; z-index: 11; transition: 1.2s; }

.swiper_main { width: 100%; height: 100%; margin: 0; padding: 0; }
.swiper_main .swiper-slide { width: 100%; height: 100%; background-color: #000; }

.main_content { width: 100%; height: 100%; position: relative; }

.main_img { width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 1; background-size: cover; transform: scale(1); }
.main_img.img01 { background: url(/images/main/main_img1.jpg) center bottom no-repeat; background-size: cover; }
.main_img.img02 { background: url(/images/main/main_img2.jpg) center bottom no-repeat; background-size: cover; }

.main_txt_box { width: 100%; height: 100%; position: absolute; z-index: 10; right:0; top:0%;   }
.main_txt_box div	{ position:relative; width:100%; overflow: hidden; height:50%}
.main_txt_box .text01 {width:48%; text-align:right; transform: translateX(-50px); opacity: 0; ;position:absolute; top:40%; left:0;}
.main_txt_box .text02 {width:48%; text-align:left; transform: translateX(50px); opacity: 0; ;position:absolute; top:40%; right:0; }


.main_wrap.on .swiper_main .swiper-slide-active .main_img { transform: scale(1); transition: opacity 2.0s 0s, transform 4.0s 0s; }
.main_wrap.on .swiper_main .swiper-slide-active .main_txt_box .text01 { transform: translate(0); opacity: 1; transition: 1.5s 0.6s; }
.main_wrap.on .swiper_main .swiper-slide-active .main_txt_box .text02 { transform: translate(0); opacity: 1; transition: 1.5s 1.2s; }



.main_bt_wrap { width: 140px; height: 77px; position: absolute; left: 50%; margin-left:-75px; bottom: 0; z-index: 11; }
.swiper_main .main_bt_wrap { background-color: rgba(0,0,0,0.5); }

.main_slide_num { position: absolute; width: 174px; left: 155px; top: 0; bottom: 0; margin: auto; height: 13px; z-index: 100; line-height: 95%; font-size: 13px; color: #fff; text-align: center; letter-spacing: 0; display: flex; justify-content: space-between; align-items: center; }
.main_slide_num p:last-child { opacity: 1; }

.main_bt_wrap .swiper-pagination2 { width: 101px; height: 20px; position: absolute; left: 191px; bottom: 0; top: 0; margin: auto; z-index: 999; display: flex; justify-content: space-between; align-items: center; }
.main_bt_wrap .swiper-pagination2 .swiper-pagination-bullet { width: 100%; height: 20px; border-radius: 0; opacity: 1; background: none; position: relative; outline: none; }
.main_bt_wrap .swiper-pagination2 .swiper-pagination-bullet span { content:''; width: 100%; height: 3px; position: absolute; left: 0; bottom: 0; top: 0; margin: auto; background-color: #fff; opacity: 1;animation: bullet 5s 0s both linear; display: none; }
.main_bt_wrap .swiper-pagination2 .swiper-pagination-bullet span.stop { animation-play-state: paused; }
.main_bt_wrap .swiper-pagination2 .swiper-pagination-bullet:before { content:''; width: 100%; height: 1px; position: absolute; left: 0; bottom: 0; top: 0; margin: auto; background-color: #fff; opacity: 0.3; }
.main_bt_wrap .swiper-pagination2 .swiper-pagination-bullet p { font-size: 11px; line-height: 100%; color: #fff; position: absolute; top: 0; left: -8px; letter-spacing: 0.5px; z-index: -1; opacity: 0; transition: 0.5s; display: none; }

.main_bt_wrap .swiper-pagination2 .swiper-pagination-bullet-active span { display: block; }
.main_bt_wrap .swiper-pagination2 .swiper-pagination-bullet-active p { left: -13px; opacity: 1; }


@keyframes bullet {
	from { width: 0; }
	to {  }
}


.main_play_bt { width: 20px; height: 30px; color: #fff; position: absolute; right: 35px; top: 0; margin: auto; bottom: 0; }
.main_play_bt>div { width: 100%; height: 100%; position: absolute; left: 0; bottom: 0; cursor: pointer; border-radius: 100%; }
.main_play_bt>div>img { position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; }
.swiper-button-play { display: none; }

.swiper_main_2 { width: 200px; height: 32px; position: absolute; left: 35px; top: 0; bottom: 0;  margin: auto; z-index: 99; }
.swiper_main_2 .swiper-slide { width: 32px !important; height: 32px; cursor: pointer; border: none; overflow: hidden; box-sizing: border-box; border-radius: 100%; margin-right: 17px !important;}
.swiper_main_2 .swiper-slide-thumb-active { opacity: 1; }
.swiper_main_2 .swiper-slide:before { content:''; width: 6px; height: 6px; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; background-color: #fff; z-index: 9; border-radius: 100%; opacity: 0.5; }
.swiper_main_2 .swiper-slide-thumb-active:after { content:''; width: 100%; height: 100%; position: absolute; left: 0; top: 0; border: 1px solid #fff; box-sizing: border-box; z-index: 9; border-radius: 100%; box-sizing: border-box; }

.swiper_main_2 .swiper-slide-thumb-active:before { opacity: 1; }


/* ban */
.ban-wrap{position: fixed; bottom:70px; right: 50px; z-index: 100; display: flex; justify-content: center; align-items: center; flex-direction: column; transition: 0.8s;}
.fp-viewing-5 .ban-wrap{bottom: 383px;}

.ban-wrap img{display:block;}
.ban-wrap .qr{box-shadow: 3px 0px 6.86px 0.14px rgba(0, 0, 0, 0.2);margin-bottom:10px;}
.ban-wrap .open{width: 110px; height: 110px; border-radius: 50%; box-shadow: 3px 0px 6.86px 0.14px rgba(0, 0, 0, 0.2); }

.ban{width: 54px; height: 54px; border-radius: 27px; box-shadow: 3px 0px 6.86px 0.14px rgba(0, 0, 0, 0.2); margin-top: 10px; position: relative;}
.ban img{position: relative; z-index: 10;}
.ban .ban-list{width: 54px; height: 54px; overflow: hidden; position: absolute; top: 0; right: 0; border-radius: 27px; background: #a39383; display: flex; align-items: center; padding-left: 25px; font-size: 16px; font-weight: 500; color: #fff; transition: 0.3s; box-sizing: border-box; }
.ban:hover .ban-list{width: 172px;}

.ban-wrap .scroll{display: flex; position: relative; width: 126px; height: 126px; justify-content: center; align-items: center; margin-top: 26px;}
.ban-wrap .scroll span{display: block; width: 20px; height: 27px; background: url(/images/main/scroll-icon.png) no-repeat center;}
.ban-wrap .scroll em{position: absolute; display: block; width: 100%; height: 100%; animation: rotate 10s linear infinite; background: url(/images/main/scroll-text.png) no-repeat center;}

.subwrap .ban-wrap .scroll{display:none;}

.fp-viewing-1 .scroll span,
.fp-viewing-3 .scroll span,
.fp-viewing-4 .scroll span{background: url(/images/main/scroll-co.png) no-repeat center;}

.fp-viewing-1 .scroll em,
.fp-viewing-3 .scroll em,
.fp-viewing-4 .scroll em{background: url(/images/main/scroll-text-co.png) no-repeat center;}



@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}


/**/

#section2 { width: 100%; z-index: 1; }
#section3 { width: 100%; z-index: 1; }
#section4 { width: 100%; z-index: 1; }
#section5 { width: 100%; z-index: 1; }


.location_map	 { width: 100%; height: 100vh; position: relative; overflow: hidden;  background: url(/images/main/main_location_bg.jpg) left bottom no-repeat;  background-size:cover}
.location_map  .location_map_box			{position:absolute; top:0; left:0; width:85%;  height:100%; background: url(/images/main/main_location_img01.png) center bottom no-repeat;  background-size:100% auto; opacity: 0; transform: translateX(3rem); z-index:2 }
.location_map  .location_map_box_m	{display:none}
.location_right		{position:absolute; top:20%; right:0; text-align:left; width:35%; opacity: 0; transform: translateY(-3rem);  z-index:3}
.location_right	.location_tlt01		{ font-family: 'trajan';  font-size:16px; color:#000; }
.location_right	.location_tlt02	{margin-top:30px; font-size:28px; font-weight:300; color:#000}
.location_right	.location_tlt02  span{font-size:42px; font-weight:600; color:#2a334e; display:block; line-height:1.3; margin-top:5px}
.location_right	.location_tlt03	{ font-family: 'GmarketSans'; font-weight:400; font-size:12px; padding-top:15px;  letter-spacing:2px; padding-left:5px; color:#666 }


.location_text		{position:absolute; top:42%; right:10%; text-align:left; opacity: 0; transform: translatex(-3rem);  z-index:3}

.location_map.on .location_map_box { opacity: 1; transform: translateX(0); transition: 1.2s 0.2s; }
.location_map.on .location_right { opacity: 1; transform: translateY(0); transition: 1.2s 0.6s; }
.location_map.on .location_text { opacity: 1; transform: translateX(0); transition: 1.2s 1s; }



/**/

.location_wrap { width: 100vw; height: 100vh; position: relative; overflow: hidden; display: flex; justify-content: flex-start; align-items: center; transition: 0.8s; }

.location01 { width: 100%; height: 100%; position: relative; }

.swiper_location { width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 9; outline: none; margin: 0; padding: 0; }

.location_content { width: 100%; height: 100%; position: relative; z-index: 9; display: flex; justify-content: center; align-items: center; background-color: #fff; }
.location_content>div { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; }

.location_bg_box { width: 100%; height: 100%; opacity: 1; position: absolute; transform: scale(1.2); }
.location_bg_box::before { content:''; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: url(/images/main/location_bg.png) center no-repeat; background-size: cover; z-index: 3; opacity: 1; }
.location_bg_box::after { content:''; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: url(/images/main/location_bg2.png) center no-repeat; background-size: cover; z-index: 3; opacity: 1; }
.location_bg_box.box01 { background: url(/images/main/location_bg01.jpg) center no-repeat; background-size: cover; }
.location_bg_box.box02 { background: url(/images/main/location_bg02.jpg)center no-repeat; background-size: cover; }
.location_bg_box.box03 { background: url(/images/main/location_bg03.jpg)center no-repeat; background-size: cover; }
.location_bg_box.box04 { background: url(/images/main/location_bg04.jpg)center no-repeat; background-size: cover; }
.location_bg_box.box05 { background: url(/images/main/location_bg05.jpg)center no-repeat; background-size: cover; }
.location_bg_box.box06 { background: url(/images/main/location_bg06.jpg)center no-repeat; background-size: cover; }


.location_txt_box { width: 100%; height: 100%; display: flex; /* justify-content: center; */align-items: flex-end; position: relative; z-index: 9; color: #fff; text-align: left; left: 10.3%; bottom: 14.2%;}
.location_txt_box>div {  transform: translateY(0rem); position: relative;}
.location_txt_box h1 { font-family: 'trajan'; font-size: 6.25rem; line-height: 100%; opacity: 0; transform: translateX(-3rem); letter-spacing: -3px;}
.location_txt_box h2 { font-family: 'antro'; font-size: 7.25rem; color: #fde4a3; line-height: 100%; opacity: 0; transform: translateX(-3rem); position: absolute; top: -4rem; }
.location_txt_box>div>div { box-sizing: border-box; opacity: 0; transform: translateX(3rem); margin-top: 2.93rem; position: relative; left: 15rem;}
.location_txt_box h3 { font-size: 50px; font-weight: 500; margin-top: 1.5rem; line-height: 100%;}
.location_txt_box h3 b { font-weight: 700; color: #fde4a3; }
.location_txt_box p { line-height: 160%; opacity: 0.8; margin-top: 15px; font-size:28px; font-weight:500}
.location_txt_box p span.small_text1 {font-size:13px;}
.location_txt_box p span.small_text2 {font-size:21px;}

.location_txt_box.box01 h2 { right: -50%;}
.location_txt_box.box02 h2 { right: -40%;}
.location_txt_box.box03 h2 { right: -45%;}
.location_txt_box.box04 h2 { right: -55%;}
.location_txt_box.box05 h2 { right: -55%;}
.location_txt_box.box06 h2 { right: -75%;}

.location_open { width: 12.5rem; height: 3.5rem; display: flex; justify-content: center; align-items: center; text-align: center; border-radius: 3.125rem; border: 1px solid rgba(255,255,255,0.4); margin-top: 2.625rem; opacity: 0; transform: translateY(2rem); }
.location_open>div { transform: translateY(0.125rem); }
.location_open h4 { font-size: 1.625rem; line-height: 100%; display: flex; justify-content: center; align-items: flex-end; gap: 0.125rem; }
.location_open h4 span { font-size: 0.9375rem; }
.location_open h4 b { font-weight: 500; }

.c_red { color: #e8340c; }
.location_square_box .c_red { color: #d4992a; }


.swiper_location .swiper-slide-active .location_bg_box { transform: scale(1); transition: 3.5s 0s; }
.swiper_location .swiper-slide-active .location_square>div>span::before { width: 85%; transition: 2.5s 0.2s; }
.swiper_location .swiper-slide-active .location_square>div>span::after { height: 85%; transition: 2.5s 0.2s; }
.swiper_location .swiper-slide-active .location_txt_box h1 { transform: translate(0); opacity: 1; transition: 1.2s 0.2s; }
.swiper_location .swiper-slide-active .location_txt_box h2 { transform: translate(0); opacity: 1; transition: 1.2s 0.2s; }
.swiper_location .swiper-slide-active .location_txt_box>div>div { transform: translate(0); opacity: 1; transition: 1.2s 0.6s; }
.swiper_location .swiper-slide-active .location_open { transform: translate(0); opacity: 1; transition: 1.2s 0.6s; }


.location_bt_wrap { width: 100%; /* max-width: 1580px; */ max-width: 80%; height: 32px; position: absolute; left: 0; right: 0; margin: auto; bottom: 0; top: 0; margin: auto; transform: translateY(22.5rem); z-index: 9; display: flex; justify-content: flex-end; align-items: center; }
.location_bt_wrap>div { width: 440px; padding-left: 340px; height: 100%; position: relative; display: flex; justify-content: space-between; align-items: center; box-sizing: border-box; }
/* .swiper_location .location_bt_wrap { background-color: rgba(0,0,0,0.5); } */
.location_content .location_bt_wrap>div { padding: 0; }

.location_slide_num { width: 300px; height: 12px; z-index: 100; line-height: 100%; font-size: 12px; font-weight: 500; color: #fff; text-align: center; letter-spacing: 0; display: flex; justify-content: space-between; align-items: center; }
.location_slide_num p:last-child { opacity: 1; display: none; }
.location_slide_num .timeline { width: 92%; height: 20px; border-radius: 0; opacity: 1; background: none; position: relative; outline: none; transform: translateY(-1px); }
.location_slide_num .timeline span { content:''; width: 100%; height: 2px; position: absolute; left: 0; bottom: 0; top: 0; margin: auto; background-color: #fff; opacity: 1; animation: bullet 5s 0s both linear; }
.location_slide_num .timeline.active span { animation: bullet2 5s 0s both linear; }
.location_slide_num .timeline span.stop { animation-play-state: paused !important; }
.location_slide_num .timeline:before { content:''; width: 100%; height: 2px; position: absolute; left: 0; bottom: 0; top: 0; margin: auto; background-color: #fff; opacity: 0.3; }
.location_slide_num .timeline p { font-size: 11px; line-height: 100%; color: #fff; position: absolute; top: 0; left: -8px; letter-spacing: 0.5px; z-index: -1; opacity: 0; transition: 0.5s; display: none; }


@keyframes bullet {
	from { width: 0; }
	to {  }
}
@keyframes bullet2 {
	from { width: 0; }
	to {  }
}

.location_arrow { display: flex; justify-content: center; align-items: center; gap: 0px; }
.location_arrow .swiper-pagination { width: 58px; font-family: 'Noto Sans KR', sans-serif; display: flex; color: #fff; justify-content: center; align-items: center; gap: 6px; bottom: 0; position: relative; margin: 0; padding: 0; font-size: 12px; line-height: 100%; transform: translateY(-1px); }
.location_arrow .swiper-pagination span { width: 13px; }
.location_arrow .swiper-pagination .slash { width: 1px; height: 9px; background-color: #fff; display: block; transform: translateY(1px); }
.location_arrow .swiper-pagination .swiper-pagination-total { opacity: 0.5; }
.location_arrow .swiper-button-prev,
.location_arrow .swiper-button-next { width: 25px; height: 25px; position: relative; bottom: 0; left: 0; outline: none; margin: 0; padding: 0; }
.location_arrow .swiper-button-prev::after { content: ''; width: 7px; height: 7px; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border-left: 1px solid #fff; border-bottom: 1px solid #fff; transform: rotate(45deg); }
.location_arrow .swiper-button-next::after { content: ''; width: 7px; height: 7px; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border-right: 1px solid #fff; border-bottom: 1px solid #fff; transform: rotate(-45deg); }

.location_play_bt { width: 20px; height: 30px; position: relative; }
.location_play_bt>div { width: 100%; height: 100%; position: absolute; left: 0; bottom: 0; cursor: pointer; border-radius: 100%; }
.location_play_bt>div>img { position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; }
.swiper-button-play { display: none; }

.swiper_location_2 { width: 31px; height: 220px; z-index: 99; position: absolute; left: 2.5rem; top: 0; bottom: 0; margin: auto; z-index: 9; }
.swiper_location_2 .swiper-wrapper { display: flex; justify-content: space-between; flex-direction: column; gap: 0 10px; }
.swiper_location_2 .swiper-slide { width: 31px !important; height: 31px; cursor: pointer; border: none; overflow: hidden; box-sizing: border-box; border-radius: 100%; }
.swiper_location_2 .swiper-slide-thumb-active { opacity: 1; }
.swiper_location_2 .swiper-slide:before { content:''; width: 5px; height: 5px; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; background-color: #fff; z-index: 9; border-radius: 100%; opacity: 0.5; }
.swiper_location_2 .swiper-slide-thumb-active:after { content:''; width: 100%; height: 100%; position: absolute; left: 0; top: 0; border: 1px solid #fff; box-sizing: border-box; z-index: 9; border-radius: 100%; box-sizing: border-box; }

.swiper_location_2 .swiper-slide-thumb-active:before { opacity: 1; }


.location_wrap.on .location_bg { transform: scale(1); transition: 2.5s 0s; }
.location_wrap.on .location_tit_box h4  { transform: translate(0); opacity: 1; transition: 1.2s 0.2s; }
.location_wrap.on .location_tit_box h2  { transform: translate(0); opacity: 1; transition: 1.2s 0.2s; }
.location_wrap.on .location_tit_box span  { transform: translate(0); opacity: 1; transition: 1.2s 0.8s; }
.location_wrap.on .location_tit_box p  { transform: translate(0); opacity: 1; transition: 1.2s 0.8s; }
.location_wrap.on .location_tit  { transform: translate(0); opacity: 1; transition: 1.5s 0.2s; }



/*  */

.landmark_wrap { width: 100%; height: 100vh; position: relative; overflow: hidden;  background: url(/images/main/main_landmark_bg.jpg) center center no-repeat;  background-size:cover}


.landmark_left		{position:absolute; top:35%; left:10%; opacity: 0; transform: translateX(-3rem); font-size:42px; color:#000;  text-align:left; line-height:1.4}
.landmark_left		span		{display:block; color:#40301b; font-size:52px; font-weight:700; }
.landmark_left		strong {font-family: 'trajan'; color: #a29382; font-size: 42px; font-weight:300; display:block; padding-bottom:15px;}
.landmark_left	 b	{display:block}

.landmark_md		{position:absolute; top:30%; left:35%; opacity: 0; transform: translateY(3rem); width:705px; }
.landmark_md	 .lm_img_left	{width:345px; float:left; }
.landmark_md	 .lm_img_right	{width:345px; float:right}
.landmark_md	 img	{margin-bottom:10px}

.landmark_right	{position:absolute; top:30%; right:0; opacity: 0; transform: translateX(3rem); width:30%}
.landmark_right	ul	{width:300px}
.landmark_right	ul li	{color:#000; font-size:16px; font-weight:400; text-align:left; border-bottom:1px solid #ddd; padding:30px}
.landmark_right	ul li	span	{font-family:"futura-pt"; color:#40301b; font-size:24px; font-weight:400; display:block; padding-bottom:10px;}
.landmark_right	ul li	 b	{display:block}
.landmark_right	ul li:last-child	 	{border:none}

.landmark_wrap.on .landmark_left { opacity: 1; transform: translate(0); transition: 1.2s 0.2s; }
.landmark_wrap.on .landmark_md { opacity: 1; transform: translate(0); transition: 1.2s 0.6s; }
.landmark_wrap.on .landmark_right { opacity: 1; transform: translate(0); transition: 1.2s 1s; }


/*  */

.contact_wrap { width: 100%; height: 100%; position: relative; transition: 1.6s; display: flex; justify-content: flex-start; align-items: center; }
.contact_wrap::before { content: ''; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 1; background: url(/images/main/main_contact_bg.jpg) center bottom no-repeat; background-size: cover; }
.contact_wrap>div { text-align: left; position: relative; width: 90%;  margin: auto; z-index: 9; transform: translateY(3rem); }
.contact_wrap .sub_contact_bottom { opacity: 0; transform: translateY(3rem); }
.contact_tit { text-align: center; opacity: 0; transform: translateY(-3rem);  padding-bottom:30px}
.contact_tit h2 {  font-family: 'trajan'; color: #000; font-size: 58px; line-height: 100%; position: relative; font-weight: 700; white-space: nowrap; opacity: 1; transition: 0.8s; }

.contact_wrap.on .contact_tit { opacity: 1; transform: translate(0); transition: 1.2s 0.2s; }
.contact_wrap.on .sub_contact_bottom { opacity: 1; transform: translate(0); transition: 1.2s 0.6s; margin-top:40px}


#footer { overflow: visible; }

.footer { width: 100%; padding: 2.6875rem 2.5rem; box-sizing: border-box; z-index: 999; font-family: 'Pretendard'; background-color: #171717; color: #fff; position: relative; box-sizing: border-box; text-align: center; letter-spacing: -0.5px; display: flex; justify-content: space-between; align-items: flex-start; letter-spacing: 0;}
.footer:after { content:''; width: 100%; height: 100vh; position: absolute; left: 0; top: -100vh; display: none; }

.footer-wrap { font-size: 13px; width: 100%; /*height: 100%;*/ font-weight: 300; text-align: left; color: #fff; display: flex; justify-content: flex-start; align-items: flex-start; }

.footer_left ul { display: flex; justify-content: flex-start; align-items: flex-start;}
.footer_left ul li { display: flex; justify-content: flex-start; align-items: center; padding: 0 10px; position: relative; line-height: 100%; font-weight: 400; margin-top:20px;}
.footer_left ul li:first-child { padding-left : 0;  margin-top:0}
.footer_left ul li:first-child b { font-weight: 300;}
.footer_left ul li span { color: #fff; margin-right: 0.3rem; }
.footer_left ul li h4 { margin-right: 0.5rem; opacity: 0.4; font-weight: 300;  }


.footer>div h6 { font-size: 13px; font-weight: 300; color:#999; line-height: 140%; padding-top:20px;  }
.footer>div h6 strong	{font-weight:400; color:#ddd}

.footer_right {position:absolute; top:2.5rem; right:2.5rem;  font-size: 0.875rem; text-align: right; color: #fff;  width:280px !important; overflow:hidden; }
.footer_right		p {width:260px;}
.footer_right		p:nth-child(1)	{font-family:"futura-pt-bold"; font-size:30px; font-weight:600; letter-spacing:3px; text-align:center}
.footer_right		p:nth-child(1) span	{font-family:"Pretendard"; font-size:14px; font-weight:300; letter-spacing:0px}
.footer_right		p:nth-child(2)	{border:1px solid #ddd; width:260px; text-align:center; font-size:16px; border-radius:5px; line-height:35px}


.foot_mb_icon			{display:none}


.sub_top { position: relative; left: 0; top: 0; width:100%; height: 340px; z-index: 1; margin-top: 0px; overflow: hidden; background-color: #000; }
.sub_top_img { width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 1; animation: sub_top_img 3s 0s both; }
.sub_top_img.img01 { background: url(/images/common/sub_top01.jpg) center no-repeat; background-size: cover; } 
.sub_top_txt { width: 100%; position: absolute; left: 0; right: 0; top: 52%; margin: auto; z-index: 9; text-align: center; animation: sub_top_txt 1.2s 0.4s both; color: #3e515e; }
.sub_top_txt h3 { font-size: 2.65rem; line-height: 150%; font-weight: 700; letter-spacing: 0.5rem; font-family: 'trajan'; color: #000; animation: sub_top_txt2 1.2s 1s both; text-transform: uppercase; }
.sub_top_txt h3 b { font-weight: 600; }



@keyframes sub_img {
	from { background: url(/images/common/sub_top01.jpg) center bottom no-repeat; background-size: cover; }
	to{ }
}
@keyframes sub_top_img {
	from { transform: scale(1.2); }
	to{ }
}
@keyframes sub_top_txt {
	from {opacity: 0; transform: translateY(30px);  }
	to{ }
}
@keyframes sub_top_txt2 {
	from {  letter-spacing: 3rem;}
	to{ }
}

@keyframes sub_top_txt3 {
	from { opacity: 0; transform: translateY(2rem); }
	to{ }
}


.sub_mu{position:relative; bottom:0; z-index:9;  margin-top:0; border-top:1px solid #2a334e; border-bottom:1px solid #ddd}
.sub_mu ul{display:flex;  height:55px; width:1240px; margin:0 auto; background-color:#eee}
.sub_mu ul li{background:#444; line-height:55px; flex:1 1 0; margin:0 0.5px; text-align:center; }
.sub_mu ul li:last-child	{margin:0 1px 0 0.5px}
.sub_mu ul li a{display:block; background:#fff; color:#666; line-height:55px; font-weight:400; font-size:17px;  transition:all 0.8s cubic-bezier(0.250, 0.460, 0.450, 0.940); }
.sub_mu ul li a:hover{background:#2a334e; color:#fff; transition:all 0.8s cubic-bezier(0.250, 0.460, 0.450, 0.940); opacity: 0.9;}
.sub_mu ul li a.active{background:#2a334e; color:#fff; opacity:0.9;}


body.full #sub_container { width: 100%; }
#sub_container { width: 90%; position: relative; left: 50%; transform: translateX(-50%); background-color: #fff; text-align: center; }
#sub_box { position: relative; width: 100%; max-width: 1200px; margin: auto; text-align: center; padding-bottom: 10rem; padding-top: 0px; box-sizing: border-box; margin-top: 4.375rem; }
#sub_tit { width: 100%; max-width: 1200px; margin: auto; margin-top: 0; }
#sub_tit h2 { font-size: 2.75rem; color: #000; font-weight: 400; line-height: 100%; letter-spacing: -1px; text-transform: uppercase; }
.sub_line { width: 1px; height: 2.25rem; background-color: #484848; margin: auto; margin-top: 1.875rem; }

.sub_page { margin-top: 2.5rem; position: relative; }

.sub_page.img { width: 100%; max-width: 1200px; margin: auto; margin-top: 3.125rem; height: auto; position: relative; }
.sub_page.img img { width: 100%; max-width: 1200px; }
.sub_img { margin-bottom: 100px; }
.sub_page.img img.half { width: 50%; float: left; }


.bo_tbl table{border-top: 1px solid #333;width: 100%;table-layout: fixed; }
.bo_tbl table .col1{width:250px;}
.bo_tbl table tr th{padding: 25px 15px  25px 80px;border-bottom: 1px solid #e5e5e5;font-size: 17px; ont-weight: 600;color: #333;text-align: left; border-right:1px solid #ddd}
.bo_tbl table tr td{padding: 15px;border-bottom: 1px solid #e5e5e5;}
.bo_tbl table tr td > div{display: flex;gap: 30px 0;align-items: center;flex-wrap: wrap;}
.bo_tbl table tr td > div ~ div{margin-top:15px;}
.bo_tbl table tr td input[type="text"]{padding: 0 1.0417vw;border: none;outline: none;width:100%;max-width: 33%;height: 50px;background-color: #f0f0f0;font-size: 16px;color: #222;}
.bo_tbl table tr td #hp2,
.bo_tbl table tr td #hp3{max-width: 10vw;}
.bo_tbl table tr td select{padding: 0 1.0417vw;border: none;outline: none;width: 100%;max-width: 10vw;height: 2.6042vw;background: #f0f0f0 no-repeat 90% 52%;font-size: 16px;color: #222;-webkit-appearance: none;-moz-appearance: none;appearance: none;}
.bo_tbl table tr td select ~ select{margin-left: 0.5208vw;}
.bo_tbl table tr td em{margin: 0 0.5vw;font-size: 0.9vw;color: #222;}
.bo_tbl table tr td input:focus,
.bo_tbl table tr td select:focus{border: 1px solid #35343a;background: #fff;}
.bo_tbl table tr td span{display: flex;align-items:center;}
.bo_tbl table tr td span > select {max-width:150%!important; margin-left: 5px;} 
.bo_tbl table tr td label{margin-right:1.2vw;margin-left:0.3vw;font-size:16px;color:#222;}

.terms{margin-top: 3.125vw; }
.terms dl{margin-bottom: 1.3021vw;}
.terms dl dt{margin-bottom: 0.5208vw;font-size: 22px;font-weight: 600;color: #333;text-align:left}
.terms dl dd{font-size: 14px;line-height: 1.3em;color: #666;text-align:left}
.terms table{margin-bottom: 3.125vw;border-top: 1px solid #707070;width: 100%;table-layout: fixed;}
.terms table th{padding: 0.7813vw 0;border-bottom: 1px solid #d5d5d5;border-right: 1px solid #d5d5d5;vertical-align: middle;font-size: 14px;font-weight: 600;color: #666;}
.terms table td{padding: 0.7813vw 0 0.7813vw 1.5625vw;border-bottom: 1px solid #d5d5d5;font-size: 14px;line-height: 1.4em;color: #666; text-align:left}
.terms table.type2 th:last-child{border-right: none;}
.terms table.type2 td{padding: 0.7813vw 0;border-right: 1px solid #d5d5d5;text-align: center; vertical-align:middle}
.terms table.type2 td:last-child{border-right: none;}
.terms table.type3 td{padding: 1.0417vw 0;border-right: 1px solid #d5d5d5;text-align: center;}
.terms table.type3 th:last-child{border-right: none;}
.terms table.type3 td:last-child{border-right: none;}
.terms table.type3 td p{line-height:1.4em;}
.terms table.type3 td p ~ p{margin-top:0.2604vw;}
.agree > div{display: flex;align-items: center;justify-content: space-between;margin-bottom: 0.7813vw;padding: 1.5625vw 2.0833vw;background-color: #f5f5f5;}
.agree p{font-size: 16px;line-height: 1.2em;color: #333;}
.agree p span{font-size:14px;}
.agree .chk{display:flex;align-items:center;}
.agree .chk span{font-size: 0.7292vw;}
.agree ul{display: flex;}
.agree ul li ~ li{margin-left: 1.0417vw;}
.agree ul li label{display:flex;align-items:center;}
.agree ul li span{padding-left: 0.2604vw;font-size:0.8333vw;}
.btn_area{margin-top: 2.6042vw;}
.btn_area.cen{text-align:center;}
.btn_area ul{display: flex;align-items:center;justify-content:center;gap:0 0.5vw;}
.btn_area ul li.black button,
.btn_area ul li.black a{background-color: #353535;color: #fff;}
.btn_area ul li.black button:hover,
.btn_area ul li.black a:hover{border: 1px solid #353535;background-color: #fff;color: #353535;}
.btn_area ul li.white button,
.btn_area ul li.white a{border: 1px solid #353535;background-color: #fff;color: #353535;}
.btn_area ul li.white button:hover,
.btn_area ul li.white a:hover{background-color: #353535;color: #fff;}
.btn_area ul li button,
.btn_area ul li a{display: block;border: none;width: 150px;height:50px;font-size: 16px;font-weight: 600;transition: 0.3s;}


.planning_table		{margin-top:50px;}
.planning_table		table	{width:100%; border-top:2px solid #2b344f}
.planning_table		table th	{text-align:center; background-color:#efefef; padding:10px 0;  border-right:1px solid #ddd; border-bottom:1px solid #ddd; font-weight:bold; width:250px; vertical-align:middle}
.planning_table		table td		{text-align:center; border-bottom:1px solid #ddd; padding:10px 0; vertical-align:middle}
.planning_table		table td	 strong	{display:block; color:#2b344f}


.sub_map	{display: flex;align-items:center;justify-content:center;gap:0 1vw;}
.map_wrap   {max-width:520px; float:left; }
.map_wrap .map_img	{border:1px solid #382611; margin-bottom:30px }
.map_wrap .map_text	{margin-bottom:15px; overflow:hidden; padding:0 15px; font-size:18px;}
.map_wrap .map_text p:nth-child(1)	{float:left}
.map_wrap .map_text p:nth-child(2)	{float:right; text-align:right}


.ex		{background-color:#f5f5f5; text-align:left; font-size:12px; padding:15px 25px; color:#777; margin-top:15px;}


.cards{width:100%; max-width:1680px; margin:0 auto; padding: 0; margin-top:-10px; text-align:left; overflow: hidden}
.cards li{width:27.1%;float:left; border:1px solid #ddd; padding:2%;cursor: pointer; height:220px; margin:1%; padding-top:20px;}
.news_list:hover{background:#f4f4f4;}
.news_list h1{font-size:12px; color:#97714b; padding-bottom:5px;}
.news_list h2{font-size:15px; color:#111;}
.news_list h3{font-size:11px; color:#ff7e00;}
.news_list p{font-size:12px; color:#999; line-height:160%;}


.board_page { clear:both; text-align:center; margin:3px 0 0 0; }
.board_page a:link { color:#777; }


.pg_wrap {clear:both;margin:0 0 20px;padding:20px 0 0;text-align:center}
.pg {line}
.pg a {vertical-align:middle}
.pg a img{vertical-align:middle}
.pg_page, .pg_current {display:inline-block;padding:0 8px;height:25px;color:#000;letter-spacing:0;line-height:25px ;vertical-align:middle}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {background:#e4eaec;text-decoration:none}
.pg_start, .pg_prev {/* 이전 */}
.pg_end, .pg_next {/* 다음 */}
.pg_current {display:inline-block;margin:0 4px 0 0;background:#333;color:#fff;font-weight:normal}



.pagination {text-align:center; margin-top:50px;}
.pagination a {color:#111;display: inline-block;padding: 8px 14px;text-decoration: none; background-color: #eee; font-size:14px; margin:0 2px}
.pagination a.active {background-color: #1a2c51;color: white;}
.pagination a:hover:not(.active) {background-color: #eee;}


ul.tabs{overflow: hidden; width:100%; display: flex;     justify-content: center; border-top: #ddd 1px solid;    border-bottom: #ddd 1px solid;}
ul.tabs li{ text-align:center;  padding:0 30px; text-align:center; color:#666;  font-weight: 500; background-color:#fff; line-height:55px; font-size:18px;   cursor:pointer}
ul.tabs li.current{ color:#7ca128; border-bottom:2px solid #7ca128; cursor:pointer}


ul.movie_tabs{overflow: hidden; width:100%; display: flex;     justify-content: center; border-top: #ddd 1px solid;    border-bottom: #ddd 1px solid;}
ul.movie_tabs li{}
ul.movie_tabs li a	{display:inline-block; text-align:center;  padding:0 50px; text-align:center; color:#666;  font-weight: 500; background-color:#fff; line-height:55px; font-size:18px;   cursor:pointer}
ul.movie_tabs li.current a{ color:#7ca128; border-bottom:2px solid #7ca128; cursor:pointer}


.tab-content {  display: none;  padding-top:50px}
.tab-content.current{  display: inherit;}


.unitvideo {    padding-top: 40px;    }

@media all and (max-width: 2000px) { 

	.landmark_left		{position:absolute; top:35%; left:5%; opacity: 0; transform: translateX(-3rem); font-size:42px; color:#000;  text-align:left; line-height:1.4}
	.landmark_md		{position:absolute; top:30%; left:30%; opacity: 0; transform: translateY(3rem); width:705px; }
	.landmark_right	{position:absolute; top:30%; right:0; opacity: 0; transform: translateX(3rem); width:30%}

}


@media all and (max-width: 1940px) { 

	.location_map  .location_map_box			{width:80%;  }
	.location_right		{position:absolute; top:17%; right:0; text-align:left; width:38%; opacity: 0; transform: translateY(-3rem);  z-index:3}
	.location_text		{position:absolute; top:40%; right:10%; text-align:left; opacity: 0; transform: translatex(-3rem);  z-index:3}


}


@media all and (max-width: 1740px) { 

	.landmark_wrap { width: 100%; height: 100vh; position: relative; overflow: hidden;  background: url(/images/main/main_landmark_bg.jpg) center center no-repeat;  background-size:cover}


	.landmark_left		{position:absolute; top:35%; left:5%; opacity: 0; transform: translateX(-3rem); font-size:32px; color:#000;  text-align:left; line-height:1.4}
	.landmark_left		span		{display:block; color:#40301b; font-size:42px; font-weight:700; }
	.landmark_left		strong {font-family: 'trajan'; color: #a29382; font-size: 36px; font-weight:300; display:block; padding-bottom:15px;}
	.landmark_left	 b	{display:block}

	.landmark_md		{position:absolute; top:30%; left:30%; opacity: 0; transform: translateY(3rem); width:510px; }
	.landmark_md	 .lm_img_left	{width:250px; float:left; }
	.landmark_md	 .lm_img_right	{width:250px; float:right}
	.landmark_md	 img	{margin-bottom:10px; width:250px;}

	.landmark_right	{position:absolute; top:25%; right:0; opacity: 0; transform: translateX(3rem); width:30%}
	.landmark_right	ul	{width:250px}
	.landmark_right	ul li	{color:#000; font-size:16px; font-weight:400; text-align:left; border-bottom:1px solid #ddd; padding:30px 10px}
	.landmark_right	ul li	span	{font-family:"futura-pt"; color:#40301b; font-size:24px; font-weight:400; display:block; padding-bottom:10px;}



}



.sub_gongo_wrap { width: 100%; max-width: 1200px; margin: auto; height: auto; position: relative; color: #000; }

.sub_gongo_top { width: 100%; height: 494px; display: flex; justify-content: space-between; align-items: center; overflow: hidden; }

.sub_gongo_img_box { width: 57.545%; height: 100%; position: relative; overflow: hidden; }
.sub_gongo_img_box>div { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: url("/images/sub/gonggo_img.jpg") center center no-repeat; background-size: cover; /*transform: scale(1.35);*/ transform-origin: center bottom; }

.sub_gongo_txt_box { width: 40%; height: 100%; display: flex; flex-direction: column; justify-content: space-between; text-align: left; }
.sub_gongo_txt_box>div { width: 100%; height: 50%; border: 1px solid #b2b2b2; box-sizing: border-box; margin-bottom: 5%; position: relative; }
.sub_gongo_txt_box>div>a { width: 100%; height: 100%; display: block; box-sizing: border-box; padding: 50px 30px 45px; }
.sub_gongo_txt_box>div:nth-child(2) { margin-bottom: 0; }
.sub_gongo_logo { width: 16rem; }
.sub_gongo_txt_box h2 { font-size: 28px; line-height: 100%; margin-top: 10px; margin-left: -2px; }
.sub_gongo_txt_box p { font-size: 14px; line-height: 167%; opacity: 0.7; margin-top: 25px; }

.sub_gongo_bt { width: 48px; height: 48px; background-color: #e3e3e3; position: absolute; right: 35px; bottom: 35px; border-radius: 100%; }
.sub_gongo_bt>div { width: 30px; height: 17px; position: absolute; left: -10px; top: 0; bottom: 0; margin: auto; transition: 0.4s; }
.sub_gongo_bt>div:before { content:''; width: 100%; height: 1px; background-color: #000; position: absolute; left: 0; top: 0; bottom: 0; margin: auto; }
.sub_gongo_bt>div:after { content:''; width: 10px; height: 10px; border-right: 1px solid #000; border-bottom: 1px solid #000; transform: rotate(-45deg); transform-origin: center; position: absolute; right: 0; top: 0; bottom: 0; margin: auto; }

.sub_gongo_notice { width: 100%; display: flex; justify-content: space-between; align-items: center; margin-top: 30px; }
.sub_gongo_notice a { width: 13%; display: block; }
.sub_gongo_notice img:nth-child(1) { width: 59%; }
.sub_gongo_notice a img:nth-child(1) { width: 100%; }
.sub_gongo_notice img:nth-child(3) { width: 28%; }

.sub_gongo_txt_box>div>a:before { content:''; width: 0; height: 1px; background-color: #000; position: absolute; left: -1px; top: -1px; transition: 0.4s; }
.sub_gongo_txt_box>div>a:after { content:''; width: 1px; height: 0; background-color: #000; position: absolute; right: -1px; top: -1px; transition: 0.4s; }
.sub_gongo_txt_box>div:before { content:''; width: 0; height: 1px; background-color: #000; position: absolute; right: -1px; bottom: -1px; transition: 0.4s; }
.sub_gongo_txt_box>div:after { content:''; width: 1px; height: 0; background-color: #000; position: absolute; left: -1px; bottom: -1px; transition: 0.4s; }

.sub_gongo_txt_box>div:hover>a:before { width: calc(100% + 2px); }
.sub_gongo_txt_box>div:hover>a:after { height: calc(100% + 2px); }
.sub_gongo_txt_box>div:hover:before { width: calc(100% + 2px); }
.sub_gongo_txt_box>div:hover:after { height: calc(100% + 2px); }

.sub_gongo_txt_box>div:hover .sub_gongo_bt>div { left: -3px; }
