@charset "UTF-8";

/* カスタム投稿用 ==================================================================================================== */
/* ================================================== */

/* カスタム投稿アーカイブページ ================================================== */
/* ================================================== */

/* カスタムポスト用パンクズ調整 */
.page-note  .breadcrumb-wrapper {
	margin: -40px 4% 0px;
}


/* カスタムポスト note 用 */
.page-note {
	background-color: var(--3cc);
}

.page-note .page_title-box .title_en {
    color: var(--3cc80);
	text-align: left;
}
.page-note .page_title {
	padding-top: 0;
}
.page-note .page_title .page_title-box h1 {
    color: #fff;
	font-size: clamp(2.10rem, 0.97vw + 1.72rem, 2.90rem);
	font-weight: 700;
	letter-spacing: .1em;
}

/* 画像配置用 */
.page-note  .page_title-box {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	align-items: center;
	padding: 10px 0 0 0;
}
.page-note .page_title .notebook-img {
	width: 100px;
	height: auto;
	margin-top: 20px;
}
.page-note .page_title .notebook-img img {
width: 100%;
height: auto;
animation: sway5deg 1.5s ease-in-out infinite alternate;
}


/* 法律相談ノート セクション ================================================== */
/* ================================================== */
.cpt-lawyers-notebook {
width: 100%;
height: auto;
background-color: var(--3cc);
padding: 0 0 60px 0;
}

.cpt-lawyers-notebook .lawyers-notebook_wrapper {
width: 100%;
height: auto;
display: flex;
gap: 2%;
padding: 30px 3%;
margin-bottom: 30px;
}

/* ノート ============================== */
.cpt-lawyers-notebook .lawyers-notebook_wrapper .notebook-container {
  flex: 0 0 100%;
  position: relative;
  background: #fff;
  border-radius: 10px;
  padding: 0px 2px 0px 2px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  margin: 0 auto;
}

.cpt-lawyers-notebook .notebook-pages {
  position: relative;
}

/* 1ページあたり2件ずつ */
.cpt-lawyers-notebook .notebook-page-group {
  display: none;
}

.cpt-lawyers-notebook .notebook-page-group.current {
  display: block;
}

.cpt-lawyers-notebook .notebook-open {
  display: flex;
  justify-content: space-between;
  position: relative;
  border-left: 3px double #ccc;
  border-right: 3px double #ccc;
  border-radius: 10px;
  padding: 0 1px;
}

/* 真ん中の縦線 */
.cpt-lawyers-notebook .notebook-open::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  border-left: 1px dashed #ccc;
  transform: translateX(-50%);
  z-index: 1;
  box-shadow: 
    -4px 0 8px rgba(0, 0, 0, 0.2),
     4px 0 8px rgba(0, 0, 0, 0.2);
}

.cpt-lawyers-notebook .notebook-post {
  background: #fff;
  border-radius: 10px;
  padding: 20px 20px 35px 20px;
  width: 49%;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* 右ページ用ホバー */
.cpt-lawyers-notebook .notebook-post.right {
  transform-origin: left center;
}
.cpt-lawyers-notebook .notebook-post.right:hover {
  transform: perspective(800px) rotateY(-8deg) translateX(-5px) scaleX(0.97);
  box-shadow: 8px 0 12px -4px rgba(0, 0, 0, 0.2);
}

/* 左ページ用ホバー */
.cpt-lawyers-notebook .notebook-post.left {
  transform-origin: right center;
}
.cpt-lawyers-notebook .notebook-post.left:hover {
  transform: perspective(800px) rotateY(8deg) translateX(5px) scaleX(0.97);
  box-shadow: -8px 0 12px -4px rgba(0, 0, 0, 0.2);
}

.cpt-lawyers-notebook .notebook-thumb {
  margin-bottom: 20px;
  overflow: hidden;
}

.cpt-lawyers-notebook .notebook-thumb img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}

.cpt-lawyers-notebook .notebook-title {
  font-size: clamp(1.25rem, 0.48vw + 1.01rem, 1.60rem);
  font-weight: 700;
  color: var(--bcg);
  margin-bottom: 12px;
  line-height: 1.4;
	padding: 0 5px;
  transition: color 0.3s;
}
.cpt-lawyers-notebook .notebook-post:hover .notebook-title {
  color: var(--3cc);
}

.cpt-lawyers-notebook .notebook-meta {
	padding: 0 5px;
	margin-bottom: 18px;
}
.cpt-lawyers-notebook .taxonomy-terms {
  font-size: clamp(1.05rem, 0.24vw + 0.96rem, 1.25rem);
  font-weight: 500;
  color: #fff;
	letter-spacing: .2em;
	background-color: var(--5cch);
	padding: 8px 10px;
	border-radius: 4px;
	margin-right: 15px;
}
.cpt-lawyers-notebook .notebook-date {
  font-size: 0.85rem;
  color: var(--5cch);
}

.cpt-lawyers-notebook .notebook-excerpt p {
  font-size: clamp(1.00rem, 0.18vw + 0.95rem, 1.15rem);
  color: var(--bcg);
  line-height: 1.6em;
		padding: 0 5px;
}

/* ページ送りボタン */
.cpt-lawyers-notebook .notebook-prev,
.cpt-lawyers-notebook .notebook-next {
  position: absolute;
  bottom: 2px;
  font-size: 1.6rem;
  font-weight: 900;
  background: none;
  border: none;
  color: var(--cg04);
  cursor: pointer;
  z-index: 10;
  transition: color 0.3s;
}
.cpt-lawyers-notebook .notebook-prev:hover,
.cpt-lawyers-notebook .notebook-next:hover {
  color: var(--3cc);
}
.cpt-lawyers-notebook .notebook-prev {
  left: 4px;
  transform: rotate(-60deg);
}
.cpt-lawyers-notebook .notebook-next {
  right: 4px;
  transform: rotate(60deg);
}

/* めくるアニメーション */
.cpt-lawyers-notebook .page-turn-out-right {
  transform-origin: left center;
  transform: perspective(1200px) rotateY(0);
  animation: turnOutRight_cpt 0.6s forwards ease;
}

.cpt-lawyers-notebook .page-turn-out-left {
  transform-origin: right center;
  transform: perspective(1200px) rotateY(0);
  animation: turnOutLeft_cpt 0.6s forwards ease;
}

@keyframes turnOutRight_cpt {
  0% { transform: rotateY(0); opacity: 1; }
  100% { transform: perspective(1200px) rotateY(-90deg) translateX(-5px) scaleX(0.97); opacity: 0; }
}

@keyframes turnOutLeft_cpt {
  0% { transform: rotateY(0); opacity: 1; }
  100% { transform: perspective(1200px) rotateY(90deg) translateX(5px) scaleX(0.97); opacity: 0; }
}

/* 次ページのフェードイン */
.cpt-lawyers-notebook .page-fade-in {
  animation: fadeInPage_cpt 0.3s forwards ease;
}

@keyframes fadeInPage_cpt {
  0% { opacity: 0; }
  100% { opacity: 1; }
}


/* ===== 699px 以下：ノート左右ページ を縦積み ===== */
@media (max-width: 699px){

.page-note .page_title .notebook-img {
	width: 80px;
}
.cpt-lawyers-notebook .lawyers-notebook_wrapper {
padding-top: 0;
}
	
  /* ノートはカードの下に全幅で続く */
 .cpt-lawyers-notebook .notebook-container{
    flex: 1 0 auto;
    width: 100%;
    padding: 6px 8px 10px;
  }

  /* 2ページ見開きをやめて1カラムに */
 .cpt-lawyers-notebook .notebook-open{
    display: block;          /* ← 縦積み */
    border-left: none;
    border-right: none;
    padding: 0;
  }
 .cpt-lawyers-notebook .notebook-open::after{      /* 中央の点線も消す */
    display: none;
  }

  /* 記事カードは全幅・縦積み */
 .cpt-lawyers-notebook .notebook-post{
    width: 100%;
    padding: 16px 16px 22px;
    margin: 0 0 0 0;
    transform: none !important;
    box-shadow: none;
  }
.cpt-lawyers-notebook .notebook-post.left {
		margin-bottom: 40px;
	}
.cpt-lawyers-notebook .notebook-post.left,
  .notebook-post.right{
    transform-origin: center;
  }
.cpt-lawyers-notebook .notebook-post.left:hover,
.cpt-lawyers-notebook .notebook-post.right:hover{
    transform: none;
    box-shadow: 0 2px 8px rgba(0,0,0,.06); /* ちょいだけ */
  }



  /* ページ送り：下中央寄せに */
.cpt-lawyers-notebook .notebook-prev,
.cpt-lawyers-notebook .notebook-next{
    position: static;        /* 抜く */
    transform: none;
    font-size: 1.4rem;
    margin: 6px 8px 0 0;
  }
  /* 矢印を載せる土台を相対配置に（既にrelativeなら不要） */
.cpt-lawyers-notebook .notebook-container{
    position: relative;
  }

  /* ラッパは全面を覆うけどクリックは子だけに通す */
.cpt-lawyers-notebook .notebook-arrows{
    position: absolute;
    inset: 0;
    pointer-events: none;   /* ← 子のボタンだけ反応させる */
    z-index: 10;
  }

.cpt-lawyers-notebook .notebook-prev,
.cpt-lawyers-notebook .notebook-next{
    position: absolute;
    top: 49%;
    transform: translateY(-49%);  /* 縦中央 */
    pointer-events: auto;         /* ← クリック有効化 */
    font-size: 1.4rem;
    margin: 0;                    /* 以前の余白リセット */
    background: var(--3cc50);  /* 視認性UP（好みで） */
    color: #fff;
    width: 44px; height: 44px;    /* タップターゲット */
    border-radius: 50%;
    display: grid; place-items: center;
  }

.cpt-lawyers-notebook .notebook-prev{ left: 12px;  transform: translateY(-50%) rotate(-70deg); }
.cpt-lawyers-notebook .notebook-next{ right: 12px; transform: translateY(-50%) rotate( 70deg); }
}/* max-width: 699px */

@media (max-width: 499px){
.page-note .page_title {
    padding-bottom: 0;
}
.page-note .page_title-box {
    justify-content: space-between;
	align-items: center;
	padding-top: 20px;
}
}/* max-width: 499px */

.page-note .page_title .notebook-img {
	margin-top: 10;
	margin-right: 15px;
}
    .cpt-lawyers-notebook .notebook-arrows {
width: 99%;
		margin: 0 auto;
    }
}/* max-width: 499px */


/* ================================================== */
/* インデックス ============================== */
.notebook-index {
position: relative;
width: 100%;
height: auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-bottom: dashed 2px var(--3cc50);
}
.notebook-index .notebook-index-title_en {
color: var(--3cc40);
font-size: clamp(3rem, 3vw, 5rem);
font-weight: 800;
line-height: 1em;
width: auto;
height: auto;
padding: 10px 0 0 3%;
}
.notebook-index .notebook-index-title_jp {
padding: 0 0 5px 3%;
}
.notebook-index .notebook-index-title_jp p {
color: var(--3cc50);
    font-size: clamp(1.8rem, 0.97vw + 1.6rem, 2.60rem);
    font-weight: 700;
    letter-spacing: .05em;
	line-height: 1;
}

/* ===============================
   ターム別リスト（notetype × note）
   =============================== */

/* 全体ラッパー */
.notebook-index-by-term {
  width: 100%;
  margin: 20px auto 0;
  padding: 0 3%;
  box-sizing: border-box;
}

/* タームの1ブロック */
.notebook-term-group {
  margin: 0 auto 28px;
}

/* 見出し行 */
.notebook-term-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 25px 0;
}
.notebook-term-title {
  margin: 0;
  font-size: clamp(1.25rem, 2.2vw, 1.8rem);
  line-height: 1.3;
	letter-spacing: .2em;
  font-weight: 600;
}
.notebook-term-title a {
	color: #fff;
	border-bottom: double 3px #FFF;
	padding: 5px 30px 10px 10px;
	transition: color 0.3s ease, padding 0.3s ease;
}
.notebook-term-title a:hover {
	color: var(--ch3);
	padding: 5px 10px 10px 30px;
}
.notebook-term-title .support {
	font-size: 0.7em;
	font-weight: 400;
	letter-spacing: .05em;
	vertical-align: baseline;
}
.notebook-term-link {
  color: var(--2cc, #333);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .2s ease, border-color .2s ease;
}
.notebook-term-link:hover {
  color: var(--3cc, #0aa);
  border-color: currentColor;
}

/* 区切り線 */
.notebook-term-sep {
  border: none;
  border-top: 1px dashed var(--3cc50);
  margin: 40px 0 0;
}

/* ===== ターム名の下に並ぶ記事カード（標準は4列） ===== */
.notebook-term-posts {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr); /* ★ 4列 */
  gap: 16px;
}

/* カード */
.notebook-term-card {
  border: 2px solid var(--cg07);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease;
}
.notebook-term-card:hover {
  transform: translateY(-5px);
  border-color: var(--cg06, #d5d5d5);
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

.notebook-term-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
  height: 100%;
}

/* サムネ（比率固定） */
.notebook-term-card__thumb {
  width: 100%;
  aspect-ratio: 2.8 / 1;  /* 16 / 9 */
  overflow: hidden;
  background: #fafafa;
}
.notebook-term-card__thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* タイトル */
.notebook-term-card__link .notebook-term-card__title {
  margin: 12px 6px 14px 12px;
  font-size: clamp(1rem, 2vw, 1.1rem);
  line-height: 1.45;
  font-weight: 600;
  color: #333;
  transition: color .2s ease;
}
.notebook-term-card:hover .notebook-term-card__link .notebook-term-card__title {
}


/* === notebook-term-card：タイトル下線（ホバー時：出現→退場） === */
/* タイトルを基準（重なり順の基点＆調整用の変数） */
.notebook-term-card__title{
  position: relative;
  z-index: 0;

  /* 線の見た目（必要に応じて上書きOK） */
  --underline-color: var(--2cc30);   /* 文字色に追従させるなら currentColor に */
  --underline-thickness: 8;          /* px */
  --underline-offset: 2;             /* px：ベースラインからの距離 */
  --underline-line-gap: 0;           /* 複数行で行番号×このpxだけ下げる */
  --underline-tweak-first: 0;        /* 先頭行だけ微調整(px) */
  --underline-tweak-last: 0;         /* 最終行だけ微調整(px) */
  --underline-delta: 0;              /* 全行まとめて上下(px) */

  /* 入場（描画）速度：JSが参照 */
  --au-speed-per-px: 0.95;           /* pxあたりのms係数（大きいほど遅い） */
  --au-min-ms: 380ms;                /* 入場の最短 */
  --au-max-ms: 900ms;                /* 入場の最長 */
  --au-stagger: 120ms;               /* 行ごとの段差遅延 */

  /* 退場（消える）速度：JSが参照 */
  --au-exit-ms: 300ms;               /* ← “ふわっ”が弱ければ大きく（例: 800–1200ms） */
  --au-exit-ease: ease-in;           /* ease-out / cubic-bezier(.2,.8,.2,1) など */
}

/* 生成される線（背面に配置。退場はanimationで制御＝transition不要） */
.au-underline__line{
  position: absolute;
  z-index: -1;             /* テキストより背面へ */
  left: 0; top: 0;
  height: calc(var(--underline-thickness, 8) * 1px);
  background: var(--underline-color, currentColor);
  border-radius: 999px;
  opacity: 0;
  transform: scaleX(0.1);
  transform-origin: left center;
  pointer-events: none;
}

/* 入場：線が“弾けて”伸びる */
@keyframes au-underline-pop{
  0%   { transform: scaleX(0.1); opacity: 0; }
  60%  { transform: scaleX(1.08); opacity: .95; }
  100% { transform: scaleX(1.00); opacity: .95; }
}

/* 退場：ふわっと縮みつつ消える（アニメで制御） */
@keyframes au-underline-exit{
  0%   { transform: scaleX(1.00); opacity: .95; }
  100% { transform: scaleX(0.88); opacity: 0;   } /* ← 縮みを少し強めに */
}

/* 動きを弱めたいユーザー設定に配慮（任意） */
@media (prefers-reduced-motion: reduce){
  .au-underline__line{ animation: none !important; }
}


/* 空のときの文言 */
.notebook-term-empty {
  margin: 8px 2px 2px;
  color: #777;
  font-size: .9rem;
}

/* ===============================
   レスポンシブ
   999px以下は常に2列（4記事=2段）
   =============================== */
@media (max-width: 899px) {
  .notebook-index-by-term {
    padding: 0 16px;
  }
  .notebook-term-posts {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr); /* ★ 2列固定 */
    gap: 14px;
  }
  .notebook-term-card__title {
    margin: 10px 10px 12px 10px;
  }
}




/* ================================================== */
/* タクソノミー一覧 taxonomy.php */


/* ===============================
   左側側：タクソノミーリスト
   =============================== */
.taxonomy-list__inner{
  position: relative;
  max-width: 1600px;
  padding: 20px 3% 60px 3%;
  margin: 0 auto;
  display: grid;
 grid-template-columns: minmax(180px, 1fr) auto; /* 左：見出し/カテゴリ、右：カード */
  gap: clamp(20px, 4vw, 40px);
  align-items: start;
  overflow: visible; /* 安全策：はみ出し切れ防止 */
}

/* 左カラム（補足） */
.taxonomy-list__aside {
	padding: 0 0 0 20px;
	min-width: 180px;
}
.taxonomy-list__title-lead {
  color: #fff;
  font-size: clamp(1.1rem, 3vw, 1.2rem);
  font-weight: 500;
  margin-bottom: 5px;
	text-align: left;
}
.taxonomy-list__title{
  color: #fff;
  font-size: clamp(1.6rem, 3vw, 2rem);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.2em;
  margin: 0 0 20px 0;
}

/* 左カラムのカテゴリ一覧 */
.taxonomy-list__cats{
  padding: 0 0 20px 0;
  border-bottom: solid 1px var(--3cc50);
  margin: 5px 0;
}
.taxonomy-list__catlist{
  list-style: none;
  margin: 0;
  padding: 0 0 0 10px;
  display: grid;
  grid-auto-rows: min-content;
  gap: 5px;
}
.taxonomy-list__catlist > li{
	position: relative;
	color: var(--cg08);
}
.taxonomy-list__catlist > li.current-cat  > a{
	color: var(--cc50);
}
.taxonomy-list__catlist > li > a{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-decoration: none;
  font-size: clamp(1.1rem, 3vw, 1.15rem);
	line-height: 1.2;
  padding: 6px 2px;
  border-bottom: 1px solid transparent;
  transition: opacity .2s ease, border-color .2s ease, transform .2s ease;
}
.taxonomy-list__catlist > li > a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* solidは900 */
  content: "\f31c"; /* fa-pen */
  display: inline-block;
  margin-right: 0px;
  font-size: 1em;
  transform: translateY(-1px);
}
.taxonomy-list__catlist > li > a:hover{
  color: var(--cc50);
  border-color: var(--cc50);
  transform: translateX(5px);
}
.taxonomy-list__img {
	width: 100%;
	height: auto;
}
.taxonomy-list__img img {
	width: 100%;
	height: auto;
	max-width: 160px;
	padding: 20px 0 0 0;
	animation: sway5deg 1.5s ease-in-out infinite alternate;
}

@media (max-width: 499px){
.taxonomy-list__catlist > li > a {
    gap: 8px;
    padding: 4px 2px;
}
}


/* ===============================
   右側：投稿一覧（notebook-list）
   =============================== */

/* ラッパー */
.notebook-list{
  width: 100%;
}

/* グリッド：PC=3列 / タブレット=2列 / SP=1列 */
.notebook-list__grid{
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr); /* ★ 3列 */
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* アイテム */
.notebook-list__item{
  margin: 0;
  padding: 0;
}

/* カード */
.notebook-list__card{
  display: block;
  height: 100%;
  text-decoration: none;
  color: inherit;
  border: 2px solid var(--cg07, #e6e6e6);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease;
}
.notebook-list__card:hover{
  transform: translateY(-5px);
  border-color: var(--cg06, #d5d5d5);
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

/* サムネ（比率は任意で固定。可変にしたい場合は aspect-ratio を外す） */
.notebook-list__thumb{
  width: 100%;
  aspect-ratio: 2.5 / 1;
  overflow: hidden;
  background: #fafafa;
}
.notebook-list__thumb img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* 本文 */
.notebook-list__body{
  padding: 10px 12px 14px 12px;
}

/* タイトル */
.notebook-list__heading{
  margin: 5px 0 8px 0;
  font-size: clamp(1.1rem, 2.1vw, 1.2rem);
  line-height: 1.45;
  font-weight: 600;
  color: #333;
}
.notebook-list__heading-text{
  position: relative;
  z-index: 0;
	margin: 0;

  /* 下線演出（必要に応じて使用。未使用なら削除可） */
  --underline-color: var(--2cc30, rgba(0,0,0,.12));
  --underline-thickness: 6;
  --underline-offset: 2;
  --underline-line-gap: 0;
  --underline-tweak-first: 0;
  --underline-tweak-last: 0;
  --underline-delta: 0;
}

/* 抜粋 */
.notebook-list__excerpt{
  margin: 0;
  font-size: .9rem;
  line-height: 1.5;
  color: #444;
}

/* レスポンシブ：999px以下=2列 */
@media (max-width: 999px){
  .notebook-list__grid{
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);
    gap: 14px;
  }
  .notebook-list__body{
    padding: 10px 10px 12px 10px;
  }
}


/* レスポンシブ：799px以下 = 左右を1列に（aside→cats→カードの順で縦積み） */
@media (max-width: 799px){
  .taxonomy-list__inner{
    grid-template-columns: 1fr;   /* 1カラム化 */
    gap: clamp(16px, 4vw, 24px);
  }

  /* 左カラムの余白を内側に揃える */
  .taxonomy-list__aside{
    padding-left: 0;
    min-width: 0;
  }

  /* カテゴリ一覧を幅いっぱいに */
  .taxonomy-list__cats{
    border-bottom: 1px solid var(--3cc50);
    padding-bottom: 20px;
    margin: 5px 0 10px 0;
  }

	 .notebook-list{
    width: 100%;
  }
  .notebook-list__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: start;   /* 念のための左寄せ明示 */
    justify-items: stretch;   /* カード幅を列幅いっぱいに */
    gap: 16px;                /* お好みで */
  }
	
.taxonomy-list__img {
	position: absolute;
	text-align: right;
	width: 140px;
	top: 30px;
	right: 25px;
	}

  /* 念のため、リストは縦積み固定 */
  .taxonomy-list__catlist{
    grid-auto-flow: row;
    grid-auto-rows: min-content;
  }
}

/* レスポンシブ：599px以下=1列 */
@media (max-width: 599px){
  .notebook-list__grid{
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
	.taxonomy-list__img {
	width: 100px;
		top: 50px;
	}
}


/* レスポンシブ：499px以下=1列 */
@media (max-width: 499px){
	.page-note .page_title-box .title_en {
margin-top: -10px;
}
.notebook-term-title {
    font-size: clamp(1.25rem, 2.2vw, 1.8rem);
    letter-spacing: .1em;
	width: 100%;
}
.notebook-term-title a {
	display: block;
	width: 100%;
    padding: 5px 0px 10px 5px;
}
	.notebook-term-title .support {
    font-size: 0.9em;
}
		.taxonomy-list__inner {
			padding-top: 10px;
		}

.taxonomy-list__img {
	width: 80px;
	top: -80px;
	right: 15px;
}
	
/* タクソノミーリストを2列（左1〜4・右5〜8）にするため */
  /* まずは UL をマルチカラム化。過去の grid/flex を無効化 */
  .taxonomy-list__catlist{
    display: block !important;      /* ← grid/flex 指定が残っていても強制解除 */
    column-count: 2;
    column-gap: 14px;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  /* LI は列途中で割れないように。Safari向けも併記 */
  .taxonomy-list__catlist > li{
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    margin: 0 0 10px;
  }
  /* a は幅を列幅に合わせる（blockでOK / widthは書かなくて良い） */
  .taxonomy-list__catlist > li > a{
    display: block;
  }

  /* 既存の微調整（君のコードを活かしつつ衝突しない範囲で） */
  .page-note .page_title-box {
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
  }
  .taxonomy-list__catlist > li > a {
	  font-size: 1.1em;
	  line-height: 1;
    padding: 4px 0px 4px 6px;
  }
	.taxonomy-list__catlist > li > a::before {
padding-right: 4px;
}
	
}


/* カスタムポスト投稿シングルページ ================================================== */
/* ================================================== */
/* 法律相談ノート note */

/* シングル用パンクズ調整 */
.single-note_post .breadcrumb-wrapper {
	margin: 20px 4%;
}

.single-note_post .single_content-wrap{
  display: grid;
  grid-template-columns: 2% 200px 1fr 8%;
  grid-auto-rows: auto;
  width: 100%;
}

/* タイトル行：今までの .single_content-title をネストGridのまま使う */
.single-note_post .single_content-title{
  grid-column: 1 / -1;      /* タイトル行は横いっぱいを確保 */
  display: grid;
  grid-template-columns: 3% 200px 1fr 8%;
  grid-auto-rows: auto;
  column-gap: 0;
  row-gap: 8px;
  align-items: center;
  margin: 0;
  padding: 0 0 20px 0;
  border-bottom: dotted 1px var(--4cc30);
	max-width: var(--mwlpx);
}

/* 既存指定そのまま（必要部分だけ再掲） */
.single-note_post .single_content-title .content-date{
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px 8px;
  border-right: solid 5px var(--3cc);
  padding: 20px;
min-width: 160px;
}

.single-note_post .single_content-title .single_taxonomy {
  color: var(--3cc);
  display: inline-block;
  font-size: 1rem;
  line-height: 1.4;
  text-decoration: none;
  padding: 4px 10px;
  border: 1px solid var(--3cc);
  border-radius: 4px;
	transition: all 0.3s ease;
}
.single-note_post .single_content-title .single_taxonomy:hover {
	color: #fff;
	background-color: var(--3cc);
}

.single-note_post .single_content-title .content-title{
  grid-column: 3;
  grid-row: 1;
  display: flex;
  align-items: center;
  padding-left: 30px;
}

.single-note_post .single_content-title h2{
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  line-height: 1.5;
  font-weight: 600;
}

/* 本文：左端を「列3の開始（= content-date の右ボーダー位置）」に揃える */
.single-note_post .single_content-body{
  grid-column: 3;           /* ← これで左端が列3開始に一致 */
  grid-row: auto;
	padding: 30px 0 0 0;
	max-width: var(--mwlpx);
}

.single-note_post .single_eyecatch {
		width: 100%;
	height: auto;
	margin: 0;
}
.single-note_post .single_eyecatch img {
	width: 100%;
	height: auto;
	  border-radius: 10px;
  display: block;
}
.single-note_post .single_box{
	margin: 40px 0 60px; }

.single-note_post single_box img {
  border-radius: 5px;
}


@media (max-width: 699px) {
 .single-note_post .single_content-wrap {
    display: grid;
    grid-template-columns: 5% 90% 5%; /* 左（吹き出しの飛び出しあり）　真ん中　右 */
    grid-auto-rows: auto;
    width: 100%;
	  padding-top: 30px;
  }

 .single-note_post  .single_content-title {
    grid-column: 1 / -1; /* 横幅いっぱい使う */
    display: grid;
    grid-template-columns: 5% 90% 5%; /* 同じ列構成 */
    grid-auto-rows: auto;
    row-gap: 10px; /* 縦積み間隔 */
    border-bottom: dotted 1px var(--4cc30);
    padding-bottom: 15px;
  }

  /* content-date を中央カラムに */
 .single-note_post  .single_content-title .content-date {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* 左寄せ */
    align-items: center;
    gap: 12px 15px;
    border-right: none;
    padding: 0;
	  margin-bottom: 10px;
    width: 100%;
  }

  /* カテゴリを先頭、日付を最後に */
 .single-note_post  .single_content-title .single_category { order: 0; } /* 既定のままでOK */
 .single-note_post  .single_content-title .single_day { order: 99; }     /* 日付を後ろへ */
  
  .single-note_post .single_content-title .content-title {
    grid-column: 2;
    grid-row: 2;
    padding-left: 0;
    display: block;
  }

 .single-note_post .single_content-body {
    grid-column: 2;
  }
}




/* ===== 前後記事ナビ（常に1行2列） ===== */
.single-note_post .adjacent-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 500px)); /* 各列 最大500px */
  gap: clamp(15px, 2.5vw, 30px);
  justify-content: center; /* グリッド全体を中央寄せ */
  align-items: stretch;     /* 各カードの高さを揃える */
  border-top: 1px solid var(--cg07);
  padding-top: clamp(60px, 4vw, 80px);
  margin-bottom: 120px;
}

/* 片方しかないときは中央寄せで1枚表示 */
.single-note_post .adjacent-nav > .adjacent-card:only-child {
  grid-column: 1 / -1;
  max-width: 500px;
  justify-self: center;
}

/* 各カード */
.single-note_post .adjacent-card {
  align-self: stretch;           /* 親のストレッチに従う */
  position: relative;
  display: grid;
  grid-template-rows: auto auto 1fr;  /* ← これに変更（ラベル / サムネ / タイトル可変） */
  align-content: start;               /* 中身は上詰めのまま */
  gap: 8px;
  padding: clamp(12px, 1.6vw, 16px);
  text-decoration: none;
  border: 1px solid var(--cg07);
  border-radius: calc(var(--info-radius, 16px) - 6px);
  background: #fff;
  transition: transform .25s ease, border-color .25s ease, background-color .25s ease;
  overflow: hidden;
  max-width: 500px;
}

/* ラベル（前の記事 / 次の記事） */
.single-note_post .adjacent-card__label{
  display: inline-block;
  align-self: start;
  font-size: .95rem;
  letter-spacing: .1em;
    color: var(--bcg5);
  background: transparent;
  border-radius: 4px;
  padding: 2px 10px;
	transition: all 0.3s ease;
}

/* サムネ領域：16:9固定でカバー */
.single-note_post .adjacent-card__thumb{
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: calc((var(--info-radius, 16px) - 6px) / 2);
  overflow: hidden;
  background: rgba(255,255,255,0.12);
}
.single-note_post .adjacent-card__thumb img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform .35s ease;
}

/* タイトル（2行で省略） */
.single-note_post .adjacent-card__title{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  line-height: 1.5;
  font-weight: 500;
  font-size: clamp(15px, 2.3vw, 18px);
  color: var(--bcg);
  transition: all .25s ease;
	padding: 2px 8px;
	border-left: solid 3px #fff;
}

/* ホバー */
.single-note_post .adjacent-card:hover,
.single-note_post .adjacent-card:focus-visible{
	border: 1px solid var(--cg05);
  background: var(--cg10);
}
.single-note_post .adjacent-card:hover .adjacent-card__label {
color: var(--2cc);
	text-decoration: none;
}
.single-note_post .adjacent-card:hover .adjacent-card__thumb img,
.single-note_post .adjacent-card:focus-visible .adjacent-card__thumb img{
  transform: scale(1.06);
}
.single-note_post .adjacent-card:hover .adjacent-card__title,
.single-note_post .adjacent-card:focus-visible .adjacent-card__title{
  color: var(--2cc);
	border-left: solid 3px var(--2cc);
}

/* キーボード操作の可視化 */
.single-note_post .adjacent-card:focus{
  outline: 5px solid #fff;
  outline-offset: 4px;
}

/* 前後記事ラベルの位置 */
.single-note_post .adjacent-card.prev .adjacent-card__label{ justify-self: start; }
.single-note_post .adjacent-card.next .adjacent-card__label{ justify-self: end;  }

.single-note_post .adjacent-card:hover.prev .adjacent-card__label{ padding-left: 0px; }
.single-note_post .adjacent-card:hover.next .adjacent-card__label{ padding-right: 0px;  }

/* きっちり2列を強制（他のメディアクエリに負けない対策） */
@media (max-width: 799px){
 .single-note_post .adjacent-nav{
    grid-template-columns: 1fr 1fr; /* ここでも2列維持 */
    gap: 12px;
  }
}








.single_box a:hover {
text-decoration: underline;
}
.single_box h2 {
padding: 5px 0 25px 0;
}
.single_box h3 {
padding: 0 0 25px 0;
}
.single_box h4 {
padding: 0 0 20px 0;
}
.single_box h5 {
padding: 0 0 15px 0;
}
.single_box p {
padding: 5px 0 25px 0;
}


