/* 答えの箱と本文の節（ブロック・表・ボタン）。トップと子ページ共通 */
.ans-wrap{padding-top:8px;padding-bottom:10px}
.ans-box{background:linear-gradient(145deg,#fff 0%,#fff1f8 100%);border:1px solid #f2c9df;border-radius:18px;box-shadow:0 8px 22px rgba(226,83,152,.08);padding:20px 22px 22px}
.ans-kicker{margin:0 0 4px;font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--coral,#ef6fa8)}
.ans-box h2,.ans-sec h2{margin:0 0 8px;line-height:1.45;color:var(--ink,#573653);font-size:clamp(18px,2.6vw,24px)}
.ans-lead{margin:0 0 14px;line-height:1.9;color:var(--ink,#573653)}
.ans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0 0 14px}
.ans-item{background:#fff;border:1px solid #f2d3e5;border-radius:14px;padding:12px 14px;min-width:0}
.ans-item span{display:block;font-size:11px;letter-spacing:.08em;font-weight:800;color:#a86fc7;margin-bottom:3px}
.ans-item strong{display:block;font-size:15px;line-height:1.55;color:var(--ink,#573653);overflow-wrap:anywhere}
.ans-item p{margin:4px 0 0;font-size:13px;line-height:1.7;color:var(--muted,#7b637a)}
.ans-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.ans-btns a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:8px 20px;border-radius:999px;font-size:13px;font-weight:700;line-height:1.4;text-align:center;border:1px solid #d9a6cf;background:#fff;color:var(--navy,#8b4a88);text-decoration:none}
.ans-btns a.primary{background:linear-gradient(90deg,#ed6ca9,#a86fc7);border-color:transparent;color:#fff;box-shadow:0 8px 20px rgba(224,98,158,.24)}
.ans-btns a:hover{background:var(--coral,#ef6fa8);border-color:var(--coral,#ef6fa8);color:#fff}
.ans-sec{padding-top:26px;padding-bottom:6px}
.ans-sec.wrap{padding-top:30px}
.ans-sec .ans-intro{margin:0 0 12px;line-height:1.9;color:var(--ink,#573653)}
.ans-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:0 0 14px}
.ans-card{background:#fff;border:1px solid #f2c9df;border-radius:16px;padding:15px 16px;box-shadow:0 6px 16px rgba(226,83,152,.05);min-width:0}
.ans-card h3{margin:0 0 6px;font-size:15px;line-height:1.5;color:var(--navy,#8b4a88)}
.ans-card p{margin:0;font-size:14px;line-height:1.85;color:var(--ink,#573653)}
.ans-tablewrap{overflow-x:auto;margin:0 0 14px;-webkit-overflow-scrolling:touch}
.ans-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
.ans-table th,.ans-table td{border:1px solid #f0d5e6;padding:9px 12px;text-align:left;line-height:1.65;vertical-align:top}
.ans-table th{background:#fdeaf4;color:var(--navy,#8b4a88);font-size:13px}
.ans-note{margin:0 0 14px;padding:11px 14px;border-left:4px solid #ed6ca9;background:#fff6fb;font-size:13.5px;line-height:1.8;color:var(--ink,#573653);border-radius:0 10px 10px 0}
.ans-steps{list-style:none;counter-reset:s;margin:0 0 14px;padding:0;display:grid;gap:10px}
.ans-steps li{counter-increment:s;position:relative;background:#fff;border:1px solid #f2c9df;border-radius:14px;padding:12px 14px 12px 52px;font-size:14px;line-height:1.8;color:var(--ink,#573653);min-width:0}
.ans-steps li:before{content:counter(s);position:absolute;left:14px;top:12px;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#ed6ca9,#a86fc7);color:#fff;font-weight:800;text-align:center;line-height:28px;font-size:14px}
.ans-steps li strong{display:block;color:var(--navy,#8b4a88);font-size:14.5px}
.ans-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:6px 0 18px}
.ans-related a{display:block;background:#fff;border:1px solid #f2c9df;border-radius:14px;padding:12px 14px;text-decoration:none;color:var(--ink,#573653);min-width:0}
.ans-related a strong{display:block;font-size:14px;color:var(--navy,#8b4a88);line-height:1.5}
.ans-related a span{display:block;font-size:12.5px;color:var(--muted,#7b637a);line-height:1.6;margin-top:2px}
.ans-related a:hover{border-color:var(--coral,#ef6fa8)}
.ans-sec a:not(.button){overflow-wrap:anywhere}
@media(max-width:640px){
 .ans-wrap.wrap,.ans-sec.wrap{padding-left:16px;padding-right:16px}
 .ans-box{padding:16px 15px 18px;border-radius:15px}
 .ans-grid,.ans-cards,.ans-related{grid-template-columns:1fr}
 .ans-btns a{width:100%}
 .ans-table th,.ans-table td{padding:8px 9px;font-size:13px}
}
