@charset "utf-8";

.first-view {
  height: calc(100vh - 100px);
  background-image: url(../images/index/bg-main01-1.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: flex;
  align-items: center;
}

.first-view-text {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0 80px 40px;
  color: #ffffff;
  font-weight: bold;
  text-shadow: 1px 1px 10px #4b2c14;
  line-height: 5;
}

.first-view-text h1 {
  /* background-color: #dc0303; */
  font-size: 5rem;
  line-height: 100px;
}

.first-view-text {
  font-size: 2.5rem;
}


.second-view {
  height: calc(100vh - 100px);
  position: relative;
  display: flex;
  align-items: center;
}

/* ↓背景画像専用のレイヤー */
.second-view::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/index/bg-main02-2.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  /* ↓ここで透過度を調整！ */
  opacity: 0.3;
  /* ↓ 文字の後ろに配置マイナスにしないと出てこない */
  z-index: -1;
}

.lead {
  max-width: 1200px;
  width: 100%;
  margin: 60px auto;
}

.lead p {
  line-height: 3;
  text-align: center;
  /* 最初は透明にしておく */
  opacity: 0;
}

/* --- JavaScriptでこのクラスがついた時にアニメーションを実行 --- */
.lead p.is-show {
  animation: zoomIn 2.5s forwards;
  /* forwardsはアニメーション終了時の状態を維持する設定 */
}

/* アニメーションの中身 */
@keyframes zoomIn {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.link-button-area {
  text-align: center;
  margin-top: 40px;
}

.link-button {
  background-color: #d09747;
  display: inline-block;
  min-width: 200px;
  line-height: 50px;
  border-radius: 24px;
  font-size: 20px;
  cursor: url(../images/index/coffee_beans3.png), pointer;
}

.link-button:hover {
  background-color: #8e6224;
}

.recommended {
  background-color: #e7e6e6;
  padding: 45px 0 30px;
}

.recommended h2 {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 40px;
}

.recommended h2::after {
  content: '';
  display: block;
  width: 36px;
  height: 3px;
  background-color: #333;
  margin: 20px auto 0;
}

.text {
  text-align: center;
  font-size: 1.5rem;
}

.text h3 {
  font-size: 2rem;
  line-height: 3;
}

.text p {
  font-size: 1.8rem;
  line-height: 2;
}

.item-list {
  display: flex;
  justify-content: center;
  gap: 40px;
  padding: 20px 20px;
  list-style: none;
}

.item-list li {
  width: 100%;
  max-width: 400px;
  text-align: center;
}

.text-1 {
  text-align: center;
}

.text-1 h3 {
  font-size: 2rem;
  line-height: 3;
}

.text-1 p {
  font-size: 1.8rem;
  line-height: 2;
}

.item-list img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.item-list02 {
  display: grid;
  /* flexからgridに変更 */
  grid-template-columns: 1fr 1fr;
  /* 2列にする設定 */
  gap: 30px;
  /* 画像同士の隙間 */
  max-width: 900px;
  /* 4枚全体の幅を抑える */
  margin: 0 auto;
  /* 全体を真ん中に寄せる */
  padding: 20px;
  list-style: none;
}

/* 各リスト項目の設定をリセット */
.item-list02 li {
  width: 100%;
  max-width: none;
  /* 前の制限を解除 */
}

.item-list02 img {
  width: 100%;
  height: auto;
}

/* Instagramリンクの色を指定 */
.example1 a {
    color: #d09747; /* ここに好きな色を入れてください（例：トマト色） */
    cursor: url(../images/index/coffee_beans3.png), pointer;

  }

/* マウスを乗せた時の色（ホバー時） */
.example1 a:hover {
    color: #8e6224; /* ホバー時に少し濃くするなど */

  }


.example p {
  padding-left: 50px;
}

.example1 p{
  font-size: 1.2rem;
  margin-top: 10px;
  padding-left: 50px;
  line-height: 50px;
}

.map h3 {
  font-size: 2rem;
  text-align: center;
  /* padding: 0px 0 10px 0;  */
  /* margin: 50px; */
}

.map h3::after {
  content: '';
  display: block;
  width: 40px;
  height: 6px;
  background-color: #000000;
  margin: 20px auto;
}


.map {
  width: 930px;
  max-width: 90%;
  margin: 75px auto 0;
}

.map iframe {
  display: block;
  width: 100%;
  height: 400px;
  margin: 50px auto 100px;
}


@media (max-width: 800px) {
  /* --- メインビジュアル (First View) --- */
  .first-view {
    height: auto !important; min-height: calc(100vh - 50px);
    display: flex; align-items: flex-start !important; padding-top: 80px;
  }
  .first-view-text { width: 100%; padding: 0 20px; line-height: 1.4 !important; }
  .first-view-text h1 { font-size: 2.2rem !important; line-height: 1.2 !important; margin-bottom: 15px; height: auto !important; }
  .first-view-text p { font-size: 1.0rem !important; line-height: 1.6 !important; }

  /* --- コンセプトエリア --- */
  .second-view { height: auto !important; padding: 80px 20px; }
  .lead p { font-size: 1.1rem; line-height: 1.8; height: auto !important; }

  /* --- おすすめメニュー数字被り対策 --- */
  .text h3, .text p, .text-1 h3, .text-1 p {
    font-size: 1.4rem; height: auto !important; line-height: 1.6 !important;
    letter-spacing: 0.08em !important; font-feature-settings: "palt" 0 !important;
    display: block; width: 100%;
  }
  .item-list { display: flex; flex-direction: column; align-items: center; gap: 20px; }
}