/* ガーデンワークス安曇野 Googleマップ口コミパネル（共通パーツ）
   剪定LP・伐採LPの両方がこのCSSとgw-reviews.jsを読み込む。デザインの変更はここだけ。 */
.gw-rv { width: 100%; max-width: 960px; margin: 0 auto; background: #ffffff; padding: 40px 20px; box-sizing: border-box; }
.gw-rv *, .gw-rv *::before, .gw-rv *::after { box-sizing: border-box; }
.gw-rv__inner { max-width: 960px; margin: 0 auto; }
#voice.gw-rv .gw-rv__eyebrow { margin: 0 !important; line-height: 1.2 !important; color: #1a3d1b; font-size: 15px; font-weight: 700; letter-spacing: .08em; text-align: center; }
#voice.gw-rv .gw-rv__heading { margin: 10px 0 0 !important; padding: 0 !important; line-height: 1.35; font-size: clamp(22px, 6vw, 28px); font-weight: 800; text-align: center; color: #222222; font-family: "Hiragino Sans", "Yu Gothic", "YuGothic", sans-serif; }

/* 横スライド。カード高さは共通JSが「閉じた状態の最大高さ」に揃える（--gw-rv-h） */
#voice.gw-rv .gw-rv__list { list-style: none; display: flex; flex-wrap: nowrap; align-items: flex-start; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; touch-action: pan-x pan-y; cursor: grab; gap: 16px; margin: 24px 0 0 !important; padding: 4px 4px 14px !important; scrollbar-width: thin; scroll-snap-type: x proximity; }
#voice.gw-rv .gw-rv__card { flex: 0 0 min(280px, calc(100vw - 40px)); width: min(280px, calc(100vw - 40px)); min-width: 0; max-width: none; min-height: var(--gw-rv-h, 0px); margin: 0 !important; display: flex; flex-direction: column; scroll-snap-align: start; background: #ffffff; border: 1px solid #d9d9d9; border-radius: 12px; padding: 20px !important; text-align: left; list-style: none; }
.gw-rv__header { display: flex; align-items: center; gap: 12px; position: relative; padding-right: 26px; }
.gw-rv__avatar { width: 40px; height: 40px; border-radius: 50%; flex: 0 0 40px; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #1a3d1b; color: #ffffff; font-weight: 700; font-size: 16px; }
.gw-rv__who { flex: 1; min-width: 0; }
#voice.gw-rv .gw-rv__name { font-weight: 600; font-size: 15px; color: #000000; margin: 0 !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gw-rv__badge { position: absolute; top: 0; right: 0; width: 20px; height: 20px; }
.gw-rv__stars { display: flex; align-items: center; gap: 1px; margin: 11px 0; }
.gw-rv__stars img { width: 17px; height: 17px; }
.gw-rv__stars img.gw-rv__verified { width: 15px; height: 15px; margin-left: 6px; }

/* 本文：閉じた状態は最大4行で省略。展開すると全文が出てカードが伸びる */
#voice.gw-rv .gw-rv__text { font-size: 15px; line-height: 21.75px; color: #000000; margin: 0 !important; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-line; overflow-wrap: anywhere; }
#voice.gw-rv .gw-rv__text.is-expanded { display: block; -webkit-line-clamp: unset; overflow: visible; }
/* 「続きを読む」からカード下端までの余白は、カードのpadding-bottom（20px）だけにする */
#voice.gw-rv .gw-rv__more { display: none; align-self: center; margin: 8px 0 0 !important; padding: 0 !important; font-size: 13.5px; line-height: 20px; color: rgba(0,0,0,.5); cursor: pointer; touch-action: manipulation; background: none !important; border: none !important; box-shadow: none !important; border-radius: 0; font-family: inherit; position: relative; z-index: 2; }
#voice.gw-rv .gw-rv__more.is-shown { display: inline-block; }
#voice.gw-rv .gw-rv__more:hover { color: #000000; text-decoration: underline; background: none !important; }

@media (min-width: 768px) {
  .gw-rv { padding: 64px 24px; }
  #voice.gw-rv .gw-rv__list { gap: 20px; }
}
