<!DOCTYPE html>
<html lang="ja" data-loaded="false" data-scrolled="false" data-spmenu="closed">
<head>
<meta charset="utf-8">
<meta name="format-detection" content="telephone=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, viewport-fit=cover">
<title>404: ページが見つかりませんでした | 名古屋市の浮気調査・不倫調査専門｜さくら探偵社</title>
<meta name='robots' content='max-image-preview:large' />
<link rel="alternate" type="application/rss+xml" title="名古屋市の浮気調査・不倫調査専門｜さくら探偵社 &raquo; フィード" href="https://aa-tsc.com/feed/" />
<link rel="alternate" type="application/rss+xml" title="名古屋市の浮気調査・不倫調査専門｜さくら探偵社 &raquo; コメントフィード" href="https://aa-tsc.com/comments/feed/" />

<!-- SEO SIMPLE PACK 3.7.0 -->
<meta name="robots" content="noindex">
<meta name="description" content="名古屋市・愛知県全域の浮気・不倫調査なら、さくら探偵社へ。相談・調査実績20年以上、累計25,000件以上。調査が必要か決めていない段階でも、電話・LINE・フォームから無料でご相談いただけます。">
<meta name="keywords" content="名古屋市 浮気調査, 名古屋市 不倫調査, 名古屋 探偵, 名古屋市 探偵事務所, 愛知県 浮気調査, 愛知県 不倫調査">
<link rel="canonical" href="https://aa-tsc.com/404">
<meta property="og:locale" content="ja_JP">
<meta property="og:type" content="website">
<meta property="og:image" content="https://aa-tsc.com/wp-content/uploads/2026/08/ogp.png">
<meta property="og:title" content="404: ページが見つかりませんでした | 名古屋市の浮気調査・不倫調査専門｜さくら探偵社">
<meta property="og:description" content="名古屋市・愛知県全域の浮気・不倫調査なら、さくら探偵社へ。相談・調査実績20年以上、累計25,000件以上。調査が必要か決めていない段階でも、電話・LINE・フォームから無料でご相談いただけます。">
<meta property="og:url" content="https://aa-tsc.com/404">
<meta property="og:site_name" content="名古屋市の浮気調査・不倫調査専門｜さくら探偵社">
<meta name="twitter:card" content="summary">
<!-- / SEO SIMPLE PACK -->

<style id="wp-img-auto-sizes-contain-inline-css">
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
</style>
<style id="wp-block-library-inline-css">
:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-color]){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
/*wp_block_styles_on_demand_placeholder:6a82bbdba62d1*/
/*# sourceURL=wp-block-library-inline-css */
</style>
<link rel='stylesheet' id='swell-icons-css' href='https://aa-tsc.com/wp-content/themes/swell/build/css/swell-icons.css?ver=2.18.0' media='all' />
<link rel='stylesheet' id='main_style-css' href='https://aa-tsc.com/wp-content/themes/swell/build/css/main.css?ver=2.18.0' media='all' />
<link rel='stylesheet' id='swell_blocks-css' href='https://aa-tsc.com/wp-content/themes/swell/build/css/blocks.css?ver=2.18.0' media='all' />
<style id="swell_custom-inline-css">
:root{--swl-fz--content:4vw;--swl-letter_spacing:.025em;--swl-font_family:"Noto Sans JP", sans-serif;--swl-font_weight:400;--color_main:#2a7f79;--color_text:#333;--color_link:#1176d4;--color_htag:#2a7f79;--color_bg:#fdfdfd;--color_gradient1:#d8ffff;--color_gradient2:#87e7ff;--color_main_thin:rgba(53, 159, 151, 0.05 );--color_main_dark:rgba(32, 95, 91, 1 );--color_list_check:#2a7f79;--color_list_num:#2a7f79;--color_list_good:#86dd7b;--color_list_triangle:#f4e03a;--color_list_bad:#f36060;--color_faq_q:#d55656;--color_faq_a:#6599b7;--color_icon_good:#3cd250;--color_icon_good_bg:#ecffe9;--color_icon_bad:#4b73eb;--color_icon_bad_bg:#eafaff;--color_icon_info:#f578b4;--color_icon_info_bg:#fff0fa;--color_icon_announce:#ffa537;--color_icon_announce_bg:#fff5f0;--color_icon_pen:#7a7a7a;--color_icon_pen_bg:#f7f7f7;--color_icon_book:#787364;--color_icon_book_bg:#f8f6ef;--color_icon_point:#ffa639;--color_icon_check:#86d67c;--color_icon_batsu:#f36060;--color_icon_hatena:#5295cc;--color_icon_caution:#f7da38;--color_icon_memo:#84878a;--color_deep01:#e44141;--color_deep02:#3d79d5;--color_deep03:#63a84d;--color_deep04:#f09f4d;--color_pale01:#fff2f0;--color_pale02:#f3f8fd;--color_pale03:#f1f9ee;--color_pale04:#fdf9ee;--color_mark_blue:#b7e3ff;--color_mark_green:#bdf9c3;--color_mark_yellow:#fcf69f;--color_mark_orange:#ffddbc;--border01:solid 1px var(--color_main);--border02:double 4px var(--color_main);--border03:dashed 2px var(--color_border);--border04:solid 4px var(--color_gray);--card_posts_thumb_ratio:56.25%;--list_posts_thumb_ratio:61.805%;--big_posts_thumb_ratio:56.25%;--thumb_posts_thumb_ratio:61.805%;--blogcard_thumb_ratio:56.25%;--color_header_bg:#fdfdfd;--color_header_text:#333;--color_footer_bg:#173f38;--color_footer_text:#ffffff;--container_size:1260px;--article_size:1000px;--logo_size_sp:48px;--logo_size_pc:48px;--logo_size_pcfix:48px;}.swl-cell-bg[data-icon="doubleCircle"]{--cell-icon-color:#ffc977}.swl-cell-bg[data-icon="circle"]{--cell-icon-color:#94e29c}.swl-cell-bg[data-icon="triangle"]{--cell-icon-color:#eeda2f}.swl-cell-bg[data-icon="close"]{--cell-icon-color:#ec9191}.swl-cell-bg[data-icon="hatena"]{--cell-icon-color:#93c9da}.swl-cell-bg[data-icon="check"]{--cell-icon-color:#94e29c}.swl-cell-bg[data-icon="line"]{--cell-icon-color:#9b9b9b}.cap_box[data-colset="col1"]{--capbox-color:#f59b5f;--capbox-color--bg:#fff8eb}.cap_box[data-colset="col2"]{--capbox-color:#5fb9f5;--capbox-color--bg:#edf5ff}.cap_box[data-colset="col3"]{--capbox-color:#2fcd90;--capbox-color--bg:#eafaf2}.red_{--the-btn-color:#ef6723;--the-btn-color2:#ffbc49;--the-solid-shadow: rgba(179, 77, 26, 1 )}.blue_{--the-btn-color:#124f4c;--the-btn-color2:#35eaff;--the-solid-shadow: rgba(14, 59, 57, 1 )}.green_{--the-btn-color:#06c755;--the-btn-color2:#7bf7bd;--the-solid-shadow: rgba(5, 149, 64, 1 )}.is-style-btn_normal{--the-btn-radius:4px}.is-style-btn_solid{--the-btn-radius:4px}.is-style-btn_shiny{--the-btn-radius:4px}.is-style-btn_line{--the-btn-radius:4px}.post_content blockquote{padding:1.5em 2em 1.5em 3em}.post_content blockquote::before{content:"";display:block;width:5px;height:calc(100% - 3em);top:1.5em;left:1.5em;border-left:solid 1px rgba(180,180,180,.75);border-right:solid 1px rgba(180,180,180,.75);}.mark_blue{background:-webkit-linear-gradient(transparent 64%,var(--color_mark_blue) 0%);background:linear-gradient(transparent 64%,var(--color_mark_blue) 0%)}.mark_green{background:-webkit-linear-gradient(transparent 64%,var(--color_mark_green) 0%);background:linear-gradient(transparent 64%,var(--color_mark_green) 0%)}.mark_yellow{background:-webkit-linear-gradient(transparent 64%,var(--color_mark_yellow) 0%);background:linear-gradient(transparent 64%,var(--color_mark_yellow) 0%)}.mark_orange{background:-webkit-linear-gradient(transparent 64%,var(--color_mark_orange) 0%);background:linear-gradient(transparent 64%,var(--color_mark_orange) 0%)}[class*="is-style-icon_"]{color:#333;border-width:0}[class*="is-style-big_icon_"]{border-width:2px;border-style:solid}[data-col="gray"] .c-balloon__text{background:#f7f7f7;border-color:#ccc}[data-col="gray"] .c-balloon__before{border-right-color:#f7f7f7}[data-col="green"] .c-balloon__text{background:#d1f8c2;border-color:#9ddd93}[data-col="green"] .c-balloon__before{border-right-color:#d1f8c2}[data-col="blue"] .c-balloon__text{background:#e2f6ff;border-color:#93d2f0}[data-col="blue"] .c-balloon__before{border-right-color:#e2f6ff}[data-col="red"] .c-balloon__text{background:#ffebeb;border-color:#f48789}[data-col="red"] .c-balloon__before{border-right-color:#ffebeb}[data-col="yellow"] .c-balloon__text{background:#f9f7d2;border-color:#fbe593}[data-col="yellow"] .c-balloon__before{border-right-color:#f9f7d2}.-type-list2 .p-postList__body::after,.-type-big .p-postList__body::after{content: "READ MORE »";}.c-postThumb__cat{background-color:#2a7f79;color:#fff;background-image: repeating-linear-gradient(-45deg,rgba(255,255,255,.1),rgba(255,255,255,.1) 6px,transparent 6px,transparent 12px)}.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){border-left:solid 6px var(--color_htag);padding:.5em 0 .5em 16px}.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{position:absolute;display:block;pointer-events:none}.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){padding:0 .5em .5em}.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{content:"";width:100%;height:2px;background: repeating-linear-gradient(90deg, var(--color_htag) 0%, var(--color_htag) 20%, rgba(63, 191, 182, 0.2 ) 90%, rgba(63, 191, 182, 0.2 ) 100%)}.post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){padding:0 0 0 16px;border-left:solid 2px var(--color_htag)}.l-footer__widgetArea{background:#173f38}.l-footer__widgetArea{color:#ffffff}.l-header__menuBtn{order:1}.l-header__customBtn{order:3}.l-header__menuBtn{color:#fff;background-color:#a0183c}.c-gnav a::after{background:var(--color_main);width:0%;height:2px}.p-spHeadMenu .menu-item.-current{border-bottom-color:var(--color_main)}.c-gnav > li:hover > a::after,.c-gnav > .-current > a::after{width:100%}.c-gnav .sub-menu{color:#333;background:#fff}.l-fixHeader::before{opacity:0.7}#fix_bottom_menu{color:#333}#fix_bottom_menu::before{background:#fff;opacity:0.9}#before_footer_widget{margin-bottom:0}.c-widget__title.-spmenu{border-left:solid 2px var(--color_main);padding:0em .75em}.p-spMenu{color:#333}.p-spMenu__inner::before{background:#fdfdfd;opacity:1}.p-spMenu__overlay{background:#000;opacity:0.6}[class*="page-numbers"]{border-radius:50%;margin:4px;color:#fff;background-color:#dedede}.l-topTitleArea.c-filterLayer::before{background-color:#000;opacity:0.2;content:""}@media screen and (min-width: 960px){:root{}}@media screen and (max-width: 959px){:root{}.l-header__logo{order:2;text-align:center}}@media screen and (min-width: 600px){:root{--swl-fz--content:16px;}}@media screen and (max-width: 599px){:root{}}@media (min-width: 1208px) {.alignwide{left:-100px;width:calc(100% + 200px);}}@media (max-width: 1208px) {.-sidebar-off .swell-block-fullWide__inner.l-container .alignwide{left:0px;width:100%;}}.l-fixHeader .l-fixHeader__gnav{order:0}[data-scrolled=true] .l-fixHeader[data-ready]{opacity:1;-webkit-transform:translateY(0)!important;transform:translateY(0)!important;visibility:visible}.-body-solid .l-fixHeader{box-shadow:0 2px 4px var(--swl-color_shadow)}.l-fixHeader__inner{align-items:stretch;color:var(--color_header_text);display:flex;padding-bottom:0;padding-top:0;position:relative;z-index:1}.l-fixHeader__logo{align-items:center;display:flex;line-height:1;margin-right:24px;order:0;padding:16px 0}[data-scrolled=true] #fix_bottom_menu{bottom:0}#fix_bottom_menu{box-shadow:0 0 4px rgba(0,0,0,.1);transition:bottom .4s;width:100%;z-index:100}#fix_bottom_menu:before{display:block;z-index:0}#fix_bottom_menu .menu_list{align-items:center;display:flex;height:50px;justify-content:space-between;padding:2px 0 0;position:relative;z-index:1}#fix_bottom_menu .menu_btn .open_btn{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1)}#fix_bottom_menu .menu-item{flex:1 1 100%;margin:0;padding:0;text-align:center}#fix_bottom_menu .menu-item a{color:inherit;display:block;line-height:1;text-decoration:none}#fix_bottom_menu .menu-item i{color:inherit;display:block;font-size:20px;height:20px;line-height:20px;text-align:center}#fix_bottom_menu .menu-item i:before{color:inherit;display:inline-block}#fix_bottom_menu span{color:inherit;display:block;font-size:10px;line-height:1;margin-top:4px;width:100%}@media not all and (min-width:960px){#fix_bottom_menu{display:block;padding-bottom:calc(env(safe-area-inset-bottom)*.5)}}.is-style-btn_normal a,.is-style-btn_shiny a{box-shadow:var(--swl-btn_shadow)}.c-shareBtns__btn,.is-style-balloon>.c-tabList .c-tabList__button,.p-snsCta,[class*=page-numbers]{box-shadow:var(--swl-box_shadow)}.p-articleThumb__img,.p-articleThumb__youtube{box-shadow:var(--swl-img_shadow)}.p-pickupBanners__item .c-bannerLink,.p-postList__thumb{box-shadow:0 2px 8px rgba(0,0,0,.1),0 4px 4px -4px rgba(0,0,0,.1)}.p-postList.-w-ranking li:before{background-image:repeating-linear-gradient(-45deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.1) 6px,transparent 0,transparent 12px);box-shadow:1px 1px 4px rgba(0,0,0,.2)}@media(min-width:960px){.-series .l-header__inner{align-items:stretch;display:flex}.-series .l-header__logo{align-items:center;display:flex;flex-wrap:wrap;margin-right:24px;padding:16px 0}.-series .l-header__logo .c-catchphrase{font-size:13px;padding:4px 0}.-series .c-headLogo{margin-right:16px}.-series-right .l-header__inner{justify-content:space-between}.-series-right .c-gnavWrap{margin-left:auto}.-series-right .w-header{margin-left:12px}.-series-left .w-header{margin-left:auto}}@media(min-width:960px)and (min-width:600px){.-series .c-headLogo{max-width:400px}}.c-gnav .sub-menu a:before,.c-listMenu a:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:icomoon!important;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.c-submenuToggleBtn{display:none}.c-listMenu a{padding:.75em 1em .75em 1.5em;transition:padding .25s}.c-listMenu a:hover{padding-left:1.75em;padding-right:.75em}.c-gnav .sub-menu a:before,.c-listMenu a:before{color:inherit;content:"";display:inline-block;left:2px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);vertical-align:middle}.widget_categories>ul>.cat-item>a,.wp-block-categories-list>li>a{padding-left:1.75em}.c-listMenu .children,.c-listMenu .sub-menu{margin:0}.c-listMenu .children a,.c-listMenu .sub-menu a{font-size:.9em;padding-left:2.5em}.c-listMenu .children a:before,.c-listMenu .sub-menu a:before{left:1em}.c-listMenu .children a:hover,.c-listMenu .sub-menu a:hover{padding-left:2.75em}.c-listMenu .children ul a,.c-listMenu .sub-menu ul a{padding-left:3.25em}.c-listMenu .children ul a:before,.c-listMenu .sub-menu ul a:before{left:1.75em}.c-listMenu .children ul a:hover,.c-listMenu .sub-menu ul a:hover{padding-left:3.5em}.c-gnav li:hover>.sub-menu{opacity:1;visibility:visible}.c-gnav .sub-menu:before{background:inherit;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}.c-gnav .sub-menu .sub-menu{left:100%;top:0;z-index:-1}.c-gnav .sub-menu a{padding-left:2em}.c-gnav .sub-menu a:before{left:.5em}.c-gnav .sub-menu a:hover .ttl{left:4px}:root{--color_content_bg:var(--color_bg);}.c-widget__title.-side{border-left:solid 2px var(--color_main);padding:0em .75em}@media screen and (min-width: 960px){:root{}}@media screen and (max-width: 959px){:root{}}@media screen and (min-width: 600px){:root{}}@media screen and (max-width: 599px){:root{}}.swell-block-fullWide__inner.l-container{--swl-fw_inner_pad:var(--swl-pad_container,0px)}@media(min-width:960px){.-sidebar-on .l-content .alignfull,.-sidebar-on .l-content .alignwide{left:-16px;width:calc(100% + 32px)}.swell-block-fullWide__inner.l-article{--swl-fw_inner_pad:var(--swl-pad_post_content,0px)}.-sidebar-on .swell-block-fullWide__inner .alignwide{left:0;width:100%}.-sidebar-on .swell-block-fullWide__inner .alignfull{left:calc(0px - var(--swl-fw_inner_pad, 0))!important;margin-left:0!important;margin-right:0!important;width:calc(100% + var(--swl-fw_inner_pad, 0)*2)!important}}
/*# sourceURL=swell_custom-inline-css */
</style>
<link rel='stylesheet' id='swell-parts/footer-css' href='https://aa-tsc.com/wp-content/themes/swell/build/css/modules/parts/footer.css?ver=2.18.0' media='all' />
<link rel='stylesheet' id='swell-page/404-css' href='https://aa-tsc.com/wp-content/themes/swell/build/css/modules/page/404.css?ver=2.18.0' media='all' />
<style id="classic-theme-styles-inline-css">
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
/*# sourceURL=/wp-includes/css/classic-themes.min.css */
</style>
<style id="wp-block-styles-placeholder-inline-css">
:root { --wp-internal-comment: "Placeholder for wp_hoist_late_printed_styles() to replace with the block styles printed at wp_footer." }
/*# sourceURL=wp-block-styles-placeholder-inline-css */
</style>
<link rel='stylesheet' id='sass-basis-core-css' href='https://aa-tsc.com/wp-content/plugins/snow-monkey-forms/dist/css/fallback.css?ver=1783113596' media='all' />
<link rel='stylesheet' id='snow-monkey-forms-css' href='https://aa-tsc.com/wp-content/plugins/snow-monkey-forms/dist/css/app.css?ver=1783113596' media='all' />
<style id="wp-global-styles-placeholder-inline-css">
:root { --wp-internal-comment: "Placeholder for wp_hoist_late_printed_styles() to replace with the global-styles printed at wp_footer." }
/*# sourceURL=wp-global-styles-placeholder-inline-css */
</style>
<style id="fsb-flexible-spacer-style-inline-css">
.fsb-style-show-front{position:relative;z-index:2;}@media screen and (min-width:1025px){.fsb-flexible-spacer__device--md,.fsb-flexible-spacer__device--sm{display:none;}}@media screen and (min-width:600px) and (max-width:1024px){.fsb-flexible-spacer__device--lg,.fsb-flexible-spacer__device--sm{display:none;}}@media screen and (max-width:599px){.fsb-flexible-spacer__device--lg,.fsb-flexible-spacer__device--md{display:none;}}
/*# sourceURL=fsb-flexible-spacer-style-inline-css */
</style>
<link rel='stylesheet' id='child_style-css' href='https://aa-tsc.com/wp-content/themes/swell_child/style.css?ver=2026070395300' media='all' />

<link href="https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&#038;display=swap" rel="stylesheet">
<noscript><link href="https://aa-tsc.com/wp-content/themes/swell/build/css/noscript.css" rel="stylesheet"></noscript>
<link rel="https://api.w.org/" href="https://aa-tsc.com/wp-json/" /><link rel="icon" href="https://aa-tsc.com/wp-content/uploads/2026/08/cropped-sakura-logo-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://aa-tsc.com/wp-content/uploads/2026/08/cropped-sakura-logo-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://aa-tsc.com/wp-content/uploads/2026/08/cropped-sakura-logo-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://aa-tsc.com/wp-content/uploads/2026/08/cropped-sakura-logo-1-270x270.png" />
<style id="wp-custom-css">
/* ==================================================
   AA-TSC 追加CSS（整理版）
   更新日：2026-08-16

   運用メモ：
   - WordPress「追加CSS」へ、このファイル全体を貼り付けて使用
   - SPリッチカラム補正は sp-align-reset を対象ブロックへ付与
   - sp-align-reset--flush は使用しない
================================================== */

/* SWELLボタンの重ね色・装飾を解除 */
.l-header .header-line-button .swell-block-button__link::before,
.l-header .header-line-button .swell-block-button__link::after {
  display: none !important;
  content: none !important;
}

/* ホバー */
.l-header .header-line-button .swell-block-button__link:hover {
  background: #05b84d !important;
  background-color: #05b84d !important;
  border-color: #05b84d !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* 全ページ：本文下の余白を削除 */
#content.l-content {
	margin-bottom: 0 !important;
}

/* ========================================
   通常導線ボタン：共通ホバー
======================================== */

body .post_content
.site_btn_hover
.swell-block-button__link {
  opacity: 1 !important;

  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease,
    opacity 0.25s ease,
    filter 0.25s ease;
}

/* SWELLの重ね色・グラデーションを解除 */
body .post_content
.site_btn_hover
.swell-block-button__link::before {
  opacity: 0 !important;

  background: none !important;
  background-image: none !important;
}


/* PC：ホバー */
@media (hover: hover) {
  body .post_content
  .site_btn_hover
  .swell-block-button__link:hover {
    color: #fff !important;

    background: #173f38 !important;
    background-color: #173f38 !important;
    background-image: none !important;

    border-color: #173f38 !important;

    opacity: 1 !important;
    filter: none !important;

    box-shadow: 0 6px 14px rgb(23 63 56 / 20%);
    transform: translateY(-2px);
  }

  body .post_content
  .site_btn_hover
  .swell-block-button__link:hover::before {
    opacity: 0 !important;

    background: none !important;
    background-image: none !important;
  }
}


/* キーボード操作時 */
body .post_content
.site_btn_hover
.swell-block-button__link:focus-visible {
  color: #fff !important;
  background: #173f38 !important;
  border-color: #173f38 !important;

  outline: 3px solid rgb(169 35 50 / 28%);
  outline-offset: 3px;
}

/* ==================================================
   TOP・固定ページ用 セクション見出し

   余白の運用ルール：
   - 通常のH2はPC 32〜39px／SP 26pxを基準にする
   - H2直下はPC 32px／SP 24pxを基準にする
   - 長い見出しや特殊レイアウトだけ個別サイズを維持する
================================================== */

/* --------------------------------
   アイブロウ：共通
-------------------------------- */
body .post_content p.page_eyebrow_dark,
body .post_content p.page_eyebrow_light {
  position: relative !important;

  display: flex !important;
  flex-direction: column;
  align-items: center;

  width: max-content !important;
  max-width: 100%;
  margin-inline: auto !important;
  padding: 0 !important;

  border: 0 !important;
  background: transparent !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.16em !important;
  text-align: center !important;
  text-transform: uppercase;
}

/* アイブロウ下の短い線 */
body .post_content p.page_eyebrow_dark::after,
body .post_content p.page_eyebrow_light::after {
  content: "" !important;
  display: block !important;

  position: static !important;

  width: 40px !important;
  height: 2px !important;
  margin: 12px auto 0 !important;

  border: 0 !important;
  border-radius: 999px;
  background: currentColor !important;
}

/* アイブロウの不要な装飾を削除 */
body .post_content p.page_eyebrow_dark::before,
body .post_content p.page_eyebrow_light::before {
  content: none !important;
  display: none !important;
}

/* 暗い背景用アイブロウ */
body .post_content p.page_eyebrow_dark {
  color: #df7a87 !important;
}

/* 明るい背景用アイブロウ */
body .post_content p.page_eyebrow_light {
  color: #a92332 !important;
}

/* ========================================
   セクション見出し：左寄せ用モディファイア
======================================== */

/* アイブロウ */
body .post_content p.page_eyebrow_left {
  align-items: flex-start !important;
  margin-inline: 0 auto !important;
  text-align: left !important;
}

/* アイブロウ下の線 */
body .post_content p.page_eyebrow_left::after {
  margin-inline: 0 auto !important;
}

/* H2見出し */
body .post_content h2.page_ttl_left {
  text-align: left !important;
}

@media (max-width: 767px) {
  body .post_content h2.page_ttl_left {
    padding-inline: 0 !important;
  }
}



/* --------------------------------
   H1見出し：共通
-------------------------------- */
body .post_content h1.service-page-title {
  font-size: clamp(2.25rem, 4.2vw, 3.5rem);
  line-height: 1.25;
  letter-spacing: 0.04em;
}

/* --------------------------------
   H2見出し：共通
-------------------------------- */
body .post_content h2.page_ttl_dark,
body .post_content h2.page_ttl_light {
  position: relative !important;

  display: block !important;
  width: 100% !important;

  margin: 0 0 32px !important;
  padding: 0 !important;

  border: 0 !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
  box-shadow: none !important;

  font-size: clamp(32px, 2.5vw, 39px) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.03em !important;
  text-align: center !important;
}

/* SWELL標準の左線・下線などを削除 */
body .post_content h2.page_ttl_dark::before,
body .post_content h2.page_ttl_dark::after,
body .post_content h2.page_ttl_light::before,
body .post_content h2.page_ttl_light::after {
  content: none !important;
  display: none !important;

  position: static !important;

  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  background: none !important;
}

/* エディター上で太字になっている場合 */
body .post_content h2.page_ttl_dark strong,
body .post_content h2.page_ttl_light strong {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
}

/* 暗い背景用H2 */
body .post_content h2.page_ttl_dark {
  color: #fff !important;
}

/* 明るい背景用H2 */
body .post_content h2.page_ttl_light {
  color: #173f38 !important;
}

/* ========================================
   H2：左寄せモディファイア
   ※H2共通設定より後に記述
======================================== */

body .post_content
h2.page_ttl_light.page_ttl_left,
body .post_content
h2.page_ttl_dark.page_ttl_left {
  margin-right: auto !important;
  margin-left: 0 !important;
  padding-inline: 0 !important;
  text-align: left !important;
}

/* ==================================================
   スマートフォン
================================================== */
@media (max-width: 767px) {

  body .post_content p.page_eyebrow_dark,
  body .post_content p.page_eyebrow_light {
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
  }

  body .post_content p.page_eyebrow_dark::after,
  body .post_content p.page_eyebrow_light::after {
    width: 32px !important;
    height: 2px !important;
    margin-top: 10px !important;
  }

  body .post_content h2.page_ttl_dark,
  body .post_content h2.page_ttl_light {
    margin-bottom: 24px !important;
    padding-inline: 12px !important;

    font-size: 26px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.02em !important;
  }
}

/* =========================
　　TOP
======================================== */

/*MV*/

/* =========================
   FV 電話相談ボタン
========================= */
.tel_btn_gw {
  width: 100%;
  max-width: 368px;
  margin-inline: auto;
}

/* SWELLボタン本体 */
.tel_btn_gw .swell-block-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65em;

  min-height: 58px;
  padding: 12px 24px;

  color: #176b5d !important;
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1.5px solid #176b5d !important;
  border-radius: 6px !important;

  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-decoration: none;

  box-shadow: 0 4px 12px rgba(18, 63, 56, 0.08);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

/* PCのホバー */
@media (hover: hover) {
  .tel_btn_gw .swell-block-button__link:hover {
    color: #fff !important;
    background: #176b5d !important;
    box-shadow: 0 7px 18px rgba(18, 63, 56, 0.2);
    transform: translateY(-2px);
    opacity: 1;
  }
}

/* スマホ */
@media (max-width: 767px) {
  .tel_btn_gw {
    max-width: none;
  }

  .tel_btn_gw .swell-block-button__link {
    min-height: 56px;
    padding-inline: 18px;
    font-size: 16px;
  }
}

/* =========================
   FV LINE相談ボタン
========================= */
.line_btn_mv {
  width: 100%;
  max-width: 368px;
  margin-inline: auto;
}

.line_btn_mv .swell-block-button__link {
  min-height: 58px;
  padding: 12px 24px;

  color: #fff !important;
  background: #06c755 !important;
  border: 1.5px solid #06c755 !important;
  border-radius: 6px !important;

  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-decoration: none;

  box-shadow: 0 4px 12px rgba(6, 199, 85, 0.18);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

/* PCのホバー */
@media (hover: hover) {
  .line_btn_mv .swell-block-button__link:hover {
    color: #fff !important;
    background: #05a847 !important;
    border-color: #05a847 !important;
    box-shadow: 0 7px 18px rgba(6, 168, 71, 0.26);
    transform: translateY(-2px);
    opacity: 1;
  }
}

/* クリック時 */
.line_btn_mv .swell-block-button__link:active {
  background: #04963f !important;
  border-color: #04963f !important;
  box-shadow: 0 2px 6px rgba(6, 150, 63, 0.22);
  transform: translateY(0);
}

/* キーボード操作時 */
.line_btn_mv .swell-block-button__link:focus-visible {
  outline: 3px solid rgba(6, 199, 85, 0.3);
  outline-offset: 3px;
}

/* スマホ */
@media (max-width: 767px) {
  .line_btn_mv {
    max-width: none;
  }

  .line_btn_mv .swell-block-button__link {
    min-height: 56px;
    padding-inline: 18px;
    font-size: 16px;
  }
}


/*MV_実績*/
.mv_result {
  position: relative;
  min-height: 130px;
  padding: 24px 28px;
  overflow: visible;
}

.mv_result::before {
  content: "";
  position: absolute;
  inset: 5px 14px;
  z-index: 0;

  background: url("/wp-content/uploads/2026/08/laurel-gold-refined-transparent.png")
    center / contain no-repeat;

  opacity: 0.68;
  transform: scaleX(1.25);
  transform-origin: center;
  pointer-events: none;
}

.mv_result > * {
  position: relative;
  z-index: 1;
}

/* 実績の項目名 */
.mv_result p.mv_result__label {
  position: relative;
  z-index: 1;

  width: 100%;
  margin: 0 0 12px !important;

  font-size: clamp(14px, 1.1vw, 17px) !important;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
}

/* 実績の数字 */
.mv_result p.mv_result__value {
  position: relative;
  z-index: 1;

  display: block !important;
  width: 100%;
  margin: 0 !important;

  font-size: clamp(24px, 2vw, 32px) !important;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-align: center;
  white-space: nowrap;
}

.mv_result__value--wide {
  font-size: clamp(22px, 1.8vw, 29px) !important;
}

/* ========================================
   MV実績：SP横3列
======================================== */

@media (max-width: 781px) {

  /* グリッド本体 */
  .mv_results_sp {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;

    width: 100%;
    margin: 0 !important;
    padding: 22px 6px 24px !important;

    background: #f3f7f5;
  }

  /* 各実績 */
  .mv_results_sp .mv_result {
    position: relative;

    display: flex;
    min-width: 0;
    min-height: 88px;

    margin: 0 !important;
    padding: 10px 3px !important;

    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;
  }

  /* PC用の月桂冠を、SPではゴールドの短線へ変更 */
  .mv_results_sp .mv_result::before {
    content: "";

    position: static;
    inset: auto;
    z-index: auto;

    display: block;
    flex: 0 0 auto;

    width: 22px;
    height: 2px;

    margin: 0 auto 8px;

    background: #d8ad55;

    opacity: 1;
    transform: none;
    pointer-events: none;
  }

  /* 項目間の縦線 */
  .mv_results_sp .mv_result + .mv_result {
    border-left: 1px solid rgb(23 63 56 / 15%);
  }

  /* 項目名：正しいクラス名は __label */
  .mv_results_sp
  .mv_result
  p.mv_result__label {
    margin: 0 0 7px !important;

    color: #173f38;
    font-size: 10px !important;
    font-weight: 700;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
  }

  /* 数値：正しいクラス名は __value */
  .mv_results_sp
  .mv_result
  p.mv_result__value {
    margin: 0 !important;

    color: #173f38;
    font-size: 16px !important;
    font-weight: 700;
    line-height: 1.25 !important;
    letter-spacing: -0.065em !important;
    white-space: nowrap;
  }

  /* 長い2項目だけ少し小さく */
  .mv_results_sp
  .mv_result:nth-child(2)
  p.mv_result__value,

  .mv_results_sp
  .mv_result:nth-child(3)
  p.mv_result__value {
    font-size: 15px !important;
  }

  /* PC用のwide指定もSPサイズで上書き */
  .mv_results_sp
  p.mv_result__value--wide {
    font-size: 15px !important;
  }
}


/* SP版MV全体 */
@media (max-width: 781px) {
  .mv_sp_hero {
    box-sizing: border-box;
    min-height: 100svh;
  }
}
@media (max-width: 781px) {
  body {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }

  .sp-fixed-footer {
    padding-bottom: env(safe-area-inset-bottom);
  }
}

/* ========================================
 お悩みセクション
======================================== */

.worry_sec {
  padding-block: clamp(88px, 8vw, 130px);
background: linear-gradient(
  180deg,
  #1b463e 0%,
  #173f38 100%
);
}

/* リストパネル */
.worry_list {
  padding: 30px 36px;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 12px;
}

/* 箇条書き */
.worry_list li::marker {
  color: #c85b6a;
}

/* ========================================
   お悩みリスト：スマートフォン
======================================== */
@media (max-width: 781px) {

  /* 2つのカードを包む外側を1枚のパネルにする */
  .worry_sec
  .worry_lists
  > .swell-block-columns__inner {
    display: block !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 24px 20px !important;

    background: rgba(255, 255, 255, 0.055);
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 12px;
  }

  /* 内側の2つのカード装飾を解除 */
  .worry_sec .worry_lists .worry_list {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  /* 2つ目のリストだけ少し間隔を空ける */
  .worry_sec
  .worry_lists
  .worry_list
  + .worry_list {
    margin-top: 10px !important;
  }

  /* リスト自体の余白を整える */
  .worry_sec .worry_list ul {
    margin: 0 !important;
    padding-left: 1.25em;
  }

  .worry_sec .worry_list li {
    margin-bottom: 8px;
    line-height: 1.75;
  }

  .worry_sec .worry_list li:last-child {
    margin-bottom: 0;
  }
}

/* ========================================
   相談セクション
======================================== */

/* 共通 */
.support-visual,
.support-content {
  box-sizing: border-box;
  min-width: 0;
}

/* SWELLのカラム幅・余白を解除 */
body .post_content
.support-columns
> .swell-block-columns__inner
> .swell-block-column {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

/* 画像共通 */
body .post_content .support-visual figure,
body .post_content .support-visual .wp-block-cover {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}

body .post_content .support-visual img,
body .post_content
.support-visual
.wp-block-cover__image-background {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body .post_content
.support-visual
.wp-block-cover__background {
  border-radius: inherit !important;
}

body .post_content
.support-visual
.wp-block-cover__inner-container {
  min-height: 0 !important;
  padding: 0 !important;
}

/* テキスト共通 */
.support-content > * {
  width: 100%;
  max-width: 640px;
}

.support-content .page_eyebrow_light {
  align-items: flex-start !important;
  width: max-content !important;
  margin-right: auto !important;
  margin-left: 0 !important;
  text-align: left !important;
}

.support-content .page_eyebrow_light::after {
  margin-right: auto !important;
  margin-left: 0 !important;
}

body .post_content
.support-content h2.page_ttl_light {
  width: 100% !important;
  max-width: 760px !important;
  padding: 0 !important;

  color: #173f38 !important;
  margin-bottom: 32px !important;
  font-size: clamp(32px, 2.5vw, 39px) !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

.support-content p:not(.page_eyebrow_light) {
  margin-top: 0;
  margin-bottom: 22px;

  font-size: clamp(16px, 1.05vw, 18px);
  line-height: 2;
  letter-spacing: 0.02em;
}

.support-content p:last-child {
  margin-bottom: 0;
}

/* ========================================
   PC：2カラム
======================================== */

@media (min-width: 960px) {
  body .post_content
  .support-columns
  > .swell-block-columns__inner {
    display: grid !important;
    grid-template-columns:
      minmax(0, 42%)
      minmax(0, 1fr) !important;

    align-items: center !important;
    gap: clamp(48px, 5vw, 80px) !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .post_content
  .support-columns
  > .swell-block-columns__inner
  > .swell-block-column,
  body .post_content .support-visual,
  body .post_content .support-content {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    flex-basis: auto !important;
  }

  body .post_content .support-visual {
    align-self: stretch !important;
  }

  body .post_content .support-visual figure,
  body .post_content .support-visual .wp-block-cover {
    height: 500px !important;
    border-radius: 0 24px 24px 0 !important;
  }

  body .post_content .support-content {
    padding-right: clamp(24px, 4vw, 64px);
  }
}

/* ========================================
   タブレット：全幅の縦積み
======================================== */

@media (min-width: 782px) and (max-width: 959px) {
  body .post_content
  .support-columns
  > .swell-block-columns__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 40px !important;
  }

  body .post_content
  .support-columns
  > .swell-block-columns__inner
  > .swell-block-column,
  body .post_content .support-visual,
  body .post_content .support-content {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;

    flex: none !important;
    flex-basis: 100% !important;
  }

  body .post_content .support-visual {
    padding-inline: 32px !important;
  }

  body .post_content .support-visual figure,
  body .post_content .support-visual .wp-block-cover {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 18px !important;
  }

  body .post_content .support-content {
    padding: 0 32px 64px !important;
  }

  body .post_content .support-content > * {
    width: 100% !important;
    max-width: 720px !important;
    margin-right: auto;
    margin-left: auto;
  }
}

/* ========================================
   スマートフォン：全幅の縦積み
======================================== */

@media (max-width: 781px) {
  body .post_content
  .support-columns
  > .swell-block-columns__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 32px !important;
  }

  /* 40%・60%などのSWELLカラム幅を完全に解除 */
  body .post_content
  .support-columns
  > .swell-block-columns__inner
  > .swell-block-column,
  body .post_content .support-visual,
  body .post_content .support-content {
    box-sizing: border-box !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;

    flex: none !important;
    flex-basis: 100% !important;
  }

  body .post_content .support-visual {
    padding: 0 20px !important;
  }

  body .post_content .support-visual figure,
  body .post_content .support-visual .wp-block-cover {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 16px !important;
  }

  body .post_content .support-content {
    padding: 0 20px 48px !important;
  }

  body .post_content .support-content > * {
    width: 100% !important;
    max-width: none !important;
  }

  body .post_content
  .support-content h2.page_ttl_light {
    max-width: none !important;

    margin-bottom: 24px !important;
    font-size: 26px !important;
    line-height: 1.5 !important;
  }

  .support-content p:not(.page_eyebrow_light) {
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.9;
  }
}


/* ========================================
   安心ポイント：セクション全体
======================================== */

/* ========================================
   安心ポイント：グリッド
======================================== */
.safe-points-grid > .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  align-items: stretch !important;
  gap: 24px !important;
}

/* SWELLのカラム幅指定を解除 */
.safe-points-grid
  > .swell-block-columns__inner
  > .safe-point-card {
  box-sizing: border-box !important;

  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100%;

  flex: none !important;
  align-self: stretch !important;

  margin: 0 !important;
  padding: clamp(28px, 3vw, 40px) !important;

  background: #fff;
  border: 1px solid #dce7e3;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(18, 63, 56, 0.045);

  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

/* ========================================
   カード内の番号
======================================== */
.safe-point-card .safe-point-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 46px;
  height: 46px;

  margin: 0 0 20px !important;
  padding: 0 !important;

  color: #a92332 !important;
  background: #fbecef;
  border-radius: 50%;

  font-size: 14px !important;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
}

/* ========================================
   カードタイトル
======================================== */
.safe-point-card .safe-point-title {
  margin: 0 0 16px !important;
  padding: 0 !important;

  color: #173f38 !important;
  background: none !important;
  border: 0 !important;

  font-size: clamp(19px, 1.5vw, 23px) !important;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.02em;
  text-align: left !important;
}

/* SWELLのH3装飾を解除 */
.safe-point-card .safe-point-title::before,
.safe-point-card .safe-point-title::after {
  content: none !important;
  display: none !important;
}

/* ========================================
   カード本文
======================================== */
.safe-point-card .safe-point-text {
  margin: 0 !important;

  color: #45524e;
  font-size: clamp(15px, 1vw, 17px);
  line-height: 1.9;
  letter-spacing: 0.01em;
  text-align: left !important;
}

/* PCホバー */
@media (hover: hover) {
  .safe-point-card:hover {
    transform: translateY(-3px);

    border-color: #b8cec8;
    box-shadow: 0 15px 34px rgba(18, 63, 56, 0.075);
  }
}

/* ========================================
   安心ポイント：スマートフォン
======================================== */
@media (max-width: 781px) {

  /* セクション全体 */
  .safe-points-section {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  /* カードグリッド全体 */
  .safe-points-section .safe-points-grid {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 20px !important;
  }

  /* SWELLカラムを1列にする */
  .safe-points-grid > .swell-block-columns__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    gap: 16px !important;
  }

  /* カード
     SWELLの階層差に対応するため、直下指定にはしない */
  .safe-points-grid .safe-point-card {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 26px 22px !important;

    background: #fff !important;
    border: 1px solid #dce7e3 !important;
    border-radius: 14px !important;
  }

  /* 番号 */
  .safe-point-card .safe-point-number {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    width: 42px !important;
    height: 42px !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    font-size: 13px !important;
    line-height: 1 !important;
  }

  /* カードタイトル */
  .safe-point-card .safe-point-title {
    width: 100% !important;

    margin: 0 0 12px !important;
    padding: 0 !important;

    font-size: 19px !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }

  /* カード本文 */
  .safe-point-card .safe-point-text {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 15px !important;
    line-height: 1.9 !important;
    text-align: left !important;
    overflow-wrap: anywhere;
  }
}

/* ========================================
   安心ポイント：グリッド全体の中央配置
======================================== */

@media (min-width: 782px) {
  /* グリッドをページ中央へ配置 */
  body .post_content
  .safe-points-section
  .safe-points-grid {
    box-sizing: border-box !important;

    width: min(calc(100% - 48px), 1300px) !important;
    max-width: 1300px !important;

    margin:
      clamp(56px, 5vw, 68px)
      auto
      0 !important;

    padding: 0 !important;
  }

  /* SWELLのネガティブマージンを解除 */
  body .post_content
  .safe-points-section
  .safe-points-grid
  > .swell-block-columns__inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 24px !important;
  }

  /* 個別カラムのSWELL幅指定を解除 */
  body .post_content
  .safe-points-section
  .safe-points-grid
  > .swell-block-columns__inner
  > .safe-point-card {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;

    flex: none !important;
  }
}

/* ========================================
   アプローチセクション
======================================== */
.approach_sec {
  position: relative;
  min-height: 760px !important;
  padding: 0 !important;
  overflow: hidden;
}

/* 左側の文章 */
.approach_content {
  box-sizing: border-box;

  width: min(680px, 48vw);
  margin-right: auto;
  margin-left: clamp(40px, 8vw, 160px);
  padding-block: clamp(72px, 7vw, 104px);
}

/* アイブロウを左寄せ */
body .post_content
.approach_content
p.page_eyebrow_light {
  align-items: flex-start !important;

  width: max-content !important;
  margin-right: auto !important;
  margin-left: 0 !important;

  text-align: left !important;
}

body .post_content
.approach_content
p.page_eyebrow_light::after {
  margin-right: auto !important;
  margin-left: 0 !important;
}

/* H2を左寄せ */
body .post_content
.approach_content
h2.page_ttl_light {
  max-width: 620px !important;
  margin-bottom: 32px !important;
  padding: 0 !important;

  font-size: clamp(30px, 2vw, 38px) !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

/* 通常本文 */
.approach_content
p:not(.page_eyebrow_light):not(.approach_choice__number):not(.approach_choice__text) {
  margin-top: 0;
  margin-bottom: 22px;

  color: #35423e;
  font-size: clamp(15px, 1vw, 17px);
  line-height: 1.95;
  letter-spacing: 0.02em;
}

/* ========================================
   アプローチセクション：共通
======================================== */

/* SP専用画像はPCでは非表示 */
.approach_sp_visual {
  display: none !important;
}

/* 選択肢カード */
body .post_content .approach_choice {
  box-sizing: border-box;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;

  width: 100%;
  min-width: 0;

  margin: 0 !important;
  padding: 22px 20px !important;

  background: rgb(255 255 255 / 88%);
  border: 1px solid #c9d9d5 !important;
  border-radius: 12px;

  box-shadow: 0 5px 16px rgb(23 63 56 / 4%);
}

/* 番号 */
body .post_content
.approach_choice
p.approach_choice__number {
  display: block !important;

  width: auto !important;
  margin: 0 0 12px !important;
  padding: 0 !important;

  color: #a92332 !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.1em !important;
  text-align: left !important;
  writing-mode: horizontal-tb !important;
}

/* 選択肢テキスト */
body .post_content
.approach_choice
p.approach_choice__text {
  display: block !important;

  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-weight: 700 !important;
  text-align: left !important;

  white-space: normal !important;
  word-break: normal;
  overflow-wrap: break-word;
  writing-mode: horizontal-tb !important;
}


/* ========================================
   アプローチセクション：PC
======================================== */

@media (min-width: 782px) {

  /* セクション全体 */
  body .post_content .approach_sec {
    box-sizing: border-box !important;

    min-height: 760px !important;
    padding-top: clamp(80px, 7vw, 112px) !important;
    padding-bottom: clamp(80px, 7vw, 112px) !important;
  }

  /* 左側コンテンツ */
  body .post_content .approach_content {
    box-sizing: border-box !important;

    width: min(720px, 52vw) !important;

    margin-right: auto !important;
    margin-left: clamp(40px, 8vw, 160px) !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 3項目全体 */
  body .post_content .approach_choices {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-top: 34px !important;
    margin-bottom: 34px !important;
  }

  /* SWELLカラムを3列グリッドに変更 */
  body .post_content
  .approach_choices
  > .swell-block-columns__inner {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 14px !important;
    align-items: stretch !important;
  }

  /* 各カラムのSWELL標準幅を解除 */
  body .post_content
  .approach_choices
  .swell-block-column {
    box-sizing: border-box !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    flex: none !important;
    flex-basis: auto !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  /* PCカード */
  body .post_content
  .approach_choices
  .approach_choice {
    min-height: 158px !important;
  }

  /* PC番号 */
  body .post_content
  .approach_choice
  p.approach_choice__number {
    font-size: clamp(17px, 1.35vw, 20px) !important;
  }

  /* PC選択肢テキスト */
  body .post_content
  .approach_choice
  p.approach_choice__text {
    font-size: clamp(17px, 1.25vw, 19px) !important;
    line-height: 1.55 !important;
    letter-spacing: 0.015em !important;
  }
}


/* ========================================
   アプローチセクション：SP
======================================== */

@media (max-width: 781px) {

  /* セクション全体 */
  body .post_content .approach_sec {
    display: block !important;

    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;

    /* PC用背景画像をSPでは解除 */
    background: #fff !important;
  }

  /* ------------------------------
     SP専用画像
  ------------------------------ */

  body .post_content .approach_sp_visual {
    display: block !important;

    width: 100vw !important;
    max-width: none !important;

    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    padding: 0 !important;

    overflow: hidden;
  }

  body .post_content .approach_sp_visual figure {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body .post_content .approach_sp_visual img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 4 / 3;

    margin: 0 !important;

    object-fit: cover !important;
    object-position: 68% 28% !important;
  }

  /* ------------------------------
     文章エリア
  ------------------------------ */

  body .post_content .approach_content {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 44px 20px 64px !important;

    background: #fff !important;
  }

  /* SP見出し */
  html body .post_content
  .approach_content
  h2.wp-block-heading.approach_ttl_sp,

  html body .post_content
  .approach_content
  h2.wp-block-heading.approach_ttl_sp strong {
    width: 100% !important;
    max-width: none !important;

    font-size: 27px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.01em !important;
    text-align: left !important;
  }

  /* 通常本文 */
  body .post_content
  .approach_content
  p:not(.page_eyebrow_light):not(.approach_choice__number):not(.approach_choice__text) {
    max-width: 620px !important;
    margin-bottom: 18px;

    font-size: 16px !important;
    line-height: 1.9 !important;
  }

  /* ------------------------------
     SP選択肢カード
  ------------------------------ */

  body .post_content .approach_choices {
    width: 100% !important;
    margin-top: 28px !important;
    margin-bottom: 28px !important;
  }

  body .post_content
  .approach_choices
  > .swell-block-columns__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    gap: 12px !important;
  }

  body .post_content
  .approach_choices
  .swell-block-column {
    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body .post_content
  .approach_choices
  .approach_choice {
    padding: 20px 18px !important;

    background: #fff;
    border: 1px solid #c9d9d5 !important;
    border-radius: 12px;

    box-shadow: 0 4px 14px rgb(23 63 56 / 4%);
  }

  /* SP番号 */
  body .post_content
  .approach_choice
  p.approach_choice__number {
    margin-bottom: 10px !important;

    font-size: 16px !important;
    line-height: 1 !important;
  }

  /* SP選択肢テキスト */
  body .post_content
  .approach_choice
  p.approach_choice__text {
    font-size: 17px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.01em !important;
  }
}

/* ========================================
   調査対応・強みセクション
======================================== */
/* ========================================
   EXPERTISE：左アイブロウ
======================================== */

body .post_content p.expertise_eyebrow {
  position: relative;

  width: fit-content;
  margin: 0 0 18px !important;
  padding: 0 0 11px !important;

  color: #e16c79 !important;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: 0.12em;
  text-align: left !important;
  text-transform: uppercase;
}

body .post_content p.expertise_eyebrow::before {
  content: none !important;
  display: none !important;
}

body .post_content p.expertise_eyebrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;

  display: block;
  width: 36px;
  height: 2px;

  background: #e16c79;
}
/* ========================================
   EXPERTISE：左H2
======================================== */

body .post_content h2.expertise_intro_title {
  position: relative;

  margin: 0 0 32px !important;
  padding: 0 !important;

  color: #fff !important;
  font-size: clamp(25px, 2.1vw, 34px) !important;
  font-weight: 700;
  line-height: 1.55 !important;
  letter-spacing: 0.02em;
  text-align: left !important;

  /* SWELLのデフォルト装飾を解除 */
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 左線などの疑似要素を解除 */
body .post_content h2.expertise_intro_title::before,
body .post_content h2.expertise_intro_title::after {
  content: none !important;
  display: none !important;

  width: 0 !important;
  height: 0 !important;

  background: none !important;
  border: 0 !important;
}

/* ----------------------------------------
   右側：項目一覧
---------------------------------------- */

.expertise_list {
  display: flex;
  flex-direction: column;
  gap: 1px;

  background: rgb(255 255 255 / 14%);
}


/* ----------------------------------------
   右側：カバーブロック
---------------------------------------- */

body .post_content
.expertise_list
.expertise_item.wp-block-cover {
  box-sizing: border-box;

  min-height: 0 !important;
  margin: 0 !important;
  padding: 32px 30px !important;

  overflow: hidden;

  color: #fff;
  background: #173f38;
  border: 0;
  border-radius: 0;
}


/* 背景画像 */
body .post_content
.expertise_list
.expertise_item
.wp-block-cover__image-background {
  opacity: 1 !important;

  filter:
    saturate(0.65)
    contrast(0.95);

  transform: scale(1.035);

  transition:
    transform 0.55s ease,
    filter 0.35s ease;
}


/* 深緑のオーバーレイ */
body .post_content
.expertise_list
.expertise_item
.wp-block-cover__background {
  background: #173f38 !important;
  opacity: 0.93 !important;

  transition: opacity 0.35s ease;
}


/* テキストを前面へ */
body .post_content
.expertise_list
.expertise_item
.wp-block-cover__inner-container {
  position: relative;
  z-index: 2;

  width: 100%;

  color: #fff;
}


/* ----------------------------------------
   右側：番号＋H3
---------------------------------------- */

.expertise_item_head {
  display: flex;
  gap: 16px;
  align-items: flex-start;

  width: 100%;
  margin: 0 !important;
}


/* 01などの数字 */
.expertise_item_head .expertise_number {
  flex: 0 0 38px;

  margin: 5px 0 0 !important;
  padding: 0 16px 0 0 !important;

  color: #e16c79 !important;
  font-size: 15px !important;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.08em;
  text-align: left !important;

  border: 0;
  border-right: 1px solid rgb(255 255 255 / 24%);
}

body .post_content
.expertise_item_head
h3.expertise_title {
  flex: 1;
  min-width: 0;

  margin: 0 !important;
  padding: 0 !important;

  color: #fff !important;
  font-size: clamp(19px, 1.45vw, 23px) !important;
  font-weight: 700;
  line-height: 1.5 !important;
  letter-spacing: 0.01em;
  text-align: left !important;

  /* 下線も含めて背景装飾を解除 */
  background: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* SWELLのH3装飾を解除 */
body .post_content
.expertise_item_head
h3.expertise_title::before,
body .post_content
.expertise_item_head
h3.expertise_title::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}

/* ----------------------------------------
   右側：説明文
---------------------------------------- */

.expertise_text {
  max-width: 680px;
  margin: 16px 0 0 !important;

  color: rgb(255 255 255 / 80%) !important;
  font-size: 15px !important;
  line-height: 1.9;
}


/* ----------------------------------------
   ホバー
---------------------------------------- */

@media (hover: hover) {
  body .post_content
  .expertise_list
  .expertise_item:hover
  .wp-block-cover__background {
    opacity: 0.8 !important;
  }

  body .post_content
  .expertise_list
  .expertise_item:hover
  .wp-block-cover__image-background {
    filter:
      saturate(0.8)
      contrast(1);

    transform: scale(1);
  }

  body .post_content
  .expertise_list
  .expertise_item:hover
  .expertise_text {
    color: rgb(255 255 255 / 94%) !important;
  }
}


/* ========================================
   スマートフォン
======================================== */

@media (max-width: 781px) {
  /* 左アイブロウ */
  body .post_content p.expertise_eyebrow {
    margin-bottom: 15px !important;
    padding-bottom: 9px !important;

    font-size: 12px !important;
    letter-spacing: 0.14em;
  }

  body .post_content p.expertise_eyebrow::after {
    width: 30px;
  }

  /* H2 */
 body .post_content h2.expertise_intro_title {
    margin-bottom: 24px !important;
    padding: 0 !important;

    font-size: 25px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.01em;
  }


  /* カバーブロック */
  body .post_content
  .expertise_list
  .expertise_item.wp-block-cover {
    min-height: 0 !important;
    padding: 26px 20px !important;
  }

  body .post_content
  .expertise_list
  .expertise_item
  .wp-block-cover__background {
    opacity: 0.89 !important;
  }

  body .post_content
  .expertise_list
  .expertise_item
  .wp-block-cover__image-background {
    transform: none;
  }


  /* 番号＋H3 */
  .expertise_item_head {
    gap: 12px;
  }

  .expertise_item_head .expertise_number {
    flex-basis: 34px;

    margin-top: 4px !important;
    padding-right: 12px !important;

    font-size: 14px !important;
  }

 /* 右H3 */
  body .post_content
  .expertise_item_head
  h3.expertise_title {
    padding: 0 !important;

    font-size: 18px !important;
    line-height: 1.5 !important;

    background: transparent !important;
    background-image: none !important;
  }


  /* 説明文 */
  .expertise_text {
    margin-top: 14px !important;

    font-size: 15px !important;
    line-height: 1.85;
  }
}


/* =========================
   調査サービス：メインカード
========================= */
/* ========================================
   SERVICES：左寄せアイブロウ
======================================== */

body .post_content p.service_eyebrow {
  position: relative;

  width: fit-content !important;
  margin: 0 0 18px !important;
  padding: 0 0 10px !important;

  color: #a92332 !important;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: 0.16em;
  text-align: left !important;
  text-transform: uppercase;
}

body .post_content p.service_eyebrow::before {
  content: none !important;
  display: none !important;
}

body .post_content p.service_eyebrow::after {
  content: "";
  position: absolute;
  right: auto !important;
  bottom: 0;
  left: 0 !important;

  display: block !important;
  width: 36px;
  height: 2px;
  margin: 0 !important;

  background: #a92332;
  transform: none !important;
}


/* ========================================
   SERVICES：左寄せH2
======================================== */

body .post_content h2.service_section_title {
  margin: 0 0 32px !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: clamp(32px, 2.5vw, 39px) !important;
  font-weight: 700;
  line-height: 1.5 !important;
  letter-spacing: 0.02em;
  text-align: left !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content h2.service_section_title::before,
body .post_content h2.service_section_title::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}


/* スマホ */
@media (max-width: 781px) {
  body .post_content p.service_eyebrow {
    margin-bottom: 15px !important;
    padding-bottom: 8px !important;

    font-size: 12px !important;
    letter-spacing: 0.14em;
  }

  body .post_content p.service_eyebrow::after {
    width: 30px;
  }

  body .post_content h2.service_section_title {
    margin-bottom: 24px !important;

    font-size: 26px !important;
    line-height: 1.5 !important;
  }
}

.service-main-card {
  position: relative;
  overflow: hidden;
  min-height: 480px;

  border: 1px solid #dce4e1;
  border-radius: 24px;
  box-shadow: 0 14px 36px rgba(18, 79, 76, 0.07);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

/* カバーブロックの背景画像にも角丸を反映 */
.service-main-card .wp-block-cover__image-background,
.service-main-card > img {
  border-radius: inherit;
  transition: transform 0.45s ease;
}

/* カード内のオーバーレイも角丸内に収める */
.service-main-card .wp-block-cover__background {
  border-radius: inherit;
}

/* ホバー */
.service-main-card:hover .wp-block-cover__image-background,
.service-main-card:hover > img {
  transform: scale(1.025);
}

.service-main-card__content {
  width: min(52%, 400px);
  margin-right: auto;
  padding: clamp(28px, 3vw, 32px);

  background: rgba(255, 255, 255, 0.94);
  border-radius: 0 20px 20px 0;
  backdrop-filter: blur(5px);
}

@media (max-width: 781px) {
  .service-main-card {
    min-height: 500px;
    border-radius: 20px;
  }

  .service-main-card__content {
    width: calc(100% - 32px);
    margin: auto 16px 16px;
    padding: 28px 24px;

    border-radius: 16px;
  }

  .service-sub-card {
    min-height: 150px;
    padding: 28px 24px;
    border-radius: 16px;
  }
}

/* ========================================
   調査サービス：レスポンシブ配置
======================================== */

/* タブレット帯からメインとサブ一覧を縦積み */
@media (max-width: 1100px) {
  body .post_content
  .service-layout
  > .swell-block-columns__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
  }

  /* SWELLが各カラムに設定する幅を解除 */
  body .post_content
  .service-layout
  > .swell-block-columns__inner
  > .swell-block-column {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    flex-basis: auto !important;
  }

  /* 右側4項目は2列を維持 */
  body .post_content
  .service-sub-grid
  > .swell-block-columns__inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }

  body .post_content
  .service-sub-grid
  > .swell-block-columns__inner
  > .swell-block-column {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* スマホはサブ項目も1列 */
@media (max-width: 600px) {
  body .post_content
  .service-sub-grid
  > .swell-block-columns__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
}

/* ========================================
   調査サービス：SWELLのマイナスマージン解除
======================================== */

@media (max-width: 1100px) {
  body .post_content .service-sub-grid {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body .post_content
  .service-sub-grid
  > .swell-block-columns__inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;

    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
  }
}

/* ========================================
調査サービス：リンクカード
======================================== */

/* プラグインが生成したカード全体のリンク */
a:has(.service-sub-card) {
  display: block;
  height: auto;

  color: inherit !important;
  text-decoration: none !important;
}

/* カード本体 */
.service-sub-card {
  position: relative;
  box-sizing: border-box;
  overflow: hidden;

  min-height: 190px;
  padding: 28px 28px 74px 28px;

  color: #334541;
  background: #fff;
  border: 1px solid #dce7e3;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(23, 63, 56, 0.06);

  cursor: pointer;

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

/* リンク由来の下線・文字色を解除 */
.service-sub-card,
.service-sub-card *,
.service-sub-card a {
  color: inherit;
  text-decoration: none !important;
}

/* 見出し */
body .post_content h3.service_sub_title {
  margin: 0 0 16px !important;
  padding: 0 !important;

  color: #174d45 !important;
  font-size: clamp(19px, 1.5vw, 23px) !important;
  font-weight: 700;
  line-height: 1.45 !important;
  letter-spacing: 0.02em;
  text-align: left !important;

  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* SWELL標準の見出し装飾を解除 */
body .post_content h3.service_sub_title::before,
body .post_content h3.service_sub_title::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}

/* 説明文 */
.service-sub-card p {
  margin: 0 !important;

  color: #45534f !important;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

/* 右下の丸い矢印 */
.service-sub-card::after {
  content: "→";
  position: absolute;
  right: 24px;
  bottom: 24px;

  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;

  color: #fff;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;

  background: #258b7d;
  border-radius: 50%;

  transition:
    transform 0.3s ease,
    background-color 0.3s ease;
}

/* ホバー */
a:has(.service-sub-card):hover .service-sub-card,
.service-sub-card:hover {
  transform: translateY(-4px);
  border-color: #b7d3cc;
  box-shadow: 0 18px 42px rgba(23, 63, 56, 0.11);
}

/* ホバー時の矢印 */
a:has(.service-sub-card):hover .service-sub-card::after,
.service-sub-card:hover::after {
  transform: translateX(4px);
  background-color: #a92332;
}

/* 元のアイコンブロックが残っている場合は非表示 */
.service-sub-card .swell-block-icon {
  display: none !important;
}

/* スマホ */
@media (max-width: 781px) {
  .service-sub-card {
    min-height: 170px;
    padding: 24px 22px 64px 22px;
    border-radius: 18px;
  }

  body .post_content h3.service_sub_title {
    margin-bottom: 14px !important;
    font-size: 19px !important;
  }

  .service-sub-card p {
    font-size: 14px;
    line-height: 1.85;
  }


}


/* ========================================
   解決事例セクション
======================================== */

/* ----------------------------------------
   アイブロウ
---------------------------------------- */

body .post_content p.cases_eyebrow {
  position: relative;

  width: fit-content;
  margin: 0 0 18px !important;
  padding: 0 0 10px !important;

  color: #a92332 !important;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: 0.16em;
  text-align: left !important;
  text-transform: uppercase;
}

body .post_content p.cases_eyebrow::before {
  content: none !important;
  display: none !important;
}

body .post_content p.cases_eyebrow::after {
  content: "";
  position: absolute;
  right: auto !important;
  bottom: 0;
  left: 0 !important;

  display: block !important;
  width: 36px;
  height: 2px;
  margin: 0 !important;

  background: #a92332;
  transform: none !important;
}


/* ----------------------------------------
   H2
---------------------------------------- */

body .post_content h2.cases_title {
  margin: 0 0 32px !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: clamp(32px, 2.5vw, 39px) !important;
  font-weight: 700;
  line-height: 1.5 !important;
  letter-spacing: 0.02em;
  text-align: left !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content h2.cases_title::before,
body .post_content h2.cases_title::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}


/* ----------------------------------------
   一覧ボタン
---------------------------------------- */

body .post_content
.cases_button {
  width: 100%;
  max-width: 320px;

  margin-right: auto !important;
  margin-left: auto !important;
}

body .post_content
.cases_button
.swell-block-button__link {
  width: 100% !important;
  min-height: 56px;
  padding: 14px 28px !important;

  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700;
  letter-spacing: 0.03em;

  background: #2d8c83 !important;
  border: 1px solid #2d8c83 !important;
  border-radius: 4px;
  box-shadow: 0 4px 10px rgb(23 63 56 / 14%);

  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

@media (hover: hover) {
  body .post_content
  .cases_button
  .swell-block-button__link:hover {
    color: #fff !important;
    background: #173f38 !important;
    border-color: #173f38 !important;

    box-shadow: 0 6px 14px rgb(23 63 56 / 20%);
    transform: translateY(-2px);
  }
}


/* ========================================
   スマートフォン
======================================== */

@media (max-width: 781px) {
  body .post_content p.cases_eyebrow {
    margin-bottom: 15px !important;
    padding-bottom: 8px !important;

    font-size: 12px !important;
    letter-spacing: 0.14em;
  }

  body .post_content p.cases_eyebrow::after {
    width: 30px;
  }

  body .post_content h2.cases_title {
    margin-bottom: 24px !important;

    font-size: 26px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.01em;
  }

  body .post_content .cases_button {
    width: 100%;
    max-width: none;
  }

  body .post_content
  .cases_button
  .swell-block-button__link {
    min-height: 54px;
    padding: 13px 20px !important;

    font-size: 15px !important;
  }
}

/*投稿リスト*/
.case-list .p-postList {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 28px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.case-list .p-postList__item {
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden;
  background: #fff;
  border: 1px solid #dce4e1;
  border-radius: 18px;
  box-shadow: none;
}

.case-list .p-postList__link {
  display: block !important;
  width: 100%;
  height: 100%;
  padding: 0 !important;
}

.case-list .p-postList__thumb {
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 17px 17px 0 0;
  box-shadow: none !important;
}

.case-list .p-postList__body {
  padding: 24px 26px 28px !important;
}

.case-list .p-postList__title {
  margin-top: 0;
  font-size:18px;
  line-height: 1.6;
}

/* ホバー */
.case-list .p-postList__item:hover {
  border-color: #9fb8b3;
  box-shadow: 0 10px 24px rgba(18, 79, 76, 0.05);
}

.case-list .p-postList__item:hover .p-postList__thumb img {
  transform: scale(1.025);
}

@media (min-width: 782px) and (max-width: 1024px) {
  .case-list .p-postList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 781px) {
  .case-list .p-postList {
    grid-template-columns: 1fr;
    gap: 20px !important;
  }
}


/* ========================================
   料金セクション：見出し
======================================== */

/* アイブロウ */
body .post_content
.price-section
p.price_eyebrow {
  position: relative;

  width: fit-content;
  margin: 0 0 18px !important;
  padding: 0 0 10px !important;

  color: #a92332 !important;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: 0.16em;
  text-align: left !important;
  text-transform: uppercase;
}

body .post_content
.price-section
p.price_eyebrow::before {
  content: none !important;
  display: none !important;
}

body .post_content
.price-section
p.price_eyebrow::after {
  content: "";
  position: absolute;
  right: auto !important;
  bottom: 0;
  left: 0 !important;

  display: block !important;
  width: 36px;
  height: 2px;
  margin: 0 !important;

  background: #a92332;
  transform: none !important;
}


/* H2「料金について」 */
body .post_content
.price-section
h2.price_title {
  margin: 0 0 32px !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: clamp(32px, 2.5vw, 39px) !important;
  font-weight: 700;
  line-height: 1.5 !important;
  letter-spacing: 0.02em;
  text-align: left !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.price-section
h2.price_title::before,
body .post_content
.price-section
h2.price_title::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}


/* 「基本料金」「他社との料金比較」 */
body .post_content
.price-section
h3.price_subtitle {
  margin: 0 0 28px !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: 22px !important;
  font-weight: 700;
  line-height: 1.5 !important;
  letter-spacing: 0.01em;
  text-align: left !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.price-section
h3.price_subtitle::before,
body .post_content
.price-section
h3.price_subtitle::after {
  content: none !important;
  display: none !important;
}


/* スマホ */
@media (max-width: 781px) {
  body .post_content
  .price-section
  p.price_eyebrow {
    margin-bottom: 15px !important;
    padding-bottom: 8px !important;

    font-size: 12px !important;
    letter-spacing: 0.14em;
  }

  body .post_content
  .price-section
  p.price_eyebrow::after {
    width: 30px;
  }

  body .post_content
  .price-section
  h2.price_title {
    margin-bottom: 24px !important;

    font-size: 26px !important;
    line-height: 1.5 !important;
  }

  body .post_content
  .price-section
  h3.price_subtitle {
    margin-bottom: 22px !important;

    font-size: 20px !important;
    line-height: 1.5 !important;
  }
}


/*料金ボックス装飾*/
.price-box {
  padding: 28px 24px;
  background: #fff;
  border: 1px solid #dce4e1;
  border-radius: 14px;
  text-align: center;
}

.price-box strong {
  display: block;
  margin-top: 10px;
  color: #176b67;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.2;
}

/*比較表*/
.price-table-wrap {
  width: 100%;
  overflow-x: auto;

  background: #fff;
  border: 1px solid #dce4e1;
  border-radius: 18px;

  -webkit-overflow-scrolling: touch;
}

.price-table {
  width: 100%;
  min-width: 900px;
  margin: 0 !important;
  border-collapse: collapse;
}

.price-table th,
.price-table td {
  padding: 16px 18px;
  border: 0;
  border-right: 1px solid #dce4e1;
  border-bottom: 1px solid #dce4e1;
  vertical-align: middle;
  text-align: center;
  line-height: 1.65;
}

.price-table th {
  background: #faf8f3;
  font-weight: 700;
}

.price-table th:first-child,
.price-table td:first-child {
  width: 18%;
  font-weight: 600;
  text-align: left;
}

/* さくら探偵社のヘッダー */
.price-table th:nth-child(2) {
  background: #176b67;
  color: #fff;
  font-weight: 700;
}

/* さくら探偵社の本文列 */
.price-table td:nth-child(2) {
  background: #eaf3f1;
  color: #232323;
  font-weight: 600;
}

.price-table th:last-child,
.price-table td:last-child {
  border-right: 0;
}

.price-table tr:last-child td {
  border-bottom: 0;
}

@media (max-width: 781px) {
  .price-table-wrap {
    width: calc(100% + 32px);
    margin-inline: -16px;
    border-radius: 0;
  }

  .price-table {
    min-width: 820px;
  }

  .price-table th,
  .price-table td {
    padding: 13px 14px;
    font-size: 13px;
  }
}

/*料金CTA*/
.price-consult {
  padding: clamp(36px, 5vw, 56px);
  background: #fff;
  border: 1px solid #dce4e1;
  border-radius: 18px;
}

.price-consult__columns .swell-block-columns__inner {
  align-items: center !important;
}

.price-consult__columns .swell-block-column:last-child {
  display: flex;
  justify-content: flex-end;
}

.price-consult .swell-block-button__link {
  min-width: 270px;
  justify-content: center;
}

/* ========================================
   料金詳細ボタン
======================================== */

body .post_content
.price_button {
  width: 100% !important;
  max-width: 320px !important;

  margin-right: auto !important;
  margin-left: auto !important;
}

body .post_content
.price_button
.swell-block-button__link {
  box-sizing: border-box;

  width: 100% !important;
  min-width: 0 !important;
  min-height: 56px;
  padding: 14px 28px !important;

  font-size: 16px !important;
  font-weight: 700;
  letter-spacing: 0.03em;
}


/* スマホ */
@media (max-width: 781px) {
  body .post_content
  .price_button {
    max-width: none !important;
  }

  body .post_content
  .price_button
  .swell-block-button__link {
    min-height: 54px;
    padding: 13px 20px !important;

    font-size: 15px !important;
  }
}

@media (max-width: 781px) {
  .price-consult {
    padding: 32px 24px;
  }

  .price-consult__columns .swell-block-column:last-child {
    justify-content: flex-start;
  }

  .price-consult .swell-button,
  .price-consult .swell-block-button__link {
    width: 100%;
  }
}

/* ========================================
   調査の流れ
======================================== */

.flow-section {
  padding-block: clamp(80px, 9vw, 140px);

  /*
   背景色はSWELLのフルワイドブロックで
   #faf8f3 を設定
  */
}


/* ----------------------------------------
   アイブロウ
---------------------------------------- */

body .post_content
.flow-section
p.flow_eyebrow {
  position: relative;

  width: fit-content;
  margin: 0 auto 18px !important;
  padding: 0 0 10px !important;

  color: #a92332 !important;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: 0.16em;
  text-align: center !important;
  text-transform: uppercase;
}

body .post_content
.flow-section
p.flow_eyebrow::before {
  content: none !important;
  display: none !important;
}

body .post_content
.flow-section
p.flow_eyebrow::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;

  display: block;
  width: 36px;
  height: 2px;
  margin: auto;

  background: #a92332;
  transform: none !important;
}


/* ----------------------------------------
   H2
---------------------------------------- */

body .post_content
.flow-section
h2.flow_title {
  margin: 0 0 32px !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: clamp(32px, 2.5vw, 39px) !important;
  font-weight: 700;
  line-height: 1.5 !important;
  letter-spacing: 0.02em;
  text-align: center !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.flow-section
h2.flow_title::before,
body .post_content
.flow-section
h2.flow_title::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}


/* ----------------------------------------
   導入文
---------------------------------------- */

body .post_content
.flow-section
.flow_lead {
  max-width: 680px;
  margin: 0 auto 46px !important;

  color: #303936;
  font-size: 16px;
  line-height: 1.9;
  text-align: center;
}


/* ----------------------------------------
   カードの行
---------------------------------------- */

/* 3列の高さをそろえる */
.flow-row > .swell-block-columns__inner {
  align-items: stretch !important;
}

/* 上段と下段の間隔 */
.flow-row + .flow-row {
  margin-top: 24px;
}


/* ----------------------------------------
   各カード
---------------------------------------- */

.flow-row
> .swell-block-columns__inner
> .flow-card {
  position: relative;

  display: flex;
  box-sizing: border-box;
  min-width: 0;
  padding: clamp(28px, 3vw, 40px);

  flex-direction: column;
  align-self: stretch !important;

  background: #fff;
  border: 1px solid #dce4e1;
  border-radius: 16px;
  box-shadow: 0 10px 26px rgb(18 79 76 / 4%);
}


/* ----------------------------------------
   STEP番号
---------------------------------------- */

.flow-card__head {
  display: block;
}

.flow-card__step {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;

  width: auto;
  margin: 0 0 20px !important;

  color: #176b67;
  line-height: 1;
  text-align: left;

  border: 0;
  border-radius: 0;
}

.flow-card__step small {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.flow-card__step strong {
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
}

.flow-card__step::after {
  content: "";

  width: 36px;
  height: 1px;
  margin-left: 6px;

  background: #176b67;
}


/* ----------------------------------------
   カード見出し
---------------------------------------- */

body .post_content
.flow-card
h3 {
  margin: 0 0 20px !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: clamp(18px, 1.5vw, 20px) !important;
  font-weight: 700;
  line-height: 1.55 !important;
  letter-spacing: 0.01em;
  text-align: left !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.flow-card
h3::before,
body .post_content
.flow-card
h3::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}


/* ----------------------------------------
   アイコン
---------------------------------------- */

.flow-card__icon {
  width: 88px;
  height: 88px;
  margin: 8px auto 24px;
}

.flow-card__icon img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
}


/* ----------------------------------------
   説明文
---------------------------------------- */

.flow-card > p:last-child {
  margin-top: auto !important;
  margin-bottom: 0 !important;

  color: #303936;
  font-size: 15px;
  line-height: 1.9;
}


/* ----------------------------------------
   注記
---------------------------------------- */

.flow-note {
  margin: 32px 0 0 !important;
  padding: 18px 24px;

  color: #124f4c;
  line-height: 1.8;
  text-align: center;
}


/* ----------------------------------------
   PC：カード間の矢印
---------------------------------------- */

@media (min-width: 782px) {
  .flow-row
  > .swell-block-columns__inner
  > .flow-card:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -18px;
    z-index: 2;

    width: 0;
    height: 0;

    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 10px solid #a92332;

    transform: translateY(-50%);
  }
}


/* ========================================
   スマートフォン
======================================== */

@media (max-width: 781px) {
  .flow-section {
    padding-block: 72px;
  }


  /* アイブロウ */
  body .post_content
  .flow-section
  p.flow_eyebrow {
    margin-bottom: 15px !important;
    padding-bottom: 8px !important;

    font-size: 12px !important;
    letter-spacing: 0.14em;
  }

  body .post_content
  .flow-section
  p.flow_eyebrow::after {
    width: 30px;
  }


  /* H2 */
  body .post_content
  .flow-section
  h2.flow_title {
    margin-bottom: 24px !important;

    font-size: 26px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.01em;
  }


  /* 導入文 */
  body .post_content
  .flow-section
  .flow_lead {
    margin-bottom: 36px !important;

    font-size: 15px;
    line-height: 1.85;
    text-align: left;
  }


  /* 行 */
  .flow-row + .flow-row {
    margin-top: 40px;
  }

  .flow-row > .swell-block-columns__inner {
    row-gap: 40px !important;
  }


  /* カード */
  .flow-row
  > .swell-block-columns__inner
  > .flow-card {
    padding: 28px 22px;
    border-radius: 14px;
  }


  /* STEP */
  .flow-card__head {
    display: block;
  }

  .flow-card__step {
    width: auto;
    margin-bottom: 18px !important;
  }

  .flow-card__step small {
    font-size: 11px;
  }

  .flow-card__step strong {
    font-size: 26px;
  }

  .flow-card__step::after {
    width: 30px;
  }


  /* カード見出し */
  body .post_content
  .flow-card
  h3 {
    margin-bottom: 16px !important;

    font-size: 18px !important;
    line-height: 1.55 !important;
  }


  /* アイコン */
  .flow-card__icon {
    width: 72px;
    height: 72px;
    margin: 6px auto 20px;
  }


  /* 説明文 */
  .flow-card > p:last-child {
    font-size: 15px;
    line-height: 1.85;
  }


  /* カード間の下向き矢印 */
  .flow-row
  > .swell-block-columns__inner
  > .flow-card:not(:last-child)::after {
    content: "↓";
    position: absolute;
    bottom: -30px;
    left: 50%;

    color: #176b67;
    font-size: 20px;
    line-height: 1;

    transform: translateX(-50%);
  }


  /* 注記 */
  .flow-note {
    margin-top: 28px !important;
    padding: 16px 0;

    font-size: 14px;
    text-align: left;
  }
}

/* ========================================
   よくある質問
======================================== */

.faq-section {
  padding-block: clamp(80px, 8vw, 120px);

  background: #fff;
}


/* ----------------------------------------
   アイブロウ
---------------------------------------- */

body .post_content
.faq-section
p.faq_eyebrow {
  position: relative;

  width: fit-content;
  margin: 0 auto 18px !important;
  padding: 0 0 10px !important;

  color: #a92332 !important;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: 0.16em;
  text-align: center !important;
  text-transform: uppercase;
}

body .post_content
.faq-section
p.faq_eyebrow::before {
  content: none !important;
  display: none !important;
}

body .post_content
.faq-section
p.faq_eyebrow::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;

  display: block;
  width: 36px;
  height: 2px;
  margin: auto;

  background: #a92332;
  transform: none !important;
}


/* ----------------------------------------
   H2
---------------------------------------- */

body .post_content
.faq-section
h2.faq_title {
  margin: 0 0 32px !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: clamp(32px, 2.5vw, 39px) !important;
  font-weight: 700;
  line-height: 1.5 !important;
  letter-spacing: 0.02em;
  text-align: center !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* SWELLの見出し装飾を解除 */
body .post_content
.faq-section
h2.faq_title::before,
body .post_content
.faq-section
h2.faq_title::after {
  content: none !important;
  display: none !important;

  width: 0 !important;
  height: 0 !important;

  background: none !important;
  border: 0 !important;
}


/* ----------------------------------------
   FAQ一覧
---------------------------------------- */

body .post_content
.faq-section
.faq-list {
  display: grid;
  gap: 14px;

  width: 100%;
  max-width: 980px;
  margin: 0 auto !important;

  border: 0;
}


/* 1つのQ&A */
body .post_content
.faq-section
.faq-list
> .swell-block-faq__item {
  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden;

  background: #fff;
  border: 1px solid #d9e4e0;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgb(23 63 56 / 4%);
}


/* ----------------------------------------
   質問
---------------------------------------- */

body .post_content
.faq-section
.faq-list
.faq_q {
  position: relative;

  margin: 0 !important;
  padding: 24px 24px 22px 72px !important;

  color: #173f38 !important;
  font-size: clamp(17px, 1.5vw, 19px) !important;
  font-weight: 700;
  line-height: 1.7 !important;
  text-align: left !important;

  background: #fff !important;
  border: 0 !important;
}


/* Qマーク */
body .post_content
.faq-section
.faq-list
.faq_q::before {
  position: absolute;
  top: 23px;
  left: 22px;

  display: grid;
  place-items: center;

  width: 36px;
  height: 36px;
  margin: 0;

  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;

  background: #176b67;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
}


/* ----------------------------------------
   回答
---------------------------------------- */

body .post_content
.faq-section
.faq-list
.faq_a {
  position: relative;

  margin: 0 !important;
  padding: 22px 24px 26px 72px !important;

  color: #3f4746 !important;
  font-size: 15px;
  line-height: 2;

  background: #f7faf9 !important;
  border: 0 !important;
  border-top: 1px solid #e1e9e6 !important;
}


/* Aマーク */
body .post_content
.faq-section
.faq-list
.faq_a::before {
  position: absolute;
  top: 21px;
  left: 22px;

  display: grid;
  place-items: center;

  width: 36px;
  height: 36px;
  margin: 0;

  color: #176b67;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;

  background: #fff;
  border: 1px solid #176b67;
  border-radius: 50%;
  box-shadow: none;
}


/* FAQ内部の不要な余白を解除 */
body .post_content
.faq-section
.faq-list
.faq_q
> :first-child,
body .post_content
.faq-section
.faq-list
.faq_a
> :first-child {
  margin-top: 0 !important;
}

body .post_content
.faq-section
.faq-list
.faq_q
> :last-child,
body .post_content
.faq-section
.faq-list
.faq_a
> :last-child {
  margin-bottom: 0 !important;
}


/* ----------------------------------------
   一覧ボタン
---------------------------------------- */

body .post_content
.faq_button {
  width: 100%;
  max-width: 320px;

  margin: 36px auto 0 !important;
}

body .post_content
.faq_button
.swell-block-button__link {
  width: 100% !important;
  min-height: 56px;
  padding: 14px 28px !important;

  font-size: 16px !important;
  font-weight: 700;
  letter-spacing: 0.03em;
}


/* ========================================
   スマートフォン
======================================== */

@media (max-width: 781px) {
  .faq-section {
    padding-block: 72px;
  }


  /* アイブロウ */
  body .post_content
  .faq-section
  p.faq_eyebrow {
    margin-bottom: 15px !important;
    padding-bottom: 8px !important;

    font-size: 12px !important;
    letter-spacing: 0.14em;
  }

  body .post_content
  .faq-section
  p.faq_eyebrow::after {
    width: 30px;
  }


  /* H2 */
  body .post_content
  .faq-section
  h2.faq_title {
    margin-bottom: 24px !important;

    font-size: 26px !important;
    line-height: 1.5 !important;
  }


  /* FAQ一覧 */
  body .post_content
  .faq-section
  .faq-list {
    gap: 12px;
  }

  body .post_content
  .faq-section
  .faq-list
  > .swell-block-faq__item {
    border-radius: 10px;
  }


  /* 質問 */
  body .post_content
  .faq-section
  .faq-list
  .faq_q {
    padding: 20px 18px 18px 60px !important;

    font-size: 17px !important;
    line-height: 1.65 !important;
  }

  body .post_content
  .faq-section
  .faq-list
  .faq_q::before {
    top: 19px;
    left: 16px;

    width: 32px;
    height: 32px;

    font-size: 14px;
  }


  /* 回答 */
  body .post_content
  .faq-section
  .faq-list
  .faq_a {
    padding: 18px 18px 22px 60px !important;

    font-size: 15px;
    line-height: 1.9;
  }

  body .post_content
  .faq-section
  .faq-list
  .faq_a::before {
    top: 17px;
    left: 16px;

    width: 32px;
    height: 32px;

    font-size: 14px;
  }


  /* ボタン */
  body .post_content
  .faq_button {
    max-width: none;
    margin-top: 28px !important;
  }

  body .post_content
  .faq_button
  .swell-block-button__link {
    min-height: 54px;
    padding: 13px 20px !important;

    font-size: 15px !important;
  }
}


/* ========================================
   代表・会社概要
======================================== */


/* ----------------------------------------
   セクション全体
---------------------------------------- */

.representative-section {
  position: relative;

  padding-block: clamp(80px, 9vw, 130px);

  overflow: hidden;

  background: #f4f8f6;
}

/* 以前の背景分割・円形装飾を解除 */
.representative-section::before,
.representative-section::after {
  content: none !important;
  display: none !important;
}


/* ----------------------------------------
   2カラム
---------------------------------------- */

.representative-columns
> .swell-block-columns__inner {
  align-items: center !important;
}

.representative-message,
.representative-profile {
  min-width: 0;
}

@media (min-width: 782px) {
  .representative-columns
  > .swell-block-columns__inner {
    flex-wrap: nowrap !important;
  }
}


/* ========================================
   左側：代表メッセージ
======================================== */

.representative-message {
  display: flex;
  box-sizing: border-box;
  padding-block: clamp(16px, 3vw, 40px);
  padding-right: clamp(32px, 5vw, 72px);

  flex-direction: column;
  justify-content: center;
}


/* ----------------------------------------
   アイブロウ
---------------------------------------- */

body .post_content
.representative-message
p.representative-eyebrow {
  position: relative;

  display: block;
  width: fit-content;
  margin: 0 0 24px !important;
  padding: 0 0 10px !important;

  color: #a92332 !important;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: 0.16em;
  text-align: left !important;
  text-transform: uppercase;
}

/* 以前の縦線を解除 */
body .post_content
.representative-message
p.representative-eyebrow::before {
  content: none !important;
  display: none !important;
}

/* 桜色の短い下線 */
body .post_content
.representative-message
p.representative-eyebrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;

  display: block;
  width: 36px;
  height: 2px;

  background: #a92332;
}


/* ----------------------------------------
   メイン見出し
---------------------------------------- */

body .post_content
.representative-message
h2 {
  max-width: 720px;
  margin: 0 !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: clamp(32px, 2.5vw, 39px) !important;
  font-weight: 700;
  line-height: 1.55 !important;
  letter-spacing: 0.02em;
  text-align: left !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* SWELL装飾と以前の下線を解除 */
body .post_content
.representative-message
h2::before,
body .post_content
.representative-message
h2::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}


/* ----------------------------------------
   本文
---------------------------------------- */

body .post_content
.representative-message
p:not(.representative-eyebrow) {
  max-width: 720px;

  color: #303936;
  font-size: 16px;
  line-height: 2;
}

body .post_content
.representative-message
h2 + p {
  margin-top: 32px !important;
}

body .post_content
.representative-message
p:not(.representative-eyebrow) + p {
  margin-top: 18px !important;
}


/* ----------------------------------------
   会社概要ボタン
---------------------------------------- */

body .post_content
.representative-message
.swell-block-buttons {
  margin-top: clamp(30px, 4vw, 44px);

  justify-content: flex-start !important;
}

body .post_content
.representative_button {
  width: 100%;
  max-width: 240px;

  margin: 0 !important;
}

body .post_content
.representative_button
.swell-block-button__link {
  width: 100% !important;
  min-height: 54px;
  padding: 13px 24px !important;

  font-size: 15px !important;
  font-weight: 700;
  letter-spacing: 0.03em;

  /*
   通常色はSWELL側で設定。
   site_btn_hoverでホバーのみ共通化。
  */
}


/* ========================================
   右側：代表プロフィール
======================================== */

.representative-profile {
  display: flex;
  box-sizing: border-box;
  align-self: stretch !important;
  padding: clamp(32px, 4vw, 48px);

  flex-direction: column;
  justify-content: center;

  background: #fff;
  border: 1px solid #d9e4e0;
  border-radius: 16px;
  box-shadow: 0 12px 34px rgb(23 63 56 / 7%);
}


/* 役職 */
.representative-role {
  margin: 0 !important;
  padding-bottom: 16px;

  color: #a92332 !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.06em;

  border-bottom: 1px solid #dce4e1;
}


/* 代表者名 */
body .post_content
.representative-profile
h3 {
  margin: 20px 0 0 !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: clamp(26px, 2vw, 32px) !important;
  font-weight: 700;
  line-height: 1.35 !important;
  letter-spacing: 0.05em;
  text-align: left !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.representative-profile
h3::before,
body .post_content
.representative-profile
h3::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}


/* ローマ字 */
.representative-name-en {
  margin: 8px 0 0 !important;

  color: #687772 !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.08em;
}


/* ----------------------------------------
   経歴・実績
---------------------------------------- */

.representative-career {
  margin-top: 26px;

  border-top: 1px solid #dce4e1;
}

.representative-career__item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;

  padding-block: 18px;

  border-bottom: 1px solid #dce4e1;
}

.representative-career__label {
  margin: 0 !important;

  color: #303936;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

.representative-career__value {
  margin: 0 !important;

  color: #176b67 !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.01em;
  text-align: right;
  white-space: nowrap;
}


/* 補足文 */
.representative-note {
  margin: 26px 0 0 !important;

  color: #303936;
  font-size: 15px;
  line-height: 1.9;
}


/* ========================================
   スマートフォン
======================================== */

@media (max-width: 781px) {
  .representative-section {
    padding-block: 72px;
  }


  /* 左側 */
  .representative-message {
    padding: 0;
  }


  /* アイブロウ */
  body .post_content
  .representative-message
  p.representative-eyebrow {
    margin-bottom: 18px !important;
    padding-bottom: 8px !important;

    font-size: 12px !important;
    letter-spacing: 0.14em;
  }

  body .post_content
  .representative-message
  p.representative-eyebrow::after {
    width: 30px;
  }


  /* H2 */
  body .post_content
  .representative-message
  h2 {
    font-size: 27px !important;
    line-height: 1.55 !important;
    letter-spacing: 0.01em;
  }


  /* 本文 */
  body .post_content
  .representative-message
  p:not(.representative-eyebrow) {
    font-size: 15px;
    line-height: 1.9;
  }

  body .post_content
  .representative-message
  h2 + p {
    margin-top: 24px !important;
  }


  /* ボタン */
  body .post_content
  .representative-message
  .swell-block-buttons {
    margin-top: 30px;

    justify-content: stretch !important;
  }

  body .post_content
  .representative_button {
    width: 100%;
    max-width: none;
  }

  body .post_content
  .representative_button
  .swell-block-button__link {
    width: 100% !important;
    min-height: 54px;

    font-size: 15px !important;
  }


  /* プロフィールカード */
  .representative-profile {
    margin-top: 36px;
    padding: 28px 22px;

    border-radius: 14px;
    box-shadow: 0 8px 24px rgb(23 63 56 / 6%);
  }

  .representative-role {
    padding-bottom: 14px;

    font-size: 13px;
  }

  body .post_content
  .representative-profile
  h3 {
    margin-top: 18px !important;

    font-size: 28px !important;
  }

  .representative-name-en {
    font-size: 13px;
  }


  /* 経歴・実績はスマホでも横並び */
  .representative-career__item {
    grid-template-columns: minmax(72px, 0.7fr) 1fr;
    gap: 16px;

    padding-block: 16px;
  }

  .representative-career__label {
    font-size: 13px;
  }

  .representative-career__value {
    font-size: 24px !important;
    text-align: right;
  }

  .representative-note {
    margin-top: 22px !important;

    font-size: 14px;
    line-height: 1.85;
  }
}

/* ========================================
   代表・会社概要：スマホ微調整
======================================== */

@media (max-width: 781px) {
  /* ----------------------------------------
     見出し
  ---------------------------------------- */

  body .post_content
  .representative-message
  h2 {
    font-size: clamp(23px, 6.4vw, 25px) !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;

    text-wrap: pretty;
  }


  /* ----------------------------------------
     本文
  ---------------------------------------- */

  body .post_content
  .representative-message
  p:not(.representative-eyebrow) {
    font-size: 15px;
    line-height: 1.9;
  }

  body .post_content
  .representative-message
  h2 + p {
    margin-top: 24px !important;
  }

  body .post_content
  .representative-message
  p:not(.representative-eyebrow) + p {
    margin-top: 18px !important;
  }


  /* ----------------------------------------
     プロフィールカード
  ---------------------------------------- */

  .representative-profile {
    margin-top: 32px;
    padding: 26px 20px;

    border-radius: 14px;
  }

  body .post_content
  .representative-profile
  h3 {
    font-size: 27px !important;
    line-height: 1.4 !important;
  }


  /* ----------------------------------------
     経歴・実績
  ---------------------------------------- */

  .representative-career__item {
    display: flex !important;
    gap: 16px;
    align-items: center;
    justify-content: space-between;

    padding-block: 16px;
  }

  /* 「探偵歴」「年間相談実績」を改行させない */
  .representative-career__label {
    flex: 0 0 96px;

    margin: 0 !important;

    font-size: 13px;
    line-height: 1.5;
    white-space: nowrap;
  }

  .representative-career__value {
    flex: 1;

    margin: 0 !important;

    font-size: 24px !important;
    line-height: 1.3;
    text-align: right;
    white-space: nowrap;
  }


  /* ----------------------------------------
     SP専用ボタン
  ---------------------------------------- */

  body .post_content
  .representative_button_sp {
    width: 100% !important;
    max-width: none !important;

    margin: 24px 0 0 !important;
  }

  body .post_content
  .representative_button_sp
  .swell-block-button__link {
    width: 100% !important;
    min-height: 54px;
    padding: 13px 20px !important;

    font-size: 15px !important;
  }
}

/* ========================================
   コラム・お知らせセクション
======================================== */

.info-section {
  padding-block: clamp(80px, 8vw, 120px);

  background: #fff;
}


/* ----------------------------------------
   アイブロウ
---------------------------------------- */

body .post_content
.info-section
p.info_eyebrow {
  position: relative;

  width: fit-content;
  margin: 0 0 18px !important;
  padding: 0 0 10px !important;

  color: #a92332 !important;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: 0.16em;
  text-align: left !important;
  text-transform: uppercase;
}

body .post_content
.info-section
p.info_eyebrow::before {
  content: none !important;
  display: none !important;
}

body .post_content
.info-section
p.info_eyebrow::after {
  content: "";
  position: absolute;
  right: auto !important;
  bottom: 0;
  left: 0 !important;

  display: block;
  width: 36px;
  height: 2px;
  margin: 0;

  background: #a92332;
  transform: none !important;
}


/* ----------------------------------------
   H2
---------------------------------------- */

body .post_content
.info-section
h2.info_title {
  max-width: 940px;
  margin: 0 0 32px !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: clamp(32px, 2.5vw, 39px) !important;
  font-weight: 700;
  line-height: 1.5 !important;
  letter-spacing: 0.02em;
  text-align: left !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  text-wrap: pretty;
}

body .post_content
.info-section
h2.info_title::before,
body .post_content
.info-section
h2.info_title::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}


/* ----------------------------------------
   導入文
---------------------------------------- */

.info_lead {
  max-width: 940px;
  margin: 0 0 44px !important;

  color: #303936;
  font-size: 16px;
  line-height: 1.9;
}


/* ----------------------------------------
   コラム・お知らせの2カラム
---------------------------------------- */

.info-layout
> .swell-block-columns__inner {
  align-items: flex-start !important;
}


/* ----------------------------------------
   「コラム」「お知らせ」見出し
---------------------------------------- */
body .post_content
.info-section
h3.info_subtitle {
  margin: 0 0 24px !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: 21px !important;
  font-weight: 700;
  line-height: 1.5 !important;
  letter-spacing: 0.01em;
  text-align: left !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.info-section
h3.info_subtitle::before,
body .post_content
.info-section
h3.info_subtitle::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}


/* ========================================
   コラム投稿リスト
======================================== */

/* 3記事を「上1件＋下2件」に配置 */
.column-feature-list .p-postList {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* 各記事 */
.column-feature-list .p-postList__item {
  width: auto !important;
  min-width: 0;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* 1件目は上段いっぱい */
.column-feature-list
.p-postList__item:first-child {
  grid-column: 1 / -1;
}


/* ----------------------------------------
   記事カード
---------------------------------------- */

.column-feature-list
.p-postList__link {
  display: grid !important;
  grid-template-columns: 34% minmax(0, 1fr);

  width: 100%;
  height: 100%;
  padding: 0 !important;

  overflow: hidden;

  background: #fff;
  border: 1px solid #d9e4e0;
  border-radius: 14px;
  box-shadow: 0 6px 20px rgb(23 63 56 / 4%);

  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}


/* 最新記事は画像を広く */
.column-feature-list
.p-postList__item:first-child
.p-postList__link {
  grid-template-columns: 43% minmax(0, 1fr);
}


/* PCホバー */
@media (hover: hover) {
  .column-feature-list
  .p-postList__link:hover {
    border-color: rgb(45 140 131 / 45%);
    box-shadow: 0 10px 28px rgb(23 63 56 / 9%);
    transform: translateY(-2px);
  }

  .column-feature-list
  .p-postList__link:hover
  .p-postList__title {
    color: #176b67;
  }
}


/* ----------------------------------------
   サムネイル
---------------------------------------- */

/* SWELL標準の幅指定を解除 */
.column-feature-list .p-postList__thumb,
.column-feature-list .p-postList__body {
  width: 100% !important;
  min-width: 0;
  max-width: none !important;
}


/* サムネイル領域 */
.column-feature-list
.p-postList__thumb {
  position: relative !important;

  width: 100% !important;
  height: 100% !important;
  min-height: 160px;
  margin: 0 !important;

  overflow: hidden;

  background: #edf1ef;
  border-radius: 0 !important;
}


/* 最新記事 */
.column-feature-list
.p-postList__item:first-child
.p-postList__thumb {
  min-height: 260px;
}


/* SWELL標準のアスペクト比用余白を解除 */
.column-feature-list
.p-postList__thumb.c-postThumb::before {
  content: none !important;
  display: none !important;

  padding-top: 0 !important;
}


/* figureをサムネイル全面へ */
.column-feature-list
.p-postList__thumb
.c-postThumb__figure {
  position: absolute !important;
  inset: 0;

  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden;
}


/* アイキャッチ画像 */
.column-feature-list
.p-postList__thumb img {
  position: absolute !important;
  inset: 0;

  display: block;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover;
  object-position: center;
}


/* ----------------------------------------
   記事本文
---------------------------------------- */

.column-feature-list
.p-postList__body {
  box-sizing: border-box;

  padding: 20px 22px !important;
}


/* 最新記事本文 */
.column-feature-list
.p-postList__item:first-child
.p-postList__body {
  display: flex;
  padding: clamp(28px, 3vw, 38px) !important;

  flex-direction: column;
  justify-content: center;
}


/* タイトル */
.column-feature-list
.p-postList__title {
  width: 100% !important;
  max-width: none !important;
  margin: 0;

  color: #173f38;
  font-size: clamp(16px, 1.3vw, 19px);
  font-weight: 700;
  line-height: 1.6;

  overflow-wrap: anywhere;

  transition: color 0.25s ease;
}


/* 最新記事タイトル */
.column-feature-list
.p-postList__item:first-child
.p-postList__title {
  font-size: clamp(21px, 2vw, 27px);
  line-height: 1.55;
}


/* メタ情報 */
.column-feature-list
.p-postList__meta {
  margin-top: 10px;

  color: #687772;
  font-size: 12px;
  line-height: 1.6;
}


/* ========================================
   お知らせ投稿リスト
======================================== */

.notice-list .p-postList {
  margin: 0 !important;
  padding: 0 !important;

  border-top: 1px solid #d9e4e0;
}

.notice-list .p-postList__item {
  margin: 0 !important;
  padding: 0 !important;

  border-bottom: 1px solid #d9e4e0;
}

.notice-list .p-postList__link {
  display: block;

  padding: 18px 4px !important;

  transition:
    background-color 0.25s ease,
    padding 0.25s ease;
}

.notice-list .p-postList__title {
  color: #173f38;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;

  transition: color 0.25s ease;
}

.notice-list .p-postList__meta {
  margin-bottom: 6px;

  color: #687772;
  font-size: 11px;
  line-height: 1.5;
}

@media (hover: hover) {
  .notice-list
  .p-postList__link:hover {
    padding-right: 10px !important;
    padding-left: 10px !important;

    background: #f4f8f6;
  }

  .notice-list
  .p-postList__link:hover
  .p-postList__title {
    color: #176b67;
  }
}


/* ========================================
   スマートフォン
======================================== */

@media (max-width: 781px) {
  .info-section {
    padding-block: 72px;
  }


  /* アイブロウ */
  body .post_content
  .info-section
  p.info_eyebrow {
    margin-bottom: 15px !important;
    padding-bottom: 8px !important;

    font-size: 12px !important;
    letter-spacing: 0.14em;
  }

  body .post_content
  .info-section
  p.info_eyebrow::after {
    width: 30px;
  }


  /* H2 */
  body .post_content
  .info-section
  h2.info_title {
    margin-bottom: 24px !important;

    font-size: 26px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.01em;
  }


  /* 導入文 */
  .info_lead {
    margin-bottom: 38px !important;

    font-size: 15px;
    line-height: 1.85;
  }


  /* 2カラム間の余白 */
  .info-layout
  > .swell-block-columns__inner {
    row-gap: 52px !important;
  }


  /* 小見出し */
  body .post_content
  .info-section
  h3.info_subtitle {
    margin-bottom: 20px !important;

    font-size: 20px !important;
    line-height: 1.5 !important;
  }
  


  /* ----------------------------------------
     コラム記事：スマホ
  ---------------------------------------- */

  .column-feature-list .p-postList {
    grid-template-columns: 1fr;
    gap: 16px !important;
  }

  .column-feature-list
  .p-postList__item:first-child {
    grid-column: auto;
  }

  .column-feature-list
  .p-postList__link,
  .column-feature-list
  .p-postList__item:first-child
  .p-postList__link {
    display: block !important;
  }


  /*
   重要：
   imgではなく親のサムネイル領域へ
   aspect-ratioを指定
  */
  .column-feature-list
  .p-postList__thumb,
  .column-feature-list
  .p-postList__item:first-child
  .p-postList__thumb {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    aspect-ratio: 16 / 9;
  }

  .column-feature-list
  .p-postList__thumb
  .c-postThumb__figure {
    position: absolute !important;
    inset: 0;

    width: 100% !important;
    height: 100% !important;
  }

  .column-feature-list
  .p-postList__thumb img,
  .column-feature-list
  .p-postList__item:first-child
  .p-postList__thumb img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;

    aspect-ratio: auto;
    object-fit: cover;
  }


  /* 本文 */
  .column-feature-list
  .p-postList__body,
  .column-feature-list
  .p-postList__item:first-child
  .p-postList__body {
    display: block;

    padding: 18px 18px 20px !important;
  }


  /* タイトル */
  .column-feature-list
  .p-postList__title {
    font-size: 17px;
    line-height: 1.6;
  }

  .column-feature-list
  .p-postList__item:first-child
  .p-postList__title {
    font-size: 19px;
    line-height: 1.55;
  }


  /* ----------------------------------------
     お知らせ：スマホ
  ---------------------------------------- */

  .notice-list
  .p-postList__link {
    padding: 17px 4px !important;
  }

  .notice-list
  .p-postList__title {
    font-size: 16px;
    line-height: 1.6;
  }

  .notice-list
  .p-postList__meta {
    font-size: 11px;
  }
}

/* ========================================
   コラム・お知らせ：一覧リンク
======================================== */

body .post_content
.info-section
.info_more_link {
  margin: 20px 0 0 !important;

  text-align: right;
}

body .post_content
.info-section
.info_more_link a {
  display: inline-flex;
  gap: 8px;
  align-items: center;

  color: #176b67 !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none !important;

  transition:
    color 0.25s ease,
    gap 0.25s ease;
}

body .post_content
.info-section
.info_more_link a::after {
  content: "→";

  color: #a92332;
  font-size: 16px;
  line-height: 1;
}

@media (hover: hover) {
  body .post_content
  .info-section
  .info_more_link a:hover {
    gap: 12px;

    color: #a92332 !important;
  }
}


/* スマホ */
@media (max-width: 781px) {
  body .post_content
  .info-section
  .info_more_link {
    margin-top: 16px !important;
  }

  body .post_content
  .info-section
  .info_more_link a {
    font-size: 14px;
  }
}

/* ========================================
   共通CTA
======================================== */

/* セクション外側 */
.cta-section {
  padding-block: clamp(72px, 8vw, 112px);
  background: #faf8f3;
}

/* CTAパネル */
body .post_content .cta-panel {
  position: relative;
  box-sizing: border-box;
  padding: clamp(42px, 5vw, 62px);
  overflow: hidden;

  color: #fff;
  background:
    radial-gradient(
      ellipse 54% 82% at 100% 0%,
      rgb(255 255 255 / 8%) 0%,
      transparent 72%
    ),
    linear-gradient(
      135deg,
      #1b463e 0%,
      #173f38 68%,
      #12352f 100%
    ) !important;

  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 20px;
  box-shadow: 0 18px 42px rgb(23 63 56 / 18%);
}

/* CTA上部 */
.cta-intro > .swell-block-columns__inner {
  align-items: center !important;
}

/* アイブロウ */
body .post_content .cta-panel .cta-eyebrow {
  position: relative;
  width: fit-content;
  margin: 0 0 22px !important;
  padding: 0 0 10px !important;

  color: #ed8490 !important;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: 0.16em;
  text-align: left !important;
  text-transform: uppercase;

  background: transparent !important;
  border: 0 !important;
}

body .post_content .cta-panel .cta-eyebrow::before {
  content: none !important;
  display: none !important;
}

body .post_content .cta-panel .cta-eyebrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;

  display: block;
  width: 36px;
  height: 2px;
  margin: 0;

  background: #ed8490 !important;
}

/* 見出し */
body .post_content .cta-intro h2,
body .post_content .cta-intro h3 {
  margin: 0 0 24px !important;
  padding: 0 !important;

  color: #fff !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  font-weight: 700;
  line-height: 1.5 !important;
  letter-spacing: 0.02em;
  text-align: left !important;
  text-wrap: pretty;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content .cta-intro h2::before,
body .post_content .cta-intro h2::after,
body .post_content .cta-intro h3::before,
body .post_content .cta-intro h3::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
}

/* 本文 */
body .post_content .cta-panel .cta-intro .cta-text,
body .post_content .cta-panel .cta-intro p:not(.cta-eyebrow) {
  max-width: 900px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  color: rgb(255 255 255 / 84%) !important;
  font-size: 16px;
  line-height: 2;
}

body .post_content .cta-panel .cta-intro .cta-text + .cta-text,
body .post_content .cta-panel .cta-intro p:not(.cta-eyebrow) + p:not(.cta-eyebrow) {
  margin-top: 10px !important;
}

/* ========================================
   3つの安心材料
======================================== */

.cta-features {
  margin-top: clamp(32px, 4vw, 44px);
}

.cta-features > .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch !important;
  gap: clamp(12px, 2vw, 18px) !important;
}

.cta-features
> .swell-block-columns__inner
> .cta-feature {
  display: flex;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 68px;
  margin: 0 !important;
  padding: 14px 16px;

  align-items: center;
  justify-content: center;

  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;

  background: rgb(255 255 255 / 7%) !important;
  border: 1px solid rgb(255 255 255 / 17%) !important;
  border-radius: 12px;
}

.cta-feature p {
  margin: 0 !important;
  color: inherit !important;
  line-height: inherit;
}

/* ========================================
   LINE・電話ボタン
======================================== */

.cta-buttons {
  margin-top: 26px;
}

.cta-buttons > .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch !important;
  gap: 20px !important;
}

.cta-buttons .swell-block-column {
  display: flex;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
}

.cta-buttons .swell-block-buttons,
.cta-buttons .swell-block-button,
.cta-buttons .swell-block-button__link {
  width: 100%;
}

.cta-buttons .swell-block-buttons,
.cta-buttons .swell-block-button {
  margin: 0 !important;
}

.cta-buttons .swell-block-button__link {
  display: flex;
  box-sizing: border-box;
  min-height: 62px;
  padding: 15px 26px;

  align-items: center;
  justify-content: center;

  font-size: clamp(16px, 1.4vw, 18px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;

  border-radius: 10px;
  opacity: 1 !important;

  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

/* LINE */
.cta-line .swell-block-button__link {
  color: #fff !important;
  background: #06c755 !important;
  border: 1px solid #06c755 !important;
  box-shadow: 0 5px 14px rgb(6 199 85 / 18%);
}

/* 電話 */
.cta-phone .swell-block-button__link {
  color: #173f38 !important;
  background: #fff !important;
  border: 2px solid #fff !important;
  box-shadow: 0 5px 14px rgb(0 0 0 / 10%);
}

@media (hover: hover) {
  .cta-line .swell-block-button__link:hover {
    color: #fff !important;
    background: #05ae4a !important;
    border-color: #05ae4a !important;
    box-shadow: 0 7px 18px rgb(6 199 85 / 24%);
    transform: translateY(-2px);
  }

  .cta-phone .swell-block-button__link:hover {
    color: #173f38 !important;
    background: #eaf3f1 !important;
    border-color: #eaf3f1 !important;
    box-shadow: 0 7px 18px rgb(0 0 0 / 14%);
    transform: translateY(-2px);
  }
}

.cta-line .swell-block-button__link:focus-visible,
.cta-phone .swell-block-button__link:focus-visible,
.cta-form-link a:focus-visible {
  outline: 3px solid rgb(237 132 144 / 45%);
  outline-offset: 3px;
}

/* ========================================
   お問い合わせフォームリンク
======================================== */

.cta-form-link {
  margin: 22px 0 0 !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}

.cta-form-link a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding-bottom: 3px;

  color: #fff !important;
  font-weight: inherit;
  text-decoration: none !important;
  border-bottom: 1px solid rgb(255 255 255 / 42%);

  transition:
    color 0.25s ease,
    gap 0.25s ease,
    border-color 0.25s ease;
}

.cta-form-link a::after {
  content: "\2192";
  color: #ed8490;
  font-size: 16px;
  line-height: 1;
}

@media (hover: hover) {
  .cta-form-link a:hover {
    gap: 12px;
    color: #ed8490 !important;
    border-color: #ed8490;
  }
}

/* ========================================
   スマートフォン
======================================== */

@media (max-width: 781px) {
  .cta-section {
    padding-block: 64px;
  }

  body .post_content .cta-panel {
    padding: 34px 22px;
    border-radius: 16px;
  }

  body .post_content .cta-panel .cta-eyebrow {
    margin-bottom: 18px !important;
    padding-bottom: 8px !important;
    font-size: 12px !important;
    letter-spacing: 0.14em;
  }

  body .post_content .cta-panel .cta-eyebrow::after {
    width: 30px;
  }

  body .post_content .cta-intro h2,
  body .post_content .cta-intro h3 {
    margin-bottom: 20px !important;
    font-size: 25px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.01em;
  }

  body .post_content .cta-panel .cta-intro .cta-text,
  body .post_content .cta-panel .cta-intro p:not(.cta-eyebrow) {
    font-size: 15px;
    line-height: 1.9;
  }

  /* SWELLカラムのネガティブマージンを解除 */
  body .post_content .cta-panel .cta-features,
  body .post_content .cta-panel .cta-buttons {
    box-sizing: border-box !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body .post_content .cta-panel
  .cta-features > .swell-block-columns__inner,
  body .post_content .cta-panel
  .cta-buttons > .swell-block-columns__inner {
    box-sizing: border-box !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body .post_content .cta-panel
  .cta-features > .swell-block-columns__inner > .swell-block-column,
  body .post_content .cta-panel
  .cta-buttons > .swell-block-columns__inner > .swell-block-column {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  /* 3つの安心材料は2列＋1列 */
  .cta-features {
    margin-top: 28px;
  }

  .cta-features > .swell-block-columns__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
  }

  .cta-features
  > .swell-block-columns__inner
  > .cta-feature {
    min-height: 58px;
    padding: 11px 9px;
    font-size: 13px;
    line-height: 1.5;
  }

  .cta-features
  > .swell-block-columns__inner
  > .cta-feature:last-child {
    grid-column: 1 / -1;
  }

  /* ボタンは縦積み */
  .cta-buttons {
    margin-top: 20px;
  }

  .cta-buttons > .swell-block-columns__inner {
    grid-template-columns: 1fr;
    gap: 12px !important;
  }

  .cta-buttons .swell-block-button__link {
    min-height: 58px;
    padding: 14px 18px;
    font-size: 16px;
  }

  .cta-form-link {
    margin-top: 18px !important;
    font-size: 13px;
  }
}

/* 特に狭い端末 */
@media (max-width: 360px) {
  body .post_content .cta-panel {
    padding: 30px 18px;
  }

  .cta-features > .swell-block-columns__inner {
    grid-template-columns: 1fr;
  }

  .cta-features
  > .swell-block-columns__inner
  > .cta-feature:last-child {
    grid-column: auto;
  }
}


/* =========================
   解決事例：レイアウト
========================= */
/* 解決事例：タイトル横の大きな日付を非表示 */
.single-case .c-postTitle__date {
  display: none !important;
}

/* 解決事例：公開日を非表示 */
.single-case .p-articleMetas__times .c-postTimes__posted {
  display: none !important;
}

/* 更新日の前に分かりやすいラベルを付ける */
.single-case .p-articleMetas__times .c-postTimes__modified::before {
  content: "最終更新 ";
}

.single-case .p-articleMetas__termList a {
  display: inline-flex;
  padding: 4px 10px;
  background: #e7f2f0;
  border-radius: 999px;
  color: #2a7f79;
  font-size: 12px;
  font-weight: 600;
}

/* =========================
   解決事例カード：分類ラベル
========================= */

.p-postList .case-tax-label {
  display: inline-flex;
  align-items: center;

  width: fit-content;
  margin: 0 0 10px;
  padding: 4px 10px;

  background: #e7f2f0;
  border-radius: 999px;

  color: #2a7f79;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}

/* スマートフォン */
@media (max-width: 600px) {
  .p-postList .case-tax-label {
    margin-bottom: 8px;
    padding: 3px 9px;
    font-size: 10px;
  }
}

/* =========================
   解決事例：H2
========================= */

.single-case .post_content h2 {
  color: #232323;
font-size: clamp(21px, 1.5vw + 16px, 32px);
  line-height: 1.55;
}


/*リード画像*/
.case-main-image img {
  width: 100%;
  aspect-ratio: 16 / 7;
  object-fit: cover;
  border-radius: 18px;
}

.case-photo img {
  border-radius: 14px;
}

.case-diagram img {
  border-radius: 10px;
  border: 1px solid #d6e5e2;
}

/* =========================
   事例概要テーブル
========================= */

.case-summary-table {
  overflow: hidden;
  margin-top: 28px;
  background: #fff;
  border: 1px solid #d6e5e2;
  border-radius: 16px;
}

.case-summary-table figure {
  margin: 0 !important;
}

.case-summary-table table {
  width: 100% !important;
  margin: 0 !important;
  table-layout: fixed !important;
  border: 0;
  border-collapse: collapse;
}

/* 列幅 */
.case-summary-table tr > :first-child {
  width: 30% !important;
}

.case-summary-table tr > :nth-child(2) {
  width: 70% !important;
}

/* セル共通 */
.case-summary-table th,
.case-summary-table td {
  padding: 16px 20px;
  border: 0;
  border-bottom: 1px solid #e3ecea;
  line-height: 1.8;
  vertical-align: top;
  text-align: left;
}

.case-summary-table tr:last-child td {
  border-bottom: 0;
}

/* ヘッダー */
.case-summary-table thead th {
  background: #2a7f79;
  color: #fff;
  font-weight: 600;
}

/* 本文の左列 */
.case-summary-table tbody tr > :first-child {
  background-color: #eff7f5 !important;
  color: #1f625e !important;
  font-weight: 600 !important;
  text-align: left;
}

/* 本文の右列 */
.case-summary-table tbody tr > :nth-child(2) {
  background-color: #fff !important;
  color: #232323 !important;
}

.case-summary-table table,
.case-summary-table tbody {
  --tbody-th-color-bg: #eff7f5;
  --tbody-th-color-text: #1f625e;
}

/* =========================
   事例概要テーブル：スマホ
========================= */

@media (max-width: 600px) {

  /* PC用の列幅指定を無効化 */
  .case-summary-table colgroup {
    display: none !important;
  }

  .case-summary-table table,
  .case-summary-table tbody,
  .case-summary-table tr {
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
  }

  /* 項目・内容を上下に並べる */
  .case-summary-table tbody tr > :first-child,
  .case-summary-table tbody tr > :nth-child(2) {
    display: block !important;
    box-sizing: border-box;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  /* PC用ヘッダーは非表示 */
  .case-summary-table thead {
    display: none !important;
  }

  /* 項目名 */
  .case-summary-table tbody tr > :first-child {
    padding: 12px 16px 7px !important;

    background-color: #eff7f5 !important;
    color: #1f625e !important;
    border: 0 !important;

    font-weight: 600;
  }

  /* 内容 */
  .case-summary-table tbody tr > :nth-child(2) {
    padding: 7px 16px 16px !important;

    background-color: #fff !important;
    color: #232323 !important;
    border: 0 !important;
    border-bottom: 1px solid #e3ecea !important;
  }

  /* 最終行の下線を消す */
  .case-summary-table tbody tr:last-child > :nth-child(2) {
    border-bottom: 0 !important;
  }
}

/* 事例：今回のご相談の流れ */
.case-flow-step {
  margin-top: 28px;
}

.case-flow-step .swell-block-step__item {
  padding-bottom: 28px;
}

.case-flow-step .swell-block-step__number {
  background: #2a7f79;
  color: #fff;
}

.case-flow-step .swell-block-step__title {
  color: #244b48;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

.case-flow-step .swell-block-step__body {
  color: #232323;
  line-height: 1.9;
}

.single-case .case-flow-step .swell-block-step__title {
  margin-bottom: 10px;
}

.single-case .case-flow-step .swell-block-step__body {
  line-height: 1.9;
}

/*TIMELINE*/
.case-timeline {
  margin-top: 32px;
  padding: clamp(28px, 4vw, 44px);

  background: #f7faf9;
  border: 1px solid #d6e5e2;
  border-radius: 18px;
}

.case-timeline-image img {
  border-radius: 8px;
}

.case-timeline-item {
  padding-block: 0 40px;
}

.case-timeline-item + .case-timeline-item {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #d6e5e2;
}

.case-timeline-item:last-child {
  padding-bottom: 0;
}

@media (max-width: 781px) {
  .case-timeline-item {
    padding: 22px 18px;
    border-radius: 14px;
  }

  .case-timeline-heading {
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
  }

  .case-timeline-day {
    margin-top: 3px !important;
  }

  .case-timeline-heading h3 {
    font-size: 20px;
  }

  .case-timeline-image img {
    aspect-ratio: 16 / 10;
  }
}

/* =========================
   調査の経過：スマホ調整
========================= */

@media (max-width: 781px) {

  /* 調査の経過全体 */
  .single-case .case-timeline {
    padding: 24px 14px !important;

    border-radius: 14px;
  }

  /* DAYごとの内側グループ */
  .single-case .case-timeline-item {
    margin: 0 !important;
    padding: 0 0 32px !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* 2つ目以降のDAY */
  .single-case .case-timeline-item + .case-timeline-item {
    position: relative;

    margin-top: 32px !important;
    padding-top: 33px !important;

    border: 0 !important;
    border-radius: 0 !important;
  }

  /* 角丸にならない区切り線を疑似要素で作成 */
  .single-case .case-timeline-item + .case-timeline-item::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    height: 1px;
    background: #d6e5e2;
  }

  .single-case .case-timeline-item:last-child {
    padding-bottom: 0 !important;
  }

  /* DAY内の2カラム */
  .single-case .case-timeline-body {
    margin-top: 20px;
  }

  .single-case .case-timeline-body > .swell-block-columns__inner {
    gap: 20px !important;
    margin-inline: 0 !important;
  }

  /* カラム・内側グループの余白を解除 */
  .single-case .case-timeline-body .swell-block-column {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .single-case .case-timeline-body .wp-block-group {
    padding-inline: 0 !important;
  }

  /* 画像 */
  .single-case .case-timeline-image {
    margin: 0 !important;
  }

  .single-case .case-timeline-image img {
    width: 100%;
    border-radius: 8px;
  }
}

/* =========================
   事例：調査で確認できたこと
========================= */

/* カード群をH2の縦線位置に合わせる */
.case-result-grid {
  width: 100%;
  margin-top: 28px;
  margin-right: 0;
  margin-left: 0;
}

.case-result-grid > .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch !important;

  width: 100% !important;
  margin-inline: 0 !important;
  gap: 16px !important;
}

/* SWELLのカラム設定を解除し、カード化 */
.case-result-grid
  > .swell-block-columns__inner
  > .case-result-card {
  box-sizing: border-box !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100%;

  padding: 24px 22px !important;
  margin: 0 !important;

  background: #fff;
  border: 1px solid #d6e5e2;
  border-radius: 14px;
}

/* 番号 */
.case-result-card .case-result-number {
  margin: 0 0 14px !important;

  color: #2a7f79 !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
}


/* 見出し */
.case-result-card h3 {
  margin: 0 !important;

  color: #232323;
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.6;
}

/* 説明 */
.case-result-card h3 + p {
  margin: 14px 0 0 !important;

  font-size: 15px;
  line-height: 1.9;
}

/* 補足 */
.case-result-note {
  margin-top: 28px;
  padding: 18px 22px;

  background: #f3f8f7;
  border: 0;
  border-radius: 10px;
}

.case-result-note p {
  margin: 0 !important;

  color: #344442;
  font-size: 14px;
  line-height: 1.9;
}

@media (max-width: 781px) {
  .case-result-grid > .swell-block-columns__inner {
    grid-template-columns: 1fr;
    gap: 12px !important;
  }

  .case-result-grid {
    width: 100%;
    margin-left: 0;
  }
	
  .case-result-card {
    padding: 20px 18px;
  }

  .case-result-note {
    padding: 16px 18px;
  }
}

/* =========================
   事例：調査プランと費用
========================= */

/* 調査プラン：H2より左へ出るのを防ぐ */

.case-plan-grid {
  width: calc(100% - 22px);
  margin-top: 28px;
  margin-left: 22px;
  margin-right: 0;
}

/* PC：2列 */
.case-plan-grid > .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch !important;
  gap: 20px !important;

  width: 100% !important;
  margin-inline: 0 !important;
}

/* SWELLのカラム幅・flex指定を解除 */
.case-plan-grid
  > .swell-block-columns__inner
  > .swell-block-column {
  box-sizing: border-box !important;

  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;

  flex: none !important;
  flex-basis: auto !important;

  margin: 0 !important;
}

/* 左右のカード */
.case-plan-grid
  > .swell-block-columns__inner
  > .case-plan-card,
.case-plan-grid
  > .swell-block-columns__inner
  > .case-price-note {
  box-sizing: border-box !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100%;

  margin: 0 !important;
  padding: 26px 24px !important;

  background: #f7faf9;
  border: 1px solid #d6e5e2;
  border-radius: 16px;
}

/* 小見出し */
.case-plan-card h3,
.case-price-note h3 {
  margin: 0 0 20px !important;
  padding-bottom: 12px;

  color: #232323;
  font-size: 19px;
  line-height: 1.6;

  border-bottom: 1px solid #bddbd7;
}

/* 左側の表 */
.case-plan-card figure {
  margin: 0 !important;
}

.case-plan-card table {
  width: 100%;
  margin: 0 !important;

  background: #fff;
  border-collapse: collapse;
}

.case-plan-card td {
  padding: 11px 14px;

  border: 1px solid #dce5e3;
  line-height: 1.7;
}

.case-plan-card td:first-child {
  width: 42%;

  background: #eff7f5;
  color: #244b48;
  font-weight: 600;
}

/* 費用目安の行を強調 */
.case-plan-card tbody tr:last-child td {
  background: #e7f2f0;
  color: #1f625e;
  font-weight: 700;
}

.case-plan-card tbody tr:last-child td:last-child {
  font-size: 18px;
}

/* 表下の注記 */
.case-plan-card table + p,
.case-plan-card figure + p {
  margin-top: 16px !important;

  color: #65706e;
  font-size: 12px;
  line-height: 1.8;
}

/* 右側 */
.case-price-note ul {
  margin: 0;
  padding-left: 1.3em;
}

.case-price-note li {
  margin-bottom: 7px;
  line-height: 1.75;
}

/* リスト後の説明文 */
.case-price-note ul + p {
  margin-top: 20px !important;
  padding: 16px 18px;

  background: #fff;
  border-radius: 10px;

  color: #344442;
  font-size: 14px;
  line-height: 1.9;
}

@media (max-width: 781px) {
  .case-plan-grid {
    width: 100%;
    margin-left: 0;
  }

  .case-plan-grid > .swell-block-columns__inner {
    grid-template-columns: 1fr;
    gap: 14px !important;
  }

  .case-plan-grid
    > .swell-block-columns__inner
    > .case-plan-card,
  .case-plan-grid
    > .swell-block-columns__inner
    > .case-price-note {
    padding: 22px 18px !important;
  }
}


/*特別ラベル見出し*/
.case-section-label {
  display: flex;
  align-items: center;
  gap: 12px;

  margin: 0 0 12px !important;

  color: #2a7f79;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.case-section-label::before {
  content: "";
  width: 22px;
  height: 1px;
  background: currentColor;
}

/* ========================================
   相談者様の声：見出し
======================================== */

/* アイブロウ */
body .post_content
.voice-section
p.voice_eyebrow {
  position: relative;

  width: fit-content;
  margin: 0 auto 18px !important;
  padding: 0 0 10px !important;

  color: #a92332 !important;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: 0.16em;
  text-align: center !important;
  text-transform: uppercase;
}

body .post_content
.voice-section
p.voice_eyebrow::before {
  content: none !important;
  display: none !important;
}

body .post_content
.voice-section
p.voice_eyebrow::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;

  display: block;
  width: 36px;
  height: 2px;
  margin: auto;

  background: #a92332;
  transform: none !important;
}


/* H2 */
body .post_content
.voice-section
h2.voice_title {
  margin: 0 0 26px !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: clamp(28px, 2.2vw, 38px) !important;
  font-weight: 700;
  line-height: 1.5 !important;
  letter-spacing: 0.02em;
  text-align: center !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.voice-section
h2.voice_title::before,
body .post_content
.voice-section
h2.voice_title::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}


/* スマホ */
@media (max-width: 781px) {
  body .post_content
  .voice-section
  p.voice_eyebrow {
    margin-bottom: 15px !important;
    padding-bottom: 8px !important;

    font-size: 12px !important;
    letter-spacing: 0.14em;
  }

  body .post_content
  .voice-section
  p.voice_eyebrow::after {
    width: 30px;
  }

  body .post_content
  .voice-section
  h2.voice_title {
    margin-bottom: 20px !important;

    font-size: 26px !important;
    line-height: 1.5 !important;
  }
}


/*お客様の声_CTAボタン*/
body .post_content .voice_button {
  width: 100%;
  max-width: 320px;

  margin-right: auto !important;
  margin-left: auto !important;
}

body .post_content
.voice_button
.swell-block-button__link {
  width: 100% !important;
  min-height: 56px;
  padding: 14px 28px !important;

  font-size: 16px !important;
  font-weight: 700;
}

@media (max-width: 781px) {
  body .post_content .voice_button {
    max-width: none;
  }

  body .post_content
  .voice_button
  .swell-block-button__link {
    min-height: 54px;
    padding: 13px 20px !important;

    font-size: 15px !important;
  }
}


/* ========================================
   相談者様の声
======================================== */


/* ----------------------------------------
   TOP：3件のカード一覧
---------------------------------------- */


body .post_content
.voice-grid
> .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch;

  box-sizing: border-box;
  width: 100% !important;

  /* SWELLカラムの負のマージンを解除 */
  margin: 0 !important;
  padding: 0 !important;
}


/* SWELLの個別カラム幅・余白を解除し、各カラムをカード化 */
body .post_content
.voice-grid
> .swell-block-columns__inner
> .swell-block-column {
  box-sizing: border-box;

  width: auto !important;
  min-width: 0;
  max-width: none !important;
  height: auto;
  min-height: 230px;

  margin: 0 !important;
  padding: 30px 28px !important;

  background: #fff;
  border: 1px solid #d9e4e0;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgb(23 63 56 / 5%);
}


/* カード内のH3 */
body .post_content
.voice-grid
> .swell-block-columns__inner
> .swell-block-column
h3 {
  margin: 0 0 6px !important;
  padding: 0 !important;

  color: #173f38 !important;
  font-size: 19px !important;
  font-weight: 700;
  line-height: 1.5 !important;
  letter-spacing: 0.01em;
  text-align: left !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* SWELLのH3装飾を解除 */
body .post_content
.voice-grid
> .swell-block-columns__inner
> .swell-block-column
h3::before,
body .post_content
.voice-grid
> .swell-block-columns__inner
> .swell-block-column
h3::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
}


/* 年代・属性 */
body .post_content
.voice-grid
.voice-profile {
  margin: 0 0 16px !important;

  color: #687772 !important;
  font-size: 13px !important;
  font-weight: 500;
  line-height: 1.6;
}


/* 相談内容 */
body .post_content
.voice-grid
.voice-text {
  margin: 0 !important;

  color: #303936 !important;
  font-size: 15px !important;
  line-height: 1.9;
}


/* ----------------------------------------
   スマートフォン
---------------------------------------- */

@media (max-width: 781px) {
 body .post_content
  .voice-grid {
    box-sizing: border-box;

    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body .post_content
  .voice-grid
  > .swell-block-columns__inner {
    grid-template-columns: 1fr !important;
    gap: 16px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .post_content
  .voice-grid
  > .swell-block-columns__inner
  > .swell-block-column {
    min-height: 0;
    padding: 24px 20px !important;

    border-radius: 12px;
    box-shadow: 0 6px 18px rgb(23 63 56 / 5%);
  }

  body .post_content
  .voice-grid
  > .swell-block-columns__inner
  > .swell-block-column
  h3 {
    margin-bottom: 5px !important;

    font-size: 18px !important;
    line-height: 1.5 !important;
  }

  body .post_content
  .voice-grid
  .voice-profile {
    margin-bottom: 14px !important;

    font-size: 13px !important;
  }

  body .post_content
  .voice-grid
  .voice-text {
    font-size: 15px !important;
    line-height: 1.85;
  }
}

/* ========================================
   解決事例詳細：相談者様の声
======================================== */

.single-case .case-voice {
  padding: clamp(24px, 4vw, 36px) !important;

  background: #f7faf9;
  border: 1px solid #d6e5e2 !important;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgb(23 63 56 / 5%);
}


/* 声のタイトル */
.single-case
.case-voice
.cap_box_ttl {
  margin-bottom: 18px;
  padding: 0 !important;

  color: #2a7f79;
  font-weight: 700;
  line-height: 1.7;

  background: transparent !important;
  border: 0 !important;
}


/* 本文 */
.single-case
.case-voice
.cap_box_content {
  padding: 0 !important;

  color: #303936;
  line-height: 2;
}


/* 年代・属性 */
.single-case
.case-voice
.voice-profile {
  margin-top: 20px !important;
  margin-bottom: 0 !important;

  color: #687772;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  text-align: right;
}


/* 詳細ページ：スマホ */
@media (max-width: 781px) {
  .single-case .case-voice {
    padding: 24px 20px !important;

    border-radius: 12px;
  }

  .single-case
  .case-voice
  .cap_box_ttl {
    margin-bottom: 14px;

    font-size: 18px;
    line-height: 1.6;
  }

  .single-case
  .case-voice
  .cap_box_content {
    font-size: 15px;
    line-height: 1.9;
  }

  .single-case
  .case-voice
  .voice-profile {
    margin-top: 16px !important;

    font-size: 13px;
  }
}

/* =========================
   事例：担当者コメント
========================= */

.case-staff-comment {
  position: relative;
  margin-top: 28px;
  padding: clamp(28px, 4vw, 42px);

  background: #f7faf9;
  border: 1px solid #d6e5e2;
  border-radius: 16px;
}

.case-staff-comment p {
  margin-top: 0;
  margin-bottom: 18px;
  line-height: 2;
}

.case-staff-comment p:last-child {
  margin-bottom: 0;
}

/* =========================
   声・担当者コメント：カード内タイトル共通
========================= */

.single-case .case-voice .cap_box_ttl,
.single-case .case-staff-comment h3 {
  margin: 0 0 20px !important;
  padding: 0 !important;

  color: #2a7f79 !important;
  font-size: clamp(17px, 1.1vw + 13px, 21px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.02em;
}

/* スマホでは少しコンパクトに */
@media (max-width: 600px) {
  .single-case .case-voice .cap_box_ttl,
  .single-case .case-staff-comment h3 {
    margin-bottom: 16px !important;
    font-size: 17px;
    line-height: 1.7;
  }
}


/* =========================
   関連事例
========================= */

/* 見出しと投稿リストを囲う内側グループ */
.case-related-inner {
  box-sizing: border-box;
  padding: 8px;
  margin-inline: auto;
}

/* 投稿リスト：PCは3列 */
.case-related-list .p-postList {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* カード全体 */
.case-related-list .p-postList__item {
  box-sizing: border-box;
  overflow: hidden;

  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;

  background: #fff;
  border: 1px solid #d6e5e2;
  border-radius: 12px;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

/* リンク全体 */
.case-related-list .p-postList__link {
  display: flex !important;
  flex-direction: column;
  height: 100%;
}

/* サムネイル領域 */
.case-related-list .p-postList__thumb {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  border-radius: 0 !important;
}

/* SWELLのサムネイル本体 */
.case-related-list .p-postList__thumb .c-postThumb {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  border-radius: 0 !important;
}

/* アイキャッチ画像 */
.case-related-list .p-postList__thumb img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;

  border-radius: 0 !important;
}

/* タイトル側だけ余白を付ける */
.case-related-list .p-postList__body {
  box-sizing: border-box;
  flex: 1;

  width: 100%;
  margin: 0 !important;
  padding: 16px 18px 18px !important;
}

/* 記事タイトル */
.case-related-list .p-postList__title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;

  margin: 0 !important;

  color: #232323;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.65;
}

/* PCのみ軽いホバー */
@media (hover: hover) {
  .case-related-list .p-postList__item:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(42, 127, 121, 0.10);
  }
}

/* タブレット：2列 */
@media (max-width: 960px) {
  .case-related-list .p-postList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px !important;
  }
}

/* スマートフォン：1列 */
@media (max-width: 600px) {
  .case-related-list .p-postList {
    grid-template-columns: 1fr;
    gap: 16px !important;
  }

  .case-related-list .p-postList__body {
    padding: 14px 16px 16px !important;
  }

  .case-related-list .p-postList__title {
    font-size: 15px;
    line-height: 1.65;
  }
}

/* 関連事例セクション全体の上下余白 */
.case-related-section {
  padding-block: clamp(64px, 8vw, 96px);
}

@media (max-width: 600px) {
  .case-related-section {
    padding-top: 56px;
    padding-bottom: 72px;
  }
}

/* =========================
   サイドバー：無料相談CTA
========================= */

.sidebar-consult-cta {
  position: relative;
  overflow: hidden;
  margin-top: 40px;
  padding: 26px 22px;

  background: #eff7f5;
  border: 1px solid #d6e5e2;
  border-radius: 14px;
}

.sidebar-consult-cta::after {
  content: "";
  position: absolute;
  top: -70px;
  right: -70px;

  width: 170px;
  height: 170px;

  background: rgba(42, 127, 121, 0.07);
  border-radius: 50%;
  pointer-events: none;
}

.sidebar-consult-label {
  position: relative;
  z-index: 1;

  margin: 0 0 12px !important;

  color: #2a7f79;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
}

.sidebar-consult-cta h3 {
  position: relative;
  z-index: 1;

  margin: 0 0 16px !important;
  padding: 0 !important;

  background: none !important;
  border: 0 !important;

  color: #232323;
  font-size: clamp(17px, 1.2vw + 13px, 19px);
  line-height: 1.65;
}

.sidebar-consult-cta > p:not(.sidebar-consult-label):not(.sidebar-consult-sub) {
  position: relative;
  z-index: 1;

  margin: 0 0 18px !important;

  color: #344442;
  font-size: 13px;
  line-height: 1.8;
}

.sidebar-consult-info {
  position: relative;
  z-index: 1;

  display: flex;
  flex-wrap: wrap;
  gap: 8px;

  margin-bottom: 18px;
}

.sidebar-consult-info p {
  margin: 0 !important;
  padding: 5px 9px;

  background: rgba(255, 255, 255, 0.8);
  border-radius: 999px;

  color: #1f625e;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}

/* SWELLボタン */
.sidebar-consult-cta .swell-block-button {
  position: relative;
  z-index: 1;

  width: 100%;
  margin: 0 !important;
}

.sidebar-consult-cta .swell-block-button__link {
  width: 100%;
  padding: 13px 16px;

  font-size: 14px;
  font-weight: 700;
}

/* 電話・フォーム */
.sidebar-consult-sub {
  position: relative;
  z-index: 1;

  margin: 14px 0 0 !important;

  color: #2a7f79;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.7;
  text-align: center;
}

.sidebar-consult-sub a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* =========================
   コラム
========================= */
.sidebar-popular .p-postList__item {
  padding-block: 14px;
  border-bottom: 1px solid #e3ecea;
}

.sidebar-popular .p-postList__link {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.sidebar-popular .p-postList__thumb {
  margin: 0 !important;
}

.sidebar-popular .p-postList__thumb img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
}

.sidebar-popular .p-postList__title {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;

  color: #232323;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.65;
}


/* =========================
   アーカイブヘッダー文字色
========================= */

/* タイトル */
.category .l-topTitleArea .c-pageTitle,
.tax-case_type .l-topTitleArea .c-pageTitle {
  color: #232323 !important;
  text-shadow: none !important;
}

/* サブタイトル */
.category .l-topTitleArea .c-pageTitle__subTitle,
.tax-case_type .l-topTitleArea .c-pageTitle__subTitle {
  color: #2a7f79 !important;
  text-shadow: none !important;
}

/* サブタイトル前後の装飾線など */
.category .l-topTitleArea .c-pageTitle__subTitle::before,
.category .l-topTitleArea .c-pageTitle__subTitle::after,
.tax-case_type .l-topTitleArea .c-pageTitle__subTitle::before,
.tax-case_type .l-topTitleArea .c-pageTitle__subTitle::after {
  color: #2a7f79 !important;
  border-color: #2a7f79 !important;
}

/* カテゴリー・事例ターム共通：説明文 */
.category .term_description,
.tax-case_type .term_description {
  padding: 20px 24px;

  background: #f7faf9;
  border: 1px solid #d6e5e2;
  border-radius: 10px;

  color: #344442;
  line-height: 1.9;
}

/* =========================
   カテゴリー・事例ターム共通：記事カード
========================= */

/* SWELLカード型の内側余白を解除 */
.category .p-postList.-type-card .p-postList__item,
.tax-case_type .p-postList.-type-card .p-postList__item {
  overflow: hidden;
  box-sizing: border-box;

  margin: 0 !important;
  padding: 0 !important;

  background: #fff;
  border: 1px solid #d6e5e2;
  border-radius: 12px;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

/* カード全体のリンク */
.category .p-postList.-type-card .p-postList__link,
.tax-case_type .p-postList.-type-card .p-postList__link {
  display: flex !important;
  flex-direction: column;

  width: 100% !important;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

/* アイキャッチをカードの左右いっぱいにする */
.category .p-postList.-type-card .p-postList__thumb,
.tax-case_type .p-postList.-type-card .p-postList__thumb {
  overflow: hidden;

  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;

  border-radius: 0 !important;
}

.category .p-postList.-type-card .c-postThumb__figure,
.tax-case_type .p-postList.-type-card .c-postThumb__figure {
  display: block;

  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  border-radius: 0 !important;
}

.category .p-postList.-type-card .c-postThumb__figure img,
.tax-case_type .p-postList.-type-card .c-postThumb__figure img {
  display: block;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover;
  border-radius: 0 !important;
}

/* 本文だけに余白を付ける */
.category .p-postList.-type-card .p-postList__body,
.tax-case_type .p-postList.-type-card .p-postList__body {
  box-sizing: border-box;
  width: 100%;
  padding: 18px 20px 20px !important;
}

/* タイトル */
.category .p-postList__title,
.tax-case_type .p-postList__title {
  color: #232323;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.65;
}

/* 抜粋 */
.category .p-postList__excerpt,
.tax-case_type .p-postList__excerpt {
  display: -webkit-box;
  overflow: hidden;

  margin-top: 10px !important;

  color: #586260;
  font-size: 13px;
  line-height: 1.75;

  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* 事例タームでは公開日を非表示 */
.tax-case_type .p-postList__times {
  display: none !important;
}

/* ========================================
   SP固定フッター：LINE・電話
======================================== */

@media (max-width: 959px) {

  /* 固定フッター全体 */
  #fix_bottom_menu {
    height: calc(64px + env(safe-area-inset-bottom)) !important;
    padding: 0 0 env(safe-area-inset-bottom) !important;

    background: #fff;
    box-shadow: 0 -3px 14px rgb(0 0 0 / 12%);
  }

  /* 2項目を均等配置 */
  #fix_bottom_menu .menu_list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    width: 100% !important;
    height: 64px !important;

    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  #fix_bottom_menu .menu_list > li {
    width: auto !important;
    min-width: 0;
    height: 64px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
  }

  /* リンク */
  #fix_bottom_menu .menu_list > li > a {
    display: flex !important;

    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;

    margin: 0 !important;
    padding: 0 8px !important;

    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px;

    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap;

    border: 0 !important;
    border-radius: 0 !important;
  }

  /* SWELL側のラベル文字サイズも上書き */
  #fix_bottom_menu .menu_list > li > a span {
    margin: 0 !important;

    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap;
  }

  /* アイコン */
  #fix_bottom_menu .menu_list > li > a i,
  #fix_bottom_menu .menu_list > li > a [class*="icon-"] {
    margin: 0 !important;

    color: #fff !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  /* LINE */
  #fix_bottom_menu .sp-fixed-line,
  #fix_bottom_menu .sp-fixed-line > a {
    background: #06c755 !important;
  }

  /* 電話 */
  #fix_bottom_menu .sp-fixed-tel,
  #fix_bottom_menu .sp-fixed-tel > a {
    background: #f36b21 !important;
  }

  /* タップ時 */
  #fix_bottom_menu .menu_list > li > a:active {
    filter: brightness(0.9);
  }

  /* コンテンツが固定フッターに隠れないようにする */
  #body_wrap {
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
  }
}

@media (min-width: 960px) {
  #fix_bottom_menu {
    display: none !important;
  }
}


/* =========================
   調査レポート 個別記事ヘッダー
========================= */

.single-research_report .l-content {
	padding-top: 24px;
}

/* SWELL標準ヘッダーを非表示 */
.single-research_report .p-articleHead {
	display: none !important;
}

/* SWELL標準アイキャッチを非表示 */
.single-research_report .p-articleThumb {
	display: none !important;
}

/* SWELL標準の投稿ヘッダー・メタ情報を非表示 */
.single-research_report .p-articleHead,
.single-research_report .p-articleMetas,
.single-research_report .p-articleThumb {
	display: none !important;
}

/* 専用ヘッダー全体 */
.research-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
	align-items: center;
	gap: clamp(40px, 6vw, 72px);

	width: min(1080px, calc(100vw - 48px));
	max-width: none;

	margin: 0 0 clamp(64px, 8vw, 96px) 50%;
	transform: translateX(-50%);
}


/* 左側コンテンツ */
.research-hero__content {
	min-width: 0;
}


/* ラベル・カテゴリー・更新日 */
.research-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;

	margin-bottom: 20px;

	font-size: 11px;
	line-height: 1.5;
}


/* RESEARCH REPORT */
.research-hero__label {
	color: #2a7f79;
	font-weight: 700;
	letter-spacing: 0.12em;
}


/* データカテゴリー */
.research-hero__term {
	display: inline-flex;
	align-items: center;

	padding: 4px 10px;

	background: #e7f2f0;
	border-radius: 999px;

	color: #2a7f79;
	font-weight: 600;
}


/* 更新日 */
.research-hero__date {
	color: #7b8583;
}


/* 記事タイトル */
.research-hero__title {
	margin: 0 !important;

	color: #232323;

	font-size: clamp(30px, 3vw, 42px);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.01em;
}


/* リード文 */
.research-hero__lead {
	margin: 24px 0 0 !important;

	color: #465350;

	font-size: 15px;
	line-height: 1.9;
}


/* アイキャッチ枠 */
.research-hero__visual {
	overflow: hidden;
	border-radius: 12px;
}


/* アイキャッチ画像 */
.research-hero__image {
	display: block;

	width: 100%;
	height: auto;

}



/* =========================
   Tablet
========================= */

@media (max-width: 900px) {

	.research-hero {
		grid-template-columns: 1fr 0.9fr;
		gap: 32px;

		width: calc(100vw - 40px);
	}

	.research-hero__title {
		font-size: clamp(27px, 4vw, 34px);
	}

}


/* =========================
   Mobile
========================= */

@media (max-width: 781px) {

	.research-hero {
		grid-template-columns: 1fr;

		gap: 28px;

		width: calc(100vw - 40px);

		margin-bottom: 56px;
	}

	/* スマホでは画像を上へ */
	.research-hero__visual {
		order: -1;
	}

	.research-hero__meta {
		margin-bottom: 16px;
	}

	.research-hero__title {
		font-size: clamp(25px, 7vw, 32px);
		line-height: 1.55;
	}

	.research-hero__lead {
		margin-top: 18px !important;

		font-size: 14px;
		line-height: 1.9;
	}

}

/* =========================
   調査レポート：分析概要
========================= */

/* 調査レポート：セクション見出しのSPサイズだけ調整 */
@media (max-width: 600px) {
  .single-research_report .post_content h2.is-style-section_ttl {
    font-size: 22px !important;
    line-height: 1.55;
  }
}

/* =========================
   Research KEY DATA
========================= */

.research-keydata {
	width: 100%;
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* SWELLカラム内側 */
.research-keydata > .swell-block-columns__inner {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
	gap: 12px !important;
}

/* 各カード */
.research-keydata .swell-block-column {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 20px;
	background: #fff;
	border: 1px solid #d6e5e2;
	border-radius: 10px;
}

/* ラベル */
.research-keydata .swell-block-column p:first-child {
	margin: 0 0 10px !important;
	color: #596461;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
}

/* 値 */
.research-keydata .swell-block-column p:last-child {
	margin: 0 !important;
	color: #232323;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.65;
}


/* =========================
   Tablet
========================= */

@media (max-width: 781px) {

	.research-keydata > .swell-block-columns__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px !important;
	}

	.research-keydata .swell-block-column {
		padding: 16px;
	}

}

/* =========================
   Mobile
========================= */

@media (max-width: 600px) {

	.research-keydata > .swell-block-columns__inner {
		grid-template-columns: 1fr;
	}

}

/* =========================
個別レポート：ピンクアクセント
========================= */

.single-research_report {
  --research-pink: #d95f7a;
  --research-pink-pale: #fbecef;
  --research-green: #2a7f79;
}

/* RESEARCH REPORTラベルをピンクに */
.single-research_report .research-hero__label {
  color: var(--research-pink);
}

/* タイトル下の短いアクセントライン */
.single-research_report .research-hero__title::after {
  content: "";
  display: block;

  width: 56px;
  height: 3px;
  margin-top: 20px;

  background: var(--research-pink);
  border-radius: 999px;
}

/* アイキャッチ右下に淡いピンクの影 */
.single-research_report .research-hero__visual {
  box-shadow: 10px 10px 0 var(--research-pink-pale);
}

/* スマホでは影を少し小さく */
@media (max-width: 767px) {
  .single-research_report .research-hero__visual {
    box-shadow: 6px 6px 0 var(--research-pink-pale);
  }
}

/* ========================================
   下層ページ：メインビジュアル画像
======================================== */
body .post_content .page-mv-image {
  overflow: hidden;
  border-radius: 12px;
}

body .post_content .page-mv-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}


/* ========================================
   下層ページ：補足・案内文
======================================== */
body .post_content p.page-note {
  width: min(100%, 960px);
  margin: clamp(2rem, 4vw, 3rem) auto 0;
  padding: clamp(1rem, 2vw, 1.25rem) clamp(1.25rem, 3vw, 2rem);

  color: #193b38;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  line-height: 1.8;
  text-align: center;

  background: #f3f7f4;
  border: 1px solid #d9e9e4;
  border-radius: 8px;
}


/* ==============================
   主力サービスカード
============================== */

/* 外側のHyperlink Group */
.service-feature {
  display: block;
  overflow: hidden;
  color: inherit !important;
  text-decoration: none !important;
  background: #fff;
  border: 1px solid #dbe7e2;
  border-radius: 16px;
  box-shadow: 0 16px 48px rgba(25, 59, 56, 0.08);
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

/* 内部のリンク装飾を解除 */
.service-feature *,
.service-feature:hover * {
  text-decoration: none !important;
}

/* 内側のリッチカラム */
.service-feature__layout {
  height: 100%;
  margin: 0;
}

/* 左側のカバー画像 */
.service-feature__media {
  height: 100%;
min-height: clamp(320px, 30vw, 440px);
}

/* 右側のテキストカラム */
.service-feature__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding: clamp(36px, 4.5vw, 64px);
  background: #fff;
}

/* 見出し */
.service-feature__title h3 {
  margin: 0 0 20px;
  color: #193b38;
  font-size: clamp(1.6rem, 2.2vw, 2rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
}

/* 本文 */
.service-feature__body p:not(.service-feature__cta) {
  margin: 0;
  line-height: 2;
}

.service-feature__text {
  margin: 0 !important;
  color: #374844 !important;
  font-size: 16px !important;
  line-height: 2;
}

/* 「詳しく見る」 */
.service-feature__cta {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 10px;
  margin: 28px 0 0 !important;
  color: #315747;
  font-weight: 600;
}

.service-feature__cta::after {
  content: "→";
  transition: transform 0.25s ease;
}

/* カード全体のホバー */
.service-feature:hover {
  color: inherit !important;
  border-color: #88aa9c;
  box-shadow: 0 20px 52px rgba(25, 59, 56, 0.13);
  transform: translateY(-3px);
}

.service-feature:hover .service-feature__cta::after {
  transform: translateX(5px);
}

.service-feature:focus-visible {
  outline: 3px solid rgba(49, 87, 71, 0.3);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .service-feature {
    border-radius: 12px;
  }

  .service-feature__media {
    min-height: 260px;
  }

  .service-feature__body {
    padding: 32px 24px !important;
  }
}

/* ========================================
   その他の調査カード
   下段カード用CSS：ここから丸ごと差し替え
======================================== */

/* リッチカラム項目
   背景・枠線・角丸・影・高さを担当 */
.service-card-item {
  display: flex !important;
  flex-direction: column;
  box-sizing: border-box;
  height: 100% !important;
  min-height: 350px;
  overflow: hidden;
  background-color: #fff !important;
  border: 1px solid #d9e5e0 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 28px rgba(25, 59, 56, 0.06) !important;
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease;
}

/* カード全体リンク
   内側余白とリンク範囲を担当 */
.service-card-item .service-card {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 32px !important;

  color: #243330 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* SWELL側や以前の指定をリセット */
.service-card-item .service-card:hover,
.service-card-item .service-card:focus {
  color: #243330 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* カード内の下線をすべて解除 */
.service-card-item .service-card *,
.service-card-item .service-card:hover *,
.service-card-item .service-card:focus * {
  text-decoration: none !important;
}

/* 内側グループ */
.service-card-item .service-card__inner {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* アイコン画像ブロック */
.service-card-item .service-card__icon {
  display: flex !important;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 64px !important;
  height: 64px !important;
  margin: 0 0 24px !important;
  padding: 13px !important;
  overflow: hidden;
  background-color: #edf5f1 !important;
  border-radius: 14px !important;
  transition:
    background-color 0.25s ease,
    transform 0.25s ease;
}

.service-card-item .service-card__icon img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: contain;
}

/* 見出し・本文・CTAをまとめるグループ */
.service-card-item .service-card__body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  box-sizing: border-box;
  width: 100%;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
}

/* 見出し */
.service-card-item .service-card__title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #193b38 !important;
  font-size: clamp(20px, 1.7vw, 24px) !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

/* 説明文 */
.service-card-item .service-card__text {
  margin: 0 !important;
  padding: 0 !important;
  color: #374844 !important;
  font-size: 15px;
  line-height: 1.9;
}

/* CTA：カード下端に揃える */
.service-card-item .service-card__cta {
  display: inline-flex !important;
  align-items: center;
  align-self: flex-start;
  gap: 8px;
  margin: auto 0 0 !important;
  padding: 24px 0 0 !important;
  color: #315747 !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}

.service-card-item .service-card__cta::after {
  content: "→";
  display: inline-block;
  flex: 0 0 auto;
  transition: transform 0.25s ease;
}

/* カード全体のホバー */
.service-card-item:hover {
  background-color: #fbfdfc !important;
  border-color: #88aa9c !important;
  box-shadow: 0 14px 36px rgba(25, 59, 56, 0.11) !important;
  transform: translateY(-3px);
}

.service-card-item:hover .service-card__icon {
  background-color: #e3f0ea !important;
  transform: translateY(-2px);
}

.service-card-item:hover .service-card__cta::after {
  transform: translateX(5px);
}

/* キーボード操作時 */
.service-card-item:has(.service-card:focus-visible) {
  outline: 3px solid rgba(49, 87, 71, 0.3);
  outline-offset: 3px;
}

/* ========================================
   タブレット
======================================== */

@media (max-width: 959px) {
  .service-card-item {
    min-height: 340px;
  }

  .service-card-item .service-card {
    padding: 28px !important;
  }
}

/* ========================================
   スマホ
======================================== */

@media (max-width: 767px) {
  .service-card-item {
    height: auto !important;
    min-height: 0;
    border-radius: 10px !important;
  }

  .service-card-item .service-card {
    min-height: 0;
    padding: 28px 24px !important;
  }

  .service-card-item .service-card__icon {
    width: 58px !important;
    height: 58px !important;
    margin-bottom: 20px !important;
    padding: 12px !important;
    border-radius: 12px !important;
  }

  .service-card-item .service-card__title {
    margin-bottom: 10px !important;
    font-size: 20px !important;
  }

  .service-card-item .service-card__text {
    font-size: 14px;
    line-height: 1.85;
  }

  .service-card-item .service-card__cta {
    margin-top: 24px !important;
    padding-top: 0 !important;
  }
}

/* ========================================
   下段カード用CSS：ここまで
======================================== */



/* ========================================
   調査の種類が分からない方への相談セクション
======================================== */

/* セクション全体 */
.service-consult {
  box-sizing: border-box;
  padding: clamp(72px, 8vw, 112px) 0;
  color: #243330;
  background-color: #f5f8f7;
}

/* 左右のカラム */
.service-consult__intro,
.service-consult__note {
  box-sizing: border-box;
}

/* ========================================
   左側：H2・本文
======================================== */

.service-consult__title.page_ttl_light.page_ttl_left {
  justify-content: flex-start !important;
  width: 100%;
  margin: 0 0 24px !important;
  color: #243330 !important;
font-size: clamp(29px, 2.8vw, 40px) !important;
  line-height: 1.4;
  text-align: left !important;
  letter-spacing: 0.04em;
}

.service-consult__title.page_ttl_light.page_ttl_left > * {
  text-align: left !important;
}

.service-consult__intro p {
  margin-top: 0;
  color: #374844;
  font-size: 16px;
  line-height: 2;
}

.service-consult__intro p + p {
  margin-top: 22px;
}

/* ========================================
   右側：H3・本文
======================================== */

/* 右カードの見出し */
.service-consult__note-title {
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 28px !important;
  padding: 0 0 20px !important;

  color: #243330 !important;
font-size: clamp(20px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.6;
  letter-spacing: 0.03em;

  border-bottom: 1px solid #dce4da !important;
}

@media (max-width: 767px) {
  .service-consult__note-title {
    margin-bottom: 24px !important;
    padding-bottom: 16px !important;
    font-size: 19px !important;
  }
}

.service-consult__note p {
  margin-top: 0;
  color: #374844;
  font-size: 16px;
  line-height: 2;
}

.service-consult__note p + p {
  margin-top: 22px;
}

/* ========================================
   下部CTA
======================================== */

.service-consult__cta {
  box-sizing: border-box;
  margin-top: clamp(40px, 5vw, 64px);
  padding:
    clamp(38px, 4vw, 52px)
    clamp(24px, 4vw, 48px)
    clamp(44px, 5vw, 64px);
  color: #fff;
  background-color: #16483f;
}

/* CTA見出し */
.service-consult__cta-title {
  margin: 0 0 34px !important;
  color: #fff !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.04em;
}

/* 3ボタンを配置しているリッチカラム */
.service-consult__actions {
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* ========================================
   CTAボタン
======================================== */

/* 各カラム内のボタンブロック */
.service-consult__cta .service-consult__button {
  display: block !important;
  box-sizing: border-box !important;
  width: 95% !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
}


/* 通常時 */
.service-consult__cta a.swell-block-button__link {
  color: #23413a !important;

  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;

  border: 1px solid rgba(25, 73, 61, 0.14) !important;
  box-shadow: 0 4px 12px rgba(7, 40, 32, 0.08) !important;
  opacity: 1 !important;

  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease !important;
}

/* ホバー時 */
.service-consult__cta a.swell-block-button__link:hover {
  color: #174f40 !important;

  background: #eef4ef !important;
  background-color: #eef4ef !important;
  background-image: none !important;

  border-color: rgba(25, 73, 61, 0.25) !important;
  box-shadow: 0 7px 18px rgba(7, 40, 32, 0.14) !important;
  opacity: 1 !important;
  transform: translateY(-2px);
}

/* キーボード操作時 */
.service-consult__cta a.swell-block-button__link:focus-visible {
  color: #174f40 !important;
  background: #eef4ef !important;
  outline: 2px solid #2d8d85 !important;
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .service-consult__cta .service-consult__button {
    width: 100% !important;
  }

  .service-consult__cta
  .service-consult__button
  .swell-block-button__link {
    min-height: 58px !important;
    font-size: 15px !important;
  }
}

/* ========================================
   タブレット
======================================== */

@media (max-width: 959px) {
  .service-consult__title.page_ttl_light.page_ttl_left {
    font-size: clamp(30px, 4vw, 38px) !important;
  }

  .service-consult__button {
    width: 100% !important;
  }

  .service-consult__button .swell-block-button__link {
    padding-right: 14px !important;
    padding-left: 14px !important;
    font-size: 15px;
  }
}

/* ========================================
   スマホ
======================================== */

@media (max-width: 767px) {
  .service-consult {
    padding: 64px 0;
  }

  .service-consult__title.page_ttl_light.page_ttl_left {
    margin-bottom: 20px !important;
    font-size: 26px !important;
    line-height: 1.5;
  }

  .service-consult__intro p,
  .service-consult__note p {
    font-size: 15px;
    line-height: 1.9;
  }

  .service-consult__note-title {
    margin-bottom: 24px !important;
    font-size: 21px !important;
  }

  .service-consult__cta {
    margin-top: 40px;
    padding: 36px 20px 40px;
  }

  .service-consult__cta-title {
    margin-bottom: 28px !important;
    font-size: 21px !important;
  }

  .service-consult__button {
    width: 100% !important;
  }

  .service-consult__button .swell-block-button__link {
    min-height: 58px;
    font-size: 15px;
  }
}


/* CTA内のSWELLボタン：3つを同じサイズに統一 */
.service-consult__actions .swell-block-button {
  width: min(100%, 320px) !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.service-consult__actions a.swell-block-button__link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 60px !important;
  padding: 14px 20px !important;

  color: #23413a !important;
  background: #fff !important;
  border-radius: 5px !important;
}

/* スマホ */
@media (max-width: 767px) {
  .service-consult__actions .swell-block-button {
    width: 100% !important;
  }
}

/* ========================================
   参考画像に合わせたカードデザイン
======================================== */

/* セクション全体 */
.service-consult {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 8vw, 112px) 0;
  background:
    radial-gradient(
      circle at 75% 15%,
      rgba(190, 207, 179, 0.3),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #f3f6ef 0%,
      #eef2ea 100%
    );
}

/* 左側の見出しは左揃え */
.service-consult__title.page_ttl_light.page_ttl_left {
  justify-content: flex-start !important;
  text-align: left !important;
}

.service-consult__title.page_ttl_light.page_ttl_left > * {
  text-align: left !important;
}

/* 右側の説明カード */
.service-consult__note {
  box-sizing: border-box;
  padding: 3em !important;
  background-color: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(37, 78, 66, 0.08);
  border-radius: 16px !important;
  box-shadow: 0 10px 30px rgba(30, 65, 54, 0.05);
  overflow: hidden;
}

/* 右カード内の安心メッセージ
   最後の段落を帯として表示 */
.service-consult__note p:last-child {
  margin-top: 24px;
  padding: 16px 18px;
  color: #40524d;
  font-weight: 600;
  background-color: #eef1e9;
  border-radius: 8px;
}

/* 下部CTAグループ */
.service-consult__cta {
  box-sizing: border-box;
  overflow: hidden;
  margin-top: clamp(40px, 5vw, 64px);
  padding:
    clamp(30px, 4vw, 44px)
    clamp(20px, 3vw, 36px)
    clamp(24px, 3vw, 34px);
  background:
    linear-gradient(
      135deg,
      #174f40 0%,
      #0f4438 100%
    ) !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 30px rgba(16, 65, 53, 0.12);
}

/* CTA見出し */
.service-consult__cta-title {
  color: #fff !important;
  text-align: center;
}

/* ボタンブロック */
.service-consult__button {
  box-sizing: border-box;
  width: 95% !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* 実際の白いボタン */
.service-consult__button .swell-block-button__link {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  width: 100% !important;
  min-height: 62px;
  padding: 14px 20px !important;

  color: #263a35 !important;
  font-weight: 700;
  text-decoration: none !important;

  background-color: #fff !important;
  border: 1px solid rgba(25, 73, 61, 0.12) !important;
  border-radius: 7px !important;
  box-shadow: 0 4px 12px rgba(7, 40, 32, 0.08);

  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.service-consult__button .swell-block-button__link:hover {
  color: #174f40 !important;
  background-color: #f4f7f2 !important;
  box-shadow: 0 7px 18px rgba(7, 40, 32, 0.14);
  transform: translateY(-2px);
}

/* CTAボタンを白に統一 */
.service-consult__cta .service-consult__button,
.service-consult__cta .service-consult__button a,
.service-consult__cta .service-consult__button .swell-block-button__link {
  color: #23413a !important;
  background-color: #fff !important;
  border-color: rgba(25, 73, 61, 0.12) !important;
  border-radius: 7px !important;
}

.service-consult__cta .service-consult__button:hover,
.service-consult__cta .service-consult__button a:hover,
.service-consult__cta .service-consult__button .swell-block-button__link:hover {
  color: #174f40 !important;
  background-color: #f2f6f2 !important;
}

/* スマホ */
@media (max-width: 767px) {
  .service-consult__note {
    padding: 2em !important;
    border-radius: 12px !important;
  }

  .service-consult__cta {
    padding: 30px 18px 24px;
    border-radius: 8px !important;
  }

  .service-consult__button {
    width: 100% !important;
  }
}
/* ========================================
   調査の種類が分からない方への相談セクションここまで
======================================== */

/* ==================================================
   サービス詳細ページ：共通ファーストビュー
================================================== */

.service-detail-mv {
  position: relative;
  display: flex;
  align-items: center;

  min-height: clamp(640px, 46vw, 720px);
  overflow: hidden;

  background-color: #f8f8f6;
  background-position: center right !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}


/* ==================================================
   背景画像・グラデーション
================================================== */

/* SWELL標準の背景オーバーレイをグラデーションに変更 */
.service-detail-mv.has-bg-img::before {
  background-color: transparent !important;
  background-image: linear-gradient(
    90deg,
    rgb(250 250 249 / 100%) 0%,
    rgb(250 250 249 / 98%) 34%,
    rgb(250 250 249 / 82%) 48%,
    rgb(250 250 249 / 38%) 62%,
    rgb(250 250 249 / 5%) 76%,
    transparent 100%
  ) !important;
  opacity: 1 !important;
  z-index: 1;
}

/* 内部コンテンツをグラデーションより前面へ */
.service-detail-mv > .swell-block-fullWide__inner {
  position: relative;
  z-index: 2;

  box-sizing: border-box;
  width: 100%;
  padding-block: clamp(72px, 7vw, 104px);
}


/* ==================================================
   見出し
================================================== */

/* 英字アイブロウ */
body .post_content
.service-detail-mv
.page_eyebrow_light {
  margin-bottom: 24px !important;
}

/* H1 */
body .post_content
.service-detail-mv
h1.service-page-title {
  max-width: 760px;
  margin: 0 !important;
  padding: 0 !important;

  color: #202928;
  font-size: clamp(36px, 3.1vw, 50px) !important;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.035em;

  background: transparent !important;
  border: 0 !important;
}

/* SWELL標準の見出し装飾を解除 */
body .post_content
.service-detail-mv
h1.service-page-title::before,
body .post_content
.service-detail-mv
h1.service-page-title::after {
  content: none !important;
  display: none !important;
}



/* ==================================================
   本文
================================================== */

.service-detail-mv__body {
  width: 100%;
  margin-top: clamp(48px, 5vw, 72px);
}

/* グループブロック内の本文 */
body .post_content
.service-detail-mv__body
> .wp-block-group__inner-container
> p {
  width: 100%;
  max-width: 900px;
  margin: 0 !important;

  color: #26302f;
  font-size: clamp(16px, 1.15vw, 18px);
  line-height: 2;
  letter-spacing: 0.025em;
}

/* 2段落目以降 */
body .post_content
.service-detail-mv__body
> .wp-block-group__inner-container
> p + p {
  margin-top: 14px !important;
}


/* ==================================================
   LINE・電話ボタン
================================================== */

.service-detail-mv__buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 368px));
  justify-content: start;
  gap: 24px !important;

  width: 100%;
  margin: 24px 0 0 !important;
}

/* SWELLカラムの幅と余白をリセット */
.service-detail-mv__buttons > .wp-block-column {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
}

/* ボタンブロック */
.service-detail-mv__buttons .swell-block-button {
  width: 100%;
  max-width: 368px;
  margin-inline: 0 !important;
}

/* ボタンリンク自体も横幅いっぱいにする */
.service-detail-mv__buttons .swell-block-button__link {
  width: 100%;
}


/* ==================================================
   補足文
================================================== */

body .post_content
p.service-detail-mv__note {
  margin: clamp(48px, 5vw, 64px) 0 0 !important;

  color: #26302f;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.025em;
}


/* ==================================================
   タブレット
================================================== */

@media (max-width: 1024px) {

  .service-detail-mv {
    min-height: 620px;
    background-position: 62% center !important;
  }

  .service-detail-mv.has-bg-img::before {
    background-image: linear-gradient(
      90deg,
      rgb(250 250 249 / 100%) 0%,
      rgb(250 250 249 / 96%) 42%,
      rgb(250 250 249 / 70%) 64%,
      rgb(250 250 249 / 18%) 88%,
      transparent 100%
    ) !important;
  }

  body .post_content
  .service-detail-mv__body
  > .wp-block-group__inner-container
  > p {
    max-width: 760px;
  }

}


/* ==================================================
   スマートフォン
================================================== */

@media (max-width: 781px) {

  .service-detail-mv {
    display: block;
    min-height: auto;

    background-color: #fafaf8;
    background-position: top right !important;
    background-size: auto 310px !important;
  }

  /* 写真の下端を背景色へなじませる */
  .service-detail-mv.has-bg-img::before {
    background-image: linear-gradient(
      180deg,
      transparent 0,
      rgb(250 250 248 / 6%) 150px,
      rgb(250 250 248 / 82%) 250px,
      #fafaf8 310px
    ) !important;
  }

  .service-detail-mv > .swell-block-fullWide__inner {
    padding-top: 330px;
    padding-bottom: 64px;
  }

  /* 英字アイブロウ */
  body .post_content
  .service-detail-mv
  .page_eyebrow_light {
    margin-bottom: 18px !important;
  }

  /* H1 */
  body .post_content
  .service-detail-mv
  h1.service-page-title {
    max-width: none;
    font-size: clamp(29px, 8vw, 34px) !important;
    line-height: 1.45;
    letter-spacing: 0.02em;
  }

  /* 本文エリア */
  .service-detail-mv__body {
    margin-top: 32px;
  }

  body .post_content
  .service-detail-mv__body
  > .wp-block-group__inner-container
  > p {
    max-width: none;
    font-size: 15px;
    line-height: 1.9;
  }

  /* ボタンを縦並びにする */
  .service-detail-mv__buttons {
    grid-template-columns: 1fr;
    gap: 12px !important;
    margin-top: 28px !important;
  }

  .service-detail-mv__buttons .swell-block-button {
    max-width: none;
  }

  /* 補足文 */
  body .post_content
  p.service-detail-mv__note {
    margin-top: 32px !important;
    font-size: 14px;
    line-height: 1.8;
  }

}

/* FV全体：少し高さを抑える */
.service-detail-mv {
  min-height: clamp(580px, 42vw, 660px);
}

/* 上下余白も少し縮める */
.service-detail-mv > .swell-block-fullWide__inner {
  padding-block: clamp(56px, 5vw, 76px);
}

/* H1と本文の間を少し広げる */
.service-detail-mv__body {
  width: 100%;
  margin-top: clamp(28px, 2.5vw, 36px) !important;
}

/* 本文の横幅を狭める */
body .post_content
.service-detail-mv__body
> .wp-block-group__inner-container
> p {
  max-width: 780px;
}

/* ==================================================
   問い詰める前に記録してほしいこと
================================================== */

.service-consult {
  padding-block: clamp(80px, 8vw, 120px) !important;
  background: #fff !important;
}


/* ==================================================
   上段：本文＋チェックリスト
================================================== */

/* 上段：カラム幅はエディタの設定を使用 */
.service-consult__grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: clamp(48px, 6vw, 88px) !important;
  width: 100%;
  margin: 0 !important;
}

/* エディタで指定した割合は維持 */
.service-consult__grid > .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}


/* ==================================================
   左側：見出し・本文
================================================== */

/* FIRST STEP */
body .post_content
.service-consult
p.service-consult__eyebrow {
  position: relative;

  margin: 0 0 20px !important;
  padding-bottom: 12px;

  color: #b33b3b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.18em;
}

/* アイブロウ下の短い線 */
.service-consult__eyebrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;

  width: 42px;
  height: 2px;
  background: #b33b3b;
}

/* SWELL標準装飾を解除 */
body .post_content
.service-consult__intro
h2::before,
body .post_content
.service-consult__intro
h2::after {
  content: none !important;
  display: none !important;
}

/* 本文 */
body .post_content
.service-consult__intro
p:not(.service-consult__eyebrow) {
  margin: 0 !important;

  color: #33403e;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.025em;
}

body .post_content
.service-consult__intro
p:not(.service-consult__eyebrow) + p {
  margin-top: 18px !important;
}


/* ==================================================
   右側：記録しておくと役立つ情報
================================================== */

.service-consult__checklist {
  box-sizing: border-box;
  padding: clamp(28px, 3vw, 40px) !important;

  background: #fff;
  border: 1px solid #d9e3df;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgb(24 62 52 / 7%);
}

/* 小見出し */
body .post_content
.service-consult__checklist
h3 {
  margin: 0 0 24px !important;
  padding: 0 0 18px !important;

  color: #193f36;
  font-size: clamp(19px, 1.6vw, 24px) !important;
  font-weight: 700;
  line-height: 1.5;

  background: transparent !important;
  border-bottom: 1px solid #dce5e1;
}

/* SWELL標準装飾を解除 */
body .post_content
.service-consult__checklist
h3::before,
body .post_content
.service-consult__checklist
h3::after {
  content: none !important;
  display: none !important;
}

/* リスト */
body .post_content
.service-consult__checklist
ul {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none;
}

/* 各項目 */
body .post_content
.service-consult__checklist
li {
  position: relative;

  margin: 0 !important;
  padding-left: 22px;

  color: #33403e;
  font-size: 15px;
  line-height: 1.8;
}

/* 項目間余白 */
body .post_content
.service-consult__checklist
li + li {
  margin-top: 10px !important;
}

/* 緑の丸 */
body .post_content
.service-consult__checklist
li::before {
  content: "";
  position: absolute;
  top: 0.72em;
  left: 0;

  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #1e654f;
}


/* ==================================================
   避けてほしいこと
================================================== */

.service-consult__cta {
  box-sizing: border-box;
  margin-top: clamp(48px, 5vw, 72px) !important;
  padding: clamp(24px, 3vw, 32px) clamp(24px, 3.5vw, 40px) !important;

  color: #3d3432 !important;
  background: #fff8f6 !important;
  border: 1px solid #e7b8af;
  border-radius: 8px;
  box-shadow: none !important;
}

/* 中のカラム */
.service-consult__cta .wp-block-columns {
  align-items: center !important;
  gap: clamp(24px, 2.5vw, 40px) !important;
  margin: 0 !important;
}

/* CTA内の文字を濃緑背景用の白から戻す */
body .post_content
.service-consult__cta
p {
  margin: 0 !important;
  color: #3d3432 !important;
  font-size: 16px;
  line-height: 1.85;
}

/* 「避けてほしいこと」 */
body .post_content
.service-consult__cta
.wp-block-column:first-child
p {
  position: relative;

  padding-left: 34px;
  color: #a7433f !important;
  font-weight: 700;
}

/* 警告アイコン */
body .post_content
.service-consult__cta
.wp-block-column:first-child
p::before {
  content: "!";
  position: absolute;
  top: 50%;
  left: 0;

  display: grid;
  place-items: center;

  width: 21px;
  height: 21px;
  border: 1px solid #b94d48;
  border-radius: 50%;

  color: #b94d48;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;

  transform: translateY(-50%);
}


/* ==================================================
   タブレット・スマートフォン
================================================== */

@media (max-width: 781px) {

  .service-consult__grid {
    flex-direction: column !important;
    gap: 40px !important;
  }

  .service-consult__grid > .wp-block-column {
    width: 100% !important;
    flex-basis: auto !important;
  }

  .service-consult__checklist {
    margin-top: 0 !important;
  }

}

/* ==================================================
   浮気調査で分かること
================================================== */

.investigation-findings {
  position: relative;
  overflow: hidden;
  padding-block: clamp(88px, 9vw, 136px) !important;

  color: #fff;
  background-position: center !important;
  background-size: cover !important;
}

/* 写真全体を落ち着かせる*/
.investigation-findings.has-bg-img::before {
  background: linear-gradient(
    90deg,
    rgb(4 32 28 / 82%) 0%,
    rgb(4 32 28 / 72%) 32%,
    rgb(4 32 28 / 46%) 58%,
    rgb(4 32 28 / 18%) 100%
  ) !important;

  opacity: 1 !important;
} 

.investigation-findings {
  background-position: center right !important;
  background-size: cover !important;
}

/* SWELL内部を前面へ */
.investigation-findings > .swell-block-fullWide__inner {
  position: relative;
  z-index: 2;
}




/* ==================================================
   上部：見出し・導入文
================================================== */

.investigation-findings__intro {
  max-width: 980px;
  margin: 0 0 clamp(48px, 6vw, 72px) !important;
}

/* H2 */
body .post_content
.investigation-findings
h2 {
  color: #fff;
  font-size: clamp(32px, 2.5vw, 39px) !important;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.035em;

  background: transparent !important;
  border: 0 !important;
}

body .post_content
.investigation-findings
h2::before,
body .post_content
.investigation-findings
h2::after {
  content: none !important;
  display: none !important;
}

/* サブ見出し */
body .post_content
.investigation-findings__intro
h3 {
  padding: 0 !important;

  color: #fff;
  font-size: clamp(20px, 1.8vw, 27px) !important;
  line-height: 1.7;

  background: transparent !important;
  border: 0 !important;
}

body .post_content
.investigation-findings__intro
h3::before,
body .post_content
.investigation-findings__intro
h3::after {
  content: none !important;
  display: none !important;
}

/* 導入文 */
body .post_content
.investigation-findings__intro
p {
　max-width: 600px;
  color: rgb(255 255 255 / 86%);
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.025em;
}

/* ==================================================
   4枚のカード
================================================== */

.investigation-findings__cards {
  align-items: stretch !important;
  gap: 24px !important;
}

/* 2行目が別カラムブロックの場合 */
.investigation-findings__cards + .investigation-findings__cards {
  margin-top: 22px !important;
}

/* カード */
.investigation-findings__card {
  box-sizing: border-box;
  height: 100%;
  min-height: 290px;
  padding: clamp(28px, 3vw, 40px) !important;

  background: rgb(5 38 33 / 72%);
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 18px 44px rgb(0 0 0 / 14%);
  backdrop-filter: blur(2px);
}

/* 番号とタイトルが同じ見出し内にある場合 */
body .post_content
.investigation-findings__card
h3 {
  margin: 0 0 20px !important;
  padding: 0 0 18px !important;

  color: #fff;
  font-size: clamp(20px, 1.6vw, 25px) !important;
  font-weight: 700;
  line-height: 1.5;

  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgb(255 255 255 / 18%) !important;
}

body .post_content
.investigation-findings__card
h3::before,
body .post_content
.investigation-findings__card
h3::after {
  content: none !important;
  display: none !important;
}

/* カード内の説明 */
body .post_content
.investigation-findings__card
p {
  margin: 0 !important;

  color: rgb(255 255 255 / 88%);
  font-size: 15px;
  line-height: 1.85;
}

/* リスト */
body .post_content
.investigation-findings__card
ul {
  margin: 18px 0 0 !important;
  padding: 0 !important;
  list-style: none;
}

body .post_content
.investigation-findings__card
li {
  position: relative;
  margin: 0 !important;
  padding-left: 18px;

  color: rgb(255 255 255 / 78%);
  font-size: 14px;
  line-height: 1.8;
}

body .post_content
.investigation-findings__card
li + li {
  margin-top: 7px !important;
}

body .post_content
.investigation-findings__card
li::before {
  content: "";
  position: absolute;
  top: 0.72em;
  left: 0;

  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #d6a2a1;
}


/* ==================================================
   下部の補足
================================================== */

body .post_content
p.investigation-findings__note {
  margin: clamp(32px, 4vw, 48px) 0 0 !important;
  padding: 20px 24px;

  color: rgb(255 255 255 / 76%);
  font-size: 14px;
  line-height: 1.85;

  background: rgb(255 255 255 / 8%);
  border-left: 2px solid #c98d8d;
  border-radius: 8px;
}


/* ==================================================
   スマートフォン
================================================== */

@media (max-width: 781px) {

  .investigation-findings {
    padding-block: 72px !important;
    background-position: 62% center !important;
  }

  .investigation-findings.has-bg-img::before {
    background: rgb(5 30 27 / 76%) !important;
  }

  .investigation-findings__intro {
    margin-bottom: 40px !important;
  }

  body .post_content
  .investigation-findings
  h2 {
    font-size: clamp(28px, 8vw, 36px) !important;
  }

  body .post_content
  .investigation-findings__intro
  p {
    font-size: 15px;
    line-height: 1.9;
  }

  .investigation-findings__cards {
    display: block !important;
  }

  .investigation-findings__card {
    min-height: auto;
    padding: 24px 20px !important;
  }

  .investigation-findings__card
  + .investigation-findings__card {
    margin-top: 16px !important;
  }

  .investigation-findings__cards
  + .investigation-findings__cards {
    margin-top: 16px !important;
  }

}

/* ==================================================
   証拠が必要な理由
================================================== */

.evidence-reasons {
  padding-block: clamp(88px, 9vw, 128px) !important;
  background: #f8f6f1 !important;
}


/* ==================================================
   見出し・導入文
================================================== */

.evidence-reasons__intro {
  max-width: 1120px;
}

/* リード */
body .post_content
.evidence-reasons
p.evidence-reasons__lead {
  margin: 18px 0 0 !important;

  color: #185547;
  font-size: clamp(17px, 1.4vw, 20px);
  font-weight: 700;
  line-height: 1.8;
}

/* 導入文 */
body .post_content
.evidence-reasons__intro
p:not(.evidence-reasons__eyebrow):not(.evidence-reasons__lead) {
  max-width: 1080px;
  margin: 28px 0 0 !important;

  color: #38413f;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.025em;
}


/* ==================================================
   2枚のカード
================================================== */

.evidence-reasons__cards {
  align-items: stretch !important;
  gap: 24px !important;

  margin: clamp(48px, 5vw, 64px) 0 0 !important;
}

/* カラム幅はエディタ側の設定を使用 */
.evidence-reasons__cards > .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}

.evidence-reasons__card {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  align-content: start;
  column-gap: 20px;

  box-sizing: border-box;
  height: 100%;
  padding: clamp(28px, 3vw, 40px) !important;

  background: #fff;
  border: 1px solid #dce3df;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgb(23 56 47 / 8%);
}

/* 番号 */
body .post_content
.evidence-reasons__card
p.evidence-reasons__number {
  grid-column: 1;
  grid-row: 1;

  display: grid;
  place-items: center;

  width: 64px;
  height: 64px;
  margin: 0 !important;

  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;

  background: #185547;
  border-radius: 5px;
}

/* カードタイトル */
body .post_content
.evidence-reasons__card
h3 {
  grid-column: 2;
  grid-row: 1;
  align-self: center;

  margin: 0 !important;
  padding: 0 !important;

  color: #202928;
  font-size: clamp(20px, 1.7vw, 25px) !important;
  font-weight: 700;
  line-height: 1.55;

  background: transparent !important;
  border: 0 !important;
}

body .post_content
.evidence-reasons__card
h3::before,
body .post_content
.evidence-reasons__card
h3::after {
  content: none !important;
  display: none !important;
}

/* リスト */
body .post_content
.evidence-reasons__card
ul {
  grid-column: 1 / -1;
  grid-row: 2;

  margin: 24px 0 0 !important;
  padding: 22px 0 0 !important;

  list-style: none;
  border-top: 1px solid #dce3df;
}

body .post_content
.evidence-reasons__card
li {
  position: relative;

  margin: 0 !important;
  padding-left: 30px;

  color: #33403e;
  font-size: 15px;
  line-height: 1.8;
}

body .post_content
.evidence-reasons__card
li + li {
  margin-top: 8px !important;
}

/* チェックマーク */
body .post_content
.evidence-reasons__card
li::before {
  content: "✓";
  position: absolute;
  top: 0.32em;
  left: 0;

  display: grid;
  place-items: center;

  width: 18px;
  height: 18px;
  border-radius: 50%;

  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;

  background: #1d6654;
}

/* カード下部の説明文 */
body .post_content
.evidence-reasons__card
> p:not(.evidence-reasons__number) {
  grid-column: 1 / -1;
  grid-row: 3;

  margin: 22px 0 0 !important;
  padding-top: 18px;

  color: #53605d;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.9;

  border-top: 1px dashed #dce3df;
}


/* ==================================================
   法的な評価
================================================== */

.evidence-reasons__legal {
  align-items: center !important;
  gap: clamp(24px, 4vw, 56px) !important;

  box-sizing: border-box;
  margin: 24px 0 0 !important;
  padding: clamp(24px, 3vw, 36px) clamp(28px, 4vw, 48px) !important;

  background:
    linear-gradient(
      100deg,
      #e4eee9 0%,
      #edf3ef 100%
    );
  border: 1px solid #d4e2dc;
  border-radius: 10px;
}

/* 各カラムの余白を解除 */
.evidence-reasons__legal > .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}

/* 「アイコン」の文字を天秤アイコンへ */
body .post_content
.evidence-reasons__legal
p.evidence-reasons__legal-icon {
  display: grid;
  place-items: center;

  width: 72px;
  height: 72px;
  margin: auto !important;

  color: #185547;
  font-size: 0;

  background: rgb(255 255 255 / 42%);
  border: 1px solid #185547;
  border-radius: 50%;
}

body .post_content
.evidence-reasons__legal
p.evidence-reasons__legal-icon::before {
  content: "\2696\FE0E";
  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px;
  line-height: 1;
}

/* 下段タイトル */
body .post_content
.evidence-reasons__legal-body
h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: #174d40;
  font-size: clamp(20px, 1.8vw, 26px) !important;
  font-weight: 700;
  line-height: 1.5;

  background: transparent !important;
  border: 0 !important;
}

body .post_content
.evidence-reasons__legal-body
h3::before,
body .post_content
.evidence-reasons__legal-body
h3::after {
  content: none !important;
  display: none !important;
}

/* 下段本文 */
body .post_content
.evidence-reasons__legal-body
p {
  margin: 12px 0 0 !important;

  color: #40504c;
  font-size: 14px;
  line-height: 1.85;
}


/* ==================================================
   スマートフォン
================================================== */

@media (max-width: 781px) {

  .evidence-reasons {
    padding-block: 72px !important;
  }

  body .post_content
  .evidence-reasons
  h2 {
    font-size: clamp(28px, 8vw, 36px) !important;
  }

  body .post_content
  .evidence-reasons__intro
  p:not(.evidence-reasons__eyebrow):not(.evidence-reasons__lead) {
    margin-top: 22px !important;
    font-size: 15px;
    line-height: 1.9;
  }

  /* カードを縦並び */
  .evidence-reasons__cards {
    display: block !important;
    margin-top: 40px !important;
  }

  .evidence-reasons__card {
    grid-template-columns: 54px minmax(0, 1fr);
    column-gap: 16px;
    padding: 24px 20px !important;
  }

  .evidence-reasons__card
  + .evidence-reasons__card {
    margin-top: 16px !important;
  }

  body .post_content
  .evidence-reasons__card
  p.evidence-reasons__number {
    width: 54px;
    height: 54px;
    font-size: 19px;
  }

  body .post_content
  .evidence-reasons__card
  h3 {
    font-size: 19px !important;
  }

  /* 法的評価を縦並び */
  .evidence-reasons__legal {
    display: block !important;
    margin-top: 16px !important;
    padding: 28px 20px !important;
  }

  body .post_content
  .evidence-reasons__legal
  p.evidence-reasons__legal-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px !important;
  }

  .evidence-reasons__legal-body {
    text-align: left;
  }

}

/* カードと法的評価の間隔 */
body .post_content
.evidence-reasons
.evidence-reasons__legal {
  margin-top: 32px !important;
}

/* ==================================================
   報告書で重視している3つのこと
================================================== */

.investigation-report {
  padding-block: clamp(88px, 9vw, 128px) !important;
  background: #fff !important;
}


/* ==================================================
   セクション見出し
================================================== */

.investigation-report__header {
  margin: 0 0 clamp(48px, 6vw, 72px) !important;
  text-align: center;
}

/* 英字アイブロウ */
body .post_content
.investigation-report
p.investigation-report__eyebrow {
  position: relative;
  display: table;

  margin: 0 auto 24px !important;
  padding-bottom: 13px;

  color: #b32635;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.16em;
}

/* 中央の短いアンダーライン */
body .post_content
.investigation-report
p.investigation-report__eyebrow::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;

  width: 42px;
  height: 2px;
  margin: auto;

  background: #b32635;
  transform: none;
}

/* H2：共通サイズに揃え、ここだけ中央配置 */
body .post_content
.investigation-report
h2.investigation-report__title {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;

  color: #202928;
  font-size: clamp(32px, 2.5vw, 39px) !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.035em;
  text-align: center !important;

  background: transparent !important;
  border: 0 !important;
}

body .post_content
.investigation-report
h2.investigation-report__title::before,
body .post_content
.investigation-report
h2.investigation-report__title::after {
  content: none !important;
  display: none !important;
}


/* ==================================================
   写真＋3項目
================================================== */

.investigation-report__layout {
  align-items: center !important;
  gap: clamp(64px, 7vw, 112px) !important;
  margin: 0 !important;
}

/* カラム比率はエディタ側で指定 */
.investigation-report__layout > .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}


/* ==================================================
   左側：写真
================================================== */

.investigation-report__visual {
  position: relative;
}

/* 写真の後ろに淡い色面を追加 */
.investigation-report__visual::before {
  content: "";
  position: absolute;
  right: -12px;
  bottom: -18px;
  z-index: 0;

  width: 72%;
  height: 72%;

  background: #e4eee9;
  border-radius: 10px;
}

.investigation-report__image {
  position: relative;
  z-index: 1;
  margin: 0 !important;
}

.investigation-report__image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;

  border-radius: 10px;
  box-shadow: 0 18px 42px rgb(23 56 47 / 12%);
}


/* ==================================================
   右側：3つのポイント
================================================== */

.investigation-report__points {
  min-width: 0;
}

/* 各項目 */
.investigation-report__point {
  position: relative;
  box-sizing: border-box;

  margin: 0 !important;
  padding: 0 0 28px 76px !important;

  border-bottom: 1px solid #dce3df;
}

/* 2項目目以降 */
.investigation-report__point
+ .investigation-report__point {
  margin-top: 28px !important;
}

/* 最後の区切り線は削除 */
.investigation-report__point:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0;
}

/* 番号 */
body .post_content
.investigation-report__point
p.investigation-report__number {
  position: absolute;
  top: 0;
  left: 0;

  display: grid;
  place-items: center;

  width: 52px;
  height: 52px;
  margin: 0 !important;

  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;

  background: #185547;
  border-radius: 50%;
}

/* H3 */
body .post_content
.investigation-report__point
h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: #202928;
  font-size: clamp(20px, 1.65vw, 25px) !important;
  font-weight: 700;
  line-height: 1.55;

  background: transparent !important;
  border: 0 !important;
}

body .post_content
.investigation-report__point
h3::before,
body .post_content
.investigation-report__point
h3::after {
  content: none !important;
  display: none !important;
}

/* 説明文 */
body .post_content
.investigation-report__point
p:not(.investigation-report__number) {
  margin: 12px 0 0 !important;

  color: #4b5754;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

/* ==================================================
   タブレット
================================================== */

@media (max-width: 1024px) and (min-width: 782px) {

  .investigation-report__layout {
    gap: 48px !important;
  }

  .investigation-report__point {
    padding-left: 64px !important;
  }

  body .post_content
  .investigation-report__point
  p.investigation-report__number {
    width: 44px;
    height: 44px;
  }

}

/* ==================================================
   スマートフォン
================================================== */

@media (max-width: 781px) {

  .investigation-report {
    padding-block: 72px !important;
  }

  .investigation-report__header {
    margin-bottom: 40px !important;
  }

  body .post_content
  .investigation-report
  h2.investigation-report__title {
    font-size: clamp(28px, 8vw, 34px) !important;
    line-height: 1.5;
  }

  /* 写真と説明を縦並び */
  .investigation-report__layout {
    display: block !important;
  }

  .investigation-report__visual {
    max-width: 520px;
    margin-inline: auto !important;
  }

  .investigation-report__visual::before {
    right: -10px;
    bottom: -10px;
  }

  .investigation-report__image img {
    aspect-ratio: 4 / 3;
  }

  .investigation-report__points {
    margin-top: 48px !important;
  }

  .investigation-report__point {
    padding: 0 0 24px 62px !important;
  }

  .investigation-report__point
  + .investigation-report__point {
    margin-top: 24px !important;
  }

  body .post_content
  .investigation-report__point
  p.investigation-report__number {
    width: 44px;
    height: 44px;
    font-size: 13px;
  }

  body .post_content
  .investigation-report__point
  h3 {
    font-size: 19px !important;
  }

  body .post_content
  .investigation-report__point
  p:not(.investigation-report__number) {
    font-size: 14px;
    line-height: 1.85;
  }

}

/* ==================================================
   警戒されている対象者の調査
================================================== */

.careful-investigation {
  padding-block: clamp(88px, 9vw, 128px) !important;
  background: #fff !important;
}


/* ==================================================
   上段：画像＋本文
================================================== */

.careful-investigation__layout {
  align-items: flex-start !important;
  gap: clamp(56px, 6vw, 96px) !important;
  margin: 0 !important;
}

/* 比率はエディタ側で指定 */
.careful-investigation__layout > .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}


/* ==================================================
   左側
================================================== */

/* 英字アイブロウ */
body .post_content
.careful-investigation
p.careful-investigation__eyebrow {
  position: relative;
  display: table;

  margin: 0 0 24px !important;
  padding-bottom: 13px;

  color: #b32635;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.16em;
}

body .post_content
.careful-investigation
p.careful-investigation__eyebrow::after {
  content: "";
  position: absolute;
  right: auto;
  bottom: 0;
  left: 0;

  width: 42px;
  height: 2px;

  background: #b32635;
  transform: none;
}

/* H2は共通クラスを使用 */
body .post_content
.careful-investigation
h2.service-section-title {
  font-size: clamp(32px, 2.5vw, 39px) !important;
  text-align: left !important;
}

/* 緑のリード文 */
body .post_content
.careful-investigation
p.careful-investigation__lead {
  margin: 18px 0 0 !important;

  color: #176451;
  font-size: clamp(17px, 1.35vw, 20px);
  font-weight: 700;
  line-height: 1.8;
}

/* 画像 */
.careful-investigation__image {
  margin: clamp(32px, 4vw, 48px) 0 0 !important;
}

.careful-investigation__image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;

  border-radius: 10px;
  box-shadow: 0 16px 38px rgb(23 56 47 / 10%);
}


/* ==================================================
   右側本文
================================================== */

body .post_content
.careful-investigation__body
> p {
  margin: 0 !important;

  color: #35413f;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.025em;
}

body .post_content
.careful-investigation__body
> p + p {
  margin-top: 20px !important;
}

/* ==================================================
   対応事例
================================================== */

.careful-investigation__case {
  position: relative;

  box-sizing: border-box;
  margin: clamp(32px, 4vw, 48px) 0 0 !important;
  padding: clamp(24px, 3vw, 32px) clamp(24px, 3.5vw, 40px) !important;

  background: #f7f5ef;
  border: 1px solid #e6e1d7;
  border-radius: 10px;
}


body .post_content
.careful-investigation__case
h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: #173e35;
  font-size: clamp(20px, 1.6vw, 24px) !important;
  font-weight: 700;
  line-height: 1.5;

  background: transparent !important;
  border: 0 !important;
}

body .post_content
.careful-investigation__case
h3::before,
body .post_content
.careful-investigation__case
h3::after {
  content: none !important;
  display: none !important;
}

body .post_content
.careful-investigation__case
p {
  margin: 14px 0 0 !important;

  color: #4b5653;
  font-size: 14px;
  line-height: 1.9;
}


/* ==================================================
   その他の調査事例
================================================== */

.careful-investigation__related {
  position: relative;

  margin-top: clamp(72px, 8vw, 104px) !important;
  padding-top: clamp(40px, 5vw, 56px) !important;

  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #dce3df !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 対応事例用の疑似要素が誤って継承されても消す */
.careful-investigation__related::before,
.careful-investigation__related::after {
  content: none !important;
  display: none !important;
}


/* ==================================================
   下段見出し
================================================== */

.careful-investigation__related-head {
  margin: 0 0 32px !important;
  padding: 0 !important;
}

/* RELATED CASES */
body .post_content
.careful-investigation__related-head
p {
  position: relative;
  display: table;

  margin: 0 0 18px !important;
  padding-bottom: 12px;

  color: #176451;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.16em;
}

body .post_content
.careful-investigation__related-head
p::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;

  width: 38px;
  height: 2px;
  background: #176451;
}

/* その他の調査事例 */
body .post_content
.careful-investigation__related-head
h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: #202928;
  font-size: clamp(25px, 2vw, 32px) !important;
  font-weight: 700;
  line-height: 1.5;

  background: transparent !important;
  border: 0 !important;
}

body .post_content
.careful-investigation__related-head
h3::before,
body .post_content
.careful-investigation__related-head
h3::after {
  content: none !important;
  display: none !important;
}


/* ==================================================
   投稿リスト
================================================== */

.careful-investigation__posts {
  width: 100%;
  margin: 0 !important;
}

/* SWELLの投稿リスト本体 */
.careful-investigation__posts .p-postList {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px !important;

  width: 100%;
  margin: 0 !important;
}

/* 各投稿 */
.careful-investigation__posts .p-postList__item {
  width: 100% !important;
  margin: 0 !important;
}

/* カードリンク */
.careful-investigation__posts .p-postList__link {
  overflow: hidden;
  display: block;
  height: 100%;
  padding: 0 !important;

  background: #fff;
  border: 1px solid #dce3df;
  border-radius: 9px;
  box-shadow: 0 10px 28px rgb(23 56 47 / 7%);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.careful-investigation__posts .p-postList__link:hover {
  box-shadow: 0 16px 36px rgb(23 56 47 / 11%);
  transform: translateY(-4px);
}

/* 画像 */
.careful-investigation__posts .p-postList__thumb {
  overflow: hidden;
  margin: 0 !important;
  border-radius: 0 !important;
}

.careful-investigation__posts .p-postList__thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* カード本文 */
.careful-investigation__posts .p-postList__body {
  padding: 18px 20px 22px !important;
}

.careful-investigation__posts .p-postList__title {
  color: #27312f;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.65;
}


/* ==================================================
   その他の事例も見る
================================================== */

body .post_content
p.careful-investigation__more {
  position: absolute;
  top: clamp(40px, 5vw, 56px);
  right: 0;

  margin: 0 !important;
}

body .post_content
p.careful-investigation__more a {
  display: inline-flex;
  align-items: center;
  gap: 14px;

  color: #176451 !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
}

body .post_content
p.careful-investigation__more a::after {
  content: "→";

  transition: transform 0.25s ease;
}

body .post_content
p.careful-investigation__more a:hover::after {
  transform: translateX(4px);
}


/* ==================================================
   スマートフォン
================================================== */

@media (max-width: 781px) {

  .careful-investigation__related {
    margin-top: 64px !important;
    padding-top: 40px !important;
  }

  .careful-investigation__related-head {
    padding-right: 0;
  }

  .careful-investigation__posts .p-postList {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body .post_content
  p.careful-investigation__more {
    position: static;
    margin-top: 24px !important;
    text-align: right;
  }

}


/* ==================================================
   料金セクション
================================================== */

.service-price {
  background: #f4f8f6 !important;
}


/* ==================================================
   上部の見出し帯
================================================== */

.service-price__header {
  box-sizing: border-box;
  padding-block: clamp(56px, 6vw, 80px) !important;

  color: #fff;
  background: #17483f !important;
  text-align: center;
}

/* 英字アイブロウ */
body .post_content
.service-price__header
p {
  position: relative;
  display: table;

  margin: 0 auto 20px !important;
  padding-bottom: 13px;

  color: #df8b95 !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body .post_content
.service-price__header
p::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;

  width: 40px;
  height: 2px;
  margin: auto;

  background: currentColor;
}

/* H2 */
body .post_content
.service-price__header
h2 {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;

  color: #fff !important;
  font-size: clamp(32px, 2.5vw, 39px) !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.035em;
  text-align: center !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.service-price__header
h2::before,
body .post_content
.service-price__header
h2::after {
  content: none !important;
  display: none !important;
}


/* ==================================================
   本文エリア
================================================== */

.service-price__content {
  box-sizing: border-box;
  padding-block: clamp(72px, 8vw, 112px) !important;
}

body .post_content
p.service-price__lead {
  max-width: 900px;
  margin: 0 auto clamp(48px, 5vw, 64px) !important;

  color: #35413f;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.9;
  letter-spacing: 0.025em;
  text-align: center;
}


/* ==================================================
   中見出し
================================================== */

body .post_content
h3.service-price__subheading {
  position: relative;

  margin: 0 0 28px !important;
  padding: 0 0 14px !important;

  color: #173f38;
  font-size: clamp(23px, 1.8vw, 29px) !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.025em;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
h3.service-price__subheading::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;

  width: 44px;
  height: 2px;
  background: #a92332;
}

body .post_content
h3.service-price__subheading::after {
  content: none !important;
  display: none !important;
}


/* ==================================================
   基本料金カード2枚＋費用条件
================================================== */

.service-price__overview {
  width: 100%;
  margin: 8px 0 0 !important;
}

/* SWELLのカラムは、この中間ラッパーが実際の横並び要素 */
.service-price__overview
> .swell-block-columns__inner {
  align-items: stretch !important;
  gap: clamp(20px, 2.5vw, 32px) !important;
}

.service-price__overview
> .swell-block-columns__inner
> .swell-block-column {
  min-width: 0;
  margin: 0 !important;
}


/* ==================================================
   基本料金カード
   price-boxは外側のカラム項目だけに付与
================================================== */

.service-price__overview
> .swell-block-columns__inner
> .swell-block-column.price-box {
  position: relative;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  box-sizing: border-box;
  height: auto;
  min-height: 230px;
  padding: 28px 24px !important;

  background: #fff !important;
  border: 1px solid #dce4e1 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  text-align: center;
}

/* TOP側の疑似要素がある場合も、このページでは非表示 */
.service-price__overview
> .swell-block-columns__inner
> .swell-block-column.price-box::before,
.service-price__overview
> .swell-block-columns__inner
> .swell-block-column.price-box::after {
  content: none !important;
  display: none !important;
}

/* 調査員1名・調査員2名 */
body .post_content
.service-price__overview
> .swell-block-columns__inner
> .price-box
> p:first-child {
  margin: 0 0 16px !important;

  color: #35413f !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

/* 金額：strongの有無に対応 */
body .post_content
.service-price__overview
> .swell-block-columns__inner
> .price-box
> p:nth-child(2),
body .post_content
.service-price__overview
> .swell-block-columns__inner
> .price-box
> p:nth-child(2) strong {
  margin: 0 !important;

  color: #176b67 !important;
  font-size: clamp(34px, 3vw, 50px) !important;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

/* 1時間あたり・税込 */
body .post_content
.service-price__overview
> .swell-block-columns__inner
> .price-box
> p:nth-child(3) {
  margin: 16px 0 0 !important;

  color: #68736f !important;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
}


/* ==================================================
   費用が変わる5つの主な条件
================================================== */

.service-price__overview
> .swell-block-columns__inner
> .swell-block-column.service-price__conditions {
  box-sizing: border-box;
  height: auto;
  min-height: 230px;
  padding: clamp(28px, 3vw, 40px) !important;

  background: #fff !important;
  border: 1px solid #dce4e1;
  border-radius: 14px;
  box-shadow: none;
}

body .post_content
.service-price__conditions
h3 {
  margin: 0 0 22px !important;
  padding: 0 0 18px !important;

  color: #173f38;
  font-size: clamp(20px, 1.7vw, 25px) !important;
  font-weight: 700;
  line-height: 1.5;

  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #dce5e1 !important;
  box-shadow: none !important;
}

body .post_content
.service-price__conditions
h3::before,
body .post_content
.service-price__conditions
h3::after {
  content: none !important;
  display: none !important;
}

body .post_content
.service-price__conditions
ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

body .post_content
.service-price__conditions
li {
  position: relative;

  margin: 0 !important;
  padding-left: 28px;

  color: #3e4a47;
  font-size: 14px;
  line-height: 1.8;
}

body .post_content
.service-price__conditions
li + li {
  margin-top: 9px !important;
}

body .post_content
.service-price__conditions
li::before {
  content: "✓";
  position: absolute;
  top: 0.32em;
  left: 0;

  display: grid;
  place-items: center;

  width: 17px;
  height: 17px;

  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;

  background: #27877d;
  border-radius: 50%;
}


/* ==================================================
   表セクションの間隔
================================================== */

.service-price__comparison,
.service-price__examples {
  margin-top: 0 !important;
}

.service-price__overview
+ h3.service-price__subheading,
.service-price__comparison
+ h3.service-price__subheading,
.service-price__note
+ h3.service-price__subheading {
  margin-top: clamp(64px, 7vw, 96px) !important;
}


/* ==================================================
   比較表・費用例表
   service-price__comparison / __examples は
   H3・補足文・テーブルを囲む外側グループに付与
================================================== */

/* 外側グループには枠や角丸を付けない */
.service-price__comparison,
.service-price__examples {
  position: relative;
  overflow: visible !important;

  width: 100%;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* グループ内部の余白をリセット */
.service-price__comparison
> .wp-block-group__inner-container,
.service-price__examples
> .wp-block-group__inner-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* グループ内のH3 */
body .post_content
.service-price__comparison
> h3,
body .post_content
.service-price__examples
> h3,
body .post_content
.service-price__comparison
> .wp-block-group__inner-container
> h3,
body .post_content
.service-price__examples
> .wp-block-group__inner-container
> h3 {
  margin: 0 0 18px !important;
  padding: 0 !important;

  color: #202928;
  font-size: clamp(23px, 1.8vw, 29px) !important;
  font-weight: 700;
  line-height: 1.5;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.service-price__comparison
> h3::before,
body .post_content
.service-price__comparison
> h3::after,
body .post_content
.service-price__examples
> h3::before,
body .post_content
.service-price__examples
> h3::after,
body .post_content
.service-price__comparison
> .wp-block-group__inner-container
> h3::before,
body .post_content
.service-price__comparison
> .wp-block-group__inner-container
> h3::after,
body .post_content
.service-price__examples
> .wp-block-group__inner-container
> h3::before,
body .post_content
.service-price__examples
> .wp-block-group__inner-container
> h3::after {
  content: none !important;
  display: none !important;
}

/* H3とテーブルの間にある補足文 */
body .post_content
.service-price__comparison
> p,
body .post_content
.service-price__examples
> p,
body .post_content
.service-price__comparison
> .wp-block-group__inner-container
> p,
body .post_content
.service-price__examples
> .wp-block-group__inner-container
> p {
  position: absolute;
  top: 7px;
  right: 8px;

  margin: 0 !important;
  padding: 0 !important;

  color: #52605d;
  font-size: 13px;
  line-height: 1.7;
  text-align: right;
}

/* テーブルブロックだけを横スクロール領域にする */
.service-price__comparison .wp-block-table,
.service-price__examples .wp-block-table {
  overflow-x: auto;
  overflow-y: hidden;

  width: 100%;
  margin: 0 !important;

  background: #fff;
  border: 1px solid #d5dfdc !important;
  border-radius: 18px !important;

  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.service-price__comparison table,
.service-price__examples table {
  width: 100%;
  min-width: 900px;
  margin: 0 !important;

  background: #fff;
  border: 0 !important;
  border-collapse: separate;
  border-spacing: 0;
}

/* セル共通 */
.service-price__comparison th,
.service-price__comparison td,
.service-price__examples th,
.service-price__examples td {
  padding: 22px 20px !important;

  color: #25302e;
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.75;
  vertical-align: middle;

  border: 0 !important;
  border-top: 1px solid #d5dfdc !important;
  border-right: 1px solid #d5dfdc !important;
}

.service-price__comparison tr > *:last-child,
.service-price__examples tr > *:last-child {
  border-right: 0 !important;
}

/* 表ヘッダー */
.service-price__comparison thead th,
.service-price__examples thead th {
  padding-block: 18px !important;

  color: #fff !important;
  font-size: 17px !important;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;

  background: #29877d !important;
  border-top: 0 !important;
  border-right-color: rgb(255 255 255 / 45%) !important;
}

/* 左端の項目名 */
.service-price__comparison tbody th,
.service-price__comparison tbody td:first-child,
.service-price__examples tbody th,
.service-price__examples tbody td:first-child {
  color: #202c29 !important;
  font-size: 16px !important;
  font-weight: 700;
  background: #f8f6f1 !important;
}

/* 比較表：さくら探偵社列を強調 */
.service-price__comparison thead th:nth-child(2) {
  background: #17665c !important;
}

.service-price__comparison tbody td:nth-child(2) {
  color: #173f38 !important;
  font-weight: 700;
  background: #e7f1ed !important;
}

.service-price__comparison tbody td:not(:first-child):not(:nth-child(2)) {
  background: #fff !important;
}

/* 費用例 */
.service-price__examples tbody tr:nth-child(even) td {
  background: #fafcfb !important;
}

.service-price__examples tbody tr:nth-child(even) td:first-child {
  background: #f8f6f1 !important;
}

.service-price__examples tbody td:last-child {
  color: #17665c !important;
  font-weight: 700;
}

/* セル内の段落 */
.service-price__comparison th p,
.service-price__comparison td p,
.service-price__examples th p,
.service-price__examples td p {
  margin: 0 !important;
  padding: 0 !important;
}

.service-price__comparison td small,
.service-price__examples td small {
  font-size: 13px;
  line-height: 1.7;
}


/* ==================================================
   注意書き
================================================== */

body .post_content
p.service-price__note {
  margin: 24px 0 0 !important;
  padding: 18px 20px;

  color: #52605d;
  font-size: 13px;
  line-height: 1.85;

  background: rgb(255 255 255 / 70%);
  border-left: 3px solid #a92332;
}


/* ==================================================
   スマートフォン
================================================== */

@media (max-width: 781px) {

  .service-price__header {
    padding-block: 48px !important;
  }

  .service-price__content {
    padding-block: 64px !important;
  }

  body .post_content
  .service-price__header
  h2 {
    font-size: clamp(28px, 8vw, 34px) !important;
  }

  body .post_content
  p.service-price__lead {
    margin-bottom: 40px !important;
    font-size: 15px;
    text-align: left;
  }

  body .post_content
  h3.service-price__subheading {
    margin-bottom: 24px !important;
    font-size: 23px !important;
  }

  .service-price__overview {
    margin-top: 4px !important;
  }

  .service-price__overview
  > .swell-block-columns__inner {
    gap: 16px !important;
  }

  .service-price__overview
  > .swell-block-columns__inner
  > .swell-block-column.price-box {
    width: 100% !important;
    min-height: 190px;
  }

  .service-price__overview
  > .swell-block-columns__inner
  > .swell-block-column.service-price__conditions {
    width: 100% !important;
    min-height: auto;
    margin-top: 8px !important;
    padding: 24px 20px !important;
  }

  body .post_content
  .service-price__overview
  > .swell-block-columns__inner
  > .price-box
  > p:nth-child(2),
  body .post_content
  .service-price__overview
  > .swell-block-columns__inner
  > .price-box
  > p:nth-child(2) strong {
    font-size: clamp(32px, 9vw, 42px) !important;
  }

  .service-price__overview
  + h3.service-price__subheading,
  .service-price__comparison
  + h3.service-price__subheading,
  .service-price__note
  + h3.service-price__subheading {
    margin-top: 64px !important;
  }

  .service-price__comparison .wp-block-table,
  .service-price__examples .wp-block-table {
    border-radius: 12px !important;
  }

  body .post_content
  .service-price__comparison
  > h3,
  body .post_content
  .service-price__examples
  > h3,
  body .post_content
  .service-price__comparison
  > .wp-block-group__inner-container
  > h3,
  body .post_content
  .service-price__examples
  > .wp-block-group__inner-container
  > h3 {
    margin-bottom: 14px !important;
    padding: 0 !important;
    font-size: 22px !important;
  }

  body .post_content
  .service-price__comparison
  > p,
  body .post_content
  .service-price__examples
  > p,
  body .post_content
  .service-price__comparison
  > .wp-block-group__inner-container
  > p,
  body .post_content
  .service-price__examples
  > .wp-block-group__inner-container
  > p {
    position: static;

    margin-bottom: 12px !important;
    padding: 0 !important;
    font-size: 12px;
  }

  .service-price__comparison table {
    min-width: 820px;
  }

  .service-price__examples table {
    min-width: 720px;
  }

  .service-price__comparison th,
  .service-price__comparison td,
  .service-price__examples th,
  .service-price__examples td {
    padding: 16px !important;
    font-size: 15px !important;
  }

  .service-price__comparison thead th,
  .service-price__examples thead th {
    font-size: 15px !important;
  }

}


/* ==================================================
   サービス詳細ページ：共通セクション見出し
================================================== */

body .post_content
h2.service-section-title {
  width: 100%;
  padding: 0 !important;

  color: #202928;
  font-size: clamp(32px, 2.5vw, 39px) !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.035em;
  text-align: left !important;

  background: transparent !important;
  border: 0 !important;
}

body .post_content
h2.service-section-title::before,
body .post_content
h2.service-section-title::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 781px) {

  body .post_content
  h2.service-section-title {
    font-size: clamp(28px, 8vw, 34px) !important;
    line-height: 1.5;
    letter-spacing: 0.025em;
  }

}

/* 会社概要：ファーストビュー画像 */
figure.company-hero-photo {
  position: relative;

  /* 親コンテンツ幅を抜けて画面いっぱいにする */
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;

  overflow: hidden;
}

/* 画像 */
figure.company-hero-photo img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: clamp(360px, 32vw, 480px) !important;

  object-fit: cover;
  object-position: center 58%;
}

/* 公園名キャプション */
figure.company-hero-photo figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;

  margin: 0 !important;
  padding: 10px 18px;

  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: left;

  background: rgba(15, 59, 53, 0.9);
}

/* スマホ */
@media (max-width: 767px) {
  figure.company-hero-photo img {
    height: 240px !important;
    object-position: 62% center;
  }

  figure.company-hero-photo figcaption {
    padding: 8px 14px;
    font-size: 11px;
  }
}

/* ========================================
   会社概要：ABOUT US
======================================== */

/* セクション全体 */
.company-about {
  position: relative;

  padding-block: clamp(80px, 8vw, 120px);

  overflow: hidden;
  background: #fff;
}


/* ========================================
   2カラムレイアウト
======================================== */

/*
  コアカラムのflex構造を維持。
  コンテンツ幅はサイトの既存設定を使用。
*/
.company-about-layout {
  align-items: center !important;
  gap: clamp(40px, 4vw, 72px) !important;
}

.company-about-layout > .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}

/* PCのカラム比率 */
@media (min-width: 901px) {
  .company-about-layout {
    flex-wrap: nowrap !important;
  }

  .company-about-layout > .wp-block-column:first-child {
    flex: 1.08 1 0 !important;
  }

  .company-about-layout > .wp-block-column:last-child {
    flex: 0.92 1 0 !important;
  }
}


/* ========================================
   アイブロウ
======================================== */

/*
  色・文字サイズ・下線は共通クラスから継承。
  このセクションでは配置と下余白だけを指定。
*/
body .post_content
.company-about
p.company-about-eyebrow {
  width: max-content !important;

  margin-top: 0 !important;
  margin-right: auto !important;
  margin-bottom: 24px !important;
  margin-left: 0 !important;

  text-align: left !important;
  align-items: flex-start !important;
}

body .post_content
.company-about
p.company-about-eyebrow::after {
  margin-right: auto !important;
  margin-left: 0 !important;
}


/* ========================================
   H2
======================================== */

/*
  サイズ・行間・色・下余白は共通クラスから継承。
  ABOUT USでは左寄せだけを確実に上書き。
*/
body .post_content
.company-about
h2 {
  width: 100% !important;
  max-width: 640px !important;

  margin-right: auto !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;

  text-align: left !important;
}


/* ========================================
   本文
======================================== */

body .post_content
.company-about-layout
p:not(.company-about-eyebrow) {
  margin-top: 0;
  margin-bottom: 24px;

  color: #344743;
  font-size: 17px;
  line-height: 2.05;
  letter-spacing: 0.02em;
}

body .post_content
.company-about-layout
p:not(.company-about-eyebrow):last-child {
  margin-bottom: 0;
}


/* ========================================
   画像
======================================== */

.company-about-image {
  position: relative;
  z-index: 1;

  margin: 0 !important;
  padding: 0 24px 24px 0;
}

/* 右下の淡い背景 */
.company-about-image::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;

  width: 72%;
  height: 72%;

  background: #edf5f1;
  border-radius: 8px;
}

/* 右上のドット */
.company-about-image::after {
  content: "";
  position: absolute;
  top: -24px;
  right: -4px;
  z-index: -1;

  width: 104px;
  height: 72px;

  opacity: 0.55;
  background-image: radial-gradient(
    circle,
    #b7cec6 1.5px,
    transparent 1.5px
  );
  background-size: 9px 9px;
}

.company-about-image img {
  position: relative;
  z-index: 1;

  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2;

  object-fit: cover;

  border-radius: 8px;
  box-shadow: 0 14px 32px rgba(20, 63, 56, 0.13);
}


/* ========================================
   タブレット
======================================== */

@media (max-width: 900px) {
  .company-about-layout {
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 48px !important;
  }

  .company-about-layout > .wp-block-column {
    flex: 0 0 100% !important;
  }

  .company-about-image {
    width: min(100%, 680px);
    margin-inline: auto !important;
  }
}


/* ========================================
   スマートフォン
======================================== */

@media (max-width: 767px) {
  .company-about {
    padding-block: 72px;
  }

  .company-about-layout {
    gap: 40px !important;
  }

  body .post_content
  .company-about
  p.company-about-eyebrow {
    margin-bottom: 20px !important;
  }

  body .post_content
  .company-about
  h2 {
    max-width: none !important;
    padding: 0 !important;
  }

  body .post_content
  .company-about-layout
  p:not(.company-about-eyebrow) {
    margin-bottom: 20px;

    font-size: 16px;
    line-height: 2;
  }

  .company-about-image {
    width: 100%;
    padding: 0 16px 16px 0;
  }

  .company-about-image::after {
    top: -18px;
    right: 0;

    width: 72px;
    height: 54px;
  }
}

/* ========================================
   会社概要：OUR PROMISE
======================================== */

/* セクション全体 */
.company-promise {
  position: relative;

  padding-block: clamp(88px, 9vw, 128px);

  overflow: hidden;
  color: #fff;
  background: #173f38 !important;
}


/* ========================================
   上段：見出し・説明
======================================== */

.company-promise__intro {
  align-items: flex-start !important;
  gap: clamp(64px, 7vw, 104px) !important;

  margin: 0 !important;
}

.company-promise__intro > .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}

@media (min-width: 960px) {
  .company-promise__intro {
    flex-wrap: nowrap !important;
  }

  .company-promise__intro
  > .wp-block-column:first-child {
    flex: 0.94 1 0 !important;
  }

  .company-promise__intro
  > .wp-block-column:last-child {
    flex: 1.06 1 0 !important;
  }
}


/* ========================================
   左側：アイブロウ
======================================== */

/*
  色・文字サイズ・下線は
  page_eyebrow_darkから継承。
*/
body .post_content
.company-promise__intro-lead
p.company-promise__eyebrow {
  align-items: flex-start !important;

  width: max-content !important;
  margin-top: 0 !important;
  margin-right: auto !important;
  margin-bottom: 24px !important;
  margin-left: 0 !important;

  text-align: left !important;
}

body .post_content
.company-promise__intro-lead
p.company-promise__eyebrow::after {
  margin-right: auto !important;
  margin-left: 0 !important;
}


/* ========================================
   左側：H2・リード
======================================== */

/*
  H2のサイズ・行間・下余白は
  page_ttl_darkから継承。
*/
body .post_content
.company-promise__intro
h2 {
  max-width: 560px !important;

  margin-right: auto !important;
  margin-left: 0 !important;
  padding-inline: 0 !important;

  text-align: left !important;
}

body .post_content
.company-promise
p.company-promise__lead {
  max-width: 600px;

  margin-top: 0 !important;
  margin-bottom: 0 !important;

  color: #fff;
  font-size: 17px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.025em;
}


/* ========================================
   右側：説明文
======================================== */

.company-promise__intro-text {
  padding-top: 48px;
}

body .post_content
.company-promise__intro-text
p {
  margin-top: 0 !important;
  margin-bottom: 20px;

  color: rgba(255, 255, 255, 0.86);
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.025em;
}

body .post_content
.company-promise__intro-text
p:last-child {
  margin-bottom: 0;
}


/* ========================================
   下段：3枚のカード
======================================== */

.company-promise__cards {
  align-items: stretch !important;
  gap: clamp(16px, 2vw, 24px) !important;

  margin: 48px 0 0 !important;
  padding-top: 40px;

  border-top: 1px solid rgba(255, 255, 255, 0.26);
}

.company-promise__cards
> .wp-block-column {
  display: flex !important;

  min-width: 0;
  margin: 0 !important;

  align-self: stretch !important;
}

/* カードがカラム内のグループの場合 */
.company-promise__cards
> .wp-block-column
> .company-promise__card {
  width: 100%;
}


/* ========================================
   カード本体
======================================== */

.company-promise__card {
  position: relative;

  display: flex !important;
  box-sizing: border-box;
  width: 100%;
  min-height: 280px;
  padding: clamp(30px, 2.5vw, 36px) !important;

  flex-direction: column;
  align-self: stretch !important;

  color: #243936;
  background: #fff;
  border: 1px solid rgba(23, 63, 56, 0.08);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(4, 29, 25, 0.12);
}


/* ========================================
   番号
======================================== */

body .post_content
.company-promise__card
p.company-promise__number {
  margin: 0 0 26px !important;

  color: #b9293c;
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}


/* ========================================
   SVGアイコン
======================================== */

/*
  番号のすぐ横へ配置。
  右端配置にしないことで番号と一体化させる。
*/
.company-promise__icon {
  position: absolute;
  top: 28px;
  left: 88px;

  width: 52px !important;
  margin: 0 !important;
}

.company-promise__icon img {
  display: block;
  width: 52px !important;
  height: 52px !important;

  object-fit: contain;
}


/* ========================================
   カード見出し
======================================== */

body .post_content
.company-promise__card
h3.company-promise__card-title {
  margin: 0 0 16px !important;
  padding: 0 !important;

  color: #173f38;
  font-size: clamp(18px, 1.35vw, 21px) !important;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.02em;
  text-align: left;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 見出しのラインを解除 */
body .post_content
.company-promise__card
h3.company-promise__card-title::before,
body .post_content
.company-promise__card
h3.company-promise__card-title::after {
  content: none !important;
  display: none !important;

  border: 0 !important;
  background: none !important;
}


/* ========================================
   カード本文
======================================== */

body .post_content
.company-promise__card
p.company-promise__card-text {
  margin: 0 !important;

  color: #3e4b48;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.02em;
}


/* ========================================
   タブレット
======================================== */

@media (max-width: 959px) {
  .company-promise__intro {
    flex-wrap: wrap !important;
    gap: 40px !important;
  }

  .company-promise__intro
  > .wp-block-column {
    flex: 0 0 100% !important;
  }

  .company-promise__intro-text {
    padding-top: 0;
  }
}


/* ========================================
   スマートフォン
======================================== */

@media (max-width: 781px) {
  .company-promise {
    padding-block: 72px;
  }

  body .post_content
  .company-promise__intro-lead
  p.company-promise__eyebrow {
    margin-bottom: 20px !important;
  }

  .company-promise__intro {
    gap: 32px !important;
  }

  body .post_content
  .company-promise
  p.company-promise__lead,
  body .post_content
  .company-promise__intro-text
  p {
    font-size: 16px;
    line-height: 2;
  }

  .company-promise__cards {
    gap: 16px !important;

    margin-top: 48px !important;
    padding-top: 40px;
  }

  .company-promise__cards
  > .wp-block-column {
    flex-basis: 100% !important;
  }

  .company-promise__card {
    min-height: 0;
    padding: 28px !important;
  }

  .company-promise__icon {
    top: 23px;
    left: 78px;

    width: 48px !important;
  }

  .company-promise__icon img {
    width: 48px !important;
    height: 48px !important;
  }

  body .post_content
  .company-promise__card
  p.company-promise__number {
    margin-bottom: 24px !important;
    font-size: 30px;
  }

  body .post_content
  .company-promise__card
  h3.company-promise__card-title {
    margin-bottom: 14px !important;
    font-size: 19px !important;
  }
}

/* ========================================
   会社概要：MESSAGE
======================================== */

/* セクション全体 */
.company-message {
  position: relative;

  padding-block: clamp(88px, 9vw, 128px);

  overflow: hidden;
  background: #f4f8f6;
}


/* ========================================
   2カラムレイアウト
======================================== */

.company-message__layout {
  align-items: flex-start !important;
  gap: clamp(48px, 6vw, 88px) !important;

  margin: 0 !important;
}

.company-message__layout > .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}

@media (min-width: 901px) {
  .company-message__layout {
    flex-wrap: nowrap !important;
  }

  .company-message__layout
  > .wp-block-column:first-child {
    flex: 0.98 1 0 !important;
  }

  .company-message__layout
  > .wp-block-column:last-child {
    flex: 1.02 1 0 !important;
  }
}


/* ========================================
   左側：2枚の画像
======================================== */

.company-message__visual {
  position: relative;

  box-sizing: border-box;
  width: 100%;
  margin: 0 !important;
  padding: 0 24px clamp(88px, 8vw, 112px) 0;
}

/* 左上のドット装飾 */
.company-message__visual::before {
  content: "";
  position: absolute;
  top: -24px;
  left: -4px;
  z-index: 0;

  width: 104px;
  height: 72px;

  opacity: 0.5;
  background-image: radial-gradient(
    circle,
    #c8aaa9 1.5px,
    transparent 1.5px
  );
  background-size: 9px 9px;
}


/* メイン画像 */
.company-message__image-main {
  position: relative;
  z-index: 1;

  margin: 0 !important;
}

.company-message__image-main img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3;

  object-fit: cover;
  object-position: center 50%;

  border-radius: 8px;
  box-shadow: 0 14px 32px rgba(20, 63, 56, 0.12);
}


/* 右下へ重ねるサブ画像 */
.company-message__image-sub {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;

  box-sizing: border-box;
  width: 44% !important;
  margin: 0 !important;
  padding: 8px;

  background: #fff;
  border-radius: 10px;
  box-shadow: 0 16px 36px rgba(20, 63, 56, 0.18);
}

.company-message__image-sub img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;

  object-fit: cover;
  object-position: center;

  border-radius: 6px;
}


/* ========================================
   右側：コンテンツ
======================================== */

.company-message__content {
  min-width: 0;
}


/* ========================================
   アイブロウ
======================================== */

body .post_content
.company-message__content
p.company-message__eyebrow {
  align-items: flex-start !important;

  width: max-content !important;
  margin-top: 0 !important;
  margin-right: auto !important;
  margin-bottom: 24px !important;
  margin-left: 0 !important;

  text-align: left !important;
}

body .post_content
.company-message__content
p.company-message__eyebrow::after {
  margin-right: auto !important;
  margin-left: 0 !important;
}


/* ========================================
   H2
======================================== */

/*
  サイズ・行間・下余白は
  page_ttl_lightから継承。
*/
body .post_content
.company-message__content
h2 {
  max-width: 680px !important;

  margin-right: auto !important;
  margin-left: 0 !important;
  padding-inline: 0 !important;

  text-align: left !important;
}


/* ========================================
   リード
======================================== */

body .post_content
.company-message__content
p.company-message__lead {
  margin-top: 0 !important;
  margin-bottom: 24px !important;

  color: #173f38;
  font-size: 17px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.025em;
}


/* ========================================
   本文
======================================== */

body .post_content
.company-message__content
p:not(.company-message__eyebrow):not(.company-message__lead) {
  margin-top: 0;
  margin-bottom: 20px;

  color: #344743;
  font-size: 17px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.02em;
}

body .post_content
.company-message__content
p:last-child {
  margin-bottom: 0;
}


/* ========================================
   代表名
======================================== */

.company-message__signature {
  margin-top: 32px !important;
}

body .post_content
.company-message__signature
p {
  margin-top: 0 !important;
  margin-bottom: 6px !important;

  color: #344743;
  font-size: 15px;
  line-height: 1.7;
  text-align: right;
}

body .post_content
.company-message__signature
p:last-child {
  margin-bottom: 0 !important;

  color: #173f38;
  font-size: 17px;
  font-weight: 700;
}


/* ========================================
   タブレット
======================================== */

@media (max-width: 900px) {
  .company-message__layout {
    flex-direction: column-reverse !important;
    flex-wrap: nowrap !important;
    gap: 48px !important;
  }

  .company-message__layout
  > .wp-block-column {
    width: 100%;
    flex: 0 0 auto !important;
  }

  .company-message__visual {
    width: min(100%, 680px);
    margin-inline: auto !important;
    padding-right: 16px;
    padding-bottom: 96px;
  }

  .company-message__image-sub {
    width: 42% !important;
  }
}


/* ========================================
   スマートフォン
======================================== */

@media (max-width: 767px) {
  .company-message {
    padding-block: 72px;
  }

  .company-message__layout {
    gap: 40px !important;
  }

  body .post_content
  .company-message__content
  p.company-message__eyebrow {
    margin-bottom: 20px !important;
  }

  body .post_content
  .company-message__content
  h2 {
    max-width: none !important;
    padding: 0 !important;
  }

  body .post_content
  .company-message__content
  p.company-message__lead {
    margin-bottom: 20px !important;

    font-size: 16px;
    line-height: 2;
  }

  body .post_content
  .company-message__content
  p:not(.company-message__eyebrow):not(.company-message__lead) {
    margin-bottom: 18px;

    font-size: 16px;
    line-height: 2;
  }

  .company-message__visual {
    width: 100%;
    padding-right: 0;
    padding-bottom: 72px;
  }

  .company-message__visual::before {
    top: -18px;
    left: 0;

    width: 72px;
    height: 54px;
  }

  .company-message__image-sub {
    right: 12px;

    width: 52% !important;
    padding: 6px;

    border-radius: 8px;
  }

  .company-message__image-sub img {
    border-radius: 5px;
  }

  .company-message__signature {
    margin-top: 28px !important;
  }
}

/* ========================================
   会社概要：COMPANY PROFILE
======================================== */

/* セクション全体 */
.company-profile {
  position: relative;

  padding-block: clamp(88px, 9vw, 128px);

  overflow: hidden;
  background: #fff;
}


/* ========================================
   セクション見出し
======================================== */

.company-profile__header {
  margin: 0 0 clamp(48px, 5vw, 64px) !important;
  text-align: center;
}

/*
  色・文字サイズ・下線は
  page_eyebrow_lightから継承。
*/
body .post_content
.company-profile__header
p.company-profile__eyebrow {
  margin-top: 0 !important;
  margin-right: auto !important;
  margin-bottom: 24px !important;
  margin-left: auto !important;
}

/*
  H2の文字サイズ・行間・色は
  page_ttl_lightから継承。
  見出しグループ側で余白を管理するため
  H2自身の下余白は解除。
*/
body .post_content
.company-profile__header
h2 {
  margin-bottom: 0 !important;
  padding-inline: 0 !important;

  text-align: center !important;
}


/* ========================================
   表＋Googleマップ
======================================== */

.company-profile__layout {
  align-items: stretch !important;
  gap: clamp(24px, 3vw, 40px) !important;

  margin: 0 !important;
}

.company-profile__layout
> .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}

@media (min-width: 901px) {
  .company-profile__layout {
    flex-wrap: nowrap !important;
  }

  .company-profile__layout
  > .wp-block-column:first-child {
    flex: 1.04 1 0 !important;
  }

  .company-profile__layout
  > .wp-block-column:last-child {
    flex: 0.96 1 0 !important;
  }
}


/* ========================================
   会社情報テーブル
======================================== */

.company-profile__table {
  margin: 0 !important;

  overflow: hidden;
  border: 1px solid #d9e3df;
  border-radius: 8px;
  background: #fff;
}

.company-profile__table table {
  width: 100%;
  margin: 0 !important;

  border-spacing: 0;
  border-collapse: collapse;
}

body .post_content
.company-profile__table
tr > * {
  padding: 15px 18px !important;

  color: #344743;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.015em;
  vertical-align: top;

  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 1px solid #d9e3df !important;
  border-left: 0 !important;
}

body .post_content
.company-profile__table
tr:last-child > * {
  border-bottom: 0 !important;
}

/* 左側の項目名 */
body .post_content
.company-profile__table
tr > *:first-child {
  width: 38%;

  color: #173f38;
  font-weight: 600;

  background: #f4f8f6;
  border-right: 1px solid #d9e3df !important;
}

/* 右側の内容 */
body .post_content
.company-profile__table
tr > *:last-child {
  background: #fff;
}

body .post_content
.company-profile__table
a {
  color: #176451;
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* ========================================
   Googleマップ
======================================== */

/*
  company-profile__mapは
  Googleマップを入れた右側カラムへ付与。
*/
.company-profile__map {
  position: relative;

  min-height: 520px;
  overflow: hidden;

  background: #edf2f0;
  border: 1px solid #d9e3df;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(20, 63, 56, 0.08);
}

.company-profile__map iframe {
  position: absolute;
  inset: 0;

  display: block;
  width: 100% !important;
  height: 100% !important;

  border: 0 !important;
}


/* ========================================
   探偵業標識について
======================================== */

.company-profile__license {
  position: relative;

  box-sizing: border-box;
  margin: clamp(48px, 5vw, 64px) 0 0 !important;
  padding: clamp(28px, 3vw, 40px) !important;

  background: #f4f8f6;
  border: 1px solid #dce6e2;
  border-radius: 8px;
}

body .post_content
.company-profile__license
h3 {
  margin: 0 0 18px !important;
  padding: 0 !important;

  color: #173f38;
  font-size: clamp(20px, 1.6vw, 24px) !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.025em;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.company-profile__license
h3::before,
body .post_content
.company-profile__license
h3::after {
  content: none !important;
  display: none !important;
}

body .post_content
.company-profile__license
p:not(.company-profile__license-link) {
  margin: 0 !important;

  color: #344743;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

body .post_content
.company-profile__license
p.company-profile__license-link {
  margin: 20px 0 0 !important;
}

body .post_content
.company-profile__license-link
a {
  position: relative;

  display: inline-flex;
  align-items: center;
  gap: 10px;

  color: #176451;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;

  transition:
    color 0.25s ease,
    gap 0.25s ease;
}

body .post_content
.company-profile__license-link
a::after {
  content: "→";

  color: #a92332;
  font-size: 18px;
  line-height: 1;
}

@media (hover: hover) {
  body .post_content
  .company-profile__license-link
  a:hover {
    gap: 14px;
    color: #a92332;
  }
}


/* ========================================
   タブレット
======================================== */

@media (max-width: 900px) {
  .company-profile__layout {
    flex-wrap: wrap !important;
    gap: 32px !important;
  }

  .company-profile__layout
  > .wp-block-column {
    flex: 0 0 100% !important;
  }

  .company-profile__map {
    min-height: 400px;
  }
}


/* ========================================
   スマートフォン
======================================== */

@media (max-width: 767px) {
  .company-profile {
    padding-block: 72px;
  }

  .company-profile__header {
    margin-bottom: 40px !important;
  }

  body .post_content
  .company-profile__header
  p.company-profile__eyebrow {
    margin-bottom: 20px !important;
  }

  .company-profile__layout {
    gap: 24px !important;
  }

  /* スマホでは項目名と内容を上下に並べる */
  .company-profile__table,
  .company-profile__table table,
  .company-profile__table tbody,
  .company-profile__table tr,
  .company-profile__table tr > * {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
  }

  .company-profile__table tr {
    border-bottom: 1px solid #d9e3df;
  }

  .company-profile__table tr:last-child {
    border-bottom: 0;
  }

  body .post_content
  .company-profile__table
  tr > * {
    padding: 13px 16px !important;

    font-size: 16px;
    line-height: 1.75;

    border: 0 !important;
  }

  body .post_content
  .company-profile__table
  tr > *:first-child {
    padding-bottom: 9px !important;

    background: #f4f8f6;
    border: 0 !important;
  }

  body .post_content
  .company-profile__table
  tr > *:last-child {
    padding-top: 11px !important;
    padding-bottom: 16px !important;
  }

  .company-profile__map {
    min-height: 320px;
  }

  .company-profile__license {
    margin-top: 40px !important;
    padding: 24px !important;
  }

  body .post_content
  .company-profile__license
  h3 {
    margin-bottom: 16px !important;
    font-size: 21px !important;
  }

  body .post_content
  .company-profile__license
  p:not(.company-profile__license-link),
  body .post_content
  .company-profile__license-link
  a {
    font-size: 16px;
  }
}

/* ========================================
   探偵業標識：囲みデザインを解除
======================================== */

body .post_content
.company-profile
.company-profile__license {
  max-width: none;

  margin-top: clamp(48px, 5vw, 64px) !important;
  padding: clamp(28px, 3vw, 40px) 0 0 !important;

  background: transparent !important;

  border: 0 !important;
  border-top: 1px solid #ccd9d5 !important;
  border-radius: 0 !important;

  box-shadow: none !important;
}

body .post_content
.company-profile__license
h3 {
  margin: 0 0 16px !important;
  padding: 0 !important;

  color: #173f38;
  font-size: clamp(20px, 1.6vw, 24px) !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.025em;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.company-profile__license
p:not(.company-profile__license-link) {
  max-width: 820px;

  margin: 0 !important;

  color: #344743;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

body .post_content
.company-profile__license
p.company-profile__license-link {
  margin: 18px 0 0 !important;
}

body .post_content
.company-profile__license-link
a {
  display: inline;

  color: #176451;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: underline;
  text-decoration-color: rgba(23, 100, 81, 0.4);
  text-underline-offset: 4px;
}

body .post_content
.company-profile__license-link
a::after {
  content: " →";

  color: #a92332;
  font-size: 17px;
  text-decoration: none;
}

@media (hover: hover) {
  body .post_content
  .company-profile__license-link
  a:hover {
    color: #a92332;
  }
}

@media (max-width: 767px) {
  body .post_content
  .company-profile
  .company-profile__license {
    margin-top: 40px !important;
    padding: 28px 0 0 !important;
  }

  body .post_content
  .company-profile__license
  h3 {
    margin-bottom: 14px !important;
    font-size: 21px !important;
  }
}


/* ========================================
  Form 送信後メッセージ
======================================== */
.smf-complete-content p {
    margin-bottom: 2em;
}


/* ==================================================
   共通：基本料金パーツ
   TOP・料金ページ共通
================================================== */

.site-price-overview {
  box-sizing: border-box;
  width: 100%;
  margin: 8px 0 0 !important;
}

/* SWELLリッチカラムの負の余白とカラム余白を解除 */
.site-price-overview
> .swell-block-columns__inner {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
  gap: clamp(20px, 2.5vw, 32px) !important;
}

.site-price-overview
> .swell-block-columns__inner
> .swell-block-column {
  box-sizing: border-box;
  min-width: 0 !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* ==================================================
   基本料金カード
================================================== */

.site-price-overview
.price-box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 200px;
  margin: 0 !important;
  padding: 28px 24px !important;
  background: #fff !important;
  border: 1px solid #dce4e1 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  text-align: center;
}

.site-price-overview
.price-box::before,
.site-price-overview
.price-box::after {
  content: none !important;
  display: none !important;
}

/* 調査員1名体制・2名体制 */
body .post_content
.site-price-overview
.price-box
> p:first-child {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #354743 !important;
  font-size: 15px !important;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

/* 金額 */
body .post_content
.site-price-overview
.price-box
> p:nth-child(2),
body .post_content
.site-price-overview
.price-box
> p:nth-child(2) strong {
  margin: 0 !important;
  padding: 0 !important;
  color: #176b67 !important;
  font-size: clamp(36px, 3vw, 50px) !important;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

/* 1時間あたり・税込 */
body .post_content
.site-price-overview
.price-box
> p:nth-child(3) {
  margin: 16px 0 0 !important;
  padding: 0 !important;
  color: #596762 !important;
  font-size: 13px !important;
  font-weight: 400;
  line-height: 1.6;
}


/* ==================================================
   基本料金に含まれるもの
================================================== */

.site-price-overview
.site-price-includes {
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  min-width: 0;
  margin: 0 !important;
  padding: 8px 0 8px clamp(8px, 1.5vw, 24px) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body .post_content
.site-price-includes
h3 {
  margin: 0 0 20px !important;
  padding: 0 0 14px !important;
  color: #173f38 !important;
  font-size: clamp(19px, 1.5vw, 22px) !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #b9d4ce !important;
  box-shadow: none !important;
}

body .post_content
.site-price-includes
h3::before,
body .post_content
.site-price-includes
h3::after {
  content: none !important;
  display: none !important;
}

body .post_content
.site-price-includes
ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body .post_content
.site-price-includes
li {
  position: relative;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
  color: #344743;
  font-size: 16px;
  line-height: 1.8;
}

body .post_content
.site-price-includes
li + li {
  margin-top: 9px !important;
}

body .post_content
.site-price-includes
li::before {
  content: "✓";
  position: absolute;
  top: 0.34em;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  background: #27877d;
  border-radius: 50%;
}


/* ==================================================
   基本料金下の注意書き
================================================== */

.site-price-notes {
  box-sizing: border-box;
  margin-top: 24px !important;
  padding-top: 18px !important;
  border-top: 1px solid #dce6e2;
}

body .post_content
.site-price-notes
p {
  margin: 0 !important;
  padding: 0 !important;
  color: #52605d;
  font-size: 13px;
  line-height: 1.8;
}

body .post_content
.site-price-notes
p + p {
  margin-top: 4px !important;
}

@media (max-width: 781px) {

  .site-price-overview
  > .swell-block-columns__inner {
    gap: 16px !important;
  }

  .site-price-overview
  .price-box {
    width: 100% !important;
    min-height: 180px;
    padding: 24px 20px !important;
  }

  body .post_content
  .site-price-overview
  .price-box
  > p:nth-child(2),
  body .post_content
  .site-price-overview
  .price-box
  > p:nth-child(2) strong {
    font-size: clamp(34px, 10vw, 42px) !important;
  }

  .site-price-overview
  .site-price-includes {
    width: 100% !important;
    margin-top: 8px !important;
    padding: 28px 0 0 !important;
    border-top: 1px solid #dce6e2 !important;
  }

  body .post_content
  .site-price-includes
  h3 {
    margin-bottom: 18px !important;
    font-size: 20px !important;
  }

  body .post_content
  .site-price-includes
  li {
    font-size: 15px;
  }

  .site-price-notes {
    margin-top: 24px !important;
    padding-top: 16px !important;
  }

  body .post_content
  .site-price-notes
  p {
    font-size: 12px;
  }
}


/* ==================================================
   料金ページ：調査費用が変わる理由
================================================== */

.price-factors {
  position: relative;
  overflow: visible !important;
}

.price-factors__layout {
  align-items: flex-start !important;
  gap: clamp(56px, 7vw, 112px) !important;
}

.price-factors__layout.wp-block-columns {
  align-items: flex-start !important;
}

/* SWELLリッチカラムの負の余白を解除 */
.price-factors__layout
> .swell-block-columns__inner {
  display: flex !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: flex-start !important;
  gap: clamp(56px, 7vw, 112px) !important;
}

.price-factors__layout
> .swell-block-columns__inner
> .swell-block-column {
  box-sizing: border-box;
  min-width: 0 !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.price-factors__intro,
.price-factors__list {
  min-width: 0;
  margin: 0 !important;
}

.price-factors__intro {
  flex: 0 1 36% !important;
}

.price-factors__list {
  flex: 1 1 0 !important;
}

body .post_content
.price-factors__intro
p:not(.page_eyebrow_light):not(.page_eyebrow_dark) {
  margin-top: 0;
  margin-bottom: 0;
  color: #344743;
  font-size: 17px;
  line-height: 2;
  letter-spacing: 0.02em;
}

body .post_content
.price-factors__intro
p:not(.page_eyebrow_light):not(.page_eyebrow_dark)
+ p {
  margin-top: 4px;
}

@media (min-width: 1024px) {
  .price-factors__intro {
    position: sticky;
    top: 120px;
    align-self: flex-start;
  }
}

.price-factor {
  position: relative;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 0 28px 92px !important;
  border-bottom: 1px solid #83b7af;
}

.price-factor + .price-factor {
  margin-top: 28px !important;
}

.price-factor:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0;
}

body .post_content
.price-factor
> p:first-child,
body .post_content
.price-factor
> .wp-block-group__inner-container
> p:first-child {
  position: absolute;
  top: -0.14em;
  left: 0;
  width: 70px;
  margin: 0 !important;
  padding: 0 !important;
  color: #b21f32 !important;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: clamp(38px, 3.2vw, 52px) !important;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: 0.02em;
}

body .post_content
.price-factor
h3 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #173f38 !important;
  font-size: clamp(20px, 1.6vw, 24px) !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.price-factor
h3::before,
body .post_content
.price-factor
h3::after {
  content: none !important;
  display: none !important;
}

body .post_content
.price-factor
> p:not(:first-child),
body .post_content
.price-factor
> .wp-block-group__inner-container
> p:not(:first-child) {
  margin: 0 !important;
  padding: 0 !important;
  color: #344743;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.015em;
}

body .post_content
.price-factor
> p:not(:first-child)
+ p,
body .post_content
.price-factor
> .wp-block-group__inner-container
> p:not(:first-child)
+ p {
  margin-top: 2px !important;
}

.price-factors-summary {
  position: relative;
  z-index: 1;
  margin-top: 0 !important;
  padding: 0 !important;
  color: #fff;
  background: #16483f !important;
}

.price-factors-summary
> .swell-block-fullWide__inner {
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
}

.price-factors-summary__inner {
  display: flex;
  align-items: center;
  gap: 22px;
  box-sizing: border-box;
  width: min(100% - 48px, 1200px);
  margin: 0 auto !important;
  padding: 28px 0 !important;
}

.price-factors-summary__inner::before {
  content: "";
  flex: 0 0 auto;
  display: block;
  width: 36px;
  height: 44px;
  opacity: 0.9;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 48' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='6' width='28' height='38' rx='3'/%3E%3Cpath d='M15 6V4h10v2M13 14h14M13 21h14M13 28h14M13 35h10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

body .post_content
.price-factors-summary__inner
p {
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.02em;
}

@media (max-width: 1023px) {

  .price-factors__layout,
  .price-factors__layout
  > .swell-block-columns__inner {
    gap: 48px !important;
  }

  .price-factors__intro {
    flex-basis: 38% !important;
  }

  body .post_content
  .price-factors__intro
  p:not(.page_eyebrow_light):not(.page_eyebrow_dark) {
    font-size: 16px;
  }

  .price-factor {
    padding-left: 74px !important;
  }
}

@media (max-width: 781px) {

  .price-factors__layout
  > .swell-block-columns__inner {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 48px !important;
  }

  .price-factors__layout
  > .swell-block-columns__inner
  > .swell-block-column,
  .price-factors__intro,
  .price-factors__list {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .price-factors__intro {
    position: static;
  }

  body .post_content
  .price-factors__intro
  p:not(.page_eyebrow_light):not(.page_eyebrow_dark) {
    font-size: 16px;
    line-height: 1.9;
  }

  .price-factor {
    padding: 0 0 24px 62px !important;
  }

  .price-factor + .price-factor {
    margin-top: 24px !important;
  }

  body .post_content
  .price-factor
  > p:first-child,
  body .post_content
  .price-factor
  > .wp-block-group__inner-container
  > p:first-child {
    top: -0.08em;
    width: 50px;
    font-size: 34px !important;
  }

  body .post_content
  .price-factor
  h3 {
    margin-bottom: 10px !important;
    font-size: 20px !important;
  }

  body .post_content
  .price-factor
  > p:not(:first-child),
  body .post_content
  .price-factor
  > .wp-block-group__inner-container
  > p:not(:first-child) {
    font-size: 15px;
    line-height: 1.85;
  }

  .price-factors-summary__inner {
    align-items: flex-start;
    gap: 16px;
    width: calc(100% - 32px);
    padding: 24px 0 !important;
  }

  .price-factors-summary__inner::before {
    width: 30px;
    height: 36px;
  }

  body .post_content
  .price-factors-summary__inner
  p {
    font-size: 14px;
    line-height: 1.8;
  }
}


/* ==================================================
   料金ページ：調査費用例
================================================== */

.price-cases {
  padding-top: clamp(80px, 8vw, 120px) !important;
  padding-bottom: clamp(80px, 8vw, 120px) !important;
  background: #fff !important;
}

.price-cases__head {
  margin-bottom: clamp(40px, 4vw, 56px) !important;
}

body .post_content
.price-cases__head
p:not(.page_eyebrow_light):not(.page_eyebrow_dark) {
  margin-top: 0;
  margin-bottom: 0;
  color: #344743;
  font-size: 17px;
  line-height: 2;
  letter-spacing: 0.02em;
}

body .post_content
.price-cases__head
p:not(.page_eyebrow_light):not(.page_eyebrow_dark)
+ p {
  margin-top: 4px;
}

.price-cases__head
> .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns:
    minmax(0, 1.15fr)
    minmax(340px, 0.85fr);
  align-items: start !important;
  gap: clamp(48px, 7vw, 96px) !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.price-cases__head
> .swell-block-columns__inner
> .swell-block-column {
  box-sizing: border-box;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
}

.price-cases__copy,
.price-cases__visual {
  align-self: start;
}

body .post_content
.price-cases__copy
p:not(.page_eyebrow_light):not(.page_eyebrow_dark) {
  max-width: 620px;
}

.price-cases__visual figure,
.price-cases__visual .wp-block-image {
  width: 100%;
  margin: 0 !important;
}

.price-cases__visual img {
  display: block;
  width: 100% !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  border-radius: 12px;
}

@media (min-width: 782px) and (max-width: 1023px) {

  .price-cases__head
  > .swell-block-columns__inner {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(300px, 0.8fr);
    gap: 40px !important;
  }
}

@media (max-width: 781px) {

  .price-cases {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }

  .price-cases__head {
    margin-bottom: 40px !important;
  }

  .price-cases__head
  > .swell-block-columns__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px !important;
  }

  .price-cases__head
  > .swell-block-columns__inner
  > .swell-block-column {
    width: 100% !important;
  }

  body .post_content
  .price-cases__head
  p:not(.page_eyebrow_light):not(.page_eyebrow_dark) {
    font-size: 16px;
    line-height: 1.9;
  }

  .price-cases__visual img {
    border-radius: 8px;
  }
}


/* ==================================================
   調査費用例：横長の各行
================================================== */

.price-case {
  box-sizing: border-box;
  width: 100%;
  margin: 0 !important;
  padding: 30px 0 !important;
  border-top: 1px solid #b7d3ce;
}

.price-case:last-of-type {
  border-bottom: 1px solid #b7d3ce;
}

.price-case
> .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns:
    64px
    minmax(0, 1fr)
    minmax(320px, 360px);
  align-items: center !important;
  gap: clamp(24px, 3vw, 48px) !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.price-case
> .swell-block-columns__inner
> .swell-block-column {
  box-sizing: border-box;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
}

.price-case
> .swell-block-columns__inner
> .swell-block-column:nth-child(1) {
  width: 64px !important;
  text-align: left;
}

.price-case
> .swell-block-columns__inner
> .swell-block-column:nth-child(3) {
  width: 100% !important;
  text-align: right;
}

body .post_content
.price-case
> .swell-block-columns__inner
> .swell-block-column:nth-child(1)
p {
  margin: 0 !important;
  padding: 0 !important;
  color: #b21f32 !important;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: clamp(36px, 3vw, 48px) !important;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: 0.02em;
}

body .post_content
.price-case
> .swell-block-columns__inner
> .swell-block-column:nth-child(2)
h3 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #173f38 !important;
  font-size: clamp(20px, 1.6vw, 24px) !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.price-case
h3::before,
body .post_content
.price-case
h3::after {
  content: none !important;
  display: none !important;
}

body .post_content
.price-case
> .swell-block-columns__inner
> .swell-block-column:nth-child(2)
ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 12px !important;
  padding: 0 !important;
  list-style: none !important;
}

body .post_content
.price-case
> .swell-block-columns__inner
> .swell-block-column:nth-child(2)
li {
  margin: 0 !important;
  padding: 5px 10px !important;
  color: #35645e;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  background: #edf5f2;
  border: 1px solid #c9ded9;
  border-radius: 6px;
}

body .post_content
.price-case
> .swell-block-columns__inner
> .swell-block-column:nth-child(2)
li::before {
  content: none !important;
  display: none !important;
}

body .post_content
.price-case
> .swell-block-columns__inner
> .swell-block-column:nth-child(2)
p {
  margin: 0 !important;
  padding: 0 !important;
  color: #44534f;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.015em;
}

body .post_content
.price-case
> .swell-block-columns__inner
> .swell-block-column:nth-child(3)
p:first-child {
  margin: 0 0 4px !important;
  padding: 0 !important;
  color: #596762;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

body .post_content
.price-case
> .swell-block-columns__inner
> .swell-block-column:nth-child(3)
p:nth-child(2),
body .post_content
.price-case
> .swell-block-columns__inner
> .swell-block-column:nth-child(3)
p:nth-child(2) strong {
  margin: 0 !important;
  padding: 0 !important;
  color: #b21f32 !important;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: clamp(26px, 2.2vw, 34px) !important;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

body .post_content
.price-case
> .swell-block-columns__inner
> .swell-block-column:nth-child(3)
p:nth-child(3) {
  margin: 3px 0 0 !important;
  padding: 0 !important;
  color: #596762;
  font-size: 12px;
  line-height: 1.5;
}

.price-cases__notes {
  margin-top: 24px !important;
}

body .post_content
.price-cases__notes
p {
  margin: 0 !important;
  padding: 0 !important;
  color: #596762;
  font-size: 13px;
  line-height: 1.8;
}

body .post_content
.price-cases__notes
p + p {
  margin-top: 2px !important;
}

@media (min-width: 782px) and (max-width: 1023px) {

  .price-case
  > .swell-block-columns__inner {
    grid-template-columns:
      54px
      minmax(0, 1fr)
      minmax(270px, 310px);
    gap: 24px !important;
  }

  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(1) {
    width: 54px !important;
  }

  body .post_content
  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(3)
  p:nth-child(2),
  body .post_content
  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(3)
  p:nth-child(2) strong {
    font-size: 27px !important;
  }
}

@media (max-width: 781px) {

  .price-case {
    padding: 26px 0 !important;
  }

  .price-case
  > .swell-block-columns__inner {
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: start !important;
    gap: 0 14px !important;
  }

  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
    width: 46px !important;
    text-align: left;
  }

  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
    width: auto !important;
  }

  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
    display: block !important;
    width: auto !important;
    margin: 20px 0 0 !important;
    text-align: left;
  }

  body .post_content
  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(1)
  p {
    font-size: 32px !important;
  }

  body .post_content
  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(2)
  h3 {
    margin-bottom: 10px !important;
    font-size: 19px !important;
  }

  body .post_content
  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(2)
  ul {
    gap: 6px;
    margin-bottom: 10px !important;
  }

  body .post_content
  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(2)
  li {
    padding: 4px 8px !important;
    font-size: 12px;
  }

  body .post_content
  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(2)
  p {
    font-size: 14px;
  }

  body .post_content
  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(3)
  p:first-child,
  body .post_content
  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(3)
  p:nth-child(2),
  body .post_content
  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(3)
  p:nth-child(3) {
    margin: 0 !important;
  }

  body .post_content
  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(3)
  p:nth-child(2),
  body .post_content
  .price-case
  > .swell-block-columns__inner
  > .swell-block-column:nth-child(3)
  p:nth-child(2) strong {
    font-size: clamp(21px, 6.2vw, 26px) !important;
    white-space: normal !important;
  }

  .price-cases__notes {
    margin-top: 20px !important;
  }

  body .post_content
  .price-cases__notes
  p {
    font-size: 12px;
  }
}


/* ==================================================
   料金ページ：中間相談CTA
================================================== */

.price-consult__columns {
  box-sizing: border-box;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  margin: 32px 0 0 !important;
  padding: 0 !important;
  background: #fff;
  border: 1px solid #d6e2df;
  border-radius: 18px;
  box-shadow: none;
}

.price-consult__columns
> .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(280px, 320px);
  align-items: center !important;
  gap: clamp(48px, 6vw, 80px) !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 44px 56px !important;
}

.price-consult__columns
> .swell-block-columns__inner
> .swell-block-column {
  box-sizing: border-box;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
}

body .post_content
.price-consult__columns
h3 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #2d3633;
  font-size: clamp(19px, 1.5vw, 22px) !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.price-consult__columns
h3::before,
body .post_content
.price-consult__columns
h3::after {
  content: none !important;
  display: none !important;
}

body .post_content
.price-consult__columns
p {
  margin: 0 !important;
  padding: 0 !important;
  color: #3f4c48;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.01em;
}

body .post_content
.price-consult__columns
p + p {
  margin-top: 2px !important;
}

.price-consult__action {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.price-consult__action
.swell-block-button {
  width: 100% !important;
  max-width: 300px !important;
  margin: 0 !important;
}

.price-consult__action
.swell-block-button__link {
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100% !important;
  min-height: 56px;
  margin: 0 !important;
  padding: 12px 24px !important;
  font-size: 16px;
  font-weight: 700;
}

@media (min-width: 782px) and (max-width: 1023px) {

  .price-consult__columns
  > .swell-block-columns__inner {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(250px, 280px);
    gap: 32px !important;
    padding: 40px 36px !important;
  }

  .price-consult__action
  .swell-block-button {
    max-width: 280px !important;
  }
}

@media (max-width: 781px) {

  .price-consult__columns {
    margin-top: 24px !important;
    border-radius: 14px;
  }

  .price-consult__columns
  > .swell-block-columns__inner {
    grid-template-columns: minmax(0, 1fr);
    align-items: start !important;
    gap: 24px !important;
    padding: 32px 24px !important;
  }

  .price-consult__columns
  > .swell-block-columns__inner
  > .swell-block-column {
    width: 100% !important;
  }

  body .post_content
  .price-consult__columns
  h3 {
    margin-bottom: 10px !important;
    font-size: 19px !important;
  }

  body .post_content
  .price-consult__columns
  p {
    font-size: 15px;
    line-height: 1.85;
  }

  .price-consult__action
  .swell-block-button {
    max-width: none !important;
  }

  .price-consult__action
  .swell-block-button__link {
    min-height: 54px;
    font-size: 15px;
  }
}


/* ==================================================
   共通：コンパクト相談CTA
================================================== */

body .post_content
.site-compact-cta {
  box-sizing: border-box;
  width: 100%;
  margin: 0 !important;
  padding:
    clamp(36px, 4vw, 48px)
    clamp(24px, 4vw, 48px)
    clamp(40px, 4.5vw, 56px) !important;

  color: #fff !important;

  background: #16483f !important;
  background-color: #16483f !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}


/* ========================================
   CTA見出し
======================================== */

body .post_content
.site-compact-cta
.site-compact-cta__title {
  margin: 0 0 32px !important;
  padding: 0 !important;

  color: #fff !important;
  font-size: clamp(22px, 2vw, 27px) !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.035em;
  text-align: center !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .post_content
.site-compact-cta
.site-compact-cta__title::before,
body .post_content
.site-compact-cta
.site-compact-cta__title::after {
  content: none !important;
  display: none !important;
}


/* ========================================
   ボタン配置
======================================== */

.site-compact-cta__actions {
  width: 100%;
  margin: 0 !important;
}

.site-compact-cta__actions
> .swell-block-columns__inner,
.site-compact-cta__actions.wp-block-columns {
  align-items: stretch !important;
  gap: clamp(16px, 2vw, 24px) !important;

  margin: 0 !important;
}

.site-compact-cta__actions
.swell-block-button,
.site-compact-cta__button {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
}


/* ========================================
   白ボタン
======================================== */

body .post_content
.site-compact-cta
.site-compact-cta__button
.swell-block-button__link,
body .post_content
.site-compact-cta
.site-compact-cta__actions
a.swell-block-button__link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px;

  box-sizing: border-box;
  width: 100% !important;
  min-height: 60px;
  padding: 14px 20px !important;

  color: #173f38 !important;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none !important;

  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;

  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 6px !important;

  box-shadow: 0 4px 12px rgba(7, 40, 32, 0.12) !important;
  opacity: 1 !important;

  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease !important;
}

/* SWELLの重ね色を解除 */
body .post_content
.site-compact-cta
.swell-block-button__link::before,
body .post_content
.site-compact-cta
.swell-block-button__link::after {
  opacity: 0 !important;

  background: none !important;
  background-image: none !important;
}


/* ========================================
   ホバー
======================================== */

@media (hover: hover) {
  body .post_content
  .site-compact-cta
  .site-compact-cta__button
  .swell-block-button__link:hover,
  body .post_content
  .site-compact-cta
  .site-compact-cta__actions
  a.swell-block-button__link:hover {
    color: #173f38 !important;

    background: #eef5f2 !important;
    background-color: #eef5f2 !important;
    background-image: none !important;

    border-color: rgba(255, 255, 255, 0.65) !important;

    box-shadow: 0 7px 18px rgba(7, 40, 32, 0.18) !important;
    opacity: 1 !important;
    transform: translateY(-2px);
  }
}


/* ========================================
   キーボード操作
======================================== */

body .post_content
.site-compact-cta
.swell-block-button__link:focus-visible {
  color: #173f38 !important;
  background: #eef5f2 !important;

  outline: 3px solid rgba(255, 255, 255, 0.7);
  outline-offset: 3px;
}


/* ========================================
   スマートフォン
======================================== */

@media (max-width: 767px) {
  body .post_content
  .site-compact-cta {
    padding: 32px 20px 36px !important;

    border-radius: 8px !important;
  }

  body .post_content
  .site-compact-cta
  .site-compact-cta__title {
    margin-bottom: 24px !important;

    font-size: 21px !important;
    line-height: 1.5;
  }

  .site-compact-cta__actions
  > .swell-block-columns__inner,
  .site-compact-cta__actions.wp-block-columns {
    gap: 12px !important;
  }

  .site-compact-cta__actions
  .swell-block-button,
  .site-compact-cta__button {
    width: 100% !important;
  }

  body .post_content
  .site-compact-cta
  .swell-block-button__link {
    min-height: 56px;

    font-size: 15px !important;
  }
}

/* ==================================================
   調査レポート・アーカイブ
   https://aa-tsc.com/research/
================================================== */

/* ページ下部の余白 */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic) #main_content {
	padding-bottom: 96px;
}

/* ページタイトル */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic) .c-pageTitle {
	margin-bottom: 56px;
	padding-bottom: 24px;
	border-bottom: 1px solid #c9ddda;
	color: #103f39;
	font-size: 42px;
	line-height: 1.4;
	letter-spacing: 0.03em;
}

/* 英字ラベル */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic) .c-pageTitle::before {
	content: "DATA REPORTS";
	display: block;
	margin-bottom: 12px;
	color: #b82035;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.18em;
}

/* 「– archive –」を非表示 */
##body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.c-pageTitle__subTitle {
	display: none;
}

/* タイトル下のSWELL標準余白をリセット */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.p-archiveContent {
	margin-top: 0 !important;
}

/* 記事一覧：PCは2列 */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.p-postList {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}

/* SWELL標準の3列幅を解除 */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.p-postList__item {
	width: auto !important;
	margin: 0 !important;
}

/* カード */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.p-postList__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: #fff;
	border: 1px solid #d5e2df;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(16, 63, 57, 0.05);
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

/* カードのホバー */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.p-postList__link:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 30px rgba(16, 63, 57, 0.1);
}

/* サムネイル */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.p-postList__thumb {
	overflow: hidden;
	margin: 0;
	aspect-ratio: 16 / 9;
}

/* 画像 */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.c-postThumb__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.p-postList__link:hover
.c-postThumb__img {
	transform: scale(1.025);
}

/* カード本文 */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.p-postList__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px 26px 22px;
}

/* 記事タイトル */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.p-postList__title {
	margin: 0;
	color: #103f39;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: 0.02em;
}

/* 抜粋文を非表示 */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.p-postList__excerpt {
	display: none;
}

/* 日付をカード下部へ */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.p-postList__meta {
	margin-top: auto;
	padding-top: 20px;
	color: #6c7d79;
	font-size: 13px;
}

/* カテゴリが出力された場合の装飾 */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.p-postList__cat,
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.c-postThumb__cat {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin-bottom: 12px;
	padding: 5px 12px;
	background: #f8e7e9;
	border-radius: 999px;
	color: #b82035;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
}

/* ページネーション */
#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
.c-pagination {
	margin-top: 56px;
}

/* スマホ */
@media (max-width: 767px) {

	#body_wrap:is(.post-type-archive-research_report, .tax-research_topic) #main_content {
		padding-bottom: 64px;
	}

	#body_wrap:is(.post-type-archive-research_report, .tax-research_topic) .c-pageTitle {
		margin-bottom: 36px;
		padding-bottom: 18px;
		font-size: 30px;
	}

	#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
	.p-postList {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
	.p-postList__body {
		padding: 20px 20px 18px;
	}

	#body_wrap:is(.post-type-archive-research_report, .tax-research_topic)
	.p-postList__title {
		font-size: 18px;
	}
}

/* ==================================================
   お知らせアーカイブ
   https://aa-tsc.com/news/
================================================== */

/* ページ下部の余白 */
#body_wrap.post-type-archive-news #main_content {
	padding-bottom: 96px;
}

/* ページタイトル */
#body_wrap.post-type-archive-news .c-pageTitle {
	margin-bottom: 56px;
	padding-bottom: 24px;
	border-bottom: 1px solid #c9ddda;
	color: #103f39;
	font-size: 42px;
	line-height: 1.4;
	letter-spacing: 0.03em;
}

/* 英字ラベル */
#body_wrap.post-type-archive-news .c-pageTitle::before {
	content: "NEWS";
	display: block;
	margin-bottom: 12px;
	color: #b82035;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.18em;
}

/* 「– archive –」を非表示 */
#body_wrap.post-type-archive-news
.c-pageTitle__subTitle {
	display: none;
}

/* SWELL標準の余白をリセット */
#body_wrap.post-type-archive-news
.p-archiveContent {
	margin-top: 0 !important;
}

/* カード型からテキスト一覧へ変更 */
#body_wrap.post-type-archive-news
.p-postList {
	display: block !important;
}

/* SWELL標準の3列幅を解除 */
#body_wrap.post-type-archive-news
.p-postList__item {
	width: 100% !important;
	margin: 0 !important;
}

/* 一覧ではアイキャッチを非表示 */
#body_wrap.post-type-archive-news
.p-postList__thumb {
	display: none;
}

/* 一覧リンク */
#body_wrap.post-type-archive-news
.p-postList__link {
	display: block;
	border-top: 1px solid #d5e2df;
	color: inherit;
	transition:
		background-color 0.25s ease,
		padding 0.25s ease;
}

#body_wrap.post-type-archive-news
.p-postList__item:last-child
.p-postList__link {
	border-bottom: 1px solid #d5e2df;
}

/* ホバー */
#body_wrap.post-type-archive-news
.p-postList__link:hover {
	padding-right: 12px;
	padding-left: 12px;
	background: #f5f8f7;
}

/* 日付・タイトル・矢印の配置 */
#body_wrap.post-type-archive-news
.p-postList__body {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) 32px;
	grid-template-areas: "date title arrow";
	gap: 24px;
	align-items: center;
	padding: 26px 20px;
}

/* 記事タイトル */
#body_wrap.post-type-archive-news
.p-postList__title {
	grid-area: title;
	margin: 0;
	color: #183f3a;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.02em;
}

/* 抜粋文を非表示 */
#body_wrap.post-type-archive-news
.p-postList__excerpt {
	display: none;
}

/* 公開日 */
#body_wrap.post-type-archive-news
.p-postList__meta {
	grid-area: date;
	margin: 0;
	padding: 0;
	color: #6c7d79;
	font-size: 13px;
}

/* 右矢印 */
#body_wrap.post-type-archive-news
.p-postList__body::after {
	content: "→";
	grid-area: arrow;
	color: #b82035;
	font-size: 18px;
	line-height: 1;
	text-align: right;
	transition: transform 0.25s ease;
}

#body_wrap.post-type-archive-news
.p-postList__link:hover
.p-postList__body::after {
	transform: translateX(4px);
}

/* ページネーション */
#body_wrap.post-type-archive-news
.c-pagination {
	margin-top: 56px;
}

/* スマホ */
@media (max-width: 767px) {

	#body_wrap.post-type-archive-news #main_content {
		padding-bottom: 64px;
	}

	#body_wrap.post-type-archive-news .c-pageTitle {
		margin-bottom: 36px;
		padding-bottom: 18px;
		font-size: 30px;
	}

	#body_wrap.post-type-archive-news
	.p-postList__body {
		grid-template-columns: minmax(0, 1fr) 24px;
		grid-template-areas:
			"date arrow"
			"title arrow";
		gap: 7px 16px;
		padding: 20px 4px;
	}

	#body_wrap.post-type-archive-news
	.p-postList__title {
		font-size: 16px;
	}

	#body_wrap.post-type-archive-news
	.p-postList__link:hover {
		padding-right: 8px;
		padding-left: 8px;
	}
}

/* アーカイブタイトル下の重複ラインを削除 */
#body_wrap:is(
	.post-type-archive-research_report,
	.tax-research_topic,
	.post-type-archive-news
) .c-pageTitle {
	padding-bottom: 0;
	border-bottom: none;
}

/* 共通CTAの説明文 */
.common-cta__text {
	margin: 16px auto 24px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 15px;
	line-height: 1.8;
	text-align: center;
}

/*フッター*/
/* フッターロゴを白一色にする */
.footer-logo img {
	width: 240px;
	height: auto;
	filter: brightness(0) invert(1);
}

/* ロゴにリンクがある場合 */
.footer-logo a {
	display: inline-block;
	transition: opacity 0.2s ease;
}

.footer-logo a:hover {
	opacity: 0.75;
}

/* スマホ */
@media (max-width: 599px) {
	.footer-logo img {
		width: 210px;
	}
}

/* ========================================
   フッター全体
======================================== */

#footer {
	color: #fff;
	background: #123f3a !important;
}

#footer .l-footer__widgetArea {
	padding: 64px 0 48px !important;
	background: #123f3a;
}

#footer .c-widget {
	margin: 0;
}

#footer a {
	color: inherit;
}

/* PC3列の比率と間隔 */
@media (min-width: 960px) {
	#footer .w-footer.-col3 {
		display: grid !important;
		grid-template-columns:
			minmax(0, 0.95fr)
			minmax(0, 1.1fr)
			minmax(0, 1fr);
		column-gap: 64px;
		align-items: start;
	}

	#footer .w-footer.-col3 > .w-footer__box {
		width: auto !important;
		min-width: 0;
		padding: 0 !important;
	}
}

@media (min-width: 960px) and (max-width: 1200px) {
	#footer .w-footer.-col3 {
		column-gap: 40px;
	}
}

/* ========================================
   PC1：会社情報
======================================== */

#footer .footer-logo {
	margin-bottom: 32px !important;
}

#footer .footer-logo img {
	width: 240px;
	height: auto;
	filter: brightness(0) invert(1);
}

#footer .footer-brand p {
	margin-top: 0;
	margin-bottom: 24px;
	color: rgba(255, 255, 255, 0.76);
	font-size: 13px !important;
	line-height: 1.75;
}

#footer .footer-brand p:first-of-type {
	color: #fff;
	font-size: 14px !important;
	font-weight: 600;
	line-height: 1.8;
}

/* ========================================
   PC2：ナビゲーションメニュー
   クラス付与不要
======================================== */

#footer .widget_nav_menu .c-widget__title {
	margin: 0 0 28px;
	padding: 0;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
	border: 0;
}

/* SWELL標準のタイトル装飾を解除 */
#footer .widget_nav_menu .c-widget__title::before,
#footer .widget_nav_menu .c-widget__title::after {
	display: none;
}

#footer .widget_nav_menu .menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer .widget_nav_menu .menu-item {
	margin: 0;
	padding: 0;
	border: 0 !important;
}

/* メニューリンク */
#footer .widget_nav_menu .menu-item a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 10px 6px;
	color: rgba(255, 255, 255, 0.88);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		padding-left 0.2s ease;
}

/* SWELL標準の矢印を完全に上書き */
#footer .widget_nav_menu .menu-item a::before {
	content: "" !important;
	position: static !important;
	inset: auto !important;
	display: block !important;
	flex: 0 0 6px;
	width: 6px;
	height: 6px;
	margin: 0 !important;
	font-family: inherit !important;
	border-top: 1px solid #e26472;
	border-right: 1px solid #e26472;
	transform: rotate(45deg) !important;
}

/* ========================================
   PCヘッダー最終調整
======================================== */

@media (min-width: 960px) {

	/* ----------------------------------------
	   未スクロール・固定・下層ページの幅を統一
	---------------------------------------- */

	#header .l-header__inner,
	#fix_header .l-fixHeader__inner {
		width: 100% !important;
		max-width: 1356px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		box-sizing: border-box;
	}

	/* TOP未スクロール時に入る全幅指定を上書き */
	#header.-transparent .l-header__inner {
		width: 100% !important;
		max-width: 1356px !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	/* ----------------------------------------
	   TOP未スクロール時の視認性
	---------------------------------------- */

	#header.-transparent {
		background: rgba(255, 255, 255, 0.78) !important;
		border-bottom: 1px solid rgba(18, 63, 58, 0.08);
		box-shadow: 0 2px 12px rgba(18, 63, 58, 0.05);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
	}

	/* ----------------------------------------
	   下層ページ
	---------------------------------------- */

	#header:not(.-transparent) {
		background: rgba(255, 255, 255, 0.97) !important;
		border-bottom: 1px solid rgba(18, 63, 58, 0.08);
		box-shadow: 0 2px 12px rgba(18, 63, 58, 0.05);
	}

	/* ----------------------------------------
	   スクロール後の固定ヘッダー
	---------------------------------------- */

	#fix_header {
		background: rgba(255, 255, 255, 0.97) !important;
		border-bottom: 1px solid rgba(18, 63, 58, 0.1);
		box-shadow: 0 4px 16px rgba(18, 63, 58, 0.08);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
	}

	/* ----------------------------------------
	   メニューのフォントウェイト
	---------------------------------------- */

	#header .c-gnav > li > a .ttl,
	#fix_header .c-gnav > li > a .ttl {
		color: #1a302d;
		font-weight: 600 !important;
		letter-spacing: 0.02em;
	}

	#header .c-gnav > li > a:hover .ttl,
	#fix_header .c-gnav > li > a:hover .ttl {
		color: #207c72;
	}

	#header .c-gnav .sub-menu a,
	#fix_header .c-gnav .sub-menu a {
		font-weight: 500;
	}
}
/* 最終行の罫線 */
#footer .widget_nav_menu .menu-item:last-child a {
	border-bottom-color: rgba(255, 255, 255, 0.2);
}

/* ホバー */
#footer .widget_nav_menu .menu-item a:hover {
	padding-left: 12px;
	color: #fff;
	background: rgba(255, 255, 255, 0.05);
}

/* ========================================
   PC3：相談窓口
======================================== */

#footer .footer-contact h2 {
	margin: 0 0 40px;
	padding: 0;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.03em;
}

/* セクション見出しの共通装飾を解除 */
#footer .footer-contact h2::before,
#footer .footer-contact h2::after {
	display: none;
}

#footer .footer-contact p {
	margin-top: 0;
	margin-bottom: 20px;
	color: rgba(255, 255, 255, 0.86);
	font-size: 14px;
	line-height: 1.8;
}

#footer .footer-contact a[href^="tel:"] {
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-decoration: none;
}

#footer .footer-contact a[href^="tel:"]:hover {
	opacity: 0.75;
}

/* ボタン幅 */
#footer .footer-contact .swell-block-button {
	--the-width: 100% !important;
	margin-top: 16px;
}

/* ボタン共通 */
#footer .footer-contact .swell-block-button__link {
	min-height: 48px;
	border-radius: 4px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
}

#footer .footer-contact .swell-block-button__link:hover {
	opacity: 0.88;
	transform: translateY(-2px);
}

/* フォームボタン */
#footer .footer-contact .swell-block-button.blue_ .swell-block-button__link {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

/* ========================================
   フッター最下部
======================================== */

#footer .l-footer__foot {
	padding: 20px 0 !important;
	background: #0c332f;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

#footer .l-footer__nav {
	margin-bottom: 12px;
}

#footer .l-footer__nav a {
	color: rgba(255, 255, 255, 0.76);
	font-size: 12px;
	text-decoration: none;
}

#footer .l-footer__nav a:hover {
	color: #fff;
}

#footer .copyright {
	color: rgba(255, 255, 255, 0.68);
	font-size: 11px;
	letter-spacing: 0.02em;
}

/* ========================================
   浮気・不倫調査ページのみ
   人物に重なるヘッダー背景を調整
======================================== */

@media (min-width: 960px) {
	body.id_737 #header,
	body:has(#content[data-postid="737"]) #header {
		background: linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.96) 0%,
			rgba(255, 255, 255, 0.88) 55%,
			rgba(255, 255, 255, 0.58) 100%
		) !important;

		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

/* ========================================
   スマホ：SWELLリッチカラムの横位置補正
======================================== */

@media (max-width: 599px) {

	body .post_content .sp-align-reset {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	body .post_content
	.sp-align-reset
	> .swell-block-columns__inner {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	body .post_content
	.sp-align-reset
	> .swell-block-columns__inner
	> .swell-block-column {
		box-sizing: border-box;

		/* SWELLが1.5rem差し引いた幅を戻す */
		width: var(--clmn-w, 100%) !important;
		max-width: 100% !important;
		min-width: 0 !important;

		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}

/* ========================================
   スマホ固定CTA：アイコン文字化け修正
======================================== */

#fix_bottom_menu .icon-line,
#fix_bottom_menu .icon-phone,
#fix_bottom_menu .icon-line::before,
#fix_bottom_menu .icon-phone::before {
	font-family: "icomoon" !important;
	font-style: normal !important;
	font-weight: normal !important;
	line-height: 1;
}

#fix_bottom_menu .icon-line::before {
	content: "\e907" !important;
}

#fix_bottom_menu .icon-phone::before {
	content: "\e942" !important;
}

/* ========================================
   カテゴリー・事例ターム：カード間隔
======================================== */

.category .p-postList.-type-card,
.tax-case_type .p-postList.-type-card {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 24px !important;

	width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/* 各カードの幅をGridに合わせる */
.category .p-postList.-type-card .p-postList__item,
.tax-case_type .p-postList.-type-card .p-postList__item {
	width: 100% !important;
	max-width: none !important;
	height: 100%;
}

/* タブレット */
@media (max-width: 959px) and (min-width: 600px) {
	.category .p-postList.-type-card,
	.tax-case_type .p-postList.-type-card {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* スマートフォン */
@media (max-width: 599px) {
	.category .p-postList.-type-card,
	.tax-case_type .p-postList.-type-card {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}
}

/* 記事監修者ボックス */
.article-supervisor {
　margin: 48px 0 40px;
  padding: 32px 36px;
  background: #f4f8f6;
  border: 1px solid #dce8e3;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(23, 63, 56, 0.06);
}

/* SWELLの内部ラッパーをリセット */
.article-supervisor > .wp-block-group__inner-container {
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  font-weight: 400;
}

/* 監修者タイトル */
.article-supervisor > p:first-child,
.article-supervisor > .wp-block-group__inner-container > p:first-child {
  margin: 0 0 14px;
  color: #176451;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

/* 説明文 */
.article-supervisor > p:not(:first-child),
.article-supervisor > .wp-block-group__inner-container > p:not(:first-child) {
  margin: 0;
  color: #344743;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
}

@media (max-width: 767px) {
  .article-supervisor {
    margin-block: 32px;
    padding: 24px 20px;
    border-radius: 10px;
  }

  .article-supervisor > p:first-child,
  .article-supervisor > .wp-block-group__inner-container > p:first-child {
    font-size: 15px;
  }

  .article-supervisor > p:not(:first-child),
  .article-supervisor > .wp-block-group__inner-container > p:not(:first-child) {
    font-size: 15px;
    line-height: 1.8;
  }
}
</style>

<link rel="stylesheet" href="https://aa-tsc.com/wp-content/themes/swell/build/css/print.css" media="print" >
</head>
<body>
<div id="body_wrap" class="error404 wp-theme-swell wp-child-theme-swell_child -body-solid -index-off -sidebar-off -frame-off" >
<div id="sp_menu" class="p-spMenu -left">
	<div class="p-spMenu__inner">
		<div class="p-spMenu__closeBtn">
			<button class="c-iconBtn -menuBtn c-plainBtn" data-onclick="toggleMenu" aria-label="メニューを閉じる">
				<i class="c-iconBtn__icon icon-close-thin"></i>
			</button>
		</div>
		<div class="p-spMenu__body">
			<div class="c-widget__title -spmenu">
				MENU			</div>
			<div class="p-spMenu__nav">
				<ul class="c-spnav c-listMenu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3092"><a href="https://aa-tsc.com/service/">調査サービス</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3093"><a href="https://aa-tsc.com/service/infidelity-investigation/">浮気・不倫調査</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3094"><a href="https://aa-tsc.com/pricing/">料金</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3100"><a href="https://aa-tsc.com/testimonials/">相談者様の声</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3095"><a href="https://aa-tsc.com/case-studies/">解決事例</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3098"><a href="https://aa-tsc.com/column/">コラム</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3097"><a href="https://aa-tsc.com/news/">お知らせ</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3099"><a href="https://aa-tsc.com/faq/">よくある質問</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3101"><a href="https://aa-tsc.com/company/">会社概要</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-3102"><a rel="privacy-policy" href="https://aa-tsc.com/privacy-policy/">プライバシーポリシー</a></li>
</ul>			</div>
			<div id="sp_menu_bottom" class="p-spMenu__bottom w-spMenuBottom"><div id="custom_html-5" class="widget_text c-widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="p-blogParts post_content" data-partsID="1550">
<div class="wp-block-columns sp_fixed_cta">
<div class="wp-block-column sp_fixed_cta_line">
<div class="swell-block-button green_ is-style-btn_normal"><a href="https://line.me/R/ti/p/%40598dwmqz" target="_blank" rel="noopener noreferrer" class="swell-block-button__link" data-has-icon="1"><svg class="__icon" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 48 48"><path d="M20.2 39.2c2.7.6 2.4 1.6 1.8 5.2-.1.6-.4 2.3 2 1.3 2.5-1 13.3-7.8 18.1-13.4 3.3-3.7 4.9-7.4 4.9-11.5C47 10.4 36.6 2 24 2S1 10.4 1 20.8C1 30 9.2 37.7 20.2 39.2zm12.3-23c0-.2.2-.4.4-.4h6.5c.2 0 .4.2.4.4v1.6c0 .2-.2.4-.4.4H35v1.7h4.4c.2 0 .4.2.4.4V22c0 .2-.2.4-.4.4H35V24h4.4c.2 0 .4.2.4.4V26c0 .2-.2.4-.4.4h-6.5c-.2 0-.4-.2-.4-.4v-9.8zm-11.1.1c0-.2.2-.4.4-.4h1.6c.1 0 .3.1.4.2l4.6 6.2v-6c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v10c0 .2-.2.4-.4.4h-1.6c-.1 0-.3-.1-.4-.2l-4.6-6.2v6c0 .2-.2.4-.4.4h-1.6c-.2 0-.4-.2-.4-.4v-10zm-4.2-.1c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v10c0 .2-.2.4-.4.4h-1.5c-.2 0-.4-.2-.4-.4v-10h-.1zm-8.7 0c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v7.9h4.4c.2 0 .4.2.4.4v1.6c0 .2-.2.4-.4.4H8.9c-.1 0-.2-.1-.3-.1-.1-.1-.1-.2-.1-.3v-9.9z"></path></svg><span>LINEで無料相談</span></a></div>
</div>



<div class="wp-block-column sp_fixed_cta_tel">
<div class="swell-block-button red_ is-style-btn_normal"><a href="tel:052-745-3030" class="swell-block-button__link" data-has-icon="1"><svg class="__icon" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 48 48"><path d="M13.3 21.6c3.1 5.3 7.5 9.9 13 13 .9.6 2 .5 2.8-.3l2.9-2.9c.7-.7 1.5-.7 2.4-.6l8.2 1.3c1.2.2 2.3 1 2.3 2.3v8.1c0 1.3-1 2.3-2.3 2.3C20.8 44.9 3 27.2 3 5.5c0-1.3 1-2.3 2.3-2.3h8.1c1.3 0 2.2 1.1 2.3 2.3l1.3 8.2c.2.9.1 1.7-.6 2.4L13.5 18c-.6.6-.8 2.8-.2 3.6z"></path></svg><span>電話で相談する</span></a></div>
</div>
</div>
</div></div></div></div>		</div>
	</div>
	<div class="p-spMenu__overlay c-overlay" data-onclick="toggleMenu"></div>
</div>
<header id="header" class="l-header -series -series-right -transparent -t-000" data-spfix="0">
		<div class="l-header__inner l-container">
		<div class="l-header__logo">
			<div class="c-headLogo -img"><a href="https://aa-tsc.com/" title="名古屋市の浮気調査・不倫調査専門｜さくら探偵社" class="c-headLogo__link" rel="home"><img width="668" height="145"  src="https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo.png" alt="名古屋市の浮気調査・不倫調査専門｜さくら探偵社" class="c-headLogo__img -top" srcset="https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo.png 668w, https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo-300x65.png 300w" sizes="(max-width: 959px) 50vw, 800px" decoding="async" loading="eager" ><img aria-hidden="true" width="668" height="145"  src="https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo.png" alt="" class="c-headLogo__img -common" srcset="https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo.png 668w, https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo-300x65.png 300w" sizes="(max-width: 959px) 50vw, 800px" loading="lazy" ></a></div>					</div>
		<nav id="gnav" class="l-header__gnav c-gnavWrap">
					<ul class="c-gnav">
			<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1889"><a href="https://aa-tsc.com/service/"><span class="ttl">調査サービス</span></a>
<ul class="sub-menu">
	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1890"><a href="https://aa-tsc.com/service/infidelity-investigation/"><span class="ttl">浮気・不倫調査</span></a></li>
</ul>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1888"><a href="https://aa-tsc.com/pricing/"><span class="ttl">料金</span></a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1885"><a href="https://aa-tsc.com/case-studies/"><span class="ttl">解決事例</span></a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1886"><a href="https://aa-tsc.com/column/"><span class="ttl">コラム</span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1891"><a href="https://aa-tsc.com/news/"><span class="ttl">お知らせ</span></a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3019"><a href="https://aa-tsc.com/institute/"><span class="ttl">データ研究所</span></a></li>
					</ul>
			</nav>
		<div class="w-header pc_"><div class="w-header__inner"><div id="custom_html-2" class="widget_text w-header__item widget_custom_html"><div class="textwidget custom-html-widget"><div class="p-blogParts post_content" data-partsID="693">
<div class="swell-block-button green_ is-style-btn_normal header-line-button"><a href="https://line.me/R/ti/p/%40598dwmqz" target="_blank" rel="noopener noreferrer" class="swell-block-button__link" data-has-icon="1"><svg class="__icon" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 48 48"><path d="M20.2 39.2c2.7.6 2.4 1.6 1.8 5.2-.1.6-.4 2.3 2 1.3 2.5-1 13.3-7.8 18.1-13.4 3.3-3.7 4.9-7.4 4.9-11.5C47 10.4 36.6 2 24 2S1 10.4 1 20.8C1 30 9.2 37.7 20.2 39.2zm12.3-23c0-.2.2-.4.4-.4h6.5c.2 0 .4.2.4.4v1.6c0 .2-.2.4-.4.4H35v1.7h4.4c.2 0 .4.2.4.4V22c0 .2-.2.4-.4.4H35V24h4.4c.2 0 .4.2.4.4V26c0 .2-.2.4-.4.4h-6.5c-.2 0-.4-.2-.4-.4v-9.8zm-11.1.1c0-.2.2-.4.4-.4h1.6c.1 0 .3.1.4.2l4.6 6.2v-6c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v10c0 .2-.2.4-.4.4h-1.6c-.1 0-.3-.1-.4-.2l-4.6-6.2v6c0 .2-.2.4-.4.4h-1.6c-.2 0-.4-.2-.4-.4v-10zm-4.2-.1c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v10c0 .2-.2.4-.4.4h-1.5c-.2 0-.4-.2-.4-.4v-10h-.1zm-8.7 0c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v7.9h4.4c.2 0 .4.2.4.4v1.6c0 .2-.2.4-.4.4H8.9c-.1 0-.2-.1-.3-.1-.1-.1-.1-.2-.1-.3v-9.9z"></path></svg><span>LINEで無料相談</span></a></div>
</div></div></div></div></div><div class="l-header__customBtn sp_">
	</div>
<div class="l-header__menuBtn sp_">
	<button class="c-iconBtn -menuBtn c-plainBtn" data-onclick="toggleMenu" aria-label="メニューボタン">
		<i class="c-iconBtn__icon icon-menu-thin"></i>
			</button>
</div>
	</div>
	</header>
<div id="fix_header" class="l-fixHeader -series -series-right -transparent -t-000">
	<div class="l-fixHeader__inner l-container">
		<div class="l-fixHeader__logo">
			<div class="c-headLogo -img"><a href="https://aa-tsc.com/" title="名古屋市の浮気調査・不倫調査専門｜さくら探偵社" class="c-headLogo__link" rel="home"><img width="668" height="145"  src="https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo.png" alt="名古屋市の浮気調査・不倫調査専門｜さくら探偵社" class="c-headLogo__img -top" srcset="https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo.png 668w, https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo-300x65.png 300w" sizes="(max-width: 959px) 50vw, 800px" decoding="async" loading="eager" ><img aria-hidden="true" width="668" height="145"  src="https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo.png" alt="" class="c-headLogo__img -common" srcset="https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo.png 668w, https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo-300x65.png 300w" sizes="(max-width: 959px) 50vw, 800px" loading="lazy" ></a></div>		</div>
		<div class="l-fixHeader__gnav c-gnavWrap">
					<ul class="c-gnav">
			<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1889"><a href="https://aa-tsc.com/service/"><span class="ttl">調査サービス</span></a>
<ul class="sub-menu">
	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1890"><a href="https://aa-tsc.com/service/infidelity-investigation/"><span class="ttl">浮気・不倫調査</span></a></li>
</ul>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1888"><a href="https://aa-tsc.com/pricing/"><span class="ttl">料金</span></a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1885"><a href="https://aa-tsc.com/case-studies/"><span class="ttl">解決事例</span></a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1886"><a href="https://aa-tsc.com/column/"><span class="ttl">コラム</span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1891"><a href="https://aa-tsc.com/news/"><span class="ttl">お知らせ</span></a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3019"><a href="https://aa-tsc.com/institute/"><span class="ttl">データ研究所</span></a></li>
					</ul>
			</div>
	</div>
</div>
<div id="content" class="l-content l-container" >
<main id="main_content" class="l-mainContent l-article">
	<div class="l-mainContent__inner">
		<h1 class="c-ttl404">ページが見つかりませんでした。</h1>
		<div class="post_content">
			<p class="u-ta-c">
				お探しのページは移動または削除された可能性があります。			</p>
			<p class="u-ta-c">
				以下より キーワード を入力して検索してみてください。			</p>
			<form role="search" method="get" class="c-searchForm" action="https://aa-tsc.com/" role="search">
	<input type="text" value="" name="s" class="c-searchForm__s s" placeholder="検索" aria-label="検索ワード">
	<button type="submit" class="c-searchForm__submit icon-search hov-opacity u-bg-main" value="search" aria-label="検索を実行する"></button>
</form>
			<div class="is-style-more_btn">
				<a href="https://aa-tsc.com/">TOPページへ</a>
			</div>
		</div>
	</div>
</main>
</div>
<div id="breadcrumb" class="p-breadcrumb -bg-on"><ol class="p-breadcrumb__list l-container"><li class="p-breadcrumb__item"><a href="https://aa-tsc.com/" class="p-breadcrumb__text"><span class="__home icon-home"> ホーム</span></a></li><li class="p-breadcrumb__item"><span class="p-breadcrumb__text">お探しの記事は見つかりませんでした。</span></li></ol></div><footer id="footer" class="l-footer">
	<div class="l-footer__inner">
	<div class="l-footer__widgetArea">
	<div class="l-container w-footer -col3">
		<div class="w-footer__box"><div id="custom_html-7" class="widget_text c-widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="p-blogParts post_content" data-partsID="3002">
<div class="wp-block-group footer-brand"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"><div class="wp-block-image u-mb-ctrl u-mb-5 footer-logo">
<figure class="alignleft size-full is-resized"><img decoding="async" width="668" height="145" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo.png" alt="" class="wp-image-254 lazyload" style="width:250px" data-srcset="https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo.png 668w, https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo-300x65.png 300w" sizes="(max-width: 668px) 100vw, 668px" ><noscript><img decoding="async" width="668" height="145" src="https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo.png" alt="" class="wp-image-254" style="width:250px" srcset="https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo.png 668w, https://aa-tsc.com/wp-content/uploads/2026/07/sakura-logo-300x65.png 300w" sizes="(max-width: 668px) 100vw, 668px" ></noscript></figure>
</div>


<p class="wp-block-paragraph" style="font-size:0.9em">名古屋市・愛知県全域に対応する、<br class="pc_">浮気・不倫調査を中心とした<br class="pc_">地域密着型の探偵事務所です。</p>



<p class="u-mb-ctrl u-mb-10 wp-block-paragraph" style="font-size:0.8em">〒466-0015<br>愛知県名古屋市昭和区御器所通3-15-2<br>ごきそビル3C</p>



<p class="wp-block-paragraph" style="font-size:0.8em">愛知県公安委員会<br>探偵業届出第54140080号</p>
</div></div>
</div></div></div></div><div class="w-footer__box"><div id="nav_menu-2" class="c-widget c-listMenu widget_nav_menu"><div class="c-widget__title -footer">MENU</div><div class="menu-%e3%83%95%e3%83%83%e3%82%bf%e3%83%bc%e3%83%a1%e3%83%8b%e3%83%a5%e3%83%bc-container"><ul id="menu-%e3%83%95%e3%83%83%e3%82%bf%e3%83%bc%e3%83%a1%e3%83%8b%e3%83%a5%e3%83%bc" class="menu"><li id="menu-item-3006" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3006"><a href="https://aa-tsc.com/service/">調査サービス</a></li>
<li id="menu-item-3007" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3007"><a href="https://aa-tsc.com/service/infidelity-investigation/">浮気・不倫調査</a></li>
<li id="menu-item-3008" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3008"><a href="https://aa-tsc.com/pricing/">料金</a></li>
<li id="menu-item-3104" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3104"><a href="https://aa-tsc.com/testimonials/">相談者様の声</a></li>
<li id="menu-item-3009" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3009"><a href="https://aa-tsc.com/case-studies/">解決事例</a></li>
<li id="menu-item-3010" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3010"><a href="https://aa-tsc.com/faq/">よくある質問</a></li>
<li id="menu-item-3011" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3011"><a href="https://aa-tsc.com/institute/">浮気調査データ研究所</a></li>
<li id="menu-item-3103" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3103"><a href="https://aa-tsc.com/column/">コラム</a></li>
<li id="menu-item-3013" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3013"><a href="https://aa-tsc.com/news/">お知らせ</a></li>
</ul></div></div></div><div class="w-footer__box"><div id="custom_html-8" class="widget_text c-widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="p-blogParts post_content" data-partsID="3005">
<div class="wp-block-group footer-contact"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-text-align-left is-style-section_ttl has-small-font-size">FREE CONSULTATION</h2>



<p class="wp-block-paragraph">ご相談内容がまとまっていなくても大丈夫です。<br>ご不安なことからお聞かせください。</p>



<p class="wp-block-paragraph"><span data-icon="LsPhone" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMTMuMyAyMS42YzMuMSA1LjMgNy41IDkuOSAxMyAxMyAuOS42IDIgLjUgMi44LS4zbDIuOS0yLjljLjctLjcgMS41LS43IDIuNC0uNmw4LjIgMS4zYzEuMi4yIDIuMyAxIDIuMyAyLjN2OC4xYzAgMS4zLTEgMi4zLTIuMyAyLjNDMjAuOCA0NC45IDMgMjcuMiAzIDUuNWMwLTEuMyAxLTIuMyAyLjMtMi4zaDguMWMxLjMgMCAyLjIgMS4xIDIuMyAyLjNsMS4zIDguMmMuMi45LjEgMS43LS42IDIuNEwxMy41IDE4Yy0uNi42LS44IDIuOC0uMiAzLjZ6Ij48L3BhdGg+PC9zdmc+)" aria-hidden="true" class="swl-inline-icon"><span class="swl-fz u-fz-xl"> </span></span><span class="swl-fz u-fz-l"><a href="tel:0527453030">052-745-3030</a></span></p>



<div class="swell-block-button green_ -size-s is-style-btn_normal " style="--the-width:90%"><a href="https://line.me/R/ti/p/%40598dwmqz" target="_blank" rel="noopener noreferrer" class="swell-block-button__link" data-has-icon="1"><svg class="__icon" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 48 48"><path d="M20.2 39.2c2.7.6 2.4 1.6 1.8 5.2-.1.6-.4 2.3 2 1.3 2.5-1 13.3-7.8 18.1-13.4 3.3-3.7 4.9-7.4 4.9-11.5C47 10.4 36.6 2 24 2S1 10.4 1 20.8C1 30 9.2 37.7 20.2 39.2zm12.3-23c0-.2.2-.4.4-.4h6.5c.2 0 .4.2.4.4v1.6c0 .2-.2.4-.4.4H35v1.7h4.4c.2 0 .4.2.4.4V22c0 .2-.2.4-.4.4H35V24h4.4c.2 0 .4.2.4.4V26c0 .2-.2.4-.4.4h-6.5c-.2 0-.4-.2-.4-.4v-9.8zm-11.1.1c0-.2.2-.4.4-.4h1.6c.1 0 .3.1.4.2l4.6 6.2v-6c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v10c0 .2-.2.4-.4.4h-1.6c-.1 0-.3-.1-.4-.2l-4.6-6.2v6c0 .2-.2.4-.4.4h-1.6c-.2 0-.4-.2-.4-.4v-10zm-4.2-.1c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v10c0 .2-.2.4-.4.4h-1.5c-.2 0-.4-.2-.4-.4v-10h-.1zm-8.7 0c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v7.9h4.4c.2 0 .4.2.4.4v1.6c0 .2-.2.4-.4.4H8.9c-.1 0-.2-.1-.3-.1-.1-.1-.1-.2-.1-.3v-9.9z"></path></svg><span>LINEで無料相談</span></a></div>



<div class="swell-block-button blue_ -size-s is-style-btn_normal" style="--the-width:90%"><a href="https://aa-tsc.com/consultation/" target="_blank" rel="noopener noreferrer" class="swell-block-button__link" data-has-icon="1"><svg class="__icon" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 48 48"><path d="M25.2 24.7 46 9.5V9c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v.5l20.8 15.1c.7.6 1.7.6 2.4.1z"></path><path d="M22.8 29.6 2 14.5V38c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V14.5L25.2 29.6c-.7.5-1.7.5-2.4 0z"></path></svg><span>お問い合わせフォーム</span></a></div>
</div></div>
</div></div></div></div>	</div>
</div>
		<div class="l-footer__foot">
			<div class="l-container">
			<ul class="l-footer__nav"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3015"><a href="https://aa-tsc.com/company/">会社概要</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3016"><a target="_blank" href="https://aa-tsc.com/wp-content/uploads/2026/08/e5cb5a34ffb5e3222e9580370c22931f.pdf">探偵業標識</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-3014"><a rel="privacy-policy" href="https://aa-tsc.com/privacy-policy/">プライバシーポリシー</a></li>
</ul>			<p class="copyright">
				<span lang="en">&copy;</span>
				名古屋市の浮気調査・不倫調査専門｜さくら探偵社			</p>
					</div>
	</div>
</div>
</footer>
<div id="fix_bottom_menu">
	<ul class="menu_list">
				<li class="sp-fixed-line menu-item menu-item-type-custom menu-item-object-custom menu-item-1558"><a href="https://line.me/R/ti/p/%40598dwmqz" target="_blank" rel="noopener noreferrer"><i class="icon-line"></i><span>LINEで無料相談</span></a></li>
<li class="sp-fixed-tel menu-item menu-item-type-custom menu-item-object-custom menu-item-1559"><a href="tel:0527453030"><i class="icon-phone"></i><span>電話で無料相談</span></a></li>
							</ul>
</div>
<div class="p-fixBtnWrap">
	
	</div>

<div id="search_modal" class="c-modal p-searchModal">
	<div class="c-overlay" data-onclick="toggleSearch"></div>
	<div class="p-searchModal__inner">
		<form role="search" method="get" class="c-searchForm" action="https://aa-tsc.com/" role="search">
	<input type="text" value="" name="s" class="c-searchForm__s s" placeholder="検索" aria-label="検索ワード">
	<button type="submit" class="c-searchForm__submit icon-search hov-opacity u-bg-main" value="search" aria-label="検索を実行する"></button>
</form>
		<button class="c-modal__close c-plainBtn" data-onclick="toggleSearch">
			<i class="icon-batsu"></i> 閉じる		</button>
	</div>
</div>
</div><!--/ #all_wrapp-->
</body></html>
