.shiina-case-footer {
  container-type: inline-size;
  --scf-navy: #082c50;
  --scf-gold: #f3b80a;
  max-width: 1160px;
  margin: 48px auto;
  color: var(--scf-navy);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.shiina-case-footer, .shiina-case-footer * { box-sizing: border-box; }
.shiina-case-footer h2, .shiina-case-footer p, .shiina-case-footer ul { margin: 0; }
.shiina-case-footer a { text-decoration: none !important; }
.shiina-case-footer .scf-dash { display: block; width: 39px; height: 4px; margin-bottom: 16px; background: var(--scf-gold); }
.shiina-case-footer h2 { color: inherit; font-size: clamp(24px, 2.7vw, 34px); font-weight: 800; line-height: 1.4; letter-spacing: .025em; }
.shiina-case-footer .scf-diagnosis {
  display: grid;
  grid-template-columns: minmax(0,1.55fr) minmax(220px,.82fr) 226px;
  gap: 30px;
  align-items: center;
  padding: 26px 28px;
  background: linear-gradient(110deg,#f7fbfe,#eef7fc);
  border: 1px solid #e6f0f5;
  border-radius: 12px;
  box-shadow: 0 9px 30px rgba(10,47,79,.06);
  margin-bottom: 24px;
}
.shiina-case-footer .scf-price {
  font-size: clamp(34px,4.4vw,57px);
  font-weight: 900;
  letter-spacing: -.045em;
  line-height: 1.25;
  margin: 5px 0 11px;
}
.shiina-case-footer .scf-price small { font-size: .32em; letter-spacing: 0; font-weight: 700; vertical-align: .16em; }
.shiina-case-footer .scf-lead { font-size: 15px; font-weight: 650; }
.shiina-case-footer .scf-checks { list-style: none !important; padding: 0 !important; }
.shiina-case-footer .scf-checks li { list-style: none !important; position: relative; padding: 6px 0 6px 37px; font-size: 15px; font-weight: 700; white-space: nowrap; }
.shiina-case-footer .scf-checks li::before { content: "✓"; position: absolute; left: 0; top: 7px; width: 24px; height: 24px; display: grid; place-items: center; background: var(--scf-navy); border-radius: 50%; color: #fff; font-size: 14px; }
.shiina-case-footer .scf-diagnosis-image { width: 226px; height: 212px; max-width: 100%; display: block; object-fit: cover; object-position: center 35%; border-radius: 7px; }
.shiina-case-footer .scf-cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 44px 46px 30px;
  background: #092e52;
  color: #fff;
  text-align: center;
}
.shiina-case-footer .scf-cta--ventilation {
  background-image: linear-gradient(90deg,rgba(3,24,46,.70),rgba(3,24,46,.68)),url("ventilation-cta.png");
  background-position: center, center;
  background-size: cover;
}
.shiina-case-footer .scf-cta-inner { position: relative; z-index: 1; }
.shiina-case-footer .scf-cta .scf-dash { margin: 0 auto 14px; }
.shiina-case-footer .scf-cta h2 { color: #fff; font-size: clamp(25px,2.8vw,35px); line-height: 1.45; text-shadow: 0 1px 6px rgba(0,0,0,.25); }
.shiina-case-footer .scf-cta p { margin: 20px 0 27px; color: #fff; font-size: 16px; font-weight: 650; line-height: 1.85; }
.shiina-case-footer .scf-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.shiina-case-footer .scf-buttons a { display: flex; align-items: center; min-width: 0; min-height: 108px; padding: 16px 24px; border-radius: 7px; text-align: left; transition: filter .2s, transform .2s; }
.shiina-case-footer .scf-buttons a:hover { filter: brightness(1.08); transform: translateY(-2px); }
.shiina-case-footer .scf-buttons .scf-tel { background: var(--scf-gold); color: #111b24 !important; }
.shiina-case-footer .scf-buttons .scf-line { background: #06c755; color: #fff !important; }
.shiina-case-footer .scf-icon { flex: none; font-family: Arial,sans-serif; font-size: 42px; line-height: 1; margin-right: 22px; }
.shiina-case-footer .scf-line-mark { flex: none; width: 58px; height: 58px; display: grid; place-items: center; margin-right: 22px; background: #fff; color: #06c755; border-radius: 50%; font: 800 13px Arial,sans-serif; }
.shiina-case-footer .scf-button-copy { display: block; min-width: 0; }
.shiina-case-footer .scf-button-copy strong { display: block; font-size: clamp(21px,2.45vw,30px); font-weight: 900; line-height: 1.3; white-space: nowrap; }
.shiina-case-footer .scf-button-copy small { display: block; font-size: 13px; font-weight: 650; white-space: nowrap; }
.shiina-case-footer .scf-arrow { margin-left: auto; padding-left: 12px; font-size: 31px; font-weight: 300; }
.shiina-case-footer .scf-email { display: inline-block; margin-top: 18px; color: #fff !important; font-size: 14px; font-weight: 650; text-decoration: underline !important; text-underline-offset: 4px; }
.shiina-case-footer .scf-section { padding: 30px 18px 8px; }
.shiina-case-footer .scf-section h2 { margin-bottom: 20px; }
.shiina-case-footer .scf-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; }
.shiina-case-footer .scf-card { display: block; overflow: hidden; border: 1px solid #e3e9ee; border-radius: 7px; background: #fff; color: var(--scf-navy) !important; box-shadow: 0 4px 13px rgba(12,39,65,.08); transition: transform .2s,box-shadow .2s; }
.shiina-case-footer .scf-card:hover { transform: translateY(-3px); box-shadow: 0 9px 20px rgba(12,39,65,.18); }
.shiina-case-footer .scf-card img { display: block; width: 100%; height: 148px; object-fit: cover; }
.shiina-case-footer .scf-card-body { display: block; padding: 14px; }
.shiina-case-footer .scf-card strong { display: block; font-size: 15px; line-height: 1.55; font-weight: 800; }
.shiina-case-footer .scf-card small { display: block; margin-top: 9px; color: #49637c; font-size: 12px; font-weight: 700; }
.shiina-case-footer .scf-card small span { float: right; }
@container (max-width: 930px) {
  .shiina-case-footer .scf-diagnosis { grid-template-columns: minmax(0,1fr) 200px; gap: 17px 26px; }
  .shiina-case-footer .scf-diagnosis-copy { grid-column: 1; }
  .shiina-case-footer .scf-checks { grid-column: 1; }
  .shiina-case-footer .scf-diagnosis-image { grid-column: 2; grid-row: 1 / span 2; width: 200px; height: 200px; }
  .shiina-case-footer .scf-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@container (max-width: 760px) {
  .shiina-case-footer .scf-buttons { grid-template-columns: 1fr; gap: 11px; }
  .shiina-case-footer .scf-buttons a { min-height: 80px; }
}
@container (max-width: 640px) {
  .shiina-case-footer { margin: 28px auto; }
  .shiina-case-footer .scf-diagnosis { grid-template-columns: 1fr 116px; padding: 19px; gap: 12px 14px; margin-bottom: 14px; }
  .shiina-case-footer .scf-diagnosis-copy { grid-column: 1 / -1; }
  .shiina-case-footer .scf-checks { grid-column: 1; }
  .shiina-case-footer .scf-checks li { white-space: normal; font-size: 12px; padding-left: 28px; }
  .shiina-case-footer .scf-checks li::before { width: 19px; height: 19px; font-size: 12px; }
  .shiina-case-footer .scf-diagnosis-image { grid-column: 2; grid-row: 2; width: 116px; height: 116px; }
  .shiina-case-footer .scf-lead { font-size: 13px; }
  .shiina-case-footer .scf-cta { padding: 34px 18px 24px; }
  .shiina-case-footer .scf-cta--ventilation { background-position: center, 32% center; }
  .shiina-case-footer .scf-cta p { margin: 15px 0 22px; font-size: 13px; }
  .shiina-case-footer .scf-buttons { grid-template-columns: 1fr; gap: 11px; }
  .shiina-case-footer .scf-buttons a { min-height: 78px; padding: 11px 18px; }
  .shiina-case-footer .scf-icon { font-size: 31px; margin-right: 17px; }
  .shiina-case-footer .scf-line-mark { width: 44px; height: 44px; margin-right: 17px; font-size: 10px; }
  .shiina-case-footer .scf-button-copy strong { font-size: 21px; }
  .shiina-case-footer .scf-button-copy small { font-size: 11px; }
  .shiina-case-footer .scf-section { padding: 25px 2px 8px; }
  .shiina-case-footer .scf-grid { gap: 10px; }
  .shiina-case-footer .scf-card img { height: 105px; }
  .shiina-case-footer .scf-card-body { padding: 10px; }
  .shiina-case-footer .scf-card strong { font-size: 13px; }
}
