/* ============================================================
   10thly.jp Corporate Design System (260822)
   Source of truth: TOP page (post ID 10, "2a" implementation).
   Applies site-wide. Does not alter any post_content/page content.
   ============================================================ */

:root{
  --ct-bg:#FCFBFD;
  --ct-bg-tint:#F6F3F9;
  --ct-text:#413C48;
  --ct-text-muted:#8B8496;
  --ct-text-body:#6C6578;
  --ct-accent:#B5A4D3;
  --ct-accent-2:#A99AC6;
  --ct-rule:#E6E1EC;
  --ct-rule-light:#DCD4E6;
  --ct-serif:"Zen Old Mincho", serif;
  --ct-accent-serif:"Cormorant Garamond", serif;
  --ct-sans:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
}

/* 購入告知バーはTOPに存在しないため全ページで非表示（すずこ確認済み・260822） */
.c-infoBar{ display:none !important; }
#body_wrap:not(.top) #content{ padding-top:0 !important; }

/* ============================================================
   Header（全ページ共通・TOPは従来通り .top #header で別途非表示）
   ============================================================ */
#body_wrap:not(.top) #header{
  background:var(--ct-bg) !important;
  border-bottom:1px solid var(--ct-rule);
  box-shadow:none !important;
  height:74px;
}
/* 【260824v5訂正】SWELLネイティブの.-parallelクラスがロゴ/ナビをそれぞれ幅100%にして
   2段（ロゴ中央→ナビ中央）に強制表示していたため、常に横並び1段に矯正する。
   これまでmax-width/paddingのみ設定しflex-wrap/幅を放置していたため2段のまま残っていた。
   【260824v6訂正】高さ/gapは正典HTML(TOP3.html Group4a)実測の74px/gap28pxに統一
   （TOP自身のヘッダーも同じ値に合わせて修正済み・page10 post_content側）。 */
#body_wrap:not(.top) .l-header__inner{
  max-width:1440px;
  padding-left:72px;
  padding-right:72px;
  padding-top:0; /* 【260825再訂正】SWELL既定でpadding-top:8pxが残っておりTOP自身のヘッダー
                    （上下対称・完全中央）より4px下にロゴ・ナビが寄っていたため解除 */
  padding-bottom:0;
  height:74px;
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center;
  justify-content:space-between;
}
#body_wrap:not(.top) .l-header__logo{
  width:auto !important;
  text-align:left !important;
  padding:0 !important;
  order:0 !important;
}
#body_wrap:not(.top) .l-header__gnav{
  width:auto !important;
  order:0 !important;
}
/* 【260824再訂正】ヘッダーの会社識別は商品ブランド「10thly」ではなく法人「テンスリーラボ株式会社」。
   functions.phpのswell_parts_head_logoフィルターがTOPと同じ実DOM（テキストのみ・アイコンなし）を
   出力し、ここはその実テキストをTOPの .ct-nav__word と同じ値（Zen Old Mincho・Desktop16px/Mobile13px）
   でスタイルするのみ（CSSでの文字の後付け＝::after は廃止済み）。 */
#body_wrap:not(.top) .c-headLogo__link{
  display:inline-flex !important;
  align-items:center;
}
#body_wrap:not(.top) .c-headLogo__word{
  font-family:var(--ct-sans);
  font-size:16px;
  letter-spacing:0.05em;
  color:var(--ct-text);
}
@media screen and (max-width:959px){
  #body_wrap:not(.top) .c-headLogo__word{ font-size:13px; }
}
#body_wrap:not(.top) .c-gnav{ display:flex; align-items:center; gap:28px; }
#body_wrap:not(.top) .c-gnav > li > a{
  font-family:var(--ct-sans);
  color:var(--ct-text) !important;
  font-size:12.5px;
  letter-spacing:0.08em;
}
/* 【260825 デザイン突合】正典Design（4a/4b/4c/4d/4e等の共通ヘッダー）は
   日本語/英語ja-en2段ではなく英語1行のみのナビ表記。モバイル全画面メニュー（.p-spMenu）は
   従来どおりja/en2段ラベルのまま（TOP側モバイルメニューと共通の仕様のため変更しない）。 */
#body_wrap:not(.top) .c-gnav > li > a .ttl{ display:none; }
#body_wrap:not(.top) .c-gnav > li > a .c-smallNavTitle{
  color:var(--ct-text) !important;
  font-size:12.5px;
  font-weight:400;
  opacity:1; /* 【260825再訂正】SWELL既定のopacity:0.6が残り、常時100%表示の.ttl（Journal）とだけ
                濃さが違って見えていたため統一 */
  top:0; /* 【260825再訂正】SWELL既定でtop:4px（.ttlと2段表示する前提のズラし）が残っており、
            単独表示にした今.ttl（Journal）より4px下がって見えていたため解除 */
}
#body_wrap:not(.top) .c-gnav > li > a::after{
  background:var(--ct-accent) !important;
}
/* 【260825再訂正】「10thly Journal」だけ.ttl側に既に正しい英語表記（"10thly Journal"）が
   入っており.desc側は"Journal"のみの短縮表記だったため、他項目とは逆に.ttlを残し.descを隠す。
   TOPの表記「10thly Journal ↗」に合わせ矢印を付与する。 */
#body_wrap:not(.top) .c-gnav > li > a[href="https://10thly-journal.jp/"] .ttl{
  display:block !important;
  font-size:12.5px;
  font-weight:400;
}
#body_wrap:not(.top) .c-gnav > li > a[href="https://10thly-journal.jp/"] .ttl::after{
  content:" ↗";
}
#body_wrap:not(.top) .c-gnav > li > a[href="https://10thly-journal.jp/"] .c-smallNavTitle{
  display:none;
}
/* 【260825再訂正】「10thly Journal」の枠線ボックス化はすずこ指示により撤回。
   TOP自身のヒーロー内ナビと同じ枠線無し表記に統一（リンクホバー時のアンダーラインは
   上のa::afterルールで他項目と共通のため維持） */
#body_wrap:not(.top) .l-header__customBtn,
#body_wrap:not(.top) .l-header__menuBtn{ order:0 !important; }

@media screen and (min-width:960px){
  #body_wrap:not(.top) .l-header__menuBtn{ display:none !important; }
}
/* ---- モバイル全画面メニュー（TOPの全画面メニューと共通の書体・罫線・ja/en2段ラベル） ---- */
#body_wrap:not(.top) .p-spMenu{
  background:var(--ct-bg);
  color:var(--ct-text);
}
#body_wrap:not(.top) .p-spMenu__inner{
  width:100vw !important;
  background:var(--ct-bg) !important;
  box-shadow:none !important;
  padding-top:56px !important;
  transition:none !important;
}
html:not([data-spmenu="opened"]) #body_wrap:not(.top) .p-spMenu__inner{
  transform:translateX(-100vw) !important;
}
html[data-spmenu="opened"] #body_wrap:not(.top) .p-spMenu__inner{
  transform:translateX(0) !important;
}
#body_wrap:not(.top) .p-spMenu__closeBtn{
  width:56px !important;
  height:56px !important;
}
#body_wrap:not(.top) .p-spMenu__closeBtn .c-iconBtn__icon{
  color:var(--ct-text);
}
#body_wrap:not(.top) .c-widget__title.-spmenu{
  display:none;
}
#body_wrap:not(.top) .p-spMenu__nav{
  padding:0 24px;
}
#body_wrap:not(.top) .p-spMenu .c-spnav.c-listMenu > .menu-item{
  border-top:1px solid var(--ct-rule);
}
#body_wrap:not(.top) .p-spMenu .c-spnav.c-listMenu > .menu-item > a{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:22px 0 !important;
  color:var(--ct-text);
}
#body_wrap:not(.top) .p-spMenu .c-spnav.c-listMenu > .menu-item > a::before{
  content:none !important;
}
#body_wrap:not(.top) .p-spMenu .c-spnav .menu-item > a{
  font-family:var(--ct-serif);
  font-weight:400;
  font-size:22px;
  letter-spacing:0.05em;
}
#body_wrap:not(.top) .p-spMenu .c-smallNavTitle.desc{
  font-family:var(--ct-sans);
  font-size:10.5px;
  font-weight:300;
  letter-spacing:0.08em;
  color:var(--ct-text-muted);
  display:block;
}

@media screen and (max-width:959px){
  #body_wrap:not(.top) #header{ height:56px; }
  #body_wrap:not(.top) .l-header__inner{
    padding-left:20px;
    padding-right:20px;
    height:56px;
  }
}

/* ============================================================
   Footer（全ページ共通・TOPは .top #footer で別途非表示）
   ============================================================ */
#body_wrap:not(.top) #footer{
  background:var(--ct-bg) !important;
}
#body_wrap:not(.top) .l-footer__inner .l-container{
  max-width:1440px;
  padding-left:72px;
  padding-right:72px;
}
#body_wrap:not(.top) .l-footer__nav a{
  font-family:var(--ct-sans);
  font-size:12.5px;
  letter-spacing:0.05em;
  color:var(--ct-text-muted) !important;
}
#body_wrap:not(.top) .copyright{
  /* 【260825訂正】旧文言「10thly Inc.」（欧文）向けに--ct-accent-serifを指定していたが、
     文言が日本語「テンスリーラボ株式会社」に変わったため、日本語本文/UIトークン--ct-sansへ統一。
     サイズ・余白・letter-spacingはフォント統一の対象外のため変更しない。 */
  font-family:var(--ct-sans);
  font-size:12px;
  letter-spacing:0.1em;
  color:var(--ct-text-muted);
}

@media screen and (max-width:959px){
  #body_wrap:not(.top) .l-footer__inner .l-container{
    padding-left:28px;
    padding-right:28px;
  }
}

/* ============================================================
   本文コンテナ幅（About / Company / News一覧 / News詳細）
   SWELL既定の.l-mainContent.l-article（max-width:900px＝ブログ本文の読みやすさ用デフォルト）と、
   その親.l-content.l-container（max-width:1296px＋padding:0 48px、1440px viewport時のみ
   ヘッダーと偶然近い位置になる固定値）が正典Designで再実装した4テンプレートにも適用されたままで、
   本文がヘッダーと同じ1440pxグリッドに揃っていなかった。
   【260825五訂・固定px計算からの全面書き直し】前回（v29〜v33）はheaderとの差分を
   固定pxで打ち消す方式（margin:-120px等）にしたが、.l-content.l-containerの72px相当の位置は
   margin:auto centeringの結果であり1440px viewport時にしか72pxにならない
   （960〜1440pxの中間幅では0pxに近づく）ため、固定px補正は1440px以外の全ての幅で
   ズレる／はみ出す欠陥があった（実機1100pxで実際に左右はみ出しを確認）。
   正しい方針＝.l-content.l-container自体をヘッダーの.l-header__innerと全く同じ計算式
   （max-width:1440px; margin:0 auto; padding:0 72px）に揃え、.l-mainContentは
   ただ100%で追従させるだけにする。この式ならどの画面幅でも計算結果がヘッダーと一致する。
   Privacy/特商法はこのDesignの再設計対象外のため意図的に対象外のまま維持する。
   ============================================================ */
@media screen and (min-width:960px){
  /* 【260825六訂】.ct-sub-news等の内側レイヤーに既に72pxパディングが実装済みのため、
     ここ（外側レイヤー）でも72pxを付けると72+72=144pxの二重パディングになっていた
     （実機1100pxで実際に144pxのズレを確認）。外側は中央寄せのみ担当し、
     余白を持たない0pxにするのが正しい（=ヘッダーは単層で72px、本文は2層目の
     .ct-sub-news側だけが72pxを担当する形に統一）。 */
  #body_wrap.page-id-117 .l-content.l-container,
  #body_wrap.page-id-160 .l-content.l-container,
  #body_wrap:not(.top).single .l-content.l-container,
  #body_wrap:not(.top).archive .l-content.l-container,
  #body_wrap:not(.top).blog .l-content.l-container{
    max-width:1440px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  #body_wrap.page-id-117 .l-mainContent.l-article,
  #body_wrap.page-id-160 .l-mainContent.l-article,
  #body_wrap:not(.top).single .l-mainContent.l-article,
  #body_wrap:not(.top).archive .l-mainContent.l-article,
  #body_wrap:not(.top).blog .l-mainContent.l-article{
    max-width:none;
    margin-left:0;
    margin-right:0;
    width:100%;
  }
}

/* ============================================================
   固定ページ共通（About / Privacy / 特商法 / 会社概要）
   .c-pageTitle と .post_content の書体・余白のみをトークン化。
   文言・構造・noindex設定・会社情報の追加は一切行わない。
   ============================================================ */
#body_wrap:not(.top).page .c-pageTitle{
  background:none !important;
  border:0 !important;
  padding:64px 0 40px !important;
  text-align:left;
}
#body_wrap:not(.top).page .c-pageTitle__inner{
  font-family:var(--ct-serif);
  font-weight:400;
  font-size:32px;
  letter-spacing:0.05em;
  color:var(--ct-text);
}
#body_wrap:not(.top).page .c-pageTitle__inner::before,
#body_wrap:not(.top).page .c-pageTitle__inner::after{ content:none !important; }

/* 【260824訂正】ネイティブパンくず(.p-breadcrumb)の非表示は廃止。
   About/News詳細は独自パンくずと重複するため子テーマheader.php側でPHPレベルから出力自体を止めた（DOM重複防止）。
   会社概要/News一覧はネイティブパンくずが唯一の表示のため、ここでCSS非表示にすると消えてしまう＝トークン化のみ行う。 */
#body_wrap:not(.top) .p-breadcrumb{
  font-family:var(--ct-sans);
  font-size:12px;
  letter-spacing:0.04em;
  color:var(--ct-text-muted);
}
#body_wrap:not(.top) .p-breadcrumb a{ color:var(--ct-text-muted); }

#body_wrap:not(.top) .post_content{
  font-family:var(--ct-sans);
  color:var(--ct-text-body);
}
#body_wrap:not(.top) .post_content p{
  font-size:15px;
  font-weight:300;
  line-height:2.1;
  color:var(--ct-text-body);
}
#body_wrap:not(.top) .post_content strong{ color:var(--ct-text); font-weight:500; }

#body_wrap:not(.top) .post_content h2:where(:not([class^="swell-block-"])){
  background:none !important;
  color:var(--ct-text) !important;
  padding:0 0 12px !important;
  margin:56px 0 24px;
  font-family:var(--ct-serif);
  font-size:22px;
  letter-spacing:0.04em;
  border-bottom:1px solid var(--ct-rule);
}
#body_wrap:not(.top) .post_content h2:where(:not([class^="swell-block-"]))::before{ content:none !important; }

#body_wrap:not(.top) .post_content h3:where(:not([class^="swell-block-"])){
  background:none !important;
  padding:0 !important;
  margin:40px 0 16px;
  font-family:var(--ct-serif);
  font-size:18px;
  letter-spacing:0.03em;
  color:var(--ct-text);
}
#body_wrap:not(.top) .post_content h3:where(:not([class^="swell-block-"]))::before{ content:none !important; }

#body_wrap:not(.top) .post_content a:not(.swell-block-button__link){
  color:var(--ct-text);
  text-decoration:underline;
  text-decoration-color:var(--ct-rule-light);
  text-underline-offset:3px;
}

/* 表組み（特商法・会社概要） */
#body_wrap:not(.top) .post_content table{
  font-family:var(--ct-sans);
  font-size:14px;
  color:var(--ct-text-body);
  border-collapse:collapse;
  width:100%;
}
#body_wrap:not(.top) .post_content table td,
#body_wrap:not(.top) .post_content table th{
  border:1px solid var(--ct-rule);
  padding:16px 20px;
  vertical-align:top;
}
#body_wrap:not(.top) .post_content table td:first-child{
  color:var(--ct-text-muted);
  font-size:12.5px;
  letter-spacing:0.05em;
  white-space:nowrap;
  width:180px;
}

/* ボタン（swell-block-button） */
#body_wrap:not(.top) .swell-block-button__link{
  background:var(--ct-bg) !important;
  border:1px solid var(--ct-rule-light) !important;
  color:var(--ct-text) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-family:var(--ct-sans);
  font-size:13px;
  letter-spacing:0.06em;
}

@media screen and (max-width:959px){
  #body_wrap:not(.top).page .c-pageTitle__inner{ font-size:26px; }
  #body_wrap:not(.top) .post_content h2:where(:not([class^="swell-block-"])){ font-size:19px; }
}

/* ============================================================
   News一覧（/post/ と /category/news/）
   SWELLのカード型（サムネ・抜粋・カテゴリバッジ）をやめ、
   TOP Newsセクションと同一の罫線リストへ再構成。
   投稿データ（タイトル・日付・URL）は既存のまま、表示形式のみ変更。
   ============================================================ */
#body_wrap:not(.top) .p-postList.-type-card{
  display:block !important;
}
#body_wrap:not(.top) .p-postList.-type-card .p-postList__item{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border-top:1px solid var(--ct-rule);
}
#body_wrap:not(.top) .p-postList.-type-card .p-postList__item:last-child{
  border-bottom:1px solid var(--ct-rule);
}
#body_wrap:not(.top) .p-postList.-type-card .p-postList__link{
  display:flex !important;
  align-items:baseline;
  gap:24px;
  padding:24px 0;
}
#body_wrap:not(.top) .p-postList.-type-card .p-postList__thumb,
#body_wrap:not(.top) .p-postList.-type-card .p-postList__excerpt,
#body_wrap:not(.top) .p-postList.-type-card .c-postThumb__cat{
  display:none !important;
}
#body_wrap:not(.top) .p-postList.-type-card .p-postList__body{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  gap:24px;
  width:100%;
}
#body_wrap:not(.top) .p-postList.-type-card .p-postList__meta{
  order:-1;
  flex:0 0 150px;
  margin:0 !important;
}
#body_wrap:not(.top) .p-postList.-type-card .c-postTimes__posted{
  font-family:var(--ct-accent-serif);
  font-size:14px;
  letter-spacing:0.05em;
  color:var(--ct-text-muted);
  white-space:nowrap;
}
#body_wrap:not(.top) .p-postList.-type-card .c-postTimes__posted.icon-posted::before{
  content:none !important;
}
#body_wrap:not(.top) .p-postList.-type-card .p-postList__title{
  font-family:var(--ct-sans);
  font-size:14.5px;
  font-weight:400;
  line-height:1.8;
  color:var(--ct-text);
  margin:0;
}

@media screen and (max-width:599px){
  #body_wrap:not(.top) .p-postList.-type-card .p-postList__body{
    flex-direction:column;
    gap:6px;
  }
  #body_wrap:not(.top) .p-postList.-type-card .p-postList__meta{ flex:none; }
}

/* ============================================================
   News詳細（single）
   カテゴリバッジ・装飾H2/H3は上の共通ルールで解除済み。
   タイトル書体のみ個別調整。アイキャッチ写真はそのまま使用。
   ============================================================ */
#body_wrap:not(.top).single .c-postTitle__ttl{
  font-family:var(--ct-serif);
  font-weight:400;
  font-size:26px;
  line-height:1.6;
  letter-spacing:0.03em;
  color:var(--ct-text);
}
#body_wrap:not(.top).single .p-articleMetas__times .c-postTimes__posted{
  font-family:var(--ct-accent-serif);
  color:var(--ct-text-muted);
  letter-spacing:0.08em;
}
#body_wrap:not(.top).single .p-articleMetas__times .c-postTimes__posted.icon-posted::before{
  content:none !important;
}
#body_wrap:not(.top).single .p-articleThumb{
  margin:32px 0 !important;
}

@media screen and (max-width:959px){
  #body_wrap:not(.top).single .c-postTitle__ttl{ font-size:21px; }
}

/* ============================================================
   下層ページ構造再実装（260824v3）
   Design TOP3 group 4（Desktop）/ group 5（Mobile 390px）の
   実測レイアウトをテンプレートレベルで再現。
   News一覧/News詳細/Aboutは子テーマのarchive-term.php/home.php/
   single.php・post_content(About)で構造そのものを差し替えており、
   ここではその新しい構造の見た目のみを定義する。
   ============================================================ */

/* ---- 共通：コンパクトなページタイトル（News一覧・News詳細） ---- */
#body_wrap:not(.top) .ct-sub-title{ padding:36px 72px 18px; }
#body_wrap:not(.top) .ct-sub-title__h1{
  margin:0;
  font-family:var(--ct-serif);
  font-weight:400;
  font-size:26px;
  letter-spacing:0.05em;
  color:var(--ct-text);
}
#body_wrap:not(.top) .ct-sub-breadcrumb{
  display:block;
  margin-bottom:12px;
  font-family:var(--ct-sans);
  font-size:11.5px;
  letter-spacing:0.05em;
  color:var(--ct-text-muted);
}
#body_wrap:not(.top) .ct-sub-breadcrumb a{ color:var(--ct-text-muted); }
#body_wrap:not(.top) .ct-sub-title--single .ct-sub-title__h1--single{
  font-size:22px;
  line-height:1.6;
}

#body_wrap:not(.top) .ct-sub-body{
  font-family:var(--ct-sans);
  font-weight:300;
  font-size:15px;
  line-height:2.1;
  color:var(--ct-text-body);
}

#body_wrap:not(.top) .ct-sub-btn{
  display:inline-block;
  background:var(--ct-bg);
  border:1px solid var(--ct-rule-light);
  font-family:var(--ct-sans);
  font-size:12.5px;
  letter-spacing:0.06em;
  color:var(--ct-text);
  padding:13px 24px;
}

#body_wrap:not(.top) .ct-sub-eyebrow__label{
  font-family:var(--ct-accent-serif);
  font-size:20px;
  letter-spacing:0.16em;
  color:var(--ct-text);
}
#body_wrap:not(.top) .ct-sub-eyebrow__sub{
  font-family:var(--ct-sans);
  font-size:11.5px;
  font-weight:300;
  letter-spacing:0.1em;
  color:var(--ct-text-muted);
  margin-top:9px;
}

/* ---- News一覧（archive-term.php / home.php 共通・Design 4c/5d実測） ---- */
#body_wrap:not(.top) .ct-sub-news-title{
  padding:40px 72px 22px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:40px;
}
#body_wrap:not(.top) .ct-sub-news-title__label{ margin:0; display:flex; align-items:baseline; gap:16px; }
#body_wrap:not(.top) .ct-sub-news-title__en{
  font-family:var(--ct-sans);
  font-size:21px;
  letter-spacing:0.12em;
  color:var(--ct-text);
}
#body_wrap:not(.top) .ct-sub-news-title__ja{
  font-family:var(--ct-sans);
  font-size:12.5px;
  font-weight:300;
  letter-spacing:0.08em;
  color:var(--ct-text-muted);
}
#body_wrap:not(.top) .ct-sub-news-title__tabs{
  display:flex;
  align-items:baseline;
  gap:22px;
  font-family:var(--ct-sans);
  font-size:12.5px;
  letter-spacing:0.06em;
}
#body_wrap:not(.top) .ct-sub-news-title__tab{ color:var(--ct-text-muted); font-weight:300; }
#body_wrap:not(.top) .ct-sub-news-title__tab.is-active{
  color:var(--ct-text);
  border-bottom:1px solid var(--ct-accent);
  padding-bottom:3px;
}

#body_wrap:not(.top) .ct-sub-news{ padding:0 72px 88px; }
#body_wrap:not(.top) .ct-sub-news__table{ display:flex; flex-direction:column; }
#body_wrap:not(.top) .ct-sub-news__row{
  display:grid;
  grid-template-columns:78px 116px 1fr;
  align-items:baseline;
  padding:20px 0;
  border-top:1px solid var(--ct-rule);
  color:var(--ct-text);
}
#body_wrap:not(.top) .ct-sub-news__row.is-year-start{ border-top:1px solid var(--ct-text); }
#body_wrap:not(.top) .ct-sub-news__row:last-child{ border-bottom:1px solid var(--ct-rule); }
#body_wrap:not(.top) .ct-sub-news__year{
  font-family:var(--ct-sans);
  font-size:15px;
  letter-spacing:0.1em;
  color:var(--ct-text-muted);
}
#body_wrap:not(.top) .ct-sub-news__date{
  font-family:var(--ct-sans);
  font-size:14px;
  letter-spacing:0.08em;
  color:var(--ct-text-muted);
}
#body_wrap:not(.top) .ct-sub-news__title{
  font-family:var(--ct-sans);
  font-size:15px;
  line-height:1.7;
  color:var(--ct-text);
}

@media screen and (max-width:768px){
  #body_wrap:not(.top) .ct-sub-news-title{ padding:26px 24px 16px; }
  #body_wrap:not(.top) .ct-sub-news-title__en{ font-size:17px; }
  #body_wrap:not(.top) .ct-sub-news{ padding:0 24px 56px; }
  #body_wrap:not(.top) .ct-sub-news__row{ grid-template-columns:1fr; gap:7px; padding:16px 0; }
  #body_wrap:not(.top) .ct-sub-news__row.is-year-start{ padding-top:14px; }
  #body_wrap:not(.top) .ct-sub-news__year{ font-weight:500; font-size:13px; }
}

/* ---- News詳細（single.php・Design 4g/5e実測） ---- */
#body_wrap:not(.top) .ct-sub-article__titlerow{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:56px;
  align-items:end;
  padding:44px 72px 40px;
  border-bottom:1px solid var(--ct-rule);
}
#body_wrap:not(.top) .ct-sub-article__h1{
  margin:0;
  max-width:820px;
  font-family:var(--ct-serif);
  font-weight:400;
  font-size:31px;
  line-height:1.85;
  letter-spacing:0.04em;
  color:var(--ct-text);
}

#body_wrap:not(.top) .ct-sub-article{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:56px;
  padding:56px 72px 96px;
}
#body_wrap:not(.top) .ct-sub-article__meta{
  display:flex;
  flex-direction:column;
  gap:6px;
  position:sticky;
  top:0;
}
#body_wrap:not(.top) .ct-sub-article__date{
  font-family:var(--ct-sans);
  font-size:16px;
  letter-spacing:0.1em;
  color:var(--ct-text);
}
#body_wrap:not(.top) .ct-sub-article__cat{
  font-family:var(--ct-sans);
  font-size:12px;
  font-weight:300;
  letter-spacing:0.06em;
  color:var(--ct-text-muted);
}
#body_wrap:not(.top) .ct-sub-article__body{ max-width:760px; }

#body_wrap:not(.top) .ct-sub-article__prevnext{
  display:grid;
  grid-template-columns:1fr 1px 1fr;
  gap:40px;
  align-items:stretch;
  margin:0 72px 88px;
  border-top:1px solid var(--ct-text);
  padding-top:26px;
}
#body_wrap:not(.top) .ct-sub-article__navdivider{ background:var(--ct-rule); }
#body_wrap:not(.top) .ct-sub-article__navlink{
  display:flex;
  flex-direction:column;
  gap:10px;
  color:var(--ct-text);
}
#body_wrap:not(.top) .ct-sub-article__navlink--next{ align-items:flex-end; text-align:right; }
#body_wrap:not(.top) .ct-sub-article__navlabel{
  font-family:var(--ct-sans);
  font-weight:300;
  font-size:11.5px;
  letter-spacing:0.08em;
  color:var(--ct-text-muted);
}
#body_wrap:not(.top) .ct-sub-article__navdate{
  font-family:var(--ct-sans);
  font-size:13px;
  letter-spacing:0.08em;
  color:var(--ct-text-muted);
}
#body_wrap:not(.top) .ct-sub-article__navtitle{
  font-family:var(--ct-sans);
  font-size:14px;
  line-height:1.8;
  color:var(--ct-text);
}
#body_wrap:not(.top) .ct-sub-article__back{
  display:flex;
  justify-content:center;
  padding:0 72px 88px;
}

/* 【260902 design-audit】F3対応（959px）に統一。768pxとの分割で768〜959px幅の中間状態
   （titlerow/articleはモバイル化済みだがh1/meta/prevnext等は据え置き）が発生していたため統合。 */
@media screen and (max-width:959px){
  #body_wrap:not(.top) .ct-sub-article__titlerow{ grid-template-columns:1fr; gap:16px; align-items:start; padding:30px 24px 26px; }
  #body_wrap:not(.top) .ct-sub-article{ grid-template-columns:1fr; gap:14px; padding:36px 24px 56px; }
  #body_wrap:not(.top) .ct-sub-article__h1{ font-size:23px; }
  #body_wrap:not(.top) .ct-sub-article__meta{ flex-direction:row; align-items:baseline; gap:14px; position:static; }
  #body_wrap:not(.top) .ct-sub-article__prevnext{ grid-template-columns:1fr; gap:0; margin:0 24px 56px; }
  #body_wrap:not(.top) .ct-sub-article__navlink{ padding:20px 0; border-bottom:1px solid var(--ct-rule); }
  #body_wrap:not(.top) .ct-sub-article__navlink--next{ align-items:flex-start; text-align:left; }
  #body_wrap:not(.top) .ct-sub-article__navdivider{ display:none; }
  #body_wrap:not(.top) .ct-sub-article__back{ padding:0 24px 56px; }
}

/* 【260902 design-audit】和文見出しで2文字熟語や商品名が行末で分断される問題への対応
   （例：「表記」「企画」が改行で分断）。文言は変更せず改行位置のみ制御。 */
#body_wrap:not(.top) .c-pageTitle,
#body_wrap:not(.top) .ct-sub-about__h1,
#body_wrap:not(.top) .ct-sub-article__h1,
#body_wrap:not(.top) .ct-sub-company-title,
#body_wrap:not(.top) .ct-sub-news-title__ja{
  word-break:keep-all;
  overflow-wrap:break-word;
}

/* ---- About（post_content 直接記述） ---- */
#body_wrap.page-id-117 .c-pageTitle{ display:none !important; }
#body_wrap.page-id-117 #content{ padding-top:0 !important; }
#body_wrap.page-id-117 .l-mainContent__inner > .post_content{ padding:0 !important; max-width:none !important; }

.ct-sub-about__hero{
  display:grid;
  grid-template-columns:1.02fr 1fr;
  gap:0;
  min-height:620px;
}
.ct-sub-about__hero-text{
  display:flex;
  flex-direction:column;
  gap:34px;
  padding:104px 72px 96px;
}
.ct-sub-about__h1{
  margin:0;
  font-family:var(--ct-serif);
  font-weight:400;
  font-size:36px;
  line-height:1.85;
  letter-spacing:0.04em;
  color:var(--ct-text);
}
.ct-sub-about__lead{
  margin:0;
  font-family:var(--ct-sans);
  font-weight:300;
  font-size:14.5px;
  line-height:2.25;
  color:var(--ct-text-body);
  max-width:520px;
}
.ct-sub-about__byline{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:14px;
  font-family:var(--ct-accent-serif);
  font-size:12px;
  letter-spacing:0.2em;
  color:var(--ct-text-muted);
}
.ct-sub-about__byline img{ height:20px; width:auto; display:block; opacity:0.85; }
.ct-sub-about__hero-img{ width:100%; height:100%; min-height:620px; overflow:hidden; }
.ct-sub-about__hero-img img{ width:100%; height:100%; object-fit:cover; display:block; }

.ct-sub-about__read{
  max-width:760px;
  padding:120px 72px 40px 340px;
  display:flex;
  flex-direction:column;
  gap:32px;
}
.ct-sub-about__mission{
  font-family:var(--ct-serif);
  font-weight:400;
  font-size:22px;
  line-height:1.95;
  letter-spacing:0.03em;
  color:var(--ct-text);
  margin:8px 0;
}
.ct-sub-about__mark{ text-align:center; padding:24px 0; }
.ct-sub-about__mark img{ width:120px; height:auto; display:inline-block; }
.ct-sub-about__h2{
  font-family:var(--ct-accent-serif);
  font-size:20px;
  letter-spacing:0.08em;
  color:var(--ct-text);
  margin:16px 0 0;
  padding-bottom:16px;
  border-bottom:1px solid var(--ct-rule);
}
.ct-sub-about__h3{
  font-family:var(--ct-serif);
  font-weight:400;
  font-size:19px;
  letter-spacing:0.04em;
  color:var(--ct-text);
  margin:8px 0 0;
}

/* 【260825 F3対応】heroのグリッド解除だけヘッダーの折り返し(959px)に合わせる。
   他の余白・書体等の768px調整は既存のまま変更しない。 */
@media screen and (max-width:959px){
  .ct-sub-about__hero{ grid-template-columns:1fr; min-height:0; }
}

@media screen and (max-width:768px){
  .ct-sub-about__hero-img{ min-height:320px; }
  .ct-sub-about__hero-text{ padding:40px 24px 44px; gap:22px; }
  .ct-sub-about__h1{ font-size:26px; line-height:1.8; }
  .ct-sub-about__lead{ font-size:13.5px; max-width:none; }
  .ct-sub-about__read{ padding:56px 24px; gap:24px; max-width:none; }
  .ct-sub-about__mission{ font-size:19px; }
}

/* ---- Company（会社概要・page-company-overview.php・Design 4d/5f実測） ---- */
.ct-sub-company-title{
  margin:0;
  padding:36px 72px 18px;
  display:flex;
  align-items:baseline;
  gap:16px;
}
.ct-sub-company-title__en{
  font-family:var(--ct-sans);
  font-size:19px;
  letter-spacing:0.12em;
  color:var(--ct-text);
}
.ct-sub-company-title__ja{
  font-family:var(--ct-sans);
  font-size:12.5px;
  font-weight:300;
  letter-spacing:0.08em;
  color:var(--ct-text-muted);
}

#body_wrap.page-id-160 .post_content{ padding:0 72px 64px; }
#body_wrap.page-id-160 .post_content table{
  max-width:820px;
  margin:0;
  border-collapse:collapse;
  width:63%; /* 【260825 デザイン突合】正典Design実測比率（表を全幅にせず右に余白を残す） */
}
#body_wrap.page-id-160 .post_content table tr{ border-top:1px solid var(--ct-rule); }
#body_wrap.page-id-160 .post_content table tr:first-child{ border-top:1px solid var(--ct-text); }
#body_wrap.page-id-160 .post_content table tr:last-child{ border-bottom:1px solid var(--ct-rule); }
#body_wrap.page-id-160 .post_content table td,
#body_wrap.page-id-160 .post_content table th{
  border:0;
  padding:16px 0;
  vertical-align:top;
}
#body_wrap.page-id-160 .post_content table td:first-child{
  width:150px;
  white-space:nowrap;
  padding-right:24px;
  font-size:12.5px;
  letter-spacing:0.06em;
  color:var(--ct-text-muted);
}
#body_wrap.page-id-160 .post_content table td:last-child{
  font-size:14px;
  font-weight:300;
  line-height:1.9;
  color:var(--ct-text);
}

@media screen and (max-width:768px){
  .ct-sub-company-title{ padding:24px 24px 14px; }
  .ct-sub-company-title__en{ font-size:16px; }
  #body_wrap.page-id-160 .post_content{ padding:0 24px 44px; }
  #body_wrap.page-id-160 .post_content table{ width:100%; }
  #body_wrap.page-id-160 .post_content table td{ padding:14px 0; }
  #body_wrap.page-id-160 .post_content table td:first-child{ width:auto; display:block; padding-right:0; padding-bottom:6px; }
  #body_wrap.page-id-160 .post_content table td:last-child{ display:block; }
  #body_wrap.page-id-160 .post_content table tr{ display:block; }
}
