/* video */
.sub_video {height:100dvh; height:100vh; position:relative; }
.sub_video .sub_video_obj {width:100%; height:100dvh; height:100vh;}
.sub_video video {width:100%; height:100%; object-fit:cover;}

.sub_video .sub_video_text_boxbg {display:flex; justify-content:center; align-items:end; position:absolute; top:0; left:0; width:100%; height:100vh; text-align:center; background:rgba(0,0,0,0.7);}
.sub_video .sub_video_text {display:flex; justify-content:center; align-items:end; position:absolute; top:30%; left:0; width:100%; text-align:center;}
.sub_video .sub_video_text div {width:100%; text-align:center;}
.sub_video .sub_video_text div p {color:#f1f1f5; font-size:4em; font-family:'Gmarket Sans B', sans-serif; line-height:1.3; text-shadow: 1px 1px 1px black; margin-bottom:30px;}
.sub_video .sub_video_text div span {display:block; color:#fff; font-size:1.5em;}
.sub_video_text_bg {background:rgba(0,0,0,0.7);}

/* sub 공통 */
#sub_con {width:100%; overflow:hidden}
#sub_con article {max-width:1660px; margin:0 auto; padding:150px 30px;}
.sub_inner {width:100%; }

#sub_board_top {width:100%; overflow:hidden}
#sub_board_top article {height:400px; padding:0 30px; position:relative;}
.sub_board_top_inner {width:100%; text-align:center; padding:200px 0 50px 0;}
.sub_board_top_inner strong {display:block; font-weight:normal; font-size:3.5em; font-family:'Gmarket Sans B', sans-serif; line-height:1.3; margin-bottom:30px;}
.sub_board_top_inner p {font-size:1.5em;}

#sub_board_con {width:100%; overflow:hidden}
#sub_board_con article {max-width:1260px; margin:0 auto; padding:0 30px 150px 30px; min-height:500px;}

/* about */
.about_a {width:100%; position:relative; padding-bottom:100px;}
.about_a .about_a_logo {position:absolute; top:0; left:0; }
.about_a .about_a_logo img {width:100%; height:auto; max-width:250px;}
.about_a .about_a_txt {padding-left:350px;}
.about_a_txt strong {display:block; font-weight:normal; margin-bottom:30px; font-size:2em; font-family:'Gmarket Sans B', sans-serif; line-height:1.3; color:#00477b;}
.about_a_txt  p {font-size:1.25em; line-height:1.6; word-break:keep-all;}

.about_b {width:100%;}
.location_title {color:#000; font-size:3em; font-family: 'Gmarket Sans B', sans-serif;}
.location_con {width:100%; margin-top:50px;}
.location_con .location_txt {font-size:1.25em; color:#222;}
.location_con .location_txt strong {display:inline-block; font-weight:normal; padding-right:15px; font-weight:900;}
.location_con .location_txt span {padding:0 15px;}
.location_con .location_map {width:100%; margin-top:20px;}
.root_daum_roughmap .cont {display:none;}

/* service */
.sub_service_a {width:100%; margin-bottom:150px;}
.sub_service_b {width:100%;}
.sub_service_title {margin-bottom:10px; font-size:2em; font-family:'Gmarket Sans M', sans-serif;}
.sub_service_title strong {font-family:'Gmarket Sans B', sans-serif; font-weight:normal; color:#00ccff}
.sub_service_con {width:100%; position:relative;}
.sub_service_con .sub_service_con_le {position:absolute; top:0; left:0; width:500px; border-top:1px solid #000; }
.sub_service_con .sub_service_con_ri {margin-left:550px; border-top:1px solid #ccc;}
.sub_service_inner {padding:50px 0;}
.sub_service_inner span {display:block; font-size:1.5em; font-family:'Gmarket Sans L', sans-serif;}
.sub_service_inner strong {display:block; font-weight:normal; font-size:2.5em; font-family:'Gmarket Sans B', sans-serif;}
.sub_service_inner p {font-size:1.25em; line-height:1.6; color:#333;}

.sub_service_ul {width:100%; display:flex; flex-wrap:wrap; justify-content:left; gap:30px; margin-bottom:50px;}
.sub_service_ul > li {width:calc((100% - 90px) / 4); position:relative; text-align:center;}
.sub_service_ul li::after {content:""; display:block; padding-bottom:100%;}
.sub_service_ul li .sub_service_box {position:absolute; width:100%; height:100%;}

.sub_service_box {position: relative;}
.sub_service_box:after {content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(120deg, #00ccff , #66ffff, #00477b); background-size: 300% 300%; clip-path: polygon(0% 100%, 1px 100%, 1px 1px, calc(100% - 1px) 1px, calc(100% - 1px) calc(100% - 1px), 1px calc(100% - 1px), 1px 100%, 100% 100%, 100% 0%, 0% 0%);}
.sub_service_box.in:after {animation: frame-enter 1s forwards ease-in-out reverse, gradient-animation 4s ease-in-out infinite;}

/* motion */
@keyframes gradient-animation {
  0% {background-position: 15% 0%;}
  50% {background-position: 85% 100%;}
  100% {background-position: 15% 0%;}
}

@keyframes frame-enter {
  0% {clip-path: polygon(0% 100%, 1px 100%, 1px 1px, calc(100% - 1px) 1px, calc(100% - 1px) calc(100% - 1px), 1px calc(100% - 1px), 1px 100%, 100% 100%, 100% 0%, 0% 0%);}
  25% {clip-path: polygon(0% 100%, 1px 100%, 1px 1px, calc(100% - 1px) 1px, calc(100% - 1px) calc(100% - 1px), calc(100% - 1px) calc(100% - 1px), calc(100% - 1px) 100%, 100% 100%, 100% 0%, 0% 0%);}
  50% {clip-path: polygon(0% 100%, 1px 100%, 1px 1px, calc(100% - 1px) 1px, calc(100% - 1px) 1px, calc(100% - 1px) 1px, calc(100% - 1px) 1px, calc(100% - 1px) 1px, 100% 0%, 0% 0%);}
  75% {-webkit-clip-path: polygon(0% 100%, 1px 100%, 1px 1px, 1px 1px, 1px 1px, 1px 1px, 1px 1px, 1px 1px, 1px 0%, 0% 0%); }
  100% {-webkit-clip-path: polygon(0% 100%, 1px 100%, 1px 100%, 1px 100%, 1px 100%, 1px 100%, 1px 100%, 1px 100%, 1px 100%, 0% 100%);}
}

.sub_service_box span {display:block; padding-top:25%;}
.sub_service_box span img {max-width:50px; height:auto;}
.sub_service_box p {margin:15px 0 10px 0; font-size:1.1em;}
.sub_service_box strong {font-size:1.25em; font-weight:normal; font-weight:700;}

.sub_service_bg {width:100%; height:300px; background-size:cover !important; border-radius:50px;}
#sub_service_bg01 {background:url("../image/sub/service01.jpg") no-repeat center;}
#sub_service_bg02 {background:url("../image/sub/service02.jpg") no-repeat center;}
#sub_service_bg03 {background:url("../image/sub/service03.jpg") no-repeat center;}
#sub_service_bg04 {background:url("../image/sub/service04.jpg") no-repeat center;}

/* portfolio */
.sub_portfolio_ul {width:100%; margin-bottom:150px; padding-bottom:150px; border-bottom:3px dotted #eee;}
.sub_portfolio_ul ul {width:100%; display:flex; flex-wrap:wrap; justify-content:center; gap:100px;}
.sub_portfolio_ul ul > li {width:calc((100% - 100px) / 2); position:relative;}
.sub_portfolio_ul ul li img {width:100%; height:auto;}
.sub_portfolio_box {margin-top:50px;}
.sub_portfolio_box span {display:block; margin-bottom:50px;}
.sub_portfolio_box span img {max-width:200px; height:auto;}
.sub_portfolio_box strong {display:block; font-size:3em; font-family: 'Gmarket Sans B', sans-serif; line-height:1; font-weight:normal;}
.sub_portfolio_box p {font-size:1.15em; font-weight:300; margin:10px 0 50px 0; color:#666;}
.sub_portfolio_box p em {font-style:normal; padding:10px;}
.sub_portfolio_box a {display:inline-block; padding:10px 50px; border:1px solid #000; border-radius:30px; color:#000;}
.sub_portfolio_left {text-align:left;}
.sub_portfolio_right {text-align:right;}
#sub_portfolio_ul_monon {margin:0 !important; padding:0 !important; border:0 !important;}

/* notice */
.icoNew {padding:3px 8px; background-color:#10487a; color:#ffffff; font-size:0.6em; border-radius:5px; margin-left:10px;}

/* privacy */
.sub_privacy_title {width:100%; text-align:center; font-size:3em; font-family:'Gmarket Sans M', sans-serif; position:absolute; bottom:25%;}
.sub_privacy {width:100%; font-size:1em;}
.sub_privacy strong {display:block; color:#055aaf; font-size:1.1em; font-weight:normal;}
.sub_privacy p {line-height:1.7;}
.sub_privacy span {display:block; color:#2b81d7;}
.privacy_l01 {position:relative; padding-left:15px;}
.privacy_l01:after {content:"・"; display:block; position:absolute; left:0; top:0;}
.privacy_l02 {position:relative; padding-left:20px;}
.privacy_l02:after {content:"-"; font-size:0.75em; display:block; position:absolute; left:7px; top:3px;}

.sub_privacy .mb10 {margin-bottom:10px;}
.sub_privacy .mb20 {margin-bottom:20px;}
.sub_privacy .mb30 {margin-bottom:30px;}

/* 공지사항, 문의 */
#sub_board  {width:100%; overflow:hidden}
#sub_board article {width:1200px; margin:0 auto; padding:180px 30px 150px 30px;}
.sub_board_top {text-align:center; margin-bottom:100px;}
.sub_board_top strong {display:block; font-size:3em; font-family: 'Gmarket Sans B', sans-serif; font-weight:normal; margin-bottom:10px;}
.sub_board_top p {font-size:1.5em; font-weight:300;}

.sub_inquiry_top {padding:20px 30px; background:#f2f2f2; border-radius:10px; margin-bottom:50px;}

.counsel_form input {border:1px solid #ddd; padding:15px; color:#000; font-weight:400; border-radius:10px; margin-top:10px;}
.counsel_form input + input {}
.counsel_form input[type="checkbox"] { display:none;}
.counsel_form input[type="checkbox"] + label {cursor:pointer; line-height:26px; font-weight:500;}
.counsel_form input[type="checkbox"] + label span { display:inline-block; width:26px; height:26px; margin-right:15px; vertical-align:middle;border:2px solid #ddd; border-radius:5px;}
.counsel_form input[type="checkbox"]:checked + label span {background:#055aaf url("../image/common/check.png") no-repeat center; border:none;}
.counsel_form .wd100 {width:100%;}
.counsel_form .wd50 {width:50%;}
.counsel_form select {display:block; border:1px solid #ddd; padding:15px; font-size:1em; color:#000; font-weight:400; border-radius:10px; margin-top:10px;}
.counsel_form textarea {width:100%; border:1px solid #ddd; border-radius:10px; padding:10px; height:200px; margin-top:10px;}

.counsel_form {position:relative; width:100%;}
.counsel_form .counsel_box {position:relative;}
.counsel_form .counsel_box  dl {padding-bottom:80px;}
.counsel_form .counsel_box  dl > dt {padding-bottom:10px; font-weight:500;}
.counsel_form .counsel_box  dl > dt > span {font-size:1.25em; color:#1479dd; font-family:'Gmarket Sans B', sans-serif;}
.counsel_form .counsel_box  dl > dt > p {font-size:1.5em; }
.counsel_form .counsel_box  dl > dt > p > em {font-style:normal; color:#666; font-size:0.75em;}
.counsel_form .counsel_box  dl > dt > p > i {display:inline-block;color:#055aaf;}
.counsel_form .counsel_box  dl > dd > ul {display:flex; flex-wrap:wrap;}
.counsel_form .counsel_box  dl > dd > ul li {width:25%; padding-top:10px; font-family:'SUIT-Regular', sans-serif;}

.counsel_form .counse_agree {padding-bottom:50px; font-family:'SUIT-Regular', sans-serif; font-weight:500;}
.counsel_form .counse_agree a {color:#055aaf; margin-left:10px;}
.counsel_form .counse_agree input[type="checkbox"] + label {font-size:1em;}
.counsel_form .counse_agree input[type="checkbox"] + label span {background-color:#ddd;}
.counsel_form .counse_agree input[type="checkbox"]:checked + label span {background-color:#055aaf;}
.counsel_form .counse_agree button {border:0; background:#fff;}

.radio-toolbar01 {margin:10px 0 20px 0;}
.radio-toolbar01 input[type="radio"] {display: none;}
.radio-toolbar01 label {display:inline-block; background:#000; padding: 0 30px; margin:0 10px 0 0; min-width:140px; text-align:center; height:50px; line-height:50px; cursor:pointer; color:#fff; border-radius:10px;}
.radio-toolbar01 input[type="radio"]:checked+label {background-color: #1a85f0; color:#fff;}

.counsel_submit {width:100%; border:2px solid #10487a; background:#fff; color:#10487a; text-align:center; padding:20px 0; border-radius:50px; font-size:1.5em; line-height:1; font-weight:500;}
.counsel_submit:hover {background:#10487a; color:#fff;-moz-transition:all 0.3s;
-webkit-transition:all 0.3s;
-o-transition:all 0.3s;
-ms-transition:all 0.3s;}

.addBtn {display: inline-block; background: #000; padding: 0 30px; margin: 10px 10px 0 0; height: 50px; line-height: 50px; cursor: pointer; color: #fff;border-radius: 10px;}
.addBtn:hover {background: #1a85f0;}