/* =========================================================
   page.css（固定ページ用 / Front-End）
   Scope: .p-entry（内側に WordPress 各ブロッククラスが来ても崩れない前提）
========================================================= */


/* ベース（固定ページの本文ラッパに限定） */
.p-entry,
.p-entry__inner {
  font-family: var(--font-base);
  font-size: var(--fz);
  line-height: var(--lh);
  color: hsl(0 0% 10%);
}

/* 幅と左右余白（中央寄せ） */
.p-entry__inner {
  max-width: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--space-2);
}

/* 段落と要素間の距離 */
.p-entry p { margin-block: 0; margin-bottom: 1rem; line-height: 1.8em;}
.p-entry p + * { margin-block-start: var(--space-3); }

/* h2〜h6の共通ベース（直下・入れ子どちらも対象） */
.p-entry .p-entry__inner :is(h2,h3,h4,h5,h6),
.p-entry .p-entry__inner :is(h2,h3,h4,h5,h6).wp-block-heading {
  line-height: 1.8;
  color: #222;
  font-weight: 700;
  margin: 3rem 0 1rem;
  border: none;
}

/* サイズ固定（タグ別） */
.p-entry .p-entry__inner h2.wp-block-heading { font-size: 30px;}
.p-entry .p-entry__inner h3.wp-block-heading { font-size: 24px; }
.p-entry .p-entry__inner h4.wp-block-heading { font-size: 20px; line-height: 1.3; }
.p-entry .p-entry__inner h5.wp-block-heading { font-size: 18px; line-height: 1.35; }
.p-entry .p-entry__inner h6.wp-block-heading { font-size: 16px; line-height: 1.4;}

/* 左に水平線が伸びる h4（20px / #227882） */
.p-entry .p-entry__inner h4.wp-block-heading {
  position: relative;
  color: #227882;
  padding-left: 2em;
}

.p-entry .p-entry__inner h4.wp-block-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1.5em;
  height: 2px;
  background-color: #227882;
  transform: translateY(-50%);
}


/* リスト */
.p-entry .p-entry__inner .wp-block-list {
  margin-top: 1.8rem !important;
  margin-bottom: 1.8rem !important;
  margin-left: 0 !important;
}

.p-entry .p-entry__inner .wp-block-list li {
  margin-bottom: 0.8em;
}

.p-entry :where(ul, ol) {
  margin-block: var(--space-3);
}
.p-entry li + li { margin-top: 1em; }

/* 引用（常に 1rem） */
.p-entry .p-entry__inner .editorstyle > .wp-block-quote {
  background-color:#ECF3F3 !important;
  padding:40px;
  font-size:16px !important;
  line-height:1.8;
  margin:2.5rem 0;
  border:none;
  border-radius:4px;
}
.p-entry .p-entry__inner > .wp-block-quote > p{
  margin:0;
  font-size:16px !important;
}

.p-entry .p-entry__inner > .wp-block-quote > p, .p-entry .p-entry__body > .wp-block-quote > p {
  margin: 0;
  font-size: 16px !important;
}

/* 引用元（cite）がある場合の調整 */
.p-entry blockquote cite,
.p-entry .wp-block-quote cite,
.editor-styles-wrapper blockquote cite,
.editor-styles-wrapper .wp-block-quote cite {
  display: block;
  margin-top: 1em;
  font-style: normal;
  font-size: 0.875rem;
  color: #666;
  text-align: right;
}
.p-entry .wp-block-quote cite {
  display: block; margin-top: .5rem; font-style: normal; color: hsl(0 0% 30%);
}

/* 画像・図版・キャプション */
.p-entry .wp-block-image,
.p-entry figure { margin: 2.5rem 0; }

.p-entry .wp-block-image img,
.p-entry figure img {
  display: block;
  max-width: 100%;
  height: auto;
}

.p-entry .wp-block-columns .wp-block-image {
  margin-top: 0;
}

.p-entry .wp-block-columns figure img {
  margin-top: 0;
  margin-bottom: 1em;
}

.p-entry :is(figure figcaption, .wp-block-image figcaption) {
  text-align: center;
  margin-top: .5rem;
  font-size: .875rem;
  color: var(--muted);
}

@media (max-width: 781px) {
  .p-entry figure.sp_small img,
  .p-entry .sp_small img {max-width: 50%; margin-left: auto; margin-right: auto;}
}

/* アラインメント（Gutenbergの aligncenter 等） */
.p-entry .aligncenter { margin-inline: auto; }
.p-entry .alignwide  { max-width: min(1200px, 100% - 2rem); margin-inline: auto; }
.p-entry .alignfull  { width: 100vw; margin-left: 50%; transform: translateX(-50%); }

/* カラム（wp-block-columns） */
.p-entry .wp-block-columns { gap: var(--space-2); margin: 60px 0; }
.p-entry .wp-block-column { min-width: 0; } /* 画像のオーバーフロー抑止 */

.p-entry .wp-block-columns .wp-block-column:not(:first-child) {
  padding-left: 40px;
}

.p-entry .wp-block-columns .wp-block-column :is(h2,h3,h4,h5,h6).wp-block-heading {
  margin: 0 0 1rem;
}


@media (max-width: 781px) {
  .p-entry .wp-block-columns { display: grid !important; }
  .p-entry .wp-block-columns .wp-block-column:not(:first-child) {padding-left:0;}
}


/* 区切り線 */
.p-entry .wp-block-separator {
  margin: 50px 0;
  border: 0.5px solid #ccc;
}

/* 埋め込み・動画（必要なら） */
.p-entry .wp-block-embed,
.p-entry .wp-block-video { margin-block: var(--space-4); }
.p-entry .wp-block-embed__wrapper iframe,
.p-entry .wp-block-video video {
  width: 100%; height: auto; aspect-ratio: 16/9; /* 必要に応じて外してください */
}

/* メディア＋テキスト（左右に画像と説明） */
.p-entry .wp-block-media-text {margin: 60px 0;}
.p-entry .wp-block-media-text .wp-block-media-text__content { padding: 0 !important; }

/* 左右指定なし → 画像左とみなし右側に余白 */
.p-entry .wp-block-media-text figure,
.p-entry .wp-block-media-text .wp-block-media-text__media { padding-right: 1.5rem; }

/* 明示: 画像が左 */
.p-entry .wp-block-media-text.has-media-on-the-left :is(figure, .wp-block-media-text__media) {
  padding-right: 1.5rem; padding-left: 0;
}
/* 明示: 画像が右 */
.p-entry .wp-block-media-text.has-media-on-the-right :is(figure, .wp-block-media-text__media) {
  padding-left: 1.5rem; padding-right: 0;
}

.p-entry .wp-block-media-text :is(h2,h3,h4,h5,h6).wp-block-heading {
  margin: 0 0 1rem;
}


/* テーブル（将来の拡張に備えて） */
.p-entry .wp-block-table {margin: 2.5rem 0; overflow-x: auto; }
.p-entry .wp-block-table table { width: 100%; border-collapse: collapse; }
.p-entry .wp-block-table :where(th, td) { border: var(--border); padding: .6rem .75rem; }
.p-entry .wp-block-table thead {border-bottom: 0;}
.p-entry .wp-block-table thead th { padding: 20px; background: #F1F1F1 !important; }
.p-entry .wp-block-table table td {padding: 20px !important;}
.p-entry .wp-block-table table th,.p-entry .wp-block-table table td {border: 1px solid #ccc; color: #222 !important;}

/* コード */
.p-entry :is(code, kbd, samp) { font-family: var(--font-mono); font-size: .95em; }
.p-entry pre.wp-block-code,
.p-entry pre {
  font-family: var(--font-mono);
  font-size: .95rem;
  line-height: 1.6;
  background: hsl(0 0% 98%);
  border: var(--border);
  border-radius: var(--radius);
  padding: var(--space-2) var(--space-3);
  overflow: auto;
}

/* リンクボタン */
.p-entry .p-entry__inner .editorstyle > .wp-block-buttons .wp-block-button .wp-block-button__link,
.p-entry .p-entry__body .editorstyle > .wp-block-buttons .wp-block-button .wp-block-button__link {
  padding: 15px 40px !important;
  color: #fff !important;
  background-color: #227882;
}

/* ==============================
   画像キャプション（wp-element-caption）常時センター寄せ
   ============================== */

.p-entry .p-entry__inner > .wp-block-image figcaption, .p-entry .p-entry__body > .wp-block-image figcaption {
  text-align: center !important;
  display: block;
  margin-top: .5rem;
  font-size: .875rem;     /* 14px相当（好みに応じて変更） */
  color: var(--muted, #666);
}

