/* 英字フォント */
.cormorant {
  font-family: "Cormorant", serif;
  font-optical-sizing: auto;
}
.page-id-28 .promo-box .has-sm-l-font-size {
  font-size: clamp(1rem, 4vw, 1.3rem) !important;
}
/* 見出しフォント */
.noto-serif {
  font-family: "Noto Serif", serif;
}
/* 個別投稿ページ以外の余白を削除 */
body:not(.single) .l-contents__inner {
  margin-bottom: 0;
}
/* ////////////////////////
ヘッダー
//////////////////////// */
/* ヘッダーの文字色 */
.c-page-header__title {
  color: #333;
}

/* ヘッダーの装飾 */
.header-info {
  display: flex;
  align-items: center;
  justify-content: space-between; /* 左右に分ける */
  gap: 20px; /* 間隔を空ける */
}

.header-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.phone {
  text-decoration: none;
  color: #333;
  font-weight: bold;
  font-size: 1.4rem;
}

.business-hours {
  font-size: 1.1rem;
  color: #333;
  line-height: 1.1;
  text-align: center;
}

.btn-line {
  background-color: #12bab4;
  color: #fff;
  padding: 15px 40px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.3s;
}
.btn-line:hover {
  filter: brightness(90%);
}
.btn-line:hover a {
  text-decoration: none;
}
/* ////////////////////////
FVセクション
//////////////////////// */
/* スマホ時FV高さ変更 */
/* 画面幅が767px以下（スマホ向け）にだけ適用 */
@media only screen and (max-width: 639px) {
  .fv {
    --smb-section--min-height: 80vh;
  }
}

/* ////////////////////////
menuセクション
//////////////////////// */
/* .menu .menu_list {
  height: 300px;
} */
/* メニュー名のフォント変更 */
.menu_list h3 {
  font-family: "Noto Serif", serif;
}
/* メニューリストの文字の余白調整 */
@media only screen and (max-width: 639px) {
  .menu_list .smb-media-text__contents-wrapper {
    padding-top: 0;
    padding-inline: 15px;
  }
  .menu_list .smb-media-text__body {
    margin-top: 20px;
  }
}

/* ////////////////////////
 accessセクション
//////////////////////// */
.access-table tbody tr td:first-of-type {
  width: 80px;
}

/* コンタクト 電話番号の下線消去 */
.contact .contact-box .contact-box_tel:first-of-type a {
  text-decoration: none;
}
.contact-box_tel-text-sp {
  width: fit-content;
  margin: 0 auto;
}

/* ////////////////////////
footer
//////////////////////// */
/* フッターの上下の余白調整 */
.l-footer--default .l-footer-widget-area {
  padding-block: 25px;
}
.widget_nav_menu .menu {
  font-weight: bold;
}
.l-footer-widget-area .l-footer-widget-area__item:first-of-type {
  margin-bottom: 15px;
}

/* フッタースマホ時縦並び */
@media screen and (max-width: 639px) {
  .widget_nav_menu .menu {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 17px;
  }
}

@media screen and (max-width: 1023px) {
  /* フッターナビの装飾 */
  .p-footer-sticky-nav {
    background-color: transparent;
  }
  .p-footer-sticky-nav .footer-menu_sp {
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
  }
  .p-footer-sticky-nav .footer-menu_sp a {
    font-size: 1rem;
  }
  .menu_line {
    background-color: #12bab4;
    color: #fff;
  }
  .menu_tel {
    background-color: #f4a300;
    color: #fff;
  }
}

/* ２つ目以降の上の余白を削除 */
@media screen and (min-width: 640px) {
  .widget_nav_menu ul > li + li {
    margin-top: 0;
  }
  /* tabサイズからfooterメニュー横並び */
  .widget_nav_menu .menu {
    display: flex;
    gap: 40px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
}

/* 固定フッター　スクロールしたら表示 */
#footer-sticky-nav {
  display: none; /* 初期は非表示 */
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

#footer-sticky-nav.is-visible {
  display: block; /* スクロールしたら表示 */
}

/* ////////////////////////
投稿ページ
//////////////////////// */
.single .l-contents__inner:first-child {
  padding-top: 120px;
}
/* ////////////////////////
メニューページ
//////////////////////// */
/* メニューリストの装飾削除 */
.menu-list .menu-list_items .menu-list_item a {
  text-decoration: none;
}
.access-container__map--text a {
  text-decoration: none;
}

@media screen and (max-width: 1023px) {
  header .l-header__content {
    background-color: #fcfbf9f0;
    position: fixed;
    z-index: 1;
    top: 1rem;
    left: 1rem;
    width: calc(100vw - 2rem);
    height: 70px;
    padding-inline: 10px;
    box-shadow: 2px 2px 3px 0px #dfe0db;
  }
}
/* プライスメニュースマホ時横並び */
@media screen and (max-width: 639px) {
  .page-menu_price .smb-price-menu__item {
    display: flex;
    justify-content: space-between;
  }
}
/* ////////////////////////
下層ページの設定
//////////////////////// */
/* ヘッダー下の余白を消す */
.page .l-contents__inner {
  padding-top: 0;
}
/* 見出しを表示しない */
.page .c-entry__header,
.blog .c-entry__header {
  display: none;
}
.blog .l-contents__inner:first-child {
  padding-top: 125px;
}
