/*
Theme Name: 花鳥風月
Theme URI: https://matsunoyuki.net/
Description: 花鳥風月(matsunoyuki.net)専用の自作テーマ。2026-09-13〜18にかけて、
  購入テーマZERO(TCD製)への依存を段階的に解消し、独立したテーマとして
  卒業させた(旧名称: zero-child、開発時は子テーマとして運用)。
  非推奨API・デッドコードの除去に加え、Yoast SEOと重複していたテーマ独自の
  meta description出力を解消。旧[clink]ショートコード(使用箇所ゼロを確認済み)
  も無効化。パンくずリスト(template-parts/breadcrumb.php)は、Yoastへの統合
  ではなく自作テーマの基本機能として正式に取り込み。閲覧数カウンター・
  期間別人気記事ランキングを自作プラグインkcfg-viewsへ統合(front-page.php・
  index.php・single.phpの呼び出し切り替え、ZERO本体の旧機能は無効化)。
  カテゴリ/タグアーカイブの「人気記事」欄が「おすすめ記事」欄の条件を
  誤って流用していたバグを修正(現状は両タブとも無効化されており表示上の
  影響はない)。ブロックエディター移行に伴い、見出しブロックへ
  「サイドライン」ブロックスタイル(文頭アクセントライン)を追加。
  本文フォントをArial/ヒラギノ角ゴ/游ゴシックからZen Kaku Gothic New
  (Google Fonts)へ、文字サイズを13pxからWCAG推奨の16pxへ変更(デモで
  比較の上、IBM Plex Sans JPと最後まで迷った末に決定)。トップページに
  5番目のタブ「カテゴリ別」を追加(Customizerの表示/非表示設定つき)。
  ロゴ・キャッチフレーズ・SNS(Twitter)・フッタースライダー件数もCustomizer
  (get_theme_mod())経由に切り替え、header.php/footer.php側の未使用SNS
  (Facebook/Instagram/Pinterest/Flickr/Tumblr/Mail/RSS)出力コードを削除。
  トップページのヘッダースライダーの表示範囲(高さ500px固定+背景cover)が
  ウィンドウ幅により変化していた問題を、高さ固定からaspect-ratio指定へ
  変更して解消。スライダー画像のトリミング位置(フォーカルポイント)と
  SQUARE ENIXコピーライト表記(位置・色・フォント)をkcfg-sliderプラグイン側の
  管理画面から画像ごとに設定できるようにした。トップページのタブバーが
  モバイルで5個目(カテゴリ別)だけ折り返されて隠れていた不具合を修正。
  「刀剣目録」固定ページにタグ絞り込み機能(カテゴリ間AND・カテゴリ内OR)を
  追加。ZERO本体のcss/sns-botton.cssを自作CSSへ移植し読み込みを終了(Google+・
  Pocket関連の完全未使用スタイルは削除)。同様にcss/responsive.cssも自作CSSへ
  移植し読み込みを終了(広告バナー・ページランキング・LP・フッターバー等の
  完全未使用スタイルは削除)。css/design-plus.cssも自作CSSへ移植し読み込みを
  終了(REST API経由で全648記事+固定ページ4件の本文を実地調査し、本文中で
  実際に使われているクラスのみ移植、マージン/パディング等の未使用
  ユーティリティクラス一式は削除)。style.css本体(親テーマのメイン
  スタイルシート)の内容も自作CSSへ移植し、@importを完全に廃止(最終
  カットオーバー完了)。これにより②(CSS自作化)は完了。
Author: matsunoyuki.net
Version: 2.0.0
*/

/**
 * 【④独立テーマ卒業・最終カットオーバー完了(2026-09-18)】
 * `Template:`行を削除し、zero-childは親テーマzero_tcd055(TCD製ZERO)への
 * 依存を持たない完全独立テーマとなった。CSS(②)・PHP関数/静的アセット(③)に
 * 続き、管理画面専用機能(カテゴリ別配色・おすすめ記事・メガメニュー・
 * 使用停止中ウィジェット2種)もfunctions.php側へ移植済み。①②③④の
 * 4段階ロードマップが完了。
 */

/**
 * 【最終カットオーバー】style.css本体への@import依存を解消(2026-09-17)。
 * 親テーマzero_tcd055/style.cssの内容は自作CSSとしてこの直後に移植済み
 * (詳細はセクション見出し「②CSS自作化: style.css本体 の移植」参照)のため、
 * @importによる読み込みを終了した。これによりzero-childは親テーマの
 * CSSファイル(style.css本体・design-plus.css・sns-botton.css・
 * responsive.css)への直接依存を完全に解消し、フォント(design_plus/
 * tiktok_x_icon)・画像(img/common/arrow3.gif)のみ引き続き親テーマの
 * 物理ファイルを参照する状態になった(アセットファイル自体の引っ越しは
 * 今回のスコープ外)。
 *
 * 【カスケード順序についての注意】style.css本体(この直後のセクション)は
 * デスクトップ基準の値(#header{min-width:1150px}等)を含み、続く
 * sns-botton.css・responsive.css・design-plus.cssのセクションより
 * 必ず前に置くこと。responsive.cssのセクションは`@media(max-width:
 * 1190px)`でモバイル時の上書き値を定義しているが、CSSは同じ詳細度なら
 * 「ソース順で後に書かれたルールが勝つ」ため、デスクトップ基準値が
 * モバイル用の@media内の値より後ろにあると、@import時代には存在しな
 * かった「モバイル幅でもデスクトップ値が適用されてしまう」という回帰
 * バグを引き起こす(2026-09-17のカットオーバー直後に発見・即修正済み。
 * 原因は本体セクションを追記時に単純にファイル末尾へ追加してしまった
 * ことによるもの)。
 */

/**
 * 本文フォント変更(2026-09-14)。
 * Google Fontsの読み込み自体はfunctions.phpのwp_enqueue_scriptsで行う。
 * font-familyはサイト全体の一貫性のためbodyに、font-sizeは記事本文の
 * 実体である.post_content(旧13px指定の実体)にのみ適用する
 * (ナビゲーション・ウィジェット等、本文以外のサイズは意図的に変更しない)。
 *
 * IBM Plex Sans JPへ切り替えてテストする場合は、下記font-familyの
 * 先頭を "IBM Plex Sans JP" に差し替え、functions.php側のGoogle Fonts
 * URLのfamily部分も合わせて変更する。
 *
 * v2(不具合修正): TCD Theme Options側が動的に生成しているインライン
 * スタイル(`body, input, textarea { font-family: var(--tcd-font-type1); }`
 * `.post_content { font-size:14px; }`)が、詳細度または読み込み順で
 * 本ルールに勝ってしまい反映されていなかった。前者は詳細度(0,0,3 > 0,0,1)、
 * 後者は同詳細度だが後から読み込まれるためで、サイドライン見出しの時と
 * 同じ種類の問題。!importantで確実に上書きされるようにした。
 */
body {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", Meiryo, sans-serif !important;
}
.post_content {
  font-size: 16px !important;
}

/**
 * トップページ 5番目のタブ「カテゴリ別記事一覧」(2026-09-14)。
 * front-page.phpの#post_list5内で使用。カテゴリチップをクリックすると
 * REST API(wp-json/wp/v2/posts)経由で該当カテゴリの記事一覧を取得し、
 * 他タブと同じ.post_list/.item構造で描画する(front-page.php側のJSで実装)。
 * チップの形状・配色は初期案であり、追って調整予定(パーツ帳での
 * デモ承認時点でユーザーより申し送り済み)。
 */
#kcfg_catnav_chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 20px 20px 4px;
}
.kcfg_catnav_chip {
  font-size: 12.5px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid #DEDAD1;
  background: #fff;
  color: #6B655C;
  cursor: pointer;
}
.kcfg_catnav_chip:hover {
  border-color: #dd3333;
  color: #dd3333;
}
.kcfg_catnav_chip.is-active {
  background: #dd3333;
  border-color: #dd3333;
  color: #fff;
}
#kcfg_catnav_list {
  padding: 10px 20px 20px;
}
.kcfg_catnav_empty,
.kcfg_catnav_loading {
  padding: 20px;
  text-align: center;
  color: #6B655C;
  font-size: 13px;
}

/**
 * キャッチフレーズの文字サイズ(2026-09-14)。
 * ZERO本体はheader.php側でtagline_font_sizeオプションをインラインstyleで
 * 出力していたが、Customizer移行に伴い固定値化(元の初期値12pxをそのまま踏襲)。
 * 現在show_tagline設定はOFFのため実際の表示への影響はまだ無い。
 */
#site_desc {
  font-size: 12px;
}

/**
 * トップページのヘッダースライダー、表示範囲を解像度非依存に固定(2026-09-15)。
 *
 * ZERO本体(zero_tcd055/style.css)は#header_slider等の高さを500px固定
 * (幅は可変・min-width:1150px)で指定しており、background-size:coverと
 * 組み合わさることで、ウィンドウ幅によって画像の見える範囲(縦方向の
 * トリミング量)が変わってしまっていた(幅が広いほど画像の上下方向を
 * より広く見せ、狭いほど絞り込む)。高さの固定値をやめ、幅に対する比率
 * (aspect-ratio)で高さを決める形に変更することで、どの画面幅でも画像の
 * 見える範囲(トリミング位置)が常に同じになるようにした(単純に拡大・
 * 縮小されるだけになる)。比率2.8は、従来の典型的な表示幅(約1400px)
 * における見た目(500px相当)になるべく近い値として選定した初期案
 * (見た目の調整が必要であれば、この数値だけを変更すればよい)。
 */
#header_slider,
.slider_main,
.slider_main .swiper-slide {
  height: auto;
  aspect-ratio: 2.8;
}

/**
 * トップページのヘッダースライダー、SQUARE ENIXコピーライト表記(2026-09-15)。
 * 「花鳥風月パーツ帳」でのデモを経て、位置(四隅)・色・フォントを画像ごとに
 * kcfg-sliderプラグインの管理画面から設定できるようにした(動的な値は
 * header.php側でインラインstyleとして出力、ここでは固定値のみ定義)。
 * 位置・不透明度・文字サイズはユーザーからのフィードバックを経て調整済みの
 * 推奨値として固定し、設定項目としては持たせていない。
 */
.kcfg-slider-copyright {
  position: absolute;
  font-size: 7px;
  font-weight: 600;
  letter-spacing: .02em;
  opacity: .35;
  pointer-events: none;
  white-space: nowrap;
  z-index: 2;
}
.kcfg-slider-copyright.corner-tl {
  top: 4px;
  left: 5px;
}
.kcfg-slider-copyright.corner-tr {
  top: 4px;
  right: 5px;
}
.kcfg-slider-copyright.corner-bl {
  bottom: 4px;
  left: 5px;
}
.kcfg-slider-copyright.corner-br {
  bottom: 4px;
  right: 5px;
}

/**
 * トップページのタブバー、モバイルでの折り返し崩れ修正(2026-09-17)。
 *
 * 親テーマ(zero_tcd055/css/responsive.css)の
 * `#index_post_list_tab ol li { width:25% }`(画面幅850px以下)は、
 * タブが常に4個であることを前提にした固定値のため、5個目(カテゴリ別)が
 * 折り返されて親要素(高さ固定)の外側にはみ出し、実質見えなくなっていた。
 * front-page.php側で実際に描画したタブの個数を`--kcfg-tab-count`という
 * CSSカスタムプロパティとして`<ol>`に埋め込み、ここではその個数に応じて
 * 均等割りする(特定の個数を決め打ちしないため、Customizerで個々のタブを
 * ON/OFFして表示タブ数が変わった場合にも追従する)。
 * セレクタに`body`を足しているのは、親テーマのresponsive.cssが子テーマの
 * style.cssより後に読み込まれる(=読み込み順だけでは負けてしまう)ため、
 * 詳細度を上げて確実に上書きするための対応。
 */
@media screen and (max-width: 850px) {
  body #index_post_list_tab ol li {
    width: calc(100% / var(--kcfg-tab-count, 4));
  }
}

/**
 * 「刀剣目録」タグ絞り込み機能(2026-09-17)。
 * 実装の詳細はfunctions.php側のコメントを参照。カードのHTML自体には
 * 手を加えず(表示崩れのリスクを避けるため)、JavaScriptがdata属性を
 * 追加してから絞り込みを行う。カテゴリ間はAND、カテゴリ内はOR。
 * 色・形状はトップページのカテゴリチップ(.kcfg_catnav_chip)と統一。
 */
.kcfg-toukenf-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  padding: 16px 20px;
  margin: 0 0 24px;
  background: #FAF8F4;
  border: 1px solid #E5E0D5;
  border-radius: 10px;
}
.kcfg-toukenf-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  width: 100%;
  margin-bottom: 2px;
}
.kcfg-toukenf-title {
  font-weight: 700;
  font-size: 14px;
}
.kcfg-toukenf-count {
  font-size: 12.5px;
  color: #6B655C;
  margin-left: auto;
  font-variant-numeric: tabular-nums;
}
.kcfg-toukenf-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.kcfg-toukenf-label {
  font-size: 11.5px;
  font-weight: 700;
  color: #6B655C;
  background: #EFE9DC;
  border-radius: 999px;
  padding: 2px 9px;
  margin-right: 2px;
}
.kcfg-toukenf-and {
  font-size: 11px;
  color: #9C9384;
  font-weight: 700;
  padding: 0 2px;
}
.kcfg-toukenf-chip {
  font-size: 12.5px;
  font-weight: 600;
  padding: 5px 13px;
  border-radius: 999px;
  border: 1px solid #DEDAD1;
  background: #fff;
  color: #6B655C;
  cursor: pointer;
}
.kcfg-toukenf-chip:hover {
  border-color: #dd3333;
  color: #dd3333;
}
.kcfg-toukenf-chip[aria-pressed="true"] {
  background: #dd3333;
  border-color: #dd3333;
  color: #fff;
}
.kcfg-toukenf-reset {
  font-size: 12px;
  color: #6B655C;
  text-decoration: underline;
  background: none;
  border: none;
  cursor: pointer;
  margin-left: auto;
  padding: 4px 2px;
}
.kcfg-toukenf-reset:disabled {
  color: #C9C2B4;
  text-decoration: none;
  cursor: default;
}

/* ============================================================ *
 * ②CSS自作化: style.css本体 の移植(2026-09-17)
 * ============================================================ *
 * ZERO本体のメインstyle.css(元は@importで読み込み続けていた最後の
 * 資産)からの移植。今回も実データ調査(REST API本文検索・
 * wp-admin各種設定画面・実際のレンダリング結果の直接確認)に基づき、
 * 以下は完全に未使用と確認できたため移植しなかった:
 * - `#header_video`関連一式(ヘッダー動画/YouTubeモード、header.php
 *   側で既に削除済みの機能)
 * - `.post_list.type2`関連(ページランキング専用テンプレート、
 *   参照ページ0件と確認済み)
 * - `#single_banner_*`・`.single_banner_area`(広告バナー、実データで
 *   完全未使用と確認済み)・`#single_share_bottom`関連(本文下部共有
 *   ボタン、本セッション冒頭で機能ごと廃止済み)
 * - `#profile_page_top`(プロフィールページテンプレート、参照ページ
 *   0件)・`#header_image_for_404`(404ヘッダー画像、画像未設定)・
 *   `#page_banner`(固定ページ広告バナー、実データで完全未使用)
 * - `#fixed_footer_content`関連一式(固定フッターコンテンツ、実データ
 *   OFFと確認済み)
 * - `.password_protected`・`.c-pw__*`(パスワード保護記事、保護記事数
 *   0件と確認済み)
 * - `.p-btn`(Googleマップ用ボタン、本文検索で使用箇所0件、サイト内で
 *   Googleマップ埋め込み自体が使われていない)
 * - `.wp-block-table.is-style-stripes`等・`.wp-block-embed`(該当する
 *   ブロックスタイル・埋め込みブロックの使用箇所0件)
 * - `body.single-post.layout2`/`body.page-template-default.no_side_content`
 *   等(いずれのbodyクラスもテーマ内のどこからも付与されておらず、
 *   固定ページの「サイドバー無し」は専用テンプレート
 *   `page-noside.php`が最初から2カラム構造自体を出力しない設計で
 *   実現されているため、これらのクラス切り替えは元から一度も
 *   機能していなかったと確認できた)
 * - `@font-face`(design_plus/tiktok_x_icon)はcss/sns-botton.css移植時
 *   に既に宣言済みのため重複宣言せず
 * - `.social_link`のFacebook/Instagram/Pinterest/Flickr/Tumblr/Mail/RSS
 *   個別アイコン(header.php・footer.phpとも実際に出力するのはTwitter
 *   のみと確認済み。Twitter分は維持)
 * - `.kachoufuugetsu_user_profile_widget`のFacebook/Instagram/Pinterest/Mail個別
 *   アイコン(実際に配置中のウィジェットの出力を直接確認したところ
 *   Twitterアイコンのみが出力されていた。Twitter分・氏名欄は維持)
 * - ウィジェット関連: `/wp-json/wp/v2/sidebars`で全サイドバー(トップ
 *   ページ・アーカイブ・記事・固定ページ・フッター左/中央/右/モバイル)
 *   の実際の配置状況を確認した結果、上記の個別サイドバーは全て空、
 *   唯一「Common widget」(全ページ共通)にのみプロフィール・最近の
 *   投稿・WEB拍手ランキング・最近のコメント・アーカイブ・検索・
 *   カスタムHTMLの7個が配置されていることが判明。これに基づき
 *   `.ml_ad_widget`(AdSense tcd ver、配置履歴なし)・`.kachoufuugetsu_menu_widget`
 *   (Custom menu tcd ver、配置履歴なし)・`.kachoufuugetsu_custom_drop_menu*`
 *   (Custom dropdown menu tcd ver、配置履歴なし)・`.styled_post_list1/
 *   2/3*`(Styled post list1/2/3 tcd ver、配置履歴なし)・
 *   `.widget_media_gallery`(ギャラリーウィジェット、配置履歴なし)・
 *   `.widget_rss`(RSSウィジェット、配置履歴なし)・`.widget_tag_cloud`
 *   (タグクラウド、配置履歴なし)・`.widget_pages`(固定ページ一覧、
 *   配置履歴なし)・`.widget_nav_menu`(ナビゲーションメニュー、配置
 *   履歴なし)・`.widget_block`(ブロックウィジェット、配置履歴なし)・
 *   `.widget_meta`(メタ情報、配置履歴なし)・`.category_list_widget`/
 *   単体の`.widget_categories`(カテゴリーウィジェット、配置履歴なし)・
 *   カレンダー(`#wp-calendar`等、配置履歴なし、ファイル内の新旧2箇所
 *   とも)は削除。`.kachoufuugetsu_category_list_widget`/`.kachoufuugetsu_category_list`
 *   (分類一覧)・`.ranking_list_widget`(人気記事)・`.widget_text`
 *   (テキスト「目安箱宛」)は「使用停止中」バケットに設定が保持された
 *   ままの状態(削除ではなく無効化)と確認できたため、将来再度サイド
 *   バーへ戻される可能性を考慮し維持した。`.widget_archive`は実際に
 *   配置中(過去目録)のため維持、道連れで同一セレクタ内の
 *   `.widget_categories`/`.kachoufuugetsu_archive_list_widget`等も実害が無いため
 *   そのまま維持した。
 * - `@keyframes moveUp`(ファイル内のどのセレクタからも参照されて
 *   おらず、親テーマ自身の中で最初から使われていない孤立したコードと
 *   確認できたため削除。`opacityAnimation`はヘッダースライダーの
 *   キャプションで実際に使用中のため維持)
 * 画像パス(`url(img/common/arrow3.gif)`、コメント欄の返信/編集リンクの
 * 矢印アイコン)・フォントパス(design_plus/tiktok_x_icon)は、④の資産
 * 物理コピー(functions.php参照)によりzero-child自身が実体を持つように
 * なったため、`../zero_tcd055/...`を経由しないzero-child相対パスとした。
 */

/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video
 { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
audio, canvas, video { display:inline-block; max-width:100%; }
html { overflow-y: scroll; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; }
ul, ol { list-style:none; }
blockquote , q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content: none; }
a:focus { outline:none; }
ins { text-decoration:none; }
mark { font-style:italic; font-weight:bold; }
del { text-decoration:line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
table { border-collapse:collapse; border-spacing:0; width:100%; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
button, input, select, textarea { outline:0; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-size:100%; }
input, textarea { background-image: -webkit-linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,0)); -webkit-appearance: none; border-radius:0; /* Removing the inner shadow, rounded corners on iOS inputs */ }
input[type="checkbox"]{ -webkit-appearance: checkbox; }
input[type="radio"]{ -webkit-appearance: radio; }
button::-moz-focus-inner, input::-moz-focus-inner { border:0; padding:0; }
img { -ms-interpolation-mode:bicubic; }

/* clearfix */
.clearfix:after { content: "."; display:block; clear:both; height:0; font-size:0.1em; line-height:0; visibility:hidden; overflow:hidden; }
.clearfix { display:inline-block; }
/* exlude MacIE5 \*/
* html .clearfix { height:1% }
.clearfix { display:block;}
/* end MacIE5 */




/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
body { font-family:Arial,sans-serif; color:#000; line-height:1; width:100%; }
.pc .admin-bar { padding-top:33px; }
a { color:#000; text-decoration:none; }
a, a:before, a:after, input {
  -webkit-transition-property:background-color, color; -webkit-transition-duration:0.2s; -webkit-transition-timing-function:ease;
  -moz-transition-property:background-color, color; -moz-transition-duration:0.2s; -moz-transition-timing-function:ease;
  -o-transition-property:background-color, color; -o-transition-duration:0.2s; -o-transition-timing-function:ease;
  transition-property:background-color, color; transition-duration:0.2s; transition-timing-function:ease;
}
.clear { clear:both; }
.hide { display:none; }


/* レイアウト */
#main_contents { background:#fff; width:100%; position:relative; z-index:10; }
#main_col {
  width:1150px; min-width:1150px; margin:80px auto 100px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
body.single-post #main_col {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

body.page-template-default #main_col {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

#left_col { width:795px; float:left; }
#side_col { width:300px; float:right; }

.p-toc-open {
  z-index: 10000 !important;
}


/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */

/* スライダー -------------------------------------------------------- */
#header_slider { width:100%; height:500px; min-width:1150px; overflow:hidden; position:relative; }
.slider_main { width:100%; height:500px; position:relative; }
.slider_main .swiper-slide { width:100%; height:500px; overflow:hidden; position:relative; -webkit-backface-visibility:hidden; backface-visibility:hidden; }
.slider_main .item { position:absolute; width:100%; height:100%; left:0; top:0; -webkit-backface-visibility:hidden; backface-visibility:hidden; }
.slider_main .image { display:none; }
.slider_main .caption_area { position:absolute; bottom:0; width:100%; height:55px; background:rgba(0,0,0,0.6); z-index:5; }
.slider_main .caption { width:1150px; height:55px; margin:0 auto; overflow:hidden; }
.slider_main .caption .title { font-size:16px; line-height:55px; -ms-word-wrap: break-word; word-wrap: break-word; position:relative; }
.slider_main .caption .title a { display:block; color:#fff; }


/* 矢印のナビゲーション */
.header_slider_button_next, .header_slider_button_prev {
  width:30px; height:30px; position:absolute; opacity:0; cursor:pointer; z-index:9999;
  top:50%; margin-top:-15px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
  -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
}
.header_slider_button_next:before, .header_slider_button_prev:before {
  font-family:'design_plus'; color:#fff; font-size:24px; font-weight:bold; display:block; position:absolute;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.header_slider_button_prev:before { content:'\e90f'; }
.header_slider_button_next:before { content:'\e910'; }
.header_slider_button_prev { left:-50px; }
.header_slider_button_next { right:-50px; }
#header_slider:hover .header_slider_button_prev { left:21px; opacity:1; }
#header_slider:hover .header_slider_button_next { right:15px; opacity:1; }



/* スライダーのキャッチコピー内にあるタイトルのアニメーション */
#header_slider .caption .title { opacity:0; }
#header_slider .swiper-slide-active .caption .title { -webkit-animation: opacityAnimation 1.0s ease forwards 1.0s; animation: opacityAnimation 1.0s ease forwards 1.0s; }
#header_slider .first_active .caption .title { -webkit-animation: opacityAnimation 1.0s ease forwards 1.5s !important; animation: opacityAnimation 1.0s ease forwards 1.5s !important; }


/* アニメーション　透過 */
@-webkit-keyframes opacityAnimation {
  0% { }
  100% { opacity: 1; }
}
@keyframes opacityAnimation {
  0% { }
  100% { opacity: 1; }
}


/* ----------------------------------------------------------------------
 記事一覧
---------------------------------------------------------------------- */
/* タブ */
#index_post_list_tab { width:100%; min-width:1150px; background:#df3f3f; }
#index_post_list_tab ol { width:1150px; height:60px; margin:0 auto; color:#fff; }
#index_post_list_tab ol li {
  float:left; height:60px; line-height:60px; text-align:center; min-width:200px; padding:0 70px; font-size:14px; border-right:1px solid rgba(255,255,255,0.2); cursor:pointer;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  -webkit-transition-property:background-color, color; -webkit-transition-duration:0.2s; -webkit-transition-timing-function:ease;
  -moz-transition-property:background-color, color; -moz-transition-duration:0.2s; -moz-transition-timing-function:ease;
  -o-transition-property:background-color, color; -o-transition-duration:0.2s; -o-transition-timing-function:ease;
  transition-property:background-color, color; transition-duration:0.2s; transition-timing-function:ease;
}
#index_post_list_tab ol li:first-child, #index_post_list_tab ol li:only-child { border-left:1px solid rgba(255,255,255,0.2); }
#index_post_list_tab ol li.active, #index_post_list_tab ol li.active:hover { background:#fff; color:#333; }
#index_post_list_tab ol li:hover { background:rgba(0,0,0,0.2); }
.no_header_content { margin:0; line-height:1px; height:1px; border:none; background:#ccc; }



/* 記事一覧 */
.post_list { padding:0; }
.post_list_wrap { display:none; }
#post_list1 { position:relative; display:block; }


/* 日付 */
.post_list .post_date { width:87px; float:left; padding:50px 0 0 0; position:relative; }
.post_list .item:first-child .post_date { padding:0; }
.post_list .post_date time { width:60px; display:block; text-align:center; }
.post_list .post_date .date { font-size:52px; display:block; margin:-6px 0 1px 0; font-weight:normal; }
.post_list .post_date .month { font-size:14px; display:block; margin:0 0 8px 0; font-weight:normal; }
.post_list .post_date .month strong { font-weight:normal; }
.post_list .post_date .year { font-size:11px; display:block; color:#aaa; font-weight:normal; }


/* 日付の右側に表示している黒丸 */
.post_list .post_date:after { display:block; content:''; width:10px; height:10px; background:#000; position:absolute; right:-5px; top:60px; border-radius:100%; z-index:2; }
.post_list .item:first-child .post_date:after { top:13px; }


/* 先頭の記事の黒丸の上の線を隠す */
.post_list .item:first-child .post_date:before { display:block; content:''; width:10px; height:15px; background:#fff; position:absolute; right:-5px; top:0px; z-index:2; }


/* 一番下の要素にグラデーションのラインを追加 */
.post_list .item:last-of-type { position:relative; margin-bottom:120px; }
.post_list .item:last-of-type:before {
  height:130px; width:1px; left:87px; bottom:-130px; position:absolute; z-index:9; display:block; content:'';
  background: -webkit-linear-gradient(top, #e6e6e6, #ffffff);
  background: -moz-linear-gradient(top, #e6e6e6, #ffffff);
  background: -ms-linear-gradient(top, #e6e6e6, #ffffff);
  background: -o-linear-gradient(top, #e6e6e6, #ffffff);
  background: linear-gradient(to bottom, #e6e6e6, #ffffff);
}


/* 右側 */
.post_list .main_data {
  float:right; width:-webkit-calc(100% - 87px); width:-moz-calc(100% - 87px); width:calc(100% - 87px);
  padding:50px 0 45px 77px; border-left:1px solid #e6e6e6; border-bottom:1px solid #e6e6e6; position:relative;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.post_list .item:first-child .main_data { padding-top:0; }
#post_list1 .post_list .item:last-child .main_data { border-bottom:1px solid #e6e6e6; }
.post_list.no_date .main_data { border-left:none; padding-left:0; float:none; width:100%; }


/* カテゴリ―・アクセス数 */
.post_list .main_data ol { margin:0 0 17px 0; }
.post_list .category { float:left; }
.post_list .category a { display:inline-block; height:30px; line-height:30px; padding:0 40px; text-align:center; background:#000; color:#fff; font-size:12px; margin-right:-1px; z-index:2; position:relative;}
.post_list .view {
 height:30px; line-height:28px; border:1px solid #ddd; display:inline-block; padding:0 12px; font-size:12px; color:#666;
-moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.post_list .view:before {
content:'\e92b'; font-family:'design_plus'; font-size:16px; font-weight:bold; display:block; width:16px; height:16px; float:left; margin:0 4px 0 0;
-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}


/* 記事タイトル */
.post_list .title { font-size:30px; line-height:1.6; margin:0 0 10px 0; word-wrap:break-word; }
.post_list .title a { display:block; }
.post_list .excerpt { font-size:14px; line-height:2.0; }


/* ajaxロード */
#load_post { text-align:center; position:absolute; left:87px; right:0; bottom:10px; }
#load_post a { display:none; }
#infscr-loading { text-align:center; z-index:100; position:absolute; left:87px; right:0px; bottom:10px; font-size:14px; }
#infscr-loading img { display:block; margin:0 auto; }




/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
/* 見出し */
#page_header { width:100%; height:100px; min-width:1150px; border-bottom:1px solid #ddd; }
#page_header_inner { width:1150px; margin:0 auto; position:relative; top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
#page_title { font-weight:bold; font-weight:700px; float:left; margin:0 50px 0 0; }
#page_title span { margin:0 0 0 38px; vertical-align:5px; font-weight:400; color:#000; }
#page_header .desc { margin:0; line-height:1.6; float:left; }


/* タブ */
#archive_post_list_tab {
  width:100%; min-width:1150px; height:60px; background:#f9f9f9; border-bottom:1px solid #ddd;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#archive_post_list_tab ol { width:1150px; height:60px; margin:0 auto; }
#archive_post_list_tab ol li {
  float:left; height:61px; line-height:60px; min-width:200px; text-align:center; padding:0 70px; border-top: 1px solid #ddd; border-right:1px solid #ddd; font-size:14px; cursor:pointer; z-index:2; margin-top:-1px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  -webkit-transition-property:background-color, border, color; -webkit-transition-duration:0.2s; -webkit-transition-timing-function:ease;
  -moz-transition-property:background-color, border, color; -moz-transition-duration:0.2s; -moz-transition-timing-function:ease;
  -o-transition-property:background-color, border, color; -o-transition-duration:0.2s; -o-transition-timing-function:ease;
  transition-property:background-color, border, color; transition-duration:0.2s; transition-timing-function:ease;
}
#archive_post_list_tab ol li:first-of-type { border-left:1px solid #ddd; }
#archive_post_list_tab ol li.active, #archive_post_list_tab ol li.active:hover { background:#fff !important; color:#333; border-bottom:1px solid #fff; }
#archive_post_list_tab ol li:hover { color:#fff; background:#222; }
#archive_post_list_tab ol li.active:hover { border-color:#ddd; border-bottom:1px solid #fff; }


/* ページング */
.page_navi { margin:-66px 0 66px 160px; }
.page_navi ul { margin:0; font-size:0; }
.page_navi li { display:inline; margin:0 -1px 5px 0; }
.page_navi a, .page_navi a:hover, .page_navi span { font-size:14px; padding:14px 16px; line-height:1; margin:0; border:1px solid #ddd; background:#fff; color:#333; display:inline-block; }
.page_navi a:hover { color:#fff; background:#000; border-color:#000; }
.page_navi span.dots { background:none; color:#fff; }
.page_navi span.current { color:#fff; background:#000; border-color:#000; }

.page_navi .next span, .page_navi .prev span { display:none; }
.page_navi .next:before, .page_navi .prev:before {
  font-family:'design_plus'; color:#333; font-size:11px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.page_navi .prev:before { content:'\e90f'; }
.page_navi .next:before { content:'\e910'; }
.page_navi .prev:hover:before, .page_navi .next:hover:before { color:#fff; }




/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */
.post_content { color:#666; }
.post_content a:hover, .custom-html-widget a:hover { text-decoration:underline; }


/* 日付 */
#post_date { float:left; position:relative; }
#post_date time { width:60px; display:block; text-align:center; }
#post_date .date { font-size:52px; display:block; margin:-6px 0 1px 0; font-weight:normal; }
#post_date .month { font-size:14px; display:block; margin:0 0 8px 0; font-weight:normal; }
#post_date .month strong { font-weight:normal; }
#post_date .year { font-size:11px; display:block; color:#aaa; font-weight:normal; }


/* 記事エリア */
#main_data { float:right; width:-webkit-calc(100% - 87px); width:-moz-calc(100% - 87px); width:calc(100% - 87px); }


/* カテゴリ―・アクセス数 */
#post_meta_top { margin:0 0 43px 0; }
#post_meta_top .category { float:left; }
#post_meta_top .category a {
  display:inline-block; min-width:110px; height:30px; line-height:30px; padding:0 40px; text-align:center; color:#fff; font-size:12px; margin:0;
  -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;
}
#post_meta_top .view {
  height:30px; line-height:28px; color:#666; border:1px solid #ddd; border-left:none; display:inline-block; padding:0 12px; font-size:12px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#post_meta_top .view:before {
content:'\e92b'; font-family:'design_plus'; font-size:16px; font-weight:bold; display:block; width:16px; height:16px; float:left; margin:0 4px 0 0;
-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}


/* 記事タイトル */
#post_title { font-size:40px; line-height:1.3; color:#000; margin:0 0 40px 0; word-wrap:break-word; }
body.page #post_title { text-align:center; margin:-30px 0 50px 0; }


/*  記事本文*/
#article .post_content { }
.single #article .post_content { }


/* アイキャッチ画像*/
#post_image { padding:0; margin:0 0 50px 0; position:relative; }
#post_image img { width:100%; height:auto; display:block; margin:0; z-index:1; }


/* SNSボタン */
#single_share_top { margin:0 0 5px 0; }
#single_share_top #share_top1 { padding-top:0; }


/* ページ分割 */
#post_pagination { margin:0 0 40px 0; padding:12px 0 0 0; clear:both; font-size:0; text-align:center; }
#post_pagination h5 { margin:0 0 10px 0; font-size:12px; }
#post_pagination a, #post_pagination p { font-size:12px; display:inline-block; background:#fff; margin:0 0 0 -1px; width:40px; height:40px; line-height:40px; text-align:center; text-decoration:none; color:#333; border:1px solid #ccc; }
#post_pagination p { background:#000; color:#fff; border-color:#000; position:relative; }
#post_pagination a:hover { color:#fff; }


/* ページ分割（続きを読むver） */
#p_readmore { text-align:center; padding:12px 0 0 0; }
#p_readmore .button { background:#000; color:#fff; display:inline-block; height:40px; line-height:40px; padding:0 40px; text-decoration:none; }
#p_readmore .button:hover { background:#999; }


/* メタ情報 */
#post_meta_bottom { margin:0 0 50px; background:#fafafa; padding:25px; }
#post_meta_bottom li { display:inline; margin:0 10px 0 0; padding:0 15px 0 20px; border-right:1px solid #ddd; font-size:12px; line-height:1.8; position:relative; }
#post_meta_bottom li:last-child { border:none; margin:0; }
#post_meta_bottom li:before {
  font-family:'design_plus'; color:#aaa; font-size:13px; width:13px; height:13px; line-height:13px; display:block;
  position:absolute; top:0; left:0px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#post_meta_bottom li.post_author:before { content:'\e90d'; top:1px; }
#post_meta_bottom li.post_category:before { content:'\e92f'; }
#post_meta_bottom li.post_tag:before { content:'\e935'; top:2px; }
#post_meta_bottom li.post_comment:before { content:'\e916'; font-size:16px; top:1px; }


/* 次の記事、前の記事 */
#previous_next_post { margin:0; }
#previous_next_post .prev_post, #previous_next_post .next_post { float:left; width:50%; }
#previous_next_post a { width:100%;
  display:block; border:1px solid #ddd; color:#333; font-size:14px; line-height:1.8; height:97px; color:#333; position:relative; display:table;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#previous_next_post .next_post a { margin-left:-1px; padding:0 60px 0 25px; }
#previous_next_post .prev_post a { padding:0 25px 0 60px; }
#previous_next_post a span { display:table-cell; vertical-align:middle; ; height:50px; overflow:hidden; -ms-word-wrap: break-word; word-wrap: break-word; }
#previous_next_post span.nav { display:none; }
#previous_next_post a:hover { background:#f7f7f7; color:#333; }
#previous_next_post .prev_post a:before {
  content:''; width:15px; height:20px;
  font-family:'design_plus'; color:#aaa; font-size:16px; display:block;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  content:'\e90f'; position:absolute; top:-6px; bottom:0px; left:20px; margin:auto;
}
#previous_next_post .next_post a:before {
  content:''; width:15px; height:20px;
  font-family:'design_plus'; color:#aaa; font-size:16px; display:block;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  content:'\e910'; position:absolute; top:-6px; bottom:0px; right:20px; margin:auto;
}


/* 最新記事 */
#single_recent_post { margin:50px 0 0 0; }
#single_recent_post .headline { font-size:14px; margin:0 0 -1px 0; font-weight:400; background:#000; height:50px; line-height:50px; color:#fff; padding:0 30px; border-radius:5px 5px 0 0; display:inline-block; }
#single_recent_post li { margin:0 0 -1px 0; }
#single_recent_post li .title { font-size:14px; font-weight:normal; }
#single_recent_post li a { display:block; border:1px solid #ddd; padding:20px; line-height:1.6; }
#single_recent_post li a:hover { color:#333; background:#f9f9f9; }
#single_recent_post li a .single_recent_post_time{ margin-right: 10px; display: inline-block; }
#single_recent_post li a .single_recent_post_cat{ margin-right: 10px; display: inline-block; padding: 0 15px; color: #fff; font-size: 12px; box-sizing:border-box; }

/* 関連記事 */
#related_post { margin:50px 0 0 0; }
#related_post .headline { font-size:14px; margin:0 0 -1px 0; font-weight:400; background:#000; height:50px; line-height:50px; color:#fff; padding:0 30px; border-radius:5px 5px 0 0; display:inline-block; position:relative; z-index:2;}
#related_post ol { margin:0; position:relative; font-size:0; }
#related_post li {
  width:50%; height:100px; display:inline-block; vertical-align:top; margin:0 -1px -1px 0; border:1px solid #ddd;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#related_post li:nth-child(2n) { margin-right:0; }
#related_post .post_date {
  width:60px; float:left; position:relative; padding:11px 0 0 15px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#related_post .post_date time { width:50px; display:block; text-align:center; }
#related_post .post_date .date { font-size:40px; display:block; margin:0 0 1px 0; font-weight:normal; }
#related_post .post_date .month { font-size:14px; display:block; margin:0 0 8px 0; font-weight:normal; }
#related_post .post_date .month strong { font-weight:normal; }
#related_post .post_date .year { font-size:11px; display:block; color:#aaa; font-weight:normal; }
#related_post .title { font-size:14px; line-height:1.9; font-weight:normal; -ms-word-wrap: break-word; word-wrap: break-word; }
#related_post .title a {
  display:block; float:right; height:52px; overflow:hidden; margin:23px 20px 0 0;
  width:-webkit-calc(100% - 100px); width:-moz-calc(100% - 100px); width:calc(100% - 100px);
}
#related_post .title a:hover { text-decoration:none; color:#333; }
#related_post li:hover { background:#f9f9f9; }




/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */

/* ページナビゲーション */
#previous_next_page { text-align:center; margin:0 0 70px 0; font-size:0;}
#previous_next_page a {
  display:inline-block; vertical-align:top; font-size:14px; text-decoration:none; text-align:center; padding:0 25px; height:50px; line-height:50px; min-width:180px; background:#000; color:#fff; position:relative; margin:0 5px; border-radius:4px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#previous_next_page a:after {
  font-family:'design_plus'; content:'\e910'; color:#fff; font-size:14px; display:block; position:absolute; top:1px; right:16px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#previous_next_page a.prev:after { content:'\e90f'; right:auto; left:16px; }




/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */

/* ヘッダー上部 */
#header_top { width:100%; min-width:1150px; position:relative; z-index:20; background:#000; }
#header_top_inner { height:60px; width:1150px; margin:0 auto; position:relative; color:#fff; }
#site_desc { font-size:14px; height:60px; line-height:60px; font-weight:normal; }


/* ヘッダー下部 */
#header {
  height:100px; width:100%; min-width:1150px; position:relative; z-index:20;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#header_inner { height:100px; width:1150px; margin:0 auto; position:relative; }


/* ロゴ */
.pc #logo_text, .pc #logo_image {
  display:inline; position:absolute; left:0; top:50%;
  -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%);
}
#logo_image .logo { }
.pc #logo_image img.pc_logo_image { display:block; margin:0 auto; }
.pc #logo_image img.mobile_logo_image { display:none; }
.pc #logo_text h2 { line-height:1; }
.pc #logo_text a { text-decoration:none; color:#fff; }
.pc .header_fix #header #logo_text, .pc .header_fix #header #logo_image { display:none; }


/* グローバルメニュー */
.pc #global_menu { height:50px; font-size:0; position:absolute; right:-25px; top:0; }
.pc #global_menu > ul { display:inline-block; height:50px; font-size:0; position:relative; vertical-align:top; }
.pc #global_menu > ul > li { font-size:1%; position:relative; display:inline-block; height:100px; line-height:100px; margin:0 0 0 10px; }

.pc #global_menu > ul > li > a {
  font-size:14px; text-decoration:none; height:50px; line-height:50px; display:block; padding:0 25px; color:#fff;
  margin:25px 0 0 0; overflow:hidden; border-radius:5px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.pc #global_menu > ul > li.active > a, .pc #global_menu > ul > li.current-menu-item > a { color:#fff !important; box-shadow:1px 1px 3px 2px rgba(0,0,0,0.1) inset; }
.pc #global_menu a:hover { color:#fff !important; }

.pc #global_menu ul ul { display:none; width:230px; position:absolute; top:100px; left:0px; margin:0; padding:0; }
.pc #global_menu ul ul ul { left:100%; top:0; margin:0; border:none; }
.pc #global_menu ul ul li { line-height:1.5; padding:0; margin:0; text-align:left; position:relative; display:block; }
.pc #global_menu ul ul a {
  font-size:14px; background:#222; color:#fff; display:block; border:none; position:relative; padding:14px 25px; height:auto; line-height:1.6; margin:0; text-align:left; box-shadow:none;
  -webkit-transition-property:all; -webkit-transition-duration:0.35s; -webkit-transition-timing-function:ease; -moz-transition-property:all; -moz-transition-duration:0.35s; -moz-transition-timing-function:ease; -o-transition-property:all; -o-transition-duration:0.35s; -o-transition-timing-function:ease; transition-property:all; transition-duration:0.35s; transition-timing-function:ease;
}
.pc #global_menu ul ul a:hover { text-decoration:none; border:none; padding-left:40px; }

.pc #global_menu ul ul li.menu-item-has-children > a:before {
  font-family:'design_plus'; content:'\e910'; color:#fff; font-size:14px; display:block; position:absolute; left:200px; top:19px; height:14px; line-height:14px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.pc .header_fix #header #global_menu { bottom:-1px; }
.pc #menu_button { display:none; }
.pc #global_menu ul.main_menu { display:none; }


/* 子メニューを逆方向にする */
.pc #global_menu > ul > li.rev ul, .pc #global_menu > ul > li:nth-last-of-type(1) ul{ right:0; left:auto; }
.pc #global_menu > ul > li.rev ul ul, .pc #global_menu > ul > li:nth-last-of-type(1) ul ul  { left:auto; right:100%; }
.pc #global_menu > ul > li.rev ul li.menu-item-has-children > a:before, .pc #global_menu > ul > li:nth-last-of-type(1) ul li.menu-item-has-children > a:before { content:'\e90f'; right:auto; left:9px; }
.pc #global_menu > ul > li.rev ul li.menu-item-has-children > a, .pc #global_menu > ul > li:nth-last-of-type(1) ul li.menu-item-has-children > a { padding-left: 25px; }



/* メガメニュー */
#header_category_menu { width:100%; min-width:1150px; background:#333; position:absolute; z-index:20; display:none; }
#header_category_menu_inner { width:1150px; margin:0 auto; position:relative; }
#header_category_menu a { color:#fff; display:block; }
#header_category_menu ul a {
  padding:21px; font-size:14px;
  -webkit-transition-property:all; -webkit-transition-duration:0.35s; -webkit-transition-timing-function:ease; -moz-transition-property:all; -moz-transition-duration:0.35s; -moz-transition-timing-function:ease; -o-transition-property:all; -o-transition-duration:0.35s; -o-transition-timing-function:ease; transition-property:all; transition-duration:0.35s; transition-timing-function:ease;
}
#header_category_menu ul a:hover { background:#b83334; padding-left:34px; }
#header_category_menu ul ul a { background:#b83334; }
#header_category_menu ul ul a:hover { background:rgba(0,0,0,0.2) !important; }
#header_category_menu ul { }
#header_category_menu ul ul {
  display:none; position:absolute; top:0; left:230px; z-index:9999; background:#b83334; height:100%;
  width:-webkit-calc(100% - 230px); width:-moz-calc(100% - 230px); width:calc(100% - 230px);
}
#header_category_menu ul ul li { width:230px; float:left; }
#header_category_menu li.has_child > a { position:relative; }
#header_category_menu li.has_child > a:after {
  font-family:'design_plus'; content:'\e910'; color:#fff; font-size:14px; display:block; position:absolute; left:200px; top:22px; height:14px; line-height:14px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#header_category_menu li.has_child.active > a { background:#b83334; padding-left:34px; }


/* SNSボタン */
#header_social_link { position:absolute; right:-10px; top:15px; }
.social_link li { float:left; margin:0; position:relative; }
.social_link li a {
  display:block; overflow:hidden; width:35px; height:33px; line-height:33px; text-align:center; position:relative;
  -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none;
}
.social_link li a span { display:none; }
.social_link li a:before {
  font-family:'design_plus'; color:#fff; font-size:16px; width:17px; height:17px; display:block;
  position:absolute; top:1px; left:0; right:0; margin:auto;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.social_link li a:hover:before { color:#fff; }
.social_link li.twitter a:before { font-family: 'tiktok_x_icon'; content: "\e901";}
.social_link li.twitter a:hover:before { color:#000 !important; }
.pc .header_fix #header #header_social_link { display:none; }


/* 固定ヘッダー */
.pc .header_fix { padding-top:50px; }/* #header_inner height + #header margin bottom */
.pc .header_fix #header {
  position:fixed; top:0px; left:0px; z-index:200; background:#fbfbfb; height:50px; width:100%;
  animation: slideDown 0.5s ease; -ms-animation: slideDown 0.5s ease; -webkit-animation: slideDown 0.5s ease; -moz-animation: slideDown 0.5s ease;
}
.pc .header_fix #header_inner { height:50px; }
@-webkit-keyframes slideDown {
  0% { top:-50px; }
  100% { top:0px; }
}
@keyframes slideDown {
  0% { top:-50px; }
  100% { top:0px; }
}


/* 固定ヘッダーのグローバルメニュー */
.pc .header_fix #global_menu > ul > li { height:50px; line-height:50px; margin:0; }
.pc .header_fix #global_menu > ul > li > a { margin:0; border-radius:0; }
.pc .header_fix #global_menu > ul > li.active > a, .pc .header_fix #global_menu > ul > li.current-menu-item > a { box-shadow:none; }
.pc .header_fix #global_menu ul ul { top:50px; width:100%; }
.pc .header_fix #global_menu ul ul ul { top:0; }
.pc .header_fix #global_menu { width:100%; border-right:1px solid rgba(255,255,255,0.3); }
.pc .header_fix #global_menu > ul { display: -webkit-box; -webkit-box-pack: justify; display: -webkit-flex; display: -ms-flex; display: flex; }
.pc .header_fix #global_menu > ul > li {  flex:1; -webkit-box-flex: 1; text-align:center; border-left:1px solid rgba(255,255,255,0.3); }
.pc .header_fix #header_category_menu { position:fixed; top:50px; z-index:9999; }


/* パンくずリンク */
#bread_crumb { width:100%; min-width:1150px; height:50px; border-bottom:1px solid #ddd; }
#bread_crumb ul { margin:0 auto; width:1150px; padding:17px 0 0 0; }
#bread_crumb li { display:inline; font-size:12px; padding:0 0 0 17px; margin:0 5px 0 0; line-height:1.6; position:relative; }
#bread_crumb li:before {
  font-family:'design_plus'; content:'\e910'; color:#333; font-size:9px; width:9px; height:9px; line-height:9px;
  display:block; position:absolute; left:0; top:4px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#bread_crumb li.home { padding:0 0 0 5px;}
#bread_crumb li.home a {
  position:relative; width:14px; height:16px; word-wrap: break-word;
  text-indent:-300%; overflow:hidden; display:block; float:left;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#bread_crumb li.home a:after {
  font-family:'design_plus'; content:'\e90c'; font-size:14px; width:14px; height:14px; line-height:14px;
  text-indent:0; display:block; position:absolute; top:2px; left:0px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#bread_crumb li.home a:hover:after { color:#000; }
#bread_crumb li.home:before { display:none; }




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */

/* スライダー */
#footer_slider_wrap {
  width:100%; min-width:1150px; padding:50px 0; margin:50px 0 0 0; background:#f5f5f5; overflow:hidden;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#footer_slider { width:1150px; margin:0 auto; position:relative; }
#footer_slider .item {
  margin:0; position:relative; width:370px; height:100px; overflow:hidden; border-right:1px dotted #ccc; margin:0 40px 0 0; padding:0 40px 0 0;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#footer_slider .title {
  display:block; text-decoration:none; line-height:1.6; font-size:14px; -ms-word-wrap: break-word; word-wrap: break-word;
}
#footer_slider .category a { display:inline-block; height:30px; line-height:30px; padding:0 40px; text-align:center; color:#fff; font-size:12px; margin:0 0 15px 0; }


/* スライダーの矢印 */
#footer_slider .slick-arrow {
  width:15px; height:15px; position:absolute; opacity:0; overflow:hidden; cursor:pointer; background:none !important;
  -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
}
#footer_slider .slick-arrow span { text-indent:-200px; display:block; }
#footer_slider .slick-arrow:before {
  font-family:'design_plus'; color:#333; font-size:15px; font-weight:bold; display:block; position:absolute;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#footer_slider .slick-prev:before { content:'\e90f'; }
#footer_slider .slick-next:before { content:'\e910'; }
#footer_slider .slick-arrow:hover:before { color:#666; }
#footer_slider .slick-prev { top:42px; left:-100px; }
#footer_slider .slick-next { top:42px; right:-100px; }
.pc #footer_slider_wrap:hover .slick-prev { left:-50px; opacity:1; }
.pc #footer_slider_wrap:hover .slick-next { right:-50px; opacity:1; }


/* フッターウィジェット */
#footer_top { width:100%; min-width:1150px; }
#footer_top_inner { width:1150px; padding:50px 0px 20px; margin:0 auto; overflow:hidden; }
#footer_left_widget { width:300px; float:left; margin:0 110px 0 0; }
#footer_center_widget { width:400px; float:left; margin:0 10px 0 0; }
#footer_right_widget { width:330px; float:left; }
#footer_top .side_widget { margin:0 0 30px 0; }
.footer_headline { font-size:16px; margin:0 0 30px 0; display:none; }


/* フッター下部 */
#footer_bottom { background:#df3f3f; width:100%; min-width:1150px; }
#footer_bottom_inner { width:1150px; margin:0 auto; position:relative; height:60px; line-height:60px; text-align:center; }


/* SNSボタン */
#footer_bottom .social_link { position:absolute; left:-12px; top:15px; }


/* コピーライト */
#copyright { font-size:12px; line-height:60px; color:#fff; }
#copyright a { color:#fff; }


/* ページ上部へ戻るボタン */
#return_top { display:block; }
#return_top a { display:block; height:60px; width:60px; line-height:60px; text-decoration:none; background:#000; z-index:100; position:relative; }
#return_top span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#return_top a:before {
  font-family:'design_plus'; color:#fff; font-size:12px; display:block; position:absolute; width:18px; height:18px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#return_top a:before { content:'\e911'; left:24px; top:2px; }
#return_top {
  position:fixed; right:0px; bottom:0px; z-index:999;
  -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0);
  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;
}
#return_top.active { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }




/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
/* 基本設定 */
.side_widget { margin:0 0 50px 0; font-size:14px; position:relative; }
.side_widget:last-child, .side_widget:only-child  { margin:0; }
.side_headline { font-size:14px; margin:0 0 20px 0; padding:0 30px; font-weight:400; color:#fff; background:#000; height:50px; line-height:50px; border-radius:5px 5px 0 0; display:inline-block; }
.side_widget ul { margin:0; }
.side_widget li ul { margin:10px 0 0 0; }
.side_widget li { line-height:2; padding:2px 0; margin:0 0 10px 0; }
.side_widget a { text-decoration:none; }
.side_widget a:hover { }
.side_widget img { height:auto; max-width:100%; }


/* プロフィール */
.kachoufuugetsu_user_profile_widget { border:1px solid #ddd; padding:30px 30px 30px; }
.kachoufuugetsu_user_profile_widget .user_avatar { overflow:hidden; width:130px; height:130px; display:block; margin:0px auto 25px; border-radius:130px; }
.kachoufuugetsu_user_profile_widget .user_avatar img { width:100%; height:auto; display:block; }
.kachoufuugetsu_user_profile_widget .user_desc { font-size:14px; line-height:2.3; margin:0 0 30px 0; }
.kachoufuugetsu_user_profile_widget .button { text-align:center; margin:0 0 30px 0; }
.kachoufuugetsu_user_profile_widget .button a { display:inline-block; height:45px; line-height:45px; padding:0 30px; background:#222; color:#fff; font-size:14px; text-decoration:none; border-radius:5px; }
.kachoufuugetsu_user_profile_widget .user_sns { text-align:center; margin:0; padding:0; font-size:0; }
.kachoufuugetsu_user_profile_widget li { display:inline-block; vertical-align:top; margin:0; padding:0; line-height:100%; font-size:11px; background:none; width:30px; }
.kachoufuugetsu_user_profile_widget li a { position:relative; text-decoration:none; }
.kachoufuugetsu_user_profile_widget li a span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
.kachoufuugetsu_user_profile_widget li a:before {
  font-family:'design_plus'; color:#333; font-size:12px; display:block; position:absolute; top:10px; left:-5px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.kachoufuugetsu_user_profile_widget li.twitter_button a:before {font-family: 'tiktok_x_icon'; content: "\e901"; }
.kachoufuugetsu_user_profile_widget li.twitter_button a:hover:before { color:#000; }


/* ドロップダウンカテゴリーメニュー(使用停止中のウィジェット設定として保持) */
.kachoufuugetsu_category_list_widget .side_headline { margin:0 0 -1px 0; z-index:2; position:relative; }
.kachoufuugetsu_category_list { margin:0; padding:1px 0 0 0; border-top:1px solid #ddd; }
.kachoufuugetsu_category_list li { margin:0; padding:0; background:none; position:relative; }
.kachoufuugetsu_category_list a {
  display:block; padding:0 5px 0 15px; height:50px; line-height:50px; overflow:hidden; border:1px solid #ddd; margin:-1px 0 0 0; font-size:14px; text-decoration:none; background:#fff; position:relative;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.kachoufuugetsu_category_list > li:first-child > a { border-top:none; }
.kachoufuugetsu_category_list a:hover { background:#f5f5f5; color:#333; }
.kachoufuugetsu_category_list li a .count { float:right; top:5px; position:relative; height:40px; line-height:40px; background:#bbb; color:#fff; padding:0 8px; min-width:24px; text-align:center; font-size:11px; border-radius:4px; }
.kachoufuugetsu_category_list li a:hover .count{ background:#d80c49; }
.kachoufuugetsu_category_list li li a { padding-left:28px; }
.kachoufuugetsu_category_list li li li a { padding-left:42px; }
.kachoufuugetsu_category_list li li li li a { padding-left:56px; }

.kachoufuugetsu_category_list ul {
  display:none; margin:0 !important; padding:0 !important; background:none;
  z-index:9; position:relative;
}
.kachoufuugetsu_category_list ul ul { width:100%; position:relative;}
.kachoufuugetsu_category_list ul li { margin:0; padding:0; }


/* 検索 */
.widget_search label { display:none; }
.widget_search .side_headline { display:none; }
#searchform {
  border:1px solid #ddd; background:#fbfbfb; height:40px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#searchform #s {
  border:none; background:none; padding:0 10px; margin:0; width:calc(100% - 40px); height:40px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#searchform #searchsubmit {
  border:none; background:none; width:40px; height:40px; z-index:200; position:relative;
  cursor:pointer; display:block; text-indent:-300%; overflow:hidden;
}
#searchform .submit_button  { position:relative; width:40px; height:40px; float:right; }
#searchform .submit_button:before {
  text-indent:0; display:block; width:40px; height:40px; line-height:40px; text-align:center; cursor:pointer; z-index:1;
  position:absolute; font-family:'design_plus'; color:#333; font-size:18px; content:'\e915'; right:0px; top:1px;
}
#searchform .submit_button:hover:before { color:#fff; }
#searchform .submit_button:hover { background:#333; }


/* アーカイブ、カテゴリードロップダウンメニュー */
.widget_archive, .widget_categories, .kachoufuugetsu_archive_list_widget { }
.widget_archive { }
.widget_archive ul  { margin:0; padding:0; }
.widget_archive ul li { }
.widget_archive select, .widget_categories select, .kachoufuugetsu_archive_dropdown select { border:1px solid #ddd; padding:12px 10px; width:100%; margin:0; font-size:14px; }
.widget_archive select { border:1px solid #ddd; padding:12px; }
.widget_archive label, .widget_categories label { display:none; }
.widget_archive select option, .widget_categories select option, .kachoufuugetsu_archive_dropdown option { background:#fff; color:#333; }
.widget_categories li { font-size:14px; }


/* アーカイブ一覧 */
.kachoufuugetsu_archive_list_widget .side_headline { display:none; }
.p-widget-dropdown { height: 45px; line-height: 45px; position: relative; }
.p-widget-dropdown::after { color: #666; content: "\e90e"; font-family: "design_plus"; position: absolute; top: 0; right: 17px; z-index: 1; }
.p-widget-dropdown select { padding-right:33px; position: relative; z-index: 2; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.p-widget-dropdown select::-ms-expand { display: none; }

.p-dropdown { font-size: 14px; }
.p-dropdown__title { -webkit-box-sizing: border-box; box-sizing: border-box; position: relative; height: 50px; padding: 0 18px; border: 1px solid #ddd; background: #fff; line-height: 50px; }
.p-dropdown__title::after { position: absolute; right: 17px; font-family: "design_plus"; content: "\e90e"; }
.p-dropdown__title:hover { cursor: pointer; }
.p-dropdown__title.is-active::after { content: "\e911"; }
.p-dropdown__list { display: none; }
.p-widget .p-dropdown .p-dropdown__list { margin: 0; }
.p-dropdown__list li { border: 1px solid #ddd; border-top: 0; line-height: 1.5; margin:0; padding:0; }
.p-dropdown__list li a { display: block; padding: 14px 18px; }
.p-dropdown__list li a:hover { background: #f6f6f6; color: #000; }


/* デフォルトの最近の記事 */
.widget_recent_entries li { border-bottom:1px dotted #ccc; padding:0 0 15px 0; }
.widget_recent_entries li:last-child { border:none; padding:0; }


/* アクセス数ランキング(使用停止中のウィジェット設定として保持) */
.ranking_list_widget .side_headline { margin:0 0 -1px 0; z-index:2; position:relative; }
.ranking_list_widget ol { margin:0; padding:0; }
.ranking_list_widget li { padding:6px 0 15px; margin:0; }
.ranking_list_widget .num {
  float:left; position:relative; height:40px; width:40px; display:block; background:#ccc; color:#fff; padding:0 0 0 7px; font-weight:bold; font-size:13px; margin:0;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.ranking_list_widget .num:after {
  position:absolute; display:block; content:''; width:0; right:0px; top:0px;
  height:0; border-style: solid; border-width:0 0 40px 40px; border-color:transparent transparent #fff transparent;
}
.ranking_list_widget .title { margin:13px 0 0 0; }




/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
/* 基本設定 */
#comments { font-size:12px; margin:0; }
#comment_headline { font-size:16px; margin:50px 0 20px 0; }
#comment_area, #trackback_area { margin:15px 0 20px; padding:0 0 5px 0; }
#trackback_area { display:none; }


/* コメント・トラックバックのタブ */
#comment_header { position:relative; margin:0 0 25px; }
#comment_header ul { margin:0; }
#comment_header ul li { float:left; text-align:center; margin:0; width:50%; }
#comment_header ul li a, #comment_header ul li p { font-size:11px; padding:18px 15px; line-height:1.6; display:block; color:#333; text-decoration:none; background:#f2f2f2; }
#comment_header ul li a:hover { color:#fff !important; background:#333; }
#comment_header ul li.comment_switch_active a, #comment_header #comment_closed p { color:#fff; position:relative; background:#333; }
#comment_header ul li.comment_switch_active a:after, #comment_header #comment_closed p:after {
  position:absolute; bottom:-17px; left:-webkit-calc(50% - 5px); left:-moz-calc(50% - 5px); left:calc(50% - 5px);
  content:""; width:0; height:0; border-width:10px; border-style:solid; border-color:#333 transparent transparent transparent;
}
#comment_header ul li:first-child a, #comment_header ul li:first-child p { border-radius:5px 0 0 5px; }
#comment_header ul li:last-child a, #comment_header ul li:last-child p { border-radius:0 5px 5px 0; }
#comment_header ul li.comment_switch_active a:hover { background:#333 !important; }


/*  コメントの基本部分 */
.commentlist { list-style-type:none; margin:0; padding:0; }
.comment { border:1px solid #ccc; color:#777; margin:0 0 15px; padding:15px 20px 0; background:#fff; }
#comments .post_content { margin:20px 0 0; padding:0; background:none; }
.admin-comment { }


/* コメントの情報部分 */
.comment-meta { position:relative; margin:0 0 10px 0; }

.comment-meta-left { float:left; width:400px; }
#comments .avatar { float:left; margin:0 10px 0 0; background:#fff; width:40px; height:40px; }
.comment-name-date { padding:3px 0 0 0; height:37px; }

a.admin-url { text-decoration:underline; }
a.guest-url { text-decoration:underline; }

.comment-name-date { margin:0; }
.comment-date { font-size:11px; color:#757676; margin:10px 0 0 0; }

.comment-act { background:url(img/common/arrow3.gif) no-repeat left; font-size:11px; position:absolute; right:0px; padding:0 0 0 10px; margin:5px 0 0 0; }
.comment-act li { display:inline; margin:0; }
.comment-reply a, .comment-reply a:visited { border-right:1px solid #aaa; padding:0 10px 0 0; margin:0 6px 0 0; }
.comment-edit a, .comment-edit a:visited { border-left:1px solid #aaa; padding:0 0 0 10px; margin:0 0 0 6px; }


/* コメント本文 */
#comments .post_content p { margin:0 0 15px 0; }
#comments .post_content blockquote span { margin:0 0 -1em 0; display:block; }


/* メッセージ、警告文 */
.comment-note { display:block; font-size:11px; margin:0 0 1em 0; color:#33a8e5; border:1px solid #94ddd4; padding:10px 15px; background:#d6f4f0; }
.comment_closed { border:1px solid #ccc; text-align:center; margin:0 35px 15px 0; padding:15px; background:#fefefe; }
.no_comment { padding-bottom:15px; }


/* トラックバック */
.trackback_time { font-size:11px; color:#757676; margin:0 0 7px 0px; }
.trackback_title { margin:2px 0 8px 0; margin:0 0 10px 0px; line-height:1.6; }

#trackback_url_area { margin:0; }
#trackback_url_area label { display:block; margin:0 0 10px 0; font-size:11px; }
#trackback_url_area input { border:1px solid #ccc; background:#fafafa; padding:10px; width:100%; font-size:11px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }


/* ページナビ */
#comment_pager { margin:0 0 10px; height:24px; }
#comment_pager a, #comment_pager span { display:inline; float:left; margin:0 10px 0 0; }
#comment_pager .current { text-decoration:underline; }


/* コメントフォーム */
.comment_form_wrapper { border:1px solid #ccc; margin:0 0 0px; padding:15px; background:#fff; }
.comment .comment_form_wrapper { margin:0 0 20px; }

#cancel_comment_reply  { background:url(img/common/arrow3.gif) no-repeat left center; margin:0 0 1em 0; padding:0 0 0 10px; }

#comment_user_login p { padding:0 0 0 1px; margin:0; line-height:1; }
#comment_user_login span { margin:0 0 0 40px; }

#comment_login { margin:0; padding:3px 30px 10px 30px; }
#comment_login p { margin:0; padding:12px 0 11px 36px; line-height:1; }
#comment_login a { margin:0 0 0 20px; padding:0 0 0 20px; background:url(img/common/arrow3.gif) no-repeat 10px 3px; }

#guest_info { padding:0; width:100%; }
#guest_info div { margin:0 0 12px 0; text-align:left; }
#guest_info input { margin:0; padding:5px 0; border:1px solid #ccc; width:100%; background:#fff; color:#777; }
#guest_info input:focus { border:1px solid #e48898; }
#guest_info label { display:block; margin:0 0 5px 0; padding:0 0 0 0; font-size:11px; color:#888;}
#guest_info span { color:#666; margin:0 10px 0 0; }

#comment_textarea textarea { margin:15px 0 0; width:100%; height:150px; border:1px solid #ccc;
                             background:#fff; color:#777; font-size:11px; overflow:auto; }
#comment_textarea textarea:focus { border:1px solid #e48898; }

#submit_comment_wrapper { text-align:center; }
#submit_comment {
  background:#aaa; border:none; cursor:pointer; color:#fff; font-size:14px; width:200px; height:50px; margin:15px auto 0; display:block; border-radius:5px;
  -webkit-transition: background-color 200ms ease-in-out; -moz-transition: background-color 200ms ease-in-out; -o-transition: background-color 200ms ease-in-out; -ms-transition: background-color 200ms ease-in-out; transition: background-color 200ms ease-in-out;
}
#submit_comment:hover { background:#e48898; }

#input_hidden_field { display:none; }


/** ブロックエディターのテーブルブロックの調整 **/
.wp-block-embed { margin:0 0 2em 0; }


/* ----------------------------------------------------------------------
 上付き文字、下付き文字
---------------------------------------------------------------------- */
sup {
vertical-align: super;
font-size: smaller;
}
sub {
vertical-align: sub;
font-size: smaller;
}


/* 基本設定 */
.p-widget ul { margin:0; }
.p-widget li { line-height:2; padding:2px 0; margin:0 0 10px 0; }
.p-widget a { text-decoration:none; }

/* デフォルトの最近の記事 */
.widget_recent_entries ul { border-top:1px solid #ddd; margin-top:-21px; padding-top: 15px;}
.widget_recent_entries li { border-bottom:1px solid #ddd; padding:0 0 15px 0; margin-bottom:15px; word-wrap:break-word; }
.widget_recent_entries li:last-child { border:none; padding:0; margin:0; }
.widget_recent_entries li a { display:block; }
.widget_recent_entries .post-date { position:relative; color:#999; font-size:14px; display:block; margin-top:3px; }
.widget_recent_entries .post-date:before {
  font-family:'design_plus'; content:'\e94e'; font-size:13px; display:inline-block; margin:0 7px 0 0; vertical-align:-1px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}


/* デフォルトのコメントウィジェット */
.widget_recent_comments li { color:#999; }

/* デフォルトのテキストウィジェット(使用停止中のウィジェット設定として保持) */
.widget_text .post_content { font-size:16px; line-height: 1.6; }


/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
.widget_archive select, .widget_categories select {
  border:1px solid #ddd; background:#fff;  width:100%; height:60px; padding:0 18px; font-size:16px; cursor:pointer;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  -webkit-appearance:none; appearance:none;
}
.widget_archive .screen-reader-text, .widget_categories .screen-reader-text  {
  display:block; clip:auto; clip-path:none; pointer-events:none;
  height:60px; width:50px; margin:0;
  left:calc(100% - 50px); text-indent:-100vw;
}
.widget_archive .select_wrap,.widget_categories .select_wrap{
  position: relative;
}
.widget_archive .select_wrap:before, .widget_categories .select_wrap:before {
  font-family:'design_plus'; content:'\e90e'; text-align:center; text-indent:0;
  display:block; font-size:14px; width:14px; height:14px; line-height:14px;
  position:absolute; right:15px; top:25px;
}

.widget_text .post_content { font-size:16px; line-height: 1.6; margin-top: -21px;border-top: 1px solid #ddd;padding-top: 20px;}
.widget_categories > ul, .widget_archive > ul, .widget_recent_comments > ul { border-top:1px solid #ddd; margin-top:-21px; padding-top: 15px;}
.widget_categories .select_wrap, .widget_archive .select_wrap { margin-top:-21px; }


/* スクロール */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 70px;
}
html:has(.l-header--fixed) {
	scroll-padding-top: 100px;
}
@media (max-width: 1199px) {
	html:has(.l-header--fixed) {
		scroll-padding-top: 100px;
	}
}
/* ============================================================ *
 * ②CSS自作化: css/sns-botton.css の移植(2026-09-17)
 * ============================================================ *
 * ZERO本体 css/sns-botton.css からの移植。共有ボタン
 * (template-parts/sns-btn-top.php)のアイコンフォント・スタイル
 * (type1〜5)を定義する。実データでsns_type_top='type2'が使われて
 * いるが、Customizerで他のtype(1/3/4/5)へいつでも切り替え可能な
 * 生きた選択肢のため、type1〜5全て移植した。
 * 一方、以下は完全に未使用と確認できたため削除した:
 * - Google+関連のアイコン・配色(サービス自体が2019年に終了しており、
 *   template-parts/sns-btn-top.phpにもgoogleplus/google_buttonクラスの
 *   出力箇所は一切無い)
 * - Pocket関連のアイコン・配色(実データ調査でshow_pocket_top/btmが
 *   死んだオプションキーと確認済み。テンプレート側にも出力箇所が無い)
 * - .share-btm(本文下部の共有ボタン、2026-09-17に機能ごと廃止済み)
 *   専用の余白指定
 * フォントファイル自体(design_plus/tiktok_x_icon)は、④の資産物理コピー
 * (2026-09-17、functions.php参照)によりzero-child/fonts/へ複製済みで、
 * このセクション末尾の@font-face宣言もzero-child相対パスを参照する。
 */
@font-face {
    font-family: 'design_plus';
    src: url('fonts/design_plus.eot?v=1.5');
    src: url('fonts/design_plus.eot?v=1.5#iefix') format('embedded-opentype'),
         url('fonts/design_plus.woff?v=1.5') format('woff'),
         url('fonts/design_plus.ttf?v=1.5') format('truetype'),
         url('fonts/design_plus.svg?v=1.5#design_plus') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
  font-family: 'tiktok_x_icon';
  src: url('fonts/tiktok_x_icon.eot?v=1.0');
  src: url('fonts/tiktok_x_icon.eot?v=1.0#iefix') format('embedded-opentype'),
       url('fonts/tiktok_x_icon.woff?v=1.0') format('woff'),
       url('fonts/tiktok_x_icon.ttf?v=1.0') format('truetype'),
       url('fonts/tiktok_x_icon.svg?v=1.0#tiktok_x_icon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"],
[class*=" icon-"] {
  font-family: "design_plus" !important;
  line-height: 1; font-style: normal; font-variant: normal; font-weight: normal; speak: none; text-transform: none;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}

.icon-feedly:before { content: "\e907"; }
.icon-hatebu:before { content: "\e908"; }
.icon-line:before { content: "\e909"; }
.icon-facebook:before { font-family: 'tiktok_x_icon'; content: "\e902"; }
.icon-twitter:before { font-family: 'tiktok_x_icon'; content: "\e901"; }
.icon-rss:before { content: "\e90b"; }
.icon-pinterest:before { content: "\e905"; }
.icon-note:before {
  content: '';
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center; top:0px;
}


/*--------------------------------
Share Buttons
---------------------------------*/
.share-top  { margin: 50px 0 50px; padding: 0; }
@media screen and (max-width:800px) {
  .share-top  { margin:40px 0 40px 0; }
}

/*--------------------------------
share_top1（Style1）
---------------------------------*/
.share-type1 { width: 100%; }
.share-type1 h2 { color: #666666; font-weight: 400; }
.share-type1 ul { list-style: none; margin: 0; padding: 0; }
.share-type1 li { display: inline-block; padding: 0; text-align: center; }
.share-type1 li > a:hover { -webkit-transform: translate3d(0, 1px, 0); transform: translate3d(0, 1px, 0); }
.share-type1 a { text-decoration: none; display: inline-block; margin: 0 5px 5px 0; font-size: 12px; font-weight: 400; color: #fff !important; background: #fafafa; border-radius: 2px; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03); text-shadow: none; text-align: center; line-height: 25px; padding: 1px 5px 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
.share-type1 i { position: relative; top: 3px; color: #fff; font-size: 1.3em; text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1); }
.share-type1 .ttl { margin: 0 3px 0 2px; text-align: center; line-height: 20px; }
.share-type1 .share-count { display: inline; font-size: 9px; color: #fff; padding: 0; line-height: 25px; margin: 0; border-radius: 0 1px 1px 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

@media screen and (max-width: 767px) {
  .share-type1 { width: 100%; }
  .share-type1 ul { margin-bottom: 15px; }
  .share-type1 li > a span { display: none; }
  .share-type1 a { margin-right: 2px; }
  .share-type1 i { left: 1px; }
  .share-type1 .share-count { margin-left: 3px; }
}


/*--------------------------------
share_btm1（Style3）
---------------------------------*/
.share-type3 .sns { margin: 0; text-align: center; }
.share-type3 ul { margin: 0 -3% 3% 0; list-style: none; }
.share-type3 li { float: left; width: 47%; margin: 0 3% 1.5% 0; cursor: pointer; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
.post .share-type3 ul li { list-style: none; background-image: none; padding: 0; }
.share-type3 ul li a { position: relative; display: block; top: 3px; font-size: 13px; padding: 10px 2px; color: #fff; border-radius: 2px; text-align: center; text-decoration: none; vertical-align: middle; }
.share-type3 ul li a i { position: relative; top: 3px; font-size: 140%; }
.share-type3 ul li a .ttl { margin: 0 3px 0 4px; display: inline-block; text-align: center; font-size: 12px; }
.share-type3 ul li a .share-count { position: absolute; bottom: -2px; right: 8px; font-size: 10px; padding: 0; line-height: 25px; margin: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
.share-type3 ul li a:hover { -webkit-transform: translate3d(0px, 2px, 1px); -moz-transform: translate3d(0px, 2px, 1px); transform: translate3d(0px, 2px, 1px); }

@media only screen and (min-width: 480px) {
  .share-type3 { width: 100%; margin: 20px 0 15px; }
  .share-type3 ul { margin-right: -1%; list-style: none; overflow: hidden; }
  .share-type3 li { width: 24%; margin: 0 1% 2% 0; }
  .share-type3 li a { font-size: 12px; padding: 10px 2px; }
  .share-type3 li:nth-child(4n) { margin-right: 0; }
}


/*------------- share_top1 & share_btm1 button_color -------------*/
/* X */
.share-type1 .twitter a, .share-type3 .twitter a { background-color: #000; }
.share-type1 .twitter a:hover, .share-type3 .twitter a:hover { background-color: #222; }

/* Facebook */
.share-type1 ul li.facebook a, .share-type3 ul li.facebook a { background-color: #35629a; }
.share-type1 ul li.facebook a:hover, .share-type3 ul li.facebook a:hover { background-color: #1f3669; }

/* Hatena */
.share-type1 ul li.hatebu > a, .share-type3 ul li.hatebu a { background-color: #3c7dd1; }
.share-type1 ul li.hatebu > a:hover, .share-type3 ul li.hatebu a:hover { background-color: #0270ac; }

/* rss */
.share-type1 ul li.rss a, .share-type3 ul li.rss a { background-color: #ffb53c; }
.share-type1 ul li.rss a:hover, .share-type3 ul li.rss a:hover { background-color: #e09900; }

/* Feedly */
.share-type1 ul li.feedly a, .share-type3 ul li.feedly a { background-color: #6cc655; }
.share-type1 ul li.feedly > a:hover, .share-type3 ul li.feedly > a:hover { background-color: #5ca449; }

/* Pinterest */
.share-type1 ul li.pinterest a, .share-type3 ul li.pinterest a { background-color: #d4121c; }
.share-type1 ul li.pinterest a:hover, .share-type3 ul li.pinterest a:hover { background-color: #a42f35; }

.share-type1 ul li.line_button a, .share-type3 ul li.line_button a { background-color: #00B900; }
.share-type1 ul li.line_button a:hover, .share-type3 ul li.line_button a:hover { background-color: #009100; }

.share-type1 ul li.note_button a, .share-type3 ul li.note_button a { background:#fff; border:1px solid #ddd; color:#000 !important; box-sizing:content-box; }
.share-type1 ul li.note_button a:hover, .share-type3 ul li.note_button a:hover { background:#eee; border-color:#ddd; }


/*--------------------------------
share_top2（Style2）
---------------------------------*/
.share-type2 { width: 100%; }
.share-type2 h2 { color: #444; font-weight: 400; }
.share-type2 ul.type2 { margin: 0; padding: 0; list-style: none; }
.share-type2 ul.type2 li { display: inline-block; padding: 0; text-align: center; }
.share-type2 ul.type2 li a { text-decoration: none; display: inline-block; margin: 0 5px 5px 0; font-size: 12px; font-weight: 400; border-radius: 2px; color: #222 !important; text-align: center; background: #fafafa !important; border: 1px solid rgba(0, 0, 0, 0.1); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03); text-shadow: none; line-height: 25px; padding: 1px 4px 0; }
.share-type2 ul.type2 li a i { position: relative; top: 3px; color: #222; font-size: 1.3em; text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1); }
.share-type2 ul.type2 li a .ttl { margin: 0 3px 0 2px; text-align: center; line-height: 20px; }
.share-type2 ul.type2 li a .share-count { color: #444; font-size: 9px; padding: 0; line-height: 25px; margin: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
.share-type2 ul.type2 li a:hover, .share-type2 ul.type2 li a:hover i, .share-type2 ul.type2 li a:hover .share-count { color: #fff !important; }
.share-type2 ul.type2 li a:hover { border-color: rgba(255, 255, 255, 0.1); }

@media screen and (max-width: 480px) {
  .share-type2 { width: 100%; margin: 0; }
  .share-type2 ul.type2 { margin-bottom: 15px; }
  .share-type2 ul.type2 li a { margin-right: 1px; }
  .share-type2 ul.type2 li a i { left: 1px; }
  .share-type2 ul.type2 li > a span.ttl { display: none; }
  .share-type2 ul.type2 li a .share-count { margin-left: 3px; }
}


/*--------------------------------
share_btm2（Style4）
---------------------------------*/
.share-type4 { text-align: center; }
.share-type4 .sns { margin: 0; }
.share-type4 ul.type4 { margin: 0 -3% 2% 0; list-style: none; }
.share-type4 ul.type4 li { float: left; width: 47%; margin: 0 3% 3% 0; cursor: pointer; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
.post .share-type4 ul li { list-style: none; background-image: none; padding: 0; }
.share-type4 ul.type4 li a { position: relative; display: block; top: 5px; font-size: 13px; padding: 10px 2px; text-decoration: none; border-radius: 2px; color: #222 !important; text-align: center; background: #fafafa !important; border: 1px solid rgba(0, 0, 0, 0.1); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03); text-shadow: none; }
.share-type4 ul.type4 li a i { position: relative; top: 3px; font-size: 140%; color: #222 !important; }
.share-type4 ul.type4 li a .ttl { margin: 0 3px 0 4px; display: inline-block; text-align: center; font-size: 12px; }
.share-type4 ul.type4 li a .share-count {  position: absolute; bottom: -2px; right: 8px; font-size: 10px; padding: 0; line-height: 25px; margin: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; color: #222 !important; }
.share-type4 ul.type4 li a:hover, .share-type4 ul.type4 li a:hover i, .share-type4 ul.type4 li a:hover .share-count { color: #fff !important; }

@media only screen and (min-width: 480px) {
  .share-type4 { width: 100%; margin: 20px 0 15px; }
  .share-type4 ul.type4 { margin-right: -1%; list-style: none; overflow: hidden; }
  .share-type4 ul.type4 li { width: 24%; margin: 0 1% 2% 0; }
  .share-type4 ul.type4 li a { font-size: 12px; padding: 10px 2px; }
  .share-type4 ul.type4 li:nth-child(4n) { margin-right: 0; }
}


/*------------- share_top2 & share_btm4 button_color -------------*/
/* X */
.share-type2 ul.type2 li.twitter a, .share-type4 ul.type4 li.twitter a { color: #222 !important; background-color: #fafafa !important; }
.share-type2 ul.type2 li.twitter a:hover, .share-type4 ul.type4 li.twitter a:hover { color: #fff !important; background-color: #000 !important; }

/* Facebook */
.share-type2 ul.type2 li.facebook a, .share-type4 ul.type4 li.facebook a { color: #222 !important; background-color: #fafafa !important; }
.share-type2 ul.type2 li.facebook a:hover, .share-type4 ul.type4 li.facebook a:hover { color: #fff !important; background-color: #35629a !important; }

/* Hatena */
.share-type2 ul.type2 li.hatebu a, .share-type4 ul.type4 li.hatebu a { color: #222 !important; background-color: #fafafa !important; }
.share-type2 ul.type2 li.hatebu a:hover, .share-type4 ul.type4 li.hatebu a:hover { color: #fff !important; background-color: #3c7dd1 !important; }

/* rss */
.share-type2 ul.type2 li.rss a, .share-type4 ul.type4 li.rss a { color: #222 !important; background-color: #fafafa !important; }
.share-type2 ul.type2 li.rss a:hover, .share-type4 ul.type4 li.rss a:hover { color: #fff !important; background-color: #ff8c00 !important; }

/* Feedly */
.share-type2 ul.type2 li.feedly a, .share-type4 ul.type4 li.feedly a { color: #222 !important; background-color: #fafafa !important; }
.share-type2 ul.type2 li.feedly a:hover, .share-type4 ul.type4 li.feedly a:hover { color: #fff !important; background-color: #6cc655 !important; }

/* Pinterest */
.share-type2 ul.type2 li.pinterest a, .share-type4 ul.type4 li.pinterest a { color: #222 !important; background-color: #fafafa !important; }
.share-type2 ul.type2 li.pinterest a:hover, .share-type4 ul.type4 li.pinterest a:hover { color: #fff !important; background-color: #d4121c !important; }

.share-type2 ul.type2 li.line_button a, .share-type4 ul.type4 li.line_button a { color: #222 !important; background-color: #fafafa !important; }
.share-type2 ul.type2 li.line_button a:hover, .share-type4 ul.type4 li.line_button a:hover { color: #fff !important; background:#00B900 !important; border-color:#00B900; }

.share-type2 ul.type2 li.note_button a, .share-type4 ul.type4 li.note_button a { color: #222 !important; background-color: #fafafa !important; }
.share-type2 ul.type2 li.note_button a:hover, .share-type4 ul.type4 li.note_button a:hover { color: #fff !important; background-color: #000 !important; }
.share-type2 ul.type2 li.note_button a:hover .icon-note:before,
.share-type4 ul.type4 li.note_button a:hover .icon-note:before {
    content: '';
    display: inline-block;
    width: 0.9em;
    height: 0.9em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center; top:0px;
}


/*--------------------------------
share_top5（公式ボタン）
---------------------------------*/
.sns_default_top { padding: 0; overflow: hidden; list-style: none; }
.sns_default_top ul li { display: inline-block; margin: 0 5px 3px 0; line-height: 1 !important; overflow: hidden; vertical-align: top; }
.sns_default_top ul li.twitter_button { width: 78px; }
.sns_default_top ul li.fbshare_button:hover { text-decoration: none; }

@media only screen and (max-width: 480px) {
  .sns_default_top ul li { margin-bottom: 6px; }
  .sns_default_top ul li.twitter_button { margin-left: 0; }
}


/* ============================================================ *
 * ②CSS自作化: css/responsive.css の移植(2026-09-17)
 * ============================================================ *
 * ZERO本体 css/responsive.css からの移植。元ファイルは
 * wp_enqueue_style()に`wp_style_add_data(...,'media','screen and
 * (max-width:1190px)')`を指定した専用の<link media="...">として
 * 読み込まれており、ファイル内の(@media で囲まれていない)トップ
 * レベルの記述も含め、実質すべて「画面幅1190px以下でのみ適用」
 * されていた。zero-child/style.cssにはそのような読み込み制限が
 * 無いため、移植したブロック全体を`@media screen and
 * (max-width:1190px)`で囲み、元の挙動(1190px以下でのみ適用)を
 * 再現している(内部の個別@media(950px/850px/767px等)は、この
 * 外側の1190pxよりも常に狭い条件のため、入れ子にしても実質的な
 * 挙動は変わらない)。
 * 以下は実データで完全に未使用と確認できたため移植しなかった:
 * - `#header_video`関連一式(ヘッダー動画/YouTubeモード、header.php
 *   側で既に削除済みの機能)
 * - `.post_list.type2`関連(ページランキング専用テンプレート
 *   `page-ranking(-noside).php`、参照ページ0件と確認済み。トップ
 *   ページの「月間ランキング」タブは`.post_list`のみで`type2`
 *   クラスは使用していないことをテンプレートで確認済み)
 * - `#single_banner_*`・`.single_banner_area`・`#mobile_banner_*`・
 *   `#page_banner`(広告バナー全10箇所、実データで完全未使用と確認
 *   済み、テンプレート側は既に削除済み)
 * - `#single_share_bottom`(本文下部共有ボタン、本セッション冒頭で
 *   機能ごと廃止済み)
 * - `#profile_page_top`(プロフィールページテンプレート、参照ページ
 *   0件)
 * - `#header_image_for_404`(404ページ用ヘッダー画像、画像未設定の
 *   ため常に不使用と確認済み、404.php側は既にコード削除済み)
 * - `#dp-footer-bar`・`.dp-footer-bar-type1/2`・`body.show_footer_bar`
 *   (フッターバー機能、実データで完全未使用と確認済み)
 * - `#fixed_footer_content`関連一式(固定フッターコンテンツ、
 *   `show_fixed_footer_content`が実データOFFと確認済み、footer.php
 *   側は既にコード削除済み)
 * - `.c-pw__desc`・`.c-pw__box`関連(パスワード保護記事、実データで
 *   保護記事数0件と確認済み)
 * - `.lpb_content*`・`.pb-widget-headline`(ページビルダーLP機能。
 *   REST APIで固定ページ全4件を精査し、いずれもページビルダー用
 *   テンプレートを使用せず、本文中に`lpb_`関連の出力も無いことを
 *   確認済み)
 */
@media screen and (max-width:1190px) {

/* レイアウト */
#header_top { display:none; }
#header { height:56px; width:100%; min-width:inherit; right:0px; top:0px; right:0; z-index:100; margin:0; }
#header_inner { height:56px; width:100%; min-width:inherit; margin:0; padding:0; }

#main_contents { width:auto; margin:0 auto; padding:0; }
#main_col { width:auto; min-width:inherit; margin:30px auto; padding:0 20px; }
#left_col { width:70%; width:-webkit-calc(100% - 330px); width:-moz-calc(100% - 330px); width:calc(100% - 330px); }
#side_col { width:30%; width:-webkit-calc(300px); width:-moz-calc(300px); width:calc(300px); }
.no_side_content #left_col { width:auto; float:none; }

@media screen and (max-width:950px) {
  #left_col { width:auto; float:none; padding:0; margin:0 0 40px 0; }
  #side_col { width:auto; float:none; padding:0; }
  #main_contents { width:auto; margin:0 auto; }
}


/* スライドメニュー */
#container {
  position:relative; right:0; top:0px; z-index:9999; width:100%; background:#fff; box-shadow:0 -55px 10px 7px rgba(0,0,0,0.3);
  -webkit-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); -moz-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); -o-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -o-backface-visibility: hidden; backface-visibility: hidden;
}
.open_menu #container { right:90%; }
#mobile_menu { position:fixed; top:0px; right:0px; width:90%; height:100%; z-index:9; background:#333; overflow:auto; }
#mobile_menu:after  {
  display:block; content:''; position:fixed; width:100%; height:100%; top:0px; right:0px; background:#fff; z-index:10;
  -webkit-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); -moz-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); -o-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -o-backface-visibility: hidden; backface-visibility: hidden;
}
.open_menu #mobile_menu:after { right:90%; }


/* 固定ヘッダー */
.mobile_header_fix #header { position:fixed; }
.mobile_header_fix { padding-top:56px; }
.mobile_header_fix #header {
  -webkit-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); -moz-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); -o-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -o-backface-visibility: hidden; backface-visibility: hidden;
}
.mobile_header_fix.open_menu #header { right:90%; }




/* ----------------------------------------------------------------------
トップページ
---------------------------------------------------------------------- */
/* スライダー */
#header_slider { height:350px; min-width:inherit; }
.slider_main { height:350px; }
.slider_main .swiper-slide { height:350px; }
.slider_main .caption_area { height:auto; }
.slider_main .caption {
  width:100%; height:auto; padding:10px 20px 15px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.slider_main .caption .title { font-size:14px !important; line-height:1.5; margin:8px 0 0 0; }
.slider_main .caption .title a { display:block; color:#fff; }
.slider_main .caption .title a:after { display:none; }

@media screen and (max-width:767px) {
  .slider_main .caption { padding:6.5px 20px; }
  .slider_main .caption .title { margin-top:0; }
  #header_slider:hover .header_slider_button_prev { left: 11px; }
  #header_slider:hover .header_slider_button_next { right: 5px; }
}

@media screen and (max-width:550px) {
  #header_slider { height:300px; min-width:inherit; }
  .slider_main { height:300px; }
  .slider_main .swiper-slide { height:300px; }
}




/* ----------------------------------------------------------------------
 記事一覧
---------------------------------------------------------------------- */
/* タブ */
#index_post_list_tab { min-width:inherit; }
#index_post_list_tab ol { width:auto;  height:50px; }
#index_post_list_tab ol li { padding:0 40px; font-size:12px; height:50px; line-height:50px; min-width:inherit; }


/* 一番下の要素にグラデーションのラインを追加 */
.post_list .item:last-of-type { position:relative; margin-bottom:80px; }
.post_list .item:last-of-type:before { left:70px; height:90px; bottom:-90px; }


/* ajaxロード */
#load_post { left:0px; }
#infscr-loading { left:0px; }


/* 記事タイトル */
.post_list .title { font-size:24px; }


/* 日付 */
.post_list .post_date { width:70px; }
.post_list .post_date .date { font-size:40px; margin:-3px 0 1px 0; }
.post_list .post_date .month {  }
.post_list .post_date .year { }


/* 日付の右側に表示している黒丸 */
.post_list .post_date:after { width:7px; height:7px; top:62px; right:-4px; }
.post_list .item:first-child .post_date:after { top:13px; }


/* 右側 */
.post_list .main_data { width:-webkit-calc(100% - 70px); width:-moz-calc(100% - 70px); width:calc(100% - 70px); padding:50px 0 40px 30px; }


@media screen and (max-width:850px) {
  /* タブ */
  #index_post_list_tab ol li {
    width:25%; padding:0; font-size:11px; text-align:center;
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
  /* 記事一覧 */
  .post_list { margin:0 -20px; }
  .post_list .item { border-bottom:1px solid #ddd; margin:0 0 30px 0; padding:0 20px 20px; }
  .post_list .item:last-of-type:before { display:none; }
  /* 日付 */
  .post_list .post_date { width:50px; padding:0; background:; }
  .post_list .post_date:after { display:none; }
  .post_list .item:first-child .post_date:before { display:none; }
  .post_list .post_date time { width:50px; }
  /* 右側 */
  .post_list .main_data { width:-webkit-calc(100% - 55px); width:-moz-calc(100% - 55px); width:calc(100% - 55px); padding:0 0 0 15px; border:none; }
  .post_list .item:last-child .main_data { border:none; }
  #post_list1 .post_list .item:last-child .main_data { border:none; }
  /* カテゴリ―・アクセス数 */
  .post_list .main_data ol { margin:0 0 10px 0; }
  .post_list .category a { height:25px; line-height:25px; padding:0 25px; font-size:11px; }
  .post_list .view { height:25px; line-height:23px; padding:0 12px; font-size:12px; }
  .post_list .view span { font-size:12px; width:12px; height:12px; margin:0 5px 0 0; }
  .post_list .view:before { margin:1px 4px 0 0; }
  /* 記事タイトル */
  .post_list .title { font-size:18px; margin:0 0 2px 0; }
  .post_list .excerpt { font-size:12px; }
}




/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
/* 見出し */
#page_header { min-width:inherit; }
#page_header_inner { width:auto; margin:0 auto; padding:30px 20px; }
#page_title { float:none; margin:0; }
#page_title span { float:none; display:block; margin:10px 0 0 0; font-weight:normal; }
#page_header .desc { margin:10px 0 0 0; float:none;; }


/* タブ */
#archive_post_list_tab { min-width:inherit; height:50px; }
#archive_post_list_tab ol { width:auto; height:50px; }
#archive_post_list_tab ol li { height:50px; line-height:50px; padding:0 40px; font-size:12px; overflow:hidden; }
#archive_post_list_tab ol li:first-of-type { border-left:none; }
@media screen and (max-width:850px) {
  #archive_post_list_tab ol li { min-width:inherit; padding:0 20px; width:33.33333%; width:-webkit-calc(100% / 3); width:-moz-calc(100% / 3); width:calc(100% / 3); }
  #archive_post_list_tab ol li:last-of-type { border-right:none; }
}


/* ページング */
.page_navi { margin:-30px 0 0 100px; padding-bottom:30px; }
@media screen and (max-width:850px) {
  .page_navi { text-align:center; margin-left:0; }
}




/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */

/* メニューボタン */
#menu_button {
  position:absolute; z-index:9; top:0px; right:0;
  display:inline-block; font-size:11px; color:#fff; width:56px; height:56px; line-height:56px; text-decoration:none; text-align:center;
}
#menu_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#menu_button:before {
  font-family:'design_plus'; color:#fff; display:block; position:absolute; top:19px; left:19px; margin:auto;
  font-size:18px; width:18px; height:18px; line-height:18px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#menu_button:before { content:'\f0c9'; }
#menu_button:hover, a.menu_button.active { background:#333; }
#menu_button:hover:before, #menu_button.active:before { color:#fff; }


/* グローバルメニュー */
#header #global_menu { display:none; }
#mobile_menu #global_menu { width:100%; margin:0; z-index:9; }
#mobile_menu #global_menu ul { margin:0; }
#mobile_menu #global_menu ul ul { }
#global_menu li ul { display:none; }
#mobile_menu #global_menu a {
  position:relative; display:block;  margin:0; padding:18px 20px; line-height:1.6; overflow:hidden; text-decoration:none;
  color:#fff; background:#333; font-size:13px; border-bottom:1px solid #444;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#mobile_menu #global_menu a:hover { color:#fff; }
#mobile_menu #global_menu ul ul a { padding-left:32px; }
#mobile_menu #global_menu ul ul ul a { padding-left:47px; }
#mobile_menu #global_menu ul ul ul ul a { padding-left:60px; }


/* グローバルメニュー（子メニュー） */
#mobile_menu #global_menu li { position:relative; }
#mobile_menu #global_menu .child_menu_button { display:block; position:absolute; text-align:center; width:60px; height:49px; right:0px; top:1px; z-index:9; cursor:pointer;  }
#mobile_menu #global_menu .child_menu_button .icon:before {
  content:'+'; font-size:13px; color:#aaa; text-align:center;
  display:block; width:20px; height:20px; line-height:20px; border:1px solid #555; border-radius:100%;
  position:absolute; left:20px; top:15px;
}
#mobile_menu #global_menu .child_menu_button.active .icon:before, #mobile_menu #global_menu .child_menu_button:hover .icon:before { color:#fff; border-color:#fff; }
#mobile_menu #global_menu li.open > .child_menu_button .icon:before { content:'-'; }
#mobile_menu #global_menu li.open > ul { display:block; }



/* 閉じるボタン */
#mobile_menu .close_button { display:block; width:100%; height:56px; position:relative; cursor:pointer; border-bottom:1px solid #444; }
#mobile_menu .close_button:before {
  font-family:'design_plus'; color:#fff; font-size:24px; display:block;
  content:'\e91a'; position:absolute; top:18px; right:18px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}


/* カスタム投稿カテゴリーメニュー */
#slide_menu { display:none; }
#mobile_menu a span.count { display:none; }


/* ロゴ */
#logo_text { z-index:8; }
#logo_text h2 { font-weight:normal; height:56px; line-height:56px; margin:0 0 0 20px  }
#logo_text a { color:#fff; display:block; -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none; transition-property:none; }
#logo_image {
  position:absolute; top:50%; left:20px; margin:auto;
  -webkit-transform: translate(0%, -50%); -moz-transform: translate(0%, -50%); -o-transform: translate(0%, -50%); transform: translate(0%, -50%);
}
#logo_image img.pc_logo_image { display:none; }
#logo_image img.mobile_logo_image { display:block; margin:0 auto; }
#logo_text_fixed, #logo_image_fixed { display:none; }
#tagline { display:none; }
@media screen and (max-width:850px) {
#logo_text {
  display: flex;
  height: 100%;
  align-items: center;
  padding-inline: 20px;
}
}


/* パンくずリンク */
#bread_crumb { min-width:inherit; height:auto; }
#bread_crumb ul { width:auto; padding:17px 0 14px 0; margin:0 20px; }




/* ----------------------------------------------------------------------
 記事ページ
---------------------------------------------------------------------- */

/* 日付 */
#post_date { float:left; width:100px; }
#post_date time { width:auto; text-align:left; }
#post_date .date { font-size:40px; display:block; margin:0 5px 0 0; float:left; }
#post_date .month { margin:0 0 5px 0; padding:5px 0 0 0; }
#post_date .year { }


/* 記事エリア */
#main_data { float:none; width:100%; }

@media screen and (max-width:991px) {
body.single-post #main_col {
  display: block;
}
body.page-template-default #main_col {
  display: block;
}
}


/* カテゴリ―・アクセス数 */
#post_meta_top { margin:0 0 25px 0; padding:6px 0 0 0; float:left; }
#post_meta_top .category a { min-width:100px; height:25px; line-height:25px; padding:0 10px; font-size:11px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
#post_meta_top .view { height:25px; line-height:23px; padding:0 12px; font-size:11px; }
#post_meta_top .view span { font-size:12px; width:12px; height:12px; margin:0 5px 0 0; }
#post_meta_top .view:before { margin:1px 4px 0 0; }
@media screen and (max-width:770px) {
  #post_meta_top { margin:0 0 16.5px 0; }
}


/* 記事タイトル */
#post_title { clear:both; margin-bottom:23px; line-height:1.6; }


/* アイキャッチ画像*/
@media screen and (max-width:770px) {
  #post_image { margin:0 -20px 30px; }
}

/* SNSボタン */
#single_share_top { margin:20px 0 0; }


/* メタ情報 */
#post_meta_bottom { margin:0 0 32px 0; background:#fff; padding:0; }
#post_meta_bottom li { display:block; margin:0 0 10px 0; border:none; font-size:12px; line-height:1.6; }
#post_meta_bottom li:last-child { border:none; margin:0; }
#post_meta_bottom li.post_category:before { top:0px; left:0px; }
#post_meta_bottom li.post_tag:before { top:2px; left:0px; }
#post_meta_bottom li.post_author:before { top:0px; left:0px; }
#post_meta_bottom li.post_comment:before { top:0px; left:0px; }


/* 次の記事、前の記事 */
#previous_next_post { margin:0 0 40px 0; border-top:none; }
#previous_next_post .prev_post, #previous_next_post .next_post { width:50%; }
#previous_next_post a { border:1px solid #ddd; height:auto; text-align:center; height:50px; line-height:50px; font-size:12px; padding:0 !important; }
#previous_next_post .next_post a { border:1px solid #ddd; margin-left:-1px; position:relative; }
#previous_next_post .prev_post a::before { line-height:50px; height:50px; }
#previous_next_post .next_post a::before { line-height:50px; height:50px; }
#previous_next_post a span { height:auto; }
#previous_next_post span.nav { display:block; }
#previous_next_post span.title { display:none; }
#previous_next_post .prev_post span.nav { }
#previous_next_post .next_post span.nav { }
#previous_next_post .prev_post a:before { top:3px; }
#previous_next_post .next_post a:before { top:3px; }


/* 最新記事 */
#single_recent_post { margin:40px 0 0 0; }
#single_recent_post .headline { height:45px; line-height:45px; color:#fff; padding:0 20px; }
#single_recent_post li a { display:block; border:1px solid #ddd; padding:12px 20px; line-height:1.6; }


/* 関連記事 */
@media screen and (max-width:550px) {
  #related_post { margin:40px 0 0 0; }
  #related_post .headline { font-size:14px; height:45px; line-height:45px; padding:0 20px; }
  #related_post li { width:100%; height:auto; margin:0 0 -1px 0; padding:10px 0; }
  #related_post .post_date { padding:0 0 0 10px; width:50px; }
  #related_post .post_date .date { font-size:30px; }
  #related_post .title a { margin:6px 15px 0 0; width:-webkit-calc(100% - 80px); width:-moz-calc(100% - 80px); width:calc(100% - 80px); }
}




/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
#comment_headline { margin:40px 0 20px 0; font-size:14px; }
#comment_area, #trackback_area { margin:15px 0px 0; }


/* コメント・トラックバックのタブ */
#comment_header { position:relative; margin:0 0 15px; }
#comment_header ul { margin:0; }
#comment_header ul li.comment_switch_active a:after, #comment_header #comment_closed p:after { display:none; }
@media screen and (max-width:500px) {
  #comment_header ul li { float:none; text-align:center; margin:0; width:100%; }
  #comment_header ul li:first-child { margin-bottom:-1px; }
  #comment_header ul li:first-child a, #comment_header ul li:first-child p { border-radius:5px 5px 0 0; }
  #comment_header ul li:last-child a, #comment_header ul li:last-child p { border-radius:0 0 5px 5px; }
}
@media screen and (max-width:550px) {
  #comment_headline { text-align:center; }
}


/*  コメントの基本部分 */
.comment { padding:10px 10px 0; }


/* コメントの情報部分 */
.comment-meta-left { float:left; width:100%; }


/* フォーム部分 */
.comment_form_wrapper { border:1px solid #ccc; margin:0 0 25px; padding:15px; background:#fff; }




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */

/* スライダー */
#footer_slider_wrap { min-width:inherit; padding:30px 0; width:auto; }
#footer_slider { width:auto; margin:0; }
#footer_slider .item { margin:0; position:relative; width:auto; height:100px; margin:0; padding:0 22px; }
#footer_slider .slick-arrow { display:block !important; opacity:1; }
#footer_slider .slick-arrow:before { font-size:18px; font-weight:normal; }
#footer_slider .slick-prev { top:44px; left:-30px; z-index:9; }
#footer_slider .slick-next { top:44px; right:0px; z-index:9; }

@media screen and (max-width:650px) {
  #footer_slider .item { border:none; }
}


/* フッター上部（ウィジェット表示エリア） */
#footer_top { width:auto; min-width:inherit; padding:0; }
#footer_top_inner { width:auto; padding:40px 20px 0; margin:0 auto; overflow:hidden; position:relative; }
#footer_left_widget, #footer_center_widget, #footer_right_widget {
  margin:0; float:left;
  width:50%; margin:0 50px 40px 0; padding:0;
  width:-webkit-calc(50% - 25px); width:-moz-calc(50% - 25px); width:calc(50% - 25px);
}
#footer_center_widget { margin-right:0; }
.footer_headline { display:block; }
@media screen and (max-width:770px) {
  #footer_left_widget, #footer_center_widget, #footer_right_widget { width:100%; float:none; padding:0; margin:0 0 40px 0; }
  .footer_headline { text-align:center; font-size:18px; }
}


/* フッター下部 */
#footer_bottom { width:100%; min-width:inherit; height:auto; line-height:1; background:none; }
#footer_bottom_inner { width:auto; margin:0 auto; height:auto; line-height:1; }


/* SNS */
#footer_bottom .social_link { position:relative; left:0; top:-20px; }
.social_link li { float:none; display:inline-block; margin:0; }
.social_link li a { border:none; }
#footer_bottom .social_link li a:before { color:#333; }


/* コピーライト */
#copyright { text-align:center; background:#222; width:100%; height:50px; line-height:50px; }
#copyright a { height:50px; line-height:50px; }


/* ページ上部へ戻るボタン */
#return_top a { height:50px; width:50px; line-height:50px; }
#return_top a:before { left:19px; }




/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
/* 基本設定 */
.side_widget { margin:0 0 40px 0; font-size:12px; position:relative; }
.side_widget:last-child, .side_widget:only-child  { margin:0; }
.side_headline { font-size:14px; padding:0 20px; height:45px; line-height:45px; }
.styled_post_list1 .info { padding: 0 20px 0 0; }



/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */
/* text and headline */
.post_content p { line-height:2; }


/* list */
.post_content li, .post_content dt, .post_content dd { line-height:2; }


/* table */
.post_content td, .post_content th { line-height:2; }

}


/* ============================================================ *
 * ②CSS自作化: css/design-plus.css の移植(2026-09-17)
 * ============================================================ *
 * ZERO本体 css/design-plus.css からの移植。本ファイルはクラシック
 * エディター時代の「TCD Advanced Style」ユーティリティクラス集で、
 * 本文(post_content)中に直接クラス名を書き込んで使う一群のスタイル
 * だったため、テンプレートPHPのgrepでは生死判定できない。そこで
 * REST API(`/wp-json/wp/v2/posts`・`/pages`)経由で全648記事+
 * 固定ページ全4件のレンダリング済み本文を取得し、各クラス名の
 * 実使用回数を機械的に集計してから移植要否を判定した(実データ調査)。
 * 生きていると確認できたのは以下のみ:
 * - 見出しスタイル`.style3a`(97件)`.style3b`(219件)`.style4a`(560件、
 *   最頻出)`.style4b`(47件)`.style5a`(33件)`.style5b`(86件)
 * - はみ枠`.well2`(2件)`.well3`(24件)(`.well`本体・`.wl_red`等の
 *   色違いは0件)
 * - クラシックエディターのテーブル横スクロール`.s_table`(1件)
 * - WordPressプリセットスタイル(post_content内のh1〜h6・リスト・
 *   テーブル・blockquote(676件、Gutenbergの引用ブロックがネイティブに
 *   出力するため)・キャプション(wp-caption、2件)・画像サイズ調整
 *   (wp-image-/attachment-/size-full、各20件))
 * 以下は実データで0件(完全未使用)と確認できたため移植しなかった:
 * - カードリンク`.cardlink`系(ファイル内に重複定義2箇所とも0件。
 *   旧[clink]ショートコードは既に0件使用と確認済み(セクション9)で、
 *   kcfg-contentの記事リンクカード機能は別のクラス名(kcfg_card等)を
 *   使用するため無関係)
 * - お問い合わせフォーム`.wpcf7`系(Contact Form 7プラグイン自体が
 *   未インストールと確認済み、下書きの「お問い合わせフォーム」
 *   固定ページも未公開)
 * - Youtube埋め込み`.ytube`(kcfg-contentの`[kcfg_youtube]`は
 *   `.kcfg-video`という別のクラス名を出力するため無関係)
 * - テーブル横スクロール`.rps_table`(`.s_table`とは別クラス、0件)
 * - 見出しスタイル`.style6`・`.news_headline1`・`.news_headline2`・
 *   `.balloon`(0件)
 * - ボタン`.q_button`・`.rounded`・`.pill`・`.sz_l`等のサイズ違い・
 *   `.bt_red`等の配色違い・`.bt_orion`(0件。本文検索でヒットした
 *   唯一の"rounded"はSU Tooltip(旧Shortcode Ultimate、kcfg-content
 *   移行前の記事に残る)のqtip用data-classes属性値`qtip-rounded`
 *   であり、無関係な偶然の一致と確認済み)
 * - 段組み`.post_row`・`.post_col-2`・`.post_col-3`(0件)
 * - フォントサイズ`.text70`〜`.text220`・フォント色`.red`/`.blue`等・
 *   背景色`.bg-yellow`等・文字寄せ`.align1`〜`.align3`・回り込み
 *   `.r-flo`/`.l-flo`/`.f-clear`・画像ホバー`.fade`・`.att`/`.att_box`・
 *   マージン`.m0`〜`.m80`(各方向×18段階)・パディング`.p0`〜`.p80`
 *   (同)・`.a_break`/`.is-pc`/`.is-sp`/`.e_link`/`img.frame`(いずれも
 *   0件。クラシックエディターの独自クラス名をユーザーが手入力する
 *   前提のユーティリティ群で、実際には一度も使われていなかった)
 * - ギャラリー`.gallery-item`等(WP標準の`[gallery]`ショートコード用、
 *   0件。Gutenbergのギャラリーブロックは`.wp-block-gallery`という
 *   別のクラス名・WPコア自身のCSSで表示されるため無関係)
 * - `.post_content .wp-smiley`/`address`/`pre`/`.sticky`/
 *   `.mejs-container`(絵文字自動変換・`<address>`タグ・`<pre>`タグ・
 *   MediaElement.jsプレイヤー、いずれも実際の出力0件と確認済み)
 * `@font-face`(design_plus/tiktok_x_icon)はcss/sns-botton.css移植時
 * (2026-09-17)に既にzero-child/style.css冒頭で宣言済みのため、本
 * ファイルでの重複宣言はしていない。
 */
/* WordPressプリセットスタイル(見出しサイズ・画像・リスト・テーブル・
   blockquote・キャプション) */
.post_content h1, .post_content h2, .post_content h3, .post_content h4, .post_content h5, .post_content h6 { clear:both; line-height:1.4; font-weight:400; margin:0 0 10px 0; padding:10px 0 0 0; }
.post_content h1 { font-size:150%; }
.post_content h2 { font-size:140%; }
.post_content h3 { font-size:130%; }
.post_content h4 { font-size:120%; }
.post_content h5 { font-size:110%; }
.post_content h6 { font-size:100%; }

.post_content img[class*="align"], .post_content img[class*="wp-image-"], .post_content img[class*="attachment-"], .post_content img.size-full, .post_content img.size-large, .post_content .wp-post-image, .post_content img
 { height:auto; max-width:100%; }

.post_content li, .post_content dt, .post_content dd { line-height:2.4; }
.post_content ul, .post_content ol, .post_content dl { margin-bottom:24px; }
.post_content ol { list-style:decimal outside none; margin-left:1.5em; }
.post_content ul { list-style:circle outside none; margin-left:1.3em; }
.post_content li > ul, .post_content li > ol { margin-bottom:0; }
.post_content dt { font-weight:bold; }
.post_content dd { margin-bottom:1em; }

.post_content table { margin:0 0 24px 0; width:100% !important; }
.post_content td, .post_content th { border:1px solid #bbb; padding:10px 15px; line-height:2.4; background:#fff; }
.post_content th { background:#ddd; font-weight:normal; }

.post_content blockquote { margin:0 0 25px 0; padding:27px 30px 0; border:1px solid #ccc; box-shadow:0px 4px 0px 0px #f2f2f2; position:relative; }
.post_content blockquote:before { content: '"'; font-style:italic; font-size:30px; font-weight:normal; line-height:40px; width:30px; height:30px; position:absolute; top:5px; left:10px; color:#5cbcd7; }
.post_content blockquote:after { content: '"'; font-style:italic; font-size:30px; font-weight:normal; text-align:left; line-height:60px; width:30px; height:30px; position:absolute; bottom:7px; right:-2px; color:#5cbcd7; }
.post_content blockquote cite { border-top:1px dotted #aaa; display:block; padding:20px 0 0 0; font-style:italic; text-align:right; font-size:90%; }

.post_content .wp-caption { margin-bottom:24px; background:#fff; border:1px solid #ccc; padding:5px; max-width:100%; -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
.post_content .wp-caption-text { text-align:center; font-size:12px; font-style:italic; line-height:1.5; margin:9px auto; }
.post_content .wp-caption img[class*="wp-image-"] { display:block; margin:0 auto; }


/* クラシックエディターのテーブルの横スクロール対応 */
@media (max-width: 767px) {
  .post_content .s_table{ overflow: auto; white-space: nowrap; margin-bottom: 2em; }
  .post_content .s_table table { margin-bottom: 0; }
}


/* 見出しスタイル(本文中で直接使用するクラス、実データで生存確認済み) */
.post_content .style3a, .post_content .style3b, .post_content .style4a, .post_content .style4b, .post_content .style5a, .post_content .style5b { line-height:1.6; }
.post_content .style3a { margin:3em 0 1.5em; padding:1.1em .2em 1em; font-size:22px; font-weight:400; border-top:1px solid #222; border-bottom:1px solid #222; }
.post_content .style3b { margin:3em 0 1.5em; padding:1.1em .9em 1em; font-size:22px; font-weight:400; border-top:2px solid #222; border-bottom:1px solid #ddd; background:#fafafa; box-shadow:0px 1px 2px #f7f7f7; }
.post_content .style4a { margin:2.5em 2px 1.2em; padding:.3em 0 .3em .8em; font-size:18px; font-weight:400; border-bottom:none; border-left:2px solid #222; }
.post_content .style4b { margin:2.5em 0 1.2em; padding:.9em 0 .8em; font-size:18px; font-weight:400; border-bottom:1px dotted #aaa; }
.post_content .style5a { margin:2em 0 1em; padding:.5em .8em .3em 1em; font-weight:700; font-size:18px; background:#f5f5f5; box-shadow:0px 2px 0px 0px #f2f2f2; }
.post_content .style5b { margin:2em 0 1em; padding:.5em .8em .4em 1em; font-weight:400; font-size:18px; color:#fff; background:#222; border-radius:4px; box-shadow:0px 2px 0px 0px #f2f2f2; }


/* はみ枠(本文中で直接使用するクラス、実データで生存確認済み) */
.well2 { margin:1em 0 30px; padding:1em 1.5em; line-height:2; border:1px solid #cdcdcd; background:#fcfcfc; box-shadow: 0 1px 3px 0 rgba(195,195,195,0.3); }
.well3 { margin:2em 0 2.5em; padding:1em 1.5em;line-height:2.0; border:1px dashed #cdcdcd; background:#fcfcfc;  box-shadow: 0 1px 3px 0 rgba(195,195,195,0.3); }


