/* yamaichi.css — 山一食品 JA全ページ共通の追加スタイル (2026-10-19 修正依頼)
   ヘッダーロゴ拡大・ヘッダーのお問合せボタン・フッター・下部問合せ帯(TOPと共通)。
   EN ページは読み込まない。 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;600&display=swap');

:root { --ym-red: #a60f1a; --ym-ink: #222222; --ym-serif: 'Noto Serif JP', 'Yu Mincho', serif; }

/* ── ヘッダー ── */
.site-header .container { height: 84px; max-width: min(1440px, 94vw); }
.site-header .site-logo-img { height: 52px !important; max-width: 240px !important; }
.site-nav ul { gap: 1.6rem; }
.site-nav a { font-size: .875rem; }
.site-nav .ym-nav-cta a { display: inline-flex; align-items: center; gap: .5rem; padding: .85rem 1.6rem; background: var(--ym-red); color: #fff; border: 0; border-radius: 2px; font-weight: 600; }
.site-nav .ym-nav-cta a:hover, .site-nav .ym-nav-cta a.active { color: #fff; background: #8a0c15; border-bottom-color: transparent; }
.site-nav .ym-nav-cta svg { flex: none; }
.site-header.nav-collapsed .site-nav, .site-header.nav-collapsed .site-nav.open { top: 84px; }
.site-header.nav-collapsed .ym-nav-cta a, .site-header .site-nav.open .ym-nav-cta a { justify-content: center; margin: .75rem 0; border-bottom: 0; }
@media (max-width: 1180px) { .site-nav ul { gap: 1rem; } .site-nav .ym-nav-cta a { padding: .75rem 1.1rem; } }
@media (max-width: 767px) {
  .site-header .container { height: 68px; }
  .site-header .site-logo-img { height: 40px !important; max-width: 190px !important; }
  .site-nav { top: 68px !important; max-height: calc(100vh - 68px) !important; }
  .site-nav .ym-nav-cta a { justify-content: center; margin: .75rem 0; border-bottom: 0; }
}

/* ── フッター ── */
.site-footer .footer-logo-img { height: 44px !important; max-width: 200px !important; }
/* ロゴ画像に社名が入っているため、直下の社名テキストは重複表示しない */
.site-footer .footer-brand:has(.footer-logo-img) .footer-name { display: none; }

/* ── 下部問合せ帯 (TOP と下層で共通) ── */
.ym-contact { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: #3a0a0e; }
.ym-contact-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; z-index: -2; }
.ym-contact::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(58,8,12,.97) 0%, rgba(88,10,16,.93) 48%, rgba(110,14,22,.72) 100%); }
.ym-contact-inner { max-width: min(1200px, 92vw); margin: 0 auto; padding: 88px 0; display: grid; grid-template-columns: minmax(0,1.25fr) auto auto; align-items: center; gap: 3rem; }
.ym-contact-eyebrow { font-size: .8rem; letter-spacing: .3em; margin-bottom: .6rem; color: rgba(255,255,255,.85); }
.ym-contact-title { font-family: var(--ym-serif); font-weight: 500; font-size: clamp(1.6rem, 3vw, 2.2rem); letter-spacing: .08em; color: #fff; margin: 0 0 1.2rem; }
.ym-contact-text p:not(.ym-contact-eyebrow) { font-size: .95rem; line-height: 1.95; color: #fff; margin: 0; }
.ym-contact-tel { padding-left: 3rem; border-left: 1px solid rgba(255,255,255,.4); text-align: center; }
.ym-contact-telnum { display: inline-flex; align-items: center; gap: .6rem; color: #fff; font-family: var(--ym-serif); font-size: clamp(1.8rem, 2.8vw, 2.4rem); font-weight: 600; letter-spacing: .04em; text-decoration: none; white-space: nowrap; }
.ym-contact-hours { font-size: .85rem; margin: .4rem 0 0; color: #fff; }
.ym-contact-btnwrap { margin: 0; }
.ym-contact-btn { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; min-width: 260px; min-height: 60px; padding: 1rem 2rem; background: var(--ym-red); color: #fff; border: 1px solid rgba(255,255,255,.55); border-radius: 2px; font-weight: 600; text-decoration: none; transition: background .25s; }
.ym-contact-btn::after { content: '→'; margin-left: .4rem; }
.ym-contact-btn:hover { background: #8a0c15; color: #fff; opacity: 1; }
@media (max-width: 1023px) {
  .ym-contact-inner { grid-template-columns: 1fr; gap: 2rem; padding: 64px 0; text-align: center; }
  .ym-contact-tel { padding: 1.8rem 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.4); }
  .ym-contact::before { background: linear-gradient(180deg, rgba(58,8,12,.95), rgba(88,10,16,.9)); }
}
@media (max-width: 767px) {
  .ym-contact-inner { padding: 56px 0; }
  .ym-contact-text br { display: none; }
  .ym-contact-btn { width: 100%; min-width: 0; }
}
