/* くすナビ B2B: 左サイドバーの診断 (kusunavi-consult-side.js)。MECHA の調子 (白・細線・黒・明朝の見出し) に合わせる。 */
.kc-slot { display: block !important; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.kc { padding: 4px 2px 24px; color: var(--color-text, #1d1d1f); }
.kc .consult-heading { margin: 0; font-family: var(--font-family-display, inherit); font-size: 40px; line-height: 1.3; letter-spacing: .01em; font-weight: 400; }
.kc .consult-form { margin-top: 28px; }
.kc .consult-input { display: block; width: 100%; box-sizing: border-box; resize: vertical; min-height: 120px;
  padding: 16px 18px; border: 1px solid #c9c9c9; border-radius: 0; background: #fff;
  font: inherit; font-size: 17px; line-height: 1.7; color: inherit; }
.kc .consult-input::placeholder { color: #8a8a8a; }
.kc .consult-input:focus { outline: none; border-color: #1d1d1f; }
.kc .consult-actions { margin-top: 14px; display: grid; gap: 10px; }
.kc-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; box-sizing: border-box;
  padding: 16px 18px; border: 1px solid #1d1d1f; border-radius: 0; background: #1d1d1f; color: #fff;
  font: inherit; font-size: 15px; letter-spacing: .04em; text-decoration: none; cursor: pointer; transition: background .2s, color .2s; }
.kc-btn:hover { background: #fff; color: #1d1d1f; }
.kc .consult-note { margin: 0; font-size: 12px; line-height: 1.7; color: #5f5f5f; }

.kc .consult-results { margin-top: 24px; border-top: 1px solid #dcdcdc; padding-top: 16px; }
.kc .consult-empty, .kc .consult-summary { margin: 0; font-size: 13px; line-height: 1.8; }
.kc .consult-group-title { margin: 20px 0 8px; font-size: 13px; font-weight: 600; }
.kc .consult-cards { list-style: none; margin: 0; padding: 0; border-top: 1px solid #dcdcdc; }
.kc .consult-card { padding: 14px 0; border-bottom: 1px solid #dcdcdc; }
.kc .consult-card-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 8px; }
.kc .consult-card-name { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.5; }
.kc .consult-card-name a { color: inherit; }
.kc .consult-badge { font-size: 12px; line-height: 1; padding: 4px 6px; border: 1px solid #c9c9c9; }
.kc .consult-badge.kusunavi { border-color: #1d1d1f; }
.kc .consult-card-vendor { font-size: 12px; color: #5f5f5f; }
.kc .consult-card-summary { margin: 8px 0 0; font-size: 13px; line-height: 1.75; }
.kc .consult-card-meta { margin: 8px 0 0; display: grid; gap: 2px; font-size: 12px; line-height: 1.6; }
.kc .consult-card-meta div { display: grid; grid-template-columns: 5em 1fr; }
.kc .consult-card-meta dt { color: #5f5f5f; } .kc .consult-card-meta dd { margin: 0; }
.kc .consult-card-note { margin: 8px 0 0; font-size: 12px; line-height: 1.7; color: #3f3f3f; }
.kc .consult-cta { margin-top: 20px; display: grid; gap: 10px; }
.kc .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* スマホ: 左の欄が出ないので、ヒーローの下に同じ診断を置く (PC では隠す) */
.kc-mobile-slot { display: none; }
@media (max-width: 991px) {
  .kc-mobile-slot { display: block; margin: 40px 0 8px; }
  .kc-mobile-slot .kc .consult-heading { font-size: 30px; }
  .kc-mobile-slot .kc .consult-input { min-height: 104px; font-size: 16px; }   /* 16px 未満だと iPhone が入力時に拡大する */
}

/* 結果がまだないときは、結果欄の線と余白を出さない (下の記事の一覧と線が二重にならないように) */
.kc .consult-results:empty { margin: 0; padding: 0; border: 0; }
.kc:has(.consult-results:empty) { padding-bottom: 0; }

/* The consultation is persistent content, not the reference's collapsing video. */
@media(min-width:992px){
 .sidebar-wrapper .navigation{height:100%;min-height:0}
 .sidebar-wrapper .kc-slot{height:auto!important;min-height:0;flex:1 1 auto;bottom:auto;opacity:1!important;visibility:visible!important;transform:none!important;overflow-y:auto}
 .sidebar-wrapper .logo_nav,.sidebar-wrapper .navi-list{flex-shrink:0}
}
