@charset "UTF-8";

/* main visual
-------------------------------------------------------------*/
.main_visual {
  width: 100%;
  height: 50vh;
  background: #ccc;
  overflow: hidden;
  margin-top: 70px;
}

.main_visual img {
  width: 100%;
  height: 50vh;
  object-fit: cover;
  display: inline-block;
  margin: auto;
}

/* intro
-------------------------------------------------------------*/
.intro {
  background: #fff;
  width: 100%;
}

.intro .inner {
  line-height: 2;
}

/* pickup_contents
-------------------------------------------------------------*/
.pickup_contents ul {
  width: 100%;
}

.pickup_contents ul li {
  width: 100%;
  height: 220px;
  overflow: hidden;
}

.pickup_contents ul li a {
  display: flex;
  flex-flow: nowrap;
  justify-content: center;
  align-items: center;
  color: #fff;
  overflow: hidden;
}

.pickup_contents ul li a:hover {
  color: #fff;
  text-decoration: none;
}

.pickup_contents ul .blk_project a {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 100%;
}

.pickup_contents ul .blk_publish a {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 100%;
}

.pickup_contents ul .blk_project a::before,
.pickup_contents ul .blk_publish a::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #15223e;
  opacity: 0.5;
  display: block;
  z-index: 1;
}

.pickup_contents ul .blk_project a::after {
  background: url(../../img/p_project.jpg) no-repeat center center;
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  z-index: -1;
}

.pickup_contents ul .blk_publish a::after {
  background: url(../../img/p_publish.jpg) no-repeat center center;
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  z-index: -1;
}


.pickup_contents .blk_cont {
  margin: auto;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

.pickup_contents .blk_cont .icon {
  width: 50px;
  height: 50px;
  display: inline-block;
}

.pickup_contents .blk_cont .txt {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: .15em;
  width: 100%;
  display: inline-block;
  margin-top: 20px;
}

/* news
-------------------------------------------------------------*/
.news {
  width: 100%;
}

.news .news_list li {
  width: 100%;
  padding: 15px 0;
  border-bottom: 1px solid #bebebe;
}

.news .news_list li .news_data {
  font-size: 14px;
  color: #777;
}

.news .news_list li .news_title {
  width: 100%;
  margin-top: 10px;
}

.news .news_list li a {
  color: #039;
  text-decoration: underline;
  position: relative;
  padding-right: 30px;
  display: inline-block;
  width: 100%;
}

.news .news_list li a::before {
  content: '';
  position: absolute;
  width: 15px;
  height: 15px;
  top: 50%;
  right: 10px;
  background: url(../../img/news_arrow.png) no-repeat center center;
  background-size: contain;
  transform: translateY(-50%) translateX(0);
  -webkit- transform: translateY(-50%) translateX(0);
}

.news .news_list li a:hover {
  color: #039;
  text-decoration: none;
}
