@charset "UTF-8";

.table > tbody > tr > td {
  border-top-style: solid;
}

.top-title {
  font-size: 1.429em;
  margin: 0 0 10px;
  padding-bottom: .5em;
  border-bottom: 3px double #ccc; }

/*==================================================
 * お知らせ
 *================================================*/
.topblock-title, .toppr-title {
  font-size: 1.143rem;
  font-weight: bold;
  margin: 0 0 5px; }

.topblock-image, .toppr-image {
  margin: 0 0 15px; }

.top-btn-more {
  text-align: center;
  padding: 10px 0; }
  .top-btn-more a {
    transition: all 0.5s;
    background-color: #33373c;
    color: #fff;
    text-decoration: none;
    display: block;
    padding-top: 10px;
    padding-bottom: 10px; }
    .top-btn-more a:hover {
      opacity: 0.7; }

/*==================================================
 * メインビジュアル
 *================================================*/
/*==================================================
 * PRエリア
 *================================================*/
.toppr {
  margin: 0 0 30px;
  padding: 15px 0 0; }

/*==================================================
 * PRエリア 3カラム ボタン付き
 *================================================*/
.pr-area {
  margin: 0 0 30px; }

.btn-pr--link {
  background: #c9302c;
  border: solid 1px #b42b27;
  color: #fff;
  display: block;
  margin: 10px auto;
  text-align: center;
  width: 80%; }

.btn-top_pr {
  display: block;
  margin: 10px auto;
  width: 80%; }

@media only screen and (min-width: 768px) {
  .pr-area {
    margin: 0 0 50px; } }

/*==================================================
 * 施工事例
 *================================================*/
.topgallery-title {
  font-size: 18px;
}
.topgallery-introdunction {
  margin: 0 0 20px; }

.toppr .col-sm-4:not(:last-of-type) {
  margin: 0 0 20px; }

.topgallery-cat {
  margin: 0 0 10px; }
  .topgallery-cat a {
    color: #666;
    font-size: .750rem; }

@media only screen and (min-width: 768px) {
  .toppr {
    margin: 0 0 50px; } }

/*==================================================
* バナーエリア
*================================================*/
@media only screen and (min-width: 768px) {

  #info-blog {
    display: none;
  }

  #banners-common01 .side-banner {
    float: left;
    margin: 0 0 20px;
    width: 33.33%;
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
  }
  
}

.top-banners {
  margin: 0 0 30px; }

.top-banners-box:not(:last-of-type) {
  margin: 0 0 20px; }

@media only screen and (min-width: 768px) {
  .top-banners-box {
    margin: 0; } }

@media only screen and (max-width: 768px) {
  .top-banners-box {
    text-align: center; } }

@media only screen and (min-width: 768px) {
  .top-banners {
    margin: 0 auto 40px; }
  .side-banner {
    text-align: left; } }

.top-banners--split {
  display: block;
  margin: 0 0 10px; }

/*==================================================
 * prエリア2
 *================================================*/
.toppr2-image {
  margin: 0 0 20px;
  text-align: center; }

.toppr2 {
  margin: 0 0 30px; }

@media only screen and (min-width: 768px) {
  .toppr2-image {
    text-align: left; }
  .toppr2 {
    margin: 0 0 60px; } }

/*==================================================
 * お知らせ
 *================================================*/
.topnews {
  clear: both;
  margin: 0 0 40px; }

.topnews-outer {
  width: 100%;
  border: 1px solid #cccccc;
  margin: 0 0 20px; }
  .topnews-outer li:not(:last-child) {
    border-bottom: solid 1px #ccc; }
  .topnews-outer li a {
    font-size: 1.1rem;
    display: block;
    padding: 10px;
    color: #2c2c2c;
    line-height: 1.2em; }

.topnews-title {
  font-size: 0.750rem; }

.topnews-list {
  margin: 0;
}

.topnews-bg {
    color: #fff;
    background: #c9302c;
    width: 20%;
    text-align: center;
    font-size: 0.75rem;
    line-height: 1.3;
}
.topnews-title {
    font-size: 0.8rem;
    width: 55%;
}
.topnews-date {
    /*color: #999;*/
    font-size: 0.75rem;
    text-align: center;
    width: 25%;
}
.topnews-outer span {
    display: block;
    float: left;
    margin: 0 0 10px 0;
    padding: 5px;
}

.topinfo {
  margin: 0 0 70px; }

@media only screen and (min-width: 768px) {
  .topnews-title {
    overflow: hidden; } }

@media only screen and (min-width: 768px) {
  .topnews {
    margin: 0 0 80px; }
  .topnews-title {
    overflow: hidden; }
  .topnews-outer ul li a:hover .topnews-title{
      text-decoration: underline;
    }
}
.table-company--top {
  margin: 0 0 20px;
}
/*==================================================
 * モジュール 2x2カラム
 *================================================*/
.top-infos {
  margin: 0 0 20px; }

.top-info-company {
  margin: 0 0 20px; }

@media only screen and (min-width: 768px) {
  .top-infos {
    margin: 0 0 40px; }
  .top-info-company {
    margin: 0; } }

@media only screen and (max-width: 767px) {
  #banners-common01 {
    margin: 0 0 30px;
  }
}

#banners-common01 {
  margin-bottom: 30px;
}

@media only screen and (min-width: 768px) {
  .side-banner:not(:last-of-type) {
    margin: 0;
  }
  #banners-common01 {
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 30px;
  }
}
.gmap {
  width: 100%;
  position:relative;
  overflow: hidden;
  height: 200px;
}
.gmap iframe {
  border:0;
  pointer-events: none;
  margin-top: -230px;
}

@media only screen and (min-width: 768px) {
  .gmap {
    height: 400px;
  }
  .gmap iframe {
     margin-top: -150px;
  }
}

.col-md-3 .side-banner {
  margin: 0 0 20px;
}
.col-md-3 #info-blog {
  display: block;
}

/* 施工事例 */
.topgallery {
  margin: 0 0 30px;
}
@media only screen and (min-width: 768px) {
  .topgallery {
    margin: 0 0 50px;
  }
}
@media only screen and (max-width: 767px) {
  .topgallery-list li:not(:last-child){
    margin: 0 0 20px;
  }
}

/* 更新用エリア */
.main-bottom {
  margin: 20px 0 0;
}
.contents-top {
  margin: 0 0 30px;
}
.pr-top {
  margin: 20px 0 0;
}
.textarea-bottom {
  margin: 30px 0 0;
}
.pr-btn-bottom {
   margin: 0 0 30px;
}
.gallery-title-bottom {
   margin: 0 0 30px;
}
.gallery-bottom {
  margin: 30px 0;
}
.news-blog-bottom {
  margin: 0 0 30px;
}
.gallery-title-bottom {
  margin: 0 0 30px;
}
@media only screen and (min-width: 768px) {
  .main-bottom {
    margin: 30px 0 0;
  }
  .contents-top {
    margin: 0 0 50px;
  }
  .pr-top {
    margin: 0 0 50px;
  }
  .pr-btn-bottom {
    margin: 0 0 50px;
  }
  .gallery-title-bottom {
    margin: 0 0 50px;
  }
  .gallery-bottom {
    margin: 50px 0;
  }
  .news-blog-bottom {
    margin: 0 0 50px;
  }
  .gallery-title-bottom {
    margin: 0 0 50px;
  }
}
@media screen and (max-width:767px){
  .news-blog-bottom {
    position: relative;
    min-height: 1px;
  }
  .mb-txt-center {
    text-align: center;
  }
  .box-horizontal .box-horizontal-child:not(:last-child){
    margin: 0 0 20px;
  }
}
.box-horizontal-image {
  text-align: center;
}
.box-horizontal-text {
  margin: 15px 0 0;
}
.box-horizontal-button {
  margin: 20px 0 40px;
  text-align: center;
}
.box-horizontal-button .btn--link{
  margin: 0 auto;
  width: 80%;
}
.contents-top {
  margin: 0 0 30px;
}

/* バナーエリア */
@media screen and (min-width:768px){
  .box-banner-separate {
    float: left;
    width: 33.33%;
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (min-width:768px){
  .banner-separate:first-of-type {
    margin: 0 0 10px;
  }
}