@charset "UTF-8";
/*==========================================
mainViewのスタイル（初期設定 最大：767px）
===========================================*/
.mainView {
  position: relative;
  background-attachment: fixed; /* 背景を固定 */
}
.bg-slider {
  width: 100vw;
  height: 100vh;
  background-position: center center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 100;
}
/* -----メイン画像ロゴ----- */
.bg-slider .pc {
  display: none;
}
/* -----共通----- */
.subtitle1, .subtitle2 {
  padding-bottom: 0.5em;
}
.subtitle1 img, .subtitle2 img {
  width: 95%;
  height: auto;
}
img {
  border-radius: 5px;
}
.shadow {
  box-shadow: 2px 2px 4px;
}
/* -----notice-box----- */
.notice-box {
  background: #ffffff;
  border: 1px solid #ccc;
  padding: 16px;
  border-radius: 8px;
  margin: 16px 0;
}
.notice-box h3 {
  margin-top: 0;
  font-size: 1.2em;
}
.notice-box p {
  margin: 8px 0 0 0;
  line-height: 1.5;
}
/* リスト本体の余白リセット */
.notice-box .notice-list {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}
/* 各項目 */
.notice-box .notice-list li {
  position: relative;
  padding-left: 20px; /* マーカー分のインデント */
  margin-bottom: 12px; /* 項目間の余白 */
  line-height: 1.6; /* 読みやすく */
  color: #333; /* テキスト色はお好みで */
  font-size: 0.95em; /* 少し控えめサイズ */
  text-align: left;
}
/* マーカー（前の●） */
.notice-box .notice-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em; /* テキスト行の中央に合うよう調整 */
  width: 6px;
  height: 6px;
  background: #bfa046; /* ゴールド系アクセント */
  border-radius: 50%;
}
/* -----accent（クーポン）----- */
.accent {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.accent img {
  width: 90%;
  border-radius: 5px;
  max-width: 806px;
  margin-top: 1em;
  margin-bottom: 1em;
}
/* -----memo---- */
.memo {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  border: thin solid #FECA4E;
  padding: 10px;
  background-color: hsla(0, 0%, 100%, 0.75);
  text-align: center;
  border-radius: 8px;
}
.memo h3 {
  position: relative; /* 疑似要素を配置するために親を相対位置に */
  margin-bottom: 0.85em; /* 下の余白を少し開ける */
}
.memo h3::after {
  content: ""; /* 空のコンテンツ */
  display: block; /* ブロック要素化 */
  width: 50px; /* 線の長さ（お好みで調整） */
  height: 4px; /* 線の太さ */
  background-color: #FECA4E; /* .memo の枠色と合わせる */
  margin: 0 auto; /* 中央寄せ */
  border-radius: 2px; /* 高さの半分で両端を半円に */
}
.memo p {
  text-align: justify;
}
.memo dl {
  text-align: left;
  margin-left: 5px;
  margin-right: 5px;
  margin-top: 1em;
  margin-bottom: 1em;
}
.memo dl dt {
  background-color: #000000;
  padding: 5px;
  color: #FFFFFF;
  margin-bottom: 0.5em;
}
.memo dl dd {
  margin-bottom: 0.5em;
}
/*==========================================
greetingのスタイル（初期設定 最大：767px）
===========================================*/
#greeting {
  margin-top: 7.5em;
  margin-bottom: 3em;
}
#greeting .greeting-inner {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 2em;
  padding-top: 2em;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  padding-left: 20px;
  padding-right: 20px;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
}
.content1 .textWrap {
  padding-left: 0.8em;
  padding-right: 0.8em;
}
.textWrap .text1.move_left2 h2 {
  margin-bottom: 1.5em;
  text-align: center;
  font-size: 1.2em;
  padding: 1em;
  font-family: "Libre Baskerville", serif;
  font-weight: 700;
  position: relative;
  color: #7A1818;
  border-bottom: thin solid #7A1818;
  border-top: thin solid #7A1818;
  background-color: hsla(0, 0%, 100%, 0.50);
  line-height: 1.6;
}
.textWrap .text1.move_left2 h2 span.line-break {
  display: block;
  margin-top: 10px;
}
.textWrap .text1.move_left2 p {
  line-height: 1.9;
  margin-bottom: 0.5em;
}
/*==========================================
galleryのスタイル（初期設定 最大：767px）
===========================================*/
.gallery {
  margin-bottom: 3em;
  margin-top: 5.5em;
}
#gallery .gallery-inner {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 2em;
  padding-top: 2em;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  padding-left: 20px;
  padding-right: 20px;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
  text-align: center;
}
div.vid_contents {
  width: 100%; /*背景色を横幅いっぱいに広げる*/
  text-align: center;
  margin: auto;
}
.gallery-inner ul {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  /* スマホサイズでのみ横スクロール */
  overflow-x: auto; /* 横スクロールを有効化 */
  white-space: nowrap; /* li要素を折り返さない */
}
.gallery-inner ul li {
  margin-bottom: 1em;
  display: inline-block; /* 横並びにする */
  margin-right: 0.5em; /* li要素間の余白 */
  margin-left: 0.5em; /* li要素間の余白 */
}
.gallery-title {
  font-size: 1.4em;
  margin: 30px 0 15px;
  text-align: center;
  font-family: 'Georgia', 'Times New Roman', serif;
  color: #1C110D; /* ← 変更しました */
  letter-spacing: 1px;
  position: relative;
}
.gallery-title::after {
  content: "";
  display: block;
  width: 40px;
  height: 3px; /* 少し太くすると丸みが目立ちやすい */
  background: #1C110D;
  margin: 8px auto 0;
  border-radius: 5px; /* ← ここを大きくすると丸みが出ます */
  opacity: 0.7;
}
/*==========================================
priceのスタイル（初期設定 最大：767px）
===========================================*/
.price {
  margin-bottom: 5.5em;
  margin-top: 3em;
}
#price .price-inner {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 2em;
  padding-top: 2em;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  padding-left: 20px;
  padding-right: 20px;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
  text-align: center;
}
.plan-table .plan {
  max-width: 820px;
  background-color: #FFFDF5;
  color: #2B2B2B; 
	border: 1px solid #BFA046;
	border-radius: 5px;
  margin-bottom: 1em;
  padding: 1em 0.5em;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-weight: bold;
}

.price-inner h3{
  font-size: 1.4em;
  margin: 30px 0 15px;
  text-align: center;
  font-family: 'Georgia', 'Times New Roman', serif;
  color: #1C110D; /* ← 変更しました */
  letter-spacing: 1px;
  position: relative;
}
.price-inner h3::after {
  content: "";
  display: block;
  width: 40px;
  height: 3px; /* 少し太くすると丸みが目立ちやすい */
  background: #1C110D;
  margin: 8px auto 0;
  border-radius: 5px; /* ← ここを大きくすると丸みが出ます */
  }
.plan-item {
  display: flex;
  flex-wrap: wrap; /* 折り返し可 */ justify-content: center;
  align-items: center;
  gap: 0.5em;
  margin-bottom: 1.5em;
}
.plan-item:last-child {
  margin-bottom: 0;
}
.plan-item .plan-prices {
  font-size: 90%;
}
.plan-item .plan-prices .min .en {
  font-size: 70%;
} /* 時間と通常料金の間に「・・・」を挿入（共通では非表示） */ .plan-prices .normal::before {
  content: "・・・";
  display: none;
  margin: 0 0.5em;
} /* プライマリグループ */ 
.plan-campaign {
  display: flex;
  align-items: center;
  gap: 0.25em;
}
.plan-item .arrow {
  font-size: 1em; /* 矢印アイコンのサイズ */ color: inherit; /* 親の文字色に合わせる */ display: inline-block;
  vertical-align: middle;
}
.campaign-label {
  background-color: #c62828;
  color: #fffbe6;
  border: 1px solid #ffd700; /*padding: 1px 4px;*/ border-radius: 3px;
  font-size: 0.65em;
  font-weight: bold;
  letter-spacing: 0.5px;
  margin-right: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.5em;
  line-height: 1.2;
  padding: 0 0.4em;
}
.campaign-price {
  color: #3B1D0E;
}
/* ========== フード：横スクロールのカード列 ========== */

/* 横スクロールの列：高さをそろえる */
.scroll-x {
  display: flex;
  align-items: stretch;                 /* 子要素の高さを行の高さに合わせる */
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 8px 4px 12px;
}

/* 各カード（.plan-table）を“同じ高さ”に */
.scroll-x .plan-table {
  flex: 0 0 100%;                       /* SP: 1枚表示（既存のまま） */
  display: flex;                        /* 子の .plan を伸ばすため */
  scroll-snap-align: start;
  min-width: 0;
}

/* カード本体を縦積み＋高さ100%にして均等化 */
.scroll-x .plan-table .plan {
  max-width: none;
  width: 100%;
  height: 100%;                         /* ← equal height のキモ */
  display: flex;
  flex-direction: column;
}

/* 画像の高さブレを防止（どの比率でも同じ見え方に） */
.scroll-x .plan-table .plan img {
  width: 100%;
  aspect-ratio: 16 / 9;                 /* 任意の比率。固定高にしたいなら height:160px; でも可 */
  object-fit: cover;                     /* 余白なくトリミング */
  display: block;
}
.charge-info {
   text-align: center;
  margin: 2em auto;
  padding: 1em 1.5em;
  max-width: 500px; /* 横幅を限定して中央に配置 */
  background-color: #fffdf5; /* アイボリー背景 */
  border: 1px solid #bfa046; /* ゴールド枠 */
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05); /* ほんのり影 */
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #3b1d0e; /* ロゴ系の濃茶 */
}

.charge-info p {
  margin: 0.4em 0;
}

.charge-info p span.jp {
  font-weight: 700;
  color: #bfa046; /* ゴールドで強調 */
  margin-right: 0.2em;
}

.charge-info p span.en {
  font-size: 0.9em;
  opacity: 0.8;
  margin-left: 0.2em;
}


/*==========================================
accessImgのスタイル（初期設定 最大：767px）
===========================================*/
#accessImg {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  clear: both;
  padding-top: 2em;
}
#accessImg .accessTitle h2 {
  display: inline-block;
  position: relative;
  margin-top: 2em;
  margin-bottom: 1em;
  color: #030201;
  font-size: 1.5em;
  text-align: center;
}
#accessImg .accessTitle {
  text-align: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
#accessImg .accessTitle h2:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px; /*下線の上下位置調整*/
  display: inline-block;
  width: 50px; /*下線の幅*/
  height: 4px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #030201; /*下線の色*/
}
#accessImg h3 {
  margin-top: 1em;
  font-size: 1em;
  padding: 0.5em;
  color: #030201;
  border: thin solid #030201;
  background-color: hsla(0, 0%, 100%, 0.70);
}
#accessImg ul {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  /* スマホサイズでのみ横スクロール */
  overflow-x: auto; /* 横スクロールを有効化 */
  white-space: nowrap; /* li要素を折り返さない */
}
#accessImg ul li {
  margin-bottom: 1em;
  display: inline-block; /* 横並びにする */
  margin-right: 0.5em; /* li要素間の余白 */
  margin-left: 0.5em; /* li要素間の余白 */
}
.info-inner .info table {
  width: 100%;
}
/*.info .move_left2 img {
	max-width: 507px;
	margin-left: auto;
	margin-right: auto;
}*/
/* アクセス見出しロゴのセンタリング（確実版） */
.info-inner .info h3.move_left2 {
  text-align: center;         /* 親で中央寄せ */
  transform: none !important; /* ← アニメのオフセットを無効化 */
  opacity: 1 !important;      /* ライブラリが触っていれば戻す（保険） */
}

.info-inner .info h3.move_left2 img {
  display: block;             /* インラインだと margin:auto; が効かない */
  margin: 0 auto;             /* 画像自体を中央に */
  max-width: 202px;           /* 既存指定を踏襲 */
  height: auto;
}
/*==========================================
newsのスタイル（初期設定 最大：767px）
===========================================*/
.news {
  margin-bottom: 3em;
  margin-top: 3em;
}
#news .news-inner {
  width: 98%;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#news .news-inner h2 {
  text-align: center;
  margin-bottom: 0px;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  font-family: "Libre Baskerville", serif;
  font-weight: 700;
  border-top: 1px solid #d9c68f;
  border-bottom: 1px solid #d9c68f;
  background: #bfa046;
  color: #FFFFFF;
}
#news .news-inner ul {
  max-height: 230px;
  overflow: scroll;
  background-color: #FFFFFF;
}
#news .news-inner ul li {
  border-bottom: 1px dotted #333;
  padding-left: 1em;
  padding-top: 0.5em;
  padding-bottom: 0.2em;
  margin: 0.5em;
}
#news .news-inner ul li .day {
  margin-right: 1em;
  font-weight: bold;
  margin-bottom: 0.5em;
  display: block;
}
#news .news-inner ul li:first-child .day:before {
  content: "new";
  background-color: #c62828;
  color: #FFFFFF;
  font-weight: bold;
  font-size: 80%;
  border-radius: 3px;
  padding: 5px;
  margin-right: 3px;
}
.tbl-r02 tr .bn_access img {
	max-width: 250px;
}

/* ────────── スマホだけ（767px以下） ────────── */
@media screen and (max-width: 767px) {

  /* 1アイテム全体：左寄せ＋改行前提の余白と区切り線 */
  .plan-item {
    flex-wrap: wrap;                /* 横幅が足りない時に改行 */
    justify-content: flex-start;    /* 左寄せ */
    width: 100%;
    padding: 8px 0;                 /* ブロックの余白 */
    margin-bottom: 0;               /* 余白はpaddingに集約 */
    border-bottom: 1px solid rgba(191,160,70,.35);
  }
  .plan-item:last-child {
    border-bottom: none;
  }

  /* “名前＋価格”ラッパー：flex指定を打ち消し、縦並びへ */
  .plan-item .plan-prices {
    display: block !important;      /* ← ここが肝：flexを無効化 */
    width: 100%;
    text-align: left;               /* 基準は左寄せ */
  }

  /* 1行目：メニュー名（日本語＋英語） */
  .plan-item .plan-prices .min {
    display: block;
    text-align: left;
    line-height: 1.4;
  }

  /* 2行目：価格（右寄せ・強調） */
  .plan-item .plan-prices .normal {
    display: block;
    text-align: right;
    margin-top: 0.25em;
    font-weight: 700;
    color: #715E27;                 /* ゴールドで視認性UP */
    font-variant-numeric: tabular-nums; /* 桁揃えでブレ減少 */
    letter-spacing: 0.02em;
  }

  /* 価格の前：短い装飾ドット（長すぎると改行しやすいので控えめに） */
  .plan-prices .normal::before {
    content: "······";                 /* 例：「・」3つ。長さは好みで調整可 */
    display: inline;
    margin-right: 0.25em;
    opacity: .6;
  }

  /* キャンペーン行（既存仕様を維持） */
  .plan-campaign {
    flex-basis: 100%;
    align-self: flex-start;
    margin-top: -0.8em;
    justify-content: center;
  }
.plan-item.before-heading {
  border-bottom: none;
}
  .charge-info {
    font-size: 0.95rem;
    padding: 0.8em 1em;
    margin: 1.5em auto;
  }

  /* 既存：不要なら削除可（block化後はgapの効果は薄い） */
  /* .plan-prices { gap: 1em; } */
}

@media screen and (min-width:768px) {
  /*==========================================
mainViewのスタイル（最小：768px）
===========================================*/
  /*  .mainView:before {
    background-image: url("../img/bg-body-pc.webp");
  }*/
  /* video */
  /* -----メイン画像ロゴ----- */
  .bg-slider .sp {
    display: none;
  }
  .bg-slider .pc {
    display: block;
  }
  /* -----共通----- */
  .subtitle2 img {
    width: 50%;
    height: auto;
  }
  /* -----memo---- */
  .memo {
    width: 70%;
    padding: 20px;
  }
  /* -----notice-box----- */
  .notice-box {
    width: 90%; /* 画面幅の90% */
    max-width: 700px; /* 最大700pxまで */
    margin: 16px auto; /* 上下マージンは16px、左右は自動中央寄せ */
  }
  /*==========================================
greetingのスタイル（最小：768px）
===========================================*/
  #greeting .greeting-inner {
    padding: 2em;
  }
  .textWrap .text1.move_left2 h2 {
    font-size: 1.3em;
  }
  /*==========================================
galleryのスタイル（最小：768px）
===========================================*/
  #gallery .gallery-inner {
    width: 95%;
    padding: 5em 2em;
  }
  #gallery .gallery-inner .subtitle2 {
    margin-bottom: 2em;
  }
  .gallery-inner ul {
    display: flex; /* Flexboxでレイアウト管理 */
    flex-wrap: wrap; /* 折り返し可能にする */
    justify-content: center; /* 中央揃え */
    gap: 1em; /* 間隔を統一 */
    padding: 0; /* デフォルトの余白をなくす */
  }
  .gallery-inner ul li {
    width: 48%; /* 2つずつ並べる */
    display: flex; /* flexを適用して高さを均等に */
    justify-content: center; /* 画像を中央に配置 */
    align-items: center;
    text-align: center;
    box-sizing: border-box; /* 幅計算のズレを防ぐ */
    margin: 0; /* 余分なマージンを削除 */
  }
  .gallery-inner ul li img {
    width: 100%; /* 画像のサイズを親要素の幅に合わせる */
    height: auto;
    display: block;
  }
  .notice-box {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
  /*==========================================
priceのスタイル（最小：768px）
===========================================*/
  #price .price-inner {
    width: 95%;
    padding: 5em 2em;
    margin-left: auto;
  }
  .plan-item {
    /*flex-wrap: nowrap;*/ /* 折り返し禁止 */
  }
  .plan-campaign {
    flex-basis: auto; /* 幅は中身に合わせる */
    align-self: center; /* 中央揃え */
    margin-top: 0; /* マージンもリセット */
  }
  .plan-prices .normal::before {
    display: inline; /* 「・・・」を表示 */
  }
	  /* 2行レイアウト前提：折り返しOK＋見やすい余白と区切り線 */
  .price .plan-item {
    display: flex;
    flex-wrap: wrap;           /* ← nowrap を確実に打ち消す */
    justify-content: flex-start;
    width: 100%;
    padding: 8px 0;
    margin-bottom: 0;          /* 余白はpaddingに集約 */
    border-bottom: 1px solid rgba(191,160,70,.35);
  }
  .price .plan-item:last-child { border-bottom: none; }

  /* “名前＋価格”コンテナを縦並びに固定（PC用ブロックと同じ効果） */
  .price .plan-item .plan-prices {
    display: block !important; /* ← これがキモ（横並びを打ち消す） */
    width: 100%;
    text-align: left;
  }

  /* 1行目：メニュー名（左） */
  .price .plan-item .plan-prices .min {
    display: block;
    text-align: left;
    line-height: 1.4;
  }

  /* 2行目：価格（右寄せ・強調） */
  .price .plan-item .plan-prices .normal {
    display: block;
    text-align: right;
    margin-top: 0.25em;
    font-weight: 700;
    color: #715E27;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
  }

  /* 価格前のドット（スマホ/PCに合わせて短めに統一） */
  .price .plan-prices .normal::before {
    content: "···";
    display: inline;
    margin-right: 0.25em;
    opacity: .6;
  }

  /* 見出し直前の .plan-item の線を消す（あなたのクラス） */
  .price .plan-item.before-heading { border-bottom: none; }

.charge-info {
    font-size: 1rem;
  }
  /* -----.coupon----- */
  .price-inner .flexbox .coupon p {
    width: 55%;
    display: inline-block;
  }
  .coupon p img {
    border-radius: 5px;
    width: 100%;
  }
  /* -----.note----- */
  .flexbox.cf .plan-table.matchHeight .note {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2.5em;
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 2em;
  }
  .price-inner .accent4 {
    width: 50%;
  }
  .option {
    width: 80%;
  }
	/* タブレット：2枚見せる */
.scroll-x .plan-table { flex-basis: calc((100% - 24px) / 2); }
  /*==========================================
accessImgのスタイル（最小：768px）
===========================================*/
  #accessImg .accessTitle {
    width: 50%;
  }
  .accessvideo {
    width: 40%;
  }
  #accessImg h3 {
    padding: 1em;
    display: inline-block;
  }
  #accessImg h3 br {
    display: none;
  }
  #accessImg ul {
    width: 100%;
  }
  #accessImg ul li {
    width: 48%;
    margin-bottom: 1.5em;
    display: inline-block;
  }
  /*==========================================
newsのスタイル（最小：768px）
===========================================*/
  #news .news-inner {
    width: 95%;
    padding: 2em;
  }
}
@media screen and (min-width:1025px) {
  /*==========================================
mainViewのスタイル（最小：1025px）
===========================================*/
  /* -----notice-box----- */
  .notice-box {
    width: 40%; /* 画面幅の80% */
    max-width: 400px; /* 最大900pxまで */
    margin: 24px auto; /* 上下マージンを少し大きめに */
  }
  /* -----memo---- */
  .memo {
    width: 40%;
    padding: 30px;
  }
  /*==========================================
greetingのスタイル（最小：1025px）
===========================================*/
  #greeting {
    margin-bottom: 4em;
  }
  #greeting .greeting-inner {
    width: 80%;
    border-radius: 8px;
  }
  .content1 {
    display: flex;
    align-items: center; /* 縦方向の中央揃え */
  }
  .content1 .textWrap {
    width: 49%;
    margin-right: auto; /* 右側に配置 */
  }
  .greeting .content1 .photo1 {
    width: 48%;
  }
  .box {
    display: flex;
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 縦方向の中央揃え */
  }
  .textWrap .text1.move_left2 h2 {
    font-size: 1.5em;
  }
  /*==========================================
galleryのスタイル（最小：1025px）
===========================================*/
  #gallery .gallery-inner {
    width: 90%;
    padding: 4em 2em;
    border-radius: 8px;
  }
  .gallery-inner ul {
    width: 90%;
    padding: 0.5em 0em;
    border-radius: 8px;
  }
  .gallery-inner ul li {
    width: 30%;
  }
  /*==========================================
priceのスタイル（最小：1025px）
===========================================*/
.scroll-x {
    overflow-x: visible;          /* 横スクロールOFF */
    scroll-snap-type: none;       /* スナップOFF */
    flex-wrap: wrap;              /* 折り返して並べる */
    justify-content: center;      /* 最終行を中央寄せ（左寄せなら flex-start） */
    gap: 24px;                    /* 列間を少し広め＝カードが“細め”に見える */
    padding-left: 0;
    padding-right: 0;
  }

#price .price-inner {
    width: 90%;
    padding: 4em 2em;
    border-radius: 8px;
  }
  .plan-item {
    gap: 1em;
  }
  .option {
    width: 40%;
  }
	/* PC：3枚見せる */
	 /* gap:24px が2つ入るので 48px を引いて3等分。
     さらに “- 8px” でカードをほんの少し細くする微調整 */
  .scroll-x .plan-table {
    flex: 0 0 calc((100% - 48px) / 3 - 8px);
  }
  /* -----.coupon----- */
  .accent #coupon {
    padding-top: 3em;
    padding-bottom: 3em;
  }
  /* -----.note----- */
  .flexbox.cf .plan-table.matchHeight .note {
    width: 40%;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    padding-left: 2.5em;
  }
  .price-inner .accent4 {
    width: 30%;
  }
	/* === すべての画面幅で統一：名前1行 + 価格1行（右寄せ） + 区切り線 + 短いドット === */
.price .plan-item {
  /* 2行レイアウト前提 */
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 100%;

  /* 見やすさ（余白と区切り） */
  padding: 8px 0;
  margin-bottom: 0; /* 余白はpaddingに集約 */
  border-bottom: 1px solid rgba(191,160,70,.35);
}
.price .plan-item:last-child { border-bottom: none; }

/* “名前＋価格”ラッパー：縦並びに確定 */
.price .plan-item .plan-prices {
  display: block !important;      /* ← flex指定を確実に打ち消し */
  width: 100%;
  text-align: left;               /* 基準は左寄せ */
}

/* 1行目：メニュー名（日本語＋英語） */
.price .plan-item .plan-prices .min {
  display: block;
  text-align: left;
  line-height: 1.4;
}

/* 2行目：価格（右寄せ・強調） */
.price .plan-item .plan-prices .normal {
	display: block;
	text-align: right;
	margin-top: 0.25em;
	font-weight: 700;
	color: #715E27;                      /* ゴールドで視認性UP */
	font-variant-numeric: tabular-nums;  /* 桁揃え */
	letter-spacing: 0.02em;
}

/* 価格の前：短い装飾ドット（長いと折返しやすいので控えめに） */
.price .plan-prices .normal::before {
  content: "···";
  display: inline;
  margin-right: 0.25em;
  opacity: .6;
}

/* 見出し直前の .plan-item だけ下線を消す（あなたが付けたクラス用） */
.price .plan-item.before-heading { border-bottom: none; }
  .charge-info {
    font-size: 1.1rem;
    padding: 1.2em 2em;
  }
  /*==========================================
accessImgのスタイル（最小：1025px）
===========================================*/
  #accessImg .accessTitle {
    width: 40%;
  }
  #accessImg h3 {
    font-size: 1.2em;
  }
  #accessImg ul {
    width: 90%;
    padding: 0.5em 0em;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #accessImg ul li {
    width: 20%;
    margin-bottom: 1.5em;
    margin-left: 1%;
    margin-right: 1%;
  }
  /*==========================================
newsのスタイル（最小：1025px）
===========================================*/
  #news .news-inner {
    width: 80%;
    padding: 4em;
    border-radius: 8px;
    background-color: hsla(0, 0%, 100%, 0.00);
  }
  #news .news-inner h2 {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
  #news .news-inner ul {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
  #news .news-inner ul li {
    padding-top: 1em;
    padding-bottom: 1em;
  }
}
