
/* common */
.sub_h1 { font-size:50px; font-weight: bold; line-height: 1; margin-bottom: 50px; }
.sub_h2 { font-size:16px; font-weight: bold; letter-spacing: 1.6px; color: #1f4de5; margin-bottom: 20px; line-height: 1; text-transform: uppercase; }
.sub_h3 { position:relative; line-height: 1; font-size: 35px; font-weight: bold; margin:0 0 40px; }
.sub_h3:before { content:""; display: block; width:25px; height: 3px; background:#1f4de5; margin:0 auto 15px; }
.sub_p { font-size:18px; line-height: 1.83; color: #333333; font-weight: 300; }
.sub_p ~ .sub_p { margin-top: 20px; }

.sec_pad { padding:80px 0 100px; }


/* contents */
#contact { padding:35px 0 110px; text-align: center; z-index: 1; overflow: hidden; }

.cont_list { display: flex; justify-content: space-between; }
.cont_list li { width: 415px; border:1px solid #ddd; }

.cont_list .img { width:100%; height: 225px; overflow: hidden; }
.cont_list .img img { width:100%; transition: all .3s; }
.cont_list li:hover .img img { transform: scale(1.15);}

.cont_list .txt { position:relative; padding:45px; line-height: 1; }
.cont_list .txt:before { content:""; position:absolute; left:50%; transform: translateX(-50%); width:2px; height:30px; top:-14px; background:#1f4de5; }
.cont_list .txt b { position:absolute; left:50%; transform: translateX(-50%); top:-115px; font-size: 82px; font-weight: 800; color: #fff;  text-shadow: 0 0 5.9px rgba(0, 0, 0, 0.25); font-family: 'Montserrat';  }
.cont_list .txt h3 { font-size: 25px; font-weight: bold; }
.cont_list .txt p { margin-top: 15px; font-size: 16px; color: #777; }
