@charset "utf-8";

body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #222;
  letter-spacing: 0.1em;
  background-color: #fff;
  text-align: left;
  line-height: 1.75;
  overflow-x: hidden;
}

@media (max-width: 1026px) {

body#facility-page  {
  padding-top: 0px;
}
}


@media (max-width: 1026px) {
.about-header-container {
  margin-top:30px;
   padding-bottom: 0px;
 }
}

@media (max-width: 1026px) {
.pets-header-container {
  margin-top:30px;
   padding-bottom: 0px;
 }
}


@media (max-width: 1026px) {
body#spot-page .about-header-container {
  margin-top:0px;
   padding-bottom: 0px;
 }
}




img {
  max-width: 100%;
  height: auto;
}

* {
 box-sizing: border-box;
}

/* アクセシビリティ */
.sr-only {
   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   white-space: nowrap;
   border-width: 0;
}

/************************************
** 施設紹介ページ　ヘッダー
************************************/

/* ヘッダー全体のスタイル */
.solana-facility-header {
   position: relative;
   width: 100%;
   z-index: 1000;
}

/* ボタンコンテナのスタイル */
.solana-facility-header__buttons {
   display: flex;
   justify-content: flex-end;
   align-items: flex-start;
   gap: 5px;
   padding-right: 210px;
}

/* 「総合サイト」ボタンのスタイル */
.solana-facility-btn.solana-facility-btn--outline {
   color: #333;
   background-color: white;
   border: none;
   border-radius: 5px;
   box-shadow: 0 0 10px rgba(0,0,0,0.3);
   padding: 10px 20px;
   margin-top: 15px;
   font-size: 16px;
   transition: all 0.3s ease;
   z-index: 1000;
}

.solana-facility-btn.solana-facility-btn--outline i {
   margin-left: 5px;
}

/* 「予約する」ボタンのスタイル */
.solana-facility-btn.solana-facility-btn--primary {
   color: white;
   background-color: #f6ad44;
   border: none;
   border-radius: 0 0 0 15px;
   box-shadow: 0 2px 5px rgba(0,0,0,0.2);
   position: absolute;
   top: 0;
   right: 0;
   z-index: 1000;
   padding: 15px 30px;
   font-size: 23px;
   min-width: 150px;
   justify-content: center;
   transition: all 0.3s ease;
}

.solana-facility-btn.solana-facility-btn--primary i {
   margin-right: 10px;
}

/* ロゴコンテナのスタイル */
.logo-container {
   text-align: left;
   margin: 10px 0;
   margin-left:30px;
   z-index: 101; /* 追加 */
}

.logo-container img {
   max-width: 240px;
   margin-top:0px;
}

/* グローバルメニュー */
.facility-global-menu {
   background: linear-gradient(90deg, #f4aa42, #f6ad44);
   height: 70px;
   display: flex;
   align-items: center;
   width: 100%;
   margin-bottom: 50px;
   z-index: 100; /* 追加 */
}

.facility-global-menu ul {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   justify-content: center;
   width: 100%;
}

.facility-global-menu li {
   margin: 0 15px;
}

.facility-global-menu a {
   color: white;
   text-decoration: none;
   font-size: 20px;
   line-height: 1.5;
}

/* スマホヘッダー */
.sp-header {
   display: none;
   background-color: #fff;
   padding: 25px 10px 0px 10px;

   position: fixed; /* 変更: relative から fixed に */
   top: 0; /* 追加: 画面上部に固定 */
   left: 0; /* 追加: 左端に固定 */
   right: 0; /* 追加: 右端に固定 */
   width: 100%; /* 追加: 幅を100%に */
   z-index: 1000;
}

/* 以下のスタイルを追加 */
@media (max-width: 1026px) {
   /* ヘッダーの固定位置分だけコンテンツを下げる */
   body {
       padding-top: 20px; /* ヘッダーの高さ分を調整 */
   }

   .sp-header {
       display: flex;
       justify-content: center;
       align-items: center;
       padding: 0px 10px 0px 10px;
   }

   /* 他のスタイルは変更なし */
}

.sp-logo-container {
   text-align: left; /* ロゴを中央揃えに */
}

.sp-logo-container img {
   max-width: 150px;
   display: inline-block; /* インラインブロック要素として表示 */
   margin-top:0px;
}

.sp-hamburger {
   position: absolute;
   right: 20px;
   
   transform: translateY(-50%);
   cursor: pointer;
   z-index: 1000;
}

.sp-hamburger span {
   display: block;
   width: 30px;
   height: 4px;
   background-color: #f6ad44;
   margin: 6px 0;
   transition: background-color 0.3s ease; /* 色の変化をスムーズにする */
}

/* アクティブ時のハンバーガーメニューのスタイル */
.sp-hamburger.active span {
   background-color: #f6ad44;
}

.sp-global-menu {
   display: none;
}

@media (min-width: 1026px) {
.sp-logo-container img {
   display:none;
}

.sp-hamburger {
   display:none;
}
}

@media (max-width: 1026px) {
   .logo-container {
       display:none;
   }

   .solana-facility-header {
       padding: 10px 0;
   }

   .sp-logo-container img {
   max-width: 250px;
   margin-left:-25px;
   display: inline-block; /* インラインブロック要素として表示 */
   }

   .solana-facility-header__buttons,
   .facility-global-menu {
       display: none;
   }

   .solana-facility-header .logo-container {
       position: static;
       transform: none;
   }


   .sp-header {
       display: flex;
       justify-content: center; /* 中央揃えに変更 */
       align-items: center;
       padding: 60px 10px 0px 10px;
   }

.sp-hamburger {
    position: fixed; /* absoluteからfixedに変更 */
    right: 20px;
    top: 30px;
    cursor: pointer;
    z-index: 1000;
}

.sp-hamburger span {
    display: block;
    width: 30px;
    height: 3px;
    background-color: #f6ad44;
    margin: 6px 0;
    transition: 0.3s;
}

.facility-header-wrapper {
    display: block;
    background: linear-gradient(90deg, #f4aa42, #f6ad44);
    color: white;
    width: 40%; /* 50%から40%に変更 - より狭く */
    height: 100vh;
    position: fixed;
    top: 0;
    right: -40%; /* 初期位置も調整 */
    z-index: 999;
    transition: right 0.3s ease-in-out;
    overflow-y: auto;
}

/* メニューが開いた時の状態 */
.facility-header-wrapper.active {
    right: 0; /* 画面内に表示 */
}

/* メニューのメインコンテナ */
.facility-header-menu {
    display: flex;
    flex-direction: column;
    padding: 80px 0 30px; /* パディングを調整 */
    gap: 10px; /* メニューブロック間の距離を追加 */
}

/* メニューリスト */
.facility-header-wrapper .menu-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px; /* 20pxから12pxに変更 - 余白を狭く */
    margin-bottom: 10px; /* 30pxから20pxに変更 */
}

/* メニューリストのリンク */
.facility-header-wrapper .menu-list a {
    color: white;
    text-decoration: none;
    font-size: 16px; /* 18pxから16pxに変更 */
    padding: 6px 15px; /* パディングを調整 */
    width: 75%; /* リンクの幅を調整 */
    text-align: center;
    transition: background-color 0.3s;
}

.facility-header-wrapper .menu-list a:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* メニューリスト - 最初のリスト（トップを含む）特別扱い */
.facility-header-wrapper .menu-list:first-child {
    margin-top: 20px; /* トップメニューの上の余白を追加 */
}

/* 予約ボタン用の特別なスタイル */
.facility-header-wrapper .menu-list.single-item {
    margin-top: 20px;
}

.facility-header-wrapper .menu-list.single-item a {
    background-color: white;
    color: #f6ad44;
    border-radius: 30px;
    padding: 10px 20px;
    font-weight: bold;
    width: auto;
    min-width: 200px;
}

/* オーバーレイ背景 */
.menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 998;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.menu-overlay.active {
    display: block;
    opacity: 1;
}

/* ハンバーガーボタン */
.sp-hamburger {
    position: fixed; /* absoluteからfixedに変更 */
    right: 20px;
    top: 30px;
    cursor: pointer;
    z-index: 1000;
}

.sp-hamburger span {
    display: block;
    width: 30px;
    height: 3px;
    background-color: #f6ad44;
    margin: 6px 0;
    transition: 0.3s;
}

/* ハンバーガーメニューがアクティブな時の状態 */
.sp-hamburger.active span {
    background-color: #f6ad44; /* メニュー展開時は白に */
}

.sp-hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
}

.sp-hamburger.active span:nth-child(2) {
    opacity: 0;
}

.sp-hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
}

}

/* PC表示時は非表示 */
@media (min-width: 1026px) {
    .facility-header-wrapper,
    .sp-hamburger,
    .menu-overlay {
        display: none !important;
    }
}

/* スマホ表示時の調整 */
@media (max-width: 480px) {
    .facility-header-wrapper {
        width: 65%; /* スマホではより大きく */
        right: -65%;
    }

    .facility-header-wrapper .menu-list a {
        font-size: 15px;
        width: 80%;
    }

    .facility-header-menu {
        padding: 70px 0 25px; /* パディングも少し調整 */
        gap: 8px; /* スマホ表示時のギャップをさらに調整 */
    }

    .facility-header-wrapper .menu-list {
        gap: 6px; /* スマホ表示時はさらに狭く */
        margin-bottom: 8px;
    }
}

/************************************
** 施設紹介ページ　ヘッダー画像
************************************/

/* 白・オレンジ背景（下３分の２） */
.facility-header-section-orange {
 position: relative;
 margin: 0;
 z-index: 1; /* コンテンツを前面に */
 padding-bottom: 50px;
}

.facility-header-section-orange::before,
.facility-header-section-orange::after {
 content: "";
 position: absolute;
 left: 0;
 width: 100%;
 z-index: -1; /* 背景を背面に */
}

.facility-header-section-orange::before {
 top: 0;
 height: 58%;
 background-color: white;
}

.facility-header-section-orange::after {
 bottom: 0;
 height: 42%;
 background: linear-gradient(90deg, #f4aa42, #f6ad44);
}

/* メインコンテナのスタイル */
.facility-header-container {
 max-width: 1200px; /* PC表示時の最大幅 */
 margin: 0 auto;
 padding: 0;
 position: relative;
 z-index: 1; /* コンテンツを背景より前面に */
}

.facility-header-container img {
 width: 100%;
 height: auto;
 display: block;
}

/* テキストのスタイル */
.facility-header-text {
 max-width: 1200px;
 margin: 0 auto;
 padding: 30px 0px 50px 0px;
}

.facility-header-text p {
 color: white;
 font-size: 33px;
 text-align: center;
 margin: 0;
}

/* タブレット用のメディアクエリ */
@media (max-width: 1026px) {
 .facility-header-section-orange {
   padding-bottom: 20px;
 }

 .facility-header-section-orange::before {
   display: none; /* 白背景を非表示 */
 }

 .facility-header-section-orange::after {
   display: none;
 }

 .facility-header-container {
   max-width: 100%;
 }

 .facility-header-text {
   padding: 30px;
 }

 .facility-header-text p {
   font-size: 30px;
 }
}

/* スマートフォン用のメディアクエリ */
@media (max-width: 480px) {
 .facility-header-section-orange {
  padding-top:40px;
   padding-bottom: 0px;
 }

  .facility-header-section-orange::before {
   display: none; /* 白背景を非表示 */
 }

 .facility-header-section-orange::after {
   top: 0; /* 上部から開始 */
   height: 100%; /* 全体をカバー */
   background: none;
 }

 .facility-header-container {
   max-width: 100%;
 }

 .facility-header-text {
   padding: 20px 15px;
 }

 .facility-header-text p {
   font-size: 18px;
 }


}

/************************************
** AREA MAP エリアマップ
************************************/

.reservation-container {
 width: 100%;
 padding: 10px 0px 50px 0px;
}

.reservation-container .reservation-inner {
 max-width: 1160px;
 margin: 0 auto;
 display: flex;
 justify-content: center;
 align-items: center;
 padding: 20px 0;
}

.reservation-container .reservation-image-container {
 text-align: center;
}

@media (max-width: 1240px) {
 .reservation-container .reservation-inner {
   margin: 0 0px;
   padding:10px 0px 20px 0px;
 }
}

@media (max-width: 768px) {
 .reservation-container .reservation-inner {
   padding: 0px;
 }
  
#search-bar-container {
  width:100%;
} 
}

.best-rate-guarantee {
 color: #f6ad44; /* オレンジ色 */
 font-size: 17px;
 font-weight: bold;
}

.best-rate-guarantee i {
 margin-right: 10px; /* アイコンと文字の間隔 */
}

/************************************
** AREA MAP エリアマップ
************************************/

.areamap-container {
 width: 100%;
 
 padding: 50px 0px 50px 0px;
}

.areamap-container .areamap-inner {
 max-width: 1160px;
 margin: 0 auto;
 
 padding: 10px 30px 30px 30px;
 
}

.areamap-container .areamap-image-container {
 text-align: center;
}

.areamap-container .areamap-image-container img {
 max-width: 100%;
 height: auto;
}

@media (max-width: 1240px) {
 .areamap-container {
   width: 100%;
   
   padding: 30px 5px 30px 5px;
 }

 .areamap-container .areamap-inner {
   margin: 0 20px;
   padding:0px 0px 30px 0px;
 }
}

@media (max-width: 768px) {
 .areamap-container .areamap-inner {
   padding: 20px 0px 0px 0px;
 }

 .areamap-container .areamap-image-container img {
 max-width: 100%;
 height: auto;
}
}

@media (max-width: 768px) {
 .areamap-container {
   width: 100%;
   padding: 0px 0px 20px 0px !important;
 }
}

.heading-title-mg7 {
   padding-top:20px;
   padding-bottom:10px;
   z-index:100;
}

@media (max-width: 768px) {
.heading-title-mg7 {
   padding-top:5px;
   margin-bottom:0px;
   z-index:100;
}

.areamap-container {
 width: 100%;
 
 padding: 0px 0;
}
}

@media (max-width: 480px) {
.heading-title-mg7 {
   padding-top:0px;
   padding-bottom:0px;
}
}

.heading-title-mg7 .heading-title {
 font-size: 4.5rem !important;
 font-weight: 500;
 color: #f6ad44;
 letter-spacing: 0.1em;
 line-height: 1.2;
 text-align: center;
 margin-top: 10px;
 margin-bottom: 0px;
 z-index:100 !important;
}

.heading-title-mg7 .heading-subtitle {
 font-size: 1.3rem;
 font-weight: bold;
 color: #f6ad44;
 letter-spacing: 0.1em;
 text-align: center;
 margin-top: 0px;
 margin-bottom: 15px;
 z-index:100;
}

/* タブレット・スマホ表示用のレスポンシブ設定 */
@media (max-width: 768px) {
 .heading-title-mg7 .heading-title {
   margin-top: 30px;
   margin-bottom: 0px;
   z-index:1000 !important;
 }

 .heading-title-mg7 .heading-subtitle {
   margin-top: 5px;
   margin-bottom: 15px;
 }
}

@media (max-width: 480px) {
 .heading-title-mg7 .heading-title {
   font-size: 2.4rem !important;
   margin-top: 15px;
   margin-bottom: 0px;
 }
 .heading-title-mg7 .heading-subtitle {
   font-size: 1.3rem !important;
   font-weight:normal;
   margin-top: 5px;
   margin-bottom: 10px;
 }
}

/************************************
** INTRODUCTION お部屋紹介
************************************/

.heading-title-mg5 .heading-title {
 font-size: 4.5rem;
 font-weight: 500;
 color: #f6ad44;
 letter-spacing: 0.1em;
 line-height: 1.2;
 text-align: center;
 margin-top: 10px;
 margin-bottom: 0px;
 z-index:100 !important;
}

.heading-title-mg5 .heading-subtitle {
 font-size: 1.3rem;
 font-weight: bold;
 color: #f6ad44;
 letter-spacing: 0.1em;
 text-align: center;
 margin-top: 0px;
 margin-bottom: 15px;
 z-index:100;
}

/* タブレット・スマホ表示用のレスポンシブ設定 */
@media (max-width: 768px) {
 .heading-title-mg5 .heading-title {
   margin-top: 30px;
   margin-bottom: 0px;
   z-index:1000 !important;
 }
 .heading-title-mg5 .heading-subtitle {
   margin-top: 5px;
   margin-bottom: 15px;
 }
}

@media (max-width: 480px) {
 .heading-title-mg5 .heading-title {
   font-size: 2.4rem !important;
   margin-top: 15px;
   margin-bottom: 0px;
 }
 .heading-title-mg5 .heading-subtitle {
   font-size: 1.3rem;
   font-weight:normal;
   margin-top: 5px;
   margin-bottom: 10px;
 }
}

.heading-title-mg3 {
   margin-top:20px;
   margin-bottom:0px;
}

@media (max-width: 768px) {
.heading-title-mg3 {
   margin-top:40px;
   margin-bottom:30px;
}
}

@media (max-width: 480px) {
.heading-title-mg3 {
   margin-top:20px;
   margin-bottom:20px;
}
}

.heading-title-mg3 .heading-title {
 font-size: 4.5rem;
 font-weight: 500;
 color: #f6ad44;
 letter-spacing: 0.1em;
 line-height: 1.2;
 text-align: center;
 margin-top: 10px;
 margin-bottom: 0px;
 z-index:100 !important;
}

.heading-title-mg3 .heading-subtitle {
 font-size: 1.3rem;
 font-weight: bold;
 color: #f6ad44;
 letter-spacing: 0.1em;
 text-align: center;
 margin-top: 0px;
 margin-bottom: 15px;
 z-index:100 !important;
}

/* タブレット・スマホ表示用のレスポンシブ設定 */
@media (max-width: 1026px) {
 .heading-title-mg3 .heading-title {
   margin-top: 30px;
   margin-bottom: 0px;
 }

 .heading-title-mg3 .heading-subtitle {
   margin-top: 10px;
   margin-bottom: 15px;
 }
}

@media (max-width: 480px) {
 .heading-title-mg3 .heading-title {
   font-size: 2.4rem !important;
   margin-top: 25px !important;
   margin-bottom: 0px;
 }
 .heading-title-mg3 .heading-subtitle {
   font-size: 1.3rem !important;
   font-weight:normal;
   margin-top: 5px;
   margin-bottom: 10px;
 }
}


.introduction-section-orange .heading-title-mg3 .heading-title {
 font-size: 4.5rem;
 font-weight: 500;
 color: #f6ad44;
 letter-spacing: 0.1em;
 line-height: 1.2;
 text-align: center;
 margin-top: 10px;
 margin-bottom: 0px;
 z-index:100 !important;
}

.introduction-section-orange .heading-title-mg3 .heading-subtitle {
 font-size: 1.3rem;
 font-weight: bold;
 color: #f6ad44;
 letter-spacing: 0.1em;
 text-align: center;
 margin-top: 0px;
 margin-bottom: 15px;
 z-index:100 !important;
}

/* タブレット・スマホ表示用のレスポンシブ設定 */
@media (max-width: 1026px) {
 .introduction-section-orange .heading-title-mg3 .heading-title {
   margin-top: 0px;
   margin-bottom: 0px;
 }

 .introduction-section-orange .heading-title-mg3 .heading-subtitle {
   margin-top: 10px;
   margin-bottom: 35px;
 }
}

@media (max-width: 480px) {
 .introduction-section-orange .heading-title-mg3 .heading-title {
   font-size: 2.4rem !important;
   margin-top: 25px !important;
   margin-bottom: 0px;
 }
 .introduction-section-orange .heading-title-mg3 .heading-subtitle {
   font-size: 1.3rem !important;
   font-weight:normal;
   margin-top: 5px;
   margin-bottom: 10px;
 }
}


/* 白・オレンジ背景（下３分の２） */

.introduction-section-orange {
 position: relative;
 margin: 0;
 z-index: 1; /* コンテンツを前面に */
 padding-bottom: 70px;
}

.introduction-section-orange::before,
.introduction-section-orange::after {
 content: "";
 position: absolute;
 left: 0;
 width: 100%;
 z-index: -1; /* 背景を背面に */
}

.introduction-section-orange::before {
 top: 0;
 height: 58%;
 background-color: white;
}

.introduction-section-orange::after {
 bottom: 0;
 height: 42%;
 background: linear-gradient(90deg, #f4aa42, #f6ad44);
}

@media (max-width: 1026px) {
.introduction-section-orange {
 position: relative;
 margin: 0;
 z-index: 1; /* コンテンツを前面に */
 padding-bottom: 60px;
}

.introduction-section-orange::before,
.introduction-section-orange::after {
 content: "";
 position: absolute;
 left: 0;
 width: 100%;
 z-index: -1; /* 背景を背面に */
}

.introduction-section-orange::before {
 top: 0;
 height: 33.33%;
 background-color: white;
}

.introduction-section-orange::after {
 bottom: 0;
 height: 66.67%;
 background: white;
}
}

@media (max-width: 480px) {
.introduction-section-orange {
 position: relative;
 margin: 0;
 z-index: 1; /* コンテンツを前面に */
 padding-bottom: 30px;
}
}

/* メインコンテナのスタイル */
.introduction-container {
   max-width: 1200px; /* PC表示時の最大幅 */
   margin: 0 auto;
   padding: 0px;
   background-color: white;
   position: relative;
   z-index: 1; /* コンテンツを背景より前面に */
   padding: 0px 20px 20px 20px; /* 必要に応じて調整 */
   margin-top:-20px;
}

/* ボタングリッドのスタイル */
.introduction-container .button-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr); /* PC表示時は4列 */
   gap: 15px; /* ボタン間の間隔 */
   margin-top:0px;
   margin-bottom: 20px;
}

/* ボタンの基本スタイル */
.introduction-container .btn {
   background-color: #FFDFB0;
   border: none;
   padding: 15px 15px; /* ボタンの内側の余白 */
   cursor: pointer;
   font-size: 20px; /* 文字サイズ */
   border-radius: 0px; /* 角を丸くする */
}

/* アクティブなボタンのスタイル */
.introduction-container .btn.active {
   background-color: #f6ad44;
   color: white;
}

/* ボタンホバー時のスタイル */
.introduction-container .btn:hover {
   background-color: #f6ad44;
   color: white;
}

/* コンテンツエリアのスタイル */
.introduction-container #content-area .content {
   display: none;
   padding: 0px;
}

/* アクティブなコンテンツのスタイル */
.introduction-container #content-area .content.active {
   display: block;
}

/* タブレット用スタイル */
@media (max-width: 1026px) { 
   .introduction-container {
   max-width: 90%; /* PC表示時の最大幅 */
   margin: 0 auto;
   padding: 0px;
}

   .introduction-container .button-grid {
       grid-template-columns: repeat(3, 1fr); /* タブレット表示時は3列 */
   }

   .introduction-container .btn {
       font-size: 14px; /* タブレット用の文字サイズ */
       padding: 25px 8px; /* タブレット用のパディング */
       font-size:17px;
   }
}

/* スマートフォン用スタイル */
@media (max-width: 480px) {
   .introduction-container {
   max-width: 86%; /* PC表示時の最大幅 */
   margin: 0 auto;
   padding: 0px 0px 10px 0px;
   }

   .introduction-container .button-grid {
       grid-template-columns: repeat(2, 1fr); /* スマホ表示時は2列 */
       gap: 8px; /* スマホ用のボタン間隔 */
   }

   .introduction-container .btn {
       font-size: 13px; /* スマホ用の文字サイズ */
       padding: 15px 6px; /* スマホ用のパディング */
       font-size:14px;
   }
}

/* ボタンのカスタマイズ用変数 */
:root {
   --button-bg-color: #FFE4B5;
   --button-active-bg-color: #EA7600;
   --button-hover-bg-color: #EA7600;
   --button-text-color: #EA7600;
   --button-active-text-color: #fff;
   --content-bg-color: #f0f0f0;
}

/* カスタム変数の適用 */
.introduction-container .btn {
   background-color: var(--button-bg-color);
   color: var(--button-text-color);
}

.introduction-container .btn.active {
   background-color: var(--button-active-bg-color);
   color: var(--button-active-text-color);
}

.introduction-container .btn:hover {
   background-color: var(--button-hover-bg-color);
}



/* ルーム情報全体のコンテナ */
.room-info {
 --content-max-width: 1200px;
 --content-padding: 20px 30px;
 --column-gap: 30px;

    position: relative;
    display: flex;
    flex-wrap: wrap;
    max-width: var(--content-max-width);
    margin: 0 auto;
    padding: var(--content-padding);
    gap: var(--column-gap);
}

/* 左側コンテンツと右側スライドショー */
.room-details,
.room-slideshow {
    width: calc(50% - var(--column-gap) / 2);
	z-index:10 !important;
}

/* 予約ボタンコンテナ */
.reservation-button-container {
    width: 100%;
    display: flex; /* flexboxを使用 */
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    margin-top: 0px;
    position: relative;
}

/* レスポンシブ対応 */
@media (max-width: 1026px) {

    .room-info {
        padding: var(--content-padding) 0 !important; /* パディングを調整 */
    }

    .room-slideshow {
        width: 100%;
    }

    .room-details {
        width: 650px;
        margin:0 auto;
    }

    .reservation-button-container {
        width: 100% !important;
        padding: 0; /* パディングをリセット */
		margin-top: 0px;
    }

    .custom-button2 {
        margin: 0 auto; /* 左右のマージンを自動に */
    }    

}

@media (max-width: 480px) {

    .room-details,
    .room-slideshow {
        width: 100%;
    }

    .reservation-button-container2 {
      padding-left: 30px !important; /* 左右に適切なパディングを追加 */
    }

    .reservation-button-container {
      margin-top: -25px; /* ネガティブマージンで間隔を詰める */
    }

}

/* ルーム詳細と画像のレイアウト */
.room-details, .room-image {
 flex: 1;
}

/* ルームタイトルのスタイル */
.room-title {
 --title-font-size: 30px;
 --title-margin-bottom: 10px;

 font-size: var(--title-font-size);
 font-weight: 600;
 margin-bottom: var(--title-margin-bottom);
}

 .room-subtitle {
   font-size: 22px;
   font-weight: 500;
 }

/* ルーム説明文のスタイル */
.room-description {
 --description-margin-bottom: 15px;
 --description-font-size: 20px;

 margin-bottom: var(--description-margin-bottom);
 font-size: var(--description-font-size);
}

/* 区切り線のスタイル */
.divider {
 --divider-color: #ccc;
 --divider-margin: 5px 0;

 border: none;
 border-top: 1px solid var(--divider-color);
 margin: var(--divider-margin);
}

/* ルーム仕様のスタイル */
.room-specs {
 --specs-margin-bottom: 15px;
 --specs-font-size: 17px;

 margin-top: 20px;
 margin-bottom: var(--specs-margin-bottom);
 font-size: var(--specs-font-size);
}

/* アイコン付きテキストのスタイル */
.icon-people, .icon-size {
 --icon-margin-right: 15px;
 display: inline-block;
 margin-right: var(--icon-margin-right);
}

/* 価格ボックスのスタイル */
.price-box {
 --price-box-border-color: #ee7800;
 --price-box-padding: 10px 50px;
 --price-box-margin-bottom: 15px;

 border: 2px solid var(--price-box-border-color);
 padding: var(--price-box-padding);
 display: inline-block;
 margin-bottom: var(--price-box-margin-bottom);
}

/* 価格テキストのスタイル */
.price {
 --price-color: #ee7800;
 --price-font-size: 28px;

 color: var(--price-color);
 font-weight: bold;
 margin: 0;
 font-size: var(--price-font-size);
}

/* 価格注釈のスタイル */
.price-note {
 --price-note-color: #ee7800;
 --price-note-font-size: 18px;
 color: var(--price-note-color);
 font-size: var(--price-note-font-size);
 padding-bottom:20px;
}

/* ルーム画像のスタイル */
.room-image img {
 width: 100%;
 height: auto;
}

/* タブレット用スタイル */
@media (max-width: 1026px) {
 .room-info {
   flex-direction: column;
   --content-padding: 0px 0px;
 }

 .room-image {
   order: -1; /* 画像を上に配置 */
 }

 .room-title {
   --title-font-size: 35px;
   margin-top: -5px;
 }

 .room-subtitle {
   font-size: 22px;
 }

 .room-description, .room-specs {
   --description-font-size: 20px;
   --specs-font-size: 20px;
 }

.price-container {
    text-align: center !important;
    margin: 0 auto;
    margin-top:40px;
}

 .price-box {
   --price-box-padding: 10px 50px;
 }

 .price {
   --price-font-size: 35px;
 }

 .price-note {
   --price-note-font-size: 20px;
 }
}

/* スマートフォン用スタイル */
@media (max-width: 480px) {
 .room-info {
   padding: 0 !important; /* パディングを削除 */
}

.room-details {
  margin-top:-15px;
}

 .room-title {
   margin-top: 10px;
   margin-bottom: 10px;
   --title-font-size: 16px;
 }

 .room-subtitle {
   font-size: 14px;
 }

 .room-description, .room-specs {
   font-size: 12px;
   margin-bottom: 10px;
 }

.divider {
 --divider-color: #ccc;
 --divider-margin: 15px 0px;
 border: none;
 border-top: 1px solid var(--divider-color);
 margin: var(--divider-margin);
}

 .price {
   --price-font-size: 16px;
 }

.price-container {
    text-align: center !important;
    margin: 0 auto !important;
}

 .price-box {
 --price-box-padding: 10px 30px;
   margin-top: 5px;
   margin-bottom: 15px;
}

 .price-note {
   --price-note-font-size: 14px;
   margin-bottom: 5px;
   padding-bottom: 10px;
 }
}

/************************************
** AMENITY アメニティ・設備
************************************/

.amenity-wrapper .heading-title-mg4 {
   padding-top:50px;
   padding-bottom:0px;
   z-index:100;
}

@media (max-width: 1026px) {
.amenity-wrapper .heading-title-mg4 {
   padding-top:30px;
   margin-bottom:0px;
}
}

@media (max-width: 480px) {
.amenity-wrapper .heading-title-mg4 {
   padding-top:20px;
   padding-bottom:0px !important;
}
}

/* アメニティ・設備エリア（左グレー・右白） */
.amenity-wrapper {
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding-bottom:60px;
    background-color: #F9F5EE;
}

.amenity-bg-container {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background-color: #F9F5EE;
    z-index: 0;
}

.amenity-bg-container::after {
    content: "";
    position: absolute;
    top: 0;
    right: -35vw;
    width: 70%;
    height: 100%;
    background-color: white;
}

.amenity-content-container {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    z-index: 1;
}

/* テーブルの基本設定 */
.amenity-table {
 width: 100%;
 max-width: 1140px; /* PC表示時の最大幅 */
 border-collapse: separate;
 border-spacing: 0;
 font-family: Arial, sans-serif;
 background-color: transparent;
 border: none; /* 境界線を完全に削除 */
 z-index:200 !important;
 margin: 0 auto; /* 中央揃え */
}

/* th と td の共通スタイル */
.amenity-table th,
.amenity-table td {
 padding: 30px;
 vertical-align: middle;
 background-color: transparent;
}

/* 内部の罫線のみを表示 */
.amenity-table tr:not(:last-child) th,
.amenity-table tr:not(:last-child) td {
 border-bottom: 1px solid #8D8D8D;
}

.amenity-table td {
 border-left: 1px solid #8D8D8D;
}

/* 最後の行の下線を削除 */
.amenity-table tr:last-child th,
.amenity-table tr:last-child td {
 border-bottom: none;
}

/* 最後の列の右線を削除 */
.amenity-table th:last-child,
.amenity-table td:last-child {
 border-right: none;
}

/* 表の左側（th）のスタイル */
.amenity-table th {
 width: 20%; /* 左側の幅を20%に設定 */
 color: #EA7600;
 font-size: 25px;
 font-weight:bold;
 text-align: center;
}

/* 表の右側（td）のスタイル */
.amenity-table td {
 width: 80%; /* 右側の幅を80%に設定 */
 font-size: 18px;
 line-height: 30px;
 text-align: left;
}

/* 小さい文字のスタイル（注釈など用） */
.amenity-table small {
 font-size: 0.8em;
 color: #666;
}

/* レスポンシブ対応：画面幅が768px以下の場合 */
@media (max-width: 1026px) { 
.amenity-container {
 width: 100%;
 display: flex;
 justify-content: center;
 background-color: transparent;
 margin: 0 auto;
 background-color:#F9F5EE;
 padding:0px 80px 50px 80px;
 margin-top:-15px;
}    
 .amenity-table,
 .amenity-table tbody,
 .amenity-table tr,
 .amenity-table th,
 .amenity-table td {
   display: block;
   width: 100%;
 }

 .amenity-table th {
   font-size: 25px;
   padding: 20px 15px 0px 14px;
   border: none !important; /* すべての境界線を削除 */
   text-align:left !important;
 }

 .amenity-table td {
   font-size: 18px;
   line-height: 33px;
   padding: 10px 15px 15px 15px;
   border: none; /* すべての境界線を削除 */
 }

 /* tdの後にのみ横罫線を追加 */
 .amenity-table td:not(:last-child) {
   border-bottom: 1px solid #8D8D8D;
 }

 /* 最後のtdの後の罫線を削除 */
 .amenity-table tr:last-child td {
   border-bottom: none;
 }
}

@media (max-width: 480px) {
.amenity-container {
 width: 100%;
 display: flex;
 justify-content: center;
 background-color: transparent;
 margin: 0 auto;
 background-color:#F9F5EE;
 padding:0px 25px 30px 25px;
 margin-top:-15px;
}    
 .amenity-table,
 .amenity-table tbody,
 .amenity-table tr,
 .amenity-table th,
 .amenity-table td {
   display: block;
   width: 100%;
 }

 .amenity-table th {
   font-size: 17px;
   padding: 20px 15px 0px 14px;
   border: none !important; /* すべての境界線を削除 */
   text-align:left !important;
 }

 .amenity-table td {
   font-size: 15px;
   line-height: 26px;
   padding: 10px 15px 15px 15px;
   border: none; /* すべての境界線を削除 */
 }

 /* tdの後にのみ横罫線を追加 */
 .amenity-table td:not(:last-child) {
   border-bottom: 1px solid #8D8D8D;
 }

 /* 最後のtdの後の罫線を削除 */
 .amenity-table tr:last-child td {
   border-bottom: none;
 }
}



/************************************
** NOTES 注意事項
************************************/

.notes-wrapper {
    position: relative;
    z-index: 1;
    overflow: hidden;
    margin-top: 0px;
    padding-top: 0px;
}

.notes-bg-container {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background-color: white;
    z-index: 0;
}

.notes-bg-container::after {
    content: "";
    position: absolute;
    top: 0;
    right: -35vw;
    width: 70%;
    height: 100%;
    background-color: #F9F5EE;
}

.notes-wrapper .heading-title-mg4 {
   padding-top:50px;
   padding-bottom:0px;
   z-index:100;
}

@media (max-width: 1026px) {
.notes-wrapper .heading-title-mg4 {
   padding-top:20px;
   margin-bottom:20px;
}
}

@media (max-width: 480px) {
.notes-wrapper .heading-title-mg4 {
   padding-top:20px;
   padding-bottom:0px !important;
}
}



.notes-content-container {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    z-index: 1;
}

@media screen and (max-width: 1026px) {
   .amenity-wrapper {
       margin-top: 0;
       padding-top: 0;
       padding-bottom:0px;
       background-color: #F9F5EE; /* グレー背景を維持 */
   }

   .notes-wrapper {
       margin-top: 0;
       padding-top: 0;
       background-color: white; /* 白背景を維持 */
   }

   /* 不要な背景コンテナを非表示 */
   .amenity-bg-container,
   .notes-bg-container {
       display: none;
   }

   /* コンテンツコンテナの位置調整 */
   .amenity-wrapper,
   .notes-wrapper {
       left: 0;
       transform: none;
       width: 100%;
   }
}

.notes-content {
 width: 100% !important;
 max-width: 900px;
 padding: 15px 0;
 margin-bottom:60px;
 z-index:200 !important;
 margin: 0 auto 60px auto; /* 中央揃え */
}

.notes-list {
 padding-left: 0px;
 margin: 0;
 list-style-type: none;
 counter-reset: item;
}

.notes-list li {
 font-size: 18px !important;
 padding: 15px 0;
 border-bottom: 1px solid #e0e0e0;
 position: relative;
 padding-left: 20px;
}

@media (max-width: 1026px) {
 .notes-container {
   padding: 0px 60px 0px 60px !important;
   margin:0 auto !important;
 }
 
 .notes-content {
 width: 100% !important;
 padding: 0px 20px !important;
 margin-bottom:40px;
}
}

@media (max-width: 768px) {
 .notes-container {
   padding: 0px 30px 20px 30px !important;
   margin:0 auto !important;
 }

.notes-content {
 width: 100%;
 padding: 15px 0;
}

 .notes-list li {
   font-size: 18px !important;
   padding: 12px 0;
   padding-left: 10px;
 }
}

@media (max-width: 480px) {
 .notes-container {
   padding: 0px 15px 10px 15px !important;
   margin:0 auto !important;
   margin-top:-10px;
 }

 .notes-content {
   width: 100%;
   padding: 0px;
   margin-bottom:20px;
   margin-top:-10px;
 }

 .notes-list li {
   font-size: 15px !important;
   padding: 12px 0;
   padding-left: 0px;
 }
}

/************************************
** NEWS お知らせ
************************************/

.heading-title-white {
 font-size: 4.5rem;
 font-weight: 500;
 color: white;
 letter-spacing: 0.1em;
 line-height: 1.2;
 text-align: center;
 margin-top: 10px;
 margin-bottom: 0px;
 z-index:100;
}

.heading-subtitle-white {
 font-size: 1.3rem;
 font-weight: bold;
 color: white;
 letter-spacing: 0.1em;
 text-align: center;
 margin-top: 0px;
 margin-bottom: 15px;
 z-index:100;
}

/* タブレット・スマホ表示用のレスポンシブ設定 */
@media (max-width: 768px) {
 .heading-title-white {
   margin-top: 30px;
   margin-bottom: 0px;
 }
 .heading-subtitle {
   margin-top: 5px;
   margin-bottom: 15px;
 }
}

@media (max-width: 480px) {
 .heading-title-white {
   font-size: 2.4rem !important;
   margin-top: 15px;
   margin-bottom: 0px;
 }
 .heading-subtitle-white {
   font-size: 1.2rem;
   font-weight:normal;
   margin-top: 5px;
   margin-bottom: 10px;
 }
}

.heading-title-mg6 {
   padding-top:40px;
   padding-bottom:20px;
   z-index:100;
}

@media (max-width: 768px) {
.heading-title-mg6 {
   padding-top:5px;
   margin-bottom:0px;
}
}

@media (max-width: 480px) {
.heading-title-mg6 {
   padding-top:0px;
   padding-bottom:0px;
}
}

.facility-newslist-container {
 width: 100%;
 display: flex;
 justify-content: center;
 background-color: transparent;
 padding-bottom:60px;
}

.facility-newslist {
 width: 100%;
 max-width: 1130px;
 padding: 0px;
}

/* お知らせ一覧 */

/* 全体のグリッドコンテナ */
.blog-grid {
   display: grid; /* グリッドレイアウトを使用 */
   grid-template-columns: repeat(3, 1fr); /* 3列等幅のグリッド */
   gap: 30px; /* グリッドアイテム間の間隔 */
   padding: 0px 0px 50px 0px; /* コンテナの内側の余白 */
}

/* ブログカードのスタイル */
.blog-card {
   background-color: white; /* カードの背景色 */
   overflow: hidden; /* はみ出た内容を隠す */
   box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* カードに影をつける */
   height: 100%; /* 高さを100%に設定 */
}

/* カード内の画像スタイル */
.blog-card img {
   width: 100%; /* 画像を親要素の幅いっぱいに */
   height: 200px; /* 画像の高さを固定 */
   object-fit: cover; /* 画像のアスペクト比を保ちつつ、領域を埋める */
}

/* カードコンテンツ部分のスタイル */
.card-content {
   padding: 25px; /* コンテンツ内の余白 */
}

/* 日付と場所のスタイル - 変更あり */
time, .location {
   
   display: inline-block; /* インラインブロック要素に変更 */
}

/* 日付のスタイル - 新規追加 */
time {
   font-size: 1.1em; /* フォントサイズを小さく */
   color: #444; /* より濃いグレーの文字色 */
   margin-right: 10px; /* 右側にマージンを追加 */
}
/* 場所のスタイル - 変更あり */
.location {
   font-size: 1.0em;
   
   padding: 2px 5px; 
   border-radius: 3px;
   color: #fff;
}

/* 記事タイトルのスタイル */
h2 {
   margin-top: 10px; /* 上部のマージン */
   font-size: 1.2em; /* フォントサイズ */
   line-height: 1.4; /* 行間 */
}

/* タブレット用のスタイル */
@media screen and (max-width: 1026px) {
   .facility-newslist-container {
       width: 100%;
       display: flex;
       justify-content: center;
       background-color: transparent;
       padding-bottom: 60px;
   }

   .facility-newslist {
       width: 100%;
       max-width: 1130px;
       padding: 0px 0px 0px 0px;
   }

   .blog-grid {
       grid-template-columns: repeat(2, 1fr); /* 2列表示に変更 */
       gap: 20px;
       margin: 5px 25px 35px 25px;
   }
   
   .blog-card-link {
       display: block; /* flexを解除 */
   }

   .blog-card {
       display: block; /* flexを解除 */
       box-shadow: none;
       border-bottom: none; /* 下線を削除 */
       padding: 0;
   }
   
   .blog-card img {
       width: 100%; /* 画像幅を100%に */
       height: 250px; /* 画像の高さを調整 */
       object-fit: cover;
       margin-right: 0;
   }
   
   .card-content {
       width: 100%;
       padding: 15px;
   }
   
   time, .location {
       font-size: 16px;
   }
   
   .facility-newslist-container h2 {
       font-size: 18px;
       margin-top: 10px;
   }
}

/* スマートフォン用のスタイル */
@media screen and (max-width: 480px) {
   .facility-newslist-container {
       width: 100%;
       display: flex;
       justify-content: center;
       background-color: transparent;
       padding-bottom: 20px;
   }

.facility-newslist {
   padding-bottom:0px;
   margin-bottom:0px;
   }

   .blog-grid {
       grid-template-columns: repeat(2, 1fr); /* 2列表示を維持 */
       gap: 15px; /* ギャップを少し狭く */
       margin: 5px 15px 25px 15px;
   }
   
   .blog-card {
       display: block;
       box-shadow: none;
       border-bottom: none;
       padding: 0;
   }
   
   .blog-card img {
       width: 100%;
       height: 120px; /* スマホではより小さく */
       object-fit: cover;
       margin-right: 0;
   }
   
   .card-content {
       width: 100%;
       padding: 10px;
   }
   
   time, .location {
       font-size: 0.8em;
   }
   
   .facility-newslist-container h2 {
       font-size: 14px !important;
       margin-top: 5px;
   }
}

/* リンクスタイルの調整 */
.blog-card-link {
   text-decoration: none;
   color: inherit;
   display: block;
}

.blog-card-link:hover {
   opacity: 1;
   transition: opacity 0.3s ease;
}

/* スマートフォン用のリンクスタイル */
@media screen and (max-width: 480px) {
   .blog-card-link {
       display: block;
   }
}

/* 白ボタン */
.custom-button3 {
   display: inline-flex; /* フレックスボックスでインライン要素として表示 */
   align-items: center; /* 垂直方向のセンタリング */
   justify-content: space-between; /* 子要素間のスペースを均等に */
   padding: 10px 20px; /* 内側の余白（上下左右） */
   width: 350px; /* ボタンの固定幅 */
   background: linear-gradient(90deg, #f6ad44, #f6ad44); /* グラデーション背景 */
   color: #FFF; /* 文字色 */
   border: none; /* ボーダーなし */
   border-radius: 35px; /* 角丸にする */
   font-size: 25px; /* 文字サイズ */
   font-weight: bold; /* 文字の太さ */
   text-align: center; /* 文字を中央揃え */
   text-decoration: none; /* 下線を除去 */
   transition: background 0.3s, box-shadow 0.3s; /* 背景色とシャドウのトランジション */
   cursor: pointer; /* カーソルをポインタに */
       }

.custom-button3:hover {
   background: linear-gradient(90deg, #f6ad44, #f6ad44); /* ホバー時の背景グラデーション */
   color: #FFF; /* ホバー時の文字色（変わらないように） */
       }

.button-text3 {
   flex: 1; /* 残りのスペースを占める */
   padding-left:25px;
   letter-spacing: 0.1em; /* 文字間のスペース */
       }

.button-arrow3 {
   margin-left: 10px; /* 矢印と文字の間の余白 */
   font-size: 30px;
       }


@media (max-width: 1026px) {

.facility-news-button-area{
    margin-top: -30px !important;
    margin-bottom: 20px !important;
           }
}

@media (max-width: 480px) {

.facility-news-button-area{
    margin-top:-60px !important;
           }

.custom-button3 {
    padding: 7px 10px;
    font-size: 15px;
    width: 200px;
           }

.button-text3 {
    flex: 1; /* 残りのスペースを占める */
    padding-left:15px;
    letter-spacing: 0.15em; /* 文字間のスペース */
       }

.button-arrow3 {
    margin-left: 5px; /* 矢印と文字の間の余白 */
    font-size: 15px;
       }
       }

/************************************
** information アメニティ・設備
************************************/

.information-container0 .heading-title-mg4 {
   padding-top:50px;
   padding-bottom:0px;
   z-index:100;
}

@media (max-width: 768px) {
.information-container0 .heading-title-mg4 {
   padding-top:5px;
   margin-bottom:0px;
}
}

@media (max-width: 480px) {
.information-container0 .heading-title-mg4 {
   padding-top:30px !important;
   padding-bottom:10px;
}
}

.information-container0 .heading-title-mg4 .heading-title {
 font-size: 4.5rem !important;
 font-weight: 500 !important;
 color: #f6ad44;
 letter-spacing: 0.1em;
 line-height: 1.2;
 text-align: center;
 margin-top: 10px;
 margin-bottom: 0px;
 z-index:100 !important;
}

.information-container0 .heading-title-mg4 .heading-subtitle {
 font-size: 1.3rem !important;
 font-weight: bold;
 color: #f6ad44;
 letter-spacing: 0.1em;
 text-align: center;
 margin-top: 0px;
 margin-bottom: 15px;
 z-index:100 !important;
}

/* タブレット・スマホ表示用のレスポンシブ設定 */
@media (max-width: 1026px) {
 .information-container0 .heading-title-mg4 .heading-title {
   margin-top: 0px !important;
   margin-bottom: 0px;
   padding-top:0 !important;
 }
 .information-container0 .heading-title-mg4 .heading-subtitle {
   margin-top: 5px;
   margin-bottom: 25px;
 }
}

@media (max-width: 480px) {
.information-container0 .heading-title-mg4 .heading-title {
   font-size: 2.4rem !important;
   margin-top: 15px;
   margin-bottom: 0px;
 }
.information-container0 .heading-title-mg4 .heading-subtitle {
   font-size: 1.2rem !important;
   font-weight:normal;
   margin-top: 5px;
   margin-bottom: 10px;
 }
}


/* 全体のコンテナ：幅100%で中央揃え */
.information-container {
 width: 100%;
 display: flex;
 justify-content: center;
 background-color: transparent;
 padding-bottom:50px;
}

@media (max-width: 480px) {
.information-container {
 width: 100%;
 display: flex;
 justify-content: center;
 background-color: transparent;
 padding-bottom:20px;
}
}

/* テーブルの基本設定 */
.information-table {
 width: 100%;
 max-width: 1130px; /* PC表示時の最大幅 */
 border-collapse: separate;
 border-spacing: 0;
 font-family: Arial, sans-serif;
 background-color: transparent;
 border: none; /* 境界線を完全に削除 */
}

/* th と td の共通スタイル */
.information-table th,
.information-table td {
 padding: 30px;
 vertical-align: middle;
 background-color: transparent;
}

/* 内部の罫線のみを表示 */
.information-table tr:not(:last-child) th,
.information-table tr:not(:last-child) td {
 border-bottom: 1px solid #8D8D8D;
}

.information-table td {
 border-left: 1px solid #8D8D8D;
}

/* 最後の行の下線を削除 */
.information-table tr:last-child th,
.information-table tr:last-child td {
 border-bottom: none;
}

/* 最後の列の右線を削除 */
.information-table th:last-child,
.information-table td:last-child {
 border-right: none;
}

/* 表の左側（th）のスタイル */
.information-table th {
 width: 20%; /* 左側の幅を20%に設定 */
 color: #EA7600;
 font-size: 22px;
 text-align: center;
}

/* 表の右側（td）のスタイル */
.information-table td {
 width: 80%; /* 右側の幅を80%に設定 */
 font-size: 18px;
 line-height: 30px;
 text-align: left;
}

/* 小さい文字のスタイル（注釈など用） */
.information-table small {
 font-size: 0.8em;
 color: #666;
}

.solana-dog-btn.solana-dog-btn--outline {
   display: inline-flex;
   align-items: center;
   justify-content: space-between;
   color: #333;
   background-color: white;
   border: none;
   border-radius: 30px;
   box-shadow: 0 0 10px rgba(0,0,0,0.3);
   padding: 10px 20px;
   margin-top: 15px;
   font-size: 16px;
   font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
   text-decoration: none;
   transition: all 0.3s ease;
   z-index: 1000;
}

.solana-dog-btn.solana-dog-btn--outline:hover {
   background-color: #f5f5f5;
   transform: translateY(-2px);
}

.solana-dog-btn.solana-dog-btn--outline i {
   margin-left: 10px;
   font-size: 14px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
   .solana-dog-btn.solana-dog-btn--outline {
       font-size: 14px;
       padding: 8px 16px;
   }
}

@media (max-width: 480px) {
   .solana-dog-btn.solana-dog-btn--outline {
       font-size: 10px;
       padding: 6px 11px;
   }
   
   .solana-dog-btn.solana-dog-btn--outline i {
       margin-left: 5px;
       font-size: 11px;
   }
}

/* レスポンシブ対応：画面幅が768px以下の場合 */
@media (max-width: 1026px) {
.information-container {
 width: 100%;
 display: flex;
 justify-content: center;
 background-color: transparent;
 padding:0px 50px 30px 50px;
}

/* テーブルの基本設定 */
.information-table {
 width: 100%;
 max-width: 1130px; /* PC表示時の最大幅 */
 border-collapse: separate;
 border-spacing: 0;
 font-family: Arial, sans-serif;
 background-color: transparent;
 border: none; /* 境界線を完全に削除 */
}

/* th と td の共通スタイル */
.information-table th,
.information-table td {
 padding: 20px;
 vertical-align: middle;
 background-color: transparent;
}

/* 内部の罫線のみを表示 */
.information-table tr:not(:last-child) th,
.information-table tr:not(:last-child) td {
 border-bottom: 1px solid #8D8D8D;
}

.information-table td {
 border-left: 1px solid #8D8D8D;
}

/* 最後の行の下線を削除 */
.information-table tr:last-child th,
.information-table tr:last-child td {
 border-bottom: none;
}

/* 最後の列の右線を削除 */
.information-table th:last-child,
.information-table td:last-child {
 border-right: none;
}

/* 表の左側（th）のスタイル */
.information-table th {
 width: 20%; /* 左側の幅を20%に設定 */
 color: #EA7600;
 font-size: 18px;
 text-align: center;
}

/* 表の右側（td）のスタイル */
.information-table td {
 width: 80%; /* 右側の幅を80%に設定 */
 font-size: 18px;
 line-height: 30px;
 text-align: left;
}

/* 小さい文字のスタイル（注釈など用） */
.information-table small {
 font-size: 0.8em;
 color: #666;
}
}


@media (max-width: 480px) {
.information-container {
 width: 100%;
 display: flex;
 justify-content: center;
 background-color: transparent;
 padding:0px 20px 20px 20px;
}

/* テーブルの基本設定 */
.information-table {
 width: 100%;
 max-width: 1130px; /* PC表示時の最大幅 */
 border-collapse: separate;
 border-spacing: 0;
 font-family: Arial, sans-serif;
 background-color: transparent;
 border: none; /* 境界線を完全に削除 */
}

/* th と td の共通スタイル */
.information-table th,
.information-table td {
 vertical-align: middle;
 background-color: transparent;
}

/* 内部の罫線のみを表示 */
.information-table tr:not(:last-child) th,
.information-table tr:not(:last-child) td {
 border-bottom: 1px solid #8D8D8D;
}

.information-table td {
 border-left: 1px solid #8D8D8D;
}

/* 最後の行の下線を削除 */
.information-table tr:last-child th,
.information-table tr:last-child td {
 border-bottom: none;
}

/* 最後の列の右線を削除 */
.information-table th:last-child,
.information-table td:last-child {
 border-right: none;
}

/* 表の左側（th）のスタイル */
.information-table th {
 width: 35%; /* 左側の幅を20%に設定 */
 color: #EA7600;
 font-size: 15px;
 text-align: center;
 padding: 10px 10px 10px 0px;
}

/* 表の右側（td）のスタイル */
.information-table td {
 width: 65%; /* 右側の幅を80%に設定 */
 font-size: 15px;
 line-height: 22px;
 text-align: left;
 padding: 10px 0px 10px 15px;
}

/* 小さい文字のスタイル（注釈など用） */
.information-table small {
 font-size: 16px;
 color: #666;
}
}

/* ワンちゃんボタンのスタイル */
.solana-dog-btn.solana-dog-btn--primary {
   color: white;
   background-color: #F39200;
   border: none;
   border-radius: 30px;
   box-shadow: 0 2px 5px rgba(0,0,0,0.2);
   padding: 10px 20px;
   font-size: 16px;
   min-width: 150px;
   display: inline-flex;
   align-items: center;
   justify-content: space-between;
   text-decoration: none;
   transition: all 0.3s ease;
}

.solana-dog-btn.solana-dog-btn--primary:hover {
   background-color: #FF9F00;
   transform: translateY(-2px);
}

.solana-dog-btn.solana-dog-btn--primary i.fa-paw {
   margin-right: 10px;
   font-size: 18px;
}

.solana-dog-btn.solana-dog-btn--primary i.fa-chevron-circle-right {
   margin-left: 10px;
   font-size: 18px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
   .solana-dog-btn.solana-dog-btn--primary {
       font-size: 14px;
       padding: 8px 16px;
   }
}

@media (max-width: 480px) {
   .solana-dog-btn.solana-dog-btn--primary {
       font-size: 14px;
       padding: 6px 12px;
   }
}

/************************************
** 動画エリア
************************************/

.movie-container {
 width: 100%;
 display: flex;
 justify-content: center;
 background-color: transparent;
 padding-bottom:50px;
}

.movie-wrapper {
 width: 100%;
 max-width: 1140px;
}

.movie-responsive {
 position: relative;
 padding-bottom: 56.25%; /* 16:9 アスペクト比 */
 height: 0;
 overflow: hidden;
}

.movie-responsive iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}

/* タブレットとスマートフォン用のスタイル */
@media screen and (max-width: 1026px) {
 .movie-wrapper {
   padding: 10px 50px 0px 50px;
 }
}

@media screen and (max-width: 480px) {
 .movie-wrapper {
   padding: 0 15px;
 }

 .movie-container {
   padding: 0px 0px 40px 0px;
 }
}

/************************************
** ACCESS  アクセス
************************************/

.information-container0 {
 width: 100%;
 display: flex;
 flex-direction: column;
 align-items: center;
 background-color: #F9F5EE;
 padding: 0px 0px 40px 0px;
 margin-bottom:30px;
}

@media screen and (max-width: 480px) {
.information-container0 {
 width: 100%;
 display: flex;
 flex-direction: column;
 align-items: center;
 background-color: #F9F5EE;
 padding: 0px 0px 10px 0px;
 margin-bottom:5px;
 margin-top:30px;
}
}

.access-container .heading-title-mg4 {
   padding-top:20px;
   padding-bottom:0px;
   margin:0;
   z-index:100;
}

@media (max-width: 1024px) {
.access-container .heading-title-mg4 {
   padding-top:5px;
   margin-bottom:0px;
}
}

@media (max-width: 480px) {
.access-container .heading-title-mg4 {
   padding-top:20px !important;
   padding-bottom:0px;
}
}

.access-container .heading-title-mg4 .heading-title {
 font-family: 'Noto Sans JP', sans-sans-serif !important;
 font-size: 4.5rem !important;
 font-weight: 500 !important;
 color: #f6ad44;
 letter-spacing: 0.1em;
 line-height: 1.2;
 text-align: center;
 margin-top: 10px;
 margin-bottom: 0px;
 z-index:100 !important;
}

.access-container .heading-title-mg4 .heading-subtitle {
 font-size: 1.3rem !important;
 font-weight: bold;
 color: #f6ad44;
 letter-spacing: 0.1em;
 text-align: center;
 margin-top: 0px;
 margin-bottom: 0px;
 z-index:100 !important;
}

/* タブレット・スマホ表示用のレスポンシブ設定 */
@media (max-width: 1026px) {
.access-container .heading-title-mg4 .heading-title {
   margin-top: 0px !important;
   margin-bottom: 0px;
   padding-top:0 !important;
 }
.access-container .heading-title-mg4 .heading-subtitle {
   margin-top: 5px;
   margin-bottom: 15px;
 }
}

@media (max-width: 480px) {
.access-container .heading-title-mg4 .heading-title {
   font-size: 2.4rem !important;
   margin-top: 0px;
   margin-bottom: 0px;
 }
.access-container .heading-title-mg4 .heading-subtitle {
   font-size: 1.2rem !important;
   font-weight:normal;
   margin-top: 5px;
   margin-bottom: 20px;
 }
}


.access-wrapper {
 width: 100%;
 max-width: 1200px;
 padding: 30px 0px 50px 0px;
}

.access-container {
 width: 100%;
 display: flex;
 flex-direction: column;
 align-items: center;
 background-color: #FFF;
 padding: 0px 0px 40px 0px;
 
}

.access-top-row,
.access-bottom-row {
 width: 100%;
 max-width: 1200px;
 padding: 0px;
 margin: 0px 0;
 text-align: center;
}

.access-content {
 display: flex;
 justify-content: space-between;
}

.access-info {
 width: 45%;
}

.access-title {
 font-size: 25px;
 font-weight: bold;
 margin-bottom: 20px;
}

.access-divider {
 border: none;
 border-top: 1px solid #ccc;
 margin: 20px 0;
}

.access-address,
.access-description {
 font-size: 18px;
 line-height: 30px;
}

.access-map {
 width: 50%;
 margin-top: 60px;
}

.access-map iframe {
 width: 100%;
 height: 450px;
}

.access-description .indented {
 display: inline-block;
 padding-left: 15em; /* この値は実際の「富士山駅から車で約22分 /」の長さに応じて調整してください */
}

@media screen and (max-width: 1026px) {
 .access-wrapper {
   padding: 10px 50px 20px 50px;
 }

 .access-container {
   width: 100%;
   padding: 0px 0px 30px 0px;
   margin-top:0px;
 }

.access-divider {
 border: none;
 border-top: 1px solid #ccc;
 margin: 10px 0;
}

 .access-content {
   flex-direction: column;
 }

 .access-info,
 .access-map {
   width: 100%;
   margin-top: 0px;
 }

 .access-map {
   margin-top: 30px;
 }

　.access-description .indented {
   padding-left: 1em; /* タブレット表示時のインデント */
}
}

@media screen and (max-width: 480px) {
.access-container {
 width: 100%;
 padding: 0px 0px 15px 0px;
}

  .access-wrapper {
   margin-top:-20px !important;
   padding: 0px 30px 0px 30px;
 }

 .access-title {
   font-size: 16px;
   margin:0;
   padding:5px 0px 2px 0px;
 }

 .access-divider {
 border: none;
 border-top: 1px solid #ccc;
 margin: 6px 0px 5px 0px;
}

 .access-address,
 .access-description {
   font-size: 15px;
   line-height:1.5;
 }

.access-description {
   padding-top:10px;
 }

 .access-description .indented {
   padding-left: 0em; /* スマートフォン表示時のインデント */
}

.access-bottom-row {
 margin-top:-20px !important;
 margin-bottom:0px;
}

.access-top-row,
.access-bottom-row {
 width: 100%;
 padding: 0px;
 margin: 0px;
 text-align: center;
}
}



.access-container {
    width: 100%;
    display: flex;
    gap: 20px; /* セクション間の間隔 */
    padding: 20px;
    font-family: sans-serif;
}

.access-section {
    flex: 1; /* 均等な幅で配置 */
    background-color: #fff;
    width:540px;
}

.access-header {
    display: flex;
    align-items: center;
    background-color: #FF8C00;
    padding: 15px 20px;
    color: #fff;
}

.access-header i {
    margin-right: 15px;
    font-size: 22px;
    width: 24px;
    text-align: center;
}

.access-header h2 {
    margin: 0;
    font-size: 20px;
    font-weight: normal;
}

.access-content-detail {
    padding: 20px;
    border: 1px solid #eee;
}

.access-content-detail ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.access-content-detail li {
    margin-bottom: 8px;
    line-height: 1.4;
}

.access-content-detail li:last-child {
    margin-bottom: 0;
}


/* レスポンシブデザイン */
@media (max-width: 768px) {
    .access-container {
        flex-direction: column; /* スマホ表示では縦並びに */
        padding: 0px;
        gap: 20px;
        margin-top:10px;
    }

    .access-header {
        padding: 12px 15px;
    }

    .access-header h2 {
        font-size: 16px;
    }

    .access-content-detail {
        padding: 15px;
        font-size: 14px;
    }

    .access-section {
       background-color: #fff;
       max-width:100%;
}

}



/************************************
** ACCESS  案内ボタン
************************************/

.facility-guide-wrapper {
 background-color: #FFF;
 padding: 1px 0; /* Prevents margin collapse */
}

.facility-guide-container {
 max-width: 1200px;
 margin: 0 auto;
}

.facility-guide-button {
 display: block;
 text-decoration: none;
 background-image: url('../images/facility-btn.jpg');
 background-position: center center;
 background-repeat: no-repeat;
 background-size: cover;
 background-color: white;
 color: #EA7600;
 font-weight: bold;
 text-align: center;
 width: 80%; /* 100%から80%に変更 */
 margin: 0 auto 50px auto; /* 中央揃えのためにmarginを調整 */
 padding: 50px 30px 50px 30px;
 box-shadow: 0px 0px 15px 5px rgba(92, 92, 92, 0.21) !important;
}

.facility-guide-button span {
 display: inline-block;
 padding: 0px 0px 0px 330px;
 font-size: 35px;
 transition: color 0.3s ease; /* スムーズな色の変化のためのトランジション */
 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.facility-guide-button:hover span {
 color: #EA7600; /* ホバー時のテキスト色を#f6ad44に変更 */
}

@media screen and (max-width: 1026px) {

 .facility-guide-wrapper {
   background-color: #FFF;
   padding: 1px 0; /* Prevents margin collapse */
   margin-top:20px;
   margin-bottom:20px;
 }

 .facility-guide-container {
   padding: 0 50px !important;
 }
 
 .facility-guide-button span {
   padding: 0;
 }
}

@media screen and (max-width: 1026px) {
.facility-guide-container {
   width:95%;
 }

 .facility-guide-button {
   width: 100%;
   background-size: 100% auto; /* 横幅を120%に拡大 */
   margin: 0px 0px 30px 0px;
   padding: 0px 0px 0px 0px;
   box-shadow: 0px 0px 5px 5px rgba(92, 92, 92, 0.21) !important;
 }
 
 .facility-guide-button span {
   padding: 40px 0px 40px 230px;
   font-size: 25px;
 }
}

@media screen and (max-width: 480px) {
 .facility-guide-wrapper {
   background-color: #FFF;
   padding: 1px 0; /* Prevents margin collapse */
   margin-top:5px;
   margin-bottom:0px;
 }

 .facility-guide-container {
   padding: 0 20px !important;
 }

 .facility-guide-button {
   background-size: 100% auto; /* 横幅を150%に拡大 */
   margin: 20px 0px 20px 0px;
   padding: 15px 10px 13px 10px;
   box-shadow: 0px 0px 3px 3px rgba(92, 92, 92, 0.15) !important;
   background-image: url('../images/facility-btn.jpg');
 }
 
 .facility-guide-button span {
   margin: 0px 10px 5px 90px;
   padding: 0px;
   font-size: 16px;
 }
}

.facility-guide-button2 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    background:#F4D68B;
    color: black;
    font-weight: bold;
    text-align: center;
    width: 80%;
    height: 80px;
    margin: 0 auto 50px auto; /* 中央揃えのためにmarginを調整 */
    border-radius: 50px;
    box-shadow: 0px 0px 15px 5px rgba(92, 92, 92, 0.11) !important;
    transition: all 0.3s ease;
}

.facility-guide-button2 span {
    display: inline-flex;
    align-items: center;
    font-size: 35px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.facility-guide-button2 span::before {
    content: "\f0c0"; /* Font Awesome のユーザーグループアイコン */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}

.facility-guide-button2:hover {
    opacity: 0.8;
}

@media screen and (max-width: 1026px) {
    .facility-guide-button2 {
        width: 100%;
        height: 80px;
        margin: 0px 0px 30px 0px;
    }
    
    .facility-guide-button2 span {
        font-size: 26px;
    }
}

@media screen and (max-width: 480px) {
    .facility-guide-button2 {
        width: 100%;
        height: 60px;
        margin: 20px 0px 20px 0px;
        border-radius: 30px;
        margin:0 auto;
    }
    
    .facility-guide-button2 span {
        font-size: 16px;
    }

    .facility-guide-bottom {
      margin-bottom:20px;
    }
}

/************************************
** FACILITY 施設一覧
************************************/

.facility-list2-outer {
 width: 100%;
 display: flex;
 justify-content: center;
 background-color: #F9F5EE;
}

.facility-list2-container {
 width: 100%;
 max-width: 1230px;
 padding: 20px;
 margin-bottom:40px;
}

.facility-list2-container .button-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 20px;
}

.facility-list2-container .btn {
 background-color: #FFF4E1;
 border: 2px solid #EA7600;
 color: #EA7600;
 font-weight:bold;
 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
 padding: 15px 10px;
 text-align: center;
 text-decoration: none;
 font-size: 24px;
 transition: all 0.3s ease;
 display: flex;
 align-items: center;
 justify-content: center;
}

.facility-list2-container .btn:hover {
 background-color: #EA7600;
 color: white;
}

@media (max-width: 1026px) {
 .facility-list2-container {
   padding: 0px 50px 50px 50px;
   margin-bottom:20px;
 }

 .facility-list2-container .button-grid {
   grid-template-columns: repeat(2, 1fr);
 }
 
 .facility-list2-container .btn {
   font-size: 18px;
   padding: 25px 8px;
 }
}

@media (max-width: 480px) {
 .facility-list2-container {
   padding: 0px 25px 40px 25px;
   margin-bottom:0px;
 }
 
 .facility-list2-container .button-grid {
   gap: 10px;
 }
 
 .facility-list2-container .btn {
   font-size: 15px;
   padding: 8px 6px;
 }
}

.contact-container-upper {
 width: 100%;
 display: flex;
 flex-direction: column;
 align-items: center;
 background-color: #F9F5EE;
 margin-top:0px;
 padding: 50px 0px 0px 0px;
}

@media (max-width: 1026px) {
.contact-container-upper {
 display:none;
}
}

.facility-lists .heading-title-mg4 {
   padding-top:50px !important;
   padding-bottom:0px;
   margin:10px 0px 0px 0px;
   z-index:100;
}

@media (max-width: 1026px) {
.facility-lists .heading-title-mg4 {
   margin-top:-20px !important;
   padding-top:0px;
   margin-bottom:40px !important;
}
}

@media (max-width: 480px) {
.facility-lists .heading-title-mg4 {
   margin-top:0px !important;
   padding-top:15px !important;
   padding-bottom:0px;
   margin:0;
   margin-bottom:5px !important;
}

}




/************************************
** お問い合わせフォームの入力
************************************/

/* フッターお問い合わせ・ご予約・空き室確認 */

.contact-container2 {
   display: flex;
   justify-content: center;
   background-color: #FFF; /* PC表示時の背景色 */
   padding:0px 0px 50px 0px;
}

.contact-section2 {
   margin: 0 20px;
   text-align: center;
   padding: 20px 50px 50px 50px;
   background-color: #FFF;
   width: 600px;
   z-index:100 !important;
}

.contact-section2 .heading-title {
   color: #f6ad44;
   font-size: 4.5rem !important;
   font-weight: 500;
   letter-spacing: 0.1em;
   margin-bottom: 5px;
   margin-top: 0px;
}

.contact-section2 .heading-subtitle {
   color: #f6ad44;
   font-size: 1.3rem;
   letter-spacing: 0.1em;
   margin-top: 0;
}

.contact-section2 .contact-description2 {
   font-size: 18px;
   line-height: 1.6;
   margin: 10px 0;
}

.contact-section2 .heading-title .fa-envelope {
   font-size: 54px;
   margin-right: -12px;
   margin-top: -6px;
   vertical-align: middle;
}

.contact-section2 .heading-title-mg2 {
   margin-top: 20px;
   margin-bottom: 0px;
}

@media (max-width: 1026px) {
   .contact-container2 {
       flex-direction: column;
       background-color: #FFF;
       padding: 20px 0px 0px 0px;
       margin:0;
       padding-bottom:50px;
   }

   .contact-section2 {
       margin: 0 auto;
       background-color: #FFF;
       padding: 10px 0px 20px 0px;
       width: 100%;
   }
   
   .contact-section2 .heading-title-mg2 {
       padding-top: 0px;
       margin-bottom: 20px;
       margin-top: 20px;
   }
   
   .contact-section2 .heading-title .fa-envelope {
       font-size: 58px;
       margin-right: 0px;
       margin-top: -8px;
   }
}

@media (max-width: 480px) { 
   .contact-container2 {
       flex-direction: column;
       background-color: #FFF;
       padding: 0;
       margin:0;
       padding-bottom:25px;
   }
   
   .contact-section2 {
       padding: 10px 0px 20px 0px;
       background-color: #FFF;
   }

   .contact-section2 .heading-title-mg2 {
       margin-top: 15px;
       margin-bottom: 0px;
   }

   .contact-section2 .heading-title {
       font-size: 2.3rem !important;
   }

   .contact-section2 .heading-subtitle {
       font-size: 1.2rem;
       font-weight:normal;
       margin-top:5px;
       margin-bottom: 0px;
   }

   .contact-section2 .heading-title .fa-envelope {
       font-size: 25px;
       margin-right: 0px;
   }
   
   .contact-section2 .contact-description2 {
       font-size: 16px;
       padding: 0px 20px;
       margin: 5px 0px 5px 0px;
   }
}

/* グレー・オレンジ背景（下３分の２） */

   .section-orange3 {
     position: relative;
     margin: 0;
   }

   .section-orange3::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 33.33%;
     background-color: #F9F5EE;
   }

   .section-orange3::after {
     content: "";
     position: absolute;
     bottom: 0;
     left: 0;
     width: 100%;
     height: 66.67%;
     background-color: ;
     background: linear-gradient(90deg, #f6ad44, #f6ad44);
   }

/* タブレット用のメディアクエリ */

@media screen and (max-width: 1026px) {
   .section-orange3 {
     position: relative;
     margin: 0;
     padding-top:10px;
   }

   .section-orange3::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 33.33%;
     background: #FFF;
   }

   .section-orange3::after {
     content: "";
     position: absolute;
     bottom: 0;
     left: 0;
     width: 100%;
     height: 66.67%;
     background: #FFF;
   }
}

@media screen and (min-width: 481px) {
.mgt30 {
   margin-top:30px;
}
.mgt50 {
   margin-top:70px;
}
}



.facility-header-container {
    position: relative;
}

.sub-ttl {
    position: absolute;
    top: 45%; /* 50%から45%に変更して上にずらす */
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
    padding: 20px 0;
}

.sub-ttl h2 {
    text-align: center;
    line-height: 1.2;
    position: relative;
    padding-top: 140px; /* アイコンの高さ + 余白 */
}

.sub-ttl h2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 120px;
    background: url(../images/logo-facility.png) no-repeat center/contain;
    z-index: 1;
}

.sub-ttl h2 span {
    position: relative;
    display: block; /* inline-blockからblockに変更 */
    font-size: 3rem;
    font-family: 'Noto Sans JP', sans-serif;
    text-transform: capitalize;
    letter-spacing: 0.1em;
    color: #000;
    padding: 10px 20px;
    text-shadow: 
        0 0 10px rgba(255, 255, 255, 1),
        0 0 20px rgba(255, 255, 255, 1),
        0 0 30px rgba(255, 255, 255, 0.9),
        0 0 40px rgba(255, 255, 255, 0.8),
        0 0 50px rgba(255, 255, 255, 0.7),
        0 0 60px rgba(255, 255, 255, 0.6),
        0 0 70px rgba(255, 255, 255, 0.5);
}

.sub-ttl h2 strong {
    display: block; /* inline-blockからblockに変更 */
    margin: 15px 0 0;
    font-size: 1.4rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight:bold;
    color: #000;
    padding: 5px 10px;
    text-shadow: 
        0 0 10px rgba(255, 255, 255, 1),
        0 0 15px rgba(255, 255, 255, 1),
        0 0 20px rgba(255, 255, 255, 0.9),
        0 0 25px rgba(255, 255, 255, 0.8),
        0 0 30px rgba(255, 255, 255, 0.7),
        0 0 35px rgba(255, 255, 255, 0.6),
        0 0 40px rgba(255, 255, 255, 0.5);
}

@media screen and (max-width:767px) {
    .sub-ttl {
        top: 40%; /* スマートフォン用にさらに上にずらす */
        height: auto;
        padding: 10px 0;
    }
    .sub-ttl h2 {
        padding-top: 70px;
    }
    .sub-ttl h2::before {
        width: 60px;
        height: 60px;
    }
    .sub-ttl h2 span {
        font-size: 1.8rem;
        padding: 5px 10px;
    }
    .sub-ttl h2 strong {
        margin: 10px 0 0;
        font-size: 1rem;
        padding: 3px 6px;
    }
}


.bg-gray{
background-color: #F9F5EE;
margin-top:20px;
}

.contact-section2 .heading-title-mg2 .heading-subtitle {
padding-bottom:10px;
}


.facility-footer-wrapper {
    background: linear-gradient(90deg, #f6ad44, #f6ad44) !important;
    color: white;
    width: 100%;
    padding-bottom:30px;
    margin-top:-5px;
}

@media (max-width: 768px) {
.contact-section2 .heading-title-mg2 .heading-subtitle {
padding-bottom:15px;
}

.facility-footer-wrapper {
    background: linear-gradient(90deg, #f6ad44, #f6ad44) !important;
    color: white;
    width: 100%;
    padding-bottom:30px;
    margin-top:-5px;
}
}

@media (max-width: 480px) {

.facility-footer-wrapper {
    background: linear-gradient(90deg, #f6ad44, #f6ad44) !important;
    color: white;
    width: 100%;
    padding-bottom:30px;
    padding-top: 0px !important;
    margin-top:0px;
}
}

.facility-footer-wrapper .bottom-menu {
    padding: 0px 0;
    text-align: center;
    font-size: 20px;
}

.facility-footer-wrapper .menu-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 0px;
}

.facility-footer-wrapper .menu-list a {
    color: white;
    text-decoration: none;
    padding: 5px 10px;
    transition: color 0.3s;
}

.facility-footer-wrapper .menu-list a:hover {
    color: #FFF;
}

.facility-footer-wrapper .footer-logo-container {
    text-align: center;
    margin: 30px 0;
}

.facility-footer-wrapper .footer-logo-container img {
    max-width: 130px;
    width: 100%;
}

.facility-footer-wrapper .bottom-sns-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px 0px 30px 0px;
}

.facility-footer-wrapper .circle-image {
    border-radius: 50%;
    object-fit: cover;
    margin: 0 10px;
    width: 60px;
    height: 60px;
}


@media (max-width: 1026px) {
.facility-footer-wrapper .bottom-sns-icon {
    padding: 0px 0px 80px 0px;
 }
}

@media (max-width: 480px) {

  .facility-footer-wrapper .circle-image {
    border-radius: 50%;
    object-fit: cover;
    margin: 0 10px;
    width: 30px;
    height: 30px;
 }

.facility-footer-wrapper .bottom-sns-icon {
    padding: 0px 0px 30px 0px;
 }
}

.facility-footer-wrapper .copyright {
    background-color: #f6ad44;
    color: white;
    text-align: center;
    padding: 10px 0;
    font-size: 18px;
    margin-top:-1px;
}

@media (max-width: 480px) {
.facility-footer-wrapper .copyright {
    background-color: #f6ad44;
    color: white;
    text-align: center;
    padding: 10px 0px 80px 0px;
    font-size: 15px;
}
}

.facility-footer-wrapper .menu-list.sp {
    display: none;
}

@media (max-width: 1026px) {

.facility-footer-wrapper .footer-logo-container {
    text-align: center;
    margin: 20px 0px 20px 0px;
}

.facility-footer-wrapper .footer-logo-container img {
    max-width: 90px;
    width: 100%;
}

    .facility-footer-wrapper .menu-list.pc {
        display: none;
    }

    .facility-footer-wrapper .menu-list.sp {
        display: flex;
    }

    .facility-footer-wrapper .bottom-menu {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top:30px;
    }

    .facility-footer-wrapper .menu-list {
        flex-direction: row;
        justify-content: center;
        width: 100%;
    }

    .facility-footer-wrapper .menu-list.single-item {
        justify-content: center;
    }

    .facility-footer-wrapper .menu-list a {
        font-size: 18px;
    }
}

.section-orange3,
.contact-container2 {
    margin-bottom: 0; /* 下部マージンを0に */
}

.facility-footer-wrapper {
    margin-top: 0; /* 上部マージンを0に */
    padding-top: 20px; /* 上部パディングを0に */
    position: relative; /* 追加 */
    padding-bottom: 20px; /* 0に変更 */
    top: -1px; /* 境界線を消すために微調整 */
}

.copyright {
    margin-top: 0; /* 追加 */
    margin-bottom:0;
    position: relative; /* 追加 */
    top: -1px; /* 追加: 境界線を消すために微調整 */
}



/* PC表示のアイコンスタイル */
.access-header i.fa-car,
.access-header i.fa-train {
    font-size: 26px;
    margin-right: 15px;
    width: 30px;
    text-align: center;
    vertical-align: middle;
}

/* タブレット表示のアイコンスタイル */
@media (max-width: 1026px) {
    .access-header i.fa-car,
    .access-header i.fa-train {
        font-size: 22px;
        margin-right: 12px;
        width: 25px;
    }
}

/* スマートフォン表示のアイコンスタイル */
@media (max-width: 480px) {
    .access-header i.fa-car,
    .access-header i.fa-train {
        font-size: 18px;
        margin-right: 10px;
        width: 20px;
    }
}



html[lang="en"] .facility-guide-button {
 display: block;
 text-decoration: none;
 background-image: url('../images/facility-btn.jpg');
 background-position: center center;
 background-repeat: no-repeat;
 background-size: cover;
 background-color: white;
 color: #EA7600;
 font-weight: bold;
 text-align: center;
 width: 80%; /* 100%から80%に変更 */
 margin: 0 auto 50px auto; /* 中央揃えのためにmarginを調整 */
 padding: 50px 30px 50px 30px;
 box-shadow: 0px 0px 15px 5px rgba(92, 92, 92, 0.21) !important;
}

html[lang="en"] .facility-guide-button span {
 display: inline-block;
 padding: 0px 0px 0px 200px;
 font-size: 30px;
 transition: color 0.3s ease;
 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

@media screen and (max-width: 1026px) {

html[lang="en"] .facility-guide-button {
   width:100%;
   background-size: 100% auto;
   margin: 0px 0px 30px 0px;
   padding: 5px 10px 5px 10px;
   box-shadow: 0px 0px 3px 3px rgba(92, 92, 92, 0.15) !important;
   background-image: url('../images/facility-btn.jpg');
 }
 
html[lang="en"] .facility-guide-button span {
   margin: 5px 5px 40px 160px;
   padding: 0px;
   font-size: 30px;
   line-height:1.2;
 }
}

@media screen and (max-width: 480px) {

html[lang="en"] .facility-guide-button {
   width:100%;
   background-size: 100% auto;
   margin: 20px 0px 20px 0px;
   padding: 5px 10px 5px 10px;
   box-shadow: 0px 0px 3px 3px rgba(92, 92, 92, 0.15) !important;
   background-image: url('../images/facility-btn.jpg');
 }
 
html[lang="en"] .facility-guide-button span {
   margin: 3px 10px 20px 80px;
   padding: 0px;
   font-size: 15px;
   line-height:1.2;
 }
}

@media (max-width: 480px) {
html[lang="en"] .introduction-container .custom-button2 {
     padding: 7px 10px;
     font-size: 15px;
     width: 300px;
  }
}

html[lang="en"] .facility-news-button-area .custom-button3 {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  width: 500px;
  background: linear-gradient(90deg, #f6ad44, #f6ad44);
  color: white;
  border: none;
  border-radius: 35px;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: background 0.3s, box-shadow 0.3s;
  cursor: pointer;
}

@media (max-width: 480px) {
html[lang="en"] .facility-news-button-area .custom-button3 {
     padding: 7px 10px;
     font-size: 15px;
     width: 300px;
  }
}


html[lang="en"] .contact-container2 .custom-button2 {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  width: 500px;
  background: linear-gradient(90deg, #f6ad44, #f6ad44);
  color: white;
  border: none;
  border-radius: 35px;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: background 0.3s, box-shadow 0.3s;
  cursor: pointer;
}

@media (max-width: 480px) {
html[lang="en"] .contact-container2 .custom-button2 {
     padding: 7px 10px;
     font-size: 15px;
     width: 300px;
  }
}

@media screen and (min-width: 1025px) {

html[lang="en"] #facility-page .gt_switcher_wrapper {
  top: 15px !important;
  right: 350px !important;
}
}

.features-detail-text strong {
    font-weight: bold !important;
}



