/* common */
.subpage { overflow: hidden; position:relative; text-align: center; }
.subpage > section {padding: 90px 0; position: relative; color:#000;}
.subpage img {max-width: inherit;}
.subpage > section:nth-of-type(even) {background: #f7f7f7; }
.sub_inner { padding: 0 50px; margin: 0 auto; max-width: 1400px; width: 100%; position: relative;}
.sub_tit h2::before {content: ''; display: block; width: 42px; height: 4px; background-color: #002775; margin: 0 auto 25px;}
.sub_tit p {font-weight: 500; margin-top:30px;}

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

.left_line {position: relative; padding-left: 22px; text-align: left;}
.left_line::before {content: ''; display: block; width:3px; height: 24px; background-color: #002775;  left: 0; top:2px; position: absolute; }

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

.dot_p {position: relative; padding-left: 15px; font-weight: 400;  text-align: left;}
.dot_p::before {content: ''; position: absolute; left: 0; top:11px; display: block; width: 5px; height: 5px; background-color: #002775; border-radius: 50%;}

/* 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% - 18px); margin-right: 27px ;}
@media screen and (min-width: 1025px) {
    .col3_list > li:nth-child(n+4) {margin-top: 27px;}
    .col3_list > li:nth-child(3n) {margin-right: 0;}
}
.col4_list {display: flex; justify-content: space-between; flex-wrap: wrap;}
.col4_list > li {width: calc(25% - 15px);}

.num_tit {display: flex; align-items: flex-start; justify-content: flex-start; }
.num_tit i {display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; background-color: #002775; font-size: 24px; font-weight: 700; color:#fff;
flex-shrink: 0; margin-right: 26px; font-style: normal; position: relative; top:-2px;}


/* font size */
.fs_60 {font-size: 60px; font-weight :700; line-height: 1.1;}
.fs_55 {font-size: 55px; font-weight :700; line-height: 1.1;}
.fs_50 {font-size: 50px; font-weight :700; line-height: 1.1;}
.fs_48 {font-size: 48px; font-weight :700; line-height: 1.1; color: #002775; }
.fs_45 {font-size: 45px; font-weight :700; line-height: 1.1;}
.fs_40 {font-size: 40px; font-weight :700; line-height: 1.1;}
.fs_37 {font-size: 37px; font-weight :700; line-height: 1.1;}
.fs_36 {font-size: 36px; font-weight :700; line-height: 1.1;}
.fs_35 {font-size: 35px; font-weight :700; line-height: 1.1;}
.fs_34 {font-size: 34px; font-weight:500; line-height: 1.2;  }
.fs_32 {font-size: 32px; font-weight:700; line-height: 1.2;  }
.fs_30 {font-size: 30px; font-weight:600; line-height: 1.2;  }
.fs_28 {font-size: 28px; font-weight:700; line-height: 1.2;  }
.fs_26 {font-size: 26px; font-weight:700; line-height: 1.2;  }
.fs_25 {font-size: 24px; font-weight:700; line-height: 1.2; }
.fs_24 {font-size: 24px; font-weight:700; line-height: 1.2; }
.fs_23 {font-size: 23px; font-weight:700; line-height: 1.4; }
.fs_22 {font-size: 22px; font-weight:600; line-height: 1.4; }
.fs_21 {font-size: 21px; font-weight:600; line-height: 1.4; }
.fs_20 {font-size: 20px; font-weight:300; line-height: 1.76; }
.fs_19 {font-size: 19px; font-weight: 400; color:#333;  line-height: 1.76; letter-spacing: -.36px; }
.fs_18 {font-size: 18px; font-weight: 400; color:#333;  line-height: 1.83; letter-spacing: -.36px; }
.fs_17 {font-size: 17px; font-weight: 300; color:#333;  line-height: 1.76; letter-spacing: -.36px; }
.fs_16 {font-size: 16px; font-weight: 300; color:#333;  line-height: 1.76; letter-spacing: -.36px; }
.fs_15 {font-size: 15px; font-weight: 300; color:#333;  line-height: 1.76; letter-spacing: -.36px; }


/*Content CSS*/
/* .subpage .img {display: flex; align-items: center; justify-content: center; overflow: hidden;  background-color: #fff;} */
/* .subpage .cont + .cont {margin-top: 100px; } */
.sec1 .sub_tit p b {font-weight: 900; color:#002775; }
.sec1 .img {margin: 55px 0 80px;}

/* sec2 */
#sec2 {padding-top: 120px;}
.sec2 h3 {position: relative; z-index: 1; margin-bottom: 70px; }
.sec2 h3 span {position: absolute; font-size: 92px; font-weight: 700; color:#efefef; z-index: -1; top:-45px; left: 50%;  transform: translateX(-50%); white-space: nowrap;}
.sec2 .box {border:2px solid #e8e8e8; background-color: #fff; text-align: left; padding: 60px; position: relative; }
.sec2 .box + .box {margin-top: 85px; }
.sec2 .box h4 {margin-bottom: 25px; font-weight: 800; }
.sec2 .box .arrow {position: absolute; display: block; width: 67px; height: 38px; background:url("../img/down_arrow.png") 50%/contain no-repeat; bottom: -63px;
left: 50%;  transform: translateX(-50%);}
.sec2 .box .dot_list > li {font-weight: 300; color:#000; }
.sec2 .box .dot_list > li:nth-child(n+2) {margin-top:15px ;}

/* sec3 */
.sec3 h3 {margin-bottom: 70px;}
.sec3 .list {display: flex; flex-wrap: wrap; }
.sec3 .list > li {margin-right: 115px; position: relative; }
.sec3 .list > li:nth-child(4n) {margin-right: 0;}
.sec3 .list > li:nth-child(5) {margin-left: 75px;}
.sec3 .list > li:nth-child(n+5) {margin-top: 51px;}
.sec3 .list .box {display: flex; flex-direction: column; align-items: center; justify-content: center; border:3px solid #e8e8e8; width: 220px; height: 200px; border-radius: 15px;}
.sec3 .list .icon {display: flex; align-items: center; justify-content: center; height: 87px; margin-bottom: 15px; }
.sec3 .list .arrow {position: absolute; display: block; width: 38px; height: 67px; background:url("../img/right_arrow.png") 50%/contain no-repeat;
right: -76px; top: 50%;  transform: translateY(-50%); }
.sec3 .list p {font-weight: 600; color:#000; }

.sec3 .list > li:nth-child(5)::before {content: ''; position: absolute; display: block; width: 38px; height: 67px; background:url("../img/right_arrow.png") 50%/contain no-repeat;
left: -76px; top: 50%;  transform: translateY(-50%); }
.sec3 .list > li:nth-child(4n) .arrow{ display: none;}

.sec3 .list i img {transition: transform .5s; }
.sec3 .list li:hover i img {transform: rotateY(180deg);}






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

}

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

}

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

}
