@charset "UTF-8";
/*--------------------------------------------------
変数定義
--------------------------------------------------*/
/*--------------------------------------------------
map型(key: value)でブレークポイントを定義する。
--------------------------------------------------*/
/*------------------------------
トップページイメージ画像
--------------------------------*/
.main_img {
  width: 100%;
}
.main_img img {
  max-width: 100%;
  width: 100%;
  vertical-align: top;
}

/*------------------------------
新着情報
--------------------------------*/
.news_block {
  margin: 40px 0;
  width: 100%;
}

.news_title {
  margin-bottom: 40px;
  width: 100%;
  text-align: center;
  position: relative;
}
.news_title .main_title {
  font-weight: 600;
  font-size: 22px;
}
.news_title .main_title span {
  color: #0EB998;
}
.news_title .sub_title {
  font-weight: 400;
  font-size: 11px;
}
.news_title::after {
  position: absolute;
  content: "";
  width: 100px;
  height: 6px;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  /* 線の中央寄せ */
  background-color: #0EB998;
}

.news_contents {
  width: 100%;
  max-height: 400px;
  overflow-y: scroll;
  padding: 10px 20px;
  background-color: #F7F7F7;
  border-top: 1px solid #F0F0F0;
  border-bottom: 1px solid #F0F0F0;
}

.news_item {
  display: flex;
  flex-wrap: nowrap;
  padding: 20px 0;
  border-bottom: 1px dashed #D4D4D4;
}
.news_item:last-child {
  border-bottom: none;
}
.news_item dt, .news_item dd {
  margin: 0;
  padding: 0;
}
.news_item dt {
  color: #0EB998;
}
.news_item dd {
  padding-left: 3em;
  text-align: justify;
}
@media screen and (max-width: 420px) {
  .news_item {
    flex-direction: column;
  }
  .news_item dd {
    padding-left: 1em;
  }
}

/*------------------------------
ポスターダウンロードブロック
--------------------------------*/
.poster_block {
  width: 100;
  padding: 0 20px;
  margin: 0;
}

.poster_block_sp {
  display: none;
  background-color: none;
  padding: 40px 30px;
  border-top: 1px solid #E2E2E2;
}
@media screen and (max-width: 795px) {
  .poster_block_sp {
    display: block;
  }
}

.poster_title {
  width: 100%;
  max-width: 340px;
  margin: 0 auto;
  height: 60px;
  text-align: center;
  line-height: 60px;
  background-color: #F28C00;
  border-radius: 10px 10px 0 0;
  color: white;
  font-weight: 600;
}

.poster_contents {
  max-width: 340px;
  margin: 0 auto;
  border-left: 2px solid #F28C00;
  border-right: 2px solid #F28C00;
  border-bottom: 2px solid #F28C00;
  border-radius: 0 0 10px 10px;
  background-color: white;
  padding: 10px;
}
.poster_contents img {
  max-width: 100%;
}


