/* =========================================================================
   PR特設ページ (page-pr.php) — Gutenberg自由設計LP用スタイル
   コアブロック + Shizukuブロックを430pxコンテナ内で美しく見せる。
   ========================================================================= */

.pr-page {
  background: var(--color-bg-white);
}

/* PR/広告 表記（ステマ規制対応・冒頭に明示） */
.shizuku-pr-disclosure {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px 20px;
  background: #f2f3f0;
  color: #555;
  font-size: 12px;
  line-height: 1.5;
}
.shizuku-pr-disclosure__badge {
  flex-shrink: 0;
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  background: #1a1a1a;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* 本文ブロックの基本余白（左右20pxパディング） */
.pr-page > .wp-block-group,
.pr-page > p,
.pr-page > h2,
.pr-page > h3,
.pr-page > ul,
.pr-page > ol,
.pr-page > figure,
.pr-page > .wp-block-buttons,
.pr-page > .wp-block-columns {
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

/* alignfull: 430pxコンテナいっぱい */
.pr-page .alignfull {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  max-width: 100%;
}

/* alignwide */
.pr-page .alignwide {
  margin-left: -8px;
  margin-right: -8px;
}

/* Cover（ヒーロー） */
.pr-page .wp-block-cover {
  min-height: 320px;
  align-items: center;
  text-align: center;
}
.pr-page .wp-block-cover__inner-container {
  padding: 24px 20px;
}
.pr-page .wp-block-cover h1,
.pr-page .wp-block-cover h2 {
  color: #fff;
  font-family: var(--font-display, sans-serif);
}

/* 見出し */
.pr-page h2 {
  font-size: 22px;
  font-weight: 700;
  margin-top: 32px;
  margin-bottom: 12px;
  line-height: 1.4;
}
.pr-page h3 {
  font-size: 18px;
  font-weight: 700;
  margin-top: 24px;
  margin-bottom: 10px;
}

/* カラム */
.pr-page .wp-block-columns {
  gap: 12px;
  margin-top: 16px;
}
.pr-page .wp-block-column {
  min-width: 0;
}

/* ボタン（CTA） */
.pr-page .wp-block-button__link {
  background: var(--gradient, linear-gradient(90deg, #02C1D4, #D1A7EB));
  color: #fff;
  border-radius: 999px;
  padding: 14px 28px;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(2, 193, 212, 0.25);
}
.pr-page .wp-block-buttons {
  justify-content: center;
  margin-top: 20px;
  margin-bottom: 20px;
}

/* ギャラリー */
.pr-page .wp-block-gallery {
  gap: 8px;
}

/* 画像角丸 */
.pr-page .wp-block-image img {
  border-radius: 12px;
}

/* 区切り */
.pr-page .wp-block-separator {
  margin: 28px 20px;
  border-color: var(--color-border, #e5e7eb);
}

/* テーブル（料金等） */
.pr-page .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.pr-page .wp-block-table th,
.pr-page .wp-block-table td {
  border: 1px solid var(--color-border, #e5e7eb);
  padding: 10px 12px;
  text-align: left;
}
.pr-page .wp-block-table th {
  background: var(--color-bg-tint, #f2f3f0);
  font-weight: 700;
}

/* PR用セクション帯（ブロックパターンで使用） */
.pr-section-tint {
  background: var(--color-bg-tint, #f2f3f0);
  padding: 28px 20px;
}
.pr-eyebrow {
  display: inline-block;
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--color-teal, #02C1D4);
  margin-bottom: 4px;
}

/* =========================================================================
   SWELL移行コンテンツ補完 — SWELLブロック/ユーティリティクラスのCSS
   （renewalテーマはwp-block-library・SWELLのCSSを読まないため当ページで補完）
   ========================================================================= */

/* ページH1（テンプレートで出力） */
.pr-page__title {
  margin: 0;
  padding: 18px 20px;
  font-family: var(--font-display, sans-serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: var(--color-text-primary, #1A1A1A);
  background: var(--color-bg-light, #F8F9FA);
}

/* --- 色ユーティリティ（SWELL/コア） --- */
.pr-page .has-swl-main-color { color: var(--color-teal, #02C1D4) !important; }
.pr-page .has-swl-main-background-color { background-color: var(--color-teal, #02C1D4) !important; }
.pr-page .has-white-color { color: #fff !important; }
.pr-page .has-white-background-color { background-color: #fff !important; }

/* --- フォントサイズユーティリティ --- */
.pr-page .u-fz-l { font-size: 1.4em; line-height: 1.45; }
.pr-page .u-fz-s { font-size: 0.85em; }

/* --- マージンユーティリティ --- */
.pr-page .u-mb-0 { margin-bottom: 0 !important; }
.pr-page .u-mb-5 { margin-bottom: 5px !important; }
.pr-page .u-mb-30 { margin-bottom: 30px !important; }
.pr-page .swl-has-mb--s { margin-bottom: 12px; }

/* --- 角丸画像 --- */
.pr-page .radius img,
.pr-page figure.radius img,
.pr-page .wp-block-image.radius img { border-radius: 12px; }

/* --- セクションタイトル（is-style-section_ttl：英eyebrow＋大見出し） --- */
.pr-page .is-style-section_ttl {
  margin: 40px 0 18px;
  font-family: var(--font-display, sans-serif);
  font-weight: 700;
  line-height: 1.45;
  color: var(--color-text-primary, #1A1A1A);
  text-align: center;
}
.pr-page .is-style-section_ttl.has-text-align-left { text-align: left; }

/* --- 背景色付きボックス（has-background：STEP等） --- */
.pr-page .has-background {
  padding: 16px 18px;
  border-radius: 12px;
}
.pr-page .wp-block-group.has-background { padding: 22px 20px; }

/* --- swl背景色グループ --- */
.pr-page .swl-bg-color { border-radius: 14px; }

/* --- チェックリスト（is-style-check_list） --- */
.pr-page .is-style-check_list { list-style: none; padding-left: 0; }
.pr-page .is-style-check_list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 8px;
  line-height: 1.7;
}
.pr-page .is-style-check_list li::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 5px;
  width: 6px;
  height: 11px;
  border-right: 2px solid var(--color-teal, #02C1D4);
  border-bottom: 2px solid var(--color-teal, #02C1D4);
  transform: rotate(45deg);
}

/* --- FAQ（pr-faq：details/summaryアコーディオン） --- */
.pr-page .pr-faq { margin: 18px 0; }
.pr-page .pr-faq__item {
  border: 1px solid var(--color-border-light, #EEF0F2);
  border-radius: 10px;
  background: #fff;
  margin-bottom: 8px;
  overflow: hidden;
}
.pr-page .pr-faq__item > summary {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding: 14px 44px 14px 46px;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-text-primary, #1A1A1A);
}
.pr-page .pr-faq__item > summary::-webkit-details-marker { display: none; }
.pr-page .pr-faq__item > summary::before {
  content: "Q";
  position: absolute;
  left: 14px;
  top: 12px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--color-teal, #02C1D4);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pr-page .pr-faq__item > summary::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--color-text-light, #999);
  border-bottom: 2px solid var(--color-text-light, #999);
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.2s ease;
}
.pr-page .pr-faq__item[open] > summary::after { transform: translateY(-30%) rotate(225deg); }
.pr-page .pr-faq__item > div {
  padding: 0 16px 16px 46px;
  font-size: 13px;
  color: var(--color-text-muted, #666);
  line-height: 1.7;
}
.pr-page .pr-faq__item > div p { margin: 0; }

/* --- YouTube等の埋め込み（16:9レスポンシブ） --- */
.pr-page .wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper {
  position: relative;
  padding-top: 56.25%;
}
.pr-page .wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* --- 中央寄せ画像のはみ出し防止 --- */
.pr-page .wp-block-image.is-resized img { max-width: 100%; height: auto; }
.pr-page .wp-block-image { margin-left: auto; margin-right: auto; }

/* --- スペーサー --- */
.pr-page .wp-block-spacer { display: block; }
