/* 【header.css マスターデータ】
  言語選択バーを横並びに修正したバージョン
*/

:root {
  --content-max: 1100px;
  --hdr-h: 68px;
  --logo-size: 50px;
  --apple-red: #cf3a3a;
}

/* アクセシビリティ */
.sr-only {
  position: absolute !important; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

/* 固定ヘッダー */
.lz-hdr {
  position: fixed !important; 
  inset: 0 0 auto 0 !important; 
  height: var(--hdr-h) !important;
  background: var(--apple-red) !important; 
  z-index: 9000 !important; 
  color: #fff !important;
  box-shadow: 0 4px 18px rgba(0,0,0,.12) !important;
}

.lz-hwrap {
  height: 100% !important; 
  max-width: var(--content-max) !important;
  margin: 0 auto !important; 
  padding: 0 clamp(12px, 4vw, 24px) !important;
  display: flex !important; 
  align-items: center !important; 
  justify-content: space-between !important; 
  gap: 16px;
  flex-wrap: nowrap !important;
}

.lz-right { display: flex !important; align-items: center !important; gap: 16px !important; flex: 0 0 auto !important; }

/* ロゴ */
.lz-logo {
  position: relative !important; 
  display: flex !important; 
  align-items: center !important; 
  gap: 12px !important;
  color: #fff !important; 
  text-decoration: none !important; 
  height: var(--hdr-h) !important;
  padding-left: calc(var(--logo-size) + 12px) !important;
  opacity: 1 !important; 
  pointer-events: auto !important;
  flex: 1 1 auto !important; 
  min-width: 0 !important;
}

.lz-logo__img {
  position: absolute !important; 
  top: 0 !important; 
  left: 0 !important; 
  width: var(--logo-size) !important; 
  height: var(--logo-size) !important;
  border-radius: 5px !important; 
  object-fit: cover !important; 
  transform-origin: top left !important;
  transform: translateY(calc((var(--hdr-h) - var(--logo-size)) / 2)) !important;
}

.lz-logo__txt {
  display: flex !important; 
  flex-direction: column !important; 
  line-height: 1.05 !important;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans JP",sans-serif !important;
}

.lz-t1 { font-weight: 400 !important; font-size: clamp(1.05rem, 1.9vw, 1.35rem) !important; letter-spacing: .01em !important; opacity: .95 !important; }
.lz-t2 { font-weight: 800 !important; font-size: clamp(1.55rem, 2.7vw, 2.1rem) !important; letter-spacing: .01em !important; margin-top: 4px !important; }

/* PCナビ */
.lz-hnav { display: none; }
@media (min-width: 769px) { .lz-hnav { display: block !important; } }
.lz-hnav__list { display: flex !important; align-items: center !important; gap: 22px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.lz-hnav__item { position: relative !important; }
.lz-hnav__l1 {
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue", Arial,"Noto Sans JP",sans-serif !important;
  font-weight: 550 !important; font-size: clamp(1.22rem, 2.3vw, 1.58rem) !important;
  color: #fff !important; text-decoration: none !important; padding: 12px 10px !important; border-radius: 10px !important;
}
.lz-hnav__l1:hover { background: rgba(255, 255, 255, .12) !important; }

/* プルダウンメニュー（ナビ用） */
.lz-hnav__panel {
  position: absolute !important; 
  right: 0 !important; 
  top: 100% !important; 
  margin-top: 12px !important; 
  background: #fff !important; 
  color: #222 !important;
  border-radius: 12px !important; 
  box-shadow: 0 18px 50px rgba(0,0,0,.18) !important;
  padding: 10px !important; 
  display: none; 
  min-width: 220px !important; 
  z-index: 10001 !important;
}
.lz-hnav__panel.is-open { display: block !important; }

.lz-hnav__panel a {
  display: block !important; 
  width: 100% !important;
  padding: 12px 14px !important; 
  color: #222 !important; 
  text-decoration: none !important; 
  border-radius: 8px !important; 
  white-space: nowrap !important;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue", Arial,"Noto Sans JP",sans-serif !important;
  font-weight: 550 !important; 
  font-size: 1.28rem !important;
  text-align: left !important;
}
.lz-hnav__panel a:hover { background: #f5f5f7 !important; color: #222 !important; }

/* 言語切替：横並びへの修正箇所 */
.lz-lang { position: relative !important; display: none; }
@media (min-width: 769px) { .lz-lang { display: block !important; } }

.lz-lang__btn {
  display: inline-flex !important; 
  align-items: center !important; 
  gap: 8px !important; 
  height: 44px !important; 
  padding: 0 12px !important;
  border: 1px solid rgba(255, 255, 255, .6) !important; 
  background: transparent !important; 
  color: #fff !important; 
  border-radius: 10px !important;
}

.lz-lang__menu {
  position: absolute !important; 
  right: 0 !important; 
  top: calc(100% + 10px) !important; 
  background: #fff !important;
  border-radius: 12px !important; 
  box-shadow: 0 18px 50px rgba(0,0,0,.18) !important; 
  padding: 6px !important; 
  display: none; 
  min-width: auto !important; /* 横幅を自動にする */
  flex-direction: row !important; /* 横並びに設定 */
  gap: 4px !important;
  z-index: 10002 !important;
}

.lz-lang__menu.is-open { 
  display: flex !important; /* blockからflexに変更 */
}

.lz-lang__menu a { 
  display: inline-flex !important; 
  align-items: center !important;
  padding: 10px 14px !important; 
  color: #222 !important; 
  text-decoration: none !important; 
  border-radius: 8px !important;
  white-space: nowrap !important; /* 改行防止 */
  font-weight: 600 !important;
}

.lz-lang__menu a:hover {
  background: #f5f5f7 !important;
}

/* ハンバーガーメニュー */
.lz-hamb { display: flex !important; }
@media (min-width: 769px) { .lz-hamb { display: none !important; } }
.lz-hamb__bar { width: 24px !important; height: 2px !important; background: #fff !important; border-radius: 2px !important; }

/* ドロワー */
.lz-dw-backdrop { position: fixed !important; inset: 0 !important; background: rgba(0,0,0,.35) !important; z-index: 19999 !important; display: none; }
.lz-dw-backdrop.is-open { display: block !important; }
.lz-drawer {
  position: fixed !important; right: 0 !important; top: 0 !important; bottom: 0 !important; width: 66.6vw !important; max-width: 360px !important;
  background: #fff !important; z-index: 20001 !important; transform: translateX(100%) !important; transition: transform .22s ease !important;
}
.lz-drawer.is-open { transform: translateX(0) !important; }

/* iPad / SP 調整 */
@media (max-width:768px){
  :root { --logo-size: 50px !important; }
  .lz-t1 { font-size: clamp(1.1rem, 4.5vw, 1.45rem) !important; }
  .lz-t2 { font-size: clamp(1.7rem, 6.2vw, 2.3rem) !important; }
}
@media (min-width:769px) and (max-width:1024px){
  .lz-t1{ font-size: clamp(0.95rem, 1.4vw, 1.2rem) !important; }
  .lz-t2{ font-size: clamp(1.35rem, 2.0vw, 1.8rem) !important; }
  .lz-hnav__l1{ font-size: clamp(1.05rem, 1.7vw, 1.32rem) !important; padding: 10px 8px !important; }
}

body { padding-top: var(--hdr-h) !important; }