.ccfs-page .ccfs-future { background: #fffefa; }
.ccfs-page .ccfs-future-head { max-width: 850px; }
.ccfs-future-mobile-break { display: none; }
.ccfs-future-caption { margin: 35px 0 42px; color: #536735; font-size: 16px; font-weight: 700; text-align: center; }
.ccfs-future-group + .ccfs-future-group { margin-top: 64px; }
.ccfs-future-group > h3 { margin: 0 0 22px; padding-left: 17px; border-left: 4px solid #59722d; color: #405a23; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 28px; line-height: 1.55; }
.ccfs-change { padding: 28px 0; border-top: 1px solid #d8ddcf; }
.ccfs-change:last-child { border-bottom: 1px solid #d8ddcf; }
.ccfs-change > header { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; align-items: baseline; margin-bottom: 17px; }
.ccfs-change-number { color: #7a8865; font-family: Georgia, serif; font-size: 25px; line-height: 1.4; }
.ccfs-change h4 { margin: 0; color: #354726; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 23px; line-height: 1.6; }
.ccfs-change-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-left: 62px; }
.ccfs-change-pair > div { min-width: 0; padding: 19px 22px; }
.ccfs-change-before { border-left: 2px solid #d2d5cc; color: #6a6b61; background: #f2f2ed; }
.ccfs-change-after { border-left: 3px solid #59722d; color: #354726; background: #edf3e6; }
.ccfs-change-pair p { margin: 0; font-size: 16px; line-height: 1.85; }
.ccfs-change-pair .ccfs-change-label { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; margin-bottom: 11px; font-size: 13px; font-weight: 700; }
.ccfs-change-label > span { font-family: Georgia, serif; font-size: 19px; line-height: 1.4; }
.ccfs-future-voice { margin: 22px 0 0; padding-top: 17px; border-top: 1px solid #cbd6bf; }
.ccfs-future-voice blockquote { margin: 0; }
.ccfs-future-voice blockquote p { font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 16px; }
.ccfs-future-voice figcaption { margin-top: 10px; color: #67755b; font-size: 12px; line-height: 1.7; }
.ccfs-page .ccfs-vision { background: #eef2e8; border-top: 1px solid #d8e0cf; border-bottom: 1px solid #d8e0cf; }
.ccfs-vision-inner { max-width: 850px; text-align: center; }
.ccfs-vision h2 { margin: 12px 0 30px; color: #354726; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 36px; line-height: 1.5; }
.ccfs-vision-copy { max-width: 730px; margin: 0 auto; }
.ccfs-vision-copy p { margin: 0 0 18px; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 18px; line-height: 2; }
.ccfs-vision-invitation { margin: 32px 0 25px; color: #405a23; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 24px; font-weight: 600; line-height: 1.75; }
.ccfs-vision-more { margin: 20px 0 0; font-size: 14px; }
.ccfs-vision-more a { display: inline-block; padding: 4px 0; color: #405a23; text-decoration: underline; text-underline-offset: 5px; }
.ccfs-vision a:focus-visible { outline: 3px solid #bd9138; outline-offset: 4px; }
@media (max-width: 760px) {
  .ccfs-page .ccfs-future-head h2 { font-size: 26px; line-height: 1.6; }
  .ccfs-future-mobile-break { display: initial; }
  .ccfs-future-caption { margin: 25px 0 30px; font-size: 14px; }
  .ccfs-future-group + .ccfs-future-group { margin-top: 44px; }
  .ccfs-future-group > h3 { padding-left: 12px; font-size: 24px; }
  .ccfs-change { padding: 24px 0; }
  .ccfs-change > header { grid-template-columns: 32px minmax(0, 1fr); gap: 10px; margin-bottom: 15px; }
  .ccfs-change-number { font-size: 22px; }
  .ccfs-change h4 { font-size: 20px; }
  .ccfs-change-pair { grid-template-columns: 1fr; gap: 12px; margin-left: 0; }
  .ccfs-change-pair > div { padding: 15px 17px; }
  .ccfs-change-pair p { font-size: 15px; }
  .ccfs-change-pair .ccfs-change-label { font-size: 12px; }
  .ccfs-future-voice blockquote p { font-size: 15px; }
  .ccfs-vision h2 { font-size: 28px; }
  .ccfs-vision-copy { text-align: left; }
  .ccfs-vision-copy p { font-size: 16px; line-height: 1.95; }
  .ccfs-vision-invitation { font-size: 21px; }
  .ccfs-vision .cc-button { width: 100%; }
}
