/* common */
.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;}

.his_btns { display: flex;justify-content: center;position: relative; left: 50%;  transform: translateX(-50%); top:0;  width: 100%; transition: all .3s; max-width: 1300px; margin: 0 auto; z-index: 20; background-color: #fff;}
.his_btns::before {content: ''; display: block; width: 100%; height: 1px; background: #ddd; position: absolute; left: 50%;  transform: translateX(-50%); bottom: 0;
transition: width .3s; }
.his_btns li{flex: 1; }
.his_btns li a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-weight: 500; position: relative; padding: 0 10px 20px;
font-size:20px; color:#999; transition: all .3s ease; background-color: transparent; word-break: keep-all; position: relative; line-height: 1.4;}
.his_btns li a::after{content: ''; display: block; width: 100%; height: 3px; background-color: #fef15a; position: absolute; bottom: -1px; left: 0; opacity: 0; transition: .3s;}
.his_btns li a:hover { color:#000; }
/* .his_btns li a:hover::after{opacity: 1;} */
.his_btns li a.active {  color:#000; }
.his_btns li a.active::after{opacity: 1;}

.his_btns.fixed {position: fixed; }
.his_btns.fixed::before {width: 100vw;}
.his_btns.fixed li a {padding-top: 20px; }

.his_wrap {overflow: hidden;}
.his_tit {position: relative; z-index: 2;}
.his_tit .box {display: flex; align-items: center; justify-content: center; width: 299px; height: 66px; background:url("../img/his_tit.png") 50%/contain no-repeat;
margin: 0 auto 0; }
.his_tit .box h2 {font-weight: 700; color:#fff; line-height: 1; font-size: 35px;}


/* list */
#history ol.vertical__list {position: relative; margin-top: 100px; }
#history ol.vertical__list > li {width: 100%; position: relative; }
#history ol.vertical__list > li .cont {width:50%;position: relative; display: flex; flex-direction: column; text-align: left; align-items: flex-start; margin-left: auto; text-align: left; padding-left: 55px;}
#history ol.vertical__list > li .his_tit + .cont {padding-top: 70px;}

/* line */
#history ol.vertical__list > li .pagination {left: -1px;}
#history ol.vertical__list > li .pagination {position: absolute; top: -0; width: 2px; height:100%; background: #ddd;}
#history ol.vertical__list > li .pagination .line {position: absolute; width: 100%; height: 0; background: #decc0f; transition: height 0.3s ease;}

/* dots */
#history ol.vertical__list > li .pagination .inner_dot {position: absolute; width: 10px; height: 10px; border-radius: 50%; top:0; left: 50%;  transform: translateX(-50%);
background-color: #ddd; margin-top:11px; transition: background-color 0.3s ease 0.2s; z-index: 2;}
#history ol.vertical__list > li .his_tit + .cont .pagination .inner_dot { margin-top: 80px;}

/* cont > txt */
#history ol.vertical__list > li .txt {display: flex; align-items: flex-start; padding-bottom: 70px;}
#history ol.vertical__list > li .txt h3 {flex-shrink: 0; margin-right: 35px;}



#history ol.vertical__list > li .txt h3 {font-size: 35px; color: #000; font-weight: 700; line-height: 1; margin-bottom: 22px; position: relative; transition: 0.3s ease-in-out;}
#history ol.vertical__list > li .txt ul {transition: 0.5s ease-in-out; top: 15px;  transition-delay: 0.1s; }
#history ol.vertical__list > li .txt ul li {padding-left: 13px; position: relative ;}
#history ol.vertical__list > li .txt ul li + li {margin-top: 5px; }

/* history_line */
#history ol.vertical__list > li .txt ul li::after {content: ''; width: 5px; height: 5px; border-radius: 50%; left: 0; top: 13px; background: #333333; position: absolute;}




@media screen and (min-width:1025px) {
    #history ol.vertical__list > li:nth-of-type(even) .cont { margin-left: 0; margin-right: auto; text-align: right; padding-right: 55px; padding-left: 0; align-items: flex-end;}
    #history ol.vertical__list > li:nth-of-type(even) .pagination {left: auto; right: -1px}


    #history ol.vertical__list > li.his_tit_prev .txt { padding-bottom: 120px;}
    #history ol.vertical__list > li:nth-of-type(even) .txt { flex-direction: row-reverse;}
    #history ol.vertical__list > li:nth-child(even) .txt h3 {flex-shrink: 0; margin-right: 0; margin-left: 35px;}
    #history ol.vertical__list > li:nth-of-type(even) .txt ul li::after {left: auto; right: 0; }
    #history ol.vertical__list > li:nth-of-type(even) .txt ul li {padding-left: 0; padding-right: 13px;}


}






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

    /* content */


}


@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;}

    .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 */
    .his_btns.fixed {top:60px; }
    .his_btns li a {font-size: 16px; padding: 0 5px 20px; letter-spacing: -.5px;}

    .his_tit .box {margin: 0; width: 250px; height: 55px;  margin-left: -30px;}
    .his_tit .box h2 {font-size: 28px;  }


    #history ol.vertical__list {margin-top: 70px;}
    #history ol.vertical__list > li .cont {width: 100%; margin: 0; }
    #history ol.vertical__list > li .txt {padding-bottom: 50px;}
    #history ol.vertical__list > li .txt h3 {font-size: 30px;}
    #history ol.vertical__list > li .txt ul li::after {top:9px;}
    #history ol.vertical__list > li.his_tit_prev .txt { padding-bottom: 70px;}


}

@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 */
    .his_btns {flex-wrap: wrap;}
    .his_btns li {flex:inherit; width: 33.3%;}
    .his_btns li a {font-size: 14px; padding: 10px 5px 10px; }
    .his_btns li:nth-child(n+4) a {border-top: 1px solid #eee;}
    .his_btns.fixed li a {padding-top: 10px;}

    .his_tit .box {margin: 0; width: 200px; height: 44px;  margin-left: -25px;}
    .his_tit .box h2 {font-size: 23px;  }


    #history ol.vertical__list {margin-top: 60px;}
    #history ol.vertical__list > li .cont {width: 100%; margin: 0; }
    #history ol.vertical__list > li .his_tit + .cont {padding-top: 50px;}
    #history ol.vertical__list > li .pagination .inner_dot {margin-top: 5px;}
    #history ol.vertical__list > li .his_tit + .cont .pagination .inner_dot {margin-top: 55px;}
    #history ol.vertical__list > li .txt {padding-bottom: 40px;}
    #history ol.vertical__list > li.his_tit_prev .txt { padding-bottom: 50px;}
    #history ol.vertical__list > li .txt h3 {font-size: 24px; margin-right:25px;}
    #history ol.vertical__list > li .txt ul li::after {top:8px;}


}

@media screen and (max-width: 480px) {
    #history ol.vertical__list {   padding-left: 25px;}
    #history ol.vertical__list > li .cont {padding-left: 35px;}
    #history ol.vertical__list > li .txt {display: block;}
    #history ol.vertical__list > li .txt h3 {margin: 0 0 10px;}
}
