:root {
  --color-white: #fff;
  --color-txt: #1e2855;
  --color-accent: #1e78eb;
  --color-accent02: #5e9cf8;
  --color-accent03: #2b7ade;
  --color-gray: #aaa;
  --color-gray02: #c8c8c8;
  --color-gray03: #f6f6f6;
  --color-consulting: #5e9cf8;
  --color-bg: #f4f3ef;
  --color-yellow: #e2f174;
  --color-navy: #47505f;
  --color-dark-navy: #1e2855;
  --color-beige: #f4f3ef;
  --color-red: #e15555;
}

/* =======================================================
p-lower-service__example
======================================================= */
.p-lower-service__example {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__example {
    padding-bottom: 3.75rem;
  }
}
.p-lower-service__example-hgroup {
  display: flex;
  gap: 1.5625rem;
  align-items: center;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__example-hgroup {
    gap: 1.25rem;
    margin-bottom: 1.875rem;
  }
}
.p-lower-service__example-hgroup-txt {
  display: flex;
  gap: 0.625rem;
  align-items: center;
  font-size: 1rem;
  line-height: calc(26/16);
}
@media screen and (max-width: 768px) {
  .p-lower-service__example-hgroup-txt {
    font-size: 0.875rem;
    line-height: calc(26/14);
  }
}
.p-lower-service__example-hgroup-txt::after {
  width: 2.5rem;
  height: 2.5rem;
  content: "";
  background: url("../images/common/arrow-circle.svg") top center/contain no-repeat;
}
@media screen and (max-width: 768px) {
  .p-lower-service__example-hgroup-txt::after {
    width: 2.25rem;
    height: 2.25rem;
  }
}
@media (hover: hover) {
  .p-lower-service__example-hgroup-txt:hover {
    gap: 1.25rem;
  }
  .p-lower-service__example-hgroup-txt:hover::after {
    background: url("../images/common/arrow-circle--hover.svg") top center/contain no-repeat;
  }
}
.p-lower-service__example-article {
  width: 23.75rem;
  margin-right: 3.125rem;
}
.p-lower-service__example-article-outer {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-lower-service__example-article-outer {
    width: 21.875rem;
    overflow-x: hidden;
  }
}
@media screen and (max-width: 768px) {
  .p-lower-service__example-article {
    width: 18.125rem;
    margin-right: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-lower-service__example-article-wrapper {
    overflow-x: scroll;
  }
}
.p-lower-service__example-article.js-hidden-before {
  opacity: 0;
}
.p-lower-service__example-article-img-wrapper {
  margin-bottom: 1.125rem;
  overflow: hidden;
  border-radius: 1rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__example-article-img-wrapper {
    margin-bottom: 0.9375rem;
  }
}
.p-lower-service__example-article-cat {
  padding: 0.09375rem 0.75rem 0.15rem;
  font-size: 0.75rem;
  line-height: calc(20/12);
  color: var(--color-accent);
  letter-spacing: 0.1em;
  border: 0.0625rem solid;
  border-radius: 0.3125rem;
}
.p-lower-service__example-article-cat-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__example-article-cat-wrapper {
    margin-bottom: 0.5rem;
  }
}
.p-lower-service__example-article-ttl {
  margin-bottom: 0.625rem;
}
@media screen and (min-width: 769px) {
  .p-lower-service__example-article-ttl {
    font-size: 1rem;
    line-height: calc(26/16);
  }
}
@media screen and (max-width: 768px) {
  .p-lower-service__example-article-ttl {
    margin-bottom: 0.5rem;
    line-height: calc(24/14);
  }
}
.p-lower-service__example-article-name {
  font-size: 0.75rem;
  line-height: calc(20/12);
  color: var(--color-gray);
}
@media screen and (max-width: 768px) {
  .p-lower-service__example-article-name {
    font-size: 0.625rem;
    line-height: calc(18/10);
  }
}
.p-lower-service__example-swiper-btn {
  top: 5.5625rem;
  width: 3.75rem;
  height: 3.75rem;
  margin-top: 0;
  background: url("../images/common/slider-btn-next.svg") top center/contain no-repeat;
}
@media screen and (max-width: 768px) {
  .p-lower-service__example-swiper-btn {
    display: none;
  }
}
.p-lower-service__example-swiper-btn::after {
  display: none;
}
.p-lower-service__example-swiper-btn-next {
  right: initial;
  left: 49.375rem;
}

/* =======================================================
policy
======================================================= */
.p-lower-service__policy {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__policy {
    padding-bottom: 3.75rem;
  }
}
.p-lower-service__policy-ttl {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__policy-ttl {
    margin-bottom: 1.875rem;
  }
}
.p-lower-service__policy-tbl {
  display: block;
}
@media screen and (max-width: 768px) {
  .p-lower-service__policy-tbl-wrapper {
    width: 21.875rem;
    padding-bottom: 1.5625rem;
    overflow-x: scroll;
  }
  .p-lower-service__policy-tbl-wrapper::-webkit-scrollbar {
    height: 0.21875rem;
  }
  .p-lower-service__policy-tbl-wrapper::-webkit-scrollbar-track {
    background: #f4f3ef;
  }
  .p-lower-service__policy-tbl-wrapper::-webkit-scrollbar-thumb {
    border: 0.125rem solid #c8c8c8;
  }
}
@media screen and (max-width: 768px) {
  .p-lower-service__policy-tbl {
    width: max-content;
    margin-right: 1.5625rem;
    font-size: 0.75rem;
    line-height: calc(18/12);
  }
}
.p-lower-service__policy-thead {
  display: block;
  background: var(--color-gray03);
}
.p-lower-service__policy-thead .p-lower-service__policy-th {
  padding: 0.75rem 0 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__policy-thead .p-lower-service__policy-th {
    padding: 0.5625rem 0 0.3125rem;
  }
}
.p-lower-service__policy-thead .p-lower-service__policy-th:not(:first-of-type) {
  border-left: 1px solid var(--color-gray02);
}
.p-lower-service__policy-tbody {
  display: block;
}
.p-lower-service__policy-tbody .p-lower-service__policy-tr {
  border-bottom: 1px solid var(--color-gray02);
}
.p-lower-service__policy-tr {
  display: grid;
  grid-template-columns: 10rem repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .p-lower-service__policy-tr {
    grid-template-columns: 6.5625rem repeat(2, 1fr);
  }
}
.p-lower-service__policy-tr .p-lower-service__policy-th, .p-lower-service__policy-tr .p-lower-service__policy-td {
  padding: 0.625rem 0;
}
@media screen and (max-width: 768px) {
  .p-lower-service__policy-tr .p-lower-service__policy-th, .p-lower-service__policy-tr .p-lower-service__policy-td {
    display: grid;
    place-content: center;
    min-height: 3.1875rem;
    padding: 0.375rem 0.75rem 0.5rem;
    line-height: calc(18/12);
    text-align: center;
  }
}
.p-lower-service__policy-th {
  display: block;
  text-align: center;
}
.p-lower-service__policy-td {
  display: block;
  text-align: center;
  border-left: 1px solid var(--color-gray02);
}

/* =======================================================
flow
======================================================= */
.p-lower-service__flow.--initial {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__flow.--initial {
    padding-bottom: 3.75rem;
  }
}
.p-lower-service__flow.--initial .p-lower-service__flow-list {
  grid-template: "flow01 flow01" "flow02 flow03" "flow02 flow04" "flow05 flow05" "flow06 flow06";
  column-gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__flow.--initial .p-lower-service__flow-list {
    grid-template: "flow01" "flow02" "flow03" "flow04" "flow05" "flow06";
    gap: 0;
  }
}
.p-lower-service__flow.--initial .p-lower-service__flow-item:nth-of-type(2)::after {
  display: block;
}
.p-lower-service__flow.--initial .p-lower-service__flow-item:nth-of-type(3) {
  margin-bottom: 1.6875rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__flow.--initial .p-lower-service__flow-item:nth-of-type(3) {
    margin-bottom: 1.25rem;
  }
}
.p-lower-service__flow.--initial .p-lower-service__flow-item:nth-of-type(4)::before {
  top: -1.6875rem;
  height: 1.6875rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__flow.--initial .p-lower-service__flow-item:nth-of-type(4)::before {
    top: -1.25rem;
    height: 1.25rem;
  }
}
.p-lower-service__flow.--initial .p-lower-service__flow-item:nth-of-type(4)::after {
  display: block;
}
.p-lower-service__flow.--initial .p-lower-service__flow-item:nth-of-type(5)::before {
  display: none;
}
.p-lower-service__flow.--initial .p-lower-service__flow-item:not(:nth-of-type(3)) {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__flow.--initial .p-lower-service__flow-item:not(:nth-of-type(3)) {
    margin-bottom: 1.25rem;
  }
}
.p-lower-service__flow.--initial .p-lower-service__flow-item:last-of-type {
  margin-bottom: 0;
}
.p-lower-service__flow.--every {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__flow.--every {
    padding-bottom: 3.75rem;
  }
}
.p-lower-service__flow.--every .p-lower-service__flow-list {
  grid-template: "flow01" "flow02" "flow03" "flow04" "flow05";
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__flow.--every .p-lower-service__flow-list {
    gap: 0.9375rem;
  }
}

/* =======================================================
support
======================================================= */
.p-lower-service__support {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__support {
    padding-bottom: 4.625rem;
  }
}
.p-lower-service__support-designer .p-lower-service__support-figure {
  position: absolute;
  top: -3.125rem;
  left: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__support-designer .p-lower-service__support-figure {
    top: -2.5rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
.p-lower-service__support-consultant .p-lower-service__support-figure {
  position: absolute;
  top: -3.125rem;
  left: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__support-consultant .p-lower-service__support-figure {
    top: -2.5rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
.p-lower-service__support-figure-wrapper {
  position: absolute;
  top: -3.125rem;
  left: 2.5rem;
  display: flex;
  gap: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__support-figure-wrapper {
    top: -2.5rem;
    left: 50%;
    gap: 0.5625rem;
    transform: translateX(-50%);
  }
}

/* =======================================================
comparison
======================================================= */
.p-lower-service__comparison-ttl {
  margin-bottom: 2.6875rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__comparison-ttl {
    margin-bottom: 1.625rem;
  }
}
.p-lower-service__comparison-tbl {
  display: block;
}
@media screen and (max-width: 768px) {
  .p-lower-service__comparison-tbl-wrapper {
    width: 21.875rem;
    padding-bottom: 1.5625rem;
    overflow-x: scroll;
  }
  .p-lower-service__comparison-tbl-wrapper::-webkit-scrollbar {
    height: 0.21875rem;
  }
  .p-lower-service__comparison-tbl-wrapper::-webkit-scrollbar-track {
    background: #f4f3ef;
  }
  .p-lower-service__comparison-tbl-wrapper::-webkit-scrollbar-thumb {
    border: 0.125rem solid #c8c8c8;
  }
}
@media screen and (max-width: 768px) {
  .p-lower-service__comparison-tbl {
    width: max-content;
    margin-right: 1.5625rem;
    font-size: 0.75rem;
    line-height: calc(18/12);
  }
}
.p-lower-service__comparison-thead {
  display: block;
  background: var(--color-gray03);
}
.p-lower-service__comparison-thead .p-lower-service__comparison-th {
  padding: 0.75rem 0 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__comparison-thead .p-lower-service__comparison-th {
    padding: 0.5625rem 0 0.3125rem;
  }
}
.p-lower-service__comparison-thead .p-lower-service__comparison-th:not(:first-of-type) {
  border-left: 1px solid var(--color-gray02);
}
.p-lower-service__comparison-tbody {
  display: block;
}
.p-lower-service__comparison-tbody .p-lower-service__comparison-tr {
  border-bottom: 1px solid var(--color-gray02);
}
.p-lower-service__comparison-tr {
  display: grid;
  grid-template-columns: 11.25rem repeat(4, 1fr);
}
@media screen and (max-width: 768px) {
  .p-lower-service__comparison-tr {
    grid-template-columns: 6.5625rem repeat(4, 1fr);
  }
}
.p-lower-service__comparison-tr .p-lower-service__comparison-th, .p-lower-service__comparison-tr .p-lower-service__comparison-td {
  padding: 0.625rem 0;
}
@media screen and (max-width: 768px) {
  .p-lower-service__comparison-tr .p-lower-service__comparison-th, .p-lower-service__comparison-tr .p-lower-service__comparison-td {
    display: grid;
    place-content: center;
    min-height: 3.1875rem;
    padding: 0.375rem 0.75rem 0.5rem;
    line-height: calc(18/12);
    text-align: center;
  }
}
.p-lower-service__comparison-th {
  display: block;
  text-align: center;
}
.p-lower-service__comparison-td {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 900;
  line-height: calc(28/18);
  text-align: center;
  border-left: 1px solid var(--color-gray02);
}
.p-lower-service__comparison-td.--accent {
  color: var(--color-accent);
}

/* =======================================================
対応しているSNS（サービス概要内）
======================================================= */
.p-lower-service__sns-support {
  grid-column: 1 / -1;
  display: grid;
  gap: 1rem;
  padding: 2.5rem;
  margin-top: 1.875rem;
  background: var(--color-white);
  border-radius: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__sns-support {
    gap: 0.75rem;
    padding: 1.5625rem;
    margin-top: 1.25rem;
    border-radius: 0.9375rem;
  }
}
.p-lower-service__sns-support-ttl {
  font-size: 1.25rem;
  line-height: calc(36/20);
}
@media screen and (max-width: 768px) {
  .p-lower-service__sns-support-ttl {
    font-size: 1.125rem;
    line-height: calc(30/18);
  }
}
.p-lower-service__sns-support-lead {
  font-size: 0.875rem;
  line-height: calc(30/14);
}
@media screen and (max-width: 768px) {
  .p-lower-service__sns-support-lead {
    line-height: calc(26/14);
  }
}
.p-lower-service__sns-support-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__sns-support-list {
    grid-template-columns: auto;
    gap: 1.25rem;
  }
}
.p-lower-service__sns-support-item {
  display: grid;
  gap: 0.5rem;
}
.p-lower-service__sns-support-item-ttl {
  font-size: 1.25rem;
  line-height: calc(36/20);
  color: var(--color-accent);
}
.p-lower-service__sns-support-item-txt {
  font-size: 0.875rem;
  line-height: calc(30/14);
}
@media screen and (max-width: 768px) {
  .p-lower-service__sns-support-item-txt {
    line-height: calc(26/14);
  }
}

/* =======================================================
あえてバズらせない理由
======================================================= */
.p-lower-service__buzz {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__buzz {
    padding-bottom: 3.75rem;
  }
}
.p-lower-service__buzz-ttl {
  margin-bottom: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__buzz-ttl {
    margin-bottom: 1.25rem;
  }
}
.p-lower-service__buzz-lead {
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
  line-height: calc(30/14);
}
@media screen and (max-width: 768px) {
  .p-lower-service__buzz-lead {
    margin-bottom: 1.25rem;
    line-height: calc(26/14);
  }
}
.p-lower-service__buzz-list {
  display: grid;
}
.p-lower-service__buzz-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: start;
  padding: 0.75rem 2.5rem;
  background: var(--color-gray03);
  border-radius: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__buzz-item {
    gap: 0.5rem;
    padding: 1.25rem;
    border-radius: 0.9375rem;
  }
}
.p-lower-service__buzz-item.--conclusion {
  grid-template-columns: 1fr;
  background: #e8f1fd;
  padding: 1.75rem 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__buzz-item.--conclusion {
    padding: 1.5625rem 1.25rem;
  }
}
.p-lower-service__buzz-item-num {
  font-size: 1.5rem;
  line-height: calc(36/24);
}
@media screen and (max-width: 768px) {
  .p-lower-service__buzz-item-num {
    font-size: 1.125rem;
  }
}
.p-lower-service__buzz-item-body {
  display: grid;
  gap: 0.4375rem;
}
.p-lower-service__buzz-item-ttl {
  font-size: 1.25rem;
  line-height: calc(36/20);
}
@media screen and (max-width: 768px) {
  .p-lower-service__buzz-item-ttl {
    font-size: 1rem;
    line-height: calc(26/16);
  }
}
.p-lower-service__buzz-item-txt {
  font-size: 0.875rem;
  line-height: calc(30/14);
}
@media screen and (max-width: 768px) {
  .p-lower-service__buzz-item-txt {
    line-height: calc(26/14);
  }
}
.p-lower-service__buzz-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2rem;
  font-size: 1.5rem;
  list-style: none;
}

/* =======================================================
価格／よくあるご質問
======================================================= */
.p-lower-service__price {
  display: grid;
  gap: 1.875rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__price {
    gap: 1.25rem;
    padding-bottom: 3.75rem;
  }
}
.p-lower-service__price-txt {
  font-size: 1.25rem;
  line-height: calc(36/20);
}
@media screen and (max-width: 768px) {
  .p-lower-service__price-txt {
    font-size: 1rem;
    line-height: calc(28/16);
  }
}
.p-lower-service__price-btn {
  width: 19.375rem;
  max-width: 100%;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .p-lower-service__price-btn {
    width: 100%;
  }
}
.p-lower-service__faq {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__faq {
    padding-bottom: 3.75rem;
  }
}
.p-lower-service__faq-ttl {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-lower-service__faq-ttl {
    margin-bottom: 1.875rem;
  }
}
.p-lower-service__faq-list {
  display: grid;
  gap: 2.5rem;
}
.p-lower-service__faq-item {
  display: grid;
  gap: 1.25rem;
}
.p-lower-service__faq-item-q {
  padding-bottom: 0.75rem;
  font-size: 1.25rem;
  line-height: calc(36/20);
  color: var(--color-accent);
  border-bottom: 1px solid var(--color-gray02);
}
@media screen and (max-width: 768px) {
  .p-lower-service__faq-item-q {
    font-size: 1.125rem;
    line-height: calc(30/18);
  }
}
.p-lower-service__faq-item-a {
  font-size: 0.875rem;
  line-height: calc(30/14);
}
@media screen and (max-width: 768px) {
  .p-lower-service__faq-item-a {
    line-height: calc(26/14);
  }
}
/* 2026：理由ごとの図解（Figma 319:3667 PC／387:4220 SP・10/6確定） */
.p-lower-service__buzz-item:not(.--conclusion) { grid-template-columns: 1.5rem 38rem 16.5rem; column-gap: 0.75rem; align-items: center; }
.p-lower-service__buzz-item:not(.--conclusion) .p-lower-service__buzz-item-num { align-self: start; padding-top: 1.25rem; }
.p-lower-service__buzz-item:not(.--conclusion) .p-lower-service__buzz-item-body { padding: 0.5rem 0; }
.p-buzz-figs { margin: 0 0 0 0.75rem; }
.p-buzz-fig { position: relative; width: calc(var(--w) * 0.0625rem); aspect-ratio: var(--w) / var(--h); }
.p-buzz-fig img { position: absolute; top: 0; height: 100%; max-width: none; }
.p-buzz-fig__lbl { position: absolute; transform: translateX(-50%); font-size: 0.75rem; line-height: 1.125rem; text-align: center; white-space: nowrap; }
.p-buzz-fig__lbl.--gray { color: #6f7786; }
.p-buzz-fig__lbl.--blue { color: #1e78eb; }
.p-buzz-fig__lbl.--white { color: #fff; }
.p-buzz-fig__lbl.--navy { color: #1e2855; }
.u-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media screen and (max-width: 768px) {
  .p-lower-service__buzz-item:not(.--conclusion) {
    grid-template-columns: 1.25rem 1fr;
    grid-template-areas: "num ttl" "fig fig" "txt txt";
    column-gap: 0.5rem;
    row-gap: 0.75rem;
    padding: 1.25rem 1rem;
    border-radius: 1.25rem;
  }
  .p-lower-service__buzz-item:not(.--conclusion) .p-lower-service__buzz-item-num { grid-area: num; padding-top: 0; line-height: 1.75rem; }
  .p-lower-service__buzz-item:not(.--conclusion) .p-lower-service__buzz-item-body { display: contents; }
  .p-lower-service__buzz-item:not(.--conclusion) .p-lower-service__buzz-item-ttl { grid-area: ttl; line-height: 1.75rem; }
  .p-lower-service__buzz-item:not(.--conclusion) .p-lower-service__buzz-item-txt { grid-area: txt; padding: 0 0.5rem; }
  .p-buzz-figs { grid-area: fig; justify-self: center; margin: 0; }
  .p-buzz-fig { width: calc(var(--w) * 0.0625rem); max-width: 100%; }
  .p-buzz-fig__lbl { line-height: 1.25rem; }
}

/* =======================================================
2026リニューアル：冒頭FV（Figma PC 269:2287／SP 387:4032）
H1直下の小コピー（p-lower-mv__hgroup-copy・本番どおり維持）とは別の、カード型の大見出し
======================================================= */
.p-sns-fv-section {
  margin: 0 0 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-sns-fv-section {
    margin-bottom: 2.5rem;
  }
}

.p-sns-fv {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2.5rem;
  padding: 4rem;
  overflow: hidden;
  background: var(--color-gray03);
  border-radius: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-sns-fv {
    position: relative;
    left: 50%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100vw;
    margin-left: -50vw;
    padding: 2.5rem 1.5625rem 0;
    border-radius: 0;
    border-top-left-radius: 0.9375rem;
    border-top-right-radius: 0.9375rem;
  }
}

.p-sns-fv__text {
  position: relative;
  z-index: 2;
  flex: 1 1 28rem;
}
@media screen and (max-width: 768px) {
  .p-sns-fv__text {
    /* column方向ではflex-basisが高さに効くため、SPでは強制しない（302px余白の原因だった） */
    flex: none;
  }
}

.p-sns-fv__ttl {
  margin-bottom: 1.5rem;
  font-size: 2rem;
  line-height: calc(55/32);
  color: var(--color-txt);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-sns-fv__ttl {
    margin-bottom: 0.75rem;
    font-size: 1.375rem;
    line-height: calc(38/22);
  }
}

.p-sns-fv__lead {
  max-width: 31.25rem;
  margin-bottom: 2.5rem;
  font-size: 1rem;
  line-height: calc(42/16);
  color: var(--color-txt);
}
@media screen and (max-width: 768px) {
  .p-sns-fv__lead {
    max-width: none;
    margin-bottom: 1.5rem;
    font-size: 0.875rem;
    line-height: calc(32/14);
  }
}

.p-sns-fv__btns {
  display: flex;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .p-sns-fv__btns {
    gap: 0.625rem;
    margin-bottom: 1.875rem;
  }
}

.p-sns-fv__visual {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1 1 24rem;
  gap: 0.8125rem;
  justify-content: center;
  height: 21rem;
  margin: -4rem -2rem -4rem 0;
}
@media screen and (max-width: 768px) {
  .p-sns-fv__visual {
    flex: none;
    height: 13.75rem;
    margin: 0 -1.5625rem;
    gap: 0.5rem;
    -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 70%, transparent 100%);
  }
}

.p-sns-fv__col {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 0.8125rem;
  width: 10rem;
  transform: rotate(18deg);
}
@media screen and (max-width: 768px) {
  .p-sns-fv__col {
    width: 5.5rem;
    gap: 0.5rem;
  }
}
.p-sns-fv__col--b {
  margin-top: -7.5rem;
}
@media screen and (max-width: 768px) {
  .p-sns-fv__col--b {
    margin-top: -4.5rem;
  }
}

.p-sns-fv__col img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 0.25rem;
  box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.15);
}

/* =======================================================
2026リニューアル：企業ロゴ2段の帯（Figma 269:2254）。流す動きは common-2026.css・js/logo-slider.js
======================================================= */
.l-lower-service .p-logo-rows { margin: 0 0 3.75rem; }
@media screen and (max-width: 768px) {
  .l-lower-service .p-logo-rows { margin-bottom: 2.5rem; }
}

/* Figma SNS 269:2287・269:2254（PC）：見出し帯は高さ377（H1直下の小コピーの分を下の余白で吸収）、FVは高さ440・文字は左80上64、FVの下52でロゴ帯（高さ120）、その下80で本文の帯 */
@media screen and (min-width: 769px) {
  .l-lower-mv:has(.p-lower-mv__hgroup-copy) { padding-bottom: 1.1875rem; }
  .p-sns-fv { min-height: 27.5rem; padding: 4rem 5rem; }
  .p-sns-fv-section { margin-bottom: 3.25rem; }
  .p-sns-fv-section ~ .p-logo-rows { margin-bottom: 5rem; }
}

/* =======================================================
2026座標合わせ（figma-diff.cjs基準・Figma 269:1926）
======================================================= */
@media screen and (min-width: 769px) {
  /* Figma：概要の帯の中身はx=270始まり（本文列220の50右）。アイコン見出し・2カラム本文・対応SNSカードとも同じ50を足す */
  .p-lower-service__overview-cont { padding-left: 3.125rem; }
  /* Figma：2カラム本文（見出しh3＋リード文）の右カラムはx=770で左カラムとの間に50の溝がある（現状gap無し） */
  .p-lower-service__overview-cont-column { gap: 3.125rem; }
  /* Figma：「対応しているSNS」カードは左が50右へ寄る一方、幅は元の1000を保つ（右に50はみ出す）。YouTube列のx=790に合わせる */
  .p-lower-service__sns-support { width: calc(100% + 3.125rem); }
  /* Figma：「こんな課題」→「wakaruが解決します！」の段差+20。ブロック間gapを20px減らす */
  .p-lower-service__overview-conts { gap: 6.25rem; }
  /* Figma：「対応しているSNS」の見出し上の段差。overview-conts gap短縮分も重なるため37pxへ調整 */
  .p-lower-service__sns-support { margin-top: 2.3125rem; }
  /* Figma 269:2041：POINTは説明後25、カード左30。下余白40でカード高さを保つ。 */
  .p-lower-service__flow-item-point { margin-top: 1.5625rem; margin-left: -0.625rem; align-items: start; }
  .p-lower-service__flow-item:has(.p-lower-service__flow-item-point) { padding-bottom: 2.5rem; }
  /* Figma：他社比較セクションの下余白が丸ごと欠落（高さ差-122）。他セクションと同じ7.5rem/3.75remを足す */
  .p-lower-service__comparison { padding-bottom: 7.5rem; }
  /* Figma：価格セクション内（見出し→リード→ボタン）の段差-26。gridのgapに上乗せ */
  .p-lower-service__price-txt { margin-top: 0.6875rem; }
  .p-lower-service__price-btn { margin-top: 0.9375rem; }
  /* Figma：FAQ〜末尾CTAの段差+112。l-innerの下余白150px＋CTA帯の上余白64pxだけで214pxあり、
     Figma側の必要量162pxを既に超えているため、FAQ自身の下余白は0にする（他セクションの7.5remパターンは踏襲しない） */
  .p-lower-service__faq { padding-bottom: 0; }
}
@media screen and (max-width: 768px) {
  .p-lower-service__comparison { padding-bottom: 3.75rem; }
  /* Figma SP：FV〜ロゴ帯〜「こんな課題」の段差+113〜123。ロゴ帯自体の高さ(120px)はFigmaと一致済みのため、
     FV画像コラージュの高さとFVカード下マージンを縮めてoverview手前の余白を詰める */
  .p-sns-fv__visual { height: 9.375rem; }
  .p-sns-fv-section { margin-bottom: 0; }
  .p-lower-service__overview { padding-top: 3.125rem; }
  /* Figma SP：「対応しているSNS」カード上の段差-39（他社比較以降は本体CTA帯起因の残差として報告） */
  .p-lower-service__sns-support { margin-top: 3.75rem; }
  /* Figma 460:4856：毎月の支援カード間は20。リンク末尾の高さも正本26へ揃える。 */
  .p-lower-service__flow.--every .p-lower-service__flow-list { gap: 1.25rem; }
}

/* 本体 10/10：見出しの位置をFigma 269:1926 の座標に合わせる（各セクション下の余白の微調整）。
   バズらせない理由 3741・初月設計 4843・毎月の支援 6073・他社比較 9983、末尾のCTA帯 11387 */
@media screen and (min-width: 769px) {
  .p-lower-service__policy { padding-bottom: 7.5rem; } /* 10/13谷：他のセクション間（120）とそろえる */
  .p-lower-service__buzz { padding-bottom: 7.5rem; }
  .p-lower-service__flow.--initial { padding-bottom: 7.1875rem; }
  .p-lower-service__support { padding-bottom: 6.875rem; }
  .l-lower-service:has(#buzz-reason) > .l-inner { padding-bottom: 7.5rem; }
}

/* Figma SNS 269:1954：概要の灰色の帯と、その直後の途中のCTA帯の間は30（SNSだけ。LP等は間なし） */
@media screen and (min-width: 769px) {
  .p-lower-service__overview + .c-ctab--mid { margin-top: 1.875rem; }
}
/* Figma SNS SP 387:4027：H1は上140（2行の見出し）、制作事例の後の「セクション間隔」60の後にCTA帯 */
@media screen and (max-width: 768px) {
  .l-lower-mv:has(.p-lower-mv__hgroup-copy) { padding-top: 8.75rem; padding-bottom: 0; } /* 上を22下げた分、下の余白18を0にして以降の位置を保つ */
  #example-works + .c-ctab--mid { margin-top: 3.75rem; }
}
/* 本体 10/10：SPの各セクション下の余白をFigma 387:4027 の見出し位置に合わせる（運用方針 3433・バズらせない理由 3832・初月設計 6008・支援事例 9432・制作事例 9862・他社比較 12077・末尾CTA 13462） */
@media screen and (max-width: 768px) {
  .p-lower-service__reason { padding-bottom: 1.875rem; }
  .p-lower-service__policy { padding-bottom: 3.75rem; }
  .p-lower-service__buzz { padding-bottom: 3.75rem; }
  .p-lower-service__flow.--every { padding-bottom: 3.75rem; }
  #example-interview { padding-bottom: 3.75rem; }
  .p-lower-service__support { padding-bottom: 3.75rem; }
  /* Figma 869:7915：本文末AIの外側は上下16px。自然な2行表示は維持する。 */
  .l-lower-service:has(#buzz-reason) > .l-inner { padding-bottom: 1rem; }
  .l-lower-service:has(#buzz-reason) > .c-ai-ask--sp { margin-bottom: 1rem; }
}

/* 10/10確定：H1直下の本番コピーを残し、テーマと同じ768境界・可変remに統一する。 */
.p-lower-mv__hgroup-copy {
  margin: -0.375rem 0 0.625rem;
  color: #1e2855;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-lower-mv__hgroup-copy { margin: -0.125rem 0 0.375rem; font-size: 0.875rem; }
}

/* Figma SP 387:4215 / 482:4703：見出し・リード後は各30、結論カードはpadding24・見出し30・間隔12。 */
@media screen and (max-width: 768px) {
  .p-lower-service__buzz-ttl,
  .p-lower-service__buzz-lead { margin-bottom: 1.875rem; }
  .p-lower-service__buzz-item.--conclusion { padding: 1.5rem; border-radius: 1.875rem; letter-spacing: 0; }
  .p-lower-service__buzz-item.--conclusion .p-lower-service__buzz-item-ttl { font-size: 1.125rem; line-height: 1.875rem; }
  .p-lower-service__buzz-item.--conclusion .p-lower-service__buzz-item-body { gap: 0.75rem; }
}

/* Figma 335:3656 / 482:4698：3番目の理由は本文の追加上下余白なし。結論は間隔16・字間0。 */
@media screen and (min-width: 769px) {
  .p-lower-service__buzz-item:nth-of-type(5) .p-lower-service__buzz-item-body { padding: 0; }
  .p-lower-service__buzz-item.--conclusion { letter-spacing: 0; }
  .p-lower-service__buzz-item.--conclusion .p-lower-service__buzz-item-body { gap: 1rem; }
}

/* Figma SP 460:4789：長い最初のリンク組は縦並び。2番目の短いリンク組は横並びを維持。 */
@media screen and (max-width: 768px) {
  .p-lower-service__reason-item:first-child .p-lower-service__reason-item-link-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .p-lower-service__reason-item:first-child .p-lower-service__reason-item-link-inner {
    display: flex;
    gap: 0.625rem;
    padding: 0 0.0625rem 0.0625rem 0;
    white-space: nowrap;
  }
  .p-lower-service__reason-item:first-child .p-lower-service__reason-item-link-inner::after {
    width: 0.625rem;
    height: 0.625rem;
  }
  /* Figma 460:4971：人物図の上15、お客様の画像と名前は10、担当への間52、担当同士は30。 */
  .p-lower-service__support-intro { margin-bottom: 0.9375rem; }
  .p-lower-service__support-container { padding-top: 0.9375rem; gap: 1.875rem; }
  .p-lower-service__support-customer { padding-bottom: 1.375rem; }
  .p-lower-service__support-customer .p-lower-service__support-figure { margin-bottom: 0.625rem; }
  .p-lower-service__support-figure-wrapper { gap: 0.625rem; }
}

/* Figma 387:4036–4059: SP card400, text48/55/8/128/40/46, posts rotate24 inside lower201.
   Keep the approved H1 subcopy and absorb its height in the heading gap; logo gaps30, overview top60 (387:4100). */
.p-sns-fv__visual-inner { display: contents; }
@media screen and (max-width: 768px) {
  .p-lower-mv__hgroup-txt { margin-bottom: .875rem; }
  .p-lower-mv__hgroup-sub { display: block; }
  .p-sns-fv { height: 25rem; padding: 3rem 1.5625rem 0; }
  .p-sns-fv__ttl { line-height: 3.4375rem; margin-bottom: .5rem; }
  .p-sns-fv__lead { margin-bottom: 2.5rem; }
  .p-sns-fv__btns { gap: .75rem; margin-bottom: 0; }
  .p-sns-fv__btn { height: 2.875rem; width: 9.0625rem; }
  .p-sns-fv__visual { position: absolute; left: 0; top: 12.4375rem; width: 100%; height: 12.5625rem; margin: 0; overflow: hidden; mask-image: none; -webkit-mask-image: none; }
  .p-sns-fv__visual-inner { display: flex; position: absolute; left: 8.5625rem; top: -1.375rem; width: 13.3351875rem; height: 33.501375rem; gap: .75rem; transform: rotate(24deg); }
  .p-sns-fv__col { width: 6.25rem; gap: .75rem; transform: none; }
  .p-sns-fv__col--b { order: -1; margin-top: 1.875rem; }
  .p-sns-fv__visual::after { content: ''; position: absolute; left: 7.1875rem; top: 0; width: 16.25rem; height: 14.375rem; background: linear-gradient(#f6f6f6, transparent); }
  .p-sns-fv-section { margin-bottom: 1.875rem; }
  .p-sns-fv-section ~ .p-logo-rows { margin-bottom: 1.875rem; }
  .p-lower-service__overview { padding-top: 3.75rem; }
  .p-lower-service__overview-cont:first-child .p-lower-service__overview-cont-ttl { margin-left: .75rem; align-items: start; }
  .p-lower-service__overview-cont:first-child .p-lower-service__overview-cont-ttl-inner { margin-top: .4375rem; }
}

/* Figma 450:4848 / 450:4983：図は幅252。右列に左余白12も確保し、240への縮小を防ぐ。 */
@media screen and (min-width: 769px) {
  .p-buzz-fig.u-pc .p-buzz-fig__lbl { letter-spacing: 0; }
}

/* Figma SP 461:4733 / 461:4765：表の固定列幅と50px基準の行。原本の罫線位置も保持。 */
@media screen and (max-width: 768px) {
  .p-lower-service__policy-tbl,
  .p-lower-service__comparison-tbl { letter-spacing: 0.05em; }
  .p-lower-service__policy-tr { grid-template-columns: 6.5625rem 11.125rem 9.75rem; }
  .p-lower-service__comparison-tr { grid-template-columns: 6.5625rem repeat(4, 6.875rem); }
  .p-lower-service__policy-tr,
  .p-lower-service__comparison-tr { min-height: 3.125rem; }
  .p-lower-service__policy-tbody .p-lower-service__policy-tr:nth-child(3),
  .p-lower-service__comparison-tbody .p-lower-service__comparison-tr:nth-child(3),
  .p-lower-service__comparison-tbody .p-lower-service__comparison-tr:nth-child(5) { min-height: 3.1875rem; }
  .p-lower-service__policy-tr .p-lower-service__policy-th,
  .p-lower-service__policy-tr .p-lower-service__policy-td,
  .p-lower-service__comparison-tr .p-lower-service__comparison-th,
  .p-lower-service__comparison-tr .p-lower-service__comparison-td { min-height: 0; padding: 0 0.75rem; }
  .p-lower-service__policy-tr .p-lower-service__policy-th,
  .p-lower-service__policy-tr .p-lower-service__policy-td { padding-inline: 0.625rem; }
  .p-lower-service__policy-thead .p-lower-service__policy-th,
  .p-lower-service__comparison-thead .p-lower-service__comparison-th { padding-top: 0.125rem; }
  .p-lower-service__comparison-td { font-family: inherit; font-weight: 500; letter-spacing: 0.05em; line-height: 1.75rem; }
  /* 表下の24＋スクロール位置3.5。overlay scrollbarでも必要な高さを確保する。 */
  .p-lower-service__policy-tbl-wrapper,
  .p-lower-service__comparison-tbl-wrapper { padding-bottom: 1.71875rem; }
  .p-lower-service__comparison-ttl,
  .p-lower-service__flow-ttl { margin-bottom: 1.875rem; }
  /* Figma 460:4862 / 460:4892：POINT書体と詳細リンクの26高。 */
  .p-lower-service__flow-item-point-ttl { font-family: "Overpass", sans-serif; letter-spacing: 0.05em; padding-bottom: 0; }
  .p-lower-service__flow-item-point-link { gap: 0.625rem; padding: 0 0.0625rem 0.0625rem 0; line-height: 1.5rem; }
  .p-lower-service__flow-item-point-link::after { width: 0.625rem; height: 0.625rem; margin-bottom: 0; }
  /* Figma 460:4897 / 460:4931：見出しと一覧リンクの間12、文字12/24、矢印26。 */
  .p-lower-service__example-hgroup { gap: 0.75rem; }
  .p-lower-service__example-hgroup-txt { gap: 1.25rem; font-size: 0.75rem; line-height: 1.5rem; letter-spacing: 0.05em; }
  .p-lower-service__example-hgroup-txt::after { width: 1.625rem; height: 1.625rem; }
  /* Figma 387:4415：価格本文14/26、前後30、専用ボタン64。共通CTA帯は変更しない。 */
  .p-lower-service__price { gap: 1.875rem; }
  .p-lower-service__price-txt { font-size: 0.875rem; line-height: 1.625rem; }
  .p-lower-service__price-btn { position: relative; min-height: 4rem; padding: 1.125rem 2rem; font-size: 1rem; line-height: 1.75rem; letter-spacing: 0.1em; }
  .p-lower-service__price-btn::after { position: absolute; right: 2rem; width: 0.8125rem; height: 0.6458125rem; }
  /* Figma 387:4430：質問16/28、回答前16、質問組の間32。 */
  .p-lower-service__faq-list { gap: 2rem; }
  .p-lower-service__faq-item { gap: 1rem; }
  .p-lower-service__faq-item-q { font-size: 1rem; line-height: 1.75rem; letter-spacing: 0.05em; }
}
/* 10/3谷fix版の太字（リード・本文の要点）。テーマのリセットで strong の太さが消えるため指定する */
.p-lower-service__buzz strong { font-weight: 700; }
/* 理由の番号を見出しの1行目にそろえる（10/10谷「数字と文字ズレてる」）。PCは番号が縦中央に置かれ、見出しより14px上にあった */
@media screen and (min-width: 769px) {
  .p-lower-service__buzz-item-num { align-self: start; height: auto; line-height: 2.25rem; margin-top: 0.8125rem; }
}

/* 理由の番号と見出しを同じ行に置き、どの画面幅でも高さがそろうようにする（10/11谷「まだズレてる」）。
   本文の箱を解き、番号・見出し・本文・図を1つの格子に並べる。上下の1frで文字のかたまりを縦中央に */
@media screen and (min-width: 769px) {
  .p-lower-service__buzz-item:not(.--conclusion) {
    grid-template-columns: 1.5rem 38rem 16.5rem;
    grid-template-rows: 1fr auto auto 1fr;
    grid-template-areas: ". . fig" "num ttl fig" ". txt fig" ". . fig";
    row-gap: 0;
    padding: 1.25rem 2.5rem;
  }
  .p-lower-service__buzz-item:not(.--conclusion) .p-lower-service__buzz-item-body { display: contents; }
  .p-lower-service__buzz-item:not(.--conclusion) .p-lower-service__buzz-item-num { grid-area: num; align-self: start; margin: 0; padding: 0; height: auto; line-height: 2.25rem; }
  .p-lower-service__buzz-item:not(.--conclusion) .p-lower-service__buzz-item-ttl { grid-area: ttl; line-height: 2.25rem; }
  .p-lower-service__buzz-item:not(.--conclusion) .p-lower-service__buzz-item-txt { grid-area: txt; margin-top: 0.4375rem; }
  .p-lower-service__buzz-item:not(.--conclusion) .p-buzz-figs { grid-area: fig; align-self: center; }
}
/* 価格の本文：Figmaは20pxだが、他の本文（14px）と並ぶと大きすぎる → 16pxに（10/11谷） */
.p-lower-service__price-txt { font-size: 1rem; line-height: 2; }
@media screen and (max-width: 768px) { .p-lower-service__price-txt { font-size: 0.875rem; line-height: calc(26/14); } }

/* SPの最初の画面：投稿画像のスライド（10/12谷 B案・js/sns-fv-slide.js が組む）。斜めの画像列の代わりにボタンの下へ置く */
.p-sns-fv__slide { display: none; }
@media screen and (max-width: 768px) {
  .p-sns-fv.has-slide { height: auto; padding-bottom: 1.5rem; }
  .p-sns-fv.has-slide .p-sns-fv__visual { display: none; }
  .p-sns-fv.has-slide .p-sns-fv__slide { display: block; margin: 1.75rem -1.5625rem 0; }
  .p-sns-fv__slide-track { display: flex; gap: .75rem; padding: 0 1.5625rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 1.5625rem; scrollbar-width: none; }
  .p-sns-fv__slide-track::-webkit-scrollbar { display: none; }
  .p-sns-fv__slide-item { flex: 0 0 8.75rem; aspect-ratio: 4 / 5; overflow: hidden; border-radius: .625rem; background: #e9e9e9; scroll-snap-align: start; box-shadow: 0 .25rem .75rem rgba(30, 40, 85, .08); }
  .p-sns-fv__slide-item img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .p-sns-fv__slide-dots { display: flex; justify-content: center; gap: .375rem; margin-top: .875rem; }
  .p-sns-fv__slide-dots span { width: .375rem; height: .375rem; border-radius: 50%; background: #c8c8c8; transition: transform .3s, background-color .3s; }
  .p-sns-fv__slide-dots span.is-on { background: #1e78eb; transform: scale(1.3); }
}

/* 10/13谷「余白をそろえて、少し縮めて」：質問の下線の上下の見た目の余白を同じ（PC 18・SP 14）にし、質問の文字と質問同士の間を少し詰める */
.p-lower-service__faq-list { gap: 2rem; }
.p-lower-service__faq-item { gap: 0.625rem; }
.p-lower-service__faq-item-q { padding-bottom: 0.625rem; font-size: 1.125rem; line-height: calc(32/18); }
@media screen and (max-width: 768px) {
  .p-lower-service__faq-list { gap: 1.5rem; }
  .p-lower-service__faq-item { gap: 0.5rem; }
  .p-lower-service__faq-item-q { padding-bottom: 0.5rem; font-size: 1rem; line-height: 1.75rem; }
}

/* 10/13谷：FVの投稿サムネイルを3列にして縦に流す（中央の列は逆向き・速さを列ごとに変える）。PCのみ。SPはスライド（js/sns-fv-slide.js） */
@media screen and (min-width: 769px) {
  .p-sns-fv { position: relative; overflow: hidden; } /* 流れる列はカードの角丸で切る */
  .p-sns-fv__text { position: relative; z-index: 2; max-width: 31rem; }
  .p-sns-fv__visual { position: absolute; top: 0; bottom: 0; right: 1.5rem; width: 33rem; height: auto; margin: 0; gap: 0.75rem; align-items: flex-start; }
  /* 3列をまとめて傾ける（列ごとに傾けると、長い列の中心で回って位置がずれるため） */
  .p-sns-fv__visual-inner { position: absolute; left: 50%; top: 50%; display: flex; gap: 0.75rem; height: 170%; transform: translate(-50%, -50%) rotate(18deg); }
  .p-sns-fv__col { height: 100%; overflow: visible; transform: none; margin: 0 !important; }
  .p-sns-fv__col { width: 10.5rem; gap: 0; }
  .p-sns-fv__col-track { display: flex; flex-direction: column; gap: 0.75rem; animation: sns-fv-up 46s linear infinite; will-change: transform; }
  .p-sns-fv__col-track img { flex-shrink: 0; }
  .p-sns-fv__col--b .p-sns-fv__col-track { animation-name: sns-fv-down; animation-duration: 54s; }
  .p-sns-fv__col--c .p-sns-fv__col-track { animation-duration: 40s; }
  .p-sns-fv__visual:hover .p-sns-fv__col-track { animation-play-state: paused; }
}
@keyframes sns-fv-up { from { transform: translateY(0); } to { transform: translateY(calc(-50% - 0.375rem)); } }
@keyframes sns-fv-down { from { transform: translateY(calc(-50% - 0.375rem)); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .p-sns-fv__col-track { animation: none; } }

/* 10/13谷：止まったときに、マウスを乗せた投稿だけ少し大きく前に出す */
@media screen and (min-width: 769px) and (hover: hover) {
  .p-sns-fv__col-track img { position: relative; transition: transform .35s cubic-bezier(.2, .8, .3, 1), box-shadow .35s; }
  .p-sns-fv__col-track img:hover { z-index: 3; transform: scale(1.14); box-shadow: 0 0.75rem 1.75rem rgba(30, 40, 85, .28); }
}

/* 10/13谷：「あえてバズらせない理由」のカードの間は↓ではなく、進め方と同じ点線でつなぐ */
.p-lower-service__buzz-arrow { position: relative; font-size: 0; color: transparent; }
.p-lower-service__buzz-arrow::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: repeating-linear-gradient(to bottom, var(--color-dark-navy, #1e2855) 0, var(--color-dark-navy, #1e2855) 2.25px, transparent 2.25px, transparent 6.25px); }

/* 10/13谷「間もう少し狭めようか」：初月設計・毎月の支援のカードの間を40→24に詰め、点線も同じ長さに（PCのみ） */
@media screen and (min-width: 769px) {
  .p-lower-service__flow.--every .p-lower-service__flow-list { gap: 1.5rem; }
  .p-lower-service__flow.--every .p-lower-service__flow-item:not(:first-of-type)::before { top: -1.5rem; height: 1.5rem; }
  .p-lower-service__flow.--initial .p-lower-service__flow-item:not(:nth-of-type(3)) { margin-bottom: 1.5rem; }
  .p-lower-service__flow.--initial .p-lower-service__flow-item:last-of-type { margin-bottom: 0; }
  .p-lower-service__flow.--initial .p-lower-service__flow-item:nth-of-type(2)::before,
  .p-lower-service__flow.--initial .p-lower-service__flow-item:nth-of-type(3)::before { top: -1.5rem; height: 1.5rem; }
}
