@charset "UTF-8";

/* ==========================
   共通設定
========================== */

:root {
  --text-color: #3B170B;
  --scroll-color: #A55D3D;
  --menu-color: #A0432E;
  --background: #FAF8F5;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Shippori Mincho", serif;
  color: var(--text-color);
  background: var(--background);
}

img {
  display: block;
  max-width: 100%;
}

/* ==========================
   ファーストビュー
========================== */

.fv {
  width: 100%;
  overflow: hidden;
  background: var(--background);
	height: 95vh;
}

/* メイン画像 */
.fv__visual {
  position: relative;
  width: 100%;
}

.fv__image {
  width: 100%;
  height: auto;
}

/* のれん */
.fv__head {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

/* ==========================
   ハンバーガーメニュー
========================== */


/* ==========================
   HAMBURGER MENU
========================== */

/* ハンバーガーボタン */
.menu-toggle {
  position: fixed;
  z-index: 1001;
  top: 24px;
  right: 17px;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  width: 30px;
  height: 24px;
  padding: 0;

  border: none;
  background: transparent;
  cursor: pointer;
}

/* 3本線 */
.menu-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: #A0432E;
  border-radius: 10px;
  transition: transform 0.3s ease,
              opacity 0.3s ease,
              width 0.3s ease;
}

/* 真ん中だけ短く */
.menu-toggle span:nth-child(2) {
  width: 78%;
  margin-left: auto;
}

/* 開いたとき：×に変化 */
.menu-toggle.is-active span:nth-child(1) {
  transform: translateY(11px) rotate(45deg);
}

.menu-toggle.is-active span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.is-active span:nth-child(3) {
  transform: translateY(-11px) rotate(-45deg);
}

/* ==========================
   GLOBAL NAV
========================== */

.global-nav {
  position: fixed;
  z-index: 1000;
  inset: 0;

  width: 100%;
  height: 100vh;

  background: #FAF8F5;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity 0.4s ease,
    visibility 0.4s ease;
}


/* メニューOPEN */
.global-nav.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}


/* 中身 */
.global-nav__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 105px 20px;
  overflow-y: auto;
}


/* ==========================
   MENU見出し
========================== */

.global-nav__heading {
  text-align: center;
  margin-bottom: 35px;
}

.global-nav__heading p {
  font-family: "Cormorant", serif;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.15em;
  color: #A55D3D;
}


/* ==========================
   メニュー一覧
========================== */

.global-nav__list {
  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 22px;

  width: 100%;
  padding: 0;
  margin: 0;

  list-style: none;
}


/* リンク */
.global-nav__list a {
  display: flex;
  flex-direction: column;
  align-items: center;

  color: #3B170B;
  text-decoration: none;

  transition: opacity 0.3s ease;
}

.global-nav__list a:hover {
  opacity: 0.6;
}


/* 英語 */
.global-nav__en {
  font-family: "Cormorant", serif;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.12em;
}


/* 日本語 */
.global-nav__jp {
  margin-top: 5px;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;

  color: #A55D3D;
}


/* ==========================
   Instagram・電話
========================== */

.global-nav__contact {
  display: flex;
  justify-content: center;
  gap: 15px;
	flex-wrap: wrap;
  width: 100%;

  margin-top: auto;
  padding-top: 35px;
}


/* ボタン */
.global-nav__contact-btn {
  display: flex;
  align-items: center;
  width: 80%;
  min-height: 55px;
  padding: 15px 12px;
  background: #FFFFFF;
  border-radius: 50px;
  color: #3B170B;
  text-decoration: none;
	justify-content: space-around;
}


/* Instagramアイコン */
.global-nav__contact-icon {
  display: block;
  width: 35px;
  height: 35px;

  object-fit: contain;

  margin-right: 8px;
}


/* 電話アイコン */
.global-nav__phone-icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 35px;
  height: 35px;

  margin-right: 8px;

  border-radius: 50%;

  background: #F5A623;
  color: #FFFFFF;

  font-size: 17px;
}


/* ボタン文字 */
.global-nav__contact-btn > span:not(.global-nav__contact-arrow):not(.global-nav__phone-icon) {
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}


/* ▶ */
.global-nav__contact-arrow {
  font-size: 10px;
  color: #3B170B;
}


/* メニューOPEN中は背景スクロール禁止 */
body.nav-open {
  overflow: hidden;
}


/* ==========================
   小さいスマホ
========================== */

@media (max-width: 375px) {

  .global-nav__heading {
    margin-bottom: 25px;
  }

  .global-nav__list {
    gap: 17px;
  }

  .global-nav__en {
    font-size: 22px;
  }

  .global-nav__jp {
    font-size: 9px;
  }

  .global-nav__contact {
    gap: 7px;
    padding-top: 25px;
  }
	.global-nav__contact-btn{
		width: 100%;
	}
}


/* ==========================
   縦書きキャッチコピー
========================== */

.fv__catch {
  position: absolute;
  z-index: 6;
  top: 115px;
  left: 15px;
  display: flex;
  flex-direction: row-reverse;
  gap: 22px;
}

.fv__catch p {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.5;
	text-shadow:
    0 0 3px #F5E6D2,
    0 0 15px #F5E6D2,
    0 0 30px rgba(245, 230, 210, 0.1),
    0 0 30px rgba(245, 230, 210, 0.4)
}

.fv__catch-main {
  font-size: 28px;
}

.fv__catch-sub {
  font-size: 28px;
  margin-top: 65px;
}

/* ==========================
   下部メッセージ
========================== */

.fv__message {
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding: 18px 12px 0;
  text-align: center;
  top: -80px;
}

.fv__message h1 {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 2;
  margin-bottom: 7px;
}

.fv__message p {
  font-size: 14px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}

/* ==========================
   SCROLL
========================== */

.fv__scroll {
  display: flex;
  flex-direction: column;
  align-items: center;

  margin-top: 15px;
  color: var(--scroll-color);
}

.fv__scroll > span:first-child {
  font-family: Georgia, serif;
  font-size: 10px;
  letter-spacing: 0.18em;
}

.fv__scroll-line {
  display: block;
  width: 1px;
  height: 55px;
  margin-top: 4px;
  background: var(--scroll-color);
}

/* ==========================
   小さいスマホ
========================== */

@media (max-width: 375px) {

  .fv__visual {
    height: 470px;
  }

  .fv__catch-main {
    font-size: 24px;
  }

  .fv__catch-sub {
    font-size: 24px;
  }
	.fv{
		height: 87vh;
	}
	.fv__message{
		top: -10px;
	}
}

/* ==========================
   大きいスマホ
========================== */

@media (min-width: 430px) {

  .fv__visual {
    height: 530px;
  }
}


/* ==========================
   店舗写真
========================== */

.shop-visual {
  width: 100%;
  margin-top: 0;
}

.shop-visual img {
  display: block;
  width: 100%;
  height: auto;
}


/* ==========================
   CONCEPT
========================== */

.concept {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #FAF8F5;
  padding-top: 90px;
  padding-bottom: 200px;
}

/* CONCEPT見出し */
.concept__heading {
  position: relative;
  z-index: 2;
  margin-left: 24px;
  font-family: "Cormorant", serif;
  font-size: 16px;
  font-weight: normal;
  letter-spacing: 0.08em;
  color: #A55D3D;
}

/* 縦書きキャッチコピー */
.concept__catch {
  position: absolute;
  z-index: 2;
  top: 140px;
  right: 30px;
	display: flex;
  flex-direction: row-reverse;
  gap: 10px;
}

.concept__catch p {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 34px;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1.8;
  color: #3B170B;
}

/* コンセプト文章 */
.concept__text {
  position: relative;
  z-index: 2;
  margin-top: 250px;
  padding-left: 24px;
}

.concept__text p {
  font-size: 15px;
  font-weight: 400;
  line-height: 2.3;
  letter-spacing: 0.06em;
  margin-bottom: 34px;
}

/* 卵焼き画像 */
.concept__egg {
  position: absolute;
  z-index: 1;

  top: 420px;
  right: -75px;

  width: 270px;
  height: auto;
}

/* ポテトサラダ画像 */
.concept__potato {
  position: absolute;
  z-index: 3;

  bottom: 10px;
  left: -20px;

  width: 240px;
  height: auto;
}

/* 白い波型 */
.concept__wave {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 90px;
  line-height: 0;
}

.concept__wave svg {
  display: block;
  width: 100%;
  height: 100%;
}



/* ==========================
   FEATURES
========================== */

.features {
  width: 100%;
  padding: 55px 0 90px;
  background: #FFFFFF;
  color: #3B170B;
  overflow: hidden;
}

/* セクション見出し */
.features__intro {
  text-align: center;
  padding: 0 15px;
  margin-bottom: 55px;
}

.features__en {
  display: block;
  font-family: "Cormorant", serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #A55D3D;
  margin-bottom: 25px;
}

.features__intro h2 {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 18px;
}

.features__intro p {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.03em;
}

/* 各こだわり */
.feature {
  position: relative;
  margin-bottom: 90px;
}

.feature:last-child {
  margin-bottom: 0;
}

.feature__visual {
  position: relative;
  width: 100%;
  aspect-ratio: 390 / 310;
  height: auto;
}

/* FEATURES 料理写真 */
.feature__photo {
  position: absolute;
  top: 0;
  width: 73%;
  height: auto;
  object-fit: contain;
}

/* 01・03：右寄せ */
.feature--01 .feature__photo,
.feature--03 .feature__photo {
  right: 15px;
}

/* 02：左寄せ */
.feature--02 .feature__photo {
  left: 15px;
}

/* 数字 */
.feature__number {
  position: absolute;
  z-index: 5;
  top: -10px;
  font-family: "Cormorant", serif;
  font-size: 20px;
  color: #A55D3D;
}
/* 数字の下の縦線 */
.feature__number::after {
  content: "";
  display: block;
  width: 1px;
  height: 55px;
  background: #A55D3D;
  margin: 5px auto 0;
}

/* 01・03の数字 */
.feature--01 .feature__number,
.feature--03 .feature__number {
  left: 15px;
}

/* 02の数字 */
.feature--02 .feature__number {
  right: 15px;
}

/* 手・旬・彩の装飾画像 */
.feature__decoration {
  position: absolute;
  z-index: 4;
  width: 105px;
  height: auto;
  top: 15px;
}

/* 01・03の装飾 */
.feature--01 .feature__decoration,
.feature--03 .feature__decoration {
  left: 40px;
}

/* 02の装飾 */
.feature--02 .feature__decoration {
  right: 40px;
}

/* 縦書きテキスト */
.feature__vertical {
  position: absolute;
  z-index: 3;
  writing-mode: vertical-rl;
  text-orientation: mixed;

  font-size: 26px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

/* 01・03：左側 */
.feature--01 .feature__vertical,
.feature--03 .feature__vertical {
  top: 125px;
  left: 15px;
}

/* 02：右側 */
.feature--02 .feature__vertical {
  top: 125px;
  right: 15px;
}

/* 説明文 */
.feature__description {
  padding: 40px 15px 0;
}

.feature__description p {
  font-size: 15px;
  font-weight: 400;
  line-height: 2.1;
  letter-spacing: 0.02em;
  margin-bottom: 24px;
}

.feature__description p:last-child {
  margin-bottom: 0;
}

/* ==========================
   小さいスマホ
========================== */

@media (max-width: 375px) {

  .feature__decoration {
    width: 90px;
  }

  .feature__vertical {
    font-size: 24px;
  }

}

/* ==========================
   大きいスマホ
========================== */

@media (min-width: 430px) {

  .feature__decoration {
    width: 115px;
  }
}


/* ==========================
   INSTAGRAM
========================== */

.instagram {
  width: 100%;
  padding: 90px 0 70px;
  background: #FAF8F5;
}

.instagram__inner {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  box-sizing: border-box;
	padding: 0 15px;
}

.instagram__inner .elfsight-app-97ec2971-cc2c-446e-8570-df5e0c76c3bb {
  width: 100%;
}

/* 見出し */
.instagram__heading {
  font-family: "Cormorant", serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #A55D3D;
  margin-bottom: 60px;
}

/* Instagram投稿表示エリア */
.instagram__feed {
  width: 100%;
  min-height: 500px;
  margin-bottom: 50px;
}


/* Instagramボタン */
.instagram__button {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  gap: 0;

  width: 100%;
  min-height: 75px;
  padding: 15px 20px;

  border-radius: 100px;
  background: #B96D46;

  color: #FFFFFF;
  text-decoration: none;

  transition: opacity 0.3s ease;
}

.instagram__button:hover {
  opacity: 0.8;
}

/* Instagramアイコン */
.instagram__icon {
  display: block;
  width: 25px;
  height: auto;
  flex-shrink: 0;
}

/* 縦の区切り線 */
.instagram__divider {
  display: block;
  width: 1px;
  height: 40px;
  background: #FFFFFF;
  flex-shrink: 0;
}

/* ボタンのテキスト */
.instagram__button-text {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* 右側の矢印 */
.instagram__arrow {
  font-family: "Cormorant", serif;
  font-size: 26px;
  line-height: 1;
  flex-shrink: 0;
	position: relative;
    top: -3px;
}

/* 小さいスマホ */
@media (max-width: 375px) {
  .instagram__button {
    gap: 8px;
    padding: 12px 15px;
  }

  .instagram__icon {
    width: 25px;
  }

  .instagram__divider {
    height: 35px;
  }

  .instagram__button-text {
    font-size: 12px;
  }

  .instagram__arrow {
    font-size: 22px;
  }
}


/* 小さいスマホ */
@media (max-width: 375px) {

  .instagram__inner {
    padding: 0 15px;
  }

  .instagram__heading {
    font-size: 20px;
  }

  .instagram__button {
    font-size: 15px;
    min-height: 68px;
  }

  .instagram__arrow {
    right: 20px;
    font-size: 28px;
  }
}


/* ==========================
   MENU
========================== */

.menu {
  width: 100%;
  background: #FAF8F5;
  color: #3B170B;
  overflow: hidden;
}

/* ==========================
   メインビジュアル
========================== */

.menu__main {
  position: relative;
  width: 100%;
}

/* 波型背景＋お弁当画像 */
.menu__main-image {
  display: block;
  width: 100%;
  height: auto;
}

/* 画像の上に重ねる文字 */
.menu__heading {
  position: absolute;
  z-index: 2;
  top: 15%;
  left: 0;
  width: 100%;
  padding: 0 15px;
  text-align: center;
}

/* MENU見出し */
.menu__en {
  display: block;
  font-family: "Cormorant", serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #A55D3D;
  margin-bottom: 15px;
}

/* 今日は、なにかな。 */
.menu__heading h2 {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.6;
  margin-bottom: 15px;
}

/* 説明文 */
.menu__heading p {
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}

/* ==========================
   おかず4品（Flexbox）
========================== */

.menu__foods {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;

  column-gap: 20px;
  row-gap: 40px;

  padding: 45px 20px 60px;
}

/* 各おかず */
.menu__food {
  width: calc((100% - 20px) / 2);
  min-width: 0;
  text-align: center;
}

/* おかず画像 */
.menu__food img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

/* おかず名 */
.menu__food p {
  font-family: "Noto Serif JP", serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 12px;
  white-space: nowrap;
}

/* ==========================
   小さいスマホ
========================== */

@media (max-width: 375px) {

  .menu__en {
    font-size: 16px;
    margin-bottom: 18px;
  }

  .menu__heading h2 {
    font-size: 20px;
    margin-bottom: 10px;
  }

  .menu__foods {
    column-gap: 12px;
    row-gap: 30px;
    padding: 40px 12px 60px;
  }

  .menu__food {
    width: calc((100% - 12px) / 2);
  }

}


/* ==========================
   おかず一覧
========================== */

.menu__list {
  margin: 0 20px;
  padding: 55px 25px 45px;
  background: #F7EFE7;
  border-radius: 15px;
}

/* 見出し */
.menu__list-title {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 600;
  color: #B96D46;
  text-align: center;
  letter-spacing: 0.08em;
  margin-bottom: 45px;
}

/* 2列レイアウト */
.menu__list-columns {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

/* 各列 */
.menu__list-columns ul {
  width: calc((100% - 20px) / 2);
  list-style: none;
  padding: 0;
  margin: 0;
}

/* おかず名 */
.menu__list-columns li {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.02em;
  margin-bottom: 24px;
  white-space: nowrap;
}

.menu__list-columns li:last-child {
  margin-bottom: 0;
}

/* 注意書き */
.menu__list-note {
  font-family: "Noto Serif JP", serif;
  font-size: 11px;
  line-height: 1.8;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 45px;
}

/* ==========================
   Instagram誘導
========================== */

.menu__instagram {
  padding: 60px 20px 70px;
  text-align: center;
}

/* ボタン */
.menu__instagram-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;

  width: 100%;
  min-height: 75px;
  padding: 15px 20px;

  background: #B96D46;
  border-radius: 100px;

  color: #FFFFFF;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.menu__instagram-button:hover {
  opacity: 0.8;
}

/* Instagramアイコン */
.menu__instagram-icon {
  display: block;
  width: 30px;
  height: auto;
  flex-shrink: 0;
}

/* 縦の区切り線 */
.menu__instagram-divider {
  width: 1px;
  height: 40px;
  background: #FFFFFF;
  flex-shrink: 0;
}

/* ボタン文字 */
.menu__instagram-text {
  font-family: "Noto Serif JP", serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* 矢印 */
.menu__instagram-arrow {
  font-family: Georgia, serif;
  font-size: 26px;
  line-height: 1;
  flex-shrink: 0;
}

/* ボタン下の説明文 */
.menu__instagram-note {
  font-family: "Noto Serif JP", serif;
  font-size: 11px;
  line-height: 1.8;
  letter-spacing: 0.02em;
  margin-top: 20px;
}

/* ==========================
   小さいスマホ
========================== */

@media (max-width: 375px) {

  .menu__list {
    margin: 0 15px;
    padding: 45px 15px 40px;
  }

  .menu__list-title {
    font-size: 18px;
    margin-bottom: 35px;
  }

  .menu__list-columns {
    gap: 10px;
  }

  .menu__list-columns ul {
    width: calc((100% - 10px) / 2);
  }

  .menu__list-columns li {
    margin-bottom: 22px;
  }

  .menu__instagram {
    padding: 55px 15px 65px;
  }

  .menu__instagram-button {
    gap: 8px;
    padding: 12px 15px;
    min-height: 68px;
  }

  .menu__instagram-icon {
    width: 25px;
  }

  .menu__instagram-divider {
    height: 35px;
  }

  .menu__instagram-arrow {
    font-size: 22px;
  }
}


/* ==========================
   PRICE
========================== */

.price {
  width: 100%;
  padding: 70px 0 90px;
  background: #FAF8F5;
  color: #3B170B;
  overflow: hidden;
}

/* PRICE見出し */
.price__heading {
  font-family: "Cormorant", serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #A55D3D;
  text-align: center;
  margin-bottom: 35px;
}

/* ==========================
   料金一覧
========================== */

.price__list {
  width: 100%;
  padding: 0 15px;
}

/* 各料金 */
.price__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;

  min-height: 90px;
  padding: 25px 0;

  border-bottom: 1px dashed #E8D9CF;
}

.price__item:last-child {
  border-bottom: none;
}

/* 商品名＋説明 */
.price__info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  min-width: 0;
  flex: 1;
}

.price__info h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
}

.price__info span {
  font-family: "Noto Serif JP", serif;
  font-size: 10px;
  line-height: 1.5;
  white-space: nowrap;
}

/* 金額 */
.price__amount {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex-shrink: 0;
  text-align: right;
}

.price__amount strong {
  font-family: "Noto Serif JP", serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
}

.price__amount span {
  font-family: "Noto Serif JP", serif;
  font-size: 10px;
  line-height: 1.5;
  white-space: nowrap;
}

/* 限定10食 */
.price__limited {
  position: absolute;
  z-index: 2;
  top: -15px;
  left: -10px;
  width: 65px;
  height: auto;
}

.price__item--limited .price__info {
  padding-left: 45px;
}

/* ==========================
   写真の無限ループ
========================== */

.price__slider {
  width: 100%;
  overflow: hidden;
  margin-top: 50px;
}

/* 全体を横並びに */
.price__track {
  display: flex;
  width: max-content;
  animation: price-scroll 30s linear infinite;
}

/* 6枚を横並び */
.price__slide-group {
  display: flex;
  align-items: flex-start;
  flex-shrink: 0;
  gap: 15px;
  padding-right: 15px;
}

/* 画像 */
.price__slide-group img {
  display: block;
  width: 170px;
  height: 170px;
  object-fit: cover;
  flex-shrink: 0;
}

/* 奇数番目：下にずらす */
.price__slide-group img:nth-child(odd) {
  margin-top: 30px;
}

/* 偶数番目：上の位置 */
.price__slide-group img:nth-child(even) {
  margin-top: 0;
}

/* 無限ループアニメーション */
@keyframes price-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* 動きを減らす設定のユーザー向け */
@media (prefers-reduced-motion: reduce) {
  .price__track {
    animation: none;
  }
}

/* ==========================
   小さいスマホ
========================== */

@media (max-width: 375px) {

  .price {
    padding-top: 60px;
  }

  .price__list {
    padding: 0 15px;
  }

  .price__limited {
    width: 55px;
  }

  .price__slide-group img {
    width: 145px;
    height: 145px;
  }
}


/* ==========================
   ACCESS
========================== */

.access {
  width: 100%;
  padding: 90px 0 70px;
  background: #FFFFFF;
  color: #3B170B;
  overflow: hidden;
}

/* ==========================
   見出し
========================== */

.access__heading {
  padding: 0 20px;
  margin-bottom: 65px;
}

/* ACCESS */
.access__en {
  display: block;
  font-family: "Cormorant", serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #A55D3D;
  margin-bottom: 35px;
}

/* お店までのご案内 */
.access__heading h2 {
  font-size: 23px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

/* ==========================
   店舗写真
========================== */

/* 店舗写真 */
.access__visual {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.access__visual img {
  display: block;
  width: 100%;
  height: auto;
}

/* 写真下部の白い波 */
.access__wave {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 40px;
  line-height: 0;
  z-index: 2;
}

.access__wave svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* ==========================
   店舗情報
========================== */

.access__inner {
  padding: 30px 15px 0;
}

/* ロゴ */
.access__logo {
  margin-bottom: 40px;
}

.access__logo img {
  display: block;
  width: 250px;
  max-width: 100%;
  height: auto;
}

/* 店舗情報全体 */
.access__info {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-bottom: 50px;
}

/* 各情報 */
.access__row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

/* 項目名 */
.access__row dt {
  width: 100px;
  flex-shrink: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.8;
}

/* 内容 */
.access__row dd {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.9;
}

/* 営業時間の補足 */
.access__small {
  font-size: 11px;
  white-space: nowrap;
}

/* ==========================
   Googleマップ
========================== */

.access__map {
  width: 100%;
  height: 260px;
  overflow: hidden;
}

.access__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}

/* ==========================
   小さいスマホ
========================== */

@media (max-width: 375px) {

  .access {
    padding-top: 75px;
  }

  .access__heading {
    padding: 0 15px;
    margin-bottom: 50px;
  }

  .access__en {
    font-size: 18px;
  }

  .access__heading h2 {
    font-size: 21px;
  }

  .access__inner {
    padding: 25px 15px 0;
  }

  .access__logo img {
    width: 220px;
  }

  .access__row dt {
    width: 85px;
  }

  .access__map {
    height: 260px;
  }
}


/* ACCESS上部の波型 */
.access-wave {
  width: 100%;
  height: 50px;
  background: #FAF8F5;
  line-height: 0;
}

.access-wave svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* ==========================
   Footer
========================== */

.footer {
  width: 100%;
}

.footer__main {
  background-color: #FFAB29;
  padding: 65px 15px 46px;
}

.footer__inner {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

/* ロゴ */
.footer__logo {
  width: 160px;
  margin: 0 auto 28px;
}

.footer__logo img {
  display: block;
  width: 100%;
  height: auto;
}

/* 住所 */
.footer__address {
  margin: 0 0 28px;
  color: #5B4030;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

/* リンクボタン */
.footer__links {
  display: flex;
  justify-content: center;
  gap: 18px;
}

.footer__link {
  display: flex;
  align-items: center;
  position: relative;
  width: 260px;
  min-height: 58px;
  padding: 10px 40px 10px 16px;
  border-radius: 50px;
  background-color: #FAF9F7;
  color: #5B4030;
  text-decoration: none;
  transition: opacity 0.3s;
}

.footer__link:hover {
  opacity: 0.75;
}

.footer__link img {
  width: 35px;
  height: 35px;
  object-fit: contain;
  flex-shrink: 0;
}

.footer__link span:nth-child(2) {
  flex: 1;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

/* 矢印 */
.footer__arrow {
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid #5B4030;
}

/* コピーライト */
.footer__bottom {
  background-color: #FAF9F7;
  padding: 18px 15px;
  text-align: center;
}

.footer__bottom small {
  color: #7A6558;
  font-size: 14px;
  font-weight: 400;
}


/* ==========================
   SP
========================== */

@media screen and (max-width: 767px) {

  .footer__logo {
    width: 140px;
    margin-bottom: 24px;
  }

  .footer__address {
    margin-bottom: 28px;
    white-space: nowrap;
  }

  .footer__links {
    gap: 16px;
  }

  .footer__link {
    width: calc(50% - 8px);
    min-height: 56px;
    padding: 6px 25px 6px 10px;
  }

  .footer__link img {
    width: 32px;
    height: 32px;
  }

  .footer__arrow {
    right: 12px;
    border-top-width: 5px;
    border-bottom-width: 5px;
    border-left-width: 7px;
  }

  .footer__bottom {
    padding: 18px 10px;
  }
}


/* ==========================
   NAV FOOD ILLUSTRATIONS
========================== */

/* イラスト配置エリア */
.global-nav__decor {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

/* メニューをイラストより手前に */
.global-nav__inner {
  position: relative;
  z-index: 1;
}

/* イラスト共通 */
.global-nav__food {
  position: absolute;
  display: block;
  height: auto;
  opacity: 0.9;
}

/* 左上：卵焼き */
.global-nav__food--egg {
  width: 240px;
  top: 0;
  left: -65px;
  transform: rotate(-12deg);
}

/* 右中央：唐揚げ */
.global-nav__food--chicken {
  width: 235px;
  top: 35%;
  right: -85px;
  transform: rotate(10deg);
}

/* 左下：ポテトサラダ */
.global-nav__food--potato {
  width: 220px;
  bottom: 28%;
  left: -85px;
  transform: rotate(-15deg);
}

/* 小さいスマホ */
@media (max-width: 375px) {

  .global-nav__food--egg {
    width: 200px;
    left: -60px;
  }

  .global-nav__food--chicken {
    width: 180px;
    right: -60px;
  }

  .global-nav__food--potato {
    width: 210px;
    left: -60px;
  }
	
}


/* ==========================
   PC SIDE DESIGN
========================== */

body {
  margin: 0;
  background: #EDE5DA;
}

/* 中央のサイト */
.site-wrapper {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  background: #FAF8F5;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

/* PCの左右 */
.pc-side {
  display: none;
}


/* ==========================
   PC : 1024px以上
========================== */

@media (min-width: 1024px) {

  .site-wrapper {
    width: 450px;
    box-shadow: 0 0 30px rgba(59, 23, 11, .06);
  }

  .pc-side {
    display: flex;
    position: fixed;
    top: 0;
    bottom: 0;
    width: calc((100vw - 750px) / 2);
    align-items: center;
    justify-content: center;
    z-index: 0;
  }

  .pc-side--left {
    left: 0;
  }

  .pc-side--right {
    right: 0;
  }

  /* 左右の中身 */
  .pc-side__left-inner,
  .pc-side__right-inner {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 50px 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  /* 左：ロゴ */
  .pc-side__brand img {
    width: clamp(85px, 10vw, 150px);
    height: auto;
    display: block;
  }

  .pc-side__line {
    width: 30px;
    height: 1px;
    background: #A55D3D;
    margin-top: 35px;
  }

  /* 左：縦書きコピー */
  .pc-side__catch {
    writing-mode: vertical-rl;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(13px, 1.4vw, 20px);
    line-height: 2;
    letter-spacing: .2em;
    color: #3B170B;
    margin: auto 0;
  }

  .pc-side__english {
    font-family: "Cormorant Garamond", serif;
    font-size: 15px;
    letter-spacing: .15em;
    line-height: 1.5;
    color: #A55D3D;
    margin: 0;
  }

  /* 右：SNS */
  .pc-side__sns {
    width: 100%;
    max-width: 180px;
  }

  .pc-side__sns > span {
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-size: 14px;
    letter-spacing: .15em;
    color: #A55D3D;
    margin-bottom: 18px;
  }

  .pc-side__sns a {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #B59A85;
    color: #3B170B;
    text-decoration: none;
    font-family: "Cormorant Garamond", serif;
    font-size: 20px;
  }

  /* 右：メッセージ */
  .pc-side__message {
    font-size: 19px;
  line-height: 2.5;
  letter-spacing: .15em;
  }

  /* 右：店舗情報 */
  .pc-side__shop {
    font-size: 13px;
    line-height: 2;
  }

  .pc-side__shop p {
    margin: 0;
  }

  .pc-side__shop small {
    display: block;
    font-size: 10px;
    margin-bottom: 12px;
  }
	.fv__message{
		top: 30px;
	}
	.fv{
		height: 90vh;
	}
}


/* ==========================
   タブレット・スマホ
========================== */

@media (max-width: 1023px) {

  .pc-side {
    display: none;
  }

  .site-wrapper {
    width: 100%;
  }

}

