/* お客様の声(カテゴリ voice の投稿)。ニュース詳細の骨格(single.php)の .article-body 内だけに当てる。
   専用レイアウトは持たず、すべて本文幅(.article-body)に収める。 */
.article-body .voice-intro,.article-body .voice-spec,.article-body .voice-video,.article-body .voice-qa,.article-body .voice-note,.article-body .voice-related,.article-body .voice-contact{margin-top:32px}
.article-body .voice-intro+.voice-intro{margin-top:32px}
.article-body p{margin-top:20px}
.article-body a:not(.voice-btn){color:var(--color-primary);text-decoration:underline}

/* 冒頭: 左に写真、右に文章 */
.article-body .voice-intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:32px;align-items:center}
.article-body .voice-intro__photo{margin:0}
.article-body .voice-intro__photo img{display:block;width:100%;height:auto;margin:0}
.article-body .voice-intro__ph{display:block;width:100%;margin:0;aspect-ratio:4/3}
.article-body .voice-intro__ph{display:grid;place-items:center;background:var(--color-pale);color:#9db8cb;font:600 28px var(--font-en);letter-spacing:.2em}
.article-body .voice-intro__text p:first-child{margin-top:0}

/* 導入概要(表) */
.article-body .voice-spec{border-top:3px solid var(--color-primary)}
.article-body .voice-spec div{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid var(--color-line)}
.article-body .voice-spec dt{display:flex;align-items:center;padding:16px 20px;background:var(--color-pale);color:var(--color-primary-dark);font-weight:700;font-size:15px;line-height:1.6;border-right:1px solid var(--color-line)}
.article-body .voice-spec dd{display:flex;align-items:center;margin:0;padding:16px 20px;background:#fff;color:var(--color-ink);font-size:16px;line-height:1.7}

/* ギャラリー(同じ大きさで5枚を横1列) */
.article-body .voice-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:20px}
.article-body .voice-gallery figure{margin:0}
.article-body .voice-gallery img{display:block;width:100%;height:auto;margin:0}

/* 動画(16:9・本文幅いっぱい) */
.article-body .voice-video{position:relative;width:100%;max-width:1000px;margin-left:auto;margin-right:auto;aspect-ratio:16/9;background:#000}
.article-body .voice-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* インタビュー Q&A */
.article-body .voice-qa{overflow:hidden;border:1px solid #d9e1e6;background:#fff}
.article-body .voice-qa h3{display:flex;align-items:flex-start;gap:16px;padding:24px;background:var(--color-pale);font-size:20px;line-height:1.6;color:var(--color-ink)}
.article-body .voice-qa h3 span{flex:0 0 36px;color:var(--color-primary);font:600 36px/1 var(--font-en)}
.article-body .voice-qa h3 small{display:none}
.article-body .voice-qa__a{display:flex;align-items:flex-start;gap:16px;padding:24px}
.article-body .voice-qa__a>b{flex:0 0 36px;color:var(--color-primary);font:600 36px/1 var(--font-en)}
.article-body .voice-qa__a>div{flex:1;min-width:0}
.article-body .voice-qa__a p:first-child{margin-top:0}

/* 補足・関連事例・相談 */
.article-body .voice-note{padding:20px 24px;background:var(--color-light);font-size:14px;line-height:1.9}
.article-body .voice-note p{margin-top:8px;word-break:break-all}
.article-body .voice-note p:first-child{margin-top:0;font-weight:700}
.article-body .voice-related,.article-body .voice-contact{margin-top:48px;padding:32px 24px;text-align:center}
.article-body .voice-related{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:32px;align-items:center;padding:28px;border:1px solid var(--color-primary);background:#fff;text-align:left}
.article-body .voice-related__head h2{margin-bottom:12px}
.article-body .voice-related__head p{margin:0;font-size:14px;line-height:1.8}
.article-body a.voice-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);overflow:hidden;border:1px solid var(--color-line);background:#fff;color:var(--color-ink);text-decoration:none;transition:box-shadow .3s ease,transform .3s ease}
.article-body a.voice-card:hover{box-shadow:0 10px 28px rgba(7,90,158,.18);transform:translateY(-2px)}
.article-body .voice-card__img{display:block}
.article-body .voice-card__img img{display:block;width:100%;height:100%;margin:0;aspect-ratio:4/3;object-fit:cover}
.article-body .voice-card__body{display:flex;flex-direction:column;gap:8px;padding:16px 18px;line-height:1.6}
.article-body .voice-card__tag{align-self:flex-start;padding:2px 10px;background:var(--color-primary);color:#fff;font-size:12px;font-weight:700}
.article-body .voice-card__body b{font-size:16px}
.article-body .voice-card__meta{color:#68717a;font-size:12px}
.article-body .voice-card__more{margin-top:auto;color:var(--color-primary);font-size:13px;font-weight:700}
.article-body .voice-contact{background:var(--color-pale)}
.article-body .voice-related h2,.article-body .voice-contact h2{margin:0 0 16px;padding:0;border:0;background:none;font-size:22px}
.article-body .voice-btn{display:inline-block;margin-top:24px;padding:16px 40px;background:var(--color-primary);color:#fff;font-weight:700;text-decoration:none}
.article-body .voice-btn:hover{background:var(--color-primary-dark)}
.article-body .voice-btn--accent{background:var(--color-accent);color:var(--color-ink)}
.article-body .voice-btn--accent:hover{background:#e0b600}

@media(max-width:767px){
.article-body .voice-related{grid-template-columns:1fr;gap:20px;padding:20px 16px}
.article-body a.voice-card{grid-template-columns:1fr}
.article-body .voice-gallery{gap:4px}
.article-body .voice-intro{grid-template-columns:1fr;gap:20px}
.article-body .voice-spec div{grid-template-columns:1fr}
.article-body .voice-spec dt{padding:10px 16px;border-right:0;font-size:13px}
.article-body .voice-spec dd{padding:12px 16px 16px;font-size:15px}
.article-body .voice-qa h3{gap:12px;padding:20px 16px;font-size:17px}
.article-body .voice-qa h3 span,.article-body .voice-qa__a>b{flex-basis:28px;font-size:28px}
.article-body .voice-qa__a{gap:12px;padding:20px 16px}
.article-body .voice-related,.article-body .voice-contact{padding:24px 16px}
.article-body .voice-btn{display:block;padding:16px 12px}
}
