/* ============================================
   比較ナビ 汎用テーマ - main.css
   ============================================
   【カスタマイズ箇所】
   サイトごとに変更が必要なのは :root の変数のみ。
   --color-main  … メインカラー（ヘッダー・ボタン等）
   --color-accent … アクセントカラー（見出し装飾等）
   --color-dark  … ダークセクション背景
   その他の変数も必要に応じて調整してください。
============================================ */
============================================ */
:root {
  --color-main:      #0a065d;
  --color-main-dark: #050836;
  --color-accent:    #a3816a;
  --color-point1:    #9FCFC5;
  --color-point2:    #E3B08C;
  --color-point3:    #E7B27A;
  --color-text:      #1a1830;
  --color-text-mid:  #555555;
  --color-text-lt:   #888888;
  --color-bg:        #fdf7f2;
  --color-warm:      #fdf7f2;
  --color-white:     #FFFFFF;
  --color-dark:      #050836;
  --color-border:    #d6cccc;
  --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;background:#050836;}
body{font-family:var(--font);color:var(--color-text);background:#050836 !important;line-height:1.8;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh;}
body > main, body > #main, body > .site-main, body > .lower-page, body > .single-page-wrap, body > .archive-wrap, body > .error-wrap { flex: 1 0 auto; background: var(--color-bg); }
.site-footer{margin-top:auto;flex-shrink:0;}
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:#050836;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 !important;margin-bottom:8px;}
.footer-brand__desc{font-size:.8rem;color:rgba(255,255,255,.5) !important;line-height:1.8;}
.footer-nav__title{font-size:.72rem;font-weight:700;color:rgba(255,255,255,.4) !important;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) !important;}
.footer-nav__list a:hover{color:#fff !important;}
.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) !important;}

/* パンくず */
.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: #050836 !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: 28px !important;
  right: 28px !important;
  width: 56px !important;
  height: 56px !important;
  background: var(--color-accent) !important;
  color: var(--color-main) !important;
  border: none !important;
  border-radius: 50% !important;
  font-size: 1.1rem !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 16px rgba(10,6,93,0.35) !important;
  z-index: 10000 !important;
  transition: background 0.2s, transform 0.2s, bottom 0.2s !important;
}

.page-top-btn:hover {
  background: var(--color-accent-dark, #8a6a58) !important;
  transform: translateY(-2px) !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;
  }
}

/* ==========================================
   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;
}
/* ==========================================================
   ヘッダー：モバイル表示調整
   - PRバーを小さく
   - 白背景
   - 横はみ出し防止
   - ハンバーガーメニュー復活
   ========================================================== */

/* PRバー：白背景・小さめ文字 */
.site-pr-bar {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  background: #fff !important;
  border-bottom: 1px solid rgba(18, 61, 77, 0.08);
  overflow: hidden;
}

.site-pr-bar__text,
.site-pr-bar p {
  margin: 0 !important;
  padding: 5px 12px !important;
  color: #123d4d;
  font-size: 11px !important;
  font-weight: 600;
  line-height: 1.45 !important;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ヘッダー全体の横はみ出し防止 */
.site-header {
  width: 100%;
  max-width: 100%;
  background: #fff;
  overflow: visible;
}

.site-header__inner {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* ロゴの横はみ出し防止 */
.site-logo {
  min-width: 0;
  max-width: 100%;
}

.site-logo__text {
  min-width: 0;
  max-width: 100%;
}

.site-logo__text small,
.site-logo__text span {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* PCでは通常ナビ表示 */
.burger-btn {
  display: none;
}

/* ==========================================================
   768px以下：スマホヘッダー
   ========================================================== */
@media (max-width: 768px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  #page,
  #main {
    max-width: 100%;
    overflow-x: hidden;
  }

  .site-pr-bar__text,
  .site-pr-bar p {
    padding: 4px 10px !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
  }

  .site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 12px;
  }

  .site-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 52px);
  }

  .site-logo__icon {
    flex: 0 0 auto;
  }

  .site-logo__text {
    flex: 1 1 auto;
    min-width: 0;
  }

  .site-logo__text small {
    font-size: 9px;
    line-height: 1.35;
    white-space: nowrap;
  }

  .site-logo__text span {
    font-size: 12px;
    line-height: 1.35;
    white-space: nowrap;
  }

  /* PCナビはスマホで非表示 */
  .site-nav {
    display: none !important;
  }

  /* ハンバーガーメニューを表示 */
  .burger-btn {
    display: inline-flex !important;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 0;
    border-radius: 8px;
    background: #123d4d;
    cursor: pointer;
    padding: 0;
  }

  .burger-btn span {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: #fff;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }

  .burger-btn.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .burger-btn.is-open span:nth-child(2) {
    opacity: 0;
  }

  .burger-btn.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  /* モバイルメニュー */
  .mobile-menu {
    display: none;
    width: 100%;
    background: #fff;
    border-top: 1px solid rgba(18, 61, 77, 0.1);
    border-bottom: 1px solid rgba(18, 61, 77, 0.1);
  }

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

  .mobile-menu ul {
    margin: 0;
    padding: 8px 16px;
    list-style: none;
  }

  .mobile-menu li {
    border-bottom: 1px solid rgba(18, 61, 77, 0.08);
  }

  .mobile-menu li:last-child {
    border-bottom: 0;
  }

  .mobile-menu a {
    display: block;
    padding: 13px 0;
    color: #123d4d;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
  }
}

/* ==========================================================
   390px以下：さらに詰める
   ========================================================== */
@media (max-width: 390px) {
  .site-header__inner {
    padding: 7px 10px;
  }

  .site-logo {
    max-width: calc(100% - 48px);
  }

  .site-logo__text small {
    font-size: 8px;
  }

  .site-logo__text span {
    font-size: 11px;
  }

  .burger-btn {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
  }

  .burger-btn span {
    width: 18px;
  }
}
/* ==========================================================
   モバイルヘッダー修正版
   - PCナビをスマホで非表示
   - ハンバーガーを右に表示
   - mobile-menu は初期非表示
   - ヘッダーの横はみ出し防止
   ========================================================== */

@media (max-width: 768px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  #page,
  #main {
    max-width: 100%;
    overflow-x: hidden;
  }

  /* PRバー */
  .site-pr-bar {
    width: 100%;
    max-width: 100%;
    background: #fff !important;
    border-bottom: 1px solid rgba(18, 61, 77, 0.08);
    overflow: hidden;
  }

  .site-pr-bar__text,
  .site-pr-bar p {
    margin: 0 !important;
    padding: 4px 10px !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* ヘッダー */
  .site-header {
    width: 100%;
    max-width: 100%;
    background: #fff;
    overflow: visible;
  }

  .site-header__inner {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 12px !important;
  }

  /* ロゴ */
  .site-logo {
    display: flex !important;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 52px);
    text-decoration: none;
  }

  .site-logo__icon {
    flex: 0 0 auto;
  }

  .site-logo__text {
    display: block;
    min-width: 0;
    max-width: 100%;
  }

  .site-logo__text small,
  .site-logo__text span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .site-logo__text small {
    font-size: 8px !important;
    line-height: 1.35;
  }

  .site-logo__text span {
    font-size: 12px !important;
    line-height: 1.35;
  }

  /* PC用ナビはスマホで必ず消す */
  .site-nav {
    display: none !important;
  }

  .site-nav ul,
  .site-nav li {
    display: none !important;
  }

  /* ハンバーガー表示 */
  .burger-btn {
    display: inline-flex !important;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 0;
    border-radius: 8px;
    background: #123d4d;
    padding: 0;
    cursor: pointer;
    z-index: 20;
  }

  .burger-btn span {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: #fff;
  }

  .burger-btn.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .burger-btn.is-open span:nth-child(2) {
    opacity: 0;
  }

  .burger-btn.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  /* モバイルメニューは初期状態で必ず非表示 */
  .mobile-menu {
    display: none !important;
    width: 100%;
    background: #fff;
    border-top: 1px solid rgba(18, 61, 77, 0.1);
    border-bottom: 1px solid rgba(18, 61, 77, 0.1);
  }

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

  .mobile-menu ul {
    margin: 0;
    padding: 8px 16px;
    list-style: none;
  }

  .mobile-menu li {
    border-bottom: 1px solid rgba(18, 61, 77, 0.08);
  }

  .mobile-menu li:last-child {
    border-bottom: 0;
  }

  .mobile-menu a {
    display: block;
    padding: 13px 0;
    color: #123d4d;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
  }
}

@media (max-width: 390px) {
  .site-header__inner {
    padding: 7px 10px !important;
  }

  .site-logo {
    max-width: calc(100% - 48px);
  }

  .site-logo__text small {
    font-size: 7px !important;
  }

  .site-logo__text span {
    font-size: 11px !important;
  }

  .burger-btn {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
  }

  .burger-btn span {
    width: 18px;
  }
}
/* ==========================================================
   モバイル：ハンバーガーボタンと開閉メニューの見た目を強制表示
   ========================================================== */

@media (max-width: 768px) {

  /* ヘッダー右側にボタンを確実に置く */
  .site-header__inner {
    position: relative;
  }

  .burger-btn {
    display: flex !important;
    position: relative !important;
    z-index: 9999 !important;

    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    flex: 0 0 42px !important;

    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;

    margin-left: auto !important;
    padding: 0 !important;

    background: #123d4d !important;
    border: 1px solid #123d4d !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    cursor: pointer !important;
  }

  .burger-btn span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    min-height: 2px !important;
    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;
    border-radius: 999px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .burger-btn.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  .burger-btn.is-open span:nth-child(2) {
    opacity: 0 !important;
  }

  .burger-btn.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  /* PCナビはスマホでは非表示 */
  .site-nav {
    display: none !important;
  }

  /* モバイルメニュー：閉じている状態 */
  .mobile-menu {
    display: none !important;
    position: relative !important;
    z-index: 9998 !important;

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

    background: #ffffff !important;
    color: #123d4d !important;
    border-top: 1px solid rgba(18, 61, 77, 0.12) !important;
    border-bottom: 1px solid rgba(18, 61, 77, 0.12) !important;
    box-shadow: 0 10px 24px rgba(18, 61, 77, 0.08) !important;

    opacity: 1 !important;
    visibility: visible !important;
  }

  /* モバイルメニュー：開いている状態 */
  .mobile-menu.is-open {
    display: block !important;
    background: #ffffff !important;
  }

  .mobile-menu ul {
    display: block !important;
    margin: 0 !important;
    padding: 8px 16px !important;
    list-style: none !important;
    background: #ffffff !important;
  }

  .mobile-menu li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(18, 61, 77, 0.08) !important;
    background: #ffffff !important;
  }

  .mobile-menu li:last-child {
    border-bottom: 0 !important;
  }

  .mobile-menu a {
    display: block !important;
    padding: 13px 0 !important;
    color: #123d4d !important;
    background: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
  }
}