/* v8: the 2023 Cultivate theme kept as is; three sections of three cards each.
   Service cards no longer open dialogs; only 実績を見る opens one. Line breaks are explicit. */
.main .sec-title { margin-bottom: 20px; }
.main .sec-lead { margin: 0 0 40px; font-size: 16px; line-height: 1.8; }

/* Cards in リサーチ and 自社事業 share one layout */
.main #service .item-wrap .item, .main #business .item-wrap .item { cursor: default; padding: 30px 20px; }
.main #company dd { white-space: nowrap; }
.main #service .item-wrap .item:hover, .main #business .item-wrap .item:hover { box-shadow: 0px 2px 10px #0000004d; }
.main .item .thumb { position: relative; display: block; width: 100%; aspect-ratio: 270 / 187; margin: 0 auto; overflow: hidden; }
.main .item .thumb img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: contain; }
.main .item .thumb.slide { background: #F5F5F5; }
.main .item .thumb.slide img { inset: 12px; width: calc(100% - 24px); height: calc(100% - 24px); }
.main #business .item-wrap .item .thumb.logo { padding: 0; }
.main .item .thumb.logo img { inset: 30% 15%; width: 70%; height: 40%; }
.main .item .thumb.blank { background: #F5F5F5; }
.main #business .item-wrap .item h3 { color: #35487A; font-weight: 600; font-size: 20px; text-align: center; margin: 20px 0; }
.main #business .item-wrap .item p { text-align: center; }
.main #business .item-wrap .item .note { font-size: 14px; }

/* Keep the explicit line breaks at every width */
@media (max-width: 1024px) { .main #service .item-wrap .item p br { display: inline; } }

/* 選ばれる理由 */
.main #why .item-wrap .item .detail { font-size: 16px; text-align: center; }
.main #why .item .more { display: block; margin: 15px auto 0; background: none; border: 0; cursor: pointer; }

/* 代表 */
.main #management .president-wrap .txt-wrap .media-wrap .media { line-height: 1.8; }

/* 実績の小窓 */
.modal-wide { max-width: 860px; }
.modal .themes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 40px; }
@media (max-width: 765px) { .modal .themes { grid-template-columns: 1fr; } }
