/* ============================================
   南加賀エリア 不動産売却 比較ナビ - main.css
   Figma完全再現版 v3
============================================ */
:root {
  --color-main:      #3A6B6B;
  --color-main-dark: #2d5555;
  --color-accent:    #B88B3E;
  --color-point1:    #9FCFC5;
  --color-point2:    #E3B08C;
  --color-point3:    #E7B27A;
  --color-text:      #333333;
  --color-text-mid:  #555555;
  --color-text-lt:   #888888;
  --color-bg:        #FAFAF8;
  --color-warm:      #F5F0E8;
  --color-white:     #FFFFFF;
  --color-dark:      #2C3A3A;
  --color-border:    #E0E0D8;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.14);
  --r-sm: 4px; --r-md: 8px; --r-lg: 16px;
  --font: 'Noto Sans JP', sans-serif;
  --wrap: 1100px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:var(--font);color:var(--color-text);background:var(--color-bg);line-height:1.8;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--color-main);text-decoration:none;transition:opacity .2s;}
a:hover{opacity:.8;}
ul,ol{list-style:none;}
.container{max-width:var(--wrap);margin:0 auto;padding:0 40px;}

/* ヘッダー */
.site-header{background:var(--color-white);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm);}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding:12px 40px;max-width:var(--wrap);margin:0 auto;}
.site-logo{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:700;color:var(--color-main);line-height:1.4;}
.site-logo__icon{width:34px;height:34px;background:var(--color-main);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;}
.site-logo__text small{display:block;font-size:.68rem;font-weight:400;color:var(--color-text-mid);}
/* ナビ（修正：文字大きく・仕切り線） */
.site-nav ul{display:flex;align-items:stretch;}
.site-nav li{border-right:1px solid var(--color-border);}
.site-nav li:first-child{border-left:1px solid var(--color-border);}
.site-nav li a{display:flex;align-items:center;padding:8px 20px;font-size:.92rem;font-weight:500;color:var(--color-text);transition:color .2s,background .2s;}
.site-nav li a:hover{color:var(--color-main);background:var(--color-bg);opacity:1;}


/* ========================================
   目次ナビ
======================================== */
.toc-nav{background:var(--color-white);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:20px 0;}
.toc-nav__inner{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.toc-nav__heading-wrap{display:flex;align-items:center;gap:8px;}
.toc-nav__icon{font-size:1.1rem;color:var(--color-text-mid);}
.toc-nav__heading{font-size:.92rem;font-weight:700;color:var(--color-text);}
.toc-nav__right{font-size:.72rem;color:var(--color-text-lt);letter-spacing:.1em;}
.toc-nav__list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 32px;}
.toc-nav__list li a{font-size:.85rem;color:var(--color-text-mid);display:flex;align-items:baseline;gap:8px;padding:5px 0;border-bottom:1px dotted var(--color-border);transition:color .2s;}
.toc-nav__list li a:hover{color:var(--color-main);opacity:1;}
.toc-num{font-size:.72rem;font-weight:700;color:var(--color-accent);min-width:18px;}

/* ========================================
   お悩みセクション（キャラ・吹き出し）
======================================== */
.worries-section{background:var(--color-warm);padding:64px 0;text-align:center;}
.section-label-sm{font-size:.78rem;color:var(--color-text-lt);letter-spacing:.15em;margin-bottom:12px;}
.worries-title{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:700;color:var(--color-text);margin-bottom:48px;line-height:1.6;}
.worries-title__em{background:linear-gradient(transparent 60%,rgba(183,139,62,.3) 60%);padding:0 4px;}
.worries-layout{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;max-width:900px;margin:0 auto;}
.worries-balloons{display:flex;flex-direction:column;gap:16px;}
.worry-balloon{background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;padding:16px 20px;font-size:.9rem;line-height:1.6;color:var(--color-text);position:relative;text-align:left;}
.worry-balloon--left{border-bottom-right-radius:2px;}
.worry-balloon--right{border-bottom-left-radius:2px;}
.worry-balloon strong{color:var(--color-accent);font-weight:700;}
.worries-chars__img{max-width:220px;width:100%;margin:0 auto;}

/* ========================================
   セクション共通
======================================== */
.section{padding:80px 0;}
.section--white{background:var(--color-white);}
.section--warm{background:var(--color-warm);}
.section--dark{background:var(--color-dark);}
.section-label{font-size:.75rem;font-weight:500;color:var(--color-accent);letter-spacing:.12em;margin-bottom:8px;}
.section-label--light{color:var(--color-point1);}
.section-title{font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:700;color:var(--color-text);margin-bottom:16px;line-height:1.5;}
.section-title--light{color:var(--color-white);}
.section-lead{font-size:.92rem;color:var(--color-text-mid);margin-bottom:40px;line-height:1.8;}
.section-lead--light{color:rgba(255,255,255,.8);}
.title-bar{width:36px;height:3px;background:var(--color-accent);margin-bottom:32px;}
.title-bar--accent{background:var(--color-point2);}
.btn-wrap{text-align:center;margin-top:48px;}
.no-content{text-align:center;color:var(--color-text-lt);padding:48px;}

/* ボタン共通 */
.btn-main{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;border-radius:var(--r-md);font-size:1rem;font-weight:700;cursor:pointer;background:var(--color-main);color:#fff;border:2px solid var(--color-main);transition:all .2s;text-decoration:none;}
.btn-main:hover{background:var(--color-main-dark);border-color:var(--color-main-dark);opacity:1;}
.btn-lg{padding:16px 40px;font-size:1.05rem;}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;border-radius:var(--r-md);font-size:1rem;font-weight:700;background:transparent;color:var(--color-main);border:2px solid var(--color-main);transition:all .2s;text-decoration:none;}

/* ========================================
   ポイントカード
======================================== */
.points-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.point-card{background:var(--color-white);border-radius:var(--r-lg);padding:28px 20px;box-shadow:var(--shadow-md);transition:transform .2s,box-shadow .2s;}
.point-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.point-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;}
.point-card__icon{font-size:1.8rem;}
.point-card__num{font-size:.7rem;font-weight:700;color:var(--color-text-lt);letter-spacing:.1em;}
.point-card__title{font-size:.95rem;font-weight:700;color:var(--color-text);margin-bottom:8px;}
.point-card__text{font-size:.82rem;color:var(--color-text-mid);line-height:1.7;}

/* ========================================
   比較表（Figma縦型）
======================================== */
.comp-table-wrap{background:var(--color-white);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--color-border);}
.comp-table{width:100%;border-collapse:collapse;}
.comp-table th,.comp-table td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:16px 20px;}
.comp-table thead th{background:var(--color-main);color:#fff;font-weight:700;text-align:center;padding:20px;}
.comp-table thead th:first-child{background:transparent;width:160px;}
.comp-table__label-col{width:160px;}
.comp-table__company-col{width:auto;}
/* 修正：会社名下コピーを大きく・太く */
.comp-company-name{font-size:1rem;font-weight:700;color:#fff;margin-bottom:4px;}
.comp-company-copy{font-size:1.05rem;font-weight:700;color:rgba(255,255,255,.9);}
.comp-table__item-label{font-weight:700;font-size:.85rem;color:var(--color-text);background:var(--color-warm);}
.comp-table__cell{font-size:.88rem;color:#444;}
.comp-table__img-row td{vertical-align:top;}
.comp-tag{display:inline-block;background:var(--color-main);color:#fff;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:100px;margin-bottom:10px;}
.comp-hp-image{margin-bottom:8px;}
.comp-hp-image img{width:100%;border-radius:var(--r-sm);border:none;}
.comp-img-caption{font-size:.8rem;color:var(--color-text-mid);line-height:1.6;margin-bottom:2px;}
.comp-img-source{font-size:.72rem;color:var(--color-text-lt);}
.comp-cell-text{font-size:.88rem;color:#444;line-height:1.75;}
.comp-point-item{font-size:.88rem;color:#444;margin-bottom:6px;}
.comp-point-item strong{color:var(--color-accent);font-weight:700;}
.comp-table__btn-row td{padding:16px 20px;}
.comp-btn-dark{display:block;background:var(--color-main);color:#fff;font-size:.82rem;font-weight:700;padding:10px 16px;border-radius:var(--r-sm);text-align:center;margin-bottom:8px;transition:background .2s;}
.comp-btn-dark:hover{background:var(--color-main-dark);opacity:1;}
.comp-btn-outline{display:block;background:transparent;color:var(--color-text);font-size:.82rem;font-weight:500;padding:10px 16px;border-radius:var(--r-sm);border:1px solid var(--color-border);text-align:center;transition:all .2s;}
.comp-btn-outline:hover{border-color:var(--color-main);color:var(--color-main);opacity:1;}

/* ========================================
   会社カード（Figma完全再現）
======================================== */
.co-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--r-lg);margin-bottom:64px;overflow:hidden;box-shadow:var(--shadow-md);}
.co-card__header{background:var(--color-main);padding:24px 32px;}
.co-card__name{font-size:1.25rem;font-weight:700;color:#fff;}
/* 修正：コピーを大きく・太く */
.co-card__copy{font-size:1.1rem;font-weight:700;color:rgba(255,255,255,.92);margin-top:4px;}
.co-card__body{padding:0;}
.co-card__section{padding:28px 32px;border-bottom:1px solid var(--color-border);}
.co-card__section:last-child{border-bottom:none;}
.co-card__section-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:var(--color-text);margin-bottom:16px;flex-wrap:wrap;}
.co-card__section-icon{font-size:1.1rem;}
.co-card__section-link{margin-left:auto;font-size:.8rem;}
.co-card__section-link a{color:var(--color-main);}
.co-card__section-note{margin-left:auto;font-size:.75rem;color:var(--color-text-lt);}
/* HP画像（修正：枠なし・大きく） */
.co-card__hp-img{position:relative;margin-bottom:20px;}
.co-card__hp-img img{width:100%;border-radius:var(--r-md);border:none;}
.co-card__tel-btn{position:absolute;bottom:12px;left:12px;background:#fff;color:var(--color-text);font-size:.8rem;font-weight:700;padding:6px 14px;border-radius:var(--r-sm);box-shadow:var(--shadow-sm);}
/* 特徴リスト */
.co-card__features{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;}
.co-feature-item{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;background:var(--color-warm);border-radius:var(--r-sm);}
.co-feature-item__icon{font-size:.9rem;flex-shrink:0;margin-top:2px;}
.co-feature-item p{font-size:.9rem;color:#444;line-height:1.7;}
/* 修正：特徴リストのstrong・b */
.co-feature-item p strong,.co-feature-item p b{color:#B88B3E;font-weight:700;}
/* ポイント */
.co-card__points{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.co-point-item{font-size:.9rem;color:#444;padding:8px 12px;background:var(--color-warm);border-radius:var(--r-sm);}
/* 口コミ */
.co-review{background:var(--color-warm);border-radius:var(--r-md);padding:16px 20px;margin-bottom:12px;}
.co-review__stars{color:var(--color-accent);font-size:.85rem;margin-bottom:6px;}
.co-review__text{font-size:.88rem;color:#444;line-height:1.75;margin-bottom:6px;}
.co-review__source{font-size:.75rem;color:var(--color-text-lt);text-align:right;}
/* 会社情報 */
.co-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px;}
.co-info-table{display:flex;flex-direction:column;gap:8px;}
.co-info-row{display:grid;grid-template-columns:80px 1fr;gap:8px;font-size:.88rem;padding:8px 0;border-bottom:1px solid var(--color-border);}
.co-info-label{font-weight:700;color:var(--color-text-mid);}
/* ボタン群 */
.co-card__btns{display:flex;gap:12px;}
.co-btn-dark{display:inline-flex;align-items:center;background:var(--color-main);color:#fff;font-size:.85rem;font-weight:700;padding:11px 20px;border-radius:var(--r-sm);transition:background .2s;flex:1;justify-content:center;}
.co-btn-dark:hover{background:var(--color-main-dark);opacity:1;}
.co-btn-outline{display:inline-flex;align-items:center;gap:4px;background:transparent;color:var(--color-text);font-size:.85rem;font-weight:500;padding:11px 18px;border-radius:var(--r-sm);border:1px solid var(--color-border);transition:all .2s;flex:1;justify-content:center;}
.co-btn-outline:hover{border-color:var(--color-main);color:var(--color-main);opacity:1;}

/* ========================================
   ステップ
======================================== */
.steps-flow{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding-bottom:8px;}
.step-item{flex:1;min-width:160px;text-align:center;padding:20px 12px;position:relative;}
.step-item+.step-item::before{content:'→';position:absolute;left:-10px;top:30px;color:var(--color-point2);font-size:1.1rem;}
.step-item__circle{width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:1.1rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;}
.step-item__icon{font-size:1.4rem;margin-bottom:6px;}
.step-item__title{font-size:.85rem;font-weight:700;color:#fff;margin-bottom:8px;line-height:1.4;}
/* 修正：説明文を大きく */
.step-item__text{font-size:.82rem;color:rgba(255,255,255,.8);line-height:1.7;text-align:left;}

/* ========================================
   市場動向（修正：1列・文字色濃く）
======================================== */
.market-list{display:flex;flex-direction:column;gap:20px;}
.market-item{background:var(--color-white);border-radius:var(--r-lg);padding:28px 32px;box-shadow:var(--shadow-sm);border-left:4px solid var(--color-main);display:grid;grid-template-columns:160px 1fr;gap:28px;align-items:start;}
.market-item__area{font-size:1.05rem;font-weight:700;color:var(--color-text);}
.market-item__area span{display:block;font-size:.78rem;font-weight:400;color:var(--color-text-mid);margin-top:4px;}
/* 修正：文字色濃く */
.market-item__body p{font-size:.9rem;color:#444;line-height:1.85;}
.market-item__body strong{color:var(--color-accent);}

/* ========================================
   FAQ
======================================== */
.faq-list{display:flex;flex-direction:column;gap:2px;}
.faq-item{background:var(--color-white);overflow:hidden;}
.faq-item:first-child{border-radius:var(--r-md) var(--r-md) 0 0;}
.faq-item:last-child{border-radius:0 0 var(--r-md) var(--r-md);}
.faq-q{display:flex;gap:14px;padding:16px 22px;background:var(--color-warm);font-weight:700;color:var(--color-text);align-items:flex-start;cursor:pointer;}
.faq-num{font-size:.8rem;font-weight:700;color:var(--color-accent);min-width:24px;padding-top:2px;}
.faq-q p{flex:1;font-size:.92rem;padding-top:2px;}
.faq-toggle{font-size:1.1rem;color:var(--color-text-lt);flex-shrink:0;}
.faq-a{display:flex;gap:14px;padding:16px 22px;color:var(--color-text);align-items:flex-start;border-top:1px solid var(--color-border);}
.faq-a p{font-size:.9rem;line-height:1.8;flex:1;padding-top:2px;}
.faq-badge{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--color-main);color:#fff;font-size:.78rem;font-weight:700;flex-shrink:0;}
.faq-badge--a{background:var(--color-point2);}

/* ========================================
   会社一覧カード
======================================== */
.company-list-header{display:flex;align-items:baseline;gap:12px;margin-bottom:4px;}
.company-list-count{font-size:.85rem;color:var(--color-text-lt);}
.company-list-sub{font-size:.78rem;color:var(--color-text-lt);margin-bottom:32px;}
.company-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.company-list-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--r-md);padding:20px;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s;}
.company-list-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.company-list-card__head{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;}
.company-list-card__icon{font-size:1.3rem;flex-shrink:0;}
.company-list-card__name{font-size:.92rem;font-weight:700;color:var(--color-text);}
.company-list-card__copy{font-size:.78rem;color:var(--color-text-mid);margin-top:2px;}
.company-list-card__desc{font-size:.82rem;color:var(--color-text-mid);line-height:1.6;margin-bottom:10px;}
.company-list-card__tag{font-size:.72rem;color:var(--color-text-lt);margin-bottom:12px;}
.company-list-card__btn{display:block;background:var(--color-main);color:#fff;font-size:.8rem;font-weight:700;padding:10px 14px;border-radius:var(--r-sm);text-align:center;transition:background .2s;}
.company-list-card__btn:hover{background:var(--color-main-dark);opacity:1;}

/* ========================================
   記事カード
======================================== */
.articles-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;}
.articles-more{font-size:.85rem;color:var(--color-main);}
.articles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.article-card{background:var(--color-white);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s;}
.article-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.article-card__img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--color-warm);}
.article-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.article-card:hover .article-card__img img{transform:scale(1.04);}
.no-img{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--color-warm);}
.article-card__body{padding:14px;}
.article-card__meta{display:flex;gap:6px;align-items:center;margin-bottom:6px;font-size:.72rem;color:var(--color-text-lt);}
.article-card__meta .cat-item a{background:var(--color-main);color:#fff;padding:2px 8px;border-radius:100px;font-size:.68rem;font-weight:500;}
.article-card__title{font-size:.85rem;font-weight:700;line-height:1.5;margin-bottom:8px;}
.article-card__title a{color:var(--color-text);}
.article-card__title a:hover{color:var(--color-main);}
.article-card__more{font-size:.75rem;color:var(--color-text-lt);}

/* ========================================
   CTA（修正：ポイントカラー）
======================================== */
.cta-section{background:linear-gradient(135deg,var(--color-main) 0%,var(--color-main-dark) 100%);padding:72px 0;text-align:center;}
.cta-section__lead{font-size:.78rem;color:rgba(255,255,255,.7);margin-bottom:8px;letter-spacing:.12em;}
.cta-section__title{font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:700;color:#fff;margin-bottom:12px;}
.cta-section__text{font-size:.92rem;color:rgba(255,255,255,.85);margin-bottom:28px;line-height:1.8;}
.cta-points{display:flex;justify-content:center;gap:12px;margin-bottom:28px;flex-wrap:wrap;}
.cta-point-badge{padding:7px 22px;border-radius:100px;font-size:.85rem;font-weight:700;color:var(--color-text);}
.cta-point-badge:nth-child(1){background:var(--color-point1);}
.cta-point-badge:nth-child(2){background:var(--color-point2);}
.cta-point-badge:nth-child(3){background:var(--color-point3);}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn-cta-main{display:inline-flex;align-items:center;background:var(--color-white);color:var(--color-main);font-size:.95rem;font-weight:700;padding:14px 28px;border-radius:var(--r-sm);transition:all .2s;}
.btn-cta-outline{display:inline-flex;align-items:center;background:transparent;color:#fff;font-size:.95rem;font-weight:500;padding:14px 28px;border-radius:var(--r-sm);border:1.5px solid rgba(255,255,255,.6);transition:all .2s;}

/* ========================================
   免責事項（修正：0.75rem）
======================================== */
.disclaimer{background:var(--color-dark);padding:24px 0;}
/* 修正：0.75rem */
.disclaimer__text{font-size:.75rem;color:rgba(255,255,255,.4);line-height:1.8;}

/* ========================================
   フッター
======================================== */
.site-footer{background:#1a2828;padding:40px 0 20px;}
.footer-body{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:32px;}
.footer-brand__logo{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:8px;}
.footer-brand__desc{font-size:.8rem;color:rgba(255,255,255,.5);line-height:1.8;}
.footer-nav__title{font-size:.72rem;font-weight:700;color:rgba(255,255,255,.4);letter-spacing:.1em;margin-bottom:10px;}
.footer-nav__list{display:flex;flex-direction:column;gap:8px;}
.footer-nav__list a{font-size:.82rem;color:rgba(255,255,255,.6);}
.footer-nav__list a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.footer-copyright{font-size:.72rem;color:rgba(255,255,255,.3);}

/* パンくず */
.breadcrumb{padding:10px 0;background:var(--color-warm);border-bottom:1px solid var(--color-border);}
.breadcrumb__list{display:flex;align-items:center;gap:8px;max-width:var(--wrap);margin:0 auto;padding:0 40px;font-size:.78rem;color:var(--color-text-lt);}
.breadcrumb__item+.breadcrumb__item::before{content:'›';margin-right:4px;}
.breadcrumb__item a{color:var(--color-main);}

/* ========================================
   レスポンシブ
======================================== */
@media(max-width:1024px){
  .points-grid{grid-template-columns:repeat(2,1fr);}
  .articles-grid{grid-template-columns:repeat(2,1fr);}
  .company-cards-grid{grid-template-columns:repeat(2,1fr);}
  .steps-flow{flex-wrap:wrap;}
  .step-item+.step-item::before{display:none;}
  .step-item{min-width:calc(33% - 12px);}
  .toc-nav__list{grid-template-columns:1fr;}
  .co-info-grid{grid-template-columns:1fr;}
  .market-item{grid-template-columns:1fr;gap:12px;}
}
@media(max-width:768px){
  .site-nav{display:none;}
  .container{padding:0 20px;}


  .worries-layout{grid-template-columns:1fr;text-align:center;}
  .worries-chars{order:-1;}
  .worries-balloons{flex-direction:row;flex-wrap:wrap;}
  .worry-balloon{flex:1;min-width:calc(50% - 8px);}
  .points-grid{grid-template-columns:1fr;}
  .company-cards-grid{grid-template-columns:1fr;}
  .articles-grid{grid-template-columns:1fr;}
  .footer-body{grid-template-columns:1fr;}
  .section{padding:56px 0;}
  .step-item{min-width:calc(50% - 8px);}
  .comp-table{font-size:.8rem;}
  .comp-table th,.comp-table td{padding:10px 12px;}
  .co-card__section{padding:20px;}
  .co-card__btns{flex-direction:column;}
}
@media(max-width:480px){


  .step-item{min-width:100%;}
  .worries-balloons{flex-direction:column;}
  .worry-balloon{min-width:100%;}
}


/* お悩みセクション：横並びグリッド修正 */
.worries-layout {
  display: grid !important;
  grid-template-columns: 1fr 280px 1fr !important;
  gap: 32px !important;
  align-items: center !important;
  max-width: 960px !important;
  margin: 0 auto !important;
}

.worries-balloons {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.worries-balloons--left .worry-balloon {
  margin-right: 16px;
}

.worries-balloons--right .worry-balloon {
  margin-left: 16px;
}

.worries-chars {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.worries-chars__img {
  max-width: 280px !important;
  width: 100% !important;
}

/* ポイントカード：上部レイアウト修正 */
.point-card__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin-bottom: 16px !important;
}

.point-card__icon {
  font-size: 2rem !important;
  line-height: 1 !important;
}

.point-card__num {
  font-size: 1.4rem !important;
  font-weight: 300 !important;
  color: var(--color-border) !important;
  line-height: 1 !important;
}

/* ステップ：横並び強制 */
.steps-flow {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  gap: 0 !important;
  padding-bottom: 16px !important;
}

.step-item {
  flex: 1 !important;
  min-width: 150px !important;
  max-width: 200px !important;
  text-align: center !important;
  padding: 20px 12px !important;
  position: relative !important;
}

.step-item + .step-item::before {
  content: '→' !important;
  position: absolute !important;
  left: -12px !important;
  top: 28px !important;
  color: var(--color-point2) !important;
  font-size: 1rem !important;
  z-index: 1 !important;
}

.step-item__circle {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: var(--color-accent) !important;
  color: #fff !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 10px !important;
}

/* 比較表：テーブルレイアウト修正 */
.comp-table-wrap {
  overflow-x: auto !important;
}

.comp-table {
  min-width: 600px !important;
}

.comp-table thead th {
  vertical-align: middle !important;
  padding: 16px 20px !important;
}

.comp-table thead th:first-child {
  background: var(--color-main-dark) !important;
  color: #fff !important;
  width: 140px !important;
  min-width: 140px !important;
}

/* 会社カード：特徴リスト表示修正 */
.co-card__features {
  margin-bottom: 24px !important;
}

.co-feature-item {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
  padding: 10px 14px !important;
  background: var(--color-warm) !important;
  border-radius: var(--r-sm) !important;
  margin-bottom: 8px !important;
}

.co-feature-item p {
  font-size: 0.9rem !important;
  color: #444 !important;
  line-height: 1.7 !important;
}

/* 修正：会社特徴の強調文字 */
.co-feature-item p strong,
.co-feature-item p b {
  color: #B88B3E !important;
  font-weight: 700 !important;
}

/* 市場動向：表示修正 */
.market-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.market-item {
  display: grid !important;
  grid-template-columns: 160px 1fr !important;
  gap: 24px !important;
  background: var(--color-white) !important;
  border-radius: var(--r-lg) !important;
  padding: 28px 32px !important;
  box-shadow: var(--shadow-sm) !important;
  border-left: 4px solid var(--color-main) !important;
}

/* CTAセクション：ボタン表示 */
.cta-section {
  text-align: center !important;
}

.cta-btns {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
}

.btn-cta-main {
  display: inline-flex !important;
  background: var(--color-white) !important;
  color: var(--color-main) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  padding: 14px 28px !important;
  border-radius: var(--r-sm) !important;
}

.btn-cta-outline {
  display: inline-flex !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  padding: 14px 28px !important;
  border-radius: var(--r-sm) !important;
  border: 1.5px solid rgba(255,255,255,0.6) !important;
}

/* 目次ナビ：縦並び修正 */
.toc-nav__list {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 4px 24px !important;
}

/* 会社一覧カード：3列表示 */
.company-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}

/* 記事グリッド：4列 */
.articles-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

@media (max-width: 1024px) {
  .worries-layout { grid-template-columns: 1fr 220px 1fr !important; }
  .articles-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .company-cards-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 768px) {
  .worries-layout { grid-template-columns: 1fr !important; }
  .worries-chars { order: -1 !important; }
  .steps-flow { flex-wrap: wrap !important; }
  .step-item { min-width: calc(50% - 20px) !important; max-width: none !important; }
  .step-item + .step-item::before { display: none !important; }
  .market-item { grid-template-columns: 1fr !important; }
  .articles-grid { grid-template-columns: 1fr !important; }
  .company-cards-grid { grid-template-columns: 1fr !important; }
}

/* ============================================
   追加修正パッチ v5
   フッター・FAQ・会社一覧
============================================ */

/* フッター：横並び固定 */
.site-footer {
  background: #1a2828 !important;
  padding: 48px 0 0 !important;
}

.footer-body {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  margin-bottom: 0 !important;
  padding-bottom: 40px !important;
}

.footer-brand__icon {
  margin-right: 6px;
}

.footer-brand__logo {
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
}

.footer-brand__desc {
  font-size: 0.82rem !important;
  color: rgba(255,255,255,0.55) !important;
  line-height: 1.8 !important;
}

.footer-nav__title {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.45) !important;
  letter-spacing: 0.1em !important;
  margin-bottom: 14px !important;
  text-transform: uppercase !important;
}

.footer-nav__list {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px 16px !important;
}

.footer-nav__list li a {
  font-size: 0.82rem !important;
  color: rgba(255,255,255,0.65) !important;
}

.footer-nav__list li a:hover {
  color: #fff !important;
  opacity: 1 !important;
}

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  padding: 20px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.footer-copyright {
  font-size: 0.72rem !important;
  color: rgba(255,255,255,0.3) !important;
}

.footer-bottom-nav {
  display: flex !important;
  gap: 20px !important;
}

.footer-bottom-nav a {
  font-size: 0.78rem !important;
  color: rgba(255,255,255,0.5) !important;
}

.footer-bottom-nav a:hover {
  color: #fff !important;
  opacity: 1 !important;
}

/* ページトップボタン */
.page-top-btn {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  width: 44px !important;
  height: 44px !important;
  background: var(--color-main) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50% !important;
  font-size: 0.85rem !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: var(--shadow-md) !important;
  z-index: 200 !important;
  transition: background 0.2s !important;
}

.page-top-btn:hover {
  background: var(--color-main-dark) !important;
}

/* FAQ：アコーディオン */
.faq-q {
  cursor: pointer !important;
  user-select: none !important;
}

.faq-q.is-open {
  background: var(--color-main) !important;
  color: #fff !important;
}

.faq-q.is-open .faq-num {
  color: rgba(255,255,255,0.8) !important;
}

.faq-q.is-open .faq-toggle {
  color: #fff !important;
}

.faq-a {
  display: none;
}

/* 会社一覧カード：強制表示 */
.company-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin-bottom: 40px !important;
}

.company-list-card {
  display: flex !important;
  flex-direction: column !important;
  background: var(--color-white) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--r-md) !important;
  padding: 20px !important;
  box-shadow: var(--shadow-sm) !important;
}

.company-list-card__head {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
  margin-bottom: 12px !important;
}

.company-list-card__name {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--color-text) !important;
  line-height: 1.4 !important;
}

.company-list-card__copy {
  font-size: 0.78rem !important;
  color: var(--color-text-mid) !important;
  margin-top: 3px !important;
}

.company-list-card__desc {
  font-size: 0.82rem !important;
  color: var(--color-text-mid) !important;
  line-height: 1.65 !important;
  margin-bottom: 12px !important;
  flex: 1 !important;
}

.company-list-card__tag {
  font-size: 0.72rem !important;
  color: var(--color-text-lt) !important;
  margin-bottom: 12px !important;
}

.company-list-card__btn {
  display: block !important;
  background: var(--color-main) !important;
  color: #fff !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
  border-radius: var(--r-sm) !important;
  text-align: center !important;
  margin-top: auto !important;
}

/* フッター前の免責事項（front-page.phpのみ） */
.disclaimer {
  background: var(--color-dark) !important;
  padding: 20px 0 !important;
}

.disclaimer__text {
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.4) !important;
  line-height: 1.8 !important;
}

@media (max-width: 768px) {
  .footer-body {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .footer-nav__list {
    grid-template-columns: 1fr !important;
  }
  .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
  }
  .footer-bottom-nav {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .company-cards-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================
   追加修正パッチ v6
   ヘッダー高さ統一・ナビ整理
============================================ */

/* ヘッダー：高さ統一・シンプル化 */
.site-header {
  background: var(--color-white) !important;
  border-bottom: 1px solid var(--color-border) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  box-shadow: var(--shadow-sm) !important;
  height: 64px !important;
}

.site-header__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 64px !important;
  padding: 0 40px !important;
  max-width: var(--wrap) !important;
  margin: 0 auto !important;
}

/* ロゴ */
.site-logo {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}

.site-logo__icon {
  font-size: 1.4rem !important;
  line-height: 1 !important;
}

.site-logo__text {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: var(--color-main) !important;
  line-height: 1.3 !important;
}

.site-logo__text small {
  display: block !important;
  font-size: 0.68rem !important;
  font-weight: 400 !important;
  color: var(--color-text-mid) !important;
  margin-top: 2px !important;
}

/* 右端ナビ（カテゴリTOPのみ・シンプル） */
.site-nav ul {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  height: 64px !important;
  border: none !important;
}

.site-nav li {
  border: none !important;
  height: 64px !important;
  display: flex !important;
  align-items: center !important;
}

.site-nav li:first-child {
  border: none !important;
}

.site-nav li a {
  display: flex !important;
  align-items: center !important;
  height: 64px !important;
  padding: 0 20px !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: var(--color-text) !important;
  border-bottom: 3px solid transparent !important;
  transition: color 0.2s, border-color 0.2s !important;
  white-space: nowrap !important;
}

.site-nav li a:hover {
  color: var(--color-main) !important;
  border-bottom-color: var(--color-main) !important;
  opacity: 1 !important;
}

/* ハンバーガー（モバイル） */
.burger-btn {
  display: none !important;
  flex-direction: column !important;
  gap: 5px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 8px !important;
}

.burger-btn span {
  display: block !important;
  width: 24px !important;
  height: 2px !important;
  background: var(--color-text) !important;
  border-radius: 2px !important;
  transition: all 0.2s !important;
}

/* モバイルメニュー */
.mobile-menu {
  display: none !important;
  background: var(--color-white) !important;
  border-top: 1px solid var(--color-border) !important;
  padding: 16px 0 !important;
}

.mobile-menu.is-open {
  display: block !important;
}

.mobile-menu ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.mobile-menu ul li a {
  display: block !important;
  padding: 12px 24px !important;
  font-size: 0.92rem !important;
  color: var(--color-text) !important;
  border-bottom: 1px solid var(--color-border) !important;
}

.mobile-menu ul li a:hover {
  background: var(--color-warm) !important;
  color: var(--color-main) !important;
  opacity: 1 !important;
}

@media (max-width: 768px) {
  .site-nav {
    display: none !important;
  }
  .burger-btn {
    display: flex !important;
  }
  .site-header__inner {
    padding: 0 20px !important;
  }
}

/* ==========================================
   会社一覧セクション（Figmaデザイン版）
   main.cssの末尾に追記
   ========================================== */

/* ヘッダー */
.clist-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 28px;
}

.clist-title {
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 700;
  color: var(--color-text);
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.clist-count {
  font-size: clamp(1rem, 2vw, 1.4rem);
  font-weight: 700;
  color: var(--color-accent);
  border: 2px solid var(--color-accent);
  border-radius: 4px;
  padding: 2px 12px;
  line-height: 1.4;
}

.clist-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-text-lt);
  letter-spacing: 0.1em;
  white-space: nowrap;
}

/* グリッド */
.clist-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 24px;
}

/* 隠れているカード */
.clist-card--hidden {
  display: none;
}

/* カード */
.clist-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--r-lg);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.2s, transform 0.2s;
}

.clist-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

/* 番号バッジ＋会社名 */
.clist-card__head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.clist-card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--color-warm);
  border-radius: var(--r-sm);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-text-mid);
  flex-shrink: 0;
}

.clist-card__name {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.4;
  margin-bottom: 4px;
}

.clist-card__copy {
  font-size: 0.78rem;
  color: var(--color-text-mid);
  line-height: 1.4;
}

/* Googleマップ */
.clist-card__map {
  border-radius: 6px;
  overflow: hidden;
  height: 160px;
}

.clist-card__map--empty {
  background: var(--color-warm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.clist-card__map--empty p {
  font-size: 0.82rem;
  color: var(--color-text-lt);
}

/* 紹介文 */
.clist-card__desc {
  font-size: 0.84rem;
  color: var(--color-text-mid);
  line-height: 1.65;
  flex: 1;
}

/* 住所・TEL */
.clist-card__info {
  font-size: 0.82rem;
  color: var(--color-text);
  display: flex;
  gap: 8px;
  align-items: baseline;
}

.clist-card__info-label {
  font-weight: 700;
  color: var(--color-text-mid);
  min-width: 40px;
  flex-shrink: 0;
}

/* ボタン */
.clist-card__btn {
  display: block;
  background: var(--color-main);
  color: #fff;
  font-size: 0.84rem;
  font-weight: 700;
  padding: 12px 16px;
  border-radius: var(--r-sm);
  text-align: center;
  margin-top: auto;
  transition: background 0.2s;
}

.clist-card__btn:hover {
  background: var(--color-main-dark);
  opacity: 1;
}

/* 全件展開ボタン */
.clist-more-wrap {
  text-align: center;
  margin-top: 8px;
}

.clist-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: var(--color-text);
  font-size: 0.92rem;
  font-weight: 500;
  padding: 14px 40px;
  border: 1.5px solid var(--color-text-mid);
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: all 0.2s;
  font-family: var(--font);
}

.clist-more-btn:hover {
  border-color: var(--color-main);
  color: var(--color-main);
}

/* レスポンシブ */
@media (max-width: 1024px) {
  .clist-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .clist-header {
    flex-direction: column;
    gap: 8px;
  }
  .clist-grid {
    grid-template-columns: 1fr;
  }
  .clist-label {
    display: none;
  }
}

/* ==========================================
   会社一覧セクション（Figmaデザイン版）
   main.cssの末尾に追記
   ========================================== */

/* ヘッダー */
.clist-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 28px;
}

.clist-title {
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 700;
  color: var(--color-text);
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.clist-count {
  font-size: clamp(1rem, 2vw, 1.4rem);
  font-weight: 700;
  color: var(--color-accent);
  border: 2px solid var(--color-accent);
  border-radius: 4px;
  padding: 2px 12px;
  line-height: 1.4;
}

.clist-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-text-lt);
  letter-spacing: 0.1em;
  white-space: nowrap;
}

/* グリッド：高さ揃え */
.clist-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 24px;
  align-items: stretch; /* 全カード同じ高さ */
}

/* 隠れているカード */
.clist-card--hidden {
  display: none;
}

/* カード：flex縦並びでボタンを最下部固定 */
.clist-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--r-lg);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.2s, transform 0.2s;
}

.clist-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

/* 番号バッジ＋会社名 */
.clist-card__head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.clist-card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--color-warm);
  border-radius: var(--r-sm);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-text-mid);
  flex-shrink: 0;
}

.clist-card__name {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.4;
  margin-bottom: 4px;
}

.clist-card__copy {
  font-size: 0.78rem;
  color: var(--color-text-mid);
  line-height: 1.4;
}

/* Googleマップ */
.clist-card__map {
  border-radius: 6px;
  overflow: hidden;
  height: 160px;
  flex-shrink: 0; /* 高さ固定 */
}

.clist-card__map iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.clist-card__map--empty {
  background: var(--color-warm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.clist-card__map--empty p {
  font-size: 0.82rem;
  color: var(--color-text-lt);
}

/* 住所・TELブロック（flex:1でボタンを最下部に押し下げ） */
.clist-card__info-block {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* 住所・TEL行 */
.clist-card__info {
  font-size: 0.82rem;
  color: var(--color-text);
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.clist-card__info-label {
  font-weight: 700;
  color: var(--color-text-mid);
  min-width: 42px;
  flex-shrink: 0;
  padding-top: 1px;
}

.clist-card__info-value {
  line-height: 1.65;
}

/* ボタン（最下部固定） */
.clist-card__btn {
  display: block;
  background: var(--color-main);
  color: #fff;
  font-size: 0.84rem;
  font-weight: 700;
  padding: 12px 16px;
  border-radius: var(--r-sm);
  text-align: center;
  margin-top: auto;
  transition: background 0.2s;
  flex-shrink: 0;
}

.clist-card__btn:hover {
  background: var(--color-main-dark);
  opacity: 1;
}

/* 全件展開ボタン */
.clist-more-wrap {
  text-align: center;
  margin-top: 8px;
}

.clist-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: var(--color-text);
  font-size: 0.92rem;
  font-weight: 500;
  padding: 14px 40px;
  border: 1.5px solid var(--color-text-mid);
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: all 0.2s;
  font-family: var(--font);
}

.clist-more-btn:hover {
  border-color: var(--color-main);
  color: var(--color-main);
}

/* レスポンシブ */
@media (max-width: 1024px) {
  .clist-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .clist-header {
    flex-direction: column;
    gap: 8px;
  }
  .clist-grid {
    grid-template-columns: 1fr;
  }
  .clist-label {
    display: none;
  }
}

/* ==========================================
   FAQ Qバッジ（Figma対応）
   main.cssの末尾に追記
   ========================================== */

.faq-badge--q {
  background: var(--color-main);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 0.9rem;
  font-weight: 700;
  flex-shrink: 0;
}

/* FAQ番号(.faq-num)は非表示に */
.faq-num {
  display: none;
}

/* Figmaに合わせてFAQ質問行のスタイル調整 */
.faq-q {
  display: flex;
  gap: 14px;
  padding: 20px 24px;
  background: var(--color-warm);
  align-items: center;
  cursor: pointer;
}

.faq-q p {
  flex: 1;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-text);
}

.faq-toggle {
  font-size: 1.2rem;
  color: var(--color-text-lt);
  flex-shrink: 0;
  transition: transform 0.2s;
}

.faq-q.is-open .faq-toggle {
  transform: rotate(45deg);
  color: #fff;
}

.faq-a {
  display: flex;
  gap: 14px;
  padding: 20px 24px;
  align-items: flex-start;
  border-top: 1px solid var(--color-border);
}

.faq-badge--a {
  background: var(--color-point2);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 0.9rem;
  font-weight: 700;
  flex-shrink: 0;
}

.faq-a p {
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--color-text);
  padding-top: 6px;
}
/* =========================================================
   Figma full-page alignment patch v7
   対象Figma: node-id=1:2
   ========================================================= */
:root {
  --figma-green: #1f3d2e;
  --figma-deep: #142b22;
  --figma-gold: #b58a3e;
  --figma-bg: #faf7f0;
  --figma-warm: #f2ecdb;
  --figma-warm-2: #f8f1de;
  --figma-border: #e5dfd0;
  --figma-dash: #d3ccb8;
  --figma-text: #1a2620;
  --figma-sub: #4a574f;
  --figma-muted: #7c8580;
  --figma-wrap: 1200px;
}

html { scroll-behavior: smooth; }
body {
  background: var(--figma-bg) !important;
  color: var(--figma-text) !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  letter-spacing: 0;
}
.container {
  max-width: var(--figma-wrap) !important;
  width: 100% !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Header */
.site-header {
  height: 125px !important;
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(6px) !important;
  border-bottom: 1px solid var(--figma-border) !important;
  box-shadow: none !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}
.site-header__pr {
  height: 45px;
  display: flex;
  align-items: center;
  padding: 0 32px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: #2d5240;
  line-height: 14px;
}
.site-header__inner {
  height: 79px !important;
  max-width: none !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.site-logo { gap: 12px !important; color: inherit !important; text-decoration: none !important; }
.site-logo__icon,
.footer-brand__icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 6px !important;
  background: var(--figma-green) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
  line-height: 1 !important;
}
.site-logo__text {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  color: var(--figma-text) !important;
  letter-spacing: .52px !important;
  line-height: 18.2px !important;
}
.site-logo__text small {
  display: block !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #2d5240 !important;
  letter-spacing: 1.8px !important;
  line-height: 14px !important;
}
.site-nav ul { gap: 28px !important; }
.site-nav a {
  color: var(--figma-sub) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .78px !important;
  line-height: 24px !important;
}


/* General sections */
.section { padding: 100px 0 !important; }
.section--white { background: #fff !important; }
.section--warm { background: var(--figma-warm) !important; }
.section--dark { background: var(--figma-deep) !important; }
.section-label,
.section-label-sm,
.clist-label {
  color: var(--figma-gold) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 3.3px !important;
  text-align: center !important;
  line-height: 20.35px !important;
  margin: 0 auto 14px !important;
}
.section-label--light { color: #f2e6c8 !important; }
.section-title,
.worries-title {
  color: var(--figma-text) !important;
  font-size: 36px !important;
  font-weight: 900 !important;
  line-height: 50.4px !important;
  letter-spacing: -0.36px !important;
  text-align: center !important;
  margin: 0 auto 16px !important;
}
.section-title--light { color: #fff !important; }
.section-lead {
  max-width: 860px !important;
  color: var(--figma-sub) !important;
  font-size: 15px !important;
  line-height: 29.25px !important;
  text-align: center !important;
  margin: 0 auto 38px !important;
}
.section-lead--light { color: rgba(255,255,255,.75) !important; }
.title-bar { width: 48px !important; height: 3px !important; border-radius: 2px !important; background: var(--figma-gold) !important; margin: 0 auto 12px !important; }

/* TOC */
.toc-nav {
  background: var(--figma-bg) !important;
  padding: 0 !important;
}
.toc-nav .container {
  max-width: none !important;
  padding: 0 33px !important;
}
.toc-nav__inner,
.toc-nav__list {
  max-width: none !important;
}
.toc-nav__inner {
  background: #fff !important;
  border: 1px solid var(--figma-border) !important;
  border-bottom: 0 !important;
  border-radius: 8px 8px 0 0 !important;
  padding: 29px 0 20px !important;
  box-shadow: 0 1px 1px rgba(20,43,34,.05) !important;
}
.toc-nav__heading-wrap {
  border-bottom: 1px dashed var(--figma-dash) !important;
  padding: 0 0 17px !important;
  margin: 0 !important;
  width: 100% !important;
}
.toc-nav__icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 18px !important;
  background: #dce6dd !important;
  color: var(--figma-green) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.toc-nav__heading { font-size: 20px !important; font-weight: 700 !important; letter-spacing: 2.52px !important; color: var(--figma-text) !important; }
.toc-nav__right { color: var(--figma-muted) !important; font-size: 10px !important; letter-spacing: 2px !important; }
.toc-nav__list {
  background: #fff !important;
  border: 1px solid var(--figma-border) !important;
  border-top: 0 !important;
  border-radius: 0 0 8px 8px !important;
  box-shadow: 0 1px 1px rgba(20,43,34,.05) !important;
  padding: 0 0 29px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px 24px !important;
}
.toc-nav__list a { color: var(--figma-sub) !important; font-size: 16px !important; line-height: 24px !important; font-weight: 400 !important; }
.toc-num { color: var(--figma-gold) !important; font-family: 'Noto Serif JP', serif !important; font-weight: 700 !important; }

/* Worries */
.worries-section { background: var(--figma-bg) !important; padding: 29px 0 56px !important; }
.worries-section .container { max-width: 1560px !important; }
.worries-title { font-family: 'Noto Serif JP', serif !important; font-size: 30px !important; line-height: 45px !important; letter-spacing: .6px !important; margin-bottom: 56px !important; }
.worries-title__em { background: linear-gradient(to bottom, transparent 60%, #f2e6c8 60%) !important; padding: 0 8px !important; color: var(--figma-text) !important; }
.worries-layout { gap: 0 !important; justify-content: center !important; align-items: center !important; }
.worries-chars { width: 437px !important; max-width: 33vw !important; }
.worries-chars__img { width: 100% !important; }
.worry-balloon { border: 2px solid var(--figma-green) !important; border-radius: 16px !important; box-shadow: 0 6px 7px rgba(20,43,34,.08) !important; color: var(--figma-text) !important; }
.worry-balloon p { font-size: 24px !important; line-height: 35px !important; }
.worry-balloon strong { color: var(--figma-green) !important; font-size: 30px !important; line-height: 34px !important; background: linear-gradient(to bottom, transparent 65%, #f2e6c8 65%) !important; }

/* Points */
.points-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important; align-items: start !important; }
.point-card {
  min-height: 382px !important;
  background: #fff !important;
  border: 1px solid var(--figma-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 1px rgba(20,43,34,.05) !important;
  padding: 33px 29px !important;
  position: relative !important;
}
.point-card__icon { width: 56px !important; height: 56px !important; border-radius: 28px !important; background: #dce6dd !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; font-size: 24px !important; }
.point-card__num { position: absolute !important; right: 24px !important; top: 21px !important; color: #e8dfc8 !important; font-family: 'Noto Serif JP', serif !important; font-size: 36px !important; font-weight: 900 !important; line-height: 36px !important; }
.point-card__title { margin-top: 68px !important; color: var(--figma-text) !important; font-size: 17px !important; font-weight: 700 !important; line-height: 25.5px !important; }
.point-card__text { color: var(--figma-sub) !important; font-size: 13px !important; line-height: 24px !important; }

/* Comparison */
.comp-table-wrap { border: 1px solid var(--figma-border) !important; border-radius: 8px !important; box-shadow: 0 4px 12px rgba(20,43,34,.08) !important; overflow: hidden !important; background:#fff !important; }
.comp-table { min-width: 980px !important; border-collapse: collapse !important; }
.comp-table th, .comp-table td { border-color: #ede7d6 !important; }
.comp-table__label-col,
.comp-table__item-label { width: 200px !important; background: var(--figma-warm) !important; color: var(--figma-text) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .52px !important; }
.comp-table__label-col::before { content: '比較項目'; color: #fff; }
.comp-table__label-col { background: var(--figma-green) !important; }
.comp-col--synergy { background: var(--figma-gold) !important; color: #fff !important; }
.comp-col--kachitas { background: var(--figma-deep) !important; color: #fff !important; }
.comp-company-name { font-size: 16px !important; font-weight: 700 !important; letter-spacing: 1.3px !important; line-height: 27.2px !important; }
.comp-company-copy { font-size: 10px !important; opacity: .85 !important; letter-spacing: 1.2px !important; }
.comp-table__cell { font-size: 13px !important; line-height: 22.1px !important; color: var(--figma-text) !important; }
.comp-table tr td:nth-child(2) { background: var(--figma-warm-2) !important; }
.comp-tag { border-radius: 999px !important; background: #dce6dd !important; color: var(--figma-green) !important; padding: 4px 10px !important; font-size: 11px !important; font-weight: 700 !important; }
.comp-hp-image img { max-height: 196px !important; object-fit: cover !important; }

/* Company details */
#company.section { background: linear-gradient(to bottom, var(--figma-bg), var(--figma-warm)) !important; }
.co-card {
  max-width: 1136px !important;
  margin: 0 auto 80px !important;
  border: 1px solid var(--figma-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 32px rgba(20,43,34,.10) !important;
  overflow: hidden !important;
  background: #fff !important;
}
.co-card__header { padding: 36px 48px !important; background: var(--figma-deep) !important; color: #fff !important; }
.co-card:nth-of-type(even) .co-card__header { background: var(--figma-warm-2) !important; color: var(--figma-text) !important; border-bottom: 1px solid #f2e6c8 !important; }
.co-card__name { font-size: 26px !important; font-weight: 900 !important; line-height: 36.4px !important; color: inherit !important; margin: 0 0 7px !important; }
.co-card__copy { font-size: 13px !important; font-weight: 700 !important; line-height: 24px !important; letter-spacing: 1.04px !important; color: inherit !important; opacity: .95 !important; }
.co-card__body { padding: 48px !important; display: flex !important; flex-direction: column !important; gap: 48px !important; }
.co-card__section { margin: 0 !important; padding: 0 !important; }
.co-card__section-title { border-bottom: 1px solid #ede7d6 !important; padding: 0 0 15px !important; margin: 0 0 20px !important; color: var(--figma-text) !important; font-size: 17px !important; font-weight: 900 !important; letter-spacing: 1.02px !important; line-height: 31.45px !important; display: flex !important; align-items: center !important; gap: 14px !important; }
.co-card__section-icon { width: 40px !important; height: 40px !important; border-radius: 20px !important; background: #dce6dd !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
.co-card__section-link,
.co-card__section-note { margin-left: auto !important; color: var(--figma-muted) !important; font-size: 10px !important; letter-spacing: 2.2px !important; }
.co-card__hp-img { background: linear-gradient(118deg, var(--figma-warm), #e8dfc8) !important; border: 1px solid var(--figma-dash) !important; border-radius: 4px !important; padding: 24px !important; margin: 0 0 20px !important; text-align: center !important; }
.co-card__hp-img img { max-height: 460px !important; width: auto !important; max-width: 100% !important; object-fit: contain !important; box-shadow: none !important; }
.co-feature-item,
.co-review { border: 1px solid var(--figma-border) !important; border-radius: 4px !important; background: #fff !important; color: var(--figma-sub) !important; }
.co-feature-item p,
.co-point-item,
.co-review__text { font-size: 13px !important; line-height: 24px !important; color: var(--figma-sub) !important; }
.co-card__btns { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; margin-top: 20px !important; }
.co-btn-dark,
.co-btn-outline { height: 66px !important; border-radius: 4px !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: 1.4px !important; }
.co-btn-dark { background: var(--figma-green) !important; border: 2px solid var(--figma-green) !important; color:#fff !important; }
.co-btn-outline { background: #fff !important; border: 2px solid var(--figma-green) !important; color: var(--figma-green) !important; }
.co-info-grid { display: grid !important; grid-template-columns: 500px 1fr !important; gap: 24px !important; }
.co-info-table { border: 1px solid var(--figma-border) !important; border-radius: 4px !important; overflow: hidden !important; }
.co-info-row { min-height: 49px !important; display: grid !important; grid-template-columns: 110px 1fr !important; border-bottom: 1px solid #ede7d6 !important; }
.co-info-label { background: var(--figma-warm) !important; font-weight: 700 !important; color: var(--figma-text) !important; }
.co-info-row span { padding: 13px 18px !important; font-size: 12px !important; line-height: 20.4px !important; }

/* Steps */
.steps-flow { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 16px !important; position: relative !important; }
.steps-flow::before { content:''; position:absolute; left:5%; right:5%; top:36px; height:2px; background:rgba(255,255,255,.15); }
.step-item { position: relative !important; text-align: center !important; padding: 20px 8px !important; background: transparent !important; box-shadow: none !important; }
.step-item__circle { width:72px !important; height:72px !important; border-radius:36px !important; background:#fff !important; border:4px solid var(--figma-deep) !important; box-shadow:0 0 0 2px var(--figma-gold) !important; margin:0 auto 6px !important; display:flex !important; align-items:center !important; justify-content:center !important; color:var(--figma-deep) !important; font-family:'Noto Serif JP',serif !important; font-size:28px !important; font-weight:900 !important; }
.step-item__icon { position:absolute !important; top:12px !important; right:28% !important; width:28px !important; height:28px !important; border-radius:14px !important; background:var(--figma-gold) !important; color:#fff !important; display:flex !important; align-items:center !important; justify-content:center !important; font-size:13px !important; }
.step-item__title { color:#fff !important; font-size:14px !important; font-weight:700 !important; line-height:25.9px !important; letter-spacing:.84px !important; }
.step-item__text { color:rgba(255,255,255,.65) !important; font-size:11px !important; line-height:18.7px !important; }

/* Market */
#market .section-title { font-size: 32px !important; }
.market-lead { max-width: 720px !important; margin: 0 auto 48px !important; text-align: center !important; color: var(--figma-sub) !important; font-size: 14px !important; line-height: 27.3px !important; }
.market-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; max-width: 1268px !important; margin: 0 auto !important; }
.market-card { display: flex !important; min-height: 158px !important; background:#fff !important; border:1px solid var(--figma-border) !important; border-radius:10px !important; box-shadow:0 1px 4px rgba(20,43,34,.07) !important; overflow:hidden !important; }
.market-card__side { width:120px !important; flex:0 0 120px !important; border-right:1px solid #ede7d6 !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:10px !important; padding:22px 20px !important; }
.market-card__icon { width:40px !important; height:40px !important; border-radius:20px !important; background:#dce6dd !important; display:flex !important; align-items:center !important; justify-content:center !important; color:var(--figma-green) !important; }
.market-card__title { font-size:12px !important; line-height:19.2px !important; font-weight:700 !important; letter-spacing:.4px !important; text-align:center !important; color:var(--figma-text) !important; margin:0 !important; }
.market-card__main { flex:1 !important; display:flex !important; flex-direction:column !important; }
.market-card__body { flex:1 !important; padding:18px !important; border-bottom:1px solid #ede7d6 !important; color:var(--figma-sub) !important; font-size:12px !important; line-height:22.8px !important; margin:0 !important; }
.market-card__impact { background:#faf8f3 !important; padding:13px 18px 14px !important; }
.market-card__impact span { display:block !important; color:var(--figma-sub) !important; font-size:12px !important; letter-spacing:1.1px !important; margin-bottom:4px !important; }
.market-card__impact p { margin:0 !important; color:var(--figma-sub) !important; font-size:12px !important; line-height:22.2px !important; }

/* FAQ */
#faq .container { max-width: 880px !important; }
.faq-list { display:grid !important; gap:16px !important; }
.faq-item { border:1px solid var(--figma-border) !important; border-radius:8px !important; box-shadow:0 1px 2px rgba(20,43,34,.05) !important; overflow:hidden !important; background:#fff !important; }
.faq-q { padding:22px 28px !important; gap:16px !important; }
.faq-a { display:flex; margin:0 28px 0 52px !important; padding:25px 0 25px 28px !important; border-top:1px dashed #ede7d6 !important; gap:16px !important; }
.faq-badge { width:36px !important; height:36px !important; border-radius:18px !important; font-family:'Noto Serif JP',serif !important; font-weight:900 !important; }
.faq-badge--q { background:var(--figma-green) !important; color:#fff !important; }
.faq-badge--a { background:var(--figma-gold) !important; color:#fff !important; }
.faq-q p { font-size:15px !important; font-weight:700 !important; line-height:24px !important; color:var(--figma-text) !important; }
.faq-a p { font-size:14px !important; line-height:27.3px !important; color:var(--figma-sub) !important; }
.faq-toggle { width:28px !important; height:28px !important; border-radius:14px !important; background:#f2e6c8 !important; color:var(--figma-green) !important; display:flex !important; align-items:center !important; justify-content:center !important; }

/* Company list / Articles */
.clist-header { align-items:flex-end !important; margin-bottom:32px !important; }
.clist-title { font-size:28px !important; line-height:51.8px !important; font-weight:900 !important; color:var(--figma-text) !important; }
.clist-count { color:var(--figma-gold) !important; }
.clist-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap:20px !important; }
.clist-card { min-height:474px !important; border:1px solid var(--figma-border) !important; border-radius:8px !important; background:#fff !important; padding:24px !important; }
.clist-card__num { width:48px !important; height:48px !important; border-radius:6px !important; background:#e8dfc8 !important; color:var(--figma-muted) !important; font-weight:900 !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; }
.clist-card__name { font-size:15px !important; line-height:22.5px !important; }
.clist-card__copy { color:#2d5240 !important; font-size:10px !important; letter-spacing:1.5px !important; }
.clist-card__map { height:130px !important; background:linear-gradient(139deg, var(--figma-warm), #e8dfc8) !important; border:1px solid var(--figma-dash) !important; border-radius:4px !important; }
.clist-card__btn,
.clist-more-btn { height:50px !important; border-radius:4px !important; background:var(--figma-green) !important; color:#fff !important; font-size:12px !important; font-weight:700 !important; letter-spacing:1.2px !important; }
.clist-more-btn { background:#fff !important; color:var(--figma-green) !important; border:2px solid var(--figma-green) !important; height:70px !important; padding:0 50px !important; }
.articles-header { align-items:flex-end !important; margin-bottom:32px !important; }
.articles-header .section-title { text-align:left !important; margin:0 !important; font-size:28px !important; line-height:51.8px !important; }
.articles-more { color:var(--figma-green) !important; font-size:12px !important; font-weight:700 !important; letter-spacing:1.44px !important; }
.articles-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:20px !important; }
.article-card { border:1px solid var(--figma-border) !important; border-radius:8px !important; overflow:hidden !important; }
.article-card__img { height:160px !important; background:linear-gradient(135deg, var(--figma-warm), #e8dfc8) !important; }
.article-card__body { padding:20px 22px 24px !important; }
.article-card__title { font-size:15px !important; line-height:24px !important; }
.article-card__more { color:var(--figma-green) !important; font-size:11px !important; font-weight:700 !important; letter-spacing:1.98px !important; }

/* Footer */
.site-footer { background:var(--figma-deep) !important; color:#fff !important; padding:64px 0 42px !important; }
.footer-main { border-bottom:1px solid rgba(255,255,255,.08) !important; padding-bottom:33px !important; display:flex !important; justify-content:center !important; gap:73px !important; align-items:flex-start !important; }
.footer-brand { display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:16px !important; max-width:260px !important; }
.footer-brand__icon { background:#fff !important; color:var(--figma-deep) !important; }
.footer-brand__name { color:#fff !important; font-size:16px !important; font-weight:900 !important; letter-spacing:2.88px !important; line-height:22.4px !important; margin:0 !important; }
.footer-disclaimer { width:434px !important; color:#fff !important; font-size:12px !important; font-weight:900 !important; letter-spacing:2.88px !important; line-height:22.4px !important; text-align:center !important; }
.footer-disclaimer p { margin:0 !important; }
.footer-disclaimer__title { margin-bottom:22px !important; }
.footer-nav { margin-top:23px !important; display:flex !important; justify-content:center !important; gap:32px !important; }
.footer-nav a { color:rgba(255,255,255,.7) !important; font-size:12px !important; letter-spacing:1.44px !important; line-height:22.2px !important; }
.footer-copyright { margin:23px 0 0 !important; color:rgba(255,255,255,.4) !important; text-align:center !important; font-size:10px !important; letter-spacing:1.5px !important; line-height:18.5px !important; }

/* Responsive */
@media (max-width: 1024px) {
  .site-header { height: auto !important; }
  .site-header__pr { height: 34px; padding:0 20px; }
  .site-header__inner { height:70px !important; padding:0 20px !important; }
  .site-nav { display:none !important; }


  .points-grid,.articles-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .toc-nav__list { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .market-grid,.clist-grid { grid-template-columns:1fr !important; }
  .co-info-grid,.co-card__btns { grid-template-columns:1fr !important; }
  .steps-flow { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width: 767px) {
  .container { padding-left:20px !important; padding-right:20px !important; }
  .section { padding:64px 0 !important; }


  .section-title,.worries-title { font-size:26px !important; line-height:1.55 !important; }
  .points-grid,.articles-grid,.toc-nav__list,.steps-flow { grid-template-columns:1fr !important; }
  .worries-layout { flex-direction:column !important; }
  .worries-chars { max-width:80vw !important; }
  .co-card__body,.co-card__header { padding:28px 20px !important; }
  .footer-main { flex-direction:column !important; gap:28px !important; align-items:center !important; }
  .footer-disclaimer { width:auto !important; }
}

/* ==========================================
   会社一覧カード：ボタンなし時の余白解消
   min-heightを廃止してコンテンツ高さに自動調整
   ========================================== */
.clist-card {
  min-height: 0 !important;
}
/* ボタンがない場合でもinfo-blockが伸びないようにする */
.clist-card__info-block {
  flex: 0 0 auto !important;
}
/* ボタンありの場合のみ上に余白を自動確保 */
.clist-card__btn {
  margin-top: 16px !important;
}

/* 会社一覧：折りたたみ強制非表示 */
.clist-card--hidden {
  display: none !important;
}

/* ヘッダー：コンパクトに */
.site-header {
  height: 56px !important;
}
.site-header__inner {
  height: 56px !important;
  padding: 0 32px !important;
}
.site-nav li a {
  height: 56px !important;
}


/* 目次：2列×4行 */
.toc-nav__list {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px 48px !important;
}
.toc-nav__list li a {
  font-size: 0.87rem !important;
  padding: 6px 0 !important;
}

/* お悩み：吹き出しスタイル強化・画像との重なり解消 */
.worries-layout {
  grid-template-columns: 1fr 260px 1fr !important;
  gap: 24px !important;
  align-items: center !important;
}
.worries-balloons {
  gap: 20px !important;
}
.worry-balloon {
  border-radius: 12px !important;
  padding: 14px 18px !important;
  position: relative !important;
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
}
/* 左吹き出しの尻尾（右側） */
.worry-balloon--left::after {
  content: '' !important;
  position: absolute !important;
  right: -12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border: 6px solid transparent !important;
  border-left-color: #fff !important;
}
.worry-balloon--left {
  border-color: var(--color-border) !important;
}
/* 右吹き出しの尻尾（左側） */
.worry-balloon--right::after {
  content: '' !important;
  position: absolute !important;
  left: -12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border: 6px solid transparent !important;
  border-right-color: #fff !important;
}
.worry-balloon--right {
  border-color: var(--color-border) !important;
}
.worries-chars__img {
  max-width: 260px !important;
  width: 100% !important;
  display: block !important;
  margin: 0 auto !important;
}

/* 比較表：均等幅 */
.comp-table {
  table-layout: fixed !important;
  width: 100% !important;
}
.comp-table__label-col {
  width: 130px !important;
}
.comp-table__company-col {
  width: auto !important;
}

/* 会社詳細HP画像：中央寄せ＋引用元 */
.co-card__hp-img {
  position: relative !important;
  margin-bottom: 6px !important;
}
.co-card__hp-img img {
  display: block !important;
  margin: 0 auto !important;
  max-width: 100% !important;
  border-radius: var(--r-md) !important;
}
.co-card__hp-cite {
  text-align: right !important;
  font-size: 0.72rem !important;
  color: var(--color-text-lt) !important;
  margin-bottom: 16px !important;
}
.co-card__hp-cite a {
  color: var(--color-text-lt) !important;
  text-decoration: underline !important;
}

/* 会社情報グリッド：高さ揃え */
.co-info-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  align-items: stretch !important;
  margin-bottom: 20px !important;
}
.co-info-table {
  display: flex !important;
  flex-direction: column !important;
}
.co-info-map {
  display: flex !important;
  flex-direction: column !important;
}
.co-info-map iframe {
  flex: 1 !important;
  min-height: 200px !important;
  border-radius: 8px !important;
  border: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

@media (max-width: 768px) {
  .toc-nav__list { grid-template-columns: 1fr !important; }
  .worries-layout { grid-template-columns: 1fr !important; }
  .worries-chars { order: -1; }
  .co-info-grid { grid-template-columns: 1fr !important; }
}

/* ==========================================
   フッター：Figma完全再現
   ========================================== */
.site-footer {
  background: #1e2d2d !important;
  padding: 48px 0 32px !important;
}

.footer-main {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 40px !important;
  padding-bottom: 32px !important;
  border-bottom: 1px solid rgba(255,255,255,0.1) !important;
  margin-bottom: 24px !important;
}

.footer-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
}

.footer-brand__icon {
  font-size: 2rem !important;
  color: #fff !important;
  line-height: 1 !important;
}

.footer-brand__name {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.4 !important;
}

.footer-disclaimer {
  max-width: 420px !important;
  text-align: left !important;
}

.footer-disclaimer__title {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.7) !important;
  margin-bottom: 6px !important;
}

.footer-disclaimer p:not(.footer-disclaimer__title) {
  font-size: 0.78rem !important;
  color: rgba(255,255,255,0.5) !important;
  line-height: 1.7 !important;
}

.footer-nav {
  display: flex !important;
  justify-content: center !important;
  gap: 32px !important;
  margin-bottom: 16px !important;
  flex-wrap: wrap !important;
}

.footer-nav a {
  font-size: 0.85rem !important;
  color: rgba(255,255,255,0.65) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.footer-nav a:hover {
  color: #fff !important;
  opacity: 1 !important;
}

.footer-copyright {
  text-align: center !important;
  font-size: 0.72rem !important;
  color: rgba(255,255,255,0.35) !important;
}

@media (max-width: 768px) {
  .footer-main {
    flex-direction: column !important;
    gap: 24px !important;
  }
  .footer-disclaimer {
    max-width: 100% !important;
  }
  .footer-nav {
    gap: 20px !important;
  }
}

/* フッター免責事項：左寄せ・改行なし・小さく目立たなく */
.footer-main {
  align-items: center !important;
}

.footer-disclaimer {
  text-align: left !important;
  max-width: 500px !important;
}

.footer-disclaimer__title {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.5) !important;
  margin-bottom: 4px !important;
}

.footer-disclaimer p:not(.footer-disclaimer__title) {
  font-size: 0.73rem !important;
  color: rgba(255,255,255,0.38) !important;
  line-height: 1.6 !important;
}

/* ==========================================
   記事ページ：サイドバー固定スクロール解除・公開日更新日
   ========================================== */

/* サイドバーをstickyにしない */
.sidebar {
  position: static !important;
  top: auto !important;
}

/* 公開日・更新日 */
.article-header__dates {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 8px;
  margin-bottom: 4px;
}

.article-header__date {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  color: var(--color-text-lt);
}

.article-header__date-label {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--color-text-mid);
  background: var(--color-warm);
  padding: 2px 8px;
  border-radius: 3px;
}

/* ==========================================
   ポイントカード：画像対応
   ========================================== */
.point-card__img {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--r-md);
  overflow: hidden;
  margin-bottom: 16px;
}

.point-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s;
}

.point-card:hover .point-card__img img {
  transform: scale(1.04);
}

.point-card__num {
  position: absolute !important;
  top: 10px !important;
  right: 12px !important;
  font-size: 1.4rem !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.85) !important;
  line-height: 1 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 画像未アップ時のフォールバック */
.point-card__img img[src=""],
.point-card__img img:not([src]) {
  background: var(--color-warm);
}

/* ==========================================
   子ページ：会社情報テーブルの罫線修正
   ========================================== */
.co-info-row {
  border-bottom: 1px solid var(--color-border) !important;
  padding: 10px 0 !important;
}

.co-info-table .co-info-row:last-child {
  border-bottom: none !important;
}

/* ==========================================
   ポイントカード：高さ揃え・番号視認性向上
   ========================================== */
.points-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

.point-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--r-md) !important;
  overflow: hidden !important;
  padding: 0 0 24px !important;
  background: #fff !important;
}

.point-card__img {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
  border-radius: 0 !important;
}

.point-card__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* 番号：画像左上に白背景バッジ */
.point-card__num {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  background: rgba(255,255,255,0.92) !important;
  color: var(--color-accent) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  padding: 4px 10px !important;
  border-radius: 0 0 6px 0 !important;
  line-height: 1.4 !important;
  text-shadow: none !important;
}

.point-card__title {
  padding: 0 20px !important;
  margin-bottom: 10px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}

.point-card__text {
  padding: 0 20px !important;
  font-size: 0.85rem !important;
  line-height: 1.7 !important;
  color: var(--color-text-mid) !important;
  flex: 1 !important;
}

/* ==========================================
   パンくず：横並び・コンパクト化
   ========================================== */
.breadcrumb {
  padding: 10px 0 !important;
  background: var(--color-warm) !important;
  border-bottom: 1px solid var(--color-border) !important;
}

.breadcrumb ol {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 40px !important;
  font-size: 0.78rem !important;
  color: var(--color-text-lt) !important;
}

.breadcrumb ol li {
  display: flex !important;
  align-items: center !important;
}

.breadcrumb ol li::after {
  content: '›' !important;
  margin: 0 6px !important;
  color: var(--color-text-lt) !important;
}

.breadcrumb ol li:last-child::after {
  display: none !important;
}

.breadcrumb ol li a {
  color: var(--color-main) !important;
  text-decoration: none !important;
}

.breadcrumb ol li a:hover {
  text-decoration: underline !important;
}

/* ==========================================
   記事ページ：罫線・全体スタイル
   ========================================== */
/* 記事本文内の見出し・段落の罫線 */
.article-body h2 {
  border-bottom: 2px solid var(--color-main) !important;
  padding-bottom: 8px !important;
  margin-bottom: 16px !important;
}

.article-body h3 {
  border-left: 4px solid var(--color-main) !important;
  padding-left: 12px !important;
  margin-bottom: 12px !important;
}

/* 前後記事ナビの罫線 */
.post-nav {
  border-top: 1px solid var(--color-border) !important;
  margin-top: 40px !important;
  padding-top: 24px !important;
}

/* 記事フッターの罫線 */
.article-footer {
  border-top: 1px solid var(--color-border) !important;
  margin-top: 40px !important;
  padding-top: 16px !important;
}

/* サイドバー区切り線 */
.sidebar-section {
  border-bottom: 1px solid var(--color-border) !important;
  padding-bottom: 24px !important;
  margin-bottom: 24px !important;
}

.sidebar-section:last-child {
  border-bottom: none !important;
}

/* ==========================================
   カテゴリーアーカイブページ：幅・レイアウト修正
   ========================================== */
.archive-header {
  background: var(--color-warm) !important;
  border-bottom: 1px solid var(--color-border) !important;
  padding: 32px 0 !important;
  margin-bottom: 0 !important;
}

.archive-header .archive-label {
  display: block !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  color: var(--color-main) !important;
  margin-bottom: 8px !important;
}

.archive-header .archive-title {
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}

.archive-header .archive-description {
  font-size: 0.88rem !important;
  color: var(--color-text-lt) !important;
}

.archive-page {
  padding: 40px 0 !important;
}

/* single.phpと同じ2カラムレイアウト */
.archive-layout {
  display: grid !important;
  grid-template-columns: 1fr 280px !important;
  gap: 48px !important;
  align-items: start !important;
  max-width: var(--wrap) !important;
  margin: 0 auto !important;
}

.archive-main {
  min-width: 0 !important;
}

/* 記事一覧スタイル */
.posts-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.post-list-item {
  display: grid !important;
  grid-template-columns: 160px 1fr !important;
  gap: 20px !important;
  padding: 24px 0 !important;
  border-bottom: 1px solid var(--color-border) !important;
  align-items: start !important;
}

.post-list-item:first-child {
  border-top: 1px solid var(--color-border) !important;
}

.post-list-thumbnail img {
  width: 160px !important;
  height: 110px !important;
  object-fit: cover !important;
  border-radius: var(--r-sm) !important;
  display: block !important;
}

.post-list-meta {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 6px !important;
}

.post-list-category {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  background: var(--color-main) !important;
  color: #fff !important;
  padding: 2px 10px !important;
  border-radius: 3px !important;
}

.post-list-date {
  font-size: 0.78rem !important;
  color: var(--color-text-lt) !important;
}

.post-list-title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  margin-bottom: 8px !important;
}

.post-list-title a {
  color: var(--color-text) !important;
  text-decoration: none !important;
}

.post-list-title a:hover {
  color: var(--color-main) !important;
}

.post-list-excerpt {
  font-size: 0.83rem !important;
  color: var(--color-text-lt) !important;
  line-height: 1.7 !important;
  margin-bottom: 10px !important;
}

.post-list-more {
  font-size: 0.8rem !important;
  color: var(--color-main) !important;
  text-decoration: none !important;
}

/* ==========================================
   TOP会社一覧：ボタンなし余白・高さ揃え修正
   ========================================== */
.clist-card {
  display: flex !important;
  flex-direction: column !important;
}

.clist-card__info-block {
  flex: 1 0 auto !important;
}

/* ボタンがあるカードとないカードで高さを揃える */
.clist-grid {
  align-items: stretch !important;
}

@media (max-width: 768px) {
  .archive-layout {
    grid-template-columns: 1fr !important;
  }
  .post-list-item {
    grid-template-columns: 120px 1fr !important;
  }
  .post-list-thumbnail img {
    width: 120px !important;
    height: 80px !important;
  }
}

/* ==========================================
   会社一覧：折りたたみ強制非表示（最優先）
   ========================================== */
.clist-card--hidden {
  display: none !important;
}

/* ボタンあり時の高さ揃え：ボタンを下部に固定 */
.clist-card__btn {
  margin-top: auto !important;
  display: block !important;
}

/* ==========================================
   会社一覧カード：TEL〜ボタン余白削除・高さ揃え
   ========================================== */

/* カードをflexで縦並び */
.clist-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

/* info-blockはflexなし・コンテンツ高さのみ */
.clist-card__info-block {
  flex: 0 0 auto !important;
  margin-bottom: 0 !important;
}

/* info行の余白を詰める */
.clist-card__info {
  padding: 4px 0 !important;
  margin: 0 !important;
}

/* ボタンをカード最下部に固定・余白を上に自動 */
.clist-card__btn {
  margin-top: auto !important;
  display: block !important;
  /* ボタン上の余白を最小に */
  padding-top: 0 !important;
}

/* ボタンがない場合は余白なし */
.clist-card:not(:has(.clist-card__btn)) .clist-card__info-block {
  margin-bottom: 0 !important;
}

/* グリッドで同行カードの高さを揃える */
.clist-grid {
  align-items: stretch !important;
}

/* 折りたたみは最優先で非表示 */
.clist-card--hidden {
  display: none !important;
}

/* ==========================================
   会社一覧カード：余白・ボタン位置 強制修正
   ========================================== */
.clist-card__info-block {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.clist-card__info + .clist-card__info {
  border-top: 1px solid var(--color-border) !important;
}
.clist-card .clist-card__btn {
  margin-top: 16px !important;
  flex-shrink: 0 !important;
}
/* ボタンなしカードはinfo-blockの後に余白なし */
.clist-grid {
  grid-auto-rows: 1fr !important;
}
/* ==========================================
   【決定版】会社一覧カード 余白・高さ統一
   2026-05-26 — 以前のパッチをすべてこれで上書き
   
   構造：
   .clist-card（flex縦）
     ├ .clist-card__head（固定）
     ├ .clist-card__map（固定）
     ├ .clist-card__info-block（flex:1 → 伸びて残り空間を埋める）
     └ .clist-card__btn（あれば固定・なければ不在）
   
   同行カードはgridのalign-items:stretchで高さ統一。
   ボタンありカード：info-blockが伸びてボタンが底面に来る。
   ボタンなしカード：info-blockが伸びて底面まで埋まる（余白なし）。
   ========================================== */

/* グリッド：同行カードを同じ高さに */
.clist-grid {
  align-items: stretch !important;
  grid-auto-rows: unset !important;
}

/* カード：flex縦並び・高さ自動 */
.clist-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  gap: 0 !important;
}

/* head：固定高さ */
.clist-card__head {
  flex-shrink: 0 !important;
  margin-bottom: 12px !important;
}

/* map：固定高さ */
.clist-card__map {
  flex-shrink: 0 !important;
  margin-bottom: 12px !important;
}

/* info-block：flex:1で残り空間を全て埋める（←これが核心） */
.clist-card__info-block {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* info行 */
.clist-card__info {
  padding: 4px 0 !important;
  margin: 0 !important;
}
.clist-card__info + .clist-card__info {
  border-top: 1px solid var(--color-border) !important;
}

/* ボタン：固定・上余白のみ */
.clist-card__btn,
.clist-card .clist-card__btn {
  flex-shrink: 0 !important;
  margin-top: 12px !important;
  display: block !important;
}

/* 折りたたみ非表示（最優先） */
.clist-card--hidden {
  display: none !important;
}

/* ==========================================
   【決定版】記事一覧アイキャッチ・ボタン修正
   2026-05-26
   ========================================== */

/* ボタンテキスト中央寄せ */
.clist-card__btn,
.clist-card .clist-card__btn {
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* アイキャッチ：固定サイズを解除して全体表示 */
.post-list-thumbnail {
  flex-shrink: 0 !important;
  overflow: hidden !important;
  width: 160px !important;
}

.post-list-thumbnail img {
  width: 160px !important;
  height: auto !important;        /* ← 高さ固定を解除して全体表示 */
  min-height: 100px !important;
  max-height: 140px !important;
  object-fit: contain !important; /* ← coverから変更：切り抜かずに全体表示 */
  border-radius: var(--r-sm) !important;
  display: block !important;
  background: var(--color-warm) !important;
}

@media (max-width: 768px) {
  .post-list-thumbnail {
    width: 120px !important;
  }
  .post-list-thumbnail img {
    width: 120px !important;
    max-height: 110px !important;
  }
}

/* ==========================================
   ポイントカード：数字を画像の外に出した後のスタイル調整
   ========================================== */
.point-card__num {
  position: static !important;
  display: block !important;
  font-size: 2rem !important;
  font-weight: 900 !important;
  color: var(--color-accent) !important;
  font-family: 'Noto Serif JP', serif !important;
  line-height: 1 !important;
  margin-bottom: 10px !important;
  text-shadow: none !important;
}

/* ==========================================
   会社一覧折りたたみ：最終最優先
   ========================================== */
.clist-card--hidden,
.clist-grid .clist-card--hidden {
  display: none !important;
  visibility: hidden !important;
}

/* ==========================================
   【決定版】ポイントカード：数字を画像の上に独立表示
   ========================================== */

/* カード：上部に数字エリアを確保 */
.point-card {
  padding: 0 0 24px !important;
  overflow: visible !important;
}

/* 数字：static配置で独立した行に */
.point-card__num {
  position: static !important;
  display: block !important;
  background: transparent !important;
  color: var(--color-accent) !important;
  font-family: 'Noto Serif JP', serif !important;
  font-size: 1.6rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.05em !important;
  padding: 16px 20px 8px !important;
  line-height: 1 !important;
  text-shadow: none !important;
  border-radius: 0 !important;
}

/* 画像：数字の直後に配置 */
.point-card__img {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
  border-radius: 0 !important;
}

.point-card__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* ==========================================
   ポイントカード：数字が画像に隠れないように調整
   ========================================== */

.point-card {
  position: relative !important;
  overflow: hidden !important;
  padding-top: 28px !important;
}

/* 数字をカード左上に表示 */
.point-card__num {
  position: absolute !important;
  top: 22px !important;
  left: 24px !important;
  z-index: 3 !important;

  display: block !important;
  color: #e8dfc8 !important;
  font-family: 'Noto Serif JP', serif !important;
  font-size: 44px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;

  background: transparent !important;
  padding: 0 !important;
}

/* 画像を少し下げる */
.point-card__img {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 36px !important;
  margin-bottom: 24px !important;
}

/* 画像サイズはそのまま維持 */
.point-card__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* ==========================================
   ポイントカード：画像〜文字の余白を狭める
   ========================================== */

.point-card__img {
  margin-bottom: 6px !important;
}

.point-card__title {
  margin-top: 0 !important;
}

/* ==========================================
   口コミ：星評価を非表示＋余白調整
   ========================================== */

.co-review__stars {
  display: none !important;
}

.co-review__text {
  margin-top: 0 !important;
}

/* ==========================================
   お悩みセクション：人物と吹き出しの位置調整
   ========================================== */

.worries-layout {
  display: grid !important;
  grid-template-columns: 340px 260px 340px !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: 72px !important;
  max-width: 1100px !important;
  margin: 56px auto 0 !important;
}

.worries-chars {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  justify-content: center !important;
}

.worries-chars__img {
  width: 260px !important;
  max-width: 260px !important;
  height: auto !important;
  display: block !important;
}

/* 左右の吹き出しを人物から少し離す */
.worries-balloons {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 22px !important;
}

.worries-balloons--left {
  transform: translateX(-12px) !important;
}

.worries-balloons--right {
  transform: translateX(12px) !important;
}

/* 吹き出し幅を固定して、人物にかぶりにくくする */
.worry-balloon {
  width: 340px !important;
  max-width: 340px !important;
  box-sizing: border-box !important;
}

/* ==========================================
   お悩みセクション：右吹き出しの被り解消
   ========================================== */

/* 全体の横幅を少し広げる */
.worries-layout {
  grid-template-columns: 340px 240px 340px !important;
  column-gap: 96px !important;
  max-width: 1240px !important;
}

/* 人物を少し下げて、吹き出しと目線を合わせる */
.worries-chars {
  transform: translateY(18px) !important;
}

/* 人物画像を少しだけ小さくして被りを減らす */
.worries-chars__img {
  width: 230px !important;
  max-width: 230px !important;
}

/* 左側は少し左へ */
.worries-balloons--left {
  transform: translateX(-24px) !important;
}

/* 右側はしっかり右へ */
.worries-balloons--right {
  transform: translateX(100px) !important;
}

/* 吹き出し同士の縦間隔 */
.worries-balloons {
  gap: 20px !important;
}

/* ==========================================
   お悩みセクション：人物2人を中央に寄せる
   ========================================== */

/* 人物画像エリアを少し広げる */
.worries-layout {
  grid-template-columns: 340px 300px 340px !important;
  column-gap: 80px !important;
}

/* 人物画像を少し大きく戻して中央に配置 */
.worries-chars__img {
  width: 270px !important;
  max-width: 270px !important;
  margin: 0 auto !important;
}

/* 人物全体を中央寄せ */
.worries-chars {
  justify-content: center !important;
  transform: translateY(16px) !important;
}


@media (max-width: 1024px) {


}

@media (max-width: 768px) {


}

/* =========================================================
   FV 最終整理版
   目的：背景画像の上部を切り、下側の街並みを確実に見せる
   画像：/assets/images/hero-bg.jpg
   ========================================================= */

.hero {
  position: relative !important;
  height: 760px !important;
  min-height: 760px !important;
  display: flex !important;
  align-items: stretch !important;
  overflow: hidden !important;
  background: #dceaf0 !important;
}

.hero__bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(250, 247, 240, 0.84) 0%,
      rgba(250, 247, 240, 0.66) 32%,
      rgba(250, 247, 240, 0.30) 56%,
      rgba(250, 247, 240, 0.04) 100%
    ),
    url("/wp-content/themes/minamikaga-baikyaku/assets/images/hero-bg.jpg") !important;

  /* 横長FVに合わせて画像を拡大し、街並みのある下側を基準に表示 */
  background-size: cover, cover !important;
  background-position: center bottom, center bottom !important;
  background-repeat: no-repeat, no-repeat !important;
}

.hero__bg::after {
  display: none !important;
  content: none !important;
}

.hero__inner {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 88px 40px 80px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

.hero__content {
  width: 100% !important;
  max-width: 960px !important;
  margin: 0 !important;
}

.hero__breadcrumb {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 28px !important;
  padding: 8px 16px 8px 32px !important;
  border: 1px solid rgba(255, 255, 255, 0.38) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.30) !important;
  color: #42554e !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.85 !important;
  letter-spacing: 0.18em !important;
  backdrop-filter: blur(4px) !important;
  position: relative !important;
}

.hero__breadcrumb::before {
  content: "" !important;
  position: absolute !important;
  left: 15px !important;
  top: 50% !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #b88b3e !important;
  transform: translateY(-50%) !important;
}

.hero__eyebrow {
  margin: 0 0 8px !important;
  color: #42554e !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.06em !important;
}

.hero__title {
  margin: 0 0 22px !important;
  color: #123c32 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 52px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
  white-space: nowrap !important;
}

.hero__title-marker {
  display: inline-block !important;
  padding: 0 6px 2px !important;
  background: linear-gradient(
    to bottom,
    transparent 68%,
    rgba(184, 139, 62, 0.46) 68%
  ) !important;
}

.hero__title-inline,
.hero__title-strong {
  display: inline-block !important;
}

.hero__lead {
  margin: 0 0 28px !important;
  color: #42554e !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.95 !important;
}

.hero__box {
  width: 960px !important;
  max-width: 100% !important;
  margin: 0 0 28px !important;
  padding: 24px 40px 28px !important;
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 24px rgba(18, 60, 50, 0.08) !important;
  backdrop-filter: blur(3px) !important;
}

.hero__box-title {
  margin: 0 0 12px !important;
  color: #1a2620 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

.hero__box-text {
  margin: 0 !important;
  color: #4a574f !important;
  font-size: 14px !important;
  line-height: 1.95 !important;
}

.hero__btns {
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  padding-left: 13px !important;
}

.btn-hero-main,
.btn-hero-outline {
  min-width: 212px !important;
  height: 66px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.1em !important;
  text-decoration: none !important;
}

.btn-hero-main {
  color: #fff !important;
  background: #b88b3e !important;
  border: 2px solid #b88b3e !important;
  box-shadow: 0 8px 18px rgba(184, 139, 62, 0.20) !important;
}

.btn-hero-outline {
  color: #123c32 !important;
  background: #fff !important;
  border: 2px solid rgba(18, 60, 50, 0.24) !important;
  box-shadow: 0 8px 18px rgba(18, 60, 50, 0.08) !important;
}

@media (max-width: 1024px) {
  .hero {
    height: auto !important;
    min-height: 680px !important;
  }

  .hero__inner {
    height: auto !important;
    padding: 76px 32px 64px !important;
  }

  .hero__title {
    font-size: 42px !important;
    white-space: normal !important;
  }

  .hero__box {
    width: 100% !important;
  }
}

@media (max-width: 768px) {
  .hero {
    min-height: 620px !important;
  }

  .hero__bg {
    background-size: auto 100%, auto 100% !important;
    background-position: center bottom, center bottom !important;
  }

  .hero__inner {
    padding: 56px 20px 52px !important;
  }

  .hero__breadcrumb {
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
    line-height: 1.7 !important;
    padding: 8px 14px 8px 28px !important;
  }

  .hero__eyebrow {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  .hero__title {
    font-size: 31px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
  }

  .hero__title-marker,
  .hero__title-inline,
  .hero__title-strong {
    display: inline !important;
  }

  .hero__lead {
    font-size: 14px !important;
    line-height: 1.9 !important;
  }

  .hero__box {
    padding: 20px !important;
  }

  .hero__box-title {
    font-size: 17px !important;
  }

  .hero__box-text {
    font-size: 13px !important;
  }

  .hero__btns {
    padding-left: 0 !important;
    flex-direction: column !important;
  }

  .btn-hero-main,
  .btn-hero-outline {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* =========================================================
   FV背景：CSS background をやめて img 表示で街並みを強制表示
   ========================================================= */

.hero {
  position: relative !important;
  height: 760px !important;
  min-height: 760px !important;
  overflow: hidden !important;
  background: #faf7f0 !important;
}

/* 背景レイヤー */
.hero__bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;

  /* 既存の background 指定を無効化 */
  background: none !important;
  background-image: none !important;
}

/* 背景画像本体 */
.hero__bg-img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;

  /*
    重要：
    coverで全面表示しつつ、下側＝街並み側を優先表示
  */
  object-fit: cover !important;
  object-position: center 100% !important;
}

/* 既存の白ベールを無効化 */
.hero__bg::after {
  display: none !important;
  content: none !important;
}

/* テキストを背景より前に出す */
.hero__inner {
  position: relative !important;
  z-index: 2 !important;
}

/* 左側だけ読みやすくする薄いグラデーション */
.hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    90deg,
    rgba(250, 247, 240, 0.88) 0%,
    rgba(250, 247, 240, 0.68) 34%,
    rgba(250, 247, 240, 0.28) 58%,
    rgba(250, 247, 240, 0) 100%
  ) !important;
}

/* ==========================================
   比較表：得意分野の表示順調整
   特徴文 → 画像 → 引用元
   ========================================== */

.comp-field-head {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-bottom: 14px !important;
}

.comp-field-head .comp-tag {
  margin-bottom: 0 !important;
  flex-shrink: 0 !important;
}

.comp-field-head .comp-img-caption {
  margin: 0 !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  color: var(--color-text) !important;
}

.comp-hp-image {
  margin-bottom: 6px !important;
}

.comp-img-source {
  margin: 0 !important;
  text-align: right !important;
  font-size: 0.72rem !important;
  line-height: 1.6 !important;
  color: var(--color-text-lt) !important;
}

.comp-img-source a {
  color: var(--color-text-lt) !important;
  text-decoration: underline !important;
}

.comp-img-source a:hover {
  color: var(--color-main) !important;
}

/* ==========================================
   比較表：スマホのみタブ切り替え表示
   PCは既存の2社比較表のまま
   ========================================== */

/* PCではタブ非表示 */
.comp-mobile-tabs {
  display: none;
}

@media (max-width: 768px) {
  .comp-mobile-tabs {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0 0 14px;
  }

  .comp-mobile-tab {
    appearance: none;
    border: 2px solid var(--color-main);
    background: #fff;
    color: var(--color-main);
    border-radius: 6px;
    padding: 12px 8px;
    font-family: inherit;
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
  }

  .comp-mobile-tab.is-active {
    background: var(--color-main);
    color: #fff;
  }

  /* スマホではテーブルを画面幅内に収める */
  .comp-table-wrap--tabs {
    overflow-x: visible !important;
  }

  .comp-table-wrap--tabs .comp-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
  }

  .comp-table-wrap--tabs .comp-table th,
  .comp-table-wrap--tabs .comp-table td {
    display: table-cell;
    padding: 14px 12px !important;
    word-break: break-word;
  }

  /* 左の比較項目列 */
  .comp-table-wrap--tabs .comp-table th:first-child,
  .comp-table-wrap--tabs .comp-table td:first-child,
  .comp-table-wrap--tabs .comp-table__item-label,
  .comp-table-wrap--tabs .comp-table__label-col {
    width: 34% !important;
    min-width: 0 !important;
    font-size: 0.78rem !important;
    line-height: 1.6 !important;
  }

  /* 会社列 */
  .comp-table-wrap--tabs .comp-table th:nth-child(2),
  .comp-table-wrap--tabs .comp-table th:nth-child(3),
  .comp-table-wrap--tabs .comp-table td:nth-child(2),
  .comp-table-wrap--tabs .comp-table td:nth-child(3) {
    width: 66% !important;
    min-width: 0 !important;
  }

  /* シナジー表示時：カチタス列を非表示 */
  .comp-table-wrap--tabs[data-active-company="synergy"] .comp-table th:nth-child(3),
  .comp-table-wrap--tabs[data-active-company="synergy"] .comp-table td:nth-child(3) {
    display: none !important;
  }

  /* カチタス表示時：シナジー列を非表示 */
  .comp-table-wrap--tabs[data-active-company="kachitas"] .comp-table th:nth-child(2),
  .comp-table-wrap--tabs[data-active-company="kachitas"] .comp-table td:nth-child(2) {
    display: none !important;
  }

  /* スマホ時の会社名ヘッダー調整 */
  .comp-table-wrap--tabs .comp-company-name {
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }

  .comp-table-wrap--tabs .comp-company-copy {
    font-size: 0.75rem !important;
    line-height: 1.6 !important;
  }

  /* 画像が大きすぎる場合の調整 */
  .comp-table-wrap--tabs .comp-hp-image img {
    width: 100% !important;
    max-height: 220px !important;
    object-fit: contain !important;
  }

  .comp-table-wrap--tabs .comp-field-head {
    align-items: flex-start !important;
    gap: 8px !important;
  }

  .comp-table-wrap--tabs .comp-img-caption {
    font-size: 0.82rem !important;
  }

  .comp-table-wrap--tabs .comp-img-source {
    font-size: 0.68rem !important;
  }
}

/* ==========================================
   お悩みセクション：スマホレスポンシブ調整
   ========================================== */

@media (max-width: 768px) {
  .worries-section {
    padding: 48px 0 40px !important;
    overflow: hidden !important;
  }

  .worries-section .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .worries-title {
    font-size: 1.35rem !important;
    line-height: 1.6 !important;
    margin-bottom: 28px !important;
    text-align: center !important;
  }

  .worries-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 18px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  /* 人物画像を中央に表示 */
  .worries-chars {
    order: 1 !important;
    width: 180px !important;
    max-width: 180px !important;
    transform: none !important;
    margin: 0 auto 4px !important;
    display: flex !important;
    justify-content: center !important;
  }

  .worries-chars__img {
    width: 180px !important;
    max-width: 180px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  /* 吹き出しは人物の下に2列で配置 */
  .worries-balloons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    transform: none !important;
  }

  .worries-balloons--left {
    order: 2 !important;
  }

  .worries-balloons--right {
    order: 3 !important;
  }

  .worry-balloon {
    width: 100% !important;
    max-width: none !important;
    min-height: 84px !important;
    padding: 12px 12px !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 8px rgba(20, 43, 34, 0.06) !important;
  }

  .worry-balloon p {
    font-size: 0.75rem !important;
    line-height: 1.65 !important;
  }

  .worry-balloon strong {
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
  }

  /* スマホでは吹き出しの三角を消す */
  .worry-balloon::after,
  .worry-balloon--left::after,
  .worry-balloon--right::after {
    display: none !important;
  }
}

/* ==========================================
   お悩みセクション：小さいスマホでは1列
   ========================================== */

@media (max-width: 480px) {
  .worries-balloons {
    grid-template-columns: 1fr !important;
  }

  .worry-balloon {
    min-height: auto !important;
  }

  .worries-chars {
    width: 160px !important;
    max-width: 160px !important;
  }

  .worries-chars__img {
    width: 160px !important;
    max-width: 160px !important;
  }
}

/* ==========================================
   全体：見出しレスポンシブ調整
   ========================================== */

/* タブレット以下 */
@media (max-width: 1024px) {
  .section-title,
  .worries-title,
  .clist-title,
  .articles-header .section-title {
    font-size: clamp(1.55rem, 4vw, 2rem) !important;
    line-height: 1.55 !important;
    letter-spacing: 0.02em !important;
  }

  .section-lead,
  .market-lead {
    font-size: 0.95rem !important;
    line-height: 1.9 !important;
  }
}

/* スマホ共通 */
@media (max-width: 768px) {
  /* セクション全体の余白 */
  .section,
  .worries-section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  /* 英字ラベル */
  .section-label,
  .section-label-sm,
  .clist-label {
    font-size: 0.68rem !important;
    line-height: 1.6 !important;
    letter-spacing: 0.22em !important;
    margin-bottom: 10px !important;
    text-align: center !important;
  }

  /* メイン見出し共通 */
  .section-title,
  .worries-title,
  .clist-title,
  .articles-header .section-title {
    font-size: clamp(1.35rem, 6vw, 1.75rem) !important;
    line-height: 1.55 !important;
    letter-spacing: 0.01em !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 14px !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  /* 見出し下の線 */
  .title-bar {
    width: 42px !important;
    height: 3px !important;
    margin: 14px auto 22px !important;
  }

  /* リード文 */
  .section-lead,
  .market-lead {
    font-size: 0.88rem !important;
    line-height: 1.9 !important;
    text-align: left !important;
    margin-bottom: 32px !important;
  }

  /* 中央寄せしたいリード文だけ */
  #comparison .section-lead,
  #faq .section-lead,
  #company-list .section-lead,
  .worries-section .section-lead {
    text-align: center !important;
  }

  /* お悩み見出しだけ少し調整 */
  .worries-title {
    max-width: 330px !important;
    font-size: clamp(1.35rem, 5.8vw, 1.7rem) !important;
    line-height: 1.65 !important;
    margin-bottom: 28px !important;
  }

  .worries-title__em {
    padding: 0 4px !important;
  }

  /* 比較表見出し */
  #comparison .section-title {
    max-width: 340px !important;
  }

  /* ポイント見出し */
  #points .section-title {
    max-width: 340px !important;
  }

  /* 会社紹介・会社一覧・記事見出し */
  #company .section-title,
  #company-list .section-title,
  #articles .section-title {
    max-width: 340px !important;
  }

  /* 記事見出し横並びをスマホでは縦並び */
  .articles-header {
    display: block !important;
    text-align: center !important;
  }

  .articles-more {
    display: inline-block !important;
    margin-top: 8px !important;
  }

  /* 会社一覧見出し */
  .clist-header {
    display: block !important;
    text-align: center !important;
  }

  .clist-title {
    justify-content: center !important;
  }
}

/* 小さいスマホ */
@media (max-width: 480px) {
  .section-title,
  .worries-title,
  .clist-title,
  .articles-header .section-title {
    font-size: clamp(1.25rem, 6.2vw, 1.55rem) !important;
    line-height: 1.6 !important;
  }

  .section-lead,
  .market-lead {
    font-size: 0.84rem !important;
    line-height: 1.9 !important;
  }

  .worries-title {
    max-width: 300px !important;
  }

  #comparison .section-title,
  #points .section-title,
  #company .section-title,
  #company-list .section-title,
  #articles .section-title {
    max-width: 300px !important;
  }
}

/* =========================================================
   下層ページ共通：運営者情報・プライバシーポリシー・サイトマップ
   イメージ画像寄せ
   ========================================================= */

/* 下層ページ全体 */
.lower-page,
.sitemap-page {
  background: #fff !important;
  color: #333 !important;
}

/* 既存のベージュ背景を解除 */
.lower-hero {
  background: #fff !important;
  border-bottom: 1px solid #ddd !important;
  padding: 72px 0 24px !important;
  text-align: left !important;
}

.lower-hero .container {
  max-width: 960px !important;
  padding: 0 40px !important;
}

/* 英字ラベルは下層では控えめに */
.lower-hero .section-label {
  display: none !important;
}

/* ページタイトル */
.lower-title {
  color: #333 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.02em !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 0 18px !important;
  border-bottom: 2px solid #5f8b6d !important;
}

/* 既存の中央線を非表示 */
.lower-hero .title-bar {
  display: none !important;
}

/* 本文エリア */
.lower-content-section,
.sitemap-section {
  padding: 32px 0 80px !important;
  background: #fff !important;
}

.lower-content-section .container,
.sitemap-section .container {
  max-width: 960px !important;
  padding: 0 40px !important;
}

/* 白カード風を解除して、通常記事風に */
.lower-content,
.sitemap-article {
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 段落 */
.lower-content p,
.sitemap-article p {
  color: #333 !important;
  font-size: 15px !important;
  line-height: 2 !important;
  margin: 0 0 22px !important;
}

/* 見出し h2 */
.lower-content h2,
.sitemap-heading {
  position: relative !important;
  color: #333 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  margin: 42px 0 18px !important;
  padding: 0 0 0 16px !important;
  border: none !important;
  border-left: 4px solid #6f9a78 !important;
}

/* 最初のh2だけ余白を詰める */
.lower-content h2:first-child,
.sitemap-block:first-child .sitemap-heading {
  margin-top: 0 !important;
}

/* h3 */
.lower-content h3 {
  color: #333 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  margin: 32px 0 14px !important;
  padding: 0 0 8px !important;
  border-bottom: 1px solid #d9d9d9 !important;
}

/* リンク */
.lower-content a,
.sitemap-article a {
  color: #2d6f68 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.lower-content a:hover,
.sitemap-article a:hover {
  opacity: 0.75 !important;
}

/* =========================================================
   運営者情報：テーブル
   ========================================================= */

.profile-table,
.lower-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 28px 0 40px !important;
  border: 1px solid #555 !important;
  background: #fff !important;
}

.profile-table th,
.profile-table td,
.lower-content table th,
.lower-content table td {
  border: 1px solid #555 !important;
  padding: 13px 16px !important;
  color: #333 !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  vertical-align: middle !important;
  background: #fff !important;
}

.profile-table th,
.lower-content table th {
  width: 32% !important;
  text-align: center !important;
  font-weight: 700 !important;
  background: #fff !important;
}

.profile-table td,
.lower-content table td {
  text-align: left !important;
}

/* 長文セル */
.profile-table td br + br {
  display: block !important;
  content: "" !important;
  margin-top: 12px !important;
}

/* =========================================================
   プライバシーポリシー
   ========================================================= */

.lower-content > p:first-child {
  margin-top: 0 !important;
}

.lower-content h2 + p {
  margin-top: 0 !important;
}

/* プラポリの番号見出しをイメージ寄せ */
.lower-content h2 {
  border-left-color: #6f9a78 !important;
}

/* =========================================================
   サイトマップ
   ========================================================= */

.sitemap-block {
  margin: 0 0 38px !important;
}

.sitemap-heading-link {
  color: #333 !important;
  text-decoration: none !important;
}

.sitemap-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.sitemap-list li {
  margin: 0 !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid #dcdcdc !important;
  color: #333 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.sitemap-list li:first-child {
  border-top: none !important;
}

.sitemap-list li a {
  color: #333 !important;
  text-decoration: none !important;
}

.sitemap-list li a:hover {
  color: #2d6f68 !important;
  text-decoration: underline !important;
}

.sitemap-child-list {
  margin-top: 12px !important;
}

.sitemap-empty {
  color: #777 !important;
  font-size: 14px !important;
}

/* =========================================================
   下層ページ：ヘッダー下の余白調整
   ========================================================= */

.lower-page .site-main,
.sitemap-page .site-main {
  margin-top: 0 !important;
}

/* フッターと本文が近すぎる場合の余白 */
.lower-content-section + .site-footer,
.sitemap-section + .site-footer {
  margin-top: 0 !important;
}

/* =========================================================
   レスポンシブ
   ========================================================= */

@media (max-width: 768px) {
  .lower-hero {
    padding: 48px 0 20px !important;
  }

  .lower-hero .container,
  .lower-content-section .container,
  .sitemap-section .container {
    padding: 0 22px !important;
  }

  .lower-title {
    font-size: 24px !important;
    line-height: 1.5 !important;
    padding-bottom: 14px !important;
  }

  .lower-content-section,
  .sitemap-section {
    padding: 28px 0 64px !important;
  }

  .lower-content p,
  .sitemap-article p {
    font-size: 14px !important;
    line-height: 1.9 !important;
  }

  .lower-content h2,
  .sitemap-heading {
    font-size: 20px !important;
    line-height: 1.55 !important;
    margin: 34px 0 16px !important;
    padding-left: 14px !important;
  }

  .lower-content h3 {
    font-size: 17px !important;
  }

  .profile-table,
  .lower-content table {
    border: 1px solid #555 !important;
  }

  .profile-table th,
  .profile-table td,
  .lower-content table th,
  .lower-content table td {
    display: block !important;
    width: 100% !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    text-align: left !important;
  }

  .profile-table th,
  .lower-content table th {
    background: #f7f7f7 !important;
    border-bottom: none !important;
    text-align: left !important;
  }

  .sitemap-list li {
    font-size: 14px !important;
    padding: 9px 0 !important;
  }
}

@media (max-width: 480px) {
  .lower-hero .container,
  .lower-content-section .container,
  .sitemap-section .container {
    padding: 0 18px !important;
  }

  .lower-title {
    font-size: 22px !important;
  }

  .lower-content h2,
  .sitemap-heading {
    font-size: 18px !important;
  }
}

/* =========================================================
   下層ページ共通：TOPテーマカラー版
   運営者情報・プライバシーポリシー・サイトマップ
   ========================================================= */

.lower-page,
.sitemap-page {
  background: #faf7f0 !important;
  color: #1a2620 !important;
}

/* ページ上部 */
.lower-hero {
  background: #faf7f0 !important;
  border-bottom: 1px solid #e5dfd0 !important;
  padding: 72px 0 28px !important;
  text-align: left !important;
}

.lower-hero .container,
.lower-content-section .container,
.sitemap-section .container {
  max-width: 960px !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* 英字ラベル */
.lower-hero .section-label {
  display: block !important;
  color: #b88b3e !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-align: left !important;
  margin: 0 0 14px !important;
}

/* ページタイトル */
.lower-title {
  color: #123c32 !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
  text-align: left !important;
  margin: 0 !important;
  padding-bottom: 18px !important;
  border-bottom: 3px solid #b88b3e !important;
}

.lower-hero .title-bar {
  display: none !important;
}

/* 本文エリア */
.lower-content-section,
.sitemap-section {
  background: #faf7f0 !important;
  padding: 40px 0 88px !important;
}

.lower-content,
.sitemap-article {
  background: #fff !important;
  border: 1px solid #e5dfd0 !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(20, 43, 34, 0.06) !important;
  padding: 48px !important;
}

/* 段落 */
.lower-content p,
.sitemap-article p {
  color: #4a574f !important;
  font-size: 15px !important;
  line-height: 2 !important;
  margin: 0 0 22px !important;
}

/* 見出し */
.lower-content h2,
.sitemap-heading {
  color: #123c32 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.6 !important;
  margin: 42px 0 18px !important;
  padding: 0 0 0 16px !important;
  border-left: 5px solid #b88b3e !important;
  border-bottom: none !important;
}

.lower-content h2:first-child,
.sitemap-block:first-child .sitemap-heading {
  margin-top: 0 !important;
}

/* リンク */
.lower-content a,
.sitemap-article a {
  color: #123c32 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.lower-content a:hover,
.sitemap-article a:hover {
  color: #b88b3e !important;
}

/* テーブル */
.profile-table,
.lower-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 28px 0 40px !important;
  border: 1px solid #e5dfd0 !important;
  background: #fff !important;
}

.profile-table th,
.profile-table td,
.lower-content table th,
.lower-content table td {
  border: 1px solid #e5dfd0 !important;
  padding: 15px 18px !important;
  color: #1a2620 !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  vertical-align: middle !important;
}

.profile-table th,
.lower-content table th {
  width: 30% !important;
  background: #f5f0e8 !important;
  color: #123c32 !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.profile-table td,
.lower-content table td {
  background: #fff !important;
  text-align: left !important;
}

/* サイトマップ */
.sitemap-block {
  margin: 0 0 40px !important;
}

.sitemap-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.sitemap-list li {
  margin: 0 !important;
  padding: 11px 0 !important;
  border-bottom: 1px solid #e5dfd0 !important;
  color: #4a574f !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.sitemap-list li a {
  color: #123c32 !important;
  text-decoration: none !important;
}

.sitemap-list li a:hover {
  color: #b88b3e !important;
  text-decoration: underline !important;
}

/* スマホ */
@media (max-width: 768px) {
  .lower-hero {
    padding: 52px 0 24px !important;
  }

  .lower-hero .container,
  .lower-content-section .container,
  .sitemap-section .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .lower-title {
    font-size: 24px !important;
    line-height: 1.5 !important;
  }

  .lower-content,
  .sitemap-article {
    padding: 28px 20px !important;
  }

  .lower-content h2,
  .sitemap-heading {
    font-size: 19px !important;
  }

  .profile-table th,
  .profile-table td,
  .lower-content table th,
  .lower-content table td {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
  }

  .profile-table th,
  .lower-content table th {
    border-bottom: none !important;
  }
}

/* ==========================================
   FV：徹底比較にはアンダーラインを付けない
   ========================================== */

/* 「相続・空き家に強い会社を、」だけにマーカーを残す */
.hero__title-marker {
  background: linear-gradient(
    to bottom,
    transparent 68%,
    rgba(184, 139, 62, 0.46) 68%
  ) !important;
}

/* 「徹底比較」側のマーカーを消す */
.hero__title-strong {
  background: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* ==========================================
   FV：アンダーラインを「相続・空き家に強い会社」だけに限定
   ========================================== */

/* h1全体やfirst-lineに付いているマーカーを完全に消す */
.hero__title,
.hero__title::first-line {
  background: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* すべてのspanから一旦マーカーを消す */
.hero__title span,
.hero__title-marker,
.hero__title-inline,
.hero__title-strong {
  background: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* このクラスにだけマーカーを付ける */
.hero__title-highlight {
  display: inline !important;
  background: linear-gradient(
    to bottom,
    transparent 68%,
    rgba(184, 139, 62, 0.58) 68%
  ) !important;
  box-shadow: none !important;
}

/* ==========================================
   FV：ラインは「相続・空き家に強い会社」だけに付ける
   ========================================== */

/* h1全体・既存spanのラインは消す */
.hero__title,
.hero__title::first-line,
.hero__title span,
.hero__title-marker,
.hero__title-inline,
.hero__title-strong {
  background: none !important;
  text-decoration: none !important;
}

/* 残したい文字だけラインを付け直す */
.hero__title-highlight {
  display: inline !important;
  background: none !important;
  box-shadow: inset 0 -0.32em 0 rgba(184, 139, 62, 0.62) !important;
  padding: 0 0.04em !important;
}

/* ==========================================
   FV：ラインを「相続・空き家に強い会社」だけに限定
   ========================================== */

/* h1全体・first-lineのラインを完全に無効化 */
.hero__title,
.hero__title::first-line {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* 既存spanの背景指定も一旦リセット */
.hero__title span,
.hero__title-marker,
.hero__title-inline,
.hero__title-strong {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* ラインを付けたい文字だけ */
.hero__title-highlight {
  position: relative !important;
  display: inline-block !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  z-index: 0 !important;
}

/* 背景ではなく疑似要素でラインを作る */
.hero__title-highlight::before {
  content: "" !important;
  position: absolute !important;
  left: -0.04em !important;
  right: -0.04em !important;
  bottom: 0.12em !important;
  height: 0.32em !important;
  background: rgba(181, 138, 62, 0.62) !important;
  z-index: -1 !important;
  pointer-events: none !important;
}