.softcream-page .hb-hero h1 { font-size: clamp(2.1rem,3.6vw,3.4rem); }
.sc-title-line { white-space: nowrap; }
.sc-hero-photo img { width: 100%; height: auto; }
.softcream-page .hb-facts .sc-fact-word { font-family: "Yu Gothic",Meiryo,sans-serif; font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 600; letter-spacing: .02em; }
.sc-section-intro { max-width: 720px; }
.softcream-page .hb-copy > .sc-desserts-location { margin: 0 0 14px; color: var(--green); font-size: .875rem; font-weight: 700; }
.sc-choice { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(24px,4vw,48px); margin-top:36px; padding:24px; border:1px solid #71927f; }
.sc-choice h3 { color: #fff; font-size: 1rem; line-height: 1.8; }
.sc-choice p { margin-top: 10px; font-size: .875rem; line-height: 1.9; }
.sc-choice-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.sc-choice-photos figure { min-width:0; margin:0; }
.sc-choice-photo { position:relative; overflow:hidden; aspect-ratio:4 / 5; }
.sc-choice-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:46% 50%; }
.sc-choice-photos figcaption { padding-top:10px; text-align:center; color:#dbe7d8; font-size:.875rem; font-weight:600; line-height:1.8; }
.sc-desserts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 28px; margin-top: 38px; }
.sc-dessert { min-width: 0; }
.sc-dessert img { display: block; width: 100%; height: auto; }
.sc-dessert-copy { padding-top: 20px; }
.sc-dessert-copy .sc-number { color: #759075; font-family: Arial,sans-serif; font-size: .75rem; letter-spacing: .12em; }
.sc-dessert h3 { margin: 12px 0; color: var(--green); font-size: clamp(1rem,1.4vw,1.1875rem); font-weight: 700; line-height: 1.8; }
.sc-dessert-copy > p:not(.sc-number) { font-size: .875rem; line-height: 2; }
.sc-dessert .sc-alcohol { margin-top: 14px; padding: 12px 14px; border-left: 2px solid #9e7758; background: #f6f0e8; color: #654b38; font-size: .75rem; line-height: 1.9; }
.sc-menu-note { margin-top: 24px; color: #52655b; font-size: .8125rem; line-height: 1.9; }
.sc-airport-photos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.sc-airport-photos img { width: 100%; height: auto; }
.sc-airport-photos figcaption { margin-top: 10px; color: #52655b; font-size: .75rem; line-height: 1.8; }
.sc-airport-menu { display: flex; flex-wrap: wrap; gap: 8px 10px; padding: 0; margin: 24px 0; list-style: none; }
.sc-airport-menu li { padding: 7px 11px; border: 1px solid #bdcbb7; color: var(--green); font-size: .8125rem; line-height: 1.7; }
.sc-visit-intro { margin-bottom: 34px; }
.sc-stores { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.sc-store { padding: 28px 32px; border: 1px solid #bdcbb7; background: var(--paper); min-width: 0; }
.sc-store-photo { width: 100%; height: auto; margin-bottom: 24px; }
.sc-store .section-kicker { font-size: .6875rem; }
.sc-store h3 { margin: 14px 0; color: var(--green); font-size: 1.25rem; line-height: 1.7; }
.sc-store > p:not(.section-kicker) { font-size: .875rem; line-height: 1.9; }
.sc-store .hb-text-link { margin-top: 18px; }
@media (max-width: 1000px) {
  .softcream-page .hb-hero h1 { font-size: clamp(1.7rem,3.3vw,2rem); }
  .sc-desserts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 24px; }
  .sc-dessert h3 { font-size: 1.0625rem; }
  .sc-stores { gap: 20px; }
  .sc-store { padding: 24px; }
}
@media (max-width: 700px) {
  .softcream-page .hb-hero h1 { font-size: clamp(1.8rem,6.9vw,3rem); }
  .sc-choice { grid-template-columns:1fr; gap:22px; margin-top:28px; padding:18px; }
  .sc-choice-photos { gap:14px; }
  .sc-desserts { grid-template-columns: 1fr; gap: 34px; margin-top: 28px; }
  .sc-dessert-copy { padding-top: 18px; }
  .sc-dessert h3 { font-size: 1.125rem; }
  .sc-airport-photos { gap: 14px; }
  .sc-stores { grid-template-columns: 1fr; }
  .sc-store { padding: 24px 20px; }
}
