/* ご依頼内容別ページ用（2026-11-09 追加）。ショートコードを使うページだけで読み込む */
.hs-lead { font-size: 1.05em; }
.hs-points { margin: 0 10px 20px; padding: 14px 16px; background: #f5f7fa; border-left: 4px solid #1f4e8c; }
.hs-points p { margin: 0 0 6px !important; }
.hs-points p:last-child { margin-bottom: 0 !important; }

.hs-cards { display: flex; flex-wrap: wrap; margin: 0 4px 20px; }
.hs-card { width: calc(33.333% - 12px); margin: 0 6px 14px; border: 1px solid #ddd; background: #fff; box-sizing: border-box; }
.hs-card a { display: block; color: inherit; text-decoration: none; }
.hs-card a:hover { opacity: .85; }
.hs-card-img { display: block; position: relative; width: 100%; padding-top: 70%; overflow: hidden; background: #eee; }
.hs-card-img img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.hs-card-title { display: block; padding: 8px; font-size: .88em; line-height: 1.4; }
@media (max-width: 600px) { .hs-card { width: calc(50% - 12px); } }

.hs-flow { counter-reset: hsflow; margin: 0 10px 20px; }
.hs-step { position: relative; padding: 10px 12px 10px 52px; margin-bottom: 8px; background: #f7f7f7; border-radius: 4px; }
.hs-step:before { counter-increment: hsflow; content: counter(hsflow); position: absolute; left: 12px; top: 10px; width: 28px; height: 28px; line-height: 28px; text-align: center; border-radius: 50%; background: #1f4e8c; color: #fff; font-weight: bold; }
.hs-step strong { display: block; margin-bottom: 2px; }
#box_main .hs-step p { margin: 0; }

.hs-voice { margin: 0 10px 16px; padding: 12px 16px; background: #fffbea; border: 1px solid #f0e2a8; border-radius: 4px; }
#box_main .hs-voice p { margin: 0 0 6px; }
#box_main .hs-voice p.hs-cite { margin: 0; font-size: .85em; text-align: right; }

.hs-cta { margin: 24px 10px; padding: 16px; text-align: center; border: 2px solid #1f4e8c; border-radius: 6px; }
#box_main .hs-cta p { margin: 0 0 8px; }
.hs-cta .hs-btn { display: inline-block; padding: 10px 28px; background: #e8590c; color: #fff !important; font-weight: bold; border-radius: 4px; text-decoration: none; }
.hs-cta .hs-btn:hover { opacity: .85; }

.hs-menu { display: flex; flex-wrap: wrap; margin: 0 4px 20px; }
.hs-menu a { width: calc(50% - 12px); margin: 0 6px 10px; padding: 12px; box-sizing: border-box; border: 1px solid #c9d6e8; background: #f5f8fc; border-radius: 4px; text-decoration: none; color: #1f4e8c; }
.hs-menu a strong { display: block; margin-bottom: 4px; }
.hs-menu a span { display: block; font-size: .85em; color: #444; line-height: 1.4; }
@media (max-width: 600px) { .hs-menu a { width: calc(100% - 12px); } }
