@charset "UTF-8";

/* --------------------------------------------------------------------------------------------
    ## COMMON
-------------------------------------------------------------------------------------------- */
html,
body {
    height: 100%;
}
body,
input,
select,
textarea,
form,
button {
    color: #262626;
    font-family: 'SCoreDream', -apple-system, BlinkMacSystemFont, 'Malgun Gothic', '맑은 고딕', Helvetica, 'Apple SD Gothic Neo', Dotum, '돋움', sans-serif;
}
a:hover {
    color: #182928;
}
.inner {
    position: relative;
    width: 98%;
    max-width: 1440px;
    margin-left:  auto;
    margin-right: auto;
}
.full-wide {
    position: relative;
    width: 100%;
    max-width: 100%;
}
.mblock {
    display: block;
}
.btn-top {
    position: fixed;
    width: 56px;
    height: 56px;
    right: 30px;
    bottom: 150px;
    overflow: hidden;
    z-index: 98;
    color: #fff;
    text-align: center;
    line-height: 0.8;
    background: #3f41aa;
    border-radius: 50%;
    transition: color 250ms ease, background 250ms ease;
}
.btn-top:hover {
    color: #fff;
    background: #182928;
}
.btn-top p {
    margin-left: 3px;
    font-size: 13px;
    letter-spacing: 0.035rem;
}


/* --------------------------------------------------------------------------------------------
    ## HEADER
-------------------------------------------------------------------------------------------- */
#header {
    position: absolute;
    width: 100%;
    height: 200px;
    top: 0;
    left: 0;
    z-index: 97;
}
#header .inner {
    max-width: 1600px;
    height: 100%;
}
#header .inner h1 {
    position: absolute;
    width: 340px;
    height: 48px;
    top: 50%;
    left: 0;
    z-index: 11;
    transform: translateY(-50%);
}
#header .inner h1 a {
    display: block;
    width: 100%;
    height: 100%;
    background-image: url('../img/common/logo.png');
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
#header #menu {
    position: relative;
    width: 100%;
    height: 100%;
    margin-right: 0;
    z-index: 10;
}
#header .gnbline {
    position: absolute;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    top: 139px;
    left: 0;
    overflow: hidden;
    line-height: 0;
    background: #fff;
    -webkit-transition: height 250ms;
       -moz-transition: height 250ms;
            transition: height 250ms;
}
.main #header .gnbline {
    background: #ebf1f4;
}
.openmenu #header .gnbline {
    height: 180px;
}
#header #menu #gnb {
    width: 100%;
    height: 100%;
    padding-top: 65px;
}
#header #menu .gnb {
    display: flex;
    width: 68%;
    margin-left: 32%;
    flex-wrap: nowrap;
    align-items: center;
}
#header #menu #gnb .dep1 {
    position: relative;
    width: 100%;
    height: 100%;
    margin-left: 10px;
}
#header #menu #gnb a {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    text-align: center;
    -webkit-transition: color 250ms ease, background 250ms ease;
       -moz-transition: color 250ms ease, background 250ms ease;
            transition: color 250ms ease, background 250ms ease;
}
#header #menu #gnb h3 {
    margin-bottom: 20px;
}
#header #menu #gnb h3 a {
    position: relative;
    display: block;
    width: 100%;
    padding: 20px 25px;
    color: #2d2d2d;
    font-size: 18px;
    background: transparent;
    border-radius: 35px;
    text-transform: uppercase;
    -webkit-transition: color 250ms ease, background 250ms ease;
       -moz-transition: color 250ms ease, background 250ms ease;
            transition: color 250ms ease, background 250ms ease;
}
#header #menu #gnb .dep1:hover h3 a,
#header #menu #gnb .dep1 h3 a:hover,
#header #menu #gnb .dep1.current h3 a {
    color: #fff;
    background: #3f41aa;
}
#header #menu #gnb h3 strong {
    font-weight: 500;
}
#header #menu #gnb .dep1 h3 .toggle_gnb {
    display: none;
}
#header #menu #gnb .dep1 .dep2 {
    position: relative;
    display: none;
    width: 100%;
    height: 160px;
    overflow: hidden;
    -webkit-transition: background 250ms;
       -moz-transition: background 250ms;
            transition: background 250ms;
}
#header #menu #gnb li li {
    width: 100%;
    float: none;
}
#header #menu #gnb li li a {
    display: block;
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 0;
    color: #2d2d2d;
    font-size: 16px;
    font-weight: 400;
    line-height: 40px;
}
#header #menu #gnb li li.active a,
#header #menu #gnb li li.on a {
}
#header #menu #gnb li li a:hover,
#header #menu #gnb li li.active a,
#header #menu #gnb li li.on a {
    color: #3f41aa;
    /* background: #b49b84; */
}



/* --------------------------------------------------------
    -- HEADER MOBILE - MENU
-------------------------------------------------------- */
/* MOBILE MENU TOGGLE BTN */
#header #btn_m_toggle {
    position: fixed;
    width: 23px;
    height: 20px;
    top: -60px;
    left: 20px;
    z-index: 999;
    cursor: pointer;
    opacity: 0;
    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transition: top 300ms ease, left 300ms ease, opacity 300ms ease;
       -moz-transition: top 300ms ease, left 300ms ease, opacity 300ms ease;
            transition: top 300ms ease, left 300ms ease, opacity 300ms ease;
}
#header #btn_m_toggle .toggle_group {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}
#header #btn_m_toggle .toggle_group span {
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background: #333;
    border-radius: 9px;
    left: 0;
    -webkit-transform: rotate(0deg);
       -moz-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transition: -webkit-transform 250ms ease;
       -moz-transition:    -moz-transform 250ms ease;
            transition:         transform 250ms ease;
}
#header #btn_m_toggle .toggle_group span:nth-child(1) { top:  1px; }
#header #btn_m_toggle .toggle_group span:nth-child(2) { top: 10px; }
#header #btn_m_toggle .toggle_group span:nth-child(3) { top: 19px; }
.open_mobilemenu #header #btn_m_toggle { left: 300px; }
.open_mobilemenu #header #btn_m_toggle .toggle_group span { background: #fff; }
.open_mobilemenu #header #btn_m_toggle .toggle_group span:nth-child(1) {
    top: 10px;
    -webkit-transform: rotate(135deg);
       -moz-transform: rotate(135deg);
            transform: rotate(135deg);
}
.open_mobilemenu #header #btn_m_toggle .toggle_group span:nth-child(2) {
    opacity: 0;
    left: -30px;
}
.open_mobilemenu #header #btn_m_toggle .toggle_group span:nth-child(3) {
    top: 10px;
    -webkit-transform: rotate(-135deg);
       -moz-transform: rotate(-135deg);
            transform: rotate(-135deg);
}

/* MOBILE HEADER SIDEBAR AREA */
#mobile_menu {
    position: fixed;
    width: 280px;
    height: 100%;
    top: 0;
    left: -101%;
    z-index: 999;
    background: #fff;
    border-right: 1px solid #1f1f1f;
    -webkit-transition: left 300ms ease;
       -moz-transition: left 300ms ease;
            transition: left 300ms ease;
}
.open_mobilemenu #mobile_menu {
    left: 0;
}
#mobile_menu h1 {
    position: relative;
    width: 100%;
    height: 60px;
    border-bottom: 1px solid #dcdcdc;
}
#mobile_menu h1 a {
    position: absolute;
    display: block;
    width: 212px;
    height: 30px;
    margin: -15px 0 0 -106px;
    top: 50%;
    left: 50%;
    text-indent: -9999px;
    background-image: url('../img/common/res_logo.png');
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
#mobile_menu .msgroup {
    position: relative;
    width: 100%;
    height: 100%;
    padding-bottom: 100px;
    overflow: hidden;
    overflow-y: scroll;
}
.admin #mobile_menu .msgroup {
    padding-bottom: 140px;
}
#mobile_menu .colsgroup li {
    position: relative;
    width: 50%;
    float: left;
    text-align: center;
}
#mobile_menu .colsgroup li:first-child::before {
    position: absolute;
    content: '';
    width: 1px;
    height: 12px;
    margin-top: -6px;
    top: 50%;
    right: 0;
    background: #454545;
}
#mobile_menu .colsgroup li.full_width {
    width: 100%;
    clear: left;
    background: #40b9d7;
}
#mobile_menu .colsgroup li a {
    display: block;
    padding: 0 5px;
    color: #303030;
    line-height: 39px;
    -webkit-transition: color 250ms ease, background 250ms ease;
       -moz-transition: color 250ms ease, background 250ms ease;
            transition: color 250ms ease, background 250ms ease;
}
#mobile_menu .colsgroup li.full_width a {

}
#mobile_menu .colsgroup li a:hover {
    color: #b49b84;
}

/* MOBILE LOGED AREA */
#header .mobile_loged {
    color: #fff;
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
}
#header .mobile_loged .mob_loged {
    display: none;
}
#header .mobile_loged .mob_loged.on {
    display: block;
}
#header .mobile_loged .loged_section {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    height: 100%;
    padding: 0 10px;
    color: #fff;
    -webkit-box-align: center;
       -moz-box-align: center;
       -ms-flex-align: center;
    -webkit-align-items: center;
            align-items: center;
}
#header .mobile_loged .loged_icon span {
    position: absolute;
    width: 100%;
    top: -2px;
    font-size: 24px;
    text-align: center;
}
#header .mobile_loged p {
    font-size: 13px;
}

/* MOBILE MENU */
#mobile_menu #mgnb li a {
    display: block;
    padding: 10px 0 10px 15px;
    color: #8f8f8f;
    font-size: 14px;
    background: #fcfcfc;
    border-bottom: 1px solid #dcdcdc;
    -webkit-transition: color 300ms ease, background 300ms ease;
       -moz-transition: color 300ms ease, background 300ms ease;
            transition: color 300ms ease, background 300ms ease;
}
#mobile_menu #mgnb h3 {
    position: relative;
}
#mobile_menu #mgnb h3 a {
    padding: 10px;
    color: #3f3f3f;
    font-size: 15px;
    background: #fafafa;
}
#mobile_menu #mgnb li a:hover,
#mobile_menu #mgnb li.on h3 a,
#mobile_menu #mgnb li .on a {
    color: #000;
}
#mobile_menu #mgnb h3 a.on,
#mobile_menu #mgnb .dep1:hover h3 a,
#mobile_menu #mgnb .dep1.openlist h3 a {
    color: #fff;
    background: #182928;
}
#mobile_menu #mgnb h3 strong {
    font-weight: normal;
}
#mobile_menu #mgnb h3 a p span {
    position: relative;
    display: inline-block;
    margin-left: 6px;
    padding-left: 10px;
    font-size: 13px;
}
#mobile_menu #mgnb h3 a p span:before {
    position: absolute;
    display: block;
    content: '';
    width: 1px;
    height: 11px;
    left: 0;
    bottom: 3px;
    background: #3f3f3f;
    -webkit-transition: background 300ms ease;
       -moz-transition: background 300ms ease;
            transition: background 300ms ease;
}
#mobile_menu #mgnb li a:hover p span:before,
#mobile_menu #mgnb li.on h3 a p span:before,
#mobile_menu #mgnb li .on a p span:before {
    background: #b49b84;
}
#mobile_menu #mgnb h3 a.on span:before,
#mobile_menu #mgnb .dep1:hover h3 a span:before,
#mobile_menu #mgnb .dep1.openlist h3 a span:before {
    background: #fff;
}

#mobile_menu .toggle_gnb {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 10;
    cursor: pointer;
}
#mobile_menu .btn_gnb_arrow {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    text-indent: -9999px;
}
#mobile_menu .btn_gnb_arrow::before {
    position: absolute;
    display: block;
    content: '';
    height: 43px;
    top: 0;
    right: 15px;
    color: #8f8f8f;
    font-size: 24px;
    font-family: 'Ionicons';
    text-align: center;
    text-indent: 0;
    line-height: 43px;
    -webkit-transition: color 300ms ease, background 300ms ease, -webkit-transform 300ms ease;
       -moz-transition: color 300ms ease, background 300ms ease,    -moz-transform 300ms ease;
            transition: color 300ms ease, background 300ms ease,         transform 300ms ease;
}
#mobile_menu .dep1:hover .btn_gnb_arrow::before {
    color: #fff;
}
#mobile_menu .dep1.openlist .btn_gnb_arrow::before {
    color: #fff;
    -webkit-transform: rotate(180deg);
       -moz-transform: rotate(180deg);
            transform: rotate(180deg);
}
#mobile_menu #mgnb h3 a.on + .toggle_gnb .btn_gnb_arrow::before {
    color: #fff;
}
#mobile_menu #mgnb .dep2 {
    display: none;
}
#mobile_menu #mgnb .dep2 li a {
    position: relative;
    display: block;
    padding-left: 25px;
}
#mobile_menu #mgnb .dep2 li.active a {
    color: #b49b84;
}
#mobile_menu #mgnb .dep2 li a::before {
    position: absolute;
    display: block;
    content: '';
    width: 4px;
    height: 4px;
    margin-top: -2px;
    top: 50%;
    left: 15px;
    background: #8f8f8f;
    border-radius: 50%;
    -webkit-transition: background 250ms ease;
       -moz-transition: background 250ms ease;
            transition: background 250ms ease;
}
#mobile_menu #mgnb .dep2 li.active a::before {
    background: #b49b84;
}
#mobile_menu #mgnb .dep2 li a:hover::before {
    background: #b49b84;
}
.mobile_menu_overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 998;
    background: rgba(0,0,0,0.9);
}
#header .dep1 a i {
    display: none;
}



/* --------------------------------------------------------------------------------------------
    ## FOOTER
-------------------------------------------------------------------------------------------- */
#footer {
    width: 100%;
    min-height: 543px;
    margin-top: 200px;
    padding: 150px 0;
    color: #fff;
    background-image: url('../img/common/footer-bg.jpg');
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
#footer a {
    color: #fff;
}
#footer .ftel a {
    color: #89cded;
    font-size: 34px;
    font-weight: 700;
}
#footer .inner {
    max-width: 1600px;
}
#footer .flex-group {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}
#footer .list-group {
    position: relative;
    width: 32%;
}
#footer .flogo {
    width: 310px;
    height: 44px;
    margin-bottom: 50px;
    background-image: url('../img/common/flogo.png');
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
#footer .finfo {
    margin-bottom: 40px;
    font-size: 18px;
}
#footer .f-address {
    margin-bottom: 15px;
}
#footer .f-menu li {
    margin-top: 40px;
    padding-left: 10%;
    font-size: 20px;
    font-weight: 300;
}
#footer .f-menu li:first-child {
    margin-top: 0;
}
#footer .f-c-title {
    margin-bottom: 35px;
    font-size: 32px;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    color:#fff;
}
#footer .f-c-cont {
    display: flex;
    flex-wrap: wrap;
}
#footer .f-c-name,
#footer .f-c-email {
    width: 49%;
}
#footer .f-c-name {
    margin-right: 2%;
}
#footer .f-c-memo {
    width: 100%;
    margin: 2% auto;
}
#footer .f-c-captcha {
    /*background:#fff;*/
    width: 100%;
    margin-bottom:30px;
    display:flex;
}
#footer .f-c-captcha .captcha {
    display:flex;
}
#footer .f-c-captcha .captcha #captcha_info {display:none;}
#footer input,
#footer textarea {
    display: block;
    width: 100%;
    padding: 20px;
    color: #000;
    font-size: 15px;
    background: #fff;
}
#footer textarea {
    height: 125px;
    resize: none;
}
#footer .f-c-btn button {
    display: block;
    width: 90%;
    max-width: 230px;
    margin: 0 auto;
    padding: 20px 15px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    background: #3f41aa;
    border-radius: 40px;
    transition: background 250ms ease;
}
#footer .f-c-btn button:hover {
    background: #182928;
}



/* --------------------------------------------------------------------------------------------
    ## VISUAL
-------------------------------------------------------------------------------------------- */
#visual {
    position: relative;
    width: 100%;
    height: 420px;
    margin-top: 200px;
    margin-bottom: 100px;
    background-image: url('../img/page/visual_bg.jpg');
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.main #visual {
    height: auto;
    margin: 0 auto;
    padding-top: 200px;
    background-color: #ebf1f4;
    background-image: none;
}
.main #visual::after {
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 140px;
    left: 0;
    bottom: 0;
    background: #fff;
}
.main #visual .inner {
    width: 98%;
    max-width: 1600px;
}
.main .swiper-container {
    min-height: 500px;
}
.main #visual .swiper-slide {
    height: 100%;
}
#visual .swiper-container {
    width: 100%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
}
#visual .swiper-slide {
    margin: 60px auto;
}
#visual .swiper-slide .inner {
    position: relative;
    height: 100%;
    display:flex;
    justify-content: space-between;
}
#visual .img-box {
    width:48%;
}
#visual .text_box {
    text-align: left;
    width: 49%;
    margin: 0;
    padding: 0;
    line-height: 1.2;
    position:relative;
}
#visual .text_box h3 {
    /*width: 49%;*/
    padding-bottom: 20px;
    color: #89cded;
    font-size: 80px;
    font-weight: 500;
    line-height: 1.05;
    word-break: keep-all;
}

#visual .text_box p {
    position: absolute;
    /*width: 49%;*/
    left: 0;
    bottom: 0;
    font-size: 20px;
    font-weight: 300;
    text-align: left;
    line-height: 1.4;
    word-break: keep-all;
}

/* Bullets */
#visual .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    display: inline-block;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    background: #fff;
    border-radius: 6px;
    -webkit-transition: width 300ms ease, background 300ms ease;
    -moz-transition:    width 300ms ease, background 300ms ease;
    transition:         width 300ms ease, background 300ms ease;
}
#visual .swiper-pagination-bullet {
    background: #fff;
}
#visual .swiper-pagination-bullet-active {
    width: 36px;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    background: #008965;
}
#visual .swiper-pagination-bullet:hover,
#visual .swiper-pagination-bullet-active:hover {
    background: #008965;
}
#visual .swiper-pagination-fraction,
#visual .swiper-pagination-custom,
#visual .swiper-container-horizontal > .swiper-pagination-bullets {
    position: absolute;
    left: 50%;
    bottom: -50px;
    transform: translateX(-50%);
    -webkit-transition: bottom 250ms ease;
       -moz-transition: bottom 250ms ease;
            transition: bottom 250ms ease;
}
/* Arrows */
#visual .swiper-button-prev,
#visual .swiper-button-next {
    position: absolute;
    top: 50%;
    width: 30px;
    height: 50px;
    margin-top: 0;
    z-index: 10;
    cursor: pointer;
    text-align: center;
    line-height: 50px;
}
.mobile #visual .swiper-button-prev,
.mobile #visual .swiper-button-next {
    display: none;
}
#visual .swiper-button-prev.swiper-button-disabled,
#visual .swiper-button-next.swiper-button-disabled {
    opacity: 0.35;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=35)";
    filter: alpha(opacity=35);
    cursor: auto;
    pointer-events: none;
}
#visual .swiper-button-prev,
#visual .swiper-container-rtl .swiper-button-next {
    left: -80px;
    right: auto;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transition: left 300ms ease 150ms, opacity 300ms ease 150ms;
       -moz-transition: left 300ms ease 150ms, opacity 300ms ease 150ms;
            transition: left 300ms ease 150ms, opacity 300ms ease 150ms;
}
#visual .swiper-button-next,
#visual .swiper-container-rtl .swiper-button-prev {
    right: -80px;
    left: auto;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transition: right 300ms ease 150ms, opacity 300ms ease 150ms;
       -moz-transition: right 300ms ease 150ms, opacity 300ms ease 150ms;
            transition: right 300ms ease 150ms, opacity 300ms ease 150ms;
}
#visual:hover .swiper-button-prev,
#visual:hover .swiper-container-rtl .swiper-button-next {
    left: 20px;
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=50);
    -webkit-transition: left 300ms ease 0ms, opacity 300ms ease 0ms;
       -moz-transition: left 300ms ease 0ms, opacity 300ms ease 0ms;
            transition: left 300ms ease 0ms, opacity 300ms ease 0ms;
}
#visual:hover .swiper-button-next,
#visual:hover .swiper-container-rtl .swiper-button-prev {
    right: 20px;
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=50);
    -webkit-transition: right 300ms ease 0ms, opacity 300ms ease 0ms;
       -moz-transition: right 300ms ease 0ms, opacity 300ms ease 0ms;
            transition: right 300ms ease 0ms, opacity 300ms ease 0ms;
}
#visual .swiper-button-prev:hover,
#visual .swiper-container-rtl .swiper-button-next:hover {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
}
#visual .swiper-button-next:hover,
#visual .swiper-container-rtl .swiper-button-prev:hover {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
}
#visual .swiper-button-prev,
#visual .swiper-container-rtl .swiper-button-next,
#visual .swiper-button-next,
#visual .swiper-container-rtl .swiper-button-prev,
#visual .swiper-button-prev.swiper-button-black,
#visual .swiper-container-rtl .swiper-button-next.swiper-button-black,
#visual .swiper-button-prev.swiper-button-white,
#visual .swiper-container-rtl .swiper-button-next.swiper-button-white,
#visual .swiper-button-next.swiper-button-black,
#visual .swiper-container-rtl .swiper-button-prev.swiper-button-black,
#visual .swiper-button-next.swiper-button-white,
#visual .swiper-container-rtl .swiper-button-prev.swiper-button-white {
    background-image: none;
}
#visual .swiper-button-prev::after, #visual .swiper-container-rtl #visual .swiper-button-next::after,
#visual .swiper-button-next::after, #visual .swiper-container-rtl #visual .swiper-button-prev::after {
    content: '' !important;
}
#visual .arrow-icon-position {
    position: relative;
    width: 100%;
    height: 100%;
}
#visual .arrow-icon-position span {
    display: inline-block;
    color: #fff;
    font-size: 50px;
    text-align: center;
    -webkit-transition: color 300ms ease;
    -moz-transition:    color 300ms ease;
    transition:         color 300ms ease;
}
#visual .v-object {
    position: absolute;
    width: 467px;
    height: 330px;
    margin-right: -46%;
    top: 180px;
    right: 50%;
    background-image: url('../img/main/visual_object.png');
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}


.video-view-wrap {
    position: relative;
    width: 100%;
    z-index: 1;
}
.video-view-wrap::after {
    position: absolute;
    content: '';
    width: 17px;
    height: 155px;
    margin-right: -897px;
    right: 50%;
    bottom: 140px;
    z-index: -1;
    background: #89cded;
}
.video-view-wrap .video-view-pos {
    width: 98%;
    max-width: 1600px;
    margin: 0 auto;
}
.video-view-wrap .top-line {
    width: 155px;
    height: 17px;
    background: #89cded;
}
.video-view-wrap .video-content {
    display: block;
    width: 100%;
    line-height: 1;
}

#visual h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    color: #fff;
    font-size: 50px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    transform: translate(-50%, -50%);
}
#visual .snb {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    z-index: 2;
    background: rgba(0,0,0,0.4);
}
#visual .snb ul {
    position: relative;
    display: flex;
    width: 98%;
    max-width: 1600px;
    margin-left:  auto;
    margin-right: auto;
    align-items: center;
    justify-content: center;
}
#visual .snb li {
    width: 25%;
}
/*
#visual .snb .colgroup1 li {width: 33.333333333333%;}
#visual .snb .colgroup2 li {width: 50%;}
#visual .snb .colgroup3 li {width: 33.333333333333%;}
#visual .snb .colgroup4 li {width: 25%;}
#visual .snb .colgroup5 li {width: 20%;}
*/
#visual .snb li a {
    display: block;
    width: 100%;
    height: 80px;
    color: #fff;
    font-size: 24px;
    text-align: center;
    line-height: 80px;
    transition: color 250ms ease, background 250ms ease;
}
#visual .snb li.current a,
#visual .snb li a:hover {
    color: #000;
    background: #fff;
}



/* --------------------------------------------------------------------------------------------
    ## CONTAINER && CONTENTS
-------------------------------------------------------------------------------------------- */
#container {
    position: relative;
    min-height: 780px;
}


/* --------------------------------------------------------------------------------------------
    ## INDEX
-------------------------------------------------------------------------------------------- */
.msection {
    margin-top: 150px;
}
.msection .ms-title-area {
    margin-bottom: 100px;
    text-align: center;
}
.msection .ms-title-area h3 {
    margin-bottom: 20px;
    font-size: 48px;
    font-weight: 500;
}
.msection .ms-title-area p {
    font-size: 20px;
    font-weight: 300;
}

.msection01 .flex-group {
    display: flex;
    align-items: center;
    justify-content: center;
}
.msection01 .cols-item {
    width: 320px;
    margin-left: 3%;
    padding: 55px 15px;
    text-align: center;
    box-shadow: 0 22px 68px rgba(0,0,0,0.18);
}
.msection01 .cols-item:first-child {
    margin-left: 0;
}
.msection01 .cols-item h4 {
    color: #000;
    font-size: 24px;
    font-weight: 500;
}
.msection01 .cols-item .ico {
    width: 80px;
    height: 80px;
    margin: 35px auto;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.msection01 .cols-item .ico1 {background-image: url('../img/main/ms01_01.png');}
.msection01 .cols-item .ico2 {background-image: url('../img/main/ms01_02.png');}
.msection01 .cols-item .ico3 {background-image: url('../img/main/ms01_03.png');}
.msection01 .cols-item a {
    display: flex;
    max-width: 160px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    align-items: center;
    justify-content: center;
    color: #fff;
    letter-spacing: 0.25rem;
    background: #182928;
    border-radius: 35px;
}
.msection01 .cols-item a p {
    margin-right: 10px;
}

.msection02 .flex-group {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.msection02 .ms-left-group,
.msection02 .ms-right-group {
    width: 48%;
}
.msection02 .owl-theme .owl-nav.disabled+.owl-dots {
    position: absolute;
    width: 100%;
    margin-top: 0;
    left: 0;
    bottom: 20px;
    z-index: 10;
}
.msection02 .owl-theme .owl-dots .owl-dot span {
    width: 27px;
    height: 9px;
    border-radius: 0;
    transition: background 250ms ease;
}
.msection02 .owl-theme .owl-dots .owl-dot.active span,
.msection02 .owl-theme .owl-dots .owl-dot:hover span {
    background: #89cded;
}
.msection02 .list-item {
    position: relative;
    border-bottom: 1px solid #c9c9c9;
}
.msection02 .list-item:first-child {
    border-top: 1px solid #c9c9c9;
}
.msection02 .tg-btn {
    position: relative;
    display: flex;
    width: 100%;
    padding: 30px;
    align-items: center;
    justify-content: space-between;
}
.msection02 .tg-btn::before {
    position: absolute;
    content: '';
    width: 60px;
    height: 5px;
    left: 0;
    bottom: -3px;
    z-index: 1;
    background: #89cded;
    opacity: 0;
    transition: left 100ms ease, opacity 100ms ease;
}
.msection02 .tg-btn:hover::before {
    left: 20px;
    opacity: 1;
    transition: left 500ms ease, opacity 250ms ease;
}
.msection02 .active .tg-btn:hover::before {
    left: 0;
    opacity: 0;
    transition: left 100ms ease, opacity 100ms ease;
}
.msection02 .tg-btn h4 {
    display: block;
    font-size: 25px;
    font-weight: 500;
}
.msection02 .tg-btn span {
    display: block;
    transition: transform 250ms ease;
}
.msection02 .active .tg-btn span,
.msection02 .active .tg-btn:hover span {
    transform: rotate(180deg);
}
.msection02 .li-cont {
    position: relative;
    display: none;
    padding: 0 30px 30px;
}
.msection02 .tc-title {
    margin-bottom: 20px;
    color: #89cded;
    font-weight: 500;
}
.msection02 .tc-cont {
    display: -webkit-box;
    width: 100%;
    height: max-content;
    margin: 0 auto 20px;
    overflow: hidden;
    color: #777;
    font-size: 1em;
    line-height: 1.5;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}
.msection02 .tc-lnk {
    color: #3f41aa;
}


.msection03 .flex-group {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.msection03 .cols-item {
    position: relative;
    width: 32%;
    margin: 2% 0 0 2%;
    padding: 45px 40px;
    overflow: hidden;
    color: #0d0d0d;
    background: #f3f6f8;
    border-radius: 10px;
}
.msection03 .cols-item:nth-child(-1n+3) {
    margin-top: 0;
}
.msection03 .cols-item:nth-child(3n+1) {
    margin-left: 0;
}
.msection03 .ico {
    width: 60px;
    height: 60px;
    margin-bottom: 20px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.msection03 .ico1 {background-image: url('../img/main/ms03_01.png');}
.msection03 .ico2 {background-image: url('../img/main/ms03_02.png');}
.msection03 .ico3 {background-image: url('../img/main/ms03_03.png');}
.msection03 .ico4 {background-image: url('../img/main/ms03_04.png');}
.msection03 .ico5 {background-image: url('../img/main/ms03_05.png');}
.msection03 .ico6 {background-image: url('../img/main/ms03_06.png');}
.msection03 h4 {
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: 700;
}
.msection03 p {
    letter-spacing: -0.05em;
}




/* --------------------------------------------------------------------------------------------
    ## PAGE
-------------------------------------------------------------------------------------------- */
/* 공통요소 */
.section {
    margin-top: 100px;
}
.section:first-child,
.section:nth-child(2) {
    margin-top: 0;
}
h3.stitle,
h4.ps_title,
h5.sc_title {
    position: relative;
    font-weight: 500;
    line-height: 1;
}
h3.stitle {
    margin-bottom: 50px;
    color: #181818;
    font-size: 30px;
    line-height: 30px;
    padding-left: 43px;
}
h3.stitle::before {
    position: absolute;
    display: block;
    content: '';
    width: 33px;
    height: 100%;
    top: 0;
    left: 0;
    background: url('../img/page/page_title_bg.png') 0 50% no-repeat;
    background-size: 30px 30px;
}
h4.ps_title {
    margin-bottom: 25px;
    padding: 0 0 0 23px;
    color: #171717;
    font-size: 20px;
}
h4.ps_title::before {
    position: absolute;
    display: block;
    content: '';
    width: 17px;
    height: 20px;
    top: 2px;
    left: 0;
    background: url('../img/page/page_stitle_bg.png') 0 50% no-repeat;
    background-size: 17px 20px;
}
h5.sc_title {
    margin-bottom: 5px;
    padding-left: 13px;
    color: #171717;
    font-size: 16px;
    font-weight: 400;
}
h5.sc_title::before {
    position: absolute;
    display: block;
    content: '';
    width: 8px;
    height: 8px;
    top: 4px;
    left: 0;
    background: #3f0b9f;
    border-radius: 50%;
}


.psection11 {
    position: relative;
    display: flex;
    padding-top: 75px;
}
.psection11::before {
    position: absolute;
    content: '';
    width: 204px;
    height: 124px;
    top: 0;
    left: 30%;
    background-image: url('../img/page/page11_11.png');
    background-position: 25% 75%;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translateX(-70%);
}
.psection11 .left-area {
    width: 20%;
    margin-right: 5%;
}
.psection11 .photo-area {
    position: relative;
    margin-bottom: 50px;
    padding-top: 60px;
    line-height: 0;
}
.psection11 .photo-area img {
    width: 228px;
    position: relative;
}
.psection11 .pinfo {
    width: 300px;
    font-size: 22px;
}
.psection11 .pinfo p:first-child {
    margin-bottom: 5px;
}
.psection11 .photo-area::before {
    position: absolute;
    content: '';
    width: 80px;
    height: 10px;
    left: 0;
    bottom: -10px;
    background: #89cded;
}
.psection11 .right-area {
    width: 70%;
}
.psection11 .top-area {
    margin-bottom: 135px;
    line-height: 1.6;
}
.psection11 .top-area p {
    font-size: 30px;
}
.psection11 .top-area .point-text {
    margin-top: 45px;
    color: #89cded;
    font-size: 24px;
    letter-spacing: 0.5rem;
}
.psection11 .cont-area {
    font-size: 24px;
    line-height: 1.5;
}
.psection11 .cont-area p {
    margin-top: 40px;
}
.psection11 .cont-area p:first-child {
    margin-top: 0;
}


.history-wrap {
    position: relative;
    width: 100%;
    padding: 150px 0;
}
.history-wrap::before {
    position: absolute;
    content: '';
    display: block;
    width: 1px;
    height: 100%;
    top: 0;
    left: 50%;
    background: #89cded;
}
.history-wrap .history-flex {display:flex;justify-content: space-between;align-items:start;margin-bottom:80px;}
.history-wrap .history-image {width:48%;}
.history-wrap .history-image img {width:90%;}
.history-wrap .history-list {
    width: 48%;
    /*margin-top: 80px;*/
    /*text-align: right;*/
}
.history-wrap .history-list.right {
    text-align:left;
}
.history-wrap .history-list.left {
    text-align:right;
}
.history-wrap .history-list:nth-child(2n+2) {
    /*margin-left: 52%;*/
    /*text-align: left;*/
}
.history-wrap .history-list:first-child {
    margin-top: 0;
}
.history-wrap .history-list .his-year {
    position: relative;
    margin-bottom: 30px;
    padding-top: 20px;
    color: #000;
    font-size: 36px;
    font-weight: 700;
}
.history-wrap .history-list.left .his-year::before {
    position: absolute;
    content: '';
    width: 10px;
    height: 10px;
    top: 0;
    right: 0;
    background: #89cded;
}
.history-wrap .history-list.right .his-year::before {
    position: absolute;
    content: '';
    width: 10px;
    height: 10px;
    top: 0;
    left: 0;
    background: #89cded;
}
.history-wrap .history-list.left li {
    display: flex;
    width: 100%;
    margin-top: 25px;
    align-items: flex-start;
    justify-content: flex-end;
    font-size: 20px;
    font-weight: 300;
}
.history-wrap .history-list.right li {
    display: flex;
    width: 100%;
    margin-top: 25px;
    align-items: flex-start;
    justify-content: flex-start;
    font-size: 20px;
    font-weight: 300;
}
.history-wrap .history-list:nth-child(2n+2) li {
    /*display: flex;*/
    /*align-items: flex-start;*/
    /*justify-content: flex-start;*/
}
.history-wrap .history-list li:first-child {
    margin-top: 0;
}
.history-wrap .history-list .his-group {
    position: relative;
    padding-left: 95px;
}
.history-wrap .history-list .his-date {
    position: absolute;
    top: 0;
    left: 0;
}
.history-wrap .history-list .his-cont {
    text-align: left;
}
.history-wrap .history-list li strong {
    font-weight: 500;
}
.history-wrap .history-list .helper {
    display: block;
    color: #777;
    text-align: left;
}
.history-wrap .history-list .gray-color {
    color: #777;
}


.ptop-area {
    margin-bottom: 35px;
}
.ptop-cate {
    margin-bottom: 10px;
    color: #3f41aa;
    font-size: 20px;
    font-weight: 300;
}
.ptop-title {
    color: #000;
    font-size: 36px;
    font-weight: 700;
}

.psection31 .flex-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.psection31 .photo-area,
.psection31 .text-area {
    width: 100%;
}
.psection31 .photo-area_48,
.psection31 .text-area_48 {
    width: 48%;
}
.psection31 .photo-area img {
    width: 100%;
}
.psection31 .psec-title {
    position: relative;
    margin-bottom: 40px;
    padding-top: 11px;
    color: #000;
    font-size: 26px;
    font-weight: 500;
}
.psection31 .psec-title::before {
    position: absolute;
    content: '';
    width: 10px;
    height: 10px;
    top: 0;
    left: -10px;
    background: #89cded;
}
.psection31 .p31-box-01 {
    display: flex;
    margin-bottom: 30px;
    padding: 15px 5px;
    flex-wrap: wrap;
    align-items: center;
    border: 1px solid #bfbfbf;
}
.psection31 .p31-box-01 .list-item {
    display: flex;
    width: 33.3333333333333%;
    padding: 10px 5px;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}
.psection31 .p31-box-01 .list-item:nth-child(3n+2) {
    justify-content: flex-start;
}
.psection31 .p31-box-01 .bsq {
    margin-right: 10px;
    color: #a7a7a7;
}
.psection31 .p31-box-01 .bsa {
    color: #000;
}
.psection31 .p31-box-01 .tac .bsq,
.psection31 .p31-box-01 .tac .bsa {
    text-align: center;
}
.psection31 .p31-box-02 {
    display: flex;
    padding: 10px;
    flex-wrap: wrap;
    align-items: center;
    background: #f2f2f2;
}
.psection31 .p31-box-02 .list-item {
    width: 49%;
    margin: 2% 0 0 2%;
    padding: 8px;
    background: #fff;
    border-radius: 8px;
}
.psection31 .p31-box-02 .list-item:nth-child(2n+1) {
    margin-left: 0;
}
.psection31 .p31-box-02 .list-item:nth-child(-1n+2) {
    margin-top: 0;
}
.psection31 .p31-box-02 .bsq {
    margin-bottom: 15px;
    color: #a7a7a7;
    font-size: 16px;
}
.psection31 .p31-box-02 .bsa {
    color: #000;
    font-size: 20px;
    font-weight: 500;
    text-align: right;
}
/* iOS 체크박스 디자인 */
.tgl {
    display: none;
}
    .tgl::-webkit-selection,
    .tgl:after::-webkit-selection,
    .tgl:before::-webkit-selection,
    .tgl *::-webkit-selection,
    .tgl *:after::-webkit-selection,
    .tgl *:before::-webkit-selection,
    .tgl+.tgl-btn::-webkit-selection {
        background: none;
    }
    .tgl::-moz-selection,
    .tgl:after::-moz-selection,
    .tgl:before::-moz-selection,
    .tgl *::-moz-selection,
    .tgl *:after::-moz-selection,
    .tgl *:before::-moz-selection,
    .tgl+.tgl-btn::-moz-selection {
        background: none;
    }
    .tgl::-ms-selection,
    .tgl:after::-ms-selection,
    .tgl:before::-ms-selection,
    .tgl *::-ms-selection,
    .tgl *:after::-ms-selection,
    .tgl *:before::-ms-selection,
    .tgl+.tgl-btn::-ms-selection {
        background: none;
    }
    /* Web Standards [웹표준] */
    .tgl::selection,
    .tgl:after::selection,
    .tgl:before::selection,
    .tgl *::selection,
    .tgl *:after::selection,
    .tgl *:before::selection,
    .tgl+.tgl-btn::selection {
        background: none;
    }
    .tgl+.tgl-btn {
        outline: 0;
        display: inline-block;
        width: 50px;
        height: 25px;
        position: relative;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }
    .tgl+.tgl-btn:after,
    .tgl+.tgl-btn:before {
        position: relative;
        display: block;
        content: "";
        width: 50%;
        height: 100%;
    }
    .tgl+.tgl-btn:after {
        left: 0;
    }
    .tgl+.tgl-btn:before {
        display: none;
    }
    .tgl:checked+.tgl-btn:after {
        left: 50%;
    }
    .tgl-ios+.tgl-btn {
        background: #ccc;
        border-radius: 2em;
        padding: 2px;
        transition: all .4s ease;
        border: 1px solid #e8eae9;
    }
    .tgl-ios+.tgl-btn:after {
        border-radius: 2em;
        background: #fff; /* 버튼컬러 */
        transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), padding 0.3s ease, margin 0.3s ease;
        box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 4px 0 rgba(0, 0, 0, 0.08);
    }
    .tgl-ios+.tgl-btn:hover:after {
        will-change: padding;
    }
    .tgl-ios+.tgl-btn:active {
        box-shadow: inset 0 0 0 2em #e8eae9;
    }
    .tgl-ios+.tgl-btn:active:after {
        padding-right: .8em;
    }
    .tgl-ios:checked+.tgl-btn {
        background: #3f41aa; /* 체크후 백그라운드 컬러 */
    }
    .tgl-ios:checked+.tgl-btn:active {
        box-shadow: none;
    }
    .tgl-ios:checked+.tgl-btn:active:after {
        margin-left: -.8em;
    }


.psection {
    margin-top: 200px;
}
.psection:first-child {
    margin-top: 0;
}
.psection .slider-cont {
    position: relative;
    margin-bottom: 60px;
}
.psection .slider-cont .image_area {
    line-height: 0;
}
.psection .slider-cont .owl-theme {
    padding-bottom: 60px;
}
.psection .slider-cont .owl-theme .owl-nav.disabled+.owl-dots {
    position: absolute;
    width: 100%;
    margin-top: 0;
    left: 0;
    bottom: 0;
    z-index: 10;
}
.psection .slider-cont .owl-theme .owl-dots .owl-dot span {
    width: 27px;
    height: 9px;
    border-radius: 0;
    transition: background 250ms ease;
}
.psection .slider-cont .owl-theme .owl-dots .owl-dot.active span,
.psection .slider-cont .owl-theme .owl-dots .owl-dot:hover span {
    background: #89cded;
}


.slider-btm-cont {
    color: #595959;
    font-size: 22px;
}
.slider-btm-cont li {
    padding: 25px 35px;
    border-bottom: 1px solid #000;
}
.slider-btm-cont li:first-child {
    border-top: 2px solid #000;
}
.slider-btm-cont .list-cont {
    position: relative;
}
.slider-btm-cont .list-cont strong {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    font-weight: 500;
}
.slider-btm-cont .list-cont p {
    margin-left: 150px;
}



/* --------------------------------------------------------------------------------------------
    ## BOARD
-------------------------------------------------------------------------------------------- */
/* 게시판 검색 */
.bbs-top-wrap {
    display: flex;
    margin-bottom: 80px;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    font-size: 20px;
}
.bbs-top-wrap select,
.bbs-top-wrap input {
    padding: 15px;
    font-size: 18px;
}
.bbs-top-wrap input {
    width: 98%;
    max-width: 260px;
    padding-right: 50px;
}
.bbs-top-wrap button {
    position: absolute;
    width: 50px;
    top: 1px;
    right: 1px;
    bottom: 1px;
    font-size: 24px;
    text-align: center;
}
.bbs-top-wrap .bbs-search-wrap {
    position: relative;
    border: 1px solid #313131;
}

/* 게시판 페이지 번호 */
.bbs-btm-pager {
    margin-top: 100px;
}
.bbs-btm-pager,
.bbs-pager-num,
.bbs-pager-prev,
.bbs-pager-next {
    display: flex;
    align-items: center;
    justify-content: center;
}
.bbs-btm-pager a {
    display: block;
    width: 18px;
    height: 30px;
    margin: 0 3px;
    color: #888;
    font-size: 18px;
    text-align: center;
    line-height: 30px;
}
.bbs-pager-prev a,
.bbs-pager-next a {
    width: 30px;
    margin: 0;
    color: #3f41aa;
    line-height: 28px;
    border: 1px solid #e2e2e2;
}
.bbs-pager-prev a:first-child,
.bbs-pager-next a:first-child {
    border-right: 0;
}
.bbs-btm-pager .current a,
.bbs-btm-pager a:hover {
    color: #4458cb;
}


/* 갤러리 게시판 */
.gallery-type-1 .item-list a,
.gallery-type-2 .item-list a {
    display: block;
}
.gallery-type-1 .gallery-list-wrap,
.gallery-type-2 .gallery-list-wrap {
    display: flex;
    flex-wrap: wrap;
}
.gallery-type-1 .item-list,
.gallery-type-2 .item-list {
    width: 23.5%;
    margin: 120px 0 0 2%;
}
.gallery-type-2 .item-list {
    margin-top: 1%;
}
.gallery-type-1 .item-list:nth-child(4n+1),
.gallery-type-2 .item-list:nth-child(4n+1) {
    margin-left: 0;
}
.gallery-type-1 .item-list:nth-child(-1n+4),
.gallery-type-2 .item-list:nth-child(-1n+4) {
    margin-top: 0;
}
.gallery-type-1 .item-list .photo-area,
.gallery-type-2 .item-list .photo-area {
    display: block;
    margin-bottom: 20px;
    line-height: 0;
    border: 1px solid #c9c9c9;
}
.gallery-type-1 .photo-area img,
.gallery-type-2 .photo-area img {
    width: 100%;
}
.gallery-type-1 .photo-info p {
    margin-bottom: 15px;
    color: #3f41aa;
    font-size: 20px;
    font-weight: 300;
}
.gallery-type-1 .photo-info h3 {
    font-size: 22px;
}


/* 웹진형 게시판 */
.webzine-type-1 .item-list {
    display: flex;
    padding: 60px 0;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #c9c9c9;
}
.webzine-type-1 .item-list:first-child {
    border-top: 1px solid #c9c9c9;
}
.webzine-type-1 .wz-photo-area,
.webzine-type-1 .wz-text-area {
    width: 48%;
}
.webzine-type-1 .wz-photo-area {
    position: relative;
    overflow: hidden;
    line-height: 0;
    border: 1px solid #c9c9c9;
}
.webzine-type-1 .wz-photo-area img {
    width: 100%;
}
.webzine-type-1 .wz-cate {
    visibility: hidden;
    margin-bottom: 15px;
    color: #6c757d;
    font-size: 16px;
    font-weight: 300;
}


.webzine-type-1 .wz-title {
    margin-bottom: 35px;
    padding-bottom: 36px;
    color: #333;
    font-size: 28px;
    font-weight: 700;
    border-bottom: 1px solid #6c757d;
}
.webzine-type-1 .wz-sub-title {
    display: none;
    margin-bottom: 25px;
    color: #000;
    font-size: 26px;
    font-weight: 500;
}
.webzine-type-1 .wz-content {
    margin-bottom: 40px;
    color: #595959;
    line-height: 1.6;
}
.webzine-type-1 .wz-view-btn {
    display: block;
    width: 90%;
    max-width: 168px;
    height: 60px;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    line-height: 58px;
    letter-spacing: 0.1rem;
    background: #182928;
    border: 1px solid #182928;
    border-radius: 40px;
    transition: color 250ms ease, background 250ms ease, border 250ms ease;
}
.webzine-type-1 .wz-view-btn:hover {
    color: #182928;
    background: #fff;
}
.webzine-type-1 .wz-view-btn span:first-child {
    margin-right: 10px;
}




/* --------------------------------------------------------------------------------------------
    ## MOBILE ONLY
-------------------------------------------------------------------------------------------- */
/* MOBILE COMMON */
.mobile #container {
    min-height: 500px;
}


/* IOS */
.ios .lv::before {
    top: 9px;
}


/* ANDROID */
.android .lv::before {
    top: 12px;
}



/* --------------------------------------------------------------------------------------------
    ## MOBILE IMAGE
-------------------------------------------------------------------------------------------- */
@media (-webkit-min-device-pixel-ratio: 2) {
    .mobile #mobile_menu h1 a,
    .mobile #header .inner h1 a          {background-image: url('../img/common/res_logo@2x.png');}
    .mobile #footer .flogo               {background-image: url('../img/common/res_flogo@2x.png');}
    .mobile #visual                      {background-image: url('../img/page/visual_bg@2x.jpg');}
    .mobile.main #visual                 {background-image: none;}
    .mobile #visual .v-object            {background-image: url('../img/main/res_visual_object@2x.png');}
    .mobile .msection01 .cols-item .ico1 {background-image: url('../img/main/ms01_01@2x.png');}
    .mobile .msection01 .cols-item .ico2 {background-image: url('../img/main/ms01_02@2x.png');}
    .mobile .msection01 .cols-item .ico3 {background-image: url('../img/main/ms01_03@2x.png');}
    .mobile .msection03 .ico1            {background-image: url('../img/main/ms03_01@2x.png');}
    .mobile .msection03 .ico2            {background-image: url('../img/main/ms03_02@2x.png');}
    .mobile .msection03 .ico3            {background-image: url('../img/main/ms03_03@2x.png');}
    .mobile .msection03 .ico4            {background-image: url('../img/main/ms03_04@2x.png');}
    .mobile .msection03 .ico5            {background-image: url('../img/main/ms03_05@2x.png');}
    .mobile .msection03 .ico6            {background-image: url('../img/main/ms03_06@2x.png');}
    .mobile .psection11::before          {background-image: url('../img/page/page11_11@2x.png');}
}
@media (-webkit-min-device-pixel-ratio: 3) {
    .mobile #mobile_menu h1 a,
    .mobile #header .inner h1 a          {background-image: url('../img/common/res_logo@3x.png');}
    .mobile #footer .flogo               {background-image: url('../img/common/res_flogo@3x.png');}
    .mobile #visual                      {background-image: url('../img/page/visual_bg@3x.jpg');}
    .mobile.main #visual                 {background-image: none;}
    .mobile #visual .v-object            {background-image: url('../img/main/res_visual_object@3x.png');}
    .mobile .msection01 .cols-item .ico1 {background-image: url('../img/main/ms01_01@3x.png');}
    .mobile .msection01 .cols-item .ico2 {background-image: url('../img/main/ms01_02@3x.png');}
    .mobile .msection01 .cols-item .ico3 {background-image: url('../img/main/ms01_03@3x.png');}
    .mobile .msection03 .ico1            {background-image: url('../img/main/ms03_01@3x.png');}
    .mobile .msection03 .ico2            {background-image: url('../img/main/ms03_02@3x.png');}
    .mobile .msection03 .ico3            {background-image: url('../img/main/ms03_03@3x.png');}
    .mobile .msection03 .ico4            {background-image: url('../img/main/ms03_04@3x.png');}
    .mobile .msection03 .ico5            {background-image: url('../img/main/ms03_05@3x.png');}
    .mobile .msection03 .ico6            {background-image: url('../img/main/ms03_06@3x.png');}
    .mobile .psection11::before          {background-image: url('../img/page/page11_11@3x.png');}
}



/* --------------------------------------------------------------------------------------------
    ## RESPONSIVE
-------------------------------------------------------------------------------------------- */
@media screen and (max-width: 1920px) {
    .video-view-wrap::after {
        margin-right: 0;
        right: 3.3vw;
    }
}


@media screen and (max-width: 1520px) {
    #visual .text_box h3 {
        font-size: 7vw;
    }
}


@media screen and (max-width: 1360px) {
    #header #menu #gnb h3 a {
        font-size: 16px;
    }
    #header #menu #gnb li li a {
        font-size: 15px;
        font-weight: normal;
    }
}


@media screen and (max-width: 1280px) {
    /* Google Nexus 7 Landscape */

}


@media screen and (max-width: 1200px) {
    #footer {
        padding: 100px 0;
    }
    #footer .flogo {
        width: 212px;
        height: 30px;
        background-image: url('../img/common/res_flogo.png');
    }
    #footer .finfo {
        font-size: 1.125em;
    }
    #footer .ftel a {
        font-size: 1.5em;
    }
    #footer .f-menu li {
        font-size: 1.125em;
    }
    #footer .f-c-title {
        font-size: 1.625em;
    }


    #visual {
        height: 320px;
        margin-bottom: 100px;
    }
    #visual .text_box p {
        font-size: 1.125em;
        bottom: 2vw;
    }
    #visual h2 {
        font-size: 2.25em;
    }
    #visual .snb li a {
        height: 60px;
        font-size: 1.25em;
        line-height: 60px;
    }


    .msection .ms-title-area h3 {
        font-size: 2.5em;
    }
    .msection .ms-title-area p {
        font-size: 1.125em;
    }
    .msection01 .cols-item h4 {
        font-size: 1.25em;
    }
    .msection01 .cols-item a {
        padding: 15px 10px;
        font-size: 0.9375em;
    }
    .msection02 .tg-btn {
        padding: 20px 30px;
    }
    .msection02 .tg-btn h4 {
        font-size: 1.375em;
    }
    .msection03 h4 {
        font-size: 1.375em;
    }
    .msection03 p {
        font-size: 0.9375em;
    }


    .ptop-area {
        margin-bottom: 50px;
    }

    .ptop-area_20 {
        margin-bottom: 0px;
    }
    .ptop-cate {
        font-size: 1em;
    }
    .ptop-title {
        font-size: 1.625em;
    }
    .psection11 .top-area p {
        font-size: 1.5em;
    }
    .psection11 .top-area .point-text,
    .psection11 .cont-area {
        font-size: 1.25em;
    }

    .history-wrap .history-list .his-group {
        padding-left: 80px;
    }
    .history-wrap .history-list .his-year {
        font-size: 1.875em;
    }
    .history-wrap .history-list li {
        font-size: 1.125em;
        letter-spacing: -0.035em;
    }
    .psection31 .psec-title {
        font-size: 1.375em;
    }
    .psection31 .p31-box-01 .list-item {
        padding: 10px 0;
        font-size: 0.9375em;
    }
    .psection31 .p31-box-02 .bsq {
        font-size: 0.9375em;
    }
    .psection31 .p31-box-02 .bsa {
        font-size: 1.125em;
    }
    .slider-btm-cont {
        font-size: 1.125em;
    }


    .bbs-top-wrap {
        font-size: 1.125em;
    }
    .bbs-top-wrap select,
    .bbs-top-wrap input {
        font-size: 1em;
    }
    .gallery-type-1 .photo-info p {
        margin-bottom: 10px;
        font-size: 1em;
    }
    .gallery-type-1 .photo-info h3 {
        font-size: 1.125em;
    }
    .webzine-type-1 .wz-cate {
        font-size: 1em;
    }
    .webzine-type-1 .wz-title {
        font-size: 1.625em;
    }
    .webzine-type-1 .wz-sub-title {
        font-size: 1.25em;
    }
    .webzine-type-1 .wz-view-btn {
        font-size: 0.875em;
    }


    .bbs-btm-pager a {
        font-size: 0.9375em;
    }

    .btn-top {
        width: 40px;
        height: 40px;
        right: 10px;
        bottom: 110px;
        opacity: 0.65;
    }
}


@media screen and (max-width: 1152px) {
    /* HEADER - MOBILE MENU ACTIVATION */
    #header {
        position: fixed;
        width: 100%;
        height: 61px;
        top: 0;
        left: 0;
        background: rgba(255, 255, 255, 0.95);
        border-bottom: 1px solid #dcdcdc;
    }
    #header .inner h1 {
        width: 212px;
        height: 30px;
        margin: 0 0 0 -106px;
        left: 50%;
    }
    #header .inner h1 a {
        background-image: url('../img/common/res_logo.png');
    }

    /* MOBILE MENU TOGGLE BTN */
    #header #btn_m_toggle {
        top: 19px;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        filter: alpha(opacity=100);
    }

    /* DESKTOP GNB HIDDEN */
    #header #menu,
    #header .gnbline {
        display: none;
    }

    #visual {
        height: 260px;
        margin-top: 60px;
    }
    .main #visual {
        padding-top: 10vw;
    }
    #visual .v-object {
        top: 10vw;
    }
    .main .swiper-container {
        min-height: 300px;
    }
}


@media screen and (max-width: 1120px) {

}


@media screen and (max-width: 1040px) {

}


@media screen and (max-width: 1024px) {
    /* Tablet Landscape */

}


@media screen and (max-width: 1023px) {
    .psection31 .flex-group {
        flex-direction: column;
    }
    .psection31 .photo-area,
    .psection31 .text-area {
        width: 95%;
        max-width: 800px;
        margin-left: auto;
        margin-right: auto;
    }
    .psection31 .photo-area {
        margin-bottom: 35px;
    }
}


@media screen and (max-width: 880px) {

}


@media screen and (max-width: 800px) {
    /* Google Nexus 7 Landscape */
    #footer .flex-group {
        flex-direction: column;
    }
    #footer .list-group {
        width: 95%;
        max-width: 640px;
        margin-top: 50px;
    }
    #footer .f-menu {
        display: flex;
        justify-content: space-between;
    }
    #footer .f-menu li {
        margin-top: 0;
        padding-left: 0;
    }
}


@media screen and (max-width: 768px) {
    /* Tablet Portrait */
    .gallery-type-1 .item-list,
    .gallery-type-2 .item-list {
        width: 32%;
        margin: 30px 0 0 2%;
    }
    .gallery-type-1 .item-list:nth-child(-1n+4),
    .gallery-type-2 .item-list:nth-child(-1n+4) {
        margin-top: 30px;
    }
    .gallery-type-1 .item-list:nth-child(4n+1),
    .gallery-type-2 .item-list:nth-child(4n+1) {
        margin-left: 2%;
    }
    .gallery-type-1 .item-list:nth-child(-1n+3),
    .gallery-type-2 .item-list:nth-child(-1n+3) {
        margin-top: 0;
    }
    .gallery-type-1 .item-list:nth-child(3n+1),
    .gallery-type-2 .item-list:nth-child(3n+1) {
        margin-left: 0;
    }
}


@media screen and (max-width: 736px) {
    /* iPhone 6 Plus Landscape */

}


@media screen and (max-width: 720px) {
    #footer {
        margin-top: 120px;
        padding: 50px 0;
    }

    #visual {
        height: 200px;
        margin-bottom: 80px;
    }
    #visual h2 {
        font-size: 1.75em;
    }
    #visual .swiper-slide .inner {
        flex-wrap:wrap;
    }
    #visual .img-box {
        width:100%;
        margin-bottom:30px;
    }
    #visual .text_box {width:100%;}
    #visual .text_box h3 {
        width: 95%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 30px;
        padding-bottom: 0;
        font-size: 2em;
    }
    #visual .text_box p {
        position: static;
        width: 95%;
        margin-left: auto;
        margin-right: auto;
        text-align: left;
    }
    #visual .v-object {
        width: 283px;
        height: 200px;
        top: 80px;
        background-image: url('../img/main/res_visual_object.png');
    }
    .video-view-wrap::after {
        display: none;
    }
    #visual .snb {
        /*display: none;*/
    }

    .msection {
        margin-top: 120px;
    }
    .msection .ms-title-area {
        margin-bottom: 75px;
    }
    .msection .ms-title-area h3 {
        margin-bottom: 10px;
        font-size: 2em;
    }
    .msection01 .flex-group {
        flex-direction: column;
    }
    .msection01 .cols-item {
        width: 95%;
        max-width: 480px;
        margin-left: auto;
        margin-right: auto;
        margin-top: 40px;
    }
    .msection01 .cols-item:first-child {
        margin-top: 0;
        margin-left: auto;
    }

    .msection02 .flex-group {
        flex-direction: column;
        justify-content: center;
    }
    .msection02 .ms-left-group {
        width: 95%;
        max-width: 600px;
    }
    .msection02 .ms-right-group {
        width: 95%;
        margin-top: 50px;
    }
    .msection02 .tg-btn h4 {
        font-size: 1.25em;
    }
    .msection03 .cols-item {
        width: 49%;
    }
    .msection03 .cols-item:nth-child(3n+1) {
        margin-left: 2%;
    }
    .msection03 .cols-item:nth-child(-1n+3) {
        margin-top: 2%;
    }
    .msection03 .cols-item:nth-child(2n+1) {
        margin-left: 0;
    }
    .msection03 .cols-item:nth-child(-1n+2) {
        margin-top: 0;
    }
    .msection03 h4 {
        font-size: 1.25em;
    }

    .psection {
        margin-top: 100px;
    }
    .psection11 {
        flex-direction: column;
        justify-content: center;
    }
    .psection11::before {
        /*display: none;*/
    }
    .psection11 .left-area {
        width: 95%;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }
    .psection11 .photo-area {
        margin-bottom: 25px;
        padding-top: 0;
        background:url('../img/page/page11_bgs.png') no-repeat center center;
    }
    .psection11 .pinfo {
        font-size: 1.125em;
        text-align: right;
    }
    .psection11 .right-area {
        width: 95%;
        max-width: 600px;
        margin-top: 50px;
        margin-left: auto;
        margin-right: auto;
    }
    .psection11 .top-area {
        margin-bottom: 50px;
    }
    .psection11 .top-area p {
        font-size: 1.25em;
    }
    .psection11 .top-area .point-text,
    .psection11 .cont-area {
        font-size: 1.125em;
    }
    .psection11 .top-area .point-text {
        margin-top: 20px;
    }
    .psection11 .cont-area p {
        margin-top: 25px;
    }

    .history-wrap {
        padding: 0;
    }
    .history-wrap::before {
        left: 4px;
    }
    .history-wrap .history-image {
        display:none;
    }
    .history-wrap .history-list {
        width:100%;
        text-align:left !important;
    }
    .history-wrap .history-list.left li {
        justify-content:flex-start !important;
    }
    .history-wrap .history-list .his-year::before {
        left: 0;
        right: auto;
    }
    .history-wrap .history-list .his-year,
    .history-wrap .history-list ul {
        padding-left: 20px;
    }
    .history-wrap .history-list .his-year {
        font-size: 1.625em;
    }
    .history-wrap .history-list li {
        justify-content: flex-start;
    }

    .psection31 .psec-title {
        font-size: 1.25em;
    }

    .slider-btm-cont .list-cont p {
        margin-left: 100px;
    }


    .bbs-top-wrap {
        margin-bottom: 40px;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .bbs-top-wrap .bbs-post-counter,
    .bbs-top-wrap .bbs-search-wrap {
        width: 100%;
    }
    .bbs-top-wrap .bbs-post-counter {
        margin-bottom: 15px;
    }
    .bbs-top-wrap .bbs-search-wrap {
        font-size: 0.9375em;
    }
    .bbs-btm-pager {
        margin-top: 50px;
    }

    .gallery-type-1 .item-list,
    .gallery-type-2 .item-list {
        width: 49%;
    }
    .gallery-type-1 .item-list:nth-child(-1n+3),
    .gallery-type-2 .item-list:nth-child(-1n+3) {
        margin-top: 30px;
    }
    .gallery-type-1 .item-list:nth-child(3n+1),
    .gallery-type-2 .item-list:nth-child(3n+1) {
        margin-left: 2%;
    }
    .gallery-type-1 .item-list:nth-child(-1n+2),
    .gallery-type-2 .item-list:nth-child(-1n+2) {
        margin-top: 0;
    }
    .gallery-type-1 .item-list:nth-child(2n+1),
    .gallery-type-2 .item-list:nth-child(2n+1) {
        margin-left: 0;
    }
    .gallery-type-2 .item-list {
        margin: 1% 0 0 2%;
    }
    .gallery-type-2 .item-list:nth-child(-1n+4),
    .gallery-type-2 .item-list:nth-child(-1n+3) {
        margin-top: 1%;
    }
    .gallery-type-2 .item-list:nth-child(-1n+2) {
        margin-top: 0;
    }

    .webzine-type-1 .item-list {
        padding: 40px 0;
        flex-direction: column;
    }
    .webzine-type-1 .wz-photo-area,
    .webzine-type-1 .wz-text-area {
        width: 95%;
        margin-left: auto;
        margin-right: auto;
    }
    .webzine-type-1 .wz-photo-area {
        margin-bottom: 30px;
    }
    .webzine-type-1 .wz-title {
        margin-bottom: 25px;
        padding-bottom: 26px;
        font-size: 1.5em;
    }
    .webzine-type-1 .wz-sub-title {
        margin-bottom: 15px;
        font-size: 1.1875em;
    }
    .webzine-type-1 .wz-content {
        margin-bottom: 20px;
    }

    .btn-top {
        bottom: 59px;
    }

    #visual .snb li {
        flex-grow: 1;
    }
    #visual .snb li a {
        height: 45px;
        font-size: 0.8em;
        line-height: 45px;
    }
}


@media screen and (max-width: 667px) {
    /* iPhone 6 Landscape */

}


@media screen and (max-width: 640px) {
    /* Mobile Landscape */

}


@media screen and (max-width: 568px) {
    /* iPhone 5 Landscape */
}


@media screen and (max-width: 560px) {
    .psection31 .p31-box-01 .list-item,
    .psection31 .p31-box-01 .list-item:nth-child(3n+2) {
        width: 50%;
        padding-left: 5px;
        padding-right: 5px;
        text-align: center;
        justify-content: flex-start;
    }
}


@media screen and (max-width: 480px) {
    body {
        font-size: 15px;
    }
    footer {
        font-size: 14px;
    }
    .main #visual {
        padding-top: 85px;
    }
    #visual .v-object {
        opacity: 0.5;
    }

    .msection {
        margin-top: 100px;
    }
    .msection .ms-title-area {
        margin-bottom: 50px;
    }
    .msection .ms-title-area h3 {
        margin-bottom: 5px;
        font-size: 1.625em;
    }
    .msection03 .cols-item,
    .msection03 .cols-item:nth-child(-n+2),
    .msection03 .cols-item:nth-child(2n+1),
    .msection03 .cols-item:nth-child(-n+1),
    .msection03 .cols-item:nth-child(1n+1) {
        width: 95%;
        margin: 2% auto 0;
    }
    .msection03 .cols-item:first-child {
        margin-top: 0;
    }

    .slider-btm-cont li {
        padding: 20px 15px;
    }
    .slider-btm-cont .list-cont strong {
        position: static;
        margin-bottom: 10px;
    }
    .slider-btm-cont .list-cont p {
        margin-left: 0;
    }
}


@media screen and (max-width: 430px) {
    /* iPhone 14 Pro Max Portrait */
    .bbs-top-wrap select {
        width: 118px;
    }
    .bbs-top-wrap input {
        width: calc(100% - 124px);
        max-width: none;
        padding-right: 50px;
    }
}


@media screen and (max-width: 428px) {
    /* iPhone 13 Pro Max, 14 Plus Portrait */

}


@media screen and (max-width: 414px) {
    /* iPhone 6 Plus, 7 Plus, 8 Plus, 11 Pro Max Portrait */

}


@media screen and (max-width: 412px) {
    /* Galaxy Note 20, Galaxy S20 Ultra Portrait */

}


@media screen and (max-width: 393px) {
    /* iPhone 14 Pro Portrait */

}


@media screen and (max-width: 390px) {
    /* iPhone 12 Plus Pro, 13 Pro, 14 Portrait */

}


@media screen and (max-width: 384px) {
    /* Galaxy Note 20, S20 Plus Portrait */

}


@media screen and (max-width: 375px) {
    /* iPhone 6, 7, 8, 11 Pro, 12, 13 Mini, se2 Portrait */

}


@media screen and (max-width: 360px) {
    /* Mobile Portrait */
}


@media screen and (max-width: 359px) {
    /* iPhone 5 Portrait */

}


@media screen and (max-width: 319px) {
    /* iPhone 5 Portrait */

}