/* Orchestra preset: Runway Magazine（ニュース）。試作 proto-runway を WordPress 用に組み直したもの */

:root{
  color-scheme: light;
  --ink:#14181d; --asphalt:#1d2227; --paper:#fff; --bg:#f2f3f4; --line:#d9dcdf; --soft:#5d656d;
  --blue:#0b57e3;   /* 誘導灯の青 */
  --amber:#ffc61a;  /* 滑走路の中心線の黄 */
  --display:"Barlow Condensed","Helvetica Neue",Arial,sans-serif;
  --body:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  --w:1040px;
}
.rw,.rw *{box-sizing:border-box}
body.rw-body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}
.rw a{color:inherit;text-decoration:none}
.rw a:hover .rw-t{text-decoration:underline;text-underline-offset:3px}
.rw img{display:block;max-width:100%;height:auto}
.rw ul,.rw ol{list-style:none;margin:0;padding:0}
.rw h1,.rw h2,.rw h3,.rw h4,.rw p{margin:0}
.rw :focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.rw-wrap{max-width:calc(var(--w) + 32px);margin-inline:auto;padding-inline:16px}

.sample{background:var(--amber);font-size:12px;font-weight:700;text-align:center;padding:6px 12px}
.rw-util{background:var(--asphalt);color:#c9ced3;font-size:11px}
.rw-util .rw-wrap{display:flex;justify-content:space-between;gap:12px;padding-block:5px}
.rw-util b{font-family:var(--display);letter-spacing:.08em;font-weight:600;color:#fff}

/* ヘッダー */
.rw-head{background:var(--paper)}
.rw-head .rw-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.rw-logo{display:flex;align-items:flex-end;gap:14px}
.rw-logo b{font-family:var(--display);font-weight:800;font-size:44px;line-height:.9;letter-spacing:.02em;text-transform:uppercase}
.rw-logo b i{font-style:normal;color:var(--blue)}
.rw-logo span{font-size:11px;font-weight:700;color:var(--soft);padding-bottom:3px;border-bottom:2px dashed var(--amber)}
.rw-tools{display:flex;gap:8px;align-items:center}
.rw-search{display:flex;border:1px solid var(--line);background:var(--bg)}
.rw-search input{border:0;background:transparent;font:inherit;font-size:12px;padding:7px 10px;width:190px;min-width:0}
.rw-search button,.rw-btn{border:0;background:var(--ink);color:#fff;font:inherit;font-size:12px;font-weight:700;padding:7px 14px;cursor:pointer}
.rw-btn{background:var(--blue)}
.rw-nav{background:var(--asphalt);color:#fff}
.rw-nav ul{display:flex;overflow-x:auto;scrollbar-width:none}
.rw-nav a{display:block;padding:11px 16px;font-size:13px;font-weight:700;white-space:nowrap}
.rw-nav a:hover,.rw-nav a[aria-current]{background:#000;box-shadow:inset 0 -3px 0 var(--amber)}

/* 見出し */
.rw-sec{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.rw-sec h2{font-size:20px;font-weight:900;line-height:1.3;padding-left:10px;border-left:6px solid var(--blue)}
.rw-sec small{font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.08em;color:var(--soft);text-transform:uppercase}
.rw-sec::after{content:"";flex:1;border-top:2px dashed var(--line);align-self:center}
.rw-sec a{order:3;font-size:12px;font-weight:700;color:var(--blue)}

.rw-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;padding-block:24px 48px}
.rw-main>section{margin-bottom:40px}
.rw-side>section{background:var(--paper);padding:16px;margin-bottom:24px}
.rw-side .rw-sec h2{font-size:16px}

.rw-cat{font-size:11px;font-weight:700;color:var(--blue)}
.oc-pr,.rw-pr{display:inline-block;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.1em;border:1.5px solid var(--soft);color:var(--soft);padding:0 6px;line-height:16px;margin-right:6px;vertical-align:1px;background:var(--paper)}
.rw-by{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--soft)}
.rw-av{width:22px;height:22px;border-radius:50%;background:var(--asphalt);color:var(--amber);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
.rw-by time{margin-left:auto;font-family:var(--display);font-size:13px;letter-spacing:.04em}
.rw-ph{background:var(--line);overflow:hidden}
.rw-ph img{width:100%;height:100%;object-fit:cover}

/* トップニュース */
.rw-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;border-top:3px solid var(--ink);padding-top:16px}
.rw-top .rw-lead .rw-ph{aspect-ratio:16/10}
.rw-top .rw-lead h3{font-size:24px;font-weight:900;line-height:1.5;margin:10px 0 6px;text-wrap:balance}
.rw-top .rw-lead p{color:var(--soft);font-size:13px;margin-bottom:8px}
.rw-sub{display:grid;grid-template-columns:1fr 104px;gap:12px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.rw-sub h3{font-size:15px;font-weight:700;line-height:1.55;margin:2px 0 6px}
.rw-sub .rw-ph{aspect-ratio:1;grid-column:2;grid-row:1}
.rw-sub .rw-tx{grid-column:1;grid-row:1}
.rw-sub .rw-by{grid-column:1/-1;grid-row:2}

/* 記事の行（左に文字・右にサムネ） */
.rw-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;border-top:3px solid var(--ink)}
.rw-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;padding-block:14px;border-bottom:1px solid var(--line)}
.rw-row h3{font-size:15px;font-weight:700;line-height:1.55;margin:2px 0 6px}
.rw-row .rw-ph{aspect-ratio:3/2;grid-column:2;grid-row:1}
.rw-row .rw-tx{grid-column:1;grid-row:1}
.rw-row .rw-by{grid-column:1/-1;grid-row:2}

/* タブ（カテゴリー別） */
.rw-tabs{display:flex;overflow-x:auto;scrollbar-width:none;background:var(--paper);border-top:3px solid var(--ink)}
.rw-tabs button{flex:1;border:0;background:transparent;font:inherit;font-weight:700;font-size:13px;padding:10px 14px;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent}
.rw-tabs button[aria-selected="true"]{border-bottom-color:var(--blue);color:var(--blue)}
.rw-panel[hidden]{display:none}
.rw-panel .rw-rows{border-top:0}

/* 調査データ（黒い箱） */
.rw-data{background:var(--asphalt);color:#fff;padding:20px}
.rw-data .rw-sec h2{color:#fff;border-color:var(--amber)}
.rw-data .rw-sec small{color:#9aa2a9}.rw-data .rw-sec::after{border-color:#48505a}
.rw-data .rw-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px}
.rw-data .rw-lead .rw-ph{aspect-ratio:16/10}
.rw-data h3{font-size:19px;font-weight:900;line-height:1.5;margin:10px 0 6px}
.rw-data .rw-cat{color:var(--amber)}
.rw-data .rw-by{color:#b9c0c6}
.rw-stat{background:#000;border-left:6px solid var(--amber);padding:12px 16px;margin-bottom:14px}
.rw-stat b{font-family:var(--display);font-size:52px;line-height:1;font-weight:800;color:var(--amber)}
.rw-stat b small{font-size:22px}
.rw-stat p{font-size:12px;color:#c9ced3}
.rw-data .rw-mini{display:block;padding-block:10px;border-top:1px solid #48505a;font-size:14px;font-weight:700;line-height:1.55}

/* 側欄 */
.rw-rank li{display:grid;grid-template-columns:28px 1fr;gap:8px;padding-block:10px;border-top:1px solid var(--line)}
.rw-rank li:first-child{border-top:0}
.rw-rank i{font-family:var(--display);font-style:normal;font-size:28px;font-weight:800;line-height:1;color:var(--blue)}
.rw-rank a{font-size:13px;font-weight:700;line-height:1.55;display:block}
.rw-rank .rw-by{margin-top:2px}
.rw-flash li{display:grid;grid-template-columns:44px 1fr;gap:8px;padding-block:8px;border-top:1px solid var(--line);font-size:13px;line-height:1.55}
.rw-flash li:first-child{border-top:0}
.rw-flash time{font-family:var(--display);font-size:15px;font-weight:600;color:var(--soft)}
.rw-ad{display:block;border:1px solid var(--line);padding:12px;margin-bottom:12px}
.rw-ad .rw-ph{aspect-ratio:16/9;margin-bottom:8px}
.rw-ad h3{font-size:13px;font-weight:700;line-height:1.55}

.rw-footer{background:var(--asphalt);color:#c9ced3;font-size:12px}
.rw-footer .rw-wrap{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;align-items:center;padding-block:24px}
.rw-footer .rw-logo b{font-size:28px;color:#fff}
.rw-footer p{margin:0}

/* 記事ページ */
.rw-crumb{font-size:12px;color:var(--soft);margin-bottom:12px}
.rw-crumb a{color:var(--blue)}
.rw-art{background:var(--paper);padding:28px 32px 36px}
.rw-art h1{font-size:30px;font-weight:900;line-height:1.5;margin:6px 0 14px;text-wrap:balance}
.rw-art .rw-by{font-size:12px;padding-block:10px;border-block:1px solid var(--line);margin-bottom:18px}
.rw-art .rw-av{width:28px;height:28px;font-size:13px}
.rw-art .rw-hero{aspect-ratio:16/9;margin-bottom:6px}
.rw-cap{font-size:11px;color:var(--soft);margin-bottom:20px}
.rw-point{background:var(--bg);border-left:6px solid var(--amber);padding:14px 18px;margin-bottom:24px}
.rw-point b{display:block;font-size:12px;letter-spacing:.08em;margin-bottom:4px}
.rw-point li{position:relative;padding-left:16px;font-size:14px}
.rw-point li::before{content:"";position:absolute;left:0;top:.8em;width:8px;border-top:2px solid var(--blue)}
.rw-art h2{font-size:21px;font-weight:900;line-height:1.5;margin:32px 0 10px;padding-bottom:6px;border-bottom:2px dashed var(--line)}
.rw-art p{font-size:16px;line-height:1.95;margin-bottom:16px}
.rw-art table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:6px}
.rw-art th,.rw-art td{border:1px solid var(--line);padding:8px 12px;text-align:left}
.rw-art th{background:var(--bg)}
.rw-art td.n{font-family:var(--display);font-size:18px;font-weight:600;text-align:right}
.rw-src{font-size:11px;color:var(--soft);margin-bottom:20px}
.rw-prbox{border:2px solid var(--ink);padding:16px;margin-block:28px;display:grid;grid-template-columns:140px 1fr;gap:16px}
.rw-prbox .rw-ph{aspect-ratio:3/2}
.rw-prbox h3{font-size:16px;font-weight:900;line-height:1.55;margin-bottom:4px}
.rw-prbox p{font-size:13px;line-height:1.7;margin:0}
.rw-rel{margin-top:32px}

@media (max-width:900px){
  .rw-cols{grid-template-columns:minmax(0,1fr)}
  .rw-top,.rw-data .rw-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .rw-logo b{font-size:34px}
  .rw-logo span,.rw-util span:last-child{display:none}
  .rw-head .rw-wrap{flex-wrap:wrap}
  .rw-search input{width:130px}
  .rw-rows{grid-template-columns:minmax(0,1fr)}
  .rw-top .rw-lead h3{font-size:20px}
  .rw-art{padding:20px 16px 28px}
  .rw-art h1{font-size:23px}
  .rw-art p{font-size:15px}
  .rw-prbox{grid-template-columns:minmax(0,1fr)}
  .rw-tools .rw-btn{display:none}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ── 試作にはない部分（WordPress 用の追加） ── */
.rw-nav ul,.rw-nav li{list-style:none}
.oc-pr{margin-right:6px}
.rw-feat{border-color:var(--blue);color:var(--blue);margin-right:0}
.rw-cat-lead{display:block;margin-top:10px}
.rw-cat:empty{display:none}
.rw-av{overflow:hidden}
.rw-av img{width:100%;height:100%;object-fit:cover}
.rw-art .rw-av{width:28px;height:28px}
.rw-search input[type=search]{-webkit-appearance:none;appearance:none;border-radius:0}
.rw-sec h1{font-size:20px;font-weight:900;line-height:1.3;padding-left:10px;border-left:6px solid var(--blue)}
.rw-cols-single{grid-template-columns:minmax(0,1fr)}
.rw-archive-desc{color:var(--soft);margin-bottom:16px}
.rw-rows-one{grid-template-columns:minmax(0,1fr)}
.rw-pager{margin-top:28px}
.rw-pager .nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.rw-pager .page-numbers{border:1px solid var(--line);background:var(--paper);padding:4px 14px;font-weight:700;font-size:13px}
.rw-pager .page-numbers.current,.rw-pager a.page-numbers:hover{background:var(--asphalt);color:#fff;border-color:var(--asphalt)}
.rw-pr-note{font-size:12px;color:var(--soft);margin:-8px 0 14px}
.rw-art .rw-rel .rw-sec h2{font-size:20px;margin:0;padding:0 0 0 10px;border:0;border-left:6px solid var(--blue)}
.rw-art .rw-point p{font-size:14px;line-height:1.7;margin:0}
.rw-art .rw-prbox p{font-size:13px;line-height:1.7;margin:0}
.rw-prbox{color:inherit}
.rw-art .rw-hero img{width:100%;height:100%;object-fit:cover}

/* 本文（Stork19 の見出し・余白より優先させる） */
.rw .rw-content.entry-content{font-size:16px;line-height:1.95}
.rw .rw-content.entry-content h2{font-family:var(--body);font-size:21px;font-weight:900;line-height:1.5;margin:32px 0 10px;padding:0 0 6px;border:0;border-bottom:2px dashed var(--line);background:none;color:var(--ink)}
.rw .rw-content.entry-content h3{font-size:18px;font-weight:900;line-height:1.5;margin:26px 0 8px;padding:0 0 0 10px;border:0;border-left:6px solid var(--amber);background:none;color:var(--ink)}
.rw .rw-content.entry-content p{font-size:16px;line-height:1.95;margin:0 0 16px}
.rw .rw-content.entry-content a{color:var(--blue);text-decoration:underline}
.rw .rw-content.entry-content .rw-prbox{color:inherit;text-decoration:none}
.rw .rw-content.entry-content .rw-prbox h3{margin:0 0 4px;padding:0;border:0;font-size:16px}
.rw .rw-content.entry-content .rw-prbox p{font-size:13px;line-height:1.7;margin:0}
.rw .rw-content.entry-content table{width:100%;border-collapse:collapse;font-size:14px;margin:0 0 6px}
.rw .rw-content.entry-content th,.rw .rw-content.entry-content td{border:1px solid var(--line);padding:8px 12px;text-align:left}
.rw .rw-content.entry-content th{background:var(--bg)}
.rw .rw-content.entry-content blockquote{margin:1.6em 0;padding:8px 0 8px 18px;border:0;border-left:6px solid var(--amber);color:var(--soft);background:none;box-shadow:none}
.rw blockquote::before,.rw blockquote::after{content:none!important;display:none}
.rw .rw-content.entry-content .point{background:var(--bg);border-left:6px solid var(--amber);padding:14px 18px;margin-bottom:24px}
.rw .rw-content.entry-content .point ul{margin:0}
.rw .rw-content.entry-content .point li{position:relative;padding-left:16px;font-size:14px}
.rw .rw-content.entry-content .point li::before{content:"";position:absolute;left:0;top:.8em;width:8px;border-top:2px solid var(--blue)}
.rw .rw-content.entry-content .src{font-size:11px;color:var(--soft)}
.rw .rw-content.entry-content img{max-width:100%;height:auto}
.rw .rw-content.entry-content ul,.rw .rw-content.entry-content ol{margin:0 0 16px;padding-left:1.4em;list-style:revert}
.rw .rw-content.entry-content ul li,.rw .rw-content.entry-content ol li{list-style:revert}
.rw-tabs button{color:var(--ink);border-radius:0;box-shadow:none;text-transform:none;letter-spacing:0}
.rw-tabs button[aria-selected="true"]{color:var(--blue)}
.rw .rw-content.entry-content .point ul{list-style:none;padding:0}
.rw .rw-content.entry-content .point li{list-style:none}

/* 本文の長い URL・表で画面が横にはみ出さないように */
.entry-content p,.entry-content li,.entry-content a,.entry-content td,.entry-content th{overflow-wrap:anywhere;word-break:normal}
.entry-content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.facts td,.facts th{overflow-wrap:anywhere}
.rw-art h1{text-wrap:wrap !important}  /* balance だと行を均等に短くして右が空くため（2026-10-01 オーナー指摘） */

/* 親テーマの ● と丸数字を消す（標準の点・番号と二重になるため） */
.rw .rw-content.entry-content ul li::before,.rw .rw-content.entry-content ol li::before{content:none}
.rw .rw-content.entry-content ul li,.rw .rw-content.entry-content ol li{padding-left:0}

/* 執筆者のコメント（記事の章の頭と終わり。吹き出しではなく、青い線の欄） */
/* 本文のリストは枠で囲む（ネストした中のリストと .point は除く） */
.rw .rw-content.entry-content>ul,.rw .rw-content.entry-content>ol{margin:20px 0;padding:16px 18px 16px 2.3em;background:transparent;border:1px solid var(--blue);border-radius:12px}
.rw .rw-content.entry-content>ul li::marker,.rw .rw-content.entry-content>ol li::marker{color:var(--blue)}
.rw .rw-content.entry-content>ul li:last-child,.rw .rw-content.entry-content>ol li:last-child{margin-bottom:0}
.rw .rw-content.entry-content>ul ul,.rw .rw-content.entry-content>ol ul,.rw .rw-content.entry-content>ul ol,.rw .rw-content.entry-content>ol ol{margin:8px 0 0}
@media (max-width:700px){.rw .rw-content.entry-content>ul,.rw .rw-content.entry-content>ol{padding:14px 14px 14px 2em}}

/* スマホ: 記事の白い枠は画面の端まで広げる（外側の余白との二重を避ける） */
@media (max-width:640px){.rw-art{margin-inline:-16px}}

/* 執筆者のコメント（[rwnote]）: 吹き出し。墨色の塗りつぶし・白い文字・四角めの角（ニュースのテロップ風）。顔は青い縁、名前は青で小さく上 */
.rw .rw-content .rw-note{display:flex;gap:14px;align-items:flex-start;margin:26px 0 12px;padding:0;background:none;border:0}
.rw .rw-content .rw-note img{flex:none;width:46px;height:46px;border-radius:50%;object-fit:cover;background:var(--bg);border:2px solid var(--blue);margin:6px 0 0}
.rw .rw-content .rw-note-body{flex:1;min-width:0;display:flex;flex-direction:column}
.rw .rw-content .rw-note b{order:-1;display:block;margin:0 0 6px 2px;font-size:12px;font-weight:800;letter-spacing:.06em;line-height:1.5;color:var(--blue)}
.rw .rw-content .rw-note p{position:relative;margin:0;padding:13px 17px;background:var(--asphalt);border:0;border-radius:0 14px 14px 14px;font-size:15px;font-weight:500;line-height:1.85;color:#fff}
.rw .rw-content .rw-note p::before{content:"";position:absolute;left:-10px;top:0;border:0 solid transparent;border-top:12px solid var(--asphalt);border-left:10px solid transparent}
@media (max-width:700px){.rw .rw-content .rw-note{gap:12px}.rw .rw-content .rw-note img{width:40px;height:40px}.rw .rw-content .rw-note p{padding:12px 15px}}