.box5 {
    padding: 0.5em 1em;
    margin: 2em 0;
    border: double 5px #0066bf;
}
.box5 p {
    margin: 0; 
    padding: 0;
}

/*ボタンのCSSここから*/
.my-btn {
  text-align: center;
}
.my-btn a {
  display: inline-block;
  width: 50%;
  margin: 10px auto;
	margin-top: -9px ;
  padding: 10px;
  border-radius: 5px;
  text-align: center;
  color: #fff!important;
  text-decoration: none;
  font-size: 15px;
  line-height: 27px;
  font-weight: bold;
  background: #0066bf;
  border-bottom: 4px solid #284880;
  position: relative;
  overflow: hidden;
}

.my-btn:hover {
    text-decoration: none;
    color: #fff;
    box-shadow: none;
    -webkit-transform: translateY(3px);
}

/* ボタンをキラッとさせる */
.my-btn a:before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 80%, rgba(255, 255, 255, 100) 81%, rgba(255, 255, 255, 0) 100%);
  animation: shine 3s infinite; /* inifiniteによりずっと続ける */
}
@keyframes shine {
  33% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
/* テキストの後ろにarrow */
.my-btn a:after {
  content: '»';
  display: inline-block;
  color: #fff;
  padding-left: 10px;
  font-size: 20px;
}

/* 767px（iPad）以下 */

@media (max-width: 767px) {
  .my-btn a {
    width: 90%;
  }
}

/*ボタンのCSSここまで*/


/* Contact Form 7のテキストエリアのサイズを調整ここから */
.wpcf7-form textarea {
    width: 100%; /* 幅を調整。必要に応じてパーセンテージまたはピクセルで指定 */
    height: 60px; /* 高さを調整。必要に応じて変更 */
    max-width: 100%; /* 最大幅を指定してレスポンシブ対応に */
    box-sizing: border-box; /* パディングとボーダーを幅と高さに含める */
}
/* Contact Form 7のテキストエリアのサイズを調整ここまで */

/*TOPのカテゴリ一覧ホバーここから*/
.custom-posts-grid .post-card .post-title {
    font-size: 1.2em; /* タイトルのフォントサイズ */
    line-height: 1.2em; /* タイトルの行の高さ */
    height: 2.4em; /* 2行分の高さ。line-height x 2 */
    overflow: hidden; /* 余計なテキストを隠す */
    display: -webkit-box;
    -webkit-line-clamp: 2; /* 表示する行数を2行に制限 */
    -webkit-box-orient: vertical; /* 縦方向のボックスとして設定 */
}
/*TOPのカテゴリ一覧ホバーここまで*/

/*画像のホバー設定ここから*/
.hover-image {
    width: auto; /* 元の画像サイズを維持 */
    transition: transform 0.3s ease, opacity 0.3s ease; /* 変化を滑らかに */
}

.image-container:hover .hover-image {
    transform: scale(1.05); /* 画像を少し大きく */
    opacity: 0.7; /* 画像の色を少し薄く */
}
/*画像のホバー設定ここまで*/

/*フッターの右上ウィジェット背景を透明にするCSSここから*/
div.textwidget.custom-html-widget {
    background-color: transparent !important;
}
/*フッターの右上ウィジェット背景を透明にするCSSここまで*/

/* ショートコード内のURLを折り返すカスタムCSSここから */
.st-text-guide a {
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    display: inline-block;
    max-width: 100%;
}

.st-text-guide {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.st-text-guide {
    overflow: hidden;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.st-text-guide a {
    text-overflow: ellipsis;
    overflow: hidden;
    display: inline-block;
    max-width: 100%;
}
/* ショートコード内のURLを折り返すカスタムCSSここまで */

/* HTMLに直接書き込まれた青色マーカー（#449fe5）を新しい色に一括上書き */
.entry-content span[style*="#449fe5"] {
    background: linear-gradient(transparent 60%, #ffff9e 60%) !important;
}


/* ヘッダーメニュー（グローバルメニュー帯）だけ全幅にする */
#st-menu-wide,
#st-menu {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* メニュー帯の内側コンテナの最大幅＆左右余白を解除ここから */
#header,
#header .wrap,
#header .inner,
#header-in,
#header-in .wrap,
#header-in .inner,
#st-header,
#st-header .wrap,
#st-header .inner,
#st-menubox,
#st-menubox .wrap,
#st-menubox .inner,
#st-menuwide,
#st-menuwide .wrap,
#st-menuwide .inner,
#st-menu,
#st-menu .wrap,
#st-menu .inner,
nav,
.gnav,
.gnav .wrap,
.gnav .inner,
#gnav,
#gnav .wrap,
#gnav .inner {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* メニュー帯の内側コンテナの最大幅＆左右余白を解除ここまで */

/* 新着記事スライダー：青背景は維持しつつ画像だけ枠内に収める ここから */
body .st-catgroup .post-slide-image img,
body .post-slide .post-slide-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;   
  object-position: center !important;
  display: block !important;
}

body .st-catgroup .post-slide-image,
body .post-slide .post-slide-image {
  overflow: hidden !important;
}
/* 新着記事スライダー：青背景は維持しつつ画像だけ枠内に収める ここまで */

/* 新着記事スライダー：日付（更新日/投稿日）を非表示ここから */
p.post-slide-date{
  display:none !important;
}
/* 新着記事スライダー：日付（更新日/投稿日）を非表示ここまで */

/* 画像＋最新AIトレンド情報（左右2カラム）を上揃えにするここから */
.st-radius .responbox50 {
  display: flex;
  align-items: flex-start;
  gap: 20px; 
}

/* スマホ（768px以下）では縦に並べる */
@media (max-width: 768px) {
  .st-radius .responbox50 {
    display: block; 
  }
  .st-radius .responbox50 .lbox,
  .st-radius .responbox50 .rbox {
    width: 100% !important; 
    margin-bottom: 20px;
  }
}

.st-radius .responbox50 .rbox > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* 画像＋最新AIトレンド情報（左右2カラム）を上揃えにするここまで */


/* クラベルAI 追従フォームここから */

.krb-formCard{
  box-sizing: border-box;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #2B7DE9 0%, #2A8BF2 55%, #1E6FE0 100%) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.16) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
}
.krb-formCard *{ box-sizing: border-box; }

.krb-formHeader{
  position: relative;
  padding: 14px 14px 10px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08)) !important;
  color: rgba(255,255,255,.98) !important;
}
.krb-formHeader,
.krb-formHeader *{
  color: rgba(255,255,255,.98) !important;
}

.krb-formHeader::before{
  content: "";
  position: absolute;
  inset: -50% -40% auto -40%;
  height: 180px;
  background: radial-gradient(closest-side, rgba(255,255,255,.38), rgba(255,255,255,0));
  opacity: .9;
  pointer-events: none;
}

.krb-formBadge{
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
  color: rgba(10,55,105,.92) !important;
}

.krb-formTitleArea{ margin-top: 10px !important; }

.krb-formKicker{
  font-size: 11px !important;
  letter-spacing: .14em !important;
  opacity: .95 !important;
}

.krb-formTitle{
  margin-top: 6px !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-shadow: 0 6px 14px rgba(0,0,0,.10) !important;
  position: relative;
}

.krb-formTitle::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;
  height: 6px;
  background: linear-gradient(90deg, rgba(255,255,255,.50), rgba(255,255,255,0));
  opacity: .7 !important;
  border-radius: 999px;
}

.krb-formLead{
  margin-top: 6px !important;
  font-size: 12.5px !important;
  opacity: .95 !important;
  line-height: 1.55 !important;
  letter-spacing: .02em !important;
}

.krb-formBody{
  padding: 10px 14px 12px !important;
  background: rgba(248,250,255,.98) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 -1px 0 rgba(255,255,255,.25) inset;
}

.krb-formCard .wpcf7 form{ margin: 0 !important; }
.krb-formCard .wpcf7 p{ margin: 0 0 8px !important; }

.krb-formCard .wpcf7 p label,
.krb-formCard .wpcf7 .wpcf7-form-control-wrap,
.krb-formCard .wpcf7 .wpcf7-form-control-wrap *{
  color: rgba(15,23,42,.78) !important;
}
.krb-formCard .wpcf7 p label{
  display: inline-block;
  margin: 0 0 4px !important;
  font-size: 12px !important;
}

.krb-formCard .wpcf7 input[type="text"],
.krb-formCard .wpcf7 input[type="email"],
.krb-formCard .wpcf7 input[type="tel"],
.krb-formCard .wpcf7 select,
.krb-formCard .wpcf7 textarea{
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 12px !important;
  border: 1px solid rgba(15,23,42,.18) !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 0 rgba(15,23,42,.04) !important;
  transition: box-shadow .15s ease, border-color .15s ease, transform .15s ease;
}
.krb-formCard .wpcf7 textarea{
  min-height: 72px !important;
  resize: vertical;
}
.krb-formCard .wpcf7 ::placeholder{
  color: rgba(15,23,42,.45) !important;
}
.krb-formCard .wpcf7 input:focus,
.krb-formCard .wpcf7 select:focus,
.krb-formCard .wpcf7 textarea:focus{
  outline: none !important;
  border-color: rgba(30,111,224,.55) !important;
  box-shadow: 0 0 0 4px rgba(30,111,224,.14) !important;
}

@supports selector(:has(*)){
  .krb-formCard .wpcf7 p:has(select){
    margin-bottom: 4px !important;
  }
}
.krb-formCard .wpcf7 .wpcf7-form-control-wrap select{
  margin-bottom: 0 !important;
}

.krb-formCard .wpcf7 input[type="checkbox"]{ transform: translateY(1px); }
.krb-formCard .wpcf7 .wpcf7-list-item{ margin: 0 !important; }
.krb-formCard .wpcf7 .wpcf7-list-item-label{
  font-size: 12px !important;
  color: rgba(15,23,42,.70) !important;
}

.krb-formCard .wpcf7 input[type="submit"],
.krb-formCard .wpcf7 .krb-submitBtn{
  width: 100% !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  background: linear-gradient(90deg, #1E6FE0 0%, #2A8BF2 55%, #2B7DE9 100%) !important;
  box-shadow: 0 14px 28px rgba(30,111,224,.22) !important;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}

.krb-formCard .wpcf7 input[type="submit"]:hover,
.krb-formCard .wpcf7 .krb-submitBtn:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow: 0 18px 36px rgba(30,111,224,.26) !important;
}

.krb-formCard .wpcf7 .krb-submitBtn::before{
  content: "";
  position: absolute;
  top: -30%;
  left: -40%;
  width: 40%;
  height: 160%;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.40), rgba(255,255,255,0));
  transform: skewX(-20deg);
  opacity: 0;
  pointer-events: none;
}

.krb-formCard .wpcf7 .krb-submitBtn:hover::before{
  opacity: 1;
  animation: krbShine 1.1s ease forwards;
}

@keyframes krbShine{
  0%{ left:-50%; opacity:0; }
  10%{ opacity:1; }
  100%{ left:120%; opacity:0; }
}

.krb-formCard.krb-shineAlways .krb-submitBtn::before{
  opacity: .9;
  animation: krbShine 2.4s ease infinite;
}

.krb-submitBtn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.krb-submitBtn .krb-btnIcon{
  width: 18px;
  height: 18px;
  display: inline-block;
  line-height: 0;
}
.krb-submitBtn .krb-btnIcon svg{
  width: 18px;
  height: 18px;
  fill: #fff;
  display: block;
}

.krb-formNote{
  margin-top: 6px !important;
  font-size: 12px !important;
  color: rgba(15,23,42,.62) !important;
}

@media (max-width: 768px){
  .krb-formHeader{ padding: 14px 14px 10px !important; }
  .krb-formTitle{ font-size: 16px !important; }
  .krb-formBody{ padding: 10px 12px 12px !important; }
  .krb-formCard .wpcf7 p{ margin: 0 0 7px !important; }
  .krb-formCard .wpcf7 textarea{ min-height: 64px !important; }
}
/* ご相談種別の下をさらに詰める */
.krb-formCard .wpcf7 p:has(select){
  margin-bottom: 2px !important;
}

/* 送信ボタンを含む行の下マージンを詰める */
.krb-formCard .wpcf7 p:has(input[type="submit"]),
.krb-formCard .wpcf7 p:has(.krb-submitBtn){
  margin-bottom: 2px !important;
}

/* 念のため、注記の上マージンも少しだけ圧縮 */
.krb-formNote{
  margin-top: 2px !important;
}

/* スマホでは追従フォームを非表示 */
@media (max-width: 768px){
  .krb-formCard{
    display: none !important;
  }
}

@media (max-width: 768px){
  .krb-formCard,
  .krb-formCard *{
    display: none !important;
  }

  /* 追従の親コンテナ候補（使ってるテーマ/実装により残ることがある） */
  .krb-follow,
  .krb-followWrap,
  .krb-stickyForm,
  .krb-floatingForm,
  .sidebar,
  #sidebar,
  .side,
  #side{
    display: none !important;
  }
}

/* フォーム内マージンの微調整 */
.krb-formCard .wpcf7 p label {
  margin-bottom: 0px !important;
}
.krb-formCard .wpcf7 p:has(input[type="submit"]),
.krb-formCard .wpcf7 p:has(.krb-submitBtn) {
  margin-bottom: 0px !important;
}
.krb-formNote {
  margin-top: 0px !important;
}
/* クラベルAI 追従フォームここまで */

/* =========================================================
   kuraberuai lower pages v2.9 (2026-10-26)
   クラベルAI 下層ページ 新デザイン v2.6
   貼る場所：外観 > カスタマイズ > 追加CSS の「いちばん下」
   ※前のかたまり（v2.2など）は消してから貼る
   ※既存の追加CSSは消さない。戻すときはこのブロックを丸ごと消す。
   ※WordPressの入力欄チェックを通る書き方にしてある（変数・:is・1fr・@supports 不使用）
   方針（クライアント指定）：資料のように見やすく／囲みすぎない・片側だけ色線の装飾はしない／
         クリックやスクロールを減らす／日本的なWEBメディア／スマホ最優先／見出しは漢字大・かな小
   色：紺 #0e2b44／本文 #2b4d66／補足 #5f7d90／青 #1a8fd0／濃青 #0d6fb0／淡青 #e6f4fc／罫線 #e2e7eb
   ========================================================= */

/* ---------- 1. サイト全体の土台（全下層ページ） ---------- */
/* 背景：濃い青 → 白地＋うすい方眼（トップと同じ）。スクロールが重くならないよう固定しない */
body.custom-background {
  background-color: #ffffff !important;
  background-image: linear-gradient(rgba(26, 143, 208, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(26, 143, 208, 0.045) 1px, transparent 1px) !important;
  background-size: 120px 120px !important;
  background-attachment: scroll !important;
}
#content-w { padding-top: 28px; }

/* 文字：本文・サイドバーを Noto Sans JP に */
main p, main div, main span, main a, main li, main dt, main dd, main th, main td, main h2, main h3, main h4,
#side p, #side div, #side span, #side a, #side li, #side label, #side input, #side textarea, #side select, #side button {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
/* 見出しのひらがなを少し小さく（スクリプトが .kb-kana を付ける。トップと同じ比率） */
.kb-kana { font-size: 0.82em; }

/* 本文エリア：枠線で囲まず、白い紙のように */
#contentInner > main {
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: 0 1px 0 #e2e7eb, 0 18px 40px rgba(14, 43, 68, 0.05);
  padding: 8px 48px 48px !important;
}

/* パンくず */
#breadcrumb { margin: 16px 0 12px; }
#breadcrumb ol, #breadcrumb li { font-size: 13px !important; color: #5f7d90 !important; }
#breadcrumb a { color: #0d6fb0 !important; font-weight: 700; text-decoration: none; }
#breadcrumb a:hover { text-decoration: underline; }

/* ---------- 2. ヘッダーの検索欄（kbr-chrome のヘッダー。幅が足りず文字が見切れるのを直す） ---------- */
@media (min-width: 960px) {
  #siteHeader #headerSearch { flex: 0 0 190px; width: 190px; }
  #siteHeader #headerSearchInput { flex: 1 1 auto; min-width: 0; width: auto; }
}
@media (min-width: 1281px) {
  #siteHeader #headerSearch { flex: 0 0 250px; width: 250px; }
}

/* ---------- 2. サイドバー（バナー・検索・相談フォーム） ---------- */
/* 検索欄 */
#side #searchform {
  border: 1px solid #e2e7eb !important; border-radius: 4px !important; background: #ffffff;
  box-shadow: 0 6px 18px rgba(14, 43, 68, 0.05); transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#side #searchform:hover { border-color: #1a8fd0 !important; box-shadow: 0 10px 24px rgba(26, 143, 208, 0.12); }
#side #s { color: #0e2b44 !important; }
/* 旧フォームのすりガラス効果を止める（スクロールが重くなる原因） */
#side .krb-formBody { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }

/* 提携パートナー募集バナー（ウィジェットHTML：site/pages/サイドバー_バナー.html） */
#side .kb-side-partner {
  display: block; position: relative; overflow: hidden; padding: 24px 22px 22px;
  background-color: #0e2b44; background-image: radial-gradient(circle at 100% 0%, rgba(26, 143, 208, 0.5), transparent 62%);
  border-radius: 4px; color: #ffffff; text-decoration: none;
  box-shadow: 0 16px 36px rgba(14, 43, 68, 0.18); transition: transform 0.35s ease, box-shadow 0.35s ease;
}
#side .kb-side-partner:hover { transform: translateY(-3px); box-shadow: 0 24px 48px rgba(14, 43, 68, 0.26); }
#side .kb-side-partner span { position: relative; z-index: 1; }
#side .kb-side-partner__label {
  display: inline-block; padding: 3px 9px; border: 1.5px solid rgba(255, 255, 255, 0.4); border-radius: 4px;
  font-size: 11px; font-weight: 900; letter-spacing: 0.16em; line-height: 1.5; color: #bfe2f7;
}
#side .kb-side-partner__lead { display: block; margin-top: 14px; font-size: 12px; line-height: 1.6; color: #c7dcea; }
#side .kb-side-partner__title { display: block; margin-top: 4px; font-size: 25px; font-weight: 900; line-height: 1.3; color: #ffffff; }
#side .kb-side-partner__text { display: block; margin-top: 10px; padding-right: 72px; font-size: 13px; line-height: 1.7; color: #c7dcea; }
#side .kb-side-partner__btn {
  display: block; margin-top: 16px; padding: 11px 14px; border: 1.5px solid #ffffff; border-radius: 4px;
  text-align: center; font-size: 14px; font-weight: 700; line-height: 1.3; color: #ffffff;
  transition: background 0.25s ease, color 0.25s ease;
}
#side .kb-side-partner:hover .kb-side-partner__btn { background: #ffffff; color: #0e2b44; }
#side .kb-side-partner__img { position: absolute; right: -8px; bottom: 58px; z-index: 0; width: 104px; height: auto; }

/* 無料相談フォーム（ウィジェットHTML：site/pages/サイドバー_相談フォーム.html／CF7：site/pages/CF7_フォーム.txt） */
#side .kb-side-consult {
  background: #ffffff; border: 1px solid #e2e7eb; border-radius: 4px; overflow: hidden;
  box-shadow: 0 20px 48px rgba(14, 43, 68, 0.10);
}
#side .kb-side-consult__head { position: relative; padding: 14px 18px 12px; background: linear-gradient(160deg, #e6f4fc, #f7fbfe 70%); }
#side .kb-side-consult__free { display: inline-block; padding: 2px 7px; background: #1a8fd0; color: #ffffff; font-size: 11px; font-weight: 700; line-height: 1.4; border-radius: 4px; }
#side .kb-side-consult__title { margin: 6px 0 0 !important; padding: 0 !important; font-size: 17px !important; font-weight: 900; line-height: 1.4 !important; color: #0e2b44; white-space: nowrap; }
#side .kb-side-consult__lead { margin: 8px 0 0 !important; padding: 0 !important; font-size: 13px !important; line-height: 1.7 !important; color: #2b4d66; }
#side .kb-side-consult__aichan { position: relative; width: 150px; margin: 12px auto 0; padding-top: 42px; }
#side .kb-side-consult__aichan img { display: block; width: 100%; height: auto; margin-bottom: -4px; animation: kbFloat 7s ease-in-out infinite; }
#side .kb-side-consult__bubble {
  position: absolute; left: 50%; top: 0; z-index: 2; margin-left: -116px; width: 232px; padding: 7px 0;
  background: #0e2b44; color: #ffffff; border-radius: 8px; text-align: center;
  font-size: 12px; font-weight: 900; line-height: 1.4; white-space: nowrap; box-shadow: 0 10px 22px rgba(14, 43, 68, 0.2);
}
#side .kb-side-consult__bubble:after {
  content: ""; position: absolute; left: 50%; bottom: -6px; width: 12px; height: 12px; margin-left: -6px;
  background: #0e2b44; transform: rotate(45deg); border-radius: 2px;
}
#side .kb-side-consult__body { padding: 12px 18px 14px; }

/* フォームの各項目（トップの相談フォームと同じ見た目） */
#side .kb-cf p { margin: 0 !important; padding: 0 !important; }
#side .kb-cf br { display: none; }
#side .kb-cf__field { display: block; margin: 0 0 7px; }
#side .kb-cf__label { display: block; margin: 0 0 2px; font-size: 12px; font-weight: 700; line-height: 1.5; color: #0e2b44; }
#side .kb-req { margin-left: 6px; padding: 1px 5px; background: #fdecec; color: #c0392b; font-size: 10px; font-weight: 700; border-radius: 4px; }
#side .kb-opt { margin-left: 4px; font-size: 10.5px; font-weight: 500; color: #5f7d90; }
#side .kb-cf input[type="text"], #side .kb-cf input[type="email"], #side .kb-cf input[type="tel"], #side .kb-cf select, #side .kb-cf textarea {
  display: block; box-sizing: border-box; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 7px 10px !important;
  border: 0 !important; border-bottom: 2px solid #e2e7eb !important; border-radius: 4px 4px 0 0 !important;
  background: #f6fafd !important; box-shadow: none !important;
  font-size: 14px !important; line-height: 1.4 !important; color: #0e2b44 !important;
  transition: border-color 0.2s ease, background 0.2s ease;
}
#side .kb-cf input[type="text"]:focus, #side .kb-cf input[type="email"]:focus, #side .kb-cf input[type="tel"]:focus, #side .kb-cf select:focus, #side .kb-cf textarea:focus {
  border-bottom-color: #1a8fd0 !important; background: #ffffff !important; outline: 0;
}
#side .kb-cf textarea { height: 50px !important; min-height: 50px; resize: vertical; }
#side .kb-cf__check { margin: 6px 0 0; font-size: 12px; line-height: 1.5; color: #0e2b44; }
#side .kb-cf__check .wpcf7-list-item { margin: 0; }
#side .kb-cf__check input[type="checkbox"] { width: auto; margin: 0 8px 0 0; vertical-align: middle; }
#side .kb-cf__check a { color: #0d6fb0; text-decoration: underline; }
#side .kb-cf .wpcf7-submit {
  display: block; box-sizing: border-box; width: 100% !important; margin: 8px 0 0 !important; padding: 11px !important;
  background: #1a8fd0 !important; color: #ffffff !important; border: 0 !important; border-radius: 4px !important;
  font-size: 15px !important; font-weight: 700; line-height: 1.3; cursor: pointer;
  box-shadow: 0 12px 28px rgba(26, 143, 208, 0.24); transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
#side .kb-cf .wpcf7-submit:hover { background: #0d6fb0 !important; transform: translateY(-2px); box-shadow: 0 18px 36px rgba(26, 143, 208, 0.3); }
#side .kb-cf .wpcf7-submit:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
#side .kb-cf__safe { margin: 5px 0 0 !important; text-align: center; font-size: 11px !important; line-height: 1.6 !important; color: #5f7d90; }
#side .kb-cf .wpcf7-not-valid-tip { margin-top: 4px; font-size: 12px; }
#side .kb-side-consult .wpcf7-response-output { margin: 12px 0 0 !important; padding: 10px 12px !important; font-size: 13px; line-height: 1.6; border-radius: 4px; }

/* ---------- 3. 一覧ページの見出しエリア（ニュース・お役立ち記事・用語集） ---------- */
/* 古い紺色のアイキャッチ画像を隠す（3ページのみ） */
body.page-id-4228 .st-eyecatch-under, body.page-id-4637 .st-eyecatch-under, body.page-id-4584 .st-eyecatch-under { display: none !important; }

/* ニュース・お役立ち記事：線つき見出し → 箱で囲まない、資料の表紙のような見出し */
main .custom-text-with-lines {
  display: block; white-space: normal; text-align: left;
  margin: 8px 0 32px; padding: 12px 0 28px;
  background: none; border: 0; border-bottom: 1px solid #e2e7eb; border-radius: 0;
  animation: kbUp 0.9s cubic-bezier(0.16, 0.84, 0.3, 1) both;
}
main .custom-text-with-lines:before {
  display: block; flex-grow: 0; height: auto; margin: 0 0 12px; padding: 0;
  background: none; border: 0;
  color: #0d6fb0; font-size: 13px; font-weight: 900; letter-spacing: 0.18em; line-height: 1.4;
  content: "KURABERU AI";
}
main .custom-text-with-lines:after {
  display: block; flex-grow: 0; height: auto; margin: 14px 0 0; padding: 0; background: none;
  color: #2b4d66; font-size: 15.5px; font-weight: 400; line-height: 1.8; content: "";
}
body.page-id-4228 main .custom-text-with-lines:before { content: "NEWS"; }
body.page-id-4228 main .custom-text-with-lines:after { content: "仕事や暮らしのAI活用に関わる重要な動きを、要点からわかりやすく。"; }
body.page-id-4637 main .custom-text-with-lines:before { content: "COLUMN"; }
body.page-id-4637 main .custom-text-with-lines:after { content: "AI導入の進め方、選び方、失敗を防ぐポイントを記事でわかりやすく解説。"; }
main .custom-text-with-lines p {
  display: block; margin: 0 !important; padding: 0 !important;
  font-size: 44px !important; font-weight: 900; letter-spacing: -0.02em; line-height: 1.25 !important;
  color: #0e2b44; text-align: left;
}
/* 見出しの前に案内役「あいちゃん」のアイコン（トップのH2と同じ） */
main .custom-text-with-lines p:before {
  content: ""; display: inline-block; vertical-align: middle; width: 48px; height: 48px; margin: -8px 14px 0 0;
  border-radius: 50%; background: #e6f4fc url(/assets/ai-chan.webp) 55% 8% / 210% auto no-repeat;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 3.5px rgba(26, 143, 208, 0.22);
}

/* ---------- 4. カード一覧 ---------- */
main .custom-posts-grid { grid-template-columns: repeat(3, calc((100% - 48px) / 3)); gap: 32px 24px; margin-bottom: 44px; }
main .custom-posts-grid .post-card {
  background: #ffffff; border: 1px solid #e2e7eb; border-radius: 4px;
  box-shadow: none; overflow: hidden;
  transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.45s cubic-bezier(0.2, 0.7, 0.2, 1), border-color 0.25s ease;
  animation: kbUp 0.9s cubic-bezier(0.16, 0.84, 0.3, 1) both;
}
main .custom-posts-grid .post-card:hover {
  transform: translateY(-6px); border-color: #c5e3f4;
  box-shadow: 0 24px 50px rgba(14, 43, 68, 0.12);
}
/* 1件目は横いっぱいの大きなカード（画像左・タイトル右） */
main .custom-posts-grid .post-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: 58% 42%; align-items: center; }
main .custom-posts-grid .post-card:first-child .post-info { padding: 28px 32px; }
main .custom-posts-grid .post-card:first-child .post-title { margin-top: 10px; font-size: 24px; line-height: 1.55; }
main .custom-posts-grid .post-card img { width: 100%; opacity: 1; transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1); }
main .custom-posts-grid .post-card:hover img { opacity: 1; transform: scale(1.04); }
main .custom-posts-grid .post-card .post-info { position: relative; padding: 16px 20px 20px; background: #ffffff; }
main .custom-posts-grid .post-card .post-date { display: block; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; color: #5f7d90; }
/* タイトルは省略せず全部見せる */
main .custom-posts-grid .post-card .post-title {
  display: block; height: auto; max-height: none; overflow: visible; -webkit-line-clamp: unset;
  margin-top: 6px; font-size: 16.5px; font-weight: 700; line-height: 1.65; color: #0e2b44; transition: color 0.2s ease;
}
main .custom-posts-grid .post-card:hover .post-title { color: #0d6fb0; }
/* ふわっと順番に出る（スクリプトなしの場合） */
main .custom-posts-grid .post-card:nth-child(2) { animation-delay: 0.08s; }
main .custom-posts-grid .post-card:nth-child(3) { animation-delay: 0.16s; }
main .custom-posts-grid .post-card:nth-child(4) { animation-delay: 0.24s; }
main .custom-posts-grid .post-card:nth-child(5) { animation-delay: 0.32s; }
main .custom-posts-grid .post-card:nth-child(6) { animation-delay: 0.40s; }
main .custom-posts-grid .post-card:nth-child(n+7) { animation-delay: 0.48s; }

/* ---------- 5. 「もっと見る」ボタン（トップの「すべて見る」と同じ） ---------- */
main .view-more-news-button-container, main .view-more-content-container { text-align: center; margin: 8px 0 8px; }
main .view-more-news-button, main .view-more-content-button {
  display: inline-block; min-width: 280px; padding: 16px 30px;
  background: #ffffff; color: #0e2b44 !important; border: 2px solid #0e2b44; border-radius: 4px; box-shadow: none;
  font-size: 15px; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
main .view-more-news-button:after, main .view-more-content-button:after { content: " →"; }
main .view-more-news-button:hover, main .view-more-content-button:hover {
  background: #0e2b44; color: #ffffff !important; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(14, 43, 68, 0.18);
}

/* ---------- 6. AI用語集（資料の索引のように、囲まずに一覧で見せる） ---------- */
/* :not(#kb):not(#kb) はAFFINGERの強い指定に勝つための目印（idは実在しなくてよい） */
body.page-id-4584 main .entry-content h2:not(#kb):not(#kb) {
  margin: 8px 0 8px !important; padding: 12px 0 28px !important;
  background: none !important; border: 0 !important; border-bottom: 1px solid #e2e7eb !important; border-radius: 0 !important;
  font-size: 40px !important; font-weight: 900 !important; line-height: 1.3 !important; letter-spacing: -0.02em;
  color: #0e2b44 !important; text-align: left !important;
  animation: kbUp 0.9s cubic-bezier(0.16, 0.84, 0.3, 1) both;
}
body.page-id-4584 main .entry-content h2:not(#kb):not(#kb):before {
  content: "GLOSSARY"; display: block !important; position: static !important; width: auto !important; height: auto !important;
  margin: 0 0 12px !important; padding: 0 !important; background: none !important; border: 0 !important;
  color: #0d6fb0 !important; font-size: 13px !important; font-weight: 900; letter-spacing: 0.18em; line-height: 1.4 !important;
}
body.page-id-4584 main .entry-content h2:not(#kb):not(#kb):after {
  content: "わからない言葉をその場で調べて、AI活用の判断材料に。"; display: block !important; position: static !important;
  width: auto !important; height: auto !important; margin: 14px 0 0 !important; padding: 0 !important;
  background: none !important; border: 0 !important;
  color: #2b4d66 !important; font-size: 15.5px !important; font-weight: 400 !important; line-height: 1.8 !important; letter-spacing: 0;
}
/* A〜Zの小見出し：装飾なし・太字＋下に細い罫線 */
body.page-id-4584 main .entry-content h3:not(#kb):not(#kb) {
  margin: 40px 0 8px !important; padding: 0 0 10px !important; background: none !important;
  border: 0 !important; border-bottom: 1px solid #0e2b44 !important; border-radius: 0 !important;
  font-size: 20px !important; font-weight: 900 !important; line-height: 1.4 !important; color: #0e2b44 !important; text-align: left !important;
}
body.page-id-4584 main .entry-content h3:not(#kb):not(#kb):before, body.page-id-4584 main .entry-content h3:not(#kb):not(#kb):after { display: none !important; }
/* 用語：3列の一覧。1行ずつ細い罫線で区切るだけ */
body.page-id-4584 .responbox33 { display: grid; grid-template-columns: repeat(3, calc((100% - 64px) / 3)); gap: 0 32px; margin: 0 0 8px; }
body.page-id-4584 .responbox33:before, body.page-id-4584 .responbox33:after { display: none; }
body.page-id-4584 .responbox33 .lbox { float: none; width: auto; padding: 0; margin: 0; }
body.page-id-4584 .responbox33 ul { display: block; margin: 0; padding: 0; list-style: none; }
body.page-id-4584 .responbox33 li {
  display: block; margin: 0; padding: 10px 0; list-style: none; background: none; border: 0; border-bottom: 1px solid #eef1f4;
  font-size: 15px; line-height: 1.55; color: #5f7d90;
}
body.page-id-4584 .responbox33 li:before { content: none !important; display: none !important; }
body.page-id-4584 .responbox33 li a { color: #0e2b44; font-weight: 700; text-decoration: none; transition: color 0.2s ease; }
body.page-id-4584 .responbox33 li a:after { content: " ›"; color: #1a8fd0; }
body.page-id-4584 .responbox33 li a:hover { color: #0d6fb0; text-decoration: underline; }

/* ---------- 7. 動き ---------- */
@keyframes kbUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes kbFloat {
  0% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
  100% { transform: translateY(0); }
}
/* スクリプトがある場合：画面に入ったときに順番に出る（トップと同じ動き） */
.kb-js main .custom-posts-grid .post-card.kb-rv, .kb-js .kb-rv {
  animation: none; opacity: 0; transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.16, 0.84, 0.3, 1), transform 0.8s cubic-bezier(0.16, 0.84, 0.3, 1), box-shadow 0.45s ease, border-color 0.25s ease, color 0.2s ease;
}
.kb-js main .custom-posts-grid .post-card.kb-rv.kb-in, .kb-js .kb-rv.kb-in { opacity: 1; transform: translateY(0); }
.kb-js main .custom-posts-grid .post-card.kb-rv.kb-in:hover { transform: translateY(-6px); }
.kb-js main .custom-posts-grid .post-card:nth-child(3n+2) { transition-delay: 0.08s; }
.kb-js main .custom-posts-grid .post-card:nth-child(3n+3) { transition-delay: 0.16s; }
.kb-js main .custom-posts-grid .post-card.kb-in:hover { transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) {
  #side .kb-side-consult__aichan img, main .custom-text-with-lines, main .custom-posts-grid .post-card,
  body.page-id-4584 main .entry-content h2:not(#kb):not(#kb) { animation: none; }
  .kb-js .kb-rv { opacity: 1; transform: none; transition: none; }
}

/* ---------- 8. タブレット ---------- */
@media (max-width: 959px) {
  #contentInner > main { padding: 4px 24px 32px !important; }
  main .custom-posts-grid { grid-template-columns: repeat(2, calc((100% - 16px) / 2)); gap: 24px 16px; }
  main .custom-text-with-lines p { font-size: 34px !important; }
  body.page-id-4584 main .entry-content h2:not(#kb):not(#kb) { font-size: 32px !important; }
  body.page-id-4584 .responbox33 { grid-template-columns: repeat(2, calc((100% - 24px) / 2)); gap: 0 24px; }
}

/* ---------- 9. スマホ（いちばん大事）：日本のニュースアプリのような「画像左・タイトル右」の一覧で、スクロールを短く ---------- */
@media (max-width: 599px) {
  #content-w { padding-top: 0; }
  #contentInner > main { padding: 0 16px 28px !important; box-shadow: none; }
  #breadcrumb { margin: 12px 0 4px; }
  main .custom-text-with-lines { margin: 0 0 8px; padding: 8px 0 18px; }
  main .custom-text-with-lines:before { margin-bottom: 8px; font-size: 12px; }
  main .custom-text-with-lines p { font-size: 27px !important; }
  main .custom-text-with-lines p:before { width: 34px; height: 34px; margin: -5px 10px 0 0; }
  main .custom-text-with-lines:after { margin-top: 10px; font-size: 14px; line-height: 1.7; }
  /* 一覧 */
  main .custom-posts-grid { grid-template-columns: 100%; gap: 0; margin-bottom: 28px; }
  main .custom-posts-grid .post-card {
    display: flex; align-items: flex-start; padding: 14px 0; overflow: visible;
    background: transparent; border: 0; border-bottom: 1px solid #e2e7eb; border-radius: 0; box-shadow: none;
  }
  main .custom-posts-grid .post-card:hover, .kb-js main .custom-posts-grid .post-card.kb-rv.kb-in:hover { transform: none; box-shadow: none; }
  main .custom-posts-grid .post-card img { flex: 0 0 116px; width: 116px; height: auto; border-radius: 4px; }
  main .custom-posts-grid .post-card:hover img { transform: none; }
  main .custom-posts-grid .post-card .post-info { padding: 0 0 0 12px; background: transparent; }
  main .custom-posts-grid .post-card .post-date { font-size: 12px; }
  main .custom-posts-grid .post-card .post-title { margin-top: 2px; font-size: 15px; line-height: 1.55; }
  /* 1件目だけは大きく */
  main .custom-posts-grid .post-card:first-child { display: block; grid-column: auto; padding-top: 16px; }
  main .custom-posts-grid .post-card:first-child .post-info { padding: 12px 0 0; }
  main .custom-posts-grid .post-card:first-child img { width: 100%; }
  main .custom-posts-grid .post-card:first-child .post-title { margin-top: 4px; font-size: 18px; }
  main .view-more-news-button, main .view-more-content-button { box-sizing: border-box; width: 100%; min-width: 0; }
  /* 用語集 */
  body.page-id-4584 main .entry-content h2:not(#kb):not(#kb) { padding: 8px 0 18px !important; font-size: 26px !important; }
  body.page-id-4584 main .entry-content h2:not(#kb):not(#kb):after { font-size: 14px !important; }
  body.page-id-4584 main .entry-content h3:not(#kb):not(#kb) { margin-top: 28px !important; font-size: 17px !important; }
  body.page-id-4584 .responbox33 { grid-template-columns: repeat(2, calc((100% - 16px) / 2)); gap: 0 16px; }
  body.page-id-4584 .responbox33 li { padding: 9px 0; font-size: 14px; }
}
/* ---------- 10. v2.4 追加（10/22 クライアントFB） ---------- */
/* FB3：パンくずを1行に、上部を詰めて最初の画面に記事を多く */
#content-w { padding-top: 10px; }
#contentInner > main { padding-top: 0 !important; }
#breadcrumb { margin: 10px 0 0; }
#breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0 6px; margin: 0; padding: 0; list-style: none; }
#breadcrumb li { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 0; font-size: 12.5px !important; line-height: 1.5; color: #5f7d90 !important; }
#breadcrumb li:after { content: "›"; color: #9fb6c7; }
#breadcrumb li:last-child:after { content: none; }
#breadcrumb .kb-crumb-current { color: #0e2b44 !important; font-weight: 700; }
main .custom-text-with-lines { margin: 4px 0 18px; padding: 6px 0 14px; }
main .custom-text-with-lines:before { margin-bottom: 4px; font-size: 11.5px; }
main .custom-text-with-lines p { font-size: 34px !important; }
main .custom-text-with-lines p:before { width: 36px; height: 36px; margin: -6px 10px 0 0; }
main .custom-text-with-lines:after { margin-top: 6px; font-size: 14px; line-height: 1.6; }
main .custom-posts-grid { gap: 20px 24px; }
main .custom-posts-grid .post-card:first-child { grid-template-columns: 52% 48%; }
main .custom-posts-grid .post-card:first-child .post-info { padding: 20px 26px; }
main .custom-posts-grid .post-card:first-child .post-title { font-size: 21px; }
body.page-id-4584 main .entry-content h2:not(#kb):not(#kb) { margin: 4px 0 0 !important; padding: 6px 0 14px !important; font-size: 34px !important; }
body.page-id-4584 main .entry-content h2:not(#kb):not(#kb):before { margin-bottom: 4px !important; font-size: 11.5px !important; }
body.page-id-4584 main .entry-content h2:not(#kb):not(#kb):after { margin-top: 6px !important; font-size: 14px !important; }

/* FB1：無限スクロール（読み込み中の表示） */
.kb-hidden { display: none !important; }
main .kb-more { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; margin: 0 0 24px; color: #5f7d90; font-size: 13.5px; }
main .kb-more__spinner { display: none; width: 18px; height: 18px; border: 2px solid #e2e7eb; border-top-color: #1a8fd0; border-radius: 50%; animation: kbSpin 0.8s linear infinite; }
main .kb-more.is-loading .kb-more__spinner { display: inline-block; }
main .kb-more .kb-more__text { visibility: hidden; }
main .kb-more.is-loading .kb-more__text, main .kb-more.is-done .kb-more__text { visibility: visible; }
@keyframes kbSpin { to { transform: rotate(360deg); } }

/* FB2：用語集の検索窓 */
body.page-id-4584 .kb-gs { position: relative; margin: 0 0 28px; }
body.page-id-4584 .kb-gs__label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 700; color: #0e2b44; }
body.page-id-4584 .kb-gs__field { position: relative; }
body.page-id-4584 .kb-gs__input {
  display: block; box-sizing: border-box; width: 100%; margin: 0; padding: 14px 44px 14px 16px;
  border: 2px solid #0e2b44; border-radius: 4px; background: #ffffff; box-shadow: none;
  font-size: 16px; line-height: 1.4; color: #0e2b44; outline: 0; -webkit-appearance: none; appearance: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
body.page-id-4584 .kb-gs__input:focus { border-color: #1a8fd0; box-shadow: 0 10px 28px rgba(26, 143, 208, 0.14); }
body.page-id-4584 .kb-gs__input::-webkit-search-cancel-button { display: none; }
body.page-id-4584 .kb-gs__clear { position: absolute; right: 8px; top: 50%; width: 32px; height: 32px; margin-top: -16px; border: 0; border-radius: 4px; background: transparent; color: #5f7d90; font-size: 20px; line-height: 1; cursor: pointer; }
body.page-id-4584 .kb-gs__clear:hover { background: #e6f4fc; color: #0d6fb0; }
body.page-id-4584 .kb-gs__list { position: absolute; left: 0; right: 0; z-index: 20; margin: 6px 0 0; padding: 6px 0; list-style: none; background: #ffffff; border: 1px solid #e2e7eb; border-radius: 4px; box-shadow: 0 18px 40px rgba(14, 43, 68, 0.14); }
body.page-id-4584 .kb-gs__list[hidden] { display: none; }
body.page-id-4584 .kb-gs__list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 10px 16px; list-style: none; font-size: 15px; line-height: 1.5; color: #0e2b44; cursor: pointer; }
body.page-id-4584 .kb-gs__list li:before { display: none; }
body.page-id-4584 .kb-gs__list li:hover, body.page-id-4584 .kb-gs__list li.is-active { background: #e6f4fc; }
body.page-id-4584 .kb-gs__term { font-weight: 700; min-width: 0; }
body.page-id-4584 .kb-gs__go { flex: 0 0 auto; font-size: 12px; color: #0d6fb0; }
body.page-id-4584 .kb-gs__count { margin: 8px 0 0 !important; font-size: 13px !important; color: #5f7d90; }
body.page-id-4584 .kb-gs__count:empty { display: none; }
body.page-id-4584 .responbox33 li.is-hit { background: #e6f4fc; }
body.page-id-4584 .responbox33 li[hidden], body.page-id-4584 .responbox33[hidden], body.page-id-4584 main .entry-content h3[hidden] { display: none !important; }

@media (max-width: 959px) {
  main .custom-posts-grid { gap: 24px 16px; }
}
@media (max-width: 599px) {
  #content-w { padding-top: 0; }
  #breadcrumb { margin: 8px 0 0; }
  main .custom-posts-grid { gap: 0; }
  main .custom-posts-grid .post-card:first-child { grid-template-columns: none; }
  main .custom-posts-grid .post-card:first-child .post-info { padding: 12px 0 0; }
  main .custom-posts-grid .post-card:first-child .post-title { font-size: 18px; }
  main .custom-text-with-lines { margin: 0 0 6px; padding: 4px 0 12px; }
  main .custom-text-with-lines p { font-size: 25px !important; }
  main .custom-text-with-lines p:before { width: 30px; height: 30px; margin: -4px 8px 0 0; }
  main .custom-text-with-lines:after { font-size: 13px; }
  body.page-id-4584 main .entry-content h2:not(#kb):not(#kb) { font-size: 24px !important; padding: 4px 0 12px !important; }
  body.page-id-4584 .kb-gs { margin-bottom: 20px; }
  body.page-id-4584 .kb-gs__input { font-size: 16px; padding: 12px 40px 12px 14px; }
}
/* ---------- 11. v2.5 記事ページ（ニュース・お役立ち記事・用語の各記事） ---------- */
/* 方針：資料のように読みやすく。見出しは太字＋細い罫線だけ、箱で囲まない */
body.single .st-catgroup { margin: 10px 0 8px !important; }
body.single .st-catgroup a, body.single .st-catgroup .catname {
  display: inline-block; padding: 3px 10px !important; background: #e6f4fc !important; color: #0d6fb0 !important;
  border: 0 !important; border-radius: 4px !important; font-size: 12px !important; font-weight: 700; line-height: 1.5; text-decoration: none;
}
body.single h1.entry-title {
  margin: 0 0 10px !important; padding: 0 !important; font-size: 30px !important; font-weight: 900 !important; line-height: 1.45 !important;
  letter-spacing: -0.01em; color: #0e2b44 !important; background: none !important; border: 0 !important;
}
body.single .blogbox { margin: 0 0 18px !important; }
body.single .blogbox p, body.single .blogbox .kdate { font-size: 13px !important; line-height: 1.5 !important; color: #5f7d90 !important; }
body.single .st-eyecatch-under { margin: 0 0 26px; }
body.single .st-eyecatch-under img { border-radius: 4px; }

/* 本文 */
body.single .entry-content { font-size: 16px; line-height: 1.95; color: #1f3a50; }
body.single .entry-content p { margin: 0 0 1.4em !important; font-size: 16px !important; line-height: 1.95 !important; color: #1f3a50 !important; }
body.single .entry-content a { color: #0d6fb0; }
body.single .entry-content h2:not(#kb):not(#kb) {
  margin: 48px 0 20px !important; padding: 0 0 12px !important;
  background: none !important; border: 0 !important; border-bottom: 2px solid #0e2b44 !important; border-radius: 0 !important; box-shadow: none !important;
  font-size: 24px !important; font-weight: 900 !important; line-height: 1.45 !important; letter-spacing: -0.01em;
  color: #0e2b44 !important; text-align: left !important; text-shadow: none !important;
}
body.single .entry-content h3:not(#kb):not(#kb) {
  margin: 34px 0 14px !important; padding: 0 !important;
  background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  font-size: 19.5px !important; font-weight: 900 !important; line-height: 1.5 !important; color: #0e2b44 !important; text-align: left !important;
}
body.single .entry-content h4:not(#kb):not(#kb) {
  margin: 26px 0 10px !important; padding: 0 !important; background: none !important; border: 0 !important;
  font-size: 17px !important; font-weight: 700 !important; line-height: 1.5 !important; color: #0e2b44 !important;
}
body.single .entry-content h2:not(#kb):not(#kb):before, body.single .entry-content h2:not(#kb):not(#kb):after,
body.single .entry-content h3:not(#kb):not(#kb):before, body.single .entry-content h3:not(#kb):not(#kb):after { display: none !important; }
body.single .entry-content ul, body.single .entry-content ol { margin: 0 0 1.4em; padding-left: 1.4em; }
body.single .entry-content li { margin: 0 0 6px; line-height: 1.8; }
body.single .entry-content img { max-width: 100%; height: auto; border-radius: 4px; }
body.single .entry-content table { width: 100%; border-collapse: collapse; margin: 0 0 1.6em; font-size: 15px; }
body.single .entry-content th, body.single .entry-content td { padding: 10px 12px; border: 1px solid #e2e7eb; vertical-align: top; }
body.single .entry-content th { background: #f5fafd; color: #0e2b44; font-weight: 700; }
body.single .entry-content blockquote { margin: 0 0 1.6em; padding: 14px 18px; background: #f5fafd; border: 0; border-radius: 4px; color: #2b4d66; }

/* 記事冒頭の「ポイント」箱：薄い地色だけ */
body.single .st-mybox {
  margin: 0 0 28px !important; padding: 18px 22px 6px !important; background: #f5fafd !important;
  border: 1px solid #e2e7eb !important; border-radius: 4px !important; box-shadow: none !important;
}
body.single .st-mybox-title { margin: 0 0 8px !important; padding: 0 !important; font-size: 14px !important; font-weight: 700 !important; color: #0d6fb0 !important; background: none !important; border: 0 !important; }
body.single .st-mybox .st-in-mybox ul { margin: 0 0 12px; padding-left: 1.3em; }
body.single .st-mybox .st-in-mybox li { font-size: 15px; line-height: 1.8; color: #1f3a50; }

/* 目次 */
body.single #toc_container, body.single .toc_white {
  box-sizing: border-box; width: 100% !important; margin: 0 0 32px !important; padding: 18px 22px !important;
  background: #ffffff !important; border: 1px solid #e2e7eb !important; border-radius: 4px !important; box-shadow: none !important; font-size: 15px !important;
}
body.single #toc_container .toc_title { margin: 0 0 10px !important; padding: 0 !important; font-size: 13px !important; font-weight: 900 !important; letter-spacing: 0.14em; color: #0d6fb0 !important; text-align: left !important; }
body.single #toc_container .toc_title .toc_toggle { font-weight: 400; letter-spacing: 0; font-size: 12px; }
body.single #toc_container ul.toc_list { margin: 0 !important; padding: 0 !important; }
body.single #toc_container ul.toc_list li { margin: 0 !important; padding: 9px 0 !important; border: 0 !important; border-bottom: 1px solid #eef1f4 !important; background: none !important; font-size: 15px !important; line-height: 1.6; }
body.single #toc_container ul.toc_list li:last-child { border-bottom: 0 !important; }
body.single #toc_container ul.toc_list a { color: #0e2b44 !important; font-weight: 700; text-decoration: none; }
body.single #toc_container ul.toc_list a:hover { color: #0d6fb0 !important; }
body.single #toc_container ul.toc_list ul { margin: 6px 0 0 1em !important; }
body.single #toc_container ul.toc_list ul li { padding: 5px 0 !important; border: 0 !important; font-size: 14px !important; }
body.single #toc_container ul.toc_list ul a { font-weight: 400; }

/* 記事下：URLコピー・シェア・著者・タグ */
body.single .st-copyurl-btn { margin: 28px 0 10px; }
body.single .st-copyurl-btn a { display: inline-block; padding: 10px 16px !important; background: #ffffff !important; color: #0e2b44 !important; border: 1.5px solid #0e2b44 !important; border-radius: 4px !important; font-size: 13.5px !important; font-weight: 700; text-decoration: none; box-shadow: none !important; }
body.single .st-copyurl-btn a:hover { background: #0e2b44 !important; color: #ffffff !important; }
body.single .st-sns-singular ul li a { border-radius: 4px !important; box-shadow: none !important; }
body.single .st-author-box { margin: 28px 0 !important; border: 1px solid #e2e7eb !important; border-radius: 4px !important; box-shadow: none !important; }
body.single .st-author-box #st-tab-menu li { border-radius: 4px 4px 0 0 !important; }
body.single p.tagst { margin: 0 0 32px !important; font-size: 13px !important; line-height: 2.2 !important; color: #5f7d90 !important; }
body.single p.tagst a { display: inline-block; margin: 0 6px 4px 0; padding: 2px 10px; background: #ffffff; border: 1px solid #e2e7eb; border-radius: 4px; color: #0e2b44 !important; font-size: 12.5px; text-decoration: none; }
body.single p.tagst a:hover { border-color: #1a8fd0; color: #0d6fb0 !important; }
body.single p.tagst br { display: none; }

/* 関連記事・前後の記事 */
body.single aside h4.point { margin: 0 0 14px !important; padding: 0 0 10px !important; background: none !important; border: 0 !important; border-bottom: 1px solid #0e2b44 !important; border-radius: 0 !important; font-size: 18px !important; font-weight: 900 !important; color: #0e2b44 !important; }
body.single aside h4.point .point-in { background: none !important; color: #0e2b44 !important; padding: 0 !important; }
body.single aside h4.point:before, body.single aside h4.point:after { display: none !important; }
body.single aside p.author { display: none !important; }
body.single .kanren dl { margin: 0 !important; padding: 16px 0 !important; border: 0 !important; border-bottom: 1px solid #e2e7eb !important; transition: background 0.2s ease; }
body.single .kanren dl:hover { background: #f8fbfd; }
body.single .kanren dt img { border-radius: 4px; }
body.single .kanren dd { font-size: 15.5px !important; line-height: 1.6 !important; }
body.single .kanren dd a { color: #0e2b44 !important; font-weight: 700; text-decoration: none; }
body.single .kanren dd a:hover { color: #0d6fb0 !important; }
body.single .kanren .st-catname, body.single .kanren .catname { display: inline-block; margin: 0 0 6px; padding: 2px 8px !important; background: #e6f4fc !important; color: #0d6fb0 !important; border-radius: 4px !important; font-size: 11.5px !important; font-weight: 700; }
body.single .p-navi { margin: 24px 0 0 !important; padding: 20px 0 0 !important; border: 0 !important; border-top: 1px solid #e2e7eb !important; }
body.single .p-navi a { color: #0e2b44 !important; text-decoration: none; }
body.single .p-navi a:hover { color: #0d6fb0 !important; }
body.single .p-navi img { border-radius: 4px; }

/* ---------- 12. 無料相談の帯（記事・一覧の本文下。スマホではサイドバーが出ないため、ここが相談導線） ---------- */
main .kb-cta {
  display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center;
  margin: 40px 0 40px; padding: 26px 30px; background: #0e2b44; border-radius: 4px; color: #ffffff;
  background-image: radial-gradient(circle at 100% 0%, rgba(26, 143, 208, 0.5), transparent 60%);
}
main .kb-cta__body { flex: 1 1 320px; min-width: 0; }
main .kb-cta__free { display: inline-block; margin: 0 0 8px; padding: 3px 9px; background: #1a8fd0; color: #ffffff; border-radius: 4px; font-size: 12px; font-weight: 700; line-height: 1.5; }
main .kb-cta__title { margin: 0 !important; font-size: 22px !important; font-weight: 900; line-height: 1.4 !important; color: #ffffff !important; }
main .kb-cta__text { margin: 8px 0 0 !important; font-size: 14px !important; line-height: 1.7 !important; color: #c7dcea !important; }
main .kb-cta__btn {
  display: inline-block; box-sizing: border-box; flex: 0 0 auto; min-width: 240px; padding: 15px 26px; background: #ffffff; color: #0e2b44 !important;
  border: 2px solid #ffffff; border-radius: 4px; font-size: 15.5px; font-weight: 700; line-height: 1.3; text-align: center; text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
main .kb-cta__btn:hover { background: #1a8fd0; border-color: #1a8fd0; color: #ffffff !important; transform: translateY(-2px); }
main .kb-cta__note { flex: 0 0 100%; margin: -4px 0 0 !important; font-size: 12px !important; color: #9fb6c7 !important; }

@media (max-width: 959px) {
  body.single h1.entry-title { font-size: 25px !important; }
  body.single .entry-content h2:not(#kb):not(#kb) { margin-top: 38px !important; font-size: 21px !important; }
  body.single .entry-content h3:not(#kb):not(#kb) { font-size: 18px !important; }
  main .kb-cta { display: block; padding: 22px 20px; margin-top: 32px; }
  main .kb-cta__btn { display: block; width: 100%; min-width: 0; margin-top: 16px; }
  main .kb-cta__note { margin-top: 10px !important; }
}
@media (max-width: 599px) {
  body.single h1.entry-title { font-size: 22px !important; line-height: 1.5 !important; }
  body.single .entry-content p { font-size: 15.5px !important; line-height: 1.9 !important; }
  body.single .entry-content h2:not(#kb):not(#kb) { font-size: 19.5px !important; }
  body.single .entry-content h3:not(#kb):not(#kb) { font-size: 17px !important; }
  body.single .st-mybox { padding: 14px 16px 4px !important; }
  body.single #toc_container, body.single .toc_white { padding: 14px 16px !important; }
  main .kb-cta__title { font-size: 19px !important; }
}
/* ---------- 13. v2.6 カテゴリ一覧・検索結果・その他の固定ページ（規約・プライバシー等） ---------- */
body.archive h1.entry-title, body.search h1.entry-title, body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) h1.entry-title {
  margin: 8px 0 18px !important; padding: 0 0 12px !important; border: 0 !important; border-bottom: 1px solid #e2e7eb !important;
  font-size: 28px !important; font-weight: 900 !important; line-height: 1.4 !important; color: #0e2b44 !important; background: none !important; text-align: left !important;
}
main .kanren dl { margin: 0 !important; padding: 16px 0 !important; border: 0 !important; border-bottom: 1px solid #e2e7eb !important; transition: background 0.2s ease; }
main .kanren dl:hover { background: #f8fbfd; }
main .kanren dt img { border-radius: 4px; }
main .kanren dd { font-size: 15.5px !important; line-height: 1.6 !important; }
main .kanren dd a { color: #0e2b44 !important; font-weight: 700; text-decoration: none; }
main .kanren dd a:hover { color: #0d6fb0 !important; }
main .kanren .st-catname, main .kanren .catname { display: inline-block; margin: 0 0 6px; padding: 2px 8px !important; background: #e6f4fc !important; color: #0d6fb0 !important; border-radius: 4px !important; font-size: 11.5px !important; font-weight: 700; }
main .kanren .blog_info, main .kanren .blog_info p { font-size: 12.5px !important; color: #5f7d90 !important; }
main .kanren .blog_info a { color: #5f7d90 !important; text-decoration: none; }
main .st-pagelink { margin: 28px 0 0 !important; }
main .st-pagelink .page-numbers { display: inline-block; min-width: 40px; margin: 0 4px 6px 0; padding: 9px 12px; background: #ffffff; border: 1px solid #e2e7eb; border-radius: 4px; color: #0e2b44; font-size: 14px; font-weight: 700; line-height: 1.3; text-align: center; text-decoration: none; }
main .st-pagelink a.page-numbers:hover { border-color: #1a8fd0; color: #0d6fb0; }
main .st-pagelink .page-numbers.current { background: #0e2b44; border-color: #0e2b44; color: #ffffff; }

body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) .entry-content p { font-size: 16px !important; line-height: 1.95 !important; color: #1f3a50 !important; }
body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) .entry-content h2:not(#kb):not(#kb) {
  margin: 44px 0 18px !important; padding: 0 0 10px !important; background: none !important; border: 0 !important; border-bottom: 2px solid #0e2b44 !important; border-radius: 0 !important; box-shadow: none !important;
  font-size: 22px !important; font-weight: 900 !important; line-height: 1.45 !important; color: #0e2b44 !important; text-align: left !important; text-shadow: none !important;
}
body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) .entry-content h3:not(#kb):not(#kb) {
  margin: 30px 0 12px !important; padding: 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  font-size: 18.5px !important; font-weight: 900 !important; line-height: 1.5 !important; color: #0e2b44 !important; text-align: left !important;
}
body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) .entry-content h2:not(#kb):not(#kb):before, body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) .entry-content h2:not(#kb):not(#kb):after,
body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) .entry-content h3:not(#kb):not(#kb):before, body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) .entry-content h3:not(#kb):not(#kb):after { display: none !important; }
body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) .entry-content ul, body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) .entry-content ol { margin: 0 0 1.4em; padding-left: 1.4em; }
body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) .entry-content li { margin: 0 0 6px; line-height: 1.8; color: #1f3a50; }
body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) .entry-content a { color: #0d6fb0; }

@media (max-width: 599px) {
  body.archive h1.entry-title, body.search h1.entry-title, body.page:not(.page-id-4228):not(.page-id-4637):not(.page-id-4584) h1.entry-title { font-size: 22px !important; }
}

/* ---------- 14. v2.7 用語集検索の補完表示（10/25 クライアントFB） ---------- */
/* テーマの「.post input」の指定に負けていたので、優先度を上げて入力欄の見た目を確定させる */
body.page-id-4584 .kb-gs__field { background: #ffffff; border-radius: 4px; }
body.page-id-4584 .kb-gs__input:not(#kb):not(#kb) {
  position: relative; z-index: 1; display: block; box-sizing: border-box; width: 100%; height: auto; margin: 0; padding: 14px 44px 14px 16px;
  border: 2px solid #0e2b44; border-radius: 4px; background: transparent; box-shadow: none;
  font-family: inherit; font-size: 16px; line-height: 1.4; letter-spacing: normal; color: #0e2b44; outline: 0;
}
body.page-id-4584 .kb-gs__input:not(#kb):not(#kb):focus { border-color: #1a8fd0; box-shadow: 0 10px 28px rgba(26, 143, 208, 0.14); }
/* 入力欄は透明にして、その下に「入力した文字（透明）＋補完の続き（薄字）」を敷く */
body.page-id-4584 .kb-gs__ghost {
  position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 0; box-sizing: border-box; overflow: hidden;
  padding: 14px 44px 14px 16px; border: 2px solid transparent; font-family: inherit; font-size: 16px; line-height: 1.4; letter-spacing: normal; color: #9fb6c7; white-space: pre; pointer-events: none;
}
body.page-id-4584 .kb-gs__ghost-typed { color: transparent; }
body.page-id-4584 .kb-gs__ghost:empty { display: none; }
/* 候補の一致部分 */
body.page-id-4584 .kb-gs__hit { background: none; color: #0d6fb0; font-weight: 900; }
@media (max-width: 599px) {
  body.page-id-4584 .kb-gs__input:not(#kb):not(#kb) { padding: 12px 40px 12px 14px; }
  body.page-id-4584 .kb-gs__ghost { padding: 12px 40px 12px 14px; }
}

/* ---------- 15. v2.8 残りの固定ページ：インタビュー(4640)・パートナー(4643)・お問合せ(45)（10/25） ---------- */
/* インタビュー・パートナー：ニュース一覧と同じ見出しエリアに（このページは見出しが <p> なしの素の文字なので、枠自体に文字指定） */
body.page-id-4640 .st-eyecatch-under, body.page-id-4643 .st-eyecatch-under { display: none !important; }
body.page-id-4640 main .custom-text-with-lines, body.page-id-4643 main .custom-text-with-lines {
  font-size: 34px; font-weight: 900; letter-spacing: -0.02em; line-height: 1.25; color: #0e2b44;
}
body.page-id-4640 main .custom-text-with-lines:before { content: "INTERVIEW"; }
body.page-id-4640 main .custom-text-with-lines:after { content: "AI活用の現場で何が変わったのか。専門家・企業に聞いた実例をお届けします。"; }
body.page-id-4643 main .custom-text-with-lines:before { content: "PARTNER"; }
body.page-id-4643 main .custom-text-with-lines:after { content: "クラベルAIと提携する専門家・サービスからのお知らせと、提携のご案内。"; }
main .view-more-interviews-button-container, main .view-more-partner-button-container { text-align: center; margin: 8px 0 8px; }
main .view-more-interviews-button, main .view-more-partner-button {
  display: inline-block; min-width: 280px; padding: 15px 28px !important; background: #0e2b44 !important; color: #ffffff !important;
  border: 2px solid #0e2b44; border-radius: 4px !important; box-shadow: none !important; font-size: 15px; font-weight: 700; text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
main .view-more-interviews-button:after, main .view-more-partner-button:after { content: " →"; }
main .view-more-interviews-button:hover, main .view-more-partner-button:hover { background: #ffffff !important; color: #0e2b44 !important; transform: translateY(-2px) !important; box-shadow: none !important; }

/* お問合せフォーム（/contact/ page 45）：本文側のフォームをトップ・サイドバーと同じ見た目に */
body.page-id-45 main .entry-content p.has-large-font-size:not(#kb):not(#kb) {
  margin: 8px 0 22px !important; padding: 0 0 12px !important; border-bottom: 1px solid #e2e7eb;
  font-size: 28px !important; font-weight: 900; line-height: 1.4 !important; color: #0e2b44 !important; text-align: left !important;
}
body.page-id-45 main .wpcf7 { max-width: 720px; }
body.page-id-45 main .wpcf7-form p { margin: 0 0 18px !important; font-size: 14px !important; line-height: 1.6 !important; color: #2b4d66 !important; }
body.page-id-45 main .wpcf7-form label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 700; line-height: 1.5; color: #0e2b44; }
body.page-id-45 main .wpcf7-form .wpcf7-list-item { display: block; margin: 0; }
body.page-id-45 main .wpcf7-form .wpcf7-list-item label { display: inline; margin: 0; font-weight: 400; color: #2b4d66; }
body.page-id-45 main .wpcf7-form .wpcf7-list-item a { color: #0d6fb0; text-decoration: underline; }
body.page-id-45 main .wpcf7-form br { display: none; }
body.page-id-45 main .wpcf7-form .wpcf7-acceptance { display: block; margin: 10px 0 0; }
/* お問合せページ本体には相談の帯は出さない（フォームが本体なので二重になる） */
body.page-id-45 main .kb-cta { display: none !important; }
body.page-id-45 main .wpcf7-form .wpcf7-form-control-wrap { display: block; }
body.page-id-45 main .wpcf7-form input[type="text"], body.page-id-45 main .wpcf7-form input[type="email"], body.page-id-45 main .wpcf7-form input[type="tel"], body.page-id-45 main .wpcf7-form input[type="url"], body.page-id-45 main .wpcf7-form select, body.page-id-45 main .wpcf7-form textarea {
  display: block; box-sizing: border-box; width: 100%; height: auto; margin: 0; padding: 13px 14px;
  border: 1.5px solid #d5dde3; border-radius: 4px; background: #ffffff; box-shadow: none;
  font-family: inherit; font-size: 16px; line-height: 1.4; color: #0e2b44; -webkit-appearance: none; appearance: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
body.page-id-45 main .wpcf7-form select { -webkit-appearance: menulist; appearance: menulist; }
body.page-id-45 main .wpcf7-form input[type="text"]:focus, body.page-id-45 main .wpcf7-form input[type="email"]:focus, body.page-id-45 main .wpcf7-form input[type="tel"]:focus, body.page-id-45 main .wpcf7-form input[type="url"]:focus, body.page-id-45 main .wpcf7-form select:focus, body.page-id-45 main .wpcf7-form textarea:focus {
  outline: 0; border-color: #1a8fd0; box-shadow: 0 0 0 3px rgba(26, 143, 208, 0.15);
}
body.page-id-45 main .wpcf7-form textarea { min-height: 150px; resize: vertical; }
body.page-id-45 main .wpcf7-form input[type="checkbox"] { width: auto; height: auto; margin: 0 8px 0 0; vertical-align: middle; -webkit-appearance: checkbox; appearance: checkbox; }
body.page-id-45 main .wpcf7-form .wpcf7-submit {
  display: block; box-sizing: border-box; width: 100%; max-width: 360px; margin: 22px 0 0; padding: 16px 24px;
  background: #1a8fd0 !important; color: #ffffff !important; border: 0 !important; border-radius: 4px !important; box-shadow: 0 12px 28px rgba(26, 143, 208, 0.25) !important;
  font-size: 16px; font-weight: 700; line-height: 1.3; letter-spacing: 0.02em; cursor: pointer; text-shadow: none;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
body.page-id-45 main .wpcf7-form .wpcf7-submit:hover { background: #0d6fb0 !important; transform: translateY(-2px); box-shadow: 0 18px 36px rgba(26, 143, 208, 0.3) !important; }
body.page-id-45 main .wpcf7-form .wpcf7-submit:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
body.page-id-45 main .wpcf7-form .wpcf7-spinner { display: block; margin: 10px auto 0; }
body.page-id-45 main .wpcf7-form .wpcf7-not-valid-tip { margin-top: 6px; font-size: 13px; color: #d0342c; }
body.page-id-45 main .wpcf7-form .wpcf7-response-output { margin: 18px 0 0 !important; padding: 12px 14px !important; border-radius: 4px; font-size: 14px; line-height: 1.6; }

@media (max-width: 599px) {
  body.page-id-4640 main .custom-text-with-lines, body.page-id-4643 main .custom-text-with-lines { font-size: 25px; }
  main .view-more-interviews-button, main .view-more-partner-button { box-sizing: border-box; width: 100%; min-width: 0; }
  body.page-id-45 main .entry-content p.has-large-font-size:not(#kb):not(#kb) { font-size: 22px !important; }
  body.page-id-45 main .wpcf7-form .wpcf7-submit { max-width: none; }
}

/* ---------- 16. v2.9 カテゴリー一覧ページ（/category/ page-id-4232。スライダー＋3列の入口）（10/26） ---------- */
/* 古い紺色のアイキャッチ画像を隠し、その枠を「見出しエリア」として使う（CATEGORY／カテゴリー一覧／説明文） */
body.page-id-4232 .st-eyecatch-under { display: block !important; margin: 8px 0 0 !important; padding: 12px 0 0 !important; }
body.page-id-4232 .st-eyecatch-under img { display: none !important; }
body.page-id-4232 .st-eyecatch-under:before { display: block; margin: 0 0 12px; color: #0d6fb0; font-size: 13px; font-weight: 900; letter-spacing: 0.18em; line-height: 1.4; content: "CATEGORY"; }
body.page-id-4232 .st-eyecatch-under:after { display: block; color: #0e2b44; font-size: 44px; font-weight: 900; letter-spacing: -0.02em; line-height: 1.25; content: "カテゴリー一覧"; }
body.page-id-4232 .entry-content:before { display: block; margin: 14px 0 32px; padding: 0 0 28px; border-bottom: 1px solid #e2e7eb; color: #2b4d66; font-size: 15.5px; line-height: 1.8; content: "最新AIニュース・パートナー情報・お役立ちコンテンツを、カテゴリーごとにまとめて確認できます。"; }

/* 見出し（新着記事／各種最新コンテンツ）：下線だけの見出し。角括弧の[new!!]は小さめに */
body.page-id-4232 .entry-content h3:not(#kb):not(#kb):not(#kb) { margin: 8px 0 18px !important; padding: 0 0 10px !important; border-bottom: 2px solid #0e2b44 !important; font-size: 22px !important; font-weight: 900 !important; color: #0e2b44 !important; }
body.page-id-4232 .entry-content > p:empty, body.page-id-4232 .entry-content > span.tag:empty { display: none; }

/* --- スライダー（新着記事）：トップのカードと同じ見た目に --- */
body.page-id-4232 .post-slider { margin: 0 0 44px !important; padding: 0 !important; }
/* 左右の padding は slick の中央寄せ（centerMode）が使うので触らない */
body.page-id-4232 .post-slider .slick-list { padding-top: 6px !important; padding-bottom: 12px !important; }
body.page-id-4232 .post-slider .slider-item { box-sizing: border-box !important; margin: 0 8px !important; padding: 0 !important; background: #ffffff !important; border: 1px solid #e2e7eb !important; border-radius: 4px !important; overflow: hidden; box-shadow: none !important; transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease; }
body.page-id-4232 .post-slider .slider-item:hover { border-color: #1a8fd0 !important; box-shadow: 0 14px 30px rgba(14, 43, 68, 0.08) !important; transform: translateY(-3px); }
body.page-id-4232 .post-slider .post-slide-image { position: relative; margin: 0 !important; }
body.page-id-4232 .post-slider .post-slide-image img { display: block; width: 100%; height: auto !important; border-radius: 0 !important; }
body.page-id-4232 .post-slider .post-slide-image .st-catgroup { position: absolute; left: 10px; top: 10px; margin: 0 !important; }
body.page-id-4232 .post-slider .post-slide-image .catname { display: inline-block; padding: 3px 9px !important; background: #0e2b44 !important; color: #ffffff !important; border-radius: 4px !important; font-size: 11.5px !important; font-weight: 700; line-height: 1.5; }
body.page-id-4232 .post-slider .post-slide-date:not(#kb):not(#kb) { display: inline-block !important; position: absolute; left: 10px; right: auto; bottom: 8px; width: auto !important; text-align: left; margin: 0 !important; padding: 2px 8px; background: rgba(255, 255, 255, 0.92); border-radius: 4px; font-size: 11.5px !important; line-height: 1.5; color: #5f7d90 !important; }
body.page-id-4232 .post-slider .post-slide-date i { display: none !important; }
body.page-id-4232 .post-slider .post-slide-body { padding: 14px 16px 16px !important; text-align: left !important; }
body.page-id-4232 .post-slider .post-slide-title { margin: 0 0 8px !important; font-size: 15.5px !important; font-weight: 700 !important; line-height: 1.55 !important; text-align: left !important; }
body.page-id-4232 .post-slider .post-slide-title a { color: #0e2b44 !important; text-decoration: none; }
body.page-id-4232 .post-slider .post-slide-title a:hover { color: #0d6fb0 !important; }
/* 抜粋は本文の冒頭がそのまま出て読みにくいので非表示（タイトル＋日付＋リンクだけに） */
body.page-id-4232 .post-slider .post-slide-excerpt { display: none !important; }
body.page-id-4232 .post-slider .post-slide-more { margin: 12px 0 0 !important; text-align: left !important; }
body.page-id-4232 .post-slider .post-slide-more a { display: inline-block; padding: 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; color: #0d6fb0 !important; font-size: 13.5px !important; font-weight: 700; text-decoration: none; }
body.page-id-4232 .post-slider .post-slide-more a:after { content: " →"; }
body.page-id-4232 .post-slider .post-slide-more a:hover { text-decoration: underline; }
/* 矢印は小さな丸ボタン、ドットは紺 */
body.page-id-4232 .post-slider .slick-arrow { width: 36px !important; height: 36px !important; background: #ffffff !important; border: 1px solid #e2e7eb !important; border-radius: 50% !important; opacity: 1 !important; box-shadow: 0 6px 16px rgba(14, 43, 68, 0.12); z-index: 2; }
body.page-id-4232 .post-slider .slick-arrow:before { color: #0e2b44 !important; opacity: 1 !important; font-size: 18px !important; }
body.page-id-4232 .post-slider .slick-prev { left: -10px !important; }
body.page-id-4232 .post-slider .slick-next { right: -10px !important; }
body.page-id-4232 .post-slider .slick-dots { bottom: -22px !important; }
body.page-id-4232 .post-slider .slick-dots li button:before { color: #0e2b44 !important; opacity: 0.25 !important; font-size: 9px !important; }
body.page-id-4232 .post-slider .slick-dots li.slick-active button:before { opacity: 1 !important; }

/* --- 3列（最新AIニュース／パートナー／お役立ちコンテンツ）：画像つきの見出しをやめ、下線の見出し＋記事リスト＋ボタン --- */
body.page-id-4232 .responbox33 { display: grid; grid-template-columns: repeat(3, calc((100% - 64px) / 3)); gap: 0 32px; margin: 0 0 8px; }
body.page-id-4232 .responbox33:before, body.page-id-4232 .responbox33:after { display: none; }
body.page-id-4232 .responbox33 .lbox { display: block; float: none; width: auto; padding: 0; margin: 0; }
body.page-id-4232 .responbox33 .st-flexbox-link { display: block; text-decoration: none; }
body.page-id-4232 .responbox33 .st-header-flexwrap:not(#kb):not(#kb) { display: block !important; height: auto !important; min-height: 0 !important; padding: 0 0 8px !important; margin: 0 0 4px !important; background: none !important; background-image: none !important; background-color: transparent !important; border: 0 !important; border-bottom: 2px solid #0e2b44 !important; border-radius: 0 !important; box-shadow: none !important; }
body.page-id-4232 .responbox33 .st-header-flexwrap:before, body.page-id-4232 .responbox33 .st-header-flexwrap:after { display: none !important; }
body.page-id-4232 .responbox33 .st-header-flexbox { display: block !important; width: 100%; padding: 0 !important; margin: 0 !important; background: none !important; text-align: left !important; }
body.page-id-4232 .responbox33 .st-header-flextitle { margin: 0 !important; padding: 0 !important; color: #0e2b44 !important; font-size: 17px !important; font-weight: 900 !important; line-height: 1.4 !important; text-align: left !important; text-shadow: none !important; }
body.page-id-4232 .responbox33 .st-header-flextitle:after { content: " ›"; color: #1a8fd0; }
body.page-id-4232 .responbox33 .st-flexbox-link:hover .st-header-flextitle { color: #0d6fb0 !important; }
/* 記事リスト（共通の .kanren 指定に加えて、3列用にサムネを小さく） */
body.page-id-4232 .responbox33 .kanren { margin: 0 !important; }
body.page-id-4232 .responbox33 .kanren dl { padding: 14px 0 !important; }
body.page-id-4232 .responbox33 .kanren dt { width: 84px !important; margin-right: 12px !important; }
body.page-id-4232 .responbox33 .kanren dt img { display: block; width: 100%; height: auto; }
body.page-id-4232 .responbox33 .kanren dd { margin-left: 0 !important; padding-left: 96px !important; font-size: 14.5px !important; }
body.page-id-4232 .responbox33 .kanren .kanren-t { margin: 0 !important; font-size: 14.5px !important; line-height: 1.55 !important; }
/* 「他の〜もみる」ボタン：3つとも同じ見た目（紺の角丸4px）。記事リストのすぐ下に置く */
body.page-id-4232 .responbox33 .view-more-news-button-container, body.page-id-4232 .responbox33 .view-more-partner-button-container, body.page-id-4232 .responbox33 .view-more-content-container { margin: 18px 0 0 !important; padding: 0; text-align: center; }
body.page-id-4232 .responbox33 .view-more-news-button, body.page-id-4232 .responbox33 .view-more-partner-button, body.page-id-4232 .responbox33 .view-more-content-button {
  display: block; box-sizing: border-box; width: 100%; min-width: 0; padding: 13px 16px !important; background: #0e2b44 !important; color: #ffffff !important;
  border: 2px solid #0e2b44 !important; border-radius: 4px !important; box-shadow: none !important; font-size: 14px !important; font-weight: 700; text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
body.page-id-4232 .responbox33 .view-more-news-button:after, body.page-id-4232 .responbox33 .view-more-content-button:after { content: " →"; }
body.page-id-4232 .responbox33 .view-more-news-button:hover, body.page-id-4232 .responbox33 .view-more-partner-button:hover, body.page-id-4232 .responbox33 .view-more-content-button:hover { background: #ffffff !important; color: #0e2b44 !important; transform: translateY(-2px) !important; box-shadow: none !important; }

@media (max-width: 959px) {
  body.page-id-4232 .responbox33 { grid-template-columns: repeat(2, calc((100% - 24px) / 2)); gap: 0 24px; }
}
@media (max-width: 599px) {
  body.page-id-4232 .st-eyecatch-under:after { font-size: 28px; }
  body.page-id-4232 .entry-content:before { margin: 10px 0 24px; padding-bottom: 18px; font-size: 14.5px; }
  body.page-id-4232 .entry-content h3:not(#kb):not(#kb):not(#kb) { font-size: 19px !important; }
  /* スマホ：テーマは左右80pxを空けて両隣をのぞかせる設定（カードが171pxと狭い）。1枚を幅いっぱいに */
  body.page-id-4232 .post-slider .slick-list { padding-left: 0 !important; padding-right: 0 !important; }
  body.page-id-4232 .post-slider .slider-item { margin: 0 6px !important; }
  body.page-id-4232 .post-slider .slick-prev { left: 2px !important; }
  body.page-id-4232 .post-slider .slick-next { right: 2px !important; }
  body.page-id-4232 .post-slider .post-slide-body { padding: 12px 14px 14px !important; }
  body.page-id-4232 .post-slider .post-slide-title { font-size: 15px !important; }
  body.page-id-4232 .responbox33 { display: block; }
  body.page-id-4232 .responbox33 .lbox { display: block; margin: 0 0 32px; }
  body.page-id-4232 .responbox33 .kanren dt { width: 96px !important; }
  body.page-id-4232 .responbox33 .kanren dd { padding-left: 108px !important; }
}

/* ---------- 17. サイドバー 専門家募集バナー：文字を見やすく（v3.0 2026-10-29） ---------- */
/* 導入文・本文を白に、見出し「専門家募集中」はPCで1行・34px、ボタンは白地で目立たせる */
#side .kb-side-partner { padding: 24px 22px 24px; }
#side .kb-side-partner__label { font-size: 11px; color: #d9eefb; border-color: rgba(255, 255, 255, 0.55); }
#side .kb-side-partner__lead { margin-top: 14px; font-size: 13px; line-height: 1.7; font-weight: 700; color: #ffffff; }
#side .kb-side-partner__title { margin-top: 8px; font-size: 34px; line-height: 1.2; letter-spacing: 0.03em; white-space: nowrap; }
#side .kb-side-partner__title br { display: none; }
#side .kb-side-partner__text { margin-top: 12px; padding-right: 86px; font-size: 14px; line-height: 1.85; color: #ffffff; }
#side .kb-side-partner__btn { margin-top: 18px; padding: 13px 14px; font-size: 15px; background: #ffffff; color: #0e2b44; border-color: #ffffff; }
#side .kb-side-partner:hover .kb-side-partner__btn { background: #1a8fd0; color: #ffffff; border-color: #1a8fd0; }
#side .kb-side-partner__img { right: -8px; bottom: 70px; width: 96px; }
@media (max-width: 599px) {
  #side .kb-side-partner__title { white-space: normal; font-size: 32px; }
  #side .kb-side-partner__title br { display: inline; }
}

/* ---------- 18. 記事下の回遊「次に読む」（v3.1 2026-10-29） ---------- */
/* 関連記事3件を一覧ページと同じカードに（スマホは横並びの小カード）、前後の記事は「← 前の記事／次の記事 →」の2枚、最後に「○○の記事一覧へ」ボタン */
body.single aside h4.point { margin: 0 0 18px !important; font-size: 20px !important; }
body.single .kanren { display: flex; flex-wrap: wrap; margin: 0 -8px; }
body.single .kanren dl { box-sizing: border-box; width: calc(33.333% - 16px); margin: 0 8px 16px !important; padding: 0 !important; border: 1px solid #e2e7eb !important; border-radius: 4px; overflow: hidden; background: #ffffff; transition: box-shadow 0.25s ease, transform 0.25s ease; }
body.single .kanren dl:hover { background: #ffffff; box-shadow: 0 12px 28px rgba(14, 43, 68, 0.10); transform: translateY(-3px); }
body.single .kanren dt { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
body.single .kanren dt a { display: block; }
body.single .kanren dt img { display: block; width: 100% !important; height: auto !important; border-radius: 0; }
body.single .kanren dd { margin: 0 !important; padding: 12px 14px 16px !important; }
body.single .kanren dd .st-catgroup { margin: 0 0 6px !important; }
body.single .kanren dd .catname { margin: 0 !important; }
body.single .kanren dd h5.kanren-t { margin: 0 !important; font-size: 14.5px !important; line-height: 1.6 !important; }
body.single .kanren dd h5.kanren-t a { font-size: inherit !important; line-height: inherit !important; }
body.single .p-navi { display: flex; gap: 12px; margin: 8px 0 0 !important; padding: 20px 0 0 !important; }
body.single .p-navi a.st-prev-link, body.single .p-navi a.st-next-link { flex: 1 1 0; box-sizing: border-box; min-width: 0; padding: 14px 16px !important; border: 1px solid #e2e7eb; border-radius: 4px; background: #ffffff; transition: border-color 0.2s ease; }
body.single .p-navi a:hover { border-color: #1a8fd0; }
body.single .p-navi a.st-next-link { text-align: right; }
body.single .p-navi .st-prev, body.single .p-navi .st-next { display: block !important; position: static !important; float: none !important; text-align: inherit; margin: 0 !important; padding: 0 !important; width: auto !important; }
body.single .p-navi .st-prev:before, body.single .p-navi .st-next:before { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; color: #0d6fb0; }
body.single .p-navi .st-prev:before { content: "← 前の記事"; }
body.single .p-navi .st-next:before { content: "次の記事 →"; }
body.single .p-navi img, body.single .p-navi .st-svg { display: none !important; }
body.single .p-navi .st-prev-title, body.single .p-navi .st-next-title { display: block; font-size: 14px; font-weight: 700; line-height: 1.6; color: #0e2b44; }
body.single .kb-listlink { display: block; width: 100%; box-sizing: border-box; margin: 20px 0 0; padding: 14px 18px; border: 1.5px solid #0e2b44; border-radius: 4px; background: #ffffff; color: #0e2b44 !important; font-size: 14.5px; font-weight: 700; text-align: center; text-decoration: none; transition: background 0.2s ease, color 0.2s ease; }
body.single .kb-listlink:hover { background: #0e2b44; color: #ffffff !important; }
@media (max-width: 599px) {
  body.single .kanren { display: block; margin: 0; }
  body.single .kanren dl { display: flex; align-items: flex-start; width: auto; margin: 0 0 12px !important; padding: 10px !important; }
  body.single .kanren dt { flex: 0 0 116px; width: 116px !important; }
  body.single .kanren dt img { border-radius: 4px; }
  body.single .kanren dd { flex: 1 1 auto; padding: 0 0 0 12px !important; }
  body.single .kanren dd h5.kanren-t { font-size: 14px !important; line-height: 1.55 !important; }
  body.single .kanren dd .catname { font-size: 10.5px !important; padding: 1px 6px !important; }
  body.single .p-navi { flex-direction: column; }
  body.single .p-navi a.st-next-link { text-align: left; }
}

/* ---------- 19. 記事本文のパーツをトップのテイストに（v3.3 2026-10-29） ---------- */
/* トップのカード（白地・枠線なし・角丸4px・やわらかい影 0 16px 40px rgba(14,43,68,.07)）と、
   トップのFAQ（囲まず1pxの罫線で区切る）に合わせる。マーカー（黄色）と吹き出しの色は元のまま */
/* 箇条書き：デフォルトの黒丸 → 小さな青い点。番号は青の太字 */
body.single .entry-content ul:not(.toc_list):not(.st-cardbox) { list-style: none !important; margin: 0 0 1.6em !important; padding-left: 0 !important; }
body.single .entry-content ul:not(.toc_list):not(.st-cardbox) > li { position: relative; margin: 0 0 8px !important; padding-left: 20px !important; line-height: 1.85 !important; }
body.single .entry-content ul:not(.toc_list):not(.st-cardbox) > li:before { content: ""; position: absolute; left: 4px; top: 0.78em; width: 7px; height: 7px; border-radius: 50%; background: #1a8fd0; }
body.single .entry-content .st-list-check ul > li { padding-left: 0 !important; }
body.single .entry-content .st-list-check ul > li:before { display: none !important; }
body.single .entry-content #toc_container ul li { padding-left: 0 !important; }
body.single .entry-content #toc_container ul li:before { display: none !important; }
body.single .entry-content ol { margin: 0 0 1.6em !important; padding-left: 1.5em !important; }
body.single .entry-content ol > li { margin: 0 0 8px !important; padding-left: 4px; line-height: 1.85 !important; }
body.single .entry-content ol > li::marker { color: #0d6fb0; font-weight: 700; }
/* 記事冒頭のポイント箱・目次：トップのカードに */
body.single .st-mybox { margin: 0 0 32px !important; padding: 22px 24px 10px !important; background: #ffffff !important; border: 0 !important; border-radius: 4px !important; box-shadow: 0 16px 40px rgba(14, 43, 68, 0.07) !important; }
body.single .st-mybox p.st-mybox-title { margin: 0 0 10px !important; padding: 0 !important; font-size: 13px !important; line-height: 1.5 !important; font-weight: 700 !important; letter-spacing: 0.1em; color: #0d6fb0 !important; background: none !important; border: 0 !important; }
body.single .st-mybox p.st-mybox-title .st-svg, body.single .st-mybox p.st-mybox-title i { font-size: 13px !important; color: #0d6fb0 !important; }
body.single .entry-content .st-mybox .st-in-mybox ul { margin: 0 0 12px !important; }
body.single .st-mybox .st-in-mybox li { font-size: 15.5px !important; line-height: 1.8 !important; color: #1f3a50 !important; }
body.single .st-mybox .st-in-mybox p { margin: 0 0 12px !important; }
body.single #toc_container, body.single .toc_white { padding: 20px 24px !important; border: 0 !important; box-shadow: 0 16px 40px rgba(14, 43, 68, 0.07) !important; }
/* 会話ふきだし（あいちゃん）：元の白地・濃い枠のまま、角丸と文字サイズだけそろえる */
body.single .st-kaiwa-box { margin: 16px 0 28px !important; }
body.single .st-kaiwa-face-name { margin-top: 2px !important; font-size: 11px !important; color: #5f7d90 !important; }
body.single .st-kaiwa-hukidashi { border-radius: 4px !important; font-size: 15px !important; line-height: 1.8 !important; box-shadow: none !important; }
body.single .st-kaiwa-hukidashi p { margin: 0 !important; font-size: 15px !important; line-height: 1.8 !important; }
/* タイトル付きボックス（freebox）：白いカード。タイトルは太字＋細い罫線 */
body.single .freebox { margin: 0 0 32px !important; padding: 20px 24px 8px !important; background: #ffffff !important; border: 0 !important; border-radius: 4px !important; box-shadow: 0 16px 40px rgba(14, 43, 68, 0.07) !important; }
body.single .freebox .p-free:after, body.single .freebox .p-free:before { display: none !important; }
body.single .freebox .p-free { height: auto !important; min-height: 0 !important; margin: 0 0 14px !important; padding: 0 0 10px !important; background: none !important; border: 0 !important; border-bottom: 1px solid #e2e7eb !important; line-height: 1.5 !important; }
body.single .freebox.has-title .p-free .p-entry-f, body.single .freebox .p-entry-f { position: static !important; top: auto !important; left: auto !important; display: inline-block !important; width: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; color: #0e2b44 !important; font-size: 15.5px !important; font-weight: 700 !important; line-height: 1.5 !important; transform: none !important; }
body.single .freebox .free-inbox { padding: 0 !important; }
body.single .entry-content .freebox .free-inbox ul, body.single .entry-content .freebox .free-inbox ol { margin: 0 0 12px !important; }
body.single .freebox .free-inbox p:last-child { margin-bottom: 12px !important; }
/* 内部リンクカード（st-cardbox）：白いカード。左に画像、右に小さな見出し「あわせて読みたい」＋タイトル＋「記事を読む →」 */
body.single .entry-content .wp-block-embed, body.single .entry-content .wp-block-embed__wrapper { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.single a.st-cardlink { display: block; text-decoration: none !important; }
body.single a.st-cardlink:before, body.single a.st-cardlink:after, body.single .st-cardbox:before, body.single .st-cardbox:after, body.single .st-cardbox dl:after { display: none !important; }
body.single .st-cardbox { display: block !important; position: relative; margin: 0 0 32px !important; padding: 14px !important; border: 0 !important; border-radius: 4px !important; background: #ffffff !important; overflow: hidden; box-shadow: 0 16px 40px rgba(14, 43, 68, 0.07) !important; transition: box-shadow 0.25s ease, transform 0.25s ease; }
body.single .st-cardbox:hover { box-shadow: 0 20px 48px rgba(14, 43, 68, 0.12) !important; transform: translateY(-2px); }
body.single .st-cardbox dl { display: flex !important; width: 100% !important; box-sizing: border-box; align-items: center; margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.single .st-cardbox dt.st-card-img { flex: 0 0 36%; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
body.single .st-cardbox dt img { display: block; width: 100% !important; height: auto !important; border-radius: 4px !important; }
body.single .st-cardbox dd { flex: 1 1 auto; min-width: 0; margin: 0 !important; padding: 4px 8px 4px 22px !important; }
body.single .st-cardbox dd:before { content: "あわせて読みたい"; display: block; margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; color: #0d6fb0; }
body.single .st-cardbox .st-cardbox-t { margin: 0 !important; padding: 0 !important; font-size: 16.5px !important; font-weight: 700 !important; line-height: 1.55 !important; color: #0e2b44 !important; }
body.single .st-cardbox .st-cardbox-t a { color: inherit !important; text-decoration: none !important; }
body.single .st-cardbox .st-card-excerpt { margin: 8px 0 0 !important; font-size: 13px !important; line-height: 1.7 !important; color: #5f7d90 !important; }
body.single .st-cardbox .cardbox-more { display: inline-block; margin: 12px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: #0d6fb0 !important; font-size: 13.5px !important; font-weight: 700 !important; line-height: 1.4 !important; text-align: left !important; }
body.single .st-cardbox .cardbox-more a { padding: 0 !important; border: 0 !important; background: none !important; color: inherit !important; text-decoration: none !important; }
body.single .st-cardbox .cardbox-more:after { content: " →"; }
body.single .st-cardbox:hover .cardbox-more { text-decoration: underline; }
/* チェックリストの箱（box5）：白いカード */
body.single .box5 { margin: 0 0 32px !important; padding: 20px 24px 10px !important; background: #ffffff !important; border: 0 !important; border-radius: 4px !important; box-shadow: 0 16px 40px rgba(14, 43, 68, 0.07) !important; }
body.single .entry-content .box5 ul, body.single .entry-content .st-list-check ul { margin: 0 !important; }
body.single .st-list-check li { font-size: 15.5px; line-height: 1.8; }
/* アコーディオン（よくある質問）：トップのFAQと同じく、囲まず1pxの罫線で区切る。開閉の印は右端 */
body.single .sp-easy-accordion { margin: 0 0 32px !important; border-top: 1px solid #e2e7eb; }
body.single .sp-easy-accordion .ea-card { margin: 0 !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid #e2e7eb !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.single .sp-easy-accordion h3.ea-header:not(#kb):not(#kb):not(#kb), body.single .sp-easy-accordion .ea-header { margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; font-size: 16px !important; line-height: 1.55 !important; }
body.single .sp-easy-accordion .ea-header a { position: relative; display: block; padding: 18px 44px 18px 0 !important; background: transparent !important; color: #0e2b44 !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.55 !important; text-decoration: none !important; }
body.single .sp-easy-accordion .ea-header a:hover { background: transparent !important; color: #0d6fb0 !important; }
body.single .sp-easy-accordion .ea-header .ea-expand-icon { position: absolute; right: 4px; top: 50%; margin: 0 !important; transform: translateY(-50%); float: none !important; color: #0d6fb0 !important; font-size: 14px !important; }
body.single .sp-easy-accordion .ea-body { padding: 0 0 18px !important; background: transparent !important; border: 0 !important; font-size: 15px; line-height: 1.85; color: #2b4d66; }
body.single .sp-easy-accordion .ea-body p { margin: 0 0 0.8em !important; font-size: 15px !important; line-height: 1.85 !important; color: #2b4d66 !important; }
/* 画像キャプション */
body.single .entry-content figcaption { margin: 6px 0 0 !important; font-size: 12.5px !important; line-height: 1.6; color: #5f7d90 !important; text-align: center; }
/* 記事下：シェアボタン・著者ボックス・「次に読む」カード・前後の記事もトップのカードに（白地・影・角丸4px） */
body.single .st-sns-singular ul li a { background: #ffffff !important; color: #0e2b44 !important; border: 1px solid #e2e7eb !important; border-radius: 4px !important; box-shadow: none !important; font-weight: 700; transition: border-color 0.2s ease, color 0.2s ease; }
body.single .st-sns-singular ul li a:hover { border-color: #1a8fd0 !important; color: #0d6fb0 !important; opacity: 1 !important; }
body.single .st-sns-singular ul li.twitter a .st-svg-twitter:before { color: #1d9bf0; }
body.single .st-sns-singular ul li.facebook a .st-svg-facebook:before { color: #1877f2; }
body.single .st-sns-singular ul li.hatebu a .st-svg-hateb:before { color: #00a4de; }
body.single .st-author-box { padding: 0 !important; border: 0 !important; border-radius: 4px !important; box-shadow: 0 16px 40px rgba(14, 43, 68, 0.07) !important; background: #ffffff !important; }
body.single .st-author-box #st-tab-menu { margin: 0 !important; padding: 16px 20px 0 !important; border: 0 !important; background: #ffffff !important; }
body.single .st-author-box #st-tab-menu li { margin: 0 8px 0 0 !important; padding: 8px 14px !important; border: 1px solid #e2e7eb !important; border-radius: 4px !important; background: #ffffff !important; color: #5f7d90 !important; font-size: 12.5px !important; font-weight: 700; }
body.single .st-author-box #st-tab-menu li.active { background: #0e2b44 !important; border-color: #0e2b44 !important; color: #ffffff !important; }
body.single .st-author-box #st-tab-box { margin: 0 !important; padding: 16px 20px 20px !important; border: 0 !important; background: #ffffff !important; }
body.single .st-author-box #st-tab-box > div { border: 0 !important; padding: 0 !important; background: #ffffff !important; }
body.single .st-author-box dl, body.single .st-author-box dt, body.single .st-author-box dd { border: 0 !important; }
body.single .st-author-box dd { font-size: 14px !important; line-height: 1.8 !important; color: #2b4d66 !important; }
body.single .st-author-box dd .st-author-name, body.single .st-author-box dd b, body.single .st-author-box dd strong { color: #0e2b44 !important; }
body.single .kanren dl { border: 0 !important; box-shadow: 0 16px 40px rgba(14, 43, 68, 0.07); }
body.single .kanren dl:hover { box-shadow: 0 20px 48px rgba(14, 43, 68, 0.12); }
body.single .p-navi a.st-prev-link, body.single .p-navi a.st-next-link { border: 0 !important; box-shadow: 0 16px 40px rgba(14, 43, 68, 0.07); transition: box-shadow 0.25s ease, transform 0.25s ease; }
body.single .p-navi a:hover { box-shadow: 0 20px 48px rgba(14, 43, 68, 0.12); transform: translateY(-2px); }
@media (max-width: 599px) {
  body.single .st-mybox, body.single .freebox, body.single .box5 { padding-left: 18px !important; padding-right: 18px !important; }
  body.single #toc_container, body.single .toc_white { padding: 16px 18px !important; }
  body.single .st-cardbox { padding: 12px !important; }
  body.single .st-cardbox dl { display: block !important; }
  body.single .st-cardbox dt.st-card-img { width: 100% !important; }
  body.single .st-cardbox dd { padding: 12px 4px 4px !important; }
  body.single .st-kaiwa-hukidashi { font-size: 14.5px !important; }
  body.single .sp-easy-accordion .ea-header a { padding: 14px 36px 14px 0 !important; font-size: 15px !important; }
}

/* ===== kuraberuai lower pages v3.3 end（v2.8 + カテゴリー一覧ページ） ===== */
