@charset "utf-8";

/* =Container */
.l-main{
  width: min(1100px, 92vw);
  margin: 0 auto;
}

.l-container{
  width: min(1200px, 92vw);
  margin: 0 auto;
}

/* =========================================================
   Fixed Header (single source of truth)
========================================================= */
:root{ --header-h: 96px; }  /* ここは好みで 88〜104 くらい */
body{ padding-top: var(--header-h); }

.l-header{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.l-header__inner{
  width: min(1200px, 92vw);
  margin: 0 auto;
  height: var(--header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
}


/* inner無しの保険（ただし :has は環境により不安定なので最小限） */
.l-header:not(:has(.l-header__inner)){
  height: var(--header-h);
  width: min(1200px, 92vw);
  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* Footer layout */
.l-footer{
  padding: 26px 0 40px;
}
.l-footer__inner{
  width: min(1200px, 92vw);
  margin: 0 auto;
}
