
/* ========================================
   XANADU｜共通テキスト調整
======================================== */

[style*="color: #666666"] {
  font-size: 13px !important;
}

[style*="color: #888888"] {
  color: #777777 !important;
}


/* ========================================
   XANADU｜スマホ・タブレットのヘッダー
======================================== */

@media screen and (max-width: 1024px) {

  #header:not(.subtit) {
    background: #F7F5F1 !important;
  }

  #header:not(.subtit) .hlogo .white {
    display: none !important;
  }

  #header:not(.subtit) .hlogo .black {
    display: block !important;
  }

  #header:not(.subtit) #gnav .toggle {
    background: #F7F5F1 !important;
  }

  #header:not(.subtit) #gnav .toggle .bar,
  #header:not(.subtit) #gnav .toggle .bar::before,
  #header:not(.subtit) #gnav .toggle .bar::after {
    background-color: #333333 !important;
  }

  /* ヘッダー説明文 */
  #header h1.co01 {
    color: #777777 !important;
    font-size: 10px !important;
    line-height: 1.6 !important;
  }
}


/* ========================================
   XANADU｜スマホナビゲーション
======================================== */

@media screen and (max-width: 767px) {

  #gnav .accordion-body {
    background: #252525 !important;
  }

  #gnav .sp-hamburger li a {
    color: #F7F4EF !important;
    text-decoration: none;
  }

  #gnav .sp-hamburger li a .txt01 {
    color: #D0C8BF !important;
  }

  #gnav .sp-hamburger li.contact.sp {
    border: 1px solid #C5AD8C !important;
    background: transparent !important;
  }

  #gnav .sp-hamburger li.contact.sp a {
    color: #E3D1B7 !important;
  }

  #gnav .sp-hamburger li.contact.sp .txt01 {
    color: #D0C8BF !important;
  }

  #gnav .sp-sns-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    padding: 28px 0 40px;
  }

  #gnav .sp-sns-box a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  #gnav .sp-sns-box .header-icon-img {
    display: block;
    width: auto !important;
    max-width: 76px !important;
    height: auto !important;
    max-height: 28px !important;
    object-fit: contain;
    filter: grayscale(35%) brightness(1.5) !important;
    opacity: 0.9 !important;
  }
}


/* ========================================
   XANADU｜LINE予約バナー
   JavaScriptでbody直下に移動済み
======================================== */


/* PC：QRコード */
@media screen and (min-width: 1025px) {

  body > .line-floating {
    position: fixed !important;
    left: 20px !important;
    bottom: 20px !important;
    z-index: 9999 !important;
  }

  body > .line-floating .line-floating__pc {
    display: block !important;
  }

  body > .line-floating .line-floating__sp {
    display: none !important;
  }
}


/* タブレット：LINEボタン */
@media screen and (min-width: 600px) and (max-width: 1024px) {

  body > .line-floating {
    position: fixed !important;
    left: 16px !important;
    bottom: 16px !important;
    z-index: 9999 !important;
  }

  body > .line-floating .line-floating__pc {
    display: none !important;
  }

  body > .line-floating .line-floating__sp {
    display: inline-flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border-radius: 999px;
    background: #7C9084;
    color: #FFFFFF;
    text-decoration: none;
  }
}


/* スマホ：画面最下部の固定予約バー */
@media screen and (max-width: 599px) {

  body > .line-floating {
    position: fixed !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box;
    padding: 8px 16px calc(8px + env(safe-area-inset-bottom));
    background: rgba(247, 245, 241, 0.97);
    box-shadow: 0 -3px 16px rgba(0, 0, 0, 0.07);
    transform: none !important;
    z-index: 99999 !important;
  }

  body > .line-floating .line-floating__pc {
    display: none !important;
  }

  body > .line-floating .line-floating__sp {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 48px;
    box-sizing: border-box;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    background: #7C9084 !important;
    color: #FFFFFF !important;
    text-decoration: none;
    box-shadow: none !important;
  }

  body > .line-floating .line-floating__main {
    font-size: 14px !important;
    font-weight: 600;
    line-height: 1.4;
  }

  body > .line-floating .line-floating__sub {
    display: none !important;
  }

  /* 固定バーに本文が隠れないように */
  body {
    padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important;
  }

  /* PAGE TOPはスマホのみ非表示 */
  .totop {
    display: none !important;
  }
}
