/* ============================================================
   ミニマル社長 静的版｜サイト全体のCSS（自前）
   ------------------------------------------------------------
   現行（WordPress 6.9＋Emanon Premium 1.9.9.3＋Emanon Premium Blocks 1.5.0）の描画を
   計測した値（算出スタイル）で再現したもの。テーマ・プラグインのCSSはコピーしていない。
   ★「0. 当サイトの独自CSS」だけは当社が書いた追加CSS（WordPress の追加CSS・Simple Custom CSS）をそのまま持ってきた。
   ブレークポイント：〜599 スマホ／600〜959 タブレット／960〜 PC（1200〜 で本文幅1180）
   ============================================================ */

/* ---------- 0-1. 当社が「Simple Custom CSS」に書いていたもの（そのまま）。★現行ではテーマより先に読まれていた＝ここに置く（入力欄の色・余白はテーマが上書きする） ---------- */
span.hissu{
    font-weight: 700;
    background: #e44e4e;
    color: #fff;
    font-size: 10px;
    padding: 4px 5px 4px 7px;
    border-radius: 4px;
    margin-right: 10px;
    vertical-align: baseline;
}
span.nini{
    font-weight: 700;
    background: #ccc;
    color: #fff;
    font-size: 10px;
    padding: 4px 5px 4px 7px;
    border-radius: 4px;
    margin-right: 10px;
    vertical-align: baseline;
}
.form-mw p{
	margin-bottom:1em!important;
}
.mw-contact-form input{
	width:100%;
}
.mw-contact-form textarea{
	width:100%;
}
input[type="text"],input[type="tel"],textarea, input[type="email"] {
    border: none;
    background:#eeeff4;
    padding: 0.7em;
	margin-bottom:1rem;
	margin-top:0.5em;
}
.form-mw select{
    border: none;
    background:#eeeff4;
	margin-bottom:1rem;
	margin-top:0.5em;
}
.mwform-radio-field{
	margin-top:10px;
}

/* ---------- 1. ベース ---------- */
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; box-sizing: border-box; }
article, header, footer, aside, figure, figcaption, nav, section { display: block; }
ol:not(.wp-block-list), ul:not(.wp-block-list) { list-style: none; }
figure { margin: 0; }
table { border-collapse: collapse; border-spacing: 0; }
td, th { word-break: break-all; }
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; letter-spacing: 0.05em; scroll-behavior: smooth; }
body {
  margin: 0; word-wrap: break-word; overflow-wrap: break-word; line-height: 1.6; background-color: #fff;
  font-family: "Noto Sans JP", sans-serif; font-size: 1rem; font-weight: normal; font-variant-ligatures: none; color: #333;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-text-size-adjust: 100%; overflow-x: clip;
}
h1, h2, h3, h4, h5, h6 { font-family: "Noto Sans JP", sans-serif; font-weight: bold; clear: both; margin: 0; }
h1 { font-size: 1.6rem; }
h2 { font-size: 1.33333rem; }
h3, h4 { font-size: 1.14286rem; }
h5, h6 { font-size: 1rem; }
b, strong { font-weight: bold; }
em, cite { font-style: italic; }
hr { height: 2px; border: 0; background-color: #e5e7e8; }
img { height: auto; max-width: 100%; vertical-align: middle; }
small { font-size: 0.72727rem; }
iframe { vertical-align: bottom; }
blockquote { position: relative; display: block; margin: 0; padding: 24px 32px; line-height: 1.8; font-size: 0.88889rem; }
blockquote > * { margin-top: 16px; }
blockquote > :first-child { margin-top: 0; }
blockquote cite { display: block; margin-top: 16px; font-size: 0.8rem; color: #484848; }
table th { padding: 8px 12px; background-color: #fafafa; border: 1px solid #b8bcc0; vertical-align: middle; font-weight: bold; }
table td { padding: 8px 12px; vertical-align: middle; border: 1px solid #b8bcc0; }
a { color: #004e8e; text-decoration: none; }
a:hover, a:active { color: #828990; transition: all 0.3s ease; outline-width: 0; }
label { cursor: pointer; }
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], textarea {
  -webkit-appearance: none; appearance: none; padding: 6px 12px; width: 100%; border-radius: 3px; background-color: #fff; border: 1px solid #b8bcc0;
  transition: all 0.2s ease-in; letter-spacing: 0.04em; font-family: inherit; font-size: 1rem;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="search"]:focus, textarea:focus { outline: 0; border: 1px solid #828990; }
input[type="radio"], input[type="checkbox"] { margin-right: 8px; }
input[type="button"], input[type="submit"] {
  position: relative; display: inline-block; padding: 6px 32px; border: none; border-radius: 0; text-align: center; letter-spacing: 0.04em; font-family: inherit; font-size: 0.88889rem;
  overflow: hidden; cursor: pointer; transition: all 0.3s ease; -webkit-appearance: button; appearance: button; background-color: #bc4061; color: #fff; text-decoration: none;
}
input[type="button"]:hover, input[type="submit"]:hover { transform: translateY(4px); box-shadow: 0 2px 12px 0 rgb(0 0 0 / 0.1); background-color: #a5a5a5; border-color: #a5a5a5; }
button { position: relative; border: 1px solid transparent; border-radius: 0; cursor: pointer; transition: all 0.3s ease; letter-spacing: 0.04em; font-family: inherit; font-size: 0.88889rem; text-transform: none; -webkit-appearance: button; appearance: button; background-color: #bc4061; color: #fff; }
button:hover { background-color: #a5a5a5; border-color: #a5a5a5; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; word-wrap: normal !important; }

/* ---------- 2. レイアウト ---------- */
.l-container { position: relative; display: flex; flex-direction: column; min-height: 100vh; }
.l-contents { flex: 1 0 auto; }
.l-content, .l-content__fluid { position: relative; margin: auto; width: calc(100% - 32px); }
.l-header .l-content, .l-header .l-content__fluid { width: 100%; }
.l-content__inner { margin-top: 16px; margin-bottom: 32px; }
.u-row { display: flex; }
.u-row-wrap { flex-wrap: wrap; }
.u-row-item-center { align-items: center; }
.u-row-cont-between { justify-content: space-between; }
.u-row-cont-center { justify-content: center; }
.u-row-cont-end { justify-content: flex-end; }
.u-row-dir { flex-direction: row; }
.u-row-dir-reverse { flex-direction: row-reverse; }
.u-row-dir-column { flex-direction: column; }
.u-row.one-col, .u-row.two-r-col { flex-direction: column; }
.two-r-col .l-content__main { width: 100%; }
.wrapper-column { width: 100%; }
.wrapper-column.has-sp-column { width: calc(100% + 12px); }
[class^="column-"], [class*=" column-"] { width: 100%; }
@media screen and (min-width: 600px) {
  .l-content__inner { margin-top: 40px; margin-bottom: 64px; }
  .wrapper-column, .wrapper-column.has-sp-column { width: calc(100% + 24px); }
  .column-4 { margin-right: 24px; width: calc(33.333% - 24px); }
  .column-5 { margin-right: 24px; width: calc(41.667% - 24px); }
  .column-7 { margin-right: 24px; width: calc(58.333% - 24px); }
}
@media screen and (min-width: 768px) { .l-content { width: calc(768px - 32px); } }
@media screen and (min-width: 960px) {
  .l-content { width: calc(960px - 32px); }
  .u-row.two-r-col { flex-direction: row; }
  .two-r-col .l-content__main { padding-right: 32px; width: calc(100% - 250px); }
}
@media screen and (min-width: 1200px) {
  .l-content { width: calc(1212px - 32px); }
  .one-col .l-content__main { margin-left: auto; margin-right: auto; width: 1180px; }
  .two-r-col .l-content__main { padding-right: 80px; }
}
.u-display-none { display: none; }
.u-display-sp { display: block; }
.u-display-tablet { display: block; }
.u-display-flex-tablet { display: flex; }
.u-display-pc { display: none; }
@media screen and (min-width: 600px) { .u-display-sp { display: none; } }
@media screen and (min-width: 960px) {
  .u-display-tablet, .u-display-flex-tablet { display: none; }
  .u-display-pc { display: block; }
}
.c-section-widget { position: relative; z-index: 1; }
.c-section-widget__inner { position: relative; }
.l-content-widget { position: relative; margin: auto; width: calc(100% - 32px); }
@media screen and (min-width: 1200px) { .c-section-widget__inner .l-content-widget { width: 1180px; } }

/* ---------- 3. ヘッダー（ロゴ左・メニュー右の横並び） ---------- */
.l-header { position: relative; z-index: 200; }
.l-header-row { background-color: #fff; }
.l-header__inner { position: relative; display: grid; align-items: center; height: 60px; }
.l-header__inner:has(> :nth-child(2):last-child) { grid-template-columns: 1fr auto; }
.l-header__inner:has(> :nth-child(3):last-child) { grid-template-columns: 2fr auto auto; }
.l-header__inner:has(> :nth-child(4):last-child) { grid-template-columns: 3fr auto auto auto; }
@media (max-width: 959px) {
  .l-header__inner { padding-left: 16px; padding-right: 16px; }
  .l-header__inner.has-hamburger-menu-left-sp:has(> :nth-child(2):last-child) { grid-template-columns: auto 1fr; }
  .l-header__inner.has-hamburger-menu-left-sp:has(> :nth-child(3):last-child) { grid-template-columns: auto 2fr auto; }
  .l-header__inner.has-hamburger-menu-left-sp:has(> :nth-child(4):last-child) { grid-template-columns: auto 3fr auto auto; }
}
@media screen and (min-width: 600px) {
  .l-header__inner { height: 86px; overflow: visible; }
  .l-header__inner.header-drop-logo__inner { height: 64px; }
}
@media screen and (min-width: 960px) {
  .l-content__fluid .l-header__inner { padding-left: 24px; padding-right: 24px; }
  .l-content__fluid .l-header__inner.has-menu-background-color { padding-left: 24px; padding-right: 0; }
}
.header-site-branding { width: 100%; height: 60px; }
.header-site-branding_inner { display: flex; flex-direction: column; justify-content: center; height: 100%; }
.site-logo { display: flex; flex-direction: column; vertical-align: middle; font-size: inherit; width: fit-content; margin: 0; }
.site-logo .site-logo__img-sp, .site-logo .site-logo__img-common { height: 40px; width: auto; }
.l-header-menu-drop-logo .site-logo__img-common { height: 32px; }   /* ★600px〜は下の 60px が勝つ（現行どおり） */
.header-site-branding__link { display: flex; }
@media screen and (max-width: 599px) {
  .l-header__inner[data-emp-site-branding-sp="is-center"] .header-site-branding_inner { position: absolute; left: 50%; transform: translate(-50%); text-align: center; width: max-content; }
  .site-logo__img-common.has-logo-sp { display: none; }
  .has-hamburger-menu-left-sp .hamburger-menu-content { order: -1; }
}
@media screen and (min-width: 600px) {
  .site-logo__img-sp { display: none; }
  .site-logo .site-logo__img-common { height: 60px; width: auto; }
}
/* ハンバーガー（〜959px） */
.hamburger-menu-content { align-items: center; justify-content: center; height: 100%; width: 100%; }
.has-hamburger-menu-left-sp .hamburger-menu-content { padding-right: 12px; }
@media screen and (min-width: 600px) { .has-hamburger-menu-left-sp .hamburger-menu-content { padding-right: 24px; } }
.hamburger-menu { box-sizing: border-box; padding: 0; border: none; outline: none; border-radius: 0; background-color: unset; line-height: 1.2; text-align: center; cursor: pointer; }
.hamburger-menu:hover { border: none; background-color: unset; }
.hamburger-menu-label { margin-top: 2px; line-height: 1; text-align: center; letter-spacing: 0.04em; font-size: 0.72727rem; transform: scale(0.9); color: #0a0a0a; }
.hamburger-menu-trigger, .hamburger-menu-trigger span { display: inline-block; box-sizing: border-box; }
.hamburger-menu-trigger { position: relative; width: 26px; height: 18px; }
.hamburger-menu-trigger span { position: absolute; left: 0; width: 100%; height: 1px; border-radius: 3px; background-color: #0a0a0a; }
.hamburger-menu-trigger span:nth-of-type(1) { top: 0; transition: all 0.3s ease; }
.hamburger-menu-trigger span:nth-of-type(2) { top: 8px; }
.hamburger-menu-trigger span:nth-of-type(3) { bottom: 0; transition: all 0.3s ease; }
.hamburger-menu:hover .hamburger-menu-trigger span:nth-of-type(1) { transform: translateY(2px); }
.hamburger-menu:hover .hamburger-menu-trigger span:nth-of-type(3) { transform: translateY(-2px); }
.hamburger-menu:hover .hamburger-menu-trigger span { background-color: #a5a5a5; }
.hamburger-menu:hover .hamburger-menu-label { color: #a5a5a5; }
@media screen and (max-width: 599px) { .has-menu .hamburger-menu-trigger { top: -4px; } }
/* グローバルナビ（PC） */
.header-menu-row { background-color: rgb(255 255 255 / 0.91); }
.header-menu { font-family: "Noto Sans JP", sans-serif; font-weight: bold; }
.header-menu > .menu-item { position: relative; display: flex; justify-content: center; align-items: center; }
.header-menu > .menu-item > a {
  position: relative; display: flex; flex-direction: column; justify-content: center; text-align: center; letter-spacing: 0.04em; white-space: nowrap;
  text-decoration: none; width: 100%; font-size: 0.88889rem; color: #1e293b;
}
.header-menu > .menu-item:hover > a, .header-menu > .menu-item.current-menu-item > a { color: #9ca3af; }
.header-menu > .menu-item > a span { position: relative; display: inline-block; }
.header-menu-row .header-menu > .menu-item > a { padding-right: 16px; padding-left: 16px; height: 86px; }
.header-menu-row .header-menu > .menu-item:first-child > a { padding-left: 24px; }
/* ホバーで下線が伸びる（is_style_hover_bottom） */
.header_menu_hover_expansion .header-menu > .menu-item > a span::after { display: block; content: ""; position: absolute; left: 10%; bottom: -8px; width: 80%; height: 1px; background-color: #9ca3af; transform: scale(0, 1); transition: 0.3s cubic-bezier(0.13, 0.61, 0.26, 0.94); }
.header_menu_hover_expansion.is_style_hover_bottom .header-menu > .menu-item > a span::after { bottom: -18px; }
.header_menu_hover_expansion .header-menu > .menu-item:hover > a span::after { transform: scale(1, 1); }
/* 右上の問い合わせボタン（スマホだけ） */
.header-cta { position: relative; }
.header-cta .header-cta__inner { display: flex; align-items: center; column-gap: 12px; }
.header-cta__item { min-width: 20px; width: max-content; text-align: center; }
.header-cta__item a { display: flex; justify-content: center; align-items: center; height: 100%; letter-spacing: 0.04em; text-decoration: none; }
.header-cta__item [class*="switch-"] { color: #0a0808; }
.header-cta__item [class*="icon-"] { font-size: 1rem; }
@media screen and (max-width: 599px) {
  .header-cta.is-button-circle-background-color .header-cta__item { border-radius: 50%; width: 48px; height: 48px; transition: all 0.3s ease; background-color: #1d2c43; }
  .header-cta.is-button-circle-background-color .header-cta__item a { color: #fff; }
  .header-cta.is-button-circle-background-color .header-cta__item:hover { background-color: #a5a5a5; }
}
.header-panel { width: 100%; }
.header-contact { display: none; position: absolute; right: 0; left: 0; padding: 24px 16px; box-shadow: 0 1px 1px rgb(0 0 0 / 0.1); z-index: 400; background-color: #0a0a0a; }
.header-contact__inner { text-align: center; color: #fff; }
/* スクロールを戻したときに上に出る追従メニュー（PC） */
.l-header-menu-drop-logo { position: fixed; top: 0; right: 0; left: 0; transform: translateY(-100%); transition: transform 0.4s ease; z-index: 997; background-color: #fff; }
.l-header-menu-drop-logo.sticky-menu { transform: translateY(0); box-shadow: 0 1px 3px rgb(0 0 0 / 0.1); }
.l-header-menu-drop-logo__inner .header-menu > .menu-item a { padding-right: 8px; padding-left: 8px; height: 64px; }
.l-header-menu-drop-logo__inner .header-cta { display: flex; align-items: center; height: 64px; }
@media screen and (min-width: 1200px) { .l-header-menu-drop-logo__inner .header-menu > .menu-item a { padding-right: 12px; padding-left: 12px; } }
.l-header-menu-drop-logo__inner .header-menu > .menu-item:last-child a { padding-right: 0; }

/* ---------- 4. ドロワー・追従ボタン・ページトップ ---------- */
body.is-drawer-open { height: 100vh; overflow: hidden; touch-action: none; }
.drawer-menu { position: fixed; top: 0; bottom: 0; height: 100%; width: 90vw; background-color: #fff; transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1); overflow-y: scroll; z-index: 998; }
.drawer-menu.drawer-left { left: 0; }
.drawer-menu.is-slide { transform: translateX(-100%); }
@media screen and (min-width: 600px) { .drawer-menu { width: 368px; } }
.drawer-menu.is-slide.is-active { transform: translateX(0); }
.drawer-menu__inner { padding: 12px 16px 24px; overflow-x: hidden; }
.hamburger-close-menu { margin-bottom: 32px; margin-right: auto; margin-left: auto; width: 32px; height: 32px; cursor: pointer; }
.hamburger-close-line { position: relative; width: 100%; height: auto; background-color: inherit; border: none; outline: none; appearance: none; padding: 7px 6px; cursor: pointer; }
.hamburger-close-line:hover { border: none; background-color: inherit; }
.hamburger-close-line span { position: absolute; display: inline-block; box-sizing: border-box; left: 0; width: 100%; height: 1px; border-radius: 3px; transition: 0.3s cubic-bezier(0, 0.6, 0.99, 1); background-color: #bc4061; }
.hamburger-close-line span:nth-of-type(1) { top: 0; }
.hamburger-close-line span:nth-of-type(2) { top: 8px; }
.hamburger-close-line span:nth-of-type(3) { bottom: 0; }
.is-active .hamburger-close-line span:nth-of-type(1) { transform: translate(0, 9px) rotate(-45deg); }
.is-active .hamburger-close-line span:nth-of-type(2) { opacity: 0; }
.is-active .hamburger-close-line span:nth-of-type(3) { transform: translate(0, -4px) rotate(45deg); }
.drawer-widget__title { position: relative; margin-bottom: 24px; line-height: 1.25; letter-spacing: 0.04em; font-size: 1rem; text-align: left; }
.drawer-menu .drawer-menu__nav .menu-item { padding-left: 18px; }
.drawer-menu__inner .drawer-menu__nav .menu-item a { display: block; position: relative; line-height: 40px; transition: all 0.3s ease; text-decoration: none; color: #333; }
.drawer-menu__inner .drawer-menu__nav .menu-item a:hover { transform: translateX(4px); }
.drawer-menu .drawer-menu__nav > .menu-item a::before { content: ""; position: absolute; left: -18px; top: 50%; width: 0.8rem; height: 0.8rem; transform: translateY(-50%); background-color: #b8bcc0; -webkit-mask: var(--icon-chevron-right) center / contain no-repeat; mask: var(--icon-chevron-right) center / contain no-repeat; }
.drawer-overlay.is-slide { visibility: hidden; display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: rgb(0 0 0 / 0.6); animation: fade 0.5s ease-in 0s 1 normal forwards; cursor: pointer; z-index: 997; }
.drawer-overlay.is-slide.is-active { visibility: visible; display: block; }
@media screen and (min-width: 600px) {
  .drawer-menu__inner { padding: 32px 24px; }
}
/* 追従ハンバーガー（スクロール後に右下へ出る・現行のカスタムCSSで形を変えている） */
.hamburger-menu-floating {
  position: fixed; visibility: hidden; right: 16px; bottom: 90px; width: 61px; height: 65px; margin-bottom: calc(env(safe-area-inset-bottom) * 0.5); padding: 0; text-align: center;
  border-radius: 62% 40% 63% 37% / 38% 60% 40% 60%; border: none; outline: none; box-shadow: 0 1px 3px 1px rgb(0 0 0 / 0.08);
  transform: translateX(calc(100% + 16px)); transition: 0.2s cubic-bezier(0, 0.6, 0.99, 1); cursor: pointer; z-index: 199; background-color: #fde047;
}
.hamburger-menu-floating:hover { border: none; background-color: #fde047; }
.is-drawer-open .hamburger-menu-floating { z-index: 999; }
.hamburger-menu-floating.is-show { visibility: visible; transform: translateX(0); }
.hamburger-menu-floating span { transition: 0.3s cubic-bezier(0, 0.6, 0.99, 1); }
.hamburger-menu-floating .hamburger-menu-trigger span { background-color: #1e293b; }
.hamburger-menu-floating .hamburger-menu-label { position: absolute; right: 0; bottom: 9px; left: 0; color: #1e293b; }
.hamburger-menu-floating.is-active .hamburger-menu-trigger span:nth-of-type(1) { transform: translate(0, 9px) rotate(-45deg); }
.hamburger-menu-floating.is-active .hamburger-menu-trigger span:nth-of-type(2) { opacity: 0; }
.hamburger-menu-floating.is-active .hamburger-menu-trigger span:nth-of-type(3) { transform: translate(0, -8px) rotate(45deg); }
@media screen and (min-width: 600px) { .hamburger-menu-floating { right: 0; bottom: 80px; } }
/* ページトップ（PCのUAだけ出力される） */
.page-top-floating { position: relative; display: none; visibility: hidden; overflow: hidden; background-color: #fde047; }
.page-top-floating i { color: #fff; }
@media screen and (min-width: 600px) {
  .page-top-floating { display: table; position: fixed; right: 0; bottom: 0; width: 56px; height: 56px; text-align: center; transform: translateY(72px); cursor: pointer; transition: all 0.3s ease; z-index: 999; }
  .page-top-floating.is-show { visibility: visible; transform: translateY(0); }
  .page-top-floating i { display: table-cell; vertical-align: middle; text-align: center; font-size: 1.6rem; }
  .page-top-floating:hover { transform: translateY(-4px); box-shadow: 0 1px 8px 0 rgb(0 0 0 / 0.3); opacity: 0.9; }
}

/* ---------- 5. TOPのファーストビュー ---------- */
.main-visual { position: relative; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; }
.main-visual__layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.main-visual__background { position: relative; height: 100%; background-repeat: no-repeat; background-position: center; background-size: cover; }
.main-visual__overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.header-eyecatch { position: relative; height: 600px; }
.header-eyecatch__item { position: absolute; top: 50%; right: 16px; left: 16px; transform: translateY(-50%); z-index: 101; }
.header-eyecatch__item.is_opacity { opacity: 0; }
#js-main-visual-inner.animation { animation: 0.8s fade 0.4s linear forwards; }
.header-eyecatch-first-col { margin-bottom: 24px; }
.main-visual-inner__content { text-align: left; }
.main-visual__title { display: inline; margin: 0; padding: 0; background-color: rgb(0 0 0 / 0); -webkit-box-decoration-break: clone; box-decoration-break: clone; line-height: 1.35; letter-spacing: 0.04em; font-size: 30px; color: #1e293b; font-family: "Noto Sans JP", sans-serif; font-weight: bold; }
.main-visual__sub-title { display: block; margin-top: 20px; line-height: 1.2; letter-spacing: 0.04em; font-size: 16px; color: #5e5e5e; font-family: "Noto Sans JP", sans-serif; font-weight: normal; }
@media screen and (min-width: 600px) {
  .header-eyecatch__item { right: 0; left: 0; }
  .main-visual__title { font-size: 60px; }
  .main-visual__sub-title { font-size: 20px; }
}

/* ---------- 6. フッター（お問い合わせ帯・フッター） ---------- */
.footer-widget-section-pc { position: relative; z-index: 1; }
.l-footer { position: relative; margin-top: auto; overflow: hidden; background-color: #1e293b; color: #fff; }
.l-footer .widget { font-size: 0.88889rem; color: #fff; }
.site-copyright { position: relative; padding-top: 16px; padding-bottom: 16px; line-height: 1.5; letter-spacing: 0.04em; text-align: center; z-index: 100; background-color: #1e293b; color: #fff; }
.site-copyright a { text-decoration: none; }
.site-copyright a:hover { opacity: 0.8; }
.l-footer .site-copyright .widget { margin-top: 8px; margin-bottom: 16px; }
.l-footer a { color: #fff; }

/* ---------- 7. 記事・固定ページの本文 ---------- */
.article-header { position: relative; border-radius: 3px 3px 0 0; }
.article-header__thumbnail { position: relative; overflow: hidden; }
.article-header__thumbnail > img { width: 100%; }
.article-header__inner { position: relative; }
.featured_standard_bottom_title .article-header__inner { padding-top: 24px; }
.featured_standard_bottom_title .article-body { padding-top: 32px; }
.article-header__inner.header__full-width { padding-right: 0; padding-left: 0; }
.page .article-header__inner.page-title-center-style { padding-bottom: 32px; text-align: center; }
.article-title { line-height: 1.4; letter-spacing: 0.04em; font-size: 1.4rem; font-weight: bold; color: #333; }
.article-title__sub { display: block; line-height: 2; letter-spacing: 0.04em; font-size: 0.88889rem; font-family: "Noto Sans JP", sans-serif; font-weight: normal; color: #484848; }
@media screen and (min-width: 600px) { .article-title { font-size: 1.6rem; } }
.meta-category { margin-bottom: 8px; list-style-type: none; }
@media screen and (min-width: 600px) { .meta-category { margin-bottom: 16px; } }
.meta-category__item { display: inline-block; margin-right: 8px; margin-bottom: 4px; }
.meta-category__item:last-child { margin-right: 0; }
.meta-category a { display: block; padding: 2px 16px; border-radius: 30px; line-height: 1.5; border: solid 1px #e5e7e8; transition: all 0.3s ease; text-decoration: none; letter-spacing: 0.02em; font-size: 0.72727rem; color: #484848; }
.meta-category a:hover { border: solid 1px #828990; color: #828990; }
.meta-post { letter-spacing: 0.04em; font-size: 0.8rem; color: #484848; }
.meta-post [class^="icon-"] { margin-right: 4px; margin-left: 4px; font-size: 0.72727rem; color: #484848; }
.article-header__inner .meta-post { margin-top: 24px; }
.article-body { margin-left: auto; margin-right: auto; width: 100%; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; }
.article-body::after { display: block; clear: both; content: ""; }
.home .article-body { padding-bottom: 0; }
.article-body p { line-height: 1.8; }
.article-body > *:not([class*="wp-block-spacer"]):not(:first-child) { margin-top: 40px; }
.article-body > h1 { margin-top: 64px; }
.article-body > h2 { margin-top: 56px; }
.article-body > h3 { margin-top: 48px; }
.article-body > h4 { margin-top: 40px; }
.article-body > h5, .article-body > h6 { margin-top: 32px; }
.article-body h1, .article-body h2 { line-height: 1.6; }
.article-body h3 { line-height: 1.33333; }
.article-body h4, .article-body h5, .article-body h6 { line-height: 1.14286; }
.article-body table { width: 100%; }
.article-body iframe { display: block; max-width: 100%; margin-right: auto; margin-left: auto; }
.article-body ul:not(.wp-block-list) { padding: 0; }
.article-body .wp-block-list { line-height: 1.8; }
.article-body ol:not(.contents-outline__ol) { list-style-type: decimal; list-style-position: inside; }
.article-body .wp-block-list { padding-left: 0; margin: 0; }
.article-body .wp-block-list.has-background { padding-left: 24px; }
ol.has-background, ul.has-background { border-radius: 3px; margin-left: 0; padding: 8px 16px; }
.article-body > ol:not([class*="is-style-item__"]).has-background { padding: 16px 16px 16px 20px; border-radius: 3px; }
.wp-block-list:not([class*="is-style-item"]) { padding-left: 1.25em; }
.article-body .wp-block-list:not([class*="is-style-item"]) .wp-block-list li { padding-left: 1.25em; }
.h2-bg-color .article-body h2.wp-block-heading:not(.is-style-none) { padding: 8px 12px; background-color: #bc4061; color: #fff; }
.h3-border-bottom .article-body h3.wp-block-heading:not(.is-style-none) { padding-top: 8px; padding-bottom: 8px; border-bottom: 2px solid #bc4061; }
.h4-dashed-bottom .article-body h4.wp-block-heading:not(.is-style-none) { padding-top: 8px; padding-bottom: 8px; border-bottom: 2px dashed #bc4061; }
.is-text-decoration-none .article-body p a, .is-text-decoration-none .article-body li a { text-decoration: none; }
/* 目次 */
.toc-box { margin-bottom: 56px; padding: 16px 12px; text-align: left; border: 2px solid #eeeff0; border-radius: 3px; }
.toc-box__header { text-align: center; font-weight: bold; }
.toc-btn__switch { position: relative; display: inline-block; margin-left: 8px; width: 32px; background-color: #fff; border-radius: 8px; vertical-align: text-bottom; }
.toc-btn__switch input[type="checkbox"] { display: none; }
.toc-btn__switch label { display: block; box-sizing: border-box; height: 16px; border: 2px solid #b8bcc0; border-radius: 8px; }
.toc-btn__switch .slider { position: absolute; width: 8px; height: 8px; background-color: #b8bcc0; top: 4px; left: 4px; border-radius: 4px; transition: 0.3s; }
.toc-btn__switch.selected { background-color: #bc4061; }
.toc-btn__switch.selected label { border-color: #bc4061; }
.toc-btn__switch.selected .slider { transform: translateX(16px); background-color: #fff; }
.contents-outline { margin-top: 16px; font-size: 0.88889rem; }
.indent_2.contents-outline__ol { padding-left: 18px; list-style-type: decimal; }
.indent_3.contents-outline__ol { padding-left: 16px; padding-bottom: 6px; font-size: 0.88889rem; }
.indent_4.contents-outline__ol { padding-left: 16px; padding-bottom: 6px; font-size: 0.8rem; }
.indent_3.contents-outline__ol > .contents-outline__item, .indent_4.contents-outline__ol > .contents-outline__item { position: relative; list-style-type: decimal; }
.article-body .contents-outline__item { color: #bc4061; }
.contents-outline__item:last-child { margin-bottom: 0; }
.contents-outline__item .toc-box_link { display: block; position: relative; padding-bottom: 8px; padding-right: 0; line-height: 2; text-decoration: none !important; color: #004e8e; }
.article-body .contents-outline__item .toc-box_link:hover { color: #828990; }
@media (any-hover: hover) {
  .contents-outline__item .toc-box_link::before { content: ""; position: absolute; top: 100%; left: 0; width: 100%; height: 1px; transform: translateY(1px); transition: all 0.3s ease; opacity: 0; background-color: #828990; }
  .contents-outline__item .toc-box_link:hover::before { transform: translateY(-4px); opacity: 1; }
}
@media screen and (min-width: 600px) {
  .toc-box { padding: 32px; }
  .contents-outline { margin-top: 32px; font-size: 1rem; }
}
/* ブログカード（記事内の関連記事・外部リンク） */
.wp-block-embed { margin: auto; max-width: 100%; overflow-wrap: break-word; }
.wp-block-embed__wrapper { position: relative; }
.blog-card { position: relative; background-color: #fff; }
.blog-card__link { display: block; cursor: pointer; text-decoration: none; color: initial; }
.blog-card__link:hover { color: initial; }
.blog-card__inner { display: flex; position: relative; padding: 24px; transition: all 0.3s ease; }
.blog-card__label { position: absolute; top: 0; transform: translateY(-50%); left: 16px; padding: 6px 8px; border-radius: 3px; line-height: 12px; background-color: #fff; font-size: 0.8rem; color: #333; overflow-wrap: break-word; word-break: break-word; z-index: 1; }
.blog-card__thumbnail { flex-shrink: 0; width: 30%; }
.blog-card__inner.u-row-dir .blog-card__thumbnail { margin: 0 10px 0 0; }
.blog-card__thumbnail img { border-radius: 3px; }
.blog-card__body { position: relative; flex-grow: 1; }
.blog-card__title { display: block; margin-bottom: 8px; font-weight: bold; line-height: 1.5; font-size: 1rem; color: #333; }
.blog-card-border { border: 2px solid #e5e7e8; border-radius: 3px; transition: all 0.3s ease; backface-visibility: hidden; }
.blog-card-border:hover { border: 2px solid #828990; }
@media screen and (max-width: 599px) {
  .blog-card__inner { padding-left: 16px; padding-right: 16px; }
  .blog-card__title { font-size: 0.88889rem; }
}
@media screen and (min-width: 600px) { .blog-card__inner.u-row-dir .blog-card__thumbnail { margin: 0 20px 0 0; } }
@media screen and (max-width: 959px) { .blog-card__excerpt { display: none; } }
@media screen and (min-width: 960px) { .blog-card__excerpt { display: block; margin-top: 8px; margin-bottom: 8px; line-height: 1.5; font-size: 0.72727rem; color: #484848; word-break: break-word; } }
/* 関連記事 */
.related-posts { margin-top: 48px; overflow: hidden; }
.related-posts__title { margin-bottom: 8px; font-size: 1.14286rem; }
.related-post-list__item a { text-decoration: none; }
.related-post-list__item::after { content: ""; display: block; clear: both; }
.related-post-list__item.column-4 { position: relative; margin-bottom: 24px; background-color: #fff; }
.related-post-list__item.column-4 .related-post-list__thumbnail img { border-radius: 3px 3px 0 0; backface-visibility: hidden; }
.related-post-list__item.column-4 .related-post-list__body { padding: 16px 8px; }
.related-post-list__item.column-4.has_thumbnail .related-post-list__body .published { position: absolute; top: 8px; left: 8px; padding: 0 8px; height: 16px; line-height: 16px; border-radius: 30px; background-color: rgb(0 0 0 / 0.4); color: #fff; display: block; margin-bottom: 4px; }
.related-post-list__body .published { backface-visibility: hidden; letter-spacing: 0.04em; font-size: 0.72727rem; color: #484848; }
.related-post-list__title { margin: 0; line-height: 1.4; font-weight: bold; color: #333; font-size: 0.88889rem; }
.u-shadow-border { border: 1px solid #e5e7e8; border-radius: 3px; transition: all 0.3s ease; backface-visibility: hidden; }
.u-shadow-border:hover { transform: translateY(-3px); box-shadow: 0 1px 12px 0 rgb(0 0 0 / 0.1); }
/* パンくず（本文の下） */
.breadcrumb { margin-top: 10px; margin-bottom: 10px; color: #484848; overflow: hidden; width: 100%; }
.breadcrumb__inner { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.6; font-size: 0.8rem; }
.breadcrumb__inner .icon-home { margin-right: 4px; }
.breadcrumb__inner .icon-chevron-right { margin-right: 4px; margin-left: 4px; color: #b8bcc0; }
.breadcrumb__item { display: inline; }
.breadcrumb__item a { text-decoration: none; color: #004e8e; }
.breadcrumb__item a:hover { color: #828990; }

/* ---------- 8. サイドバー ---------- */
.sidebar { position: relative; margin-top: 32px; width: 100%; }
.sidebar a { text-decoration: none; }
.sidebar .widget a { color: inherit; }
.sidebar .widget { margin-bottom: 24px; font-size: 0.88889rem; width: 100%; color: #333; }
.sidebar .widget [class*="wp-block-"]:not([class*="wp-block-search"]) { width: 100%; }
.sidebar .is-layout-flow > * + * { margin-block-start: 8px; }
.sidebar-sticky { position: sticky; top: 8px; font-size: 0.88889rem; }
.sidebar .wp-block-heading, .sidebar .wp-block-group > h2 { position: relative; margin-bottom: 24px; padding-bottom: 8px; width: 100%; line-height: 1.25; letter-spacing: 0.04em; font-size: 1rem; text-align: left; color: #333; }
.sidebar-stripe-border-bottom .wp-block-heading::before, .sidebar-stripe-border-bottom .wp-block-group > h2::before {
  content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 2px;
  background: linear-gradient(-45deg, #fff 25%, #5e5e5e 25%, #5e5e5e 50%, #fff 50%, #fff 75%, #5e5e5e 75%, #5e5e5e); background-size: 4px 4px;
}
.sidebar.is-animation-move-right .wp-block-categories-list a:hover { transform: translateX(4px); }
@media screen and (min-width: 960px) { .sidebar { margin-top: 0; min-width: 250px; max-width: 250px; } }
/* 検索（WordPress の検索ブロック） */
.wp-block-search__label { display: block; width: 100%; margin-bottom: 8px; letter-spacing: 0.1em; font-size: 0.88889rem; color: #333; }
.wp-block-search__inside-wrapper { display: flex; flex: auto; flex-wrap: nowrap; max-width: 100%; }
.wp-block-search .wp-block-search__input { flex-grow: 1; min-width: 3rem; margin: 0; padding: 6px 12px; height: 32px; outline: 0; border-radius: 3px; background-color: #fff; border: 1px solid #b8bcc0; font-size: 1rem; letter-spacing: 0.04em; line-height: inherit; }
.wp-block-search .wp-block-search__button { line-height: inherit; position: relative; margin-left: 10px; padding: 0; width: 60px; height: 32px; letter-spacing: 0.1em; font-size: 0.72727rem; border: 1px solid #b8bcc0; border-radius: 3px; box-shadow: none; word-break: normal; transition: all 0.2s ease-in; background-color: #32373c; color: #fff; }   /* 現行：WordPress 標準のボタン色（#32373c）が勝っている */
input[type="search"]:focus + .wp-block-search__button { background-color: #828990; border: 1px solid #828990; color: #fff; }
/* カテゴリー一覧 */
.wp-block-categories { box-sizing: border-box; }
.wp-block-categories .cat-item { padding-left: 12px; list-style-type: none; }
.wp-block-categories li a { position: relative; display: block; line-height: 1.5; padding: 4px; transition: all 0.3s ease; text-decoration: none; }
.wp-block-categories > .cat-item a::before { display: block; content: ""; position: absolute; top: 50%; left: -12px; width: 4px; height: 4px; transform: translateY(-50%); background-color: #b8bcc0; border-radius: 100%; }
/* 最近の投稿 */
.wp-block-latest-posts { box-sizing: border-box; }
.wp-block-latest-posts.wp-block-latest-posts__list { list-style: none; padding-left: 0; }
.wp-block-latest-posts.has-background { padding: 8px 16px; border-radius: 3px; }
.wp-block-latest-posts li { clear: both; overflow-wrap: break-word; margin-bottom: 8px; }
.wp-block-latest-posts li:last-child { margin-bottom: 0; }
.wp-block-latest-posts a { display: block; transition: all 0.3s ease; text-decoration: none; }
.wp-block-latest-posts__featured-image { margin-bottom: 8px; overflow: hidden; }
.wp-block-latest-posts__featured-image.aligncenter { margin-bottom: 1em; text-align: center; }
.wp-block-latest-posts__featured-image a { display: inline-block; }
.wp-block-latest-posts__featured-image img { height: auto; max-width: 100%; width: auto; transform: scale(1); transition: all 0.3s ease; vertical-align: bottom; }
.wp-block-latest-posts__list li:hover .wp-block-latest-posts__featured-image img { transform: scale(1.1); }
.wp-block-latest-posts__post-title { position: relative; margin-bottom: 4px; line-height: 1.5; letter-spacing: 0.04em; font-size: 0.88889rem; color: #333; }
.wp-block-latest-posts__post-date { display: block; letter-spacing: 0.04em; font-size: 0.8125em; color: #828990; }

/* ---------- 9. 一覧（カテゴリ・タグ・著者・検索）・ページ送り・404 ---------- */
.archive-header { margin-bottom: 32px; }
.archive-description { display: inline-block; margin-top: 24px; text-align: left; font-size: 0.88889rem; color: #484848; }
.archive-list { position: relative; background-color: #fff; overflow: hidden; }
.archive-list::after { content: ""; display: block; clear: both; }
.archive-list a { display: block; height: 100%; text-decoration: none; color: #333; }
.archive-list a:hover { color: #333; }
.post-thumbnail { position: relative; backface-visibility: hidden; }
.archive-list .article-title { margin: 0; }
.article-meta { line-height: 1; letter-spacing: 0.04em; backface-visibility: hidden; color: #484848; }
.has-title-counter-color .article-title::before { padding: 4px; border-radius: 3px; font-size: 0.88889rem; }
.sp-list { margin-bottom: 24px; width: calc(100% - 12px); }
.sp-list a { display: flex; }
.sp-list.has-thumbnail .post-thumbnail { width: 160px; }
.sp-list.has-thumbnail .post-thumbnail img { border-radius: 3px 0 0 3px; }
.sp-list .article-info { padding: 8px; width: 100%; }
.sp-list.has-thumbnail .article-info { width: calc(100% - 160px); }
.sp-list .article-title { font-size: 0.88889rem; }
.sp-list.has-thumbnail .article-title { line-height: 1.4; font-size: 0.72727rem; }
.sp-list .article-meta { margin-top: 16px; font-size: 0.61538rem; }
.sp-list.has-thumbnail .article-meta { position: absolute; bottom: 6px; margin-top: 0; width: calc(100% - 176px); }
.u-shadow-hover { box-shadow: 0 1px 3px 1px rgb(0 0 0 / 0.08); border-radius: 3px; transition: all 0.3s ease; backface-visibility: hidden; }
.u-shadow-hover:hover { box-shadow: 0 1px 12px 0 rgb(0 0 0 / 0.1); transform: translateY(-3px); }
@media screen and (min-width: 600px) {
  [class^="sp-"].pc-list { margin-right: 24px; margin-bottom: 32px; width: calc(100% - 24px); }
  [class^="sp-"].pc-list a { display: flex; }
  [class^="sp-"].pc-list.has-thumbnail .post-thumbnail { width: 300px; }
  [class^="sp-"].pc-list.has-thumbnail .post-thumbnail img { border-radius: 3px 0 0 3px; }
  [class^="sp-"].pc-list.has-thumbnail .article-info { padding: 16px; width: calc(100% - 300px); }
  [class^="sp-"].pc-list .article-title { line-height: 1.5; font-size: 1.14286rem; }
  [class^="sp-"].pc-list .article-meta { position: absolute; left: inherit; right: inherit; bottom: 16px; width: calc(100% - 32px); font-size: 0.8rem; }
  [class^="sp-"].pc-list.has-thumbnail .article-meta { width: calc(100% - 332px); }
}
.pagination { margin-top: 16px; margin-bottom: 32px; text-align: center; }
.page-numbers { position: relative; display: inline-block; margin-right: 4px; min-width: 32px; height: 32px; line-height: 32px; background-color: #fff; border-radius: 50%; border: 1px solid #e5e7e8; text-align: center; font-size: 0.72727rem; color: #484848; transition: all 0.3s ease; text-decoration: none; }
.page-numbers:hover { border: 1px solid #eeeff0; color: #fff; background-color: #828990; }
.page-numbers.current { border: 1px solid #eeeff0; color: #fff; background-color: #004e8e; }
.next.page-numbers, .prev.page-numbers { background-color: inherit !important; border: none; }
.next.page-numbers:hover, .prev.page-numbers:hover { border: none; color: #828990; }
.next.page-numbers::after { content: ""; position: absolute; top: 50%; transform: translateY(-50%); right: -16px; width: 1rem; height: 1rem; background-color: #828990; transition: all 0.2s ease-in; -webkit-mask: var(--icon-chevron-right) center / contain no-repeat; mask: var(--icon-chevron-right) center / contain no-repeat; }
.next.page-numbers:hover::after { right: -20px; }
.prev.page-numbers::before { content: ""; position: absolute; top: 50%; transform: translateY(-50%) scaleX(-1); left: -16px; width: 1rem; height: 1rem; background-color: #828990; -webkit-mask: var(--icon-chevron-right) center / contain no-repeat; mask: var(--icon-chevron-right) center / contain no-repeat; }
.search-header { position: relative; }
.search-header_title { margin: 0; padding-bottom: 16px; font-size: 1.14286rem; letter-spacing: 0.04em; }
.search-no-results__message { margin-bottom: 16px; }
.search-form { position: relative; }
.search-submit { position: absolute; top: 0; right: -2px; bottom: 0; padding: 8px 14px; border-radius: 0 3px 3px 0; letter-spacing: 0.1em; font-size: 1rem; background-color: #bc4061; border: 1px solid #bc4061; color: #fff; }
.search-submit:hover { background-color: #a5a5a5; border: 1px solid #a5a5a5; }
.search-submit .icon-search { font-size: 1rem; color: #fff; }
.archive .paragraph__normal .article-body { padding-bottom: 32px; }
.error404-header_title, .error404-header p { margin: 0; }
@media screen and (min-width: 600px) {
  [class^="paragraph__normal"] .article-body, [class*=" paragraph__normal"] .article-body { padding-right: 24px; padding-left: 24px; }
  .search .article-body .search-form { margin: auto; width: 60%; }
}
@media screen and (min-width: 960px) { .search-submit { right: 0; } }

/* ---------- 10. WordPress 標準ブロック ---------- */
:root { --wp--preset--color--primary-gray-dark: #5e5e5e; --wp--preset--color--gray: #e5e7e8; --wp--preset--color--ep-white: #fff; --wp--style--block-gap: 32px; }
.has-text-align-center { text-align: center; }
.has-text-align-left { text-align: left; }
.has-text-align-right { text-align: right; }
.aligncenter { clear: both; display: block; margin-left: auto !important; margin-right: auto !important; }
.wp-block-spacer { clear: both; }
.has-primary-gray-dark-color { color: #5e5e5e !important; }
.has-gray-background-color { background-color: #e5e7e8 !important; }
.has-ep-white-background-color { background-color: #fff !important; }
.has-ema-s-1-font-size { font-size: 0.88889rem !important; }
.has-ema-s-2-font-size { font-size: 0.8rem !important; }
.has-ema-m-font-size { font-size: 1rem !important; }
:where(p.has-text-color:not(.has-link-color)) a { color: inherit; }
p.has-background:not([class*="is-style-paragraph__"]) { box-sizing: border-box; padding: 8px 16px; }
.has-epb-text-align-center-right { margin: 0 auto; text-align: left; width: fit-content; }
:root :where(.is-layout-flow) > * { margin-block-start: 32px; margin-block-end: 0; }
:root :where(.is-layout-flow) > :first-child { margin-block-start: 0; }
:root :where(.is-layout-flow) > :last-child { margin-block-end: 0; }
:root :where(.is-layout-constrained) > * { margin-block-start: 32px; margin-block-end: 0; }
:root :where(.is-layout-constrained) > :first-child { margin-block-start: 0; }
:root :where(.is-layout-constrained) > :last-child { margin-block-end: 0; }
:root :where(.is-layout-flex) { gap: 32px; }
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: 768px; margin-left: auto !important; margin-right: auto !important; }
@media screen and (min-width: 1200px) {
  .page .one-col .l-content__main .is-layout-constrained:not(.wp-block-group) > :where(:not(.wp-block-group):not(.alignleft):not(.alignright):not(.alignfull)),
  .single .one-col .l-content__main .is-layout-constrained:not(.wp-block-group) > :where(:not(.wp-block-group):not(.alignleft):not(.alignright):not(.alignfull)) { max-width: 1180px; }
}
.is-layout-flow > .aligncenter, .is-layout-constrained > .aligncenter { margin-left: auto !important; margin-right: auto !important; }
body .is-layout-flex { display: flex; }
.is-layout-flex { flex-wrap: wrap; align-items: center; }
.is-layout-flex > :is(*, div) { margin: 0; }
.wp-block-group { box-sizing: border-box; position: relative; }
.wp-block-group.has-background { border-radius: 3px; padding: 16px 24px; }
/* カラム */
.wp-block-columns { box-sizing: border-box; display: flex; flex-wrap: wrap !important; align-items: normal !important; }
.wp-block-columns.are-vertically-aligned-center { align-items: center !important; }
:where(.wp-block-columns) { margin-bottom: 1.75em; }
.wp-block-column { flex-grow: 1; min-width: 0; overflow-wrap: break-word; word-break: break-word; }
.wp-block-column.is-vertically-aligned-center { align-self: center; width: 100%; }
.wp-container-core-columns-is-layout-28f84493 { flex-wrap: nowrap; }
@media (max-width: 781px) { .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; } }
@media (min-width: 782px) {
  .wp-block-columns { flex-wrap: nowrap !important; }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 0; flex-grow: 1; }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis"] { flex-grow: 0; }
}
/* 画像 */
.wp-block-image { margin-bottom: 0 !important; text-align: center; }
.wp-block-image::after { content: ""; display: block; clear: both; }
.wp-block-image > a { display: inline-block; }
.wp-block-image img { box-sizing: border-box; height: auto; max-width: 100%; vertical-align: bottom; }
.wp-block-image.aligncenter { text-align: center; margin-left: auto; margin-right: auto; }
.wp-block-image .aligncenter, .wp-block-image.aligncenter { display: table; }
.wp-block-image figcaption { margin-top: 4px; margin-bottom: 8px; text-align: center; font-size: 0.72727rem; color: #484848; }
/* カバー */
.wp-block-cover { position: relative; display: flex; align-items: center; justify-content: center; min-height: 430px; padding: 1em; box-sizing: border-box; overflow: hidden; overflow: clip; background-position: 50%; }
:where(.wp-block-cover:not(.has-text-color)) { color: #fff; }
:where(.wp-block-cover.is-light:not(.has-text-color)) { color: #000; }
.wp-block-cover .wp-block-cover__background { position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0.5; }
.wp-block-cover .has-background-dim:not([class*="-background-color"]) { background-color: #000; }
.wp-block-cover .wp-block-cover__background.has-background-dim-0 { opacity: 0; }
.wp-block-cover .wp-block-cover__background.has-background-dim-30 { opacity: 0.3; }
.wp-block-cover .wp-block-cover__background.has-background-dim-100 { opacity: 1; }
.wp-block-cover .wp-block-cover__inner-container { position: relative; width: 100%; color: inherit; }
.wp-block-cover__inner-container > :first-child { margin-top: 0; }
:root :where(.wp-block-cover h2:not(.has-text-color)), :root :where(.wp-block-cover p:not(.has-text-color)) { color: inherit; }
.single .one-col .alignfull, .page .one-col .alignfull, .c-section-widget .alignfull { position: relative; left: calc(50% - 50vw); width: 100vw; max-width: 100vw; }
/* 表 */
.wp-block-table { overflow-x: auto; }
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table thead { border-bottom: 3px solid; }
.wp-block-table td, .wp-block-table th { border: 1px solid; padding: 0.5em; }   /* 現行：WordPress 標準の「線の色＝文字色」が勝っている */
.wp-block-table tr { border-color: #b8bcc0; }
.wp-block-table .has-fixed-layout { table-layout: fixed; width: 100%; }
.wp-block-table .has-fixed-layout td, .wp-block-table .has-fixed-layout th { word-break: break-word; }
.article-body > .wp-block-table { margin: 40px 0 0; }
.wp-block-table.is-style-table__border-bottom table, .wp-block-table.is-style-table__border-bottom td { border-left-style: none !important; border-right-style: none !important; border-top-style: none !important; }
.wp-block-table[class*="is-style-table__border-bottom"] td { padding: 24px 12px; }
.wp-block-table figcaption { margin-top: 4px; margin-bottom: 8px; text-align: center; font-size: 0.72727rem; color: #484848; }
@media screen and (max-width: 599px) {
  .wp-block-table.is-style-table__scroll { display: block; overflow-x: scroll; overflow-y: hidden; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; scroll-snap-type: x mandatory; }
  .wp-block-table.is-style-table__scroll > table { max-width: 780px; width: 780px; }
  .wp-block-table td { overflow: hidden; }
}
/* 引用・区切り線 */
.wp-block-quote { position: relative; box-sizing: border-box; overflow-wrap: break-word; margin: 0 8px; padding: 24px 32px; background-color: #f8f8f8; border-radius: 3px; }
.wp-block-quote::before { content: ""; position: absolute; top: 6px; left: 14px; width: 0.88889rem; height: 0.88889rem; transform: rotate(180deg); background-color: #828990; -webkit-mask: var(--icon-quote) center / contain no-repeat; mask: var(--icon-quote) center / contain no-repeat; }
@media screen and (min-width: 600px) { .wp-block-quote { margin-left: 16px; margin-right: 16px; } }
.wp-block-separator { border: none; }
.wp-block-separator:not(.is-style-dots):not(.is-style-wide):not(.alignwide) { left: auto; width: 215px; }
/* ボタン（標準） */
.wp-block-buttons { box-sizing: border-box; }
.wp-block-buttons > .wp-block-button { display: inline-block; margin: 0; }
.wp-block-buttons.is-content-justification-center, .wp-container-core-buttons-is-layout-a89b3969 { justify-content: center; }
.wp-block-button__link { position: relative; display: inline-block; box-sizing: border-box; height: 100%; text-align: center; word-break: break-word; cursor: pointer; text-decoration: none; transition: box-shadow 0.2s ease, transform 0.02s linear; }
:where(.wp-block-button__link) { border-radius: 9999px; box-shadow: none; padding: calc(0.667em + 2px) calc(1.333em + 2px); text-decoration: none; }
.wp-block-button__link:hover { box-shadow: inset 0 0 0 9999px rgba(34, 34, 34, 0.2); color: #fff; }
.wp-block-buttons .wp-block-button__link { width: 100%; }

/* ---------- 11. Emanon Premium Blocks ---------- */
.epb-margin-top__0:not([class*="-sp"]):not([class*="-tablet"]) { margin-top: 0 !important; }
.epb-margin-top__minus-40:not([class*="-sp"]):not([class*="-tablet"]) { margin-top: -40px !important; z-index: 1; }
@media screen and (max-width: 599px) {
  .epb-margin-top__0-sp { margin-top: 0 !important; }
  .epb-margin-top__minus-40-sp { margin-top: -40px !important; z-index: 1; }
}
@media (min-width: 600px) and (max-width: 1199px) {
  .epb-margin-top__0-tablet { margin-top: 0 !important; }
  .epb-margin-top__minus-40-tablet { margin-top: -40px !important; z-index: 1; }
}
@media screen and (min-width: 1200px) {
  .epb-margin-top__0 { margin-top: 0 !important; }
  .epb-margin-top__minus-40 { margin-top: -40px !important; z-index: 1; }
}
.epb-display-sp::before { content: "\a"; white-space: pre; }
@media (min-width: 600px) { .epb-display__sp-only { display: none !important; } }
@media screen and (max-width: 599px) { .epb-display__tablet-pc { display: none !important; } }
@media screen and (min-width: 600px) { .epb-display-sp::before { content: ""; white-space: normal; } }
.epb-underline-yellow { background: linear-gradient(transparent 60%, #ff0 0); }
.epb-underline-red { background: linear-gradient(transparent 60%, #ffd0d1 0); }
.epb-underline-blue { background: linear-gradient(transparent 60%, #a8eaff 0); }
ol li, ul li { position: relative; }
/* 見出し（新：advanced-headling） */
.epb-advanced-headling { display: flex; position: relative; }
.epb-advanced-headling.epb-alignment-left { justify-content: flex-start; }
.epb-advanced-headling.epb-alignment-center { justify-content: center; }
.epb-advanced-headling__inner { align-items: var(--epb-sub-text-align-items); display: flex; position: relative; }
.epb-advanced-headling__inner[class*="epb-has-sub-text-"] { gap: var(--epb-sub-text-gap); }
.epb-has-sub-text-bottom { flex-direction: column; }
.epb-advanced-headling .epb-advanced-headling__text {
  color: var(--epb-headling-color); font-size: var(--epb-headling-font-size-pc); font-weight: var(--epb-headling-font-weight); letter-spacing: var(--epb-headling-letter-spacing);
  line-height: var(--epb-headling-line-height); margin: 0 var(--epb-headling-margin-right-sp) 0 var(--epb-headling-margin-left-sp);
  padding: var(--epb-headling-padding-top) var(--epb-headling-padding-right) var(--epb-headling-padding-bottom) var(--epb-headling-padding-left); position: relative;
}
.epb-advanced-headling.epb-alignment-headling-left .epb-advanced-headling__text { text-align: left; }
.epb-advanced-headling.epb-alignment-headling-center .epb-advanced-headling__text { text-align: center; }
.epb-advanced-headling .epb-advanced-headling__sub-text {
  background-color: var(--epb-sub-text-background-color); color: var(--epb-sub-text-color); font-size: var(--epb-sub-text-font-size-pc); font-weight: var(--epb-sub-text-font-weight);
  letter-spacing: var(--epb-sub-text-letter-spacing); line-height: var(--epb-sub-text-line-height);
  padding: var(--epb-sub-text-padding-top) var(--epb-sub-text-padding-right) var(--epb-sub-text-padding-bottom) var(--epb-sub-text-padding-left); position: relative;
}
.epb-advanced-headling::before { content: attr(data-headling); position: absolute; display: block; }   /* 現行：中身の無い飾り（高さだけある） */
.is-style-epb-headling-left-line .epb-advanced-headling__text { align-items: center; display: flex; }
.is-style-epb-headling-left-line .epb-advanced-headling__text::before { border-top: 3px solid var(--epb-headling-style-color); content: ""; margin: 0 8px 0 0; width: calc(var(--epb-headling-style-size) * 1em); }
/* 見出し（旧：deprecated headling＝フッターの「お問い合わせ」等） */
.epb-advance-headling { padding: calc(var(--epb-block-padding-top) * 1px) calc(var(--epb-block-padding-right) * 1px) calc(var(--epb-block-padding-bottom) * 1px) calc(var(--epb-block-padding-left) * 1px); }
.epb-advance-headling__text-wrapper { margin-left: auto; margin-right: auto; position: relative; width: fit-content; }
.epb-advance-headling__text-wrapper.epb-alignment-left { margin-left: 0; margin-right: auto; text-align: left; }
.epb-advance-headling__text-wrapper.epb-alignment-center { margin-left: auto; margin-right: auto; text-align: center; }
.epb-advance-headling__text-wrapper .epb-advance-headling__text { margin: 0 !important; position: relative; }
.epb-advance-headling__text[data-fontweight="bold"] { font-weight: 700; }
.epb-advance-headling__sub-text, .epb-advance-headling__text { font-size: calc(var(--epb-font-pc) * 1px); overflow-wrap: break-word; word-break: break-word; }
.epb-advance-headling__sub-text { display: inline-block; position: relative; min-height: var(--epb-subtext-label-height); min-width: var(--epb-subtext-label-width); }
.epb-advance-headling__text-wrapper.epb-has-sub-text-under .epb-advance-headling__sub-text { margin-top: calc(var(--epb-subtext-padding) * 1px); }
.epb-advance-headling__sub-text-wrapper { line-height: 1; }
.epb-advance-headling__text-wrapper.is-style-epb-headling-left-line .epb-advance-headling__sub-text,
.epb-advance-headling__text-wrapper.is-style-epb-headling-left-line .epb-advance-headling__text { align-items: center; display: flex; justify-content: left; }
.epb-advance-headling__text-wrapper.is-style-epb-headling-left-line .epb-advance-headling__text::before { border-top: 2px solid var(--epb-style-color); content: ""; margin: 0 8px 0 0; opacity: 0.6; width: 24px; }
/* ボタン（advanced-button） */
.epb-advanced-buttons { display: flex; flex-wrap: wrap; gap: 32px; }
.wp-container-emanon-premium-blocks-advanced-button-is-layout-a89b3969 { justify-content: center; }
.wp-container-emanon-premium-blocks-advanced-button-is-layout-fc4fd283 { justify-content: flex-start; }
.epb-advanced-button-wrapper { border-style: none; display: flex; flex-direction: column; position: relative; width: calc(var(--epb-button-width-sp, 100%) - var(--wp--style--block-gap, 0.5em) * 0.5); }
@media screen and (min-width: 600px) { .epb-advanced-button-wrapper { width: calc(var(--epb-button-width-tablet, 100%) - var(--wp--style--block-gap, 0.5em) * 0.5); } }
@media screen and (min-width: 960px) { .epb-advanced-button-wrapper { width: calc(var(--epb-button-width-pc, 100%) - var(--wp--style--block-gap, 0.5em) * 0.5); } }
.epb-advanced-button {
  backface-visibility: hidden; background: var(--epb-button-background); border-color: var(--epb-button-border-color); border-radius: var(--epb-button-radius); border-style: var(--epb-button-border-style);
  border-width: var(--epb-button-border-width-top) var(--epb-button-border-width-right) var(--epb-button-border-width-bottom) var(--epb-button-border-width-left);
  color: var(--epb-button-text-color); cursor: pointer; display: inline-block; position: relative; text-decoration: none !important; transition: all 0.3s ease;
}
.epb-advanced-button:hover { color: var(--epb-button-text-hover-color, var(--epb-button-text-color)); }
.epb-advanced-button__text {
  align-items: center; display: flex; justify-content: center; font-size: var(--epb-button-text-font-size-pc); font-weight: var(--epb-button-text-font-weight);
  letter-spacing: var(--epb-button-text-letter-spacing); line-height: var(--epb-button-text-line-height);
  padding: var(--epb-button-padding-top) var(--epb-button-padding-right) var(--epb-button-padding-bottom) var(--epb-button-padding-left);
}
.epb-advanced-button__text[class*="icon-"]::after { color: var(--epb-button-icon-color); transition-duration: 0.3s; transition-timing-function: cubic-bezier(0.61, 1, 0.88, 1); }
.is-style-epb-position-icon-center .epb-advanced-button__text[class*="icon-"]::after { margin-left: 2px; }
.is-style-epb-position-icon-center.is-style-epb-icon-hover-animation-move .epb-advanced-button:hover .epb-advanced-button__text[class*="icon-"]::after { transform: translate(8px); }
.is-style-epb-button-hover-animation-falldown .epb-advanced-button:hover { box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); transform: translateY(4px); }
.is-style-epb-button-hover-animation-background-move-right-a .epb-advanced-button { overflow: hidden; }
.is-style-epb-button-hover-animation-background-move-right-a .epb-advanced-button__text { position: relative; z-index: 2; }
.is-style-epb-button-hover-animation-background-move-right-a .epb-advanced-button::before {
  background: var(--epb-button-background-hover); border-radius: var(--epb-button-radius); content: ""; height: 100%; left: 0; position: absolute; top: 0; transform: scaleX(0); transform-origin: right top;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1); width: 100%; z-index: 1;
}
.is-style-epb-button-hover-animation-background-move-right-a .epb-advanced-button:hover::before { transform: scale(1); transform-origin: left top; }
/* パネル（panel-box） */
.epb-panel-box { border-style: none; display: flex; height: auto; justify-content: center; position: relative; }
.epb-panel-box__inner {
  backface-visibility: hidden; background: var(--epb-panel-box-body-background-color); border-color: var(--epb-panel-box-border-color);
  border-radius: var(--epb-panel-box-border-radius-top) var(--epb-panel-box-border-radius-right) var(--epb-panel-box-border-radius-bottom) var(--epb-panel-box-border-radius-left);
  border-style: var(--epb-panel-box-border-style);
  border-width: var(--epb-panel-box-border-width-top) var(--epb-panel-box-border-width-right) var(--epb-panel-box-border-width-bottom) var(--epb-panel-box-border-width-left);
  color: var(--epb-panel-box-body-text-color); height: 100%; display: flex; flex-direction: column;
  padding: var(--epb-panel-box-padding-top) var(--epb-panel-box-padding-right) var(--epb-panel-box-padding-bottom) var(--epb-panel-box-padding-left);
  position: relative; transition: all 0.3s ease; width: var(--epb-panel-box-width-size-sp);
}
@media screen and (min-width: 600px) { .epb-panel-box__inner { width: var(--epb-panel-box-width-size-tablet); } }
@media screen and (min-width: 960px) { .epb-panel-box__inner { width: var(--epb-panel-box-width-size-pc); } }
.epb-panel-box__inner > * { margin-top: 0; margin-bottom: 0; }
.epb-panel-box__link { position: relative; width: var(--epb-panel-box-width-size-sp); }
.epb-panel-box__link .epb-panel-box__inner { width: 100%; }
.epb-panel-box__link .epb-panel-box__inner:hover { background: var(--epb-panel-box-body-background-hover-color); border-color: var(--epb-panel-box-border-hover-color); color: var(--epb-panel-box-body-text-hover-color); }
@media screen and (min-width: 600px) { .epb-panel-box__link { width: var(--epb-panel-box-width-size-tablet); } }
@media screen and (min-width: 960px) { .epb-panel-box__link { width: var(--epb-panel-box-width-size-pc); } }
.epb-panel-box-hover-zoom .epb-panel-box__inner:hover { transform: scale(1.023); }
/* 記事一覧（post-lists） */
.epb-wrapper-column { width: 100%; }
.epb-u-row { display: flex; }
.epb-u-row-wrap { flex-wrap: wrap; row-gap: 24px; }
.epb-u-row-cont-between { justify-content: space-between; }
.epb-u-row-item-center { align-items: center; }
@media screen and (min-width: 600px) { .epb-u-row-wrap { row-gap: 32px; } }
.is-shadow-style { box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.08); }
.is-shadow-hover:hover { box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.1); transform: translateY(-3px); }
.epb-post-list { background-color: #fff; border-radius: 3px; position: relative; transition: all 0.3s ease; }
.epb-post-list__link { text-decoration: none !important; }
.epb-post-list__thumbnail { overflow: hidden; position: relative; }
.epb-post-list__thumbnail > img { backface-visibility: hidden; height: auto; max-width: 100%; transition: all 0.3s ease; vertical-align: middle; width: 100%; }
.epb-post-list__info { box-sizing: border-box; width: 100%; }
.epb-post-list .epb-post-list__title { color: #333; font-size: 16px; font-weight: 700; letter-spacing: 0.04em; line-height: 1.4; margin: 0; text-align: left; }
.epb-post-list__meta { color: #484848; font-size: 11px; line-height: 1; }
.epb-post-list__meta, .epb-post-list__term-name { backface-visibility: hidden; letter-spacing: 0.04em; }
.epb-post-list__term-name { background-color: var(--epb-info-list-term-name-background); border-radius: 30px; color: var(--epb-info-list-term-name-text); display: inline-block; font-size: 12px; line-height: 1.5; margin-bottom: 16px; padding-left: 8px; padding-right: 8px; vertical-align: top; width: fit-content; }
.epb-post-list__excerpt { color: #484848; display: block; font-size: 12px; line-height: 1.5; margin: 0; }
.epb-sp-list { width: 100%; }
.epb-sp-list .epb-post-list__link { display: flex; flex-direction: row; }
.epb-sp-list.has-thumbnail .epb-post-list__thumbnail { width: 160px; }
.epb-sp-list.has-thumbnail .epb-post-list__thumbnail > img { border-radius: 3px 0 0 3px; }
.epb-sp-list.is-shadow-hover .epb-post-list__info, .epb-sp-list.is-shadow-style .epb-post-list__info { padding: 8px; }
.epb-sp-list.has-thumbnail .epb-post-list__info { padding-left: 8px; width: calc(100% - 160px); }
.epb-sp-list .epb-post-list__term-name { font-size: 8px; margin-bottom: 8px; }
.epb-sp-list.has-thumbnail .epb-post-list__term-name { left: 8px; margin-bottom: 0; position: absolute; top: 8px; }
.epb-sp-list .epb-post-list__title { font-size: 14px; }
.epb-sp-list.has-thumbnail .epb-post-list__title { font-size: 12px; line-height: 1.3; }
.epb-sp-list.has-thumbnail .epb-post-list__meta { bottom: 6px; position: absolute; }
@media screen and (max-width: 599px) { .epb-sp-list.has-thumbnail .epb-post-list__meta { width: calc(100% - 176px); } }
@media screen and (min-width: 600px) {
  [class*="epb-sp-"].epb-pc-list { width: 100%; }
  [class*="epb-sp-"].epb-pc-list .epb-post-list__link { display: flex; flex-direction: row; }
  [class*="epb-sp-"].epb-pc-list.has-thumbnail .epb-post-list__thumbnail { width: 300px; }
  [class*="epb-sp-"].epb-pc-list.has-thumbnail .epb-post-list__thumbnail img { border-radius: 3px 0 0 3px; }
  [class*="epb-sp-"].epb-pc-list.is-shadow-hover .epb-post-list__info, [class*="epb-sp-"].epb-pc-list.is-shadow-style .epb-post-list__info { padding: 8px; }
  [class*="epb-sp-"].epb-pc-list.has-thumbnail .epb-post-list__info { padding-left: 16px; width: calc(100% - 300px); }
  [class*="epb-sp-"].epb-pc-list .epb-post-list__term-name { font-size: 12px; margin-bottom: 16px; padding-left: 10px; padding-right: 10px; }
  [class*="epb-sp-"].epb-pc-list.has-thumbnail .epb-post-list__term-name { left: 16px; margin-bottom: 0; position: absolute; top: 16px; }
  [class*="epb-sp-"].epb-pc-list .epb-post-list__title { font-size: 18px; line-height: 1.5; }
  [class*="epb-sp-"].epb-pc-list .epb-post-list__excerpt { font-size: 14px; margin-top: 4px; }
  [class*="epb-sp-"].epb-pc-list.has-thumbnail .epb-post-list__excerpt { margin-top: 16px; }
  [class*="epb-sp-"].epb-pc-list.has-thumbnail .epb-post-list__meta { bottom: 0; position: absolute; width: calc(100% - 332px); }
  [class*="epb-sp-"].epb-pc-list.has-thumbnail.is-shadow-hover .epb-post-list__meta, [class*="epb-sp-"].epb-pc-list.has-thumbnail.is-shadow-style .epb-post-list__meta { bottom: 8px; }
}
.epb-u-inline-display-tablet-pc { display: none; }
.epb-u-inline-display-sp, .epb-u-inline-display-sp.epb-u-inline-display-tablet-pc { display: inline-block; }
@media screen and (min-width: 600px) {
  .epb-u-inline-display-sp { display: none; }
  .epb-u-inline-display-sp.epb-u-inline-display-tablet-pc, .epb-u-inline-display-tablet-pc { display: inline-block; }
}
/* スライダー（post-slider。動きは Swiper） */
.epb-post-slider { overflow-x: hidden; padding-bottom: 3px; padding-top: 3px; position: relative; }
.epb-post-slider__link { text-decoration: none !important; }
.epb-post-slider__thumbnail { overflow: hidden; position: relative; }
.epb-post-slider__thumbnail > img { backface-visibility: hidden; border-radius: 3px 3px 0 0; height: auto; max-width: 100%; transition: all 0.3s ease; vertical-align: middle; width: 100%; }
.epb-post-slider__info { box-sizing: border-box; padding: 24px 16px 48px; width: 100%; }
.epb-post-slider__info .epb-post-slider__title { color: #333; font-size: 16px; font-weight: 700; letter-spacing: 0.04em; line-height: 1.33333; margin: 0; text-align: left; }
.epb-post-slider__meta { backface-visibility: hidden; bottom: 16px; color: #484848; font-size: 11px; left: 16px; letter-spacing: 0.04em; line-height: 1; position: absolute; right: 16px; }
.epb-post-slider .swiper-wrapper { margin-left: 2px; }
.epb-post-slider .swiper-slide { background-color: #fff; border-radius: 3px; height: auto; margin-right: 16px; transition: all 0.3s ease; }
.swiper-slide.has-slider-5 { width: 200px; }
.alignfull .swiper-slide.has-slider-5 { width: 377px; }
@media screen and (min-width: 600px) {
  .epb-post-slider__info { padding: 16px 16px 56px; }
  .epb-post-slider .swiper-slide { margin-right: 24px; }
}

/* ---------- 12. アイコン（テーマのアイコンフォントの代わりにSVGマスク） ---------- */
:root {
  --icon-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4l8 8-8 8-1.5-1.5L14 12 7.5 5.5z'/%3E%3C/svg%3E");
  --icon-chevron-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 15l8-8 8 8-1.5 1.5L12 10l-6.5 6.5z'/%3E%3C/svg%3E");
  --icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round' d='M4 5h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z M21 6.5l-9 6.5-9-6.5'/%3E%3C/svg%3E");
  --icon-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round' d='M3 10l9-7 9 7v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z M9 22V12h6v10'/%3E%3C/svg%3E");
  --icon-refresh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M23 4v6h-6 M1 20v-6h6 M3.5 9a9 9 0 0 1 14.9-3.4L23 10 M1 14l4.6 4.4A9 9 0 0 0 20.5 15'/%3E%3C/svg%3E");
  --icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' d='M10.5 3a7.5 7.5 0 1 1 0 15 7.5 7.5 0 0 1 0-15z M21 21l-5.2-5.2'/%3E%3C/svg%3E");
  --icon-trending-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M23 6l-9.5 9.5-5-5L1 18 M17 6h6v6'/%3E%3C/svg%3E");
  --icon-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6 M15 3h6v6 M10 14L21 3'/%3E%3C/svg%3E");
  --icon-quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21c3 0 7-1 7-8V5H3v8h4c0 4-1 5-4 5z M14 21c3 0 7-1 7-8V5h-7v8h4c0 4-1 5-4 5z'/%3E%3C/svg%3E");
}
[class^="icon-"]::before, [class*=" icon-"]::before { display: inline-block; width: 1em; height: 1em; background-color: currentColor; vertical-align: -0.125em; line-height: 1; font-style: normal; content: ""; }
.icon-chevron-right::before { -webkit-mask: var(--icon-chevron-right) center / contain no-repeat; mask: var(--icon-chevron-right) center / contain no-repeat; }
.icon-chevron-up::before { -webkit-mask: var(--icon-chevron-up) center / contain no-repeat; mask: var(--icon-chevron-up) center / contain no-repeat; }
.icon-mail::before { -webkit-mask: var(--icon-mail) center / contain no-repeat; mask: var(--icon-mail) center / contain no-repeat; }
.icon-home::before { -webkit-mask: var(--icon-home) center / contain no-repeat; mask: var(--icon-home) center / contain no-repeat; }
.icon-refresh-cw::before { -webkit-mask: var(--icon-refresh) center / contain no-repeat; mask: var(--icon-refresh) center / contain no-repeat; }
.icon-search::before { -webkit-mask: var(--icon-search) center / contain no-repeat; mask: var(--icon-search) center / contain no-repeat; }
.icon-external-link { margin-left: 2px; font-size: 0.88889rem; }
.icon-external-link::before { -webkit-mask: var(--icon-external) center / contain no-repeat; mask: var(--icon-external) center / contain no-repeat; }
.icon-trending-up-after::before, .icon-read-arrow-right-after::before { content: none; }
.icon-read-arrow-right-after::after { content: ""; display: inline-block; width: 1em; height: 1em; background-color: var(--epb-button-icon-color, currentColor); vertical-align: -0.125em; -webkit-mask: var(--icon-chevron-right) center / contain no-repeat; mask: var(--icon-chevron-right) center / contain no-repeat; }
.icon-trending-up-after::after { content: ""; display: inline-block; width: 1em; height: 1em; background-color: var(--epb-button-icon-color, currentColor); vertical-align: -0.125em; -webkit-mask: var(--icon-trending-up) center / contain no-repeat; mask: var(--icon-trending-up) center / contain no-repeat; }

/* ---------- 12-2. ページ固有のカスタムCSS（現行はページごとの設定に書かれていた＝そのページだけに効く）
   ★:where() で包む＝現行どおりの「タグだけの弱い規則」のまま（ページ名で強くしない） ---------- */
/* TOP（page-id-53） */
:where(.page-id-53) ol, :where(.page-id-53) ul { list-style-type: none !important; }
:where(.page-id-53) .wp-block-table[class*="is-style-table__border-bottom"] td { padding-top: 15px !important; padding-bottom: 15px !important; }
:where(.page-id-53) label { color: white; }
:where(.page-id-53) .main-visual__sub-title { margin-top: 15px; }
@media (min-width: 751px) { :where(.page-id-53) .epb-panel-box__inner { height: 12em; } }
/* プライバシーポリシー（page-id-3） */
:where(.page-id-3) ol { padding-left: 20px; }
:where(.page-id-3) ul { list-style: none; }
:where(.page-id-3) li { margin-left: 2rem; text-indent: -1.2rem; }
/* サイト制作買い切りとサブスクの違い（postid-2588） */
@media (min-width: 751px) { :where(.postid-2588) .epb-box__body { height: 350px; } }

/* ---------- 13. お問い合わせフォーム（MW WP Form の見た目＋確認画面） ---------- */
.mw_wp_form div[align="center"] { text-align: -webkit-center; text-align: center; }
.mwform-checkbox-field label { font-weight: normal; margin-bottom: 0; }
.mwform-checkbox-field input { margin: 3px 5px 3px 4px; }
.mw_wp_form .horizontal-item + .horizontal-item { margin-left: 10px; }
.snk-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.snk-form-error { margin-bottom: 1em; padding: 8px 16px; border-radius: 3px; background-color: #fde8e8; color: #c0392b; font-size: 0.88889rem; }
.snk-confirm__lead { margin-bottom: 1.5em; text-align: center; font-size: 0.9rem; }
.snk-confirm__list { margin: 0 0 2em; border-top: 1px solid #b8bcc0; }
.snk-confirm__list dt { padding: 12px 4px 0; font-size: 0.8rem; font-weight: bold; color: #1e293b; }
.snk-confirm__list dd { margin: 0; padding: 4px 4px 12px; border-bottom: 1px solid #b8bcc0; white-space: pre-wrap; word-break: break-word; }
.snk-confirm__list dd.is-empty { color: #828990; }
.snk-confirm__act { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.snk-confirm__act input[type="button"].is-back { background-color: #828990; }
.snk-confirm__act input[type="button"].is-back:hover { background-color: #b8bcc0; }
.form-mw .is-err { outline: 2px solid #e44e4e; }
.snk-field-err { display: block; margin: -0.6rem 0 1rem; color: #c0392b; font-size: 0.8rem; }
.snk-field-err:empty { display: none; }
.mw_wp_form.is-sending { opacity: 0.6; pointer-events: none; }

@keyframes fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; } }

/* ============================================================
   0. 当サイトの独自CSS（当社が WordPress の「追加CSS」に書いていたもの。そのまま）
   ★テーマより後に読ませる必要があるので最後に置く
   ============================================================ */
/* ---- 追加CSS（正本：vault 04_コンテンツ・メディア/ミニマル社長/02_制作ルール/ミニマル社長_追加CSS_全文.css） ---- */
.archive-title {
    line-height: 1.5;
    font-size: 1.33333rem;
    text-align: center;
}
.archive-title__sub {
    display: block;
    line-height: 2;
    letter-spacing: 0.04em;
    text-align: center;
}

.l-contents {
    margin-bottom: -65px!important;
}
.epb-btn.is-style-epb-radius__25 {
    border-radius: 35px;
}

body,
body * {
    font-family: "Zen Maru Gothic", "Hiragino Maru Gothic Pro", sans-serif !important;
}

.hamburger-menu-floating, .hamburger-menu-floating:hover, .hamburger-menu-floating-fixed, .hamburger-menu-floating-fixed:hover {
    background-color: #fde047;
    width: 61px;
    height: 65px;
    border-radius: 62% 40% 63% 37% / 38% 60% 40% 60%;
}
.breadcrumb {
    margin-bottom: 70px;
}

.single h2,
.single h3,
.single h4,
.single h5,
.single h6 {
  margin-top: 3em !important;
}

.single p a,
.single li a {
  font-weight: bold;
}

/* PCでは改行を非表示にする */
.sp-only {
  display: none;
}

/* 767px以下（スマホ）のときだけ改行を有効にする */
@media screen and (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

/* ブログカード */
.blog-card__title {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    line-height: 1.5;
    font-size: 0.8rem;
    color: #333;
}
.blog-card {
    background-color: #e8f3ff;
}

.article-body p,
.article-body li,
.article-body td,
.article-body blockquote {
    font-family: 'Noto Sans JP', sans-serif !important;
    line-height: 1.9;
}

/* ===== 表：PCでも横スクロールする（2026-07-31） ===== */
@media screen and (min-width:600px){

  .wp-block-table.is-style-table__scroll{
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .wp-block-table.is-style-table__scroll > table{
    table-layout: auto;
  }

  .wp-block-table.is-style-table__scroll th,
  .wp-block-table.is-style-table__scroll td{
    min-width: 200px;
  }
  .wp-block-table.is-style-table__scroll th:first-child,
  .wp-block-table.is-style-table__scroll td:first-child{
    min-width: 120px;
  }
}

/* ===== 表：文字サイズ（2026-07-31） ===== */
.wp-block-table th,
.wp-block-table td{
  font-size: 14px;
}

/* ===== A8バナーのホバー演出（全記事共通・2026-07-31） ===== */
.snk-a8-banner a{
  display: inline-block;
  border-radius: 6px;
  transition: opacity .25s ease, transform .25s ease, box-shadow .25s ease;
}
.snk-a8-banner a:hover{
  opacity: .88;
  transform: translateY(-4px);
  box-shadow: 0 12px 26px rgba(23,32,65,.24);
}
.snk-a8-banner a:focus-visible{
  outline: 3px solid #fde047;
  outline-offset: 3px;
}
@media (prefers-reduced-motion:reduce){
  .snk-a8-banner a{ transition: none }
  .snk-a8-banner a:hover{ transform: none }
}

/* ===== リスト：折り返した2行目のインデントを揃える（2026-07-31） ===== */
.article-body ul.wp-block-list:not([class*="is-style-item"]),
.article-body ol.wp-block-list:not([class*="is-style-item"]){
  list-style-position: outside;
  padding-left: 1.5em;
}
.article-body ul.wp-block-list.has-background:not([class*="is-style-item"]),
.article-body ol.wp-block-list.has-background:not([class*="is-style-item"]){
  padding-left: 2.4em;
}

/* ===== 資料バナー（LINE友だち限定の配布物）2026-08-11 =====
   使う場所：同期パターン「資料バナー（目次下）」wp_block 2969
             ／「編集部プロフィール」wp_block 2899 の資料バンド
   HTMLは wp:html で、下のクラスだけを使う（インラインstyleは書かない）。
   ★子要素は必ず .snk-lm 配下にスコープすること。
     .article-body p（0,1,1）に単独クラス（0,1,0）では負ける。 */
.snk-lm {
    position: relative;
    overflow: hidden;
    margin: 40px 0;
    padding: 30px 32px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0a1122 0%, #16203f 58%, #0e1730 100%);
}
/* 右上の弧：大きな円を枠外に置き、overflow:hidden で弧だけ見せる */
.snk-lm::before {
    content: "";
    position: absolute;
    top: -270px;
    right: -210px;
    width: 430px;
    height: 430px;
    border: 2px solid #f0a429;
    border-radius: 50%;
    opacity: .9;
    pointer-events: none;
}
/* 光の粒 */
.snk-lm::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(3px 3px at 88% 44%, rgba(240,164,41,.9) 50%, transparent 51%),
        radial-gradient(2px 2px at 71% 84%, rgba(255,255,255,.45) 50%, transparent 51%),
        radial-gradient(2px 2px at 96% 74%, rgba(255,255,255,.3) 50%, transparent 51%),
        radial-gradient(2px 2px at 58% 20%, rgba(255,255,255,.22) 50%, transparent 51%);
}
.snk-lm .snk-lm__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 28px;
}
.snk-lm .snk-lm__cover {
    flex: 0 0 210px;
    max-width: 100%;
}
.snk-lm .snk-lm__cover a {
    display: block;
    border: 1px solid rgba(255,255,255,.85);
}
.snk-lm .snk-lm__cover img {
    display: block;
    width: 100%;
    height: auto;
}
.snk-lm .snk-lm__body {
    flex: 1 1 auto;
    min-width: 0;
    border-left: 1px solid rgba(240,164,41,.5);
    padding-left: 28px;
}
.snk-lm .snk-lm__label {
    margin: 0 0 10px;
    color: #f0a429;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.5;
}
.snk-lm .snk-lm__title {
    margin: 0 0 8px;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.45;
}
.snk-lm .snk-lm__title span {
    font-size: 15px;
    font-weight: 400;
}
.snk-lm .snk-lm__text {
    margin: 0 0 20px;
    color: rgba(255,255,255,.92);
    font-size: 15px;
    line-height: 1.7;
}
.snk-lm .snk-lm__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #f0a429;
    color: #101a35;
    padding: 14px 32px;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.2;
    transition: transform .15s ease, box-shadow .15s ease;
}
.snk-lm .snk-lm__btn:hover {
    color: #101a35;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,.28);
}
/* スマホ・タブレット：縦積みにして、区切り線を横線へ回す */
@media (max-width: 781px) {
    .snk-lm {
        margin: 32px 0;
        padding: 22px 20px;
        border-radius: 10px;
    }
    .snk-lm::before {
        top: -300px;
        right: -250px;
    }
    .snk-lm .snk-lm__inner {
        display: block;
    }
    .snk-lm .snk-lm__cover {
        max-width: 200px;
        margin: 0 auto 18px;
    }
    .snk-lm .snk-lm__body {
        border-left: 0;
        border-top: 1px solid rgba(240,164,41,.45);
        padding: 18px 0 0;
    }
    .snk-lm .snk-lm__title {
        font-size: 19px;
    }
    .snk-lm .snk-lm__btn {
        display: flex;
        justify-content: center;
        padding: 14px 20px;
    }
}



/* ===== 資料バナー：縦型（サイドバー用）2026-08-11 =====
   .snk-lm に .snk-lm--v を足すと、画面幅に関係なく常に縦積みになる。
   サイドバーは約300pxしかないため、横並びの分岐を待たずに固定する。 */
.snk-lm--v {
    margin: 0 0 24px;
    padding: 20px 18px;
    border-radius: 12px;
}
.snk-lm--v::before {
    top: -330px;
    right: -270px;
}
.snk-lm--v .snk-lm__inner {
    display: block;
}
.snk-lm--v .snk-lm__cover {
    max-width: 100%;
    margin: 0 0 16px;
}
.snk-lm--v .snk-lm__body {
    border-left: 0;
    border-top: 1px solid rgba(240,164,41,.45);
    padding: 16px 0 0;
}
.snk-lm--v .snk-lm__label {
    margin-bottom: 8px;
    font-size: 13px;
}
.snk-lm--v .snk-lm__title {
    margin-bottom: 16px;
    font-size: 17px;
}
.snk-lm--v .snk-lm__title span {
    font-size: 13px;
}
.snk-lm--v .snk-lm__btn {
    display: flex;
    justify-content: center;
    padding: 13px 16px;
    font-size: 15px;
}


