/* ==========================================================================
   Renewal CSS — 新デザイン（お知らせバー / トップページ ヒーロー・CTA）
   XDデータ「日本防災士協会様_top.xd」を基に作成
   既存CSS（style.css）と競合しないよう、クラス名は bs- prefix で分離しています。
   ヘッダー本体・フッターは style.css 側（既存セレクタ）で管理しています。
   ブレークポイントは既存サイトと合わせて 668px / 669px を使用しています。
   ========================================================================== */

.bs-noticebar,
.bs-hero,
.bs-cta {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo,
    "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  box-sizing: border-box;
}
.bs-noticebar *,
.bs-hero *,
.bs-cta * {
  box-sizing: border-box;
}

/* --------------------------------------------------------------------
   HERO（トップページ）
   -------------------------------------------------------------------- */
.bs-hero {
  position: relative;
  height: 600px;
  overflow: hidden;
}
.bs-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.bs-hero__overlay {
  position: absolute;
  inset: 0;
}
.bs-hero__inner {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-left: 19px;
}
.bs-hero__title {
  color: #fff;
  font-size: 42px;
  line-height: 1.4;
  letter-spacing: 0.02em;
  margin: 0 0 37px;
  text-shadow: 2px 3px 6px rgba(0, 0, 0, 0.71);
}
.bs-hero__catch {
  margin: 0;
}
.bs-hero__catch img {
  display: block;
  height: 55px;
  width: auto;
}

/* --------------------------------------------------------------------
   CTA カード（防災士教本の購入について）
   -------------------------------------------------------------------- */
.bs-cta {
  background: #fff;
  padding: 20px 0;
}
.bs-cta__inner {
  display: flex;
  justify-content: center;
}
.bs-cta__card {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 250px;
  min-height: 60px;
  padding: 5px 12px 5px 5px;
  background: #fff;
  border: 1px solid #D6D6D6;
}
.bs-cta__icon {
  flex-shrink: 0;
  line-height: 0;
}
.bs-cta__icon img {
  display: block;
  width: 63px;
  height: 50px;
  object-fit: contain;
}
.bs-cta__text {
  flex: 1;
  font-size: 10px;
  color: #086738;
  line-height: 1.5;
}
.bs-cta__arrow {
  position: relative;
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #086738;
}
.bs-cta__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 48%;
  width: 4px;
  height: 4px;
  border-top: 1.2px solid #fff;
  border-right: 1.2px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* --------------------------------------------------------------------
   RESPONSIVE（スマートフォン用デザインデータが無いため、
   PCデザインを基にレスポンシブ対応。既存サイトのブレークポイント 668px に合わせています）
   -------------------------------------------------------------------- */
@media only screen and (max-width: 668px) {
  .bs-noticebar__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 12px 16px;
  }
  .bs-notice-right {
    text-align: left;
  }

  .bs-hero {
    height: 375px;
    padding: 40px 0;
  }
  .bs-hero__inner {
    padding-left: 16px;
    padding-right: 16px;
  }
  .bs-hero__title {
    font-size: 22px;
    line-height: 1.5;
    margin-bottom: 23px;
  }
  .bs-hero__catch img {
    height: auto;
    max-width: 307px;
  }

  .bs-cta {
    padding: 20px 15px;
  }
  .bs-cta__card {
    width: 100%;
    max-width: 345px;
  }
  .bs-cta__text{
    font-size: 14px;
  }
}