@charset "utf-8";
/* CSS Document */

body {
  margin: 0;
  overflow: hidden; /* 初期はスクロール禁止 */
	background-color: #fffaf5;
}

/* スプラッシュ画像 */
.splash {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff; /* スプラッシュ中は白背景 */
  z-index: 9999;
}

.splash img {
  width: 100%;
  height: 100%;
  object-fit: cover;

  opacity: 0;
  animation: fadeDown 2.0s ease-out forwards;
}

@keyframes fadeDown {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
/* ===== HERO ===== */
.hero {
  width: 100%;
  height: auto; /* 親も画像の高さに合わせる */
}

.hero img {
  width: 100%;    /* 横幅いっぱい */
  height: auto;   /* 縦横比を維持 */
  object-fit: none; /* 切らず拡大せず */
  transform: none;  /* 拡大・移動なし */
	transform: translateY(-100px);
 
}

@keyframes slideDownSubtle {
  0% {
    transform: scale(0.95) translateY(-200px);
    opacity: 0;
  }
  60% {
    transform: scale(1) translateY(10px);
    opacity: 1;
  }
  100% {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
}

/* ===== ローディング ===== */
.loading {
  position: fixed;
  width: 100%;
  height: 100vh;
  background: url(loading.jpg) center/cover;
  animation: fade 2s forwards;
}

@keyframes fade {
  0% { opacity:1; }
  100% { opacity:0; visibility:hidden; }
}

/* ===== ハンバーガー ===== */
.hamburger {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 3000;
  cursor: pointer;
}

.hamburger img {
  width: 50px;
}
/* ===== ナビ全体 ===== */
.nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background: rgba(255, 99, 99, 0.95);

  display: flex;
  justify-content: center;
  align-items: center;

  transform: translateX(100%);
  transition: transform 0.5s ease;
  z-index: 2000;
}

/* 開いたとき */
.nav.open {
  transform: translateX(0);
}

/* ===== メニュー横並び ===== */
.nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;

  list-style: none;
  padding: 0;
  margin: 0;
}

/* ===== 初期状態（隠す） ===== */
.nav li {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.5s ease;
}

/* ===== 開いたとき（表示） ===== */
.nav.open li {
  opacity: 1;
  transform: translateY(0);
}

/* ===== ふわっと順番に出る ===== */
.nav.open li:nth-child(1) { transition-delay: 0.1s; }
.nav.open li:nth-child(2) { transition-delay: 0.2s; }
.nav.open li:nth-child(3) { transition-delay: 0.3s; }
.nav.open li:nth-child(4) { transition-delay: 0.4s; }
.nav.open li:nth-child(5) { transition-delay: 0.5s; }

/* ===== 画像サイズ ===== */
.nav img {
  width: 200px;
  transition: transform 0.3s;
}

/* ホバー */
.nav img:hover {
  transform: scale(1.05);
}
/* ===== コンセプト ===== */
.concept {
  text-align: center;
 margin: 90px auto;
  line-height: 1.6;
  font-size: 30px;
	 font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
}

/* ===== スライダー ===== */
.slider {
  overflow: hidden;
  width: 100%;
  padding: 40px 0;
  background: #fdf0e0;
  position: relative;
}

.slider-track {
  display: flex;
  gap: 30px;
  white-space: nowrap;
  transform: translateX(0);
}

.slider-track img {
  width: 700px;
  height: 350px;
  object-fit: cover;
  border-radius: 8px;
	gap: 40px;
}

@keyframes slide {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ===== NEWS ===== */
.ticket {
  background-image: url(img/newsbg.png);
  background-size: 50% auto;
  background-position: center;
  background-repeat: no-repeat;
  padding: 80px 40px;
  position: relative;
  min-height: 600px;
  display: flex;
  justify-content: center;
  align-items: center;
	background-color:  #fffaf5;
}

.ticket ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ticket ul li {
  padding: 10px 0;
  font-size: 24px;
  color: #4B2E2E;
  text-align: left;
  border-bottom: 1px solid #4B2E2E;
}

.ticket ul li:last-child {
  border-bottom: none;
}

.ticket .newsbtn {
  position: absolute;
  bottom: 100px;
  right: 550px;
  background-color: #3B2F2F;
  color: #fff;
  padding: 10px 20px;
  border-radius: 6px;
  text-decoration: none;
  font-size: 20px;
  cursor: pointer;
  transition: transform 0.3s;
}

.ticket .newsbtn:hover {
  transform: scale(1.05);
}



.Viewmorebtn a {
  display: inline-block;
  background-color: #3B2F2F;
  color: #fff;
  padding: 10px 20px;
  border-radius: 6px;
  text-decoration: none;
  font-size: 20px;
  transition: transform 0.3s;
}

.Viewmorebtn a:hover {
  transform: scale(1.05);
}

.Viewmorebtn a:hover {
  transform: scale(1.05);
  filter: brightness(1.05); /* 少し明るく */
}

/* ===== About ===== */
.about {
  text-align: center;
  padding: 80px 20px 100px; /* ←150 → 80に */
}

.about h2 {
  margin-bottom: 10px;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 30px;
}

.about p {
  margin: 0;
  line-height: 1.6;
  font-size: 23px;
	 font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
}

/* ===== 交互レイアウト ===== */
.feature .item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 40px;
  margin: 30px 0; 
	overflow: hidden;
	 font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
}

.feature .item img {
  width: 40%;
  height: auto;
  display: block;
  flex-shrink: 0;
}

.feature .item.reverse {
  flex-direction: row-reverse;
}

.feature .item p {
  margin: 0;
  font-size: 20px;
  text-align: center;
}

.feature .item:nth-child(1) p { margin-left: 100px; }
.feature .item:nth-child(2) p { margin-right: 100px; }
.feature .item:nth-child(3) p { margin-left: 100px; }

/* ===== 動画
.video {
  width: 100%;
  height: 770px;
  overflow: hidden;
}

.video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}===== */
.pickupmenu img{
	display: block;
	margin: 200px auto  100px;
	
}
.center-text p {;
	 text-align: center;
  padding: 80px 20px 100px;
	margin: 0;
  line-height: 1.6;
  font-size: 23px;
	 font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
} 

/*.video2 {
  width: 100%;
  justify-content: center;
  box-sizing: border-box;
  background-color: #fffaf5; 
}
.video2 div {
  width: 100%;                
  max-width: none
}*/

/*.video2 img,
.video2 video {
  width: 100%;                
  height: auto;
  display: block;
  object-fit: cover;}*/
/* ===== ギャラリー ===== */
.gallery {
  width: 100%;                /* 画面幅いっぱい */
  display: flex;
  justify-content: center;    /* 横方向中央に寄せる */
  padding: 0;
  box-sizing: border-box;
}

.gallery .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3列 */
  gap: 20px;                            /* 画像間隔 */
  width: 100%;                          /* 親幅いっぱい */
  max-width: 1200px;                    /* 最大幅を制限 */
  padding: 0 20px;                      /* 画面端との余白 */
  box-sizing: border-box;
  margin: 0 auto;                       /* 左右中央 */
}

.gallery .grid img {
  width: 100%;      /* 列幅に合わせる */
  height: auto;
  display: block;
  border-radius: 8px;
}
.Viewmorebtn a {
  display: inline-block;
  background-color: #3B2F2F;
  color: #fff;
  padding: 12px 30px; /* ←余白しっかり */
  border-radius: 6px;
  text-decoration: none;
  font-size: 20px;
margin-left: 71%;
	margin-top: 20px;
  transition: transform 0.3s;
}
/* レスポンシブ：狭い画面は列を2列に */
@media (max-width: 768px) {
  .gallery .grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 10px;
  }
}
.about-area {
  background: url("img/bg-cake.png") center/cover no-repeat;
  padding-bottom: 90px;
}

/* ===== Access全体（背景） ===== */
.access {
  background: #fdf0e0; /* ベージュ */
  padding: 80px 20px;
}

/* 白カード */
.access-inner {
  max-width: 1000px;
  margin: 0 auto;
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  display: flex;
  align-items: center;
  gap: 40px;

  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
  border: 1px solid #f3e5d8;
}

/* マップ（少し縦長寄り） */
.map {
  width: 55%;
  height: 320px;
  border-radius: 10px;
  overflow: hidden;
}

/* 情報 */
.info {
  width: 45%;
}

.info h3 {
  font-size: 22px;
  margin-bottom: 15px;
  font-family: "Yu Mincho", serif;
  letter-spacing: 2px;
}

.info p {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 15px;
}

/* ===== Footer ===== */
footer {
  background: #1C2A44;
  text-align: center;
  padding: 10px 20px;
  font-size: 12px; /* ←全体を小さく */
}
footer p {
  color: #ddd;
  margin: 5px 0; /* ←詰まりすぎ防止 */
}
.menu {
  color: #f5f5f5; /* 少し柔らかい白 */
}


.small {
  font-size: 10px; /* ←小さく */
  color: #aaa;     /* ←少し薄く（任意） */
}
.to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1500;
}

.to-top img {
  width: 100px;
  height: auto;
  cursor: pointer;
  transition: transform 0.3s;
}

.to-top img:hover {
  transform: scale(1.1);
}
.banner {
  display: flex;
  justify-content: center; /* ←中央寄せ */
  gap: 20px;
  margin-top: 60px;
}

.banner img {
  width: 1000px; /* 今のサイズ維持 */
  cursor: pointer;
  transition: opacity 0.3s; /* ←暗くする用 */
}

/* ホバーで暗く */
.banner img:hover {
  opacity: 0.7;
}

.banner img:hover {
  opacity: 0.75;
  filter: brightness(90%);
}

.modal {
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}