.role{
  text-align: center;
  background: #0F3A5A;
  color: #fff;
}

.role_img{
  width:96px;
  height:96px;
  margin-bottom: 20px;
  opacity:1.0 !important;
}

.role_ttl{
  padding-top: 30px;
  font-size: 24px;
  font-weight: bold;
}

.role_txt{
  font-size:18px;
  padding-bottom: 30px;
}

/*事業紹介コンテンツ*/

  .thum-cont {position: relative; color: #FFF; overflow: hidden; display: block;}
  .thum-cont h3 {position: absolute; bottom: 40%; left: 0; font-size: 28px; font-weight: bold; z-index: 2; width: 100%; background-color: rgba(255,255,255,.5); margin: 0; padding: 15px; text-align: center; line-height: 1;}
  .thum-cont span {font-size:1.6em; vertical-align: text-bottom;}
  .thum-cont p {position: absolute; top: 0; left: 0; color: #000; z-index: 10;}
  .thum-link img {-webkit-transform: scale(1);transform: scale(1);-webkit-transition: .2s ease-in-out;transition: .2s ease-in-out; }
  .thum-link:hover img,.thum-link.hover img {-webkit-transform: scale(1.05); transform: scale(1.05);}
  .building{ padding: 27px !important; }

  .thum-ani {position: relative; display: block;}
  .thum-ani:before {position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; content:""; opacity:0; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s;}
  .thum-ani h4 {font-size:1.8em; color: #FFF; position:absolute; margin: 0 auto; top: 40%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); z-index: 10; text-align: center;width:100%; opacity: 0; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s;}
  .thum-ani h4 span {font-size:.5em;}
  .thum-ani:hover:before {opacity:.4;}
  .thum-ani:hover > h4  {opacity:1; top: 45%;}

/* title */
/*.title {position: relative; color: #0E3A58; text-align: center; font-size:28px; font-weight:bold;}*/
.m-title {color: #000; font-size:2em; text-align: center; margin-bottom:.5em;}
div .m-title {color: #0F3A5A;}
.title-overview {text-align: center!important;}

.business-cont{
  background-color: #eee;
  vertical-align: middle;
  padding: 15px 0;
  margin-left:0px;
  margin-right:0px;
}

.txt-color{
  color:#0F3A5A;
}

.b-txt1{
  font-size:18px;
  font-weight:bold;
}
.b-txt2{
  text-indent:1em;
}

@media screen and (max-width: 991px) {
  .thum-cont {
    margin-bottom:20px;
  }
}

@media screen and (max-width: 769px) {
  .thum-cont h3 {
    font-size: 28px;
  }
  
  .b-txt1{
    font-size:16px;
    font-weight:bold;
  }
  .b-txt2{
    text-indent:1em;
  }
}

@media screen and (max-width: 480px) {
  .thum-cont h3 {
    font-size: 20px;
  }
}

@media screen and (max-width: 375px) {
  .thum-cont h3 {
    font-size: 18px;
  }
}

@media screen and (max-width: 330px) {
  .thum-cont h3 {
    font-size: 17px;
    bottom: 35%;
  }
}