/*
 Theme Name:   Highlight
 Description:  Highlight is an incredibly flexible, multipurpose WordPress theme that can help you create an amazing website easier than ever, by drag and drop. It comes with a predesigned home page, 5 header designs and over 30 ready to use content sections that you can easily customize. It also has lots of customization options (video background, slideshow background, header content types, gradient overlays, etc) that will help you create a beautiful, unique website in no time. Highlight is responsive so it works on mobile devices out of the box and it is also WooCommerce ready.
 Theme URI:    https://extendthemes.com/highlight
 Author:       ExtendThemes
 Author URI:   https://extendthemes.com/
 Template:     highlight-pro
 Version:      1.1.89
 License:      GNU General Public License version 3
 License URI:  http://www.opensource.org/licenses/gpl-license.php GPL v3.0 (or later)
 Tags:         entertainment, food-and-drink, portfolio, one-column, two-columns, right-sidebar, grid-layout, custom-header, custom-menu, custom-logo, full-width-template, theme-options, translation-ready, featured-images, threaded-comments
 Text Domain:  highlight
 
 Tested up to: 6.9
 Requires PHP: 5.6 


This theme, like WordPress, is licensed under the GPL.

*/

/*
 * タイポグラフィ方針（TANAAKK）: Web フォントは読み込まない。
 * system-ui ＋ 各 OS の UI フォント ＋ 日本語（ヒラギノ／游ゴシック／メイリオ）。
 * 変更は inc/font-plan.php の tanaakk_font_stack_sans() とこの :root を揃える。
 */
:root {
  --tanaakk-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", YuGothic, Meiryo, sans-serif;
  /* ヘッダーとオフキャンバス内ロゴの max-height を揃える（Kirki 既定 70px に合わせる） */
  --tanaakk-nav-logo-max-h: 70px;
}

/*
 * 縦スクロールバーの出現／非表示でビューポート幅が変わり、クリックや遷移直後にテキストが横にズレて見えるのを抑える。
 */
html {
  scrollbar-gutter: stable;
}

@media (max-width: 767px) {
  :root {
    --tanaakk-nav-logo-max-h: 2.5rem;
  }
}

body {
  font-family: var(--tanaakk-font-sans);
  font-weight: 400;
  color: #6B7C93;
}

/*
 * モバイル: 横方向のはみ出し抑制。
 * html に overflow-x を付けると iOS Chrome 等で縦スクロールが引っかかることがあるため、
 * html は幅だけ制限し、clip/hidden は body と主ラッパーに限定する。
 */
@media (max-width: 767px) {
  html {
    max-width: 100%;
  }

  body {
    overflow-x: clip;
    max-width: 100%;
    width: 100%;
    position: relative;
  }

  @supports not (overflow: clip) {
    body {
      overflow-x: hidden;
    }
  }

  #page-top,
  #page.site {
    max-width: 100%;
    overflow-x: clip;
  }

  @supports not (overflow: clip) {
    #page-top,
    #page.site {
      overflow-x: hidden;
    }
  }

  /* flex 子の min-width:auto が本文より広い最小幅になり、iOS で横スクロール＝右の空白に繋がる */
  #page-top {
    width: 100%;
    box-sizing: border-box;
  }

  #page.site {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
  }

  #page.site > .header-wrapper,
  #page.site > .content {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* インナーヒーロー／ヘッダー帯全体（固定ページのタイトル周りが押し広げる場合） */
  #page.site > .header-wrapper {
    overflow-x: clip;
    box-sizing: border-box;
  }

  @supports not (overflow: clip) {
    #page.site > .header-wrapper {
      overflow-x: hidden;
    }
  }

  /* #page-top 内の .row 負マージン（親テーマは -15px 等）がモバイルでドキュメント幅を広げる典型原因 */
  #page-top .navigation-bar .navigation-wrapper {
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: clip;
  }

  @supports not (overflow: clip) {
    #page-top .navigation-bar .navigation-wrapper {
      overflow-x: hidden;
    }
  }

  #page-top .navigation-bar .row.basis-auto,
  #page-top .navigation-bar .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* モバイル: 固定ページ（.page-content）・ブログ一覧（.content.blog-page）は投稿（.post-page）とラッパーが違い、
 * 従来の overflow 対象外だったため右方向に空白スクロールが残ることがあった。 */
@media (max-width: 767px) {
  #page .page-content,
  #page .content.blog-page {
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    overflow-x: clip;
  }

  @supports not (overflow-x: clip) {
    #page .page-content,
    #page .content.blog-page {
      overflow-x: hidden;
    }
  }

  #page .page-content .gridContainer,
  #page .content.blog-page .gridContainer {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  #page .page-content .gridContainer > .row,
  #page .content.blog-page .gridContainer > .row {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  #page .page-content .gridContainer > .row > [class*='col-'],
  #page .content.blog-page .gridContainer > .row > [class*='col-'] {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  #page .content.blog-page .gridContainer > .row > .sidebar {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  #page .page-content .post[class*='type-page'] > div,
  #page .page-content .page > div,
  #page .page-content .entry-content {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-x: clip;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  @supports not (overflow-x: clip) {
    #page .page-content .post[class*='type-page'] > div,
    #page .page-content .page > div,
    #page .page-content .entry-content {
      overflow-x: hidden;
    }
  }

  #page .page-content .alignfull,
  #page .content.blog-page .alignfull {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
    box-sizing: border-box;
  }

  #page .page-content .alignwide,
  #page .content.blog-page .alignwide {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }

  #page .page-content img,
  #page .page-content video,
  #page .page-content iframe,
  #page .content.blog-page img,
  #page .content.blog-page video,
  #page .content.blog-page iframe {
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
  }

  #page .page-content pre,
  #page .page-content table,
  #page .content.blog-page pre,
  #page .content.blog-page table {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    box-sizing: border-box;
  }

  #page .page-content .wp-block-embed__wrapper,
  #page .page-content .wp-block-image,
  #page .content.blog-page .wp-block-embed__wrapper,
  #page .content.blog-page .wp-block-image {
    max-width: 100%;
    box-sizing: border-box;
  }
}

h1,
h2,
h3,
h4,
h5,
.widget_block > .wp-block-group > .wp-block-group__inner-container h1:first-child,
.widget_block > .wp-block-group > .wp-block-group__inner-container h2:first-child,
.widget_block > .wp-block-group > .wp-block-group__inner-container h3:first-child,
.widget_block > .wp-block-group > .wp-block-group__inner-container h4:first-child,
.widget_block > .wp-block-group > .wp-block-group__inner-container h5:first-child,
.widget_block > .wp-block-group > .wp-block-group__inner-container h6:first-child,
h6 {
  font-family: var(--tanaakk-font-sans);
  font-weight: 400;
}


h5,
.widget_block > .wp-block-group > .wp-block-group__inner-container h1:first-child,
.widget_block > .wp-block-group > .wp-block-group__inner-container h2:first-child,
.widget_block > .wp-block-group > .wp-block-group__inner-container h3:first-child,
.widget_block > .wp-block-group > .wp-block-group__inner-container h4:first-child,
.widget_block > .wp-block-group > .wp-block-group__inner-container h5:first-child,
.widget_block > .wp-block-group > .wp-block-group__inner-container h6:first-child {
  letter-spacing: 2px;
}

@media only screen and (min-width: 768px) {
  
  h5,
  .widget_block > .wp-block-group > .wp-block-group__inner-container h1:first-child,
  .widget_block > .wp-block-group > .wp-block-group__inner-container h2:first-child,
  .widget_block > .wp-block-group > .wp-block-group__inner-container h3:first-child,
  .widget_block > .wp-block-group > .wp-block-group__inner-container h4:first-child,
  .widget_block > .wp-block-group > .wp-block-group__inner-container h5:first-child,
  .widget_block > .wp-block-group > .wp-block-group__inner-container h6:first-child {
    font-size: 1rem;
  }
}

p.header-subtitle,
p.header-subtitle2 {
  font-family: var(--tanaakk-font-sans);
}

.post-meta .font-icon-post {
  margin-right: .3rem;
}

.post-content {
  border-radius: 5px;
  background-color: #fff;
  border: 1px solid #ececec;
  -webkit-box-shadow: 0 0.5625rem 2.8125rem 0 rgba(35, 69, 152, 0.15);
  box-shadow: 0 0.5625rem 2.8125rem 0 rgba(35, 69, 152, 0.15);
}

ul.is-bar,
ol.is-bar {
  margin: 0;
  list-style: none;
}

ul.is-bar li,
ol.is-bar li {
  display: inline-block;
}

ul.is-bar li + li,
ol.is-bar li + li {
  margin-left: .1rem;
}

.post-meta a {
  color: #8e9dae;
}

.post-meta a:hover {
  color: #000;
}

.post-excerpt {
  margin-top: 2rem;
}

.list-padding {
  padding: 2rem 3rem 3rem;
}

.post-item strong {
  color: #000;
}

.post-item .wp-post-image {
  max-width: 100%;
  height: auto;
  width: 100%;
}

.post-item .post-content-single {
  padding: 2rem 3rem 0;
}

.post-item p {
  margin-bottom: 2rem;
  line-height: 1.6;
}

.post-item-single {
  border: none;
}

.post-item-single .post-content-single {
  padding: 0 2rem;
  border: none;
}

/*
 * モバイル・投稿ページ: .gridContainer / .row / .col のパディングと .post-content-single のパディングが
 * 重なり左右に空きすぎる。また本文内の表・埋め込みのはみ出しで横スクロール＝「左右に空白」に見えるのを防ぐ。
 */
@media (max-width: 767px) {
  #page .content.post-page {
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: clip;
  }

  @supports not (overflow-x: clip) {
    #page .content.post-page {
      overflow-x: hidden;
    }
  }

  #page .content.post-page .gridContainer {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  #page .content.post-page .gridContainer > .row {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
  }

  #page .content.post-page .gridContainer > .row > [class*='col-'] {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  /* サイドバー列だけはウィジェット用に横インセットを残す */
  #page .content.post-page .gridContainer > .row > .sidebar {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* 親テーマはモバイルで body が text-align:center — メタ行（by … in … on …）が PC と違って中央寄せになる */
  #page .content.post-page .post-item-single .post-content-single {
    text-align: left;
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: 100%;
    box-sizing: border-box;
  }

  #page .content.post-page .post-item .nav-links,
  #page .content.post-page .post-item .post-comments .navigation {
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: 100%;
    box-sizing: border-box;
  }

  #page .content.post-page .post-item {
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: clip;
  }

  @supports not (overflow-x: clip) {
    #page .content.post-page .post-item {
      overflow-x: hidden;
    }
  }

  #page .content.post-page .post-content-inner {
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: clip;
  }

  @supports not (overflow-x: clip) {
    #page .content.post-page .post-content-inner {
      overflow-x: hidden;
    }
  }

  #page .content.post-page .post-content-inner img,
  #page .content.post-page .post-content-inner video,
  #page .content.post-page .post-content-inner iframe {
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
  }

  #page .content.post-page .post-content-inner .wp-block-embed__wrapper,
  #page .content.post-page .post-content-inner .wp-block-image {
    max-width: 100%;
    box-sizing: border-box;
  }

  /*
   * コア block-library の .alignfull（100vw + 負マージン）は、
   * モバイルでビューポートよりドキュメント幅が広がり横スクロールの典型原因。
   */
  #page .content.post-page .post-content-inner .alignfull {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }

  #page .content.post-page .post-content-inner .alignwide {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }

  #page .content.post-page .post-item-single,
  #page .content.post-page .post-content-single,
  #page .content.post-page .post-content-inner {
    min-width: 0;
  }

  #page .content.post-page .post-content-inner pre,
  #page .content.post-page .post-content-inner table {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    box-sizing: border-box;
  }

  /* サイドバー: ウィジェットの select / 長文で flex 子が横に膨らみがち */
  #page .content.post-page .sidebar,
  #page .content.post-page .sidebar .panel {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-x: clip;
  }

  @supports not (overflow-x: clip) {
    #page .content.post-page .sidebar,
    #page .content.post-page .sidebar .panel {
      overflow-x: hidden;
    }
  }

  #page .content.post-page .sidebar select,
  #page .content.post-page .sidebar input[type='search'],
  #page .content.post-page .sidebar input[type='text'] {
    max-width: 100%;
    box-sizing: border-box;
  }

  #page .content.post-page .sidebar .widget {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  /* コアのコード系ブロック（pre 以外のラッパー） */
  #page .content.post-page .post-content-inner .wp-block-code,
  #page .content.post-page .post-content-inner .wp-block-preformatted {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    box-sizing: border-box;
  }

  #page .content.post-page .post-item .nav-links a,
  #page .content.post-page .post-item .nav-links .post-title {
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  /* インナーヘッダー: 長い h1 がレイアウト幅を押し広げるのを防ぐ */
  .mesmerize-inner-page .header-wrapper {
    max-width: 100%;
    overflow-x: clip;
    box-sizing: border-box;
  }

  @supports not (overflow-x: clip) {
    .mesmerize-inner-page .header-wrapper {
      overflow-x: hidden;
    }
  }

  .mesmerize-inner-page .inner-header-description {
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  #page .content.post-page .comments-area {
    max-width: 100%;
    box-sizing: border-box;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.tags-list-child {
  text-transform: capitalize;
}

.post-inner {
  padding-bottom: 2rem;
  border-bottom: 1px solid #ececec;
}

.post-inner .list-padding {
  padding: 0;
}

@media screen and (max-width: 1023px) {
  .post-inner {
    margin-bottom: 1rem;
    border-bottom: none;
  }
  .post-inner .list-padding {
    padding: 1rem 0;
  }
  .thumb-col {
    padding: 0;
  }
}

.thumb-container img,
.thumb-container .mesmerize-post-list-item-thumb-placeholder {
  border: 1px solid #ececec;
  background: #fafafa;
  padding: 5px;
  margin: 0;
  width: 100%;
  max-width: 100%;
}

.thumb-container img:hover,
.thumb-container .mesmerize-post-list-item-thumb-placeholder:hover {
  background: #dedede;
}

/*
 * フロントの NEWS（[mesmerize_latest_news]）: スペースのない長いタイトルが
 * カード幅を突き抜けるのを防ぐ（flex 子の min-width + 強制折り返し）。
 */
.blog-section .row.center-sm > [class*="col-"],
.blog-section-mc .row.center-sm > [class*="col-"] {
  min-width: 0;
}

.blog-section .post-content,
.blog-section-mc .post-content {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.blog-section h3.post-title,
.blog-section h3.post-title a,
.blog-section-mc h3.post-title,
.blog-section-mc h3.post-title a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (min-width: 1024px) {
  .post-list-item .post-title {
    line-height: 1;
    padding-bottom: 0.5rem;
  }
}

.post-list-item .post-container {
  border: 1px solid #ececec;
  border-radius: 4px;
  background: #ffffff;
  padding: 1rem;
}

.post-list-item .post-container .post-inner {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

@media (max-width: 1023px) {
  .post-list-item .post-container .post-inner {
    padding-left: 1em;
    padding-right: 1em;
  }
  .post-list-item .post-container .post-inner .list-padding {
    padding-bottom: 0;
  }
}

.post-list-item.sticky .post-container {
  background: #FFFBF1;
  border-color: #FFEFCA;
}

.post-list-item.sticky .post-container .post-inner {
  background: #FFFBF1;
}

.post-comments {
  margin-top: 0;
  padding: 1rem 2rem;
}

.comment-list li.comment.even {
  background-color: #fafafa;
}

.comment-list li.comment.odd {
  background-color: #ffffff;
}

.comments-form {
  margin: 0 2rem;
  padding: 2rem 2rem 0.1rem;
}

.sidebar .panel {
  border: 1px solid #ececec;
  border-radius: 4px;
  -webkit-box-shadow: 0 0.5625rem 2.8125rem 0 rgba(35, 69, 152, 0.15);
  box-shadow: 0 0.5625rem 2.8125rem 0 rgba(35, 69, 152, 0.15);
}

.sidebar .widget > ul > li {
  padding: .4rem;
  border-top: 1px solid #ececec;
}

.sidebar .widget {
  background-color: transparent;
  border-bottom: none;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  padding: 1rem 1.6rem;
  margin: 0;
}

.sidebar .widget .widgettitle {
  letter-spacing: normal;
  text-transform: capitalize;
  font-size: 120%;
}

.sidebar .widget:first-child {
  padding-top: 1.5rem;
}

.widget_block > .wp-block-group > .wp-block-group__inner-container h1:first-child {
  font-size: 1.2em;
  line-height: 1.2;
  text-transform: none !important;
}

.widget_block > .wp-block-group > .wp-block-group__inner-container h2:first-child {
  font-size: 1.2em;
  line-height: 1.2;
  text-transform: none !important;
}

.widget_block > .wp-block-group > .wp-block-group__inner-container h3:first-child {
  font-size: 1.2em;
  line-height: 1.2;
  text-transform: none !important;
}

.widget_block > .wp-block-group > .wp-block-group__inner-container h4:first-child {
  font-size: 1.2em;
  line-height: 1.2;
  text-transform: none !important;
}

.widget_block > .wp-block-group > .wp-block-group__inner-container h1:first-child, .widget_block > .wp-block-group > .wp-block-group__inner-container h2:first-child, .widget_block > .wp-block-group > .wp-block-group__inner-container h3:first-child, .widget_block > .wp-block-group > .wp-block-group__inner-container h4:first-child, .widget_block > .wp-block-group > .wp-block-group__inner-container h5:first-child, .widget_block > .wp-block-group > .wp-block-group__inner-container h6:first-child {
  font-size: 1.2em;
  line-height: 1.2;
  text-transform: none !important;
}

.widget_block > .wp-block-group > .wp-block-group__inner-container h6:first-child {
  font-size: 1.2em;
  line-height: 1.2;
  text-transform: none !important;
}

.footer {
  background-color: #fafafa;
}

p.footer-site-meta {
  margin-top: 0.35em;
  margin-bottom: 0;
  font-size: 0.85em;
  line-height: 1.45;
  opacity: 0.88;
}

.no-padding {
  padding: 0;
}

.fixed-image {
  width: 307px;
  height: 248px;
}

.read-more:after {
  content: "";
}

/* 引用: 本文と同じ字サイズ・読みやすい色（親 #9daab9 は薄すぎる） */
.post-content blockquote,
.post-content-inner blockquote,
blockquote {
  font-style: italic;
  font-family: var(--tanaakk-font-sans);
  font-weight: normal;
  font-size: inherit;
  color: #6b7c93;
}

.post-content blockquote p,
.post-content-inner blockquote p,
blockquote p {
  color: inherit;
  font-size: inherit;
}

/*
 * URL 貼り付け時の WordPress 埋め込み（投稿・固定ページ共通）。
 * フォールバック blockquote の非表示・figure 余白。iframe 内 padding は mu-plugins/tanaakk-wp-embed-compact.php。
 */
.post-content blockquote.wp-embedded-content,
.post-content-inner blockquote.wp-embedded-content,
#page .page-content blockquote.wp-embedded-content,
#page-content.page-content blockquote.wp-embedded-content {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.post-content-inner figure.wp-block-embed,
.post-content figure.wp-block-embed,
#page .page-content figure.wp-block-embed,
#page-content.page-content figure.wp-block-embed {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

.post-content-inner figure.wp-block-embed.is-type-wp-embed,
.post-content figure.wp-block-embed.is-type-wp-embed,
#page .page-content figure.wp-block-embed.is-type-wp-embed,
#page-content.page-content figure.wp-block-embed.is-type-wp-embed {
  margin-bottom: 0.5rem;
  max-width: 600px;
  width: 100%;
}

/* 親テーマ general-options.php の YouTube 用 16:9 ラッパー。WP 自サイト埋め込みでは高さ固定 box になるため解除。 */
.post-content .embed-container:has(.wp-embedded-content),
.post-content-inner .embed-container:has(.wp-embedded-content),
#page .page-content .embed-container:has(.wp-embedded-content),
#page-content.page-content .embed-container:has(.wp-embedded-content),
figure.wp-block-embed.is-type-wp-embed .embed-container {
  position: static;
  padding: 0 !important;
  height: auto !important;
  margin-bottom: 0 !important;
}

figure.wp-block-embed.is-type-wp-embed .embed-container > iframe.wp-embedded-content {
  position: static !important;
  display: block;
  width: 100% !important;
  max-width: 600px;
  margin: 0;
}

.post-content-inner .wp-block-embed.is-type-wp-embed .wp-block-embed__wrapper,
.post-content .wp-block-embed.is-type-wp-embed .wp-block-embed__wrapper,
#page .page-content .wp-block-embed.is-type-wp-embed .wp-block-embed__wrapper,
#page-content.page-content .wp-block-embed.is-type-wp-embed .wp-block-embed__wrapper {
  margin-bottom: 0;
}

.post-content-inner .wp-block-embed.is-type-wp-embed iframe,
.post-content .wp-block-embed.is-type-wp-embed iframe,
#page .page-content .wp-block-embed.is-type-wp-embed iframe,
#page-content.page-content .wp-block-embed.is-type-wp-embed iframe {
  max-width: 100%;
}

.post-content-inner blockquote:not(.wp-embedded-content) figure.wp-block-embed,
.post-content blockquote:not(.wp-embedded-content) figure.wp-block-embed,
#page .page-content blockquote:not(.wp-embedded-content) figure.wp-block-embed,
#page-content.page-content blockquote:not(.wp-embedded-content) figure.wp-block-embed {
  margin-top: 0;
}

.post-content-inner blockquote:not(.wp-embedded-content):has(.wp-block-embed),
.post-content blockquote:not(.wp-embedded-content):has(.wp-block-embed),
#page .page-content blockquote:not(.wp-embedded-content):has(.wp-block-embed),
#page-content.page-content blockquote:not(.wp-embedded-content):has(.wp-block-embed) {
  margin: 1.25rem 0;
  padding-left: 0;
  padding-right: 0;
  border-left: none;
  font-style: normal;
}

.post-content-inner blockquote:not(.wp-embedded-content):has(.wp-block-embed)::after,
.post-content blockquote:not(.wp-embedded-content):has(.wp-block-embed)::after,
#page .page-content blockquote:not(.wp-embedded-content):has(.wp-block-embed)::after,
#page-content.page-content blockquote:not(.wp-embedded-content):has(.wp-block-embed)::after {
  display: none;
}

.nav-links .meta-nav {
  display: block;
  font-weight: bold;
  color: #000;
}

.nav-links .nav-next .post-title,
.nav-links .nav-previous .post-title {
  margin-right: 0;
}

.nav-links,
.post-comments .navigation {
  border: none;
}

.nav-links .numbers-navigation span.current,
.post-comments .navigation .numbers-navigation span.current,
.nav-links .numbers-navigation a:hover,
.post-comments .navigation .numbers-navigation a:hover {
  border-radius: 4px;
}

#side-navigation {
  display: none;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  right: 0px;
  z-index: 10;
  transition: all .5s;
}

@media screen and (max-width: 767px) {
  #side-navigation {
    display: none !important;
  }
}

#side-navigation ul {
  margin: 0;
  list-style: none;
  margin-right: 20px;
}

#side-navigation ul:before {
  background-color: #f1f1f1;
}

#side-navigation ul li {
  position: relative;
  margin: 3px 0;
  overflow: hidden;
  white-space: nowrap;
  line-height: 100%;
  cursor: pointer;
  transition: all .2s ease-in;
  text-align: right;
  pointer-events: all;
}

#side-navigation ul li a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  visibility: hidden;
  min-height: 22px;
}

#side-navigation ul li a:after {
  width: 8px;
  height: 8px;
  content: "";
  position: absolute;
  right: 0px;
  visibility: visible;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

#side-navigation ul li:hover a {
  visibility: visible;
}

#side-navigation ul li.hidden-bullet {
  display: none;
}

#side-navigation ul[data-type="active"] li.active a {
  visibility: visible;
}

#side-navigation ul[data-type="all"] li a {
  width: 100%;
  visibility: visible;
}

#side-navigation ul[data-preset=preset-1] {
  position: relative;
}

#side-navigation ul[data-preset=preset-1]:before {
  display: block;
  content: "";
  position: absolute;
  width: 35px;
  height: calc(100% + 20px);
  right: 0;
  top: -10px;
  box-shadow: -3px 2px 10px -3px rgba(0, 0, 0, 0.28);
  z-index: -1;
  border-radius: 10px 0 0 10px;
  background-color: #f1f1f1;
}

#side-navigation ul[data-preset=preset-1] li {
  z-index: 1;
  overflow: initial;
  padding-right: 30px;
}

#side-navigation ul[data-preset=preset-1] li a {
  padding-left: 16px;
  padding-right: 16px;
  line-height: 150%;
  border: 2px solid rgba(255, 255, 255, 0);
  justify-content: flex-end;
}

#side-navigation ul[data-preset=preset-1] li a:after {
  background-color: #03a9f4;
  width: 14px;
  height: 14px;
  border-radius: 100%;
}

#side-navigation ul[data-preset=preset-1] li.active a,
#side-navigation ul[data-preset=preset-1] li.active a:after,
#side-navigation ul[data-preset=preset-1] li:hover a,
#side-navigation ul[data-preset=preset-1] li:hover a:after {
  color: #03a9f4;
}

#side-navigation ul[data-preset=preset-2] {
  margin-right: 10px;
}

#side-navigation ul[data-preset=preset-2][data-type="all"] a:after {
  border-color: #ffffff;
}

#side-navigation ul[data-preset=preset-2] li {
  margin-right: 2px;
}

#side-navigation ul[data-preset=preset-2] li a {
  padding-left: 14px;
  padding-right: 32px;
  border-radius: 20px;
  color: #FFFFFF;
  background-color: #03a9f4;
  border: 2px solid #FFFFFF;
  font-family: var(--tanaakk-font-sans);
  font-size: 1em;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0;
  text-transform: capitalize;
  padding-bottom: 2px;
}

#side-navigation ul[data-preset=preset-2] li a:after {
  right: 12px;
  border-radius: 100%;
  background-color: #FFFFFF;
  border: solid 2px #333333;
}

#side-navigation ul[data-preset=preset-2] li.active a:after,
#side-navigation ul[data-preset=preset-2] li:hover a:after {
  background-color: #FFFFFF;
  border: solid 2px #FFFFFF;
}

#side-navigation ul[data-preset=preset-3] li {
  overflow: initial;
  padding-right: 20px;
}

#side-navigation ul[data-preset=preset-3] li a {
  color: #ffffff;
  background-color: #03a9f4;
  border: 2px solid white;
  font-family: var(--tanaakk-font-sans);
  font-size: 0.925em;
  font-weight: 300;
  line-height: 180%;
  letter-spacing: 0px;
  text-transform: capitalize;
  padding: 0px 16px 2px 16px;
  border-radius: 20px;
}

#side-navigation ul[data-preset=preset-3] li a:after {
  border-radius: 100%;
  background-color: #ffffff;
  border: solid 2px #3c3c3c;
}

#side-navigation ul[data-preset=preset-3] li.active a:after,
#side-navigation ul[data-preset=preset-3] li:hover a:after {
  background-color: #03a9f4;
}

#side-navigation ul[data-preset=preset-4] li {
  overflow: initial;
  padding-right: 28px;
}

#side-navigation ul[data-preset=preset-4] li a {
  border: 2px solid white;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 3px;
  background: #03a9f4;
  color: #ffffff;
  line-height: 190%;
}

#side-navigation ul[data-preset=preset-4] li a:after {
  background-color: #f5fafd;
  border: 2px solid #343a40;
}

#side-navigation ul[data-preset=preset-4] li.active a:after, #side-navigation ul[data-preset=preset-4] li:hover a:after {
  background-color: #71abe8;
}

.full-screen-section {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.full-screen-section > div {
  flex: 1;
}

/*
 * 横インデント共有変数。:root で既定（.page-content 外にブロックが出る場合のフォールバック）、#page .page-content で本文内を上書き。
 */
:root {
  --tanaakk-bc-meta-inline: 2rem;
}

@media (max-width: 767px) {
  :root {
    --tanaakk-bc-meta-inline: 1rem;
  }
}

/*
 * 固定ページ本文ラッパー: Full Width / Page With Navigation Only 等は id="page-content" が無いため #page .page-content で定義する。
 */
#page .page-content {
  --tanaakk-bc-meta-inline: 2rem;
}

@media (max-width: 767px) {
  #page .page-content {
    --tanaakk-bc-meta-inline: 1rem;
  }
}

/* パンくず — 投稿ページと同系（余白・左揃え）。Companion は .content 直下に出るため別セレクタで対応 */
.tanaakk-breadcrumbs-wrap--content {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #5c6b7a;
  letter-spacing: 0.01em;
}

/* 固定ページ: パンくず直下の投稿メタ — パンくずと同じ左端・横パディング（字下げ）に揃える */
#page #page-content.page-content .tanaakk-page-post-meta-under-breadcrumbs,
#page #page-content.page-content .gridContainer .tanaakk-page-post-meta-under-breadcrumbs,
div.page-content .tanaakk-page-post-meta-under-breadcrumbs,
div.page-content .gridContainer .tanaakk-page-post-meta-under-breadcrumbs,
.page-content.no-padding .content > .tanaakk-page-post-meta-under-breadcrumbs,
#page-content.content.blog-page .gridContainer .col-xs-12 > .tanaakk-page-post-meta-under-breadcrumbs {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  /* 横: パンくずと同一（--tanaakk-bc-meta-inline）。上はパンくず直下のわずかな間のみ */
  padding: 0.35rem var(--tanaakk-bc-meta-inline, 2rem) 1.35rem;
  margin-bottom: 0;
  text-align: left;
  color: #5c6b7a;
  font-size: 0.875rem;
  line-height: 1.55;
  letter-spacing: 0.01em;
}

#page .tanaakk-page-post-meta-under-breadcrumbs .post-meta,
div.page-content .tanaakk-page-post-meta-under-breadcrumbs .post-meta {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  padding-inline-start: 0;
  max-width: 100%;
  box-sizing: border-box;
}

/* 固定ページメタは .row を使わない（親 .row の margin-left:-15px でパンくずより左にずれるのを防ぐ） */

#page .tanaakk-page-post-meta-under-breadcrumbs ul.is-bar,
div.page-content .tanaakk-page-post-meta-under-breadcrumbs ul.is-bar {
  display: block;
  text-align: left;
  /* パンくずの ol/ul と同様 — 既定のリストインデントでメタだけ右にずれるのを防ぐ */
  margin: 0;
  padding: 0;
  padding-inline-start: 0;
  list-style: none;
}

#page .tanaakk-page-post-meta-under-breadcrumbs ul.is-bar > li,
div.page-content .tanaakk-page-post-meta-under-breadcrumbs ul.is-bar > li {
  display: block;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  padding-inline-start: 0;
  text-align: left;
}

#page .tanaakk-page-post-meta-under-breadcrumbs .tanaakk-post-meta-datetimes,
div.page-content .tanaakk-page-post-meta-under-breadcrumbs .tanaakk-post-meta-datetimes {
  align-items: flex-start;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  padding-inline-start: 0;
}

#page .tanaakk-page-post-meta-under-breadcrumbs .tanaakk-post-meta-line,
div.page-content .tanaakk-page-post-meta-under-breadcrumbs .tanaakk-post-meta-line {
  text-align: left;
  padding-inline-start: 0;
}

/*
 * 本番: 他 CSS より強い指定で横字下げを揃える。数値は親の --tanaakk-bc-meta-inline と常に同一。
 * id なしテンプレート向けに #page .page-content を併記。
 */
#page #page-content.page-content .tanaakk-breadcrumbs-wrap--content,
#page .page-content .tanaakk-breadcrumbs-wrap--content {
  padding-left: var(--tanaakk-bc-meta-inline, 2rem) !important;
  padding-right: var(--tanaakk-bc-meta-inline, 2rem) !important;
}

#page #page-content.page-content .tanaakk-page-post-meta-under-breadcrumbs,
#page .page-content .tanaakk-page-post-meta-under-breadcrumbs {
  padding-left: var(--tanaakk-bc-meta-inline, 2rem) !important;
  padding-right: var(--tanaakk-bc-meta-inline, 2rem) !important;
}

/* パンくず＋メタを .tanaakk-bc-meta-pair で囲んだときは親だけ横字下げ、子は二重にしない */
#page #page-content.page-content .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
#page #page-content.page-content .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
#page .page-content .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
#page .page-content .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
.tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
.tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* ブロックレベルでグリッド幅いっぱいに。flex 親の子が左に潰れて見えるのを防ぐ */
.tanaakk-bc-meta-pair {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  #page #page-content.page-content .gridContainer > .tanaakk-bc-meta-pair,
  #page .page-content .gridContainer > .tanaakk-bc-meta-pair,
  #page #page-content.page-content .gridContainer > .tanaakk-bc-meta-pair--solo,
  #page .page-content .gridContainer > .tanaakk-bc-meta-pair--solo {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;
    min-width: 0;
    align-self: stretch;
  }
}

/*
 * .gridContainer .tanaakk-* の広いセレクタが後段でパディングを付け直し、
 * ペア親の padding-inline だけにすべき子へ二重字下げ／見かけの左ズレを起こすのを最終上書き。
 */
#page #page-content.page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
#page #page-content.page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
#page .page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
#page .page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
#page #page-content.page-content .gridContainer .tanaakk-bc-meta-pair--solo > .tanaakk-page-post-meta-under-breadcrumbs,
#page .page-content .gridContainer .tanaakk-bc-meta-pair--solo > .tanaakk-page-post-meta-under-breadcrumbs {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
}

.tanaakk-bc-meta-pair .rank-math-breadcrumb,
.tanaakk-bc-meta-pair .rank-math-breadcrumb ol,
.tanaakk-bc-meta-pair .rank-math-breadcrumb ul,
.tanaakk-bc-meta-pair .rank-math-breadcrumb li {
  margin: 0 !important;
  padding: 0 !important;
  padding-inline-start: 0 !important;
  padding-inline-end: 0 !important;
  list-style: none !important;
}

.tanaakk-bc-meta-pair .tanaakk-page-post-meta-under-breadcrumbs .post-meta,
.tanaakk-bc-meta-pair .tanaakk-page-post-meta-under-breadcrumbs ul.is-bar,
.tanaakk-bc-meta-pair .tanaakk-page-post-meta-under-breadcrumbs ul.is-bar > li {
  margin-inline-start: 0 !important;
  margin-inline-end: 0 !important;
  padding-inline-start: 0 !important;
  padding-inline-end: 0 !important;
}

/* フロント（固定ページをトップ）: メタは .tanaakk-bc-meta-pair--solo で包む（横字下げは親の padding-inline） */
body.mesmerize-front-page #page #page-content.page-content .gridContainer > .tanaakk-bc-meta-pair--solo:first-child,
body.mesmerize-front-page #page .page-content .gridContainer > .tanaakk-bc-meta-pair--solo:first-child {
  box-sizing: border-box;
}

/*
 * フロント・ソロ: 親が .content のみ（gridContainer 無し）のとき 15px + 字下げ。親が .gridContainer.content のときは外側 15px 済みなので var のみ。
 * PHP でラッパークラスを再判定しない（loop 内の再呼び出しが実 DOM とずれることがあるため）。
 */
#page .page-content > .content:not(.gridContainer) > .tanaakk-bc-meta-pair--solo > .tanaakk-page-post-meta-under-breadcrumbs {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
}

@media (min-width: 768px) {
  #page .page-content > .content:not(.gridContainer) > .tanaakk-bc-meta-pair--solo {
    display: block !important;
    flex: 1 1 100% !important;
    max-width: 1232px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    padding-left: calc(15px + var(--tanaakk-bc-meta-inline, 2rem)) !important;
    padding-right: calc(15px + var(--tanaakk-bc-meta-inline, 2rem)) !important;
    padding-inline: calc(15px + var(--tanaakk-bc-meta-inline, 2rem)) !important;
  }

  #page .page-content > .gridContainer.content > .tanaakk-bc-meta-pair--solo {
    display: block !important;
    padding-left: var(--tanaakk-bc-meta-inline, 2rem) !important;
    padding-right: var(--tanaakk-bc-meta-inline, 2rem) !important;
    padding-inline: var(--tanaakk-bc-meta-inline, 2rem) !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 767px) {
  #page .page-content > .content:not(.gridContainer) > .tanaakk-bc-meta-pair--solo {
    display: block !important;
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding-left: var(--tanaakk-bc-meta-inline, 1rem) !important;
    padding-right: var(--tanaakk-bc-meta-inline, 1rem) !important;
    padding-inline: var(--tanaakk-bc-meta-inline, 1rem) !important;
  }

  #page .page-content > .gridContainer.content > .tanaakk-bc-meta-pair--solo {
    display: block !important;
    padding-left: var(--tanaakk-bc-meta-inline, 1rem) !important;
    padding-right: var(--tanaakk-bc-meta-inline, 1rem) !important;
    padding-inline: var(--tanaakk-bc-meta-inline, 1rem) !important;
    box-sizing: border-box !important;
  }
}

/* 投稿・固定(grid)・カテゴリ一覧・Companion 維持ページ: 同一パディング */
.post-item-single > .tanaakk-breadcrumbs-wrap--content,
div.page-content .gridContainer .tanaakk-breadcrumbs-wrap--content,
.page-content.no-padding .content > .tanaakk-breadcrumbs-wrap--content,
#page-content.content.blog-page .gridContainer .col-xs-12 > .tanaakk-breadcrumbs-wrap--content {
  padding: 1rem var(--tanaakk-bc-meta-inline, 2rem) 1.35rem;
  margin-bottom: 0;
  box-sizing: border-box;
}

/*
 * フォールバック: パンくずが .post-list 内（loop_start のみ）のときも一覧と同じ縦余白。
 * 通常は child/index.php で .col-xs-12 直下に出す。
 */
#page-content.content.blog-page .post-list > .tanaakk-breadcrumbs-wrap--content,
#page-content.content.blog-page .post-list > .tanaakk-bc-meta-pair {
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  padding: 1rem var(--tanaakk-bc-meta-inline, 2rem) 1.35rem !important;
  margin-bottom: 0;
}

/* 検索結果: 固定ページヒット時も投稿一覧と同程度のメタ周り余白 */
body.search .post-list-item .tanaakk-post-meta--page {
  margin-top: 0.35rem;
  margin-bottom: 0.75rem;
}

body.search .post-list-item .post-title {
  margin-bottom: 0.35rem;
}

/* 上記と同じ縦余白（横は .tanaakk-bc-meta-pair 親が担当） */
.post-item-single > .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
div.page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
.page-content.no-padding .content > .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
#page-content.content.blog-page .gridContainer .col-xs-12 > .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content {
  padding-top: 1rem;
  padding-bottom: 1.35rem;
  margin-bottom: 0;
  box-sizing: border-box;
}

/* Companion / GAAS: 親テーマの grid と同じ最大幅でセンタリング（中身は左） */
.page-content.no-padding .content > .tanaakk-breadcrumbs-wrap--content {
  max-width: 1232px;
  margin-left: auto;
  margin-right: auto;
}

/* パンくず＋メタをペアで包んだあとも、従来どおり .content 直下で同じカラム幅に収める */
.page-content.no-padding .content > .tanaakk-bc-meta-pair,
.page-content.no-padding .content > .tanaakk-bc-meta-pair--solo {
  max-width: 1232px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  box-sizing: border-box;
}

/* ナビ・リストは常に左起点（投稿と同じ見え方） */
.tanaakk-breadcrumbs-wrap--content > .tanaakk-breadcrumbs {
  width: 100%;
  max-width: 100%;
  display: block;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}

/* Rank Math の ol/ul 既定インデントで「ホーム」が右にずれ投稿メタと揃わないのを防ぐ */
.tanaakk-breadcrumbs-wrap--content nav.tanaakk-breadcrumbs {
  padding-inline-start: 0;
  padding-inline-end: 0;
}

.tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb ol,
.tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb ul {
  margin: 0;
  padding: 0;
  padding-inline-start: 0;
  list-style: none;
}

.tanaakk-breadcrumbs-wrap--content .tanaakk-breadcrumbs__list {
  justify-content: flex-start;
  text-align: left;
}

@media (min-width: 1024px) {
  .post-item-single > .tanaakk-breadcrumbs-wrap--content,
  div.page-content .gridContainer .tanaakk-breadcrumbs-wrap--content,
  .page-content.no-padding .content > .tanaakk-breadcrumbs-wrap--content,
  #page-content.content.blog-page .gridContainer .col-xs-12 > .tanaakk-breadcrumbs-wrap--content,
  #page-content.content.blog-page .post-list > .tanaakk-breadcrumbs-wrap--content {
    padding-top: 1.15rem;
    padding-bottom: 1.5rem;
  }

  .post-item-single > .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
  div.page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
  .page-content.no-padding .content > .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
  #page-content.content.blog-page .gridContainer .col-xs-12 > .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content {
    padding-top: 1.15rem;
    padding-bottom: 1.5rem;
  }

  #page #page-content.page-content .tanaakk-page-post-meta-under-breadcrumbs,
  #page #page-content.page-content .gridContainer .tanaakk-page-post-meta-under-breadcrumbs,
  #page .page-content .tanaakk-page-post-meta-under-breadcrumbs,
  #page .page-content .gridContainer .tanaakk-page-post-meta-under-breadcrumbs,
  div.page-content .tanaakk-page-post-meta-under-breadcrumbs,
  div.page-content .gridContainer .tanaakk-page-post-meta-under-breadcrumbs,
  .page-content.no-padding .content > .tanaakk-page-post-meta-under-breadcrumbs,
  #page-content.content.blog-page .gridContainer .col-xs-12 > .tanaakk-page-post-meta-under-breadcrumbs {
    padding-bottom: 1.5rem;
  }

  #page #page-content.page-content .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  #page #page-content.page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  #page .page-content .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  #page .page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  div.page-content .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  div.page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  .page-content.no-padding .content > .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  #page-content.content.blog-page .gridContainer .col-xs-12 > .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs {
    padding-bottom: 1.5rem;
  }
}

@media (max-width: 767px) {
  .tanaakk-breadcrumbs-wrap--content {
    font-size: 0.8125rem;
    line-height: 1.6;
  }

  .post-item-single > .tanaakk-breadcrumbs-wrap--content,
  div.page-content .gridContainer .tanaakk-breadcrumbs-wrap--content,
  .page-content.no-padding .content > .tanaakk-breadcrumbs-wrap--content,
  #page-content.content.blog-page .gridContainer .col-xs-12 > .tanaakk-breadcrumbs-wrap--content,
  #page-content.content.blog-page .post-list > .tanaakk-breadcrumbs-wrap--content {
    padding-left: var(--tanaakk-bc-meta-inline, 1rem) !important;
    padding-right: var(--tanaakk-bc-meta-inline, 1rem) !important;
    padding-bottom: 1.25rem;
  }

  .post-item-single > .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
  div.page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
  .page-content.no-padding .content > .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content,
  #page-content.content.blog-page .gridContainer .col-xs-12 > .tanaakk-bc-meta-pair > .tanaakk-breadcrumbs-wrap--content {
    padding-bottom: 1.25rem;
  }

  #page #page-content.page-content .tanaakk-page-post-meta-under-breadcrumbs,
  #page #page-content.page-content .gridContainer .tanaakk-page-post-meta-under-breadcrumbs,
  #page .page-content .tanaakk-page-post-meta-under-breadcrumbs,
  #page .page-content .gridContainer .tanaakk-page-post-meta-under-breadcrumbs,
  div.page-content .tanaakk-page-post-meta-under-breadcrumbs,
  div.page-content .gridContainer .tanaakk-page-post-meta-under-breadcrumbs,
  .page-content.no-padding .content > .tanaakk-page-post-meta-under-breadcrumbs,
  #page-content.content.blog-page .gridContainer .col-xs-12 > .tanaakk-page-post-meta-under-breadcrumbs {
    padding-left: var(--tanaakk-bc-meta-inline, 1rem) !important;
    padding-right: var(--tanaakk-bc-meta-inline, 1rem) !important;
    padding-bottom: 1.25rem;
  }

  #page #page-content.page-content .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  #page #page-content.page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  #page .page-content .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  #page .page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  div.page-content .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  div.page-content .gridContainer .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  .page-content.no-padding .content > .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs,
  #page-content.content.blog-page .gridContainer .col-xs-12 > .tanaakk-bc-meta-pair > .tanaakk-page-post-meta-under-breadcrumbs {
    padding-bottom: 1.25rem;
  }
}

/* モバイル: 複数行折り返し（iOS Safari の見え方に合わせ、Chrome も同様に） */
.tanaakk-breadcrumbs-wrap--content a,
.tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb span {
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

.tanaakk-breadcrumbs-wrap--content a,
.tanaakk-breadcrumbs-wrap--content a:visited {
  color: #3d4f63;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.tanaakk-breadcrumbs-wrap--content a:hover {
  color: #1e2d3d;
  border-bottom-color: rgba(61, 79, 99, 0.35);
}

.tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb,
.tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb * {
  color: #5c6b7a;
}

.tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb a,
.tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb a:visited {
  color: #3d4f63;
}

.tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb a:hover {
  color: #1e2d3d;
}

.tanaakk-breadcrumbs-wrap--content p.rank-math-breadcrumb,
.tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  column-gap: 0.35rem;
  row-gap: 0.45rem;
  margin: 0;
  padding: 0;
  max-width: 100%;
  width: 100%;
}

.tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb > * {
  min-width: 0;
}

.tanaakk-breadcrumbs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  row-gap: 0.45rem;
  column-gap: 0.35rem;
  max-width: 100%;
}

.tanaakk-breadcrumbs__item {
  min-width: 0;
}

.tanaakk-breadcrumbs-wrap--content .tanaakk-breadcrumbs__item a {
  color: #3d4f63;
}

.tanaakk-breadcrumbs-wrap--content .tanaakk-breadcrumbs__item span {
  color: #5c6b7a;
}

.tanaakk-breadcrumbs__item a {
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.tanaakk-breadcrumbs__item a:hover {
  border-bottom-color: rgba(61, 79, 99, 0.35);
}

.tanaakk-breadcrumbs__sep {
  list-style: none;
  margin: 0;
  padding: 0 0.15rem;
  opacity: 0.55;
  user-select: none;
  color: #8a96a3;
  flex-shrink: 0;
  white-space: nowrap;
}

/* 親テーマの ol ol li { list-style-type: lower-alpha } より優先（ネストしたパンくずで a,c,e… と飛ぶのを防ぐ） */
.tanaakk-breadcrumbs-wrap--content nav .tanaakk-breadcrumbs__list > li,
.tanaakk-breadcrumbs-wrap--content nav .tanaakk-bc-middle--nested > li {
  list-style: none;
  list-style-type: none;
}

.tanaakk-breadcrumbs-wrap--content nav .rank-math-breadcrumb ol li {
  list-style: none;
  list-style-type: none;
}

/* タブレット以上: 横スクロールは使わず折り返し（長いパスは JS で中間折りたたみ） */
@media (min-width: 768px) {
  .tanaakk-breadcrumbs-wrap--content > .tanaakk-breadcrumbs {
    overflow-x: visible;
  }

  .tanaakk-breadcrumbs-wrap--content a,
  .tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb span {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  .tanaakk-breadcrumbs-wrap--content p.rank-math-breadcrumb,
  .tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb {
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
  }

  .tanaakk-breadcrumbs-wrap--content .rank-math-breadcrumb > * {
    min-width: 0;
  }

  .tanaakk-breadcrumbs__list {
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
  }

  .tanaakk-breadcrumbs__item {
    min-width: 0;
  }
}

/* パンくず中間折りたたみ（Rank Math + theme-child.js） */
.tanaakk-breadcrumbs-wrap--content .tanaakk-bc-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0.15rem;
  padding: 0.1rem 0.45rem;
  font: inherit;
  font-size: 0.95em;
  line-height: 1.2;
  color: #3d4f63;
  background: rgba(61, 79, 99, 0.08);
  border: 1px solid rgba(61, 79, 99, 0.2);
  border-radius: 4px;
  cursor: pointer;
  vertical-align: baseline;
}

.tanaakk-breadcrumbs-wrap--content .tanaakk-bc-toggle:hover,
.tanaakk-breadcrumbs-wrap--content .tanaakk-bc-toggle:focus-visible {
  color: #1e2d3d;
  background: rgba(61, 79, 99, 0.12);
  border-color: rgba(61, 79, 99, 0.35);
  outline: none;
}

.tanaakk-breadcrumbs-wrap--content .tanaakk-bc-middle {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 0.35rem;
  row-gap: 0.35rem;
  vertical-align: baseline;
}

.tanaakk-breadcrumbs-wrap--content .tanaakk-bc-middle[hidden] {
  display: none !important;
}

/* パンくず: 中間をネストしたリストに収納（ul で順序カウンタに依存しない） */
.tanaakk-breadcrumbs-wrap--content .tanaakk-bc-collapse-li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  list-style: none;
  min-width: 0;
}

.tanaakk-breadcrumbs-wrap--content .tanaakk-bc-middle--nested {
  list-style: none;
  margin: 0;
  padding: 0.25rem 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 0.35rem;
  row-gap: 0.35rem;
  width: 100%;
  flex-basis: 100%;
}

.tanaakk-breadcrumbs-wrap--content .tanaakk-bc-middle--nested[hidden] {
  display: none !important;
}


/* Kirki 保存値・親テーマより優先してフォントファミリを 1 スタックに統一（Font Awesome は各セレクタで上書き） */
body,
button,
input,
select,
textarea,
.navigation-bar,
.footer,
.header-homepage,
.inner-header-description,
.post-content,
.sidebar .widget,
.mesmerize-menu,
.main_menu {
  font-family: var(--tanaakk-font-sans) !important;
}

/*
 * トップメニュー（#page-top）: テンプレート差で Kirki／親の可変スタイルが当たっても
 * フォント・字サイズ・字間・大文字化を揃える。:after の FontAwesome は親のより詳細なルールが優先。
 */
#page-top .navigation-bar #main_menu,
#page-top .navigation-bar ul.dropdown-menu,
#page-top .navigation-bar ul.dropdown-menu li,
#page-top .navigation-bar ul.dropdown-menu li a,
#page-top .navigation-bar ul.dropdown-menu ul li,
#page-top .navigation-bar ul.dropdown-menu ul li a {
  font-family: var(--tanaakk-font-sans) !important;
}

@media (min-width: 768px) {
  #page-top .navigation-bar ul.dropdown-menu > li > a {
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.6;
    letter-spacing: 0.0625em;
    text-transform: uppercase;
  }
}

#page-top .navigation-bar ul.dropdown-menu ul li,
#page-top .navigation-bar ul.dropdown-menu ul li a {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: normal;
}

#page-top #offcanvas-wrapper,
#page-top #offcanvas-wrapper .offcanvas_menu,
#page-top #offcanvas-wrapper .offcanvas_menu a {
  font-family: var(--tanaakk-font-sans) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.hero-title,
.header-subtitle,
p.header-subtitle,
p.header-subtitle2 {
  font-family: var(--tanaakk-font-sans) !important;
}

[class*="content-section"] span[style*="Playfair Display"] {
  font-family: var(--tanaakk-font-sans) !important;
  font-style: normal !important;
  font-weight: 600 !important;
}

/* CLS: インナーページヒーローの最小高さ（モバイル含む。768px 以上は従来どおり） */
.mesmerize-inner-page .header:not(.header-slide) {
  min-height: clamp(160px, 42vw, 360px);
}

@media (min-width: 768px) {
  .mesmerize-inner-page .header:not(.header-slide) {
    min-height: clamp(200px, 26vw, 360px);
  }
}

/* CLS: YouTube / Vimeo 埋め込み（MU: tanaakk-performance-cls-embeds.php） */
.tanaakk-responsive-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: min(80vh, 720px);
  margin-bottom: 1.5rem;
  overflow: hidden;
  background: #0f1419;
}

.tanaakk-responsive-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.tanaakk-responsive-embed > figure.wp-block-embed {
  margin: 0;
  height: 100%;
}

/* CLS: コア埋め込み（YouTube/Vimeo）— ラッパー無し HTML やテーマ側で responsive クラスが付かない場合の予約 */
.wp-block-embed.is-type-video.is-provider-youtube .wp-block-embed__wrapper,
.wp-block-embed.is-type-video.is-provider-vimeo .wp-block-embed__wrapper {
  position: relative;
  aspect-ratio: 16 / 9;
  width: 100%;
  max-height: min(80vh, 720px);
  background: #0f1419;
}

.wp-block-embed.is-type-video.is-provider-youtube .wp-block-embed__wrapper iframe,
.wp-block-embed.is-type-video.is-provider-vimeo .wp-block-embed__wrapper iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* CLS: ナビバー最小高さ（ロゴ・メニュー行の縦方向のブレ抑制） */
.mesmerize-inner-page .navigation-bar,
.mesmerize-front-page .navigation-bar {
  min-height: 5.5rem;
  box-sizing: border-box;
}

/*
 * 透過ナビ: ヒーロー／インナーヘッダーがナビの背後まで見える。
 * .coloured-nav（色付きナビ ON）・.fixto-fixed（スクロール固定）は親テーマの白帯を維持。
 */
#page-top.header-top {
  background-color: transparent !important;
}

#page-top .navigation-bar:not(.coloured-nav):not(.fixto-fixed),
#page-top .navigation-bar:not(.coloured-nav):not(.fixto-fixed) .navigation-wrapper,
#page-top .navigation-bar:not(.coloured-nav):not(.fixto-fixed) .navigation-wrapper .gridContainer,
#page-top .navigation-bar:not(.coloured-nav):not(.fixto-fixed) .row,
#page-top .navigation-bar:not(.coloured-nav):not(.fixto-fixed) .logo_col,
#page-top .navigation-bar:not(.coloured-nav):not(.fixto-fixed) .main_menu_col {
  background-color: transparent !important;
  background-image: none !important;
}

/* CLS: ロゴ列の横方向スペース（画像読込前の幅0によるナビ全体の横シフト抑制） */
.header-top .logo_col,
.navigation-bar .logo_col {
  min-width: 8rem;
  flex-shrink: 0;
}

/* CLS: フロントヒーロー主見出し（Typed 無効化後も Web フォント折り返し差を吸収） */
.mesmerize-front-page .header-homepage h1.hero-title {
  min-height: clamp(3.5rem, 12vw, 7rem);
  line-height: 1.2;
}

@media (min-width: 768px) {
  .mesmerize-front-page .header-homepage h1.hero-title {
    min-height: clamp(4rem, 8vw, 6.5rem);
  }
}

/* ヘッダー／オフキャンバス上段のロゴ高さを同一に（--tanaakk-nav-logo-max-h） */
#page-top .header-top img.custom-logo,
#page-top .header-top img.logo.dark,
#page-top .navigation-bar img.custom-logo,
#page-top .navigation-bar img.logo.dark,
#page-top #offcanvas-wrapper .offcanvas-top .logo-holder img.custom-logo,
#page-top #offcanvas-wrapper .offcanvas-top .logo-holder img.logo.dark {
  max-height: var(--tanaakk-nav-logo-max-h) !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}

#page-top .header-top .logo_col .custom-logo-link,
#page-top .navigation-bar .logo_col .custom-logo-link,
#page-top #offcanvas-wrapper .offcanvas-top .logo-holder .custom-logo-link {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

/*
 * #page-top ナビ: 白／黒ロゴの表示切替（オフキャンバス含む）。親テーマより詳細度を上げて揃える。
 */
.navigation-bar:not(.fixto-fixed) .navigation-wrapper.white-logo .logo_col a.logo-link.dark,
.navigation-bar:not(.fixto-fixed) .navigation-wrapper.white-logo #offcanvas-wrapper .logo-holder a.logo-link.dark {
  display: none !important;
  opacity: 0 !important;
}

.navigation-bar:not(.fixto-fixed) .navigation-wrapper.white-logo .logo_col a.custom-logo-link,
.navigation-bar:not(.fixto-fixed) .navigation-wrapper.white-logo .logo_col a.logo-link.dark + a.custom-logo-link,
.navigation-bar:not(.fixto-fixed) .navigation-wrapper.white-logo #offcanvas-wrapper .logo-holder a.custom-logo-link,
.navigation-bar:not(.fixto-fixed) .navigation-wrapper.white-logo #offcanvas-wrapper .logo-holder a.logo-link.dark + a.custom-logo-link {
  display: inline-flex !important;
  align-items: center;
  line-height: 0;
  opacity: 1 !important;
  visibility: visible !important;
}

.navigation-bar:not(.fixto-fixed) .navigation-wrapper.dark-logo .logo_col a.logo-link.dark,
.navigation-bar:not(.fixto-fixed) .navigation-wrapper.dark-logo #offcanvas-wrapper .logo-holder a.logo-link.dark {
  display: inline-block !important;
  opacity: 1 !important;
}

.navigation-bar:not(.fixto-fixed) .navigation-wrapper.dark-logo .logo_col a.custom-logo-link,
.navigation-bar:not(.fixto-fixed) .navigation-wrapper.dark-logo .logo_col a.logo-link.dark + a.custom-logo-link,
.navigation-bar:not(.fixto-fixed) .navigation-wrapper.dark-logo #offcanvas-wrapper .logo-holder a.custom-logo-link,
.navigation-bar:not(.fixto-fixed) .navigation-wrapper.dark-logo #offcanvas-wrapper .logo-holder a.logo-link.dark + a.custom-logo-link {
  display: none !important;
  opacity: 0 !important;
}

.navigation-bar.fixto-fixed .navigation-wrapper.fixed-white-logo .logo_col a.logo-link.dark,
.navigation-bar.fixto-fixed .navigation-wrapper.fixed-white-logo #offcanvas-wrapper .logo-holder a.logo-link.dark {
  display: none !important;
  opacity: 0 !important;
}

.navigation-bar.fixto-fixed .navigation-wrapper.fixed-white-logo .logo_col a.custom-logo-link,
.navigation-bar.fixto-fixed .navigation-wrapper.fixed-white-logo .logo_col a.logo-link.dark + a.custom-logo-link,
.navigation-bar.fixto-fixed .navigation-wrapper.fixed-white-logo #offcanvas-wrapper .logo-holder a.custom-logo-link,
.navigation-bar.fixto-fixed .navigation-wrapper.fixed-white-logo #offcanvas-wrapper .logo-holder a.logo-link.dark + a.custom-logo-link {
  display: inline-flex !important;
  align-items: center;
  line-height: 0;
  opacity: 1 !important;
  visibility: visible !important;
}

.navigation-bar.fixto-fixed .navigation-wrapper.fixed-dark-logo .logo_col a.logo-link.dark,
.navigation-bar.fixto-fixed .navigation-wrapper.fixed-dark-logo #offcanvas-wrapper .logo-holder a.logo-link.dark {
  display: inline-block !important;
  opacity: 1 !important;
}

.navigation-bar.fixto-fixed .navigation-wrapper.fixed-dark-logo .logo_col a.custom-logo-link,
.navigation-bar.fixto-fixed .navigation-wrapper.fixed-dark-logo .logo_col a.logo-link.dark + a.custom-logo-link,
.navigation-bar.fixto-fixed .navigation-wrapper.fixed-dark-logo #offcanvas-wrapper .logo-holder a.custom-logo-link,
.navigation-bar.fixto-fixed .navigation-wrapper.fixed-dark-logo #offcanvas-wrapper .logo-holder a.logo-link.dark + a.custom-logo-link {
  display: none !important;
  opacity: 0 !important;
}

#page-top #offcanvas-wrapper .offcanvas-top .logo-holder {
  text-align: center;
}

#page-top #offcanvas-wrapper .offcanvas-top .logo-holder a.text-logo {
  font-size: 1.125rem !important;
  line-height: 1.15 !important;
  max-height: var(--tanaakk-nav-logo-max-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  #page-top #offcanvas-wrapper .offcanvas-top .logo-holder a.text-logo {
    font-size: 1.5rem !important;
  }
}

@media (max-width: 767px) {
  #page-top .header-top .logo_col a.text-logo,
  #page-top .navigation-bar .logo_col a.text-logo {
    font-size: 1.125rem !important;
    line-height: 1.15 !important;
    max-height: var(--tanaakk-nav-logo-max-h);
    display: inline-flex;
    align-items: center;
  }
}

/* モバイル: ロゴを左、ハンバーガーを右（テーマ既定寄りの並び） */
@media (max-width: 767px) {
  #page-top .navigation-bar .row.basis-auto {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
  }

  /* min-width:0 + flex 略記の shrink:1 は CLS 用 8rem / flex-shrink:0 を潰し、ロゴ（白／青の切替 img）が消える */
  #page-top .navigation-bar .logo_col {
    order: 1;
    flex: 1 0 auto;
    min-width: 8rem;
    justify-content: flex-start;
    max-width: none;
  }

  #page-top .navigation-bar .main_menu_col {
    order: 2;
    flex: 0 0 auto;
    justify-content: flex-end;
    width: auto;
    max-width: none;
  }

  /* 小さめロゴに合わせて固定／スクロール時ヘッダー帯を低く（既定 min-height 5.5rem + padding 1rem を上書き） */
  .mesmerize-inner-page .navigation-bar,
  .mesmerize-front-page .navigation-bar {
    min-height: 3.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

/* タブレット／デスクトップでオフキャンバスのみ: ロゴ左・ハンバーガー右 */
@media (min-width: 768px) and (max-width: 1023px) {
  body.offcanvas_menu-tablet #page-top .navigation-bar .row.basis-auto {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
  }

  body.offcanvas_menu-tablet #page-top .navigation-bar .logo_col {
    order: 1;
    flex: 1 0 auto;
    min-width: 8rem;
    justify-content: flex-start;
    max-width: none;
  }

  body.offcanvas_menu-tablet #page-top .navigation-bar .main_menu_col {
    order: 2;
    flex: 0 0 auto;
    justify-content: flex-end;
    width: auto;
    max-width: none;
  }
}

@media (min-width: 1024px) {
  body.offcanvas_menu-desktop #page-top .navigation-bar .row.basis-auto {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
  }

  body.offcanvas_menu-desktop #page-top .navigation-bar .logo_col {
    order: 1;
    flex: 1 0 auto;
    min-width: 8rem;
    justify-content: flex-start;
    max-width: none;
  }

  body.offcanvas_menu-desktop #page-top .navigation-bar .main_menu_col {
    order: 2;
    flex: 0 0 auto;
    justify-content: flex-end;
    width: auto;
    max-width: none;
  }
}

/* 右ドロワー: ヘッダー右のハンバーガーと一致（nav-bar の data-direction="right" / slideInRight） */
#page-top #offcanvas-wrapper.offcanvas.offcanvas-right {
  left: auto;
  right: 0;
}

/* CLS: インナーヒーロー見出しブロックの最小高さ（Web フォント適用後の折り返し差の吸収。CrUX デスクトップ CLS 0.1 超対策でやや拡大） */
.mesmerize-inner-page .inner-header-description {
  min-height: clamp(8rem, 20vw, 13rem);
  contain: layout style;
}

/* インナーページ・ヒーロー主見出し（h1.hero-title）— 長いタイトル向けに既定より小さく／やや大きめに調整済み */
.mesmerize-inner-page .inner-header-description h1.hero-title {
  font-size: clamp(1.3rem, 3.75vw, 2.35rem);
  line-height: 1.22;
  min-height: clamp(3rem, 11vw, 5.5rem);
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .mesmerize-inner-page .inner-header-description h1.hero-title {
    font-size: clamp(1.45rem, 2.85vw, 2.55rem);
    line-height: 1.2;
    min-height: clamp(3.2rem, 9vw, 6rem);
  }
}

/* インナーページ・ヒーロー副題（Growth-as-a-Service… 等） */
.mesmerize-inner-page .inner-header-description p.header-subtitle {
  font-size: clamp(0.78rem, 2.1vw, 0.95rem);
  line-height: 1.35;
}

@media (min-width: 768px) {
  .mesmerize-inner-page .inner-header-description p.header-subtitle {
    font-size: clamp(0.82rem, 1.35vw, 1.05rem);
    line-height: 1.4;
  }
}

/* 投稿メタ: 公開日時・最終更新（単一投稿） */
.tanaakk-post-meta-datetimes {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  align-items: flex-start;
}

.tanaakk-post-meta-datetimes .tanaakk-post-meta-line {
  display: block;
  line-height: 1.4;
}

.tanaakk-post-meta-label {
  font-weight: 600;
  margin-right: 0.35rem;
}

/* 単一投稿: by / in と日付ブロックを改行、日付行は太字にしない */
.tanaakk-post-meta--post-single ul.is-bar {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
}

.tanaakk-post-meta--post-single ul.is-bar > li {
  display: block;
  width: 100%;
  margin-left: 0 !important;
}

.tanaakk-post-meta--post-single ul.is-bar > li + li {
  margin-left: 0 !important;
}

.tanaakk-post-meta--post-single .tanaakk-post-meta-label {
  font-weight: 400;
}

/* 固定ページ: 投稿日・更新日・更新回数ラベルは通常字重 */
.tanaakk-post-meta--page .tanaakk-post-meta-label {
  font-weight: 400;
}

.tanaakk-post-meta-tz {
  color: #6b7c93;
  font-size: 0.95em;
  margin-left: 0.15rem;
}

/*
 * Highlight 全体: ホバー不能な端末で y-move / contentswap のタップ反応を抑止。
 * #page-top（ナビ）は #page 外のため :is(#page-top, #page) で両方を対象。
 * 固定ページ・一覧・投稿・WooCommerce・フッター等、テーマ出力の範囲を含む。
 */
@media (hover: none) {
  :is(#page-top, #page) .y-move:hover,
  :is(#page-top, #page) .y-move:active {
    transform: none !important;
    box-shadow: none !important;
  }

  :is(#page-top, #page) .card.bordered.y-move:hover,
  :is(#page-top, #page) .card.bordered.y-move:active,
  :is(#page-top, #page) .card.y-move[class*='bottom-border-']:hover,
  :is(#page-top, #page) .card.y-move[class*='bottom-border-']:active {
    transform: none !important;
    box-shadow: none !important;
    border: 1px solid #e0e1e1;
  }

  :is(#page-top, #page) .contentswap-effect:hover .overlay,
  :is(#page-top, #page) .contentswap-effect:hover .swap-inner,
  :is(#page-top, #page) .contentswap-effect.hover .overlay,
  :is(#page-top, #page) .contentswap-effect.hover .swap-inner {
    opacity: 0 !important;
  }

  /* .visible は初期表示用（Woo 等）— 上書きしない */

  :is(#page-top, #page) .card.y-move,
  :is(#page-top, #page) .contentswap-effect {
    -webkit-tap-highlight-color: transparent;
  }
}
