/* ============================================================
   site-shell.css
   本番サイト（kinujo.jp テーマ kinujo-2024）の「LP の外側」の最小限の再現。
   LP 本体（sec01〜15）はこのファイルに依存する前提で書かれている箇所がある
   （例：p / h2 / ul の margin リセット、a の text-decoration、sup の位置）。
   PHP テンプレへ戻すときはこのファイルは使わない（テーマ側 style-*.css が同じ役割）。

   1) テーマのリセット（destyle.css 相当。本番 style-3sIUcb7J.css から
      要素セレクタのルールだけを抜き出した）
   2) body の書体・色・背景（本番実測）
   3) 固定ヘッダー header.header（PC 120px / SP 86px 実測、背景透過、z-index 1000）。
      products_silkdrop.js がこの高さを実測して --feat-tab-top にセットする。
   ロゴ・メニュー・フッターの見た目は再現していない（仮置き）。
   ============================================================ */

/* ---------- 1) テーマのリセット ---------- */
*, ::before, ::after { box-sizing: border-box; border-style: solid; border-width: 0; min-width: 0; }
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  scrollbar-width: thin;
  width: 100vw;
  overflow-x: hidden;
  scroll-behavior: smooth;
  font-size: 1.11111vw;
}
/* rem の基準（テーマ実測）。LP 内は px 指定が主だが、font-size 未指定の要素はこれを継承する */
@media (max-width: 1440px) { html { font-size: clamp(14.4px, 11.2px + 0.333333vw, 16px); } }
@media (max-width: 960px)  { html { font-size: 4.07125vw; } }
main { display: block; }
p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
dt { font-weight: 700; }
dd { margin-left: 0; }
a { background-color: transparent; text-decoration: none; color: inherit; transition: opacity .25s ease-in-out; }
a:hover { opacity: .75; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
svg, img, embed, object, iframe { vertical-align: bottom; }
img { max-width: 100%; height: auto; }
button, input, optgroup, select, textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}
details { display: block; }
summary { display: list-item; }

/* ---------- 2) body（本番実測） ---------- */
body {
  margin: 0;
  padding: 0;
  position: relative;
  font-family: 'Noto Sans JP', sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-feature-settings: "palt";
  color: #70453a;
  background-color: #fbf9f3;
}

/* ---------- 3) 固定ヘッダー／フッター（高さだけ再現） ---------- */
header.header {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 120px;
  z-index: 1000;
  background: transparent;
  display: flex;
  align-items: center;
  padding: 0 40px;
  pointer-events: none;
}
header.header .header__logo {
  font-family: var(--font-serif-en);
  font-size: 22px;
  letter-spacing: 3px;
  color: #855e47;
  pointer-events: auto;
}
footer.site-footer {
  padding: 40px 20px;
  text-align: center;
  font-size: 12px;
  color: #855e47;
  background: #fbf9f3;
}
@media (max-width: 959px) {
  header.header { height: 86px; padding: 0 20px; }
  header.header .header__logo { font-size: 16px; }
}
