/* ==========================================================
   reset.css — minimal modern reset
   ========================================================== */
*,
*::before,
*::after { box-sizing: border-box; }

html,
body,
h1, h2, h3, h4, h5, h6,
p, ul, ol, li, dl, dt, dd,
figure, figcaption,
blockquote,
pre,
hr { margin: 0; padding: 0; }

ul, ol { list-style: none; }

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: "Yu Gothic Medium", YuGothic, "游ゴシック Medium", "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #222;
  background: #ffffff;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

img,
picture,
video,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

button {
  font: inherit;
  color: inherit;
  background: transparent;
  border: 0;
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input,
select,
textarea {
  font: inherit;
  color: inherit;
}

/* --- Page-wide horizontal overflow guard ---
   Figma 由来の絶対配置要素 (例: .p-landscape__vertical left:1720px,
   .p-cuisine__img-main left:960px+width:840px, SP .p-landscape__map right:-200px)
   が viewport より右側に突き抜けて意図しない横スクロールが発生するのを防ぐ。
   これにより装飾的にはみ出している要素も視覚的にきれいに見切れるようになる。

   注意: hidden ではなく clip を使用する理由 (v30 修正):
   html に overflow-x: hidden を指定すると html がスクロールコンテナ化し、
   一部ブラウザで position: fixed の包含ブロックが viewport ではなく
   html のレイアウト幅 (= はみ出し要素を含む) になってしまう。
   結果、.l-sidemenu の right: 0 が viewport 右端ではなく html 右端を指し、
   サイドボタンが viewport 右端から数px 右にズレて見切れる現象が発生する。
   overflow: clip はスクロールコンテナを作らない (CSS Overflow Module L3) ため、
   position: fixed は仕様通り viewport 起点で動作する。
   非対応ブラウザ (Chrome <90 / Firefox <81 / Safari <16) は hidden にフォールバック。 */
html,
body {
  overflow-x: hidden;     /* Fallback for older browsers */
  overflow-x: clip;       /* Modern: same clipping, but no scroll container */
}
