/* 専用ページ。既存の配色・明朝見出し・装飾素材を継承する。 */
.before-after-page .page-hero{padding:40px 0 50px}
.before-after-page .page-hero>.eyebrow{background:#cf7b8f;border:0;border-radius:8px;color:#fff;padding:5px 16px}
.before-after-page .page-hero h1{margin-top:20px}
.before-after-page .page-hero .lead{max-width:1000px;margin-top:24px}
.before-after-page .page-hero:after{opacity:.3;width:200px;height:250px}
.ba-intro{display:block;padding-block:12px 64px;position:relative}
.ba-intro>div{max-width:720px}
.ba-intro h2,.ba-reading h2,.ba-questions h2{font-size:clamp(26px,3vw,36px);line-height:1.65;margin:20px 0}
.ba-intro p,.ba-reading p,.ba-questions p{font-size:16px;line-height:1.9}
.ba-intro>.small,.ba-intro .small{margin-top:8px}
.before-after-page .ba-intro .eyebrow,.before-after-page .voice-cases>.section-heading .eyebrow{border:0;padding:0;display:flex;align-items:center;gap:16px}
.before-after-page .ba-intro .eyebrow:before,.before-after-page .voice-cases>.section-heading .eyebrow:before{content:'';display:block;width:30px;height:2px;background:var(--accent)}
.ba-case-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px}
.ba-case-nav a{position:relative;isolation:isolate;display:grid;gap:12px;padding:28px 36px;background:linear-gradient(120deg,#fffdfc,#fff0f3);border:1px solid #eccbd4;border-radius:20px;color:var(--ink);font-size:16px;text-decoration:none}
.ba-case-nav a:after{content:'';position:absolute;z-index:-1;right:16px;bottom:8px;width:100px;height:110px;background:url('../assets/leaf-sprig.svg') center/contain no-repeat;opacity:.25;pointer-events:none}
.ba-case-nav a:hover,.ba-case-nav a:focus-visible{border-color:#c73556;background:#fff0f4}
.ba-case-nav strong{font-size:clamp(24px,2.4vw,30px);font-family:var(--serif);font-weight:500;line-height:1.6}
.ba-case-nav a>span:first-child{display:flex;align-items:center;gap:10px;color:#b73356;font-weight:700;font-size:18px}
.ba-icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}
.before-after-page .voice-cases{padding-top:48px}
.before-after-page .voice-cases>.section-heading{margin-bottom:36px}
.before-after-page .voice-case{grid-template-columns:1fr;gap:28px;scroll-margin-top:120px;padding:28px;border-radius:26px;background:linear-gradient(135deg,#fffdfc,#fff8f9)}
.before-after-page .voice-case-profile{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px 24px;padding:0 0 24px;border-bottom:1px solid #efc5ce}
.before-after-page .voice-case-profile .eyebrow{grid-column:1/-1;width:fit-content;display:flex;gap:8px;align-items:center;border:0;border-radius:30px;background:#fff0f4;margin:0;padding:5px 14px}
.before-after-page .voice-case h3{margin:0;font-size:clamp(26px,2.8vw,36px);font-weight:500}
.before-after-page .voice-case-date{display:flex;align-items:center;gap:10px;background:#fce8ed;border-radius:30px;padding:8px 18px;font-weight:700;color:#b73356;margin:0}
.before-after-page .voice-gallery-guide{max-width:none;margin:0;grid-column:1/-1}
.ba-mobile-guide{display:none}
.before-after-page .voice-case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;overflow:visible}
.before-after-page .voice-case-photo{max-width:none;margin:0}
.before-after-page .voice-case-photo figcaption{background:#f9e9ed;border-radius:14px;padding:10px 6px;text-align:center;font-size:16px;font-weight:500;margin-bottom:10px;line-height:1.8}
.before-after-page .voice-case-photo figcaption strong{color:#b73356;font-size:20px}
.before-after-page .voice-case-photo img{border-radius:8px}
.ba-reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ba-reading-grid article{background:#fff;border:1px solid #efd6db;border-radius:20px;padding:28px}
.ba-number{font-size:28px;color:#bd2c50;font-family:var(--serif)}
.ba-reading h3,.ba-next h3{font-size:22px;line-height:1.6;margin:16px 0}
.ba-reading-grid p{margin:0}
.ba-questions .faq-list{max-width:900px;margin-inline:auto}
.ba-next{background:#fff0f4;border-radius:24px;padding:32px;margin-top:40px}
@media(max-width:1000px) and (min-width:801px){.before-after-page .voice-case-gallery{gap:14px}.before-after-page .voice-case{padding:22px}}
@media(max-width:800px){
 .before-after-page .page-hero{padding:28px 0 36px}
 .before-after-page .page-hero:after{width:110px;height:140px;opacity:.2}
 .ba-intro{padding-block:8px 36px}
 .ba-case-nav{grid-template-columns:1fr;gap:16px;margin-top:28px}
 .ba-case-nav a{padding:22px 24px}
 .before-after-page .voice-cases{padding-top:28px}
 .before-after-page .voice-case{padding:20px;gap:20px}
 .before-after-page .voice-case-profile{grid-template-columns:1fr;gap:12px;padding-bottom:20px}
 .before-after-page .voice-case-date{width:fit-content}
 .ba-mobile-guide{display:block}
 .before-after-page .voice-case-gallery{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px}
 .before-after-page .voice-case-photo{flex:0 0 94%;max-width:94%}
 .ba-reading-grid{grid-template-columns:1fr;gap:16px}
 .ba-reading-grid article,.ba-next{padding:24px}
 .ba-next .page-actions>.text-link{width:100%;justify-content:space-between;font-size:16px}
}

/* 事例ごとの感想・スタッフメッセージ。確認前の原稿であることを表示する。 */
.ba-case-messages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border-top:1px solid #efc5ce;padding-top:28px}
.ba-case-message{min-width:0;padding:24px;background:#fffdfc;border:1px solid #efd6db;border-radius:18px}
.ba-staff-message{background:#fff0f4}
.before-after-page .ba-case-message h4{font-family:var(--serif);font-size:22px;line-height:1.6;margin:0 0 12px}
.ba-case-message p{font-size:16px;line-height:1.9;margin:0}
.ba-case-message .ba-draft-label{color:#a72948;font-weight:600;font-size:16px;margin-bottom:12px}
@media(max-width:800px){.ba-case-messages{grid-template-columns:1fr;gap:16px;padding-top:20px}.ba-case-message{padding:20px}.before-after-page .ba-case-message h4{font-size:20px}}

.ba-staff-link{color:inherit;text-decoration:underline;text-decoration-color:#ee9cae;text-underline-offset:6px;overflow-wrap:anywhere}.ba-staff-link:hover{color:#a72948}.ba-staff-link:focus-visible{outline:2px solid #c4385a;outline-offset:5px;border-radius:2px}

.ba-case-message .ba-staff-credit{margin-top:20px;text-align:right}.ba-staff-credit a{font-size:16px;line-height:1.9}

.ba-case-message > p + p{margin-top:16px}
