/* common.css @charset "utf-8";
   matsubaraya 2025
--------------------------------------------------*/

/*------------------------------------------------
  タグ・フォント リセット
--------------------------------------------------*/
*,*::before,*::after { box-sizing: border-box; }
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,
fieldset,input,p,blockquote { margin: 0; padding: 0; }
fieldset,img { border: 0; }
table { border-collapse:collapse; border-spacing:0; }
address,caption,em,th,var,strong { font-style: normal;font-weight: normal; }
ol,ul { list-style: none; }

body { font-size:13px;line-height: 1.4; }
body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }
h1,h2,h3,h4,h5,h6 { font-size:100%; font-weight:normal; line-height: 1.4; }
hr { height: 1px;border: none;border-top: 1px solid #778899; }
table { font-size:100%; }
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  appearance: none;
  background: none;
  cursor: pointer;
}
/* ランドスケープ自動文字サイズ調整無効 */
body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
/*------------------------------------------------
  入力フォーム
--------------------------------------------------*/
input,textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
#mailform input::placeholder { color: #aaa; font-size: 77%; }
#contactForm input::placeholder { color: #aaa; font-size: 77%; }
.input98 { width: 98% !important; }
.input80 { width: 80% !important; }
.input60 { width: 60% !important; }

/*------------------------------------------------
  カスタムプロパティ
--------------------------------------------------*/
:root {
    --base-color: #f4f4f4; /*全体背景色*/
    --main-color: #6450f9; /*メインカラー*/
    --accent-color: #f66a6d; /*アクセントカラー*/
    --footer-bar: #218270; /*フッターボトムカラー*/
    --nav-color-rgb: 65,157,140; /*ナビゲーションバーカラー*/
    --nav-sp-menu: #278c83; /*スマホメニューカラー*/
    --nav-sp-rgb: 27,128,119; /*スマホメニューカラーrgba*/
    --base-fontColor: #555; /*フォントベースカラー*/
    --inner-width: 1280px; /*コンテンツ幅*/
    --sideH3-color: #657fbd; /*サイドバー見出し(h3)*/
}
/*------------------------------------------------
  pc-sp表示切り替え
--------------------------------------------------*/
.pc_block { display: block; }
.pc_none { display: none; }
.sp_block { display: none; }
.sps_block { display: none; }
.sp_inline { display: block; }
/*------------------------------------------------
  アンカー
--------------------------------------------------*/
a       { color: #336699; }
a:hover { color: #c16c7c; }
a img   { border: none; }
a[href$=".pdf"] {
    clear: both;
    display: block;
    width: fit-content;
    margin-bottom: 30px;
    padding: 0 12px 3px 12px;
    font-size: 100%;
}
a[href$=".pdf"]:before {
    content:" ";
    display: inline-block;
    width: 32px;
    height: 32px;
    position: relative;
    top:6px;
    background: url(../images/icon_pdf.png) no-repeat;
    background-size: 100%;
}
/*------------------------------------------------
  フォントサイズ・太字・下線
--------------------------------------------------*/
.font09 { font-size:  65%; }
.font10 { font-size:  77%; }
.font11 { font-size:  85%; }
.font12 { font-size:  93%; }
.font13 { font-size: 100%; }
.font14 { font-size: 107%; }
.font15 { font-size: 115%; }
.font16 { font-size: 123%; }
.font17 { font-size: 130%; }
.font18 { font-size: 139%; }
.font19 { font-size: 146%; }
.font20 { font-size: 154%; }
.font21 { font-size: 162%; }
.font22 { font-size: 169%; }
.font23 { font-size: 177%; }
.font24 { font-size: 185%; }
.textCenter { text-align: center; }
.fontBold { font-weight: 700; }
.underline { text-decoration: underline; }
.torikeshi { text-decoration: line-through; }
.marker { background: linear-gradient(transparent 85%, #f88080 85%);font-weight: bold; }
strong { font-weight: bold; }
/*------------------------------------------------
  フォント カラー
--------------------------------------------------*/
.black { color: #000000; }
.white { color: #ffffff; }
.lpink { color: #ff99ff; }
.dpink { color: #dd51a5; }
.lglay { color: #333333; }
.pink  { color: #ff0099; }
.red   { color: #993333; }
/*------------------------------------------------
  横幅
--------------------------------------------------*/
.w50 { width: 50px; }
.w80 { width: 80px; }
.w85 { width: 85px; }
.w100 { width: 100px; } 
/*------------------------------------------------
  テキスト 位置
--------------------------------------------------*/
.textCenter { text-align: center; }
.textLeft   { text-align: left; }
.textRight  { text-align: right; }
.pageNone { margin:100px 0; font-size: 123%; text-align: center; }
/*------------------------------------------------
  イメージ　フロート・ポジション
--------------------------------------------------*/
.alignLeft { float: left;margin: 0 10px 0 0;display: inline; }
.alignRight { float: right;margin: 0 0 0 10px;display: inline; }
.alignCenter { display: block; margin-left: auto; margin-right: auto; }
.allclear { clear: both; }
.noimg { display: none; }
.respImg1240 { max-width:1240px; margin: 20px auto 0 auto; }
.respImg1140 { max-width:1140px; margin: 20px auto 0 auto; }
.respImg960 { max-width:960px; margin: 20px auto 0 auto; }
.respImg750 { max-width:750px; margin: 20px auto 0 auto; }
.respImg680 { max-width:680px; margin: 20px auto 0 auto; }
.respImg960 img,.respImg750 img,.respImg680 img { width: 100%; height:auto; }
.respWidth { width:100%; height:auto; }
.respWidth1280 { max-width:1280px; width:100%; height: auto; }
.respWidth1140 { max-width:1140px; width:100%; height: auto; margin: 20px auto 0 auto; }
.respWidth1080 { max-width:1080px; width:100%; height:auto; }
.respWidth960 { max-width:960px; width:100%; height:auto; }
.respWidth750 { max-width:750px; width:100%; height:auto; }
.respWidth680 { max-width:680px; width:100%; height:auto; }
.top5  { margin-top:5px; }
.top10 { margin-top:10px; }
.top15 { margin-top:15px; }
.top20 { margin-top:20px; }
.top25 { margin-top:25px; }
.top30 { margin-top:30px; }
.top40 { margin-top:40px; }
.top50 { margin-top:50px; }
.top60 { margin-top:60px; }
.top100{ margin-top:100px;}
.top110{ margin-top:110px;}
.top120{ margin-top:120px;}
.under5  { margin-bottom:5px; }
.under10 { margin-bottom:10px; }
.under15 { margin-bottom:15px; }
.under20 { margin-bottom:20px; }
.under30 { margin-bottom:30px; }
.right5 { margin-right:5px; }
.left5  { margin-left: 5px; }

/*------------------------------------------------
  ページ移管フェード
--------------------------------------------------*/
#wrapper {
	animation: fadein 1s ease-in forwards;
}

@keyframes fadein {
	0% {opacity: 0.01}
    20% {opacity: 0}
	100% {opacity: 1}
}
/*------------------------------------------------
  スライドループ css
--------------------------------------------------*/

/*------------------------------------------------
  スクロールダウン
--------------------------------------------------*/
.scrolldown{
    position:absolute;
    left:50%;
    bottom:30px;
    height:50px;
    z-index: 1;
}
.scrolldown span{
    position: absolute;
    left:-15px;
    top: -15px;
    color: #eee;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
}
/* ラインの描写 */
.scrolldown::after{
    content: "";
    position: absolute;
    top: 0;
    width: 1px;
    height: 30px;
    background: #eee;
    animation: pathmove 1.8s ease-in-out infinite;
    opacity:0;
}
/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:30px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    opacity: 0;
  }
}
/*------------------------------------------------
  スクロールボタン（javascript 下から）
--------------------------------------------------*/
#page-top-js {
    background-color: rgba(0,0,0,0.6);
}
#page-top-js:not(:target){
    filter: none;
    -ms-filter: none;
}
#page-top-js {
  display: block;
  position: fixed;
  z-index: 9999;
  bottom: -60px;
  right: 10px;
  width: 60px;
  padding: 18px 0px;
  background: rgba(78, 185, 160, 0.9);
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: .5s;
  border-radius: 5px;
}
#page-top-js:hover { 
  background: rgba(55, 149, 127, 0.9);
}
#page-top-js i {
    font-size: 130%;
}
#page-top-js span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}
/*------------------------------------------------
  ◆Swiper 共通
--------------------------------------------------*/
/*
.swiper {
    width: 100%;
    height: 100%;
}
*/
.swiper-slide {
  overflow: hidden;
}
.swiper-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
/* スライドがフォーカスされたときのアウトラインを消す */
.swiper-slide:focus {
    outline: none;
}

/* スライド内のリンクのアウトラインとタップハイライトを消す */
.swiper-slide a {
    outline: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
/* Swiperの矢印ボタンにフォーカスが当たったときのアウトラインを消す */
.swiper-button-next:focus,
.swiper-button-prev:focus {
    outline: none;
}
/* firefoxのみ サムネイルのちらつき防止 */
@-moz-document url-prefix() {
  #rooms-thumbnail .swiper-slide,
  #banquet-thumbnail .swiper-slide,
.floorPhoto-thumbnail .swiper-slide {
    transform: none !important;
  }
}


/*------------------------------------------------
  ◆トップ mv Swiper
--------------------------------------------------*/
#mvSlider {
    position: relative;
    max-width:1920px;
    margin: 0 auto;
    z-index: -1;
}

.imgLayer01, .imgLayer02, .imgLayer03 {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100svh;
    margin: 0;
}
@supports (-webkit-touch-callout: none) {
  .imgLayer01, .imgLayer02, .imgLayer03 {
    height: -webkit-fill-available;
  }
}
.imgLayer01 {
    background-image: url(../images/slide_mv/pc01.jpg);
    background-image: image-set(
      url("../images/slide_mv/pc01x.webp") type("image/webp"),
      url("../images/slide_mv/pc01x.jpg") type("image/jpeg")
  );
}
.imgLayer02 {
    background-image: url(../images/slide_mv/pc02.jpg);
    background-image: image-set(
      url("../images/slide_mv/pc02.webp") type("image/webp"),
      url("../images/slide_mv/pc02.jpg") type("image/jpeg")
  );
}
.imgLayer03 {
    background-image: url(../images/slide_mv/pc03.jpg);
    background-image: image-set(
      url("../images/slide_mv/pc03.webp") type("image/webp"),
      url("../images/slide_mv/pc03.jpg") type("image/jpeg")
  );
}
/* イメージの上にメッシュまたは黒のレイヤーを重ねる */
.imgLayer01, .imgLayer02, .imgLayer03 {
    position: relative;
}
.imgLayer01::before, .imgLayer02::before, .imgLayer03::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.3;
/*  background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0.25) 0, rgba(0, 0, 0, 0.25) 3px), repeating-linear-gradient(90deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0.25) 0, rgba(0, 0, 0, 0.25) 3px); */
}
.imgLayer02::before {
    opacity: 0.4;
}
.imgLayer03::before {
    opacity: 0.3;
}
/* キャプション */
.swiper-slide .catchPosition {
	width: 100%;
	margin: auto;
    color: #fff;
	text-align: center;
	position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 200;
}
/* 初期状態は非表示 */
.catchText1_g, .catchText2_g {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease-out, transform 0.8s ease-out;
}
/* 表示状態（.activeでアニメーション開始） */
.catchText1_g.active {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.5s;
}
.catchText2_g.active {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1.5s; /* ← 0.7秒遅らせて表示 */
}
/* キャプションのフォント */
.swiper-slide .catchText1_g {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 26px;
}
.swiper-slide .catchText2_g {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 48px;
}
/* ナビボタン（矢印の色と透明度）*/
#mvSlider .swiper-button-next::after, #mvSlider .swiper-button-prev::after {
  opacity: 0.5;
  color: #fff;
}
/* ページネーション */
#mvSlider .swiper-pagination-bullet {
    border-radius: 0 !important;
    width: 50px !important;
    height: 4px !important;
	background: #E0E0E0 !important;
    opacity: 0.8;
}
#mvSlider .swiper-pagination-bullet-active {
    background: #BD7BB3 !important;
}
@media (max-width: 780px) {
.imgLayer01 {
  background-image: url(../images/slide_mv/sp01x.jpg);
  background-image: image-set(
      url("../images/slide_mv/sp01x.webp") type("image/webp"),
      url("../images/slide_mv/sp01x.jpg") type("image/jpeg")
    );
  }
.imgLayer02 {
  background-image: url(../images/slide_mv/sp02.jpg);
  background-image: image-set(
      url("../images/slide_mv/sp02.webp") type("image/webp"),
      url("../images/slide_mv/sp02.jpg") type("image/jpeg")
    );
  }
.imgLayer03 {
  background-image: url(../images/slide_mv/sp03.jpg);
  background-image: image-set(
      url("../images/slide_mv/sp03.webp") type("image/webp"),
      url("../images/slide_mv/sp03.jpg") type("image/jpeg")
    );
  }
}
@media (max-width: 640px) {
.swiper-slide .catchText1_g {
  font-size: 18px;
  }
.swiper-slide .catchText2_g {
  font-size: 32px;
  }
#mvSlider .swiper-button-next, #mvSlider .swiper-button-prev {
  width: calc(var(--swiper-navigation-size) / 44 * 5);
  }
#mvSlider .swiper-button-next::after, #mvSlider .swiper-button-prev::after {
  font-size: 24px;
  }
}
@media (max-width: 380px) {
.swiper-slide .catchText1_g {
  font-size: 16px;
  }
.swiper-slide .catchText2_g {
  font-size: 26px;
  }
}

/*------------------------------------------------
  ◆トップ ad Swiper
--------------------------------------------------*/
.eventAdSlider {
    border-radius: 10px;
    overflow: hidden;
}
#eventAd .swiper-pagination-bullet {
    border-radius: 0 !important;
    width: 50px !important;
    height: 4px !important;
	background: #E0E0E0 !important;
    opacity: 0.8;
}
#eventAd .swiper-pagination-bullet-active {
    background: #BD7BB3 !important;
}
#eventAd {
    position: relative;
}
#eventAd .swiper-pagination {
    bottom: -25px !important;
    z-index: -1;
}
/* 矢印カスタム */
#eventAd .custom-navigation {
    position: absolute;
    bottom: -30px;
    right: 20px;
    display: flex;
    gap: 10px;
}
#eventAd .swiper-button-prev,
#eventAd .swiper-button-next {
    position: static; /* Swiperのデフォルトを無効化 */
    width: 50px;
    height: 24px;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ec9267;
    border-radius: 5px;
    z-index: initial;
}
#eventAd .swiper-button-prev::after,
#eventAd .swiper-button-next::after {
  font-size: 12px;
}
@media (max-width: 780px) {
#eventAd .custom-navigation {
  right: 5px;
  }
}
@media (max-width: 430px) {
#eventAd .swiper-pagination-bullet {
    width: 35px !important;
  }
}
/*------------------------------------------------
  ◆トップ rooms Swiper
--------------------------------------------------*/
.roomsSlider-top {
    position: relative;
}
.roomsSlider-top .swiper-pagination {
    bottom: -25px !important;
    z-index: -1;
}
/* 矢印カスタム */
.roomsSlider-top .custom-navigation {
    position: absolute;
    bottom: -55px;
    right: 10px;
    display: flex;
    gap: 10px;
}
.roomsSlider-top .swiper-button-prev,
.roomsSlider-top .swiper-button-next {
    position: static; /* Swiperのデフォルトを無効化 */
    width: 50px;
    height: 24px;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ec9267;
    border-radius: 5px;
}
.roomsSlider-top .swiper-button-prev::after,
.roomsSlider-top .swiper-button-next::after {
  font-size: 12px;
}
/*------------------------------------------------
  ◆トップ banquet Swiper
--------------------------------------------------*/
.banquetSlider-top {
    position: relative;
}
.banquetSlider-top .swiper-pagination {
    bottom: -25px !important;
}
/* 矢印カスタム */
.banquetSlider-top .custom-navigation {
    position: absolute;
    bottom: -55px;
    right: 10px;
    display: flex;
    gap: 10px;
}
.banquetSlider-top .swiper-button-prev,
.banquetSlider-top .swiper-button-next {
    position: static; /* Swiperのデフォルトを無効化 */
    width: 50px;
    height: 24px;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ec9267;
    border-radius: 5px;
}
.banquetSlider-top .swiper-button-prev::after,
.banquetSlider-top .swiper-button-next::after {
  font-size: 12px;
}
/*------------------------------------------------
  ◆会議場・会議用昼食 venueType meetingLunchImg Swiper
--------------------------------------------------*/
.venueType,
.meetingLunchImg {
    position: relative;
}
.venueType .swiper-pagination,
.meetingLunchImg .swiper-pagination {
    bottom: -25px !important;
}
/* 矢印カスタム */
.venueType .custom-navigation,
.meetingLunchImg .custom-navigation {
    position: absolute;
    bottom: -55px;
    right: 10px;
    display: flex;
    gap: 10px;
}
.venueType .swiper-button-prev,
.venueType .swiper-button-next,
.meetingLunchImg .swiper-button-prev,
.meetingLunchImg .swiper-button-next {
    position: static; /* Swiperのデフォルトを無効化 */
    width: 50px;
    height: 24px;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ec9267;
    border-radius: 5px;
}
.venueType .swiper-button-prev::after,
.venueType .swiper-button-next::after,
.meetingLunchImg .swiper-button-prev::after,
.meetingLunchImg .swiper-button-next::after {
  font-size: 12px;
}
.meetingLunchImg .swiper {
    position: relative;
    width: 100%;
    height: 100%;
}
.meetingLunchImg .swiper-slide span {
    display: block;
    width: 100%;
    position: absolute;
    bottom: 0;
    padding: 5px 0;
    text-align: center;
    color: #fff;
    background-color: rgba(0,0,0,0.3);
}
/*------------------------------------------------
  ◆客室・宴会・デリバリー シングルページ メイン Swiper
--------------------------------------------------*/
#rooms-slider, #banquet-slider,#delivery-slider {
    width: 100%;
    margin-bottom: 8px;
    border-radius: 10px;
    overflow: hidden;
}
#rooms-slider .swiper,
#banquet-slider .swiper,
#delivery-slider .swiper {
    position: relative;
    width: 100%;
    height: 100%;
}
#rooms-slider .swiper-slide span,
#banquet-slider .swiper-slide span,
#delivery-slider .swiper-slide span {
    display: block;
    width: 100%;
    position: absolute;
    bottom: 0;
    padding: 5px 0;
    text-align: center;
    color: #fff;
    background-color: rgba(0,0,0,0.3);
}
#rooms-slider img, #rooms-thumbnail img,
#banquet-slider img, #banquet-thumbnail img,
#delivery-slider img, #delivery-thumbnail img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 10px;
}
#rooms-thumbnail img,
#banquet-thumbnail img,
#delivery-thumbnail img {
    aspect-ratio: 4 / 3;
}
#rooms-thumbnail img,
#banquet-thumbnail img,
#delivery-thumbnail img {
    cursor: pointer;
    border-radius: 5px;
}
/* サムネ オーバーレイ */
.rooms-thumbnail-slider .swiper-slide,
.banquet-thumbnail-slider .swiper-slide,
.delivery-thumbnail-slider .swiper-slide {
  position: relative;
}
.rooms-thumbnail-slider .swiper-slide::before,
.banquet-thumbnail-slider .swiper-slide::before,
.delivery-thumbnail-slider .swiper-slide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.2;
  transition: opacity 0.3s ease;
  pointer-events: none;
  border-radius: 5px;
}
.rooms-thumbnail-slider .swiper-slide.swiper-slide-thumb-active::before,
.banquet-thumbnail-slider .swiper-slide.swiper-slide-thumb-active::before,
.delivery-thumbnail-slider .swiper-slide.swiper-slide-thumb-active::before {
  opacity: 0;
}
/* アクティブなスライドは常にオーバーレイなし */
.rooms-thumbnail-slider .swiper-slide.swiper-slide-thumb-active::before,
.banquet-thumbnail-slider .swiper-slide.swiper-slide-thumb-active::before,
.delivery-thumbnail-slider .swiper-slide.swiper-slide-thumb-active::before {
  opacity: 0 !important;
}
/* hover時にオーバーレイを少し薄くする */
.rooms-thumbnail-slider .swiper-slide:hover::before,
.banquet-thumbnail-slider .swiper-slide:hover::before,
.delivery-thumbnail-slider .swiper-slide:hover::before {
  opacity: 0.1;
}



/*------------------------------------------------
  ◆シングルページ（その他の客室・宴会・デリバリー）Swiper
--------------------------------------------------*/
#otherRooms.singlePage, #otherBanquet.singlePage,
#otherDelivery.singlePage {
    margin-top: 50px;
    padding-top: 40px;
    border-top: 1px solid #ccc;
}
#otherRooms.singlePage h3, #otherBanquet.singlePage h3,
#otherDelivery.singlePage h3 {
    font-size: 139%;
    text-align: center;
}
/* ページネーション（トップの客室・宴会スライダー・会議室タイプも共通） */
#otherRooms .swiper-pagination-bullet,
#otherBanquet .swiper-pagination-bullet,
#otherDelivery .swiper-pagination-bullet,
.venueType .swiper-pagination-bullet,
.meetingLunchImg .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 5px;
    background-color: #333;
    border-radius: 0;
}
#otherRooms .swiper-pagination-bullet-active,
#otherBanquet .swiper-pagination-bullet-active,
#otherDelivery .swiper-pagination-bullet-active,
.venueType .swiper-pagination-bullet-active,
.meetingLunchImg .swiper-pagination-bullet-active {
    background-color: #f79458;
}
/* ▲▽ここからトップページのスライダーとその他の客室・宴会・デリバリー共通▲▽ */
.contentSlider {
    position: relative;
    margin-top: 10px;
}
.contentSlideImage {
  padding: 5px;
}
/* リンクのスタイル */
.contentSlideImage a {
  display: block;
  text-align: center;
  text-decoration: none;
  color: inherit;
}
/* aspect-ratio 対応ブラウザ用 */
@supports (aspect-ratio: 16 / 9) {

  .contentSlideImage img {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    border-radius: 10px;
  }

  .contentSlideImage h4 {
    margin-top: 8px;
  }
}
/* 非対応ブラウザ用 */
@supports not (aspect-ratio: 16 / 9) {
  .imageWrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 */
    overflow: hidden;
    border-radius: 10px;
  }

  .imageWrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 10px;
  }

  .contentSlideImage h4 {
    margin-top: 8px;
  }
}


.contentSlider .swiper-pagination {
    bottom: -25px !important;
}
/* ナビボタン（矢印の色と透明度）*/
.subSlider .swiper-button-next::after, .subSlider .swiper-button-prev::after {
  opacity: 0.5;
  color: #fff;
  font-size: 18px;
}
/* 矢印カスタム */
.contentSlider .custom-navigation {
    position: absolute;
    bottom: -48px;
    right: 10px;
    display: flex;
    gap: 10px;
}
.contentSlider .swiper-button-prev,
.contentSlider .swiper-button-next {
    position: static; /* Swiperのデフォルトを無効化 */
    width: 50px;
    height: 24px;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ec9267;
    border-radius: 5px;
}
.contentSlider .swiper-button-prev::after,
.contentSlider .swiper-button-next::after {
  font-size: 12px;
}
/* スライド設定枚数以下でのナビゲーションボタン */
/* グレーアウト */
.contentSlider .swiper-button-lock {
    opacity: 0.2;
    background-color: #666;
    pointer-events: none;
    cursor: default;
}
/* 非表示（こちらを採用） */
.contentSlider .swiper-button-lock {
    display: none !important;
}
/*------------------------------------------------
  個別ページ記事 single.php
--------------------------------------------------*/
#main #singlePosts h1 {
    border: none;
    font-size: 185%;
    font-weight: bold;
}
#main #singlePosts h2 {
    font-size: 154%;
    font-weight: bold;
}
#main #singlePosts h3 {
    font-size: 139%;
    font-weight: bold;
}
#main #singlePosts h4 {
    font-size: 130%;
    font-weight: bold;
}
#main #singlePosts h5 {
    font-size: 123%;
    font-weight: bold;
}
#main #singlePosts h6 {
    font-size: 107%;
    font-weight: bold;
}
#main #singlePosts a {
    text-decoration: underline;
}
#main #singlePosts p {
    font-size: 123%;
}
#main #singlePosts img {
    display: block;
    max-width: 640px;
    width: 80%;
    height: auto;
    margin-bottom: 10px;
    border-radius: 10px;
}
/* 回り込み画像の処理ここから */
#main #singlePosts .imgWrapp {
  display: flex;
  gap: 10px;
  width: 100%;
}
#main #singlePosts img.alignleft,
#main #singlePosts img.alignright {
    max-height: 300px;
    width: auto;
    margin: 0;
    float: none;
}
/* 回り込み画像の処理ここまで */
#main #singlePosts ul,#main #singlePosts ol {
    font-size: 123%;
}
#main #singlePosts ul li {
    margin-left: 20px;
    list-style-type: disc;
}
#main #singlePosts ol li {
    margin-left: 25px;
    list-style-type: decimal;
}
#main #singlePosts strong {
    font-style: inherit;
}
#main #singlePosts em {
    font-style: italic;
   font-weight: initial;
}
#main #singlePosts hr {
    margin-bottom: 15px;
}
#main #singlePosts table {
    width: auto !important;
    height: auto !important;
    table-layout: fixed;
}
#main #singlePosts table tr,
#main #singlePosts table td {
    height: auto !important;
}
#main #singlePosts table td {
    font-size: 107%;
}
#main #singlePosts table td img {
    max-height: 280px;
    height: auto;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}
#main #singlePosts blockquote  {
    margin-left: 5px;
    margin-bottom: 10px;
    border-left: 5px solid #ccc;
}
#main #singlePosts blockquote p  {
    padding: 5px;
}
#main #singlePosts .alignleft { float: left;margin: 0 10px 0 0;display: block; }
#main #singlePosts .alignright { float: right;margin: 0 0 0 10px;display: block; }
#main #singlePosts .aligncenter { display: block; margin-left: auto; margin-right: auto; }

/* Advanced Editor Tools style ---------*/
#main #singlePosts p.clear_both {
    clear: both;
    padding-top: 20px;
}
#main #singlePosts div.waku {
    clear: both;
    padding: 20px;
}

.postFlyer img {
    display: block;
    width: 75%;
    height: auto;
    margin: 30px auto 0 auto;
}
/*------------------------------------------------
  sp 個別ページ記事 single.php 640
--------------------------------------------------*/
@media (max-width: 640px) {
#main #singlePosts h1,
#main #singlePosts h2,
#main #singlePosts h3,
#main #singlePosts h4{
  font-size: 123%;
  }
#main #singlePosts strong {
  font-size: 100%;
  }
#main #singlePosts span {
  font-size: 100% !important;
  }
#main #singlePosts p {
  font-size: 107%;
  }
#main #singlePosts img {
  width: 100%;
  }
#main #singlePosts ul,#main #singlePosts ol {
  font-size: 107%;
  }
#main #singlePosts .alignleft,
#main #singlePosts .alignright {
  float: none;
  }
}

/*------------------------------------------------
  scroll event
--------------------------------------------------*/
.fade-slide-left,
.fade-slide-right {
  opacity: 0;
  transition: opacity 0.8s ease-in, transform 0.6s ease-out;
}

/* 左から入る要素 */
.fade-slide-left {
  transform: translateX(-0px);
}
.fade-slide-left.show {
  opacity: 1;
  transform: translateX(0);
}

/* 右から入る要素 */
.fade-slide-right {
  transform: translateX(0px);
}
.fade-slide-right.show {
  opacity: 1;
  transform: translateX(0);
}
@media (max-width: 780px) {
.fade-slide-left,
.fade-slide-right {
  opacity: 1;
  transition: none; /* アニメーション無効化 */
  transform: none;  /* 位置をリセット */
  }
}


/*------------------------------------------------
  GLightbox css custom animation
--------------------------------------------------*/
.gfadeIn {
  -webkit-animation: gfadeIn 0.5s ease;
  animation: gfadeIn 0.5s ease !important;
}
.gfadeOut {
  -webkit-animation: gfadeOut 0.5s ease;
  animation: gfadeOut 0.8s ease !important;
}
.gzoomIn {
  -webkit-animation: gzoomIn 0.5s ease;
  animation: gzoomIn 0.5s ease !important;
}

.gzoomOut {
  -webkit-animation: gzoomOut 0.8s ease;
  animation: gzoomOut 0.8s ease !important;
}
/*------------------------------------------------
  ページナビゲーション
--------------------------------------------------*/
.wp-pagenavi {
    margin-top: 30px;
}
.wp-pagenavi span,.wp-pagenavi a {
    display: inline-block;
    border-radius: 8px;
}
.wp-pagenavi a, .wp-pagenavi a:link {
    padding: 7px 15px; 
    margin: 5px;
    font-size: 107%;
    text-decoration: none;
border: solid 1px #e0e0d2;
    color: #777;
    background-color: #fff;
    }
.wp-pagenavi a:hover {	
    color: #fff;
    background-color: #d9d8d8;
    }
.wp-pagenavi span.pages {
    padding: 8px 8px; 
    margin: 5px;
    font-size: 107%;
border: solid 1px #e0e0d2;
    color: #777;
    background-color: #fff;
    }
.wp-pagenavi span.current {
    padding: 7px 15px; 
    margin: 5px;
    font-size: 107%;
border: solid 1px #85ceb9;
    color: #fff;
    background-color: #85ceb9;
    }
.wp-pagenavi span.extend {
    padding: 7px 4px; 
    margin: 5px;
border: solid 1px #e0e0d2;	
    color: #999;
    background-color: #fff;
    }
/*------------------------------------------------
  clearfix
--------------------------------------------------*/
.clearfix:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}
.clearfix {
	display: inline-table;
	min-height: 1%;
}
/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */
