/* Preserve the reference theme; provide keyboard access and static-site behavior. */
html { scroll-behavior: smooth; }
img { max-width: 100%; height: auto; }
.jin-ac-box01-inner[hidden] { display: none !important; }
.jin-ac-box01-title:focus-visible, a:focus-visible { outline: 3px solid #0d9900; outline-offset: 5px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.joe-work-gallery { margin: 24px 0 40px; }
.joe-gallery-note { font-size: 14px !important; color: #555; text-align: center; }
.joe-work-case { margin: 0 0 32px; }
.cps-post-main .joe-work-case h3, .joe-work-case h3 { font-size: 18px; line-height: 1.6; letter-spacing: .03em; margin: 0 0 12px; padding: 0; border: none; background: none; }
.joe-work-case h3::before, .joe-work-case h3::after { content: none !important; }
.joe-work-pair { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
.joe-work-pair figure { margin: 0; min-width: 0; }
.joe-work-label { padding: 7px 10px; text-align: center; font-size: 16px; font-weight: 700; line-height: 1.5; color: #fff; background: #555; }
.joe-work-label.joe-work-after { background: #0d9900; }
.joe-work-pair a { display: block; }
.joe-work-pair img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #f4f4f4; margin: 0; }
@media (max-width: 480px) { .joe-work-pair { gap: 8px; } .joe-work-case h3 { font-size: 16px; } .joe-work-case { margin-bottom: 24px; } }
.kikori-legacy-comparison { position: relative; margin: 24px 0; line-height: 0; }
.kikori-legacy-comparison img { display: block; width: 100%; height: auto; margin: 0 !important; }
.kikori-legacy-label { position: absolute; bottom: 0; width: 41.7%; height: 17%; display: flex; justify-content: center; align-items: center; color: #fff; font-weight: 700; font-size: clamp(14px, 2.4vw, 22px); line-height: 1.5; }
.kikori-legacy-before { left: 0; background: #555; }
.kikori-legacy-after { right: 0; background: #0d9900; }
h1.cps-post-title.entry-title { font-size: clamp(21px, 3.8vw, 30px); line-height: 1.6; letter-spacing: .02em; text-align: center; color: #126b16; margin: 24px 0; }
h1.cps-post-title.entry-title span { font-size: .8em; color: #333; }
.kikori-area-list { display: flex; flex-wrap: wrap; gap: 8px 20px; list-style: none !important; margin: 20px 0 !important; padding: 0 !important; }
.kikori-area-list li { margin: 0 !important; padding: 0 !important; font-weight: 700; font-size: 16px; }
.kikori-area-list li::before, .kikori-area-list li::after { content: none !important; }
