@charset "UTF-8";
/*
Theme Name: Mikawa
Description: カウンセリングオフィス みかわ 専用の自作テーマ。中身は WordPress 本体のブロックで編集画面に置き、テーマは見た目だけを付ける（10/30）。
Author: リタさん・凪
Version: 0.3.1
Text Domain: mikawa
*/

/* 読み方:
   - is-style-mk-*  … 編集画面の右側「スタイル」で選べる見た目（functions.php で登録）
   - mk-*           … ブロックの「追加 CSS クラス」。ひな形（パターン）に最初から入っている
   - theme.json があるので、グループの内側に余分な入れ物は挟まらない。並べ方はグループそのものに付ける（編集画面と表示で同じ形・10/30）
   - 編集画面だけの調整は editor.css
   角を丸めるのは「予約／申込」と「ご登録はこちら」のボタンだけ（10/20 リタさん）。札と箱は角のまま。 */

:root {
  --green: #77bc71;
  --link: #4e9a48;
  --ink: #2b332b;
  --muted: #51605a;
  --line: #d9e3d9;
  --mint: #f1f8f2;
  --aqua: #e8f3f5;
  --lime: #f4f8e3;
  --font-body: "Noto Sans JP", sans-serif;
  --font-head: "Zen Kaku Gothic New", sans-serif;
  --section-space: 64px;
  --gutter: 96px;
  --header-height: 96px;
}
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 72px; }
body { margin: 0; font-family: var(--font-body); color: var(--ink); background: #fff; font-size: 16px; line-height: 2; font-weight: 300; }
a { color: var(--link); }
a:hover { color: #3b7d36; }
img { max-width: 100%; height: auto; }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--link); outline-offset: 4px; }
.sp-only { display: none; }
.leaf { display: inline-block; flex: none; width: 14px; height: 14px; background: var(--green); border-radius: 0 7px 0 7px; }
.entry { overflow-wrap: anywhere; }
figure.wp-block-image, figure.wp-block-table, figure.wp-block-gallery { margin: 0; }
p.wp-block-paragraph, p { margin: 0 0 1em; }

/* 並べる入れ物（グリッド・横並び）の中では、WordPress が足す上下の余白を消す（表示と編集画面で同じ間隔） */
:is(.mk-doors, .mk-items, .mk-news, .mk-greeting, .mk-concerns-grid, .mk-hours, .mk-links, .mk-staff-grid, .mk-faq-list,
    .mk-step, .mk-sec-head, .mk-staff-head, .is-style-mk-item, .mk-item-text, .mk-hero-content, .mk-hero) > * { margin-top: 0; margin-bottom: 0; }

/* ===================== ヘッダー・メニュー ===================== */
.site-header { position: fixed; inset: 0 0 auto; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 var(--gutter); height: var(--header-height); box-sizing: border-box; background: rgba(255,255,255,.94); color: var(--ink); border-bottom: 1px solid var(--line); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: height .25s ease, background-color .25s ease, border-color .25s ease; }
.site-header--hero:not(.menu-open) { background: #fff; border-bottom-color: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.is-scrolled .site-header { height: 56px; background: rgba(255,255,255,.94); border-bottom-color: var(--line); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.site-header-a1 { position: relative; display: flex; align-items: center; text-decoration: none; }
.site-header-img1 { display: block; height: 56px; width: auto; transition: height .25s ease; }
.is-scrolled .site-header-img1 { height: 40px; }
.site-header + main { padding-top: var(--header-height); }
.site-header.menu-open { background: #fff; }
.admin-bar .site-header { top: 32px; }
.primary-menu, .footer-menu { margin: 0; padding: 0; list-style: none; }
.primary-menu { display: flex; align-items: center; gap: 32px; font-size: 14px; letter-spacing: .06em; font-weight: 400; }
.primary-menu a, .footer-menu a { color: var(--ink); text-decoration: none; border-bottom: 1px solid transparent; padding-bottom: 6px; }
.primary-menu a { white-space: nowrap; transition: color .25s ease, border-color .25s ease; }
.primary-menu a:hover, .primary-menu a:focus-visible, .footer-menu a:hover, .footer-menu a:focus-visible { color: var(--link); border-bottom-color: var(--link); }
.footer-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 36px; font-size: 14px; letter-spacing: .04em; }
.menu-toggle { display: none; }
@media (max-width: 1440px) {
  .primary-menu { gap: 22px; font-size: 13.5px; letter-spacing: .04em; }
}

/* ===================== フッター・ページトップ ===================== */
.site-footer { border-top: 1px solid var(--link); padding: 64px var(--gutter) 40px; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 32px; }
.site-footer-a1 { display: block; }
.site-footer-img1 { height: 40px; width: auto; }
.site-footer-p1 { margin: 0; width: 100%; text-align: center; font-size: 12px; color: #5c665c; }
.page-top { position: fixed; right: 20px; bottom: 20px; z-index: 40; width: 48px; height: 48px; border-radius: 50%; background: #9fcb97; color: #fff; display: flex; align-items: center; justify-content: center; text-decoration: none; opacity: 0; visibility: hidden; transform: translateY(8px); box-shadow: 0 6px 16px rgba(32,48,32,.18); transition: opacity .3s ease, transform .3s ease, visibility .3s, background-color .25s ease; }
.page-top svg { width: 20px; height: 20px; display: block; }
.page-top:hover, .page-top:focus-visible { background: var(--green); color: #fff; }
.show-page-top .page-top { opacity: 1; visibility: visible; transform: none; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* ===================== 共通の部品（どのページでも使える） ===================== */
/* 葉の印つき見出し（スタイル「葉の印つき」）。mk-leaf-blue / mk-leaf-yellow で印の色を変える */
.wp-block-heading.is-style-mk-leaf { display: flex; align-items: center; gap: 14px; margin: 0 0 24px; font: 500 26px/1.5 var(--font-head); letter-spacing: .08em; }
.wp-block-heading.is-style-mk-leaf::before { content: ''; flex: none; width: 14px; height: 14px; background: var(--green); border-radius: 0 7px 0 7px; }
.wp-block-heading.is-style-mk-leaf.mk-leaf-blue::before { background: #97cad0; }
.wp-block-heading.is-style-mk-leaf.mk-leaf-yellow::before { background: #bbd374; }
/* 下線つき見出し */
.wp-block-heading.is-style-mk-line { margin: 0 0 20px; padding-bottom: 16px; border-bottom: 1px solid var(--ink); font: 500 24px/1.5 var(--font-head); letter-spacing: .06em; }

/* ボタン。何も選ばないボタンも緑の丸いボタンにする */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; box-sizing: border-box; padding: 0 34px; border: 0; border-radius: 999px; background: var(--green); color: #fff; text-decoration: none; font: 500 15px/1.6 var(--font-body); letter-spacing: .1em; transition: background-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease; }
.wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:focus-visible { background: var(--link); color: #fff; }
.wp-block-button.is-style-mk-outline .wp-block-button__link { min-height: 0; padding: 12px 28px; background: transparent; color: var(--ink); border: 1px solid var(--ink); font-size: 14px; font-weight: 300; }
.wp-block-button.is-style-mk-outline .wp-block-button__link:hover { background: var(--ink); color: #fff; }

/* 矢印つきのリンク（段落のスタイル） */
.is-style-mk-more { margin: 0 !important; }
.is-style-mk-more a { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 4px; border-bottom: 1px solid var(--ink); color: var(--ink); text-decoration: none; font-size: 15px; letter-spacing: .04em; line-height: 1.6; }
.is-style-mk-more a::after { content: '→'; transition: transform .25s ease; }
.is-style-mk-more a:hover { color: var(--link); border-bottom-color: var(--link); }
.is-style-mk-more a:hover::after { transform: translateX(4px); }

/* ※の注意書き */
.wp-block-list.is-style-mk-notes { list-style: none; margin: 16px 0 0; padding: 0; font-size: 14px; line-height: 1.9; color: var(--muted); }
.wp-block-list.is-style-mk-notes li { position: relative; padding-left: 1.3em; }
.wp-block-list.is-style-mk-notes li + li { margin-top: 4px; }
.wp-block-list.is-style-mk-notes li::before { content: '※'; position: absolute; left: 0; }

/* 箱 */
.is-style-mk-panel { margin-top: 16px; padding: 14px 18px; background: #f6f9f6; font-size: 14px; line-height: 1.9; color: var(--muted); }
.is-style-mk-panel p:last-child { margin-bottom: 0; }
.is-style-mk-switch { margin-top: 64px; padding: 32px 36px; background: var(--aqua); scroll-margin-top: 80px; }
.is-style-mk-net { margin-top: 64px; padding: 36px 40px; background: var(--lime); scroll-margin-top: 80px; }
.is-style-mk-band { padding: var(--section-space) var(--gutter); background: var(--mint); }
.mk-box-title { margin: 0 0 8px !important; font: 500 20px/1.5 var(--font-head); }
.mk-badge { display: inline-block; margin: 0 0 14px !important; padding: 4px 12px; background: #fff; font-size: 12px; letter-spacing: .12em; line-height: 1.8; color: #5d6b2c; }
.is-style-mk-net .wp-block-buttons { margin-top: 8px; }
.mk-small { font-size: 13px; color: #5c665c; }

/* 表: 料金の表 */
.wp-block-table.is-style-mk-spec { margin: 24px 0 0; overflow-x: visible; }
.wp-block-table.is-style-mk-spec table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--line); }
.wp-block-table.is-style-mk-spec td, .wp-block-table.is-style-mk-spec th { padding: 16px 0; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.wp-block-table.is-style-mk-spec td:first-child { width: 200px; padding-right: 24px; font-family: var(--font-head); font-weight: 500; color: var(--link); }
/* 表: 開所時間の表（○ は緑・/ は薄く。main.js が印を付ける） */
.wp-block-table.is-style-mk-hours { position: relative; max-width: 100%; overflow-x: auto; margin: 0; }
.wp-block-table.is-style-mk-hours table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: 15px; text-align: center; }
.wp-block-table.is-style-mk-hours thead { border: 0; }
.wp-block-table.is-style-mk-hours th, .wp-block-table.is-style-mk-hours td { padding: 12px 6px; border: 0; border-bottom: 1px solid var(--line); }
.wp-block-table.is-style-mk-hours thead th { border-bottom-color: var(--ink); font-weight: 500; }
.wp-block-table.is-style-mk-hours tbody td:first-child { padding: 12px 10px; text-align: left; font-weight: 300; white-space: nowrap; }
.wp-block-table.is-style-mk-hours tr:last-child > * { border-bottom-color: var(--ink); }
.wp-block-table.is-style-mk-hours .is-open { color: var(--link); }
.wp-block-table.is-style-mk-hours .is-closed { color: #b7c2b7; }
.wp-block-table.is-style-mk-hours + p { margin-top: 16px; font-size: 15px; }
.wp-block-table.is-style-mk-hours.is-scrollable::after { content: '← スクロールできます →'; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 10px 16px; background: rgba(43,51,43,.78); color: #fff; font-size: 12px; letter-spacing: .08em; line-height: 1.6; border-radius: 6px; white-space: nowrap; pointer-events: none; transition: opacity .3s ease; }
.wp-block-table.is-style-mk-hours.is-scrolled-once::after { opacity: 0; }

/* よくある質問（開け閉めのスタイル「よくある質問」） */
.mk-faq-list { display: grid; gap: 16px; }
.wp-block-details.is-style-mk-faq { background: #fff; border: 1px solid var(--line); transition: border-color .25s ease; }
.wp-block-details.is-style-mk-faq[open] { border-color: #b9d8b5; }
.wp-block-details.is-style-mk-faq > summary { position: relative; display: block; padding: 20px 64px 20px 76px; cursor: pointer; list-style: none; font: 500 17px/1.8 var(--font-head); }
.wp-block-details.is-style-mk-faq > summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-mk-faq > summary::before { content: 'Q'; position: absolute; left: 24px; top: 20px; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: var(--green); color: #fff; border-radius: 0 18px 0 18px; font: 500 16px/1 var(--font-head); }
.wp-block-details.is-style-mk-faq > summary::after { content: '+'; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); font: 300 26px/1 var(--font-body); color: var(--link); }
.wp-block-details.is-style-mk-faq[open] > summary::after { content: '−'; }
.wp-block-details.is-style-mk-faq > summary:hover { color: var(--link); }
.wp-block-details.is-style-mk-faq > :not(summary) { position: relative; margin: 0 24px !important; padding: 0 0 0 52px; font-size: 15px; line-height: 2; color: #3f4a3f; }
.wp-block-details.is-style-mk-faq > :not(summary):first-of-type { padding-top: 18px; border-top: 1px solid var(--line); }
.wp-block-details.is-style-mk-faq > :not(summary):last-child { padding-bottom: 24px; }
.wp-block-details.is-style-mk-faq > p:first-of-type::before { content: 'A'; position: absolute; left: 0; top: 18px; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: #fff; color: var(--link); box-shadow: inset 0 0 0 1px var(--green); border-radius: 0 18px 0 18px; font: 500 16px/1 var(--font-head); }

/* ===================== トップ ===================== */
.front { overflow-wrap: anywhere; }
/* 写真（ギャラリーの 3 枚が切り替わる。JS が無ければ 1 枚目だけ） */
.mk-hero { position: relative; height: clamp(640px, 86vh, 880px); overflow: hidden; margin: 0; }
.mk-hero::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to bottom, rgba(32,48,32,.10) 0%, rgba(32,48,32,.26) 45%, rgba(32,48,32,.40) 78%, rgba(32,48,32,.30) 100%); pointer-events: none; }
.mk-hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 200px; z-index: 1; background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.55) 55%, #fff); pointer-events: none; }
.mk-hero .mk-hero-slides { position: absolute; inset: 0; display: block !important; margin: 0 !important; }
.mk-hero .mk-hero-slides > figure.wp-block-image { position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0 !important; opacity: 0; }
.mk-hero .mk-hero-slides > figure.wp-block-image img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: center 55%; }
.mk-hero .mk-hero-slides > figure:first-child, .mk-hero .mk-hero-slides > figure.is-active { opacity: 1; }
.mk-hero .mk-hero-slides.js-slides > figure:first-child:not(.is-active) { opacity: 0; }
.hero-motion .mk-hero-slides > figure { transition: opacity 1.6s ease; }
.mk-hero-slides > figure.is-zooming img { animation: hero-zoom 8s ease-out both; }
@keyframes hero-zoom { from { transform: scale(1); } to { transform: scale(1.06); } }
.mk-hero-content { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 0 var(--gutter) 176px; color: #fff; }
.mk-hero-content { display: flex; flex-direction: column; gap: 14px; }
.mk-hero-content p { margin: 0; }
.mk-hero-title { margin: 0; font-family: var(--font-head); font-weight: 900; font-size: 60px; line-height: 1.25; color: #fff; }
.mk-hero-name { margin: 0 0 -10px !important; font-family: "Zen Maru Gothic", sans-serif; font-size: 15px; letter-spacing: 1.5px; line-height: 1.5; }
.mk-hero-tagline { font-family: "Zen Maru Gothic", sans-serif; font-size: 15px; letter-spacing: 1.5px; line-height: 1.5; }
.mk-hero-content .wp-block-buttons { margin-top: 8px; align-items: center; justify-content: space-between; gap: 24px; }
.mk-hero-apply .wp-block-button__link { background: #fff; color: var(--link); }
.mk-hero-apply .wp-block-button__link:hover, .mk-hero-apply .wp-block-button__link:focus-visible { background: var(--green); color: #fff; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(32,48,32,.22); }
.hero-dots { display: flex; gap: 8px; }
.hero-dot { display: block; width: 28px; height: 2px; background: #fff; opacity: .35; }
.hero-dot.is-active { opacity: 1; }

/* お知らせ（左に最新 1 件を大きく、右に残りを箱の中でスクロール） */
.mk-news { padding: 96px var(--gutter) var(--section-space); }
.mk-news { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: stretch; }
.mk-news > * { min-width: 0; }
.mk-news ul.wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.mk-news .wp-block-post-title { margin: 0; font-weight: 400; }
.mk-news .wp-block-post-title a { color: var(--ink); text-decoration: none; }
.mk-news .wp-block-post-title a:hover { color: var(--link); }
.mk-news-latest { border-top: 1px solid var(--ink); padding-top: 22px; }
.mk-news-heading { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font: 500 14px/2 var(--font-head); letter-spacing: .3em; color: var(--link); }
.mk-news-heading::before { content: ''; flex: none; width: 14px; height: 14px; background: var(--green); border-radius: 0 7px 0 7px; }
.mk-news-latest .wp-block-post-date { font-family: var(--font-head); font-size: 15px; letter-spacing: .08em; color: #5c665c; }
.mk-news-latest .wp-block-post-title { margin-top: 6px; font-size: 32px; line-height: 1.5; }
.mk-newsbox { position: relative; min-height: 132px; overflow-y: auto; border-top: 1px solid var(--ink); scrollbar-width: thin; scrollbar-color: #c9d6c9 transparent; }
.mk-newsbox > .wp-block-query { position: absolute; top: 0; left: 0; right: 0; }
.mk-newsbox li.wp-block-post { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 20px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line); }
.mk-newsbox .wp-block-post-date { font-family: var(--font-head); font-size: 14px; letter-spacing: .06em; color: #5c665c; }
.mk-newsbox .wp-block-post-title { font-size: 15px; line-height: 2; }

/* 2 枚の扉（一般・緑／専門職・水色） */
.mk-doors { padding: var(--section-space) var(--gutter); }
.mk-doors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.is-style-mk-door, .is-style-mk-door-pro { min-width: 0; padding: 40px 40px 36px; background: var(--mint); }
.is-style-mk-door-pro { background: var(--aqua); }
.is-style-mk-door, .is-style-mk-door-pro { display: flex; flex-direction: column; height: 100%; }
.mk-en { margin: 0 0 6px !important; font-family: var(--font-head); font-size: 12px; letter-spacing: .3em; color: var(--link); line-height: 1.6; }
.is-style-mk-door-pro .mk-en { color: #4d8f97; }
.mk-door-title { margin: 0 0 12px; font: 500 28px/1.5 var(--font-head); letter-spacing: .06em; }
.mk-door-lead { margin: 0 0 24px !important; font-size: 15px; line-height: 1.9; color: var(--muted); }
.mk-items { margin-bottom: 28px; }
.mk-items { display: grid; gap: 10px; }
.is-style-mk-item { position: relative; padding: 18px 22px; background: #fff; transition: box-shadow .3s ease; }
.is-style-mk-item { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 18px; align-items: center; }
.is-style-mk-item:hover, .is-style-mk-item:focus-within { box-shadow: 0 8px 22px rgba(32,48,32,.10); }
.mk-item-icon img { display: block; width: 72px !important; height: 72px !important; object-fit: contain; transition: transform .3s ease; }
.is-style-mk-item:hover .mk-item-icon img { transform: translateY(-4px); }
.mk-item-text p { margin: 0; }
.mk-item-name a { color: var(--ink); text-decoration: none; }
.mk-item-name a::after { content: ''; position: absolute; inset: 0; } /* 札のどこを押しても飛ぶ */
.mk-item-name strong { display: block; margin-bottom: 2px; font: 500 18px/1.5 var(--font-head); }
.mk-item-desc { font-size: 14px; line-height: 1.8; color: var(--muted); }
.mk-door-note { margin-bottom: 28px; padding-top: 22px; border-top: 1px solid rgba(43,51,43,.22); }
.mk-door-note-title { margin: 0 0 4px; font: 500 17px/1.6 var(--font-head); }
.mk-door-note p { margin: 0 0 16px; font-size: 14px; line-height: 1.8; color: var(--muted); }
.mk-door-note p:last-child { margin-bottom: 0; }
.mk-door-note p strong { font-weight: 500; color: var(--ink); }
.is-style-mk-door .is-style-mk-more, .is-style-mk-door-pro .is-style-mk-more { margin-top: auto !important; }

/* ごあいさつ */
.mk-greeting { max-width: 1168px; margin: 0 auto; padding: var(--section-space) var(--gutter); }
.mk-greeting { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 56px; }
.mk-greeting-copy { min-width: 0; }
.mk-greeting-copy p { margin: 0 0 1.4em; }
.mk-greeting-copy p:last-child { margin: 0; }
.mk-greeting-photo img { display: block; width: 100%; }

/* お困りごと */
.mk-concerns { background: var(--mint); padding: var(--section-space) var(--gutter); }
.mk-concerns { padding-left: max(var(--gutter), calc((100% - 1168px) / 2)); padding-right: max(var(--gutter), calc((100% - 1168px) / 2)); }
.mk-concerns .is-style-mk-leaf { margin-bottom: 32px; letter-spacing: .04em; }
.mk-concerns-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 48px; }
.mk-concern { border-top: 1px solid var(--ink); padding: 18px 0 28px; }
.mk-concern h3 { margin: 0 0 8px; font: 500 20px/1.5 var(--font-head); }
.mk-concern ul { margin: 0; padding: 0; list-style: none; font-size: 15px; color: #3f4a3f; }

/* 開所時間と外部リンク */
.mk-hours { background: #f6f9f6; padding: var(--section-space) var(--gutter); }
.mk-hours { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 56px; padding-left: max(var(--gutter), calc((100% - 1168px) / 2)); padding-right: max(var(--gutter), calc((100% - 1168px) / 2)); }
.mk-hours > * { min-width: 0; }
.mk-hours .is-style-mk-leaf { margin-bottom: 20px; }
.mk-links { display: flex; flex-direction: column; gap: 14px; justify-content: center; height: 100%; }
.mk-ext { margin: 0 !important; }
.mk-ext a { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 18px 24px; color: var(--ink); text-decoration: none; font-size: 15px; font-weight: 400; transition: border-color .3s ease; }
.mk-ext a:hover { border-color: var(--green); }
.mk-ext a::after { content: ''; flex: none; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234e9a48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ===================== 下層ページ ===================== */
.page-head { position: relative; overflow: hidden; background: var(--mint); padding: 64px var(--gutter) 56px; }
.page-head::after { content: ''; position: absolute; right: var(--gutter); top: 50%; width: 180px; height: 180px; border-radius: 0 90px 0 90px; background: rgba(119,188,113,.13); transform: translateY(-50%); pointer-events: none; }
.page-head-inner { position: relative; z-index: 1; max-width: 960px; margin: 0 auto; }
.page-head-en { margin: 0 0 8px; font-family: var(--font-head); font-size: 13px; letter-spacing: .3em; color: var(--link); line-height: 1.6; }
.page-head-title { margin: 0; display: flex; align-items: center; gap: 14px; font: 500 32px/1.5 var(--font-head); letter-spacing: .06em; }
.page-head-lead { margin: 14px 0 0; max-width: 40em; font-size: 15px; line-height: 1.9; color: var(--muted); }
.page-head--pro { background: var(--aqua); }
.page-head--pro::after { background: rgba(151,202,208,.22); }
.page-head--pro .page-head-en { color: #4d8f97; }
.page-head--pro .leaf { background: #97cad0; }

.lp { box-sizing: border-box; max-width: calc(960px + var(--gutter) * 2); margin: 0 auto; padding: var(--section-space) var(--gutter); }
/* 何もスタイルを選んでいない見出し（プライバシーポリシーなど）。置き場所を問わず効く＝編集画面でも同じ（10/30 リタさん「H2 の左の緑の線が編集画面ではない」）。
   :where で強さを 0 にしてあるので、札の中の見出し（.mk-concern h3 など）の指定が勝つ */
:where(h2.wp-block-heading:not([class*="mk-"])) { margin: 2em 0 .8em; padding-left: 14px; border-left: 5px solid var(--green); font: 500 22px/1.5 var(--font-head); }
:where(h3.wp-block-heading:not([class*="mk-"])) { margin: 1.6em 0 .6em; font: 500 18px/1.5 var(--font-head); }
.lp > :first-child { margin-top: 0; }

/* サービスの節（アイコン＋見出し＋本文） */
.mk-sec { scroll-margin-top: 80px; }
.mk-sec + .mk-sec, .mk-sec + .is-style-mk-switch { margin-top: 64px; }
.mk-sec-head { margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--ink); }
.mk-sec-head { display: flex; align-items: center; gap: 16px; }
.mk-sec-icon img { display: block; width: 56px !important; height: 56px !important; object-fit: contain; }
.mk-sec-title { margin: 0; font: 500 24px/1.5 var(--font-head); letter-spacing: .06em; scroll-margin-top: 80px; }

/* 研修会の一覧（お知らせの一覧ブロック） */
.mk-posts ul.wp-block-post-template { list-style: none; margin: 24px 0 14px; padding: 0; border-top: 1px solid var(--line); }
.mk-posts li.wp-block-post { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.mk-posts .wp-block-post-date { font-family: var(--font-head); font-size: 14px; color: #5c665c; }
.mk-posts .wp-block-post-title { margin: 0; font-size: 16px; font-weight: 300; line-height: 1.9; }
.mk-posts .wp-block-post-title a { color: var(--ink); text-decoration: none; }
.mk-posts .wp-block-post-title a:hover { color: var(--link); }
.mk-posts + .is-style-mk-more a { font-size: 14px; }

/* ご利用の流れ: 葉の形の番号と縦の線 */
.mk-step { position: relative; padding-bottom: 48px; }
.mk-step:last-child { padding-bottom: 0; }
.mk-step { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 32px; }
.mk-step::before { content: ''; position: absolute; left: 47px; top: 104px; bottom: 8px; width: 2px; background: var(--line); }
.mk-step:last-child::before { display: none; }
.mk-step-no { margin: 0 !important; width: 96px; height: 96px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--green); color: #fff; border-radius: 0 48px 0 48px; font-family: var(--font-head); font-size: 12px; letter-spacing: .2em; line-height: 1.2; text-align: center; }
.mk-step-no br { display: none; }
.mk-step-no strong { display: block; font-size: 32px; font-weight: 500; letter-spacing: 0; }
.mk-step-body { padding-top: 16px; min-width: 0; }
.mk-step-title { margin: 0 0 10px; font: 500 22px/1.5 var(--font-head); letter-spacing: .04em; }
.mk-step-body p:last-child { margin-bottom: 0; }
.mk-steps + .is-style-mk-panel { margin-top: 48px; }

/* スタッフ: 顔・名前・資格が見える札（10/30「名前だけ並んでる感じ」「帯と同じ色の札がのペー」） */
.lp:has(.mk-staff-grid) { max-width: calc(1080px + var(--gutter) * 2); }
.mk-staff-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.is-style-mk-staff { padding: 28px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--green); }
.mk-staff-grid > :nth-child(4n+2), .mk-staff-grid > :nth-child(4n+3) { border-top-color: #97cad0; }
.mk-staff-head { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 22px; align-items: center; }
.wp-block-image.is-style-mk-leaf-photo { overflow: hidden; border-radius: 0 40px 0 40px; background: var(--mint); }
.wp-block-image.is-style-mk-leaf-photo img { display: block; }
.mk-staff-photo { width: 112px; height: 112px; }
.mk-staff-photo img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: center 20%; } /* 画像ブロックの幅の指定（標準テーマ用）より札の形を優先 */
.mk-staff-photo.mk-staff-photo-icon img { box-sizing: border-box; padding: 10px; object-fit: contain; }
.mk-staff-name { margin: 0; font: 500 22px/1.5 var(--font-head); letter-spacing: .12em; }
.mk-staff-qual { margin: 6px 0 0 !important; font-size: 13px; line-height: 1.7; letter-spacing: .04em; color: var(--link); }
.wp-block-details.is-style-mk-profile { margin-top: 20px; border-top: 1px solid var(--line); }
.wp-block-details.is-style-mk-profile > summary { display: flex; align-items: center; justify-content: space-between; padding: 14px 0 0; cursor: pointer; list-style: none; font-size: 14px; letter-spacing: .06em; }
.wp-block-details.is-style-mk-profile > summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-mk-profile > summary::after { content: '+'; font: 300 22px/1 var(--font-body); color: var(--link); }
.wp-block-details.is-style-mk-profile[open] > summary::after { content: '−'; }
.wp-block-details.is-style-mk-profile > summary:hover { color: var(--link); }
.wp-block-details.is-style-mk-profile > p { margin: 0 0 .9em; font-size: 14px; line-height: 1.95; color: #3f4a3f; }
.wp-block-details.is-style-mk-profile > p:first-of-type { padding-top: 14px; }
.wp-block-details.is-style-mk-profile > p:last-child { margin-bottom: 0; }
.mk-staff-grid + .is-style-mk-panel { margin-top: 32px; }

/* アクセス・フォーム */
.mk-access-lead { margin: 0 0 20px !important; font: 500 20px/1.6 var(--font-head); letter-spacing: .04em; }
.mk-map { position: relative; aspect-ratio: 16 / 9; background: var(--mint); }
.mk-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mk-form iframe { display: block; width: 100%; border: 0; }
.is-style-mk-panel + .mk-form { margin-top: 32px; }

/* 下層ページの最後のお申し込みの帯（テーマの飾り） */
.lp-cta { padding: 56px var(--gutter); background: var(--mint); text-align: center; }
.lp-cta-text { margin: 0 0 20px; font-size: 15px; line-height: 1.9; }
.apply-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 34px; border-radius: 999px; text-decoration: none; font-weight: 500; font-size: 15px; letter-spacing: .1em; transition: background-color .25s ease, color .25s ease; }
.apply-button--green { background-color: var(--green); color: #fff; }
.apply-button--green:hover, .apply-button--green:focus-visible { background-color: var(--link); color: #fff; }

/* お知らせの一覧・記事 */
.post-list article { padding: 18px 0; border-bottom: 1px solid var(--line); }
.post-list time, .post-date { color: #5c665c; font-size: 14px; }
.post-list h2 { margin: 4px 0 0; font: 400 18px/1.7 var(--font-body); }
.post-list h2 a { color: var(--ink); text-decoration: none; }
.pagination { display: flex; gap: 8px; justify-content: center; padding: 24px 0; }
.pagination .page-numbers { padding: 6px 12px; border: 1px solid var(--line); }
.pagination .current { background: var(--green); color: #fff; }

/* ===================== お知らせの古い記事（Cocoon で書かれた名残）の見た目 =====================
   テーマを替えても記事の本文はそのまま。Cocoon 専用ブロックの印（クラス名）だけが残るので、ここで描く。
   対象: 開閉ボックス（toggle-box）・枠付きの段落（has-border）・講師紹介の箱（profile-box）・丸数字のリスト（numeric-list-enclosed）・太字と蛍光ペン（span.bold / span.marker）・文字の大きさ（fz-NNpx）・埋め込みフォーム（iframe）。11/2 */
.entry h2.wp-block-heading:not([class*="is-style-mk"]) { margin: 40px 0 20px; padding-bottom: 12px; border-bottom: 1px solid var(--ink); font: 500 22px/1.5 var(--font-head); letter-spacing: .06em; }
.entry h3.wp-block-heading:not([class*="is-style-mk"]) { margin: 32px 0 16px; font: 500 19px/1.6 var(--font-head); letter-spacing: .04em; }
.bold { font-weight: 500; }
.marker { background: linear-gradient(transparent 55%, var(--lime) 55%); }
.fz-28px { font-size: 22px; line-height: 1.6; }
.fz-36px { font-size: 28px; line-height: 1.5; }
.fz-40px { font-size: 30px; line-height: 1.5; }
.entry iframe { max-width: 100%; }
/* 枠付きの段落 */
p.has-border { margin: 0 0 20px; padding: 20px 24px; border: 1px solid var(--line); background: #fff; }
p.is-style-border-convex { background: var(--mint); border-color: transparent; }
p.is-style-border-thin-and-thick, p.is-style-mk-box-double { margin: 0 0 20px; padding: 20px 24px; border: 1px solid var(--ink); outline: 4px double var(--line); outline-offset: 3px; background: #fff; }
/* 講師紹介の箱 */
p.has-box-style, p.is-style-profile-box { margin: 0 0 24px; padding: 24px 28px; background: var(--aqua); }
.bold-red { color: #c0392b; font-weight: 500; }
/* 新しい記事用の箱（段落のスタイル「枠の箱」。見た目は上の名残と同じ） */
p.is-style-mk-box-mint { margin: 0 0 20px; padding: 20px 24px; background: var(--mint); }
p.is-style-mk-box-aqua { margin: 0 0 24px; padding: 24px 28px; background: var(--aqua); }
/* 注意の箱（赤）: 左に「!」の印。文字は本文の色のまま、太字（Ctrl+B）にした所だけ赤になる */
p.is-style-mk-box-alert { position: relative; margin: 0 0 24px; padding: 20px 24px 20px 72px; background: #fdf3f2; border: 1px solid #f2cfcb; color: var(--ink); }
p.is-style-mk-box-alert::before { content: '!'; position: absolute; left: 24px; top: 20px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; background: #d9534f; color: #fff; border-radius: 0 16px 0 16px; font: 700 18px/1 var(--font-head); }
p.is-style-mk-box-alert strong, p.is-style-mk-box-alert .bold { color: #c0392b; font-weight: 500; }
/* 丸数字のリスト */
ol.is-style-numeric-list-enclosed, ol.is-style-mk-numbered { list-style: none; counter-reset: mk-num; margin: 0 0 24px; padding: 0; }
ol.is-style-numeric-list-enclosed > li, ol.is-style-mk-numbered > li { position: relative; padding-left: 44px; margin: 0 0 12px; counter-increment: mk-num; }
ol.is-style-numeric-list-enclosed > li::before, ol.is-style-mk-numbered > li::before { content: counter(mk-num); position: absolute; left: 0; top: .35em; width: 28px; height: 28px; border-radius: 0 14px 0 14px; background: var(--green); color: #fff; font: 500 14px/28px var(--font-head); text-align: center; }
/* 開閉ボックス（新しい記事用: 「詳細」ブロック＋スタイル「開閉ボックス」。ひな形「開閉ボックスを 1 つ」。11/2） */
.wp-block-details.is-style-mk-toggle { margin: 0 0 12px; border: 1px solid var(--line); background: #fff; }
.wp-block-details.is-style-mk-toggle > summary { position: relative; display: block; padding: 16px 52px 16px 24px; cursor: pointer; list-style: none; font: 500 16px/1.7 var(--font-head); }
.wp-block-details.is-style-mk-toggle > summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-mk-toggle > summary::after { content: ''; position: absolute; right: 22px; top: 50%; width: 10px; height: 10px; border-right: 1.5px solid var(--ink); border-bottom: 1.5px solid var(--ink); transform: translateY(-70%) rotate(45deg); transition: transform .25s ease; }
.wp-block-details.is-style-mk-toggle[open] > summary::after { transform: translateY(-20%) rotate(225deg); }
.wp-block-details.is-style-mk-toggle > summary:hover { color: var(--link); }
.wp-block-details.is-style-mk-toggle > :not(summary) { margin: 0 24px !important; font-size: 15px; }
.wp-block-details.is-style-mk-toggle > :not(summary):first-of-type { padding-top: 14px; border-top: 1px solid var(--line); }
.wp-block-details.is-style-mk-toggle > :not(summary) + :not(summary) { padding-top: 12px; }
.wp-block-details.is-style-mk-toggle > :not(summary):last-child { padding-bottom: 16px; }
.wp-block-details.is-style-mk-toggle + .wp-block-details.is-style-mk-toggle { margin-top: -1px; }
/* 開閉ボックス（Cocoon の toggle-box の名残: チェックボックス＋見出し＋中身。JS 無しで開閉する） */
.toggle-wrap { margin: 0 0 12px; border: 1px solid var(--line); background: #fff; }
.toggle-wrap .toggle-checkbox { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }
.toggle-wrap .toggle-button { position: relative; display: block; margin: 0; padding: 16px 52px 16px 24px; cursor: pointer; font: 500 16px/1.7 var(--font-head); }
.toggle-wrap .toggle-button::after { content: ''; position: absolute; right: 22px; top: 50%; width: 10px; height: 10px; border-right: 1.5px solid var(--ink); border-bottom: 1.5px solid var(--ink); transform: translateY(-70%) rotate(45deg); transition: transform .25s ease; }
.toggle-wrap .toggle-checkbox:focus-visible + .toggle-button { outline: 2px solid var(--link); outline-offset: -2px; }
.toggle-wrap .toggle-content { display: none; padding: 4px 24px 16px; border-top: 1px solid var(--line); font-size: 15px; }
.toggle-wrap .toggle-checkbox:checked ~ .toggle-content { display: block; }
.toggle-wrap .toggle-checkbox:checked + .toggle-button::after { transform: translateY(-20%) rotate(225deg); }
.toggle-wrap .toggle-content > :first-child { margin-top: 12px; }
.toggle-wrap .toggle-content p:last-child { margin-bottom: 0; }
.toggle-wrap + .toggle-wrap { margin-top: -1px; }

/* ===================== 浮かび上がる動き（JS があるときだけ） ===================== */
.reveal-ready { transition: opacity .8s ease-out var(--reveal-delay, 160ms), transform .8s ease-out var(--reveal-delay, 160ms), background-color .3s ease, border-color .3s ease, box-shadow .3s ease; }
.reveal-pending { opacity: 0; transform: translateY(20px); }
.reveal-ready.is-revealed { opacity: 1; transform: none; }

/* ===================== 幅ごとの調整 ===================== */
@media (max-width: 1100px) {
  :root { --gutter: 40px; }
  .site-header { flex-wrap: wrap; gap: 16px; padding: 0 24px; }
  .site-header-a1 { flex: 1; min-width: 0; }
  .site-header-img1 { max-width: 100%; height: auto; max-height: 44px; }
  .primary-nav { width: 100%; }
  .menu-ready .primary-nav { position: absolute; top: 100%; left: 0; right: 0; box-sizing: border-box; padding: 12px 24px 24px; background: #fff; color: var(--ink); border-bottom: 1px solid var(--line); display: none; order: 3; max-height: calc(100dvh - 125px); overflow-y: auto; }
  .menu-ready .site-header.menu-open .primary-nav { display: block; }
  .menu-ready .menu-toggle { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; flex: none; }
  .menu-toggle span { width: 24px; height: 2px; background: currentColor; transition: transform .25s ease, opacity .25s ease; }
  .menu-open .menu-toggle span:first-child { transform: translateY(7px) rotate(45deg); }
  .menu-open .menu-toggle span:nth-child(2) { opacity: 0; }
  .menu-open .menu-toggle span:last-child { transform: translateY(-7px) rotate(-45deg); }
  .primary-menu { flex-direction: column; align-items: stretch; gap: 0; }
  .primary-menu a { display: block; padding: 10px 0; }
  html:not(.menu-ready) .site-header { position: relative; top: auto; height: auto; padding: 16px 24px; flex-wrap: wrap; }
  html:not(.menu-ready) .primary-menu { flex-direction: row; flex-wrap: wrap; gap: 4px 20px; }
  html:not(.menu-ready) .site-header + main { padding-top: 0; }
  .is-style-mk-door, .is-style-mk-door-pro { padding: 32px 28px 30px; }
  .mk-doors { gap: 20px; }
}
@media (max-width: 860px) {
  .mk-doors { grid-template-columns: minmax(0, 1fr); }
  .mk-staff-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}
@media (max-width: 700px) {
  :root { --section-space: 48px; --gutter: 24px; }
  .sp-only { display: inline; }
  .mk-hero { height: clamp(500px, 78vh, 680px); }
  .mk-hero::after { height: 140px; }
  .mk-hero-content { padding: 0 24px 112px; }
  .mk-hero-title { font-size: clamp(32px, 9.5vw, 48px); }
  .mk-hero-tagline { font-size: 13px; }
  .mk-hero-content .wp-block-buttons { flex-wrap: wrap; }
  .hero-dot { width: 20px; }
  .mk-news { padding: 56px 24px var(--section-space); }
  .mk-news { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .mk-news-latest .wp-block-post-title { font-size: 24px; }
  .mk-newsbox { max-height: 280px; min-height: 0; }
  .mk-newsbox > .wp-block-query { position: static; }
  .mk-newsbox li.wp-block-post { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .is-style-mk-door, .is-style-mk-door-pro { padding: 28px 20px; }
  .mk-door-title { font-size: 23px; }
  .is-style-mk-item { padding: 16px; }
  .is-style-mk-item { grid-template-columns: 56px minmax(0, 1fr); gap: 14px; }
  .mk-item-icon img { width: 56px !important; height: 56px !important; }
  .mk-item-name strong { font-size: 17px; }
  .mk-greeting { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .mk-concerns-grid { grid-template-columns: minmax(0, 1fr); }
  .mk-hours { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .wp-block-heading.is-style-mk-leaf { font-size: 23px; }
  .wp-block-table.is-style-mk-hours table { min-width: 400px; font-size: 13px; }
  .wp-block-table.is-style-mk-hours th, .wp-block-table.is-style-mk-hours td { padding: 8px 3px; }
  .wp-block-table.is-style-mk-hours tbody td:first-child { padding: 8px 6px; font-size: 12px; }
  .site-footer-img1 { height: auto; max-height: 40px; }
  .footer-nav { width: 100%; }
  .footer-menu { gap: 10px 20px; font-size: 13px; }
  .page-head { padding: 44px 24px 40px; }
  .page-head::after { width: 110px; height: 110px; right: -20px; border-radius: 0 55px 0 55px; }
  .page-head-title { font-size: 25px; }
  .page-head-lead { font-size: 14px; }
  .lp { padding: var(--section-space) 24px; }
  .mk-sec + .mk-sec, .mk-sec + .is-style-mk-switch { margin-top: 48px; }
  .mk-sec-title { font-size: 20px; }
  .mk-sec-icon img { width: 44px !important; height: 44px !important; }
  .wp-block-table.is-style-mk-spec td { display: block; width: auto !important; padding: 12px 0; }
  .wp-block-table.is-style-mk-spec td:first-child { padding-bottom: 0; border-bottom: 0; }
  .is-style-mk-switch, .is-style-mk-net { margin-top: 48px; padding: 28px 20px; }
  .mk-posts li.wp-block-post { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .mk-step { padding-bottom: 36px; }
  .mk-step { grid-template-columns: 64px minmax(0, 1fr); gap: 18px; }
  .mk-step::before { left: 31px; top: 72px; }
  .mk-step-no { width: 64px; height: 64px; border-radius: 0 32px 0 32px; font-size: 10px; letter-spacing: .12em; }
  .mk-step-no strong { font-size: 24px; }
  .mk-step-body { padding-top: 6px; }
  .mk-step-title { font-size: 19px; }
  .mk-faq-list { gap: 12px; }
  .wp-block-details.is-style-mk-faq > summary { padding: 16px 44px 16px 58px; font-size: 15.5px; }
  .wp-block-details.is-style-mk-faq > summary::before { left: 16px; top: 16px; width: 30px; height: 30px; font-size: 14px; border-radius: 0 15px 0 15px; }
  .wp-block-details.is-style-mk-faq > summary::after { right: 16px; }
  .wp-block-details.is-style-mk-faq > :not(summary) { margin: 0 16px !important; padding-left: 42px; font-size: 14.5px; }
  .wp-block-details.is-style-mk-faq > p:first-of-type::before { width: 30px; height: 30px; font-size: 14px; border-radius: 0 15px 0 15px; top: 14px; }
  .wp-block-details.is-style-mk-faq > :not(summary):first-of-type { padding-top: 14px; }
  .wp-block-details.is-style-mk-faq > :not(summary):last-child { padding-bottom: 18px; }
  .is-style-mk-staff { padding: 22px 20px; }
  .mk-staff-head { grid-template-columns: 88px minmax(0, 1fr); gap: 16px; }
  .mk-staff-photo { width: 88px; height: 88px; }
  .wp-block-image.is-style-mk-leaf-photo { border-radius: 0 32px 0 32px; }
  .mk-staff-photo.mk-staff-photo-icon img { padding: 8px; }
  .mk-staff-name { font-size: 19px; }
  .lp-cta { padding: 48px 24px; }
  .fz-28px { font-size: 19px; }
  .fz-36px { font-size: 22px; }
  .fz-40px { font-size: 23px; }
  p.has-border, p.is-style-mk-box-double { padding: 16px 18px; }
  p.has-box-style, p.is-style-profile-box, p.is-style-mk-box-aqua { padding: 20px 18px; }
  p.is-style-mk-box-mint { padding: 16px 18px; }
  p.is-style-mk-box-alert { padding: 16px 18px 16px 58px; }
  p.is-style-mk-box-alert::before { left: 16px; top: 16px; width: 28px; height: 28px; border-radius: 0 14px 0 14px; font-size: 16px; }
  .toggle-wrap .toggle-button { padding: 14px 44px 14px 18px; font-size: 15px; }
  .toggle-wrap .toggle-content { padding: 4px 18px 14px; }
  .wp-block-details.is-style-mk-toggle > summary { padding: 14px 44px 14px 18px; font-size: 15px; }
  .wp-block-details.is-style-mk-toggle > :not(summary) { margin: 0 18px !important; }
}
@media (max-width: 600px) {
  body.admin-bar #wpadminbar { position: fixed; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal-pending { opacity: 1; transform: none; }
}
