/* PCだけ（1024px～） */
@media screen and (min-width: 1024px) {
		.ol-header {
position:relative;
		height:80px;
		width: 100%;
}
		.ol-header__title-logo {
    position: absolute;
    top: 30px;
    left: -10px;
		width:190px;
}
}
/* PCだけ（1024px～） */
@media (min-width: 1024px) {
    .custom-global-nav .custom-global-nav-list {
        display: flex
        gap: 24px;
        list-style: none;
        margin: 0 2rem 0 0;
        padding: 0;
    }
.custom-global-nav{
		    position: absolute;
    top: 25px;
    right: 10px;
}
}

.ol-header__title-logo {
    position: absolute;
    top: -20px;
    left: -10px;
		max-width:190px;
}

.um-hamburger {
    position: absolute;
    top: -20px;
    right: 10px;
  }

/* スマホだけ（～767px） */
@media screen and (max-width: 767px) {
.ol-header {
position:relative;
		height:73px;
		width: 100%;
}
		.ol-header__title-logo {
    position: absolute;
    top: -16px;
    left: -10px;
		max-width:190px;
}
}

/* ─────────────────────────────────
   目次（ez-toc）
────────────────────────────────── */
#ez-toc-container {
  border-top: 5px solid #666;
  border-bottom: 1px solid #DDD;
  border-left: 1px solid #DDD;
  border-right: 1px solid #DDD;
}
#ez-toc-container ul ul,
.ez-toc div.ez-toc-widget-container ul ul{
  margin-left: 1em;
  margin-bottom: 1rem;
}
.ez-toc-wrap-left  {
		margin: 3rem auto 3rem 0 !important;/* 目次のプラグイン */
}
#ez-toc-container li {
    margin: 0 0 0.4rem 0.4rem!important;
}


/* ─────────────────────────────────
   記事見出し
────────────────────────────────── */
h2.wp-block-heading {
margin-bottom:2rem;
}

/* ─────────────────────────────────
   記事上 SNS/著者ブロック
────────────────────────────────── */
.c-btn--sns{
  gap: 0 3px;
  margin: 16px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.l-container__col_2{
  overflow: hidden;
  line-break: strict;
  box-sizing: border-box;
  padding-top: 3rem;
  max-width: 980px;
  display: block;
  justify-content: center;
  margin: 0 auto;
}
.c-btn--sns{
  width: 100%;
  margin: 0 auto 3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.c-btn--sns__author a{
  color:#1a1a1a;
  display:flex;
  align-items:center;
  gap:4px;
  text-decoration:none;
  font-size:14px;
}
.c-btn--sns__author img{
  border-radius:50%;
  width:44px;
  height:44px;
  aspect-ratio:1/1;
  object-fit:cover;
  margin-right:10px;
}
*, :after, :before{ box-sizing:border-box; }
.c-btn--sns .share-pc{ display:flex; gap:0 3px; justify-content:flex-end; }
@media (min-width:768px){ .c-btn--sns__item{ margin:.8rem; } }

/* ─────────────────────────────────
   MW WP Form スタイル
────────────────────────────────── */
#mw_wp_form_mw-wp-form-584{
  max-width:600px; margin:0 auto 60px;
		padding:40px 30px ;
  background:rgba(255,255,255,0.95);
border: 10px solid #F0F0F0;
}
#mw_wp_form_mw-wp-form-584 .contactBlock--input{ margin-bottom:1.8em; }
#mw_wp_form_mw-wp-form-584 .contactBlock--input__ttl{
  font-size:1rem; font-weight:600; color:#213342; margin-bottom:.5em; text-align:left !important;
}
#mw_wp_form_mw-wp-form-584 .contactBlock--input__des{ display:flex; flex-direction:column; }
#mw_wp_form_mw-wp-form-584 .contactBlock--input__des.column2{ flex-direction:row; gap:1rem; }
#mw_wp_form_mw-wp-form-584 input[type="text"],
#mw_wp_form_mw-wp-form-584 input[type="email"],
#mw_wp_form_mw-wp-form-584 input[type="tel"],
#mw_wp_form_mw-wp-form-584 textarea{
  width:100%; padding:12px 14px; font-size:.95rem;
  border:1px solid #ccc; border-radius:6px; background:#fff;
  transition:border-color .3s, box-shadow .3s;
}
#mw_wp_form_mw-wp-form-584 input:focus,
#mw_wp_form_mw-wp-form-584 textarea:focus{
  border-color:#f9bc60; outline:none; box-shadow:0 0 0 3px rgba(249,188,96,.3);
}
#mw_wp_form_mw-wp-form-584 .error_block,
.error_inline{ display:block; margin-top:.4em; color:#e74c3c; font-size:.875rem; }
#mw_wp_form_mw-wp-form-584 input[type="checkbox"]{
  appearance:auto !important;
  display:inline-block !important;
  width:1.2em !important; height:1.2em !important;
  margin-right:.5em !important; vertical-align:middle !important;
  border:2px solid #ccc !important; background:#fff !important;
  accent-color:#f9bc60 !important;
}
#mw_wp_form_mw-wp-form-584 .mwform-checkbox-field,
#mw_wp_form_mw-wp-form-584 .PersonallyIdentifiableInformation{
  display:flex; align-items:center; justify-content:center; margin-bottom:1.8em;
}
#mw_wp_form_mw-wp-form-584 input[type="checkbox"]:checked{
  background:#f9bc60 !important; border-color:#f9bc60 !important;
}
#mw_wp_form_mw-wp-form-584 .mwform-checkbox-field label{ margin-left:.6em; }
#mw_wp_form_mw-wp-form-584 input.submit,
#mw_wp_form_mw-wp-form-584 input[type="submit"]{
  display:inline-block; padding:14px 36px; font-size:1rem; font-weight:600;
  color:#213342; background:#f9bc60; border:none; border-radius:8px;
  cursor:pointer; transition:background .3s, transform .2s; margin:0;
}
#mw_wp_form_mw-wp-form-584 input.submit:hover,
#mw_wp_form_mw-wp-form-584 input[type="submit"]:hover{ background:#e0a94a; }
#mw_wp_form_mw-wp-form-584 input.submit:active,
#mw_wp_form_mw-wp-form-584 input[type="submit"]:active{ transform:translateY(1px); }
#mw_wp_form_mw-wp-form-584 p{ text-align:center; }
#mw_wp_form_mw-wp-form-584 .privacy-link{ margin-bottom:.8em; font-size:.95rem; }
#mw_wp_form_mw-wp-form-584 .privacy-link a{ color:#0693e3; text-decoration:underline; }
@media (max-width:768px){
  #mw_wp_form_mw-wp-form-584{ padding:30px 20px; }
  #mw_wp_form_mw-wp-form-584 .contactBlock--input__des.column2{ flex-direction:column; }
}

/* ─────────────────────────────────
   パンくず下の余白調整・見出し余白調整
────────────────────────────────── */
body:not(.home) .ol-breadcrumb__wrapper{
  margin-top:0px !important;
  padding-top:14px !important;
}
@media (max-width:1080px){
  body:not(.home) .ol-breadcrumb__wrapper{ margin-top:0px !important; }
}
body:not(.home) .ol-breadcrumb__wrapper + main{
  padding-top:40px !important;
  margin-top:0 !important;
}
body:not(.home) main .ol-archive__title,
body:not(.home) main .ol-archive__title *,
body:not(.home) main .ol-article__title{
  margin-top:0 !important; padding-top:0 !important;
}
body:not(.home) main .ol-article__inner,
body:not(.home) main .ol-article__body,
body:not(.home) main .ol-content-frame{
  padding-top:0 !important; margin-top:0 !important;
}
body.archive main .ol-archive__title,
body.blog    main .ol-archive__title,
body.category main .ol-archive__title{
  padding-top:0 !important; margin-top:0 !important;
}
body.page .tab{ margin-top:12px !important; }

/* ─────────────────────────────────
   本文内リスト：丸点/番号 復活
────────────────────────────────── */
.ol-article__content ul,
.ol-article__content .wp-block-list{
  list-style: disc outside !important;
    margin: 0 1rem 1rem 1.4rem;
    line-height: 2.4rem;
  padding:0 !important;
}
.ol-article__content ol{
  list-style: decimal outside !important;
  margin:0em 0 1em 1em !important;
}
.ol-article__content li{ margin:0 0 1rem 0 !important; }
.ol-article__content ul.oltana-list.is-style-oltana-checkmark,
.ol-article__content ul.oltana-list.is-style-oltana-checkmark-square{
  list-style:none !important;
}
@media (max-width:540px){
  .ol-article__content,
  .ol-article__content p,
  .ol-article__content li{ line-height:1.8 !important; }
  html{ -webkit-text-size-adjust:100%; }
}
.ol-article__content ul ul,
.ol-article__content ol ol{ margin-left:1rem !important; }
.ol-article__content ol{ list-style-position: outside !important; }
.ol-article__content li::marker{ color:#333; font-size:.92em; }
.ol-article__content p + ul,
.ol-article__content p + ol{ margin-top:.5em !important; }

/* ─────────────────────────────────
   カード型一覧（/column/ 等）※ Hypothesis 除外
────────────────────────────────── */
body:not(.post-type-archive-hypothesis) .ol-card-item-info{
  display:flex; flex-wrap:wrap; align-items:center; column-gap:.5rem;
}
body:not(.post-type-archive-hypothesis) .ol-card-item-info .ol-card-item-dates{
  order:1; width:100%; margin-bottom:.25rem;
}
body:not(.post-type-archive-hypothesis) .ol-card-item-info .ol-separator{ display:none; }
body:not(.post-type-archive-hypothesis) .ol-card-item-info .ol-card-item-category{
  order:2; float:none !important;
}

/* ─────────────────────────────────
   記事詳細のメタ（/single/）
────────────────────────────────── */
.ol-article__meta{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  row-gap:.25rem !important;
}
.ol-article__category{ display:inline-block; float:none !important; }

/* single-hypothesis のメタ横並び */
body.single-hypothesis .ol-article__meta{
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  column-gap:1rem; row-gap:.25rem; flex-wrap:wrap;
}
body.single-hypothesis .ol-article__meta .ol-article-dates{
  display:inline-flex !important; align-items:center; gap:.5rem; white-space:nowrap;
}






/* === /hypothesis/ をコラムTOPと同じカードグリッド(3カラム)に === */
body.post-type-archive-hypothesis .ol-card-list{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:40px 32px !important;
}
@media (max-width:1024px){
  body.post-type-archive-hypothesis .ol-card-list{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width:540px){
  body.post-type-archive-hypothesis .ol-card-list{
    grid-template-columns:1fr !important;
  }
}

/* 各カードは“縦積み”：画像→メタ→タイトル */
body.post-type-archive-hypothesis .ol-card-item-link{
  display:block !important;               /* ← 2カラム化をリセット */
}
body.post-type-archive-hypothesis .ol-card-item-image{
  width:100% !important;
  aspect-ratio:3 / 2 !important;
  overflow:hidden !important;
  margin:0 0 12px !important;
  padding-top:0 !important;
}
body.post-type-archive-hypothesis .ol-card-item-image img{
  width:100% !important; height:100% !important; object-fit:cover !important;
}

body.post-type-archive-hypothesis .ol-card-item-info{
  display:inline-flex !important;
  align-items:center !important;
  gap:.75rem !important;
  flex-wrap:wrap !important;
  margin:0 0 6px !important;
}
body.post-type-archive-hypothesis .ol-card-item-info .ol-separator{
  display:inline-block !important;
  width:1px !important; height:14px !important;
  background:rgba(51,51,51,.3) !important;
  margin:0 .4rem !important; border:0 !important;
}

/* タイトルは横書き・装飾オフ（縦線/縦書きを殺す） */
body.post-type-archive-hypothesis .ol-card-item-title,
body.post-type-archive-hypothesis .ol-card-item-title *{
  writing-mode:horizontal-tb !important;
}
body.post-type-archive-hypothesis .ol-card-item-title{
  border:0 !important; padding:0 !important; margin:0 !important;
}

/* ====== /hypothesis/ 一覧：カードを完全に横書き＆縦線装飾OFF ====== */

/* 1) カード全体と子孫の縦書き・回転を完全リセット */
body.post-type-archive-hypothesis .ol-card-item,
body.post-type-archive-hypothesis .ol-card-item *{
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  transform: none !important;
  rotate: 0 !important;
}

/* 2) 左の縦線など、カードレベルの疑似要素装飾を無効化 */
body.post-type-archive-hypothesis .ol-card-item::before,
body.post-type-archive-hypothesis .ol-card-item::after,
body.post-type-archive-hypothesis .ol-card-item-link::before,
body.post-type-archive-hypothesis .ol-card-item-link::after{
  content: none !important;
  display: none !important;
  border: 0 !important;
}

/* 3) カードが固定px幅で狭くならないよう保険 */
body.post-type-archive-hypothesis .ol-card-item{
  width: auto !important;
  max-width: none !important;
}

/* 4) グリッドは3→2→1カラム（コラムTOPと同じ構成） */
body.post-type-archive-hypothesis .ol-card-list{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 40px 32px !important;
}
@media (max-width:1024px){
  body.post-type-archive-hypothesis .ol-card-list{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width:540px){
  body.post-type-archive-hypothesis .ol-card-list{
    grid-template-columns: 1fr !important;
  }
}

/* 5) カードの中身は縦積み：画像 → メタ → タイトル */
body.post-type-archive-hypothesis .ol-card-item-link{
  display: block !important;
}
body.post-type-archive-hypothesis .ol-card-item-image{
  width: 100% !important;
  aspect-ratio: 3 / 2 !important;
  overflow: hidden !important;
  margin: 0 0 12px !important;
  padding-top: 0 !important;
}
body.post-type-archive-hypothesis .ol-card-item-image img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* メタ行は横並び（足りなければ折返し） */
body.post-type-archive-hypothesis .ol-card-item-info{
  display: inline-flex !important;
  align-items: center !important;
  gap: .75rem !important;
  flex-wrap: wrap !important;
  margin: 0 0 6px !important;
}
body.post-type-archive-hypothesis .ol-card-item-info .ol-separator{
  display: inline-block !important;
  width: 1px !important;
  height: 14px !important;
  background: rgba(51,51,51,.3) !important;
  margin: 0 .4rem !important;
  border: 0 !important;
}

/* タイトルは横書き・装飾OFF（縦線/縦書きを殺す） */
body.post-type-archive-hypothesis .ol-card-item-title,
body.post-type-archive-hypothesis .ol-card-item-title *{
  writing-mode: horizontal-tb !important;
}
body.post-type-archive-hypothesis .ol-card-item-title{
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

  .ol-card-item-category {
    padding: 8px 20px;
    border-radius: 60px;
    border-width: 1px;
    border-style: solid;
    font-size: clamp(12px, 0.75rem + 0vw, 12px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.02em;

}

.ol-card-item-category a {
    text-decoration: none;
}

/* === パンくず：はみ出す時は横スクロール／常に1行（サイト全体） === */

/* 包む箱は高さを固定せず、横だけ隠し・子のスクロールを許可 */
body .ol-breadcrumb__wrapper{
  overflow: hidden;           /* 擬似要素のグラデ演出入れるなら必要。なくてもOK */
}

/* リストを1行・横スクロールに */
body .ol-breadcrumb__wrapper .ol-breadcrumb__list{
  display: flex !important;
  flex-wrap: nowrap !important;
  /*gap: .4rem !important;       区切りが擬似要素なら残してOK */
  white-space: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;  /* スマホでスッとスクロール */
  max-width: 110%;
  padding-bottom: .25rem;      /* スクロールバーが被らない微調整 */
  margin-bottom: -.25rem;
  scrollbar-width: thin;       /* Firefox */
  scrollbar-color: rgba(0,0,0,.25) transparent;
		height: 2rem;
}
/* WebKit スクロールバー（お好みで） */
body .ol-breadcrumb__wrapper .ol-breadcrumb__list::-webkit-scrollbar{
  height: 8px;
}
body .ol-breadcrumb__wrapper .ol-breadcrumb__list::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.25);
  border-radius: 4px;
}

/* アイテムは折り返さず“横に流す” */
body .ol-breadcrumb__wrapper .ol-breadcrumb__item{
  flex: 0 0 auto !important;
  min-width: 0;               /* 長いタイトルでも親を押し広げない */
}

/* アンカーも必ず1行 */
body .ol-breadcrumb__wrapper .ol-breadcrumb__anchor{
  display: inline-block !important;
  white-space: nowrap !important;
  max-width: none !important; /* テーマ側でのmax-width制限を解除 */
}


/* 参考サイトのような .breadcrumb__list を使うページが将来混在しても効くように薄くカバー */
body .breadcrumb .breadcrumb__list{
  display:flex; flex-wrap:nowrap; white-space:nowrap;
  overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch;
}
body .breadcrumb .breadcrumb__item{ flex:0 0 auto; min-width:0; }

/* ───────────────────────────────
   パンくず：全ページ共通
   ・1行固定＋横スクロール
   ・右端までギリギリ表示（右余白をカット）
   ─────────────────────────────── */


.ol-breadcrumb__wrapper.ol-content-frame{
  padding: 0 !important;
}

/* 横スクロール＆1行固定（矢印/区切りも横並び維持） */
.ol-breadcrumb__list{
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap !important;
  gap: 0 !important;
  /* iOS のセーフエリアに配慮して、右端だけ安全パディングを給付 */
  padding-right: env(safe-area-inset-right, 0px);
}

/* スクロールバー非表示（必要なら外してください） */
.ol-breadcrumb__list::-webkit-scrollbar{ display:none; }
.ol-breadcrumb__list{ scrollbar-width: none; }

/* 最後の項目の余白／区切りを消して、右端まで詰める */
.ol-breadcrumb__item:last-child{
  margin-right: 0 !important;
  padding-right: 0 !important;
}
.ol-breadcrumb__item:last-child::after{
  content: none !important;
}

/* ───────── パンくず：横スクロール＋「>」区切り（全体適用） ───────── */

/* 1) 外枠に横スクロールを付与。常にスクロール溝を確保して
      「見切れてるだけ」に見えないようにする */
.ol-breadcrumb__wrapper{
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable both-edges; /* 対応ブラウザでスクロール溝を常時確保 */
}

/* 2) 中身は横一列に。内容幅がそのまま横幅になるよう max-content を使う */
.ol-breadcrumb__list{
  display: inline-flex !important;
 /* min-width: max-content !important; */
  white-space: nowrap !important;
  align-items: center;
  gap: 4 !important;
  padding-bottom: 12px; /* スクロールバーと文言が重ならない余白 */
}

/* 3) テーマ既定の区切りや縦線・擬似要素は無効化（干渉対策） */
.ol-breadcrumb__item::after,
.ol-breadcrumb__item .ol-separator{
  content: none !important;
  display: none !important;
}

/* 4) アイテムは行内フレックスで揃える */
.ol-breadcrumb__item{
  display: inline-flex !important;
  align-items: center;
			position: relative!important;
  left: 20px!important;
   z-index: 10!important;
}

/* 5) 2つ目以降のアイテムの手前に「>」を描画（疑似要素で） */
.ol-breadcrumb__item:not(:first-child)::before{
  content: "";
  display: inline-block;
  width: .5em;
  height: .5em;
  border-top: 1px solid #666666;
  border-right: 1px solid #666666;
  transform: rotate(45deg);
  margin: 0 .7rem 0 -.7rem ; /* 「>」の前後スペース */
  flex: 0 0 auto;
}


/* PCだけ（1024px～） 5) 2つ目以降のアイテムの手前に「>」を描画（疑似要素で） */
@media screen and (min-width: 1024px) {
.ol-breadcrumb__item:not(:first-child)::before{
  content: "";
  display: inline-block;
  width: .5em;
  height: .5em;
  border-top: 1px solid #666666;
  border-right: 1px solid #666666;
  transform: rotate(45deg);
  margin: 0 1rem 0 1rem ; /* 「>」の前後スペース */
  flex: 0 0 auto;
}
}


/* 6) アンカーは1行内に収める（折返し抑止） */
.ol-breadcrumb__anchor{
  display: inline-block !important;
  white-space: nowrap !important;
    display: inline;
    max-width: 100%;
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
  }


/* 7) スクロールバーの見た目（WebKit系 / 任意） */
.ol-breadcrumb__wrapper::-webkit-scrollbar{ height: 6px; }
.ol-breadcrumb__wrapper::-webkit-scrollbar-track{ background:#eee; }
.ol-breadcrumb__wrapper::-webkit-scrollbar-thumb{
  background:#cfcfcf; border-radius: 999px;
}

/* 9) スマホで“常時横スクロール”をより確実に
      （横幅が足りない時にだけバーが出ます） */
@media (max-width: 768px){
  .ol-breadcrumb__wrapper{
    /* 念のための保険：親がoverflow:hiddenしていても横は死守 */
    overflow-x: auto !important;
  }
}




/* スマホだけ（～767px） */
@media screen and (max-width: 767px) {
.ol-breadcrumb__item:nth-child(n+2){
  margin: 0 22px 0 0px; /* ←PC & iPhone 用の基準値（例） */
}
		.ol-breadcrumb__item{
				height:2rem;
  position: relative;
  display: inline-flex !important;
  align-items: center;
			position: relative!important;
  left: 20px!important;
   z-index: 10!important;
}
}


/* iOSブラウザだけに適用（iPhone/iPad 両方）*/
@supports (-webkit-touch-callout: none) and (-webkit-overflow-scrolling: touch) {
  /* ここに iOS だけで効かせたいCSSを書く */
  /* 例：パンくずのホームアイコン（Dashicons版） */
  .ol-breadcrumb__item:nth-child(1) 
		{
				margin:0 0 0 2rem;
		}
.ol-breadcrumb__item{
  display: inline-flex !important;
  align-items: center;
			position: relative!important;
  left: -15px!important;
   z-index: 10!important;
}
		.ol-breadcrumb__item:nth-child(n+2){
  margin: 0 2px 0 22px; /* ←PC & iPhone 用の基準値（例） */
}
}

/* === Footer: 背景とレイアウトの基準色（共通） === */
.ol-footer__section{
}

/* リストの初期化と横並び */
.ol-footer__nav-list,
.ol-footer__nav-list li{
  margin:0; padding:0; list-style:none;
}
.ol-footer__nav-list{
  display:flex; flex-wrap:wrap; gap: 12px 20px;
}

/* サブメニューは常に表示（フッターはアコーディオンにしない） */
.ol-footer__nav .sub-menu{
  display:block; margin:.25rem 0 0 0; padding:0;
}
.ol-footer__nav .sub-menu li{ margin-top:.25rem; }

/* === Footer: リンク色（新実装 .ol-footer__nav） === */
.ol-footer__nav a,
.ol-footer__nav a:link,
.ol-footer__nav a:visited{
  color:#fff;                   /* 白文字 */
  text-decoration:none;
}
.ol-footer__nav a:hover,
.ol-footer__nav a:focus-visible{
  color:#FFD18D;                /* 既存トーンに合わせたホバー色 */
  text-decoration:underline;
}
/* spanに色を継承させる（link_before/link_afterの対策） */
.ol-footer__nav .ol-footer__nav-text{ color:inherit; }

/* === Footer: リンク色（旧実装 .ol-footer__links もケア） === */
.ol-footer__links a,
.ol-footer__links a:link,
.ol-footer__links a:visited{
  color:#fff;
}
.ol-footer__links a:hover,
.ol-footer__links a:focus-visible{
  color:#FFD18D;
  text-decoration:underline;
}

/* === ホーム専用の強制リセット： .home a:not([class]) の横取りを無効化 === */
/* アンカーにクラスが付かないので、フッター領域内だけ上書きして奪還 */
.home .ol-footer__nav a,
.home .ol-footer__nav a:link,
.home .ol-footer__nav a:visited,
.home .ol-footer__links a,
.home .ol-footer__links a:link,
.home .ol-footer__links a:visited{
  color:#fff !important;        /* 必要なページで確実に勝つ */
}

/* コピーライトの可読性も明示 */
.ol-footer__copyright-text{ color:#fff; opacity:.9; }