/*
 * 本文(ブロックエディター)の見た目 — ミニマル版
 * フロント(.entry-content)と編集画面(.editor-styles-wrapper)の両方に適用される。
 * 使用色: 白 / 黒 / #80E6FF / #1899B5 / #FFF450(アクセントのみ)
 */
:root {
  --white: #ffffff; --black: #000000; --sky: #80e6ff; --blue: #1899b5; --yellow: #fff450;
  --hair: rgba(0, 0, 0, 0.26);
}

/* 編集画面の背景も、細い方眼に */
.editor-styles-wrapper {
  font-family: 'Lexend', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic Medium', 'Yu Gothic', 'Noto Sans JP', Meiryo, sans-serif;
  color: var(--black); line-height: 2.05;
  background-color: var(--white);
  background-image:
    linear-gradient(to right, rgba(128, 230, 255, 0.5) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(128, 230, 255, 0.5) 1px, transparent 1px);
  background-size: 72px 72px;
}

/* 本文(フロント): 枠なし、読みやすい幅 */
.entry-content { max-width: 760px; padding: 0; font-size: 15.5px; line-height: 2.05; letter-spacing: 0.02em; }
.entry-content--narrow { max-width: 760px; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content > *:last-child { margin-bottom: 0; }

:is(.entry-content, .editor-styles-wrapper) :is(p, ul, ol, table, figure, blockquote, .wp-block-buttons, .wp-block-columns, .wp-block-group) { margin-block: 0 1.7em; }
:is(.entry-content, .editor-styles-wrapper) figure { margin-inline: 0; }
:is(.entry-content, .editor-styles-wrapper) a { color: var(--blue); text-decoration-thickness: 1px; text-underline-offset: 4px; }
:is(.entry-content, .editor-styles-wrapper) a:hover { color: var(--black); }
:is(.entry-content, .editor-styles-wrapper) img { max-width: 100%; height: auto; }

/* 見出し */
:is(.entry-content, .editor-styles-wrapper) :is(h2, h3, h4) { font-weight: 400; line-height: 1.5; margin-block: 2.4em 0.9em; }
:is(.entry-content, .editor-styles-wrapper) h2 {
  font-family: 'Allenoire', Georgia, 'Lexend', 'Hiragino Sans', 'Yu Gothic', sans-serif;
  color: var(--blue); font-size: clamp(26px, 3.4vw, 40px); line-height: 1.2; letter-spacing: 0;
}
:is(.entry-content, .editor-styles-wrapper) h3 { font-size: clamp(17px, 1.8vw, 20px); letter-spacing: 0.02em; }
:is(.entry-content, .editor-styles-wrapper) h4 { font-size: 14px; color: var(--blue); letter-spacing: 0.1em; }
:is(.entry-content, .editor-styles-wrapper) :is(h2, h3) + :is(h3, h4, p) { margin-top: 0.5em; }

/* 見出しスタイル */
:is(.entry-content, .editor-styles-wrapper) h2.is-style-shn-marker::before {
  content: ''; display: inline-block; width: 9px; height: 9px; margin-right: 0.5em; vertical-align: 0.12em;
  border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 1px var(--black);
}
:is(.entry-content, .editor-styles-wrapper) :is(h2, h3).is-style-shn-dash { padding-bottom: 0.5em; border-bottom: 1px solid var(--hair); }
:is(.entry-content, .editor-styles-wrapper) :is(h2, h3).is-style-shn-tag {
  font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--blue);
}

/* リスト・引用 */
:is(.entry-content, .editor-styles-wrapper) li::marker { color: var(--blue); }
:is(.entry-content, .editor-styles-wrapper) li { margin-bottom: 0.3em; }
:is(.entry-content, .editor-styles-wrapper) blockquote {
  margin-inline: 0; padding: 0.2em 0 0.2em 1.6em; border-left: 1px solid var(--black); font-size: 0.95em;
}

/* 区切り線 */
:is(.entry-content, .editor-styles-wrapper) hr,
:is(.entry-content, .editor-styles-wrapper) .wp-block-separator {
  border: 0; height: 1px; background: var(--hair); margin-block: 3em; opacity: 1;
}

/* 画像 */
:is(.entry-content, .editor-styles-wrapper) .wp-block-image figcaption { font-size: 12px; color: rgba(0, 0, 0, 0.6); margin-top: 10px; letter-spacing: 0.06em; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-image.is-style-shn-frame img { outline: 1px solid var(--hair); outline-offset: 10px; }

/* ボタン */
:is(.entry-content, .editor-styles-wrapper) .wp-block-button__link {
  display: inline-block; padding: 0.95em 2.8em; border: 1px solid var(--black); border-radius: 999px;
  background: transparent; color: var(--black); text-decoration: none;
  font-family: 'Allenoire', Georgia, 'Lexend', sans-serif; font-size: 15px; letter-spacing: 0.1em; line-height: 1;
  transition: background 0.4s cubic-bezier(0.22, 0.8, 0.2, 1), transform 0.4s cubic-bezier(0.22, 0.8, 0.2, 1);
}
:is(.entry-content, .editor-styles-wrapper) .wp-block-button__link:hover { background: var(--yellow); color: var(--black); transform: translateY(-2px); }
:is(.entry-content, .editor-styles-wrapper) .is-style-shn-outline .wp-block-button__link { border-color: var(--blue); color: var(--blue); }

/* カード(細線) */
:is(.entry-content, .editor-styles-wrapper) .wp-block-group.is-style-shn-card {
  padding: clamp(20px, 3vw, 32px); background: rgba(255, 255, 255, 0.85);
  border: 1px solid var(--hair); border-radius: 2px; height: 100%;
}
:is(.entry-content, .editor-styles-wrapper) .wp-block-group.is-style-shn-card > *:last-child { margin-bottom: 0; }
:is(.entry-content, .editor-styles-wrapper) .shn-num {
  margin: 0 0 0.6em; font-family: 'Allenoire', Georgia, 'Lexend', sans-serif; font-size: 15px; line-height: 1; color: var(--blue); letter-spacing: 0.08em;
}
:is(.entry-content, .editor-styles-wrapper) .wp-block-group.is-style-shn-card h3 { margin-top: 0; }

/* カラム */
:is(.entry-content, .editor-styles-wrapper) .wp-block-columns { gap: clamp(16px, 2.4vw, 28px); }
@media (max-width: 781px) {
  :is(.entry-content, .editor-styles-wrapper) .wp-block-columns { flex-wrap: wrap !important; }
  :is(.entry-content, .editor-styles-wrapper) .wp-block-column { flex-basis: 100% !important; }
}
/* カラムを使うページは横幅を広げる */
.entry-content:has(.wp-block-columns) { max-width: 1000px; }

/* 表(会社概要・沿革) */
:is(.entry-content, .editor-styles-wrapper) .wp-block-table table { width: 100%; border-collapse: collapse; border: 0; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-table td,
:is(.entry-content, .editor-styles-wrapper) .wp-block-table th { padding: 20px 0; border: 0; vertical-align: baseline; text-align: left; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-table.is-style-shn-profile tr { border-top: 1px solid var(--hair); }
:is(.entry-content, .editor-styles-wrapper) .wp-block-table.is-style-shn-profile tr:last-child { border-bottom: 1px solid var(--hair); }
:is(.entry-content, .editor-styles-wrapper) .wp-block-table.is-style-shn-profile td:first-child {
  width: 30%; min-width: 7em; padding-right: 24px; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; white-space: nowrap;
}
@media (max-width: 600px) {
  :is(.entry-content, .editor-styles-wrapper) .wp-block-table.is-style-shn-profile td { display: block; width: auto; padding: 0; }
  :is(.entry-content, .editor-styles-wrapper) .wp-block-table.is-style-shn-profile td:first-child { padding-top: 18px; color: var(--blue); }
  :is(.entry-content, .editor-styles-wrapper) .wp-block-table.is-style-shn-profile td:last-child { padding-bottom: 18px; }
}
