/* Public-case brand identifiers; original illustrations keep their aspect ratio. */
.case-illustration .yg-case-brand {
  position:absolute;
  top:12px;
  right:12px;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:68px;
  max-width:38%;
  padding:7px 10px 8px;
  border:1px solid rgb(35 34 28 / 13%);
  border-radius:8px;
  background:rgb(255 255 255 / 96%);
  box-shadow:0 2px 8px rgb(35 34 28 / 4%);
  color:#25241e;
  pointer-events:none;
}
.case-illustration .yg-case-brand-kind {
  font-size:9px;
  line-height:1.3;
  font-weight:400;
  letter-spacing:.08em;
  color:#6a685f;
  white-space:nowrap;
}
.case-illustration img.yg-case-brand-logo {
  display:block;
  width:auto;
  height:24px;
  max-width:min(100px,100%);
  max-height:24px;
  min-height:0;
  aspect-ratio:auto;
  object-fit:contain;
  margin:0;
}
.case-illustration .yg-case-brand-name {
  font-size:12px;
  font-weight:600;
  line-height:1.25;
  text-align:center;
  overflow-wrap:anywhere;
}
.detail-illustration .yg-case-brand {
  top:16px;
  right:16px;
}
.detail-illustration img.yg-case-brand-logo {
  height:30px;
  max-height:30px;
  max-width:min(128px,100%);
}

.yg-brand-strip {
  padding-top:44px;
  padding-bottom:40px;
  border-top:1px solid #d2cfc3;
  border-bottom:1px solid #d2cfc3;
}
.yg-brand-strip h2 {
  font-size:clamp(22px,2.4vw,32px);
  font-weight:500;
  margin:0 0 24px;
}
.yg-brand-strip-inner { margin-inline:4.3%; }
.yg-brand-list {
  display:flex;
  align-items:stretch;
  gap:0;
  padding:6px 0 14px;
  margin:0;
  list-style:none;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:#99958b #ebe8df;
}
.yg-brand-list:focus-visible {
  outline:2px solid #c2552a;
  outline-offset:5px;
}
.yg-brand-item {
  flex:0 0 112px;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:6px 14px;
  border-right:1px solid #dfdbd0;
  text-align:center;
}
.yg-brand-item:last-child { border-right:0; }
.yg-brand-item img.yg-brand-logo {
  display:block;
  width:84px;
  height:34px;
  max-width:100%;
  object-fit:contain;
  aspect-ratio:auto;
  margin:0;
}
.yg-brand-item span {
  display:block;
  color:#635f56;
  font-size:11px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
@media (max-width:700px) {
  .case-illustration .yg-case-brand { top:8px; right:8px; min-width:58px; padding:5px 7px 6px; gap:3px; }
  .case-illustration .yg-case-brand-kind { font-size:8px; }
  .case-illustration img.yg-case-brand-logo { height:20px; max-height:20px; max-width:min(82px,100%); }
  .case-illustration .yg-case-brand-name { font-size:11px; }
  .detail-illustration img.yg-case-brand-logo { height:24px; max-height:24px; max-width:min(100px,100%); }
  .yg-brand-strip { padding-top:30px; padding-bottom:28px; }
  .yg-brand-item { flex-basis:104px; padding-inline:12px; }
}
