/* 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: 40px; }
.sub_tit.bor {padding-bottom: 40px; margin-bottom: 70px; border-bottom: 1px solid #ddd; }
@media screen and (min-width:1401px) {
    .sub_tit.flex {display: flex; }
    .sub_tit.flex p {margin-left: 30px; padding-top: 17px;}
}
.line_tit {position: relative; padding-left: 16px; text-align: left; margin-bottom: 30px; }
.line_tit::before {content: ''; display: block; width: 4px; height: 70%;  background:#00a650; position: absolute; left: 0; top:15%;}

/* font size */
.fs_47 {font-size: 47px; font-weight:700; color: #000; line-height: 1.2; letter-spacing: -.94px;}
.fs_35 {font-size: 35px; font-weight:700; line-height: 1.3; letter-spacing: -.7px; color:#000;  }
.fs_32 {font-size: 32px; font-weight:700; line-height: 1.4; letter-spacing: -.64px; color:#000;  }
.fs_22 {font-size: 22px; font-weight:700; line-height: 1.5; letter-spacing: -.44px; color:#000;  }
.fs_20 {font-size: 20px; font-weight:400; line-height: 1.5; letter-spacing: -.4px; color:#000;  }
.fs_18 {font-size: 18px; font-weight: 400; color: #555; line-height: 1.83; letter-spacing: -.36px; }
.fs_16 {font-size: 16px; font-weight: 400; color: #666; line-height: 1.65; letter-spacing: -.32px; }

/*Content CSS*/
.cont + .cont {margin-top: 70px; }

.img_box {display: flex;}
.img_box > div {display: flex;}
.img_box .img {width:635px; flex-shrink: 0;}
.img_box .img img {width: 100%; height: 100%; object-fit:cover;}
.img_box .txt {width:100%;display: flex; align-items: center; background-color: #f7f7f7; padding: 10px 75px;}
.subpage > section:nth-of-type(even) .img_box .txt {background-color: #fff;}

.num_list {border-top: 1px solid #000; flex-wrap: wrap; display: flex; }
.num_list > li {display: flex; border-bottom: 1px solid #ddd; padding: 25px 0; width: 50%; text-align: left;}
.num_list > li.full {width: 100%;}
.num_list h4 {display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background-color: #00a650; font-size: 22px; font-weight: 800; color:#fff;
letter-spacing: -.44px; flex-shrink: 0; margin-right: 18px; }
.num_list p {padding-top: 2px; }
@media screen and (min-width:1025px) {
    .num_list > li:nth-child(odd) {padding-right: 20px;}
    .num_list > li:nth-child(2) h4,
    .num_list > li:nth-child(3) h4 {background-color: #000; }
}

.btn_wrap {display: flex; justify-content: center; }
.btn_wrap > a {display: flex; justify-content: space-between; align-items: center; width: 250px; height: 50px; border-radius: 25px; background-color: #00a650;
font-size: 15px; font-weight: 400; color:#fff; transition: background-color .3s ; padding: 0 28px; }
.btn_wrap > a i {font-size: 120%; position: relative; top:-1px;}
.btn_wrap > a + a {margin-left: 16px; background-color: #364337;}
.btn_wrap > a:hover {background-color: #000; }

/* sec2 */
#sec2 .list {border-top: 1px solid #000; margin-bottom: 70px; }
#sec2 .list > li {border-bottom: 1px solid #ddd; padding: 30px 0 30px 54px; position: relative; display: flex; text-align: left; }
#sec2 .list > li::before {content: ''; display: block; width: 26px; height: 23px; position: absolute; left: 16px; top:34px;
background:url("../img/ab4_s2_arrow.png") 50%/contain no-repeat;}
#sec2 .list b {font-weight: 800; color:#000; flex-shrink: 0; margin-right: 13px; display: block;}

/* sec3 */
#sec3 .list {display: flex; }
#sec3 .list > li {flex:1; margin-right: 20px; text-align: left; border:1px solid #ddd; border-radius: 20px; background-color: #fff; padding:35px 35px 35px 40px;
display: flex; flex-direction: column; justify-content: space-between;}
#sec3 .list > li:last-child {margin-right: 0;}
#sec3 .list .icon {text-align: right; display: block; }
#sec3 .list p {font-weight: 700; color:#00a650; }
#sec3 .list h4 {margin: 13px 0 40px;}
#sec3 .list h4 span {font-weight: 400; color:#000; display: block;}
#sec3 .list i img {transition: transform .5s; }
#sec3 .list li:hover i img {transform: rotateY(180deg);}



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

    /* content */
    .img_box .img {width: 48%;}
    .img_box .txt {padding: 10px 40px;}

    /* sec3 */
    #sec3 .list > li {padding:30px;}


}


@media screen and (max-width: 1024px) {
    /* common */
    .subpage {text-align: center;}
    .subpage > section {padding: 70px 0; }
    .sub_inner {padding:0 30px;}
    .sub_tit.bor { margin-bottom: 40px;}
    /* font size */
    .fs_47 {font-size: 35px;}
    .fs_35 {font-size: 30px;}
    .fs_32 {font-size: 27px;}
    .fs_22 {font-size: 19px;}
    .fs_20 {font-size: 17px;}
    .fs_18 {font-size: 16px; line-height: 1.65;}
    .fs_16 {font-size: 14px; line-height: 1.65;}

    /* content */
    .img_box {display: block;}
    .img_box .img {width: 100%;}
    .img_box .img img {max-height: 250px;}
    .img_box .txt {padding: 30px;}

    .num_list > li {width: 100%;padding: 20px 0;}
    .num_list h4 {width: 30px; height: 30px; font-size: 16px; margin-right: 15px; }
    .num_list > li:nth-child(even) h4 {background-color: #000;}

    /* sec2 */
    #sec2 .list {margin-bottom: 50px;}
    #sec2 .list > li {padding: 20px 0 20px 35px;}
    #sec2 .list > li::before {height: 16px; left: 4px; top:24px;}

    /* sec3 */
    #sec3 .cont + .cont {margin-top: 60px}
    #sec3 .list h4 {margin: 5px 0 20px;}
    #sec3 .list > li {margin-right: 10px;}
    #sec3 .list br {display: none;}
    @media screen and (min-width: 641px) {
        #sec3 .list.col4 {flex-wrap: wrap; justify-content: space-between; }
        #sec3 .list.col4 > li {width: calc(50% - 5px); flex:inherit; margin: 0;}
        #sec3 .list.col4 > li:nth-child(n+3) {margin-top: 10px;}
    }


}

@media screen and (max-width: 640px) {
    /* common */
    .subpage > section {padding: 50px 0;}
    .sub_inner {padding:0 20px;}
    .sub_tit {margin-bottom: 30px; }
    .sub_tit.bor { padding-bottom: 30px; margin-bottom: 30px;}
    .sub_tit.flex p {margin-top: 10px; }
    .line_tit {padding-left: 12px; margin-bottom: 20px;}
    .line_tit::before { width: 3px;}

    /* font size */
    .fs_47 {font-size: 30px;}
    .fs_35 {font-size: 25px;}
    .fs_32 {font-size: 22px;}
    .fs_22 {font-size: 17px;}
    .fs_20 {font-size: 15px;}
    .fs_18 {font-size: 14px; line-height: 1.65;}
    .fs_16 {font-size: 13px; line-height: 1.65;}

    /* content */
    .cont + .cont {margin-top: 60px;}
    .img_box .txt {padding: 20px;}

    .num_list > li {padding: 15px 0;}
    .num_list h4 {width: 25px; height: 25px; font-size: 15px; margin-right: 10px;}
    .num_list p {padding: 0;}

    .btn_wrap {display: block;}
    .btn_wrap > a {font-size: 13px; width: 100%; height: 40px; max-width: 250px; margin: 0 auto; padding: 0 20px;}
    .btn_wrap > a i {top:-0;}
    .btn_wrap > a + a {margin: 10px auto 0;}

    /* sec2 */
    #sec2 .list {margin-bottom: 40px; }
    #sec2 .list > li::before {    height: 11px; left: 0; top: 20px;}
    #sec2 .list > li {padding: 15px 0 15px 25px; }
    #sec2 .list b {margin-right: 5px;}

    /* sec3 */
    #sec3 .list {flex-wrap: wrap; }
    #sec3 .list > li {width:100%; flex:inherit; margin: 0; padding: 20px; border-radius: 15px;}
    #sec3 .list > li:nth-child(n+2) {margin-top: 10px;}
    #sec3 .list h4 {margin: 5px 0 5px;}
    #sec3 .list .icon img {height: 40px;}

}
