/* 制作事例（works）一覧・個別 */
.ld-works-page { font-family: "Noto Sans JP", sans-serif; color: #11243a; }

/* フィルタ */
.ld-works-filter { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 0 0 44px; }
.ld-works-filter a { padding: 9px 20px; border: 1.5px solid #dbe5f0; border-radius: 999px; text-decoration: none; color: #5b6b7d; font-size: .88rem; font-weight: 600; transition: .2s; }
.ld-works-filter a:hover, .ld-works-filter a.is-active { background: linear-gradient(135deg,#0a6bd6,#00c2d1); color: #fff; border-color: transparent; }

/* グリッド */
.ld-works-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.ld-wcard { background: #fff; border: 1px solid #e3ecf6; border-radius: 18px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .3s, box-shadow .3s; display: flex; flex-direction: column; }
.ld-wcard:hover { transform: translateY(-6px); box-shadow: 0 18px 50px rgba(11,31,58,.1); }
.ld-wcard__thumb { position: relative; padding: 16px 16px 2px; background: linear-gradient(135deg,#eaf1fa,#e2ebf7); }
.ld-wcard__cat { position: absolute; top: 12px; left: 12px; background: rgba(255,255,255,.92); color: #0a6bd6; font-size: .72rem; font-weight: 700; padding: 5px 12px; border-radius: 999px; }
.ld-wcard__body { padding: 22px; flex: 1; display: flex; flex-direction: column; }
.ld-wcard__client { font-size: .76rem; color: #5b6b7d; font-weight: 700; margin-bottom: 6px; }
.ld-wcard__title { font-size: 1.05rem; font-weight: 700; margin: 0 0 12px; line-height: 1.5; }
.ld-wcard__result { margin-top: auto; font-size: .82rem; color: #5b6b7d; border-top: 1px dashed #e3ecf6; padding-top: 12px; }
.ld-wcard__result b { color: #0a6bd6; }

/* 個別ページ */
.ld-wsingle { max-width: 920px; margin: 0 auto; }
.ld-wsingle__hero { aspect-ratio: 16/8; border-radius: 20px; overflow: hidden; background: linear-gradient(135deg,#0b1f3a,#0a6bd6); margin-bottom: 40px; }
.ld-wsingle__hero img { width: 100%; height: 100%; object-fit: cover; }
.ld-wmeta { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin: 0 0 40px; }
.ld-wmeta__item { background: #f3f7fc; border-radius: 14px; padding: 20px 22px; }
.ld-wmeta__item.is-full { grid-column: 1 / -1; }
.ld-wmeta__label { font-size: .78rem; font-weight: 700; color: #0a6bd6; margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }
.ld-wmeta__value { font-size: .98rem; line-height: 1.8; white-space: pre-wrap; }
.ld-wresult { background: linear-gradient(135deg,#0a6bd6,#00c2d1); color: #fff; border-radius: 16px; padding: 28px 30px; margin: 0 0 40px; }
.ld-wresult .ld-wmeta__label { color: rgba(255,255,255,.9); }
.ld-wresult .ld-wmeta__value { font-size: 1.15rem; font-weight: 700; }
.ld-wvoice { border-left: 4px solid #00c2d1; background: #f3f7fc; padding: 24px 28px; border-radius: 0 14px 14px 0; margin: 40px 0; font-size: 1rem; }
.ld-wvoice__who { display: block; margin-top: 12px; font-size: .82rem; color: #5b6b7d; font-weight: 700; }
.ld-wsingle__cta { text-align: center; margin: 56px 0 0; }
.ld-wsingle__cta a { display: inline-flex; align-items: center; gap: 10px; background: linear-gradient(135deg,#ff7a59,#ff5277); color: #fff; font-weight: 700; padding: 16px 38px; border-radius: 999px; text-decoration: none; box-shadow: 0 12px 28px rgba(255,82,119,.3); }

@media (max-width: 860px) {
	.ld-works-grid { grid-template-columns: 1fr; }
	.ld-wmeta { grid-template-columns: 1fr; }
}

/* ===== PR強化：課題→施策フロー / スクショ / ギャラリー ===== */
.ld-wsingle__hero--shot { display:block; position:relative; }
.ld-wsingle__shotbadge {
	position:absolute; right:14px; bottom:14px; z-index:2;
	background:rgba(11,31,58,.82); color:#fff; font-size:.8rem; font-weight:700;
	padding:8px 16px; border-radius:999px; display:inline-flex; align-items:center; gap:8px;
	backdrop-filter:blur(4px);
}
.ld-wsingle__hero--shot:hover .ld-wsingle__shotbadge { background:#0a6bd6; }

.ld-wflow { display:flex; gap:20px; align-items:flex-start; margin:0 0 22px; padding:26px 28px; background:#f3f7fc; border-radius:16px; }
.ld-wflow--solution { background:#eef7ff; }
.ld-wflow__step { flex:none; width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,#0a6bd6,#00c2d1); color:#fff; font-weight:800; font-size:1.05rem; display:flex; align-items:center; justify-content:center; }
.ld-wflow__title { font-size:1.1rem; font-weight:700; margin:4px 0 10px; display:flex; align-items:center; gap:8px; color:#0a6bd6; }
.ld-wflow__text { font-size:.98rem; line-height:1.9; margin:0; }

.ld-wgallery { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:36px 0; }
.ld-wgallery__item { margin:0; border-radius:14px; overflow:hidden; border:1px solid #e3ecf6; }
.ld-wgallery__item img { width:100%; height:100%; object-fit:cover; display:block; }

.ld-wsingle__visit { text-align:center; margin:34px 0 0; }
.ld-wsingle__visit a { font-weight:700; color:#0a6bd6; text-decoration:none; border-bottom:2px solid #cfe3f7; padding-bottom:2px; }
.ld-wsingle__visit a:hover { border-color:#0a6bd6; }

.ld-wsingle__ctatext { margin:0 0 20px; line-height:1.9; color:#33465a; }
.ld-wsingle__desc { margin-top:36px; }

@media (max-width:860px){
	.ld-wgallery { grid-template-columns:1fr; }
	.ld-wflow { flex-direction:column; gap:12px; padding:22px; }
}
