main {
  overflow-wrap: break-word;
}
/* --------------------------------------------------------------------- 利用するメリット */
.benefit-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  margin-left: -8px; /* マージンで gap を再現（互換性高） */
  margin-right: -8px;
  white-space: normal; /* 他CSSでnowrapが入っても戻す */
}
.benefit-list li {
  box-sizing: border-box;
  position: relative;
  display: block;
  width: calc(300px - 16px); /* 3列 */
  margin: 8px;
  background: #fafafa;
  border: 1px solid #68A567;
  border-radius: 8px;
  padding: 18px 16px 18px 42px; /* 左にチェックの余白 */
  box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
  float: none; /* 既存CSSのfloatを無効化 */
  word-break: break-word;
}
.benefit-list li::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 22px;
  width: 14px;
  height: 8px;
  border: 0 solid #68A567;
  border-width: 0 0 3px 3px; /* ←チェックの太さはここで調整 */
  transform: rotate(-45deg);
}
.benefit-list li strong {
  display: block;
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 700;
}
.benefit-list li span {
  display: block;
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}
/* --------------------------------------------------------------------- ご利用の流れ */
/* ベース */
#flow .flow {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* PC：横並び＋▶ */
#flow .flow--arrow {
  display: flex;
  align-items: stretch;
  color: #68A567;
}
#flow .flow--arrow > li {
  position: relative;
  flex: 1 1 0;
  background: #fff;
  border: 1px solid #68A567;
  border-radius: 12px;
  padding: 22px 18px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .05);
}
#flow .flow--arrow > li > strong {
  display: block;
  margin: 0 0 6px;
  font-weight: 700;
  font-size: 16px;
}
#flow .flow--arrow > li > span {
  display: block;
  font-size: 14px;
  line-height: 1.7;
}
/* 矢印（次カードの左余白に配置） */
#flow .flow--arrow > li + li {
  margin-left: 35px;
}
#flow .flow--arrow > li + li::before {
  content: "▶";
  position: absolute;
  left: -26px; /* 余白内なので切れない */
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  line-height: 1;
}
/* --------------------------------------------------------------------- CVbutton */
/* 共通バンド */
.cta-plate {
  background: #F2F08F;
  border-radius: 14px;
  padding: 50px 20px;
  width: 900px;
  margin: 32px auto 50px;
}
/* 横並び（上段） */
.cta-plate--inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  text-align: left;
}
/* 縦積み（下段） */
.cta-plate--stack {
  text-align: center;
}
/* 見出し */
.cta-lead {
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .02em;
}
/* 見出しの左右装飾（やじるし風ライン） */
.cta-lead.deco {
  position: relative;
  display: inline-block;
  padding: 0 46px;
}
.cta-lead.deco::before, .cta-lead.deco::after {
  content: "";
  position: absolute;
  top: 70%;
  width: 35px; /* 長さ */
  height: 5px; /* 太さ */
  background: #333333; /* 少し濃い色で強調 */
  border-radius: 4px;
  transform: translateY(-70%);
}
.cta-lead.deco::before {
  left: 0;
  transform: translateY(-50%) rotate(58deg);
}
.cta-lead.deco::after {
  right: 0;
  transform: translateY(-50%) rotate(-58deg);
}
/* 補足文（下段のみ使う） */
.cta-sub {
  margin: .6em 0 1em;
  font-size: 14.5px;
  line-height: 1.8;
}
/* ボタン（既存の緑・グラデなし） */
.cta-btn {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  background: #68A567;
  color: #fff;
  text-decoration: none;
  border-radius: 999px;
  padding: 12px 22px;
  font-size: 20px;
  font-weight: 800;
  box-shadow: 0 6px 14px rgba(0, 0, 0, .12);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.cta-btn:hover {
  transform: translateY(-1px);
}
/* #cta01 を縦並びに強制 */
#cta01.cta-plate--inline {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px; /* 見出しとボタンの間 */
  text-align: center;
}
#cta01.cta-plate--inline .cta-btn {
  width: auto; /* PCはボタン幅そのまま */
  justify-content: center;
  margin-top: 25px;
}
/* <!-- ↓↓ タブレッ用スタイル ↓↓ --*/
@media screen and (max-width: 1000px) {
  .PConly {
    display: none;
  }
  /* --------------------------------------------------------------------- 利用するメリット */
  .benefit-list li {
    width: calc(50% - 16px); /* 2列に */
  }
  /* --------------------------------------------------------------------- ご利用の流れ */
  #flow .flow--arrow {
    flex-direction: column;
    text-align: center;
    width: 50%;
    margin: auto;
  }
  #flow .flow--arrow > li + li {
    margin-left: 0;
    margin-top: 25px;
  }
  #flow .flow--arrow > li + li::before {
    content: "▼";
    left: 50%;
    top: -25px;
    transform: translateX(-50%);
  }
  /* --------------------------------------------------------------------- CVbutton */
  .cta-plate {
    width: 90%;
    margin: 0px 20px 50px;
    box-sizing: border-box;
    padding: 36px 18px;
  }
  .cta-lead {
    font-size: 20px;
  }
  .cta-btn {
    font-size: 18px;
    padding: 12px 20px;
  }
}
/* <!-- ↑↑ タブレッ用スタイル ↑↑ --*/
/* <!-- ↓↓ スマホ用 ↓↓ --*/
@media screen and (max-width: 750px) {
  /* --------------------------------------------------------------------- 利用するメリット */
  #benefits .benefit-list {
    display: block; /* flex を解除して通常のブロック表示に */
  }
  #benefits .benefit-list li {
    width: calc(100% - 16px);
  }
  #benefits .benefit-list li:last-child {
    margin-bottom: 0;
  }
  /* --------------------------------------------------------------------- ご利用の流れ */
  #flow .flow--arrow > li {
    padding: 18px 16px;
  }
  #flow .flow--arrow > li > strong {
    font-size: 15.5px;
  }
  #flow .flow--arrow > li > span {
    font-size: 13.5px;
    line-height: 1.8;
  }
  /* --------------------------------------------------------------------- CVbutton */
}
@media screen and (max-width: 350px) {
  /* --------------------------------------------------------------------- 利用するメリット */
  .benefit-list li {
    padding-left: 38px;
  }
  .benefit-list li::before {
    left: 12px;
    top: 20px;
  }
  /* --------------------------------------------------------------------- ご利用の流れ */
  #flow .flow--arrow > li + li::before {
    top: -12px;
  }
  /* --------------------------------------------------------------------- CVbutton */
}