.l-main { overflow: hidden; }
.l-container { width: min(calc(100% - 48px), var(--cb-container)); margin-inline: auto; }
.l-container--narrow { max-width: 840px; }
.c-front-section { padding: 72px 0; border-top: 1px solid var(--cb-line); }
.c-section-heading { margin-bottom: 34px; }
.c-section-heading__ja { font-family: var(--cb-serif); font-size: clamp(25px, 3vw, 38px); font-weight: 400; line-height: 1.25; letter-spacing: .08em; color: var(--cb-ivory); }
.c-section-heading__en { margin-top: 7px; font-family: var(--cb-serif); font-size: 13px; line-height: 1.3; letter-spacing: .16em; color: var(--cb-gold); text-transform: uppercase; }
.c-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 11px 24px; border: 1px solid var(--cb-gold); color: var(--cb-gold-bright); font-family: var(--cb-serif); font-size: 14px; letter-spacing: .05em; transition: color .2s ease, background .2s ease; }
.c-button:hover { color: #090b09; background: var(--cb-gold-bright); }
.c-button--ghost { border-color: rgba(238, 229, 209, .28); color: var(--cb-ivory); }
.c-front-section__action { margin-top: 34px; text-align: center; }
.c-empty { padding: 26px; border: 1px solid var(--cb-line-soft); color: var(--cb-muted); text-align: center; }
@media (max-width: 767px) {
  .l-container { width: min(calc(100% - 28px), var(--cb-container)); }
  .c-front-section { padding: 52px 0; }
  .c-section-heading { margin-bottom: 24px; }
  .c-button { min-height: 44px; padding-inline: 17px; font-size: 12px; }
}
