/* 서브 탑 비주얼 */
.sub-visual {
    margin-top: 8rem; /* 헤더 배경 흰색일 때 */
    position: relative;
}
.sub-visual .img {
    background: #000;
}
.sub-visual .img img {
    width: 100%;
    min-height: 40rem;
    opacity: 0.65;
    object-fit: cover;
}
.sub-visual .txt {
    position: absolute; 
    top:50%;
    left: 50%; 
    transform: translate(-50%,-50%);
    text-align: center;
    width: 100%;
    padding-inline: 5%;
    padding-bottom: 5rem; /* 서브탭 높이 적용해서 텍스트 중앙에 오도록 */
}

.sub-visual .txt h2 {
    font-size: 4.8rem;
    font-weight: 600;
    color: #fff;
    margin-top: 5rem;
    padding-bottom:3rem;
    position:relative;
}

.sub-visual .txt h2::after{
    content:'';
    position:absolute;
    bottom:0;
    left:50%;
    transform:translate(-50%,0);
    width: 5.5rem;
    height:5px;
    background-color:#fffb3c;
}

.sub-visual .txt p {
    font-size: 3.6rem;
    color: #e2c7a8;
    padding-top: 3rem;
}


@media screen and (max-width:1200px){
    .sub-visual {
        margin-top: 10rem; /* 헤더 배경 흰색일 때 */
    }

}

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

}

/* 서브페이지 공통 */

.sub{
    overflow:hidden;
}

.sub .cont{
    padding-block:18rem;
    position:relative;
}

.sub .cont.bg{
    background-color:#f4f7fa;
}


.sub .tit-box p.sm-tit{
    font-size:2.4rem;
    font-weight:200;
    color:#555;
    padding-bottom:2rem;
}

.sub .tit-box h2.tit{
    font-size:3.6rem;
    color:#555;
    position:relative;
    padding-top:2rem;
}

.sub .tit-box h2.tit::before {
    content: "";
    position: absolute;
    top: 0rem;
    width: 4.5rem;
    height: 5px;
    background-color: #57a7e3;
    left: 50%;
    transform: translateX(-50%);
}

.sub .tit-box h2.tit::after {
    content: "";
    position: absolute;
    top: 0rem;
    left: 50%;
    transform: translateX(-145%);
    width: 1.5rem;
    height: 5px;
    background-color: #57d5e3;
}

.sub .cont .inner > .txt,
.sub .cont .s-inner > .txt{
    margin-top:5rem;
    font-size:2rem;
    line-height: 1.8;
    color: #555;
    text-align: justify;
    font-weight: 300;
    
}

.point-txt{
    color:#4c98d3;
}


.list-type1 *{
    font-size:2rem;
    color:#555;
}

.list-type1 .num{
    min-width:fit-content;
}

.list-type1 .list:has( > .num){
    display:flex;
    gap:0.5rem;
    justify-content: start;
}

.list-type1 .sub-list .list + .list{
    margin-top:0.25rem;
}

.list-type2 .list{
    display:flex;
}

.list-type2 .list + .list{
    margin-top:4rem;
}

.list-type2 .list-tit,
.list-type2 .txt{
    border:1px solid #ccc;
    padding-block:1rem;
    font-size:2.4rem;
}

.list-type2 .list-tit{
    width:30%;
    background-color:#1f3344;
    color:#fff;
    text-align:center;
    border-top-left-radius:30px;
    border-bottom-left-radius:30px;
    border-right:none;
}

.list-type2 .list .txt{
    width:70%;
    text-align:left;
    padding-left:10rem;
    border-top-right-radius:30px;
    border-bottom-right-radius:30px;
}

.list-type3 .list{
    border: 1px solid #1f3344;
    background-color:#fff;
}

.list-type3 .tit{
    font-size:3rem;
    font-weight:700;
    background-color:#1f3344;
    color:#fff;
    text-align:center;
    padding-block:1rem;
}

.list-type3 .box{
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-block:4rem;
}

.list-type3 .box .img{
    margin-bottom:4rem;
}

.list-type3 .box .txt{
    text-align:center;
    font-size:2.4rem;
    line-height:1;
    font-weight:200;
}

.list-type3 .box .txt:nth-child(2){
    margin-bottom:1rem;
}

.list-type3 .box .txt b{
    font-weight:700;
}

.list-type4 ul{
    display:flex;
    flex-direction:column;
    gap:4rem;
}

.list-type4 .list{
    display:flex;
    gap:2rem;
    height:14rem;
}

.list-type4 .list .tit{
    width:20%;
    background-color:#1f3344;
    color:#fff;
    font-size:2.4rem;
    font-weight:700;
    text-align:center;
    display:flex;
    align-items:center;
    justify-content:center;
}

.list-type4 .list .txt{
    width:80%;
    font-size:2rem;
    font-weight:200;
    padding-inline:6%;
    display:flex;
    align-items:center;
    border:1px solid #1f3344;
}

.list-type5 .tit{
    font-weight:500 !important;
    color:#333 !important;
}

.list-type5 li + li{
    margin-top:1rem;
}



.table-box{
    width:100%;
    overflow-x:auto;
}

.table-box table{
    width:100%;
    min-width:600px;
}

.table-box .table-type1 th{
    background-color:#c2d6d4;
}

.table-box table th,
.table-box table td{
    text-align:center;
    border:1px solid #acacac;
    font-size:2rem;
    padding-inline:3%;
}

.table-box table th{
    padding-block:1.2rem;
}

.table-box table td{
    padding-block:1.6rem;
}

.table-box table td .small{
    font-size:1.8rem;
}

.table-box .table-type1 td,
.table-box .table-type2 td{
    background-color:#f3f4f5;
    color:#555;
}

.table-box .table-type2 td *{
    color:#555;
}

.table-box .table-type1 td.bg{
    background-color:#e9e9f1;
}

.table-box table .table-tit{
    font-weight:700;
}

.table-box .table-type2 .table-tit{
    background-color: #6fa0c0;
    color:#fff;
}

.num-list > ul,
.txt-list > ul{
    display: flex;
    flex-direction: column;
    gap: 7rem;
}

.num-list .list,
.txt-list .list{
    display: flex;
    justify-content: center;
    position: relative;
}

.num-list .box{
    border:1px solid #000;
    text-align:center;
    padding-block:5rem 4rem;
    font-size:2.4rem;
    width:100%;
    line-height: 1.8;
    color: #555;
    font-weight: 300;
}

.num-list .box b{
    font-weight:600;
}

.num-list .num{
    position:absolute;
    top:-2rem;
    font-weight:700;
    font-size:3.6rem;
    background-color:#1f3344;
    color:#fff;
    width:4.5rem;
    height:4.5rem;
    display:flex;
    align-items:center;
    justify-content:center;
}

.txt-list{
    margin-top:10rem;
}


.txt-list .box{
    border:1px solid #000;
    text-align:center;
    font-size:2.4rem;
    width:100%;
    padding-block: 5rem 4rem;
    color: #555;
    line-height: 1.8;
    font-weight: 300;
}

.txt-list .box *{
    color: #555;
    line-height: 1.8;
    font-weight: 300;
}

.txt-list .box >* {
    width:fit-content;
    margin-inline:auto;
}

.txt-list .box b{
    font-weight:600;
}

.txt-list .txt-tit{
    position:absolute;
    /* top:-3rem; */
    font-weight:700;
    font-size:2.4rem;
    background-color:#1f3344;
    color:#fff;
    min-width: 40rem;
    max-width: 100%;
    padding-inline: 5rem;
    border-radius:30px;
    /* height:6rem; */
    display:flex;
    align-items:center;
    justify-content:center;
    text-align: center;
    padding-block:1rem;
    margin-top:-2.5rem;
}

.txt-list .box .small{
    font-size:2rem;
}

.txt-box *{
    font-size:2rem;
}

.txt-box {
    display:flex;
    flex-direction: column;
    align-items: center;
}

.txt-box .txt{
    font-size: 2rem;
    line-height: 1.8;
    color: #555;
    text-align: justify;
    font-weight: 300;
}

.txt-list > ul{
    gap:7rem;
}

.txt-box{
    margin-top:10rem;
}

.block-tit{
    display:inline-block;
    font-size:2.4rem;
    min-width: 37rem;
    max-width: 100%;
    padding-block: 1rem;
    padding-inline: 4rem;
    text-align:center;
    background-color:#1f3344;
    color:#fff;
    border-radius: 30px;
    align-self: center;
    margin-bottom:5rem;
    font-weight:600;
}

.txt-box_wrap.boxes-grid{
    gap:1rem;
}

.txt-box_wrap.boxes-grid .txt-box{
    margin-top:0;
}

.txt-box_wrap.boxes-grid .block-tit{
    width:100%;
    min-width:auto;
    margin-bottom:2rem;
}

/* .txt-box_wrap.boxes-grid .box{
    background-color:#fff;
    width:100%;
    height:100%;
    padding-block: 2rem 6rem;
    border:1px solid #acacac;
} */

.txt-box_wrap.boxes-grid .box .img{
    object-fit: contain;
    overflow: hidden;
}

li.dot{
    position:relative;
    padding-left:2rem;
    font-size:2rem;
}

li.dot::before{
    content:'';
    position:absolute;
    top:1.3rem;
    left:0;
    width:1rem;
    height:1rem;
    border-radius: 100%;
    background-color:#555;
}

li.small.dot{
    padding-left:1.2rem;
}

li.small.dot::before{
    width:0.4rem;
    height:0.4rem;
    top:1rem;
}

.formula{
    display:flex;
    align-items:center;
    justify-content:start;
    gap:1rem;
}

.formula + .formula{    
    margin-top:1rem;
}

.formula .fraction{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction: column;
    gap:1rem;
    position:relative;
    font-size:1.8rem;
}

.formula .fraction::after{
    content:'';
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    left:0;
    width:100%;
    height:1px;
    background-color:#000 !important;
    color:#000 !important;
}

.formula .fraction .definition{
    font-size:1.6rem;
}

.formula .result{
    font-size:2rem;
}


@media screen and (max-width:1200px){
    .txt-box_wrap.boxes-grid .box .img img{
        width:auto;
    }

}

@media screen and (max-width:900px){
    .txt-list .box{
        padding-inline:3%;
    }
}


@media screen and (max-width:768px){
    .sub .cont{
        padding-block:12vh;
    }

    .num-list .box{
        padding-inline:3%;
    }

    .num-list .box:has(b) b{
        text-align:center;
        display:block;
    }
    .num-list .box br{
        display:none;
    }
    li.dot,
    .list-type1 .list-txt{
        text-align:left;
    }

    li.dot::before{
        top:0.9rem;
    }

    .list-type2 .list{
        flex-direction: column;
        gap: 2rem;
    }
    .list-type2 .list-tit{
        width: 100%;
        border: none;
        border-radius: 30px;
    }
    .list-type2 .list .txt{
        width: 100%;
        border: none;
        text-align: center;
        padding-left: 0;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }
    .list-type4 ul{
        gap:6vh;
    }
    .list-type4 .list{
        flex-direction: column;
        gap:0;
    }
    .list-type4 .list .tit,
    .list-type4 .list .txt{
        width:100%;
    }
    .list-type4 .list .tit{
        padding-block:1rem;
        font-size:2.6rem;
    }
    .list-type4 .list .txt{
        padding-block:2rem;
        font-size:2.4rem;
    }

    .num-list > ul, .txt-list > ul{
        gap:7rem;
    }
}
@media screen and (max-width:480px){
    .num-list > ul, .txt-list > ul{
        gap:8rem;
    }
    /* .txt-list .txt-tit{
        height:8rem;
        top:-4rem;
    } */
    .txt-list .box{
        padding-block:6rem 2rem;
    }
    .txt-list .txt-tit{
        padding-inline:8vw;
    }
}

/*************************************************** a sub css ***************************************************/
/**********************  a common css **********************/

/**********  a1 sub css **********/

.a1 .point-txt{
    text-align:center;
    font-weight:700;
    font-size:2.7rem;
    margin-bottom:5rem;
}

.a1 .txt:last-child{
    text-align:center;
    display:flex;
    justify-content: center;
    align-items: center;
    gap:2rem;
}

.a1 p img{
    max-width:10rem;
}

/**********  a2 sub css **********/

.a2 .boxes-grid{
    gap:4rem;
}

.a2 .boxes-grid .box{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.a2 .boxes-grid .box .txt-box *{
    color:#555;
    text-align:center;
}

.a2 .boxes-grid .box .txt{
    font-size:2.4rem;
    font-weight:600;
}

.a2 .boxes-grid .box .sub-txt{
    font-size:2rem;
    margin-top:0.8rem;
}


/**********  a3 sub css **********/

.history-wrap{
    position:relative;
}

.history-progress-bar .progress-bar{
    position:absolute;
    top:1.5%;
    left:50%;
    transform:translateX(-50%);
    height:93%;
    width:2px;
    background-color:#b8bdc3;
}

.history-progress-bar .progress-fill{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:0%;
    background-color:#ff6b35;
    transition:height 0.3s ease;
}

.history-list{
    display:flex;
    flex-direction: column;
    justify-content: center;
    gap:2rem;
}

.history-list .history-item{
    width:50%;
    position:relative;
}

.history-list .history-item::after{
    content:'';
    position:absolute;
    top:1.5rem;
    width:1.5rem;
    height:1.5rem;
    border-radius: 100%;
    background-color:#555;
    transition:background-color 0.3s ease;
}

.history-list .history-item.active::after{
    background-color:#ff6b35;
}


.history-list .history-item .year{
    font-size:3.4rem;
    font-weight:700;
    color:#57a7e3;
}

.history-list .history-item .history-cont{
    margin-top:3.5rem;
}

.history-list .history-item .history-cont li{
    font-size:2rem;
    color:#333;
    gap:1rem;
}

.history-list .history-item .history-cont li .num{
    font-weight:700;
}

.history-list .history-item:nth-child(2n+1){
    align-self: flex-end;
    padding-left:10rem;
}

.history-list .history-item:nth-child(2n+1)::after{
    left:-0.71rem;
}

.history-list .history-item:nth-child(2n+1) .history-cont li{
    display:flex;
    flex-direction: row;
}

.history-list .history-item:nth-child(2n){
    align-self: flex-start;
    padding-right:10rem;
    text-align: right;
}

.history-list .history-item:nth-child(2n)::after{
    right:-0.71rem;
}

/* .history-list .history-item.active.last-active::before{
    content:'';
    position:absolute;  
    top: 1.052rem;
    width:2rem;
    height:2rem;
    border-radius: 100%;
    border:2px solid #ff6b35;
}

.history-list .history-item:nth-child(2n).active.last-active::before{
    right:0%;
    transform:translateX(48%);
}

.history-list .history-item:nth-child(2n+1).active.last-active::before{
    left:0%;
    transform:translateX(-52%);
} */


.history-list .history-item:nth-child(2n) .history-cont li{
    display:flex;
    flex-direction: row-reverse;
}


.a3 .gallery-controller {
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:30rem;
    margin-inline:auto;
    margin-top:5rem;
}

.a3 .gallery-controller .swiper-button-next,
.a3 .gallery-controller .swiper-button-prev{
    position: relative;
    margin-top: 0;
    font-size: 2.4rem;
    font-weight:300;
    color: #000;
    opacity: 1;
    width: auto;
    left:auto;
    right:auto;
}

.a3 .gallery-controller .swiper-button-next:after, 
.a3 .gallery-controller .swiper-button-prev:after {
    display: none;
}

.a3 .gallery-controller .swiper-button-lock{
    display:block;
}

@media screen and (max-width:768px){
    .history-list{
        gap:3.5rem;
    }
    .history-list .history-item .history-cont {
        margin-top: 2.5rem;
    }
    .history-progress-bar .progress-bar {
        left: 0%;
        transform: translateX(-0%);
    }
    .history-list .history-item:nth-child(2n+1) {
        align-self: flex-start;
    }
    .history-list .history-item:nth-child(2n) {
        text-align: left;
        padding-right: 0;
        padding-left:10rem;
    }
    .history-list .history-item:nth-child(2n) .history-cont li {
        flex-direction: row;
    }
    .history-list .history-item:nth-child(2n)::after {
        left: -0.71rem;
    }
    .history-list .history-item {
        width: 100%;
    }

    .a3 .gallery .img img{
        width:100%;
    }
}

/**********  a4 sub css **********/

.a4 .txt-box{
    padding-block:7rem;
    border-bottom:1px solid #d6dadd;
}

.a4 .txt-box:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.a4 .txt-box .tit{
    font-size:2.4rem;
    font-weight:700;
    text-align:center;
    color:#555;
    margin-bottom:5rem;
}

.a4 .txt-box .list-type1 {
    width:100%;
}

.a4 .table-box{
    margin-top:1rem;
}

.a4 .list-type1 > .list > .list-txt,
.a4 .list-type1 .sub-list{
    padding-left:1.5rem;
    margin-top:0.75rem;
}

.a4 .list-type1 > .list + .list{
    margin-top:3rem;
}

/**********  a5 sub css **********/

.a5 .map .root_daum_roughmap {
    height:50rem;
}

.a5 .map .root_daum_roughmap .wrap_map{
    height:100%;
}

.a5 .map .root_daum_roughmap .wrap_controllers,
.a5 .map .root_daum_roughmap .cont{
    display:none;
}

.a5 .location_box {
    margin-top:7rem;
}

.a5 .location_box .info{
    padding-inline:13rem;
}

.a5 .location_box .info li{
    display:flex;
    align-items:center;
}

.a5 .location_box .info li + li{
    margin-top:2.5rem;
}

.a5 .location_box .info .info-tit{
    min-width:15rem;
    background-color:#23435b;
    color:#fff;
    font-size:2rem;
    text-align:center;
    padding-block:1rem;
    border-radius:30px;
}

.a5 .location_box .info .info-txt{
    font-size:2rem;
    color:#333;
    display:flex;
    align-items:center;
    margin-left:6rem;
}

.a5 .location_box .info .info-txt.number{
    font-size:3.6rem;
}

.a5 .location_box .info .subway-line2,
.a5 .location_box .info .subway-line4{
    color:#fff;
    width:5rem;
    height:5rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:100%;
}

.a5 .location_box .info .subway-line2{
    background-color:#3abd07;
}

.a5 .location_box .info .subway-line4{
    background-color:#51baeb;
    margin-inline:1rem 2rem;
}

@media screen and (max-width:768px){
    .a5 .location_box .info{
        padding-inline:2vw;
    }
    .a5 .location_box .info .info-txt{
        margin-left:4vw;
    }
}

@media screen and (max-width:480px){
    .a5 .location_box .info li{
        flex-direction: column;
        align-items:center;
    }
    .a5 .location_box .info .info-txt{
        margin-left:0;
        margin-top:2rem;
    }
}

/*************************************************** b sub css ***************************************************/

/*************************************************** c sub css ***************************************************/
/**********************  c common css **********************/

/**********  c1 sub css **********/

.c1 .c-cont1 .txt{
    letter-spacing: -0.6px;
}

.c1 .c-cont3 .txt-box:nth-of-type(2) .img-box{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2rem;
    margin-top:5rem;
}

.c1 .c-cont3 .txt-box:nth-of-type(2) .img-box .txt{
    border:1px solid #acacac;
    padding:10px;
    border-radius: 10px;
}

.c1 .txt-box + .txt-box{
    margin-top:10rem;
}



/**********  c2 sub css **********/

.c2 .c-cont1 .txt-list .list:last-child dd:nth-child(2){
    margin-top:2rem;
}

.c2 .list-type3{
    gap:2rem;
}

@media screen and (max-width:768px){
    .c2 .list-type3{
        gap:5rem;
    }
}

/**********  c3 sub css **********/

.c3 .point-txt{
    text-align:center;
    font-size:2.4rem;
    font-weight:500;
    margin-top:5rem;
}

/*************************************************** d sub css ***************************************************/
/**********************  d common css **********************/

.d .txt-list .box{
    font-size:2rem;
}
/**********  d1 sub css **********/


.d1 .txt-list .box{
    font-size:2rem;
}

.d1 .list-type1 > .list{
    font-weight: 400;
}

.d1 .list-type1 > .list + .list{
    margin-top:0.75rem;
}


.d1 .boxes-wrap + .boxes-wrap{
    margin-top:7rem;
}

@media screen and (max-width:768px){
    .d1 .d-cont4 .boxes-grid{
        gap:5rem;
    } 
}

/* d2,d3,d4,d5 공통 */
.table-box .table-type3 thead th.bg {
    background-color: #d5d6c2;
}
.table-box .table-type3 thead th{
    background-color:#dbe6ef;
}
.table-box .table-type3 thead tr:first-child th:not(.bg) {
    background-color: #6fa0c0 ;
    color: #fff;
}
.table-box .table-type3 th.pd,
.table-box .table-type3 td.pd {
    padding-block: 1.3rem;
}

.table-box .table-type3 th,
.table-box .table-type3 td{
    padding:2rem 1rem;
    text-align:center;
    border:1px solid #acacac;
    font-size:max(14px,1.8rem);
    font-weight: 300;
    line-height: 1.6;
    color: #555;
}

.table-box .table-type3 tbody tr{
    background-color:#fff;
}

.table-box .table-type3 tbody tr.bg{
    background-color:#f3f4f5;
}
.table-box .table-type3 tbody td.bg2{
    background-color:#dbe6ef;
}

.table-box .table-type3 b{
    font-weight:700;
    font-size: inherit;
    color: inherit;
}
.table-box .table-type3 td:has(table) {
    padding: 0;
}
.table-box .table-type3 table tr:not(:last-child) {
    border-bottom: 1px solid #acacac;
}
.table-box .table-type3 table td {
    border:0;
    border-left: 1px solid #acacac;
    padding-block: 1.3rem;
    font-size: max(13px,1.6rem);
}
.table-box .table-type3 table td:first-child {
    border:0;
}

.table-box .table-type4 tr:first-child td{
    background-color:#d9e9f3;
}

.table-box .table-type4 tr:last-child td{
    background-color:#d9f2f3;
}

.table-box .table-type4 td{
    padding-inline:1%;
}

.d-new.sub .cont {
    padding-block: 14rem;
}
.d-new .tit-box {
    margin-bottom: 9rem;
}
/* .d-new .txt-list .txt-tit {
    height:5rem
} */
.d-new .tit-box h4 {
    font-size: 20px;
    font-weight: 300;
    margin-top: 2.5rem;
    color: #555;
}
.d-new ul li {
    color: #555;
    line-height: 1.8;
    font-weight: 300;
}
.d-new li.dot::before {
    top: 1.3rem;
}
.d-new p.txt {
    line-height: 1.8;
    color: #555;
    text-align: justify;
    font-weight: 300;
}
.d-new .txt-box {
    margin-top: 0;
}
.d-new .block-tit {
    margin-top: 10rem;
}
.d-new .txt-list .box {
    padding-block:5rem 4rem;
    color: #555;
    line-height: 1.8;
    font-weight: 300;
}
.d-new .txt-list .box * {
    color: inherit;
    line-height: inherit;
    font-size: inherit;
}
.d-new .caption {
    font-size: 2rem;
    margin-top: 2.5rem;
}


/**********  d2 sub css **********/

.d2 .d-cont1 .img {
    margin-block: 5rem;
}
.d2 .d-cont1 .img .caption {
     margin-top: 1rem;
}
.d2 .d-cont2 .boxes-wrap,
.d2 .d-cont2 .boxes-grid {
    width: 100%;
    gap: 5rem;
}

.d2 .d-cont4 .table-box .table-type3 table td {
    padding-block: 0.8rem;
}
.d2 .d-cont4-circle {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 3rem;
}
.d2 .d-cont4-circle div {
    width: 20rem;
    height: 20rem;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
    background: #7dc8c9;
    border-radius: 50%;
}
.d2 .d-cont4-circle div p {
    text-align: center;
    color: #fff;
    letter-spacing: -0.05em;
}

.d2 .d-cont5 .boxes-wrap,
.d2 .d-cont5 .boxes-grid {
    width: 100%;
    gap: 6rem 3.5rem;
}
.d2 .d-cont5 .caption {
     margin-top: 2.5rem;
}

@media (max-width:768px) {
    .d2 .d-cont4-circle div {
        width: 40vw;
        height: 40vw;
    }
    .m-grid-1{
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

/**********  d3 sub css **********/

.d3 .d-cont1 .img {
    margin-block: 5rem;
}
.d3 .d-cont2 ul {
    margin-top: 4rem;
}
.d3 .d-cont1 .img .caption {
     margin-top: 1rem;
}
.d3 .d-cont2 .boxes-wrap,
.d3 .d-cont2 .boxes-grid {
    width: 100%;
    gap: 5rem;
}
/* .d3 .d-cont2 .txt-list .txt-tit {
    min-width: 36rem;
} */
.d3 .d-cont3 .boxes-grid {
    width: 100%;
    gap: 6rem 3.5rem;
}
.d3 .d-cont4 .block-tit {
    min-width: 46rem;
    margin-bottom: 3rem;
}
.d3 .d-cont4 .block-tit + p {
    margin-bottom: 4rem;
}
.d3 .d-cont4 .table-wrap {
    width: 100%;
    display: grid;
    grid-template-columns: 2fr 7rem 1.3fr;
    gap: 2rem;
    align-items: center;
}
.d3 .d-cont4 .table-wrap img {
    max-width: 100%;
}
.d3 .d-cont4 table th,
.d3 .d-cont4 table td {
    padding-block: 1.3rem;
}
.d3 .d-cont4 .table-wrap table {
    min-width: auto;
}

@media (max-width:900px) {
    .d3 .d-cont4 .table-wrap {
        grid-template-columns: 2fr 4rem 1fr;
    }
}
@media (max-width:768px) {
    .d3 .d-cont4-circle div {
        width: 40vw;
        height: 40vw;
    }
    .m-grid-1{
        grid-template-columns: repeat(1, 1fr) !important;
    }
    .d3 .txt-list .box br {
        display: none;
    }
    .d3 .d-cont4 .table-wrap {
        grid-template-columns: 1fr;
    }
    .d3 .d-cont4 .table-wrap .arr-img {
        text-align: center;
    }
    .d3 .d-cont4 .table-wrap img {
        transform: rotate(90deg);
    }
}


/**********  d4 sub css **********/
.d4 .d-cont1 .img {
    margin-block: 5rem;
}
.d4 .d-cont1 .txt-list .box {
    padding-block: 3rem 4rem;
}
.d4 .d-cont1 .txt-list .box p {
    line-height: 1.8;
}
.d4 .d-cont1 .txt-list .box p {
     margin-top: 1rem;
}
.d4 .d-cont1 .txt-list .txt-tit {
    min-width: 36rem;
}

.d4 .d-cont2 .table-box .table-type3 td:last-child {
    text-align: left;
    padding-left: 2.5rem;
}
.d4 .d-cont2 table td ul li {
    font-size:max(14px,1.8rem);
    font-weight: 300;
    line-height: 1.6;
    color: #555;
    text-indent: -1.2rem;
    padding-left: 1.2rem;
}
.d4 .d-cont3 .block-tit {
    margin-bottom: 3rem;
    min-width:46rem
}
.d4 .d-cont3 .block-tit + p {
    margin-bottom: 4rem;
}
.d4 .d-cont3 table th,
.d4 .d-cont3 table td {
    padding-block: 1.3rem;
}

.d4 .d-cont4 .boxes-grid {
    width: 100%;
    gap: 6rem 3.5rem;
    margin-top: 8rem;
}
.d4 .d-cont4 .block-tit {
    margin-bottom: 3rem;
    min-width:46rem;
}
.d4 .d-cont4 .block-tit + p {
    margin-bottom: 4rem;
}
.d4 .d-cont4 .block-tit + .img {
    margin-top: 2rem;
}
@media (max-width:900px) {
    
}
@media (max-width:768px) {
    .m-grid-1{
        grid-template-columns: repeat(1, 1fr) !important;
    }
}


/**********  d5 sub css **********/
.d5 .d-cont1 .boxes-grid {
    width: 100%;
    gap: 3.5rem;
    margin-top: 8rem;
}

.d5 .d-cont2 .txt-list .box p:not(:first-child) {
    margin-top: 1.5rem;
}

.d5 .d-cont2 .boxes-grid {
    width: 100%;
    gap: 3.5rem;
    margin-top: 8rem;
}

.d5 .d-cont3 .txt-list .box p:not(:first-child) {
    margin-top: 1.5rem;
}
.d5 .d-cont3 .boxes-grid {
    width: 100%;
    gap: 3.5rem;
    margin-top: 8rem;
}
@media (max-width:900px) {
    
}
@media (max-width:768px) {
    .m-grid-1{
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

/**********  d6 sub css **********/

.d6 .d-cont3 .img{
    margin-top:5rem;
}

.d6 .grid-4,
.d6 .grid-2{
    gap:2rem;
}

.d6 .d-cont5 .txt-box + .txt-box{
    margin-top:10rem;
}

.d6 .d-cont5 .txt-box:nth-child(4) .img:last-child{
    margin-top:3rem;
}

.d6 .d-cont6 .txt-box + .txt-box{
    margin-top:7rem;
}

.d6 .d-cont6 .block-tit{
    border-radius: 50px;
    font-size:2rem;
}

.d6 .d-cont6 .list-type1{
    width:100%;
}

.d6 .d-cont6 > div > .txt{
    margin-top:3rem !important;
    color:#555;
    font-weight:400 !important;
}

/**********  d7 sub css **********/

.d7 .grid-2{
    gap:2rem;
}

.d7 .d-cont1 .img-box{
    margin-top:5rem;
}

.d7 .d-cont2 .boxes-wrap{
    margin-top:10rem;
}

.d7 .d-cont3 .boxes-wrap{
    margin-top:10rem;
}

.d7 .d-cont3 .grid-3{
    gap:10rem 4rem;
}


/**********  d8 sub css **********/


.d8 .table-box .table-type2 td{
    background-color:#fff;
}

.d8 .d-cont2 .txt-box:not(:first-child){
    margin-top:10rem;
}

.d8 .d-cont3 ul li+li{
    margin-top:1rem;
}

.d8 .grid-4{
    gap: 2rem;
}

.txt-box{
    margin-top:10rem;
}

.d8 .d-cont4 .boxes-wrap,
.d8 .d-cont5 .boxes-wrap{
    margin-top:10rem;
}


/**********  d9 sub css **********/
.d9 .txt-box_wrap.boxes-grid .box{
    background-color:#fff;
    width:100%;
    height:100%;
    padding-block: 2rem 6rem;
    border:1px solid #acacac;
}

.d9 .d-cont2 .txt-box_wrap.boxes-grid .box .img{
    max-height: 17rem;
    height: 100%;
    object-fit: contain;
    overflow: hidden;
}

.d9 .d-cont3 .boxes-grid{
    max-width:1000px;
    margin: 0 auto;
    gap:3rem;
    margin-bottom:10rem;
}


.d9 .d-cont3 .boxes-grid .block-tit,
.d9 .d-cont4 .boxes-grid .block-tit,
.d9 .d-cont5 .boxes-grid .block-tit{
    width:100%;
    min-width:auto;
    margin-bottom:0;
}

.d9 .d-cont4 .boxes-grid{
    gap:2rem;
}

.d9 .d-cont4 .boxes-grid .block-tit,
.d9 .d-cont5 .boxes-grid .block-tit{
    font-size:2rem;
    padding-inline:0;
    margin-top:3.5rem;
}

.d9 .d-cont4 .boxes-grid .txt-box,
.d9 .d-cont5 .boxes-grid .txt-box{
    background-color:#fff;
    font-size:2rem;
    text-align:center;
    display:flex;
    align-items:center;
    justify-content:start;
    padding-top:3.5rem;
    border:1px solid #acacac;
    padding-inline:2%;
}

.d9 .d-cont4 .boxes-grid .txt-box{
    height:20rem;
}

.d9 .d-cont5 .boxes-grid .block-tit{
    border-radius: 50px;
}

.d9 .d-cont5 .boxes-grid .txt-box{
    height:25rem;
}

.d9 .d-cont5 .boxes-grid{
    gap:1rem;
}

.d9 .d-cont6 .boxes-grid{
    gap:2rem;
}


@media screen and (max-width:768px){
    .d9 .d-cont2 .txt-box_wrap.boxes-grid .box .img{
        max-height:22rem;
    }
    .d9 .txt-box_wrap.boxes-grid .box{
        padding :3.5rem 2%;
    }
    .d9 .d-cont2 .boxes-grid,
    .d9 .d-cont4 .inner >.boxes-wrap > .boxes-grid,
    .d9 .d-cont5 .boxes-grid{
        gap:7rem;
    }
    .d9 .d-cont5 .boxes-grid .txt-box{
        height:auto;
        padding-bottom:3.5rem;
    }
}

@media screen and (max-width:420px){
    .d9 .d-cont2 .txt-box_wrap.boxes-grid .box .img{
        max-height:auto;
        height:auto;
    }
    .d9 .d-cont2 .txt-box_wrap.boxes-grid .box .txt{
        margin-top:2rem;
    }
    .d9 .d-cont4 .boxes-grid .txt-box{
        font-size:3.5vw;
        height:17rem;
    }
    .d9 .d-cont6 .boxes-grid{
        gap:1rem;
    }
}


/**********  d10 sub css **********/

.d10 .table-box .table-type2 td{
    background-color:#fff;
}

.d10 .table-box .table-type2 td:last-child{
    text-align:left;
}

.d10 .d-cont3 .inner > .img,
.d10 .d-cont3 .boxes-wrap{
    margin-top:10rem;
}

.d10 .d-cont5 .boxes-grid{
    margin-top:7rem;
}

/**********  d11 sub css **********/

.d11 .caption{
    width:100%;
}

.d11 .d-cont3 .boxes-wrap{
    margin-top:5rem;
}

.d11  .d-cont3 .boxes-grid,
.d11 .d-cont4 .boxes-grid{
    gap:1rem;
}


.d11 .d-cont4 .inner > .img{
    margin-top:7rem;
}
.d11 .d-cont4 .s-inner:nth-child(4) .txt-list{
    margin-top:7rem;
}
.d11 .d-cont4 .boxes-wrap{
    margin-top:5rem;
}

@media screen and (max-width:768px){
    .d11 .d-cont3 .boxes-grid{
        gap:5rem;
    }
}

/**********  d12 sub css **********/

.d12 .d-cont3 .caption{
    display:flex;
    align-items:center;
    gap:2rem;
    font-size:2rem;
}

.d12 .d-cont3 .caption:nth-child(3){
    margin-top:5rem;
}

.d12 .d-cont3 .caption .circle-box{
    color:#fff;
    border-radius: 100%;
    min-width: 4rem;
    height: 4rem;
    display:flex;
    align-items:center;
    justify-content:center;
    background-color:#23435b;
    font-size:2rem;
    font-weight:600;
}

.d12 .d-cont3 .caption + .caption{
    margin-top:0.5rem;
}

.d12 .d-cont5 .img{
    margin-top:7rem;
}

.d12 .d-cont7 .boxes-wrap{
    margin-top:5rem;
}

.d12 .d-cont8 .block-tit{
    min-width:auto;
    width:100%;
    padding-inline:0;
}

.d12 .d-cont8 img{
    width:100%;
}

.d12 .d-cont8 .boxes-grid{
    gap:2rem;
}

.d12 .d-cont9 .txt-box_wrap.boxes-grid{
    gap:5rem 1rem;
}

.d12 .d-cont9 .txt-box_wrap.boxes-grid .box {
    background-color: #fff;
    width: 100%;
    height: 100%;
    padding-block: 2rem 6rem;
    border: 1px solid #acacac;
}

.d12 .d-cont9 .txt-box_wrap.boxes-grid .box .img{
    max-height: 22rem;
    height: 100%;
    object-fit: contain;
    overflow: hidden;
}

@media screen and (max-width:768px){
    .d12 .d-cont8 .boxes-grid{
        gap:6rem 2rem;
    }
    .d12 .d-cont9 .txt-box_wrap.boxes-grid .box{
        padding-block:3.5rem;
    }
    .d12 .d-cont9 .txt-box_wrap.boxes-grid .box .txt{
        margin-top:2rem;
    }

}

@media screen and (max-width:420px){
    .d12 .d-cont3 .caption {
        text-align:left;
    }
}
/*************************************************** e sub css ***************************************************/
/**********************  e common css **********************/

/**********  e1 sub css **********/
/**********  e2 sub css **********/
