@media screen and (min-width: 768px) {
}
/* すらいどせくしょん */
.slide-section {
 position: relative;
 padding: 2px 0;
 background-color: #000;
}
.slide-swiper {
 height: 900px; /* ← ここを変更するだけでOK（900pxでもOK） */
}
@media screen and (max-width: 767px) {
 .slide-swiper {
  height: 600px; /* スマホ時は短くする */
 }
}
.slide-swiper .swiper-slide {
 height: 100%;
 overflow: hidden;
 border-radius: 8px;
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
 background-color: #fff;
 display: flex;
 align-items: center;
 justify-content: center;
}

.slide-swiper .swiper-slide img {
 width: 100%;
 height: 100%;
 object-fit: cover; /* coverでトリミング・containなら全体表示 */
}

.slide-news {
 position: absolute;
 bottom: 5%;
 left: 50%;
 transform: translateX(-50%);
 background: rgba(0, 0, 0, 0.5);
 border: 1px solid #fff;
 color: #fff;
 padding: 20px 30px;
 font-size: 1.2rem;
 line-height: 1.6;
 max-width: 1000px; /* ← ここを広げる（例: 90% → 1200px） */
 width: 90%;
 text-align: left;
 z-index: 10;
}

.news-date {
 color: #eb9400;
 font-size: 0.9rem;
 margin-bottom: 5px;
}

.news-text {
 font-weight: bold;
 font-size: 1.1rem;
}
@media screen and (max-width: 767px) {
 .slide-news {
  padding: 15px 20px;
  font-size: 1rem;
  line-height: 1.4;
 }
 .news-text {
  font-size: 0.95rem;
 }
 .news-date {
  font-size: 0.8rem;
 }
}

/* イントロ */
.intro-section {
 background-image: url("http://3rd-dandan.jp/wp-content/themes/theme-dandan2025/assets/images/home/bg-washi.png");
 background-size: cover;
 background-position: center;
 background-repeat: no-repeat;
 padding: 60px 0px;
 text-align: center;
}

.intro-inner {
 display: flex;
 flex-direction: column;
 align-items: center;
 margin: 0 auto;
 color: #000;
}
.intro-title {
 font-family: "Noto Serif JP", serif;
 font-size: 1.6rem;
 text-align: center;
 font-weight: 500;
 line-height: 1.8;
 margin-bottom: 40px;
}

.intro-logo img {
 max-width: 300px;
 height: auto;
 margin-bottom: 40px;
}
.intro-desc {
 display: flex;
 flex-direction: column;
 align-items: center;
}
.intro-desc p {
 font-size: 1rem;
 line-height: 2;
 margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
 .intro-title {
  font-size: 3rem;
  text-align: center;
 }

 .intro-desc p {
  font-size: 1.2rem;
 }
}

/* メニュー */
.menu-select {
 padding: 2px 0;
 background: #000;
}

.menu-grid {
 display: flex;
 flex-wrap: wrap;
 gap: 5px;
}

.menu-item {
 flex: 1;
 min-width: 300px;
 height: 700px;
 background-size: cover;
 background-position: center;
 position: relative;
 overflow: hidden;
 transition: transform 0.4s ease;
 display: flex;
 align-items: center;
 justify-content: center;
 text-align: center;
}

.menu-item:hover {
 transform: scale(1.01);
}

.menu-overlay {
 background: rgba(0, 0, 0, 0.45);
 color: #fff;
 padding: 20px;
 transition: background 0.3s;
 min-width: 250px;
 text-align: center;
}

.menu-ja {
 font-family: "Noto Serif JP", serif;
 display: block;
 text-align: center;
 font-size: 2.4rem;
 font-weight: 600;
 margin-bottom: 10px;
}

.menu-en {
 font-size: 1.5rem;
 font-weight: bold;
 letter-spacing: 1px;
}

.menu-item:hover .menu-overlay {
 background: rgba(0, 0, 0, 0.7);
}

@media screen and (max-width: 768px) {
 .menu-grid {
  height: 700px;
  flex-direction: column;
 }

 .menu-item {
  height: 400px;
 }

 .menu-ja {
  font-size: 1.6rem;
 }

 .menu-en {
  font-size: 0.9rem;
 }
}

/* メニュー紹介セクション */
.menu-intro {
 background-color: #fff;
 padding: 60px 0;
 text-align: center;
}
.menu-intro02 {
 background-color: #fff;
 padding: 60px 0;
 padding-bottom: 10px;
 text-align: center;
}
.menu-intro-inner {
 display: flex;
 flex-direction: column;
 align-items: center;
 margin: 0 auto;
 color: #000;
}

.menu-icon img {
 max-width: 120px;
 height: auto;
 margin-bottom: 30px;
}

.menu-title {
 text-align: center;
 font-family: "Noto Serif JP", serif;
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 1.8;
 margin-bottom: 40px;
}

.menu-text {
 display: flex;
 flex-direction: column;
 align-items: center;
}

.menu-text p {
 font-size: 1rem;
 line-height: 2;
 margin-bottom: 10px;
}

.menu-button {
 text-align: center;
 margin-top: 40px;
}
.menu-button02 {
 text-align: center;
 margin-top: 0px;
}

/* 黒ボタン（スタイリッシュ版） */
.btn-black {
 text-align: center;
 min-width: 300px;
 display: inline-block;
 padding: 14px 40px;
 background-color: #000;
 color: #fff;
 font-size: 1rem;
 font-weight: bold;
 border-radius: 4px;
 transition: all 0.3s ease;
 text-decoration: none;
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); /* ← 影追加 */
 position: relative;
 overflow: hidden;
}

.btn-black::before {
 content: "";
 position: absolute;
 top: 0;
 left: -100%;
 width: 100%;
 height: 100%;
 background: rgba(255, 255, 255, 0.1); /* ← ホバー時の光 */
 transition: all 0.4s ease;
}

.btn-black:hover::before {
 left: 100%;
}

.btn-black:hover {
 background-color: #111;
 box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35); /* ← ホバー時さらに深く */
}

/* 白ボタン（透明背景→ホバーで反転） */
.btn-white {
 text-align: center;
 min-width: 300px;
 display: inline-block;
 padding: 14px 40px;
 background-color: transparent;
 color: #fff;
 font-size: 1rem;
 font-weight: bold;
 border: 1px solid #fff;
 border-radius: 4px;
 transition: all 0.3s ease;
 text-decoration: none;
 position: relative;
 overflow: hidden;
}

.btn-white::before {
 content: "";
 position: absolute;
 top: 0;
 left: -100%;
 width: 100%;
 height: 100%;
 background: rgba(255, 255, 255, 0.1);
 transition: all 0.4s ease;
}

.btn-white:hover::before {
 left: 100%;
}

.btn-white:hover {
 background-color: #fff;
 color: #000;
}

@media screen and (min-width: 768px) {
 .menu-title {
  font-size: 2.6rem;
 }

 .menu-text p {
  font-size: 1.2rem;
 }
}
/* ニュース */
.news-section {
 background: url("http://3rd-dandan.jp/wp-content/themes/theme-dandan2025/assets/images/home/bg-news.png")
  no-repeat center/cover;
 padding: 80px 0px;
 position: relative;
 color: #fff;
 overflow: hidden;
}

.news-bg {
 position: absolute;
 inset: 0;
 background: rgba(0, 0, 0, 0.5);
 z-index: 0;
}

/* Swiper自体を100%に */
.news-swiper {
 position: relative;
 z-index: 1;
 width: 100%;
}

/* スライド1枚 */
.news-swiper .swiper-slide {
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 20px;
}

/* メタ情報 */
.news-meta-top {
 text-align: center;
 color: #fff;
}

.news-date {
 font-size: 0.85rem;
 margin-bottom: 5px;
}

.news-title {
 font-size: 1.1rem;
 font-weight: bold;
}

/* カード（画像＋テキスト） */
.news-card {
 display: flex;
 flex-direction: row;
 background: #fff;
 color: #000;
 border-radius: 6px;
 overflow: hidden;
 max-width: 600px;
 width: 100%;
 box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.news-card-img {
 width: 50%;
}

.news-card-img img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}

.news-card-text {
 width: 55%;
 padding: 15px;
 display: flex;
 align-items: center;
 justify-content: center;
}

.news-excerpt {
 font-size: 0.95rem;
 line-height: 1.6;
 color: #000;
}

/* Swiper ナビゲーション */
.news-swiper .swiper-button-prev,
.news-swiper .swiper-button-next {
 color: #fff;
}

/* 一覧ボタン */
.news-btn-wrap {
 text-align: center;
 margin-top: 40px;
 position: relative;
 z-index: 2;
}

.btn-white {
 display: inline-block;
 padding: 12px 30px;
 color: #fff;
 border: 1px solid #fff;
 text-decoration: none;
 font-weight: bold;
 transition: all 0.3s ease;
}

.btn-white:hover {
 background-color: #fff;
 color: #000;
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
 .news-card {
  flex-direction: column;
  max-width: 90%;
 }

 .news-card-img,
 .news-card-text {
  width: 100%;
 }
}

/* メニューギャラリー */
.menu-gallery {
 background-color: #fff;
 padding: 100px 0 0;
 text-align: center;
}

.menu-gallery-inner {
 max-width: 1200px;
 margin: 0 auto;
 padding: 0 20px;
}

.menu-gallery-header .menu-icon img {
 max-width: 60px;
 margin-bottom: 30px;
}

.menu-gallery-title {
 font-family: "Noto Serif JP", serif;
 font-size: 2rem;
 line-height: 1.8;
 font-weight: 500;
 margin-bottom: 40px;
}

.menu-gallery-desc p {
 font-size: 1rem;
 line-height: 2;
 margin-bottom: 10px;
 color: #111;
}

/* グリッド：画面いっぱい */
.menu-gallery-grid {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 5px;
 margin: 10px;
}

@media screen and (min-width: 768px) {
 .menu-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 20px;
  margin-bottom: 10px;
  margin-left: 20px;
  margin-right: 20px;
 }
}
.menu-gallery-item img {
 width: 100%;
 height: auto;
 display: block;
 object-fit: cover;
}
.menu-map {
 width: 100%;
 max-width: 1200px;
 margin: 0 auto;
 border-radius: 8px;
 overflow: hidden;
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.menu-map iframe {
 width: 100%;
 height: 600px;
 display: block;
}
@media screen and (max-width: 768px) {
 .menu-map iframe {
  height: 300px;
 }
}
.slide-news {
 position: absolute;
 bottom: 5%;
 left: 50%;
 transform: translateX(-50%);
 background: rgba(0, 0, 0, 0.5);
 border: 1px solid #fff;
 color: #fff;
 padding: 20px 30px;
 font-size: 1.2rem;
 line-height: 1.6;
 max-width: 1000px;
 width: 90%;
 text-align: left;
 z-index: 10;
}

/* 枠全体がリンクになる */
.slide-news-link {
 display: block;
 color: inherit;
 text-decoration: none;
 padding: 10px 0;
}

.slide-news-link:hover {
 opacity: 0.8;
}

.slide-news .news-date {
 color: #eb9400;
 font-size: 0.9rem;
 margin-bottom: 5px;
}

.slide-news .news-text {
 font-weight: bold;
 font-size: 1.1rem;
}

@media screen and (max-width: 767px) {
 .news-link-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
 }
}
.sns-qr-area {
 margin-top: 40px;
 display: flex;
 justify-content: center;
 gap: 30px;
}
@media screen and (min-width: 768px) {
 .sns-qr-area {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 60px;
 }
}
.sns-qr-box {
 text-align: center;
}

.sns-qr-box img {
 width: 300px;
 height: auto;
 border-radius: 8px;
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 768px) {
 .sns-qr-box img {
  width: 250px;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
 }
}
.sns-caption {
 text-align: center;
 margin-bottom: 10px;
 font-size: 1rem;
 font-weight: bold;
 color: #333;
}
@media screen and (min-width: 768px) {
 .sns-caption {
  text-align: center;
  margin-bottom: 10px;
  font-size: 1.2rem;
  font-weight: bold;
  color: #333;
 }
}
