@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;
 }
}

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

.gmap iframe {
 height: 700px;
}