@charset "utf-8";

html {
    overflow-x: hidden;
    overflow-y: scroll;
}

#site {
    background-color: #fff;
    word-break: keep-all !important;
    padding-top: 125px;
}

#site > .container {
    width: 100%;
    padding: 0;
}

/* 폰트 설정 */
#site,
h1, h2, h3, h4, h5, h6,
input, textarea, button {
    font-family: 'Noto Sans KR', 'Apple SD Neo Gothic', 'Malgun Gothic', 'Gulim', sans-serif;
}

/* h1, h2, h3, h4, h5, h6, p { margin: 0px; } */
ol, ul, li {
    list-style: none;
    list-style-position: inside;
}

.navbar .caret,
.navbar .divider-vertical,
.navbar ~ br,
.footer-social-layout,
.footer_copy .text-center > br,
.topmarginLay_a {
    display: none;
}

.afia_color {
    /* color: #2f6ecb !important; */
}

/* 상단 네비게이션 */

.navbar.navbar-inverse {
    background-color: #fff;
    border-bottom: 1px solid #ddd;
    background: #000;
    border-bottom: 1px solid #333;
}

.navbar-header .navbar-brand {
    display: block;
    padding: 0;
    font-size: 20px;
    margin-left: 0 !important;
    margin-top: 15px;
    margin: 12px 0 12px;
    height: auto;
}

.navbar-header .navbar-brand img {
    margin-top: 0;
    display: inline-block;
    vertical-align: middle;
}

.navbar-header .navbar-brand .store_link {
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    font-weight: 500;
    font-size: 16px;
    color: #2f6ecb;
    padding: 6px 20px;
    border: 1px solid #2f6ecb;
    border-radius: 2px;
    border: 1px solid #b9b9b9;
    color: #fff;
    letter-spacing: -0.015em;
}

.navbar-header .navbar-brand .store_link:hover {
    color: #fff;
    background: #2f6ecb;
    border-color: #2f6ecb;
    text-decoration: none;
}

.nav.navbar-nav > li > a {
    display: block;
    height: 100%;
    padding: 35px 30px;
    font-size: 18px;
    color: #333;
    font-weight: 500;
    letter-spacing: -0.035em;
    color: #fff;
    padding: 41px 30px;
}

.nav.navbar-nav > li:hover > a,
.nav.navbar-nav > li.open > a,
.nav.navbar-nav > li:focus > a,
.navbar-inverse .navbar-nav > li > a:focus,
.navbar-inverse .navbar-nav > li > a:hover {
    color: #2f6ecb !important;
    background: none !important;
}

.nav.navbar-nav li .dropdown-menu {
    left: 0;
    right: auto;
    border-radius: 0;
    border: 1px solid #ddd;
    border-top: 2px solid #2f6ecb;
    padding: 0;
    background: #fff;
    box-shadow: none;
    border-bottom: none;
}

.nav.navbar-nav li .dropdown-menu li a {
    padding-top: 12px;
    padding-bottom: 12px;
    color: #555;
    letter-spacing: -0.035em;
    font-size: 14px;
    border-bottom: 1px solid #e5e5e5;
    font-weight: 500;
}

.nav.navbar-nav li .dropdown-menu li:hover a {
    background: #2f6ecb;
    color: #fff;
}

.nav-top {
    padding: 7px 0;
    background: #f3f3f3;
    background: #2c2d2e;
    color: #fff;
}

.nav-top .tel {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    display: inline-flex;
    align-items: center;
}

.nav-top .tel > i {
    margin-right: 5px;
    background: #2f6ecb;
    color: #fff;
    display: inline-block;
    width: 23px;
    height: 23px;
    line-height: 23px;
    text-align: center;
    border-radius: 50%;
    font-size: 13px;
    pointer-events: none;
}


/* //상단 네비게이션 */

/* 슬라이드 영역 */

#mainCarousel .carousel-control {
    display: none;
}

#mainCarousel .carousel-inner .item {
    height: 700px;
}

#mainCarousel .carousel-inner .item .carousel-caption {
    padding: 0;
    text-shadow: none;
}

#mainCarousel .carousel-inner .item .carousel-caption h1 {
    font-weight: 400;
    line-height: 1.55;
    font-size: 36px;
    letter-spacing: -0.04em;
}

#mainCarousel .carousel-inner .item .carousel-caption h1 > span {
    font-weight: 700;
    display: block;
    margin-top: 40px;
    font-size: 60px;
    letter-spacing: -0.05em;
}

#mainCarousel .carousel-inner .item:nth-child(1) .carousel-caption h1 {
    line-height: 1.4;
}

#mainCarousel .carousel-inner .item:nth-child(1) .carousel-caption h1 > span {
    margin: 0 0 30px;
}

#mainCarousel .carousel-inner .item:nth-child(2) .carousel-caption h1 > span {
    margin-top: 0;
}

#mainCarousel .carousel-inner .item:nth-child(3) .carousel-caption h1 > span {
    margin-top: 0;
}

#mainCarousel .carousel-inner .item .carousel-caption h1 > small {
    color: #fff;
    letter-spacing: 0.015em;
    font-size: 29px;
}

.carousel-indicators {
    bottom: 35px;
}

.carousel-indicators li,
.carousel-indicators li.active {
    width: 14px;
    height: 14px;
    border: none;
    background: #fff;
    margin: 0 4px;
    opacity: 0.6;
}

.carousel-indicators li.active {
    opacity: 1;
    background: #4b8ff0;
}

/* //슬라이드 영역 */

/* 메인 중단영역 */

#main_wrapper > section {
    padding: 100px 0 70px;
}

#main_wrapper > section h4 {
    text-align: center;
    font-size: 36px;
    font-weight: 600;
    margin-top: 0;
    margin: 0 0 45px;
    color: #111;
    letter-spacing: -0.03em;
}

#main_wrapper > section h4::after {
    /* content: ''; */
    display: block;
    width: 1px;
    height: 50px;
    margin: 30px auto;
    background: #74cdec;
}

.main_curriculum .thumbnail {
    display: block;
    padding: 0;
    border: 0;
    margin-top: 0;
    margin-bottom: 36px;
    position: relative;
    overflow: hidden;
    border-radius: 0;
    border-radius: 12px;
}

.main_curriculum .thumbnail:hover {
    text-decoration: none;
}

.main_curriculum .thumbnail .caption {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 66%;
    left: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 75%, transparent);
    transition: all 0.5s ease;
    color: #fff;
    padding: 30px 35px 30px;
}

.main_curriculum .thumbnail .caption h5 {
    margin: 0;
    text-align: center;
    color: #fff;
    font-size: 24px;
    width: 100%;
    padding-bottom: 30px;
    letter-spacing: -0.025em;
    font-weight: 600;
}

.main_curriculum .thumbnail .caption p {
    font-size: 15px;
    margin: 0;
    color: #fff;
    letter-spacing: -0.015em;
    line-height: 1.8;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    padding-top: 25px;
}

.main_curriculum .thumbnail:hover .caption {
    top: 0;
    background: rgba(0, 0, 0, 0.75);
}

.main_curriculum .thumbnail .caption h5 > small {
    display: block;
    color: #9ab6f0;
    font-weight: 600;
    margin-top: 6px;
    font-size: 11px;
    letter-spacing: 0.15em;
}

.main_curriculum .bottom {
}

.main_curriculum .bottom:before {
    content: '';
    display: block;
    width: 45px;
    height: 1px;
    background: #eee;
    margin: 45px auto 60px;
}

#main_wrapper > section:nth-of-type(2) {
    background: #244789 url(/public/img/main/contact-bg.jpg) no-repeat center / cover;
}

.main_contact .contact {
    display: block;
    background: rgba(0, 0, 0, 0.3);
    padding: 52px 30px 0;
    border: 3px solid rgba(255, 255, 255, 0);
    border-radius: 50%;
    width: 260px;
    height: 260px;
    margin: 0 auto 30px;
}

.main_contact .contact:hover {
    text-decoration: none;
    background: rgba(0, 0, 0, 0.5);
    border-color: #295fba;
}

.main_contact .contact > img {
    margin-bottom: 15px;
}

.main_contact .contact > i {
    display: block;
    height: 100px;
    color: #000;
    font-size: 60px;
    padding-top: 20px;
    margin: 0 auto;
    text-align: center;
}

.main_contact .contact > h5 {
    text-align: center;
    margin: 0;
    font-size: 26px;
    color: #fff;
    letter-spacing: -0.06em;
}

/* //메인 중단영역 */

/* 서브페이지 */

.subHeader {
    height: 330px;
    background-image: url(/public/img/sub/sub_title.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}

.subHeader::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
}

.subHeader .container {
    position: relative;
    height: 100%;
}

.subHeader .container h2 {
    text-align: center;
    color: #fff;
    font-size: 50px;
    margin: 0;
    position: absolute;
    left: 50%;
    top: 45%;
    transform: translate(-50%, -50%);
    font-weight: 600;
}

.subHeader .container .breadcrumb {
    position: absolute;
    right: 15px;
    top: 15px;
    margin: 0;
    padding: 0;
    background: none;
    border-radius: 0;
}

.subHeader .container .breadcrumb > li > a,
.subHeader .container .breadcrumb > li.active {
    color: #fff;
    font-weight: 300;
    font-size: 13px;
    letter-spacing: -0.02em;
    padding-top: 12px;
}

.breadcrumb > li + li:before {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    color: #fff;
    opacity: 0.6;
    padding: 0px 8px;
}

.subMenu {
    margin-top: -61px;
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    text-align: center;
}

.subMenu .nav {
    text-align: center;
}

.subMenu .nav > li {
    margin: 0;
    min-width: 185px;
    float: none;
    display: inline-block;
}

[id^="AFIA"] .subMenu .nav > li {
    /* width: 33.3333333333%; */
}

[id^="Curriculum"] .subMenu .nav > li {
    /* width: 25%; */
}

[id^="Contact"] .subMenu .nav > li {
    /* width: 50%; */
}

.subMenu .nav > li > a {
    color: #fff;
    text-align: center;
    font-size: 18px;
    letter-spacing: -0.03em;
    padding: 14px 0 18px;
    font-weight: 400;
    position: relative;
    border-top: 4px solid rgba(0, 0, 0, 0);
    margin-top: -1px;
    border-radius: 0;
}

.subMenu .nav > li > a::after {
    content: "";
    width: 1px;
    height: 20px;
    opacity: 0.25;
    position: absolute;
    right: 0;
    top: 15px;
}

.subMenu .nav > li:last-child > a::after {
    display: none;
}

.subMenu .nav > li.active > a,
.subMenu .nav > li.active:hover > a {
    font-weight: 600;
    color: #fff;
    background: rgba(0, 0, 0, 0);
    border-top-color: #2f6ecb;
}

.subMenu .nav > li:hover > a {
    background: rgba(0, 0, 0, 0);
}

.subContent {
    padding-top: 90px;
    padding-bottom: 50px;
}

.subContent_title {
    text-align: center;
    margin: 0 0 88px;
    font-size: 45px;
    font-weight: 600;
    color: #303030;
    letter-spacing: -0.025em;
}

#Curriculum04.scuba .subContent_title small {
    display: block;
    color: #2f6ecb;
    margin-top: 15px;
    font-weight: 500;
}

#Curriculum04 .abt_afia {
    min-height: 290px;
}

#Curriculum04.scuba-master .abt_afia {
    min-height: 240px;
    height: auto;
}

#Curriculum04 .blue {
    font-weight: 500;
}

#Curriculum04 :where(h4, h5) .blue {
    font-weight: 800;
}

.subContent_title::after {
    /* content: ''; */
    display: block;
    width: 1px;
    height: 60px;
    background: #2f6ecb;
    margin: 40px auto;
}

.subContent .content {
    padding-bottom: 80px;
}

#Curriculum04 .subContent .content:nth-child(n+1):before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #ddd;
    margin: 0 auto 120px;
}

.subContent .content h4 {
    font-size: 30px;
    font-weight: 500;
    margin: 0px 0 30px;
    line-height: 1.45;
    position: relative;
    letter-spacing: -0.04em;
    color: #2f2f2f;
}

.subContent .content h4::after {
    /* content: ''; */
    display: block;
    height: 3px;
    width: 50px;
    background: #2f6ecb;
}

.subContent .content p {
    font-size: 16px;
    letter-spacing: -0.03em;
    line-height: 1.6;
    margin-bottom: 25px;
    color: #666;
}

.subContent .content p + .table-responsive {
    margin-top: 25px;
}

table.table.table_default.table_afia {
    border: 1px solid #ddd;
    border-top: 2px solid #333;
    table-layout: auto;
}

.table_default.table_afia tr th,
.table_default.table_afia tr td {
    font-size: 15px;
    letter-spacing: -0.035em;
    border: 1px solid #ddd !important;
    padding: 13px 14px;
}

.scuba-master .table_default.table_afia tr th {
    background: #f8f8f8;
}

.scuba-master .table_default.table_afia tr th.bg {
    background: #e5f0ff;
}

.scuba-master .table_default.table_afia tr th.bg.total {
}

.scuba-master .table_default.table_afia small {
    font-size: 14px;
}

.scuba-master .table_default.table_afia tr td {
    text-align: left;
}

.scuba-master .table_default.table_afia .total .red {
    font-size: 20px;
    display: inline-block;
    margin-bottom: 3px;
}

.scuba-master .table_default.table_afia .total td {
    font-size: 16px;
    color: #333;
}

#AFIA01 .con2 > .row {
    margin: 0 -22px;
}

#AFIA01 .con2 > .row > div {
    padding: 0 22px;
}

.abt_afia {
    border-radius: 13px;
    margin-bottom: 35px;
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.13);
    padding: 48px 46px 48px;
}

.col-sm-6:nth-child(7) .abt_afia,
.col-sm-6:nth-child(8) .abt_afia {
    height: 370px;
}

.abt_afia::after {
    content: '';
    display: table;
    clear: both;
}

.abt_afia dd b {
    color: #f00;
    text-decoration: underline;
}

.abt_afia dd b > span {
    background: #e63e3e;
    color: #fff;
    padding: 0px 5px;
    border-radius: 2px;
}

.subContent .content .abt_afia .num {
    float: left;
    display: inline-block;
    text-align: center;
    color: #2f6ecb;
    font-weight: 600;
    font-size: 44px;
    letter-spacing: -3px;
    line-height: 1;
    margin: 0;
    z-index: 1;
    display: block;
    position: relative;
}

.subContent .content .abt_afia .num::before {
    content: "";
    width: 25px;
    height: 25px;
    background: #dde8ff;
    border-radius: 50%;
    position: absolute;
    left: -9px;
    top: -3px;
    z-index: -1;
}

.abt_afia dl {
    margin-bottom: 0;
    padding-top: 70px;
}

.abt_afia dt {
    font-size: 24px;
    color: #222;
    letter-spacing: -0.07em;
    font-weight: 500;
    line-height: 1.35;
}

.abt_afia dd {
    font-size: 16px;
    letter-spacing: -0.02em;
    line-height: 1.65;
    margin-top: 13px;
    color: #666;
}

#AFIA01 .con3 .timeline {
    padding-left: 60px;
    position: relative;
}

#AFIA01 .con3 .timeline::before {
    content: '';
    display: block;
    position: absolute;
    width: 1px;
    height: 100%;
    border-left: 1px solid #ccc;
    left: 15px;
}

#AFIA01 .con3 .timeline .timeline-item {
    padding: 30px 0 30px;
    border-bottom: 1px dashed #ddd;
}

#AFIA01 .con3 .timeline .year {
    position: relative;
    font-size: 30px;
    font-weight: 600;
    margin: 0 0 15px;
    color: #2f6ecb;
    line-height: 1;
}

#AFIA01 .con3 .timeline .year::before {
    content: '';
    display: block;
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 4px solid #2f6ecb;
    left: -52px;
    top: 9px;
    background: #fff;
}

#AFIA01 .con3 .timeline .year::after {
    content: '';
    display: block;
    position: absolute;
    width: 24px;
    height: 1px;
    border-top: 1px solid #ccc;
    left: -38px;
    top: 16px;
    z-index: -1;
}

#AFIA01 .con3 .timeline .dl_time {
    margin: 0;
}

#AFIA01 .con3 .timeline .dl_time dt {
    font-size: 20px;
    margin: 0 0 5px;
    color: #0c7498;
}

#AFIA01 .con3 .timeline .dl_time dd {
    font-size: 17px;
}

.instructor {
    margin-bottom: 55px;
}

#AFIA02 .col-sm-8 {
    padding-left: 45px;
}

#AFIA02 img {
    border-radius: 12px;
    width: 100%;
}

#AFIA02 .name {
    font-size: 44px;
    letter-spacing: 2px;
    font-weight: 500;
    margin: 35px 0 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #aaa;
    color: #333;
}

#AFIA02 .name small {
    display: block;
    color: #2f6ecb;
    letter-spacing: -0.02em;
    font-size: 18px;
    font-weight: 500;
}

#AFIA02 .name .en {
    margin-left: 5px;
    font-size: 22px;
    letter-spacing: -0.02em;
}

.li_career {
    padding: 0;
    margin-top: 55px;
}

.li_career > li {
    padding-left: 10px;
    font-size: 14px;
    position: relative;
    margin-bottom: 5px;
    letter-spacing: -0.04em;
    color: #666;
}

.li_career > li::before {
    content: '';
    display: block;
    width: 4px;
    height: 4px;
    background: #aaa;
    position: absolute;
    left: 0px;
    top: 7px;
    border-radius: 50%;
}

#AFIA02 .sub_instructor {
    padding-top: 80px;
    margin-top: 80px;
    border-top: 1px solid #ddd;
}

#AFIA02 .sub_instructor .name {
    font-size: 30px;
}

#AFIA02 .sub_instructor .li_career {
    margin-top: 15px;
}

#AFIA03 iframe {
    pointer-events: none;
}

#AFIA03 p.p_location {
    padding: 15px 15px;
    font-size: 20px;
    line-height: 1;
    margin: 0;
    font-weight: 700;
    background: #f8f8f8;
    margin-top: -5px;
}

#AFIA04 .content .inner,
#AFIA03 .content .inner {
    padding: 50px 0;
    border-bottom: 1px dashed #ccc;
}

#AFIA04 .content .inner:last-child,
#AFIA03 .content .inner:last-child {
    border-bottom: 0;
}

#AFIA04 .content .li_center,
#AFIA03 .content .li_center {
    padding: 0;
    margin: 0 0 30px;
}

#AFIA04 .content .li_center li,
#AFIA03 .content .li_center li {
    font-size: 18px;
    padding: 5px 0 5px 10px;
    position: relative;
}

#AFIA04 .content .li_center li > b,
#AFIA03 .content .li_center li > b {
    display: inline-block;
    margin-right: 15px;
}

#AFIA04 .content .li_center li::before,
#AFIA03 .content .li_center li::before {
    content: '';
    display: block;
    width: 3px;
    height: 10px;
    background: #000;
    position: absolute;
    left: 0;
    top: 12px;
}

#AFIA04 .content .img-wrap,
#AFIA03 .content .img-wrap {
}

#AFIA04 .content img,
#AFIA03 .content .inner img {
    margin-bottom: 30px;
}

#Curriculum01 .subContent .nav-tabs,
#Curriculum02 .subContent .nav-tabs,
#Curriculum03 .subContent .nav-tabs,
#Curriculum04 .subContent .nav-tabs {
    border: 0;
    margin: 0 -5px 80px;
}

#Curriculum01 .subContent .nav-tabs > li,
#Curriculum02 .subContent .nav-tabs > li {
    width: calc(100% / 3);
    background: #fff;
    padding: 0 5px;
    margin: 0 0 12px;
}

#Curriculum03 .subContent .nav-tabs > li {
    width: 25%;
    background: #fff;
    padding: 0 5px;
    height: 80px;
}

#Curriculum04 .subContent .nav-tabs > li {
    width: 25%;
    background: #fff;
    padding: 0 5px;
    height: 80px;
}

/* ==============================
   ✅ 스쿠버(#Curriculum04.scuba) 탭
   웹: 3개씩 2줄 / 모바일: 1줄
================================ */
#Curriculum04.scuba .subContent .nav-tabs > li {
    width: calc(100% / 3);
    margin: 0 0 12px;
}

#Curriculum01 .subContent .nav-tabs > li > a,
#Curriculum02 .subContent .nav-tabs > li > a,
#Curriculum03 .subContent .nav-tabs > li > a,
#Curriculum04 .subContent .nav-tabs > li > a {
    line-height: 80px;
    padding: 0;
    border: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -0.03em;
    margin: 0;
    transition: all .2s ease;
    text-align: center;
    border-radius: 6px;
    opacity: 0.6;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.9);
    display: block;
}

#Curriculum01 .subContent .nav-tabs > li > a:hover,
#Curriculum02 .subContent .nav-tabs > li > a:hover,
#Curriculum03 .subContent .nav-tabs > li > a:hover,
#Curriculum04 .subContent .nav-tabs > li > a:hover {
    opacity: 0.90;
    filter: none;
}

#Curriculum01 .subContent .nav-tabs > li:nth-child(1) > a,
#Curriculum02 .subContent .nav-tabs > li:nth-child(1) > a {
    background-image: url(/public/img/sub/course1.jpg);
}

#Curriculum01 .subContent .nav-tabs > li:nth-child(2) > a,
#Curriculum02 .subContent .nav-tabs > li:nth-child(2) > a {
    background-image: url(/public/img/sub/course2.jpg);
}

#Curriculum01 .subContent .nav-tabs > li:nth-child(3) > a,
#Curriculum02 .subContent .nav-tabs > li:nth-child(3) > a {
    background-image: url(/public/img/sub/course3.jpg);
}

#Curriculum01 .subContent .nav-tabs > li:nth-child(4) > a,
#Curriculum02 .subContent .nav-tabs > li:nth-child(4) > a {
    background-image: url(/public/img/sub/course4.jpg);
}

#Curriculum01 .subContent .nav-tabs > li:nth-child(5) > a,
#Curriculum02 .subContent .nav-tabs > li:nth-child(5) > a {
    background-image: url(/public/img/sub/course5.jpg);
}

#Curriculum01 .subContent .nav-tabs > li:nth-child(6) > a,
#Curriculum02 .subContent .nav-tabs > li:nth-child(6) > a {
    background-image: url(/public/img/sub/course6.jpg);
}

/*
#Curriculum03 .subContent .nav-tabs > li:nth-child(2) > a{
    background-image: url(/public/img/sub/cpr_course1.jpg);
}
#Curriculum03 .subContent .nav-tabs > li:nth-child(3) > a{
    background-image: url(/public/img/sub/cpr_course2.jpg);
}
*/

#Curriculum01 .subContent .nav-tabs > li.active > a,
#Curriculum02 .subContent .nav-tabs > li.active > a,
#Curriculum03 .subContent .nav-tabs > li.active > a,
#Curriculum04 .subContent .nav-tabs > li.active > a {
    cursor: pointer;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
    font-size: 16px;
    font-weight: 600;
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.9);
    opacity: 1;
}

[id^="Curriculum"] .subContent .content .inner {
    padding-bottom: 60px;
    margin-bottom: 55px;
    border-bottom: 1px dashed #d3d3d3;
}

[id^="Curriculum"] .subContent .content .inner:last-child {
    border: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}

[id^="Curriculum"] .subContent .content .inner:last-child p {
    font-size: 20px;
    margin-bottom: 15px;
}

[id^="Curriculum"].scuba-master .subContent .content .inner:last-child p {
    font-size: 16px;
}

[id^="Curriculum"] .subContent .content .inner h5,
#AFIA03 .subContent .content .inner h5,
#AFIA04 .subContent .content .inner h5 {
    color: #295fba;
    font-size: 24px;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 18px;
    letter-spacing: -0.07em;
    line-height: 1;
    position: relative;
}

[id^="Curriculum"] .subContent .content .inner h5 > small,
#AFIA04 .subContent .content .inner h5 > small {
    margin-left: 10px;
    font-size: 20px;
}

[id^="Curriculum"] .subContent .content .inner p:last-child,
[id^="Curriculum"] .subContent .content .inner table:last-child {
    margin-bottom: 0;
}

[id^="Curriculum"] .subContent .content .inner .li_inner {
    padding: 0;
    margin: 0;
}

[id^="Curriculum"] .subContent .content .inner .li_inner > li {
    position: relative;
    padding: 4px 0px 4px 20px;
    font-size: 16px;
    letter-spacing: -0.02em;
    color: #666;
}

[id^="Curriculum"] .subContent .content .inner .li_inner > li::before {
    content: '';
    display: block;
    width: 4px;
    height: 4px;
    background: #797979;
    position: absolute;
    top: 14px;
    left: 8px;
}

#Curriculum01 .subContent .content .inner .note {
    padding: 20px 35px;
    background: #f9f9f9;
    border-radius: 10px;
}

#Curriculum01 .subContent .content .inner .note p {
    font-size: 15px;
}

#Curriculum03 .subContent .nav-tabs > li:nth-child(1) > a,
#Curriculum04 .subContent .nav-tabs > li:nth-child(1) > a {
    background-image: url(/public/img/sub/cpr_course1.jpg);
}

#Curriculum03 .subContent .nav-tabs > li:nth-child(2) > a,
#Curriculum04 .subContent .nav-tabs > li:nth-child(2) > a {
    background-image: url(/public/img/sub/specialty-nav2.jpg);
}

#Curriculum03 .subContent .nav-tabs > li:nth-child(3) > a,
#Curriculum04 .subContent .nav-tabs > li:nth-child(3) > a {
    background-image: url(/public/img/sub/specialty-nav3.jpg);
}

#Curriculum03 .subContent .nav-tabs > li:nth-child(4) > a,
#Curriculum04 .subContent .nav-tabs > li:nth-child(4) > a {
    background-image: url(/public/img/sub/specialty-nav4.jpg);
}

#Curriculum04.scuba .subContent .nav-tabs > li:nth-child(1) > a {
    background-image: url(/public/img/sub/scuba-nav1_1.jpg);
}

#Curriculum04.scuba .subContent .nav-tabs > li:nth-child(2) > a {
    background-image: url(/public/img/sub/scuba-nav2_1.jpg);
}

#Curriculum04.scuba .subContent .nav-tabs > li:nth-child(3) > a {
    background-image: url(/public/img/sub/scuba-nav3_1.jpg);
}

#Curriculum04.scuba .subContent .nav-tabs > li:nth-child(4) > a {
    background-image: url(/public/img/sub/scuba-nav4_1.jpg);
}

#Curriculum04.scuba .subContent .nav-tabs > li:nth-child(5) > a {
    background-image: url(/public/img/sub/scuba-nav5_1.jpg);
}

#Curriculum04 .col-sm-3 {
    padding: 0 25px;
}

#Curriculum04 .con1 .row {
    /* margin: 0 -25px; */
}

#Curriculum04 .thumbnail {
    padding: 0;
    border: 0;
    margin-top: 0;
    margin-bottom: 100px;
    overflow: hidden;
}

#Curriculum04 .thumbnail .row {
    margin: 0 -10px;
}

#Curriculum04 .thumbnail .row > div {
    padding: 0 10px;
}

#Curriculum04 .thumbnail img {
    height: 330px;
    border-radius: 12px;
}

#Curriculum04 .thumbnail .caption {
    padding: 0;
}

#Curriculum04 .thumbnail .caption h5 {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.015em;
}

#Curriculum04 .thumbnail .caption h5::before {
    content: "";
    width: 20px;
    height: 2px;
    background: #2f6ecb;
    display: block;
    margin-bottom: 7px;
}

#Curriculum04 .thumbnail .caption p {
    font-size: 14px;
}

#Curriculum04 .content.con1 p.note {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #f00;
}

#Curriculum04.specialty03 .inner.aqua > .row {
    display: flex;
}

#Curriculum04.specialty03 .inner.aqua > .row div {
    width: auto;
}

#Curriculum04.specialty03 .inner.aqua > .row div img {
    width: auto;
    height: 400px;
}

#Curriculum04.specialty03 .inner.profile > .row {
}

#Curriculum04.specialty03 .inner.profile > .row div {
}

#Curriculum04.specialty03 .inner.profile > .row div img {
    margin-bottom: 30px;
}

#Curriculum05 .subContent .content .inner dl {
}

#Curriculum05 .subContent .content .inner dl dt {
    font-size: 20px;
}

#Curriculum05 .subContent .content .inner dl dt::after {
    content: '';
    display: block;
    width: 15px;
    height: 1px;
    background: #111;
    margin: 10px 0;
}

#Curriculum05 .subContent .content .inner dl dd {
    font-size: 15px;
}

#Curriculum06 .content .inner .col-sm-8 > p {
    font-size: 17px;
}

#Curriculum06 .content .inner:nth-child(2) .col-sm-8 > p {
    margin-top: 110px;
}

#Curriculum06 .content .inner:nth-child(5) .col-sm-8 > p {
    margin-top: 80px;
}

#Curriculum06 .content .inner:nth-child(7) .col-sm-8 > p {
    margin-top: 60px;
}

#Curriculum06 .content .inner .table_box {
    padding: 30px;
    margin: 20px 0 0;
    border: 1px solid #cacaca;
}

#Curriculum06 .content .inner .table_box h6 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 600;
    padding-bottom: 5px;
    border-bottom: 1px solid #aaa;
    display: inline-block;
}

#Curriculum06 .content .inner .table_box th {
    background: #f2f2f2;
}

#Curriculum06 .content .inner .table_box td {
    background: #fff;
}

#Contact01 .faq {
    padding: 55px 80px;
    border-bottom: 1px solid #ddd;
}

#Contact01 .faq:first-child {
    border-top: 2px solid #333;
}

#Contact01 .faq h5 {
    padding-left: 60px;
    margin: 0 0 20px;
    position: relative;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.04em;
}

#Contact01 .faq h5::before {
    content: 'Q';
    position: absolute;
    background: #2f6ecb;
    color: #fff;
    left: 0;
    font-size: 20px;
    top: -8px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    text-align: center;
    padding-top: 7px;
}

#Contact01 .faq p {
    padding-left: 60px;
    margin-bottom: 0;
    position: relative;
    font-size: 16px;
}

.board_wrapper {
    margin-top: 0;
}

.btn.btn-primary {
    background-color: #2f6ecb;
    border: 1px solid #2f6ecb;
    color: #fff;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus {
    background-color: #2457bf;
    border-color: #2457bf;
}

.btn.btn-dark {
    background-color: #333;
    border: 1px solid #333;
    color: #fff;
}

.btn.btn-dark:hover,
.btn.btn-dark:focus {
    background-color: #1c1c1c;
    border-color: #1c1c1c;
}

.checkbox a {
    color: #2f6ecb;
    text-decoration: underline;
}

.board_wrapper .table.board_write_table tbody tr th > span.required_text {
    color: red;
}

.member_wrapper {
    max-width: 1140px;
    margin: 0 auto;
}

#Calendar .calendar_wrapper {
    margin-top: 0;
    margin-bottom: 0;
}

#Calendar .note {
    color: #666;
    padding: 15px 0 50px;
    margin: 0;
    font-style: italic;
    font-size: 16px;
    letter-spacing: -0.03em;
}

#Calendar .fc-day-grid-container {
    height: auto !important;
}

#Calendar .fc-basic-view .fc-body .fc-row {
    height: 150px !important;
}

#Contact02 .con1 .inner {
    padding: 25px 35px;
    border: 8px solid #f3f3f3;
}

#Contact02 .con1 .inner p {
    margin-bottom: 0;
}

#Contact02 .con1 .naver_store {
    color: #00af34;
    font-weight: 600;
    display: block;
    line-height: 51px;
    width: 220px;
    border: 1px solid #00a230;
    border-radius: 2px;
    margin: 30px auto 0;
    text-align: center;
    font-size: 17px;
    background: #fff;
}

#Contact02 .con1 .naver_store img {
    display: inline-block;
    width: 30px;
    border-radius: 5px;
    margin-right: 10px;
    vertical-align: middle;
}

#Contact02 .con1 .naver_store span {
    display: inline-block;
    vertical-align: middle;
}

#Contact02 .con1 .naver_store:hover {
    text-decoration: none;
    background: #e1fdea;
}

.red {
    color: #f00;
}

.blue {
    color: #2f6ecb;
}

.li-skill {
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 12px;
    background: #f8f8f8;
    border-radius: 13px;
    padding: 45px;
}

.li-skill > li {
    line-height: 1;
    font-size: 15px;
    display: flex;
    background: #f8f8f8;
    align-items: center;
    letter-spacing: -0.06em;
    border-radius: 100px;
    padding: 5px;
    background: #fff;
    box-shadow: 1px 2px 12px rgba(0, 0, 0, 0.04);
    font-weight: 500;
}

.li-skill > li::before {
    display: block;
    background: #2f6ecb;
    font-weight: 600;
    color: #fff;
    width: 38px;
    line-height: 38px;
    text-align: center;
    margin-right: 10px;
    border-radius: 50%;
    letter-spacing: 0;
    font-size: 16px;
}

.li-skill > li:nth-child(1):before { content: '01'; }
.li-skill > li:nth-child(2):before { content: '02'; }
.li-skill > li:nth-child(3):before { content: '03'; }
.li-skill > li:nth-child(4):before { content: '04'; }
.li-skill > li:nth-child(5):before { content: '05'; }
.li-skill > li:nth-child(6):before { content: '06'; }
.li-skill > li:nth-child(7):before { content: '07'; }
.li-skill > li:nth-child(8):before { content: '08'; }
.li-skill > li:nth-child(9):before { content: '09'; }
.li-skill > li:nth-child(10):before { content: '10'; }
.li-skill > li:nth-child(11):before { content: '11'; }
.li-skill > li:nth-child(12):before { content: '12'; }
.li-skill > li:nth-child(13):before { content: '13'; }
.li-skill > li:nth-child(14):before { content: '14'; }
.li-skill > li:nth-child(15):before { content: '15'; }
.li-skill > li:nth-child(16):before { content: '16'; }
.li-skill > li:nth-child(17):before { content: '17'; }
.li-skill > li:nth-child(18):before { content: '18'; }
.li-skill > li:nth-child(19):before { content: '19'; }
.li-skill > li:nth-child(20):before { content: '20'; }
.li-skill > li:nth-child(21):before { content: '21'; }
.li-skill > li:nth-child(22):before { content: '22'; }
.li-skill > li:nth-child(23):before { content: '23'; }
.li-skill > li:nth-child(24):before { content: '24'; }

.dl-schedule {
    position: relative;
    padding: 60px 60px 55px;
    text-align: center;
    border-radius: 13px;
    background: #f8f8f8;
    display: flex;
    align-items: center;
    flex-flow: column;
}

.dl-schedule dt {
    width: 200px;
    font-size: 30px;
    background: #2f6ecb;
    margin: 0 auto 18px;
    padding: 10px;
    border-radius: 50px;
    color: #fff;
    letter-spacing: -0.01em;
}

.dl-schedule dd {
    display: flex;
    margin-top: 12px;
    font-size: 18px;
    align-items: center;
    gap: 20px;
    justify-content: center;
    letter-spacing: -0.034em;
    font-weight: 500;
    border-bottom: 1px solid #dbe4e9;
    padding-bottom: 3px;
}

.dl-schedule dd .date {
}

.dl-schedule dd .date b {
    font-size: 22px;
    margin-right: 10px;
    color: #295fba;
}

.dl-schedule dd .loca {
    font-size: 15px;
    font-weight: 500;
    color: #5a5a5a;
    letter-spacing: -0.06em;
    padding-top: 5px;
}

/* //서브페이지 */

/* 푸터 */

footer {
    text-align: left;
    padding: 0px 0 60px;
    background: #111621;
    color: #97989a;
    font-size: 14px;
    letter-spacing: -0.03em;
}

footer .footer-logo {
}

footer .footer-logo h1 {
    margin: 0;
}

footer .footer-logo h1 > a {
    display: block;
}

footer .footer-logo h1 > a > img {
    display: block;
}

footer .footer-text {
}

footer .footer-text p {
    margin-bottom: 5px;
    font-size: 15px;
    color: #b3b3b3;
}

footer .footer-text ul {
    padding-left: 0;
    margin-bottom: 0;
}

footer .footer-text ul:after {
    content: '';
    clear: both;
    display: table;
}

footer .footer-text ul li {
    float: left;
    margin-right: 12px;
    line-height: 1.4;
}

footer .footer-text ul li address {
    margin-bottom: 0;
    line-height: 1.4;
}

footer .footer-text .copyrights {
    display: block;
    font-size: 12px;
    margin-top: 19px;
}

footer .nav_f {
    margin-bottom: 40px;
}

footer .nav_f .nav-tabs {
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    padding: 55px 0 20px;
}

footer .nav_f .nav-tabs > li {
    margin-right: 30px;
}

footer .nav_f .nav-tabs > li > a {
    padding: 0;
    color: #ddd;
    border: 0;
    font-size: 16px;
    font-weight: 400;
}

footer .nav_f .nav-tabs > li:hover > a {
    background: none;
    text-decoration: underline;
    color: #fff;
}

/* //푸터 */

.maintenance {
    margin-top: 5px;
    background: #f4fcff;
    padding: 85px 25px;
    text-align: center;
    border-radius: 25px;
}

.maintenance .icon {
    display: block;
    line-height: 1;
    font-size: 131px;
    margin-bottom: 39px;
    color: #97e4ff;
}

.maintenance .big-cont {
    display: block;
    line-height: 1;
    font-size: 29px;
    font-weight: bold;
    letter-spacing: -0.05em;
    margin-bottom: 20px;
}

.maintenance .small-cont {
    display: block;
    line-height: 1.5;
    font-size: 18px;
    letter-spacing: -0.03em;
    color: #818181;
    margin-bottom: 0;
}

.privacy_body {
    font-size: 16px;
    line-height: 1.65;
    letter-spacing: -0.03em;
    color: #616161;
}

.privacy_body p {
    letter-spacing: -0.03em;
    color: #616161;
    margin-bottom: 25px;
}

.privacy_body .info_intro {
    font-size: 15px;
    letter-spacing: -0.025em;
    color: #808080;
}

#main_popup_1 {
    top: 135px !important;
}

.main_popup_contents {
    padding: 0;
    width: 500px;
}

.main_popup_contents img {
    width: 100%;
    height: auto;
}

/* 반응형 */

@media (max-width: 767px) {

    #site {
        padding-top: 127px;
    }

    /* nav */
    .navbar-header .navbar-brand {
        margin-left: 15px !important;
    }

    .navbar-header .navbar-brand .store_link {
        font-size: 14px;
        padding: 3px 7px;
    }

    .navbar-inverse .navbar-toggle {
        margin-top: 25px;
        margin-bottom: 25px;
        background: #2f6ecb;
        border-color: #2f6ecb;
    }

    .navbar-inverse .navbar-toggle:hover {
        background: #2f6ecb !important;
        border-color: #2f6ecb !important;
    }

    .nav.navbar-nav > li > a {
        padding: 15px 0;
        text-align: center;
    }

    .nav.navbar-nav li .dropdown-menu li a {
        padding: 10px 0;
        text-align: center;
    }

    /* mainSlide */
    #mainCarousel .carousel-inner .item {
        height: 490px;
    }

    #mainCarousel .carousel-inner .item .carousel-caption h1 {
        margin-bottom: 0;
        font-size: 6vw;
    }

    #mainCarousel .carousel-inner .item .carousel-caption h1 span {
        font-size: 10vw;
        margin-top: 15px;
    }

    /* main */
    .main_curriculum .thumbnail .caption {
        top: 0;
        background: rgba(0, 0, 0, 0.76);
        padding: 25px 25px 15px;
    }

    .main_popup_contents {
        width: calc(100% - 30px);
    }

    /* subPage */
    .subHeader {
        height: 180px;
    }

    .subHeader .container h2 {
        font-size: 9vw;
    }

    .subMenu {
        display: none;
    }

    .subContent .content h4 {
        font-size: 6.65vw;
    }

    #AFIA01 .con1 img {
        margin-bottom: 40px;
    }

    .abt_afia {
        padding: 35px 30px 35px;
    }

    #AFIA02 .col-sm-8 {
        padding-left: 15px;
    }

    /* 프리다이빙: 모바일 1줄 */
    #Curriculum01 .subContent .nav-tabs > li {
        width: 100%;
        margin-bottom: 15px;
    }

    .table_default.table_afia tr th,
    .table_default.table_afia tr td {
        text-overflow: inherit;
        white-space: normal !important;
    }

    #Curriculum03 .subContent .nav-tabs > li {
        width: 50%;
    }

    /* 스쿠버 기본(specialty 등): 모바일 50% */
    #Curriculum04 .subContent .nav-tabs > li {
        width: 50%;
        padding: 5px;
        height: 95px;
    }

    /* ✅ 핵심: 스쿠버(.scuba) 탭 모바일 1줄 */
    #Curriculum04.scuba .subContent .nav-tabs > li {
        width: 100%;
    }

    #Curriculum04 .subContent .nav-tabs > li > a {
        line-height: unset;
        padding: 20px;
    }

    #Curriculum04 .thumbnail .caption {
        width: 260px;
        margin: 15px auto 0;
    }

    #Curriculum04 .abt_afia {
        min-height: auto;
    }

    #Calendar .fc-basic-view .fc-body .fc-row {
        height: auto !important;
    }

    #Contact01 .faq h5 {
        font-size: 5vw;
    }

    #Contact01 .faq h5::before {
        top: -2px;
    }

    .board_wrapper .table.board_write_table tbody tr td .btn,
    .board_wrapper .table.board_write_table tbody tr td .form-control,
    .board_wrapper .table.board_write_table .input-group.input-group-big,
    .board_wrapper .table.board_write_table .form-control.form-control-big {
        width: 100% !important;
    }

    #list_btn {
        display: none;
    }

    #write_btn {
        margin: 0;
    }

    #Curriculum06 .content .inner .table_box {
        padding: 30px 10px;
    }

    #Curriculum06 .content table.table th {
        font-size: 10px;
        padding: 5px 3px;
    }

    #Curriculum06 .content table.table td {
        font-size: 10px;
        padding: 5px 3px;
    }

    #Curriculum04 .subContent .content:nth-child(n+1):before {
        margin-bottom: 60px;
    }

    /* footer */
    footer .nav_f .nav-tabs > li > a {
        font-size: 12px;
    }

    .li-skill {
        grid-template-columns: 1fr;
    }

    .li-skill > li {
        font-size: 12px;
    }

    .li-skill > li::before {
    }

    .dl-schedule {
        padding: 30px;
    }

    .dl-schedule dd {
        font-size: 14px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {

    #site {
    }

    /* nav */
    .nav.navbar-nav > li > a {
        padding: 35px 20px;
    }

    /* mainSlide */
    #mainCarousel .carousel-inner .item {
        height: 550px;
    }

    #mainCarousel .carousel-inner .item .carousel-caption h1 {
        font-size: 3.8vw;
    }

    #mainCarousel .carousel-inner .item .carousel-caption h1 > span {
        font-size: 7vw;
    }

    /* main */
    .main_curriculum .thumbnail .caption {
        top: 0;
        background: rgba(0, 0, 0, 0.5);
    }

    .main_contact .contact {
        width: 150px;
        height: 150px;
        padding: 19px 30px 0;
    }

    .main_contact .contact > h5 {
        font-size: 16px;
    }

    /* subPage */
    .abt_afia {
        padding: 35px 25px 35px;
        min-height: 350px;
    }

    #AFIA02 img {
        height: auto;
    }

    #Curriculum01 .subContent .nav-tabs > li > a {
        display: block;
        height: 64px;
        padding: 10px;
        line-height: 1.46;
    }

    #Curriculum01 .subContent .nav-tabs > li:nth-child(2) > a {
        line-height: 64px;
        padding: 0 !important;
    }

    #Curriculum01 .subContent .nav-tabs > li.active > a {
        padding: 5px 0;
    }

    .subMenu .nav > li {
        min-width: 130px;
    }

    .subMenu .nav > li > a {
        font-size: 16px;
    }

    /* footer */
}

@media (min-width: 992px) and (max-width: 1199px) {

    #site {
    }

    /* nav */

    /* mainSlide */
    #mainCarousel .carousel-inner .item {
        height: 560px;
    }

    #mainCarousel .carousel-inner .item .carousel-caption h1 > span {
        font-size: 46px;
    }

    /* main */
    .main_curriculum .thumbnail .caption h5 {
        font-size: 20px;
    }

    .main_contact .contact {
        width: 220px;
        height: 220px;
        padding: 35px 30px 0;
    }

    /* subPage */
    .abt_afia {
        min-height: 350px;
    }

    .subMenu .nav > li {
        min-width: 170px;
    }

    /* footer */
}