/* ============================================================
   High Volume オウンドメディア用スタイル
   ヘッダー・フッターはコーポレートサイトと同一トーン（黒）
   記事本文は可読性優先で白背景
   ============================================================ */
:root{
  --bg:#0a0a12;
  --bg2:#111120;
  --paper:#f5f4fb;
  --accent1:#e11d2e;
  --accent2:#e8734f;
  --sub:#9a9ab0;
  --line:#23233a;
  --ink:#1a1a1a;
  --ink-sub:#555;
  --rule:#e5e5e5;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",-apple-system,sans-serif;
  background:#fff;color:var(--ink);line-height:1.85;
}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1160px;margin:0 auto;padding:0 36px;}

/* ---------- ヘッダー（コーポレートと共通） ---------- */
header{position:sticky;top:0;background:rgba(10,10,18,.94);
  border-bottom:1px solid var(--line);z-index:10;}
header .wrap{display:flex;justify-content:space-between;align-items:center;height:80px;}
.logo img{height:32px;display:block;}
nav ul{display:flex;gap:40px;list-style:none;font-size:13px;color:var(--sub);}
nav a:hover{color:var(--accent2);}

/* ---------- フッター（コーポレートと共通） ---------- */
footer{background:var(--bg);border-top:1px solid var(--line);
  padding:40px 0;text-align:center;color:var(--sub);font-size:12px;}

/* ---------- 記事本文 ---------- */
.article{max-width:820px;margin:0 auto;padding:56px 20px 80px;font-size:16px;}
.article h1{font-size:1.6rem;font-weight:800;line-height:1.5;
  margin:0 0 24px;padding-bottom:14px;border-bottom:3px solid var(--accent1);}
.article h2{font-size:1.25rem;font-weight:800;margin:56px 0 18px;
  padding-top:22px;border-top:2px solid var(--ink);}
.article h3{font-size:1.05rem;font-weight:700;margin:32px 0 12px;
  padding-left:12px;border-left:4px solid var(--accent1);}
.article p{margin:0 0 16px;}
.article ul,.article ol{padding-left:1.4em;margin:0 0 18px;}
.article li{margin-bottom:8px;}
.article a{color:var(--accent1);text-decoration:underline;}
.article a:hover{color:var(--accent2);}
.article blockquote{margin:0 0 26px;padding:13px 16px;background:#f7f7f7;
  border-left:3px solid #bbb;font-size:.88rem;color:var(--ink-sub);}
.article blockquote p{margin:0;}
.article hr{border:0;border-top:1px solid var(--rule);margin:44px 0;}
.article-date{color:#888;font-size:.85rem;margin-bottom:20px;}

/* ---------- 表（モバイルは横スクロール） ---------- */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 24px;
  border:1px solid var(--rule);border-radius:6px;}
.article table{border-collapse:collapse;width:100%;font-size:.83rem;min-width:460px;}
.article th,.article td{padding:9px 11px;text-align:left;
  border-bottom:1px solid var(--rule);vertical-align:top;}
.article th{background:#fafafa;font-weight:700;font-size:.78rem;white-space:nowrap;}
.article tbody tr:last-child td{border-bottom:0;}
.article tr.hv-row td{background:#fdf1f2;}

/* ---------- 記事内フォーム ---------- */
.article-form{background:#fafafa;border:1px solid var(--rule);border-radius:10px;
  padding:28px 24px;margin:26px 0;}
.article-form label{display:block;margin-bottom:16px;font-size:.9rem;font-weight:700;}
.article-form input,.article-form textarea,.article-form select{
  width:100%;margin-top:6px;padding:10px 12px;border:1px solid #ccc;border-radius:6px;
  font:inherit;font-weight:400;background:#fff;color:var(--ink);}
.article-form input:focus,.article-form textarea:focus,.article-form select:focus{
  outline:none;border-color:var(--accent1);}
.article-form textarea{resize:vertical;min-height:110px;}
.article-form .req{color:var(--accent1);margin-left:4px;}
.article-form .opt{color:#999;font-weight:400;font-size:.8rem;margin-left:4px;}
.article-form .file-note{display:block;font-size:.78rem;color:#888;font-weight:400;margin-top:4px;}
.article-form button.cta{
  display:block;width:100%;padding:16px;margin-top:8px;border:0;border-radius:999px;
  background:linear-gradient(90deg,var(--accent1),var(--accent2));
  color:#fff;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;}
.article-form button.cta:hover{opacity:.92;}
.article-form button.cta:disabled{opacity:.6;cursor:default;}
.form-notes{list-style:none;padding:0;margin:14px 0 0;font-size:.8rem;color:#666;}
.form-notes li{margin-bottom:4px;padding-left:1.2em;position:relative;}
.form-notes li::before{content:"・";position:absolute;left:0;}

/* ---------- 記事一覧ページ ---------- */
.media-head{padding:64px 0 8px;}
.media-head .en-label{color:var(--accent2);font-size:12px;letter-spacing:.2em;}
.media-head h1{font-size:1.7rem;font-weight:800;margin-top:10px;
  padding-bottom:16px;border-bottom:3px solid var(--accent1);}
.media-list{max-width:820px;margin:0 auto;padding:40px 20px 100px;}
.article-card{display:block;border:1px solid var(--rule);border-radius:10px;
  padding:26px 28px;margin-bottom:22px;transition:border-color .2s, box-shadow .2s;}
.article-card:hover{border-color:var(--accent1);box-shadow:0 4px 18px rgba(0,0,0,.06);}
.article-card .card-date{color:#888;font-size:.8rem;}
.article-card h2{font-size:1.1rem;font-weight:800;line-height:1.6;margin:6px 0 10px;}
.article-card p{font-size:.88rem;color:var(--ink-sub);margin:0 0 12px;}
.article-card .card-more{color:var(--accent1);font-size:.85rem;font-weight:700;}

/* ---------- モバイル ---------- */
@media (max-width:680px){
  .wrap{padding:0 20px;}
  header .wrap{height:64px;}
  nav ul{gap:16px;font-size:11px;}
  .article{padding:40px 18px 64px;font-size:15.5px;}
  .article h1{font-size:1.35rem;}
  .article h2{font-size:1.15rem;}
  .media-head{padding:44px 0 4px;}
  .media-head h1{font-size:1.4rem;}
}
