/*
Theme Name: Dispatch
Theme URI: https://dispatchinet.com/
Author: Dispatch Editorial
Description: 記事を一本の時系列に積み上げるIT・テクノロジーメディア向けテーマ。プロダクト名・提供開始日・提供元を記事ごとに表示します。プレスリリースの転載に向いています。
Version: 1.1.2
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dispatch
Tags: news, editorial, blog, custom-menu, custom-logo, featured-images, translation-ready, right-sidebar, two-columns
*/

/* ══════════════════════════════════════════════════════════
   Dispatch — IT・SaaS・テクノロジー
   新着を、届いた順に一本の時系列で。
   ══════════════════════════════════════════════════════════ */

/* Dispatch ── 骨格＝一本の時系列（先頭記事だけ全文掲載）。
   新着が上から順に積まれ、先頭の1本だけ全文を載せる。
   区分に応じて左の点と見出しラベルの色が変わる。 */
:root{--paper:#eceeea;--sheet:#fff;--ink:#111316;--ink2:#333941;--mut:#666d76;--faint:#98a0a8;
--rule:#dcdfda;--rule2:#c2c7c0;--flash:#c62a30;--urg:#b0761d;--rt:#3b6ea5;
--g:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","Noto Sans JP",sans-serif;
--m:"Space Mono",monospace;--l:"Archivo",sans-serif}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--g);font-size:15.5px;
line-height:1.82;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;line-height:1.4;font-weight:700}
p{margin:0}ul{margin:0;padding:0;list-style:none}
.w{max-width:1080px;margin:0 auto;padding:0 26px}
.m{font-family:var(--m);font-variant-numeric:tabular-nums}


/* 局名板 */
.hd{border-bottom:3px solid var(--ink);background:var(--sheet)}
.hd__in{display:flex;align-items:center;justify-content:space-between;gap:20px;
padding:14px 26px;max-width:1080px;margin:0 auto}
.hd__b{display:flex;align-items:center;gap:13px}.hd__mk{width:31px;height:31px}.hd__wm{height:19px}
.hd__t{font-family:var(--m);font-size:11px;color:var(--mut);text-align:right;line-height:1.7}
.hd__t b{color:var(--ink)}
@media(max-width:640px){.hd__t{display:none}}
/* 検索・絞り込み帯 */
.fl{background:var(--ink);color:#c3c9cf;overflow-x:auto;scrollbar-width:none}
.fl::-webkit-scrollbar{display:none}
.fl__in{display:flex;align-items:center;gap:0;max-width:1080px;margin:0 auto;padding:0 26px}
.fl a{font-family:var(--m);font-size:11.5px;padding:9px 14px;white-space:nowrap;color:#9aa2aa}
.fl a.on{background:#fff;color:var(--ink)}.fl a:hover{color:#fff}
.fl__s{margin-left:auto;font-family:var(--m);font-size:10.5px;color:#767e86;padding:9px 0 9px 20px;white-space:nowrap}
/* 配信ログ本体 */
.log{padding:26px 0 0}
.log__h{display:flex;align-items:baseline;gap:14px;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.log__h .t{font-size:15px;font-weight:800;letter-spacing:.04em;margin:0;line-height:inherit}
.log__h .e{font-family:var(--m);font-size:10.5px;color:var(--mut)}
.log__h .r{margin-left:auto;font-family:var(--m);font-size:10.5px;color:var(--faint)}
.fi{display:grid;grid-template-columns:78px 1fr;gap:0;border-bottom:1px solid var(--rule);
position:relative;background:linear-gradient(90deg,transparent 77px,var(--rule) 77px,var(--rule) 78px,transparent 78px)}
.fi:hover{background-color:rgba(255,255,255,.5)}
.fi__t{padding:15px 14px 15px 0;text-align:right;font-family:var(--m);font-size:12px;color:var(--mut)}
.fi__t small{display:block;font-size:9.5px;color:var(--faint);margin-top:2px}
.fi__b{padding:15px 0 15px 20px;position:relative}
.fi__b::before{content:"";position:absolute;left:-4px;top:21px;width:9px;height:9px;
border-radius:50%;background:var(--rule2)}
.fi--f .fi__b::before{background:var(--flash)}
.fi--u .fi__b::before{background:var(--urg)}
.fi__s{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px;
font-family:var(--m);font-size:10px;color:var(--faint);letter-spacing:.02em}
.pr{font-family:var(--l);font-weight:800;font-size:9px;letter-spacing:.1em;padding:1px 6px;color:#fff;background:var(--rule2)}
.pr--f{background:var(--flash)}.pr--u{background:var(--urg)}.pr--r{background:var(--rt)}
.slug{color:var(--ink2)}
.fi__t2{font-size:17px;font-weight:700;line-height:1.5;letter-spacing:.005em}
.fi:hover .fi__t2{color:var(--flash)}
.fi__x{margin-top:6px;font-size:13.5px;line-height:1.8;color:var(--mut)}
/* 素材欄 */
.src{margin-top:9px;display:flex;gap:8px;flex-wrap:wrap;font-family:var(--m);font-size:10px;color:var(--mut)}
.src span{border:1px solid var(--rule2);padding:1px 6px}
.src span.own{border-color:var(--rt);color:var(--rt)}
.src span.pr{background:none;color:var(--urg);border-color:var(--urg);font-family:var(--m);
font-weight:400;font-size:10px;letter-spacing:0}
/* 続報の履歴 */
.rev{margin-top:11px;padding-left:13px;border-left:2px solid var(--rule)}
.rev__i{display:flex;gap:11px;font-family:var(--m);font-size:10.5px;color:var(--mut);padding:2px 0}
.rev__i b{color:var(--ink2);font-weight:400}
.rev__i s{color:var(--faint)}
/* 展開された全文 */
.full{margin-top:16px;padding:18px 20px;background:var(--sheet);border-left:3px solid var(--ink)}
.full__h{font-family:var(--m);font-size:10px;color:var(--faint);margin-bottom:11px;letter-spacing:.04em}
.full p{font-size:15.5px;line-height:1.95;margin-bottom:.9em}
.full p:last-of-type{margin-bottom:0}
.full p:first-of-type b{font-weight:700}
.dline{font-family:var(--m);font-size:11.5px;color:var(--mut);margin-bottom:9px}
/* 市況（等幅の実表） */
.mk{margin-top:34px;background:var(--sheet);border:1px solid var(--ink)}
.mk__h{padding:11px 16px;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;
gap:12px;font-family:var(--m);font-size:11px;color:var(--mut)}
.mk__h b{color:var(--ink)}
table{width:100%;border-collapse:collapse;font-family:var(--m);font-size:12px}
th,td{padding:7px 16px;text-align:right;border-bottom:1px solid var(--rule)}
th{font-size:10px;color:var(--mut);font-weight:400;background:#f6f7f4}
td:first-child,th:first-child{text-align:left;font-family:var(--g);font-size:13px}
tr:last-child td{border-bottom:0}
.up{color:var(--flash)}.dn{color:var(--rt)}
/* 発信元一覧 */
.ag{margin-top:34px;border-top:2px solid var(--ink);padding-top:14px}
.ag__g{columns:3;column-gap:28px}
@media(max-width:760px){.ag__g{columns:2}}@media(max-width:480px){.ag__g{columns:1}}
.ag__i{break-inside:avoid;display:flex;justify-content:space-between;gap:8px;align-items:baseline;
padding:4px 0;font-size:13px}
.ag__i .d{flex:1;border-bottom:1px dotted var(--rule2);margin:0 4px 4px}
.ag__i .n{font-family:var(--m);font-size:11px;color:var(--faint)}
.ag__i:hover{color:var(--flash)}
.ft{margin-top:40px;background:var(--ink);color:#98a0a8;padding:32px 0 24px}
.ft__g{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:30px;padding-bottom:20px;border-bottom:1px solid #282d33}
@media(max-width:700px){.ft__g{grid-template-columns:1fr 1fr}}
.ft__wm{height:17px;margin-bottom:12px}
.ft__n{font-family:var(--l);font-weight:800;font-size:17px;color:#fff;margin-bottom:14px}
.ft p{font-size:12.5px;line-height:1.85;color:#848c94;margin:0}
.ft__concept{margin-top:14px;max-width:34em}
.ft__concept .ft__h{margin-bottom:7px}
.ft__concept-t{font-size:12.5px;line-height:1.9;color:#c3c9cf;margin:0}
.ft__desc{margin-top:12px}
.ft__h{font-family:var(--m);font-size:10px;color:#fff;margin-bottom:11px;letter-spacing:.08em}
.ft__l li{padding:4px 0}.ft__l a{font-size:12.5px;color:#98a0a8}.ft__l a:hover{color:#fff}
.ft__c{padding-top:16px;font-family:var(--m);font-size:10px;color:#6e767e;display:flex;
justify-content:space-between;gap:12px;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}


:root{
  --t-paper:var(--paper);
  --t-sheet:var(--sheet);
  --t-ink:var(--ink);
  --t-ink2:var(--ink2);
  --t-mut:var(--mut);
  --t-faint:var(--faint);
  --t-rule:var(--rule);
  --t-rule2:var(--rule2);
  --t-acc:var(--flash);
  --t-accbg:var(--paper);
  --t-alt:var(--rt);
  --t-body:var(--g);
  --t-head:var(--g);
  --t-lat:var(--l);
  --t-hover:rgba(255,255,255,.42);
}

/* ══════════════════════════════════════════════════════════
   共通レイヤ ── 個別ページ（記事・一覧・検索・固定ページ）
   ブランド変数を --t-* に写像して使う。ここから下は全テーマ共通。
   ══════════════════════════════════════════════════════════ */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;z-index:999;padding:10px 16px;
background:var(--t-ink);color:var(--t-paper);font-size:13px}
.skip-link:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--t-acc);outline-offset:2px}

.t-wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.t-main{padding:26px 0 0}
.t-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:start}
@media(max-width:960px){.t-cols{grid-template-columns:1fr;gap:30px}}

/* 見出し */
.t-head{display:flex;align-items:baseline;gap:14px;padding-bottom:10px;
border-bottom:2px solid var(--t-ink);margin-bottom:4px}
.t-head__t{font-family:var(--t-head);font-size:17px;font-weight:600;letter-spacing:.06em;margin:0}
.t-head__e{font-family:var(--t-lat);font-size:11px;letter-spacing:.14em;color:var(--t-mut)}
.t-head__r{margin-left:auto;font-family:var(--t-head);font-size:10.5px;color:var(--t-faint);letter-spacing:.08em}

/* 一覧行 */
.t-list{margin:0;padding:0;list-style:none}
.t-item{display:grid;grid-template-columns:104px minmax(0,1fr);gap:20px;align-items:start;
padding:16px 0;border-bottom:1px solid var(--t-rule)}
.t-item:hover{background:var(--t-hover)}
@media(max-width:560px){.t-item{grid-template-columns:1fr;gap:9px}}
.t-item__fig{aspect-ratio:4/3;overflow:hidden;background:var(--t-sheet);border:1px solid var(--t-rule)}
.t-item__fig img{width:100%;height:100%;object-fit:cover;display:block}
.t-item__t{font-family:var(--t-head);font-size:16.5px;line-height:1.55;font-weight:600;margin:0}
.t-item:hover .t-item__t{color:var(--t-acc)}
.t-item__x{margin:6px 0 0;font-size:13.5px;line-height:1.8;color:var(--t-mut)}
.t-item__m{margin-top:8px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;
font-family:var(--t-head);font-size:10.5px;color:var(--t-faint);letter-spacing:.06em}
.t-badge{display:inline-block;font-family:var(--t-head);font-size:9.5px;letter-spacing:.1em;
padding:1px 6px;border:1px solid var(--t-acc);color:var(--t-acc)}

/* 記事本文 */
.t-article{max-width:44em}
.t-article__hd{padding-bottom:20px;border-bottom:1px solid var(--t-ink);margin-bottom:22px}
.t-article__k{display:flex;align-items:center;gap:12px;margin-bottom:12px;
font-family:var(--t-head);font-size:10.5px;letter-spacing:.16em;color:var(--t-acc)}
.t-article__k .r{flex:1;height:1px;background:var(--t-rule)}
.t-article__t{font-family:var(--t-head);font-size:31px;font-weight:600;line-height:1.44;margin:0}
@media(max-width:640px){.t-article__t{font-size:24px}}
.t-article__sub{margin:14px 0 0;font-size:15.5px;line-height:1.95;color:var(--t-ink2)}
.t-article__by{margin-top:16px;display:flex;gap:16px;flex-wrap:wrap;align-items:baseline;
font-family:var(--t-head);font-size:11.5px;color:var(--t-mut);letter-spacing:.04em}
.t-article__by b{color:var(--t-ink);font-weight:600}
.t-hero{margin:0 0 24px}
.t-hero img{width:100%;height:auto;display:block}
.t-hero figcaption{margin-top:9px;font-family:var(--t-head);font-size:11.5px;color:var(--t-mut);line-height:1.75}

.t-body{font-size:16.5px;line-height:1.95}
.t-body > *{margin:0 0 1.4em}
.t-body > *:last-child{margin-bottom:0}
.t-body h2{font-family:var(--t-head);font-size:19px;font-weight:600;margin:2em 0 .7em;letter-spacing:.02em}
.t-body h3{font-family:var(--t-head);font-size:16.5px;font-weight:600;margin:1.8em 0 .6em}
.t-body a{color:var(--t-acc);border-bottom:1px solid var(--t-accbg)}
.t-body a:hover{border-color:var(--t-acc)}
.t-body img{max-width:100%;height:auto}
.t-body figure{margin:1.8em 0}
.t-body figcaption{margin-top:8px;font-family:var(--t-head);font-size:11.5px;color:var(--t-mut);line-height:1.75}
.t-body blockquote{margin:1.8em 0;padding:2px 0 2px 18px;border-left:3px solid var(--t-acc);color:var(--t-ink2)}
.t-body ul,.t-body ol{padding-left:1.5em}
.t-body li{margin-bottom:.4em}
.t-body table{width:100%;border-collapse:collapse;font-size:14px}
.t-body th,.t-body td{padding:9px 12px;border-bottom:1px solid var(--t-rule);text-align:left}
.t-body th{font-family:var(--t-head);font-size:11px;color:var(--t-mut);font-weight:400;background:var(--t-sheet)}
.t-body code{font-family:var(--t-lat);font-size:.9em;background:var(--t-sheet);padding:1px 5px}
.t-body pre{background:var(--t-sheet);padding:14px 16px;overflow-x:auto;font-family:var(--t-lat);font-size:13px}
.t-body hr{border:0;border-top:1px solid var(--t-rule);margin:2.4em 0}
.t-body .wp-caption{max-width:100%}
.alignleft{float:left;margin:0 1.4em 1em 0}
.alignright{float:right;margin:0 0 1em 1.4em}
.aligncenter{margin-left:auto;margin-right:auto;display:block}
.alignwide{width:min(100%,60em)}
.alignfull{width:100%}

/* 出典（全テーマ共通の中核機能） */
.t-source{margin:30px 0 0;border:1px solid var(--t-rule2);background:var(--t-sheet);padding:18px 20px}
.t-source__k{font-family:var(--t-head);font-size:10.5px;letter-spacing:.16em;color:var(--t-acc);
padding-bottom:11px;margin-bottom:6px;border-bottom:1px solid var(--t-rule)}
.t-source__r{display:flex;gap:14px;font-size:13.5px;padding:4px 0;color:var(--t-ink2)}
.t-source__r b{font-family:var(--t-head);font-size:11px;letter-spacing:.06em;color:var(--t-mut);
min-width:78px;flex:none;font-weight:400;padding-top:3px}
.t-source__r a{color:var(--t-acc);word-break:break-all;border-bottom:1px solid var(--t-accbg)}
.t-source__n{margin-top:10px;padding-top:9px;border-top:1px solid var(--t-rule);
font-family:var(--t-head);font-size:11.5px;line-height:1.8;color:var(--t-mut)}

/* 記事固有メタ */
.t-meta{margin:22px 0 0;display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--t-rule)}
.t-meta__i{padding:11px 22px 11px 0;margin-right:22px;border-right:1px solid var(--t-rule)}
.t-meta__i:last-child{border-right:0;margin-right:0;padding-right:0}
.t-meta__k{font-family:var(--t-head);font-size:10px;letter-spacing:.1em;color:var(--t-faint);margin-bottom:3px}
.t-meta__v{font-family:var(--t-lat);font-size:17px;line-height:1.2;color:var(--t-ink)}

/* 共有・著者・関連 */
.t-share{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.t-share a,.t-share button{display:inline-flex;align-items:center;gap:6px;font-family:var(--t-head);
font-size:11px;letter-spacing:.06em;color:var(--t-ink2);border:1px solid var(--t-rule2);
background:none;padding:6px 12px;cursor:pointer}
.t-share a:hover,.t-share button:hover{border-color:var(--t-acc);color:var(--t-acc)}
.t-author{margin-top:30px;padding:18px 20px;border:1px solid var(--t-rule);background:var(--t-sheet);
display:flex;gap:16px;align-items:flex-start}
.t-author img{border-radius:50%;flex:none}
.t-author__n{font-family:var(--t-head);font-size:14px;font-weight:600}
.t-author__b{margin:6px 0 0;font-size:13px;line-height:1.8;color:var(--t-mut)}
.t-rel{margin-top:34px}
.t-nav{margin-top:26px;display:flex;justify-content:space-between;gap:16px;
padding-top:16px;border-top:1px solid var(--t-rule);font-family:var(--t-head);font-size:12.5px}
.t-nav a:hover{color:var(--t-acc)}

/* ページ送り */
.t-pager{margin:30px 0 0;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.t-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;
min-width:34px;height:34px;padding:0 9px;border:1px solid var(--t-rule2);
font-family:var(--t-lat);font-size:13px;color:var(--t-ink2)}
.t-pager .page-numbers:hover{border-color:var(--t-ink)}
.t-pager .page-numbers.current{background:var(--t-ink);color:var(--t-paper);border-color:var(--t-ink)}
.t-pager .dots{border:0}

/* サイドバー */
.t-side .widget{margin-bottom:28px}
.t-side .widget-title,.t-side h2{font-family:var(--t-head);font-size:11px;letter-spacing:.14em;
color:var(--t-ink);padding-bottom:10px;margin:0 0 10px;border-bottom:1px solid var(--t-ink);font-weight:600}
.t-side ul{list-style:none;margin:0;padding:0}
.t-side li{padding:6px 0;border-bottom:1px solid var(--t-rule);font-size:13.5px}
.t-side li:last-child{border-bottom:0}
.t-side a:hover{color:var(--t-acc)}
.t-rank{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--t-rule)}
.t-rank:last-child{border-bottom:0}
.t-rank__n{font-family:var(--t-lat);font-size:18px;color:var(--t-rule2);line-height:1.2}
.t-rank--top .t-rank__n{color:var(--t-acc)}
.t-rank__t{font-family:var(--t-head);font-size:13.5px;font-weight:600;line-height:1.5}
.t-rank:hover .t-rank__t{color:var(--t-acc)}

/* 検索フォーム */
.t-search{display:flex;border-bottom:1.5px solid var(--t-ink);max-width:420px}
.t-search input[type=search]{flex:1;background:none;border:0;padding:9px 2px;
font-family:var(--t-head);font-size:14px;color:var(--t-ink);min-width:0}
.t-search input[type=search]:focus{outline:none}
.t-search button{background:none;border:0;cursor:pointer;padding:9px 2px 9px 16px;
font-family:var(--t-head);font-size:12px;letter-spacing:.12em;color:var(--t-acc);font-weight:600}

/* パンくず */
.t-crumb{padding:14px 0 0;font-family:var(--t-head);font-size:11.5px;color:var(--t-mut);letter-spacing:.04em}
.t-crumb a:hover{color:var(--t-acc)}
.t-crumb .sep{margin:0 7px;color:var(--t-faint)}

/* コメント */
.t-comments{margin-top:38px;padding-top:20px;border-top:2px solid var(--t-ink)}
.t-comments ol{list-style:none;margin:0;padding:0}
.t-comments .comment-body{padding:16px 0;border-bottom:1px solid var(--t-rule)}
.t-comments .children{padding-left:26px}
.t-comments .comment-author{font-family:var(--t-head);font-size:13px;font-weight:600}
.t-comments .comment-meta{font-family:var(--t-head);font-size:11px;color:var(--t-faint)}
.t-comments input[type=text],.t-comments input[type=email],.t-comments input[type=url],
.t-comments textarea{width:100%;border:1px solid var(--t-rule2);background:var(--t-sheet);
padding:9px 11px;font-family:inherit;font-size:14px;color:var(--t-ink)}
.t-comments .submit{font-family:var(--t-head);font-size:12.5px;letter-spacing:.08em;
background:var(--t-ink);color:var(--t-paper);border:0;padding:10px 22px;cursor:pointer}

/* 404・空状態 */
.t-empty{padding:40px 0;max-width:40em}
.t-empty__t{font-family:var(--t-head);font-size:22px;font-weight:600;margin:0 0 12px}
.t-empty__x{font-size:14.5px;line-height:1.9;color:var(--t-mut);margin:0 0 20px}

@media print{
  .t-side,.t-share,.t-comments,.t-pager,.t-nav{display:none}
  body{background:#fff}
}
