.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
  line-height: 0;
}
.clearfix:after {
  clear: both;
}
html {
  position: relative;
  min-height: 100%;
}
body {
  margin-bottom: 120px;
}
.cs-header {
  margin-bottom: 0;
}
/*------------
  ナビのすぐ下の戻るボタンなどのための領域
 ------------*/
.cs-back-btn {
  background-color: #eae5e3;
  color: #333333;
  padding: 8px;
}
/*------------
  リンクメニューの領域
 ------------*/
.cs-link-menu {
  margin-top: 20px;
}
/*------------
   FOOTER
 ------------*/
.footer {
  background-color: #f5f5f5;
  bottom: 0;
  min-height: 60px;
  position: absolute;
  width: 100%;
}
.footer .text-muted {
  margin: 20px 0;
}
@media (max-width: 767px) {
  .cs-back-btn {
    padding-left: 0;
  }
}
body {
  margin-bottom: 60px;
}
/* ページヘッダ */
.cs-header {
  background-color: rgba(248, 248, 248, 0.9);
}
.carousel {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 300px;
}
.carousel-inner {
  height: 100%;
}
.cs-carousel-bg {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}
.cs-section-top {
  margin-top: 250px;
  margin-bottom: 36px;
}
.cs-section-1 {
  padding-top: 24px;
}
.cs-section-1 .row {
  margin-bottom: 16px;
}
.cs-section-1 .cs-lead {
  margin-bottom: 24px;
}
.cs-section-2 .container .row {
  border-bottom: 1px solid #c9c7ba;
  margin-bottom: 16px;
}
.cs-table > tbody > tr > th {
  width: 100px;
}
.cs-section-4 .cs-access {
  margin-top: 24px;
}
.cs-caption {
  font-size: 14px;
  margin-top: 0;
}
@media (min-width: 768px) {
  .carousel {
    height: 500px;
  }
  .cs-section-top {
    margin-top: 450px;
  }
  .cs-table > tbody > tr > th {
    width: 120px;
  }
  .cs-caption {
    font-size: 18px;
    margin-top: 4px;
  }
}
@media (min-width: 992px) {
  .carousel {
    height: 600px;
  }
  .cs-section-top {
    margin-top: 550px;
  }
  .cs-table > tbody > tr > th {
    width: 200px;
  }
}
@media (max-width: 767px) {
  .cs-section-2 .thumbnail {
    padding: 2px;
  }
}
