/*Content CSS*/
.subpage { overflow: hidden; position:relative; }
.subpage > section {padding: 90px 0; position: relative; }
.subpage > section:nth-of-type(even) {background: #f7f7f7;}
.subpage img {max-width: inherit; }
.sub_inner { padding: 0 50px; margin: 0 auto; max-width: 1400px; width: 100%; }
.sub_tit {margin-bottom: 50px; }

.line_tit::before {content: ''; width:30px; height: 3px; display: block ;background-color: #fef15a; margin: 0 0 10px;}

.gray_txt_box {background: #f7f7f7; padding:35px 45px; }
.img_box {display: flex; align-items: center; justify-content: center; border:1px solid #ddd; overflow: hidden; }

.dot_list > li {position: relative; padding-left: 15px; line-height: 1.65; text-align: left;}
.dot_list > li::before {content: ''; position: absolute; left: 0; top:11px; display: block; width: 5px; height: 5px; background-color: #333; border-radius: 50%;}
.dot_list > li:nth-child(n+2) {margin-top: 10px ;}

/* btn */
.c_btn {width: 200px; height: 50px; display: flex; align-items: center; justify-content: space-between; color: #999; font-size: 15px; padding:0 20px 0 25px;
font-weight: 500; overflow: hidden; z-index: 1; position: relative; background:#fff; border:1px solid #ddd; transition: all .3s; text-transform: uppercase; pointer-events: auto;  }
.c_btn::before {content: ""; z-index: -1; position: absolute; background: #fef15a; transition: all .4s; left: 0; top: 0; width: 0; height: 100%;}
.c_btn .arrow {transition: background-image .3s; display: block; width: 24px ;height: 8px; background:url("../img/c_btn_arrow.png") 50%/contain no-repeat;
position: relative; top:-2px; }
.c_btn:hover {border-color: #fef15a; color:#000;  }
.c_btn:hover .arrow {background-image:url("../img/c_btn_arrow_b.png");}
.c_btn:hover::before {width:100%;}

/* col_list */
.col2_list {display: flex; justify-content: space-between; flex-wrap: wrap;}
.col2_list > li {width: calc(50% - 15px);}
.col2_list > li:nth-child(n+3) {margin-top: 40px;}

.col3_list {display: flex; flex-wrap: wrap; }
.col3_list > li {width: calc(33.3% - 23.3px); margin-right: 35px ;}
.col3_list > li:nth-child(n+4) {margin-top: 60px;}
@media screen and (min-width: 1025px) {
    .col3_list > li:nth-child(3n) {margin-right: 0;}
}

.col4_list {display: flex; justify-content: flex-start; flex-wrap: wrap;}
.col4_list > li {width: calc(25% - 15px); margin-right: 20px; }
@media screen and (min-width: 1025px) {
    .col4_list > li:nth-child(4n) {margin-right: 0;}
    .col4_list > li:nth-child(n+5) {margin-top: 20px;}
}

/* table */
.sub_table {width: 100%; overflow-x: auto; padding-bottom: 1px;}
.sub_table table { width: 100%; border-collapse: collapse; text-align: center; }
.sub_table table th { padding:12px 30px; border: 1px solid rgba(221,221,221,.2); font-size: 18px; font-weight: 700;line-height: 1.1; color:#fff; background-color: #231f20; }
.sub_table table td {padding:10px 30px; border: 1px solid #ddd;  font-size:16px; font-weight: 400; line-height: 1.5; color:#333; background-color: #fff; }
.sub_table table tr td:first-child {border-left: 0;}
.sub_table table tr td:last-child {border-right: 0;}
.sub_table table .left th,
.sub_table table .left td,
.sub_table table th.left,
.sub_table table td.left {text-align: left; }
@media screen and (min-width:1025px) {
   .sub_table table tbody th {font-size: 16px;}
}

/* font size */
.fs_50 {font-size: 50px; font-weight :700; line-height: 1.2; letter-spacing: -1px;}
.fs_45 {font-size: 45px; font-weight :700; line-height: 1.2; }
.fs_37 {font-size: 37px; font-weight :700; line-height: 1.2; }
.fs_34 {font-size: 34px; font-weight:500; line-height: 1.3; }
.fs_33 {font-size: 33px; font-weight:700; line-height: 1.3; letter-spacing: -.66px; }
.fs_32 {font-size: 32px; font-weight:700; line-height: 1.3;  }
.fs_30 {font-size: 30px; font-weight:700; line-height: 1.3; letter-spacing: -.6px; }
.fs_27 {font-size: 27px; font-weight:700; line-height: 1.3; letter-spacing: -.54px; }
.fs_26 {font-size: 26px; font-weight:700; line-height: 1.3;  }
.fs_25 {font-size: 25px; font-weight:700; line-height: 1.3; letter-spacing: -.5px;  }
.fs_23 {font-size: 23px; font-weight:700; line-height: 1.4; letter-spacing: -.46px;}
.fs_22 {font-size: 22px; font-weight:600; line-height: 1.4; letter-spacing: -.44px; }
.fs_21 {font-size: 21px; font-weight:700; line-height: 1.4; }
.fs_20 {font-size: 20px; font-weight:300; line-height: 1.67; letter-spacing: -.4px; }
.fs_19 {font-size: 19px; font-weight: 400; line-height: 1.67; }
.fs_18 {font-size: 18px; font-weight: 400;  line-height: 1.83; letter-spacing: -.36px; color:#333; }
.fs_17 {font-size: 17px; font-weight: 400; line-height: 1.72; }
.fs_16 {font-size: 16px; font-weight: 400;  line-height: 1.88; letter-spacing: -.32px; color:#333;}
.fs_15 {font-size: 15px; font-weight: 400;  line-height: 1.72; }

/*Content CSS*/
html { scroll-behavior: smooth;}
#fix_menu {display: none !important;}

.sub_tit { margin-bottom: 55px; padding-bottom: 55px; border-bottom: 1px solid #ddd; display: flex; align-items: center; justify-content: space-between; }

.cont_wrap {position: relative; padding-left: 300px; }
.cont_wrap .index_menu {position: absolute; left: 0; top:0; width: 230px; height: 100vh; position: absolute; text-align: left;}
.cont_wrap .cont {width: 100%;}

/* index_menu */
.index_menu.fixed {position: fixed; left: 50%; transform: translateX(-650px); top:0;}
.index_menu.end {top: auto; bottom: 0px; position: absolute;}
.index_menu h3 {width: 100%; padding: 15px 20px; background-color: #231f20; color:#fef15a; line-height: 1.1; font-weight: 700; font-size: 16px; font-family: "Montserrat", sans-serif;}
.index_menu .btns {border:1px solid #ddd; border-top: 0; padding: 20px; background-color: #fff;}
.index_menu .btns li + li {margin-top: 12px;}
.index_menu .btns a {cursor: pointer; font-size: 15px; font-weight: 300;  transition: all .3s; color:#666; position: relative; padding-right: 15px; display: inline-block;
line-height: 1.5; letter-spacing: -.5px; }
.index_menu .btns a::after {content: ''; display: block; width: 6px; height: 9px; position: absolute; right: 0;  transition: opacity .3s; opacity: 0;
background:url("../img/menu_arrow.png") 50%/contain no-repeat; top: 52%;  transform: translateY(-50%);}
.index_menu .btns a.active {color:#000; font-weight: 500;}
.index_menu .btns a.active::after {opacity: 1;}
.index_menu .btns a:hover {color:#000; }
.index_menu .btns li.dep2 {margin-top: 10px; padding-left: 15px;}
.index_menu .btns li.dep2 a {font-size: 14px; font-weight: 300; padding:0 0 0 8px;display: inline-block; letter-spacing: -.6px; line-height: 1.4;}
.index_menu .btns li.dep2 a::after {display: none;}
.index_menu .btns li.dep2 a::before {content: ''; display: block; width: 4px; height: 4px; background: #666; border-radius: 50%; position: absolute; left: 0; top:6px; }
.index_menu .btns li.dep2 a.active {color:#000; font-weight: 400;}
.index_menu .btns li.dep2 a:hover {color:#000;}
.index_menu .btns a span {font-size: 80%; display: block; white-space: nowrap;}

/* cont */
.cont {  padding: 0 0 150px;  }
.cont .box + .box {margin-top: 70px; padding-top: 70px; border-top: 1px solid #ddd;}
.cont h3 { margin-bottom:40px; }
.cont .txt_wrap + .txt_wrap {margin-top: 30px; }
.cont .txt_wrap h4 { margin-bottom: 30px; }
.cont .txt_wrap h5 {font-weight: 700; margin-bottom: 10px; }
.cont .txt_wrap .dep2_list { margin-top: 5px; }
/* .cont .txt_wrap .dep2_list + p {margin-top: 10px;} */

#y_01 .line_tit {margin-top: 60px;}

@media screen and (min-width:1025px) {
    .gray_txt_box {padding:50px 60px;}
}
.gray_txt_box {margin-top: 40px;}
.gray_txt_box ul li {display: flex; align-items: flex-start; }
.gray_txt_box ul li i {position: relative; top:5px; margin-right: 8px; }
.gray_txt_box ul li + li {margin-top: 20px; }








@media screen and (max-width:1400px) {
    /* common */
    .subpage br:not(.space) {display: none;}
    .subpage img {max-width: 100%; }

    /* content */
    .index_menu.fixed { left: 50px; transform: translateX(-0);}

}


@media screen and (max-width: 1024px) {
    /* common */
    .subpage {text-align: center;}
    .subpage > section {padding: 70px 0; }
    .sub_inner {padding:0 30px;}
    .sub_tit {margin: 0 0 40px;}
    /* .line_tit::before {margin: 0 auto 15px;} */
    .line_tit::before {margin: 0 0 15px;}

    .gray_txt_box {padding: 30px;}

    .dot_list > li::before { top: 8px;}

    .sub_table table th {font-size: 15px; padding:12px 10px;}
    .sub_table table td {font-size: 14px; padding: 10px;}

    /* col_list */
    .col2_list > li {width: 100%;}
    .col2_list > li:nth-child(n+2) {margin-top: 20px;}
    /* .col2_list > li:nth-child(n+2) {margin-top: -2px;} */

    .col3_list > li {width: calc(50% - 10px); margin-right: 20px; }
    .col3_list > li:nth-child(even) {margin-right: 0;}
    .col3_list > li:nth-child(n+3) {margin-top: 20px;}

    .col4_list > li {width: calc(50% - 10px);}
    .col4_list > li:nth-child(even) {margin-right: 0;}
    .col4_list > li:nth-child(n+3) {margin-top: 20px;}

    /* font size */
    .fs_50 {font-size:40px; }
    .fs_45 {font-size:33px; }
    .fs_37 {font-size:30px; }
    .fs_34 {font-size: 27px;}
    .fs_33 {font-size: 26px;}
    .fs_32 {font-size: 26px;}
    .fs_30 {font-size: 25px;}
    .fs_27 {font-size: 21px;}
    .fs_26 {font-size: 21px;}
    .fs_25 {font-size: 21px;}
    .fs_23 {font-size: 19px;}
    .fs_22 {font-size: 19px;}
    .fs_21 {font-size: 18px; line-height: 1.4;}
    .fs_20 {font-size: 17px; line-height: 1.65;}
    .fs_19 {font-size: 17px; line-height: 1.65;}
    .fs_18 {font-size: 16px; line-height: 1.65;}
    .fs_17 {font-size: 15px; line-height: 1.65;}
    .fs_16 {font-size: 14px; line-height: 1.65;}
    .fs_15 {font-size: 13px; line-height: 1.65;}

    /* content */
    .cont_wrap .index_menu {width: 100%; height: auto;position: relative;  }
    @media screen and (min-width: 641px) {
        .index_menu .btns {display: flex; flex-wrap: wrap;}
        .index_menu .btns > li {width: 50%;}
        .index_menu .btns li:nth-child(2) {margin-top: 0;}
    }
    .index_menu.fixed {position: relative; left: 0; }

    .sub_tit {margin-bottom: 50px;  padding-bottom: 50px; }

    .cont_wrap {padding: 0; }
    .cont {margin-top: 60px; padding: 0; text-align: left;}
    .cont .box + .box { margin-top: 50px; padding-top: 50px;}
    .cont h3 {margin-bottom: 30px; }
    .cont .txt_wrap h4 {margin-bottom: 20px; }

    .gray_txt_box ul li i {top:2px;}



}

@media screen and (max-width: 640px) {
    /* common */
    .subpage > section {padding: 50px 0;}
    .sub_inner {padding:0 20px;}
    .sub_tit {margin-bottom: 30px; }

    .gray_txt_box {padding: 20px;}

    .dot_list > li {padding-left: 10px;}
    .dot_list > li::before { top: 7px; width: 4px; height: 4px; }

    /* c_btn */
    .c_btn {width: 100%; height: 40px; padding: 0 15px; font-size: 13px; }

    .sub_table table th {font-size: 14px; padding:10px 7px;}
    .sub_table table td {font-size: 13px; padding: 7px;}

    /* col_list */
    .col2_list > li {width: 100%;}
    .col2_list > li:nth-child(n+2) {margin-top: 10px;}

    .col3_list > li {width: 100%; margin-right: 0; }
    .col3_list > li:nth-child(n+2) {margin-top: 40px;}

    .col4_list > li {width: 100%;}
    .col4_list > li:nth-child(n+2) {margin-top: 10px;}

    /* font size */
    .fs_50 {font-size:32px; }
    .fs_45 {font-size:25px; }
    .fs_37 {font-size:22px; }
    .fs_34 {font-size: 21px;}
    .fs_33 {font-size: 20px;}
    .fs_32 {font-size: 20px;}
    .fs_30 {font-size: 20px;}
    .fs_27 {font-size: 18px;}
    .fs_26 {font-size: 18px;}
    .fs_25 {font-size: 18px;}
    .fs_23 {font-size: 17px;}
    .fs_22 {font-size: 17px;}
    .fs_21 {font-size: 16px;}
    .fs_20 {font-size: 15px;}
    .fs_19 {font-size: 15px;}
    .fs_18 {font-size: 14px;}
    .fs_17 {font-size: 14px;}
    .fs_16 {font-size: 13px;}
    .fs_15 {font-size: 12px;}

    /* content */
    .sub_tit {margin-bottom: 40px;  padding-bottom: 40px; display: block; }
    .sub_tit .c_btn {margin-top: 30px;}
    .index_menu h3{padding: 12px 20px;}
    .index_menu .btns a {font-size: 14px;}
    .index_menu .btns a::after {top:50%;}
    .index_menu .btns li + li {    margin-top: 10px;}

    .cont .box + .box { margin-top: 40px; padding-top: 40px;}
    .cont h3 {margin-bottom:25px; }
    .cont .txt_wrap h4 {margin-bottom: 15px; }

    #y_01 .line_tit {margin-top: 40px;}

    .gray_txt_box ul li i {width: 15px; flex-shrink: 0;}
    .gray_txt_box ul li + li {margin-top: 10px;}

}

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


}
