/*
Theme Name: WarmThanksDesign
Theme URI: https://warmthanks.info/
Author: WarmThanksDesign
Description: WTD TOPリニューアル(v16)をWordPress化したオリジナルテーマ。変更履歴はこのヘッダーの下のコメント、およびREADME.txtを参照。
Version: 1.51.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: wtd
*/

/* ============================================
   変更履歴
   ============================================

   v1.51 (2026-08-29) v1.50の積み残し
     1. Art子カテゴリ一覧で左上ロゴが通常版のままだった件を修正。
        判定を wtd_is_art_child_archive() に集約し、body_classと
        header.phpの両方が同じ関数を見るようにした。
     2. グローバルメニューの NEWS → News(他項目と表記をそろえる)。
        戻す場合は header.php の1語のみ。

   v1.50 (2026-08-29) 公開前の整理(Search Console実測にもとづく4件)
     1. 古い記事の個別ページの扱いを3択に変更。
        「通常表示のまま(推奨)/ noindex / 404」。既定は通常表示。
        検索からの着地の約半数が境界年より前の記事だったため、
        一覧から外すことと検索から消すことを分離した。
        旧設定(チェックボックス)は自動で引き継がれる。
     2. Artの子カテゴリ一覧(/art-calligraphy/ 等)の白背景を修正。
        body に wtd-art-screen を付与し、css側で色を当てる。
     3. 日付・著者・タグ・添付ファイルのアーカイブに noindex。
        2ページ目以降の一覧も同様。
     4. /contact-2/ → /contact/ の301転送。
        タグアーカイブは category.php を流用するよう変更。
   ★ここに追記すること。上のヘッダー(Description:)には書き足さない。

   理由: WordPressがテーマ情報を読むのは style.css の先頭8,192バイトまで。
   以前はDescription行に履歴を書き足しており、v1.40のあたりで8KBを超えた結果、
   その後ろにある Version: が読まれなくなっていた
   (外観 > テーマ のバージョン表示がv1.40のまま止まっていたのはこのため)。
   履歴をヘッダーの外に出したことで、Versionは先頭付近に収まっている。
   ============================================ */

/*
WTD TOPリニューアル(v16)をWordPress化したオリジナルテーマ。

v1.9: /contact/。v1.10-11: 下層骨格。

v1.12: クロスフェード・カルーセル増枠+ループ・スクロール表示。

v1.13: TOP登場シーケンス・ヘッダー透過85%・下層表示合わせ・tel誤リンク対策・SPメニュー中央。

v1.14: シーケンスSP適用+間調整・3カード保留・タグライン+21px。

v1.15: 淀み対策(初期状態の通常スタイル化)・SP減速。

v1.16: 固定ページタイトルを一覧(.archive-title)と同構造化+本文は記事同様・淀み根治(clip-pathをブロック化した行.lineへ)・SPメインコピーをさらに減速。

v1.23: Designページ本実装(3層ロゴ図・カテゴリ絞り込み・登場シーケンス・記事バッジ画像化)。

v1.24: ご指摘反映(タイトル実寸大化・黒ベタコピーをコンパクトな2行箱に修正+wipeは文字のみ・未指示だった軸コピーを削除・3層ロゴを同心円状に中央揃え・オーバー色はホバー時のみに限定・記事バッジのテキスト中央化+右下寄せ配置・ページ送りから最終ページ番号を除去)。

v1.25: 実ピクセル採寸での全面作り直し。ヘッドレスブラウザで実描画・実測してから納品する検証フローに切替。(1)kousiki_HP_2_2.jpgをconnected-component解析で実寸採寸しタイトル・カテゴリ文字を大幅拡大(2)黒ベタコピーは1本の箱ではなく支給見本通り独立した2本の縦長バーに作り直し(3)最重要の原因判明: .archive-page + .innerの二重paddingにより3層ロゴの実効幅が約1075pxまで縮み採寸基準(1280px)とズレていたバグを修正(.work-rowsと同じ全幅ブリード手法で.dh-canvasを真の1280px幅に)。

v1.26: PC版ご指摘反映。(1)黒ベタコピーの登場演出をTOP同様バー自体のwipe→数秒後に文字、の2段階・右→左の順に変更(2)ズレなく。をあなたの想いを、と同じ上揃えに(3)コピー文字サイズ拡大・バー位置を少し下へ(4)Designタイトル右のロゴアイコンを削除しタイトル位置を少し下へ(5)Brand Design・ALLの文字サイズが他と揃っていなかったのを修正(6)中心ロゴ(tyuou)を白線版(tyuou_00_White.png)に差し替え(7)カテゴリ文字のホバー黒色化が誤ってグループ単位(一つ選ぶと同グループ全部黒に)になっていたのを修正し、文字ごとに独立するよう変更(画像側のオーバー切替は従来通りグループ単位のまま)。

v1.27: (1)コピー文字のpadding-topが親のemを基準にしてしまっていた不具合を修正し、文字をバーに対して一文字分ほど下げ(2)SPで前回入れたaspect-ratio:auto/min-height/バー幅9%の上書きが原因で全要素の位置が総崩れ+バー2本が1本に見えていたのを修正。SPもPCと同じ縦横比のまま縮小するミニチュア表示に戻し、文字サイズだけ調整。

v1.28: (1)記事バッジを影付き版(kategori_taitle2_kage.png)に変更。白背景の記事画像でも視認できるよう、背景色を判定してグレー版に切り替える方式ではなく影付き1枚で常に対応する方式を採用(グレー版kategori_taitle_G.pngもimg/に同梱・切替は画像パス1箇所のみ)(2)SPをSP_img.jpg実測に基づき専用レイアウトに作り直し。PCのミニチュア表示をやめ、Brand Designを3層ロゴの外に出して独立行に・中心ロゴを拡大・ALL/HOMEPAGE等の位置と文字サイズを見本に合わせて再配置・コピー2本の位置と幅を修正。

v1.29: (1)PC:コピーの登場演出をTOPの.hero-copy .main .lineと完全に同じ手法(バーと文字が1motionで一緒にwipe・秒数も1.1s/1.8s/duration0.9sで統一)に変更。以前はバー→間を置いて文字フェイドの2段階になっておりTOPと出方が違って見えていた(2)SP: ALLの位置をHOMEPAGEと同じ列(見本通り)に戻しつつ重ならないよう間隔調整・Brand DesignとALLの文字サイズを他のカテゴリーと統一・HOMEPAGEを外枠ロゴの範囲内に収め・タイトル+コピーが初回表示で見えるよう全体を上に詰めキャンバスの縦横比も短縮。

v1.30: SP実機(iPhone)確認によるピクセル指定の修正。(1)Thoughtを中心ロゴ(tyuou)の実際の描画中心に再センタリング(2)ALLを指定通り右へ80px・上へ40px(3)コピー黒ベタを35px上へ・下側を25px短く(4)グレー背景の高さを140px圧縮。あわせて320〜430px(iPhone SE〜Pro Max相当)の主要幅で自動描画・当たり判定チェックを行い、どの幅でも文字要素が重ならないことを確認済み(実機の無い小型スマホの代替確認として)。

v1.31: SP全面修正(根本原因の計算ミスを修正)。前回、キャンバスの縦横比だけを縮めて3層ロゴのtop%を据え置いたため、shapeの高さ%が実際にはキャンバス幅・高さ比に依存する値であることを考慮できておらず、3層の中心がバラバラになっていた(「上にちょっとずつ全部が上がってる」状態の根本原因)。正しい計算式(高さ% = 幅% × 自身の縦横比 × キャンバス幅/高さ比)で3層を1点に再センタリングし直し、実機確認同様320/375/390/430pxで中心座標が完全一致することを確認。あわせてグレー背景がファーストビューで途切れていた件は圧縮しすぎが原因のためキャンバス高さを戻し(390px幅でヒーロー合計733px)、コピーの折り返し不具合はバー高さを戻して解消、タイトル・コピーはヒーロー下寄りへ再配置。

v1.32: 注釈付きスクショ(実機キャプチャ)を実ピクセルで採寸して座標修正。黒コピーバーの実測位置から画面全体のキャンバス基準(左0・幅1206・上621・高さ1800、実機は402pxビューポート×3倍)を逆算し、そこから各要素の指定位置を算出。(1)ALL:何度もズレていた位置を実測座標に修正(2)PACKAGE:右下へ(3)Paper・LOGO:「右端に最後の文字がくる」指定のためleft指定からright指定に変更(4)HOMEPAGE:右へ(5)Brand Design:上へ(6)タイトル・コピー:コピー下端が黒バー下端と揃う位置まで上げ。

v1.37: StoreのURLをカスタマイザー(TOPリンク設定 > StoreのURL)に統合。空欄にするとヘッダーメニューとフッターの両方からStoreが消える(OpenSeaと同じ挙動)。ヘッダー・フッターのURL直書きを廃止。

v1.38: (1)Art画面のPC MENUでマウスオーバーが効いていなかったのを修正(body.category-art .gnav a の方が詳細度が高く .gnav a:hover が負けていた)。あわせてArt画面のStoreチップを黒地→#c7c8ca(2)NEWS記事の画像が本文幅のままだった件を修正。全幅の判定を「figure/imgだけのp」というCSSの形頼みからPHPの構造判定(wtd-mediaクラス付与)に変更し、旧エディタのリンク付き画像・wp-captionも全幅に。あわせて本文の画像を最大サイズ+srcsetへ差し替え(引き伸ばしによるぼやけ対策)(3)NEWS一覧にホバー時の薄い白背景を追加(4)Menu/フッターのPhilosophy・Philosophy20th(/20th/の静的LP)を別タブ開きに。

v1.39: NEWS記事の画像が「中途半端に大きい」「前のまま小さい」と混在した件の修正。(1)画像ブロックの判定を、決まった並びの照合から「タグを取り払うと何も残らない段落=画像だけの段落」という中身の判定に変更(画像2枚・spanで囲まれた形などの取りこぼしを解消)(2)全幅指定の直下(>)を外した(別のdivに一段包まれた記事で指定が当たらず、幅指定だけ外れて中途半端な大きさになっていた)。

v1.40: TOP最終調整。(1)ヒーロー切替のクロスフェードから拡大縮小をやめ、濃度だけの入れ替えに(2枚が重なる区間で上の画像が1.5%大きく、二重像として見えていた)(2)3カード1枚目までの間を半分に(PC 6.6s→5.65s / SP 8.8s→7.8s)(3)TOPのArtカルーセルを5秒ごとの自動送りに(画面内にある間だけ・操作中は停止)。

v1.41: Jetpackスライドショーが半分しか見えなくなっていた件の修正。v1.39でHTML全体から<figure>を探すようにしたため、スライド1枚1枚のfigureまで拾って全幅に引き伸ばしていた。判定対象を本文の一番外側のブロックだけに限定し、さらにスライダー・ギャラリーの類は判定前に除外(Swiperの幅指定に一切触れない)。 v1.42: 除外の判定に「構造による除外」を追加。中に<div><ul><ol><table>や入れ子の<figure>を持つブロックは、複数点を並べる仕掛けとみなして触らない(タイルギャラリー等。プラグイン更新でクラス名が変わっても巻き込まれない)。

v1.43: 記事一覧・カルーセルの画像をアイキャッチから本文1枚目に変更(アイキャッチ再選定の作業を不要にするため。DBのアイキャッチ指定は消さず休眠)。あわせて(1)Design/Art一覧の帯を1.80:1(9/5)へ・PC/SP統一(旧PC 2.75:1では4:3写真の上下51%が切れていた)(2)一覧専用サイズ wtd-row(2048×1138・中央ハードクロップ)を追加。フルサイズ配信による重量化を回避(3)TOP Designカルーセルを3枚表示・4:3・右に40px覗き(旧 minmax(230px,300px)は横スクロール時に最小値が効き実質4枚・覗き0で「続きがある」ことが分からなかった)(4)TOP Artカルーセルを一覧と同じ9/5へ。SPの重複指定(4/3と16/10)を整理(5)single.phpのアイキャッチ出力を停止(一覧と本文冒頭の画像の食い違い・重複を防ぐ)。 v1.44: SPの記事本文を15px→16px・行送り1.9→1.85(--fs-bodyは変えず記事ページのSPのみ)。 v1.45: Designタブと実カテゴリの照合。(1)Paperタブに accessory-design(旧「small article」の実体・名刺/ハガキ等36件)と booklet(12件)を追加。どのタブからも絞り込めずALLからしか辿れない状態を解消(2)Brand Designのリンク先が /design/ のままでALLと同じ場所へ飛んでいたのを ?type=brand に接続。brand-designカテゴリの作成に対応。実在チェックも中グループと同じ扱いにし、カテゴリが無い場合はラベルを出さない(3)Brand Design選択中は外側(soto)グループを点灯。 v1.46: 記事内の動画が小さく左寄せになっていた件を修正。旧エディタの埋め込みに残る width/height 属性と、入れ物側のインライン幅指定が効いていたのが原因。YouTube/Vimeoの埋め込み・アップロード動画([video]ショートコード)ともに本文幅いっぱい・中央揃えに戻した(動画のフルブリード化はしない方針を維持)。 v1.47: 記事下のnote誘導をテンプレート側に移動。これまでは記事本文に画像を貼り付けていたため、8章の全幅化・srcset差し替えの対象になり横長バナーが引き伸ばされていた。本文の外(.entry-contentの外)から出力する方式に変更し、最大幅・導入文・バナー画像・リンク先・除外カテゴリをカスタマイザー(note誘導(記事下))に、記事ごとの例外(既定に従う/出す/出さない)を投稿編集画面のサイドバーに追加。 v1.48: v1.47のnote誘導でバナー画像が表示されなかった件の修正。画像の選択欄にID番号を保存する方式(WP_Customize_Media_Control)を使っていたため値が保存されず、常に「未設定」扱いになっていた。ヒーロー画像と同じURLを保存する方式(WP_Customize_Image_Control)に変更。あわせて、URL・ID番号のどちらが保存されていても画像を出せるようにし、メディアライブラリから逆引きできた場合はwidth/height/srcsetを自動で付ける。
v1.49: 外観 > テーマ のバージョン表示がv1.40のまま止まっていた件の修正。WordPressがテーマ情報を読むのは style.css の先頭8,192バイトまでという仕様に対し、ヘッダーの Description: 行へ変更履歴を書き足す運用だったため、Description行が12,334バイトに膨らみ Version: がその範囲外(12,426バイト目)へ押し出されていた。履歴をヘッダーの外の通常コメントへ移し、Versionを先頭付近(273バイト目)に戻した。履歴の内容は削っていない。CSSの中身・PHPの動作に変更はない。
*/


/* ============================================
   下層ページ用の仮スタイル(フォールバック)
   About・ブログ記事などが新テーマ適用後も
   最低限読める状態を保つためのもの。
   本実装(下層3種テンプレート)の際に置き換える。
   ============================================ */

.wp-simple {
  max-width: 860px;
  margin: 0 auto;
  padding: 150px var(--pad-x) var(--sp-5);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}
.wp-simple .entry-title {
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.5;
  margin: 0 0 1.6em;
}
.wp-simple .entry-eyecatch { margin: 0 0 2em; }
.wp-simple .entry-eyecatch img { width: 100%; height: auto; }
.wp-simple .entry-content img,
.wp-simple .entry-content iframe {
  max-width: 100%;
  height: auto;
}
.wp-simple .entry-content h2 { font-size: 1.3em; margin: 2.2em 0 0.8em; }
.wp-simple .entry-content h3 { font-size: 1.1em; margin: 2em 0 0.7em; }
.wp-simple .entry-content p { margin: 0 0 1.4em; }
.wp-simple .entry-content a { text-decoration: underline; }

.wp-simple .post-list { list-style: none; margin: 0; padding: 0; }
.wp-simple .post-list li { border-bottom: 1px solid var(--c-gray); padding: 18px 0; }
.wp-simple .post-list a { display: block; }
.wp-simple .post-list .date { font-family: var(--font-en); font-size: var(--fs-small); color: var(--c-gray); margin-right: 1em; }
.wp-simple .pagination { margin-top: var(--sp-4); display: flex; gap: 16px; font-family: var(--font-en); }
