/* =========================================================
   下層ページ（固定ページ／記事）用スタイル  v2.0
   style.css の後に読み込む。共通部品（ヘッダー・フッター・
   お問い合わせ・reveal）は style.css を流用。
   ========================================================= */

/* ---------- ページヘッダー ---------- */
.page-head{position:relative;padding:150px 0 50px;overflow:hidden}
.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:34px;display:flex;flex-wrap:wrap;gap:6px 0}
.breadcrumb a{color:var(--blue)}
.breadcrumb a::after{content:"／";margin:0 8px;color:var(--rule)}
.page-title{font-size:clamp(30px,4.6vw,60px);font-weight:900;line-height:1.2;letter-spacing:.01em;margin:0 0 22px}
.page-lead{font-size:max(14px,1.05vw);line-height:2;max-width:760px;color:var(--text)}

/* ---------- 本文レイアウト ---------- */
.page-body{padding:0 0 110px}
/* 本文エリアだけ白い面に乗せる（方眼・背景アイコンは周囲に残す） */
.page-body>.container{position:relative;z-index:2;background:var(--white);border:1px solid var(--rule);border-radius:2px;padding:clamp(36px,4.6vw,68px) clamp(24px,4.6vw,68px) clamp(44px,5vw,76px)}
.page-body__inner{display:grid;grid-template-columns:240px 1fr;gap:70px;align-items:start}

/* 目次 */
.toc{position:sticky;top:110px;border-top:1px solid var(--rule);padding-top:18px}
.toc__title{font-family:var(--font-head);font-weight:700;font-size:13px;letter-spacing:.1em;color:var(--blue);margin-bottom:12px}
.toc ol{list-style:none;counter-reset:toc}
.toc li{counter-increment:toc;border-bottom:1px solid var(--rule)}
.toc a{display:flex;gap:12px;padding:10px 0;font-size:13.5px;line-height:1.5;transition:color .3s}
.toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--font-head);font-weight:700;color:var(--blue);flex:0 0 auto}
.toc a:hover{color:var(--blue)}

/* 本文 */
.prose{max-width:800px;font-size:15.5px;line-height:2.05}
.prose section{padding:0 0 46px;margin-bottom:46px;border-bottom:1px solid var(--rule)}
.prose section:last-child{border-bottom:0;margin-bottom:0}
.prose h2{font-size:clamp(20px,1.7vw,26px);font-weight:900;line-height:1.4;margin:0 0 18px;display:flex;align-items:baseline;gap:14px;scroll-margin-top:110px}
.prose h2 .num{font-family:var(--font-head);font-weight:700;font-size:.72em;color:var(--blue);letter-spacing:.05em}
.prose h3{font-size:17px;font-weight:700;margin:26px 0 10px}
.prose p{margin:0 0 16px}
.prose p:last-child{margin-bottom:0}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose ul,.prose ol{margin:4px 0 18px;padding-left:1.4em}
.prose li{margin-bottom:6px}
.prose ul li::marker{color:var(--blue)}
.prose ol li::marker{color:var(--blue);font-weight:700}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.prose strong{font-weight:700;color:var(--ink)}
.prose .date{margin-top:20px;font-size:13.5px;color:var(--muted)}

/* ---------- 本文の一般要素（記事・固定ページ共通） ---------- */
.prose h4{font-size:15.5px;font-weight:700;margin:22px 0 8px;color:var(--ink)}
.prose h5,.prose h6{font-size:14.5px;font-weight:700;margin:18px 0 6px;color:var(--blue)}
.prose h3+p,.prose h4+p{margin-top:0}
.prose hr{border:0;border-top:1px solid var(--rule);margin:32px 0}
.prose small{font-size:.86em;color:var(--muted)}
.prose em{font-style:normal;font-weight:700;color:var(--blue)}
.prose mark{background:#fdeee9;color:inherit;padding:0 .2em}
.prose code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em;background:#f1f5f8;border:1px solid var(--rule);border-radius:2px;padding:1px 6px}
.prose pre{background:#1c2b36;color:#e8eef3;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.75;padding:18px 20px;border-radius:2px;overflow-x:auto;margin:0 0 20px}
.prose pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit}

/* 画像・図 */
.prose img{max-width:100%;height:auto;border-radius:2px}
.prose figure{margin:24px 0}
.prose figcaption{font-size:12.5px;color:var(--muted);margin-top:8px;text-align:center;line-height:1.7}
.prose .alignleft{float:left;margin:4px 24px 12px 0;max-width:50%}
.prose .alignright{float:right;margin:4px 0 12px 24px;max-width:50%}
.prose .aligncenter{display:block;margin-inline:auto}
.prose .alignwide,.prose .alignfull{width:100%;max-width:100%}
.prose .wp-block-gallery{margin:24px 0}

/* 引用 */
.prose blockquote{margin:24px 0;padding:18px 24px;border-left:3px solid var(--blue);background:#f6f9fb;color:var(--text)}
.prose blockquote p{margin-bottom:8px}
.prose blockquote p:last-child{margin-bottom:0}
.prose blockquote cite{display:block;font-size:12.5px;color:var(--muted);font-style:normal;margin-top:6px}
.prose .wp-block-pullquote{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:24px 0;margin:28px 0;text-align:center}
.prose .wp-block-pullquote p{font-family:var(--font-head);font-weight:700;font-size:18px;line-height:1.7}

/* 表 */
.prose table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.7;margin:24px 0}
.prose .wp-block-table{margin:24px 0;overflow-x:auto}
.prose .wp-block-table table{margin:0}
.prose th,.prose td{border:1px solid var(--rule);padding:11px 14px;text-align:left;vertical-align:top}
.prose th{background:#f1f5f8;font-weight:700;color:var(--ink);white-space:nowrap}
.prose thead th{border-bottom:2px solid var(--blue)}
.prose tbody tr:nth-child(even) td{background:#fafcfd}
.prose tbody th{background:#f6f9fb}
.prose table caption,.prose .wp-block-table figcaption{caption-side:bottom;font-size:12.5px;color:var(--muted);padding-top:8px;text-align:left}
.prose .wp-block-table.is-style-stripes table{border:0}
.prose .wp-block-table.is-style-stripes td,.prose .wp-block-table.is-style-stripes th{border-left:0;border-right:0}

/* 定義リスト */
.prose dl{margin:16px 0 20px}
.prose dt{font-weight:700;color:var(--ink);margin-top:10px}
.prose dd{margin:2px 0 0 1em;color:var(--text)}

/* ボタン・ボックス（Gutenberg） */
.prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.prose .wp-block-button__link{display:inline-block;line-height:1.2}
.prose .wp-block-button__link{background:var(--teal);color:#fff;border-radius:2px;padding:14px 26px;font-family:var(--font-head);font-weight:700;font-size:14px;text-decoration:none;transition:background .3s}
.prose .wp-block-button__link:hover{background:var(--blue)}
.prose .is-style-outline .wp-block-button__link{background:transparent;color:var(--teal);border:1px solid var(--teal)}
.prose .wp-block-group.has-background,.prose .wp-block-columns.has-background{padding:20px 24px;border-radius:2px}
.prose .wp-block-columns{gap:24px;margin:20px 0}
.prose .wp-block-separator{border:0;border-top:1px solid var(--rule);margin:32px auto;width:100%}
.prose .wp-block-separator.is-style-wide{width:100%}
.prose .wp-block-embed,.prose iframe{max-width:100%;margin:24px 0}
.prose .wp-block-embed__wrapper{position:relative}
.prose .wp-block-embed.is-type-video .wp-block-embed__wrapper{aspect-ratio:16/9}
.prose .wp-block-embed.is-type-video iframe{position:absolute;inset:0;width:100%;height:100%;margin:0}
.prose .wp-block-details{border:1px solid var(--rule);border-radius:2px;padding:12px 16px;margin:16px 0}
.prose .wp-block-details summary{font-weight:700;cursor:pointer;color:var(--ink)}
.prose .has-text-align-center{text-align:center}
.prose .has-text-align-right{text-align:right}
/* テーマ色をブロックエディタの色として使えるように */
.has-zen-blue-color{color:var(--blue)!important}
.has-zen-blue-background-color{background-color:var(--blue)!important;color:#fff}
.has-zen-teal-color{color:var(--teal)!important}
.has-zen-teal-background-color{background-color:var(--teal)!important;color:#fff}
.has-zen-coral-color{color:var(--coral)!important}
.has-zen-coral-background-color{background-color:var(--coral)!important;color:#fff}
.has-zen-sky-color{color:var(--sky)!important}
.has-zen-sky-background-color{background-color:var(--sky-2)!important}
.has-zen-ink-color{color:var(--ink)!important}
.has-zen-ink-background-color{background-color:var(--ink)!important;color:#fff}

/* スマホ：表は横スクロール、回り込み解除 */
@media (max-width:767px){
  .prose table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .prose .wp-block-table table{display:table;white-space:normal;min-width:520px}
  .prose .alignleft,.prose .alignright{float:none;margin:16px auto;max-width:100%;display:block}
  .prose blockquote{padding:14px 16px}
  .prose pre{font-size:12px;padding:14px}
}
/* 補足ボックス（影・角丸なし・1px線） */
.note,/* 補足ボックス（影・角丸なし・1px線） */
.is-style-note{border:1px solid var(--rule);background:rgba(255,255,255,.7);padding:18px 22px;margin:18px 0 4px;font-size:14px;line-height:1.9}
.note__title{font-family:var(--font-head);font-weight:700;color:var(--blue);margin-bottom:6px!important;font-size:13px;letter-spacing:.06em}

/* 定義リスト（コンパクト） */
.def-list--compact{margin-top:14px;font-size:14.5px}
.def-list--compact>div{grid-template-columns:100px 1fr;padding:12px 0}

/* 下層では初回表示（intro）を使わないので、見出しの文字浮上を reveal に任せる */
body.is-page .stage{display:none}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .page-body__inner{grid-template-columns:1fr;gap:34px}
  .toc{position:static;padding-top:14px}
  .toc ol{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
}
@media (max-width:767px){
  .page-body{padding-top:0}
  .page-body>.container{padding:28px 20px 36px;width:calc(100% - 24px);margin-inline:auto}
  .page-head{padding:110px 0 30px}
  .breadcrumb{margin-bottom:22px}
  .page-title{font-size:clamp(26px,7.4vw,34px);margin-bottom:14px}
  .page-lead{font-size:14px;line-height:1.9}
  .page-body{padding:0 0 70px}
  .toc ol{grid-template-columns:1fr}
  .prose{font-size:14.5px;line-height:1.95}
  .prose section{padding-bottom:32px;margin-bottom:32px}
  .prose h2{font-size:19px;gap:10px;scroll-margin-top:90px}
.note,.is-style-note{padding:14px 16px}
  .def-list--compact>div{grid-template-columns:80px 1fr}
}

/* =========================================================
   事業詳細／お知らせ記事／お知らせ一覧（v1.1 追加）
   ========================================================= */

/* ---- 事業詳細・一覧：ページヘッダー右のイラスト ---- */
.page-head--service .container,.page-head .container{position:relative;z-index:2}
.service-hero__illust{position:absolute;right:var(--gutter);top:120px;width:min(26vw,360px);z-index:1;pointer-events:none}
.service-hero__illust--sm{width:min(20vw,260px);top:120px}
.page-head--service .page-title,.page-head--service .page-lead{max-width:62%}
.page-body__inner--wide .prose{max-width:860px}
.page-body__inner--wide{grid-template-rows:auto}
.toc__cta{display:none}
/* チェックリスト */
.prose .check-list,/* チェックリスト */
.prose .is-style-check-list{list-style:none!important;padding-left:0!important}
.prose .check-list li,.prose .is-style-check-list li{position:relative;padding-left:30px;margin-bottom:10px}
.prose .check-list li::before,.prose .is-style-check-list li::before{content:"";position:absolute;left:0;top:.55em;width:16px;height:16px;background:var(--coral);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}

/* 特長グリッド（1px線・影なし） */
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:18px}
.feature{background:rgba(255,255,255,.85);padding:20px 22px}
.feature b{display:block;font-family:var(--font-head);font-weight:900;font-size:16px;margin-bottom:6px;color:var(--ink)}
.feature p{font-size:14px;line-height:1.85;margin:0!important;color:var(--text)}
/* ステップ（線でつなぐ） */
.prose .steps,/* ステップ（線でつなぐ） */
.prose .is-style-steps{list-style:none!important;padding-left:0!important;counter-reset:st;position:relative;margin-top:8px!important}
.prose .steps::before,.prose .is-style-steps::before{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:2px;background:var(--blue)}
.prose .steps li,.prose .is-style-steps li{counter-increment:st;position:relative;padding-left:60px;margin-bottom:22px}
.prose .steps li::before,.prose .is-style-steps li::before{content:counter(st,decimal-leading-zero);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--white);border:2px solid var(--blue);color:var(--blue);font-family:var(--font-head);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.prose .steps b,.prose .is-style-steps b{display:block;font-family:var(--font-head);font-weight:900;font-size:16px;margin:8px 0 2px}
.prose .steps span,.prose .is-style-steps span{font-size:14px;color:var(--text);line-height:1.85}
/* FAQ */
.prose .faq>div,/* FAQ */
.prose .is-style-faq>div{border-bottom:1px solid var(--rule);padding:16px 0}
.prose .faq>div:first-child,.prose .is-style-faq>div:first-child{border-top:1px solid var(--rule)}
.prose .faq dt,.prose .is-style-faq dt{font-weight:700;color:var(--ink);padding-left:30px;position:relative;margin-bottom:6px}
.prose .faq dt::before,.prose .is-style-faq dt::before{content:"Q";position:absolute;left:0;top:0;font-family:var(--font-head);font-weight:900;color:var(--blue)}
.prose .faq dd,.prose .is-style-faq dd{padding-left:30px;position:relative;font-size:14.5px;line-height:1.9}
.prose .faq dd::before,.prose .is-style-faq dd::before{content:"A";position:absolute;left:0;top:0;font-family:var(--font-head);font-weight:900;color:var(--coral)}

/* 他の事業 */
.other-services{grid-column:1/-1;margin-top:40px;border-top:1px solid var(--rule);padding-top:24px}
.other-services .label{margin-bottom:6px}
.other-services ul{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}
.other-services a{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--rule);font-family:var(--font-head);font-weight:700;font-size:15px}
.other-services .num{color:var(--blue);font-size:13px}
.other-services .arrow{margin-left:auto;color:var(--blue);transition:transform .3s var(--ease)}
.other-services a:hover .arrow{transform:translateX(4px)}

/* ---- お知らせ記事 ---- */
.post-meta{display:flex;align-items:center;gap:14px;font-family:var(--font-head);font-weight:500;font-size:14px;color:var(--muted);margin-bottom:14px}
/* .post-cat（カテゴリーのバッジ）は style.css に移動（v3.16.0） */
.page-title--post{font-size:clamp(24px,3.2vw,40px);line-height:1.4;max-width:900px}
.page-body--post .prose--post{max-width:760px;margin:0 auto}
.post-eyecatch{margin:0 0 34px}
.post-eyecatch img{width:100%;height:auto;display:block;border-radius:2px}
.prose--post h2{font-size:22px;margin:38px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--rule);display:block}
.post-nav{max-width:760px;margin:60px auto 0;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;border-top:1px solid var(--rule);padding-top:22px}
.post-nav__label{display:block;font-family:var(--font-head);font-weight:700;font-size:12px;color:var(--blue);margin-bottom:4px}
.post-nav__title{display:block;font-size:13.5px;line-height:1.5}
.post-nav__next{text-align:right}
.post-nav [aria-disabled="true"]{opacity:.4;pointer-events:none}
.post-nav__list{font-family:var(--font-head);font-weight:700;font-size:13px;border:1px solid var(--ink);padding:10px 18px}

/* ---- お知らせ一覧 ---- */
.page-body__inner--list{grid-template-columns:200px 1fr}
.cat-nav{position:sticky;top:110px;border-top:1px solid var(--rule);padding-top:18px}
.cat-nav ul li{border-bottom:1px solid var(--rule)}
.cat-nav a{display:block;padding:10px 0;font-size:13.5px}
.cat-nav a.is-current{font-weight:700;color:var(--blue)}
.news__list--archive a{grid-template-columns:110px auto 1fr;align-items:center;padding:18px 0;font-size:15px}
.news__list--archive .post-cat{justify-self:start}
.pagination{display:flex;gap:6px;margin-top:34px;justify-content:center}
.pagination a{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--rule);font-family:var(--font-head);font-weight:700;font-size:14px;padding:0 12px}
.pagination a.is-current{background:var(--ink);color:#fff;border-color:var(--ink)}

@media (max-width:1000px){
  .page-body__inner--list{grid-template-columns:1fr}
  .cat-nav{position:static}
  .cat-nav ul{display:flex;flex-wrap:wrap;gap:8px}
  .cat-nav ul li{border:0}
  .cat-nav a{border:1px solid var(--rule);padding:6px 14px;font-size:13px}
  .cat-nav a.is-current{border-color:var(--blue)}
  .service-hero__illust{width:min(34vw,300px);top:150px}
}
@media (max-width:767px){
  .service-hero__illust{position:static;width:64%;max-width:280px;display:block;margin:10px auto 0}
  .page-head--service .page-title,.page-head--service .page-lead{max-width:none}
  .feature-grid{grid-template-columns:1fr}
  .other-services ul{grid-template-columns:1fr}
  .post-nav{grid-template-columns:1fr 1fr;grid-template-areas:"prev next" "list list";gap:12px}
  .post-nav__prev{grid-area:prev}
.post-nav__next{grid-area:next}
  .post-nav__list{grid-area:list;justify-self:center;margin-top:6px}
  .post-nav__title{display:none}
  .news__list--archive a{grid-template-columns:auto auto;gap:8px 12px;padding:14px 0}
  .news__list--archive a>span:last-child{grid-column:1/3}
  .toc__cta{display:none}
}

/* ===== 私たちについて／会社概要／事業一覧（v1.2 追加） ===== */
.prose .statement{font-family:var(--font-head);font-weight:900;font-size:clamp(20px,1.9vw,28px);line-height:1.5;color:var(--ink);margin:0 0 16px}
.feature-grid--3{grid-template-columns:repeat(3,1fr)}
.feature__num{display:block;font-family:var(--font-head);font-weight:700;color:var(--blue);font-size:13px;margin-bottom:8px}
.service-links{list-style:none!important;padding:0!important;margin:8px 0 0!important}
.service-links li{margin:0}
.service-links a{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--rule);font-family:var(--font-head);font-weight:700;font-size:16px;text-decoration:none}
.service-links li:first-child a{border-top:1px solid var(--rule)}
.service-links .num{color:var(--blue);font-size:13px}
.service-links .arrow{margin-left:auto;color:var(--blue);transition:transform .3s var(--ease)}
.service-links a:hover .arrow{transform:translateX(4px)}
.def-list--company>div{grid-template-columns:140px 1fr;padding:16px 0}
.def-list--company .sub{font-size:12px;color:var(--muted)}
.map-embed{margin-top:18px;border:1px solid var(--rule)}
.map-embed iframe{display:block;width:100%}

/* 事業一覧カード */
.service-cards{list-style:none;padding:0;margin:0}
.service-card{display:grid;grid-template-columns:320px 1fr;gap:50px;align-items:center;padding:50px 0;border-bottom:1px solid var(--rule)}
.service-card:first-child{border-top:1px solid var(--rule)}
.service-card:nth-child(even){grid-template-columns:1fr 320px}
.service-card:nth-child(even) .service-card__illust{order:2}
.service-card__illust{position:static;width:100%;justify-self:center}
.service-card__title{font-size:clamp(20px,1.9vw,28px);font-weight:900;line-height:1.4;margin:4px 0 10px}
.service-card__title .arrow{color:var(--blue);display:inline-block;transition:transform .3s var(--ease)}
.service-card__title a:hover .arrow{transform:translateX(4px)}
.service-card__lead{font-weight:700;color:var(--ink);margin:0 0 10px}
.service-card__desc{font-size:14.5px;line-height:1.95;color:var(--text);margin:0}
@media (max-width:1000px){
  .feature-grid--3{grid-template-columns:1fr}
  .service-card,.service-card:nth-child(even){grid-template-columns:220px 1fr;gap:30px}
}
@media (max-width:767px){
  .service-card,.service-card:nth-child(even){grid-template-columns:1fr;gap:16px;padding:32px 0}
  .service-card__illust,.service-card:nth-child(even) .service-card__illust{order:0;width:60%;max-width:240px}
  .def-list--company>div{grid-template-columns:90px 1fr}
  .service-links a{font-size:15px}
}

/* ---------- お知らせ一覧 ---------- */
.news-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.news-filter a{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);border-radius:2px;padding:7px 14px;font-family:var(--font-head);font-weight:700;font-size:13px;color:var(--text);transition:border-color .3s,color .3s}
.news-filter a:hover{border-color:var(--blue);color:var(--blue)}
.news-filter a.is-current{background:var(--ink);border-color:var(--ink);color:#fff}
.news-filter__n{font-weight:500;font-size:11px;opacity:.7}
.news-cards{list-style:none;border-top:1px solid var(--rule)}
.news-card{border-bottom:1px solid var(--rule)}
.news-card__link{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:26px 4px;align-items:start;transition:background .3s}
.news-card__link:hover{background:#f6f9fb}
.news-card__thumb{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:2px;background:#f1f5f8}
.news-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.news-card__thumb--illust{display:flex;align-items:center;justify-content:center}
.news-card__thumb--illust img{width:80%;height:auto;object-fit:contain}
.news-card__link:hover .news-card__thumb img{transform:scale(1.03)}
.news-card__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--font-head);font-weight:500;font-size:13px;color:var(--muted);margin-bottom:8px}
.news-card__new{font-weight:700;font-size:11px;letter-spacing:.08em;color:var(--coral)}
.news-card__title{font-size:clamp(16px,1.4vw,19px);font-weight:900;line-height:1.5;margin:0 0 8px;color:var(--ink);transition:color .3s}
.news-card__link:hover .news-card__title{color:var(--blue)}
.news-card__excerpt{font-size:14px;color:var(--text);line-height:1.85;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-card__more{font-size:13px}
.news-empty{padding:40px 0;color:var(--muted)}
.news-empty p{margin-bottom:12px}
@media (max-width:767px){
  .news-filter{gap:6px;margin-bottom:18px}
  .news-filter a{padding:6px 11px;font-size:12px}
  .news-card__link{grid-template-columns:104px 1fr;gap:14px;padding:16px 0}
  .news-card__thumb{aspect-ratio:1/1}
  .news-card__title{font-size:15px}
  .news-card__excerpt{font-size:12.5px;margin-bottom:6px}
  .news-card__more{display:none}
}

/* ===== 代表挨拶（本文はカラムブロック：左 写真／右 文章。エディタでも同じ見た目） ===== */
.prose--message{max-width:none}
.prose--message .wp-block-columns.message{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:clamp(36px,5vw,72px);align-items:start;margin:0}
.prose--message .wp-block-column.message__photo{position:sticky;top:110px;flex-basis:auto!important}
.prose--message .message__photo .wp-block-image{margin:0}
.prose--message .message__photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px}
.prose--message .message__photo .message__pos{font-size:12px;letter-spacing:.08em;color:var(--muted);margin:14px 0 0;padding-left:14px;border-left:3px solid var(--blue);line-height:1.6}
.prose--message .message__photo .message__name{font-family:var(--font-head);font-size:20px;font-weight:700;color:var(--ink);margin:0;padding-left:14px;border-left:3px solid var(--blue);line-height:1.5}
.prose--message .message__body{max-width:720px}
.prose--message h2{position:relative;font-size:clamp(24px,2.6vw,34px);line-height:1.5;letter-spacing:.02em;margin:0 0 28px;padding:0 0 22px;border:0;display:block}
.prose--message h2::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;background:var(--coral)}
.prose--message h2 .num{display:none}
.prose--message p{font-size:16px;line-height:2.1;margin:0 0 1.6em;color:var(--ink)}
.prose--message .message__sign{text-align:right;font-size:13px;color:var(--muted);line-height:1.8;margin:40px 0 0;padding-top:26px;border-top:1px solid var(--rule)}
.prose--message .message__sign strong{display:block;font-family:var(--font-head);font-size:26px;font-weight:700;letter-spacing:.06em;color:var(--ink);margin-top:6px}
.message__links{display:flex;gap:36px;flex-wrap:wrap;margin-top:56px;padding-top:28px;border-top:1px solid var(--rule)}
@media (max-width:900px){
  .prose--message .wp-block-columns.message{grid-template-columns:1fr;gap:30px}
  .prose--message .wp-block-column.message__photo{position:static;max-width:300px;margin:0 auto;width:100%}
  .prose--message h2{font-size:22px}
  .prose--message p{font-size:15px;line-height:2}
  .prose--message .message__sign strong{font-size:22px}
}

/* 事業内容ページ：本文＋カード */
.prose--services{max-width:none}
.prose--services .service-cards{margin-top:8px}
.prose--services h2.service-card__title{margin:0 0 10px;padding:0;border:0;font-size:inherit}
.prose--services h2.service-card__title::before,.prose--services h2.service-card__title::after{display:none}
.prose--services>p:empty{display:none}
.prose--services .service-card__title a{text-decoration:none;color:var(--ink);background:none;border:0}
.prose--services .service-card__title a:hover{color:var(--blue)}
/* 会社概要の表（ブロックエディタの表ブロック、className: company-table） */
.prose .wp-block-table.company-table table,/* 会社概要の表（ブロックエディタの表ブロック、className: company-table） */
.prose .wp-block-table.is-style-company-table table{border:0;border-top:1px solid var(--rule)}
.prose .wp-block-table.company-table th,.prose .wp-block-table.is-style-company-table th,.prose .wp-block-table.company-table td,.prose .wp-block-table.is-style-company-table td{border:0;border-bottom:1px solid var(--rule);padding:16px 8px 16px 0;vertical-align:top;background:none;text-align:left;font-size:15px;line-height:1.8}
.prose .wp-block-table.company-table th,.prose .wp-block-table.is-style-company-table th{width:140px;font-weight:700;color:var(--ink);white-space:nowrap}
.prose .wp-block-table.company-table .sub,.prose .wp-block-table.is-style-company-table .sub{font-size:12px;color:var(--muted)}
@media (max-width:767px){.prose .wp-block-table.company-table table,.prose .wp-block-table.is-style-company-table table{min-width:0}
.prose .wp-block-table.company-table th,.prose .wp-block-table.is-style-company-table th{width:90px}
}

/* ===== お問い合わせページ（左：ご案内／右：フォーム） ===== */
.contact-grid{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:clamp(36px,5vw,72px);align-items:start}
.contact-info{position:sticky;top:110px}
.contact-info__title{font-family:var(--font-head);font-size:22px;font-weight:700;line-height:1.4;margin:6px 0 20px;color:var(--ink)}
.contact-info__list{border-top:1px solid var(--rule);margin:0 0 28px}
.contact-info__list>div{display:grid;grid-template-columns:88px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--rule);font-size:14px;line-height:1.7}
.contact-info__list dt{font-weight:700;color:var(--ink)}
.contact-info__list .sub{font-size:12.5px;color:var(--muted)}
.contact-info__sub{font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--blue);margin:0 0 10px}
.contact-info__topics{list-style:none;padding:0;margin:0 0 24px}
.contact-info__topics li{display:flex;gap:10px;font-size:14px;line-height:1.7;padding:6px 0;border-bottom:1px dashed var(--rule)}
.contact-info__topics .num{font-family:var(--font-head);font-weight:700;color:var(--blue);flex:0 0 24px}
.contact-info__note{font-size:12.5px;color:var(--muted);line-height:1.8;margin:0}
.contact-info__note a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.prose--contact{max-width:none}
.prose--contact>p:first-child{margin-bottom:22px}
/* プラグイン（ZEN お問い合わせフォーム）の見た目をテーマに合わせる。プラグインのインライン CSS より後勝ちになるよう詳細度を上げる */
.page-body--contact .contact-form .zcf{max-width:none;margin:0}
.page-body--contact .contact-form .zcf-form{background:#f6f9fb;border:1px solid var(--rule);border-radius:2px;padding:clamp(22px,3vw,36px)}
.page-body--contact .contact-form .zcf-row{margin:0 0 20px}
.page-body--contact .contact-form .zcf-row label{font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--ink);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.page-body--contact .contact-form .zcf-req{background:var(--coral);color:#fff;border-radius:2px;font-size:11px;padding:2px 7px;margin:0;line-height:1.4;font-weight:700}
.page-body--contact .contact-form .zcf-form input[type=text],.page-body--contact .contact-form .zcf-form input[type=email],.page-body--contact .contact-form .zcf-form textarea{border:1px solid #c9d6e0;border-radius:2px;padding:13px 14px;font-size:15.5px;font-family:var(--font-body);line-height:1.6;background:#fff;color:var(--text);transition:border-color .2s,box-shadow .2s}
.page-body--contact .contact-form .zcf-form input:focus,.page-body--contact .contact-form .zcf-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(12,98,131,.14);outline:none}
.page-body--contact .contact-form .zcf-form textarea{min-height:200px;resize:vertical}
.page-body--contact .contact-form .zcf-submit{margin:28px 0 0;text-align:center}
.page-body--contact .contact-form .zcf-submit button{background:var(--coral);color:#fff;border:0;border-radius:2px;padding:16px 56px;font-family:var(--font-head);font-weight:700;font-size:16px;letter-spacing:.04em;cursor:pointer;transition:background .3s,transform .3s}
.page-body--contact .contact-form .zcf-submit button:hover{background:#d9512f;opacity:1;transform:translateY(-1px)}
.page-body--contact .contact-form .zcf-submit button:disabled{background:#bbb;transform:none}
.page-body--contact .contact-form .zcf-errors{background:#fdeee9;border:1px solid var(--coral);border-radius:2px;color:#9b2f1a;padding:14px 18px 14px 34px;margin:0 0 20px;font-size:14px}
.page-body--contact .contact-form .zcf-done{background:#eef6fb;border:1px solid var(--blue);border-radius:2px;color:var(--ink);padding:28px 30px;margin:0;font-size:15.5px;line-height:1.9}
.page-body--contact .contact-form .zcf-done::before{content:"送信が完了しました";display:block;font-family:var(--font-head);font-weight:700;font-size:20px;color:var(--blue);margin-bottom:10px}
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr;gap:34px}
  .contact-info{position:static;order:2}
  .contact-form{order:1}
  .page-body--contact .contact-form .zcf-submit button{width:100%;padding:16px 20px}
}
/* ===== 事業詳細：本文をブロックで編集できる形（リストブロック＋クラス名） ===== */
/* こんな課題に：リストブロック className "check-list"（既存スタイルを流用） */
/* 特長：リストブロック className "feature-list"。各項目は「太字の見出し＋改行＋説明」 */
.prose ul.feature-list,/* ===== 事業詳細：本文をブロックで編集できる形（リストブロック＋クラス名） ===== */
/* こんな課題に：リストブロック className "check-list"（既存スタイルを流用） */
/* 特長：リストブロック className "feature-list"。各項目は「太字の見出し＋改行＋説明」 */
.prose ul.is-style-feature-list{list-style:none!important;padding:0!important;margin:18px 0 24px;display:grid!important;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.prose ul.feature-list li,.prose ul.is-style-feature-list li{background:rgba(255,255,255,.9);padding:20px 22px;margin:0;font-size:14px;line-height:1.85;color:var(--text);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.prose ul.feature-list li strong,.prose ul.is-style-feature-list li strong{display:block;font-family:var(--font-head);font-weight:900;font-size:16px;margin-bottom:6px;color:var(--ink)}
/* 進め方：番号付きリストブロック className "steps"。各項目は「太字の見出し＋改行＋説明」 */
.prose ol.steps li,/* 進め方：番号付きリストブロック className "steps"。各項目は「太字の見出し＋改行＋説明」 */
.prose ol.is-style-steps li{font-size:14px;color:var(--text);line-height:1.85}
.prose ol.steps li::marker,.prose ol.is-style-steps li::marker{content:""}
.prose ol.steps li strong,.prose ol.is-style-steps li strong{display:block;font-family:var(--font-head);font-weight:900;font-size:16px;margin:8px 0 2px;color:var(--ink)}
/* FAQ：リストブロック className "faq"。各項目は「太字の質問＋改行＋回答」 */
.prose ul.faq,/* FAQ：リストブロック className "faq"。各項目は「太字の質問＋改行＋回答」 */
.prose ul.is-style-faq{list-style:none!important;padding:0!important;margin:0;border-top:1px solid var(--rule)}
.prose ul.faq li,.prose ul.is-style-faq li{position:relative;border-bottom:1px solid var(--rule);padding:16px 0 16px 30px;margin:0;font-size:14.5px;line-height:1.9}
.prose ul.faq li::before,.prose ul.is-style-faq li::before{content:"A";position:absolute;left:0;top:calc(16px + 1.9em + 6px);font-family:var(--font-head);font-weight:900;color:var(--coral)}
.prose ul.faq li strong,.prose ul.is-style-faq li strong{display:block;position:relative;font-weight:700;color:var(--ink);margin-bottom:6px}
.prose ul.faq li strong::before,.prose ul.is-style-faq li strong::before{content:"Q";position:absolute;left:-30px;top:0;font-family:var(--font-head);font-weight:900;color:var(--blue)}
/* 料金の補足：グループブロック className "note"（見出し「補足」は自動） */
.prose .wp-block-group.note,/* 料金の補足：グループブロック className "note"（見出し「補足」は自動） */
.prose .wp-block-group.is-style-note{border:1px solid var(--rule);background:rgba(255,255,255,.7);padding:18px 22px;margin:18px 0 4px;font-size:14px;line-height:1.9}
.prose .wp-block-group.note::before,.prose .wp-block-group.is-style-note::before{content:"補足";display:block;font-family:var(--font-head);font-weight:700;color:var(--blue);margin-bottom:6px;font-size:13px;letter-spacing:.06em}
.prose .wp-block-group.note p:last-child,.prose .wp-block-group.is-style-note p:last-child{margin-bottom:0}
@media (max-width:767px){.prose ul.feature-list,.prose ul.is-style-feature-list{grid-template-columns:1fr} }
/* 「太字＋改行＋説明」形式：太字をブロック表示にしているので、直後の改行は余分な空行になるため消す */
.prose ul.feature-list li strong+br,/* 「太字＋改行＋説明」形式：太字をブロック表示にしているので、直後の改行は余分な空行になるため消す */
.prose ul.is-style-feature-list li strong+br,.prose ol.steps li strong+br,.prose ol.is-style-steps li strong+br,.prose ul.faq li strong+br,.prose ul.is-style-faq li strong+br{display:none}

/* ボタンブロックのスタイル「コーラル」 */
.prose .wp-block-button.is-style-coral .wp-block-button__link{background:var(--coral);color:#fff}
.prose .wp-block-button.is-style-coral .wp-block-button__link:hover{background:#d9512f}
/* 段落スタイル「注記（小さく）」「リード（大きく）」 */
.prose p.is-style-small{font-size:13px;color:var(--muted);line-height:1.8}
.prose p.is-style-lead{font-size:18px;line-height:1.9;font-weight:500;color:var(--ink)}
/* フォーム周りの保険：ハニーポット・hidden・空段落が何かの拍子に見えないように */
.page-body--contact .zcf-hp{position:absolute!important;left:-9999px!important;top:-9999px!important;width:0!important;height:0!important;overflow:hidden!important}
.page-body--contact input[type=hidden]{display:none!important}
.prose--contact>p:empty,.prose--contact .wp-block-paragraph:empty{display:none}

/* SECURITY ACTION 二つ星（v3.20.3） */
.sa-badge{display:flex;align-items:center;gap:20px;margin:28px 0;padding:20px 24px;background:var(--white);border:1px solid var(--rule);border-radius:2px}
.sa-badge__mark{flex:0 0 auto;display:block;line-height:0}
.sa-badge__mark img{width:96px;height:96px}
.sa-badge__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.prose .sa-badge__title{margin:0;font-family:var(--font-head);font-weight:900;font-size:16px;line-height:1.5;color:var(--ink)}
.prose .sa-badge__text{margin:0;font-size:13px;line-height:1.85;color:var(--muted)}
.prose .sa-badge__link{font-size:13px;font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.contact-info__sa{display:flex;align-items:center;gap:12px;margin-top:18px;padding:10px 12px;background:var(--white);border:1px solid var(--rule);border-radius:2px}
.contact-info__sa img{flex:0 0 auto;width:56px;height:56px}
.contact-info__sa p{margin:0;font-size:12px;line-height:1.75;color:var(--muted)}
.contact-info__sa a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
@media (max-width:600px){.sa-badge{flex-direction:column;align-items:flex-start;gap:12px;padding:18px}}

/* 便利ツールのページ（v3.21.0）：装飾を少なく、目次なしの 1 列（幅 880） */
.tool-wrap{max-width:880px;margin:0 auto;padding:0 24px}
.tool-head{padding:130px 0 0}
.tool-head .breadcrumb{margin-bottom:24px}
.tool-head__title{display:flex;align-items:center;gap:18px}
.tool-head__title > svg{flex:0 0 auto;display:block}
.tool-head__label{margin:0 0 2px;font-family:var(--font-head);font-weight:700;font-size:13px;letter-spacing:.08em;color:var(--blue)}
.tool-head__h1{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 12px;line-height:1.35;color:#1e1e1e}
.tool-head__name{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:34px;letter-spacing:.04em}
.tool-head__sub{font-family:var(--font-head);font-weight:900;font-size:26px;color:var(--ink)}
.tool-head__lead{margin:16px 0 0;font-size:15px;line-height:1.95}
.tool-page{padding:28px 0 80px}
.tool-page .prose{max-width:880px}
.tool-page .prose h2{font-size:20px;margin:40px 0 12px}
.tool-page .prose .wp-block-details{border-bottom:1px solid var(--rule);padding:14px 0;margin:0}
.tool-page .prose .wp-block-details:first-of-type{border-top:1px solid var(--rule)}
.tool-page .prose .wp-block-details summary{cursor:pointer;font-weight:700;color:var(--ink)}
.tool-page .prose .wp-block-details p{margin:6px 0 0;font-size:14px}
@media (max-width:767px){
  .tool-head{padding:100px 0 0}
  .tool-wrap{padding:0 16px}
  .tool-head__title{align-items:flex-start;gap:12px}
  .tool-head__title > svg{width:48px;height:48px}
  .tool-head__name{font-size:26px}
  .tool-head__sub{font-size:18px}
}
