.mt50{
  margin-top:50px;
}

.mb50{
  margin-bottom:50px;
}

.contentWrap {
    width: 1260px;
    margin: 0 auto;
    display: block;
}

.main_wrap .contentWrap {
    padding: 0 30px;
    margin-bottom: 60px;
}

.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 */
.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;
}

.s-os{
  background-color: #0E3A58;
  width: 150px;
  height: 150px;
  position: absolute;
  top: 85%;
  left: 8%;
  color: #fff;
}

.s-is{
  border: solid 1px #fff;
  margin: 10px;
  height: 130px;
}

.s-txt1{
  font-size: 16px;
  font-weight: bold;
  text-decoration: underline;
  text-align: center;
  margin-top: 20%;
}

.s-txt2{
  font-weight: bold;
  text-align: center;
  font-size: 24px;
}


.s-txt2_2{
  font-weight: bold;
  text-align: center;
  font-size: 15px;
}


.s-ttl{
  font-size:28px;
  font-weight:bold;
  color:#0E3A58;
  margin-left:25%;
}

.c-ttl{
  font-size: 26px;
  font-weight: bold;
  color: #0E3A58;
}

.c-txt{
  font-size: 16px;
}

.f-row{
  border:1px solid;
  border-color:#0e3a58;
  margin:20px 50px 0px 50px;
  padding:0px 10px;
}
.f-phv-row{
  margin:20px 0 0 0;
}
.p-img{
  width:50px;
}

.f-title{
  color:#0e3a58;
  font-weight:bold;
  font-size:28px;
  padding-left:5px;
}

.f-title-bg{
  width:118px;
  background:#eeeeee;
  text-align:center;
}

.f-title-txt{
  color:#0e3a58;
  font-weight:bold;
  font-size:20px;
}
.f-td-txt{
  font-size:20px;
}
.ct-title-bg{
  width:125px;
  height:65px;
  background:#0e3a58;
  text-align:center;
}
.ct-title-txt{
  color:#fff;
  font-weight:bold;
  font-size:28px;
}
.ct-dt-txt{
  font-size: 26px;
  font-weight: bold;
  color: #0E3A58;
}
/*--------------PHV---------------*/
#performance_1{padding:0px 15px 15px 15px;overflow:hidden;}
.performance_2{border:solid 1px #0e3a58;overflow:hidden;padding:15px 0;}
.sub_title_width{width:110px;}
.sub_table_lheight{height:45px;}
.sub_title_vertical_1{vertical-align:top;padding-top:10px;}
.sub_title_vertical_2{vertical-align:top;padding-top:8px;}
.performance_name{color:#0e3a58;font-size:24px;font-weight:bold;padding-left:10px;}
.sub_title_price{background:#0e3a58;width:110px;text-align:center;color:#ffffff;font-weight:bold;font-size:18px;}
.sub_price{color:#0e3a58;font-size:24px;font-weight:bold;padding-left:5px;}
.price_unit{color:#0e3a58;font-size:16px;font-weight:bold;}
.sub_title{background:#eeeeee;width:110px;text-align:center;color:#0e3a58;font-weight:bold;font-size:18px;}
.sub_content{font-size:14px;font-weight:bold;padding-left:5px;}
.sub_content_tokujyo{font-size:14px;padding-left:5px;}

.p-img{width:60px;}
.home-title-bg{
  width:180px;
  height:65px;
  background:#0e3a58;
  text-align:center;
}
.company-title-bg{
  width:180px;
  height:65px;
  background:#1cba6a;
  text-align:center;
}
.top_txt_bg{
  background:#f4f4f4;font-size:18px;color:#0e3a58;padding:30px 90px;
}

.top_txt{
  font-weight:bold;
}
.top_txt2{
color:red;font-weight:bold;font-size:16px;
}
/*--------------PHV---------------*/


@media screen and (max-width: 1199px) {
  .r1c2{
  margin-top:3rem;
  margin-bottom:3rem;
  }
}
/*
@media screen and (max-width:1195px){

  .f-title-bg{
    width:110px;
  }
  .f-title-txt{
    font-size:18px;
  }
  .f-td-txt{
    font-size:16px;
  }
  .f-title{
    font-size:26px;
  }
  .p-img{
    width:40px;
  }
}*/

@media screen and (max-width:1024px) {
.sub_price{font-size:18px;}
.price_unit{font-size:14px;}
.sub_title_price{width:100px;font-size:16px;}
.sub_title{width:100px;font-size:16px;}
.sub_title_width{width:100px;}
}
@media screen and (max-width: 991px) {
  .thum-cont {
    margin-bottom:20px;
  }
}

@media screen and (max-width: 950px) {
  .s-ttl{
  margin-left:30%;
}
}

@media screen and (max-width: 856px) {
  .f-td-txt {
    font-size:18px;
  }
}
@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;
  }
  .c-ttl{
    font-size: 24px;
  }

  .ct-dt-txt{
    font-size: 24px;
  }
  
  .c-txt{
    font-size: 16px;
  }
  
  .mb50{
    margin-bottom:30px;
  }
  
  .mt50{
    margin-top:30px;
  }  
  .f-row{
    margin:15px 15px 0px 15px;
  }
  .p-img{
    width:35px;
  }
  .f-title{
    font-size:24px;
  }
  
  .r1c2{
    margin-top:1.5rem;
    margin-bottom:1.5rem;
  }
  .performance_name{
    font-size:20px;
  }
  .home-title-bg{
    width:140px;
    height:50px;
  }
  .company-title-bg{
    width:140px;
    height:50px;
  }
  .ct-title-txt{
    font-size:24px;
  }
  
  .f-phv-row {
    margin: 20px 0 0 0;
  }
  .top_txt_bg{
    font-size:18px;padding:20px 50px;
  }
  .paddgleft0 {
    padding-left: 15px;
  }
  .paddgtop0 {
    padding-top: 15px;
  }
}
@media screen and (max-width:736px) {
  
  .f-td-txt{
    font-size:16px;
  }
}
@media screen and (max-width: 684px) {
 .f-title-bg{
    width:100px;
  }
  .f-title-txt{
    font-size:16px;
  }
  .f-td-txt{
    font-size:14px;
  }
}
@media screen and (max-width: 670px) {
  .s-os{
    width: 110px;
    height: 110px;
  }
  
  .s-is{
    border: solid 1px #fff;
    margin: 10px;
    height: 90px;
  }
  
  .s-txt1{
    font-size: 12px;
    font-weight: bold;
    text-decoration: underline;
    text-align: center;
    margin-top: 10%;
  }

  .s-txt2{
    font-weight: bold;
    text-align: center;
    font-size: 15px;
  }
  
  .s-txt2_2{
    font-weight: bold;
    text-align: center;
    font-size: 10px;
  }

  .mt50{
    margin-top:10px;
  }
  
  .s-ttl{
    font-size:22px;
  }
  .f-row{
    padding:0 0;
  }
}

@media screen and (max-width: 520px) {
  .s-ttl{
    margin-left:35%;
  }
}

@media screen and (max-width: 490px) {
.ct-title-bg{
width: 80px;
}

.ct-title-txt{
  font-size:20px;
}

}
@media screen and (max-width: 480px) {
  .second_imgWrap h2{
    font-size: 22px;
    /* 長いタイトル用に文字サイズを少し小さくするため */
    /*font-size: 2.2rem;*/
    letter-spacing: -0.01rem;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
  }
  .second_imgWrap h2 > span{
    font-size: 10px;
    /*font-size: 1rem;*/
    position: relative;
    margin-top: -5px;
    margin-left: 0;
    display: block;
    letter-spacing: normal;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
  }
  
  .thum-cont h3 {
    font-size: 20px;
  }
}

@media screen and (max-width: 425px) {
  .s-os{
    background-color: #0E3A58;
    width: 110px;
    height: 110px;
    position: absolute;
    top: 85%;
    left: 8%;
    color: #fff;
  }

  .s-is{
    border: solid 1px #fff;
    margin: 10px;
    height: 90px;
  }

  .s-txt1{
    font-size: 12px;
    font-weight: bold;
    text-decoration: underline;
    text-align: center;
    margin-top: 10%;
  }

  .s-txt2{
    font-weight: bold;
    text-align: center;
    font-size: 15px;
  }

  .s-ttl{
    font-size:20px;
    margin-left:38%;
  }
  
  .c-ttl{
    font-size: 20px;
  }

  .ct-dt-txt{
    font-size: 20px;
  }
  
  .c-txt{
    font-size: 16px;
  }
  
  .f-row{
    padding:0 0;
  }
  
  .f-title-bg {
    width:90px;
  }
  .f-title-txt{
    font-size:14px;
  }
  
  .f-row{
    margin:15px 10px 0px 10px;
  }
  .p-img{
    width:30px;    
  }
  .f-title{
    font-size:20px;
  }
  
  .f-phv-row {
    margin: 15px 0 0 0;
  }
  .top_txt_bg{
    font-size:16px;padding:15px 30px;
  }
  .top_txt2{
    color:red;font-weight:bold;font-size:14px;
  }
}


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

@media screen and (max-width: 374px) {
  .s-ttl{
    font-size:20px;
    margin-left:40%;
  }
}

@media screen and (max-width:363px) {
  .s-ttl{
    font-size:16px;
  }
}
@media screen and (max-width:350px) {
  .ct-title-bg {
    width: 70px;
  }

  .ct-title-txt {
    font-size:16px;
  }
  
  .ct-dt-txt {
    font-size:16px;
  }
  
  .s-ttl{
    font-size:16px;
    margin-left:45%;
  }
}

@media screen and (max-width: 330px) {
  .thum-cont h3 {
    font-size: 17px;
    bottom: 35%;
  }
}
@media screen and (max-width:320px) {
.sub_price{font-size:16px;}
.price_unit{font-size:12px;}
.sub_title_price{width:90px;font-size:15px;}
.sub_title{width:90px;font-size:15px;}
.sub_title_width{width:90px;}
}
@media screen and (max-width: 319px) {
  .s-ttl{
    font-size:16px;
    margin-left:46%;
  }
}
