/* common */
.subpage { overflow: hidden; position:relative; }
.subpage > section {padding: 90px 0; position: relative; }
.subpage > section:nth-of-type(even) {background: #f7f7f7;}
.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: #29a7e1; margin: 0 0 10px;}

.gray_txt_box {background: #f7f7f7; border-radius: 30px; padding: 35px; }


/* font size */
.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;  }
.fs_24 {font-size: 24px; font-weight:700; line-height: 1.4; letter-spacing: -.46px;}
.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.72; }
.fs_15 {font-size: 15px; font-weight: 400;  line-height: 1.72; }

/*Content CSS*/
.sec1 .sub_tit h2 {font-weight: 400; line-height: 1.33; }
.sec1 .sub_tit h2 + p {margin: 30px 0 80px;}


.sec1 .box_wrap {border-top: 1px solid #000; position: relative;  text-align: left;}
.sec1 .box_wrap i { display: block; padding-left: 11px; background: #fff; width: 80px; position: absolute; left: 0; top:-17px; z-index: 2;}
.sec1 .box_wrap i:nth-of-type(2) {top:auto; bottom: -15px; left: auto; right: 0; text-align: right; padding: 0;}
.sec1 .box_wrap .box {padding: 45px 0; border-bottom: 1px solid #ddd; }
.sec1 .box_wrap h3 { margin-bottom: 15px; position: relative; padding-left:24px; }
.sec1 .box_wrap h3::before {content: ''; display: block; width: 10px; height: 10px; position: absolute; left: 0; top:9px; background: #29a7e1; }
.sec1 .box_wrap p { padding-left:24px; color:#333; }

.icon_list {display: flex; margin-top: 70px; border-radius: 30px; padding: 60px 0; background:url("../img/icon_list_bg.jpg") 50%/cover no-repeat;}
.icon_list li {width: 33.3%;   transition: .3s; text-align: center;border-right: 1px solid rgba(255,255,255,.3); }
.icon_list li:last-child {border:0; }
.icon_list li i{display: flex; width: 150px; height: 150px; background-color: rgba(255,255,255,.15); margin: 0px auto; border-radius: 50%; justify-content: center; align-items: center;}
.icon_list li i img {transition: .5s;}
.icon_list li span{display: block; margin: 30px 0 5px; color:#fff;}
.icon_list li p {color:#fff; }
.icon_list li:hover i img {transform: rotateY(180deg);  }
.icon_list + p {margin: 30px 0 80px;}





@media screen and (min-width:1025px) {
    .sec1 .gray_txt_box {padding: 60px 90px; }
}
.sec1 .gray_txt_box h3 {line-height: 1.67; }



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

    /* font size */
    .fs_45 {font-size:35px; }
    .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_26 {font-size: 21px;}
    .fs_25 {font-size: 21px;}
    .fs_24 {font-size: 20px;}
    .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 */
    .sec1 .box_wrap .box {padding: 40px 0;}
    .sec1 .box_wrap h3::before {top:7px;}

    .icon_list {padding: 40px 0;}


}



@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; border-radius: 20px; }

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

    /* font size */
    .fs_45 {font-size:30px; }
    .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_26 {font-size: 18px;}
    .fs_25 {font-size: 18px;}
    .fs_24 {font-size: 17px;}
    .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 */
    .sec1 .sub_tit h2 + p {margin: 15px 0 40px;}

    .sec1 .box_wrap i {padding: 0; width: 55px; top: -15px}
    .sec1 .box_wrap i img {height: 25px;}
    .sec1 .box_wrap .box {padding: 30px 0;}
    .sec1 .box_wrap h3 {margin-bottom: 10px;    padding-left: 15px; line-height: 1.5;}
    .sec1 .box_wrap h3::before {    width:7px; height: 7px; top: 8px;}
    .sec1 .box_wrap p {  padding-left: 15px; }

    .icon_list {padding: 0 30px; border-radius: 20px; display: block;  margin-top: 50px;}
    .icon_list li {width: 100%; padding:25px 0;border-right: 0; border-bottom: 1px solid rgba(255,255,255,.3); }
    .icon_list li i {width: 100px; height: 100px; }
    .icon_list li i img {max-height: 45px; }
    .icon_list li span {margin: 15px 0 5px;}
    .icon_list + p {margin: 20px 0 50px;}

}
