/* ========================= */
/* LP Base Scope 共通設定   */
/* ========================= */
header#header {
  display: none;
}
footer.footer {
  display: none;
}
ul.breadcrumb {
  display: none;
}
#lp-storm.lp-root {
  --lp-c-main: #1FB48C;
  --lp-c-accent: #E60013;
  --lp-c-accent-dark: #CF0001;
  --lp-c-yellow: #FFE000;
  --lp-c-yellow-light: #FFE000;
  --lp-c-ink: #505055;
  --lp-c-muted: #505055;
  --lp-c-bg: #ffffff;
  --lp-max: 1020px;
  --lp-hero-title-max: 804px;
  --lp-radius: 12px;
  --lp-shadow: 0 8px 20px rgba(0, 0, 0, .08);
  font-family: "Noto Sans JP", sans-serif;
  color: var(--lp-c-ink);
  line-height: 1.8;
  font-size: 16px;
}
/* ========================= */
/* 共通ボタンスタイル        */
/* ========================= */
#lp-storm a {
  text-decoration: none;
}
#lp-storm .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 600;
  border-radius: 9999px;
  padding: 12px 32px;
  font-size: 16px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .3s ease;
  position: relative;
}
/* 赤ボタン（CTA） */
#lp-storm .btn--primary, #lp-storm .kv__cta-button {
  background-color: var(--lp-c-accent);
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  border-radius: 999px;
  padding: 16px 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#lp-storm .btn--primary:hover, #lp-storm .kv__cta-button:hover {
  background-color: var(--lp-c-accent-dark);
}
#lp-storm .btn--primary::after, #lp-storm .kv__cta-button::after {
  content: "";
  display: inline-block;
  margin-left: 12px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
/* ========================= */
/* 1) KV（キービジュアル）  */
/* ========================= */
#lp-storm .kv {
  position: relative;
  background: url("/wp-content/themes/cocodayo/assets/images/lp-storm/mv-bg.jpg") center/cover no-repeat;
  text-align: center;
  padding: 120px 16px;
  color: #fff;
}
#lp-storm .kv__inner {
  max-width: var(--lp-hero-title-max);
  margin: 0 auto;
}
#lp-storm .kv__title-image {
  max-width: var(--lp-hero-title-max);
  width: 100%;
  height: auto;
  margin: 0 auto 40px;
  display: block;
}
#lp-storm .kv__cta-button {
  padding: 16px 48px;
}
#lp-storm .kv__cta-button::after {
  margin-left: 16px;
  width: 10px;
  height: 10px;
}
/* ============================= */
/* 2) 黄色3ボタン（セクションナビ） */
/* ============================= */
#lp-storm .section-nav__list {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  max-width: var(--lp-max);
  margin: 80px auto;
  padding: 0 16px;
  list-style: none;
}
#lp-storm .section-nav__item {
  flex: 1 1 calc(33.333% - 24px);
  min-width: 240px;
  border: 2px solid #c9c9c9;
  border-radius: 10px;
  box-shadow: 0 4px 0 #c9c9c9;
}
#lp-storm .section-nav__item:hover {
  box-shadow: 0 0 0 #fff;
}
#lp-storm .section-nav__link {
  display: block;
  background: var(--lp-c-yellow);
  border-radius: 8px;
  text-align: center;
  padding: 24px 16px 48px;
  color: var(--lp-c-ink);
  font-weight: 700;
  font-size: 20px;
  position: relative;
  transition: background-color .3s ease;
  text-decoration: none;
}
#lp-storm .section-nav__linka a:hover img {
  opacity: 1
}
#lp-storm .section-nav__label {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: var(--lp-c-main);
  margin-bottom: 8px;
}
/* 下矢印（三角） */
#lp-storm .section-nav__link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 10px solid #C9C9C9;
}
/* SP */
@media (max-width:768px) {
  #lp-storm .section-nav__list {
    flex-direction: column;
    gap: 16px;
  }
  #lp-storm .section-nav__link {
    padding: 20px 16px 32px;
  }
}
/* ========================= */
/* 共通：コンテナ（1020px）  */
/* ========================= */
#lp-storm .container {
  max-width: var(--lp-max);
  margin: 0 auto;
  padding: 0;
}
/* ========================= */
/* 2) Intro（毎年訪れる〜）  */
/* ========================= */
#lp-storm .intro {
  margin: 0 auto;
  text-align: center;
}
#lp-storm .intro__heading-image {
  display: block;
  width: 100%;
  max-width: 840px;
  height: auto;
  margin: 0 auto 24px;
}
#lp-storm .intro__lead {
  max-width: var(--lp-max);
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.9;
  color: var(--lp-c-ink);
  letter-spacing: .01em;
}
@media (max-width:768px) {
  #lp-storm .intro {
    margin: 0 auto;
  }
  #lp-storm .intro__heading-image {
    max-width: 640px;
    margin-bottom: 16px;
  }
  #lp-storm .intro__lead {
    font-size: 15px;
    line-height: 1.9;
  }
  #lp-storm .landslide {
    padding: 57px 0 0;
  }
}
/* =============================== */
/* 3) 土砂災害 セクション全体      */
/* =============================== */
#lp-storm .landslide {
  padding: 110px 0 0;
  max-width: var(--lp-max);
  margin: 0 auto;
}
#lp-storm #section-landslide .container {
  background: #FFFCE6;
  max-width: 940px;
  margin: 0 auto;
  padding: 40px 40px 64px;
  width: 100%;
}
/* 黄色帯（タイトル帯） */
#lp-storm .landslide__header {
  background: #FFD400;
  padding: 40px 16px 32px;
  text-align: center;
  position: relative;
}
#lp-storm .landslide__title-image {
  display: inline-block;
  height: auto;
}
/* 警告テープ */
#lp-storm .landslide__header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 10px;
  background: repeating-linear-gradient(-45deg, #191919 0 6px, transparent 8px 12px);
  opacity: .9;
}
/* 導入文 */
#lp-storm .landslide__intro-text {
  max-width: 940px;
  margin: 0 auto 40px;
  padding: 0;
  color: var(--lp-c-ink);
  line-height: 1.9;
  text-align: center;
}
/* =============================== */
/* セクション見出しの吹き出し       */
/* =============================== */
#lp-storm .landslide, #lp-storm .tornado, #lp-storm .howto {
  overflow: visible;
}
#lp-storm .landslide__header, #lp-storm .tornado__header, #lp-storm .howto__header {
  position: relative;
  z-index: 2;
  padding-top: 40px;
}
#lp-storm .section-bubble {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -30px);
  background: var(--lp-c-main);
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  line-height: 1;
  padding: 16px 24px;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
  white-space: nowrap;
  z-index: 3;
}
#lp-storm .section-bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 9px solid var(--lp-c-main);
}
/* SP縮小 */
@media (max-width:767.98px) {
  #lp-storm .landslide__header, #lp-storm .tornado__header, #lp-storm .howto__header {
    padding-top: 28px;
  }
  #lp-storm .section-bubble {
    font-size: 14px;
    padding: 8px 14px;
    transform: translate(-50%, -18px);
  }
  #lp-storm .section-bubble::after {
    bottom: -5px;
    border-left-width: 7px;
    border-right-width: 7px;
    border-top-width: 8px;
  }
}
/* 3つの図解カード */
#lp-storm .landslide__cards {
  max-width: 940px;
  margin: 0 auto 64px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
#lp-storm .landslide-card__image {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}
#lp-storm .landslide-card__caption {
  margin-top: 12px;
  font-weight: 700;
  color: #17A388;
}
/* 共通ブロック見出し */
#lp-storm .landslide__block {
  margin: 0 auto 64px;
}
#lp-storm .block-title {
  max-width: var(--lp-max);
  margin: 0 auto 45px;
  padding: 0 0 0 24px;
  position: relative;
}
#lp-storm .block-title::before {
  content: "";
  width: 8px;
  height: 80px;
  background: #FFD400;
  border-radius: 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#lp-storm .landslide__text {
  margin: 24px auto 0;
}
#lp-storm .block-title__prefix {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: var(--lp-c-ink);
  position: relative;
  /* padding-left: 20px; */
}
#lp-storm .block-title__main {
  font-size: 28px;
  line-height: 1.3;
  color: #0EA37F;
  font-weight: 800;
  margin-top: 6px;
}
/* 前兆現象カード（3カラム） */
#lp-storm .landslide-omens {
  max-width: var(--lp-max);
  margin: 40px auto 64px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
#lp-storm .omen-card {
  background: #EFF8F7;
  border: 2px solid var(--lp-c-main);
  border-radius: 10px;
  box-shadow: var(--lp-shadow);
}
#lp-storm .omen-card__head {
  background: #fff;
  /* border-bottom: 2px solid #E9EEF3; */
  border-radius: 30px;
  padding: 16px 0;
  margin: 24px 16px;
  text-align: center;
}
#lp-storm .omen-card__label {
  display: inline-block;
  font-size: 14px;
  color: #6B7280;
  margin-bottom: 8px;
}
#lp-storm .omen-card__title-img {
  display: inline-block;
  /* max-width: 160px; */
  /* width: 100%; */
  height: auto;
}
#lp-storm .omen-card__list {
  padding: 0 20px 20px;
}
#lp-storm .omen-card__list li {
  position: relative;
  padding-left: 20px;
  margin: 10px 0;
}
#lp-storm .omen-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .8em;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #16B394;
}
/* 危険な場所を知る（2カラム） */
#lp-storm .risk-grid {
  max-width: var(--lp-max);
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 32px;
  align-items: start;
}
#lp-storm .risk-grid__text p {
  line-height: 1.9;
}
#lp-storm .hl {
  background: var(--lp-c-yellow);
  padding: 5px 0;
  border-radius: 4px;
}
#lp-storm .link-panel {
  margin-top: 20px;
  text-align: center;
}
#lp-storm .link-panel__title {
  font-weight: 500;
  margin-bottom: 8px;
}
#lp-storm .risk-grid__visual {
  position: relative;
  margin: 0;
}
#lp-storm .risk-grid__visual img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
  background: #EAF7F2;
}
#lp-storm .risk-badges {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
#lp-storm .risk-badges .bubble {
  position: absolute;
  background: #12B38F;
  color: #fff;
  font-weight: 800;
  border-radius: 9999px;
  padding: 10px 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
  white-space: nowrap;
}
#lp-storm .risk-badges .bubble--mlit {
  left: -10px;
  bottom: 24%;
}
#lp-storm .risk-badges .bubble--local {
  right: -10px;
  bottom: 20%;
}
/* 雨に注意する（2カラム） */
#lp-storm .rain-grid {
  max-width: var(--lp-max);
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 32px;
  align-items: start;
}
#lp-storm .rain-grid__visual img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
  background: #EAF7F2;
}
#lp-storm .rain-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 12px;
}
#lp-storm .note {
  color: #6B7280;
  font-size: 13px;
}
/* セクション内CTA */
#lp-storm .section-cta {
  padding: 40px 0 0;
  text-align: center;
}
/*
#lp-storm .section-cta .btn--primary {
  min-width: 560px;
}
*/
/* レスポンシブ */
@media (max-width:1024px) {
  #lp-storm .landslide__cards, #lp-storm .landslide-omens {
    grid-template-columns: repeat(2, 1fr);
  }
  #lp-storm .risk-grid, #lp-storm .rain-grid {
    grid-template-columns: 1fr;
  }
  #lp-storm .risk-badges .bubble--mlit {
    left: 8px;
    bottom: 14px;
  }
  #lp-storm .risk-badges .bubble--local {
    right: 8px;
    bottom: 14px;
  }
  #lp-storm .section-cta .btn--primary {
    min-width: 420px;
  }
}
@media (max-width:640px) {
  #lp-storm .landslide__header {
    padding: 28px 12px 24px;
  }
  #lp-storm .landslide__cards, #lp-storm .landslide-omens {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  #lp-storm .block-title__main {
    font-size: 22px;
  }
  #lp-storm .rain-links {
    grid-template-columns: 1fr;
  }
  #lp-storm .section-cta .btn--primary {
    min-width: 280px;
    width: 100%;
  }
}
/* =============================== */
/* 竜巻の被害：セクションヘッダー  */
/* =============================== */
#lp-storm .tornado {
  padding: 110px 0 0;
  max-width: var(--lp-max);
  margin: 0 auto;
}
#lp-storm #section-tornado .container {
  background: #FFFCE6;
  max-width: 940px;
  margin: 0 auto;
  padding: 40px 40px 64px;
  width: 100%;
}
#lp-storm .tornado__header {
  background: #FFD400;
  padding: 40px 16px 32px;
  text-align: center;
  position: relative;
  overflow: visible; /* 吹き出しが切れないように */
}
#lp-storm .tornado__header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 10px;
  background: repeating-linear-gradient(-45deg, #191919 0 6px, transparent 8px 12px);
  opacity: .9;
}
#lp-storm .tornado__title-image {
  height: auto;
  display: inline-block;
}
/* 吹き出しは共通 .section-bubble を利用（既に実装済み） */
/* =============================== */
/* 竜巻の被害：上部リード           */
/* =============================== */
#lp-storm .tornado__lead {
  max-width: 940px;
  margin: 0 auto 40px;
  padding: 0;
  color: var(--lp-c-ink);
  line-height: 1.9;
  text-align: center;
}
#lp-storm .tornado__incidents {
  list-style: none;
  padding: 0;
  margin: 8px auto 12px;
  max-width: 720px;
}
#lp-storm .tornado__incidents li {
  margin: 4px 0;
  color: #12B38F; /* 見本のグリーン寄せ */
  font-weight: 700;
  letter-spacing: .01em;
}
#lp-storm .tornado__lead .em {
  color: #12B38F;
  font-weight: 800;
}
/* =================================== */
/* 竜巻の被害：兆しカード（2×2）       */
/* =================================== */
#lp-storm .tornado-signs {
  max-width: var(--lp-max);
  margin: 40px auto 64px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
#lp-storm .sign-card {
  background: #fff;
  border: 2px solid var(--lp-c-main);
  border-radius: 10px;
  box-shadow: var(--lp-shadow);
  padding: 24px;
  align-content: center;
}
#lp-storm .sign-card__head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
#lp-storm .sign-card__num {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #12B38F;
  color: #fff;
  font-weight: 800;
  font-size: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .08);
}
#lp-storm .sign-card__title {
  margin: 2px 0 0;
  font-weight: 800;
  color: var(--lp-c-main);
  line-height: 1.6;
  letter-spacing: .01em;
}
@media (max-width: 768px) {
  #lp-storm .tornado-signs {
    grid-template-columns: 1fr;
  }
}
/* =================================== */
/* 竜巻の被害：知っておくべきこと       */
/* =================================== */
#lp-storm .tornado__block {
  padding: 0;
}
#lp-storm .tornado-info {
  max-width: var(--lp-max);
  margin: 16px auto;
  padding: 0 16px;
}
#lp-storm .tornado-info + .tornado-info {
  margin-top: 20px;
}
#lp-storm .tornado-info__title {
  font-weight: 800;
  font-size: 16px;
  color: var(--lp-c-main);
  margin: 0 0 8px;
}
#lp-storm .tornado-info p {
  line-height: 1.9;
  color: var(--lp-c-ink);
}
#lp-storm .tornado-info__note {
  margin-top: 8px;
  color: var(--lp-c-main) !important;
  font-weight: 700;
}
/* 中央揃えリンクパネル */
#lp-storm .link-panel--center {
  text-align: center;
  margin-top: 16px;
}
/* =============================== */
/* アウトラインボタン（共通で活用） */
/* =============================== */
#lp-storm .btn--outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 48px;
  padding: 0 40px;
  border: 1px solid var(--lp-c-ink);
  color: var(--lp-c-ink);
  background: #fff;
  border-radius: 9999px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: border-color .25s ease, color .25s ease, background-color .25s ease, transform .25s ease;
  position: relative;
}
/* 右矢印（＞） */
#lp-storm .btn--outline::after {
  content: "";
  width: 9px;
  height: 9px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
  margin-left: 8px; /* テキストとの間隔 */
}
/* hover：色を少し濃く＆矢印をスッと右へ */
#lp-storm .btn--outline:hover {
  background: #F6FFFB;
  color: #0d8e71; /* 少し濃い緑 */
  border-color: #0d8e71;
}
#lp-storm .btn--outline:hover::after {
  transform: translateX(2px) rotate(45deg);
}
/* =============================== */
/* 竜巻ヘッダー：SP微調整           */
/* =============================== */
@media (max-width: 640px) {
  #lp-storm .tornado__header {
    padding: 28px 12px 24px;
  }
}
/* =============================== */
/* 『ココダヨ』の使い方（HOWTO）   */
/* =============================== */
#lp-storm .howto {
  padding: 110px 0 0;
  max-width: var(--lp-max);
  margin: 0 auto;
}
#lp-storm #section-howto .howto {
  background: #E9F7F3;
  max-width: 940px;
  margin: 0 auto;
  padding: 0 40px;
  width: 100%;
}
#lp-storm .danger-about {
  text-align: center;
  margin: 0 auto 40px;
}
/* 見出しの緑帯 */
#lp-storm .howto__header {
  background: var(--lp-c-main);
  padding: 40px 0;
  text-align: center;
  position: relative;
  overflow: visible;
}
/* 見出しタイトル画像（白い大見出し） */
#lp-storm .howto__title-image {
  display: inline-block;
  height: auto;
  max-width: 100%;
}
/* 上の赤い吹き出し（文言：大雨危険度通知が届いた時の） */
#lp-storm .section-bubble--alert {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -30px);
  background: #E60013;
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  line-height: 1;
  padding: 16px 24px;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
  white-space: nowrap;
  z-index: 3;
}
#lp-storm .section-bubble--alert::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 9px solid #E60013; /* 吹き出しの三角も赤 */
}
/* サブリード */
#lp-storm .howto__lead {
  max-width: 940px;
  margin: 40px auto 0;
  padding: 0 16px;
  text-align: center;
  line-height: 1.9;
  color: #fff;
}
#lp-storm #section-howto.danger-about {
  margin: 40px auto;
}
#lp-storm #section-howto .container {
  max-width: 940px;
  margin: 0 auto;
  padding: 40px 40px 64px;
  background: #E9F7F3;
}
#lp-storm .block-title {
  max-width: var(--lp-max);
  margin: 0 auto 45px;
  padding: 0 0 0 24px;
  position: relative;
}
#lp-storm .block-title::before {
  content: "";
  width: 8px;
  height: 80px;
  background: #FFD400;
  border-radius: 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#lp-storm .howto__text {
  margin: 24px auto 0;
}
/* 手順リスト（1〜9） */
#lp-storm .howto-steps {
  max-width: var(--lp-max);
  margin: 40px auto 64px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
#lp-storm .howto-step + .howto-step {
  margin-top: 0;
}
#lp-storm .howto-step__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
#lp-storm .howto-step__num {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  object-fit: contain;
}
#lp-storm .howto-step__title {
  margin: 0;
  font-weight: 800;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #2b2f33;
}
/* スクショ（単枚） */
#lp-storm .howto-step__figure {
  margin: 8px auto 0;
  width: 70%;
}
#lp-storm .howto-step__figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  background: #F2F7F6;
  box-shadow: var(--lp-shadow);
}
#lp-storm .howto-steps--grid {
  max-width: var(--lp-max);
  margin: 32px auto 24px;
  display: grid;
  gap: 24px;
}
/* スクショ（単枚） */
#lp-storm .howto-step__gallery3 > .howto-step__figure {
  margin: 8px auto 0;
  width: 100%;
}
#lp-storm .howto-step__gallery3 > .howto-step__figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  background: #F2F7F6;
  box-shadow: var(--lp-shadow);
}
/* 手順9：3カラムギャラリー */
#lp-storm .howto-step--grid3 .howto-step__gallery3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 8px;
}
/* 注意書き（既存クラス howto__notes / howto__note を想定） */
#lp-storm .howto__notes {
  max-width: 940px;
  margin: 24px auto 0;
  padding: 0 16px;
}
#lp-storm .howto__note {
  font-size: 14px;
  color: #4b5563;
  line-height: 1.9;
}
/* 気象庁リンク（緑文＋ボタン） */
#lp-storm .howto__met-link {
  max-width: 940px;
  margin: 24px auto 0;
  padding: 0 16px;
  text-align: center;
}
#lp-storm .howto__met-lead {
  color: var(--lp-c-main);
  font-weight: 800;
  margin: 0 0 8px;
}
/* 「詳しくはこちら」矢印が消える対策（詳細度を補強） */
#lp-storm .link-panel .btn--outline::after, #lp-storm .howto .btn--outline::after {
  content: "";
  width: 9px;
  height: 9px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
  margin-left: 8px;
}
/* セクション内CTA（赤ボタン中央）— 既存の .section-cta を利用 */
#lp-storm .howto .section-cta {
  padding: 40px 0 72px;
  text-align: center;
}
/* ======================= */
/* レスポンシブ（HOWTO）   */
/* ======================= */
@media (max-width: 767.98px) {
  #lp-storm .howto__header {
    padding: 28px 12px 24px;
  }
  #lp-storm .section-bubble--alert {
    font-size: 14px;
    padding: 8px 14px;
    transform: translate(-50%, -18px);
  }
  #lp-storm .section-bubble--alert::after {
    bottom: -5px;
    border-left-width: 7px;
    border-right-width: 7px;
    border-top-width: 8px;
  }
  #lp-storm .howto-step__head {
    align-items: flex-start;
  }
  #lp-storm .howto-step--grid3 .howto-step__gallery {
    grid-template-columns: 1fr; /* SPは1列 */
    gap: 12px;
  }
}
/* =========================
   SP最終調整（375px想定）
   ========================= */
@media (max-width: 767.98px) {
  /* 1) 横並び→縦並び（1カラム化） */
  #lp-storm .section-nav__list, #lp-storm .landslide__cards, #lp-storm .landslide-omens, #lp-storm .risk-grid, #lp-storm .rain-grid, #lp-storm .tornado-signs, #lp-storm .howto-steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 40px auto;
  }
  /* HOWTO 手順9のギャラリーも1列 */
  #lp-storm .howto-step--grid3 .howto-step__gallery3 {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  /* 2) コンテナ左右余白 */
  #lp-storm .container, #lp-storm #section-landslide .container, #lp-storm #section-tornado .container, #lp-storm #section-howto .container {
    padding-left: 16px;
    padding-right: 16px;
  }
  /* 3) 画像の最小幅（共通） */
  #lp-storm .kv__title-image, #lp-storm .section-nav__title-image, #lp-storm .landslide-card__image, #lp-storm .risk-grid__visual img, #lp-storm .rain-grid__visual img, #lp-storm .tornado__title-image, #lp-storm .howto-step__figure img {
    height: auto;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  /* HOWTO スクショ幅は全幅に */
  #lp-storm .howto-step__figure {
    width: 100%;
  }
  /* 4) ボタンの最小幅（共通） */
  #lp-storm .btn, #lp-storm .btn--primary, #lp-storm .btn--outline, #lp-storm .kv__cta-button {
    min-width: 280px;
    width: 100%;
    padding: 16px 0;
  }
  /* 5) タイポ（16 / 24 / 32 の基準に揃える） */
  /* セクション大見出し：32px */
  #lp-storm .block-title__main, #lp-storm .howto__title-image + .howto__lead ~ .block-title .block-title__main {
    font-size: 16px;
    line-height: 1.3;
  }
  /* 小見出し：24px（カード見出し/手順タイトルなど） */
  #lp-storm .sign-card__title, #lp-storm .howto-step__title, #lp-storm .tornado-info__title {
    font-size: 16px;
    line-height: 1.5;
    color: #0EA37F;
  }
  /* 本文：16px（既定どおり。明示しておく） */
  #lp-storm, #lp-storm .intro__lead, #lp-storm .landslide__intro-text, #lp-storm .tornado__lead, #lp-storm .tornado-info p, #lp-storm .howto__lead {
    font-size: 16px;
  }
  /* 6) CTAは中央・全幅で押しやすく */
  #lp-storm .section-cta .btn--primary {
    width: 100%;
    min-width: 280px;
  }
}