/* =========================================================
   トレカラボ：追加CSS 整理版
   使い方：追加CSSの中身を全部消して、このCSSだけ貼る
========================================================= */

/* 共通 */
html,
body {
  overflow-x: hidden !important;
}

/* =========================================================
   Cocoon記事上部：タイトル・日付・カテゴリ・アイキャッチ
========================================================= */

.article-header,
.entry-header {
  position: relative !important;
  padding: 8px 0 26px 112px !important;
  margin: 0 0 28px !important;
  min-height: 96px !important;
  border: none !important;
}

.entry-title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #1f2937 !important;
  font-size: 30px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
  border: none !important;
  background: transparent !important;
}

.article-header .post-date,
.entry-header .post-date,
.article-header .date-tags .post-date {
  position: absolute !important;
  left: 0 !important;
  top: 6px !important;
  width: 86px !important;
  min-height: 72px !important;
  padding: 0 14px 0 0 !important;
  margin: 0 !important;
  border-right: 1px solid #e5e7eb !important;
  text-align: center !important;
  color: #555 !important;
  line-height: 1.15 !important;
  font-weight: 400 !important;
}

.article-header .post-date .date-year,
.entry-header .post-date .date-year {
  display: block !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  color: #666 !important;
  margin-bottom: 2px !important;
}

.article-header .post-date .date-md,
.entry-header .post-date .date-md {
  display: block !important;
  font-size: 30px !important;
  line-height: 1.05 !important;
  color: #555 !important;
  font-weight: 400 !important;
}

.date-tags,
.entry-meta,
.entry-categories {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.cat-label,
.cat-link,
.entry-category,
.category-button,
.date-tags a[rel="category tag"] {
  display: inline-flex !important;
  align-items: center !important;
  padding: 5px 13px !important;
  background: #06465a !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border: none !important;
}

.post-update,
.date-tags span,
.date-tags a {
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.eye-catch-wrap,
.eye-catch,
.article-header .eye-catch {
  margin: 24px 0 30px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12) !important;
}

.eye-catch-wrap img,
.eye-catch img,
.article-header .eye-catch img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 10px !important;
  margin: 0 auto !important;
}

/* =========================================================
   記事本文：共通文字
========================================================= */

.entry-content,
.article {
  color: #1f2937 !important;
  font-size: 17px !important;
  line-height: 1.95 !important;
  letter-spacing: 0.02em !important;
}

.entry-content p {
  color: #1f2937 !important;
  font-size: 17px !important;
  line-height: 1.95 !important;
  margin: 0 0 1.5em !important;
}

.entry-content li {
  font-size: 16.5px !important;
  line-height: 1.9 !important;
}

.entry-content strong {
  color: #1f2937 !important;
  font-weight: 900 !important;
  background: linear-gradient(transparent 62%, rgba(255, 178, 80, 0.35) 62%) !important;
}

.entry-content h2 {
  font-size: 22px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
}

.entry-content h3 {
  font-size: 19px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
}

/* =========================================================
   PSA記事
========================================================= */

.psa-article,
.psa-article * {
  box-sizing: border-box !important;
}

.psa-article {
  --psa-blue: #4c9aff;
  --psa-blue-dark: #2563eb;
  --psa-blue-soft: #eaf7ff;
  --psa-blue-light: #f3f8ff;
  --psa-border: #cfe8ff;
  --psa-text: #1f2937;

  width: 100% !important;
  max-width: 100% !important;
  color: var(--psa-text) !important;
  overflow-x: hidden !important;
}

.psa-article .hero,
.psa-article .psa-eyecatch {
  display: none !important;
}

.psa-article .psa-main-visual {
  max-width: 900px !important;
  margin: 0 auto 30px !important;
  padding: 8px !important;
  background: #fff !important;
  border: 1px solid var(--psa-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 24px rgba(76, 154, 255, 0.08) !important;
  text-align: center !important;
}

.psa-article .psa-main-visual img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 10px !important;
  margin: 0 auto !important;
}

.psa-article h2.section-title {
  background: linear-gradient(90deg, var(--psa-blue-light) 0%, #fff 100%) !important;
  color: var(--psa-text) !important;
  border: none !important;
  border-left: 5px solid var(--psa-blue) !important;
  border-radius: 6px !important;
  padding: 12px 14px !important;
  margin: 38px 0 20px !important;
  font-size: 1.35em !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

.psa-article h2.section-title::before {
  content: "●" !important;
  margin-right: 8px !important;
  color: var(--psa-blue) !important;
  font-size: 0.75em !important;
}

.psa-article h2.section-title::after {
  display: none !important;
  content: none !important;
}

.psa-article h3.sub-title {
  background: transparent !important;
  color: var(--psa-text) !important;
  border: none !important;
  border-bottom: 2px solid var(--psa-blue) !important;
  padding: 0 0 8px !important;
  margin: 30px 0 16px !important;
  font-size: 1.18em !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}

.psa-article h3.sub-title::before {
  content: "●";
  color: var(--psa-blue);
  margin-right: 8px;
  font-size: 0.75em;
}

.psa-article .toc {
  width: 100% !important;
  margin: 28px 0 42px !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid var(--psa-border) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(76, 154, 255, 0.08) !important;
  overflow: hidden !important;
}

.psa-article .toc-title {
  text-align: center !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  background: linear-gradient(90deg, var(--psa-blue-light) 0%, #fff 100%) !important;
  color: var(--psa-text) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  border-bottom: 1px solid var(--psa-border) !important;
}

.psa-article .toc-title::before,
.psa-article .toc a::before,
.psa-article .toc-check {
  display: none !important;
  content: none !important;
}

.psa-article .toc-title span {
  float: none !important;
  display: inline !important;
  margin-left: 6px !important;
  color: var(--psa-blue) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.psa-article .toc ol {
  list-style: none !important;
  padding: 12px 18px 16px !important;
  margin: 0 !important;
}

.psa-article .toc li {
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  border-bottom: 1px dashed #dbeafe !important;
}

.psa-article .toc li:last-child {
  border-bottom: none !important;
}

.psa-article .toc a {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 12px 8px !important;
  color: var(--psa-text) !important;
  text-decoration: none !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

.psa-article .styled-list {
  margin: 16px 0 26px !important;
  padding: 18px 22px 18px 34px !important;
  background: var(--psa-blue-soft) !important;
  border: none !important;
  border-radius: 10px !important;
}

.psa-article .styled-list li {
  margin: 0 0 10px !important;
}

.psa-article .styled-list li::marker {
  color: var(--psa-blue) !important;
}

.psa-article .article-point-box {
  margin: 24px 0 32px !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid var(--psa-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 24px rgba(76, 154, 255, 0.08) !important;
  overflow: hidden !important;
}

.psa-article .article-point-title {
  padding: 14px 18px !important;
  background: linear-gradient(90deg, var(--psa-blue-soft) 0%, #f8fbff 100%) !important;
  color: var(--psa-text) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  text-align: center !important;
  border-bottom: 1px solid var(--psa-border) !important;
}

.psa-article .article-point-title::before {
  content: "✓";
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--psa-blue);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}

.psa-article .article-point-box ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 16px 20px 18px !important;
  background: #fff !important;
}

.psa-article .article-point-box li {
  position: relative !important;
  margin: 0 !important;
  padding: 9px 0 9px 28px !important;
  border-bottom: 1px dashed #e5edf7 !important;
  color: var(--psa-text) !important;
  font-weight: 600 !important;
}

.psa-article .article-point-box li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 9px;
  color: var(--psa-blue);
  font-weight: 900;
}

.psa-article .article-image,
.psa-article figure.article-image,
.psa-article .wp-block-image {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  max-width: 900px !important;
  margin: 26px auto 36px !important;
  padding: 10px !important;
  background: #f8fafc !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  text-align: center !important;
  overflow: hidden !important;
}

.psa-article .article-image img,
.psa-article figure.article-image img,
.psa-article .wp-block-image img {
  display: block !important;
  width: 100% !important;
  max-width: 900px !important;
  max-height: 720px !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  border-radius: 4px !important;
}



/* PSAおすすめ商品 */
.psa-article .rinker-style-products {
  margin: 34px 0 42px !important;
}

.psa-article .rinker-section-title {
  margin: 0 0 18px !important;
  padding: 12px 16px !important;
  background: linear-gradient(90deg, var(--psa-blue-soft) 0%, #fff 100%) !important;
  border-left: 5px solid var(--psa-blue) !important;
  border-radius: 6px !important;
  color: var(--psa-text) !important;
  font-size: 1.15em !important;
  font-weight: 800 !important;
}

.psa-article .rinker-section-title::before {
  content: "🛒 ";
}

.psa-article .rinker-product-card {
  position: relative !important;
  margin: 0 0 30px !important;
  padding: 24px 18px 18px !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
}

.psa-article .rinker-ribbon {
  position: absolute !important;
  top: -16px !important;
  left: -1px !important;
  padding: 8px 28px 8px 16px !important;
  background: var(--psa-blue) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.psa-article .rinker-ribbon::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: -22px !important;
  border-top: 16px solid transparent !important;
  border-bottom: 16px solid transparent !important;
  border-left: 22px solid var(--psa-blue) !important;
}

.psa-article .rinker-product-inner {
  display: grid !important;
  grid-template-columns: 38% 1fr !important;
  gap: 18px !important;
  align-items: center !important;
}

.psa-article .rinker-product-image {
  width: 100% !important;
  max-width: 220px !important;
  min-height: 160px !important;
  margin: 0 auto !important;
  display: grid !important;
  place-items: center !important;
}

.psa-article .rinker-product-image img {
  display: block !important;
  width: auto !important;
  max-width: 180px !important;
  max-height: 180px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

.psa-article .rinker-product-title {
  color: #333 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
  margin: 0 0 14px !important;
}

.psa-article .rinker-buttons {
  display: grid !important;
  gap: 8px !important;
  max-width: 260px !important;
}

.psa-article .rinker-buttons a {
  display: block !important;
  padding: 10px 14px !important;
  border-radius: 5px !important;
  color: #fff !important;
  text-align: center !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

.psa-article .rinker-amazon {
  background: #f6a400 !important;
}

.psa-article .rinker-rakuten,
.psa-article .rakuten-btn {
  background: var(--psa-blue) !important;
}

/* 管理人プロフィールカード */
.meisy-profile-card {
  clear: both !important;
  display: block !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 48px auto 36px !important;
  padding: 26px 20px !important;
  background: #f8fbff !important;
  border: 1px solid #cfe8ff !important;
  border-radius: 16px !important;
  text-align: center !important;
  box-shadow: 0 8px 24px rgba(76, 154, 255, 0.08) !important;
  float: none !important;
  overflow: hidden !important;
}

.meisy-profile-card * {
  box-sizing: border-box !important;
  writing-mode: horizontal-tb !important;
  white-space: normal !important;
  word-break: normal !important;
  text-align: center !important;
}

.meisy-profile-avatar {
  display: block !important;
  width: 110px !important;
  height: 110px !important;
  max-width: 110px !important;
  max-height: 110px !important;
  min-width: 110px !important;
  min-height: 110px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  margin: 0 auto 14px !important;
  border: 3px solid #1a1f3a !important;
  float: none !important;
}

.meisy-profile-label {
  margin: 0 0 4px !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.meisy-profile-name {
  margin: 0 0 18px !important;
  color: #1a1f3a !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  font-weight: 800 !important;
}

.meisy-profile-x {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-width: 170px !important;
  padding: 11px 24px !important;
  background: #000 !important;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  border: none !important;
}

/* =========================================================
   抽選情報ページ
========================================================= */

.lottery-article,
.lottery-article * {
  box-sizing: border-box !important;
}

.lottery-article {
  --lottery-blue: #4c9aff;
  --lottery-blue-dark: #2563eb;
  --lottery-blue-soft: #eaf7ff;
  --lottery-border: #cfe8ff;
  --lottery-text: #1f2937;
  --lottery-red: #d62b2b;
  --lottery-amazon: #ff9900;
  --lottery-rakuten: #bf0000;

  width: 100% !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: var(--lottery-text) !important;
  font-size: 16.5px !important;
  line-height: 1.85 !important;
  overflow-x: hidden !important;
}

.lottery-lead {
  color: #475569 !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  text-align: left !important;
  margin: 0 0 30px !important;
}

.lottery-related {
  width: 100% !important;
  max-width: 920px !important;
  margin: 28px auto 38px !important;
  padding: 18px 20px 22px !important;
  background: #fff !important;
  border: 1px solid var(--lottery-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 18px rgba(76, 154, 255, 0.06) !important;
  overflow: hidden !important;
}

.lottery-related-title {
  margin: 0 0 16px !important;
  padding: 0 0 10px !important;
  border-bottom: 2px solid var(--lottery-border) !important;
  color: #1a1f3a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
}

.lottery-related-title::before {
  content: " ";
}

.lottery-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 auto !important;
  align-items: stretch !important;
}

.lottery-related-grid a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 64px !important;
  padding: 12px 14px !important;
  background: #f8fbff !important;
  border: 1px solid #dbeafe !important;
  border-radius: 10px !important;
  color: #1a1f3a !important;
  text-decoration: none !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.lottery-related-grid a::before {
  content: "›" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  margin-right: 8px !important;
  border-radius: 50% !important;
  background: var(--lottery-blue) !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.lottery-section-title {
  margin: 42px 0 20px !important;
  padding: 13px 15px !important;
  border-left: 5px solid var(--lottery-blue) !important;
  border-radius: 7px !important;
  background: linear-gradient(90deg, #f3f8ff 0%, #fff 100%) !important;
  color: #1a1f3a !important;
  font-size: 22px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
}

.lottery-product-card,
.lottery-section-title + div {
  width: 100% !important;
  max-width: 620px !important;
  margin: 0 auto 34px !important;
  padding: 24px 20px !important;
  background: #f8fbff !important;
  border: 1px solid var(--lottery-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 24px rgba(76, 154, 255, 0.06) !important;
  text-align: center !important;
  display: block !important;
}

.lottery-product-card img,
.lottery-section-title + div img {
  display: block !important;
  width: 280px !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto 16px !important;
  object-fit: contain !important;
}

.lottery-product-card table,
.lottery-section-title + div table {
  width: 100% !important;
  max-width: 540px !important;
  margin: 0 auto 16px !important;
  border-collapse: collapse !important;
  text-align: left !important;
}

.lottery-product-card td,
.lottery-section-title + div td {
  padding: 8px 10px !important;
  border: 1px solid #e5e7eb !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.lottery-product-buttons {
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: 16px !important;
}

.lottery-product-buttons a {
  min-width: 160px !important;
  padding: 12px 18px !important;
  border-radius: 10px !important;
  text-align: center !important;
  font-weight: 900 !important;
  color: #fff !important;
  text-decoration: none !important;
}

.lottery-amazon-btn,
.lottery-amazon {
  background: var(--lottery-amazon) !important;
}

.lottery-rakuten-btn,
.lottery-rakuten {
  background: var(--lottery-rakuten) !important;
}

.lottery-table-wrap {
  overflow-x: auto !important;
  margin: 18px 0 44px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05) !important;
}

.lottery-table {
  width: 100% !important;
  min-width: 780px !important;
  border-collapse: collapse !important;
  background: #fff !important;
  font-size: 14px !important;
}

.lottery-table thead tr {
  background: #1a1f3a !important;
  color: #fff !important;
}

.lottery-table th {
  padding: 11px 12px !important;
  color: #fff !important;
  text-align: left !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  border: none !important;
}

.lottery-table td {
  padding: 11px 12px !important;
  border-bottom: 1px solid #edf2f7 !important;
  color: #1f2937 !important;
  vertical-align: middle !important;
  line-height: 1.65 !important;
}

.lottery-table tbody tr:nth-child(even) {
  background: #fafafa !important;
}

.lottery-table a,
.lottery-status {
  display: inline-block !important;
  min-width: 72px !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.lottery-apply {
  background: var(--lottery-red) !important;
}

.lottery-ended {
  background: #cbd5e1 !important;
  color: #64748b !important;
}

.lottery-store,
.lottery-app {
  background: #64748b !important;
}

.lottery-other-list {
  display: grid !important;
  gap: 12px !important;
  margin: 0 0 42px !important;
}

.lottery-other-list h3 {
  margin: 0 !important;
  padding: 13px 15px !important;
  background: #fff !important;
  border: 1px solid var(--lottery-border) !important;
  border-left: 5px solid var(--lottery-blue) !important;
  border-radius: 10px !important;
  color: #1a1f3a !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  box-shadow: 0 4px 14px rgba(76, 154, 255, 0.05) !important;
}

/* Cocoon下部SNSを非表示 */
.sns-share,
.sns-share-buttons,
.sns-share-message,
.sns-follow,
.sns-follow-buttons,
.fb-like-box,
.fb-like,
.like-box,
.share-button,
.share-buttons {
  display: none !important;
}

/* =========================================================
   スマホ調整
========================================================= */

@media (max-width: 834px) {
  .article-header,
  .entry-header {
    padding: 0 0 22px !important;
    min-height: auto !important;
  }

  .article-header .post-date,
  .entry-header .post-date,
  .article-header .date-tags .post-date {
    position: static !important;
    width: auto !important;
    min-height: auto !important;
    padding: 0 !important;
    border-right: none !important;
    text-align: left !important;
  }

  .article-header .post-date .date-year,
  .entry-header .post-date .date-year,
  .article-header .post-date .date-md,
  .entry-header .post-date .date-md {
    display: inline !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: #64748b !important;
  }

  .article-header .post-date .date-year::after,
  .entry-header .post-date .date-year::after {
    content: "/" !important;
  }

  .entry-title {
    font-size: 23px !important;
    line-height: 1.5 !important;
  }

  .entry-content,
  .article {
    font-size: 16.5px !important;
    line-height: 1.9 !important;
  }

  .entry-content p {
    font-size: 16.5px !important;
    line-height: 1.9 !important;
  }

  .entry-content h2,
  .lottery-section-title {
    font-size: 19px !important;
  }

  .entry-content h3,
  .lottery-article h3 {
    font-size: 17px !important;
  }

  .psa-article .psa-main-visual {
    margin: 0 0 24px !important;
    padding: 6px !important;
    border-radius: 10px !important;
  }

  .psa-article h2.section-title {
    font-size: 1.2em !important;
    padding: 10px 12px !important;
    margin: 32px 0 18px !important;
  }

  .psa-article .voice-box.meisay {
    grid-template-columns: 48px 1fr !important;
    gap: 10px !important;
    margin: 24px 0 34px !important;
  }

  .psa-article .voice-box.meisay .voice-avatar {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
  }

  .psa-article .voice-box.meisay .voice-body {
    padding: 12px 14px !important;
    border-radius: 12px !important;
  }

  .psa-article .voice-box.meisay .voice-body::before {
    left: -7px !important;
    top: 17px !important;
    width: 12px !important;
    height: 12px !important;
  }

  .psa-article .voice-box.meisay .voice-text {
    font-size: 14.5px !important;
    line-height: 1.7 !important;
  }

  .psa-article .rinker-product-inner {
    grid-template-columns: 42% 1fr !important;
    gap: 14px !important;
  }

  .psa-article .rinker-product-image img {
    max-width: 120px !important;
    max-height: 130px !important;
  }

  .meisy-profile-card {
    max-width: 100% !important;
    margin: 42px auto 32px !important;
    padding: 24px 18px !important;
    border-radius: 14px !important;
  }

  .meisy-profile-avatar {
    width: 96px !important;
    height: 96px !important;
    max-width: 96px !important;
    max-height: 96px !important;
    min-width: 96px !important;
    min-height: 96px !important;
  }

  .lottery-article {
    max-width: 100% !important;
    font-size: 15.8px !important;
    line-height: 1.85 !important;
  }

  .lottery-lead {
    font-size: 14.5px !important;
    line-height: 1.8 !important;
  }

  .lottery-related {
    padding: 16px 14px 18px !important;
  }

  .lottery-related-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .lottery-related-grid a {
    min-height: 56px !important;
    font-size: 14px !important;
  }

  .lottery-product-card,
  .lottery-section-title + div {
    max-width: 100% !important;
    padding: 20px 14px !important;
  }

  .lottery-product-card img,
  .lottery-section-title + div img {
    width: 240px !important;
  }

  .lottery-product-buttons a {
    width: 100% !important;
    min-width: 0 !important;
  }

  .lottery-table {
    min-width: 720px !important;
    font-size: 13px !important;
  }

  .lottery-table th,
  .lottery-table td {
    padding: 9px 10px !important;
  }

  .lottery-table a,
  .lottery-status {
    min-width: 64px !important;
    padding: 4px 10px !important;
    font-size: 11.5px !important;
  }
}
/* =========================
   抽選テーブル：ボタンをコンパクトに整える
========================= */

/* 応募列の幅 */
.lottery-table th:last-child,
.lottery-table td:last-child {
  width: 110px !important;
  min-width: 110px !important;
  max-width: 110px !important;
  text-align: center !important;
}

/* ボタン共通 */
.lottery-table .lottery-btn,
.lottery-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 82px !important;
  min-width: 82px !important;
  height: 28px !important;
  padding: 0 8px !important;
  border-radius: 6px !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  border: none !important;
  box-shadow: none !important;
}

/* 終了 */
.lottery-btn-ended {
  background: #cbd5e1 !important;
  color: #64748b !important;
}

/* 店頭・アプリ */
.lottery-btn-store {
  background: #64748b !important;
  color: #fff !important;
}

/* 応募 */
.lottery-btn-apply {
  background: #d62b2b !important;
  color: #fff !important;
}

/* Amazon */
.lottery-btn-amazon {
  background: #ff9900 !important;
  color: #fff !important;
}

/* 楽天 */
.lottery-btn-rakuten {
  background: #bf0000 !important;
  color: #fff !important;
}

/* ホバー */
.lottery-btn:hover {
  opacity: 0.86 !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* オレタンみたいに複数ボタンがある場合 */
.lottery-btn-group {
  display: grid !important;
  gap: 5px !important;
  justify-content: center !important;
}

.lottery-btn-group .lottery-btn {
  width: 82px !important;
  min-width: 82px !important;
  height: 28px !important;
}

/* スマホ */
@media (max-width: 834px) {
  .lottery-table th:last-child,
  .lottery-table td:last-child {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
  }

  .lottery-table .lottery-btn,
  .lottery-btn {
    width: 76px !important;
    min-width: 76px !important;
    height: 27px !important;
    font-size: 11.5px !important;
    border-radius: 5px !important;
  }

}

/* =========================
   商品枠：Amazon / 楽天ボタン復活 修正版
========================= */

/* 見出し直後divの汎用指定を商品カードでは無効化 */
.lottery-article .lottery-rinker-card {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 220px !important;
  margin: 0 0 34px !important;
  padding: 28px 30px 24px !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
  text-align: left !important;
  overflow: visible !important;
}

/* 商品枠の中身 */
.lottery-article .lottery-rinker-inner {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr) !important;
  gap: 30px !important;
  align-items: center !important;
}

.lottery-article .lottery-rinker-image {
  width: 220px !important;
  max-width: 220px !important;
  min-height: 160px !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
}

.lottery-article .lottery-rinker-image img {
  display: block !important;
  width: auto !important;
  max-width: 165px !important;
  height: auto !important;
  max-height: 175px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  border-radius: 0 !important;
}

.lottery-article .lottery-rinker-info {
  text-align: left !important;
  min-width: 0 !important;
}

.lottery-article .lottery-rinker-title {
  margin: 0 0 8px !important;
  color: #333 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 700 !important;
}

.lottery-article .lottery-rinker-created,
.lottery-article .lottery-rinker-maker,
.lottery-article .lottery-rinker-price {
  margin: 0 0 5px !important;
  color: #888 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

/* ボタン復活 */
.lottery-article .lottery-rinker-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: flex-start !important;
  align-items: center !important;
  margin-top: 12px !important;
  padding: 0 !important;
}

.lottery-article .lottery-rinker-buttons a,
.lottery-article .lottery-rinker-buttons a:link,
.lottery-article .lottery-rinker-buttons a:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 130px !important;
  height: 42px !important;
  padding: 0 22px !important;
  border-radius: 4px !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  border: none !important;
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.12) !important;
}

.lottery-article .lottery-rinker-amazon {
  background: #f6a400 !important;
}

.lottery-article .lottery-rinker-rakuten {
  background: #bf0000 !important;
}

.lottery-article .lottery-rinker-buttons a:hover {
  opacity: 0.88 !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* スマホ */
@media (max-width: 834px) {
  .lottery-article .lottery-rinker-card {
    padding: 24px 14px 18px !important;
    min-height: auto !important;
  }

  .lottery-article .lottery-rinker-inner {
    grid-template-columns: 120px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .lottery-article .lottery-rinker-image {
    width: 120px !important;
    max-width: 120px !important;
    min-height: 120px !important;
  }

  .lottery-article .lottery-rinker-image img {
    max-width: 100px !important;
    max-height: 120px !important;
  }

  .lottery-article .lottery-rinker-title {
    font-size: 15.5px !important;
    line-height: 1.6 !important;
  }

  .lottery-article .lottery-rinker-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .lottery-article .lottery-rinker-buttons a {
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    font-size: 14px !important;
  }
}

/* =========================
   スマホ：抽選テーブルの外枠を必ず表示
========================= */

@media (max-width: 834px) {
  .lottery-table-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px auto 36px !important;
    border: 2px solid #1a1f3a !important;
    border-radius: 12px !important;
    background: #fff !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.10) !important;
  }

  .lottery-table {
    min-width: 820px !important;
    width: 820px !important;
    max-width: none !important;
    border-collapse: collapse !important;
    background: #fff !important;
  }

  .lottery-table thead th {
    background: #ffd84d !important;
    color: #1a1f3a !important;
    border-bottom: 2px solid #1a1f3a !important;
    text-align: center !important;
  }

  .lottery-table th,
  .lottery-table td {
    text-align: center !important;
    vertical-align: middle !important;
  }
}

/* =========================================================
   メイシィのひとこと：完全差し替え版
   アイコン大きめ・漫画風吹き出し
========================================================= */

.psa-article .voice-box.meisay,
.voice-box.meisay {
  display: flex !important;
  align-items: flex-start !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 36px 0 44px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible !important;
  clear: both !important;
  box-sizing: border-box !important;
}

/* アイコン外枠 */
.psa-article .voice-box.meisay .voice-avatar,
.voice-box.meisay .voice-avatar {
  flex: 0 0 96px !important;
  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  min-height: 96px !important;
  max-width: 96px !important;
  max-height: 96px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 4px solid #4c9aff !important;
  background: #fff !important;
  box-shadow: 0 6px 16px rgba(76, 154, 255, 0.22) !important;
  box-sizing: border-box !important;
}

/* アイコン画像 */
.psa-article .voice-box.meisay .voice-avatar img,
.voice-box.meisay .voice-avatar img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 吹き出し本体 */
.psa-article .voice-box.meisay .voice-body,
.voice-box.meisay .voice-body {
  position: relative !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 118px !important;
  margin: 0 !important;
  padding: 24px 26px !important;
  background: #ffffff !important;
  border: 4px solid #4c9aff !important;
  border-radius: 24px !important;
  box-shadow: 0 8px 24px rgba(76, 154, 255, 0.14) !important;
  text-align: left !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  writing-mode: horizontal-tb !important;
}

/* 吹き出しの三角 */
.psa-article .voice-box.meisay .voice-body::before,
.voice-box.meisay .voice-body::before {
  content: "" !important;
  position: absolute !important;
  left: -16px !important;
  top: 34px !important;
  width: 26px !important;
  height: 26px !important;
  background: #ffffff !important;
  border-left: 4px solid #4c9aff !important;
  border-bottom: 4px solid #4c9aff !important;
  transform: rotate(45deg) !important;
  z-index: 1 !important;
}

/* 名前 */
.psa-article .voice-box.meisay .voice-name,
.voice-box.meisay .voice-name {
  display: block !important;
  margin: 0 0 10px !important;
  color: #2563eb !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

.psa-article .voice-box.meisay .voice-name::before,
.voice-box.meisay .voice-name::before {
  content: " ";
}

/* 本文 */
.psa-article .voice-box.meisay .voice-text,
.voice-box.meisay .voice-text {
  display: block !important;
  margin: 0 !important;
  color: #1f2937 !important;
  font-size: 17px !important;
  line-height: 1.95 !important;
  font-weight: 600 !important;
  text-align: left !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* スマホ */
@media (max-width: 834px) {
  .psa-article .voice-box.meisay,
  .voice-box.meisay {
    gap: 12px !important;
    margin: 30px 0 38px !important;
  }

  .psa-article .voice-box.meisay .voice-avatar,
  .voice-box.meisay .voice-avatar {
    flex: 0 0 76px !important;
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
    max-width: 76px !important;
    max-height: 76px !important;
    border-width: 3px !important;
  }

  .psa-article .voice-box.meisay .voice-body,
  .voice-box.meisay .voice-body {
    min-height: 104px !important;
    padding: 18px 16px !important;
    border-width: 3px !important;
    border-radius: 20px !important;
  }

  .psa-article .voice-box.meisay .voice-body::before,
  .voice-box.meisay .voice-body::before {
    left: -11px !important;
    top: 28px !important;
    width: 20px !important;
    height: 20px !important;
    border-left-width: 3px !important;
    border-bottom-width: 3px !important;
  }

  .psa-article .voice-box.meisay .voice-name,
  .voice-box.meisay .voice-name {
    font-size: 15px !important;
    margin-bottom: 8px !important;
  }

  .psa-article .voice-box.meisay .voice-text,
  .voice-box.meisay .voice-text {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }
}

/* =========================
   本日更新した店舗：スマホ3列表示
========================= */

/* PC・タブレットも整える */
.lottery-today-update {
  width: 100% !important;
  max-width: 920px !important;
  margin: 18px auto 30px !important;
  padding: 18px 20px 22px !important;
  background: #fff !important;
  border: 1px solid #cfe8ff !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 18px rgba(76,154,255,0.06) !important;
}

.lottery-today-update > div {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.lottery-today-update > div > div {
  min-height: 54px !important;
  padding: 10px 12px !important;
  background: #f8fbff !important;
  border: 1px solid #dbeafe !important;
  border-radius: 10px !important;
  color: #1a1f3a !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  justify-content: center !important;
  text-align: center !important;
}

/* アイコン */
.lottery-today-update > div > div span {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin-right: 6px !important;
  font-size: 10px !important;
}

/* スマホ：3店舗ずつ小さく表示 */
@media (max-width: 834px) {
  .lottery-today-update {
    padding: 14px 10px 16px !important;
    margin: 14px auto 24px !important;
  }

  .lottery-today-update h2 {
    font-size: 16px !important;
    margin: 0 0 12px !important;
    padding: 0 0 8px !important;
  }

  .lottery-today-update > div {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .lottery-today-update > div > div {
    min-height: 40px !important;
    padding: 7px 5px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .lottery-today-update > div > div span {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    margin-right: 4px !important;
    font-size: 8px !important;
  }
}

/* =========================
   抽選テーブル：PC・スマホ共通デザイン
========================= */

.lottery-table-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px auto 36px !important;
  border: 2px solid #1a1f3a !important;
  border-radius: 12px !important;
  background: #fff !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  box-sizing: border-box !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.10) !important;
}

.lottery-table {
  width: 100% !important;
  min-width: 820px !important;
  max-width: none !important;
  border-collapse: collapse !important;
  background: #fff !important;
}

.lottery-table thead tr,
.lottery-table thead th {
  background: #ffd84d !important;
  color: #1a1f3a !important;
}

.lottery-table thead th {
  border-bottom: 2px solid #1a1f3a !important;
  text-align: center !important;
  font-weight: 900 !important;
}

.lottery-table th,
.lottery-table td {
  text-align: center !important;
  vertical-align: middle !important;
  border-bottom: 1px solid #e5e7eb !important;
}

/* =========================
   スマホ：横スクロール用
========================= */

@media (max-width: 834px) {
  .lottery-table {
    width: 820px !important;
    min-width: 820px !important;
  }
}

/* =========================
   店舗見出し下：ロゴ画像
========================= */

.store-logo-figure {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 360px !important;
  height: 150px !important;
  margin: 14px auto 22px !important;
  padding: 18px !important;
  background: #fff !important;
  border: 1px solid #dbeafe !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 18px rgba(76,154,255,0.06) !important;
  text-align: center !important;
}

.store-logo-figure img {
  display: block !important;
  width: auto !important;
  max-width: 240px !important;
  height: auto !important;
  max-height: 100px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  border-radius: 8px !important;
}

/* スマホ */
@media (max-width: 834px) {
  .store-logo-figure {
    max-width: 100% !important;
    height: 130px !important;
    margin: 12px auto 20px !important;
    padding: 14px !important;
  }

  .store-logo-figure img {
    max-width: 210px !important;
    max-height: 88px !important;
  }
}

/* =========================
   まとめページリンクカード：画像クリック式
   iframeではなくアイキャッチ画像を表示
========================= */

.site-embed-card {
  position: relative !important;
  width: 100% !important;
  margin: 24px 0 36px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06) !important;
}

/* iframeは使わないので非表示 */
.site-embed-card iframe {
  display: none !important;
}

/* カード全体をクリック可能にする */
.site-embed-link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  display: block !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

/* アイキャッチ画像エリア */
.site-embed-thumb {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 320px !important;
  background: #f8fafc !important;
  overflow: hidden !important;
}

.site-embed-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* 下のタイトル帯 */
.site-embed-footer {
  position: relative !important;
  z-index: 6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  background: #fff !important;
  border-top: 1px solid #e5e7eb !important;
  color: #1f2937 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.site-embed-footer strong {
  color: #1f2937 !important;
  font-weight: 900 !important;
  background: none !important;
}

.site-embed-footer span {
  color: #2563eb !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

/* スマホ */
@media (max-width: 640px) {
  .site-embed-thumb {
    height: 220px !important;
  }

  .site-embed-footer {
    display: block !important;
    padding: 13px 14px !important;
    font-size: 14px !important;
  }

  .site-embed-footer span {
    display: inline-block !important;
    margin-top: 6px !important;
  }
}
/* =========================================================
   スマホ版：メイシィのひとことを自然な吹き出しに調整
========================================================= */

@media (max-width: 834px) {
  .psa-article .voice-box.meisay,
  .voice-box.meisay {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 26px 0 34px !important;
  }

  .psa-article .voice-box.meisay .voice-avatar,
  .voice-box.meisay .voice-avatar {
    flex: 0 0 54px !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    max-width: 54px !important;
    max-height: 54px !important;
    border: 2px solid #bfe3ff !important;
    box-shadow: 0 3px 10px rgba(76, 154, 255, 0.14) !important;
  }

  .psa-article .voice-box.meisay .voice-body,
  .voice-box.meisay .voice-body {
    min-height: auto !important;
    padding: 13px 15px !important;
    background: #f8fbff !important;
    border: 1px solid #cfe8ff !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 12px rgba(76, 154, 255, 0.08) !important;
  }

  .psa-article .voice-box.meisay .voice-body::before,
  .voice-box.meisay .voice-body::before {
    left: -7px !important;
    top: 20px !important;
    width: 12px !important;
    height: 12px !important;
    background: #f8fbff !important;
    border-left: 1px solid #cfe8ff !important;
    border-bottom: 1px solid #cfe8ff !important;
  }

  .psa-article .voice-box.meisay .voice-name,
  .voice-box.meisay .voice-name {
    margin: 0 0 5px !important;
    color: #2563eb !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
  }

  .psa-article .voice-box.meisay .voice-text,
  .voice-box.meisay .voice-text {
    color: #334155 !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
  }
}
/* =========================================================
   トレカ必需品：商品カード最適化
   PCは横並び / スマホは縦並びで読みやすく
========================================================= */

.psa-article .rinker-style-products {
  margin: 28px 0 46px !important;
}

.psa-article .rinker-product-card {
  position: relative !important;
  margin: 0 0 28px !important;
  padding: 26px 24px 24px !important;
  background: #fff !important;
  border: 1px solid #dbeafe !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 18px rgba(76, 154, 255, 0.08) !important;
  overflow: visible !important;
}

.psa-article .rinker-product-inner {
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: center !important;
}

.psa-article .rinker-product-image {
  width: 190px !important;
  height: 190px !important;
  max-width: 190px !important;
  min-height: 190px !important;
  margin: 0 auto !important;
  padding: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f8fbff !important;
  border: 1px solid #e5edf7 !important;
  border-radius: 10px !important;
}

.psa-article .rinker-product-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 160px !important;
  max-height: 160px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  border-radius: 6px !important;
}

.psa-article .rinker-product-info {
  min-width: 0 !important;
  text-align: left !important;
}

.psa-article .rinker-product-title {
  margin: 0 0 10px !important;
  color: #1f2937 !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
}

.psa-article .rinker-product-info p {
  margin: 0 0 14px !important;
  color: #334155 !important;
  font-size: 15.5px !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
}

.psa-article .rinker-product-info .styled-list {
  margin: 12px 0 16px !important;
  padding: 13px 16px 13px 30px !important;
  border-radius: 8px !important;
  background: #f3f8ff !important;
}

.psa-article .rinker-product-info .styled-list li {
  margin: 0 0 6px !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.psa-article .rinker-buttons {
  display: flex !important;
  max-width: none !important;
  gap: 10px !important;
  margin-top: 12px !important;
}

.psa-article .rinker-buttons a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 150px !important;
  height: 42px !important;
  padding: 0 20px !important;
  border-radius: 8px !important;
  font-size: 14.5px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 3px 8px rgba(76, 154, 255, 0.18) !important;
}

.psa-article .rinker-rakuten,
.psa-article .rakuten-btn {
  background: #4c9aff !important;
}

.psa-article .rinker-ribbon {
  top: -13px !important;
  left: 14px !important;
  padding: 7px 18px !important;
  border-radius: 999px !important;
  background: #4c9aff !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.psa-article .rinker-ribbon::after {
  display: none !important;
}

/* スマホ最適化 */
@media (max-width: 834px) {
  .psa-article .rinker-product-card {
    margin: 0 0 26px !important;
    padding: 24px 14px 18px !important;
    border-radius: 12px !important;
  }

  .psa-article .rinker-product-inner {
    display: block !important;
  }

  .psa-article .rinker-product-image {
    width: 100% !important;
    max-width: 220px !important;
    height: 190px !important;
    min-height: 190px !important;
    margin: 0 auto 16px !important;
    padding: 14px !important;
  }

  .psa-article .rinker-product-image img {
    max-width: 180px !important;
    max-height: 160px !important;
  }

  .psa-article .rinker-product-title {
    font-size: 16px !important;
    line-height: 1.55 !important;
    margin-bottom: 9px !important;
    text-align: left !important;
  }

  .psa-article .rinker-product-info p {
    font-size: 14.5px !important;
    line-height: 1.8 !important;
    margin-bottom: 12px !important;
  }

  .psa-article .rinker-product-info .styled-list {
    margin: 10px 0 14px !important;
    padding: 12px 14px 12px 28px !important;
  }

  .psa-article .rinker-product-info .styled-list li {
    font-size: 13.5px !important;
    line-height: 1.6 !important;
  }

  .psa-article .rinker-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .psa-article .rinker-buttons a {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    font-size: 14px !important;
  }

  .psa-article .rinker-ribbon {
    left: 12px !important;
    top: -12px !important;
    font-size: 12.5px !important;
  }
}

/* =========================================================
   見出し下：カテゴリ説明ボックス
========================================================= */

.psa-article .category-lead-box {
  margin: 0 0 24px !important;
  padding: 16px 18px !important;
  background: #f8fbff !important;
  border: 1px solid #cfe8ff !important;
  border-left: 5px solid #4c9aff !important;
  border-radius: 10px !important;
  color: #334155 !important;
  box-shadow: 0 4px 14px rgba(76, 154, 255, 0.06) !important;
}

.psa-article .category-lead-box p {
  margin: 0 !important;
  color: #334155 !important;
  font-size: 15.5px !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
}

.psa-article .category-lead-box strong {
  color: #1f2937 !important;
  font-weight: 900 !important;
  background: none !important;
}

@media (max-width: 834px) {
  .psa-article .category-lead-box {
    margin: 0 0 20px !important;
    padding: 14px 14px !important;
    border-radius: 9px !important;
  }

  .psa-article .category-lead-box p {
    font-size: 14.5px !important;
    line-height: 1.75 !important;
  }
}

/* =========================================================
   記事内セクションの空白・区切り調整
========================================================= */

/* 各h2セクションの前にしっかり余白 */
.psa-article h2.section-title {
  margin-top: 52px !important;
  margin-bottom: 20px !important;
}

/* 最初のh2だけ上の余白を少し控えめに */
.psa-article .toc + h2.section-title,
.psa-article .toc + * + h2.section-title {
  margin-top: 36px !important;
}

/* 商品カード群の下に余白 */
.psa-article .rinker-style-products {
  margin-bottom: 52px !important;
}

/* 商品カードと次の商品カードの間 */
.psa-article .rinker-product-card {
  margin-bottom: 34px !important;
}

/* 説明ボックスと商品カードの間 */
.psa-article .category-lead-box {
  margin-bottom: 28px !important;
}

/* セクション終わりに薄い区切り線を入れたい場合 */
.psa-article .rinker-style-products::after {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  height: 1px !important;
  margin: 46px 0 0 !important;
  background: linear-gradient(90deg, transparent 0%, #dbeafe 18%, #dbeafe 82%, transparent 100%) !important;
}

/* 最後のまとめ前は線がくどくならないよう調整 */
.psa-article h2#summary {
  margin-top: 46px !important;
}

/* スマホ調整 */
@media (max-width: 834px) {
  .psa-article h2.section-title {
    margin-top: 42px !important;
    margin-bottom: 16px !important;
  }

  .psa-article .rinker-style-products {
    margin-bottom: 42px !important;
  }

  .psa-article .rinker-product-card {
    margin-bottom: 28px !important;
  }

  .psa-article .category-lead-box {
    margin-bottom: 22px !important;
  }

  .psa-article .rinker-style-products::after {
    margin-top: 34px !important;
  }
}
/* =========================================================
   セクション間の余白を強制的に広げる 最終上書き
========================================================= */

/* 商品ブロックの後にしっかり余白 */
.psa-article .rinker-style-products {
  display: block !important;
  margin-top: 24px !important;
  margin-bottom: 72px !important;
  padding-bottom: 0 !important;
}

/* 商品ブロック後の区切り線は控えめに */
.psa-article .rinker-style-products::after {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  height: 1px !important;
  margin: 56px 0 0 !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    #dbeafe 20%,
    #dbeafe 80%,
    transparent 100%
  ) !important;
}

/* 次の見出しの上もさらに空ける */
.psa-article .rinker-style-products + h2.section-title {
  margin-top: 76px !important;
}

/* 説明ボックスと商品カードの間 */
.psa-article .category-lead-box + .rinker-style-products {
  margin-top: 28px !important;
}

/* 目次直後の最初の見出しは空きすぎないように */
.psa-article .toc + h2.section-title {
  margin-top: 38px !important;
}

/* まとめ前 */
.psa-article .rinker-style-products + h2#summary {
  margin-top: 78px !important;
}

/* スマホ版 */
@media (max-width: 834px) {
  .psa-article .rinker-style-products {
    margin-top: 20px !important;
    margin-bottom: 58px !important;
  }

  .psa-article .rinker-style-products::after {
    margin-top: 42px !important;
  }

  .psa-article .rinker-style-products + h2.section-title {
    margin-top: 62px !important;
  }

  .psa-article .category-lead-box + .rinker-style-products {
    margin-top: 22px !important;
  }

  .psa-article .rinker-style-products + h2#summary {
    margin-top: 64px !important;
  }
}
