@charset "utf-8";
@import url("/skin/notokr/notokr.css");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Moon+Dance&display=swap");

* {
    word-break: keep-all;
}

.body-layout {
    opacity: 0;
    padding-top: 95px;
    font-family: "Roboto", "notokr", sans-serif;
    font-size: 15px;
    letter-spacing: -0.03em;
}

.body-layout > br {
    display: none;
}

.body-layout > .container {
    width: 100%;
    padding: 0;
}

/*=================================== reset =================================== */

img {
    flex-shrink: 0;
}

ol,
ul,
li,
dl {
    margin: 0;
    padding: 0;
    list-style: none;
    list-style-position: inside;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
dt dd,
th,
td,
li {
    position: relative;
    font-weight: normal;
    letter-spacing: -0.034em;
}

a,
a:hover,
a:focus {
    text-decoration: none;
}

button {
    border-radius: 0;
    background: transparent;
    border: 1px solid #444;
}

span[class^="material-icons"] {
    vertical-align: middle;
    line-height: 1;
    user-select: none;
}

.internet.explorer span[class^="material-icons"] {
    transform: translateY(5px);
}

br {
    visibility: visible;
    opacity: 0;
}

/* =================================== old builder css reset =================================== */

.container_slide,
.container_mmenu,
.topmarginLay_a,
.divider-vertical,
.intro-board-widget-layout .footer-social-layout,
.navbar-inverse + br,
footer + br {
    margin: 0;
    padding: 0 !important;
    display: none !important;
}

.intro-html-layout {
    padding: 0 !important;
}

.footer_copy > div {
    padding: 0;
}

.container_contents {
    width: 100%;
    padding: 0;
}

/*=================================== common =================================== */
[class$="-dash"] > *:not(dt) {
    position: relative;
    padding-left: 15px;
}

[class$="-dash"] > *:not(dt)::before {
    position: absolute;
    left: 0;
}

[class$="-dash"] > *:not(dt)::before {
    content: "-";
}

/* =================================== old builder css common =================================== */

/* =================================== navbar =================================== */
.nav-top {
    width: 100%;
    position: absolute;
    padding-block: 5px;
    z-index: 1000;
    top: 10px;
}
.nav-top a {
    font-size: clamp(11px, 2vw, 13px);
    color: #008bd1;
    letter-spacing: 0.034em;
    font-weight: 500;
    white-space: nowrap;
}
.nav-top a:hover {
    text-decoration: underline;
}
.nav-top .container::before,
.nav-top .container::after {
    content: none;
}
.nav-top ul {
    margin-left: 50%;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}
/* [max-medium / landscape phones]  태블릿/모바일, 768px 미만 ▼ */
@media (width <= 767.98px) {
    .nav-top {
        position: relative;
        top: 0;
        margin-bottom: -10px;
        background-color: #f7f7f7;
    }
}

/* 불필요 항목 삭제 */
.navbar .caret {
    display: none;
}

/* 상단 메뉴 */
.navbar-header,
.navbar > .container {
    display: flex;
}

.navbar-header {
    justify-content: center;
    align-items: center;
}

.navbar > .container {
    justify-content: space-between;
}

.navbar > .container::before,
.navbar > .container::after {
    display: none;
}

.navbar-inverse {
    width: 100%;
    background: #fff;
    position: fixed;
    left: 0;
    top: 0;
    padding: 0px 0px;
    box-shadow: 5px 0 5px rgba(0, 0, 0, 0.1);
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    margin-bottom: 0;
}

.navbar-inverse .navbar-right {
    margin-right: 0 !important;
}

.navbar-brand {
    margin-left: 0px !important;
    padding: 0;
    height: auto;
}

.navbar-brand img {
    margin: 0 !important;
}

/* nav 메뉴 속성 */
.navbar-inverse .navbar-nav > li > a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 65px;
    padding: 0;
    margin: 0 15px;
    z-index: 10;
    margin-top: 35px;
    font-size: 17px;
    letter-spacing: -0.025em;
    font-weight: 500;
    color: #222;
}
/* [min-medium / landscape phones]  태블릿/모바일, 768px 이상 ▲ */
@media (width >= 768px) {
    .navbar-inverse .navbar-nav > li > a::after {
        transition: 0.25s;
        content: "";
        position: absolute;
        left: 0;
        bottom: 20px;
        display: block;
        height: 1px;
        width: 0%;
        background: #ee3349;
    }

    .navbar-inverse .navbar-nav > li > a:hover::after {
        width: 100%;
    }

    /* nav 메뉴 클릭 및 후버 시 */
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus,
.navbar-inverse .navbar-nav .dropdown:hover .dropdown-toggle,
.navbar-inverse .navbar-nav .dropdown:focus .dropdown-toggle {
    background: none;
    color: #ee3349;
}

/* dropdown-menu 배경 */
.navbar-inverse .navbar-nav .dropdown-menu {
    background: rgba(0, 0, 0, 0.85);
}

/* dropdown-menu 메뉴 기본 */
.navbar-inverse .navbar-nav .dropdown-menu > li > a {
    color: #fff;
}

/* dropdown-menu 메뉴 후버 */
.navbar-inverse .navbar-nav .dropdown-menu > li > a:hover {
    background: #0e4194;
    color: #fff;
}

@media (min-width: 768px) {
    .navbar-inverse .navbar-nav {
        margin-right: -15px !important;
    }
    /* pc nav 드롭다운 */
    .navbar-inverse .navbar-nav .dropdown-menu {
        left: 50%;
        right: auto;
        transform: translate(-50%, 0);
        border-radius: 0;
        border: 0;
        padding: 0;
        text-align: center;
    }

    /* pc nav 드롭다운 메뉴*/
    .navbar-inverse .navbar-nav .dropdown-menu > li > a {
        padding: 14px 25px;
        font-size: 14px;
        line-height: 1;
    }
}

@media (max-width: 767px) {
    .body-layout {
        padding-top: 90px;
    }

    .navbar-header {
        justify-content: space-between;
        height: 70px;
        border-bottom: 1px solid #ddd;
    }

    .navbar-collapse {
        width: 100vw;
        padding: 0;
    }

    .navbar-nav {
        width: 100%;
        margin: 0;
    }

    .navbar-header::before,
    .navbar-header::after {
        display: none;
    }

    .navbar > .container {
        display: block;
    }

    .navbar-brand {
        order: 1;
        width: 120px;
        margin: 9px 0 0 15px !important;
    }

    .navbar-inverse .navbar-toggle {
        order: 2;
        border: 0;
        padding: 9px 0;
        margin: 5px 15px 0 0;
    }

    .navbar-inverse .navbar-toggle .icon-bar {
        background-color: #666;
        transition: ease-in-out 0.15s all;
        opacity: 1;
        position: relative;
    }

    .navbar-inverse .navbar-toggle:hover,
    .navbar-inverse .navbar-toggle:focus {
        background: none;
        border-color: #444;
    }

    .navbar-inverse .navbar-toggle:hover .icon-bar,
    .navbar-inverse .navbar-toggle:focus .icon-bar {
        background-color: #444;
    }

    .navbar-inverse .navbar-collapse,
    .navbar-inverse .navbar-form {
        border-color: transparent;
    }

    /* menu */
    .navbar-inverse.open .navbar-toggle > .icon-bar:nth-of-type(2) {
        transform: rotate(45deg);
        top: 6px;
    }

    .navbar-inverse.open .navbar-toggle > .icon-bar:nth-of-type(3) {
        opacity: 0;
    }

    .navbar-inverse.open .navbar-toggle > .icon-bar:nth-of-type(4) {
        transform: rotate(-45deg);
        top: -6px;
    }

    .navbar-inverse .navbar-nav > li > a {
        height: 50px;
        padding: 0 15px;
        margin: 0;
        justify-content: flex-start;
        font-size: 15px;
    }

    .dropdown-menu {
        padding: 0;
    }

    .navbar-nav .open .dropdown-menu .dropdown-header,
    .navbar-nav .open .dropdown-menu > li > a {
        padding: 15px 15px 15px 25px;
    }

    /* 드롭다운 배경 */
    /* .navbar-inverse .navbar-nav .dropdown-menu{
        background: #444;
    } */

    /* 드롭다운 폰트 */
    .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
        color: #eee;
        font-size: 13px;
    }

    /* 드롭다운 메뉴 클릭시 */
    /* .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,
    .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:active {
        color: #fff;
        background: #2968d4;
    } */
}

/* =================================== footer =================================== */

.body-layout footer {
    margin-top: 0px;
    padding: 60px 0 60px;
    /* border: 1px solid #e3e3e3; */
    /* background: #373b42; */
    background: #eee;
}
.footer-logo {
    /* display: none; */
    margin-right: 30px;
}
.footer-logo img {
    width: 250px;
}
.footer-wrap {
    display: grid;
    grid-template-columns: max-content auto max-content;
    grid-auto-rows: min-content;
    align-items: flex-start;
    gap: 10px 50px;
}
.footer-info {
}
.footer-contact {
    padding: 25px 30px;
    color: #fff;
    background-color: #025192;
    border-radius: 10px;
}
.footer-contact li {
    font-size: clamp(13px, 2vw, 17px);
    font-weight: 500;
}
.footer-contact strong {
    font-size: clamp(18px, 2vw, 24px);
    line-height: 1;
    color: #fff;
    margin-bottom: 10px;
}
footer ul {
    text-align: left;
    color: #333;
    font-size: 14px;
    margin: 0;
    line-height: 1.6;
    letter-spacing: 0;
}

footer li {
    /* display: inline; */
    text-align: left;
    /* margin-right: 10px; */
    font-size: 14px;
    font-weight: 350;
}

footer li:not(.clearfix) {
    margin-right: 10px;
}

footer li strong {
    display: block;
    font-size: 16px;
    margin-bottom: 4px;
    color: #333;
}

.footer-cert {
    display: flex;
    flex-wrap: wrap;
    float: right;
}

.footer-cert li + li {
    margin-left: 7px;
}

.copyright {
    text-align: left;
    font-size: 12px;
    color: #666;
    margin: 0;
}

#scrolltop {
    position: fixed;
    z-index: 1000;
    right: 50px;
    bottom: 50px;
    display: none;
    font-size: 18px;
    text-align: center;
    width: 50px;
    height: 50px;
    color: #fff;
    background: #555;
}

#scrolltop .inner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    line-height: 1;
}

#scrolltop i {
    font-size: 24px;
}
/* [max-lager / tablet] 태블릿, 992px 미만 ▼ */
@media (width <= 991.98px) {
    .footer-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 20px;
    }
}
/* mobile*/
@media (max-width: 767px) {
    #scrolltop {
        display: none !important;
    }
    .footer-info {
        margin: 0 0 20px;
        text-align: c;
    }

    .footer-info li {
        display: block;
        line-height: 1.25;
        margin-bottom: 5px;
        text-align: center;
    }

    .footer-info li + li {
        border: 0;
        margin-left: 0;
        padding-left: 0;
    }

    .footer-cert {
        margin-top: 30px;
    }
    .footer-contact {
        width: 100%;
    }
}

.maintenance {
    background: #f4f4f4;
    padding: 120px 25px;
    text-align: center;
}

.maintenance .icon {
    display: block;
    line-height: 1;
    font-size: 64px;
    margin-bottom: 10px;
    color: #eb2e34;
}

.maintenance .big-cont {
    display: block;
    line-height: 1;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: -0.05em;
    margin-bottom: 20px;
}

.maintenance .small-cont {
    display: block;
    line-height: 1.5;
    font-size: 14px;
    letter-spacing: -0.03em;
    color: #818181;
    margin-bottom: 20px;
}

/* =================================== mainCarousel =================================== */

/* 슬라이드 */
#mainCarousel .carousel-inner .item {
    background-size: cover;
    height: 600px;
    /* height: 690px; */
}

#mainCarousel .carousel-inner .item::before {
    /* content: ""; */
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #000;
    opacity: 0.25;
}

.carousel-caption {
    top: 48%;
    transform: translateY(-50%);
    bottom: inherit;
    text-align: left;
}

.carousel-caption span.mini {
    font-size: clamp(16px, 2vw, 24px);
    letter-spacing: 0.1em;
    font-weight: 300;
}

.carousel-caption h1 {
    position: relative;
    font-size: 74px;
    font-weight: 500;
    margin-bottom: 30px;
    letter-spacing: 0.02em;
}

.carousel-caption h1::before {
    /* content: ""; */
    display: block;
    position: absolute;
    width: 80px;
    height: 1px;
    background: rgba(255, 255, 255, 0.49);
    left: 50%;
    top: 162px;
    transform: translateX(-50%);
}

.carousel-caption h1 strong {
    display: block;
    margin-bottom: 10px;
    letter-spacing: 0.05em;
    font-weight: 600;
    font-size: 24px;
}

.carousel-caption p {
    font-size: 24px;
    line-height: 1.4;
    font-weight: 300;
    display: none;
}

/* control */
.carousel-control {
    display: flex;
    align-items: center;
    opacity: 1;
    width: 10%;
}

.carousel-control.right,
.carousel-control.left {
    background: transparent;
    justify-content: center;
}

.carousel-control.right {
    justify-content: flex-end;
}

.carousel-control.right span {
    margin-right: 50px;
}

.carousel-control.left {
    justify-content: flex-start;
}

.carousel-control.left span {
    margin-left: 50px;
}

.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-next,
.carousel-control .icon-prev {
    font-size: 34px;
    left: auto;
    right: auto;
    top: auto;
    position: relative;
}

.glyphicon.glyphicon-chevron-right::before,
.glyphicon.glyphicon-chevron-left::before {
    color: #fff;
    font-family: "Line Awesome Free";
    font-weight: 900;
}

.glyphicon.glyphicon-chevron-right::before {
    content: "\f105";
}

.glyphicon.glyphicon-chevron-left::before {
    content: "\f104";
}

/* indicators */
.carousel-indicators {
    bottom: 40px;
}

.carousel-indicators li,
.carousel-indicators li.active {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 0;
    margin: 0 5px;
}

.carousel-indicators li {
    border: 0;
    background-color: rgba(255, 255, 255, 0.45);
    transition: ease-in-out 0.15s all;
}

.carousel-indicators li.active {
    background: #fff;
    box-shadow: 0px 2px 6px rgba(0, 0, 0, 0);
}

.carousel-caption {
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0);
}

.mainpage {
    z-index: 20;
    position: relative;
}

/* =================================== mainpage common =================================== */

.mainpage .container-fluid {
    padding: 0;
}

.mainpage section {
    position: relative;
    padding: clamp(60px, 15vw, 110px) 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.mainpage section::before {
    user-select: none;
    z-index: 1;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
}
.main-bbs.bbs31 {
    background-color: #f7f7f7;
}
.main-se01::before {
    background: #fff;
    opacity: 0.65;
}

/* .main-se02::before {
    background: #fff;
    opacity: .85;
} */

.main-se04::before {
    background: #000;
    opacity: 0.75;
}

.main-se01 {
    background-image: url(/skin/img/main/se01-bg.jpg);
    padding: 90px 0 !important;
}

.main-se02 {
    /* background-image: url(/skin/img/main/se02-bg.jpg); */
}

.main-se04 {
    background-image: url(/skin/img/main/se03-bg.jpg);
}

.mainpage .main-se04 {
    padding: 80px 0;
}

.mainpage .main-se04 h3 {
    margin-bottom: 30px;
}

.mainpage section > .container {
    position: relative;
    z-index: 5;
}

.mainpage h3 {
    text-align: center;
    margin: 0 0 clamp(20px, 3vw, 45px) 0;
    font-size: clamp(28px, 3vw, 41px);
    font-weight: 500;
    letter-spacing: -0.06em;
}
.mainpage h3 small {
    display: block;
    font-size: clamp(16px, 2vw, 20px);
    margin-top: 10px;
}
.mainpage .main-se04 h3 {
    color: #fff;
}

.logo-wrap,
.main-greet-wrap {
    display: flex;
    align-items: flex-start;
}

.logo-wrap {
    background: url(/skin/img/sub/line-bg02.png) no-repeat center;
    margin: 0;
    position: relative;
    padding: 40px 0 45px;
}

.row.logo-wrap::before {
    content: "";
    display: block;
    position: absolute;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    background: #fff;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.main-greet-wrap {
    align-items: center !important;
}

.logo-wrap img.logo-greet {
    margin-top: -50px !important;
}

.logo-wrap img.logo-greet,
.main-greet-wrap img.logo-greet {
    margin: 0 auto;
}

.logo-wrap img.logo-greet {
    padding-top: 54px;
    width: 210px;
}

.logo-wrap span.red,
.main-greet-wrap span.red {
    color: #eb2e34;
    font-weight: 700;
}

.logo-wrap .text,
.main-greet-wrap .text {
    padding-right: 80px;
}

.logo-wrap .text h3,
.main-greet-wrap .text h3 {
    text-align: left;
}

.logo-wrap .text p,
.main-greet-wrap .text p {
    line-height: 1.55;
    letter-spacing: -0.035em;
    color: #000;
    font-weight: 300;
}

#ab01 .logo-wrap .text p:nth-child(1) {
    margin-top: 14px;
}

.main-greet-wrap .text p {
    font-size: clamp(15px, 2vw, 18px);
    margin-bottom: 15px;
    line-height: 1.6;
}

.logo-wrap .text p + p,
.main-greet-wrap .text p + p {
    margin-top: 15px;
}

.main-greet-wrap .text p.imp {
    margin-bottom: 0;
}

.logo-wrap .text p.imp,
.main-greet-wrap .text p.imp {
    font-size: clamp(16px, 2vw, 22px);
    font-weight: 300;
    letter-spacing: -0.055em;
    line-height: 1.55;
    color: #000;
}

.logo-wrap .text p.imp strong,
.main-greet-wrap .text p.imp strong {
    color: #455982;
}
.main-greet-wrap::before,
.main-greet-wrap::after {
    content: none;
}
/* [max-medium / landscape phones]  태블릿/모바일, 768px 미만 ▼ */
@media (width <= 767.98px) {
    .main-greet-wrap {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }
    .logo-wrap .text,
    .main-greet-wrap .text {
        margin: 0;
        padding: 0;
    }
    .logo-wrap {
        display: flex;
        gap: 20px;
        flex-direction: column;
        align-items: center;
        text-align: center;
        background-size: cover;
        padding: 30px;
    }
}

.main-busi-wrap {
    /* display: flex; */
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0;
    gap: 2px;
}
.main-busi-wrap::before,
.main-busi-wrap::after {
    content: none;
}
.main-busi-wrap > div {
    padding: 0;
    width: 100%;
}

.main-busi-wrap .item {
    overflow: hidden;
    position: relative;
    color: #fff;
}

.main-busi-wrap .item span.num {
    display: block;
    font-size: clamp(22px, 2vw, 27px);
    font-weight: 100;
    margin-bottom: 23px;
    font-style: italic;
    position: relative;
}

.main-busi-wrap .item span.num::before {
    content: "";
    display: block;
    position: absolute;
    width: 28px;
    height: 1px;
    background: rgba(255, 255, 255, 0.65);
    left: 2px;
    top: 38px;
}

.main-busi-wrap .item .text {
    position: relative;
    transition: 0.35s;
    z-index: 5;
    background: rgba(0, 0, 0, 0.55);
    padding: 25px 25px 30px;
    height: clamp(200px, 25vw, 400px);
}

.main-busi-wrap .item:hover .text {
    background: rgba(169, 15, 21, 0.85);
}

.main-busi-wrap .item h4 {
    font-size: clamp(18px, 2vw, 24px);
    line-height: 1.4;
    letter-spacing: -0.05em;
    margin-top: 0;
    font-weight: 500;
}

.main-busi-wrap .item img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
/* [max-lager / tablet] 태블릿, 992px 미만 ▼ */
@media (width <= 991.98px) {
    .main-busi-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* [max-small / portrait phones] 모바일, 576px 미만 ▼  */
@media (width <= 575.98px) {
    .main-busi-wrap {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

.main-refer-wrap {
    margin: 0 -5px;
    border: 0;
    padding: 0;
}

.main-refer-wrap .item {
    background: #fff;
}

.main-refer-wrap p {
    display: flex;
    height: 100px;
    padding: 25px 25px 0;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.045em;
}

.main-refer-wrap .slick-slide {
    padding: 0 5px;
    height: auto;
}

.main-refer-wrap .next-btn,
.main-refer-wrap .prev-btn {
    z-index: 5;
    border: 0;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 50%;
    transform: translateY(-50%);
    color: #666;
    font-size: 54px;
}

.main-refer-wrap .next-btn {
    right: -80px;
}

.main-refer-wrap .prev-btn {
    left: -80px;
}

.main-partner-wrap {
    background: #fff;
    margin: 0;
    border: 0;
    padding: 0;
    border: 1px solid #ccc;
    /* box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1); */
}

.main-partner-wrap .slick-slide {
    padding: 10px;
    border-left: 1px solid #ccc;
    margin-left: -1px;
    height: auto;
}

/* [max-lager / tablet] 태블릿, 992px 미만 ▼ */
@media (width <= 991.98px) {
    .main-board-wrap .next-btn,
    .main-board-wrap .prev-btn {
        display: none !important;
    }
}

.slick-slide img {
    display: block;
    margin: 0 auto;
}

.main-bbs.bbs31 {
    position: relative;
    background: url(/skin/img/main/bbs31-bg.jpg) no-repeat center / cover;
    padding: clamp(60px, 5vw, 100px) 0;
    /* display: none; */
}

.main-bbs.bbs31::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #fff;
    opacity: 0.5;
}
.main-board-wrap .thumbnail .blogthumb {
    display: block;
    aspect-ratio: 1;
}
.main-board-wrap .slick-slide {
    padding: 0 10px;
    height: auto;
}

.main-board-wrap .next-btn,
.main-board-wrap .prev-btn {
    z-index: 5;
    border: 0;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 50%;
    transform: translateY(-50%);
    color: #ddd;
    font-size: 54px;
}

.main-board-wrap .next-btn {
    right: -80px;
}

.main-board-wrap .prev-btn {
    left: -80px;
}

.intro-boardbox-type-bbs {
    content-visibility: hidden;
}

.main-bbs .intro-boardbox-type-bbs {
    float: inherit;
    content-visibility: visible;
    padding: 0;
}

.main-bbs .main-board-wrap {
    margin-bottom: 30px;
}

.main-bbs .intro-boardbox-8 {
    padding: 0;
}

.main-bbs .dh-front-blog {
    /* overflow: hidden;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px; */
    margin: 0;
    border: 0;
}

.main-bbs .dh-front-blog::before,
.main-bbs .dh-front-blog::after {
    content: none;
}

.main-bbs .dh-front-blog > div {
    width: 100%;
    padding: 0;
    /* width: 25%; */
    /* padding: 0 10px; */
}

.main-bbs .dh-front-blog :is(.blog-row-contents) {
    /* display: none; */
    text-align: center;
    margin-bottom: 0;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    /* -webkit-line-clamp: 2; */
    -webkit-box-orient: vertical;
}
.main-bbs .dh-front-blog :is(.blog-row-regdate) {
    display: none;
}
.main-bbs .thumbnail .caption {
    padding: 15px 20px;
    height: 110px;
}

.dh-front-blog .col-md-4 .thumbnail a.blogthumb {
    border: 0;
    background-size: cover;
    background-position: center;
}

.main-bbs .dh-front-blog .col-md-4 .thumbnail .caption h5 {
    font-size: clamp(16px, 2vw, 18px);
    text-align: center;
    margin-bottom: 10px;
    margin: px 0 10px;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    line-height: 1;
    padding: 0 !important;
}

.main-bbs .dh-front-blog .col-md-4 .thumbnail .caption h5 .label {
    display: none;
}

.main-bbs .dh-front-blog .col-md-4 .thumbnail {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    min-height: inherit;
    border: 1px solid #ccc;
}

.main-bbs .dh-front-blog .col-md-4 .thumbnail:hover {
    border-color: #0e4194;
    box-shadow: 10px 10px 50px rgba(0, 0, 0, 0.1);
}

.main-bbs .page-header {
    margin-top: 0;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-color: #ccc;
    display: none;
}

.main-bbs .page-header h4 {
    font-size: 34px;
    font-weight: 600;
}

.main-bbs .intro-boardbox .page-header h4 .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35px;
    height: 35px;
    background: #fff;
    border: 1px solid #444;
    border-radius: 0;
}

a.more-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 189px;
    height: 50px;
    margin: 35px auto 0;
    font-size: clamp(14px, 2vw, 16px);
    color: #eb2e34;
    border-radius: 50px;
    border: 1px solid #eb2e34;
    font-weight: 500;
    padding-top: 2px;
    background-color: #fff;
}

a.more-btn i {
    margin-left: 13px;
    margin-top: -2px;
    font-size: 20px;
}

.main-se03 a.more-btn {
    border-color: rgba(255, 255, 255, 0.59);
    color: #fff;
    background: rgba(0, 0, 0, 0.25);
}

@media (hover: hover) {
    section a.more-btn:hover {
        background: #eb2e34;
        border-color: #eb2e34;
        color: #fff;
    }
}

/* =================================== subpage header =================================== */

.subpage-header {
    position: relative;
    display: flex;
    flex-flow: wrap;
    height: 280px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(/skin/img/sub/sub-top01.jpg);
}

/* background */

/* .subpage-header.visual01 {
    background-image: url(/skin/img/sub/sub-top01.jpg);
} */

/* .subpage-header.visual02 {
    background-image: url(/skin/img/sub/sub-top02.jpg);
} */

/* .subpage-header.visual03 {
    background-image: url(/skin/img/sub/sub-top03.jpg);
} */

/* .subpage-header.visual04 {
    background-image: url(/skin/img/sub/sub-top04.jpg);
} */

/* .subpage-header.visual05 {
    background-image: url(/skin/img/sub/sub-top05.jpg);
} */

.subpage-header::before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #000;
    opacity: 0.1;
}

.subpage-header .sub-title {
    display: flex;
    /* align-items: center; */
    justify-content: center;
    flex-direction: column;
    height: 100%;
    position: relative;
    z-index: 2;
}

.subpage-header .sub-title h2 {
    margin: -29px 0 0;
    font-size: 45px;
    color: #fff;
    letter-spacing: -0.065em;
    font-weight: 300;
}

.breadcrumb {
    position: absolute;
    left: 15px;
    background: none;
    padding: 0;
    margin: 0;
    font-size: 13px;
    bottom: 96px;
}

.breadcrumb > li {
    color: rgba(255, 255, 255, 0.57);
}

.breadcrumb > li.active {
    color: #fff;
}

.breadcrumb > li + li:before {
    content: "\f105";
    padding: 0 8px 0 4px;
    font-weight: 900;
    font-size: 12px;
    font-family: "Line Awesome Free";
}

/* =================================== subpage section, title =================================== */
.subpage-content section {
    padding: 80px 0 120px;
}

.subpage-content section > .row + .row {
    margin-top: clamp(60px, 10vw, 120px);
}

.subpage-content .col-sm-12:not(.wrap-title) + .col-sm-12 {
    margin-top: 30px;
}

.subpage-content .wrap-title {
    margin-bottom: 20px;
}
/* [max-medium / landscape phones]  태블릿/모바일, 768px 미만 ▼ */
@media (width <= 767.98px) {
    .subpage-content .wrap-title {
        text-align: center;
    }
}

#pf01 .subpage-content .w01 .wrap-title,
#pf01 .subpage-content .w02 .wrap-title {
    margin-bottom: 25px;
}

.subpage-content .container > h3 {
    margin: clamp(60px, 10vw, 90px) 0 0px 0;
    font-size: clamp(26px, 2vw, 38px);
    color: #111;
    /* display: none; */
}

.subpage-content .wrap-title h4 {
    font-weight: 600;
    font-size: clamp(24px, 2vw, 28px);
    color: #222;
    margin: 0;
    letter-spacing: -0.055em;
}

.subpage-content .wrap-title h4 + span.imp {
    display: inline-block;
    margin-top: 10px;
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    padding: 10px 20px;
    background: #025192;
}

.subpage-content .wrap-content > h5 {
    margin: 0 0 15px;
    padding-left: 10px;
    font-weight: 500;
    font-size: 22px;
    color: #333;
    letter-spacing: -0.05em;
}

.subpage-content .wrap-content > h5::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    display: block;
    width: 3px;
    height: 18px;
    background: #eb2e34;
}

.subpage-content .wrap-content div + h5 {
    margin-top: 40px;
}

.subpage-content .item h6 {
    margin: 0 0 15px;
    font-weight: 600;
    font-size: 20px;
}

.subpage-content p {
    font-size: clamp(15px, 2vw, 17px);
    line-height: 1.45;
    margin: 0;
    color: #707070;
}

.subpage-content p + p {
    margin-top: 15px;
}

.subpage-content p + div {
    margin-top: 30px;
}

/* =================================== subpage content =================================== */

/* 01 */
.ubiz {
    margin-top: 25px;
    position: relative;
    padding: 35px 45px;
    padding-left: 250px;
    background: #f1f4f9;
}

.ubiz::before {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: 54px;
    background: #dedede;
    left: 214px;
    top: 38px;
}

.ubiz dt {
    position: absolute;
    left: 65px;
    top: 55px;
    margin-bottom: 10px;
    font-size: 22px;
    letter-spacing: 0;
    color: #465983;
}

.ubiz dt::before {
    content: "";
    display: block;
    position: absolute;
    background: url(/skin/img/sub/airplane-icon.png);
    width: 30px;
    height: 30px;
    right: 104px;
    top: -12px;
    opacity: 0.2;
}

.ubiz dd {
    font-size: clamp(15px, 2vw, 17px);
}

.ubiz dd + dd {
    margin-top: 5px;
}

.ubiz dd strong {
    color: #111;
    font-size: clamp(18px, 2vw, 20px);
    margin-right: 10px;
    font-weight: 600;
}

/* [max-medium / landscape phones]  태블릿/모바일, 768px 미만 ▼ */
@media (width <= 767.98px) {
    .ubiz dt {
        width: fit-content;
        position: relative;
        left: 0;
        top: 0;
    }
    .ubiz {
        display: flex;
        flex-direction: column;
        padding: 40px;
    }
}

.detail-wrap .text {
    text-align: center;
    padding: 45px 40px;
    background: url(/skin/img/sub/line-bg.png) no-repeat center;
    position: relative;
}

.detail-wrap .text::before {
    content: "";
    display: block;
    position: absolute;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    background: #fff;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.detail-wrap p.top {
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 300;
    line-height: 1.55;
    color: #000;
}

.detail-wrap p.top strong {
    color: #455982;
}
/* [max-medium / landscape phones]  태블릿/모바일, 768px 미만 ▼ */
@media (width <= 767.98px) {
    .detail-wrap .text {
        background-size: cover;
    }
}

/* 02 */
.icon-wrap {
    display: flex;
    flex-wrap: wrap;
}

.icon-wrap .item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 220px;
    padding: 30px 40px;
    border: 1px solid #ccc;
    border-top: 2px solid #eb2e34;
}

.icon-wrap .item i {
    display: inline-block;
    margin: 0 auto 15px;
    color: #eb2e34;
    font-size: 64px;
}

.icon-wrap .item > h5 {
    width: 100%;
    line-height: 1.45;
    text-align: center;
    margin-bottom: 0;
    font-size: clamp(16px, 2vw, 19px);
    font-weight: 500;
    letter-spacing: -0.045em;
}
.icon-wrap::before,
.icon-wrap::after {
    display: none;
}
/* [max-medium / landscape phones]  태블릿/모바일, 768px 미만 ▼ */
@media (width <= 767.98px) {
    .icon-wrap {
        gap: 20px;
    }
    .icon-wrap > div {
        width: 100%;
    }
}

.card-wrap {
    display: flex;
    flex-wrap: wrap;
}

.card-wrap .clearfix {
    margin-bottom: 40px;
    width: 100%;
}

.card-wrap span.num {
    display: inline-block;
    margin-right: 10px;
    font-weight: 400;
    color: #fff;
    font-size: 17px;
    background: #6380b5;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    padding: 5px 9px;
    position: absolute;
    left: 0;
}

.card-wrap .item {
    position: relative;
}

.card-wrap .item p {
    color: #111;
    font-size: 19px;
    margin: 17px 0 0 0;
    font-weight: 500;
    letter-spacing: -0.045em;
    display: flex;
    align-items: center;
    padding-left: 46px;
    position: relative;
}

/* [max-medium / landscape phones]  태블릿/모바일, 768px 미만 ▼ */
@media (width <= 767.98px) {
    .card-wrap .item {
        margin-bottom: 40px;
    }
}

/* 04 */
.refer-wrap {
    margin: 0 -10px;
}

.refer-wrap > div {
    padding: 0 10px;
}

/* 05 */
.sub-partner-wrap {
    /* display: flex; */
    /* flex-wrap: wrap; */
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid #ccc;
    margin: 0;
    border-right: 0;
    border-bottom: 0;
}
/* [max-lager / tablet] 태블릿, 992px 미만 ▼ */
@media (width <= 991.98px) {
    .sub-partner-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* [max-medium / landscape phones]  태블릿/모바일, 768px 미만 ▼ */
@media (width <= 767.98px) {
    .sub-partner-wrap {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}
.sub-partner-wrap > div {
    width: 100%;
}

.sub-partner-wrap a {
    transition: 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #000;
    width: 100%;
    height: 95px;
    font-weight: 500;
    font-size: clamp(15px, 2vw, 17px);
    border: 1px solid #ccc;
    border-left: 0;
    border-top: 0;
}

.sub-partner-wrap a:hover {
    color: #fff;
    background: rgba(169, 15, 21, 0.85);
}

.sub-partner-wrap > div {
    padding: 0;
}

.sub-partner-wrap li img {
    padding: 0 40px;
}
/* map */
:is(.root_daum_roughmap, .root_daum_roughmap .wrap_map, iframe[src^="https://www.google.com/"])
{
    width: 100% !important;
    height: clamp(300px, 30vw, 400px) !important;
    padding: 0 !important;
    background-color: #eee;
}

iframe[src^="https://www.google.com/"]
{
    background-color: #e5e3df;
    margin-bottom: -6px;
}

.li-map {
    padding: 25px 0;
    display: grid;
    grid-template-columns: auto repeat(3, max-content);
    gap: 15px 15px;
    align-items: center;
}

.li-map i {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    background: #184ba8;
    color: #fff;
    border-radius: 50%;
    padding: 5px;
    width: 35px;
    height: 35px;
    margin-top: 0px;
}

.li-map li {
    display: flex;
    align-items: center;
    font-size: 18px;
    gap: 0 7px;
    color: #333;
    font-weight: 500;
    letter-spacing: 0;
}

.li-map li:first-child {
    font-weight: 500;
    line-height: 1.5em;
    font-size: 18px;
    letter-spacing: -0.03em;
}

.li-map li a {
    color: inherit;
}

.li-map li a:hover {
    text-decoration: underline;
}

.li-map li a::after {
    opacity: 0.8;
    display: inline-block;
    content: "\e5cc";
    transform: translateY(5px);
    font-family: var(--gms);
    font-weight: 300;
    font-size: 20px;
    line-height: 0;
    margin-left: 4px;
}
/* [max-medium / landscape phones]  태블릿/모바일, 768px 미만 ▼ */
@media (width <= 767.98px) {
    .li-map {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
}

.in-wrap {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.in-wrap .img-box {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.in-wrap .img-box .item {
    /* aspect-ratio: 1; */
}
.in-wrap .img-box .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.in-wrap .info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 50px 70px;
    background-color: #005bc6;
    color: #fff;
}
.in-wrap h5 {
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 500;
    margin-bottom: 40px;
}
.in-wrap .info .item {
    display: flex;
    align-items: center;
    gap: 20px;
}
.in-wrap .info .item + .item {
    margin-top: 20px;
}
.in-wrap p {
    font-size: clamp(17px, 2vw, 20px);
}
.in-wrap small {
    display: block;
    opacity: 0.7;
}
.in-wrap :is(p, small) {
    color: inherit;
}
/* [max-medium / landscape phones]  태블릿/모바일, 768px 미만 ▼ */
@media (width <= 767.98px) {
    .in-wrap {
        display: flex;
        flex-direction: column;
    }
    .in-wrap .info {
        padding: 40px;
    }
}

/* table */
.table-wrap .table-style {
    margin-bottom: 0;
}

.table-wrap .table-style th,
.table-wrap .table-style td {
    border-color: #ccc;
    padding: 12px 15px;
    font-size: 16px;
    vertical-align: middle;
    color: #333;
}

.table-wrap .table-style thead th {
    font-weight: 500;
    border: 1px solid #ccc !important;
    color: #111;
    text-align: center;
    background: #eff3f9;

    font-size: 16px;
    border-top: 1px solid #6380b5 !important;
}

/* =================================== board, bbs =================================== */
.img-bbs-default-index-layout .bbs-area {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.dh-board,
.img-bbs-default-index-layout .dh-front-gallery {
    content-visibility: hidden;
}

.bbs-area .dh-board,
.img-bbs-default-index-layout .bbs-area .dh-front-gallery {
    content-visibility: visible;
}

.img-bbs-default-index-layout .bbs-area .dh-front-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
    width: 100%;
    padding: 0;
    margin: 0;
}

.img-bbs-default-index-layout .bbs-area .dh-front-gallery > div {
    padding: 0;
    width: 100%;
}

.img-bbs-default-index-layout .bbs-area .dh-front-gallery .form-group:first-child {
    grid-column: span 4;
}

.img-bbs-default-index-layout .bbs-area .dh-front-gallery > .col-md-3 > a.thumbnail {
    margin-top: 0;
    height: auto !important;
    aspect-ratio: 4/3;
}

/* [max-medium / landscape phones]  태블릿/모바일, 768px 미만 ▼ */
@media (width <= 767.98px) {
    .img-bbs-default-index-layout .bbs-area .dh-front-gallery .form-group:first-child {
        grid-column: span 2;
    }
    .img-bbs-default-index-layout .bbs-area .dh-front-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px 15px;
    }
}
.bbs-area h4 {
    font-weight: 500;
    padding: 0;
    color: #222;
    font-size: clamp(20px, 2vw, 26px);
}

.bbs-area h4::before,
.bbs-area h4::after {
    content: none !important;
}

.bbs-area h4.title {
    text-align: center;
}

.bbs-area .reply_wrap h4 {
    text-align: left;
}

.bbs-area .search_wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 0;
}

.bbs-area .search_wrap > * + * {
    margin-left: 5px;
}

.board_wrapper .text-center .btn.btn-lg,
.board_wrapper .text-center .btn + .btn {
    min-width: 200px;
}

.btn.btn-primary {
    font-family: "notokr";
    background-color: #555;
    border: 1px solid #555;
    color: #fff;
    font-size: 14px;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus {
    background-color: #222;
    border-color: #222;
}

/* member */
.member_wrapper {
    max-width: 1140px;
    margin: 0 auto;
}

.member_wrapper h1 {
    margin-top: 0;
}

.member_wrapper .btn {
    transition: all ease 0.3s;
}

.member_wrapper .table tbody tr th {
    background-color: rgba(0, 0, 0, 0.03);
}

.member_wrapper .table tbody tr th span {
    color: #5dae57;
}

.table.table_default tbody tr th.num {
    font-weight: normal;
}

.table.table_default tbody .subject a {
    font-size: 17px;
    color: #333;
}

.table.table_default tr th,
.table.table_default tr td {
    font-size: 15px;
    border-bottom: 1px solid #ddd;
}

.table.table_default thead th {
    background: #fff;
    border-bottom: 1px solid #ccc;
    font-weight: 500;
}

.table_default {
    border-top: 1px solid #333;
}

.table.table_default tr td {
    color: #777;
}

.text-muted {
    font-size: 14px !important;
    margin-top: 8px !important;
}

input.form-control {
    font-family: "notokr", sans-serif;
}

/* wrapper */

.dh-board table tr th,
.dh-board table tr td {
    padding: 20px 15px;
}

.dh-board table thead tr th {
    font-size: 17px;
    font-weight: 500;
}

.dh-board table tbody tr td {
    font-size: 16px;
}

.dh-board > .table-hover {
    border-width: 1px;
    border-bottom-color: #ccc;
    margin: 0;
}

.dhb-txt-box {
    padding: 20px 10px;
    background-color: transparent;
}

.thumb-hidden {
    height: auto !important;
    max-height: inherit !important;
    aspect-ratio: 5/3;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 0;
    box-shadow: none;
    background-color: #f7f7f7;
}

.thumb-hidden > a {
    display: flex;
    object-fit: cover;
    height: 100%;
}

/* [max-medium / landscape phones]  태블릿/모바일, 768px 미만 ▼ */
@media (width <= 767.98px) {
    .dhb-txt-list {
        border: 0;
    }
    .img-bbs-default-index-layout.img-bbs1 {
        overflow: hidden;
    }
}
.bbs-blog2-index-layout .dh-board {
    margin: 0 -15px;
}

.bbs-blog2-index-layout .dhb-txt-box-type-b {
    width: 33.3333%;
    background: transparent;
    padding: 0 15px;
    border: 0;
    margin-bottom: 80px;
}

.bbs-blog2-index-layout .dhb-txt-box-type-b > .row {
    margin: 0;
}

.bbs-blog2-index-layout .dhb-txt-box-type-b > .row > div {
    padding: 0;
}

.dhb-txt-box-type-b-text-layout h4 {
    text-align: center;
    margin: 20px 0 10px;
    font-size: 20px;
    font-weight: 500;
}

.dhb-txt-box-type-b-text-layout h4 strong {
    font-weight: 500;
    letter-spacing: -0.034em;
}

.dhb-txt-box-type-b-img-layout .thumb-hidden {
    height: 200px;
    max-height: inherit;
    padding: 0;
    border: 0;
    box-shadow: none;
}

.dhb-txt-box-type-b-text-layout .txt-box-footer {
    display: flex;
    justify-content: center;
    width: 100%;
    float: inherit;
    text-align: center;
    margin-top: 0;
}

.dhb-txt-box-type-b-text-layout .txt-box-footer,
.dhb-txt-box-type-b-text-layout .txt-box-footer .hits {
    font-size: 14px !important;
    color: #666 !important;
    font-weight: 400;
}

.dhb-txt-box-type-b-text-layout .txt-box-footer br {
    display: none;
}

.dhb-txt-box-type-b-text-layout .txt-box-footer em {
    display: none;
}

.dhb-txt-box-type-b-text-layout .txt-box-footer > * {
    margin-right: 10px;
}

.dhb-txt-box-type-b-text-layout .txt-box-footer > *:last-child {
    margin-right: 0;
}

.dh-margin-top {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    gap: 20px;
}

.dh-margin-top .col-md-7 {
    width: 100%;
}

.dh-margin-top > * {
    width: auto;
}

.dh-margin-top > *:first-child {
    margin-top: 0px;
    order: 2;
}

.dh-margin-top > *:nth-child(2) {
    width: 35%;
    order: 1;
}

.dh-view-box {
    margin: 0;
}

.dh-view-box h4 {
    text-align: left;
    margin: 25px 0;
    font-size: 22px;
    letter-spacing: -0.05em;
    font-weight: 400;
}

.dh-view-box > .row > .page-header {
    border-bottom: 1px solid #ccc;
    margin: 0;
    padding: 2px 20px 0;
}

.dh-view-box > .row > .dh-view-info {
    padding: 12px 15px 10px;
    margin-bottom: 15px;
}

.dh-view-box > .row > .dh-view-info > span {
    font-size: 13px;
}

.dh-view-box .dh-attach h6 b {
    font-size: 13px;
    color: #000;
}

.dh-view-box .dh-attach h6 {
    padding: 8px 5px;
}

.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
    background: transparent;
    color: #000;
    border-color: #ccc;
}

.label-danger {
    transform: translateY(-3px);
}

.label {
    display: inline-flex;
    padding: 0;
    line-height: 0;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 16px;
    margin-left: 3px;
}

.form-horizontal {
    padding: 50px;
    background: #f4f4f4;
}

.form-horizontal h2 {
    text-align: center;
    margin-bottom: 35px;
    letter-spacing: -0.06em;
    font-size: 28px;
    color: #999;
    font-weight: 500;
}

.form-horizontal .form-group {
    display: flex;
    justify-content: center;
}

.form-horizontal .form-group .col-sm-2 {
    width: 120px;
}

.form-horizontal .col-sm-offset-2 {
    margin: 0;
}

.btn-group-lg > .btn,
.btn-lg {
    border-radius: 0;
    min-width: 150px;
    font-size: 16px;
    margin-top: 20px;
}

.checkbox label,
.radio label {
    font-size: 15px;
    letter-spacing: -0.06em;
}

.custom_checkbox + span a {
    font-weight: 500;
}

.privacy_body {
    font-size: 16px;
    line-height: 1.6em;
    padding: 0 100px;
}

.badge {
    padding: 6px 6px;
    border-radius: 2px;
    font-weight: 400;
    font-size: 13px;
    margin-right: 3px;
}

label.error,
.text-danger {
    margin-top: 7px;
    font-weight: 400;
    color: #e00000;
    font-size: 14px;
}

.btn-group-sm > .btn,
.btn-sm {
    font-size: 14px;
}

/* login */

.login-layout,
.id-find-layout,
.pw-find-layout {
    background: #f5f5f5;
    padding: 100px 15px;
}

.login-layout .panel,
.id-find-layout .panel,
.pw-find-layout .panel {
    box-shadow: none;
    max-width: 500px;
    padding: 80px 40px 80px;
    margin: 0 auto;
    border: 1px solid #ddd;
    border-radius: 0px;
}

.login-layout .panel hr,
.id-find-layout .panel hr,
.pw-find-layout .panel hr {
    display: none;
}

.login-layout .panel .panel-body,
.id-find-layout .panel .panel-body,
.pw-find-layout .panel .panel-body {
    padding: 0;
}

.login-layout .panel-body > div.col-sm-12,
.id-find-layout .panel-body > div.col-sm-12,
.pw-find-layout .panel-body > div.col-sm-12 {
    float: none;
}

.login-layout .panel-body > div.col-sm-12 h2,
.id-find-layout .panel-body > div.col-sm-12 h2,
.pw-find-layout .panel-body > div.col-sm-12 h2 {
    text-align: center;
    margin: 0 0 15px;
    line-height: 1;
    color: #222;
    font-size: 32px;
}

.inner-box-msg {
    width: 100%;
    text-align: center;
    float: none;
    margin-bottom: 30px;
    padding: 0;
}

.inner-box-msg p {
    font-size: 14px;
    letter-spacing: -0.03em;
    color: #555;
    margin: 0;
}

.inner-box-form {
    width: 100%;
    float: none;
    margin: 0 auto;
    overflow: hidden;
    padding: 0;
}

.login-layout label,
.id-find-layout label,
.pw-find-layout label {
    font-size: 16px;
    letter-spacing: -0.03em;
    color: #222;
    font-weight: 500;
    margin: 0 0 10px;
    line-height: 1;
}

.login-layout .form-control,
.id-find-layout .form-control,
.pw-find-layout .form-control {
    box-shadow: none;
    border-radius: 0px;
    border: 1px solid #ddd;
    height: 40px;
    color: #555;
    font-size: 15px;
    letter-spacing: -0.03em;
}

.login-layout .form-control:focus,
.id-find-layout .form-control:focus,
.pw-find-layout .form-control:focus {
    border-color: #aaa;
}

.login-layout .btn-warning,
.id-find-layout .btn-warning,
.pw-find-layout .btn-warning {
    float: none;
    width: 100%;
    height: 50px;
    background: #184ba8;
    border-radius: 0px;
    border: none;
    font-size: 15px;
    letter-spacing: -0.03em;
    box-shadow: none;
    margin-top: 15px;
    transition: all ease 0.3s;
}

.login-layout .btn-warning:hover,
.id-find-layout .btn-warning:hover,
.pw-find-layout .btn-warning:hover {
    background: #0d52d2;
}

.login-layout form > div > p,
.id-find-layout form > div > p,
.pw-find-layout form > div > p {
    width: 50%;
    margin: 0;
    float: left;
    text-align: center;
    line-height: 1;
}

.login-layout form > div > p + p,
.id-find-layout form > div > p + p,
.pw-find-layout form > div > p + p {
    border-left: 1px solid #ccc;
}

.login-layout form > div > p > a,
.id-find-layout form > div > p > a,
.pw-find-layout form > div > p > a {
    font-size: 14px;
    color: #555;
    letter-spacing: -0.03em;
    display: block;
    padding: 2px 0;
}

@media (max-width: 768px) {
    .login-layout,
    .id-find-layout,
    .pw-find-layout {
        padding: 20px 15px;
    }

    .login-layout .panel,
    .id-find-layout .panel,
    .id-find-layout .panel {
        padding: 40px;
    }

    .login-layout .panel-body > div.col-sm-12 h2,
    .id-find-layout .panel-body > div.col-sm-12 h2,
    .pw-find-layout .panel-body > div.col-sm-12 h2 {
        font-size: 24px;
    }

    .inner-box-msg p {
        font-size: 12px;
    }

    .login-layout label,
    .id-find-layout label,
    .pw-find-layout label {
        font-size: 14px;
    }

    .login-layout .form-control,
    .id-find-layout .form-control,
    .pw-find-layout .form-control {
        font-size: 13px;
        height: 36px;
    }

    .login-layout form > div > p > a,
    .id-find-layout form > div > p > a,
    .pw-find-layout form > div > p > a {
        font-size: 12px;
    }

    .login-layout .btn-warning,
    .id-find-layout .btn-warning,
    .pw-find-layout .btn-warning {
        height: 45px;
        font-size: 14px;
        margin-top: 10px;
    }
}

/* =================================== mobile =================================== */
/* mainpage */
@media (max-width: 767px) {
    /* carousel */
    #mainCarousel .carousel-inner .item {
        height: 500px;
    }

    .carousel-caption {
        left: 5%;
        right: 5%;
        top: 50%;
        text-align: center;
    }

    .carousel-caption h1 {
        font-size: 34px;
        line-height: 1.25;
    }

    .carousel-control {
        /* font-size: 14px; */
        display: none;
    }

    .carousel-indicators li,
    .carousel-indicators li.active {
        width: 10px;
        height: 10px;
    }

    .mainpage {
        /* margin-top: 0; */
        /* background: #333; */
    }

    .carousel-caption p {
        font-size: 20px;
    }
}

/* subpage */
@media (max-width: 767px) {
    .subpage-header {
        height: 200px;
    }

    .snb {
        margin-top: 15px;
        border: 0;
    }

    .snb ul {
        flex-wrap: wrap;
    }

    .snb li {
        margin: 0;
        flex: auto;
        width: 100%;
    }

    .snb li + li {
        margin-top: 4px;
    }

    .snb li > a {
        padding: 0;
        width: 100%;
        height: 60px;
        color: #444;
        background: #f4f4f4;
        font-size: 17px;
        border: 1px solid #fff;
    }

    .snb li.active a,
    .snb li a:hover {
        color: #000;
        background: #fff;
        border: 1px solid #ccc;
    }

    .breadcrumb {
        position: static;
        /* margin: 0; */
        /* width: 100%; */
        text-align: center;
        margin-top: 15px;
    }

    .subpage-content section {
        padding: 50px 0 70px;
    }

    .subpage-content section > .row {
        margin-bottom: 50px;
    }

    .subpage-content h3 {
        margin-top: 75px;
        font-size: 40px;
        text-align: center;
    }

    .subpage-content h4 {
        /* font-size: 32px; */
        margin-top: 20px;
    }

    .subpage-content .col-sm-12 + .col-sm-12 {
        margin-top: 25px;
    }

    .sub-value-wrap h5 {
        font-size: 30px;
    }

    .subpage-header .sub-title h2 {
        font-size: 34px;
        margin: 10px 0 0 0;
        text-align: center;
    }
}

/* bbs, etc */
@media (max-width: 767px) {
    .bbs-blog2-index-layout .dhb-txt-box-type-b {
        width: 100%;
        margin-bottom: 40px;
    }

    .dh-margin-top > *:nth-child(2) {
        width: calc(100% - 30px);
    }

    .dhb-txt-box-type-b-text-layout h4 {
        font-size: 24px !important;
    }

    .dh-view-box h4 {
        font-size: 20px !important;
    }
}

@media (max-width: 767px) {
    .bbs-blog2-index-layout .dhb-txt-box-type-b {
        width: 100%;
        margin-bottom: 40px;
    }

    .dh-margin-top > *:nth-child(2) {
        width: calc(100% - 30px);
    }

    .dhb-txt-box-type-b-text-layout h4 {
        font-size: 24px !important;
    }

    .dh-view-box h4 {
        font-size: 20px !important;
    }
}
