/* ============================================
   投稿コンテンツ用CSS（フロントエンド）
   ※TailwindクラスはすべてStyle.cssから読み込まれる
   ※ここは投稿コンテンツ固有のスタイルのみ
   ============================================ */

/* 共通スタイルをインポート */

/* ============================================
   共通スタイル（フロントエンド + 管理画面）
   このファイルを編集すれば両方に反映されます
   ============================================ */

/* ----------------------------------------
   テキスト配置（WordPress Gutenbergクラス）
   ---------------------------------------- */

.has-text-align-left {
  text-align: left !important;
}

.has-text-align-center {
  text-align: center !important;
}

.has-text-align-right {
  text-align: right !important;
}

.has-text-align-justify {
  text-align: justify !important;
}

/* 画像配置 */

.alignleft {
  float: left;
  margin-right: 1.5rem;
  margin-bottom: 1rem;
}

.alignright {
  float: right;
  margin-left: 1.5rem;
  margin-bottom: 1rem;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.aligncenter img,
img.aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.alignwide {
  max-width: 100%;
  width: 100%;
}

.alignfull {
  max-width: 100vw;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}

/* ----------------------------------------
   見出し（h2: 大、h3: 中、h4: 小）
   ---------------------------------------- */

.post-contents h2,
.editor-styles-wrapper h2,
.block-editor-block-list__layout h2,
.wp-block-post-content h2 {
  margin-top: 64px;
  margin-bottom: 24px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 3.2px;
}

.post-contents h3,
.editor-styles-wrapper h3,
.block-editor-block-list__layout h3,
.wp-block-post-content h3 {
  margin-top: 48px;
  margin-bottom: 16px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 2.6px;
  background: none !important;
}

.post-contents h4,
.editor-styles-wrapper h4,
.block-editor-block-list__layout h4,
.wp-block-post-content h4 {
  margin-top: 40px;
  margin-bottom: 16px;
  font-size: 22px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 2.2px;
}

/* ----------------------------------------
   本文
   ---------------------------------------- */

.post-contents p,
.editor-styles-wrapper p,
.block-editor-block-list__layout p,
.wp-block-post-content p {
  font-size: 18px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.9px;
}

/* ----------------------------------------
   リスト
   ---------------------------------------- */

.post-contents ul,
.post-contents ol,
.editor-styles-wrapper ul,
.editor-styles-wrapper ol,
.block-editor-block-list__layout ul,
.block-editor-block-list__layout ol,
.wp-block-post-content ul,
.wp-block-post-content ol {
  padding-left: 24px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.8px;
}

@media (min-width: 1160px) {
  .post-contents ul,
.post-contents ol,
.editor-styles-wrapper ul,
.editor-styles-wrapper ol,
.block-editor-block-list__layout ul,
.block-editor-block-list__layout ol,
.wp-block-post-content ul,
.wp-block-post-content ol {
    font-size: 16px;
  }
}

.post-contents ul,
.editor-styles-wrapper ul,
.block-editor-block-list__layout ul,
.wp-block-post-content ul {
  list-style-type: disc;
}

.post-contents ol,
.editor-styles-wrapper ol,
.block-editor-block-list__layout ol,
.wp-block-post-content ol {
  list-style-type: decimal;
}

.post-contents li,
.editor-styles-wrapper li,
.block-editor-block-list__layout li,
.wp-block-post-content li {
  margin-bottom: 8px;
  padding: 0px !important;
}

/* リストマーカーの色（ulのみprimary） */

.post-contents ul li::marker,
.editor-styles-wrapper ul li::marker,
.block-editor-block-list__layout ul li::marker,
.wp-block-post-content ul li::marker,
ul.wp-block-list li::marker {
  color: #FFD800;
}

/* ネストされたリスト */

.post-contents ul ul,
.post-contents ol ol,
.post-contents ul ol,
.post-contents ol ul,
.editor-styles-wrapper ul ul,
.editor-styles-wrapper ol ol,
.editor-styles-wrapper ul ol,
.editor-styles-wrapper ol ul,
.block-editor-block-list__layout ul ul,
.block-editor-block-list__layout ol ol,
.block-editor-block-list__layout ul ol,
.block-editor-block-list__layout ol ul,
.wp-block-post-content ul ul,
.wp-block-post-content ol ol,
.wp-block-post-content ul ol,
.wp-block-post-content ol ul {
  margin: 0px;
}

/* ----------------------------------------
   リンク
   ---------------------------------------- */

.post-contents a,
.editor-styles-wrapper a,
.block-editor-block-list__layout a,
.wp-block-post-content a {
  --tw-text-opacity: 1;
  color: rgb(0 102 204 / var(--tw-text-opacity, 1));
  text-decoration-line: underline;
}

/* ----------------------------------------
   画像
   ---------------------------------------- */

.post-contents img,
.editor-styles-wrapper img,
.block-editor-block-list__layout img,
.wp-block-post-content img {
  height: auto;
  max-width: 100%;
}

.post-contents figure,
.editor-styles-wrapper figure,
.block-editor-block-list__layout figure,
.wp-block-post-content figure {
  margin-top: 0px;
  margin-bottom: 0px;
}

/* ----------------------------------------
   埋め込みブロック (Figma: node-id 1529-8994)
   ---------------------------------------- */

.wp-block-embed img {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
}

.post-contents figcaption,
.editor-styles-wrapper figcaption,
.block-editor-block-list__layout figcaption,
.wp-block-post-content figcaption {
  margin-top: 16px;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.8px;
  --tw-text-opacity: 1;
  color: rgb(112 112 112 / var(--tw-text-opacity, 1));
}

/* ----------------------------------------
   引用 (Figma: node-id 1529-9340)
   ※ .wp-embedded-content (embed用blockquote) は除外
   ---------------------------------------- */

.post-contents blockquote:not(.wp-embedded-content),
.editor-styles-wrapper blockquote:not(.wp-embedded-content),
.block-editor-block-list__layout blockquote:not(.wp-embedded-content),
.wp-block-post-content blockquote:not(.wp-embedded-content) {
  position: relative;
  margin-top: 24px;
  margin-bottom: 24px;
  border-left-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(255 216 0 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 252 245 / var(--tw-bg-opacity, 1));
  padding: 32px;
  font-style: normal;
  --tw-text-opacity: 1;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1));
}

/* 左上の引用符アイコン（180度回転） */

.post-contents blockquote:not(.wp-embedded-content)::before,
.editor-styles-wrapper blockquote:not(.wp-embedded-content)::before,
.block-editor-block-list__layout blockquote:not(.wp-embedded-content)::before,
.wp-block-post-content blockquote:not(.wp-embedded-content)::before {
  content: '';
  position: absolute;
  top: 32px;
  left: 32px;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333333'%3E%3Cpath d='M6.5 4H2.5C1.67157 4 1 4.67157 1 5.5V9.5C1 10.3284 1.67157 11 2.5 11H5V12.5C5 13.3284 4.32843 14 3.5 14H3C2.72386 14 2.5 14.2239 2.5 14.5V15C2.5 15.2761 2.72386 15.5 3 15.5H3.5C5.15685 15.5 6.5 14.1569 6.5 12.5V4ZM14.5 4H10.5C9.67157 4 9 4.67157 9 5.5V9.5C9 10.3284 9.67157 11 10.5 11H13V12.5C13 13.3284 12.3284 14 11.5 14H11C10.7239 14 10.5 14.2239 10.5 14.5V15C10.5 15.2761 10.7239 15.5 11 15.5H11.5C13.1569 15.5 14.5 14.1569 14.5 12.5V4Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(180deg);
}

/* 右下の引用符アイコン */

.post-contents blockquote:not(.wp-embedded-content)::after,
.editor-styles-wrapper blockquote:not(.wp-embedded-content)::after,
.block-editor-block-list__layout blockquote:not(.wp-embedded-content)::after,
.wp-block-post-content blockquote:not(.wp-embedded-content)::after {
  content: '';
  position: absolute;
  bottom: 32px;
  right: 32px;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333333'%3E%3Cpath d='M6.5 4H2.5C1.67157 4 1 4.67157 1 5.5V9.5C1 10.3284 1.67157 11 2.5 11H5V12.5C5 13.3284 4.32843 14 3.5 14H3C2.72386 14 2.5 14.2239 2.5 14.5V15C2.5 15.2761 2.72386 15.5 3 15.5H3.5C5.15685 15.5 6.5 14.1569 6.5 12.5V4ZM14.5 4H10.5C9.67157 4 9 4.67157 9 5.5V9.5C9 10.3284 9.67157 11 10.5 11H13V12.5C13 13.3284 12.3284 14 11.5 14H11C10.7239 14 10.5 14.2239 10.5 14.5V15C10.5 15.2761 10.7239 15.5 11 15.5H11.5C13.1569 15.5 14.5 14.1569 14.5 12.5V4Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.post-contents blockquote:not(.wp-embedded-content) p,
.editor-styles-wrapper blockquote:not(.wp-embedded-content) p,
.block-editor-block-list__layout blockquote:not(.wp-embedded-content) p,
.wp-block-post-content blockquote:not(.wp-embedded-content) p {
  margin-bottom: 0px;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.9px;
}

.post-contents blockquote:not(.wp-embedded-content) cite,
.editor-styles-wrapper blockquote:not(.wp-embedded-content) cite,
.block-editor-block-list__layout blockquote:not(.wp-embedded-content) cite,
.wp-block-post-content blockquote:not(.wp-embedded-content) cite {
  margin-top: 8px;
  display: block;
  text-align: right;
  font-size: 18px;
  font-style: normal;
  line-height: 2;
  letter-spacing: 0.9px;
  --tw-text-opacity: 1;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1));
}

/* ----------------------------------------
   コード
   ---------------------------------------- */

.post-contents code,
.editor-styles-wrapper code,
.block-editor-block-list__layout code,
.wp-block-post-content code {
  border-radius: 8px;
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1));
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 4px;
  padding-bottom: 4px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 15px;
}

.post-contents pre,
.editor-styles-wrapper pre,
.block-editor-block-list__layout pre,
.wp-block-post-content pre {
  margin-top: 24px;
  margin-bottom: 24px;
  overflow-x: auto;
  border-radius: 20px;
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1));
  padding: 24px;
}

.post-contents pre code,
.editor-styles-wrapper pre code,
.block-editor-block-list__layout pre code,
.wp-block-post-content pre code {
  background-color: transparent;
  padding: 0px;
}

/* ----------------------------------------
   テーブル (Figma: node-id 1539-8935)
   ---------------------------------------- */

.post-contents table,
.editor-styles-wrapper table,
.block-editor-block-list__layout table,
.wp-block-post-content table,
.wp-block-table table {
  width: 100% !important;
  border-collapse: collapse !important;
}

/* ヘッダー行 */

.post-contents thead tr,
.editor-styles-wrapper thead tr,
.block-editor-block-list__layout thead tr,
.wp-block-post-content thead tr,
.wp-block-table thead tr {
  border-bottom-width: 1px !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(51 51 51 / var(--tw-border-opacity, 1)) !important;
}

/* ボディ行 */

.post-contents tbody tr,
.editor-styles-wrapper tbody tr,
.block-editor-block-list__layout tbody tr,
.wp-block-post-content tbody tr,
.wp-block-table tbody tr {
  border-bottom-width: 1px !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(204 204 204 / var(--tw-border-opacity, 1)) !important;
}

/* セル共通 */

.post-contents th,
.post-contents td,
.editor-styles-wrapper th,
.editor-styles-wrapper td,
.block-editor-block-list__layout th,
.block-editor-block-list__layout td,
.wp-block-post-content th,
.wp-block-post-content td,
.wp-block-table th,
.wp-block-table td {
  padding-left: 16px !important;
  padding-right: 16px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  font-size: 16px !important;
  line-height: 2 !important;
  letter-spacing: 0.8px !important;
  --tw-text-opacity: 1 !important;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1)) !important;
  border: none !important;
  border-right: 1px solid #CCCCCC !important;
}

/* 最後の列はボーダー右なし */

.post-contents th:last-child,
.post-contents td:last-child,
.editor-styles-wrapper th:last-child,
.editor-styles-wrapper td:last-child,
.block-editor-block-list__layout th:last-child,
.block-editor-block-list__layout td:last-child,
.wp-block-post-content th:last-child,
.wp-block-post-content td:last-child,
.wp-block-table th:last-child,
.wp-block-table td:last-child {
  border-right-width: 0px !important;
}

/* ヘッダーセル */

.post-contents th,
.editor-styles-wrapper th,
.block-editor-block-list__layout th,
.wp-block-post-content th,
.wp-block-table th {
  min-width: 192px !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(246 244 239 / var(--tw-bg-opacity, 1)) !important;
  font-weight: 700 !important;
  border-right-color: #333333 !important;
}

/* データセル */

.post-contents td,
.editor-styles-wrapper td,
.block-editor-block-list__layout td,
.wp-block-post-content td,
.wp-block-table td {
  font-weight: 400 !important;
}

/* 1列目のデータセル（区画番号など）は背景色付き */

.post-contents tbody td:first-child,
.editor-styles-wrapper tbody td:first-child,
.block-editor-block-list__layout tbody td:first-child,
.wp-block-post-content tbody td:first-child,
.wp-block-table tbody td:first-child {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(246 244 239 / var(--tw-bg-opacity, 1)) !important;
}

.wp-block-table thead {
  border-bottom-width: 1px !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(51 51 51 / var(--tw-border-opacity, 1)) !important;
}

/* ----------------------------------------
   水平線
   ---------------------------------------- */

.post-contents hr,
.editor-styles-wrapper hr,
.block-editor-block-list__layout hr,
.wp-block-post-content hr {
  margin-top: 40px;
  margin-bottom: 40px;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));
}

/* ----------------------------------------
   目次 (Table of Contents)
   プラグイン: Table of Contents Plus
   ---------------------------------------- */

.post-contents #toc_container,
#toc_container,
.editor-styles-wrapper #toc_container,
.block-editor-block-list__layout #toc_container,
.wp-block-post-content #toc_container {
  margin-top: 40px;
  margin-bottom: 40px;
  width: 100% !important;
  border-radius: 20px;
  --tw-bg-opacity: 1;
  background-color: rgb(246 244 239 / var(--tw-bg-opacity, 1));
  padding: 40px;
}

.post-contents #toc_container .toc_title,
#toc_container .toc_title,
.editor-styles-wrapper #toc_container .toc_title,
.block-editor-block-list__layout #toc_container .toc_title,
.wp-block-post-content #toc_container .toc_title {
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.8px;
}

.post-contents #toc_container .toc_toggle,
#toc_container .toc_toggle,
.editor-styles-wrapper #toc_container .toc_toggle,
.block-editor-block-list__layout #toc_container .toc_toggle,
.wp-block-post-content #toc_container .toc_toggle {
  margin-left: 8px;
  font-size: 14px;
  font-weight: 400;
}

.post-contents #toc_container .toc_toggle a,
#toc_container .toc_toggle a,
.editor-styles-wrapper #toc_container .toc_toggle a,
.block-editor-block-list__layout #toc_container .toc_toggle a,
.wp-block-post-content #toc_container .toc_toggle a {
  --tw-text-opacity: 1;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
}

.post-contents #toc_container .toc_toggle a:hover,
#toc_container .toc_toggle a:hover,
.editor-styles-wrapper #toc_container .toc_toggle a:hover,
.block-editor-block-list__layout #toc_container .toc_toggle a:hover,
.wp-block-post-content #toc_container .toc_toggle a:hover {
  text-decoration-line: underline;
}

.post-contents #toc_container .toc_list,
#toc_container .toc_list,
.editor-styles-wrapper #toc_container .toc_list,
.block-editor-block-list__layout #toc_container .toc_list,
.wp-block-post-content #toc_container .toc_list {
  margin: 0px;
  list-style-type: none;
}

.post-contents #toc_container .toc_list > :not([hidden]) ~ :not([hidden]),
#toc_container .toc_list > :not([hidden]) ~ :not([hidden]),
.editor-styles-wrapper #toc_container .toc_list > :not([hidden]) ~ :not([hidden]),
.block-editor-block-list__layout #toc_container .toc_list > :not([hidden]) ~ :not([hidden]),
.wp-block-post-content #toc_container .toc_list > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(8px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(8px * var(--tw-space-y-reverse));
}

.post-contents #toc_container .toc_list,
#toc_container .toc_list,
.editor-styles-wrapper #toc_container .toc_list,
.block-editor-block-list__layout #toc_container .toc_list,
.wp-block-post-content #toc_container .toc_list {
  padding: 0px;
}

.post-contents #toc_container .toc_list li,
#toc_container .toc_list li,
.editor-styles-wrapper #toc_container .toc_list li,
.block-editor-block-list__layout #toc_container .toc_list li,
.wp-block-post-content #toc_container .toc_list li {
  margin-bottom: 0px;
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.8px;
}

.post-contents #toc_container .toc_list a,
#toc_container .toc_list a,
.editor-styles-wrapper #toc_container .toc_list a,
.block-editor-block-list__layout #toc_container .toc_list a,
.wp-block-post-content #toc_container .toc_list a {
  --tw-text-opacity: 1;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
}

.post-contents #toc_container .toc_list a:hover,
#toc_container .toc_list a:hover,
.editor-styles-wrapper #toc_container .toc_list a:hover,
.block-editor-block-list__layout #toc_container .toc_list a:hover,
.wp-block-post-content #toc_container .toc_list a:hover {
  text-decoration-line: underline;
}

.post-contents #toc_container .toc_list ul,
#toc_container .toc_list ul,
.editor-styles-wrapper #toc_container .toc_list ul,
.block-editor-block-list__layout #toc_container .toc_list ul,
.wp-block-post-content #toc_container .toc_list ul {
  margin-top: 8px;
  list-style-type: none;
}

.post-contents #toc_container .toc_list ul > :not([hidden]) ~ :not([hidden]),
#toc_container .toc_list ul > :not([hidden]) ~ :not([hidden]),
.editor-styles-wrapper #toc_container .toc_list ul > :not([hidden]) ~ :not([hidden]),
.block-editor-block-list__layout #toc_container .toc_list ul > :not([hidden]) ~ :not([hidden]),
.wp-block-post-content #toc_container .toc_list ul > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(8px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(8px * var(--tw-space-y-reverse));
}

.post-contents #toc_container .toc_list ul,
#toc_container .toc_list ul,
.editor-styles-wrapper #toc_container .toc_list ul,
.block-editor-block-list__layout #toc_container .toc_list ul,
.wp-block-post-content #toc_container .toc_list ul {
  padding-left: 24px;
}

.post-contents #toc_container .toc_list ul li,
#toc_container .toc_list ul li,
.editor-styles-wrapper #toc_container .toc_list ul li,
.block-editor-block-list__layout #toc_container .toc_list ul li,
.wp-block-post-content #toc_container .toc_list ul li {
  font-size: 16px;
  font-weight: 700;
}

/* ----------------------------------------
   WordPressブロックエディターのデフォルトカラーパレット
   has-*-background-color, has-*-color 等に対応
   ---------------------------------------- */

/* 背景色 */

.has-pale-pink-background-color {
  background-color: #f78da7 !important;
}

.has-vivid-red-background-color {
  background-color: #cf2e2e !important;
}

.has-luminous-vivid-orange-background-color {
  background-color: #ff6900 !important;
}

.has-luminous-vivid-amber-background-color {
  background-color: #fcb900 !important;
}

.has-light-green-cyan-background-color {
  background-color: #7bdcb5 !important;
}

.has-vivid-green-cyan-background-color {
  background-color: #00d084 !important;
}

.has-pale-cyan-blue-background-color {
  background-color: #8ed1fc !important;
}

.has-vivid-cyan-blue-background-color {
  background-color: #0693e3 !important;
}

.has-vivid-purple-background-color {
  background-color: #9b51e0 !important;
}

.has-white-background-color {
  background-color: #ffffff !important;
}

.has-cyan-bluish-gray-background-color {
  background-color: #abb8c3 !important;
}

.has-very-light-gray-background-color {
  background-color: #eeeeee !important;
}

.has-very-dark-gray-background-color {
  background-color: #313131 !important;
}

.has-black-background-color {
  background-color: #000000 !important;
}

/* 文字色 */

.has-pale-pink-color {
  color: #f78da7 !important;
}

.has-vivid-red-color {
  color: #cf2e2e !important;
}

.has-luminous-vivid-orange-color {
  color: #ff6900 !important;
}

.has-luminous-vivid-amber-color {
  color: #fcb900 !important;
}

.has-light-green-cyan-color {
  color: #7bdcb5 !important;
}

.has-vivid-green-cyan-color {
  color: #00d084 !important;
}

.has-pale-cyan-blue-color {
  color: #8ed1fc !important;
}

.has-vivid-cyan-blue-color {
  color: #0693e3 !important;
}

.has-vivid-purple-color {
  color: #9b51e0 !important;
}

.has-white-color {
  color: #ffffff !important;
}

.has-cyan-bluish-gray-color {
  color: #abb8c3 !important;
}

.has-very-light-gray-color {
  color: #eeeeee !important;
}

.has-very-dark-gray-color {
  color: #313131 !important;
}

.has-black-color {
  color: #000000 !important;
}

/* 共通スタイル */

.has-background {
  padding: 1.25em 2.375em;
}

/* フォントサイズ */

.has-small-font-size {
  font-size: 13px !important;
}

.has-regular-font-size {
  font-size: 16px !important;
}

.has-medium-font-size {
  font-size: 20px !important;
}

.has-large-font-size {
  font-size: 36px !important;
}

.has-x-large-font-size {
  font-size: 42px !important;
}

.has-huge-font-size {
  font-size: 42px !important;
}

/* ----------------------------------------
   スペーサー（会社マニュアル準拠: 16px固定）
   WordPressコアの :where(.wp-block) マージンを打ち消し
   ---------------------------------------- */

.wp-block-spacer {
  height: 16px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 管理画面：スペーサーの「設定」パネル内を非表示 */

.spacing-sizes-control {
  display: none !important;
}

/* または「設定」パネル全体も非表示にする場合 */

.components-tools-panel-item:has(.spacing-sizes-control) {
  display: none !important;
}

/* ============================================
   フロントエンド固有のスタイル
   ※共通スタイルは _post-common.css で管理
   ============================================ */

/* ----------------------------------------
   コンテナ
   ---------------------------------------- */

.post-contents {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  color: #333333;
}

/* ----------------------------------------
   投稿ヘッダー（日付・タイトル・所在地・タグ）
   ---------------------------------------- */

.post-contents .h-post {
  margin-bottom: 40px;
}

.post-contents .h-post time {
  display: block;
  font-size: 12px;
  color: #707070;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 8px;
}

.post-contents .h-post h1,
.post-contents .h-post .entry-title {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 3.6px;
  color: #333333;
  padding-bottom: 0;
  border: none;
  margin: 0;
}

/* 所在地 */

.post-contents .h-post+.post-location,
.post-contents .post-location {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  color: #333333;
  margin-bottom: 16px;
}

/* タグ（.article-tag） */

.post-contents .article-tag {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 40px;
  list-style: none;
  padding: 0;
}

.post-contents .article-tag li {
  background-color: #DEDCDC;
  border-radius: 9999px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  text-align: center;
  margin: 0;
}

/* 区切り線 */

.post-contents .post-header-divider,
.post-contents .h-post+.article-tag+hr,
.post-contents>.article-tag+hr {
  border-top: 1px solid #CCCCCC;
  margin-top: 40px;
  margin-bottom: 40px;
}

/* ----------------------------------------
   フロントエンド固有: リンクのホバー効果
   ---------------------------------------- */

.post-contents a {
  transition: color 0.15s ease-in-out;
}

.post-contents a:hover {
  color: #004499;
}

/* ----------------------------------------
   フロントエンド固有: テーブルの最小幅（モバイル対応）
   ---------------------------------------- */

.post-contents table {
  min-width: 600px;
}

@media (min-width: 1160px) {
  .post-contents table {
    min-width: 100%;
  }
}

/* ----------------------------------------
   WordPressブロック固有スタイル
   ---------------------------------------- */

/* ギャラリーブロック */

.post-contents .wp-block-gallery {
  margin-top: 40px;
  margin-bottom: 40px;
}

/* カラムブロック */

.post-contents .wp-block-columns {
  margin-top: 24px;
  margin-bottom: 24px;
  gap: 24px;
}

/* ボタンブロック */

.post-contents .wp-block-button__link {
  background-color: #FFD800;
  color: #333333;
  font-weight: 700;
  padding: 12px 24px;
  border-radius: 8px;
  text-decoration: none;
  transition: opacity 0.15s ease-in-out;
}

.post-contents .wp-block-button__link:hover {
  opacity: 0.8;
}

/* 区切りブロック */

.post-contents .wp-block-separator {
  border-top: 1px solid #CCCCCC;
  margin-top: 40px;
  margin-bottom: 40px;
}

/* スペーサーブロック */

.post-contents .wp-block-spacer {
  margin-top: 0;
  margin-bottom: 0;
}

/* ----------------------------------------
   レスポンシブ対応
   Figma モバイルデザイン (node-id: 1309-14927)
   ---------------------------------------- */

@media (max-width: 1023px) {
  .post-contents {
    padding-left: 0;
    padding-right: 0;
  }

  /* 投稿ヘッダー */

  .post-contents .h-post h1,
  .post-contents .h-post .entry-title {
    font-size: 30px;
    letter-spacing: 3px;
  }

  .post-contents .article-tag {
    margin-bottom: 24px;
  }

  /* 見出し（大）h2: 24px */

  .post-contents h2 {
    font-size: 24px;
    letter-spacing: 2.4px;
    margin-top: 48px;
    margin-bottom: 16px;
  }

  /* 見出し（中）h3: 20px */

  .post-contents h3 {
    font-size: 20px;
    letter-spacing: 2px;
    margin-top: 40px;
    margin-bottom: 12px;
  }

  /* 見出し（小）h4: 18px */

  .post-contents h4 {
    font-size: 18px;
    letter-spacing: 1.8px;
    margin-top: 32px;
    margin-bottom: 12px;
  }

  /* 本文: 15px */

  .post-contents p {
    font-size: 15px;
    letter-spacing: 0.75px;
    line-height: 1.8;
  }

  #toc_container {
    padding: 40px;
  }

  /* モバイル用テーブルスタイル */

  .post-contents table {
    min-width: 600px;
  }
}