/* youtown.jp 全ページ共通ダークテーマ（2026-09-23）
   トップページ（body.pt-homepage）は theme-dark-20260923.css が担当。ここは公開ページ（.pt-nav のあるページ）の残り全部。
   仕組み：共通の色変数を暗色へ差し替え、固定色で書かれた部分を上書きする。文章・構成・導線は変えない。 */

body:has(.pt-nav):not(.pt-homepage){
  --yt-ink:#f1ece2; --yt-muted:#a6b3ad; --yt-paper:#0c1615; --yt-alt:#12201e; --yt-line:rgba(241,236,226,.12); --yt-accent:#c96a3e;
  --pt-ink:#070f0e; --pt-deep:#122624; --pt-deep-2:#1b3a36; --pt-heading:#f1ece2; --pt-text:#d9d5cb; --pt-muted:#a6b3ad;
  --pt-copper:#e79a6c; --pt-copper-deep:#c96a3e; --pt-copper-bright:#f3c3a1; --pt-copper-tint:rgba(201,106,62,.14);
  --pt-paper:#0c1615; --pt-paper-alt:#12201e; --pt-card-bg:rgba(255,255,255,.045); --pt-border:rgba(241,236,226,.12); --pt-border-strong:rgba(241,236,226,.22);
  --pt-warn-bg:rgba(201,106,62,.12); --pt-warn-border:rgba(231,154,108,.4); --pt-danger:#f08a76; --pt-ok:#8fe3c9;
  --pt-shadow-sm:0 1px 2px rgba(0,0,0,.3); --pt-shadow:0 20px 50px -30px rgba(0,0,0,.8); --pt-shadow-lg:0 30px 80px -40px rgba(0,0,0,.9);
  --glass:rgba(255,255,255,.045); --glass-line:rgba(255,255,255,.09); --copper2:#e79a6c; --mint:#8fe3c9;
  background:var(--yt-paper); color:var(--yt-ink);
}
body:has(.pt-nav):not(.pt-homepage)::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.07;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='200' height='200' filter='url(%23n)' opacity='.9'/></svg>");}
body:has(.pt-nav):not(.pt-homepage)::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 40% at 85% 0%,rgba(201,106,62,.16),transparent 60%),radial-gradient(45% 35% at 5% 40%,rgba(143,227,201,.07),transparent 60%);}
body:has(.pt-nav):not(.pt-homepage) > *{position:relative;z-index:1}
body:has(.pt-nav):not(.pt-homepage) ::selection{background:var(--yt-accent);color:#fff}

/* 文字色：固定色で暗い文字が指定されている所を生成りへ */
body:has(.pt-nav):not(.pt-homepage) main :is(h1,h2,h3,h4,h5,.pt-h1,.pt-h2,.pt-h3,.seo-title,.seo-detail-title,.guide-title,.guide-detail-title,.case-detail-title,.lib-title,.lib-h2,.term-title,.industry-detail-title,.service-detail-title){color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) main :is(p,li,dd,dt,td,th,figcaption,small,label,summary,blockquote,address){color:inherit}
body:has(.pt-nav):not(.pt-homepage) main{color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) main :is(.pt-lead,.pt-text,.seo-lead,.guide-lead,.guide-detail-lead,.lib-lead,.case-lead){color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) main :is(.pt-small,.pt-muted,.pt-field-hint,.text-muted,.lib-block-note,.lib-lead-sub,.yt-fig figcaption,.seo-mini-label){color:var(--pt-muted)!important}
body:has(.pt-nav):not(.pt-homepage) main a:not(.btn):not(.pt-btn):not(.gd-cta-btn):not([class*="card"]):not([class*="chip"]){color:var(--copper2)}
body:has(.pt-nav):not(.pt-homepage) :is(.pt-kicker,.seo-kicker,.guide-kicker,.glossary-kicker,.term-kicker,.industry-kicker,.lib-kicker){color:var(--copper2)}
body:has(.pt-nav):not(.pt-homepage) .pt-kicker::before{background:var(--copper2)}
body:has(.pt-nav):not(.pt-homepage) .pt-kicker::after{color:var(--copper2)}

/* ヘッダー（pt-nav） */
body:has(.pt-nav):not(.pt-homepage) .pt-nav{background:rgba(12,22,21,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--yt-line)}
body:has(.pt-nav):not(.pt-homepage) .pt-nav .nav-link,body:has(.pt-nav):not(.pt-homepage) .pt-nav .navbar-brand{color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .pt-nav .nav-link:hover{color:var(--copper2)}
body:has(.pt-nav):not(.pt-homepage) .yt-brand-name{color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .yt-brand-tag{color:var(--yt-muted)}
body:has(.pt-nav):not(.pt-homepage) .pt-nav .navbar-toggler{border-color:var(--glass-line);background:var(--glass)}
body:has(.pt-nav):not(.pt-homepage) .pt-nav .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(241,236,226,.9)' stroke-width='2.2' stroke-linecap='round' d='M5 8h20M5 15h20M5 22h20'/%3E%3C/svg%3E")}
body:has(.pt-nav):not(.pt-homepage) .pt-nav .navbar-collapse{background:transparent}
@media(max-width:1199.98px){body:has(.pt-nav):not(.pt-homepage) .pt-nav .navbar-collapse{background:rgba(12,22,21,.98);border-top:1px solid var(--yt-line);margin-top:10px;padding:10px 0;border-radius:0 0 16px 16px}}
body:has(.pt-nav):not(.pt-homepage) .pt-progress{background:linear-gradient(90deg,#c96a3e,#e79a6c)}

/* ボタン */
body:has(.pt-nav):not(.pt-homepage) :is(.pt-nav-cta,.pt-btn-primary,.seo-primary,.case-primary,.guide-primary,.industry-primary,.service-primary,.btn-brand-primary,.gd-cta-btn,.lib-btn){background:linear-gradient(135deg,#d4744a,#b4522d);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:999px;box-shadow:0 10px 30px -12px rgba(201,106,62,.5),inset 0 1px 0 rgba(255,255,255,.18)}
body:has(.pt-nav):not(.pt-homepage) :is(.pt-nav-cta,.pt-btn-primary,.seo-primary,.case-primary,.guide-primary,.industry-primary,.service-primary,.btn-brand-primary,.gd-cta-btn,.lib-btn):hover{background:linear-gradient(135deg,#e08658,#c05f38);color:#fff;box-shadow:0 16px 36px -12px rgba(201,106,62,.6)}
body:has(.pt-nav):not(.pt-homepage) :is(.pt-btn-outline,.btn-outline-success,.btn-outline-light,.lib-btn-ghost,.guide-related-nav){background:var(--glass);border:1px solid var(--glass-line);color:var(--yt-ink);border-radius:999px}
body:has(.pt-nav):not(.pt-homepage) :is(.pt-btn-outline,.btn-outline-success,.lib-btn-ghost,.guide-related-nav):hover{border-color:var(--copper2);color:var(--copper2);background:rgba(255,255,255,.06)}

/* カード・パネル・注意枠：ガラス調 */
body:has(.pt-nav):not(.pt-homepage) :is(.pt-card,.pt-price-card,.pt-note,.pt-form,.pt-details,.seo-panel,.seo-card,.guide-card,.guide-panel,.guide-side .guide-panel,.glossary-card,.term-panel,.term-side,.industry-panel,.industry-side,.industry-related-card,.case-card,.seo-flow li,.lib-block,.lib-notice,.yt-svc-card,.guide-related-card,.gd-mid-cta,.cf-terms,.lib-side-sticky > *,.card){
  background:var(--glass);border:1px solid var(--glass-line);color:var(--pt-text);box-shadow:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body:has(.pt-nav):not(.pt-homepage) :is(a.pt-card,.seo-card,.guide-card,.glossary-card,.industry-related-card,.case-card,.yt-svc-card,.guide-related-card):hover{border-color:rgba(231,154,108,.5);background:rgba(255,255,255,.06);box-shadow:0 24px 50px -30px rgba(0,0,0,.9)}
body:has(.pt-nav):not(.pt-homepage) :is(.pt-card,.seo-card,.guide-card,.case-card,.yt-svc-card,.guide-related-card) :is(h2,h3,strong){color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .pt-note-title{color:var(--copper2)}
body:has(.pt-nav):not(.pt-homepage) .pt-section-alt{background:transparent}
body:has(.pt-nav):not(.pt-homepage) :is(.guide-panel,.lib-block) h2{color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) :is(.guide-mini-label,.lib-divider-title){color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) :is(.guide-list li i,.lib-list-check li::before){color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) .guide-side-link{color:var(--yt-ink);border-bottom-color:var(--yt-line)}
body:has(.pt-nav):not(.pt-homepage) .guide-side-link:hover{color:var(--copper2)}
body:has(.pt-nav):not(.pt-homepage) .guide-choice-list > div{border-bottom-color:var(--yt-line)}
body:has(.pt-nav):not(.pt-homepage) .yt-fig img{border-color:var(--glass-line)}
body:has(.pt-nav):not(.pt-homepage) .guide-final-cta{background:radial-gradient(70% 80% at 80% 20%,rgba(201,106,62,.28),transparent 60%),linear-gradient(120deg,#132522,#0c1615);border:1px solid var(--glass-line)}
body:has(.pt-nav):not(.pt-homepage) :is(.pt-cta-band,.seo-final-cta,.guide-cta,.industry-final-cta){background:radial-gradient(70% 80% at 80% 20%,rgba(201,106,62,.28),transparent 60%),linear-gradient(120deg,#132522,#0c1615);border:1px solid var(--glass-line)}
body:has(.pt-nav):not(.pt-homepage) :is(.pt-hero,.guide-hero,.guide-detail-hero,.glossary-hero,.term-hero,.industry-hero,.industry-detail-hero,.case-hero,.case-detail-hero,.seo-detail-hero,.service-hero,.service-detail-hero,.lib-hero){border-bottom:1px solid var(--yt-line)}
body:has(.pt-nav):not(.pt-homepage) .gd-sticky{background:rgba(12,22,21,.92);border-top-color:var(--yt-line)}
body:has(.pt-nav):not(.pt-homepage) .gd-sticky .gd-sticky-note{color:var(--yt-muted)}
body:has(.pt-nav):not(.pt-homepage) .gd-light .gd-chips li{background:var(--glass);border-color:var(--glass-line);color:var(--yt-ink)}

/* フォーム（/contact ほか） */
body:has(.pt-nav):not(.pt-homepage) .pt-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea),body:has(.pt-nav):not(.pt-homepage) main :is(.form-control,.form-select){background:rgba(0,0,0,.25);border:1px solid var(--pt-border-strong);color:var(--yt-ink);border-radius:12px}
body:has(.pt-nav):not(.pt-homepage) .pt-form :is(input,select,textarea):focus,body:has(.pt-nav):not(.pt-homepage) main :is(.form-control,.form-select):focus{border-color:var(--copper2);box-shadow:0 0 0 4px rgba(201,106,62,.22);background:rgba(0,0,0,.35)}
body:has(.pt-nav):not(.pt-homepage) .pt-form ::placeholder{color:rgba(241,236,226,.4)}
body:has(.pt-nav):not(.pt-homepage) .pt-form select option{background:#12201e;color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .pt-opt{background:var(--glass);border-color:var(--glass-line);color:var(--yt-muted)}
body:has(.pt-nav):not(.pt-homepage) .pt-req{background:#c9543e;color:#fff}
body:has(.pt-nav):not(.pt-homepage) .pt-check input[type=checkbox]{accent-color:#c96a3e}
body:has(.pt-nav):not(.pt-homepage) .pt-alert{background:rgba(201,84,62,.15);border:1px solid rgba(240,138,118,.4);color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .pt-file-item{background:var(--glass);border-color:var(--glass-line)}
body:has(.pt-nav):not(.pt-homepage) .cf-chips li{background:var(--glass);border:1px solid var(--glass-line);color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .cf-num{background:linear-gradient(135deg,#d4744a,#b4522d)}
body:has(.pt-nav):not(.pt-homepage) .cf-step{border-bottom-color:var(--yt-line)}
body:has(.pt-nav):not(.pt-homepage) .cf-field label.cf-drop{background:rgba(0,0,0,.2);border-color:rgba(241,236,226,.28);color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .cf-field label.cf-drop:hover{border-color:var(--copper2);background:rgba(201,106,62,.08)}
body:has(.pt-nav):not(.pt-homepage) .cf-drop.has-files{border-color:var(--mint);background:rgba(143,227,201,.06)}
body:has(.pt-nav):not(.pt-homepage) .cf-quick-btn{background:var(--glass);border-color:var(--glass-line);color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .cf-quick-btn:hover{border-color:var(--copper2);color:var(--copper2)}
body:has(.pt-nav):not(.pt-homepage) .cf-quick-btn.is-used{background:rgba(143,227,201,.12);border-color:var(--mint);color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) .cf-more > summary{color:var(--copper2)}
body:has(.pt-nav):not(.pt-homepage) .cf-more-detail{border-bottom-color:var(--yt-line)}
body:has(.pt-nav):not(.pt-homepage) .cf-receipt strong{background:var(--glass);border-color:var(--glass-line);color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .cf-lead{color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .cf-done .cf-after{border-top-color:var(--yt-line)}
body:has(.pt-nav):not(.pt-homepage) .cf-submit{min-height:56px}

/* 折りたたみ・FAQ */
body:has(.pt-nav):not(.pt-homepage) .pt-details > summary{color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .pt-details[open] > summary{border-bottom-color:var(--yt-line)}
body:has(.pt-nav):not(.pt-homepage) .pt-details > summary::before{color:var(--copper2)}
body:has(.pt-nav):not(.pt-homepage) .pt-faq-item.pt-details > summary:hover{background:var(--glass)}

/* 表・区切り */
body:has(.pt-nav):not(.pt-homepage) main :is(table,.table){color:var(--pt-text);--bs-table-bg:transparent;--bs-table-color:var(--pt-text);--bs-table-border-color:var(--yt-line)}
body:has(.pt-nav):not(.pt-homepage) main :is(hr,.lib-divider){border-color:var(--yt-line);opacity:1}
body:has(.pt-nav):not(.pt-homepage) main :is(.badge,.lib-tags li,.seo-tag,.guide-tag){background:var(--glass);border:1px solid var(--glass-line);color:var(--yt-ink)}

/* フッター */
body:has(.pt-nav):not(.pt-homepage) .pt-footer{background:#070f0e;border-top:1px solid var(--yt-line);color:var(--yt-muted);border-radius:32px 32px 0 0}
body:has(.pt-nav):not(.pt-homepage) .pt-footer a{color:var(--yt-ink);opacity:.85}
body:has(.pt-nav):not(.pt-homepage) .pt-footer a:hover{color:var(--copper2);opacity:1}
body:has(.pt-nav):not(.pt-homepage) .pt-footer-bottom{border-top-color:var(--yt-line)}

/* パンくず・追従ボタン */
body:has(.pt-nav):not(.pt-homepage) :is(.pt-breadcrumb,.guide-breadcrumb,.breadcrumb) a{color:var(--yt-muted)}
body:has(.pt-nav):not(.pt-homepage) .pt-sticky-cta{background:rgba(12,22,21,.92);backdrop-filter:blur(14px);border-top:1px solid var(--yt-line)}
body:has(.pt-nav):not(.pt-homepage) .pt-sticky-cta-note{color:var(--yt-muted)}

/* サービス一覧・詳細、部品一覧のカード */
body:has(.pt-nav):not(.pt-homepage) :is(.seo-service-card,.seo-related-card,.lib-hub-card,.seo-panel,.lib-notice){background:var(--glass);border:1px solid var(--glass-line);color:var(--pt-text);box-shadow:none}
body:has(.pt-nav):not(.pt-homepage) :is(.seo-service-card,.seo-related-card,.lib-hub-card):hover{border-color:rgba(231,154,108,.5);background:rgba(255,255,255,.06);box-shadow:0 24px 50px -30px rgba(0,0,0,.9)}
body:has(.pt-nav):not(.pt-homepage) :is(.seo-service-card,.seo-related-card,.lib-hub-card) :is(h2,h3,h4,strong,.lib-card-title){color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) :is(.seo-service-card,.seo-related-card,.lib-hub-card) p{color:var(--pt-muted)}
body:has(.pt-nav):not(.pt-homepage) :is(.seo-card-link,.lib-card-more){color:var(--copper2)}
body:has(.pt-nav):not(.pt-homepage) :is(.seo-pill,.lib-chip,.seo-tag,.lib-tags li){background:rgba(143,227,201,.1);border:1px solid rgba(143,227,201,.28);color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) :is(.seo-pill,.lib-chip).is-active,body:has(.pt-nav):not(.pt-homepage) :is(.seo-pill,.lib-chip)[aria-current]{background:linear-gradient(135deg,#d4744a,#b4522d);border-color:transparent;color:#fff}
body:has(.pt-nav):not(.pt-homepage) .seo-service-card img,body:has(.pt-nav):not(.pt-homepage) .lib-hub-card img{border-radius:12px}
body:has(.pt-nav):not(.pt-homepage) :is(.seo-list li,.lib-list li){color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) :is(.seo-list li i,.seo-panel .bi){color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) main :is(.table,table) :is(td,th){border-color:var(--yt-line);background:transparent;color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) main :is(.table,table) thead th{background:var(--glass);color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .seo-gallery > *{background:var(--glass);border:1px solid var(--glass-line);color:var(--pt-text);box-shadow:none}
body:has(.pt-nav):not(.pt-homepage) .seo-gallery :is(h3,h4,strong){color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .seo-gallery p{color:var(--pt-muted)}
body:has(.pt-nav):not(.pt-homepage) .seo-detail-page{color:var(--pt-text)}

/* 2026-09-25 文書ページ（faq.html・guide.html・legal.html の .yt-doc）：白背景向けの固定色（#22302d 等）が暗い背景で読めなかったため生成りへ。
   白い箱（.yt-box／dl／details）の中は白背景のままなので暗い文字を維持する。 */
body:has(.pt-nav):not(.pt-homepage) main .yt-doc{color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) main .yt-doc :is(h1,h2,h3){color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) main .yt-doc .yt-lead{color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) main .yt-doc .yt-date{color:var(--pt-muted)}
body:has(.pt-nav):not(.pt-homepage) main .yt-doc a:not(.yt-cta){color:var(--copper2)!important}
body:has(.pt-nav):not(.pt-homepage) main .yt-doc :is(.yt-box,dl,details){color:#22302d}
body:has(.pt-nav):not(.pt-homepage) main .yt-doc :is(.yt-box,dl,details) :is(h2,h3,summary){color:#173f3c}
body:has(.pt-nav):not(.pt-homepage) main .yt-doc :is(.yt-box,dl,details) a:not(.yt-cta){color:#17694f!important}

/* 2026-09-25 プライバシーポリシー（privacy.html の白いカード .pp-container）：中の文字が生成りになり読めなかったため、カード内は元の暗い色へ戻す */
body:has(.pt-nav):not(.pt-homepage) .pp-container{color:#2d2d2d}
body:has(.pt-nav):not(.pt-homepage) .pp-container :is(h1,h2,h3){color:#1f2a40}
body:has(.pt-nav):not(.pt-homepage) .pp-container :is(p,li,dd,dt,td,th){color:#2d2d2d}
body:has(.pt-nav):not(.pt-homepage) .pp-container a{color:#7a6536!important}
body:has(.pt-nav):not(.pt-homepage) .pp-container .alert-box{color:#7a6536}
body:has(.pt-nav):not(.pt-homepage) .pp-container .pp-footer{color:#555}

/* 2026-09-25 製造マッチング（/manufacturing-match）：見出し2行目の濃い青緑と特徴リストが暗い背景に沈んでいたため明るく */
body:has(.pt-nav):not(.pt-homepage) .mm-hero-copy h1 span{color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) .mm-proof li{color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) .mm-proof li i{color:var(--mint)}
/* 2026-09-25 緑の背景写真の上に載る小見出し（SERVICE CATEGORIES 等）の銅色がコントラスト不足（Lighthouse 指摘）だったため、明るい銅色へ */
body:has(.pt-nav):not(.pt-homepage) :is(.seo-services-hero,.guide-hero,.industry-hero,.guide-detail-hero,.industry-detail-hero,.glossary-hero,.term-hero) :is(.seo-kicker,.guide-kicker,.industry-kicker,.glossary-kicker,.term-kicker){color:var(--pt-copper-bright)}
/* 2026-09-25 部品一覧・ガイド一覧・相談例（library-20260917.css）の薄い文字色（--lib-muted #526764、--lib-deep-2 #28594e）が
   暗い背景でコントラスト不足（Lighthouse 2.1〜3.1）だったため、ダーク用の色へ。変数と個別の両方で上書きする。 */
body:has(.pt-nav):not(.pt-homepage){--lib-muted:#a6b3ad;--lib-deep-2:#8fe3c9}
body:has(.pt-nav):not(.pt-homepage) .lib-hub-cat{color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) :is(.lib-hub-lead,.lib-group-count,.lib-chip span){color:var(--pt-muted)}
body:has(.pt-nav):not(.pt-homepage) main :is(.seo-kicker,.guide-kicker,.industry-kicker,.case-kicker).text-success{color:var(--mint)!important}
/* 2026-09-25 部品・相談例・ガイド詳細（library-20260917.css）の白い箱：案内箱（.lib-inline-cta）は生成りの文字が白地に載って読めず、
   関連ページのカード（.lib-related-card）は白地に薄い緑の文字だったため、他のカードと同じ暗いガラス風へ。 */
body:has(.pt-nav):not(.pt-homepage) .lib-inline-cta{background:var(--glass);border:1px solid var(--glass-line);color:var(--pt-text);box-shadow:none}
body:has(.pt-nav):not(.pt-homepage) .lib-inline-cta :is(.lib-h2,h2,h3,strong){color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .lib-inline-cta p{color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) .lib-related-card{background:var(--glass);border:1px solid var(--glass-line);color:var(--pt-text);box-shadow:none}
body:has(.pt-nav):not(.pt-homepage) .lib-related-card:hover,body:has(.pt-nav):not(.pt-homepage) .lib-related-card:focus-visible{background:rgba(255,255,255,.06);border-color:rgba(231,154,108,.5);color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) .lib-related-card strong{color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .lib-related-kind{color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) .lib-related-note{color:var(--pt-muted)}
/* 用語集一覧のカード内ラベル、ガイド詳細の関連カードの小さな文字、相談フォームの「必須」バッジ：コントラスト不足の解消 */
body:has(.pt-nav):not(.pt-homepage) .glossary-card .glossary-label{color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) .glossary-card p.fw-bold{color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .yt-svc-card span{color:var(--pt-muted)}
body:has(.pt-nav):not(.pt-homepage) .guide-related-card span{color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) .pt-req{background:#b4432f}
/* 2026-09-25 相談例・業種の詳細（library）の内容カード .lib-card：白地に生成りの文字で読めなかったため暗いカードへ */
body:has(.pt-nav):not(.pt-homepage) .lib-card{background:var(--glass);border:1px solid var(--glass-line);color:var(--pt-text);box-shadow:none}
body:has(.pt-nav):not(.pt-homepage) .lib-card :is(h2,h3,h4,strong,.lib-card-title){color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .lib-card :is(p,li){color:var(--pt-text)}
/* こんなものも作れます（making_examples.html の .mk-*）：薄い緑の帯と、金色・濃緑の固定色がダーク背景で読めなかった */
body:has(.pt-nav):not(.pt-homepage) .mk .mk-section-alt{background:var(--yt-alt)}
body:has(.pt-nav):not(.pt-homepage) .mk .mk-kicker{color:var(--pt-copper-bright)!important} /* テンプレート側の #mk-items .mk-kicker（ID指定）より強くするため */
body:has(.pt-nav):not(.pt-homepage) .mk .mk-kicker::before{background:var(--pt-copper-bright)}
body:has(.pt-nav):not(.pt-homepage) .mk .mk-h2{color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .mk :is(.mk-sub,.mk-note,.mk-faq p){color:var(--pt-muted)}
body:has(.pt-nav):not(.pt-homepage) .mk .mk-faq summary{color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .mk .mk-faq details{border-bottom-color:var(--glass-line)}
body:has(.pt-nav):not(.pt-homepage) .mk .mk-meta span{background:var(--glass);color:var(--pt-text)}
/* 用語集：読みがな（.text-success は Bootstrap の !important 指定のため同じ強さで上書き）、詳細の小見出し */
body:has(.pt-nav):not(.pt-homepage) .glossary-card p.fw-bold.text-success{color:var(--mint)!important}
body:has(.pt-nav):not(.pt-homepage) .term-mini-label{color:var(--mint)}
/* サービス詳細：関連カードの小さな文字、写真の説明、流れの補足、納期の一文（固定色 #334155 の直書き） */
body:has(.pt-nav):not(.pt-homepage) .seo-related-card span{color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) :is(.seo-gallery span,.seo-flow span,.seo-figs figcaption){color:var(--pt-muted)}
body:has(.pt-nav):not(.pt-homepage) .seo-detail-page p[style*="#334155"]{color:var(--pt-text)!important}
/* 2026-09-25 サイトマップ（site_map.html）の白いパネル：生成りの見出しと銅色のリンクが白地で読めなかったため暗いパネルへ */
body:has(.pt-nav):not(.pt-homepage) .site-map-panel{background:var(--glass);border:1px solid var(--glass-line);box-shadow:none}
body:has(.pt-nav):not(.pt-homepage) .site-map-panel h2{color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .site-map-panel a{color:var(--copper2)}
/* 2026-09-25 チェックリストの「0 / 5」：明るい地にミント色の文字で読めなかった（コントラスト1.3:1）。暗い地に合わせる */
body:has(.pt-nav):not(.pt-homepage) .lib-check-count{background:rgba(143,227,201,.12);color:#8fe3c9;border:1px solid rgba(143,227,201,.4)}
body:has(.pt-nav):not(.pt-homepage) .lib-check.is-complete .lib-check-count{background:#8fe3c9;color:#0c1615;border-color:#8fe3c9}
/* 2026-09-25 旧形式の相談例ページ（case_detail.html）：白い枠のまま、生成りの見出しが白地で読めなかった（1.17:1）。他の枠と同じ暗いガラス調に */
body:has(.pt-nav):not(.pt-homepage) :is(.case-panel,.case-related-card){background:var(--glass);border:1px solid var(--glass-line);color:var(--pt-text);box-shadow:none}
body:has(.pt-nav):not(.pt-homepage) :is(.case-panel,.case-related-card) :is(li,p,span,.case-list){color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) :is(.case-panel,.case-related-card) :is(h2,h3,strong){color:var(--pt-heading)}
/* 小さな英字ラベルとアイコン（PAIN・SUPPORT・MATERIALS など）：暗い緑のままで読みにくかった */
body:has(.pt-nav):not(.pt-homepage) :is(.industry-mini-label,.case-mini-label,.case-panel .bi,.case-related-card span:first-child){color:var(--mint)}
/* 2026-09-25 製造マッチング：白い枠・明るい帯の上に生成りの文字が載り、料金表やよくある質問が読めなかった（1.05〜1.47:1） */
body:has(.pt-nav):not(.pt-homepage) :is(.mm-pricing-section,.mm-faq-section,.mm-trust-strip){background:transparent}
body:has(.pt-nav):not(.pt-homepage) :is(.mm-card,.mm-category,.mm-flow > li,.mm-scope-list > article,.mm-faq-grid > details,.mm-table-wrap){background:var(--glass);border-color:var(--glass-line);box-shadow:none;color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) :is(.mm-card,.mm-category,.mm-flow > li,.mm-scope-list > article,.mm-faq-grid > details) :is(h2,h3,summary,strong){color:var(--pt-heading)}
body:has(.pt-nav):not(.pt-homepage) .mm-price-table :is(th,td){background:transparent;color:var(--pt-text);border-color:var(--glass-line)}
body:has(.pt-nav):not(.pt-homepage) .mm-price-table thead th{color:var(--pt-heading)}
body:has(.pt-nav):not(.pt-homepage) .mm-price-table .mm-plan-highlight{background:rgba(143,227,201,.08)}
body:has(.pt-nav):not(.pt-homepage) :is(.mm-card-no,.mm-pricing-section .mm-kicker,.mm-faq-section .mm-kicker){color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) :is(.mm-pricing-section,.mm-faq-section) :is(h2){color:var(--pt-heading)}
body:has(.pt-nav):not(.pt-homepage) :is(.mm-pricing-section,.mm-faq-section) :is(p,small,.mm-price-note,.mm-table-scroll-note){color:var(--pt-muted)}
/* 2026-09-25 製造マッチングの見出し部分：明るいテーマの白い光が残り、説明文と枠線ボタンが読みにくかった */
body:has(.pt-nav):not(.pt-homepage) .mm-hero{background:radial-gradient(60% 70% at 85% 20%,rgba(201,106,62,.22),transparent 60%),radial-gradient(50% 60% at 70% 80%,rgba(143,227,201,.10),transparent 65%),linear-gradient(180deg,#0f1c1a,#0c1615)}
body:has(.pt-nav):not(.pt-homepage) .mm-hero .mm-btn-outline{color:var(--pt-heading);border-color:rgba(255,255,255,.28);background:var(--glass)}
body:has(.pt-nav):not(.pt-homepage) .mm-price-table :is(th,td).mm-plan-highlight{background:rgba(143,227,201,.08)!important;color:var(--pt-text)!important}
body:has(.pt-nav):not(.pt-homepage) .mm-price-table th.mm-plan-highlight{color:var(--pt-heading)!important}
body:has(.pt-nav):not(.pt-homepage) .mm-price-table .mm-plan-highlight small{color:var(--pt-muted)!important}
body:has(.pt-nav):not(.pt-homepage) .mm-btn-outline{color:var(--pt-heading)!important;border-color:rgba(255,255,255,.28);background:var(--glass)}
body:has(.pt-nav):not(.pt-homepage) .mm-btn-outline:hover{background:rgba(255,255,255,.1);border-color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) .mm-price-table .mm-plan-highlight strong{color:var(--mint)!important}
body:has(.pt-nav):not(.pt-homepage) .mm-trust-strip :is(span,li,p){color:var(--pt-muted)}
/* 2026-09-25 全ページ点検で見つかった「白い枠のまま生成りの文字」を暗いガラス調へ（海外リサーチ・お知らせ・図面作成・表の見出し） */
body:has(.pt-nav):not(.pt-homepage) :is(.news-card,.sourcing-panel,.research-item,.plan-panel,.notice-panel,.notice-block,.faq-item,.sourcing-form-card,.dxp-card,.dxp-footer){background:var(--glass);border:1px solid var(--glass-line);box-shadow:none;color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) :is(.news-card,.sourcing-panel,.research-item,.plan-panel,.notice-panel,.notice-block,.faq-item,.sourcing-form-card,.dxp-card,.dxp-footer) :is(h2,h3,h4,strong,b){color:var(--pt-heading)}
body:has(.pt-nav):not(.pt-homepage) :is(.news-card,.sourcing-form-card,.faq-item) :is(.text-muted,small,.form-text){color:var(--pt-muted)!important}
body:has(.pt-nav):not(.pt-homepage) .sourcing-form-card :is(label,.form-label,.form-check-label){color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) .sourcing-form-card :is(.form-check,.submit-strip){background:transparent}
body:has(.pt-nav):not(.pt-homepage) .sourcing-form-card select option{background:#12201e;color:var(--yt-ink)}
body:has(.pt-nav):not(.pt-homepage) .sourcing-quick-link{background:var(--glass);border-color:var(--glass-line)}
/* 図面作成の例：説明図（SVG）は明るい地のまま残し、文字の部分だけ暗い地に合わせる */
body:has(.pt-nav):not(.pt-homepage) #drawing-example{background:transparent}
body:has(.pt-nav):not(.pt-homepage) #drawing-example :is(.dxp-intro,.dxp-copy p){color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) #drawing-example .dxp-figure{background:#f3f1ea;border-radius:12px}
body:has(.pt-nav):not(.pt-homepage) #drawing-example .dxp-figure figcaption{color:#3b4a47}
/* 表の見出し（調達相談・図面作成） */
body:has(.pt-nav):not(.pt-homepage) .pt-seo-table thead th{background:rgba(143,227,201,.1);color:var(--pt-heading);border-color:var(--glass-line)}
/* 切り文字看板の図の説明の太字：暗い地に濃紺の文字だった */
body:has(.pt-nav):not(.pt-homepage) .seo-figs figcaption b{color:var(--pt-heading)}
body:has(.pt-nav):not(.pt-homepage) .pt-seo-table thead{background:transparent}
body:has(.pt-nav):not(.pt-homepage) .sourcing-form-card .form-section-title{color:var(--pt-heading)}
body:has(.pt-nav):not(.pt-homepage) .sourcing-form-card .field-help{color:var(--pt-muted)}
body:has(.pt-nav):not(.pt-homepage) .sourcing-form-card .form-check.bg-light{background:var(--glass)!important;border-color:var(--glass-line)!important}
body:has(.pt-nav):not(.pt-homepage) .notice-block :is(li,p){color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) :is(.sourcing-panel,.plan-panel) .btn-outline-primary{color:var(--mint);border-color:rgba(143,227,201,.5);background:transparent}
body:has(.pt-nav):not(.pt-homepage) :is(.sourcing-panel,.plan-panel) .btn-outline-primary:hover{background:rgba(143,227,201,.12);color:var(--pt-heading)}
body:has(.pt-nav):not(.pt-homepage) .plan-panel :is(small,.plan-price small){color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) .dxp-number{color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) :is(.plan-panel,.sourcing-panel,.research-item,.faq-item,.notice-block,.news-card) :is(ul,ol,li){color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) :is(.industry-related-card,.guide-related-card,.seo-related-card) > span{color:var(--mint)}
body:has(.pt-nav):not(.pt-homepage) .mm-price-table strong{color:var(--mint)!important}
body:has(.pt-nav):not(.pt-homepage) main :is(.form-control,.form-select)::placeholder{color:rgba(241,236,226,.45)}
body:has(.pt-nav):not(.pt-homepage) .news-card a{color:var(--pt-heading)}
body:has(.pt-nav):not(.pt-homepage) .news-card a:hover{color:var(--copper2)}
/* 2026-09-25 「こんなものも作れます」：明るいテーマ用のカードが白地のまま、見出しや札が読めなかった。流れの説明は暗い地に暗い文字だった */
body:has(.pt-nav):not(.pt-homepage) :is(.mk-card,.mk-step,.mk-promise > .mk-reveal){background:var(--glass);border:1px solid var(--glass-line);box-shadow:none;color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) :is(.mk-card,.mk-step,.mk-promise > .mk-reveal) :is(h2,h3,h4,strong){color:var(--pt-heading)}
body:has(.pt-nav):not(.pt-homepage) :is(.mk-card-body,.mk-step,.mk-promise > .mk-reveal,.mk-flow-item) p{color:var(--pt-text)}
body:has(.pt-nav):not(.pt-homepage) .mk-card .mk-meta span{background:rgba(255,255,255,.06);border-color:var(--glass-line);color:var(--pt-muted)}
body:has(.pt-nav):not(.pt-homepage) .mk-card .mk-more{color:var(--copper2)}
body:has(.pt-nav):not(.pt-homepage) .mk-btn-primary{color:#fff!important}
/* ナレッジ検索の「トップへ戻る」：暗い地に黒い枠線ボタンだった */
body:has(.pt-nav):not(.pt-homepage) main .btn-outline-dark{color:var(--pt-heading);border-color:rgba(255,255,255,.28)}
body:has(.pt-nav):not(.pt-homepage) main .btn-outline-dark:hover{background:rgba(255,255,255,.1);color:var(--pt-heading)}
body:has(.pt-nav):not(.pt-homepage) .news-card a.text-dark{color:var(--pt-heading)!important}
body:has(.pt-nav):not(.pt-homepage) .news-card a.text-dark:hover{color:var(--copper2)!important}
body:has(.pt-nav):not(.pt-homepage) .news-card .timeline-dot{background:var(--copper2);box-shadow:0 0 0 4px rgba(231,154,108,.18)}
