@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ============================================================
   ポジティブブレイン カスタムCSS
   site/css/style.css をブロックエディター向けに移植したもの。
   ヘッダー・フッター・ナビ・パンくずはSWELL機能に委譲（ここでは扱わない）
   ============================================================ */

:root{
  --navy:#152570; --navy-deep:#0E1A52; --indigo-light:#EEF1FA; --indigo-mid:#D6DEF5; --blue-mid:#3D55B8;
  --red:#D9030E; --red-hover:#B5020B; --ink:#1E2433; --sub:#5A6480; --line:#DCE0F0; --white:#FFFFFF;
}

/* ---- 基本 ---- */
.num{font-family:'Inter','Noto Sans JP',sans-serif;font-weight:700;}
.container{max-width:1120px;margin:0 auto;padding:0 24px;}
.container.mw-760{max-width:760px;}
.container.mw-820{max-width:820px;}
.container.mw-860{max-width:860px;}
.mw-780{max-width:780px;}

/* 固定ページはpage-heroを自作しているため、SWELL標準のページタイトルを非表示 */
.page .c-pageTitle{display:none;}

/* セクション同士を密着させる（SWELL本文のブロック間マージンを無効化） */
.post_content > .alignfull{margin-top:0;margin-bottom:0;}

/* alignfullセクション内は記事幅(900px)の制限を解除し、自前の.container(1120px)で幅管理する */
.post_content .alignfull > .wp-block-group__inner-container{max-width:none;width:100%;}

/* ---- セクション ---- */
.pb-sec{padding:96px 0;}
.pb-sec.slim{padding:72px 0;}
.bg-tint{background:var(--indigo-light);}
.section-label{color:var(--blue-mid);font-size:14px;font-weight:700;letter-spacing:.12em;margin-bottom:12px;font-family:'Inter','Noto Sans JP',sans-serif;}
.post_content .pb-sec h2,
.post_content .big-cta h2{background:none;border:none;padding:0;color:var(--navy);font-size:32px;font-weight:700;line-height:1.4;margin:0 0 16px;}
.post_content .pb-sec h2::before,.post_content .pb-sec h2::after,
.post_content .big-cta h2::before,.post_content .big-cta h2::after{content:none;}
.post_content .pb-sec h3{background:none;border:none;padding:0;margin:0;color:var(--navy);}
.post_content .pb-sec h3::before,.post_content .pb-sec h3::after{content:none;}
.section-lead{color:var(--sub);max-width:720px;margin-bottom:48px;}

/* ---- ボタン（コアのボタンブロック用） ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;border-radius:8px;padding:14px 28px;transition:.2s;cursor:pointer;text-decoration:none;}
.btn-red{background:var(--red);color:#fff;}
.btn-red:hover{background:var(--red-hover);color:#fff;}
.btn-line{border:2px solid #06C755;color:#06C755;background:#fff;}
.btn-line:hover{background:#06C75510;}
.btn small{font-weight:500;font-size:12px;}
.wp-block-button.btn-ghost .wp-block-button__link{border:1.5px solid var(--navy);color:var(--navy);background:transparent;border-radius:8px;font-weight:700;padding:14px 28px;}
.wp-block-button.btn-ghost .wp-block-button__link:hover{background:var(--navy);color:#fff;}
.wp-block-button.btn-line-wp .wp-block-button__link{border:2px solid #06C755;color:#06C755;background:#fff;border-radius:8px;font-weight:700;padding:14px 28px;}
.wp-block-button.btn-line-wp .wp-block-button__link:hover{background:#06C75510;}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:8px;}

/* ---- ヘッダーCTA（グローバルナビ末尾のメニュー項目をボタン化） ---- */
.c-gnav > li.header-cta-btn{display:flex;align-items:center;margin-left:12px;}
.c-gnav > li.header-cta-btn > a{background:var(--red);color:#fff;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:700;line-height:1.4;transition:.2s;}
.c-gnav > li.header-cta-btn > a:hover{background:var(--red-hover);}
.c-gnav > li.header-cta-btn > a::before,.c-gnav > li.header-cta-btn > a::after{content:none;}
/* スマホ開閉メニュー内では通常リンク表示のまま */

/* ---- フッターウィジェット（3カラム: ロゴ+住所 / SERVICE / COMPANY） ---- */
.l-footer img.pb-footer-logo{height:30px !important;width:auto !important;margin-bottom:16px;}
.l-footer .widget_text{font-size:13px;opacity:.75;line-height:2;}
.l-footer .c-widget__title.-footer{font-size:13px;font-weight:700;opacity:.6;letter-spacing:.1em;font-family:'Inter','Noto Sans JP',sans-serif;}
.l-footer .widget_nav_menu a{font-size:13.5px;opacity:.85;padding:5px 0;}
.l-footer .widget_nav_menu a:hover{opacity:1;}

/* ---- TOP: ヒーロー ---- */
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#FFFFFF 0%,#EEF1FA 100%);padding:96px 0 140px;}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 44%,rgba(255,255,255,.30) 100%);}
.hero .container{position:relative;z-index:2;}
.wp-block-columns.hero-grid{gap:56px;align-items:center !important;}
@media (min-width:901px){
  .wp-block-columns.hero-grid > .wp-block-column:first-child{flex:1.12 1 0% !important;}
  .wp-block-columns.hero-grid > .wp-block-column:last-child{flex:.88 1 0% !important;}
}
.post_content .hero h1{background:none;border:none;padding:0;color:var(--navy);font-size:46px !important;font-weight:700;line-height:1.35;letter-spacing:.02em;margin:0 0 20px;}
.hero h1 .quote{color:var(--red);}
.hero-sub{font-size:17px;color:var(--ink);margin-bottom:32px;max-width:34em;}
.hero-note{font-size:12px;color:var(--sub);margin-top:12px;}

/* ヒーローのダッシュボードカード（カスタムHTMLブロック内） */
.hero-visual-wrap{position:relative;}
/* チャートSVGの固有幅(440px)がカラムの最小幅を押し広げないようにする（スマホはみ出し対策） */
.wp-block-column.hero-visual-wrap{min-width:0;}
.hv-chart{max-width:100%;}
.hero-visual{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 22px 16px;box-shadow:0 18px 48px rgba(21,37,112,.14);}
.hv-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.hv-kgi{background:var(--navy);color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em;border-radius:4px;padding:2px 8px;font-family:'Inter',sans-serif;}
.hv-title2{font-size:13.5px;font-weight:700;color:var(--ink);}
.hv-img{margin-left:auto;font-size:10.5px;color:var(--sub);}
.hv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;}
.hv-kpi{background:var(--indigo-light);border-radius:10px;padding:10px 12px;}
.k-label{font-size:11px;color:var(--sub);font-weight:500;}
.k-val{font-size:21px;color:var(--navy);line-height:1.25;}
.k-val em{font-style:normal;font-size:12px;font-weight:700;}
.k-sub{font-size:10.5px;color:var(--blue-mid);font-weight:500;}
.hv-chartwrap{position:relative;margin:4px 0 2px;}
.hv-goal{position:absolute;top:0;right:6px;background:var(--red);color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:3px 11px;}
.hv-chart{width:100%;height:auto;display:block;}
.hv-chips{display:flex;gap:8px;margin:0 0 12px;flex-wrap:wrap;}
.hv-chip{font-size:11.5px;font-weight:700;color:var(--navy);background:var(--indigo-light);border-radius:999px;padding:4px 12px;}
.hv-float{position:absolute;left:-30px;bottom:-58px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 18px 12px;box-shadow:0 10px 28px rgba(21,37,112,.18);}
.f-title{font-size:11.5px;font-weight:700;color:var(--navy);margin-bottom:5px;letter-spacing:.04em;}
.f-item{font-size:12px;color:var(--ink);padding:1.5px 0;display:flex;align-items:center;gap:7px;}
.f-item svg{width:13px;height:13px;color:var(--blue-mid);flex-shrink:0;}

/* ---- 実績数字バー（同期パターン + ラッパーで出し分け） ---- */
.wp-block-columns.pb-stats-grid{gap:24px;}
.stats{background:var(--navy);color:#fff;padding:44px 0;}
.stats .pb-stat-num{font-family:'Inter','Noto Sans JP',sans-serif;font-size:44px;font-weight:800;line-height:1.1;color:#fff;margin:0;}
.stats .pb-stat-num em{font-style:normal;font-size:20px;margin-left:2px;}
.stats .pb-stat-label{font-size:14px;font-weight:500;opacity:.85;margin-top:6px;color:#fff;}
.stats .pb-stats-note{font-size:11px;opacity:.6;margin-top:20px;line-height:1.6;color:#fff;}
.stats-cards .wp-block-column{background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px 28px;box-shadow:0 2px 8px rgba(21,37,112,.06);}
.stats-cards .pb-stat-num{font-family:'Inter','Noto Sans JP',sans-serif;font-size:38px;font-weight:700;color:var(--navy);margin:0;}
.stats-cards .pb-stat-num em{font-style:normal;font-size:18px;}
.stats-cards .pb-stat-label{margin-top:6px;}
.stats-cards .pb-stats-note{font-size:13px;color:var(--sub);margin-top:24px;text-align:left;}

/* ---- カード類（columnsブロックに付与） ---- */
.wp-block-columns.cards3,.wp-block-columns.keys,.wp-block-columns.case-grid,
.wp-block-columns.flow,.wp-block-columns.grid2,.wp-block-columns.contact-alt,
.wp-block-columns.svc-row{gap:24px;}
.wp-block-columns.svc-row + .wp-block-columns.svc-row{margin-top:24px;}
.wp-block-columns.grid2 + .wp-block-columns.grid2{margin-top:24px;}
.wp-block-column.p-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px 28px;box-shadow:0 2px 8px rgba(21,37,112,.06);}
.p-icon-wrap{width:72px;height:72px;border-radius:18px;background:var(--indigo-light);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.p-icon{width:40px;height:40px;color:var(--navy);}
.post_content .p-card h3{font-size:18px;margin-bottom:10px;line-height:1.5;}
.p-card p{font-size:14px;color:var(--sub);}

/* ---- SOLUTION: 3つの鍵 ---- */
.wp-block-column.key-card{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:30px 24px;text-align:center;}
.key-tag{font-family:'Inter',sans-serif;font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--blue-mid);display:block;margin-bottom:12px;}
.key-icon{width:60px;height:60px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.key-icon svg{width:30px;height:30px;}
.post_content .key-card h3{font-size:18px;margin-bottom:8px;}
.key-card p{font-size:13.5px;color:var(--sub);text-align:left;}
.keys-arrow{text-align:center;color:var(--navy);font-size:24px;line-height:1;margin:16px 0;}
.keys-goal{background:var(--navy);color:#fff;border-radius:12px;padding:26px;text-align:center;}
.keys-goal .big{font-size:22px;font-weight:700;color:#fff;margin:0;}
.keys-goal .big b,.keys-goal .big strong{color:#FFD9DB;}
.keys-goal p{font-size:13.5px;opacity:.85;margin-top:6px;color:#fff;}
.keys-goal p.big{font-size:22px;opacity:1;margin-top:0;}
.keys-goal p.big + p{margin-top:6px;}

/* ---- サービスカード ---- */
.wp-block-column.svc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px 28px 30px;position:relative;box-shadow:0 2px 8px rgba(21,37,112,.06);display:flex;flex-direction:column;}
.svc-badge{position:absolute;top:-12px;left:28px;background:var(--red);color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:3px 14px;z-index:2;margin:0;}
.wp-block-image.svc-visual{background:var(--indigo-light);border-radius:10px;height:150px;margin:0 0 20px;overflow:hidden;}
.wp-block-image.svc-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.post_content .svc h3{font-size:20px;margin-bottom:10px;}
.svc > p{font-size:14px;color:var(--sub);}
.svc > p.svc-more{margin-top:auto;padding-top:18px;font-size:14px;font-weight:700;}
.svc > p.svc-more a{color:var(--blue-mid);text-decoration:none;font-weight:700;}

/* ---- 選ばれる理由 ---- */
.wp-block-columns.reason-grid{gap:56px;align-items:center !important;margin-top:48px;}
@media (min-width:901px){
  .wp-block-columns.reason-grid > .wp-block-column:first-child{flex:.85 1 0% !important;}
  .wp-block-columns.reason-grid > .wp-block-column:last-child{flex:1.15 1 0% !important;}
}
.wp-block-image.reason-visual{border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(21,37,112,.12);margin:0;}
.wp-block-image.reason-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.wp-block-group.reason{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;}
.wp-block-group.reason > .wp-block-group__inner-container{display:grid;grid-template-columns:56px 1fr;column-gap:18px;align-items:start;}
.wp-block-group.reason + .wp-block-group.reason{margin-top:18px;}
.reason .reason-no{grid-column:1;grid-row:1 / span 2;font-size:30px;color:var(--navy);font-weight:800;line-height:1;padding-top:4px;text-align:center;font-family:'Inter',sans-serif;margin:0;}
.post_content .reason h3{grid-column:2;font-size:17.5px;margin-bottom:6px;}
.reason p:not(.reason-no){grid-column:2;font-size:13.5px;color:var(--sub);}

/* ---- 実績・事例カード ---- */
.wp-block-column.case{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:0;}
.case-head{background:var(--indigo-light);color:var(--navy);font-size:13px;font-weight:700;padding:10px 20px;margin:0;}
.case-body{padding:22px 20px;}
.post_content .case-body h3{font-size:16px;margin-bottom:8px;line-height:1.5;}
.case-body p{font-size:13.5px;color:var(--sub);}
.placeholder{border:1.5px dashed var(--line);border-radius:12px;padding:32px;text-align:center;color:var(--sub);font-size:14px;background:#fff;margin-top:32px;}

/* ---- 会社案内: 専門家チーム ---- */
.wp-block-image.team-photo{margin:0 0 18px;}
.team-photo img{width:128px;height:128px;object-fit:cover;border-radius:50%;display:block;}
.team-role{font-size:12.5px;color:var(--blue-mid);font-weight:700;margin:2px 0 10px;}
.team-card p:not(.team-role){font-size:14px;color:var(--sub);}

/* ---- 実績・事例 v2.1 ---- */
.wp-block-image.case-img{margin:0;}
.case-img img{width:100%;height:140px;object-fit:cover;display:block;}
.wp-block-group.case-detail{background:#fff;border:1px solid var(--line);border-radius:12px;padding:40px;box-shadow:0 2px 8px rgba(21,37,112,.06);}
.wp-block-group.case-detail + .wp-block-group.case-detail{margin-top:40px;}
.post_content .case-detail h2{font-size:24px;margin:0 0 10px;}
.case-tag{display:inline-block;background:var(--indigo-light);color:var(--navy);font-size:12.5px;font-weight:700;border-radius:999px;padding:4px 16px;margin-bottom:20px;}
.wp-block-image.case-banner{margin:0 0 8px;border-radius:10px;overflow:hidden;}
.case-banner img{width:100%;height:240px;object-fit:cover;display:block;}
.post_content .case-detail h3{font-size:15px;color:var(--blue-mid);font-weight:700;letter-spacing:.06em;margin:24px 0 6px;}
.case-detail p:not(.case-tag){font-size:15px;}
.wp-block-image.case-visual{margin:24px 0 0;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.case-visual img{width:100%;height:auto;display:block;}
@media (max-width:900px){
  .wp-block-group.case-detail{padding:24px 20px;}
  .case-banner img{height:160px;}
}

/* ---- ご相談の流れ ---- */
.wp-block-columns.flow{gap:32px;}
.wp-block-column.step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 26px;position:relative;}
.wp-block-columns.flow .wp-block-column.step:not(:last-child)::after{content:'';position:absolute;right:-22px;top:50%;width:12px;height:12px;border-top:2.5px solid var(--blue-mid);border-right:2.5px solid var(--blue-mid);transform:translateY(-50%) rotate(45deg);}
.step-no{font-size:13px;font-weight:800;color:var(--red);letter-spacing:.1em;margin-bottom:8px;}
.post_content .step h3{font-size:18px;margin-bottom:8px;}
.step p:not(.step-no){font-size:14px;color:var(--sub);}

/* ---- 代表メッセージ ---- */
.wp-block-columns.msg-grid{gap:56px;align-items:center !important;}
.wp-block-image.msg-photo{border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(21,37,112,.12);margin:0;}
.msg-name{margin-top:20px;}
.msg-name .name{font-size:20px;font-weight:700;color:var(--navy);margin:0;}
.msg-name .role{font-size:13px;color:var(--sub);margin:0;}
ul.quals{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;}
ul.quals li{font-size:12px;font-weight:500;color:var(--navy);background:var(--indigo-light);border-radius:999px;padding:4px 12px;margin:0;}
ul.quals li::marker{content:'';}
.msg-body p:not(.section-label){margin-bottom:14px;font-size:15px;}

/* ---- NEWSリスト（Query Loop） ---- */
.pb-news{border-top:1px solid var(--line);margin-top:40px;}
.pb-news .news-item{padding:20px 8px;border-bottom:1px solid var(--line);font-size:14px;}
.pb-news .news-item > .wp-block-group__inner-container{display:grid;grid-template-columns:120px 110px 1fr;gap:20px;align-items:center;}
.pb-news .news-date{color:var(--sub);font-family:'Inter',sans-serif;margin:0;}
.pb-news .news-cat{font-size:12px;font-weight:700;text-align:center;margin:0;}
.pb-news .news-cat a{color:var(--navy);background:var(--indigo-light);border-radius:999px;padding:3px 14px;display:inline-block;text-decoration:none;}
.post_content .pb-news .news-title{font-size:14px;font-weight:400;margin:0;background:none;border:none;padding:0;}
.pb-news .news-title a{color:var(--ink);text-decoration:none;}
.pb-news .news-title a:hover{color:var(--blue-mid);}

/* ---- 大型CTA（同期パターン） ---- */
.big-cta{background-image:radial-gradient(rgba(255,255,255,.055) 1.3px,transparent 1.3px),linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);background-size:22px 22px,auto;color:#fff;text-align:center;padding:96px 0;}
.post_content .big-cta h2{color:#fff;font-size:30px;}
.big-cta p{opacity:.85;max-width:38em;margin:0 auto 36px;color:#fff;}
.big-cta .hero-cta{justify-content:center;}

/* ---- 下層: ページヒーロー ---- */
.page-hero{background-image:radial-gradient(rgba(21,37,112,.06) 1.3px,transparent 1.3px),linear-gradient(135deg,#FFFFFF 0%,#EEF1FA 100%);background-size:24px 24px,auto;padding:56px 0 44px;border-bottom:1px solid var(--line);}
.post_content .page-hero h1{background:none;border:none;padding:0;color:var(--navy);font-size:36px !important;font-weight:700;line-height:1.4;margin:0;}
.page-hero .lead{color:var(--sub);margin-top:10px;max-width:44em;}
.page-tag{display:inline-block;background:var(--red);color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:3px 14px;margin-bottom:12px;}

/* ---- 下層: 汎用パーツ ---- */
.wp-block-image.page-visual{border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(21,37,112,.12);margin:0 0 56px;}
.wp-block-image.page-visual img{width:100%;max-height:380px;object-fit:cover;display:block;}
ul.check-list{list-style:none;padding:0;margin-top:32px;}
ul.check-list li{padding:10px 0 10px 34px;position:relative;border-bottom:1px solid var(--line);font-size:15px;margin:0;}
ul.check-list li::marker{content:'';}
ul.check-list li::before{content:'';position:absolute;left:4px;top:16px;width:14px;height:8px;border-left:2.5px solid var(--blue-mid);border-bottom:2.5px solid var(--blue-mid);transform:rotate(-45deg);}
.p-card ul.check-list{margin-top:8px;}
.p-card ul.check-list li{font-size:13.5px;}
.formula{background:var(--navy);color:#fff;border-radius:12px;padding:28px;text-align:center;}
.formula p{font-size:20px;font-weight:700;color:#fff;margin:0;}
.formula p b,.formula p strong{color:#FFD9DB;}
.formula p.formula-sub{font-size:12.5px;font-weight:400;opacity:.8;margin-top:8px;}
.timeline{margin-top:48px;counter-reset:tl;}
.wp-block-group.tl-item{position:relative;padding:0 0 32px 76px;}
.wp-block-group.tl-item::before{counter-increment:tl;content:counter(tl,decimal-leading-zero);position:absolute;left:0;top:0;width:56px;height:56px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-weight:800;font-size:18px;}
.wp-block-group.tl-item::after{content:'';position:absolute;left:27px;top:44px;bottom:0;width:2px;background:var(--line);}
.wp-block-group.tl-item:last-child::after{display:none;}
.post_content .tl-item h3{display:inline-block;font-size:18px;margin-bottom:6px;padding-top:12px;}
.tl-item p{font-size:14.5px;color:var(--sub);}
.tl-item p.tl-meta{display:inline-block;font-size:12px;font-weight:700;color:var(--blue-mid);background:var(--indigo-light);border-radius:999px;padding:2px 12px;margin:0 0 0 8px;}
.wp-block-table.info-table{margin-top:36px;}
.wp-block-table.info-table table{width:100%;border-collapse:collapse;font-size:15px;border:none;}
.wp-block-table.info-table td{padding:16px 20px;border:1px solid var(--line);}
.wp-block-table.info-table td:first-child{width:200px;background:var(--indigo-light);color:var(--navy);text-align:left;font-weight:700;vertical-align:top;}
details.faq{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden;}
details.faq summary{cursor:pointer;padding:20px 24px;font-weight:700;color:var(--navy);list-style:none;position:relative;padding-right:48px;}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary::after{content:'＋';position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--blue-mid);font-size:18px;}
details.faq[open] summary::after{content:'−';}
details.faq .faq-a{padding:0 24px 20px;font-size:14.5px;color:var(--sub);}
.pb-sec h2 + div details.faq:first-child,.faq-wrap{margin-top:36px;}
.wp-block-group.note-box{background:var(--indigo-light);border-radius:12px;padding:22px 26px;margin-top:32px;}
.note-box p{font-size:14px;color:var(--ink);}
.note-box p + p{margin-top:10px;}
.note-box strong{color:var(--navy);}
.tm-note{font-size:11.5px;color:var(--sub);margin-top:16px;}
.works-note{font-size:13px;color:var(--sub);margin-top:24px;}

/* ---- お問い合わせ（Contact Form 7） ---- */
.form-row{margin-bottom:22px;}
.form-row label{display:block;font-weight:700;color:var(--navy);font-size:14.5px;margin-bottom:8px;}
.req{display:inline-block;background:var(--red);color:#fff;font-size:10.5px;font-weight:700;border-radius:4px;padding:1px 8px;margin-left:8px;vertical-align:2px;}
.opt{display:inline-block;background:var(--sub);color:#fff;font-size:10.5px;font-weight:700;border-radius:4px;padding:1px 8px;margin-left:8px;vertical-align:2px;}
.form-row input[type=text],.form-row input[type=email],.form-row input[type=tel],.form-row select,.form-row textarea{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:12px 14px;font-size:15px;font-family:inherit;background:#fff;}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{outline:2px solid var(--blue-mid);border-color:transparent;}
.form-consent{font-size:13.5px;color:var(--sub);margin:20px 0;}
.form-consent .wpcf7-list-item{margin:0;}
.form-submit{text-align:center;}
.form-submit .btn{min-width:300px;font-size:16px;border:none;}
.wpcf7 .wpcf7-not-valid-tip{font-size:12px;margin-top:4px;}
.contact-alt{margin-top:48px;}
.wp-block-column.alt-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;text-align:center;}
.post_content .alt-card h3{font-size:16px;margin-bottom:10px;}
.alt-card .big{font-family:'Inter',sans-serif;font-size:26px;font-weight:800;color:var(--navy);margin:0;}
.alt-card p:not(.big){font-size:12.5px;color:var(--sub);margin-top:6px;}
.alt-card .wp-block-buttons{margin-top:6px;justify-content:center;display:flex;}

/* ---- プライバシーポリシー ---- */
.post_content .prose h2{font-size:24px;margin:48px 0 16px;}
.prose p{margin-bottom:14px;font-size:15px;}
.prose ul{margin:0 0 14px 22px;font-size:15px;}

/* ---- レスポンシブ ---- */
@media (max-width:900px){
  .pb-sec{padding:64px 0;}
  .pb-sec.slim{padding:64px 0;}
  .hero{padding:56px 0 64px;}
  .post_content .hero h1{font-size:32px !important;}
  .post_content .pb-sec h2,.post_content .big-cta h2{font-size:26px;}
  .post_content .page-hero h1{font-size:27px !important;}
  .hv-float{position:static;margin-top:14px;box-shadow:0 2px 8px rgba(21,37,112,.08);}
  /* KPIカードのグリッドが縮めず横はみ出しする事故の予防（見た目は静的版と同一） */
  .hv-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}
  .hv-kpi{min-width:0;}
  .hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.9) 55%,rgba(255,255,255,.72) 100%);}
  .wp-block-columns.flow .wp-block-column.step:not(:last-child)::after{display:none;}
  .pb-news .news-item > .wp-block-group__inner-container{grid-template-columns:100px 1fr;}
  .pb-news .news-item .news-title{grid-column:1/-1;}
  .wp-block-table.info-table td:first-child{width:120px;padding:12px;}
  .wp-block-table.info-table td{padding:12px;}
  .form-submit .btn{width:100%;min-width:0;}
}

