/* ボトムナビゲーション */
:where(.c-bnav-002) {
  display: flex;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 60rem;
  margin: 0 auto;
  justify-content: center;
  gap: 0;
  overflow: hidden;
  z-index: 1000;
  font-size: var(--wp--preset--font-size--sm);

  color: var(--wp--preset--color--white);
  border-top-left-radius: var(--wp--custom--border-radius--md);
  border-top-right-radius: var(--wp--custom--border-radius--md);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}
.home :where(.c-bnav-002) {
  bottom: -1rem;
  opacity: 0;
  transition-delay: 0;
  transition: all 0.5s ease 2s;
}
.home.js-scroll-done :where(.c-bnav-002) {
  opacity: 1;
  bottom: 0;
  transition-delay: 0;
  transition: all 0.5s ease 2s;
}

/* @media (min-width: 769px) {
  :where(.c-bnav-002) {
    display: none;
  }
} */

:where(.c-bnav-002__item) {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: center;
  justify-content: space-around;
  padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--2-xs);
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.2s ease;
  position: relative;
}

:where(.c-bnav-002__item:hover) {
  opacity: 0.8;
}

:where(.c-bnav-002__item--map-schedule) {
  background: var(--wp--preset--color--gray-dark);
}

:where(.c-bnav-002__item--web) {
  background: var(--wp--preset--color--primary);
}
.page-id-20 :where(.c-bnav-002__item--web) {
  display: none;
}
:where(.c-bnav-002__item--tel) {
  background: var(--wp--preset--color--secondary);
}

:where(.c-bnav-002__icon) {
  height: 2rem;
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

:where(.c-bnav-002__icon img) {
  height: 2rem;
  width: auto;
  filter: brightness(0) invert(1); /* アイコンを白に */
}

:where(.c-bnav-002__icon--map-schedule) {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}

:where(.c-bnav-002__icon--map-schedule img) {
  height: 2rem;
}

:where(.c-bnav-002__text) {
  font-size: var(--wp--preset--font-size--sm);
  line-height: 1.2;
  text-align: center;
  font-weight: 500;
}

/* モーダル */
:where(.c-bnav-002__modal) {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
}

:is(.c-bnav-002__modal.is-active .c-bnav-002__modal-bg) {
  opacity: 0.7;
}
:is(.c-bnav-002__modal.is-active .c-bnav-002__modal-content) {
  transform: translateY(0);
}

:where(.c-bnav-002__modal-bg) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--wp--preset--color--black);
  opacity: 0;
  transition: opacity 0.3s ease;
  cursor: pointer;
}

:where(.c-bnav-002__modal-content) {
  position: fixed;
  top: 10vh;
  left: 0;
  right: 0;
  margin: 0 auto;
  max-width: 80rem;
  width: calc(100% - 3.2rem);
  height: 80vh;
  background: var(--wp--preset--color--white);
  border-radius: var(--wp--custom--border-radius--lg);
  padding: var(--wp--preset--spacing--base);
  padding-top: calc(var(--wp--preset--spacing--xl) + 5rem);
  padding-bottom: calc(
    var(--wp--preset--spacing--lg) + 8rem
  ); /* ボトムナビの高さ分追加 */
  overflow-y: auto;
  transform: translateY(5vh);
  opacity: 1;
  transition: transform 0.3s ease;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  -webkit-overflow-scrolling: touch; /* iOS対応 */
}

:where(.c-bnav-002__modal-close) {
  position: absolute;
  top: var(--wp--preset--spacing--base);
  right: var(--wp--preset--spacing--base);
  width: 4rem;
  height: 4rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--wp--preset--color--white);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

:where(.c-bnav-002__modal-close-bar) {
  position: absolute;
  width: 2rem;
  height: 0.2rem;
  background: var(--wp--preset--color--gray-dark);
  transition: background 0.2s ease;
}

:where(.c-bnav-002__modal-close-bar:first-child) {
  transform: rotate(45deg);
}

:where(.c-bnav-002__modal-close-bar:last-child) {
  transform: rotate(-45deg);
}

:where(.c-bnav-002__modal-close:hover) {
  background: var(--wp--preset--color--gray-lightest);
}

:where(.c-bnav-002__modal-close:hover .c-bnav-002__modal-close-bar) {
  background: var(--wp--preset--color--black);
}

/* スクロール時のヘッダー */
@media (max-width: 768px) {
  :where(.c-bnav-002__modal-content) {
    padding-top: calc(var(--wp--preset--spacing--lg) + 2rem);
  }
}
