/* LINE plan comparison; original scope and pricing notes are preserved. */
.line-plan-visual { margin: 0 0 28px; min-width: 0; }
.line-plan-visual-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-color: #75bd9d #142230; scrollbar-width: thin; }
.line-plan-visual img { display: block; width: 100%; max-width: none; height: auto; }
.line-plan-visual figcaption { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: flex-end; margin-top: 12px; color: #c2cad4; font-size: 14px; line-height: 1.8; }
.line-plan-visual figcaption a { color: #eef2f6; text-underline-offset: 4px; }
.line-plan-scroll-hint { display: none; }
.line-plan-details { margin: 0 0 28px; border-block: 1px solid #344758; background: #101e2be6; }
.line-plan-details > summary { padding: 22px 24px; color: #eef2f6; font-size: 16px; font-weight: 700; line-height: 1.8; cursor: pointer; }
.line-plan-details > summary:hover { color: #93d6b5; }
.line-plan-details[open] > summary { border-bottom: 1px solid #344758; }
.line-plan-details .detail-plan-grid { margin: 0; }
.line-plan-visual-scroll:focus-visible,
.line-plan-details > summary:focus-visible,
.line-plan-visual a:focus-visible { outline: 2px solid #93d6b5; outline-offset: 4px; }
@media (max-width: 1000px) {
  .line-plan-visual img { width: 1080px; }
  .line-plan-scroll-hint { display: inline; }
  .line-plan-visual figcaption { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .line-plan-details > summary { padding: 18px 16px; font-size: 15px; }
}