.category-main{background:#f4f6f8}
.category-main .uc-page-title{background:#fff}
.category-hero{display:grid;min-height:700px;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:64px;background:var(--color-primary);color:#fff}
.category-hero__copy{display:flex;flex-direction:column;gap:24px}
.category-hero__copy>b{padding:8px 0;border-bottom:1px solid #fff;font-size:24px}
.category-hero__copy h2{font-size:48px;line-height:1.3;font-feature-settings:"palt"}
.category-hero__copy p{max-width:760px;font-size:16px;line-height:2;letter-spacing:.04em;opacity:.9}
.category-hero__image{overflow:hidden;aspect-ratio:1.5/1}
.category-hero__image img{width:100%;height:100%;object-fit:cover}
.category-products{padding:120px 64px}
.category-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px}
.category-card{display:flex;min-width:0;align-items:flex-start;flex-direction:column;gap:12px;transition:transform .4s var(--ease-premium)}
.category-card:hover,.category-card:focus-visible{transform:translateY(-5px)}
.category-card>img{width:100%;aspect-ratio:424/240;border:1px solid #ddd;border-radius:6px;object-fit:cover}
.category-card>span{padding:4px 12px;border:1px solid #ddd;border-radius:4px;background:#f7f8fa;color:#666;font-size:12px;font-weight:700}
.category-card h3{width:100%;overflow:hidden;color:#2f3338;font-size:16px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.category-card p{color:#666;font-size:13px;line-height:1.5}
.category-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:96px}
.category-links a{display:flex;flex-direction:column;gap:8px;padding:24px;background:#fff;transition:background .3s ease,transform .3s var(--ease-premium)}
.category-links a:hover,.category-links a:focus-visible{background:#eaf4fa;transform:translateY(-3px)}
.category-links b{font-size:16px}
.category-links small{color:#68717a;font-size:12px}
@media(max-width:1599px){.category-hero{min-height:600px}.category-hero__copy h2{font-size:40px}.category-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1199px){.category-hero{min-height:520px;padding:48px 40px}.category-hero__copy h2{font-size:34px}.category-products{padding:80px 40px}.category-links{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:72px}}
@media(max-width:767px){.category-hero{display:flex;min-height:0;flex-direction:column-reverse;gap:32px;padding:40px 20px}.category-hero__image{width:100%}.category-hero__copy{gap:18px}.category-hero__copy>b{font-size:16px}.category-hero__copy h2{font-size:28px}.category-hero__copy p{font-size:14px}.category-products{padding:56px 20px}.category-product-grid{grid-template-columns:1fr;gap:36px}.category-card h3{white-space:normal}.category-links{grid-template-columns:1fr;gap:12px;margin-top:56px}.category-links a{padding:20px}}

/* Card design shared with Works Gallery */
.category-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.category-card{display:flex;min-width:0;align-items:stretch;gap:0;overflow:hidden;border:1px solid #d9dde2;border-radius:0;background:#fff;box-shadow:0 5px 14px rgba(40,62,78,.08);transition:transform .25s ease,box-shadow .25s ease}
.category-card:hover,.category-card:focus-visible{box-shadow:0 14px 34px rgba(7,90,158,.13);transform:translateY(-4px)}
.category-card>img{width:100%;height:auto;aspect-ratio:1.7;border:0;border-radius:0;object-fit:cover}
.category-card>span{align-self:flex-start;margin:18px 18px 0;padding:0;border:0;background:transparent;color:#2583be;font-size:11px;font-weight:400}
.category-card h3{width:auto;margin:7px 18px 10px;overflow:visible;color:#2f3338;font-size:19px;line-height:1.45;text-overflow:clip;white-space:normal}
.category-card p{margin:0 18px;color:#68717a;font-size:13px;line-height:1.7}
.category-card::after{display:flex;justify-content:space-between;margin:auto 18px 0;padding:13px 0 18px;border-top:1px solid #edf0f2;color:#2583be;font-size:12px;font-weight:700;content:"詳細を見る　›"}
@media(max-width:1100px){.category-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.category-product-grid{grid-template-columns:1fr;gap:20px}.category-card h3{font-size:19px}}
.category-card>img{height:auto}
