@charset "UTF-8";
/* =========================================================
   サービス概要（PC版）  ※build_service.js で生成
   1rem = デザイン上の10px（XD 1440px幅基準）。共通パーツは style.css
   ========================================================= */
.sv-hero { height: 95.3rem; }
.sv-hero__img { position: absolute; left: 0; top: 7.7rem; width: 144rem; height: 36rem; overflow: hidden; }
.sv-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.sv-hero__ttl { position: absolute; left: 0; top: 23.92rem; width: 144rem; text-align: center; font-size: 3.4rem; line-height: 3.4rem; font-weight: 700; }
.sv-hero__txt { position: absolute; left: 0; width: 144rem; text-align: center; font-size: 2.4rem; line-height: 3.5rem; font-weight: 400; }
.sv-hero__txt--1 { top: 48.5rem; }
.sv-hero__txt--2 { top: 57.2rem; }
.sv-anchor { position: absolute; left: 25.3rem; display: flex; gap: 8rem; }
.sv-anchor__item { position: relative; display: flex; flex-direction: column; align-items: center; width: 25.8rem; text-decoration: none; }
.sv-anchor__lead { font-size: 2rem; line-height: 3.5rem; font-weight: 700; white-space: nowrap; }
.sv-anchor__box { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 25.8rem; height: 8.2rem; background: var(--ink); color: var(--white); transition: background .3s, transform .3s; }
.sv-anchor__box b { font-size: 3.4rem; line-height: 3.6rem; font-weight: 700; letter-spacing: .02em; }
.sv-anchor__box small { font-size: 2.4rem; line-height: 2.8rem; font-weight: 700; }
.sv-anchor__tri { position: absolute; left: 50%; width: 3.4rem; height: 3.4rem; margin-left: -1.7rem; background: var(--ink); transition: background .3s, transform .3s; }
.sv-anchor--top { top: 74.3rem; }
.sv-anchor--top .sv-anchor__tri { top: 11.3rem; clip-path: polygon(0 0, 100% 0, 50% 100%); }
.sv-anchor__item:hover .sv-anchor__box, .sv-anchor__item:hover .sv-anchor__tri { background: var(--teal); }
.sv-anchor--top .sv-anchor__item:hover .sv-anchor__tri { transform: translateY(.4rem); }
.sv-bottom { height: 23rem; background: #f5f5f5; }
.sv-anchor--bottom { top: 6.5rem; }
.sv-anchor--bottom .sv-anchor__item { flex-direction: column-reverse; }
.sv-anchor--bottom .sv-anchor__tri { top: -1.5rem; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.sv-anchor--bottom .sv-anchor__item:hover .sv-anchor__tri { transform: translateY(-.4rem); }
.sv-cta { height: 36.3rem; }
.sv-cta .cta { left: 47rem; top: 15rem; }
.plan { overflow: visible; }
.plan__head, .plan__price, .plan__flow, .plan__voice, .plan__cta { position: relative; }
.plan__gray { position: absolute; left: 0; top: 0; width: 144rem; height: 72rem; background: #f5f5f5; clip-path: polygon(0% 0%, 100% 0%, 100% 76.67%, 52.22% calc(76.67% + 23.33% * var(--v, 1)), 0% 76.67%); }
.plan__en { position: absolute; opacity: 1; }
.plan__en img { width: 100%; height: 100%; }
.plan__ttl { position: absolute; font-size: 4rem; line-height: 5.6rem; font-weight: 700; white-space: nowrap; }
.plan__rule { position: absolute; left: 17.5rem; width: 109rem; height: .3rem; background: var(--ink); }
.plan__dots { position: absolute; display: flex; gap: .5rem; }
.plan__dots i { width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--ink); }
.plan__dots--l { left: 17.5rem; }
.plan__dots--r { left: 121rem; }
.plan__band { position: absolute; height: 5.3rem; background: var(--ink); color: var(--white); font-size: 3.6rem; line-height: 5.3rem; font-weight: 700; white-space: nowrap; }
.plan__worry { position: absolute; font-size: 3rem; line-height: 4.2rem; font-weight: 700; white-space: nowrap; }
.plan__list { position: absolute; font-size: 2.4rem; line-height: 4.5rem; font-weight: 500; white-space: nowrap; }
.plan__check { display: inline-block; width: 2.4rem; margin-right: .6rem; }
.plan__li { display: inline-block; }
.plan__person { position: absolute; transform-origin: 50% 100%; }
.plan__target { top: 61.92rem; left: -8rem; width: 160rem; text-align: center; font-size: 2.7rem; line-height: 4.4rem; font-weight: 700; color: var(--teal); }
.plan__target { position: absolute; white-space: nowrap; }
.plan__price { background: #dfdccf; }
.plan__price-ttl { position: absolute; left: 17.5rem; top: -3rem; width: 40.7rem; height: 6rem; z-index: 2; }
.plan__price-ttl img { width: 100%; height: 100%; }
.plan__obj { position: absolute; z-index: 1; }
.price { position: absolute; left: 0; top: 0; width: 144rem; }
.price__label { display: flex; align-items: center; justify-content: center; height: 5.3rem; border: .3rem solid var(--ink); background: var(--white); font-size: 2.5rem; font-weight: 700; letter-spacing: -.04em; white-space: nowrap; }
.price__yen, .price__desc { font-size: 2.4rem; line-height: 3.5rem; font-weight: 500; white-space: nowrap; }
.price__yen i { font-style: normal; color: #9b958c; margin: 0 .2rem; }
.plan__price-note { position: absolute; left: 0; width: 144rem; text-align: center; font-size: 2.4rem; line-height: 3.5rem; font-weight: 500; }
.nw { white-space: nowrap; }
.plan__price-note .marker { background: linear-gradient(transparent 58%, rgba(18, 168, 157, .28) 58%) no-repeat 0 0 / 100% 100%; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
html.js .plan__price-note .marker { background-size: 0% 100%; }
.plan__price-note .marker.is-split { background: none; }
.plan__price-note .mk-line { background: linear-gradient(transparent 58%, rgba(18, 168, 157, .28) 58%) no-repeat 0 0 / 0% 100%; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.plan__tax { position: absolute; right: 17.5rem; font-size: 2rem; line-height: 3.5rem; font-weight: 400; }
.plan__flow { height: 45.2rem; }
.plan__flow-ttl { position: absolute; left: 0; top: 4.09rem; width: 144rem; text-align: center; font-size: 3rem; line-height: 4.2rem; font-weight: 700; }
.flow { list-style: none; position: absolute; left: 19.1rem; top: 11.9rem; display: flex; gap: 6.2rem; }
.flow__step { position: relative; width: 21.8rem; }
.flow__circle { display: flex; align-items: center; justify-content: center; width: 21.8rem; height: 21.8rem; border-radius: 50%; border: .3rem solid var(--ink); background: var(--c); font-size: 2.6rem; font-weight: 500; }
.flow__desc { position: absolute; left: -3rem; right: -3rem; top: 24.1rem; text-align: center; font-size: 2rem; line-height: 2.8rem; font-weight: 500; white-space: nowrap; }
.flow__arrow { position: absolute; left: 21.8rem; top: 9.6rem; width: 6.3rem; height: 2.6rem; }
.flow__arrow svg { display: block; width: 100%; height: 100%; overflow: visible; fill: none; stroke: var(--ink); stroke-width: 3; stroke-dasharray: 3 3; }
.flow__arrow-v { display: none !important; }
.plan__voice { height: 64.3rem; }
.plan__voice-bg { position: absolute; top: 0; width: 126.5rem; height: 55.5rem; background: #f6f4ed; }
.plan__photo { position: absolute; top: 28.1rem; z-index: 1; }
.plan__voice-ttl { position: absolute; top: 3.84rem; font-size: 3rem; line-height: 4.2rem; font-weight: 700; white-space: nowrap; z-index: 2; }
.pvoice { position: absolute; top: 11rem; width: 91.4rem; z-index: 2; }
.pvoice__item { position: relative; height: 12.5rem; margin-bottom: 1rem; padding: 1.3rem 1.2rem 0 2.4rem; border: .3rem solid var(--ink); background: var(--white); }
.pvoice__txt { letter-spacing: -.04em; font-size: 2.25rem; line-height: 3.5rem; font-weight: 500; white-space: nowrap; }
.pvoice__name { position: absolute; right: 1.9rem; bottom: .5rem; font-size: 2rem; line-height: 3.5rem; font-weight: 500; }
.plan__btn { position: absolute; left: 44.8rem; top: 0; width: 54.5rem; height: 8.5rem; margin: 0; font-size: 2.8rem; }
.plan__btn .chev { right: 3.2rem; }
.plan--sanbo .plan__head { height: 78.4rem; }
.plan--sanbo .plan__en { left: 17.5rem; top: 9.9rem; width: 32.7rem; height: 9.7rem; }
.plan--sanbo .plan__ttl { left: 46.5rem; top: 14.05rem; }
.plan--sanbo .plan__rule { top: 25.12rem; }
.plan--sanbo .plan__dots { top: 24.5rem; }
.plan--sanbo .plan__band { left: 17.5rem; top: 22.6rem; padding: 0 2.4rem; }
.plan--sanbo .plan__worry { left: 17.5rem; top: 32.89rem; }
.plan--sanbo .plan__list { left: 17.5rem; top: 39.4rem; }
.plan--sanbo .plan__person { left: 63.1rem; top: -6.2rem; width: 17.35rem; height: 19.23rem; }
.plan--sanbo .plan__target { top: 61.92rem; }
.plan--sanbo .plan__price { height: 32.1rem; }
.plan--sanbo .plan__obj--m21 { left: 107.84rem; top: -3rem; width: 15.55rem; height: 14.45rem; }
.plan--sanbo .plan__obj--m22 { left: 119.91rem; top: 15.51rem; width: 16rem; height: 12.05rem; }
.plan--sanbo .plan__obj--m23 { left: 104.35rem; top: 12.76rem; width: 12.05rem; height: 10.85rem; }
.plan--sanbo .price__item { position: absolute; left: 17.5rem; }
.plan--sanbo .price__item:nth-child(1) { top: 6rem; }
.plan--sanbo .price__item:nth-child(2) { top: 17.6rem; }
.plan--sanbo .price__head { display: flex; align-items: center; gap: 1.2rem; }
.plan--sanbo .price__label { width: 20.7rem; }
.plan--sanbo .price__desc { margin-top: .5rem; padding-left: 2rem; }
.plan--sanbo .price__note { padding-left: 2rem; font-size: 2rem; line-height: 2.9rem; font-weight: 400; }
.plan--sanbo .plan__tax { top: 28.88rem; }
.plan--sanbo .plan__voice-bg { left: 17.5rem; }
.plan--sanbo .plan__voice-ttl { left: 37.95rem; }
.plan--sanbo .pvoice { left: 35.1rem; }
.plan--sanbo .plan__photo { left: 0rem; width: 35.1rem; height: 49.7rem; }
.plan--sanbo .plan__cta { height: 23.5rem; }
.plan--daiko .plan__head { height: 78.5rem; }
.plan--daiko .plan__en { left: 57.3rem; top: 10rem; width: 29.2rem; height: 9.7rem; }
.plan--daiko .plan__ttl { left: 63.5rem; top: 14.15rem; }
.plan--daiko .plan__rule { top: 25.22rem; }
.plan--daiko .plan__dots { top: 24.6rem; }
.plan--daiko .plan__band { left: 72.05rem; top: 22.7rem; padding: 0 1.4rem; transform: translateX(-50%); }
.plan--daiko .plan__worry { left: 17.6rem; top: 32.99rem; }
.plan--daiko .plan__list { left: 17.6rem; top: 39.5rem; }
.plan--daiko .plan__person { left: 68.2rem; top: -6.1rem; width: 19.75rem; height: 19.9rem; }
.plan--daiko .plan__target { top: 62.02rem; }
.plan--daiko .plan__price { height: 38.1rem; }
.plan--daiko .plan__obj--m29 { left: 13.15rem; top: 31.18rem; width: 11.3rem; height: 10.3rem; }
.plan--daiko .plan__obj--m30 { left: 5rem; top: 22.65rem; width: 9.2rem; height: 13.35rem; }
.plan--daiko .plan__obj--m31 { left: 122.9rem; top: 1.6rem; width: 16.15rem; height: 7.15rem; }
.plan--daiko .price { display: grid; grid-template-columns: 48.4rem 48.4rem; row-gap: 2rem; left: 17.5rem; top: 6rem; width: auto; }
.plan--daiko .price__item { display: flex; align-items: center; gap: 2rem; }
.plan--daiko .price__label { flex: none; width: 20.7rem; }
.plan--daiko .plan__price-note { top: 28.7rem; }
.plan--daiko .plan__tax { top: 34.67rem; }
.plan--daiko .plan__voice-bg { left: 0rem; }
.plan--daiko .plan__voice-ttl { left: 20.35rem; }
.plan--daiko .pvoice { left: 17.5rem; }
.plan--daiko .plan__photo { left: 101.7rem; width: 42.3rem; height: 49.7rem; }
.plan--daiko .plan__cta { height: 23.5rem; }
.plan--banso .plan__head { height: 81.5rem; }
.plan--banso .plan__en { left: 93.7rem; top: 10rem; width: 32.8rem; height: 9.7rem; }
.plan--banso .plan__ttl { left: 81.7rem; top: 14.15rem; }
.plan--banso .plan__rule { top: 25.22rem; }
.plan--banso .plan__dots { top: 24.6rem; }
.plan--banso .plan__band { left: 91.5rem; top: 22.7rem; padding: 0 1.4rem; transform: translateX(-50%); }
.plan--banso .plan__worry { left: 17.6rem; top: 32.99rem; }
.plan--banso .plan__list { left: 17.6rem; top: 39.5rem; }
.plan--banso .plan__person { left: 66.4rem; top: -4.9rem; width: 19.7rem; height: 17.9rem; }
.plan--banso .plan__target { top: 62.02rem; }
.plan--banso .plan__price { height: 44.7rem; }
.plan--banso .plan__obj--m32 { left: 116.65rem; top: -6.4rem; width: 15.6rem; height: 14.25rem; }
.plan--banso .plan__obj--m33 { left: 121.7rem; top: 8.3rem; width: 17.1rem; height: 11.3rem; }
.plan--banso .plan__obj--m35 { left: 21.7rem; top: 34.25rem; width: 11.75rem; height: 13.4rem; }
.plan--banso .plan__obj--m34 { left: 8.55rem; top: 26.15rem; width: 12.6rem; height: 12.35rem; }
.plan--banso .price { display: grid; grid-template-columns: 42.4rem 42.4rem; column-gap: 4.3rem; row-gap: 3.2rem; left: 27.5rem; top: 6rem; width: auto; }
.plan--banso .price__item { display: flex; flex-direction: column; align-items: center; text-align: center; }
.plan--banso .price__label { width: 42.4rem; }
.plan--banso .price__yen { margin-top: .4rem; line-height: 2.8rem; }
.plan--banso .price__desc { line-height: 3.3rem; letter-spacing: -.04em; }
.plan--banso .plan__price-note { top: 35.5rem; }
.plan--banso .plan__tax { top: 41.48rem; }
.plan--banso .plan__voice-bg { left: 17.5rem; }
.plan--banso .plan__voice-ttl { left: 37.95rem; }
.plan--banso .pvoice { left: 35.1rem; }
.plan--banso .plan__photo { left: 0rem; width: 42.3rem; height: 49.7rem; }
.plan--banso .plan__cta { height: 28.5rem; }

/* =========================================================
   サービス概要（スマホ版・767px以下）
   PC版をもとに望月チームで組んだレイアウト（375px幅基準）
   ========================================================= */
@media (max-width: 767px) {
  body .page--service .sv-hero { height: auto; padding: 21.6rem 2rem 4.8rem; }
  body .page--service .sv-hero__img { top: 6rem; width: 37.5rem; height: 12rem; }
  body .page--service .sv-hero__img img { object-position: 18% 50%; }
  body .page--service .sv-hero__ttl { top: 10.4rem; width: 37.5rem; font-size: 2.2rem; line-height: 2.2rem; }
  body .page--service .sv-hero__txt { position: relative; top: auto; width: auto; font-size: 1.35rem; line-height: 2.4rem; }
  body .page--service .sv-hero__txt--2 { margin-top: 1.4rem; }

  /* ---- プランへの案内 ---- */
  body .page--service .sv-anchor { position: relative; left: auto; top: auto; justify-content: center; gap: 1.2rem; margin-top: 3.2rem; }
  body .page--service .sv-anchor__item { width: 10.4rem; }
  body .page--service .sv-anchor__lead { font-size: 1.05rem; line-height: 2rem; letter-spacing: -.03em; }
  body .page--service .sv-anchor__box { width: 10.4rem; height: 5.4rem; }
  body .page--service .sv-anchor__box b { font-size: 1.8rem; line-height: 2rem; }
  body .page--service .sv-anchor__box small { font-size: 1.2rem; line-height: 1.6rem; }
  body .page--service .sv-anchor__tri { width: 1.8rem; height: 1.8rem; margin-left: -.9rem; }
  body .page--service .sv-anchor--top .sv-anchor__tri { top: 7.2rem; }
  body .page--service .sv-anchor--bottom .sv-anchor__tri { top: -.9rem; }
  body .page--service .sv-bottom { height: auto; padding: 3.2rem 0 3.2rem; }
  body .page--service .sv-anchor--bottom { margin-top: 0; }

  /* ---- プラン：見出し〜お悩み ---- */
  body .page--service .plan__head { height: auto; padding: 4.8rem 2rem 7.2rem; display: flex; flex-direction: column; align-items: flex-start; }
  body .page--service .plan__head > * { flex: none; }
  body .page--service .plan__gray { position: absolute; }
  body .page--service .plan__gray { width: 37.5rem; height: auto; bottom: 0; clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 13rem), 50% calc(100% - 13rem + 6rem * var(--v, 1)), 0% calc(100% - 13rem)); }
  body .page--service .plan__en, body .page--service .plan__ttl { position: relative; left: auto; top: auto; }
  body .page--service .plan__en { width: 16rem; height: 4.74rem; }
  body .page--service .plan--daiko .plan__en { width: 14.3rem; }
  body .page--service .plan__ttl { margin-top: -2.4rem; padding-left: 5.6rem; font-size: 2.2rem; line-height: 3rem; }
  body .page--service .plan__rule, body .page--service .plan__dots { display: none; }
  body .page--service .plan__band { position: relative; left: auto; top: auto; transform: none; display: inline-block; height: auto; margin-top: 1.6rem; padding: .4rem 1rem; font-size: 1.55rem; line-height: 2.4rem; white-space: normal; }
  body .page--service .plan__worry, body .page--service .plan__list { position: relative; left: auto; top: auto; }
  body .page--service .plan__worry { margin-top: 2.4rem; font-size: 1.7rem; line-height: 2.6rem; }
  body .page--service .plan__list { display: flow-root; align-self: stretch; margin-top: .8rem; font-size: 1.35rem; line-height: 2.2rem; white-space: normal; }
  body .page--service .plan__list li { position: relative; margin-top: .6rem; padding-left: 1.8rem; }
  body .page--service .plan__li { display: inline; }
  body .page--service .plan__check { position: absolute; left: 0; top: 0; width: 1.6rem; margin: 0; }
  /* 人物は右に回り込ませる：横に来る行だけ幅が詰まり、ほかの行は横幅いっぱい */
  body .page--service .plan__person { position: relative; left: auto; top: auto; float: right; width: 11.4rem; height: auto; margin: .2rem -.8rem .4rem .6rem; }
  body .page--service .plan--banso .plan__person { width: 11.8rem; }
  body .page--service .plan__target { position: relative; left: auto; top: auto; width: auto; margin-top: 3.2rem; align-self: stretch; font-size: 1.4rem; line-height: 2.4rem; letter-spacing: -.02em; white-space: normal; }
  body .page--service .plan__target > span { display: block; }
  body .page--service .plan__target br.pc { display: none; }

  /* ---- 何がいくらでできる？ ---- */
  body .page--service .plan__price { height: auto; padding: 4.4rem 2rem .6rem; }
  body .page--service .plan__price-ttl { left: 2rem; top: -1.6rem; width: 22rem; height: 3.24rem; }
  body .page--service .plan__obj { display: none; }
  body .page--service .plan__obj { left: auto; height: auto; }
  body .page--service .plan__obj:first-of-type { display: block; right: 1.2rem; top: -4.4rem; }
  body .page--service .plan--sanbo .plan__obj--m21 { width: 9rem; top: -5.6rem; }
  body .page--service .plan--sanbo .plan__obj--m22 { display: block; right: 5.2rem; top: 17.2rem; width: 6rem; }
  body .page--service .plan--sanbo .plan__obj--m23 { display: block; right: 1.6rem; top: 11.2rem; width: 6rem; }
  body .page--service .plan--daiko .plan__obj--m29 { width: 6.6rem; top: -4.6rem; }
  body .page--service .plan--daiko .plan__obj--m31 { display: block; right: 1.4rem; top: 14.8rem; width: 9.4rem; }
  body .page--service .plan--daiko .plan__obj--m30 { display: block; right: 3rem; top: 23.2rem; width: 5.3rem; }
  body .page--service .plan--banso .plan__obj--m32 { width: 9rem; top: -5.4rem; }
  body .page--service .plan--banso .plan__obj--m34 { display: block; left: .4rem; top: 1.4rem; width: 6rem; }
  body .page--service .plan--banso .plan__obj--m33 { display: block; right: .2rem; top: 12.2rem; width: 6.5rem; }
  body .page--service .plan--banso .plan__obj--m35 { display: block; left: .4rem; top: 23rem; width: 5.4rem; }
  body .page--service .plan .price { position: relative; left: auto; top: auto; width: auto; display: flex; flex-direction: column; gap: 1.4rem; }
  body .page--service .plan .price .price__item { position: relative; left: auto; top: auto; }
  body .page--service .price__label { height: 3.8rem; border-width: .2rem; font-size: 1.5rem; letter-spacing: 0; }
  body .page--service .price__yen, body .page--service .price__desc { font-size: 1.35rem; line-height: 2.2rem; white-space: normal; }
  body .page--service .plan--sanbo .price__head { gap: 1rem; }
  body .page--service .plan--sanbo .price__label { width: 13.6rem; }
  body .page--service .plan--sanbo .price__desc, body .page--service .plan--sanbo .price__note { margin-top: .4rem; padding-left: 0; }
  body .page--service .plan--sanbo .price__note { font-size: 1.15rem; line-height: 1.8rem; }
  body .page--service .plan--daiko .price__item { gap: 1rem; }
  body .page--service .plan--daiko .price__label { flex: none; width: 12rem; }
  body .page--service .price__yen i { display: none; }
  body .page--service .price__sub { display: block; font-size: 1.2rem; line-height: 1.8rem; }
  body .page--service .plan--banso .price__label { width: 100%; }
  body .page--service .plan--banso .price__yen { margin-top: .4rem; line-height: 2.2rem; }
  body .page--service .plan__price-note { position: relative; left: auto; top: auto; width: auto; margin-top: 1.6rem; font-size: 1.3rem; line-height: 2.2rem; }
  body .page--service .plan__tax { position: relative; right: auto; top: auto; margin-top: .6rem; text-align: right; font-size: 1.1rem; line-height: 1.8rem; }

  /* ---- 実施までの流れ（縦に並べる） ---- */
  body .page--service .plan__flow { height: auto; padding: 4.8rem 2rem 4rem; }
  body .page--service .plan__flow-ttl { position: relative; top: auto; width: auto; font-size: 1.8rem; line-height: 2.6rem; }
  /* 丸は「説明が1行に収まる最大」：--dw は一番長い説明（代行）の幅。3プラン共通 */
  body .page--service .flow { --dw: 25rem; --cs: calc(33.5rem - var(--dw) - .8rem); position: relative; left: auto; top: auto; flex-direction: column; gap: .4rem; margin-top: 2rem; }
  body .page--service .flow__step { display: flex; align-items: center; gap: .8rem; width: auto; }
  body .page--service .flow__circle { flex: none; width: var(--cs); height: var(--cs); border-width: .2rem; font-size: 1.3rem; letter-spacing: -.02em; }
  body .page--service .flow__desc { position: static; font-size: 1.2rem; line-height: 2rem; letter-spacing: -.03em; text-align: left; white-space: nowrap; }
  body .page--service .flow__desc br { display: none; }
  body .page--service .flow__arrow { left: calc(var(--cs) + .8rem + var(--dw) / 2 - 2rem); top: calc(var(--cs) / 2 + 1.1rem); width: 1.6rem; height: calc(var(--cs) - 1.8rem); }
  body .page--service .flow__arrow svg { overflow: visible; }
  body .page--service .flow__arrow-h { display: none !important; }
  body .page--service .flow__arrow-v { display: block !important; stroke-width: 1.8; stroke-dasharray: 2 2; }
  body .page--service .flow__arrow-v path:last-child { stroke-dasharray: 2.2 1.8; }

  /* ---- 口コミ ---- */
  body .page--service .plan__voice { height: auto; padding: 4rem 2.4rem 0 2.8rem; }
  body .page--service .plan--daiko .plan__voice { padding: 4rem 2.8rem 0 2.4rem; }
  body .page--service .plan__voice { display: flex; flex-direction: column; }
  body .page--service .plan__photo { order: 3; }
  body .page--service .plan__target { text-wrap: balance; }
  body .page--service .price__yen, body .page--service .pvoice__txt, body .page--service .price__desc { text-wrap: pretty; }
  /* ベージュは片側を少し欠く：参謀・伴走は左、代行は右（写真と同じ向き） */
  body .page--service .plan__voice-bg { left: 1.4rem; right: 0; top: 0; width: auto; height: auto; bottom: 8.2rem; }
  body .page--service .plan--daiko .plan__voice-bg { left: 0; right: 1.4rem; }
  body .page--service .plan--sanbo .plan__voice-bg { bottom: 9.8rem; }
  body .page--service .pvoice { z-index: 2; }
  body .page--service .plan__voice-ttl, body .page--service .pvoice { position: relative; left: auto; top: auto; width: auto; }
  body .page--service .plan__voice-ttl { font-size: 1.8rem; line-height: 2.6rem; }
  body .page--service .pvoice { margin-top: 1.6rem; }
  body .page--service .pvoice__item { height: auto; margin-bottom: 1rem; padding: 1.4rem 1.4rem 1rem; border-width: .2rem; }
  body .page--service .pvoice__txt { font-size: 1.3rem; line-height: 2.2rem; letter-spacing: 0; white-space: normal; }
  body .page--service .pvoice__txt br { display: none; }
  body .page--service .pvoice__name { position: static; margin-top: .6rem; text-align: right; font-size: 1.1rem; line-height: 1.8rem; }
  body .page--service .plan__photo { position: relative; left: auto; top: auto; z-index: 1; display: block; width: 15rem; height: auto; margin: -5.4rem 0 0 -2.8rem; }
  body .page--service .plan--daiko .plan__photo { margin: -5.4rem -2.8rem 0 auto; }

  /* ---- 相談ボタン ---- */
  body .page--service .plan__cta { z-index: 2; height: auto; margin: -6.6rem 0 0; padding: 0 0 5.6rem; }
  body .page--service .plan__btn { position: relative; left: auto; top: auto; width: 24rem; height: 4.6rem; margin: 0 auto; padding: 0 3rem 0 1.6rem; font-size: 1.25rem; white-space: nowrap; }
  body .page--service .plan__btn .chev { right: 1.4rem; }

  body .page--service .sv-cta { height: auto; padding: 5rem 0; }
  body .page--service .sv-cta .cta { left: auto; top: auto; }
}

/* 本文は細字で統一 2026-09-28 */
body .page--service .price__yen, body .page--service .price__desc, body .page--service .plan__price-note, body .page--service .pvoice__txt, body .page--service .pvoice__name { font-weight: 400; }
/* 提案B：口コミに引用符（背景のベージュより少し濃い色） */
body .page--service .pvoice__item::before { content: "“"; position: absolute; left: 2rem; bottom: -3.2rem; /* 名前の左の空いているところに */ font-family: "Barlow", sans-serif; font-weight: 700; font-size: 7.2rem; line-height: 1; color: #d9ceb7; pointer-events: none; }
/* 提案C：流れは見出しの上に、口コミは見出しのすぐ右に英字 */
body .page--service .plan__flow-ttl::before { content: "FLOW"; position: absolute; left: 0; right: 0; bottom: 100%; font-family: "Barlow", sans-serif; font-size: 1.6rem; line-height: 2.4rem; font-weight: 700; letter-spacing: .14em; color: var(--teal); }
body .page--service .plan__voice-ttl::after { content: "VOICE"; position: absolute; left: calc(100% + 1.6rem); top: 50%; transform: translateY(-50%); line-height: 1; font-family: "Barlow", sans-serif; font-size: 1.6rem; font-weight: 700; letter-spacing: .14em; color: var(--teal); vertical-align: .3em; }
@media (max-width: 767px) {
  body .page--service .pvoice__item::before { left: 1.2rem; bottom: -1.2rem; font-size: 3.6rem; }
  body .page--service .plan__flow-ttl::before, body .page--service .plan__voice-ttl::after { font-size: 1.1rem; line-height: 1.6rem; }
  body .page--service .plan__voice-ttl { align-self: flex-start; }  body .page--service .plan__voice-ttl::after { left: calc(100% + 1rem); }
}

/* 2026-10-02 隊長：参謀プランの写真も口コミに重ねる（伴走・代行と同じ幅に） */
/* 代行プランの補足の一文はPCのみ */
@media (max-width: 767px) { body .page--service .plan__target > .plan__target-pc { display: none; } }
@media (min-width: 768px) { .plan--daiko .plan__price { margin-top: 4rem; } }
@media (min-width: 768px) { .plan--sanbo .plan__photo { width: 42.3rem; object-fit: cover; object-position: 50% 100%; } }


/* 2026-10-02 隊長：プラン一覧の▲（▼）は黒い四角のうしろに置く。押したとき・カーソルを合わせたときに▲だけ動いてすき間ができないよう、▲は動かさない */
.sv-anchor__box { position: relative; z-index: 1; }
.sv-anchor__tri { z-index: 0; }
.sv-anchor--top .sv-anchor__item:hover .sv-anchor__tri, .sv-anchor--bottom .sv-anchor__item:hover .sv-anchor__tri { transform: none; }
