@charset "utf-8";

/* トップページ専用CSS */

/* ヒーローイメージ */

.hero {
  position: relative;
}

.hero p {
  font-size: 3.4rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.17rem;
  margin: 0 auto;
  padding: 30px 0;
  color: #fff;
  background-color: rgba(0, 43, 191, 0.7);
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  /* 横幅を設定しないと920pxになってしまうのはどうしてか */
  width: 100%;
}

/* スマートフォンの時改行表示。PCではみせない。 */
.hero br {
  display: none;
}

.slider_hero img {
  width: 100%;
}

/* お知らせの日付・内容 */

.news {
  width: 920px;
  margin: 38px auto 91px auto;
}

.date_news li {
  /* display: gridでブロック属性に変わる */
  display: grid;
  /* 100pxとその他 */
  grid-template-columns: 100px 1fr;
  justify-content: space-between;
  padding: 11px 0 14px 20px;
  border-bottom: 1px dashed #3f59b2;
}

.date_news {
  font-size: 1.4rem;
  font-weight: 700;
  color: #3f59b2;
  line-height: 1.5;
  list-style-type: none;
  padding: 15px 0 18px 0;
  margin-bottom: 45px;
}

.date_news a {
  color: #000;
  font-weight: 400;
  font-size: 1.6rem;
  text-decoration: none;
}

/* ビジュアルナビゲーション */

.nav_about {
  background-color: #f7f8fd;
  padding-top: 60px;
  padding-bottom: 43px;
}

.list_about {
  width: 920px;
  margin: 0 auto;
  list-style-type: none;
  display: flex;
  justify-content: space-between;
}

.list_about img {
  width: 100%;
  height: auto;
  border: 10px solid #fff;
  margin: 0 0 10px;
}

.list_about a {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  color: #000;
  text-decoration: none;
}

.list_about a:hover {
  color: #002bbf;
}

/* ビジュアルナビゲーション・矢印 */
.list_about span {
  display: block;
  background-image: url(../images/common/chevron-right.svg);
  background-position: right center;
}

/* お問い合わせ */
.contact {
  margin: 88px 0 63px 0;
}

.ttl_contact_1 {
  text-align: center;
}

.ttl_contact_2 {
  display: block;
}

.contact p {
  font-weight: 700;
  text-align: center;
  padding: 27px 0;
}

.contact_wrap {
  width: 920px;
  background-color: #f7f8fd;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 306px 306px 306px;
  justify-content: space-between;
}

.list_contact {
  margin: 0 auto;
  padding-top: 35px;
  padding-bottom: 35px;
  text-align: center;
}

.list_contact h3 {
  font-size: 1.4rem;
}

.list_contact a {
  color: #000;
  font-weight: 700;
  font-size: 1.6rem;
}

/* 以下スマートフォン表示 */
/* PCで使えるものは流用するので、いらない箇所は消していく（未だ） */

/* ブレークポイント＝＝＝＝＝＝＝＝＝ */
@media screen and (max-width: 768px) {
  /*ここにcssを書く*/
  /*イメージ設定*/
  img {
    max-width: 100%;
    height: auto;
  }

  /* トップページ専用CSS */

  /* ヒーローイメージ */

  .hero {
    position: relative;
  }

  .hero p {
    /* vw…相対サイズ・目視 */
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0.17rem;
    margin: 0 auto;
    padding: 15px;
    color: #fff;
    background-color: rgba(0, 43, 191, 0.7);
    text-align: left;
    position: absolute;
    top: auto;
    left: 0; /* ← 50%をやめる */
    bottom: 0;
    transform: none; /* ← 中央表示をなくす */
    height: auto;
    z-index: 2;
    width: 100%;
  }

  /* 改行をスマホ表示の時出す */
  .hero br {
    display: block;
  }

  .slider_hero img {
    width: 100%;
    display: block;
  }

  /* お知らせの日付・内容 */

  .news {
    width: 90%;
    margin: 38px auto 91px auto;
  }

  .date_news li {
    display: block;
    padding: 11px 0 14px 20px;
    border-bottom: 1px dashed #3f59b2;
  }

  .date_news {
    font-size: 1.4rem;
    font-weight: 700;
    color: #3f59b2;
    line-height: 1.5;
    list-style-type: none;
    padding: 15px 0 18px 0;
    margin-bottom: 45px;
  }

  .date_news time {
    display: block; /* 日付を上に */
    margin-bottom: 6px; /* タイトルとの余白 */
  }

  .date_news a {
    display: block; /* 全体を1行に */
    color: #000;
    font-weight: 400;
    font-size: 1.6rem;
    text-decoration: none;
  }

  /* ボタンをつくるときaタグに対して指定する。aタグにclassをつけることが可能 */
  .btn_news a {
    display: block;
    width: 280px;
    text-align: center;
    color: #3f59b2;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid #3f59b2;
    padding: 16px;
    position: relative;
    margin: 0 auto;
  }

  .btn_news img {
    position: absolute;
    right: 3px;
  }

  /* ビジュアルナビゲーション */

  .nav_about {
    background-color: #f7f8fd;
    padding-top: 60px;
    padding-bottom: 43px;
  }

  .list_about {
    width: 90%;
    margin: 0 auto;
    list-style-type: none;
    display: block; /* flex を解除して縦並びに */
  }

  .list_about img {
    width: 100%;
    height: auto;
    border: 10px solid #fff;
    margin: 0 0 10px;
  }

  .list_about a {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.45;
    color: #000;
    text-decoration: none;
    padding-bottom: 30px;
  }

  .list_about a:hover {
    color: #002bbf;
  }

  /* ビジュアルナビゲーション・矢印 */
  .list_about span {
    display: block;
    background-image: url(../images/common/chevron-right.svg);
    background-position: right center;
  }

  /* お問い合わせ */
  .contact {
    margin: 88px auto 63px;
    width: 90%;
  }

  .ttl_contact_1 {
    text-align: center;
  }

  .ttl_contact_2 {
    display: block;
  }

  .contact p {
    font-weight: 700;
    text-align: center;
    padding: 27px 0;
  }

  .contact_wrap {
    width: 100%;
    background-color: #f7f8fd;
    margin: 0 auto;
    display: block;
  }

  .list_contact {
    margin: 0 auto;
    padding-top: 35px;
    padding-bottom: 35px;
    text-align: center;
  }

  .list_contact h3 {
    font-size: 1.4rem;
  }

  .list_contact a {
    color: #000;
    font-weight: 700;
    font-size: 1.6rem;
  }
}
