/* ======================================
   楽読 受講生の声ページ ブラッシュアップCSS
   voice-brushup-index.html と同階層に設置してください
====================================== */
html{scroll-behavior:smooth;}
.voiceBrushHero .container-2{position:relative;}
.voiceBrushHeroBox{max-width:760px;margin-left:auto;margin-right:auto;}
.voiceHeroKicker{display:inline-block;margin:0 0 10px;padding:6px 18px;border-radius:999px;background:rgba(255,255,255,.9);color:#16964a;font-weight:700;letter-spacing:.08em;}
.voiceHeroButtons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:22px;}
.voiceBtn{display:inline-block;min-width:230px;padding:16px 28px;border-radius:999px;text-align:center;font-weight:700;text-decoration:none!important;box-sizing:border-box;box-shadow:0 5px 0 rgba(0,0,0,.12);}
.voiceBtnGreen{background:#16964a;color:#fff!important;}
.voiceBtnOrange{background:#f39800;color:#fff!important;}
.voiceBtn:hover{opacity:.86;}
.voiceBrushup{padding-bottom:80px;}
.voiceBrushTitle{margin-bottom:24px;}
.voiceLeadBox{max-width:820px;margin:0 auto 42px;padding:24px 34px;border-radius:20px;background:#fffef8;border:2px solid #f2e4bf;box-sizing:border-box;text-align:center;}
.voiceLeadBox p{margin:0;color:#333;font-size:17px;line-height:2;}
.voiceSectionHeading{text-align:center;margin:0 auto 34px;}
.voiceKicker{display:inline-block;margin:0 0 10px;padding:5px 18px;border-radius:999px;background:#e6f5ec;color:#16964a;font-weight:700;font-size:14px;}
.voiceSectionHeading h2,.voiceCategoryTitle{margin:0 0 12px!important;padding:0!important;border:0!important;background:none!important;color:#158341!important;font-size:30px!important;line-height:1.45!important;font-weight:700!important;text-align:center!important;}
.voiceSectionHeading p{margin:0;line-height:1.8;color:#555;}
.voicePickup{margin:0 auto 58px;}
.voiceCardGrid{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;padding:0;}
.voiceCard{width:30%;min-width:280px;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.09);transition:.25s;text-align:left;}
.voiceCard:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.13);}
.voiceCard a{display:block;color:inherit!important;text-decoration:none!important;height:100%;}
.voiceCardImage{position:relative;overflow:hidden;background:#f7f7f7;}
.voiceCardImage img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;border-radius:0!important;}
.voiceBadge{position:absolute;left:14px;bottom:14px;padding:7px 14px;border-radius:999px;background:rgba(22,150,74,.94);color:#fff;font-size:13px;font-weight:700;line-height:1.2;}
.voiceCardBody{padding:22px 22px 26px;}
.voiceCardBody .schoolName{margin:0 0 10px!important;color:#158341;font-weight:700;font-size:14px;}
.voiceMeta{margin:0 0 10px!important;color:#777;font-size:13px;line-height:1.6;}
.voiceCardBody h3{margin:0 0 14px!important;color:#333!important;font-size:20px!important;line-height:1.55!important;font-weight:700!important;background:none!important;border:0!important;padding:0!important;}
.voicePoints{margin:0 0 18px!important;padding:0!important;list-style:none!important;}
.voicePoints li{margin:0 0 7px!important;padding-left:1.35em!important;position:relative;color:#444;line-height:1.6;font-size:14px;}
.voicePoints li:before{content:"✓";position:absolute;left:0;color:#f39800;font-weight:700;}
.voiceLink{margin:0!important;color:#f39800;font-weight:700;text-align:right;}
.voiceCategoryNav{position:sticky;top:0;z-index:5;max-width:980px;margin:0 auto 58px;padding:14px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(4px);}
.voiceCategoryNav a{display:inline-block;padding:12px 22px;border-radius:999px;background:#fff;color:#158341!important;border:2px solid #cfe8d8;font-weight:700;text-decoration:none!important;box-shadow:0 3px 10px rgba(0,0,0,.04);}
.voiceCategoryNav a:hover{background:#e6f5ec;}
.voiceCategoryWrap{margin-top:10px;}
.voiceCategoryBlock{margin:0 0 78px;scroll-margin-top:100px;}
.voiceCategoryTitle{margin-bottom:28px!important;font-size:24px!important;}
.voiceCardGridTwo{max-width:820px;margin-left:auto;margin-right:auto;justify-content:center;}
.voiceCardGridTwo .voiceCard{width:44%;}
.voiceMiniCta,.voiceFinalCtaInner{max-width:920px;margin:0 auto 78px;padding:34px 38px;border-radius:26px;background:#eaf7ef;border:2px solid #b9e2c9;display:flex;align-items:center;justify-content:space-between;gap:28px;box-sizing:border-box;}
.voiceMiniCta h2,.voiceFinalCta h2{margin:0 0 8px!important;padding:0!important;border:0!important;background:none!important;color:#158341!important;font-size:24px!important;line-height:1.5!important;font-weight:700!important;text-align:left!important;}
.voiceMiniCta p,.voiceFinalCta p{margin:0;color:#333;line-height:1.8;}
.voiceMiniCtaButton{flex-shrink:0;}
.voiceMiniCtaButton a,.voiceFinalCta a{display:inline-block;padding:14px 34px;border-radius:999px;background:#f39800;color:#fff!important;font-weight:700;text-decoration:none!important;box-shadow:0 5px 0 #cf7f00;white-space:nowrap;}
.voiceFinalCta{margin:20px auto 10px;text-align:center;}
.voiceFinalCtaInner{display:block;background:#fff9ec;border-color:#f7d88b;margin-bottom:0;}
.voiceFinalCta h2{text-align:center!important;}
.voiceFinalCta p{margin:0 auto 20px;max-width:720px;}
@media screen and (max-width:768px){
  .voiceBrushHero .container-2{padding-bottom:22px;}
  .voiceHeroKicker{font-size:13px;}
  .voiceHeroButtons{display:block;margin:22px auto 0;max-width:320px;}
  .voiceBtn{display:block;width:100%;min-width:0;margin:0 0 14px;padding:15px 18px;font-size:16px;}
  .voiceBrushup{padding-bottom:50px;}
  .voiceLeadBox{margin:0 auto 34px;padding:20px 18px;text-align:left;}
  .voiceLeadBox p{font-size:15px;line-height:1.9;}
  .voiceSectionHeading{margin-bottom:24px;}
  .voiceSectionHeading h2,.voiceCategoryTitle{font-size:22px!important;}
  .voiceSectionHeading p{font-size:14px;}
  .voiceCardGrid{display:block;}
  .voiceCard,.voiceCardGridTwo .voiceCard{width:100%;min-width:0;margin:0 0 30px;}
  .voiceCardBody{padding:20px;}
  .voiceCardBody h3{font-size:18px!important;}
  .voiceCategoryNav{position:relative;top:auto;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 0 14px;margin-bottom:42px;}
  .voiceCategoryNav a{white-space:nowrap;padding:10px 18px;font-size:14px;}
  .voiceCategoryBlock{margin-bottom:54px;scroll-margin-top:20px;}
  .voiceMiniCta,.voiceFinalCtaInner{display:block;padding:26px 20px;margin-bottom:56px;text-align:center;}
  .voiceMiniCta h2,.voiceFinalCta h2{text-align:center!important;font-size:21px!important;}
  .voiceMiniCta p{margin-bottom:16px;}
  .voiceMiniCtaButton a,.voiceFinalCta a{width:100%;box-sizing:border-box;padding:14px 18px;}
}
.voice-section-heading {
  text-align: center;
  margin: 60px auto 30px;
  padding: 0 20px;
}

.voice-section-heading .voice-label {
  display: inline-block;
  margin-bottom: 10px;
  padding: 6px 16px;
  border-radius: 999px;
  background: #f39800;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}

.voice-section-heading h2 {
  font-size: 30px;
  line-height: 1.4;
  margin-bottom: 12px;
  color: #333;
}

.voice-section-heading p {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
}

.voice-text-heading {
  margin-top: 80px;
  padding-top: 50px;
  border-top: 1px solid #eee;
}
@media screen and (max-width: 767px) {
  .voice-section-heading {
    margin: 45px auto 24px;
  }

  .voice-section-heading h2 {
    font-size: 24px;
  }

  .voice-section-heading p {
    font-size: 15px;
    text-align: left;
  }
}

