.sub_mv {
  margin-bottom: 50px;
}

.food-content {
  padding-top: 175px;
  text-align: center;
  padding-bottom: 150px;
}

.extra {
margin-top: 55px;
margin-bottom: 250px;
}
.extra .extra-title {
  font-size: 24px;
  line-height: 32px;
  text-align: center;
  margin-bottom: 85px;
}

.extra .extra-list {
  display: grid;
  grid-template-columns: 45% 45%;
  justify-content: space-between;
}

.extra .extra-list .extra-content {
  display: flex;
  justify-content: space-evenly;
  margin-bottom: 20px;
  position: relative;
}
.extra .extra-list .extra-content .extra-left {
  width: 120px;
  font-size: 16px;
  line-height: 30px;
}
.extra .extra-list .extra-content .extra-right {
  font-size: 18px;
  line-height: 30px;
}
.extra .extra-list .extra-content .extra-right span {
  font-size: 12px;
}
.extra .extra-list .extra-content:after {
  position: absolute;
  content: "";
  display: block;
  max-width: 440px;
  width: 100%;
  bottom: 0;
  height: 1px;
  background-color: #707070;
}
.extra .extra-body {
  font-size: 12px;
  line-height: 20px;
  list-style-type: disc;
  list-style-position: outside;
  -webkit-padding-start: 10rem;
		  padding-inline-start: 10rem;
  margin-top: 60px;
  margin-bottom: 85px;
}

.extra .extra-btn {
  max-width: 1024px;
  margin: auto;
  padding: 50px 0;
  width: 100%;
  border: 1px #707070 solid;
  font-size: 24px;
  line-height: 32px;
  display: flex;
  justify-content: space-between;
  text-align: center;
  position: relative;
}

  .extra .extra-btn .btn-content {
	padding: 20px 2rem;
	margin-top: 30px;
  }
  
  .extra .extra-btn .btn-red {
	display: inline-block;
	color: white;
	background-color: #C56D72;
  }
  .extra .extra-btn > div {
	width: 50%;
	height: 155px;
  }
  .extra .extra-btn:after {
	position: absolute;
	content: "";
	display: block;
	width: 0.5px;
	height: 195px;
	background-color: #707070;
	right: 0;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  }


.plan .plan-title {
	font-size: 24px;
	line-height: 32px;
	margin-top: 135px;
	margin-bottom: 55px;
	text-align: center;
  }
  .plan .plan-content {
	display: flex;
	margin-bottom: 25px;
	justify-content: space-between;
  }
  
  .plan .plan-content .plan-right .right-title {
	font-size: 16px;
	line-height: 21px;
	text-align: center;
	margin-bottom: 25px;
  }
  .plan .plan-content .plan-right .right-mid {
	font-size: 18px;
	line-height: 30px;
  }
  .plan .plan-content .plan-right .right-mid span {
	font-size: 12px;
  }
  .plan .plan-content .plan-right hr {
	width: 100%;
	height: 1px;
	background-color: #707070;
	margin-top: 0;
  }
  
  
  
  .plan .plan-content .plan-right .right-content {
	font-size: 16px;
	line-height: 30px;
	margin-bottom: 15px;
	width: 20%;
  }
  
  .plan .plan-content .plan-right .right-content2 {
	font-size: 16px;
	line-height: 30px;
	margin-bottom: 15px;
  }

  
  .plan .plan-content .plan-right .plan-wrap {
	display: flex;
	margin-bottom: 20px;
  }
  
  .plan .plan-content .plan-right .right-body {
	font-size: 14px;
	line-height: 30px;
	width: 80%;
  }
  
  .plan .plan-content .plan-right .right-body .cuisineTitle::before {
	display: inline-block;
	margin: 0 3px 0 8px;
	width: 10px;
	height: 10px;
	content: '';
	border-radius: 100%;
	background:#c0c0c0;
  }
  
  .plan .plan-content .plan-right .right-body .cuisineImage {
	display: flex;
	flex-direction: row-reverse;
	font-size: 11px;
  }
  
  .plan .plan-content .plan-right .right-body2 {
	font-size: 14px;
	line-height: 30px;
  }
  
  .plan .plan-content .plan-right .right-sub {
	  font-size: 13px;
	  line-height: 25px;
	  margin-top: 26px;
  }
  
  .plan .plan-content .plan-right {
	width: calc(50% - 20px);
  }
  
  .plan .plan-content .plan-left {
	width: calc(50% - 20px);
  }

/* スライドの外枠 */
  .slideshow-container {
      position: relative;
      width: 100%;
      height: 750px; /* ここでお好みの高さ（600pxや800pxなど）を指定 */
      overflow: hidden;
      margin-top: -40px; /* ヘッダーの高さ分（適宜調整）引き上げる */
      z-index: 10;
  }
  
  /* 各スライドの基本設定 */
  .slide-item {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      opacity: 0; /* 基本は消しておく */
      animation: fadeAnimation 15s infinite; /* 15秒かけて1周 */
  }
  
  .slide-item img {
      width: 100%;
      display: block;
  }
  
  /* 各スライドの開始タイミング 
     3枚の場合、全体の1/3（5秒）ずつずらします
  */
  .slide-item:nth-child(1) { animation-delay: 0s; }
  .slide-item:nth-child(2) { animation-delay: 5s; }
  .slide-item:nth-child(3) { animation-delay: 10s; }
  
  /* じわっと切り替わるアニメーション
     0%〜10%でじわっと出て、しばらく表示、40%〜50%でじわっと消える
  */
  @keyframes fadeAnimation {
      0% { opacity: 0; }
      10% { opacity: 1; }  /* ここで「じわっ」と表示完了 */
      35% { opacity: 1; }  /* 表示を維持 */
      45% { opacity: 0; }  /* ここで「じわっ」と消える */
      100% { opacity: 0; }
  }

/* LP画像コンテンツエリア */
  .lp-image-wrap {
      width: 100%;
      line-height: 0;   /* 画像下のわずかな隙間を解消 */
      font-size: 0;      /* インライン要素の隙間対策 */
      margin: 0 auto;
  }
  
  .lp-image-wrap img {
      width: 100%;       /* 横幅いっぱいに広げる */
      height: auto;      /* 比率を維持 */
      display: block;    /* 画像をブロック要素化して隙間を防止 */
      margin: 0;         /* 余白をリセット */
      padding: 0;
  }

  


@media only screen and (max-width: 767px) {
  .food-content {
	padding-top: 75px;
	padding-bottom: 50px;
  }
  .extra {
  margin: 30px 0 150px;
}
  .extra .extra-title {
	margin-bottom: 40px;
  }
  .extra .extra-list {
  grid-template-columns: 100%;
  max-width: 405px;
  margin: auto;
}
  .extra .extra-body {
  width: 80%;
  margin: auto;
  -webkit-padding-start: 0;
		  padding-inline-start: 0;
  margin-top: 30px;
  margin-bottom: 40px;
}
  .extra .extra-btn {
  flex-direction: column;
  max-width: 450px;
  width: 100%;
  padding: 30px 0;
  font-size: 22px;
  height: 350px;
}
  .extra .extra-btn .btn-content {
	padding: 10px 2rem;
	margin-top: 15px;
  }
  
  .extra .extra-btn > div {
	width: 100%;
	height: auto;
	height: 100px;
  }
  .extra .extra-btn:after {
	max-width: 350px;
	width: 95%;
	height: 1px;
  }
}

.btn_reserve_fixed {
    position: fixed;
    bottom: 30px;      /* 画面下からの距離を少し広げました */
    left: 50%;         /* 左から50%の位置へ */
    transform: translateX(-50%) translateY(20px); /* 中央寄せにしつつ、初期位置を少し下に */
    z-index: 99999 !important;
    width: 80%;        /* ボタンの横幅（500pxのコンテンツに対しての割合） */
    max-width: 400px;  /* 大きくなりすぎないための最大幅 */
    opacity: 0;
    visibility: hidden;
    transition: all 0.6s ease;
}

/* 通常の表示状態（is-showがついている時） */
.btn_reserve_fixed.is-show {
    opacity: 1 !important;
    visibility: visible !important;
    bottom: 30px; /* 通常時の高さ */
    transform: translateX(-50%) translateY(0);
}

/* 最下部（フォームボタン付近）に到達した時 */
.btn_reserve_fixed.is-bottom {
    /* 消さずに、表示したまま位置を下げます。
       数値を 0 や 5px などに小さくすると、より画面の底に張り付きます。
    */
    bottom: 5px !important; 
    transition: bottom 0.3s ease; /* 位置移動をスムーズに */
}

.food-content .content-title {
  font-size: 24px;
  line-height: 32px;
  margin-bottom: 70px;
}


.form-area {
    background: #fff;       /* 背景を白に固定 */
    padding-bottom: 120px;  /* 下側に120pxの余白を作って背景を伸ばす */
    margin-bottom: 0;       /* 外側の余白をリセット */
}

.lp-image-wrap iframe {
    width: 100%;
    display: block; /* 下の隙間を消す */
    margin: 0;
    padding: 0;
}

/* 地図全体を灰色（モノクロ）にする */
.lp-image-wrap iframe {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%); /* Safari用 */
    
    /* 少し明るさやコントラストを調整して見やすくする場合 */
    /* filter: grayscale(100%) brightness(1.1) contrast(0.9); */
}

/* 1. 地図を表示したいエリアの設定 */
.map-wrapper {
    width: 100%;
    height: 450px;   
    overflow: hidden; 
    position: relative;
   
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
}

.lp-image-wrap iframe {
    width: 100% ;
    display: block ;
    margin: 0 ;
    padding: 0 ;
    height: 450px; /* お好みの高さに戻してください */
    filter: grayscale(100%); /* 灰色の設定だけ残す場合はこちら */
}

@media only screen and (max-width: 767px) {
  .food-content .content-title {
	margin-bottom: 40px;
  }
}

.food-detail {
  margin-bottom: 150px;
}
@media only screen and (max-width: 767px) {
  .food-detail {
	margin-bottom: 50px;
  }
  
  .food-detail .detail-content .restaurant-menu {
	margin: 0 auto;
	text-align: center;
  }
  
  .food-detail .detail-content .restaurant-menu a{
	background-color: #0D3246;
	line-height: 30px;
	text-align: center;
	color: white;
	padding: 15px 30px;
  }
  
  
}
.food-detail .detail-content .detail-top {
  display: flex;
  justify-content: space-between;
}



.food-detail .detail-content .restaurant-menu {
	margin: 50px auto 50px;
	text-align: center;
}

.food-detail .detail-content .restaurant-menu a {
	background-color: #0D3246;
	line-height: 30px;
	text-align: center;
	color: white;
	padding: 15px 40px;
}

/* 1. 親要素：必ず relative を指定してボタンの基準にする */
.map-link-container {
    position: relative !important;
    width: 100% !important;
    display: block !important;
    line-height: 0 !important;
}

/* 2. 黄色の文字ボタン：絶対位置で画像の上に浮かせる */
.yellow-text-btn {
    position: absolute !important;
    z-index: 100 !important; /* 数字を大きくして最前面に */
    display: block !important;
    
    /* --- 位置の調整 --- */
    bottom: 140px !important;  /* 【ここを増やすと上へ動く】 */
    left: 48.5px !important;    /* 【ここを増やすと右へ動く】 */
    
    /* --- サイズの調整 --- */
    width: 120px !important;  /* ボタンを小さく固定 */
}

/* 3. ボタン画像そのものの設定 */
.yellow-text-btn img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* pictureタグをブロック要素にして画像サイズを維持する */
picture {
    display: block;
    width: 100%;
}

.lp-image-wrap picture img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
}


@media only screen and (max-width: 767px) {
  .food-detail .detail-content .detail-top {
	flex-direction: column-reverse;
  }
}
.food-detail .detail-content .detail-top .left {
  width: calc(50% - 30px);
}
@media only screen and (max-width: 767px) {
  .food-detail .detail-content .detail-top .left {
	width: 100%;
  }
}
.food-detail .detail-content .detail-top .left .left-title {
  font-size: 16px;
  line-height: 21px;
  text-align: center;
}
.food-detail .detail-content .detail-top .left .left-content {
  font-size: 14px;
  line-height: 30px;
  margin-top: 30px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .food-detail .detail-content .detail-top .left .left-content {
	margin-top: 25px;
	margin-bottom: 30px;
  }
}
.food-detail .detail-content .detail-top .right {
  width: calc(50% - 30px);
}
@media only screen and (max-width: 767px) {
  .food-detail .detail-content .detail-top .right {
	width: 100%;
	margin-bottom: 30px;
  }
}
.food-detail .detail-content .detail-bottom {
  max-width: 940px;
  width: 95%;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .food-detail .detail-content .detail-bottom {
	width: 100%;
  }
}
.food-detail .detail-content .detail-bottom .bottom-content {
  margin-top: 80px;
  display: grid;
  grid-template-columns: 50% 50%;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .food-detail .detail-content .detail-bottom .bottom-content {
	grid-template-columns: 100%;
	margin: auto;
	max-width: 405px;
	margin-bottom: 20px;
  }
}
.food-detail .detail-content .detail-bottom .bottom-content > div {
  display: flex;
  align-items: center;
  font-size: 12px;
  justify-content: space-between;
  margin-bottom: 15px;
}
.food-detail .detail-content .detail-bottom .bottom-content > div .left {
  width: 100px;
  background-color: #0D3246;
  line-height: 30px;
  text-align: center;
  color: white;
}
.food-detail .detail-content .detail-bottom .bottom-content > div .right {
  width: calc(100% - 100px);
  padding-left: 25px;
  line-height: 20px;
}
.food-detail .detail-content .detail-bottom .bottom-list {
  font-size: 12px;
  line-height: 20px;
  list-style-position: outside;
  list-style: disc;
}
@media only screen and (max-width: 767px) {
  .food-detail .detail-content .detail-bottom .bottom-list {
	width: 80%;
	margin: auto;
  }
}

.food-map {
  padding: 90px 0;
}
.food-map .map-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .food-map .map-content {
	flex-direction: column-reverse;
  }
}
.food-map .map-content .map-left {
  width: calc(50% - 20px);
}
@media only screen and (max-width: 767px) {
  .food-map .map-content .map-left {
	width: 100%;
  }
}
.food-map .map-content .map-left .left-title {
  font-size: 16px;
  line-height: 21px;
  text-align: center;
}
.food-map .map-content .map-left .left-content {
  font-size: 14px;
  line-height: 30px;
  margin-top: 30px;
}
.food-map .map-content .map-right {
  width: calc(50% - 20px);
}
@media only screen and (max-width: 767px) {
  .food-map .map-content .map-right {
	width: 100%;
	text-align: center;
	margin-bottom: 30px;
  }
}

@media only screen and (max-width: 767px) {
  .plan .plan-content {
	flex-direction: column;
	align-items: center;
  }
  
  .plan .plan-content .plan-left {
	width: 90%;
	text-align: center;
	margin-bottom: 20px;
  }
	
  .plan .plan-content .plan-left {
	  width: 90%;
	  text-align: center;
	  margin-bottom: 20px;
  }
  .plan .plan-content .plan-right {
	  width: 90%;
  }
  .plan .plan-content .plan-right .right-sub {
	  font-size: 13px;
	  line-height: 18px;
	  margin-top: 20px;
  }
  
  .plan .plan-content .plan-right .right-content {
	  font-size: 16px;
	  line-height: 30px;
	  margin-bottom: 15px;
	  width: 40%;
  }
  
  .plan .plan-content .plan-right .right-body {
	  font-size: 14px;
	  line-height: 30px;
	  width: 60%;
  }

}
/*# sourceMappingURL=style.css.map */