@charset "utf-8";

/*=======
button
=======*/
.toggle-menu-button {
  display: none;
}

.button {
  background-color: #b6854f;
  color: #fffef3;
  border:solid 4px #b6854f;
  padding: 4px 30px;
  border-radius: 30px;  
  text-decoration: none;
  font-size: 24px;
  display: block; 
    margin: 48px auto;
    width: fit-content;
  }

.button:hover { 
  background-color: #fffef3;
  color: #b6854f;
}

/* ================================
動画と全体の配置
================================= */
.video-container {
  display: block;
  width: 60%; 
  height: 100vh;
  overflow: hidden;
}

.video-container video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sticky {  
  position: sticky;
  top: 0;
  left: 0;
}

/* スマホ用の見出しはパソコン時は消しておく */
.sp-title {
  display: none;
}

.content {
  display: flex;
  width: 100%;
}

.main {
  width: 40%; 
  margin-top: 90px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  background-color: #fffef388; /* 背景色（お好みの色に変えてください） */
  position: relative;
  z-index: 2; /* スクロールした時に動画の上に重なるようにする設定 */
}

.main .topimg {
  width: 90%;
  margin: 60px auto 48px;
} 

.main p { 
  width: 80%;
  line-height: 1.6em;
  font-size: 24px;
  margin: 0 auto;
}

/* うどん・鍋 一覧 */
.kodawari {
  width: 90%;
  margin: 60px auto 0;
}

.flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.flex img {
  width: 50%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.flex .left,
.flex .right {
  width: calc(50% - 16px);
  box-sizing: border-box;
}

.flex .left {
  margin-left: 16px;
}

.reverse {
  flex-direction: row-reverse;
}

.reverse .right {
  margin-right: 16px;
}


/* ======================================================
 タブレット・スマホ用の設定
====================================================== */
@media screen and (max-width: 1024px) {
  
  .content {
    display: block; 
    position: relative;
  }

  .video-container {
    position: fixed; 
    z-index: 1; 
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }

  .video-container video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 177.77777778vh; 
    height: 56.25vw; 
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
  }

  .sp-title {
    display: block; 
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    text-shadow: 0 0 15px #666;
    white-space: nowrap; 
    font-size: 48px;
  }

  .main {
    width: 100%;
    margin-top: 100vh; 
    padding: 80px 0;
    background: #fffef3; 
    position: relative;
    z-index: 10; 
  }

  .main .pc-title {
    display: none;
  }

  .main p {
    font-size: 18px; 
  }

  .flex, 
  .flex.reverse {
    flex-direction: column;
    align-items: center;
  }

  .flex img,
  .flex .left,
  .flex .right {
    width: 90%;
    margin: 0 auto;
  }


  .flex .left,
  .flex .right {
    margin-top: 20px;
    text-align: left;
}
}
