/* 汎用版 2026-11-07：既存の構成とブランドを維持した視覚調整 */
:root { --shadow: 0 6px 22px rgba(16,34,75,.045); }
body { background: #edf1f6; }
.site-header { background: rgba(255,255,255,.97); }
.logo { letter-spacing: .14em; }
.fv-name { padding-right: 28px; }
.fv-points li { box-shadow: 0 6px 14px rgba(11,26,63,.18); }
.card { border-radius: 18px; }
.card-title { text-wrap: pretty; }
.card--icon { grid-template-columns: 42px minmax(0,1fr); gap: 14px; }
.icon-badge { width: 42px; height: 42px; border-radius: 12px; background: #10224B; box-shadow: none; }
.icon-badge--navy { background: #10224B; box-shadow: none; }
.icon-badge .icon { width: 23px; height: 23px; }
.about-box { border-width: 1px; box-shadow: 4px 4px 0 #dce8f6; border-radius: 18px; }
.about-proof { border-top: 1px dashed #BFD0E5; }
.reasons .num { display: none; }
.faq-q button::before { background: #285BA7; }
.faq-a p { line-height: 1.85; }
.session-no { background: #285BA7; }
.tool-no { background: #10224B; }
.btn-line, .sticky-cta .btn-line { box-shadow: none; }
.btn-line { min-height: 58px; }
.small-note, .case-note, .chart-caption, .chart-note { font-size: max(12px, .75rem); }
@media (hover:hover) { .card--hover:hover { transform: none; box-shadow: var(--shadow); } }
@media (prefers-reduced-motion:reduce) {
 *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
