/* common */
.subpage { overflow: hidden; position:relative; text-align: center; }
.subpage > section {padding: 90px 0; position: relative; }
.subpage > section:nth-of-type(even) {background: #f7f7f7;}
.subpage .tab > section {padding: 90px 0; position: relative; }
.sub_inner { padding: 0 50px; margin: 0 auto; max-width: 1400px; width: 100%; position: relative;}
.sub_tit {margin-bottom: 80px;}
.sub_tit h2 {display: inline; position: relative;}
.sub_tit h2::after {content: ''; display: block; width: 15px; height: 15px; background-color: #00479d; border-radius: 50%; right: -19px; top: -9px; position: absolute;}
.sub_tit p {margin-top: 20px;}

/* font size */
.fs_60 {font-size: 60px; font-weight: 700; color:#000; line-height: 1.3; }
.fs_32 {font-size: 32px; font-weight: 600; color:#111; line-height: 1.56; }
.fs_30 {font-size: 30px; font-weight: 700; color:#111; line-height: 1.56; }
.fs_24 {font-size: 24px; font-weight: 700; color:#111; line-height: 1.58; }
.fs_22 {font-size: 22px; font-weight: 700; color:#111; line-height: 1.58; }
.fs_20 {font-size: 20px; font-weight: 700; color:#111; line-height: 1.58; }
.fs_18 {font-size: 18px; font-weight: 300; color:#111; line-height: 1.83; }
.fs_17 {font-size: 17px; font-weight: 300; color:#111; line-height: 1.83; }
.fs_16 {font-size: 16px; font-weight: 300; color:#111; line-height: 1.83; }

.rec_tit {text-align: left; position: relative; padding-left:35px; color:#00479d; margin-bottom: 20px; font-weight: 700; }
.rec_tit::before {content: ''; display: block; width: 16px; height: 16px; background:#fff; position: absolute; left: 0; top:15px; border:4px solid #00479d;}

.dot_list > li {position: relative; padding-left:15px; margin-bottom: 15px; text-align: left; }
.dot_list > li:last-child {margin-bottom: 0;}
.dot_list > li::before {content: ''; display: block; width: 4px; height: 4px; background-color: #444; position: absolute; left: 0; top:10px; border-radius: 50%;}

/*Content CSS*/
.subpage .tab {display: none;}
.subpage .tab.active {display: block;}
.subpage .tab_btns {display: flex; text-align: center; justify-content: space-between; max-width: 830px;  margin: 0 auto; }
.subpage .tab_btns li {width: calc(50% - 15px);}
.subpage .tab_btns a {display: flex; white-space: nowrap; font-size: 18px; font-weight: 500; color:#111; transition:all .3s; width: 100%;
line-height: 1.1;  position: relative; cursor: pointer;  padding: 0; border: 1px solid #ddd; height: 60px; align-items: center; justify-content: center; }
.subpage .tab_btns a.active {color: #fff; border-color: #129cfd;  background-color: #129cfd; }
.subpage .tab_btns a:hover {color: #fff; border-color: #129cfd; background-color: #129cfd; }
.subpage .top_btn {padding:80px 0 0;}

.subpage .cont + .cont {margin-top: 80px; }
.subpage article + article {margin-top: 120px; }

/* table */
.sub_table table { width: 100%; border-collapse: collapse;  border-top: 1px solid #000; }
.sub_table table tbody th { padding:35px 15px; border-bottom: 1px solid #ddd;  font-size: 20px; font-weight: 700;line-height: 1.3; color:#111; background-color: #f9f9f9;
text-align: center;letter-spacing: -.5px;}
.sub_table table tbody td {padding:20px 35px; border-bottom: 1px solid #ddd; font-size: 17px; font-weight: 400; line-height: 1.65; color:#1d1d1f; text-align: left;
letter-spacing: -.5px;}
.sub_table table tbody td.center {text-align: center;}

/* tab1 */
#tab1 .arti1 .cont2 h3 {text-align: left; margin-bottom: 20px;}
#tab1 .arti1 .cont2 ul {display: flex; justify-content: space-between; }
#tab1 .arti1 .cont2 ul > li {width: calc(50% - 15px); display: flex; border:1px solid #ddd;}
#tab1 .arti1 .cont2 ul h4 {flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 150px; font-weight: 600; text-align: center; background-color: #f9f9f9;}
#tab1 .arti1 .cont2 ul p {width: 100%; text-align: left; padding: 15px 25px; display: flex; align-items: center; }
#tab1 .arti1 .cont2 .img {margin-top: 65px;}
#tab1 .arti1 .cont2 .img + p {text-align: right; font-size: 14px; font-weight: 300; color:#cfcfcf; margin-top: 30px;}

#tab1 .arti2 .cont2 .sub_table {border-top: 1px solid #000;;}
#tab1 .arti2 .cont2 .sub_table table thead th {border:1px solid #ddd; background-color: #f9f9f9; font-size: 17px; font-weight:600; color:#1d1d1f; padding: 20px 15px;}
#tab1 .arti2 .cont2 .sub_table table thead th.slash { background-image: linear-gradient(to left bottom, transparent calc(50% - 1px), #ddd, transparent calc(50% + 1px)); background-size: 120% 120%; background-position: center;}
#tab1 .arti2 .cont2 .sub_table table tbody th,
#tab1 .arti2 .cont2 .sub_table table tbody td {border:1px solid #ddd;}

/* tab2 */
#tab2 .link_btn {display: flex; align-items: center; justify-content: center; width: 150px; height: 40px; border-radius: 21px; background-color: #00479d; font-size: 15px;
font-weight: 500; color:#fff; transition: background-color .3s; flex-shrink: 0; margin-left: 30px; }
#tab2 .link_btn:hover {background-color: #129cfd; }
#tab2 .top.flex {display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;}
#tab2 .top.flex .rec_tit {margin: 0;}

#tab2 .list {border-top: 1px solid #000; text-align: left; }
#tab2 .list + .list {margin-top: 40px;}
#tab2 .list > li {padding: 25px 40px; border-bottom: 1px solid #ddd; font-weight: 300;}
#tab2 .list > li span {font-size: 95%; color:#444;display: block;}
#tab2 .list > li.subj {background-color: #f5fafe; font-weight: 700; }
#tab2 .list > li.flex {display: flex; justify-content: space-between; align-items: center;}

#tab2 .btn_wrap {display: flex; align-items: center; margin-left: 30px;}
#tab2 .btn_wrap p {font-weight: 300; color:#00479d; font-size: 15px; padding-right: 15px;}
#tab2 .btn_wrap a {margin: 0;}

#tab2 .sub_table table tbody th {background-color: #f5fafe; }
#tab2 .sub_table .flex{ display: flex; justify-content: space-between; align-items: center;}




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

    /* content */


}

@media screen and (max-width: 1024px) {
    /* common */
    .subpage {text-align: center;}
    .subpage > section,
    .subpage .tab > section {padding: 70px 0; }
    .sub_inner {padding:0 30px;}
    .sub_tit {margin-bottom: 50px;}
    /* font size */
    .fs_60 {font-size: 40px;  }
    .fs_32 {font-size: 25px; }
    .fs_30 {font-size: 24px; }
    .fs_24 {font-size: 20px; }
    .fs_22 {font-size: 18px; }
    .fs_20 {font-size: 17px; }
    .fs_18 {font-size: 15px; line-height: 1.65;}
    .fs_17 {font-size: 14px; line-height: 1.65;}
    .fs_16 {font-size: 14px; line-height: 1.65;}

    .rec_tit::before {top: 10px;}
    .dot_list > li::before {top:7px;}

    /* content */
    .subpage .top_btn {padding: 50px 0 0;}
    .subpage .tab_btns a {font-size: 16px; height: 50px;}
    .subpage .cont + .cont {margin-top: 60px;}
    .subpage article + article {margin-top: 80px;}

    /* tab1 */
    #tab1 .arti1 .cont2 ul {display: block; }
    #tab1 .arti1 .cont2 ul > li {width: 100%;}
    #tab1 .arti1 .cont2 ul > li + li {margin-top: 15px;}
    #tab1 .arti1 .cont2 .img {margin-top: 30px;}
    #tab1 .arti1 .cont2 .img + p {margin-top: 10px;}

    #tab1 .arti2 .cont2 .sub_table table thead th {font-size: 15px; padding: 15px;}

    /* tab2 */
    #tab2 .link_btn {width: 130px; height: 30px; font-size: 13px;  margin: 10px 0 0;}
    #tab2 .list > li {padding: 15px;}
    #tab2 .list > li.flex {display: block;}

    #tab2 .sub_table .flex {display: block;}
    #tab2 .btn_wrap p {font-size: 13px; padding-right: 10px;}


    .sub_table {  width: 100%; overflow-x: auto;}
    .sub_table table thead th {font-size: 15px; padding:15px;}
    .sub_table table tbody th {font-size:16px; padding: 20px;}
    .sub_table table tbody td {font-size: 13px; padding: 15px;}

}

@media screen and (max-width: 640px) {
    /* common */
    .subpage > section,
    .subpage .tab > section {padding: 50px 0;}
    .sub_inner {padding:0 20px;}
    .sub_tit {margin-bottom: 30px;}
    .sub_tit h2::after { width: 10px; height: 10px; right: -15px; top: -5px;}
    .sub_tit p {margin-top: 10px;}

    /* font size */
    .fs_60 {font-size: 32px;  }
    .fs_32 {font-size: 20px;  }
    .fs_30 {font-size: 20px;  }
    .fs_24 {font-size: 17px; }
    .fs_22 {font-size: 16px; }
    .fs_20 {font-size: 16px; }
    .fs_18 {font-size: 13px;}
    .fs_17 {font-size: 13px;}
    .fs_16 {font-size: 13px;}

    .rec_tit {padding-left: 25px; margin-bottom: 15px;}
    .rec_tit::before {top: 7px; border-width: 3px; width: 14px; height: 14px}

    .dot_list > li {margin-bottom: 5px; padding-left: 10px;}
    .dot_list > li::before {top:6px;}

    /* content */
    .subpage .cont + .cont {margin-top: 40px;}
    .subpage article + article {margin-top: 60px;}
    .subpage .tab_btns li {width: calc(50% - 5px);}
    .subpage .tab_btns a {font-size: 14px; height: 40px;}

    /* tab1 */
    #tab1 .arti1 .cont2 h3 { margin-bottom: 10px;}
    #tab1 .arti1 .cont2 ul h4 {width: 80px;}
    #tab1 .arti1 .cont2 ul p {padding: 10px 15px;}
    #tab1 .arti1 .cont2 ul > li + li {margin-top: 10px;}
    #tab1 .arti1 .cont2 .img + p {font-size: 12px;}

    #tab1 .arti2 .cont2 .sub_table table thead th {font-size: 14px; padding: 12px 7px;}

    /* tab2 */
    #tab2 .link_btn {width: 110px; height: 27px; font-size: 12px;}
    #tab2 .list > li {padding: 10px;}
    #tab2 .list > li.flex {display: block;}
    #tab2 .top.flex {display: block;}
    #tab2 .top.flex .link_btn {margin: 0 0 0 auto; }
    #tab2 .btn_wrap {justify-content: flex-end; margin: 5px 0 0;}
    #tab2 .btn_wrap .link_btn {margin: 0 !important;}
    #tab2 .btn_wrap p {font-size: 12px; letter-spacing: -.5px;}


    .sub_table table thead th {font-size: 14px; padding:12px 7px;}
    .sub_table table tbody th {font-size: 14px; padding:12px 7px;}
    .sub_table table tbody td {font-size: 12px; padding: 10px;}
    .sub_table + p {margin-top: 15px;}

    /* res_table */
    .res_table > table {width: 640px; }
    .res_table {position: relative; overflow-x: hidden; }
    .res_table.on {overflow-x: auto;}
    .res_table::after {content: ''; position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; display: block; z-index: 2;
    background:url("../img/table_scroll.png") 50%/80% auto no-repeat rgba(0,0,0,.8); }
    .res_table.on::after {display: none;}

}
