/* 施工事例一覧（共通）。既存 case.css の見た目を壊さず、一覧だけをコンパクトにする。 */
.compact-case-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:0;padding:0;list-style:none}
.compact-case-list>li{margin:0!important;padding:0!important;border:1px solid #d7e1e5;background:#fff;scroll-margin-top:20px}
.compact-case-list .case-anchor{display:block;height:100%;color:#333;text-decoration:none}
.compact-case-list .case-anchor:hover{opacity:.76}
.compact-case-list img{display:block;width:100%!important;height:155px;object-fit:contain;background:#fff}
.compact-case-list:not(.compact-case-list--category) .case-no-image{height:155px}
.case-update-date{margin:0;padding:9px 11px 6px;color:#666;font-size:13px;line-height:1.25;text-align:right}
.case-summary{display:flex;gap:8px;align-items:center;padding:10px 12px 13px;font-size:15px;font-weight:bold;line-height:1.45}
.case-category{display:inline-block;flex:none;padding:3px 7px;background:#3baaea;color:#fff;font-size:12px;font-weight:normal}
.case-location{min-width:0}
.case-details{padding:0 12px 14px;font-size:13px;line-height:1.6}
.latest-more-wrap{text-align:center;margin:38px 0 0}
#latestMore{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-width:260px;padding:15px 30px;border:0;border-radius:999px;background:linear-gradient(135deg,#49b9e9,#2585b3);box-shadow:0 8px 18px rgba(37,133,179,.24);color:#fff;font-size:15px;font-weight:bold;letter-spacing:.08em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
#latestMore:after{content:'›';font-size:23px;font-weight:normal;line-height:.7;transition:transform .2s ease}
#latestMore:hover{box-shadow:0 11px 22px rgba(37,133,179,.34);transform:translateY(-2px)}
#latestMore:hover:after{transform:translateX(4px)}
.compact-case-list--category{display:block;margin:34px 0 0!important}
.compact-case-list--category>li{display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:34px;row-gap:20px;margin:0 0 56px!important;padding:0!important;border:0;background:transparent}
.compact-case-list--category .case-details{padding:0;font-size:16px;line-height:1.8;color:#111}
.compact-case-list--category .case-entry-title{grid-column:1/-1;margin:0!important;padding:0 0 0 12px;border-left:4px solid #3baaea;color:#222;font-size:18px;line-height:1.4}
.compact-case-list--category .case-details p{margin:0!important}
.compact-case-list--category .case-location{margin:0 0 2px!important;font-size:17px;font-weight:normal}
.compact-case-list--category .case-description{margin-top:8px!important}
.compact-case-list--category .case-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-content:start}
.compact-case-list--category .case-image-zoom{display:block;height:220px;margin:0;padding:0;border:0;background:#fff;cursor:zoom-in}
.compact-case-list--category img,.compact-case-list--category .case-no-image{display:block;width:100%!important;height:220px!important;object-fit:contain;background:#fff}
.compact-case-list--category .case-image-description{grid-column:2;margin:0!important;padding:0;font-size:14px;line-height:1.8;color:#333}
.case-no-image{display:flex!important;align-items:center;justify-content:center;border:1px solid #e1e6e8;color:#9ba7ad;font-size:12px;font-weight:bold;letter-spacing:.12em}
.case-image-modal{position:fixed;z-index:2147483647;inset:0;display:flex;align-items:center;justify-content:center;padding:28px;background:rgba(0,0,0,.7)}
.case-image-modal[hidden]{display:none}.case-image-modal-inner{position:relative;max-width:94vw;max-height:90vh;padding:5px;background:#fff;box-shadow:0 15px 50px rgba(0,0,0,.4)}.case-image-modal img{display:block;min-width:min(680px,90vw)!important;max-width:calc(94vw - 10px)!important;max-height:calc(90vh - 10px)!important;width:auto!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;background:#fff}.case-image-modal-close{position:absolute;right:-16px;top:-16px;width:38px;height:38px;border:0;border-radius:50%;background:#222;color:#fff;font-size:27px;line-height:38px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35)}
@media screen and (max-width:767px){.compact-case-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.compact-case-list img,.compact-case-list:not(.compact-case-list--category) .case-no-image{height:110px}.case-update-date{padding:7px 8px 5px;font-size:11px}.case-summary{display:block;padding:8px;font-size:13px}.case-category{margin:0 0 5px;font-size:11px}}
@media screen and (max-width:767px){.compact-case-list--category{margin-top:24px!important}.compact-case-list--category>li{display:block;margin-bottom:38px!important}.compact-case-list--category .case-details{margin-bottom:16px;font-size:14px}.compact-case-list--category .case-entry-title{margin-bottom:18px!important;font-size:16px}.compact-case-list--category .case-location{font-size:15px}.compact-case-list--category .case-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compact-case-list--category .case-image-zoom,.compact-case-list--category img,.compact-case-list--category .case-no-image{height:145px!important;aspect-ratio:auto}.compact-case-list--category .case-image-description{margin-top:14px!important;padding-top:12px;font-size:13px}}
