/* ══════════════════════════════════
   testimonials.css — 体験談ページ固有スタイル
   なおすため合同会社
══════════════════════════════════ */


.testi-hero{
  position:relative;
  padding:160px 80px 120px;
  min-height:600px;
  overflow:hidden;
}
.testi-hero-bg{
  position:absolute;inset:0;
  background-image:url('../images/kaisya_-f3.webp');
  background-size:1200px 900px;background-position:center top;
  background-repeat: no-repeat;
  z-index:0;
}
.testi-hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(108deg,rgba(27,94,32,0.96) 0%,rgba(27,94,32,0.75) 50%,rgba(46,125,50,0.35) 100%),
    radial-gradient(ellipse 60% 80% at 80% 50%,rgba(76,175,80,0.15) 0%,transparent 70%);
  z-index:1;
}
.testi-hero-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px);
  background-size:76px 76px;
  z-index:2;
}
.testi-hero-inner{position:relative;z-index:2;max-width:900px;margin:0 auto;}
.testi-hero h1{font-family:'Shippori Mincho',serif;font-size:48px;font-weight:700;color:var(--white);line-height:1.4;margin-bottom:20px;}
.testi-hero h1 em{color:var(--accent-gold);font-style:normal;}
.testi-hero p{font-size:15px;color:rgba(255,255,255,0.85);line-height:1.9;margin-bottom:32px;}
.testi-hero-stats{display:flex;gap:32px;flex-wrap:wrap;}
.testi-hero-stat{text-align:center;}
.testi-hero-stat-num{font-family:'DM Sans',sans-serif;font-size:48px;font-weight:700;color:var(--accent-gold);line-height:1;}
.testi-hero-stat-num span{font-size:16px;}
.testi-hero-stat-label{font-size:12px;color:rgba(255,255,255,0.75);margin-top:4px;}

/* Google Review */
.testi-google{background:var(--light-green);padding:80px 80px 0;}
.testi-google-inner{max-width:1000px;margin:0 auto;}
.testi-google-img{width:100%;display:block;height:auto;border-radius:4px;box-shadow:0 4px 24px rgba(0,0,0,0.08);margin-top:32px;}
.testi-note{font-size:11px;color:var(--g700);margin-top:14px;line-height:1.8;}

/* Voices */
.testi-voices{background:var(--white);padding:80px;}
.testi-voices-inner{max-width:900px;margin:0 auto;}
.voices-cta-wrap{margin-top:40px;text-align:center;padding:32px;background:var(--light-green);border-radius:6px;}
.voices-cta-lead{font-size:14px;color:var(--g700);line-height:1.9;margin-bottom:20px;}
.voices-list{display:flex;flex-direction:column;gap:12px;margin:32px 0 20px;}
.voice-check{display:flex;align-items:flex-start;gap:12px;padding:14px 20px;background:var(--light-green);border-radius:4px;}
.voice-check-icon{color:var(--green-bright);font-weight:700;font-size:16px;flex-shrink:0;}
.voice-check-text{font-size:14px;color:var(--g700);line-height:1.8;}

/* LINE Voices */
.testi-line{background:var(--light-green);padding:80px;}
.testi-line-inner{max-width:900px;margin:0 auto;}
.line-item{font-size:13px;color:var(--g700);line-height:1.8;padding:8px 0;border-bottom:1px solid rgba(0,0,0,0.05);}
.line-item:last-child{border-bottom:none;}

/* Testimonials */
.testi-cards{background:var(--white);padding:80px;}
.testi-cards-inner{max-width:900px;margin:0 auto;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
.testi-card{background:var(--light-green);border-radius:6px;padding:24px 20px;position:relative;}
.testi-card::before{content:'"''"';font-size:48px;color:var(--green-bright);opacity:0.2;position:absolute;top:12px;left:16px;line-height:1;font-family:serif;}
.testi-quote{font-size:14px;color:var(--g700);line-height:1.9;margin-bottom:16px;padding-top:12px;}
.testi-meta{font-size:12px;color:var(--g500);font-weight:600;}

/* CTA */
.testi-cta{background:var(--green-dark);padding:80px;text-align:center;}
.testi-cta-inner{max-width:600px;margin:0 auto;}
.testi-cta h2{font-family:'Shippori Mincho',serif;font-size:28px;font-weight:700;color:var(--white);margin-bottom:16px;}
.testi-cta h2 em{color:var(--accent-gold);font-style:normal;}
.testi-cta p{font-size:14px;color:rgba(255,255,255,0.75);line-height:1.9;margin-bottom:32px;}

@media(max-width:960px){
  .testi-hero,.testi-google,.testi-voices,.testi-line,.testi-cards,.testi-cta{padding:60px 40px;}
  .testi-grid{grid-template-columns:1fr;}
  .testi-hero-stats{gap:20px;}
}
@media(max-width:680px){
  .testi-hero,.testi-google,.testi-voices,.testi-line,.testi-cards,.testi-cta{padding:48px 20px 20px;}
  .testi-hero h1{font-size:32px;margin-top: 5rem;}
}

/* ── Googleクチコミ アコーディオン ── */
.review-accordion{
  border-top:1px solid var(--gray-line);
}
.racc-item{
  border-bottom:1px solid var(--gray-line);
}
.racc-q{
  width:100%;
  background:none;
  border:none;
  padding:12px 0;/*アコデリスト1つの高さ*/
  cursor:pointer;
  align-items:center;
  gap:12px;
  text-align:left;
  flex-wrap:wrap;
}
.racc-stars{
  display: inline-block;
  color:#f5a623;
  font-size:13px;
  flex-shrink:0;
}
.racc-title{
  font-size:15px;
  font-weight:600;
  color:var(--navy-text);
  flex:1;
  line-height:1.6;
}
.racc-meta{
  font-size:11px;
  color:var(--g500);
  flex-shrink:0;
}
.racc-arrow{
  width:20px;height:20px;
  flex-shrink:0;
  position:relative;
}
.racc-arrow::before,.racc-arrow::after{
  content:'';
  position:absolute;
  background:var(--green-bright);
  border-radius:2px;
  transition:transform .2s;
}
.racc-arrow::before{width:12px;height:2px;top:9px;left:4px;}
.racc-arrow::after{width:2px;height:12px;top:4px;left:9px;}
.racc-item.open .racc-arrow::after{transform:rotate(90deg);}
.racc-a{
  display:none;
  padding:0 0 24px 0;
  font-size:14px;
  color:var(--g700);
  line-height:2;
}
.racc-item.open .racc-a{display:block;}
.racc-note{
  font-size:11px;
  color:var(--g500);
  line-height:1.8;
  padding:10px 14px;
  background:var(--light-green);
  border-radius:4px;
  margin-top:12px;
}
.racc-note a{
  color:var(--green-bright);
  text-decoration:none;
  margin-left:8px;
}
@media(max-width:680px){
  .racc-title{font-size:14px;}
  .racc-q{gap:8px;}
}

/* ── Google口コミ 下段2カラム ── */
.google-acc-row{
  display:grid;
  grid-template-columns:1fr 380px;
  gap:32px;
  margin-top:20px;
  align-items:start;
}
.testi-google-img-sub{
  width:100%;height:auto;
  display:block;
  border-radius:4px;
  box-shadow:0 4px 24px rgba(0,0,0,0.08);
  position:sticky;top:90px;
}
@media(max-width:960px){
  .google-acc-row{grid-template-columns:1fr;}
  .testi-google-img-sub{position:static;}
}

/* ==========================
   上4件Google口コミ
========================== */

.review-accordion-top{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  border-top:none;
  align-items:start;
}

.review-accordion-top .racc-item{
  width:auto;
  height:auto;
  align-self:start;
}
.review-accordion-top .racc-item{
  border:1px solid var(--gray-line);
  border-radius:6px;
}

.review-accordion-top .racc-q{
  padding:10px;
}

.review-accordion-top .racc-title{
  font-size:15px;
  line-height:1.7;
  flex:1;
}

.review-accordion-top .racc-arrow{
  margin-left:auto;
  font-size:24px;
  color:var(--green-bright);
}

.review-accordion-top .racc-arrow::before{
  content:"+";
  position:static;
  width:auto;
  height:auto;
  background:none;
  font-size:32px;
  font-weight:300;
}

.review-accordion-top .racc-arrow::after{
  display:none;
}

.review-accordion-top .racc-item.open .racc-arrow{
  transform:rotate(45deg);
}

.review-accordion-top .racc-a{
  padding:0 18px 15px;
}

@media(max-width:680px){

  .review-accordion-top{
    grid-template-columns:1fr;
  }

}

/* 開閉アイコンを右端へ */

.google-acc-row .racc-q{
  display:block;
  /*padding:18px 0;*/
}

.google-acc-row .racc-title{
  display:block;
  margin-bottom:10px;
  line-height:1.4;
}

.google-acc-row .racc-meta-row{
  display:flex;
  align-items:center;
}

.google-acc-row .racc-stars{
  color:#f5a623;
  font-size:12px;
}

.google-acc-row .racc-meta{
  margin-left:6px;
  font-size:11px;
  color:var(--g500);
}

/* 上4件 Google口コミ */

.review-accordion-top .racc-meta-row{
  display:flex;
  align-items:center;     /* 性別を★の中央へ */
  gap:8px;
}

.review-accordion-top .racc-stars{
  /*margin-left:30px;*/    /* ★横位置 */
  line-height:1;
}

.review-accordion-top .racc-meta{
  display:flex;
  line-height:1;
  margin-top:1px;         /* 微調整 */
}

/* 下段アコーディオン + 復活 */

.google-acc-row .racc-arrow{
  width:24px;
  height:24px;
  position:relative;
  margin-left:auto;
  flex-shrink:0;
}

.google-acc-row .racc-arrow::before{
  content:"+";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  font-weight:300;
  color:var(--green-bright);
  background:none;
}

.google-acc-row .racc-arrow::after{
  display:none;
}

.google-acc-row .racc-item.open .racc-arrow{
  transform:rotate(45deg);
}

/* LINEアコーディオン */

.testi-line .racc-q{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 0;
}

.testi-line .racc-title{
  flex:1;
  line-height:1.45;
}

.testi-line .racc-meta{
  white-space:nowrap;
  margin-left:8px;
}

.testi-line .racc-arrow{
  margin-left:12px;
  width:28px;
  text-align:center;
  font-size:28px;
  line-height:1;
  color:var(--green-bright);
}

.testi-line .racc-arrow::before{
  content:"+";
  position:static;
  background:none;
}

.testi-line .racc-arrow::after{
  display:none;
}

.testi-line .racc-item.open .racc-arrow{
  transform:rotate(45deg);
}

.testi-line .racc-q{
  display:grid;
  grid-template-columns:1fr auto 3rem;
  gap:12px;
  align-items:center;
}

.testi-line .racc-arrow{
  margin-left:0;
}