/*
Theme Name:keiba-archive
Theme URI:https://example.com/
Author:Local Dev
Description:Minimal, fast, SEO-oriented WordPress theme with a very small file set.
Version:1.0.0
Requires at least:6.0
Tested up to:6.5
Requires PHP:8.0
Text Domain:keiba-archive
*/
:root{
  --bg:#fff;
  --text:#111;
  --muted:#666;
  --line:#e5e5e5;
  --accent:#0c5395;
  --navy-deep:rgb(0 15 39);
  --navy-mid:rgb(8 25 59);
  --navy-light:rgb(15 46 103);
  --gradient-navy-vertical:linear-gradient(to bottom,var(--navy-deep),var(--navy-mid),var(--navy-light));
  --gradient-navy-horizontal:linear-gradient(to right,var(--navy-deep),var(--navy-mid),var(--navy-light));
  --white-overlay-soft:#ffffffc2;
  --white-overlay-light:#ffffffe0;
  --gradient-white-horizontal:linear-gradient(to right,var(--white-overlay-soft),var(--white-overlay-soft),var(--white-overlay-light));
}
*,
*::before,
*::after{
  box-sizing:border-box;
}
html{
  line-height:1.6;
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  font-family:serif;
  background:var(--bg) url('img/background.jpeg') center center / cover fixed no-repeat;
  color:var(--text);
}
a{
  color:var(--accent);
  text-underline-offset:2px;
}
.site-header,
.site-footer{
  border-bottom:1px solid var(--line);
}
.site-header{
  position:relative;
}
.site-footer{
  border-bottom:0;
  border-top:1px solid var(--line);
  background:var(--bg);
}
.site-footer .container{
  padding:1rem 0;
}
.footer-links ul{
  margin:0 0 0.75rem;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem 1rem;
  justify-content:center;
}
.footer-links a{
  text-decoration:none;
  color:inherit;
}
.site-footer p{
  margin:0;
  color:var(--muted);
  font-size:0.9rem;
  text-align:center;
}
.container{
  width:100%;
  margin-inline:auto;
}
main.container{
  max-width:1200px;
}
.site-header-top{
  --header-padding:0.85rem;
  padding:var(--header-padding);
  background:var(--bg);
  position: relative;
}
.site-logo{
  text-decoration:none;
  display: block;
  margin: 0 auto;
  width: fit-content;
}
.site-logo-img{
  display:block;
  height: auto;
  width:auto;
  max-width:320px;
  object-fit:contain;
}
.site-header-actions{
  display:flex;
  align-items:center;
  gap:0.5rem;
  justify-self:end;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: var(--header-padding);
}
.site-search{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:0.25rem;
}
.site-search-label{
  margin:0;
  font-size:0.75rem;
  color:var(--muted);
}
.site-search form{
  display:flex;
  align-items:center;
  gap:0.4rem;
}
.site-search input[type="search"]{
  width:180px;
  border:1px solid var(--line);
  border-radius:4px;
  padding:0.35rem 0.5rem;
}
.site-search input[type="submit"]{
  border:1px solid var(--line);
  background:var(--bg);
  border-radius:4px;
  padding:0.35rem 0.6rem;
  cursor:pointer;
}
/* アイコンボタン（ハンバーガー・検索） 共通 */
.header-icon-btn{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border:2px solid var(--navy-deep);
  border-radius:4px;
  cursor:pointer;
  user-select:none;
  color:var(--navy-deep);
  background:var(--bg);
  transition:background 0.15s, color 0.15s, border-color 0.15s;
  padding:0;
  flex-shrink:0;
}
.header-icon-btn::-webkit-details-marker{ display:none; }
.header-icon-btn::marker{ display:none; }

/* ハンバーガー:紺グラデーション */
.site-menu-drawer .header-icon-btn{
  background:linear-gradient(160deg, var(--navy-deep), var(--navy-light));
  border-color:var(--navy-deep);
  color:var(--bg);
}
.site-menu-drawer .header-icon-btn:hover{
  background:var(--accent);
  border-color:var(--accent);
}
.site-menu-drawer{
  position:relative;
}
.site-menu-panel{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  width:180px;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:6px;
  box-shadow:0 8px 24px rgba(0, 0, 0, 0.08);
  z-index:30;
}
.site-menu-panel ul{
  margin:0;
  padding:0.5rem;
  list-style:none;
}
.site-menu-panel a{
  display:block;
  padding:0.45rem 0.5rem;
  text-decoration:none;
  text-align:center;
}
/* 検索ドロワー（常時表示） */
.site-search-drawer{
  display:block;
}
.mobile-search-panel{
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  background:var(--bg);
  border-top:2px solid var(--accent);
  border-bottom:1px solid var(--line);
  padding:0.75rem 1rem;
  box-shadow:0 4px 16px rgba(0, 0, 0, 0.1);
  z-index:40;
  box-sizing:border-box;
}
.mobile-search-panel .search-form{
  display:flex;
  gap:0.5rem;
}
.mobile-search-panel input[type="search"]{
  flex:1;
  width:100%;
  padding:0.55rem 0.75rem;
  border:1px solid var(--line);
  border-radius:4px;
  font-size:1rem;
  outline:none;
}
.mobile-search-panel input[type="search"]:focus{
  border-color:var(--accent);
}
.mobile-search-panel input[type="submit"]{
  padding:0.55rem 1.1rem;
  background:var(--accent);
  color:var(--bg);
  border:none;
  border-radius:4px;
  font-size:0.95rem;
  cursor:pointer;
  white-space:nowrap;
}

.header-links {
    border-top: 1px solid var(--line);
    background: var(--gradient-navy-vertical);
}
.header-links ul {
    padding: 0px;
    list-style: none;
    display: grid;
    grid-template-columns:repeat(5,1fr);
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
}

.header-links li {
    border-left: 1px solid rgba(255, 255, 255, 0.25);
    max-width: 240px;
    width: 100%;
}
.header-links li:last-child {
    border-right: 1px solid rgba(255, 255, 255, 0.25);
}
.header-links a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: var(--bg);
    padding: 0.6rem 0;
    gap: 0.1rem;
    font-size:12px;
}
.nav-en {
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1;
    font-size:clamp(12px,2.2vw,2.2em);
}
.nav-ja {
    opacity: 0.8;
    line-height: 1;
}
main{
  padding:1.5rem 0 2rem;
}
.content-layout{
  display:grid;
  gap:1.5rem;
}
.content-layout.has-sidebar{
  grid-template-columns:minmax(0, 1fr) 300px;
}
.content-layout.no-sidebar{
  grid-template-columns:minmax(0, 1fr);
}
.content-main{
  min-width:0;
  background:#fff;
  padding:.5rem
}
.content-main img{
  max-width:100%;
  height: auto;
}
.content-sidebar{
  border-left:1px solid var(--line);
  padding-left:1rem;
}
.widget{
  margin-bottom:1rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--line);
}
.widget-title{
  font-size:1rem;
  margin:0 0 0.6rem;
}

article{
  padding:1rem;
  border:1px solid var(--line);
  border-radius:10px;
  margin-bottom:1rem;
  background:var(--bg);
}
article:last-child{
  margin-bottom:0;
}
.is-list{
  display:flex;
  gap:1.1rem;
  align-items:center;
}
.is-list .post-body{
  flex:1;
  min-width:0;
}
.is-list h2{
  background: unset;
}
.post-thumbnail{
  display:block;
  width:360px;
  flex:0 0 360px;
  margin:0;
  overflow:hidden;
  border-radius:8px;
}
.post-thumbnail img{
  display:block;
  width:100%;
  height:200px;
  aspect-ratio:16 / 9;
  object-fit:cover;
}
.is-list .entry-content{
  font-size:0.95rem;
  line-height:1.55;
}
h1,
h2{
  line-height:1.3;
  margin:0 0 0.75rem;
}
h2{
  background: var(--gradient-navy-vertical);
  color: var(--bg);
  padding:0.5rem;
  position: relative;
}
h2:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url('img/graph_bg04.png') right/140% auto;
    position: absolute;
    top: 0;
    right: 0;
    opacity: .4;
}
.entry-meta{
  color:var(--muted);
  font-size:0.9rem;
  margin-bottom:0.75rem;
}
.pagination{
  display:flex;
  gap:0.5rem;
  padding-top:1.25rem;
}
.pagination a,
.pagination span{
  border:1px solid var(--line);
  padding:0.4rem 0.7rem;
  text-decoration:none;
}
.screen-reader-text{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}
/* ========================================
   記事（single）レイアウト
======================================== */

article.is-single{
  padding:0;
}
.eyecatch{
  max-width:700px;
  margin:1rem auto 0;
  overflow:hidden;
  border-radius:10px;
}
.eyecatch img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
article.is-single > header{
  padding:1.25rem 1.5rem 0;
}
article.is-single h1{
  font-size:1.35rem;
  line-height:1.5;
  margin:0 0 0.5rem;
  font-weight:700;
}
article.is-single .entry-meta{
  display:flex;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  padding-bottom:1rem;
  border-bottom:1px solid var(--line);
  margin-bottom:0;
}
.entry-updated{
  display:inline-flex;
  align-items:center;
  gap:0.3rem;
  font-size:0.82rem;
  color:var(--muted);

  svg{
    width:0.9em;
    height:0.9em;
    flex-shrink:0;
    vertical-align:middle;
  }
}
article.is-single .entry-content{
  padding:1.25rem 1.5rem 1.5rem;
}
/* ========================================
   記事本文タイポグラフィ
======================================== */

.entry-content{
  font-size:0.97rem;
  line-height:1.9;
  color:var(--text);
  word-break:break-word;
  overflow-wrap:break-word;
}
.entry-content > *:first-child{ margin-top:0; }
.entry-content > *:last-child { margin-bottom:0; }
/* --- 段落 --- */
.entry-content p{
  margin:0 0 1.1rem;
}
/* --- 見出し h2 --- */
.entry-content h2{
  font-size:1.15rem;
  font-weight:700;
  line-height:1.45;
  margin:2.25rem 0 0.9rem;
  padding:0.55rem 0.85rem;
  /* border-left:4px solid var(--accent); */
  background:var(--gradient-navy-vertical);
  color:var(--bg);
}
/* --- 見出し h3 --- */
.entry-content h3{
  font-size:1.05rem;
  font-weight:700;
  line-height:1.45;
  margin:1.9rem 0 0.75rem;
  padding-bottom:0.45rem;
  border-bottom:2px solid var(--accent);
}
/* --- 見出し h4 --- */
.entry-content h4{
  font-size:0.97rem;
  font-weight:700;
  line-height:1.45;
  margin:1.5rem 0 0.6rem;
  padding-left:0.65rem;
  border-left:3px solid var(--muted);
}
/* --- リスト --- */
.entry-content ul,
.entry-content ol{
  margin:0 0 1.1rem;
  padding-left:1.6rem;
}
.entry-content li{
  margin-bottom:0.4rem;
  line-height:1.75;
}
.entry-content li > ul,
.entry-content li > ol{
  margin-top:0.3rem;
  margin-bottom:0;
}
/* --- リンク --- */
.entry-content a{
  color:var(--accent);
  text-decoration:underline;
  text-underline-offset:2px;
}
.entry-content a:hover{
  opacity:0.8;
}
/* --- 強調 --- */
.entry-content strong,
.entry-content b{
  font-weight:700;
}
/* --- 画像 --- */
.entry-content img{
  max-width:100%;
  height:auto;
  border-radius:6px;
  display:block;
}
.entry-content figure{
  margin:1.5rem 0;
  text-align:center;
}
.entry-content figure img{
  margin-inline:auto;
  border-radius:6px;
  box-shadow:0 2px 8px rgba(0,0,0,0.08);
}
.entry-content figcaption{
  margin-top:0.4rem;
  font-size:0.8rem;
  color:var(--muted);
  text-align:right;
  line-height:1.5;
}
/* --- テーブル --- */
.entry-content .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:1.5rem 0;
}
.entry-content table{
  width:100%;
  font-size:0.9rem;
  border:1px solid #becfe5;
  border-collapse:collapse;
}
.entry-content th,
.entry-content td{
  padding:0.55rem 0.8rem;
  border:1px solid var(--line);
  text-align:left;
  line-height:1.55;
  vertical-align:top;
}
.entry-content th{
  background:var(--gradient-navy-horizontal);
  color:var(--bg);
  font-weight:700;
  border-color:rgba(255,255,255,0.15);
}
.entry-content thead th{
  white-space:nowrap;
}
.entry-content tbody tr:nth-child(even) td{
  background:#f6f9fc;
}
/* --- 引用 --- */
.entry-content blockquote{
  margin:1.5rem 0;
  padding:0.85rem 1.1rem;
  border-left:4px solid var(--accent);
  background:#f6f9fc;
  border-radius:0 6px 6px 0;
  color:#444;
}
.entry-content blockquote p{
  margin:0;
}
/* --- 区切り線 --- */
.entry-content hr{
  border:none;
  border-top:1px solid var(--line);
  margin:0;
}
/* --- コード --- */
.entry-content code{
  background:#f2f2f2;
  border-radius:3px;
  padding:0.1rem 0.35rem;
  font-size:0.88em;
  font-family:serif;
}
.entry-content pre{
  background:#f2f2f2;
  border-radius:6px;
  padding:1rem 1.1rem;
  overflow-x:auto;
  margin:1.25rem 0;
  line-height:1.6;
}
.entry-content pre code{
  background:none;
  padding:0;
  font-size:0.88rem;
}
/* --- WPブロック共通補正 --- */
.entry-content .wp-block-image{
  margin:1.5rem 0;
}
.entry-content .wp-block-image img{
  border-radius:6px;
}
/* --- サイト固有のカスタムボックス --- */
.entry-content .custom-box-kakomi{
  border:1px solid var(--line);
  border-radius:8px;
  margin:1.25rem 0;
  overflow:hidden;
}
.entry-content .custom-title{
  background:#eef4fc;
  border-bottom:1px solid var(--line);
  padding:0.4rem 0.85rem;
  font-weight:700;
  font-size:0.9rem;
  color:var(--accent);
}
.entry-content .custom-content{
  padding:0.75rem 1rem;
}
.entry-content .custom-content ul{
  margin-bottom:0;
}
@media (max-width:720px){
  .site-header-top{
    --header-padding:2vw;
  }
  .site-logo{
    margin-left:unset;
    width: 160px;
    display: block;
  }
  .site-logo-img{
  width: 100%;
  max-width: unset;
  }
  /* アイコンボタンをモバイル用に少し大きく */
  .header-icon-btn{
    width:38px;
    height:38px;
  }
  body{
    padding-bottom:64px;
  }
  .header-links {
	position: fixed;
	bottom: 0px;
	left: 0px;
	right: 0px;
	z-index: 1000;
	padding-bottom: env(safe-area-inset-bottom,0px);
  }
  .header-links ul {    }
  .header-links li {    }
  .header-links a {
	padding: 2em 0.3em 3em;
	font-size: 1.75vw;
  }
  .nav-en {
    letter-spacing: 0px;
    font-size: 1.65em;
  }
  .nav-ja {}

  .content-layout.has-sidebar{
    grid-template-columns:minmax(0, 1fr);
  }
  .content-sidebar{
    border-left:0;
    border-top:1px solid var(--line);
    padding-left:0;
    padding-top:1rem;
  }
  .post-thumbnail{
    width:140px;
    flex:0 0 140px;
    margin:0;
  }
  .post-thumbnail img{
    height:84px;
  }
  .is-list{
    gap:0.75rem;
  }
  article.is-list{
    padding:0.45rem;
  }
  .is-list h2{
    font-size:0.95rem;
    line-height:1.35;
    margin-bottom:0.35rem;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .is-list .entry-meta{
    font-size:0.78rem;
    margin-bottom:0.35rem;
  }
  .is-list .entry-content{
    font-size:0.82rem;
    line-height:1.45;
  }
  .site-search-label{
    display:none;
  }
  .rank-table-head,
  .rank-row{
    grid-template-columns:48px 1fr 56px 56px;
  }
  .rank-col-stat:nth-child(n+5){
    display:none;
  }
  .forecast-card__body{
    width:60%;
    max-width:none;
  }
  .section-block > h1{
    font-size:1.5rem;
  }
  /* 記事コンテンツ モバイル調整 */
  .eyecatch{
    width:96%;
    border-radius:0;
    /* margin-left:-1rem;
    margin-right:-1rem;
    width:calc(100% + 2rem); */
  }
  article.is-single > header,
  article.is-single .entry-content{
    padding-left:.7rem;
    padding-right:.7rem;
  }
  article.is-single h1{
    font-size:1.15rem;
  }
  .entry-content h2{
    font-size:1.05rem;
  }
  .entry-content h3{
    font-size:1rem;
  }
  /* テーブルは横スクロール */
  .entry-content table{
    white-space:nowrap;
  }
  .rank-card__img{
    width:120px;
  }
  .rank-card__stat-row{
    font-size:0.82rem;
  }
  .s-pickup-grid{
    grid-template-columns:1fr;
  }
  .rank-tab-btn{
    font-size:0.95rem;
    padding:0.5rem 0.25rem;
  }
  /* .rank-panel{
    padding:0.55rem;
  } */
}
/* ========================================
   セクション共通
======================================== */

.section-block{
  margin:0 4px 1.75rem;
}
.section-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0;
  padding:0.5rem 0.8rem;
  background:var(--gradient-navy-vertical);
  color:var(--bg);
  font-size:1rem;
  font-weight:700;
  border-radius:6px 6px 0 0;
}
.section-header--gray{
  background:#555;
}
.section-header-link{
  font-size:0.8rem;
  font-weight:400;
  color:rgba(255, 255, 255, 0.85);
  text-decoration:underline;
  text-underline-offset:2px;
}
/* ========================================
   最新予想ログ スライダー
======================================== */

/* ========================================
   最新予想ログ — Swiper Coverflow
======================================== */
.section-block > h1{
  text-align:center;
}
.section-forecast-swiper h1{
  font-size: clamp(20px,5.6vw,40px);
}
.forecast-swiper{
  padding:0.5rem 0;
  overflow:visible;
}
.forecast-swiper .swiper-slide{
  width:85%;
  max-width:750px;
  aspect-ratio:900/471;
}
.forecast-card{
  display:flex;
  align-items:stretch;
  height:100%;
  border:3px solid #fff;
  border-radius:4px;
  overflow:hidden;
  background-color:var(--navy-deep);
  background-size:cover;
  background-position:center;
  box-shadow:0px 0px 1px 2px rgba(0, 0, 0, 0.18);
  text-decoration:none;
  color:var(--text);
  transition:box-shadow 0.2s, transform 0.2s;
}
.forecast-card:hover{
  box-shadow:0 6px 24px rgba(0,0,0,0.28);
  transform:translateY(-1px);
}
.forecast-card__body{
  width:45%;
  max-width:200px;
  flex-shrink:0;
  margin:0.5rem 0 0.5rem 0.6rem;
  padding:0.6rem 0.85rem;
  display:flex;
  flex-direction:column;
  gap:0.25rem;
  min-width:0;
  background:#ffffffc9;
  backdrop-filter:blur(4px);
  border: solid 1px #e8e6e6;
}
.forecast-card__name{
  font-size:0.92rem;
  font-weight:700;
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--text);
}
.forecast-card__date{
  font-size:0.72rem;
  color:var(--muted);
  margin:0;
}
.forecast-card__race{
  font-size:0.78rem;
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--text);
}
.forecast-card__result{
  font-size:0.82rem;
  font-weight:600;
  margin:0;
  display:flex;
  align-items:center;
  gap:0.4rem;
}
.forecast-card__result.is-hit{
  color:#1a7f4e;
}
.forecast-card__result.is-miss{
  color:#cc3333;
}
.forecast-card__amount{
  font-size:0.8rem;
  font-weight:700;
}
.forecast-card__btn{
  display:inline-block;
  margin-top:auto;
  padding:0.3rem 0.75rem;
  background:var(--accent);
  color:var(--bg);
  border-radius:4px;
  font-size:0.75rem;
  align-self:flex-start;
  transition:opacity 0.15s;
}
.forecast-card:hover .forecast-card__btn{
  opacity:0.85;
}
/* Swiper ナビゲーション・ページネーション色 */
.forecast-swiper .swiper-button-prev,
.forecast-swiper .swiper-button-next{
  color:var(--accent);
}
.forecast-pagination{
  position:static;
  text-align:center;
  padding:0.5rem 0 0.25rem;
}
.forecast-pagination .swiper-pagination-bullet-active{
  background:var(--accent);
}
/* ========================================
   当メディアのランク選定基準 シンプルリスト
======================================== */

.criteria-box{
  border:1px solid var(--line);
  border-top:none;
  border-radius:0 0 6px 6px;
  background:#f7f8fa;
  padding:0.75rem 1rem;
}
.criteria-list{
  margin:0;
  display:grid;
  gap:0.55rem;
}
.criteria-item{
  display:flex;
  gap:0.75rem;
  align-items:center;
  font-size:0.9rem;
  dt{
    flex-shrink:0;
  }
  dd{
    margin:0;
    line-height:1.55;
  }
  dd p{
    margin:0 0 0.15rem;
  }
  dd p:last-child{
    margin-bottom:0;
  }
}
.rank-img{
  width:5rem;
  height:auto;
  flex-shrink:0;
  display:block;
}
/* ========================================
   S/A/B/C ランク タブ
======================================== */

.rank-radio{
  display:none;
}
.rank-tabs{
  border:1px solid var(--line);
  border-top:none;
  border-radius:0 0 6px 6px;
  overflow:hidden;
}
.rank-tab-nav{
  display:flex;
  background:#f0f0f0;
  border-bottom:1px solid var(--line);
}
.rank-tab-btn{
  flex:1;
  padding:0.65rem 0.5rem;
  text-align:center;
  font-size:1.1rem;
  font-weight:700;
  cursor:pointer;
  background:#e8ecf0;
  color:#999;
  transition:background 0.15s, color 0.15s;
  user-select:none;
  border-right:1px solid var(--line);
}
.rank-tab-btn:last-child{
  border-right:none;
}
/* アクティブタブの色 */
#rank-s:checked ~ .rank-tabs .rank-tab-nav label[for="rank-s"]{
  background:var(--accent);
  color:var(--bg);
}
#rank-a:checked ~ .rank-tabs .rank-tab-nav label[for="rank-a"]{
  background:#34a853;
  color:var(--bg);
}
#rank-b:checked ~ .rank-tabs .rank-tab-nav label[for="rank-b"]{
  background:#f59e0b;
  color:var(--bg);
}
#rank-c:checked ~ .rank-tabs .rank-tab-nav label[for="rank-c"]{
  background:#ea4335;
  color:var(--bg);
}
.rank-panels{
  background:var(--bg);
}
.rank-panel{
  display:none;
  max-height:1000px;
  overflow-y:auto;
  overscroll-behavior:contain;
}
/* チェック状態に対応するパネルのみ表示 */
#rank-s:checked ~ .rank-tabs .rank-panel-s,
#rank-a:checked ~ .rank-tabs .rank-panel-a,
#rank-b:checked ~ .rank-tabs .rank-panel-b,
#rank-c:checked ~ .rank-tabs .rank-panel-c{
  display:block;
}
/* タブ内のサイト一覧カード */
.rank-card{
  display:flex;
  align-items:stretch;
  border-bottom:1px solid var(--line);
  background:var(--bg);
  padding:0.55rem;
}
.rank-card:last-child{
  border-bottom:none;
}
.rank-card__img{
  flex-shrink:0;
  width:120px;
  overflow:hidden;
}
.rank-card__img a{
  display:block;
  height:100%;
}
.rank-card__img img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.rank-card__img .icon-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-size:0.7rem;
  color:var(--muted);
  background:#f5f5f5;
  text-align:center;
}
.rank-card__body{
  flex:1;
  /* padding:0.55rem; */
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:0.3rem;
}
.rank-card__name{
  display:block;
  font-weight:700;
  font-size:0.95rem;
  color:var(--text);
  text-decoration:none;
  margin-bottom:0.35rem;
}
.rank-card__name:hover{
  color:var(--accent);
}
.rank-card__stats{
  display:flex;
  flex-direction:column;
  gap:0.2rem;
}
.rank-card__stat-row{
  font-size:0.68rem;
  color:var(--text);
  display:flex;
  align-items:center;
  gap:0.5rem;
  flex-wrap:wrap;
  justify-content: space-around;
}
.rank-card__sep{
  color:var(--muted);
}
.rank-tab-empty{
  padding:1rem 0.75rem;
  font-size:0.9rem;
  color:var(--muted);
}
.rank-panel-heading{
  display:flex;
  align-items:center;
  gap:0.6rem;
  margin:0 0 0.75rem;
  font-size:1rem;
  font-weight:700;
}
.rank-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.8rem;
  height:1.8rem;
  border-radius:5px;
  font-weight:700;
  font-size:1rem;
  color:var(--bg);
  flex-shrink:0;
}
.rank-s-badge{ background:var(--accent); }
.rank-a-badge{ background:#34a853; }
.rank-b-badge{ background:#f59e0b; color:#1a1a1a; }
.rank-c-badge{ background:#ea4335; }
.rank-criteria-text{
  font-size:0.92rem;
  line-height:1.7;
  margin:0;
  color:var(--text);
}
.rank-criteria-note{
  margin:0.6rem 0 0;
  font-size:0.82rem;
  color:var(--muted);
  line-height:1.5;
}
/* ========================================
   9ランク テーブル
======================================== */

.rank-table{
  border:1px solid var(--line);
  border-top:none;
  border-radius:0 0 6px 6px;
  overflow:hidden;
}
.rank-table-head,
.rank-row{
  display:grid;
  grid-template-columns:60px 1fr 70px 70px 70px 70px;
  align-items:center;
  gap:0.5rem;
  padding:0.55rem 0.75rem;
}
.rank-table-head{
  background:#f0f4fa;
  font-size:0.8rem;
  font-weight:700;
  color:var(--muted);
  border-bottom:1px solid var(--line);
}
.rank-row{
  background:var(--bg);
  border-bottom:1px solid var(--line);
  font-size:0.9rem;
}
.rank-row:last-child{
  border-bottom:none;
}
.rank-row--even{
  background:#fafafa;
}
.rank-row--empty{
  grid-template-columns:1fr;
  padding:1rem;
  color:var(--muted);
}
.rank-col-icon{
  width:48px;
  height:48px;
  border:1px solid var(--line);
  border-radius:6px;
  overflow:hidden;
  background:#f5f5f5;
  display:flex;
  align-items:center;
  justify-content:center;
}
.rank-col-icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.rank-col-name a{
  text-decoration:none;
  font-weight:600;
  color:var(--text);
  line-height:1.3;
}
.rank-col-name a:hover{
  color:var(--accent);
}
.rank-col-stat{
  text-align:center;
  font-size:0.88rem;
  color:var(--muted);
}
/* ========================================
   Sランク ピックアップ
======================================== */
.s-pickup-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
}
.s-pickup-card{
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  background:var(--bg);
  display:flex;
  flex-direction:column;
}
.s-pickup-card__img{
  aspect-ratio:16/9;
  overflow:hidden;
  background:#f5f5f5;
}
.s-pickup-card__img a{
  display:block;
  height:100%;
}
.s-pickup-card__img img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.s-pickup-card__body{
  padding:0.85rem;
  display:flex;
  flex-direction:column;
  gap:0.7rem;
  flex:1;
}
.s-pickup-card__name{
  margin:0;
  font-size:0.95rem;
  font-weight:700;
  line-height:1.4;
}
.s-pickup-card__name a{
  color:var(--text);
  text-decoration:none;
}
.s-pickup-card__name a:hover{
  color:var(--accent);
}
.s-pickup-card__recent{
  background:#f8f9fa;
  border-radius:5px;
  padding:0.6rem 0.75rem;
}
.s-pickup-card__recent-label{
  font-size:0.72rem;
  font-weight:700;
  color:var(--muted);
  margin:0 0 0.3rem;
  letter-spacing:0.04em;
}
.s-pickup-card__recent-meta{
  font-size:0.82rem;
  color:var(--text);
  margin:0 0 0.2rem;
  display:flex;
  gap:0.4rem;
  flex-wrap:wrap;
}
.s-pickup-card__recent-result{
  font-size:0.9rem;
  font-weight:700;
  margin:0;
}
.s-pickup-card__recent-result.is-hit{
  color:var(--accent);
}
.s-pickup-card__recent-result.is-miss{
  color:var(--muted);
}
.s-pickup-card__amount{
  margin-left:0.35rem;
}
.s-pickup-card__stats{
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0.2rem 0.5rem;
}
.s-pickup-card__stat{
  display:flex;
  align-items:baseline;
  gap:0.25rem;
  font-size:0.82rem;
}
.s-pickup-card__stat--full{
  grid-column:1 / -1;
}
.s-pickup-card__stat dt{
  color:var(--muted);
  flex-shrink:0;
}
.s-pickup-card__stat dt::after{
  content:'：';
}
.s-pickup-card__stat dd{
  margin:0;
  font-weight:600;
  color:var(--text);
}
.s-pickup-card__actions{
  display:flex;
  gap:0.5rem;
  margin-top:auto;
}
.s-pickup-card__btn{
  flex:1;
  display:block;
  text-align:center;
  padding:0.55rem 0.4rem;
  border-radius:5px;
  font-size:0.82rem;
  font-weight:700;
  text-decoration:none;
  transition:background 0.15s, color 0.15s;
}
.s-pickup-card__btn--official{
  background:var(--accent);
  color:var(--bg);
}
.s-pickup-card__btn--official:hover{
  opacity:0.85;
}
.s-pickup-card__btn--article{
  background:#f0f4fa;
  color:var(--accent);
  border:1px solid var(--accent);
}
.s-pickup-card__btn--article:hover{
  background:var(--accent);
  color:var(--bg);
}
/* デスクトップは画像を左・情報を右に並べる（3:7）。
   モバイルは上の縦積みのまま。 */
@media (min-width:721px){
  .s-pickup-card{
    flex-direction:row;
    align-items:center;
    gap:1.1rem;
    padding:0.9rem;
  }
  .s-pickup-card__img{
    /* 画像と情報の間の余白を除いた残り幅を 3:7 で分ける */
    flex:0 0 calc((100% - 1.1rem) * 0.3);
    border:1px solid var(--line);
    border-radius:6px;
  }
  .s-pickup-card__body{
    padding:0;
    gap:0.55rem;
    min-width:0;
  }
  .s-pickup-card__name{
    font-size:1.05rem;
  }
  .s-pickup-card__recent{
    padding:0.5rem 0.7rem;
  }
  .s-pickup-card__stats{
    gap:0.15rem 0.5rem;
  }
}
/* ========================================
   もっと見るボタン
======================================== */

.more-link-wrap{
  text-align:center;
  padding:1rem 0 0;
}
.more-link{
  display:inline-block;
  padding:0.5rem 2.5rem;
  border:1px solid var(--accent);
  border-radius:4px;
  color:var(--accent);
  text-decoration:none;
  font-size:0.9rem;
  font-weight:600;
  transition:background 0.15s, color 0.15s;

  &:hover{
    background:var(--accent);
    color:var(--bg);
    opacity:1;
  }
}
/* ========================================
   比較テーブル
======================================== */
.compare-radio{
  display:none;
}
.compare-tabs{
  background: #fff;
}
.compare-tab-nav{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  margin-bottom:1rem;
  padding:15px 4px 0px;
}
.compare-tab-btn{
  padding:0.45rem 1.1rem;
  border:2px solid var(--accent);
  border-radius:999px;
  cursor:pointer;
  font-size:0.85rem;
  font-weight:700;
  color:var(--accent);
  background:var(--bg);
  transition:background 0.15s, color 0.15s;
  white-space:nowrap;
}
#compare-1:checked ~ .compare-tabs .compare-tab-nav label[for="compare-1"],
#compare-2:checked ~ .compare-tabs .compare-tab-nav label[for="compare-2"],
#compare-3:checked ~ .compare-tabs .compare-tab-nav label[for="compare-3"],
#compare-4:checked ~ .compare-tabs .compare-tab-nav label[for="compare-4"],
#compare-5:checked ~ .compare-tabs .compare-tab-nav label[for="compare-5"]{
  background:var(--accent);
  color:var(--bg);
}
.compare-panel{
  display:none;
}
#compare-1:checked ~ .compare-tabs .compare-panel-1,
#compare-2:checked ~ .compare-tabs .compare-panel-2,
#compare-3:checked ~ .compare-tabs .compare-panel-3,
#compare-4:checked ~ .compare-tabs .compare-panel-4,
#compare-5:checked ~ .compare-tabs .compare-panel-5{
  display:block;
}
.compare-table{
  width:100%;
  border-collapse:collapse;
  font-size:0.9rem;
  table-layout:fixed;
}
.compare-table th,
.compare-table td{
  border:1px solid var(--accent);
  padding:0.7rem 0.9rem;
  vertical-align:top;
  line-height:1.5;
}
.compare-table thead th{
  background:var(--accent);
  color:var(--bg);
  font-weight:700;
  text-align:center;
}
.compare-table thead .compare-th-item{
  width:80px;
}
.compare-table tbody td:first-child{
  background:var(--accent);
  color:var(--bg);
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
.compare-table tbody td{
  background:var(--bg);
  color:var(--text);
}
@media (max-width:720px){
  .compare-table th,.compare-table td{
    padding:0.5rem 0.6rem;
  }
  .compare-tab-btn{
    font-size:0.72rem;
    padding:0.3rem 0.7rem;
  }
}
/* ========================================
   アイコンプレースホルダー
======================================== */

.icon-placeholder{
  font-size:0.65rem;
  color:var(--muted);
  text-align:center;
  line-height:1.3;
}
/* ========================================
   サイドバー
======================================== */

.sidebar-section{
  margin-bottom:1.25rem;
  background:var(--bg);
}
.sidebar-header{
  margin:0;
  padding:0.45rem 0.75rem;
  background:var(--gradient-navy-vertical);
  color:var(--bg);
  font-size:0.95rem;
  font-weight:700;
  border-radius:6px 6px 0 0;
  display: flex;
  align-items: center;
  gap: 0.3em;
}
.sidebar-header:before {
    content: "";
    display: block;
    width: 1.25em;
    height: 1.25em;
    background: url(/wp-content/themes/keiba-archive/img/sideicon-horse.png) center/contain no-repeat;
    filter: invert(1);
}
.recent-posts-list{
  list-style:none;
  margin:0;
  padding:0;
  border:1px solid var(--line);
  border-top:none;
  border-radius:0 0 6px 6px;
  overflow:hidden;
}
.recent-post-item{
  border-bottom:1px solid var(--line);
}
.recent-post-item:last-child{
  border-bottom:none;
}
.recent-post-link{
  display:flex;
  gap:0.65rem;
  padding:0.6rem 0.75rem;
  text-decoration:none;
  color:inherit;
  align-items:center;
}
.recent-post-link:hover .recent-post-title{
  color:var(--accent);
}
.recent-post-thumb{
  width:72px;
  height:52px;
  flex-shrink:0;
  border-radius:4px;
  overflow:hidden;
  background:#f0f0f0;
  display:block;
}
.recent-post-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.recent-post-thumb-fallback{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(90deg, #e8e8e8, #f3f3f3);
}
.recent-post-title{
  font-size:0.85rem;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.company-info-box{
  border:1px solid var(--line);
  border-top:none;
  border-radius:0 0 6px 6px;
  overflow:hidden;
  background:var(--bg);
}
.company-info-box img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.company-info-text{
  margin:0;
  padding:0.75rem 0.75rem 0;
  font-size:0.85rem;
  line-height:1.55;
  color:var(--muted);
}
.company-info-link{
  display:block;
  padding:0.5rem 0.75rem;
  font-size:0.85rem;
  text-decoration:none;
  font-weight:600;
}
.sidebar-empty{
  margin:0;
  padding:0.75rem;
  font-size:0.85rem;
  color:var(--muted);
  border:1px solid var(--line);
  border-top:none;
  border-radius:0 0 6px 6px;
}
/* ========================================
   sc-intro ショートコード
======================================== */

.sc-intro{
  border:2px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  margin:1.5rem 0;
  background:var(--bg);
}
/* ランク別のアクセントカラー */
.sc-intro__head{
  display:flex;
  align-items:center;
  gap:0.5rem;
  padding:0.5rem 1.25rem;
  background:#f5f5f5;
  border-bottom:2px solid var(--line);
  flex-wrap:wrap;
  background:url('img/graph_bg01.png') center center / cover no-repeat;
  background-image:linear-gradient(rgba(0,0,0,0.35), rgba(0,0,0,0.35)),url('img/graph_bg01.png');
  color:#fff
}
.rank-badge-s .sc-intro__head {border-color:#d4a000; }
.rank-badge-a .sc-intro__head {border-color:#438cff; }
.rank-badge-b .sc-intro__head {border-color:#30b56b; }
.rank-badge-c .sc-intro__head {border-color:#ff9e37; }
.sc-intro__rank-label{
  font-size:1.1rem;
  color:var(--bg);
}
.sc-intro__rank-badge{
  font-size: 2.7rem;
  font-weight: 700;
  line-height: 1;
  min-width: 1.8rem;
  text-align: center;
}
.rank-badge-s .sc-intro__rank-badge{ color:#FFEB3B; }
.rank-badge-a .sc-intro__rank-badge{ color:#0b57d0; }
.rank-badge-b .sc-intro__rank-badge{ color:#1a8f4e; }
.rank-badge-c .sc-intro__rank-badge{ color:#e67700; }
.rank-badge-d .sc-intro__rank-badge{ color:#888888; }
.sc-intro__status{
  font-size:1rem;
  color:var(--bg);
}
/* 統計グリッド */
.sc-intro__stats{
  margin:0;
  padding:0.5rem 1.25rem;
  border-bottom:1px solid var(--line);
}
.sc-intro__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-bottom:1px solid var(--line);
}
.sc-intro__row:last-child{
  border-bottom:none;
}
.sc-intro__cell{
  display:flex;
  align-items:baseline;
  gap:0.4rem;
  padding:0.55rem 0.25rem;
}
.sc-intro__cell:first-child{
  border-right:1px solid var(--line);
  padding-right:1%;
}
.sc-intro__cell:last-child{
  padding-left:1%;
}
.sc-intro__cell dt{
  font-size:0.78rem;
  color:var(--muted);
  white-space:nowrap;
}
.sc-intro__cell dt::after{
  content:'：';
}
.sc-intro__cell dd{
  margin:0;
  font-size:1rem;
  font-weight:700;
  color:var(--text);
}
/* CTAボタン */
.sc-intro__cta{
  padding:1rem 1.25rem;
  text-align:center;
}
.sc-intro__btn,
.entry-content .sc-intro__btn{
  display:inline-block;
  padding:0.7rem 2.5rem;
  background:var(--gradient-navy-vertical);
  color:var(--bg);
  font-weight:700;
  font-size:0.95rem;
  text-decoration:none;
  transition:opacity 0.15s;
}
.sc-intro__btn:hover,
.entry-content .sc-intro__btn:hover{
  opacity:0.85;
  color:var(--bg);
}
@media (max-width:720px){
  .sc-intro__head{
    padding:0.75rem 1rem;
  }
  .sc-intro__stats{
    padding:0.25rem 1rem;
  }
  .sc-intro__cell dt{
    font-size:0.73rem;
  }
  .sc-intro__cell dd{
    font-size:0.92rem;
  }
}
/* ========================================
   sc-cta01 ショートコード
======================================== */

.sc-cta01{
  margin:4rem auto 3rem;
  max-width:380px;
  text-align:center;
  position: relative;
}
/* 吹き出し */
.sc-cta01__bubble{
  position: absolute;
  display:inline-block;
  background:#fff;
  border:2px solid #e05a00;
  border-radius:100px;
  padding:0.3rem 1.4rem;
  margin-bottom:0.6rem;
  font-size:0.85rem;
  font-weight:700;
  color:#e05a00;
  line-height:1.4;
  top: -25px;
  width:80%;
  left:10%;
  right:10%;
}
.sc-cta01__bubble::after{
  content:'';
  position:absolute;
  bottom:-10px;
  right:44.7%;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-left:8px solid transparent;
  border-right:8px solid transparent;
  border-top:10px solid #e05a00;
}
.sc-cta01__bubble::before{
  content:'';
  position:absolute;
  bottom:-7px;
  left:50%;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  border-top:8px solid #fff;
  z-index:1;
}
/* 3Dボタン */
.sc-cta01__btn,
.entry-content .sc-cta01__btn{
  display:block;
  width:100%;
  padding:1rem 1.5rem;
  background:linear-gradient(to bottom, #f07638, #e05520);
  color:#fff;
  text-decoration:none;
  border-radius:12px;
  box-shadow:0 6px 0 #a83a0c, 0 8px 16px rgba(0,0,0,0.2);
  transition:transform 0.1s, box-shadow 0.1s;
  border-bottom:none;
}
.sc-cta01__btn:hover,
.entry-content .sc-cta01__btn:hover{
  color:#fff;
  text-decoration:none;
  transform:translateY(4px);
  box-shadow:0 2px 0 #a83a0c, 0 4px 8px rgba(0,0,0,0.2);
}
.sc-cta01__text{
  font-size:1.1rem;
  font-weight:700;
  line-height:1.55;
  text-align:center;
}
/* <br> で分けた1行目を小さく */
.sc-cta01__text br + *,
.sc-cta01__text::first-line{
  font-size:0.8em;
}

@media (max-width:720px){
  .sc-cta01__btn,
  .entry-content .sc-cta01__btn{
    padding:0.9rem;
  }
  .sc-cta01__text{
    font-size:1.1rem;
  }
}
/* ========================================
   [toc] ショートコード
======================================== */

.sc-toc{
  background:#f5f8ff;
  border:1px solid #c9d9f5;
  border-left:4px solid var(--accent);
  border-radius:0 10px 10px 0;
  padding:1rem 1.25rem 1.1rem;
  margin:1.5rem auto;
  max-width:470px;
}
.sc-toc__title{
  font-size:0.9rem;
  font-weight:700;
  margin:0 0 0.6rem;
  color:var(--text);
  display:flex;
  align-items:center;
  gap:0.35rem;
}
.sc-toc__title::before{
  content:'≡';
  color:var(--accent);
  font-size:1.1em;
  line-height:1;
}
.sc-toc__list{
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:toc2;
}
.sc-toc__item{
  line-height:1.5;
  margin-bottom:0.28rem;
}
/* h2 */
.sc-toc__item--2{
  counter-increment:toc2;
  counter-reset:toc3;
}
/* h3 */
.sc-toc__item--3{
  counter-increment:toc3;
  counter-reset:toc4;
  padding-left:1.1rem;
}
/* h4 */
.sc-toc__item--4{
  counter-increment:toc4;
  padding-left:2.2rem;
}
/* リンク共通 */
.sc-toc__item a,
.entry-content .sc-toc__item a{
  text-decoration:none;
  color:var(--text);
}
.sc-toc__item a:hover,
.entry-content .sc-toc__item a:hover{
  color:var(--accent);
  text-decoration:underline;
  text-underline-offset:2px;
}
/* h2 リンク：番号付き・太字 */
.sc-toc__item--2 > a{
  font-size:0.88rem;
  font-weight:600;
}
.sc-toc__item--2 > a::before{
  content:counter(toc2) ". ";
  color:var(--accent);
  font-weight:700;
  min-width:1.6rem;
  display:inline-block;
}
/* h3 リンク：1-1 形式 */
.sc-toc__item--3 > a{
  font-size:0.83rem;
  color:var(--muted);
}
.sc-toc__item--3 > a::before{
  content:counter(toc2) "-" counter(toc3) " ";
  color:var(--muted);
  min-width:2rem;
  display:inline-block;
}
/* h4 リンク：└ インデント */
.sc-toc__item--4 > a{
  font-size:0.8rem;
  color:var(--muted);
}
.sc-toc__item--4 > a::before{
  content:"└ ";
  color:var(--muted);
}
@media (max-width:720px){
  .sc-toc{
    padding:0.85rem 1rem 0.9rem;
  }
  .sc-toc__item--2 > a{ font-size:0.85rem; }
  .sc-toc__item--3 > a{ font-size:0.8rem; }
  .sc-toc__item--4 > a{ font-size:0.78rem; }
}
/* ========================================
   sc-compare ショートコード
======================================== */

.sc-compare-wrap{
  margin:1.5rem 0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.sc-compare{
  width:100%;
  min-width:420px;
  border-collapse:collapse;
  font-size:0.88rem;
  line-height:1.5;
}
/* ヘッダー行 */
.sc-compare__corner{
  background:var(--accent);
  border:1px solid var(--accent);
}
.sc-compare__head{
  padding:0.65rem 0.9rem;
  text-align:center;
  font-size:0.82rem;
  font-weight:700;
  background:var(--accent);
  color:var(--bg);
  border:1px solid var(--accent);
  white-space:nowrap;
}
/* 自社列ヘッダー：少し明るくして区別 */
.sc-compare__head--own{
  background:#1a6bbf;
  border-color:#1a6bbf;
}
/* 行ラベル（左端 th） */
.sc-compare__label{
  padding:0.65rem 0.9rem;
  font-size:0.82rem;
  font-weight:600;
  color:var(--bg);
  background:var(--accent);
  border:1px solid var(--accent);
  white-space:nowrap;
  text-align:left;
}
/* 通常セル */
.sc-compare__cell{
  padding:0.65rem 0.9rem;
  text-align:center;
  border:1px solid #c5d5e8;
  color:var(--text);
  vertical-align:middle;
}
/* 偶数行の背景 */
.sc-compare__row--even .sc-compare__cell{
  background:#f4f8ff;
}
/* 自社列セル */
.sc-compare__cell--own{
  background:#eef4ff;
  color:var(--accent);
  font-weight:700;
  border-color:#a8c4e8;
}
.sc-compare__row--even .sc-compare__cell--own{
  background:#e4eeff;
}
@media (max-width:720px){
  .sc-compare{
    font-size:0.82rem;
  }
  .sc-compare__head,
  .sc-compare__label,
  .sc-compare__cell{
    padding:0.55rem 0.65rem;
  }
}
/* ========================================
   sc-race-results ショートコード
======================================== */

.sc-race-results thead,
.sc-race-results tbody{
  display:block;
}

.sc-race-results thead tr,
.sc-race-results tbody tr{
  display:table;
  width:100%;
  table-layout:fixed;
}

.sc-race-results tbody{
  max-height:15em; /* 約5行分 */
  overflow-y:auto;
  scrollbar-gutter:stable;
}
.sc-race-results th,.sc-race-results td{
  font-size:12px;
  padding:1px 5px;
  vertical-align: middle;
  text-align: center;
}

/* ========================================
   sc-siteinfo ショートコード
======================================== */

.sc-siteinfo{
  width:100%;
  border-collapse:collapse;
  margin:1.5rem 0;
  font-size:0.9rem;
  line-height:1.6;
}
.sc-siteinfo__row:first-child .sc-siteinfo__th,
.sc-siteinfo__row:first-child .sc-siteinfo__td{
  border-top:2px solid var(--accent);
  background:var(--gradient-navy-horizontal);
  color:var(--bg);
}
.sc-siteinfo__row:first-child .sc-siteinfo__td a{
  color:var(--bg);
}
.sc-siteinfo__th,
.sc-siteinfo__td{
  padding:0.7rem 1rem;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
.sc-siteinfo__th{
  width:9rem;
  font-weight:600;
  color:var(--muted);
  font-size:0.83rem;
  white-space:nowrap;
  background:#f8f9fa;
}
.sc-siteinfo__td{
  color:var(--text);
  word-break:break-all;
}
.sc-siteinfo__td a{
  color:var(--accent);
  text-decoration:none;
}
.sc-siteinfo__td a:hover{
  text-decoration:underline;
}
@media (max-width:720px){
  .sc-siteinfo__th{
    width:7rem;
    font-size:0.78rem;
    padding:0.6rem 0.75rem;
  }
  .sc-siteinfo__td{
    padding:0.6rem 0.75rem;
    font-size:0.85rem;
  }
}
/* ========================================
   sc-author ショートコード
======================================== */

.sc-author{
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  margin:1.5rem 0;
  /* background:var(--bg); */
  background:black url('img/graph_bg04.png') center center / cover no-repeat;
}
.sc-author__label {
  margin: 0;
  padding: 0.35rem 0.85rem;
  font-size: 0.72rem;
  color: #fff;
  background: #a2a2a2b0;
  border-bottom: 1px solid var(--line);
}
.sc-author__inner{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1rem 1.1rem;
  /* background:#fff; */
  background:linear-gradient(to right, rgb(249 249 249 / 74%), #f2f2f2, #fff);
}
.sc-author__avatar{
  flex-shrink:0;
  width:64px;
  height:64px;
  border-radius:50%;
  overflow:hidden;
  background:#e0e0e0;
}
.sc-author__avatar svg,
.sc-author__avatar img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.sc-author__info{
  flex:1;
  min-width:0;
}
.sc-author__info p{
  margin:0;
}
.sc-author__name{
  font-size:1rem;
  font-weight:700;
  margin:0 0 0.15rem;
  color:var(--text);
}
.sc-author__role{
  font-size:0.72rem;
  color:var(--muted);
  margin:0 0 0.4rem;
  line-height:1.5;
}
.sc-author__bio{
  font-size:0.82rem;
  line-height:1.75;
  color:var(--text);
  margin:0;
}
.author-more{
  margin-top:0.35rem;
}
.author-more summary{
  display:inline-flex;
  align-items:center;
  gap:0.25rem;
  cursor:pointer;
  list-style:none;
  font-size:0.78rem;
  color:var(--accent);
  border:1px solid var(--accent);
  border-radius:4px;
  padding:0.2rem 0.6rem;
  user-select:none;
  transition:background 0.15s, color 0.15s;
}
.author-more summary::-webkit-details-marker{ display:none; }
.author-more summary:hover{
  background:var(--accent);
  color:#fff;
}
.author-more .more-close{ display:none; }
.author-more[open] .more-open{ display:none; }
.author-more[open] .more-close{ display:inline; }
.author-more .sc-author__bio{
  margin-top:0.5rem;
}
@media (max-width:720px){
  .sc-author__inner{
    gap:0.75rem;
    padding:0.85rem 0.9rem;
  }
  .sc-author__avatar{
    width:52px;
    height:52px;
  }
}
/* ========================================
   [popup] ショートコード
======================================== */

.sc-popup-trigger{
  text-decoration:none;
  cursor:zoom-in;
  font-size:30px;
  line-height:30px;
  display:inline-block;
  width:30px;
  height:30px;
}
#sc-popup-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:9999;
  align-items:center;
  justify-content:center;

  &.is-open{
    display:flex;
  }
}
.sc-popup-overlay{
  position:absolute;
  inset:0;
  background:rgba(0, 0, 0, 0.85);
  cursor:pointer;
}
.sc-popup-inner{
  position:relative;
  z-index:1;
  max-width:92vw;
  max-height:92vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.sc-popup-close{
  position:absolute;
  top:-2.25rem;
  right:0;
  background:none;
  border:none;
  color:var(--bg);
  font-size:1.4rem;
  line-height:1;
  padding:0.3rem 0.5rem;
  cursor:pointer;
  opacity:0.85;
  transition:opacity 0.15s;

  &:hover{
    opacity:1;
  }
}
.sc-popup-img{
  display:block;
  max-width:92vw;
  max-height:88vh;
  object-fit:contain;
  border-radius:4px;
  box-shadow:0 8px 40px rgba(0, 0, 0, 0.6);
}



.tag-pending-sites h2{
  background: unset;
  color:unset;
}
/* ========================================
   Contact Form 7
======================================== */

.wpcf7-form label{
  display:block;
  font-weight:700;
  margin-bottom:1.1rem;
  font-size:0.95rem;
}
.contact-required{
  color:#d9534f;
  margin-left:0.2rem;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form select,
.wpcf7-form textarea{
  display:block;
  width:100%;
  margin-top:0.3rem;
  padding:0.6rem 0.75rem;
  border:1px solid var(--line);
  border-radius:4px;
  font-size:0.95rem;
  font-family:inherit;
  background:var(--bg);
  color:var(--text);
  transition:border-color 0.15s;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus{
  outline:none;
  border-color:var(--accent);
}
.wpcf7-form textarea{
  min-height:180px;
  resize:vertical;
}
.wpcf7-form input[type="file"]{
  display:block;
  margin-top:0.3rem;
  font-size:0.88rem;
}
.contact-file-note{
  font-size:0.8rem;
  color:var(--muted);
  margin:0.25rem 0 1.1rem;
}
.contact-agree-note{
  font-size:0.85rem;
  color:var(--muted);
  margin-bottom:1.1rem;
}
.wpcf7-form input[type="submit"]{
  display:inline-block;
  padding:0.75rem 2rem;
  background:var(--gradient-navy-vertical);
  color:var(--bg);
  border:none;
  border-radius:4px;
  font-size:0.95rem;
  font-weight:700;
  cursor:pointer;
  transition:opacity 0.15s;
}
.wpcf7-form input[type="submit"]:hover{
  opacity:0.85;
}
.wpcf7-not-valid-tip{
  display:block;
  font-size:0.8rem;
  color:#d9534f;
  margin-top:0.25rem;
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output{
  border-color:#d9534f;
  color:#d9534f;
}
.wpcf7-form.sent .wpcf7-response-output{
  border-color:#1a7f4e;
  color:#1a7f4e;
}
.wpcf7-response-output{
  margin:1rem 0 0;
  padding:0.75rem 1rem;
  border:1px solid var(--line);
  border-radius:4px;
  font-size:0.9rem;
}
@media (max-width:720px){
  .wpcf7-form input[type="submit"]{
    width:100%;
    text-align:center;
  }
}

/* ===== 記事装飾（kv-） ===== */
.kv-marker{background:linear-gradient(transparent 60%,#ffe58a 60%);font-weight:700}
.kv-red{color:#c62828;font-weight:700}
.kv-blue{color:#0c3d7a;font-weight:700}
.kv-box{position:relative;margin:28px 0;padding:20px 22px 16px;border:2px solid #0c3d7a;border-radius:8px;background:#f6f9fd;line-height:1.85}
.kv-box__title{position:absolute;left:14px;top:-14px;background:#0c3d7a;color:#fff;font-weight:700;font-size:14px;padding:3px 12px;border-radius:4px;letter-spacing:.05em}
.kv-box p{margin:0}.kv-box p+p{margin-top:.6em}
.kv-box--summary{border-color:#b8924e;background:#fdf8ee}
.kv-box--summary .kv-box__title{background:#8f1a2c}
.kv-box--caution{border-color:#d9534f;background:#fff5f4}
.kv-box--caution .kv-box__title{background:#d9534f}
.kv-box--conclusion{border-color:#1a7f4e;background:#f2faf5}
.kv-box--conclusion .kv-box__title{background:#1a7f4e}
.kv-check{list-style:none;margin:0;padding:0}
.kv-check li{position:relative;padding:4px 0 4px 30px}
.kv-check li:before{content:"✓";position:absolute;left:0;top:6px;width:20px;height:20px;border-radius:50%;background:#0c3d7a;color:#fff;font-size:12px;font-weight:700;text-align:center;line-height:20px}
.kv-box--summary .kv-check li:before{background:#8f1a2c}
.kv-box--conclusion .kv-check li:before{background:#1a7f4e}
.kv-stats{display:flex;gap:10px;margin:6px 0 4px;flex-wrap:wrap}
.kv-stat{flex:1;min-width:120px;background:#fff;border:1px solid #d9c49a;border-radius:6px;text-align:center;padding:8px 6px}
.kv-stat span{display:block;font-size:12px;color:#8b6a35;font-weight:700}
.kv-stat b{display:block;font-size:22px;color:#8f1a2c;line-height:1.3}
@media(max-width:600px){.kv-box{padding:18px 14px 12px}.kv-stat b{font-size:18px}}

/* ボタン文字色の修正（記事内リンク色の上書き対策） */
a.sc-intro__btn,a.sc-intro__btn:visited,a.sc-intro__btn:hover,
a.sc-cta01__btn,a.sc-cta01__btn:visited,a.sc-cta01__btn:hover,
.sc-cta01__btn .sc-cta01__text{color:#fff !important;text-decoration:none !important}
.sc-cta01__btn .sc-cta01__text{text-shadow:0 1px 2px rgba(0,0,0,.25)}

/* 回収率・的中率を赤で強調 */
.sc-intro__stats .sc-intro__row:nth-child(1) .sc-intro__cell:nth-child(1) dd,
.sc-intro__stats .sc-intro__row:nth-child(2) .sc-intro__cell:nth-child(2) dd,
.entry-content table td strong{color:#d32f2f !important;font-weight:700}
.kv-stat b{color:#d32f2f}

/* 数字の太字（明朝体は太字が出ない環境があるため数字だけゴシック系で表示） */
.sc-intro__stats .sc-intro__row:nth-child(1) .sc-intro__cell:nth-child(1) dd,
.sc-intro__stats .sc-intro__row:nth-child(2) .sc-intro__cell:nth-child(2) dd,
.entry-content table td strong,.kv-stat b,.kv-num{
font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic",Meiryo,sans-serif !important;font-weight:700 !important}
.kv-num{color:#d32f2f}

/* 一覧カードのタイトル：帯全体をリンクに（2026/11/04） */
.content-main article.is-list .post-body > header h2{padding:0}
.content-main article.is-list .post-body > header h2 a{display:block;padding:8px 36px 8px 10px;position:relative;text-decoration:none;transition:filter .2s}
.content-main article.is-list .post-body > header h2 a::after{content:"›";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:1.4em;line-height:1}
.content-main article.is-list .post-body > header h2 a:hover{filter:brightness(1.15);text-decoration:underline}
.content-main article.is-list:hover .post-body > header h2{filter:brightness(1.1)}

/* 見出しの装飾レイヤー（::before/::after）がリンクのクリックを邪魔しないように */
h1::before,h1::after,h2::before,h2::after,h3::before,h3::after{pointer-events:none}
.content-main article.is-list .post-body > header h2 a{z-index:1}

/* ハンバーガーメニューのパネル（2026/11/05）：ヘッダーボタンと同じえんじ×金に */
.site-menu-drawer .site-menu-panel{background:linear-gradient(160deg,#4a1420,#7a1f2e);border:1px solid #c9a24b;border-radius:6px;box-shadow:0 12px 28px rgba(0,0,0,.35);width:240px;max-width:calc(100vw - 32px);padding:0;overflow:hidden}
.site-menu-drawer .site-menu-panel ul{list-style:none;margin:0;padding:6px 0}
.site-menu-drawer .site-menu-panel li{list-style:none;margin:0;padding:0;border-bottom:1px solid rgba(201,162,75,.28)}
.site-menu-drawer .site-menu-panel li:last-child{border-bottom:0}
.site-menu-drawer .site-menu-panel li::before,.site-menu-drawer .site-menu-panel li::marker{content:none;display:none}
.site-menu-drawer .site-menu-panel a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;color:#f6e7bf;text-decoration:none;text-align:left;font-size:15px;letter-spacing:.06em;line-height:1.4;transition:background .2s,color .2s}
.site-menu-drawer .site-menu-panel a::after{content:"›";color:#c9a24b;font-size:1.3em;line-height:1}
.site-menu-drawer .site-menu-panel a:hover,.site-menu-drawer .site-menu-panel a:focus-visible{background:rgba(201,162,75,.18);color:#fff}

/* 検索パネル（虫眼鏡）（2026/11/05）：ハンバーガーメニューと同じえんじ×金、右端そろえ */
.site-header-actions{position:relative}
.site-header-actions .site-search-drawer{position:static}
.site-search-drawer .mobile-search-panel{left:auto;right:0;top:calc(100% + 8px);width:320px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:12px;background:linear-gradient(160deg,#4a1420,#7a1f2e);border:1px solid #c9a24b;border-radius:6px;box-shadow:0 12px 28px rgba(0,0,0,.35)}
.site-search-drawer .search-form{display:flex;gap:8px;width:100%;align-items:stretch;margin:0}
.site-search-drawer .search-form label{flex:1 1 auto;min-width:0;margin:0;display:block}
.site-search-drawer .search-field{width:100%;box-sizing:border-box;height:42px;margin:0;border:1px solid #c9a24b;border-radius:4px;background:#fffdf7;color:#222;font-size:16px;padding:8px 12px}
.site-search-drawer .search-field::placeholder{color:#8a7a6a}
.site-search-drawer .search-field:focus{outline:2px solid #f6e7bf;outline-offset:1px}
.site-search-drawer .search-submit{flex:0 0 auto;height:42px;margin:0;padding:0 18px;border:1px solid #c9a24b;border-radius:4px;background:#c9a24b;color:#3a0f19;font-weight:bold;font-size:15px;cursor:pointer;transition:background .2s}
.site-search-drawer .search-submit:hover,.site-search-drawer .search-submit:focus-visible{background:#e0bd66}
.site-header-actions .site-search-drawer .search-form .search-submit{background:#c9a24b!important;color:#3a0f19!important}
.site-header-actions .site-search-drawer .search-form .search-submit:hover,.site-header-actions .site-search-drawer .search-form .search-submit:focus-visible{background:#e0bd66!important}
/* 著者ボックス：監修者・運営者情報へのリンク（2026/11/05） */
.sc-author__link{margin:10px 0 0;text-align:right;font-size:.9em}
.sc-author__link a{display:inline-block;color:#7a1f2e;font-weight:bold;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.sc-author__link a:hover{color:#a8323f}

/* パンくずリスト・アーカイブ見出し（2026/11/05） */
.kv-breadcrumb{margin:0 0 12px;font-size:.8em;color:#666;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif}
.kv-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;list-style:none;margin:0;padding:0}
.kv-breadcrumb li{list-style:none;margin:0;padding:0;display:flex;align-items:center;min-width:0}
.kv-breadcrumb li::before{content:none}
.kv-breadcrumb li+li::before{content:"›";display:inline-block;margin:0 8px;color:#b39b6a}
.kv-breadcrumb a{color:#7a1f2e;text-decoration:none}
.kv-breadcrumb a:hover{text-decoration:underline}
.kv-breadcrumb [aria-current] span{color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(60vw,520px);display:inline-block;vertical-align:bottom}
.kv-archive-header{margin:0 0 20px}
.kv-archive-header h1{margin:0 0 8px}
.kv-archive-desc{font-size:.95em;color:#444;line-height:1.8}
.kv-archive-desc p{margin:0}

/* 判定ブロック：結論・検証期間・口コミ・有料予想（2026/11/05） */
.sc-intro__verdict{display:flex;gap:10px;align-items:flex-start;margin:14px 16px 0;padding:12px 14px;background:#fffbe6;border:1px solid #e8d48a;border-left:5px solid #c9a24b;border-radius:6px}
.sc-intro__verdict-label{flex:0 0 auto;background:#7a1f2e;color:#fff;font-weight:bold;font-size:.85em;padding:3px 10px;border-radius:3px;line-height:1.6;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif}
.sc-intro__verdict p{margin:0;font-weight:bold;line-height:1.75;color:#222}
.sc-intro__period{margin:10px 16px 0;font-size:.82em;color:#555;display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:space-between}
.sc-intro__period span{color:#777}
.sc-intro__extra{margin:0 16px;border-top:1px dashed #cfd6e0}
.sc-intro__extra-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 4px;border-bottom:1px dashed #cfd6e0;font-size:.92em}
.sc-intro__extra-label{flex:0 0 auto;min-width:7.5em;color:#555;font-size:.9em}
.sc-intro__extra-val{flex:1 1 auto}
.sc-intro__extra-val b{color:#d32f2f;margin-left:2px}
.sc-intro__extra-item a{color:#7a1f2e;font-weight:bold;text-decoration:none;white-space:nowrap}
.sc-intro__extra-item a:hover{text-decoration:underline}
.sc-intro .kv-stars{position:relative;display:inline-block;color:#d6d6d6;letter-spacing:2px;line-height:1;white-space:nowrap}
.sc-intro .kv-stars__on{position:absolute;left:0;top:0;overflow:hidden;color:#f5a623}
@media (max-width:640px){
 .sc-intro__verdict{margin:12px 10px 0;padding:10px}
 .sc-intro__period,.sc-intro__extra{margin-left:10px;margin-right:10px}
 .is-single .eyecatch img{max-height:42vw;width:100%;object-fit:contain}
}

/* 判定ブロック：順位・タブ・直近5レース（2026/11/05） */
.sc-intro__rankpos{margin:10px 16px 0;padding:8px 12px;background:#f7f9fc;border-radius:6px;font-size:.9em;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.sc-intro__rankpos b{color:#d32f2f;font-size:1.15em}
.sc-intro__rankpos a{margin-left:auto;color:#7a1f2e;font-weight:bold;text-decoration:none;white-space:nowrap}
.sc-intro__tabs{display:flex;flex-wrap:wrap;margin:14px 16px 4px}
.sc-intro__tab-radio{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.sc-intro__tab{flex:1 1 0;text-align:center;padding:10px 6px;margin:0 2px 0 0;background:#e6e6e6;color:#666;font-weight:bold;font-size:.92em;border-radius:8px 8px 0 0;cursor:pointer;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;transition:background .2s}
.sc-intro__tab:last-of-type{margin-right:0}
.sc-intro__tab:hover{background:#d9d9d9}
.sc-intro__tab-radio:checked+.sc-intro__tab{background:linear-gradient(160deg,#4a1420,#7a1f2e);color:#f6e7bf}
.sc-intro__tab-radio:focus-visible+.sc-intro__tab{outline:2px solid #c9a24b;outline-offset:2px}
.sc-intro__panel{display:none;flex-basis:100%;border:2px solid #7a1f2e;border-radius:0 0 8px 8px;padding:12px;background:#fff}
.sc-intro__tab-radio--free:checked~.sc-intro__panel--free,.sc-intro__tab-radio--paid:checked~.sc-intro__panel--paid,.sc-intro__tab-radio--rv:checked~.sc-intro__panel--rv{display:block}
.sc-intro__panel .sc-intro__stats{margin:0}
.sc-intro__recent-title{margin:14px 0 6px;font-weight:bold;font-size:.92em}
.sc-intro__recent-title small{font-weight:normal;color:#777;margin-left:4px}
.sc-intro__recent{list-style:none;margin:0;padding:8px 12px;background:#f5f5f5;border-radius:6px}
.sc-intro__recent li{list-style:none;display:flex;flex-wrap:wrap;gap:2px 10px;padding:5px 0;border-bottom:1px dotted #ccc;font-size:.9em}
.sc-intro__recent li:last-child{border-bottom:0}
.sc-intro__recent li::before{content:none}
.sc-intro__rc-date{min-width:3em;color:#555}
.sc-intro__rc-race{flex:1 1 auto}
.sc-intro__rc-res{font-weight:bold;white-space:nowrap}
.sc-intro__rc-res.is-win{color:#d32f2f}
.sc-intro__rc-res.is-gami{color:#b26a00}
.sc-intro__rc-res.is-lose{color:#777}
.sc-intro__more{margin:10px 0 0;text-align:right;font-size:.9em}
.sc-intro__more a{color:#7a1f2e;font-weight:bold;text-decoration:none;margin-left:10px}
.sc-intro__more a:hover,.sc-intro__rankpos a:hover{text-decoration:underline}
.sc-intro__paid-text{margin:4px 0 0;font-weight:bold}
.sc-intro__rv-sum{margin:0 0 8px;font-size:1.05em}
.sc-intro__rv-sum b{color:#d32f2f;margin-left:4px}
.sc-intro__rv-sum span{color:#555;font-size:.9em}
.sc-intro__rv-list{list-style:none;margin:0;padding:0}
.sc-intro__rv-list li{list-style:none;padding:8px 0;border-bottom:1px dotted #ccc;font-size:.9em;line-height:1.7}
.sc-intro__rv-list li::before{content:none}
.sc-intro__rv-meta{display:block;color:#555;font-size:.9em}
.sc-intro__rv-none{margin:4px 0 0;color:#555}
@media (max-width:640px){.sc-intro__tabs,.sc-intro__rankpos{margin-left:10px;margin-right:10px}.sc-intro__tab{font-size:.85em;padding:9px 2px}}

/* 判定ブロック：基本情報タブ（レーダーチャート）（2026/11/05） */
.sc-intro__tab-radio--basic:checked~.sc-intro__panel--basic{display:block}
.sc-intro__radar-wrap{position:relative;max-width:360px;margin:0 auto}
.sc-intro__radar{display:block;width:100%;height:auto;overflow:visible}
.sc-intro__radar-grid{fill:none;stroke:#d9dde3;stroke-width:1}
.sc-intro__radar-axis{stroke:#d9dde3;stroke-width:1}
.sc-intro__radar-val{fill:rgba(122,31,46,.22);stroke:#7a1f2e;stroke-width:2;stroke-linejoin:round}
.sc-intro__radar-dot{fill:#7a1f2e}
.sc-intro__radar-label{font-size:12px;font-weight:bold;fill:#333;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif}
.sc-intro__radar-total{position:absolute;right:0;top:0;text-align:center;background:#fffbe6;border:1px solid #e8d48a;border-radius:6px;padding:4px 10px;line-height:1.2}
.sc-intro__radar-total span{display:block;font-size:.72em;color:#555}
.sc-intro__radar-total b{font-size:1.6em;color:#d32f2f}
.sc-intro__radar-total small{font-size:.75em;color:#777}
.sc-intro__scores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin:10px 0 0}
.sc-intro__scores>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 2px;border-bottom:1px dotted #ccc;font-size:.88em}
.sc-intro__scores dt{color:#555;white-space:nowrap}
.sc-intro__scores dd{margin:0;text-align:right}
.sc-intro__scores dd b{color:#7a1f2e;font-size:1.15em;margin-right:6px}
.sc-intro__scores dd span{color:#555;font-size:.92em}
.sc-intro__note{margin:10px 0 0;font-size:.75em;color:#777;line-height:1.6}
@media (max-width:640px){.sc-intro__scores{grid-template-columns:1fr}.sc-intro__radar-total{position:static;display:inline-block;margin:0 0 6px}}
.sc-intro__rankpos{gap:0}
.sc-intro__rankpos a{margin-left:0;margin-right:0;text-decoration:underline}
.sc-intro__rankpos b{margin-left:4px}

/* 著者ボックス：検証実績（2026/11/05） */
.sc-author__career{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:8px 0 10px;padding:0}
.sc-author__career li{list-style:none;display:inline-flex;align-items:baseline;gap:6px;margin:0;padding:4px 12px;background:#fff;border:1px solid #c9a24b;border-radius:999px;font-size:.85em;line-height:1.5}
.sc-author__career li::before{content:none}
.sc-author__career span{color:#666}
.sc-author__career b{color:#7a1f2e;font-size:1.1em}
