/* ---- 掲載者向けページ（/publishers）専用スタイル ----
   card / btn などの共通部品は base.css を使い、ここでは冒頭説明・無料期間の強調・
   個人／法人の入口・メリット・末尾CTAのレイアウトだけを定義する。 */

.pub-eyebrow{
  margin:0 0 6px;
  font-size:13px;
  font-weight:800;
  color:var(--cta);
  letter-spacing:.04em;
}
.pub-hero h1{ margin:0 0 10px; line-height:1.4; }
.pub-lead{ margin:0; line-height:1.8; }
.pub-sub{ margin:6px 0 0; color:var(--muted); font-size:14px; line-height:1.7; }

/* 無料期間：冒頭で目に入るように枠で強調する（料金の詳細は #pricing に集約） */
.pub-free{
  margin-top:16px;
  padding:14px 16px;
  border:1px solid rgba(5,150,105,.30);
  border-radius:14px;
  background:rgba(5,150,105,.07);
}
.pub-free-title{ font-size:18px; font-weight:900; line-height:1.5; }
.pub-free-note{ margin-top:4px; color:var(--muted); font-size:13px; line-height:1.7; }
.pub-free-note a{ color:var(--cta); font-weight:700; }

/* 個人／法人の入口：PCは2カラム、スマホは縦並び。ボタンは幅いっぱい・高さ48pxで押しやすくする */
.pub-entry-lead{ margin:18px 0 0; color:var(--muted); font-size:14px; line-height:1.7; }
.pub-entry{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:10px;
}
.pub-entry-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.pub-entry-card h2{ margin:0; font-size:18px; }
.pub-entry-card p{ margin:0; flex:1; color:var(--muted); font-size:14px; line-height:1.7; }
.pub-cta-btn{ width:100%; min-height:48px; text-align:center; }
.pub-links{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }

/* 掲載するメリット：見出しは常に表示し、説明はタップで開く（details／summary。初期状態はすべて閉） */
.pub-section-note{ margin:0 0 8px; color:var(--muted); font-size:13px; }
.pub-merits{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:0 16px;
  border-top:1px solid var(--line);
}
.pub-merit{ border-bottom:1px solid var(--line); }
.pub-merit summary{
  position:relative;
  display:block;
  min-height:48px;
  padding:12px 30px 12px 36px;
  font-size:15px;
  font-weight:800;
  line-height:1.5;
  list-style:none;
  cursor:pointer;
}
.pub-merit summary::-webkit-details-marker{ display:none; }
.pub-merit-no{
  position:absolute;
  left:0;
  top:12px;
  width:26px;
  height:26px;
  border-radius:50%;
  background:color-mix(in srgb, var(--cta) 12%, white);
  color:var(--cta);
  font-size:13px;
  font-weight:800;
  line-height:26px;
  text-align:center;
}
.pub-merit summary::after,
.pub-toggle summary::after{
  content:"";
  position:absolute;
  right:6px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid var(--muted);
  border-bottom:2px solid var(--muted);
  transform:translateY(-70%) rotate(45deg);
  transition:transform .15s ease;
}
.pub-merit[open] summary::after,
.pub-toggle[open] summary::after{ transform:translateY(-30%) rotate(-135deg); }
.pub-merit summary:focus-visible,
.pub-toggle summary:focus-visible{ outline:2px solid var(--cta); outline-offset:2px; }
.pub-merit p{
  margin:0 0 12px;
  padding-left:36px;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}
.pub-merit p a{ color:var(--cta); font-weight:700; }

/* 料金カード：料金区分・金額・税込・重要条件は常に表示し、計算例などの補足だけを開閉する */
.pub-prices{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:12px;
}
.pub-price{
  padding:14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(20,184,166,.05);
}
.pub-price-waitlist{ background:rgba(37,99,235,.05); }
.pub-price-trial{ background:rgba(251,191,36,.08); }
.pub-price-name{ font-weight:900; }
.pub-price-amount{ margin-top:6px; font-size:24px; font-weight:900; line-height:1.3; }
.pub-price-tax{ margin-left:2px; font-size:14px; font-weight:700; }
.pub-price-key{ margin:6px 0 0; color:var(--text); font-size:13px; line-height:1.7; }
.pub-toggle{ margin-top:8px; border-top:1px dashed var(--line); }
.pub-toggle summary{
  position:relative;
  display:block;
  min-height:44px;
  padding:11px 26px 11px 0;
  color:var(--cta);
  font-size:14px;
  font-weight:700;
  list-style:none;
  cursor:pointer;
}
.pub-toggle summary::-webkit-details-marker{ display:none; }
.pub-toggle summary::after{ border-color:var(--cta); }
.pub-toggle-body p{ margin:0 0 8px; color:var(--muted); font-size:13px; line-height:1.7; }

/* ページ内リンク（#pricing）で見出しが固定ヘッダーの下に隠れないようにする */
#pricing{ scroll-margin-top:84px; }

/* 末尾CTA */
.pub-final{ text-align:center; }
.pub-final h2{ margin-bottom:8px; }
.pub-final-note{ margin:0 0 16px; color:var(--muted); line-height:1.8; }
.pub-final-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  max-width:860px;
  margin:0 auto;
}

@media (max-width:760px){
  .pub-prices{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .pub-entry,
  .pub-merits,
  .pub-final-actions{ grid-template-columns:1fr; }
  .pub-free-title{ font-size:17px; }
  .pub-links .btn{ flex:1 1 calc(50% - 5px); }
}
