@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** ヘッダー
************************************/
#header {
  background-color: #0f1117;
}

#header .site-name-text {
  color: #ffffff;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.5px;
}

/************************************
** ナビゲーション
************************************/
#navi,
.navi-in,
.global-nav,
.navi,
#navi .wrap,
.navi-in.wrap {
  background-color: #1a1d27 !important;
  border-top: 0.5px solid rgba(255,255,255,0.08);
}

#navi .menu-item a {
  color: rgba(255,255,255,0.8);
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 0 20px !important;
}

#navi .menu-item a:hover {
  color: #ffffff;
  background-color: rgba(255,255,255,0.08);
}

#navi .sub-menu {
  background-color: #1a1d27;
  border: 0.5px solid rgba(255,255,255,0.1);
}

#navi .sub-menu a {
  color: rgba(255,255,255,0.7);
  font-size: 12px;
}

#navi .sub-menu a:hover {
  background-color: rgba(127,119,221,0.15);
  color: #AFA9EC;
}

/************************************
** 全体背景
************************************/
body,
.content-area {
  background-color: #f2f2f2 !important;
}

/************************************
** メインカラム
************************************/
.main {
  background-color: #F8F9FA !important;
  border-radius: 8px;
  padding-top: 0 !important;
}

/************************************
** サイドバー
************************************/
.sidebar,
#sidebar {
  background-color: transparent !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.sidebar aside,
#sidebar aside,
.sidebar .widget,
#sidebar .widget,
aside.widget-sidebar {
  background-color: #ffffff !important;
  margin-bottom: 20px !important;
  padding: 0 0 12px 0 !important;
  overflow: visible !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
}

.sidebar aside form,
#sidebar aside form,
.sidebar aside ul,
#sidebar aside ul {
  background-color: #ffffff !important;
  padding: 12px !important;
}

/************************************
** ウィジェットタイトル
************************************/
.widget-title,
h3.widget-title,
.widget-sidebar-title,
.sidebar h3 {
  background-color: #0a2540 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 54px !important;
}

/************************************
** ランキングウィジェット
************************************/
.widget_popular_entries .widget-content,
.widget_popular_entries ul {
  padding: 12px 16px !important;
}

.widget_popular_entries li {
  padding: 12px 0 !important;
  border-bottom: 1px solid #e0e0e0;
}

.widget_popular_entries li:last-child {
  border-bottom: none;
}

.widget_popular_entries .widget-title {
  margin-bottom: 16px !important;
}

/************************************
** クラス別最新デッキエリア
************************************/
.svb-portal-section {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.svb-section-title {
  background: #0a2540 !important;
  border-left: none !important;
}

/************************************
** DECKとNEWSのタイトル帯
************************************/
h2.home-column-title {
  background-color: #0a2540 !important;
  color: #ffffff !important;
  padding: 12px 16px !important;
  margin: 0 0 12px 0 !important;
}

/************************************
** 記事リストエリア
************************************/
.new-list-box.block-box {
  background-color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/************************************
** トップページ:投稿日付・記事ヘッダー非表示
************************************/
.home .article-header .post-date,
.home .article-header .post-update,
.home .entry-header .post-date,
.home .entry-header time {
  display: none !important;
}

.home .article-header {
  display: none !important;
}

.entry-content {
  padding-top: 25px !important;
  margin-top: 0 !important;
}

/************************************
** SNSフォローボタン(ヘッダー右上)
************************************/
body .sns-follow,
body .sns-follow.sf-bottom,
#wrapper .sns-follow {
  position: fixed !important;
  top: 18px !important;
  bottom: auto !important;
  left: auto !important;
  right: 16px !important;
  height: 55px !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 16px !important;
  background: transparent !important;
}

body.admin-bar .sns-follow,
body.admin-bar .sns-follow.sf-bottom {
  top: 55px !important;
  bottom: auto !important;
}

.sns-follow-message {
  display: none;
}

.sns-follow-buttons {
  display: flex;
  gap: 6px;
}

.youtube-button {
  font-size: 0 !important;
}

.youtube-button .fa {
  display: none !important;
}

.youtube-button::before {
  content: '';
  display: block;
  width: 22px;
  height: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (max-width: 834px) {
  body .sns-follow,
  body .sns-follow.sf-bottom {
    display: none !important;
  }
}

/* SNSフォローボタン位置強制上書き */
.sns-follow.sf-bottom {
  position: fixed !important;
  top: 0 !important;
  bottom: auto !important;
  right: 16px !important;
  height: 55px !important;
}

.admin-bar .sns-follow.sf-bottom {
  top: 32px !important;
  bottom: auto !important;
}

/************************************
** 文字色・透明度修正
************************************/

/* 記事本文 */
.entry-content p,
.entry-content li,
.entry-content td,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
  color: #1a1a1a !important;
  opacity: 1 !important;
}

/* 目次リンク */
.toc a,
.toc-content a {
  color: #1a6fc4 !important;
  opacity: 1 !important;
}

/* 目次タイトル文字色 */
.toc-title,
.toc .toc-title,
label.toc-title {
  color: #1a1a1a !important;
  opacity: 1 !important;
}

/* カード・関連記事・前後記事タイトル */
.entry-card-title,
.entry-card-title a,
.entry-card-excerpt,
.related-entry-card-title,
.related-entry-card-title a,
.related-entry-card-snippet,
.navi-entry-card-title,
.navi-entry-card-title a,
.prev-post-title,
.next-post-title,
.new-entry-card-title,
.new-entry-card-title a,
.popular-entry-title,
.popular-entry-title a {
  color: #1a1a1a !important;
  opacity: 1 !important;
}

/* カード抜粋文字色 */
.entry-card-snippet,
.e-card-snippet,
.card-snippet {
  color: #1a1a1a !important;
  opacity: 1 !important;
}

/* カテゴリーページ記事タイトル・本文文字色 */
.archive .entry-card-title,
.archive .entry-card-title a,
.archive .entry-card-excerpt,
.category .entry-card-title,
.category .entry-card-title a,
.category .entry-card-excerpt {
  color: #1a1a1a !important;
  opacity: 1 !important;
}

/* サイドバーリンク */
.sidebar a,
#sidebar a,
.widget a,
.rankitem a,
.rankitem-title {
  color: #333333 !important;
  opacity: 1 !important;
}

/* パンくず */
.breadcrumb a,
.breadcrumb span {
  color: #1a1a1a !important;
  opacity: 1 !important;
}

/* 画像は必ず表示 */
img,
.card-thumb img,
.entry-card-thumb img,
.navi-entry-card-thumb img,
.related-entry-card-thumb img {
  opacity: 1 !important;
  filter: none !important;
}

/* 記事内見出し背景リセット */
.entry-content h1,
.entry-content h3,
.entry-content h4 {
  background-color: transparent !important;
  background: transparent !important;
}

.entry-content h2:not(.home-column-title) {
  background-color: transparent !important;
  background: transparent !important;
}

/* 日付・メタ情報 */
.post-date,
.post-update,
.entry-date,
.article-date,
.date,
time,
.meta-item,
.cat-label-head,
.archive-title,
.page-title {
  color: #888888 !important;
  opacity: 1 !important;
}

/* ページネーション */
.pagination a,
.pagination span,
.page-numbers,
.page-numbers a,
.nav-links a,
.nav-links span {
  color: #333333 !important;
  opacity: 1 !important;
  border-color: #cccccc !important;
}

/* 次のページボタン */
.pagination-next-link,
.key-btn,
.pagination-next-link *,
.key-btn * {
  color: #333333 !important;
  opacity: 1 !important;
  background-color: #ffffff !important;
  border-color: #cccccc !important;
}

/* preformatted ブロック */
.wp-block-preformatted,
pre.wp-block-preformatted {
  color: #1a1a1a !important;
  opacity: 1 !important;
  background-color: #f5f5f5 !important;
}

/* 関連記事見出し・タグ */
.related-entry-heading,
.related-entry-heading *,
.tag-cloud a,
.post-tags a,
.cat-label {
  color: #1a1a1a !important;
  opacity: 1 !important;
}

/* サムネイル上のカテゴリーラベル非表示 */
.card-thumb .cat-label {
  display: none !important;
}

/* タグ・カテゴリーリンク */
.tag-link,
.tag-link.border-element,
.entry-tags a,
.entry-categories a,
.cat-link {
  color: #1a1a1a !important;
  opacity: 1 !important;
  border-color: #cccccc !important;
  background-color: transparent !important;
}

/* モバイルメニュー文字色 */
.navi-menu-content,
.navi-menu-content a,
.navi-menu-content li a,
.menu-drawer,
.menu-drawer a,
.menu-drawer li a {
  color: #333333 !important;
  opacity: 1 !important;
}

/* フッター著作権 */
.footer-copyright,
#footer .copyright,
.site-info {
  font-size: 12px !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

/* 記事ページのアイキャッチ非表示 */
.single .eye-catch,
.page .eye-catch {
  display: none !important;
}

/* 記事タイトル文字色 */
.entry-title,
.article-title,
h1.entry-title {
  color: #1a1a1a !important;
  opacity: 1 !important;
}

/* アクセスカウンター文字色 */
.admin-pv,
.admin-pv span {
  color: #888888 !important;
  opacity: 1 !important;
}

/* wp-block-heading文字色 */
.wp-block-heading,
h1.wp-block-heading,
h2.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading {
  color: #1a1a1a !important;
  opacity: 1 !important;
}

/************************************
** Tier表ページ個別調整
************************************/

/* Tier表ページ(ID:1778)のみ見出し余白調整 */
.page-id-1778 .entry-content h2 {
  margin-top: 16px !important;
  margin-bottom: 8px !important;
  padding: 8px 16px !important;
}

/* Tier表サイドバーバナー */
.tier-banner-link {
  display: block !important;
  text-decoration: none !important;
  margin: 0 !important;
}

.tier-banner-img {
  width: 100% !important;
  height: auto !important;
  border-radius: 0 !important;
  display: block !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  opacity: 1 !important;
}

.tier-banner-img:hover {
  opacity: 0.9 !important;
}

/************************************
** Dexel スライダー
************************************/
.dexel-slider-wrap {
  width: 100%;
  margin-bottom: 32px;
  overflow: hidden;
  border-radius: 8px;
}

.dexel-swiper {
  width: 100%;
  height: 420px;
  border-radius: 8px;
  overflow: hidden;
}

.dexel-slide-link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none !important;
}

.dexel-slide-bg {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}

.dexel-slide-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.dexel-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.0) 0%,
    rgba(0,0,0,0.3) 50%,
    rgba(0,0,0,0.85) 100%
  );
  z-index: 1;
}

.dexel-slide-content {
  background: rgba(0,0,0,0.45);
  border-radius: 4px;
  backdrop-filter: blur(2px);
}

.dexel-slide-label {
  display: inline-block;
  background: #1a6fc4;
  color: #fff !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 3px 10px;
  border-radius: 3px;
  margin-bottom: 8px;
  text-transform: uppercase;
  opacity: 1 !important;
}

.dexel-slide-title {
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 0 6px !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6);
  opacity: 1 !important;
}

.dexel-slide-date {
  color: rgba(255,255,255,0.7) !important;
  font-size: 12px;
  opacity: 1 !important;
}

.dexel-swiper .swiper-button-next,
.dexel-swiper .swiper-button-prev {
  color: #fff;
  background: rgba(0,0,0,0.35);
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.dexel-swiper .swiper-button-next::after,
.dexel-swiper .swiper-button-prev::after {
  font-size: 16px;
}

.dexel-swiper .swiper-pagination-bullet {
  background: rgba(255,255,255,0.5);
  opacity: 1;
}

.dexel-swiper .swiper-pagination-bullet-active {
  background: #4fc3f7;
}

@media (max-width: 768px) {
  .dexel-swiper {
    height: 180px;
  }
  .dexel-slide-title {
    font-size: 14px !important;
  }
  .dexel-slide-content {
    padding: 16px;
  }
}

/************************************
** 記事下デッキリンクボックス
************************************/
.deck-link-box {
  background: transparent;
  border-radius: 8px;
  padding: 20px 0;
  text-align: center;
  margin: 32px 0 16px;
}

.deck-link-label {
  color: rgba(255,255,255,0.8) !important;
  font-size: 13px !important;
  margin-bottom: 12px !important;
  opacity: 1 !important;
}

.deck-link-btn {
  display: inline-block;
  background: #ffffff;
  color: #0a2540 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 10px 24px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
  opacity: 1 !important;
  border: 2px solid #0a2540 !important;
}

.deck-link-btn:hover {
  background: #e8f4ff !important;
}

.deck-link-label {
  display: none !important;
}

/************************************
** スキップリンク(普段は隠してフォーカス時のみ表示)
************************************/
.skip-link,
a.skip-link {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.skip-link:focus,
a.skip-link:focus {
  position: static !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
}

/************************************
** Dexel デッキ記事用スタイル(.dxl-wb)
************************************/
.dxl-wb .dxl-lead {
  font-size: 15px;
  line-height: 1.9;
}

.dxl-wb .dxl-verdict {
  background: #f6f8fb;
  border: 1px solid #e3e8f0;
  border-radius: 12px;
  padding: 20px 22px;
  margin: 24px 0 32px;
}

.dxl-wb .dxl-vhead {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 15px;
}

.dxl-wb .dxl-vtag {
  font-size: 12px;
  font-weight: 500;
  color: #ffffff !important;
  opacity: 1 !important;
  background: #1b2a4a;
  padding: 3px 11px;
  border-radius: 6px;
}

.dxl-wb .dxl-vsub {
  font-size: 12px;
  color: #5a626d !important;
  opacity: 1 !important;
}

.dxl-wb .dxl-vgrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 11px;
  margin-bottom: 16px;
}

.dxl-wb .dxl-vcell {
  background: #ffffff;
  border: 1px solid #e6e8ec;
  border-radius: 8px;
  padding: 11px 13px;
}

.dxl-wb .dxl-vcell .k {
  font-size: 11px;
  color: #5a626d !important;
  opacity: 1 !important;
  margin: 0 0 4px;
}

.dxl-wb .dxl-vcell .v {
  font-size: 14.5px;
  font-weight: 500;
  color: #202327 !important;
  opacity: 1 !important;
  margin: 0;
  line-height: 1.5;
}

.dxl-wb .dxl-vcell .v.ph {
  color: #9aa1ab !important;
}

.dxl-wb .dxl-lbl {
  font-size: 12px;
  font-weight: 500;
  color: #5a626d !important;
  opacity: 1 !important;
  margin: 0 0 9px;
}

.dxl-wb .dxl-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.entry-content .dxl-wb .dxl-chip,
.dxl-wb .dxl-chip {
  font-size: 12.5px;
  padding: 4px 11px;
  border: 1px solid #d9dee6;
  border-radius: 7px;
  background: #ffffff;
  line-height: 1.6;
  color: #1a1a1a !important;
  opacity: 1 !important;
}

.dxl-wb .dxl-tiers {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 12px 0 4px;
}

.dxl-wb .dxl-tier-card {
  background: #ffffff;
  border: 1px solid #e6e8ec;
  border-left-width: 4px;
  border-radius: 8px;
  padding: 13px 15px;
}

.dxl-wb .dxl-tier-card.t1 { border-left-color: #e89aa0; }
.dxl-wb .dxl-tier-card.t2 { border-left-color: #9bc0ea; }
.dxl-wb .dxl-tier-card.t3 { border-left-color: #a9cf86; }

.dxl-wb .dxl-thead {
  margin-bottom: 4px;
}

.dxl-wb .dxl-t {
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 6px;
  white-space: nowrap;
  font-size: 12.5px;
}

.dxl-wb .dxl-t1 { background: #fde3e3; color: #b23b3b !important; opacity: 1 !important; }
.dxl-wb .dxl-t2 { background: #e1eefc; color: #1f5fa8 !important; opacity: 1 !important; }
.dxl-wb .dxl-t3 { background: #e6f3da; color: #4b7a1c !important; opacity: 1 !important; }

.dxl-wb .dxl-trow {
  margin-top: 11px;
}

.dxl-wb .dxl-tk {
  display: block;
  font-size: 11px;
  color: #9aa1ab !important;
  opacity: 1 !important;
  margin-bottom: 6px;
}

.dxl-wb .dxl-tnote {
  font-size: 13.5px;
  line-height: 1.75;
  color: #5a626d !important;
  opacity: 1 !important;
  margin: 0;
}

.dxl-wb .dxl-cardlist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 4px 16px;
}

.entry-content .dxl-wb .dxl-cardlist li,
.dxl-wb .dxl-cardlist li {
  font-size: 14px;
  line-height: 1.7;
  padding: 3px 0 3px 16px;
  position: relative;
  color: #202327 !important;
  opacity: 1 !important;
}

.dxl-wb .dxl-cardlist li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.95em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #b9c0ca;
}

.dxl-wb .dxl-decklist-img {
  width: 100%;
  height: auto;
  border: 1px solid #e6e8ec;
  border-radius: 10px;
  display: block;
  margin: 4px 0 16px;
}

.dxl-wb .dxl-copy {
  display: block;
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
  background: #0a0aa0;
  color: #ffffff !important;
  opacity: 1 !important;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  padding: 14px 20px;
  border-radius: 26px;
  letter-spacing: .02em;
  transition: background .15s;
}

.dxl-wb .dxl-copy:hover {
  background: #08087d;
  color: #ffffff !important;
}

.entry-content .dxl-wb h2 {
  border-top: 1px solid #e3e6ea !important;
  padding-top: 26px !important;
  margin-top: 34px !important;
}

.dxl-wb .dxl-lead + .dxl-verdict {
  margin-top: 24px;
}

/************************************
** 選手名鑑(.dxm)— Dexel誌面デザイン
** ページID:2917 / Cocoon競合対策含む
************************************/

/* Cocoonの白い入れ物を消す(名鑑ページ専用) */
.page-id-2917 .article-header,
.page-id-2917 .entry-header,
.page-id-2917 .date-tags {
  display: none;
}

.page-id-2917 .article,
.page-id-2917 .entry-content {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
}

/* 目次の保険(設定を忘れても表示されないように) */
.page-id-2917 .toc,
.page-id-2917 #toc {
  display: none;
}

/* 左右の余白を強制確保(Cocoonとの競合対策) */
.dxm .dxm-wrap {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* 公開済みカード(リンク)の文字色をCocoonから守る */
.dxm a.dxm-pc,
.dxm a.dxm-pc:visited,
.dxm a.dxm-pc:hover {
  color: #F2F4F1 !important;
  text-decoration: none !important;
}

.dxm a.dxm-pc h3 { color: #F2F4F1 !important; }
.dxm a.dxm-pc h3 .jp { color: #F2F4F1 !important; }
.dxm a.dxm-pc .tm { color: #9FB4C6 !important; }
.dxm a.dxm-pc .read { color: #BFE3D2 !important; }

.dxm a.dxm-pc .badge {
  color: #E8C766 !important;
  background: transparent !important;
  border: 1px solid #E8C766 !important;
}

/* スマホ調整(全幅ハック解除・余白) */
@media (max-width: 680px) {
  .dxm {
    margin: 0;
  }
  .dxm .dxm-wrap {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

/* 全固定ページ:記事ヘッダー(タイトル帯・日付)をまるごと非表示 */
.page .entry-header,
.page .article-header,
.page .date-tags,
.page .post-date,
.page .post-update{display:none !important}

/* 全固定ページ:entry-contentの上余白を打ち消す(白帯の除去) */
.page .entry-content{
  padding-top:0 !important;
  margin-top:0 !important;
}


/* ============================================================
   ↓↓↓ ここから下が Dexel トップページ用の追記分（.dexel-top） ↓↓↓
   本文を <div class="dexel-top"> … </div> で囲むこと（必須）。
   ============================================================ */

/* ============================================================
   Dexel トップページ CSS  ―  .dexel-top スコープ版
   ------------------------------------------------------------
   ★ 既存 style.css の「末尾」に追記してください。
   ★ ファイルごと置き換えないこと。
      （#header / #navi / サイドバー / .dxl-wb / .dxm /
        .dexel-swiper / .svb-portal-section / footer 等、
        サイト全体のスタイルが消えます）
   ★ 本文は必ず <div class="dexel-top"> … </div> で囲むこと。
      包まないと、この追記は1つも効きません（むしろ崩れます）。
   ★ .page .entry-header{display:none} 等は既存ファイルにあるため
      ここには入れていません（二重定義防止）。
   ============================================================ */

.dexel-top{
  --ink:#0f1117; --ink-2:#0a2540; --ink-3:#143055;
  --paper:#FFFFFF; --bg:#F2F3F5; --text:#1a1a1a; --mute:#5A626D; --line:#E3E6EA;
  --gold:#E8C766; --gold-hi:#F0D580; --gold-soft:#F4ECCF;
  --c-elf:#4E8B3E; --c-royal:#A8842E; --c-witch:#5468C4; --c-dragon:#D2762E;
  --c-nightmare:#7A4BA8; --c-bishop:#C7B24A; --c-nemesis:#3FA39B;
  --ease:cubic-bezier(.4,0,.2,1);
  --font-display:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  --font-body:"Noto Sans JP",sans-serif;
  --font-latin:"Saira Semi Condensed","Arial",sans-serif;
  font-family:var(--font-body); color:var(--text); line-height:1.75; font-size:16px;
}
.dexel-top *{box-sizing:border-box;}
.dexel-top a{color:inherit;}
.dexel-top .wrap{max-width:1080px; margin:0 auto; padding:0 24px;}
.dexel-top .eyebrow{font-family:var(--font-latin); text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:600; color:var(--gold) !important; display:inline-block; margin:0 0 10px;}
.dexel-top .num{font-family:var(--font-latin); color:var(--gold) !important; font-weight:600; margin-right:8px;}

/* ボタン */
.dexel-top .btn{display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:15px; padding:12px 20px; border-radius:8px; text-decoration:none; border:1.5px solid transparent; font-family:var(--font-display);}
.dexel-top .btn-primary{background:var(--gold); color:var(--ink) !important;}
.dexel-top .btn-primary:hover{background:var(--gold-hi);}
.dexel-top .btn-ghost{border-color:rgba(255,255,255,.4); color:#fff !important;}
.dexel-top .btn-ghost:hover{border-color:var(--gold); color:var(--gold) !important;}
.dexel-top .cta-row{display:flex; gap:12px; flex-wrap:wrap;}

/* ===== ① Featured スライド ===== */
.dexel-top .hero-wrap{padding:24px 0 8px;}
.dexel-top .fs{position:relative; border-radius:18px; overflow:hidden; background:var(--ink); box-shadow:0 18px 50px rgba(34,26,46,.18); border-top:3px solid var(--gold);}
.dexel-top .fs-view{overflow:hidden;}
.dexel-top .fs-track{display:flex; transition:transform .6s var(--ease);}
.dexel-top .fs-slide{flex:0 0 100%; position:relative; min-height:380px; display:flex; align-items:flex-end;}
.dexel-top .fs-bg{position:absolute; inset:0; z-index:0; background:linear-gradient(135deg, var(--g1,#0c1422), var(--g2,#16345a)); transform:scale(1.02);}
.dexel-top .fs-bg::after{content:""; position:absolute; inset:0; background:radial-gradient(120% 90% at 85% 0%, rgba(232,199,102,.22), transparent 60%);}
.dexel-top .fs-slide.is-active .fs-bg{animation:dxl-drift 7s var(--ease) forwards;}
@keyframes dxl-drift{from{transform:scale(1.02) translate(0,0);} to{transform:scale(1.1) translate(-1.5%,-1.5%);}}
.dexel-top .fs-grad{position:absolute; inset:0; z-index:1; background:linear-gradient(0deg, rgba(8,14,24,.82) 0%, rgba(8,14,24,.30) 48%, transparent 78%);}
.dexel-top .fs-content{position:relative; z-index:2; padding:34px 32px 38px; color:#fff !important; width:100%; max-width:36em;}
.dexel-top .fs-eyebrow{display:inline-flex; align-items:center; gap:8px; font-family:var(--font-latin); text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:600; color:var(--gold) !important; margin:0 0 12px;}
.dexel-top .fs-eyebrow::before{content:""; width:18px; height:1.5px; background:var(--gold);}
.dexel-top .fs-h{font-family:var(--font-display); font-weight:900; line-height:1.26; letter-spacing:.01em; font-size:clamp(24px,5vw,38px); margin:0 0 14px; text-wrap:balance; color:#fff !important; background:transparent !important; border:none !important; padding:0 !important;}
.dexel-top .fs-h .g{color:var(--gold) !important;}
.dexel-top .fs-meta{font-family:var(--font-latin); font-weight:500; font-size:12px; letter-spacing:.05em; color:#A8BACA !important; margin:0;}
.dexel-top .fs-read{display:inline-flex; align-items:center; gap:7px; margin-top:14px; font-family:var(--font-display); font-weight:700; font-size:14px; color:#fff !important; text-decoration:none;}
.dexel-top .fs-read .ar{color:var(--gold) !important; transition:transform .2s var(--ease);}
.dexel-top .fs-read:hover .ar{transform:translateX(4px);}
.dexel-top .fs-content>*{opacity:0; transform:translateY(12px); transition:opacity .55s var(--ease), transform .55s var(--ease);}
.dexel-top .fs-slide.is-active .fs-eyebrow{transition-delay:.10s;}
.dexel-top .fs-slide.is-active .fs-h{transition-delay:.17s;}
.dexel-top .fs-slide.is-active .fs-meta,.dexel-top .fs-slide.is-active .cta-row,.dexel-top .fs-slide.is-active .fs-read{transition-delay:.24s;}
.dexel-top .fs-slide.is-active .fs-content>*{opacity:1; transform:none;}
.dexel-top .fs-bar{position:absolute; z-index:3; left:0; right:0; bottom:0; display:flex; gap:6px; padding:0 32px 18px;}
.dexel-top .fs-bar button{flex:1; height:3px; padding:0; border:none; border-radius:3px; background:rgba(255,255,255,.22); cursor:pointer; overflow:hidden; position:relative;}
.dexel-top .fs-bar button .fill{position:absolute; inset:0; width:0; background:var(--gold); border-radius:3px;}
.dexel-top .fs-nav{position:absolute; z-index:3; top:18px; right:18px; display:flex; gap:8px;}
.dexel-top .fs-nav button{width:34px; height:34px; border-radius:9px; border:1px solid rgba(255,255,255,.25); background:rgba(8,14,24,.35); color:#fff; font-size:15px; cursor:pointer; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(4px); transition:border-color .2s var(--ease), color .2s var(--ease);}
.dexel-top .fs-nav button:hover{border-color:var(--gold); color:var(--gold);}

/* セクション見出し */
.dexel-top section.block{padding:48px 0;}
.dexel-top .sec-head{margin-bottom:28px;}
.dexel-top .sec-head h2{font-family:var(--font-display); font-weight:700; font-size:clamp(22px,3vw,30px); margin:0; color:var(--ink) !important; background:transparent !important; border:none !important; padding:0 !important;}
.dexel-top .sec-head .note{color:var(--mute) !important; font-size:14px; margin:8px 0 0;}

/* ===== ② Tierバナー帯 ===== */
.dexel-top .tb{position:relative; overflow:hidden; background:var(--ink); color:#fff; border-radius:16px; border-top:3px solid var(--gold); padding:24px 24px 22px; margin-bottom:24px;}
.dexel-top .tb-ghost{position:absolute; z-index:0; pointer-events:none; user-select:none; font-family:var(--font-latin); font-weight:600; line-height:.8; letter-spacing:-.02em; color:rgba(232,199,102,.12); font-size:170px; top:-10px; right:-12px;}
.dexel-top .tb-in{position:relative; z-index:1;}
.dexel-top .tb-top{display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin:0 0 12px;}
.dexel-top .tb-new{font-family:var(--font-display); font-weight:700; font-size:11px; letter-spacing:.04em; background:var(--gold); color:var(--ink) !important; padding:3px 9px; border-radius:5px;}
.dexel-top .tb-env{font-size:12.5px; color:#C3D2DE !important;}
.dexel-top .tb-date{margin-left:auto; font-family:var(--font-latin); font-weight:500; font-size:12px; color:#9FB4C6 !important; letter-spacing:.04em; white-space:nowrap;}
.dexel-top .tb-h{font-family:var(--font-display); font-weight:900; line-height:1.12; letter-spacing:.005em; font-size:clamp(32px,8vw,46px); margin:0 0 7px; color:#fff !important; background:transparent !important; border:none !important; padding:0 !important;}
.dexel-top .tb-h .g{color:var(--gold) !important;}
.dexel-top .tb-sub{font-size:13.5px; color:#C3D2DE !important; margin:0 0 16px; max-width:26em;}
.dexel-top .tb-by{display:flex; align-items:center; gap:11px; border-top:1px dashed rgba(255,255,255,.16); padding-top:14px; margin-top:4px;}
.dexel-top .tb-ava{width:38px; height:38px; border-radius:50%; flex-shrink:0; background:var(--ink-2); border:1.5px solid var(--gold); color:var(--gold) !important; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:15px;}
.dexel-top .tb-who{line-height:1.3; min-width:0;}
.dexel-top .tb-who .nm{display:block; font-family:var(--font-display); font-weight:700; font-size:14.5px; color:#fff !important;}
.dexel-top .tb-who .nm small{font-family:var(--font-body); font-weight:400; font-size:10.5px; color:#9FB4C6 !important;}
.dexel-top .tb-who .hd{display:block; font-family:var(--font-latin); font-weight:500; font-size:12px; color:#9FB4C6 !important; letter-spacing:.03em;}
.dexel-top .tb-badge{margin-left:auto; align-self:flex-start; white-space:nowrap; font-family:var(--font-display); font-weight:700; font-size:11px; letter-spacing:.06em; background:var(--gold); color:var(--ink) !important; padding:4px 11px; border-radius:5px;}

/* クラスセレクター（明部・上書き不要だが保険でcolor指定） */
.dexel-top .tier-select{max-width:520px;}
.dexel-top .reco-note{color:var(--mute) !important; font-size:14px; margin:0 0 16px;}
.dexel-top .coins{display:flex; gap:4px; justify-content:space-between; margin:0 0 16px;}
.dexel-top .coin{flex:1 1 0; min-width:0; cursor:pointer; background:none; border:none; padding:0; display:flex; flex-direction:column; align-items:center; gap:5px;}
.dexel-top .coin .disc{position:relative; width:46px; height:46px; border-radius:50%; overflow:hidden; border:2px solid var(--cc); background:#EEEBF2; transition:transform .15s var(--ease), box-shadow .15s var(--ease), border-width .12s var(--ease);}
.dexel-top .coin .disc img.face{width:100%; height:100%; object-fit:cover; display:block;}
.dexel-top .coin .disc .ph{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--cc);}
.dexel-top .coin .disc .ph svg{width:30px; height:30px;}
.dexel-top .coin .lb{font-size:10.5px; color:var(--mute) !important; white-space:nowrap; transition:color .15s;}
.dexel-top .coin:hover .disc{transform:translateY(-2px);}
.dexel-top .coin[aria-selected="true"] .disc{border-width:3px; transform:translateY(-2px); box-shadow:0 4px 12px rgba(34,26,46,.20);}
.dexel-top .coin[aria-selected="true"] .lb{color:var(--ink) !important; font-weight:700;}
.dexel-top .panel{background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:18px 18px 16px; border-top:3px solid var(--cc,var(--gold)); overflow:hidden;}
.dexel-top .panel-in{transition:opacity .26s var(--ease), transform .26s var(--ease);}
.dexel-top .panel-in.swap{opacity:0; transform:translateY(7px);}
.dexel-top .p-klass{font-family:var(--font-display); font-weight:700; font-size:13px; color:var(--cc,var(--mute)) !important;}
.dexel-top .p-deck{font-family:var(--font-display); font-weight:900; font-size:clamp(23px,6.5vw,30px); line-height:1.16; margin:3px 0 6px; color:var(--ink) !important; background:transparent !important;}
.dexel-top .p-level{font-size:12.5px; color:var(--mute) !important; margin:0 0 14px;}
.dexel-top .p-level b{color:var(--text) !important;}
.dexel-top .p-by{display:flex; align-items:center; gap:10px; border-top:1px dashed var(--line); padding-top:12px;}
.dexel-top .p-ava{width:36px; height:36px; border-radius:50%; flex-shrink:0; background:var(--ink); color:#fff !important; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:13px;}
.dexel-top .p-who{line-height:1.3; min-width:0;}
.dexel-top .p-who .nm{display:block; font-family:var(--font-display); font-weight:700; font-size:14px; color:var(--ink) !important;}
.dexel-top .p-who .nm small{font-family:var(--font-body); font-weight:400; font-size:10px; color:var(--mute) !important;}
.dexel-top .p-who .hd{display:block; font-family:var(--font-latin); font-weight:500; font-size:11.5px; color:var(--mute) !important; letter-spacing:.03em;}
.dexel-top .p-badge{margin-left:auto; align-self:flex-start; white-space:nowrap; font-family:var(--font-display); font-weight:700; font-size:11px; letter-spacing:.06em; background:var(--gold); color:var(--ink) !important; padding:4px 11px; border-radius:5px;}
.dexel-top .matrix-link{display:inline-flex; align-items:center; gap:8px; margin-top:24px; text-decoration:none; font-family:var(--font-display); font-weight:700; font-size:14.5px; color:var(--ink) !important; background:var(--paper); border:1.5px solid var(--line); padding:13px 22px; border-radius:9px; transition:border-color .15s var(--ease), color .15s var(--ease);}
.dexel-top .matrix-link:hover{border-color:var(--gold); color:var(--gold) !important;}
.dexel-top .matrix-note{display:block; font-size:12px; color:var(--mute) !important; margin-top:10px;}

/* ===== ③ 名鑑カルーセル ===== */
.dexel-top .kv{position:relative; background:var(--ink); color:#fff; border-radius:16px; overflow:hidden; padding:40px 44px;}
.dexel-top .kv::before{content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--gold);}
.dexel-top .kv-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px;}
.dexel-top .kv-head .eyebrow{margin:0;}
.dexel-top .kv-count{font-family:var(--font-latin); font-size:13px; letter-spacing:.08em; color:#9FB4C6 !important;}
.dexel-top .kv-count b{color:#fff !important; font-weight:600;}
.dexel-top .carousel{position:relative; overflow:hidden;}
.dexel-top .track{display:flex; transition:transform .4s var(--ease);}
.dexel-top .slide{flex:0 0 100%; min-width:0;}
.dexel-top .slide .team{font-family:var(--font-latin); font-size:13px; letter-spacing:.06em; color:var(--gold) !important; display:block; margin-bottom:10px;}
.dexel-top .slide .kv-quote{font-family:var(--font-display); font-weight:900; line-height:1.32; letter-spacing:.01em; font-size:clamp(24px,3.8vw,40px); margin:0 0 16px; color:#fff !important; background:transparent !important;}
.dexel-top .slide .kv-quote .q{color:var(--gold) !important;}
.dexel-top .slide .by{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; color:#9FB4C6 !important; font-size:12.5px;}
.dexel-top .slide .by .pn{font-family:var(--font-latin); font-weight:600; font-size:18px; color:#fff !important; letter-spacing:.03em;}
.dexel-top .slide .by .role{color:#C3D2DE !important;}
.dexel-top .kv-controls{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:24px; border-top:1px solid #1c3a58; padding-top:18px;}
.dexel-top .dots{display:flex; gap:8px;}
.dexel-top .dots button{width:9px; height:9px; padding:0; border-radius:50%; border:none; background:#244463; cursor:pointer;}
.dexel-top .dots button[aria-current="true"]{background:var(--gold); width:22px; border-radius:5px;}
.dexel-top .arrows{display:flex; gap:8px;}
.dexel-top .arrows button{width:36px; height:36px; border-radius:8px; border:1px solid #244463; background:transparent; color:#fff; font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.dexel-top .arrows button:hover{border-color:var(--gold); color:var(--gold);}
.dexel-top .kv-cta{margin-top:24px;}

/* 自動更新の境目 */
.dexel-top .auto-divider{display:flex; align-items:center; gap:16px; color:var(--mute) !important; font-size:13px; max-width:1080px; margin:8px auto 0; padding:0 24px;}
.dexel-top .auto-divider::before,.dexel-top .auto-divider::after{content:""; flex:1; height:1px; background:var(--line);}

/* ===== ④⑤⑥ フィード（明部） ===== */
.dexel-top .feed{background:var(--paper); border:1px solid var(--line); border-radius:12px; overflow:hidden;}
.dexel-top .feed-item{display:flex; gap:16px; padding:16px 18px; border-bottom:1px solid var(--line); text-decoration:none; color:inherit;}
.dexel-top .feed-item:last-child{border-bottom:none;}
.dexel-top .feed-item:hover{background:#FAF9FB;}
.dexel-top .thumb{width:108px; height:68px; border-radius:8px; background:#E9E6EF; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#B4AEC0; font-size:12px; font-family:var(--font-latin);}
.dexel-top .feed-item .ttl{font-weight:700; font-size:15px; margin:0 0 4px; line-height:1.45; color:var(--ink) !important;}
.dexel-top .feed-item .meta{font-size:12.5px; color:var(--mute) !important; font-family:var(--font-latin); letter-spacing:.03em;}
.dexel-top .two-col{display:grid; grid-template-columns:1fr 1fr; gap:24px;}

/* レスポンシブ */
@media (min-width:680px){ .dexel-top .fs-slide{min-height:460px;} .dexel-top .fs-content{padding:40px 44px 46px;} }
@media (max-width:680px){
  .dexel-top .wrap{padding:0 16px;}
  .dexel-top section.block{padding:32px 0;}
  .dexel-top .sec-head{margin-bottom:20px;}
  .dexel-top .two-col{grid-template-columns:1fr; gap:32px;}
  .dexel-top .thumb{width:84px; height:56px;}
  .dexel-top .kv{padding:30px 22px;}
  .dexel-top .tb{padding:22px 20px 20px;}
  .dexel-top .fs-bar{padding:0 20px 16px;}
}
@media (prefers-reduced-motion:reduce){
  .dexel-top *{transition:none !important;}
  .dexel-top .fs-content>*{opacity:1; transform:none;}
  .dexel-top .fs-slide.is-active .fs-bg{animation:none;}
}
.dexel-top a:focus-visible,.dexel-top .btn:focus-visible,.dexel-top .matrix-link:focus-visible,.dexel-top .coin:focus-visible .disc,.dexel-top .fs-nav button:focus-visible,.dexel-top .fs-read:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}


/* ============================================================
   Dexel トップ 追記分②  ―  CR×Starter / 選手名鑑 / 注記バナー
   ------------------------------------------------------------
   ★ HTML本体は <div class="dexel-top"> … </div> で囲むこと（必須）。
   ★ ブランド踏襲：地は明色、特集ブロックは濃色、アクセントは
      ゴールド(--gold:#E8C766)。シアン(#3fd4ff)ではない。
   ============================================================ */

/* ===== 折り返し・はみ出し対策の共通保険 ===== */
.dexel-top .cr-starter,
.dexel-top .roster-grid,
.dexel-top .deck-coins{ min-width:0; }
.dexel-top .cr-starter > *,
.dexel-top .deckbox{ min-width:0; max-width:100%; }

/* ===== プレビュー注記バナー（本番では要素ごと削除してOK） ===== */
.dexel-top .note-banner{
  background:#FFF7E0; border:1px solid var(--gold-soft);
  border-left:4px solid var(--gold); border-radius:10px;
  padding:12px 16px; margin:16px auto 0; font-size:13px;
  line-height:1.7; color:var(--mute) !important;
}
.dexel-top .note-banner b{ color:var(--ink) !important; }
.dexel-top .note-banner code{
  font-family:var(--font-latin); background:rgba(0,0,0,.05);
  padding:1px 6px; border-radius:4px; color:var(--text) !important;
}

/* ===== セクション見出し（右にアクションボタンを置く版） ===== */
.dexel-top .sec-head.has-action{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
}
.dexel-top .sec-head.has-action .sec-head-main{ flex:1 1 280px; min-width:0; }
.dexel-top .sec-action{
  flex:none; display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-display); font-weight:700; font-size:13px;
  text-decoration:none; white-space:nowrap; color:var(--ink) !important;
  background:var(--paper); border:1.5px solid var(--line);
  border-radius:8px; padding:9px 16px;
  transition:border-color .15s var(--ease), color .15s var(--ease);
}
.dexel-top .sec-action:hover{ border-color:var(--gold); color:var(--gold) !important; }
.dexel-top .sec-action span{ transition:transform .15s var(--ease); }
.dexel-top .sec-action:hover span{ transform:translateX(3px); }

/* ===== ★ CR上位記事 × スターターデッキ（2カラム） ===== */
.dexel-top .cr-starter{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:32px; align-items:start;
}

/* 左カラムのフィードは既存 .feed / .feed-item をそのまま使用 */

/* ===== スターターデッキ枠（濃色フィーチャーカード） ===== */
.dexel-top .deckbox{
  position:relative; background:var(--ink); color:#fff;
  border-radius:16px; border-top:3px solid var(--gold);
  padding:22px 22px 20px; overflow:hidden;
}
.dexel-top .deck-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.dexel-top .deck-eyebrow{
  font-family:var(--font-latin); text-transform:uppercase; letter-spacing:.14em;
  font-size:12px; font-weight:600; color:var(--gold) !important;
}
.dexel-top .deck-count{ font-family:var(--font-latin); font-size:13px; color:#9FB4C6 !important; }
.dexel-top .deck-count b{ color:#fff !important; font-size:16px; }
.dexel-top .deck-intro{ color:#C3D2DE !important; font-size:13px; line-height:1.7; margin:10px 0 16px; }

/* クラス選択コイン（4列グリッド・色は JS の --cl で指定される） */
.dexel-top .deck-coins{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px 6px; margin-bottom:18px;
}
.dexel-top .dcoin{
  display:flex; flex-direction:column; align-items:center; gap:6px;
  background:none; border:none; padding:4px 2px; cursor:pointer;
  color:#9FB4C6; transition:color .14s var(--ease);
}
.dexel-top .dcoin .dc{
  width:46px; height:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-latin); font-weight:600; font-size:15px; color:#0a0f17;
  background:var(--cl,#789); border:2px solid transparent;
  box-shadow:0 3px 10px rgba(0,0,0,.30);
  transition:transform .14s var(--ease), box-shadow .16s var(--ease);
}
.dexel-top .dcoin .dl{ font-size:11px; font-weight:700; line-height:1.1; }
.dexel-top .dcoin:hover{ color:#fff; }
.dexel-top .dcoin:hover .dc{ transform:translateY(-2px); }
.dexel-top .dcoin[aria-selected="true"]{ color:#fff; }
.dexel-top .dcoin[aria-selected="true"] .dc{
  border-color:#fff;
  box-shadow:0 0 0 3px rgba(232,199,102,.55),0 3px 10px rgba(0,0,0,.35);
}
.dexel-top .dcoin .dc.is-soon{ opacity:.45; }

/* 選択中デッキの見出し行 */
.dexel-top .deck-title-row{ display:flex; align-items:center; gap:12px; margin:0 0 4px; }
.dexel-top .deck-coin{
  flex:none; width:42px; height:42px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-latin); font-weight:600; font-size:15px; color:#0a0f17;
  background:linear-gradient(135deg,var(--gold),var(--gold-hi));
}
.dexel-top .deck-cl{ font-family:var(--font-latin); letter-spacing:.06em; font-size:12.5px; color:#9FB4C6 !important; margin:0; }
.dexel-top .deck-name{ font-family:var(--font-display); font-weight:900; font-size:21px; line-height:1.2; margin:1px 0 0; color:#fff !important; }
.dexel-top .deck-tag{
  margin-left:auto; align-self:flex-start; flex:none; white-space:nowrap;
  border:1px solid var(--gold); color:var(--gold) !important;
  border-radius:7px; padding:4px 11px; font-size:12px; font-weight:700;
}
.dexel-top .deck-tag.is-soon{ border-color:#9FB4C6; color:#9FB4C6 !important; }

/* 難易度・タイプのメタチップ */
.dexel-top .deck-meta{ display:flex; flex-wrap:wrap; gap:7px; margin:12px 0 4px; }
.dexel-top .deck-chip{
  font-family:var(--font-latin); letter-spacing:.03em; font-size:12px; font-weight:600;
  padding:4px 11px; border-radius:7px; border:1px solid rgba(255,255,255,.18);
  color:#C3D2DE !important; background:rgba(255,255,255,.04);
}
.dexel-top .deck-chip b{ color:var(--gold) !important; font-weight:700; margin-left:5px; }
.dexel-top .deck-lead{ color:#C3D2DE !important; font-size:13.5px; line-height:1.75; margin:8px 0 16px; }

/* 「詳しく読む」ボタン */
.dexel-top .deck-btn{
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%;
  padding:14px 18px; border-radius:10px; text-decoration:none;
  font-family:var(--font-display); font-weight:700; font-size:15px;
  background:var(--gold); color:var(--ink) !important;
  transition:background .15s var(--ease);
}
.dexel-top .deck-btn:hover{ background:var(--gold-hi); }
.dexel-top .deck-btn.is-soon{
  background:rgba(255,255,255,.06); color:#9FB4C6 !important;
  border:1px solid rgba(255,255,255,.18); cursor:default; pointer-events:none;
}
.dexel-top .deck-note{ display:block; margin-top:8px; color:#9FB4C6 !important; font-size:11.5px; line-height:1.6; }

/* ===== 選手名鑑 ロスター（明色カード・色は HTML の --pc で指定） ===== */
.dexel-top .roster-grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;
}
.dexel-top .pcard{
  display:flex; align-items:center; gap:14px; padding:14px 16px;
  background:var(--paper); border:1px solid var(--line); border-radius:13px;
  text-decoration:none; color:inherit;
  transition:border-color .15s var(--ease), transform .15s var(--ease), box-shadow .15s var(--ease);
}
.dexel-top .pcard:hover{
  border-color:var(--pc,var(--gold)); transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(34,26,46,.10);
}
.dexel-top .pcard-ava{
  flex:none; width:48px; height:48px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:700; font-size:19px; color:var(--ink) !important;
  background:linear-gradient(135deg,var(--pc,#5b8cff),rgba(255,255,255,.4));
  box-shadow:0 3px 10px rgba(0,0,0,.15);
}
.dexel-top .pcard-body{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.dexel-top .pcard-name{ font-family:var(--font-display); font-weight:700; font-size:16px; line-height:1.3; color:var(--ink) !important; }
.dexel-top .pcard-handle{
  font-family:var(--font-latin); color:var(--mute) !important; font-size:12.5px; letter-spacing:.03em;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.dexel-top .pcard-tag{
  margin-top:4px; font-size:11.5px; font-weight:600; color:var(--text) !important;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

/* ===== レスポンシブ（追記分②） ===== */
@media (max-width:760px){
  .dexel-top .cr-starter{ grid-template-columns:1fr; gap:28px; }
  .dexel-top .roster-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:460px){
  .dexel-top .roster-grid{ grid-template-columns:1fr; }
}

.dexel-top .deck-title-row{
  flex-wrap:wrap;
  align-items:center;
  column-gap:12px;
  row-gap:8px;
}
.dexel-top .deck-title-row > div{   /* クラス名＋デッキ名のまとまり */
  flex:1 1 auto;
  min-width:0;
}
.dexel-top .deck-coin{
  flex:0 0 auto;                     /* 丸コインが潰れて縦長にならない */
}
.dexel-top .deck-name{
  word-break:normal;
  overflow-wrap:anywhere;            /* 折れても1文字ずつにはしない */
}
.dexel-top .deck-tag{
  margin-left:0;
  order:3;                           /* 「迷ったらコレ」を次の行へ */
}
@media (max-width:520px){
  .dexel-top .deck-coin{ width:38px; height:38px; }
  .dexel-top .deck-name{ font-size:19px; line-height:1.3; }
}

/* 「迷ったらコレ」を難易度・タイプと同じ行（左）に並べる */
.dexel-top .deck-metarow{ display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:12px 0 4px; }
.dexel-top .deck-metarow .deck-tag{ order:0; margin:0; }   /* 先頭(左)に固定 */
.dexel-top .deck-metarow .deck-meta{ margin:0; gap:7px; }  /* 行内のチップ群 */
 
/* PCのみ：CR列と下端を揃え、余白をデッキ名下とボタン上に半分ずつ分散 */
@media (min-width:761px){
  .dexel-top .cr-starter{ align-items:stretch; }
  .dexel-top .deckbox{ display:flex; flex-direction:column; }
  .dexel-top .deck-metarow{ margin-top:auto; }   /* デッキ名の下に余白の半分 */
  .dexel-top .deck-btn{ margin-top:auto; }        /* ボタンの上に余白の半分 */
}

.dexel-top .pcard{ align-items:flex-start; }
.dexel-top .pcard-team{
  font-family:var(--font-latin); letter-spacing:.04em;
  font-size:11px; font-weight:600; color:var(--mute) !important;
  display:block; margin:0 0 2px;
}
.dexel-top .pcard-tag{ margin-top:6px; }
.dexel-top div.pcard{ cursor:default; }
.dexel-top div.pcard:hover{ transform:none; box-shadow:none; border-color:var(--line); }

.dexel-top .feat-iv{ position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); background:var(--ink); color:#fff; border-radius:16px; overflow:hidden; border-top:3px solid var(--gold); }
.dexel-top .feat-iv::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--gold); z-index:2; }
.dexel-top .fiv-media{ position:relative; min-height:300px; background:linear-gradient(135deg,#0c1422,#16345a); }
.dexel-top .fiv-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.dexel-top .fiv-media .ph{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#3a4d66; font-family:var(--font-latin); font-size:13px; letter-spacing:.1em; }
.dexel-top .fiv-vol{ position:absolute; left:16px; top:16px; z-index:2; font-family:var(--font-latin); font-weight:600; letter-spacing:.06em; font-size:11px; color:var(--ink) !important; background:var(--gold); padding:4px 11px; border-radius:5px; }
.dexel-top .fiv-body{ padding:34px 36px; display:flex; flex-direction:column; justify-content:center; }
.dexel-top .fiv-eyebrow{ font-family:var(--font-latin); text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:600; color:var(--gold) !important; margin:0 0 14px; }
.dexel-top .fiv-quote{ font-family:var(--font-display); font-weight:900; line-height:1.4; font-size:clamp(22px,2.6vw,30px); margin:0 0 18px; color:#fff !important; }
.dexel-top .fiv-quote .q{ color:var(--gold) !important; }
.dexel-top .fiv-by{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin:0 0 22px; }
.dexel-top .fiv-by .pn{ font-family:var(--font-latin); font-weight:600; font-size:19px; color:#fff !important; letter-spacing:.03em; }
.dexel-top .fiv-by .role{ color:#9FB4C6 !important; font-size:12.5px; }
.dexel-top .fiv-cta{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; font-family:var(--font-display); font-weight:700; font-size:15px; padding:13px 22px; border-radius:9px; background:var(--gold); color:var(--ink) !important; text-decoration:none; transition:background .15s var(--ease); }
.dexel-top .fiv-cta:hover{ background:var(--gold-hi); }
@media (max-width:760px){ .dexel-top .feat-iv{ grid-template-columns:1fr; } .dexel-top .fiv-media{ min-height:200px; } .dexel-top .fiv-body{ padding:26px 22px; } }

/* コイン顔：確実に明るく・暗い要素を排除 */
.dexel-top .dcoin .dc{ position:relative; overflow:hidden; }
.dexel-top .dcoin .dc:has(.face){ background:#fff !important; box-shadow:none !important; }
.dexel-top .dcoin[aria-selected="true"] .dc:has(.face){
  box-shadow:0 0 0 3px rgba(232,199,102,.55),0 3px 10px rgba(0,0,0,.35) !important;
}
 
/* ★ 選定中でもコイン・顔を暗くしない（元の opacity:.45 / .55 を打ち消す） */
.dexel-top .dcoin .dc.is-soon{ opacity:1 !important; }
.dexel-top .dcoin .dc.is-soon .face{ opacity:1 !important; }
 
.dexel-top .dcoin .dc .face{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover;
  object-position:var(--fpos, 50% 25%);
  transform:scale(var(--fz, 1.3));
  display:block;
  opacity:1 !important;
  filter:brightness(var(--fb, 1.5)) contrast(1.05) saturate(1.05) !important;
}

/* CR上位記事フィード：Cocoon new_list 出力を Dexel デザインに寄せる
   ・ショートコードに class="dexel-feed" を付けて使うこと
   ・.dexel-top スコープで Cocoon標準の余白/ホバー/色を打ち消す */

.dexel-top .dexel-feed{
  background:var(--paper); border:1px solid var(--line);
  border-radius:12px; overflow:hidden; margin:0 !important; padding:0 !important;
}
.dexel-top .dexel-feed::after{ content:none !important; }

.dexel-top .dexel-feed .new-entry-card-link.a-wrap{
  display:block !important; margin:0 !important; padding:0 !important;
  border-bottom:1px solid var(--line); text-decoration:none !important;
  background:transparent !important; transition:background .15s var(--ease);
}
.dexel-top .dexel-feed .new-entry-card-link.a-wrap:last-child{ border-bottom:none; }
.dexel-top .dexel-feed .new-entry-card-link.a-wrap:hover{ background:#FAF9FB !important; }

.dexel-top .dexel-feed .new-entry-card{
  display:flex !important; align-items:center; gap:16px;
  padding:16px 18px !important; margin:0 !important; background:transparent !important;
}

.dexel-top .dexel-feed .new-entry-card-thumb.card-thumb{
  float:none !important; flex:none; width:108px; height:68px;
  margin:0 !important; padding:0 !important; border-radius:8px; overflow:hidden;
  background:#E9E6EF; line-height:0;
}
.dexel-top .dexel-feed .new-entry-card-thumb.card-thumb img{
  width:100%; height:100%; object-fit:cover; display:block; margin:0 !important;
  border-radius:8px;
}

.dexel-top .dexel-feed .new-entry-card-content{
  flex:1 1 auto; min-width:0; margin:0 !important; padding:0 !important;
  display:flex; flex-direction:column; justify-content:center; gap:4px;
}

.dexel-top .dexel-feed .new-entry-card-title,
.dexel-top .dexel-feed .new-entry-card-title a{
  font-family:var(--font-body); font-weight:700; font-size:15px; line-height:1.45;
  color:var(--ink) !important; margin:0 !important; background:transparent !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

.dexel-top .dexel-feed .new-entry-card-date,
.dexel-top .dexel-feed .new-entry-card-date .entry-date,
.dexel-top .dexel-feed .new-entry-card-post-date{
  font-family:var(--font-latin); font-size:12.5px; letter-spacing:.03em;
  color:var(--mute) !important; margin:0 !important; opacity:1 !important;
}
.dexel-top .dexel-feed .new-entry-card-date .fa,
.dexel-top .dexel-feed .new-entry-card-date .fa-clock-o{ display:none !important; }

.dexel-top .dexel-feed .cat-label{ display:none !important; }

@media (max-width:680px){
  .dexel-top .dexel-feed .new-entry-card-thumb.card-thumb{ width:84px; height:56px; }
  .dexel-top .dexel-feed .new-entry-card{ padding:14px 14px !important; gap:12px; }
}

/* ============================================================
   プロへの決意（旧・new_list版）：.dexel-iv
   ------------------------------------------------------------
   ※ 現在は専用ショートコード [dexel_latest_iv]（.dexel-iv2）に移行済み。
     本番ページが [dexel_latest_iv] に切り替わっていることを確認できたら、
     この .dexel-iv ブロックは削除して構いません（残っていても無害）。
   ============================================================ */

/* 単体カードなのでリスト装飾は消す */
.dexel-top .dexel-iv{ margin:0 !important; padding:0 !important; }
.dexel-top .dexel-iv::after{ content:none !important; }

/* カード全体（＝1枚のリンク）＝濃色・角丸・ゴールド上線 */
.dexel-top .dexel-iv .new-entry-card-link.a-wrap{
  display:block !important; margin:0 !important; padding:0 !important;
  text-decoration:none !important; background:transparent !important;
  border-radius:16px; overflow:hidden; position:relative; border-top:3px solid var(--gold);
}
.dexel-top .dexel-iv .new-entry-card-link.a-wrap:hover{ background:transparent !important; }

/* 中身を2カラム（左=画像／右=テキスト） */
.dexel-top .dexel-iv .new-entry-card{
  display:grid !important; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  background:var(--ink); color:#fff; margin:0 !important; padding:0 !important; position:relative;
}
.dexel-top .dexel-iv .new-entry-card::before{   /* 左のゴールド帯 */
  content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--gold); z-index:2;
}

/* 左：アイキャッチ */
.dexel-top .dexel-iv .new-entry-card-thumb.card-thumb{
  float:none !important; margin:0 !important; padding:0 !important;
  position:relative; min-height:300px; overflow:hidden;
  background:linear-gradient(135deg,#0c1422,#16345a);
}
.dexel-top .dexel-iv .new-entry-card-thumb.card-thumb img{
  position:absolute !important; inset:0; width:100% !important; height:100% !important;
  object-fit:cover; display:block; margin:0 !important; border-radius:0 !important;
}
.dexel-top .dexel-iv .new-entry-card-thumb.card-thumb::after{   /* 画像左上のラベル */
  content:"PRO INTERVIEW"; position:absolute; left:16px; top:16px; z-index:2;
  font-family:var(--font-latin); font-weight:600; letter-spacing:.06em; font-size:11px;
  color:var(--ink); background:var(--gold); padding:4px 11px; border-radius:5px;
}

/* 右：テキスト */
.dexel-top .dexel-iv .new-entry-card-content{
  margin:0 !important; padding:34px 36px !important;
  display:flex; flex-direction:column; justify-content:center;
}
.dexel-top .dexel-iv .new-entry-card-content::before{   /* 見出し */
  content:"最新インタビュー"; font-family:var(--font-latin); text-transform:uppercase;
  letter-spacing:.14em; font-size:11px; font-weight:600; color:var(--gold); margin:0 0 14px;
}
.dexel-top .dexel-iv .new-entry-card-title,
.dexel-top .dexel-iv .new-entry-card-title a{
  font-family:var(--font-display); font-weight:900; line-height:1.4;
  font-size:clamp(20px,2.4vw,28px); color:#fff !important; margin:0 0 16px !important;
  background:transparent !important;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.dexel-top .dexel-iv .new-entry-card-date,
.dexel-top .dexel-iv .new-entry-card-date .entry-date,
.dexel-top .dexel-iv .new-entry-card-post-date{
  font-family:var(--font-latin); font-size:12.5px; letter-spacing:.03em;
  color:#9FB4C6 !important; margin:0 !important; opacity:1 !important;
}
.dexel-top .dexel-iv .new-entry-card-date .fa,
.dexel-top .dexel-iv .new-entry-card-date .fa-clock-o{ display:none !important; }
.dexel-top .dexel-iv .new-entry-card-content::after{   /* 全文を読むボタン（カード全体がリンク） */
  content:"インタビュー全文を読む →"; align-self:flex-start; margin-top:22px;
  font-family:var(--font-display); font-weight:700; font-size:15px;
  padding:13px 22px; border-radius:9px; background:var(--gold); color:var(--ink);
}
.dexel-top .dexel-iv .cat-label{ display:none !important; }

/* スマホ：縦積み */
@media (max-width:760px){
  .dexel-top .dexel-iv .new-entry-card{ grid-template-columns:1fr; }
  .dexel-top .dexel-iv .new-entry-card-thumb.card-thumb{ min-height:0; height:150px; }
  .dexel-top .dexel-iv .new-entry-card-content{ padding:26px 22px !important; }
}

/* ============================================================
   プロへの決意（現行）：専用ショートコード [dexel_latest_iv] の装飾
   ------------------------------------------------------------
   ・タイトルは2行（.l1＝そのまま／.l2＝選手名「引用」）
   ・PC左0.8fr・高さ280px／スマホ高さ200px固定
   ============================================================ */
.dexel-top .dexel-iv2{
  display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  background:var(--ink); color:#fff !important; border-radius:16px; overflow:hidden;
  border-top:3px solid var(--gold); text-decoration:none !important; position:relative;
}
.dexel-top .dexel-iv2::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--gold); z-index:2;
}
.dexel-top .dexel-iv2-media{
  position:relative; min-height:280px; overflow:hidden;
  background:linear-gradient(135deg,#0c1422,#16345a);
}
.dexel-top .dexel-iv2-media img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
}
.dexel-top .dexel-iv2-media .ph{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:#3a4d66; font-family:var(--font-latin); font-size:13px; letter-spacing:.1em;
}
.dexel-top .dexel-iv2-label{
  position:absolute; left:16px; top:16px; z-index:2;
  font-family:var(--font-latin); font-weight:600; letter-spacing:.06em; font-size:11px;
  color:var(--ink) !important; background:var(--gold); padding:4px 11px; border-radius:5px;
}
.dexel-top .dexel-iv2-body{
  padding:32px 34px; display:flex; flex-direction:column; justify-content:center;
}
.dexel-top .dexel-iv2-eyebrow{
  font-family:var(--font-latin); text-transform:uppercase; letter-spacing:.14em;
  font-size:11px; font-weight:600; color:var(--gold) !important; margin:0 0 14px;
}
.dexel-top .dexel-iv2-title{ margin:0; }
.dexel-top .dexel-iv2-title .l1{
  display:block; font-family:var(--font-latin); font-weight:600; font-size:13.5px;
  letter-spacing:.04em; color:#9FB4C6 !important; margin:0 0 8px;
}
.dexel-top .dexel-iv2-title .l2{
  display:block; font-family:var(--font-display); font-weight:900; line-height:1.4;
  font-size:clamp(20px,2.3vw,28px); color:#fff !important;
}
.dexel-top .dexel-iv2-cta{
  align-self:flex-start; margin-top:22px;
  font-family:var(--font-display); font-weight:700; font-size:15px;
  padding:13px 22px; border-radius:9px; background:var(--gold); color:var(--ink) !important;
}
@media (max-width:760px){
  .dexel-top .dexel-iv2{ grid-template-columns:1fr; }
  .dexel-top .dexel-iv2-media{ min-height:0; height:200px; }
  .dexel-top .dexel-iv2-body{ padding:26px 22px; }
}

/* プロへの決意：スマホの画像エリアを小さく（旧iv・新iv2どちらでも効く） */
@media (max-width:760px){
  .dexel-top .dexel-iv .new-entry-card-thumb.card-thumb,
  .dexel-top .dexel-iv2-media{
    min-height:0 !important;
    height:160px !important;
  }
}

.dexel-top .deck-coin{ display:none; }

@media (max-width:680px){
  /* スマホは枠を横長(16:9)に。min-heightの縦長枠をやめる */
  .dexel-top .fs-slide{
    min-height:0 !important;
    aspect-ratio:16 / 9;
  }
  /* aspect-ratio 非対応の保険（古い端末）：高さの目安を併記 */
  @supports not (aspect-ratio:1/1){
    .dexel-top .fs-slide{ min-height:230px !important; }
  }
  /* テキスト（eyebrow/見出し/メタ/記事を読む）の窮屈さを緩和 */
  .dexel-top .fs-content{ padding:18px 18px 18px !important; }
  .dexel-top .fs-h{ font-size:clamp(18px,5.4vw,24px) !important; line-height:1.25 !important; }
  .dexel-top .fs-eyebrow{ margin-bottom:7px !important; }
  .dexel-top .fs-meta{ margin-top:2px !important; }
  .dexel-top .fs-read{ margin-top:10px !important; }
  /* 下端の進捗バー・左右ナビが画像に重なっても押されないように */
  .dexel-top .fs-bar{ padding:0 16px 12px !important; }
  .dexel-top .fs-nav{ top:12px !important; right:12px !important; }
}

@media (max-width:680px){
  /* スマホは枠を横長(3:2)に。min-heightの縦長枠をやめる */
  .dexel-top .fs-slide{
    min-height:0 !important;
    aspect-ratio:3 / 2;
  }
  /* aspect-ratio 非対応の保険（古い端末）：高さの目安を併記 */
  @supports not (aspect-ratio:1/1){
    .dexel-top .fs-slide{ min-height:260px !important; }
  }
  /* テキスト（eyebrow/見出し/メタ/記事を読む）の窮屈さを緩和 */
  .dexel-top .fs-content{ padding:18px 18px 18px !important; }
  .dexel-top .fs-h{ font-size:clamp(18px,5.4vw,24px) !important; line-height:1.25 !important; }
  .dexel-top .fs-eyebrow{ margin-bottom:7px !important; }
  .dexel-top .fs-meta{ margin-top:2px !important; }
  .dexel-top .fs-read{ margin-top:10px !important; }
  /* 下端の進捗バー・左右ナビが画像に重なっても押されないように */
  .dexel-top .fs-bar{ padding:0 16px 12px !important; }
  .dexel-top .fs-nav{ top:12px !important; right:12px !important; }
}

/* ============================================================
   追記：.fs スライダー調整（テキスト可読性＋スマホ表示）
   ------------------------------------------------------------
   ・style.css の「末尾」に追記してください（既存は触らない）。
   ・前回の「style-append-fs-mobile.css」を貼っている場合は、
     その部分を “このファイルの内容” に置き換えてください（こちらが上位互換）。
   ============================================================ */

/* ① テキスト表示スライド(.has-text)：暗幕を濃くして白文字を確実に読ませる
      （明るいキャラ絵の上でもタイトルが背景と同化しないように） */
.dexel-top .fs-slide.has-text .fs-grad{
  background:linear-gradient(0deg,
    rgba(8,14,24,.94) 0%,
    rgba(8,14,24,.78) 30%,
    rgba(8,14,24,.40) 58%,
    rgba(8,14,24,.10) 80%,
    transparent 100%) !important;
}
/* 文字自体にも薄い影を足して、どんな背景でも輪郭を立たせる */
.dexel-top .fs-slide.has-text .fs-h,
.dexel-top .fs-slide.has-text .fs-eyebrow,
.dexel-top .fs-slide.has-text .fs-meta,
.dexel-top .fs-slide.has-text .fs-read{
  text-shadow:0 1px 6px rgba(0,0,0,.55);
}

/* ② スマホ(680px以下)：枠を横長(3:2)に固定して横長アイキャッチの破綻を防ぐ */
@media (max-width:680px){
  .dexel-top .fs-slide{
    min-height:0 !important;
    aspect-ratio:3 / 2;
  }
  @supports not (aspect-ratio:1/1){
    .dexel-top .fs-slide{ min-height:260px !important; }
  }
  .dexel-top .fs-content{ padding:18px 18px 18px !important; }
  .dexel-top .fs-h{ font-size:clamp(18px,5.4vw,24px) !important; line-height:1.25 !important; }
  .dexel-top .fs-eyebrow{ margin-bottom:7px !important; }
  .dexel-top .fs-meta{ margin-top:2px !important; }
  .dexel-top .fs-read{ margin-top:10px !important; }
  .dexel-top .fs-bar{ padding:0 16px 12px !important; }
  .dexel-top .fs-nav{ top:12px !important; right:12px !important; }
}

/* ① テキスト表示スライド(.has-text)：暗幕を上下から効かせて文字全体を読ませる
      下半分は濃く（タイトル/記事を読む）、上側にも薄い暗幕（eyebrow=特集 等）を回す */
.dexel-top .fs-slide.has-text .fs-grad{
  background:
    linear-gradient(0deg,
      rgba(8,14,24,.94) 0%,
      rgba(8,14,24,.80) 30%,
      rgba(8,14,24,.42) 56%,
      rgba(8,14,24,.12) 80%,
      transparent 100%),
    linear-gradient(180deg,
      rgba(8,14,24,.55) 0%,
      rgba(8,14,24,.18) 22%,
      transparent 42%) !important;
}

/* ============================================================
   追記：.fs スライダー調整（テキスト可読性＋スマホ表示）
   ------------------------------------------------------------
   ・style.css の「末尾」に追記してください（既存は触らない）。
   ・前バージョンの追記分がある場合は、その部分を “このファイルの内容” に置き換え。
   ============================================================ */

/* ① テキスト表示スライド(.has-text)：暗幕を上下から効かせて文字全体を読ませる */
.dexel-top .fs-slide.has-text .fs-grad{
  background:
    linear-gradient(0deg,
      rgba(8,14,24,.94) 0%,
      rgba(8,14,24,.80) 30%,
      rgba(8,14,24,.42) 56%,
      rgba(8,14,24,.12) 80%,
      transparent 100%),
    linear-gradient(180deg,
      rgba(8,14,24,.55) 0%,
      rgba(8,14,24,.18) 22%,
      transparent 42%) !important;
}
.dexel-top .fs-slide.has-text .fs-h,
.dexel-top .fs-slide.has-text .fs-eyebrow,
.dexel-top .fs-slide.has-text .fs-meta,
.dexel-top .fs-slide.has-text .fs-read{
  text-shadow:0 1px 6px rgba(0,0,0,.6);
}
.dexel-top .fs-slide.has-text .fs-eyebrow{ text-shadow:0 1px 5px rgba(0,0,0,.7); }
 
/* ①' スライド全面リンク：画像のどこをタップしても記事へ飛ぶ
      （text=off の画像だけスライドでも全面タップで遷移できるように） */
.dexel-top .fs-slide{ position:relative; }
.dexel-top .fs-slide .fs-link{
  position:absolute; inset:0; z-index:2;
  display:block; background:transparent;
}
.dexel-top .fs-slide .fs-content{ position:relative; z-index:3; }
/* ナビ(前へ/次へ)と進捗バーは全面リンクより上に置いてタップを維持 */
.dexel-top .fs-nav{ z-index:6 !important; }
.dexel-top .fs-bar{ z-index:6 !important; }
 
/* ③ #meta（Dexel Rising Cup / Bo10杯）の見出し：PCのみリンクを右上に絶対配置
      ・絶対配置なので本文(note)の幅を奪わず、noteは1行で収まる
      ・スマホ(680px以下)ではこの指定を効かせず、元の縦並び（リンクは下）に戻す */
@media (min-width:681px){
  .dexel-top #meta .sec-head.has-action{ position:relative; }
  .dexel-top #meta .sec-head.has-action .sec-head-main{ width:100%; }
  .dexel-top #meta .sec-head.has-action .sec-action{
    position:absolute; top:0; right:0; white-space:nowrap; margin:0;
  }
}
 
/* ② スマホ(680px以下)：高さを直接指定して確実に大きくする
      ※ aspect-ratio は flex+min-height の影響で効かない場合があるため高さ固定に変更。
        min-height と height の両方を !important で上書きして元CSSに勝たせる。 */
@media (max-width:680px){
  .dexel-top .fs-slide{
    min-height:230px !important;
    height:230px !important;
    aspect-ratio:auto !important;
  }
  .dexel-top .fs-content{ padding:18px 18px 18px !important; }
  .dexel-top .fs-h{ font-size:clamp(18px,5.4vw,24px) !important; line-height:1.25 !important; }
  .dexel-top .fs-eyebrow{ margin-bottom:7px !important; }
  .dexel-top .fs-meta{ margin-top:2px !important; }
  .dexel-top .fs-read{ margin-top:10px !important; }
  .dexel-top .fs-bar{ padding:0 16px 12px !important; }
  .dexel-top .fs-nav{ top:12px !important; right:12px !important; }
}

/* deck-intro：PCは自動折り返し（高さ変えない）、スマホだけ指定位置で改行 */
.dexel-top .deck-intro .sp-only{ display:none; }
@media (max-width:600px){
  .dexel-top .deck-intro .sp-only{ display:inline; }
}