/* ===== リセット・基本設定 ===== */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  height: 100%;
}

body {
  font-family: 'Zen Old Mincho', serif;
  font-weight: 400;
  background-color: #ffffff;
  color: #ffffff;
}

address {
  font-style: normal;
}

/* ===== SP版：最上部ゴールド帯（PC版では非表示） ===== */
.sp-header {
  display: none;
}

/* ===== PC版：全体ラッパー（絶対配置の基準） ===== */
.page-wrapper {
  position: relative;
  height: 100vh;
}

/* ===== PC版：白背景ロゴエリア（上部 80vh） ===== */
.logo-section {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80vh;
  background-color: #ffffff;
  padding: 40px 20px;
}

.logo-img {
  width: 414px;
  max-width: 80%;
  height: auto;
  display: block;
}

/* ===== PC版：ゴールドバンド（下部 20vh） ===== */
.gold-section {
  display: flex;
  align-items: center;
  height: 20vh;
  background-color: #b8975a;
}

/* 1400px制約コンテナ */
.gold-inner {
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
  padding: 0 80px;
  display: flex;
  align-items: center;
  height: 100%;
}

/* 店名＋住所を横並び */
.info-area {
  display: flex;
  align-items: center;
  gap: 64px;
}

/* 店名（白テキスト・背景なし） */
.shop-name {
  color: #ffffff;
  font-weight: 700;
  font-size: 2.0rem;
  letter-spacing: 0.18em;
  white-space: nowrap;
  flex-shrink: 0;
}

/* 住所・連絡先 */
.contact-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.contact-item {
  color: #ffffff;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

/* ===== PC版：QR円形（白地・ロゴ/ゴールドの境界にまたがる絶対配置）
   1400px コンテナの右端に揃えるため、中央起点で max-width を合わせる ===== */
.insta-area {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1400px;
  bottom: 10px;
  z-index: 10;
  display: flex;
  justify-content: flex-end;
  padding-right: 80px;
  pointer-events: none; /* 透明部分がクリックを横取りしないようにする */
}

/* 白円形 */
.qr-circle {
  width: 240px;
  height: 240px;
  background-color: #ffffff;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
  pointer-events: auto; /* 親のpointer-events: noneを上書き */
}

/* 円内テキスト（ゴールド） */
.insta-text-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.insta-lead {
  color: #b8975a;
  font-size: 1.0rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.6;
  margin-bottom: -5px;
}

/* QRコード画像 */
.qr-img {
  width: 118px;
  height: 118px;
  object-fit: contain;
  display: block;
}

/* メールリンク */
.mail-link {
  color: #ffffff;
  text-decoration: none;
}

/* ===== PC版では非表示のSP専用要素 ===== */
.sp-insta-text,
.insta-icon-circle,
.sp-contact-info {
  display: none;
}

/* ===== 中間幅レイアウト（769px〜1023px）：ゴールドバンド内を縦並びに ===== */
@media (min-width: 769px) and (max-width: 1023px) {

  .gold-inner {
    padding: 0 40px;
    justify-content: center;
  }

  .info-area {
    flex-direction: column;
    align-items: center;
    gap: 8px;
    transform: translateX(-120px);
  }

  .contact-info {
    align-items: center;
    text-align: center;
  }

  .shop-name {
    font-size: 1.8rem;
  }

  .contact-item {
    font-size: 0.82rem;
  }
}

/* ===== SP版レイアウト（768px以下） ===== */
@media (max-width: 768px) {

  html, body {
    height: auto;
    background-color: #b8975a;
  }

  /* SP版：最上部ゴールド帯を表示 */
  .sp-header {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #b8975a;
    padding: 14px 20px;
  }

  .sp-shop-name {
    color: #ffffff;
    font-weight: 700;
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    text-align: center;
  }

  /* SP版：ラッパーにゴールド背景を設定（insta-areaが外に出ても繋がるように） */
  .page-wrapper {
    position: static;
    height: auto;
    background-color: #b8975a;
  }

  /* SP版：ロゴエリア（白背景） */
  .logo-section {
    height: auto;
    padding: 48px 20px;
    background-color: #ffffff;
  }

  .logo-img {
    width: 80%;
    max-width: 320px;
  }

  /* SP版：gold-sectionは空なので非表示 */
  .gold-section {
    display: none;
  }

  /* SP版：insta-areaをゴールド背景上に通常フローで表示 */
  .insta-area {
    position: static;
    left: auto;
    transform: none;
    max-width: none;
    justify-content: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    width: 100%;
    padding: 24px 32px 40px;
  }

  /* PC版のQR円形を非表示 */
  .qr-circle {
    display: none;
  }

  /* SP版：Instagram誘導テキスト（左揃え・白・太字） */
  .sp-insta-text {
    display: block;
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-align: center;
    width: 100%;
    line-height: 1.7;
  }

  /* SP版：Instagramアイコン
     SVG自体に白丸ボーダーが内蔵されているため背景・枠なしで大きく表示 */
  .insta-icon-circle {
    display: flex;
    background: transparent;
    border: none;
    border-radius: 0;
    align-items: center;
    justify-content: center;
  }

  .insta-icon-img {
    width: 160px;
    height: 160px;
    object-fit: contain;
    display: block;
  }

  /* SP版：住所・連絡先（白・中央） */
  .sp-contact-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    text-align: center;
    width: 100%;
  }

  .sp-contact-info .contact-item {
    color: #ffffff;
    font-size: 0.9rem;
    letter-spacing: 0.04em;
    line-height: 1.7;
  }
}
