.p-case-archive{padding-block:64px 80px;background:var(--color-brand-light)}.p-case-archive__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-bottom:56px}.p-case-archive__card{display:flex;flex-direction:column;background:#fff;overflow:hidden;border:1px solid var(--color-border);color:inherit;transition:transform .25s ease,box-shadow .25s ease}.p-case-archive__card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1)}.p-case-archive__img{width:100%;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,var(--color-brand-light),var(--color-bg-section))}.p-case-archive__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.p-case-archive__card:hover .p-case-archive__img img{transform:scale(1.04)}.p-case-archive__img--placeholder{display:flex;align-items:center;justify-content:center;font-family:var(--font-en);font-size:.75rem;font-weight:var(--fw-bold);letter-spacing:.12em;color:var(--color-brand)}.p-case-archive__body{padding:16px 18px 12px;display:flex;flex-direction:column;gap:8px;flex:1}.p-case-archive__tags{display:flex;flex-wrap:wrap;gap:4px}.p-case-archive__tag{display:inline-block;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--color-brand);background:var(--color-brand-light);padding:2px var(--sp-2)}.p-case-archive__title{font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:1.5;color:var(--color-text);margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;word-break:break-word}.p-case-archive__text{font-size:.875rem;line-height:1.6;color:var(--color-text-sub);margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;word-break:break-word}.p-case-archive__tag{max-width:100%}.p-case-archive__meta{font-size:.875rem;color:var(--color-brand);font-weight:var(--fw-bold);margin:0}.p-case-archive__more{align-self:flex-end;margin:0 18px 18px;padding:0;font-family:var(--font-en);font-size:1.15rem;font-weight:var(--fw-black);line-height:1;color:var(--color-brand);background:0 0;border-radius:0;transition:transform .2s ease}.p-case-archive__card:hover .p-case-archive__more{transform:translateX(3px);color:var(--color-brand)}.p-case-archive__pagination{display:flex;justify-content:center}.p-case-archive__pagination .nav-links{display:flex;align-items:center;gap:8px}.p-case-archive__pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--sp-3);font-family:var(--font-en);font-size:var(--fs-md);font-weight:var(--fw-bold);letter-spacing:.04em;color:var(--color-text);border:1px solid var(--color-border);transition:background .2s ease,color .2s ease,border-color .2s ease}.p-case-archive__pagination .page-numbers:hover,.p-case-archive__pagination .page-numbers.current{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}.p-case-archive__pagination .page-numbers.dots{border:0}.p-case-archive__empty{text-align:center;padding:80px 0;color:var(--color-text-mute);font-size:var(--fs-md)}@media (max-width:1100px){.p-case-archive__grid{grid-template-columns:repeat(3,1fr);gap:20px}}@media (max-width:768px){.p-case-archive{padding-block:40px 56px}.p-case-archive__grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (max-width:480px){.p-case-archive__grid{grid-template-columns:1fr}}.p-case-single{padding-block:64px 80px}.p-case-single__inner{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:40px}.p-case-single__head{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:flex-start}.p-case-single__head--no-img{grid-template-columns:1fr}.p-case-single__img-main{width:220px;overflow:hidden;background:linear-gradient(135deg,var(--color-brand-light),var(--color-bg-section))}.p-case-single__img-main img{width:100%;height:auto;display:block;object-fit:cover}.p-case-single__info{display:flex;flex-direction:column;gap:12px}.p-case-single__title{font-size:clamp(20px,2.5vw,26px);font-weight:var(--fw-bold);line-height:1.5;color:var(--color-text);margin:0;letter-spacing:.04em}.p-case-single__meta{font-size:var(--fs-md);color:var(--color-brand);font-weight:var(--fw-bold)}.p-case-single__table{width:100%;border-collapse:collapse;font-size:var(--fs-md);margin-top:4px}.p-case-single__table th,.p-case-single__table td{padding:10px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border);line-height:1.6}.p-case-single__table th{display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--color-text-sub);font-weight:var(--fw-medium);min-width:100px}.p-case-single__table-icon{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--color-brand);flex-shrink:0}.p-case-single__table td{color:var(--color-text)}.p-case-single__img-sub{overflow:hidden}.p-case-single__img-sub img{width:100%;height:auto;display:block;max-height:360px;object-fit:cover;object-position:center top}.p-case-single__voice{background:var(--color-brand-soft);border:1px solid rgba(71,73,155,.2);padding:28px 32px;display:flex;flex-direction:column;gap:16px}.p-case-single__voice-head{display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid rgba(71,73,155,.15)}.p-case-single__voice-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--color-brand);line-height:1;flex-shrink:0}.p-case-single__voice-icon svg{width:100%;height:100%;display:block}.p-case-single__voice-label{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--color-brand-dark);letter-spacing:.04em}.p-case-single__voice-body{display:flex;flex-direction:column;gap:20px}.p-case-single__voice-block{display:flex;flex-direction:column;gap:6px}.p-case-single__voice-sublabel{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--color-brand);margin:0}.p-case-single__voice-text{font-size:var(--fs-base);line-height:1.9;color:var(--color-text);margin:0}.p-case-single__voice-note{font-size:.75rem;color:var(--color-text-mute);text-align:right;margin:0}.p-case-single__progress{display:flex;flex-direction:column;gap:var(--sp-3)}.p-case-single__progress-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--color-text);line-height:var(--lh-snug);margin:0;padding-left:var(--sp-3);border-left:4px solid var(--color-brand);letter-spacing:.04em}.p-case-single__progress-text{font-size:var(--fs-base);line-height:1.9;color:var(--color-text);margin:0}.p-case-single__nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--color-border)}.p-case-single__nav-prev,.p-case-single__nav-next{flex:1}.p-case-single__nav-next{text-align:right}.p-case-single__nav-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border:1px solid var(--color-border);font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--color-text);transition:background .25s ease,border-color .25s ease,color .25s ease}.p-case-single__nav-btn:hover{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.p-case-single__nav-btn--disabled{opacity:.35;pointer-events:none;cursor:default}.p-case-single__nav-arrow{font-family:var(--font-en);font-size:16px;line-height:1}.p-case-single__nav-label{font-family:var(--font-en);letter-spacing:.05em}.p-case-single__nav-index{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--color-brand);white-space:nowrap;padding:10px 16px;border:1px solid transparent;transition:background .2s ease,border-color .2s ease}.p-case-single__nav-index:hover{background:var(--color-brand-light);border-color:var(--color-brand)}@media (max-width:768px){.p-case-single{padding-block:40px 56px}.p-case-single__inner{gap:28px}.p-case-single__head{grid-template-columns:140px 1fr;gap:20px}.p-case-single__img-main{width:140px}.p-case-single__title{font-size:18px}.p-case-single__voice{padding:20px}.p-case-single__nav-btn{padding:10px 14px;font-size:var(--fs-sm)}}@media (max-width:480px){.p-case-single__head{grid-template-columns:1fr}.p-case-single__img-main{width:100%;max-width:320px;margin:0 auto}.p-case-single__nav{flex-wrap:wrap;justify-content:center;gap:12px}.p-case-single__nav-prev,.p-case-single__nav-next{flex:none}}