/* シーン別ページ共通スタイル（肉の天保堂 出張ケータリング） */
:root { --black: #1a1a1a; --gold: #c5a059; --red: #8b0000; --cream: #faf7f0; --line: #06c755; --text: #222; --muted: #5c5c5c; }
* { box-sizing: border-box; }
body { margin: 0; font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, system-ui, sans-serif; color: var(--text); background: #fff; line-height: 1.8; word-break: normal; overflow-wrap: anywhere; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--red); }
h1, h2, h3 { line-height: 1.45; }
h1, h2 { font-family: "Hiragino Mincho ProN", "Yu Mincho", ui-serif, Georgia, serif; }

.sc-header { position: sticky; top: 0; z-index: 10; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .6rem 1rem; background: var(--black); }
.sc-logo { display: flex; align-items: center; gap: .5rem; color: #fff; text-decoration: none; font-weight: 700; font-size: 1.05rem; }
.sc-logo img { width: 36px; height: 36px; border-radius: 50%; }
.sc-header-cta { background: var(--red); color: #fff; text-decoration: none; font-weight: 700; font-size: .85rem; padding: .5rem 1rem; border-radius: 999px; white-space: nowrap; }
.sc-crumb { max-width: 960px; margin: 0 auto; padding: .75rem 1rem 0; font-size: .78rem; color: var(--muted); }
.sc-crumb a { color: var(--muted); }

.sc-hero { background: var(--black); color: #fff; padding: 3.5rem 1rem; text-align: center; margin-top: .75rem; }
.sc-hero > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.sc-eyebrow { color: var(--gold); font-weight: 700; letter-spacing: .15em; font-size: .8rem; margin: 0 auto .5rem; }
.sc-hero h1 { font-size: 2.1rem; margin: 0 auto 1rem; }
.sc-hero p { color: rgba(255,255,255,.85); }

.sc-ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 1.5rem; }
.sc-btn { display: inline-block; text-decoration: none; font-weight: 700; padding: .85rem 1.6rem; border-radius: 999px; }
.sc-btn-red { background: var(--red); color: #fff; }
.sc-btn-line { background: var(--line); color: #fff; }
.sc-btn-ghost { border: 2px solid var(--gold); color: var(--gold); }

.sc-sec { max-width: 960px; margin: 0 auto; padding: 3rem 1rem; }
.sc-alt { max-width: none; background: var(--cream); }
.sc-alt > * { max-width: 928px; margin-left: auto; margin-right: auto; }
.sc-sec h2 { font-size: 1.6rem; text-align: center; margin: 0 auto 1.5rem; }
.sc-note { font-size: .82rem; color: var(--muted); margin-top: 1rem; }

.sc-worries { list-style: none; padding: 0; margin: 0 auto; max-width: 640px; display: grid; gap: .6rem; }
.sc-worries li { background: var(--cream); border-left: 4px solid var(--gold); padding: .8rem 1rem; border-radius: .4rem; }

.sc-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.sc-plan { background: #fff; border: 1px solid #e7e0d0; border-radius: 1rem; overflow: hidden; }
.sc-plan img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.sc-plan > div { padding: 1rem 1.25rem 1.25rem; }
.sc-plan h3 { margin: 0; color: var(--red); }
.sc-plan-name { margin: .2rem 0 .5rem; font-weight: 700; }
.sc-price { margin: 0; font-size: 1.4rem; font-weight: 800; }
.sc-price small { font-size: .8rem; font-weight: 400; }
.sc-price span { display: block; font-size: .85rem; font-weight: 400; color: var(--muted); }

.sc-table { width: 100%; max-width: 640px; margin: 0 auto; border-collapse: collapse; }
.sc-table th, .sc-table td { border-bottom: 1px solid #e7e0d0; padding: .9rem .5rem; vertical-align: top; }
.sc-table th { text-align: left; font-weight: 700; }
.sc-table td { text-align: right; white-space: nowrap; }
.sc-table strong { font-size: 1.25rem; color: var(--red); }
.sc-table small { font-size: .75rem; color: var(--muted); }

.sc-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.sc-point { background: #fff; border-radius: .75rem; padding: 1.1rem 1.25rem; border: 1px solid #e7e0d0; }
.sc-point h3 { margin: 0 0 .4rem; font-size: 1.02rem; color: var(--red); }
.sc-point p { margin: 0; font-size: .92rem; }
.sc-trust { text-align: center; font-size: .88rem; margin-top: 1.25rem; font-weight: 700; }

.sc-flow { list-style: none; counter-reset: step; padding: 0; margin: 0 auto; max-width: 680px; }
.sc-flow li { counter-increment: step; position: relative; padding: 0 0 1.25rem 3.25rem; }
.sc-flow li::before { content: counter(step); position: absolute; left: 0; top: 0; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--black); color: var(--gold); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.sc-flow p { margin: .2rem 0 0; font-size: .92rem; color: #444; }

.sc-faq { max-width: 720px; margin: 0 auto; }
.sc-faq details { background: #fff; border: 1px solid #e7e0d0; border-radius: .6rem; margin-bottom: .6rem; }
.sc-faq summary { cursor: pointer; font-weight: 700; padding: .9rem 1rem; }
.sc-faq details p { margin: 0; padding: 0 1rem 1rem; font-size: .92rem; }

.sc-cta { background: var(--black); color: #fff; text-align: center; padding: 3.5rem 1rem; }
.sc-cta h2 { font-size: 1.5rem; margin: 0 0 .5rem; }
.sc-cta p { color: rgba(255,255,255,.8); margin: 0; }
.sc-hours { font-size: .85rem; margin-top: 1rem !important; }

.sc-links { list-style: none; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.sc-links a { display: inline-block; border: 1px solid var(--gold); border-radius: 999px; padding: .5rem 1.1rem; text-decoration: none; color: var(--black); font-weight: 700; }

.sc-footer { background: #111; color: rgba(255,255,255,.7); text-align: center; font-size: .8rem; padding: 1.5rem 1rem; }
.sc-footer a { color: var(--gold); }

@media (max-width: 767px) {
  .sc-hero { padding: 2.5rem 1rem; }
  .sc-hero h1 { font-size: 1.5rem; }
  .sc-hero h1 br { display: none; }
  .sc-sec { padding: 2.25rem 1rem; }
  .sc-sec h2 { font-size: 1.3rem; }
  .sc-plans, .sc-points { grid-template-columns: minmax(0, 1fr); }
  .sc-table td { white-space: normal; }
  .sc-btn { width: 100%; text-align: center; }
}
.sc-cake { margin: 0 auto; max-width: 720px; }
.sc-cake img { border-radius: 1rem; width: 100%; }
.sc-cake figcaption { font-size: .9rem; color: var(--muted); margin-top: .6rem; text-align: center; }
.sc-pdf { color: var(--gold); }
