/* 3D&4D NEWS — 読みやすさを最優先にした、装飾の少ないスタイル
   ・外部フォントなし（端末の日本語フォント）・JavaScriptなし・アニメーションなし
   ・色は文字の黒、補助の灰、リンクの青の3つだけ */
:root{
  --ink:#1a1a1a; --sub:#5c5c5c; --faint:#8a8a8a; --line:#e3e3e3; --bg:#fff; --bg2:#f6f6f4;
  --link:#0b5cad; --link-v:#5a3d8a;
  --font:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Noto Sans CJK JP","Yu Gothic UI","Yu Gothic",YuGothic,Meiryo,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.85;letter-spacing:.01em;font-feature-settings:"palt" 0;overflow-wrap:anywhere}
a{color:var(--link);text-underline-offset:.2em;text-decoration-thickness:1px}
a:visited{color:var(--link-v)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid #f2b705;outline-offset:2px}
.w{max-width:880px;margin:0 auto;padding:0 20px}
.w--text{max-width:720px}
.pb{padding-bottom:64px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:10;background:#fff;color:var(--ink);padding:6px 10px;border:1px solid var(--ink)}
small{font-size:.8em;color:var(--sub)}

.notice{margin:0;padding:8px 20px;background:#fff8e1;border-bottom:1px solid #f0e2b0;color:#5b4a12;font-size:13px;line-height:1.6;text-align:center}
.notice--draft{background:#fdecec;border-color:#f3c9c9;color:#7a1f1f}

/* 背景：金色の光の束を1本、螺旋状にねじって流す（SVG1枚・JavaScriptなし） */
.bgwave{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;
  /* 本文の列の後ろは薄く、左右の余白ほど濃く見せて、文字の読みやすさを守る */
  -webkit-mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.35) 28%,rgba(0,0,0,.35) 72%,#000 100%);
  mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.35) 28%,rgba(0,0,0,.35) 72%,#000 100%)}
.bgwave i{position:absolute;left:-15%;top:30%;height:340px;width:calc(130% + 1400px);background:url("light-helix.svg") repeat-x;
  rotate:-7deg;will-change:transform;opacity:.85;
  animation:flow 90s linear infinite,sway 14s ease-in-out infinite alternate,glow 10s ease-in-out infinite alternate}
@keyframes flow{from{transform:translateX(0)}to{transform:translateX(-1400px)}}
@keyframes sway{from{translate:0 -16px}to{translate:0 16px}}
@keyframes glow{from{opacity:.7}to{opacity:.95}}

/* header */
.hd{border-bottom:1px solid var(--line)}
.hd__in{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 28px;padding-top:14px;padding-bottom:12px}
.logo{display:flex;align-items:baseline;gap:10px;color:var(--ink);text-decoration:none}
.logo:visited{color:var(--ink)}
.logo__name{font-size:22px;font-weight:700;letter-spacing:.08em;font-family:"Helvetica Neue",Arial,var(--font)}
.logo__amp{color:#a07c22;margin:0 .04em}
.logo__sub{font-size:12px;color:var(--sub)}
.gnav{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:14px}
.gnav a{color:var(--ink);text-decoration:none;padding:2px 0;border-bottom:2px solid transparent}
.gnav a:visited{color:var(--ink)}
.gnav a:hover,.gnav a[aria-current]{border-bottom-color:var(--ink)}

/* breadcrumb */
.bc{font-size:12.5px;color:var(--sub);padding:14px 0 0}
.bc a{color:var(--sub)}

/* lead (今朝の号) */
.lead{padding:28px 0 8px}
.lead__date{margin:0 0 6px;font-size:14px;color:var(--sub);font-weight:400}
.lead__date--h{font-size:15px;color:var(--ink);font-weight:700}
.lead__date--h small{font-weight:400}
.lead__h{margin:0 0 20px;font-size:24px;line-height:1.6;font-weight:700}
.lead__h a{color:var(--ink);text-decoration:none}
.lead__h a:hover{text-decoration:underline}

.nl{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.nl li{border-bottom:1px solid var(--line)}
.nl a{display:grid;grid-template-columns:2.4em 1fr;gap:10px;padding:12px 2px;color:var(--ink);text-decoration:none}
.nl a:hover .nl__t{text-decoration:underline}
.nl__no{font-family:var(--mono);font-size:14px;color:var(--sub);padding-top:3px}
.nl__t{display:block;font-weight:700;font-size:16.5px;line-height:1.6}
.nl__meta{display:block;font-size:12.5px;color:var(--sub);margin-top:2px}
.sumline{margin:10px 0 0;font-size:12.5px;color:var(--sub)}

/* sections */
.sec{padding:40px 0 8px}
.sec__h{margin:0 0 4px;padding-bottom:6px;font-size:18px;border-bottom:1px solid var(--ink)}
.page__h{margin:18px 0 20px;font-size:26px;line-height:1.5}
.page__h small{display:block;font-size:13px;font-weight:400;margin-top:4px}
.more{margin:14px 0 0;font-size:14px}
.empty{color:var(--sub)}

/* entry */
.en{padding:20px 0;border-bottom:1px solid var(--line)}
.en__meta{margin:0 0 4px;font-size:12.5px;color:var(--sub);display:flex;gap:12px;align-items:baseline}
.en__no{font-family:var(--mono)}
.en__t{margin:0 0 6px;font-size:18px;line-height:1.6}
.en__t a{color:var(--ink);text-decoration:none}
.en__t a:hover{text-decoration:underline}
.en__dek{margin:0 0 8px;color:#333}
.en__imp{margin:0 0 8px;padding:8px 12px;background:var(--bg2);font-size:14.5px;line-height:1.8;color:#333}
.en__imp b{display:block;font-size:12.5px;color:var(--sub)}
.en__ft{margin:0;font-size:12.5px;color:var(--sub);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.en__ft a{font-size:14px}
.cat{font-size:12.5px;font-weight:700;color:var(--sub);border:1px solid var(--line);padding:0 8px;border-radius:2px;text-decoration:none;line-height:1.7;letter-spacing:.04em}
a.cat:hover{text-decoration:underline}
.dot{font-weight:700}
.dot::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px;background:currentColor}
.cats__i{border-left:3px solid var(--line);padding-left:12px!important}
.page__h--cat{border-left:5px solid var(--line);padding-left:14px}

/* issue rows */
.irs{list-style:none;margin:0;padding:0}
.ir{border-bottom:1px solid var(--line)}
.ir a{display:grid;grid-template-columns:9.5em 1fr auto;gap:12px;padding:12px 2px;color:var(--ink);text-decoration:none;align-items:baseline}
.ir a:hover .ir__t{text-decoration:underline}
.ir__d{font-size:14px;color:var(--sub);font-family:var(--mono)}
.ir__n{font-size:12.5px;color:var(--sub)}

/* categories */
.cats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:32px}
.cats li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:baseline}
.cats a{font-weight:700;min-width:6.5em}
.cats span{font-size:13px;color:var(--sub)}
.tabs{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;margin:0 0 8px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.tabs a[aria-current]{color:var(--ink);font-weight:700;text-decoration:none}

/* article */
.ar{padding-bottom:24px}
.ar__hd{padding:18px 0 8px}
.ar__meta{margin:0 0 8px;font-size:13px;color:var(--sub);display:flex;gap:12px;align-items:baseline}
.ar__h{margin:0 0 14px;font-size:28px;line-height:1.5}
.ar__dek{margin:0 0 16px;font-size:17px;color:#333}
.facts{margin:0;font-size:13.5px;color:var(--sub);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}
.facts div{display:flex;gap:14px}
.facts dt{min-width:4.5em}
.facts dd{margin:0;color:var(--ink)}
.box{margin:24px 0;padding:14px 18px 6px;background:var(--bg2);border-left:3px solid var(--ink)}
.box__h{margin:0 0 4px;font-size:15px}
.box ol{margin:0 0 8px;padding-left:1.4em}
.box li{margin-bottom:4px;font-weight:700;line-height:1.75}
.toc{margin:0 0 8px;font-size:14px;border:1px solid var(--line);padding:8px 14px}
.toc summary{cursor:pointer;color:var(--sub)}
.toc ol{margin:8px 0 4px;padding-left:1.4em}

.prose{font-size:17px;line-height:1.95}
.prose h2{margin:40px 0 12px;font-size:20px;line-height:1.5;padding-bottom:6px;border-bottom:1px solid var(--line)}
.prose h3{margin:22px 0 6px;font-size:15px;color:var(--sub)}
.prose p{margin:0 0 1.1em}
.prose ul,.prose ol{margin:0 0 1.1em;padding-left:1.5em}
.prose li{margin-bottom:.45em}
.prose section{scroll-margin-top:12px}
.tbl{overflow-x:auto;margin:0 0 1em}
.tbl table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.7}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:9px 12px;border-bottom:1px solid var(--line)}
.tbl tr:first-child th,.tbl tr:first-child td{border-top:1px solid var(--ink)}
.tbl th{width:32%;font-weight:700;color:#333;background:var(--bg2)}
.gl{margin:0}
.gl dt{font-weight:700;margin-top:10px}
.gl dd{margin:0 0 0;color:#333;font-size:15.5px}
.src{list-style:none;padding:0!important}
.src li{padding:8px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.7}
.src li span{display:block;font-size:12.5px;color:var(--sub)}
.note{font-size:13.5px!important;color:var(--sub);line-height:1.8;margin-top:18px!important}
.rel{font-size:14.5px;border-top:1px solid var(--line);padding-top:12px}
.links{list-style:none;margin:0 0 28px;padding:0}
.links li{border-bottom:1px solid var(--line)}
.links a{display:grid;grid-template-columns:3.4em 1fr;gap:8px;padding:10px 2px;color:var(--ink);text-decoration:none;font-size:15px;line-height:1.65}
.links a:hover{text-decoration:underline}
.links span{font-family:var(--mono);color:var(--sub);font-size:13px;padding-top:2px}
.pager{display:flex;justify-content:space-between;gap:12px;margin:24px 0 8px;font-size:14px}

/* subscribe */
.sub{margin-top:40px;padding:32px 0 40px;background:var(--bg2);border-top:1px solid var(--line)}
.sub p{margin:8px 0}
.sub__form label{display:block;font-size:14px;font-weight:700;margin-top:12px}
.sub__row{display:flex;gap:8px;margin-top:6px;max-width:520px}
.sub__row input{flex:1;min-width:0;font:inherit;font-size:16px;padding:9px 12px;border:1px solid #9a9a9a;border-radius:3px;background:#fff;color:var(--ink)}
.sub__row button{font:inherit;font-size:15px;font-weight:700;padding:0 18px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:#fff;cursor:pointer}
.sub__row button:hover{background:#333}
.sub__note{font-size:13px;color:var(--sub)}

/* footer */
.ft{border-top:1px solid var(--line);padding:28px 0 20px;font-size:13.5px;color:var(--sub)}
.ft__cols{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}
.ft__name{margin:0;font-weight:700;color:var(--ink)}
.ft__desc{margin:4px 0 0;max-width:22em}
.ft nav{display:flex;gap:40px}
.ft__links{list-style:none;margin:0;padding:0}
.ft__links a{color:var(--sub);line-height:2}
.ft__copy{margin:20px 0 0;font-size:12px}

@media (max-width:640px){
  body{font-size:15.5px}
  .lead__h{font-size:20px}
  .ar__h{font-size:23px}
  .prose{font-size:16.5px}
  .cats{grid-template-columns:1fr}
  .ir a{grid-template-columns:1fr auto}
  .ir__d{grid-column:1/-1}
  .tbl th{width:38%}
  .ft nav{gap:28px}
}
@media print{
  .hd .gnav,.sub,.ft nav,.toc,.notice,.bgwave{display:none}
  a{color:var(--ink)}
}

@media (prefers-reduced-motion:reduce){
  .bgwave i{animation:none}
}

/* ============================================================
   読みやすさ優先の調整
   - 本文の下には光を一切通さない（白い紙面の上に文字を置く）
   - 1行の長さを短く（一覧 約40字・本文 約38字）、行間と字間を広めに
   - 見出しは文節で折り返し、1文字だけ次の行に落ちるのを防ぐ
   ============================================================ */
body{color:#222;line-height:1.95;letter-spacing:.03em;line-break:strict;hanging-punctuation:allow-end}
.w{max-width:780px;padding:0 24px}
.w--text{max-width:700px}

/* 紙面：本文の領域は白で覆い、光の束は左右の余白だけに見せる（端はなじませる） */
main{position:relative;max-width:900px;margin:0 auto;background:linear-gradient(90deg,rgba(255,255,255,0) 0,#fff 60px,#fff calc(100% - 60px),rgba(255,255,255,0) 100%)}
.hd,.ft{background:#fff}
.bgwave{-webkit-mask-image:none;mask-image:none}

/* 見出し：文節で折り返し、行の長さをそろえる */
.lead__h,.ar__h,.en__t,.nl__t,.page__h,.prose h2,.links a,.ir__t{word-break:auto-phrase;text-wrap:balance;font-feature-settings:"palt" 1;letter-spacing:.02em}
.prose p,.prose li,.en__dek,.ar__dek,.en__imp{text-wrap:pretty}

/* 文字の太さ・大きさ・色の整理（太字を減らし、本文を濃く） */
.lead__h{font-size:25px;line-height:1.65;margin-bottom:24px}
.nl a{padding:14px 2px}
.nl__t{font-weight:600;font-size:17px;line-height:1.7}
.nl__meta{margin-top:4px}
.en{padding:26px 0}
.en__t{font-size:19px;line-height:1.65;font-weight:600;margin-bottom:8px}
.en__dek{color:#2b2b2b;margin-bottom:12px;line-height:1.95}
.en__imp{font-size:15px;line-height:1.9;color:#2b2b2b;padding:12px 16px;margin-bottom:12px}
.en__imp b{margin-bottom:2px}
.ar__h{font-size:29px;line-height:1.55;font-weight:700}
.ar__dek{font-size:17.5px;line-height:1.95;color:#2b2b2b;margin-bottom:22px}
.prose{font-size:17.5px;line-height:2.05;letter-spacing:.04em}
.prose p{margin:0 0 1.4em;color:#222}
.prose li{margin-bottom:.7em}
.prose h2{margin:56px 0 16px;font-size:21px}
.box li{font-weight:600;line-height:1.85;margin-bottom:6px}
.tbl table{font-size:15.5px;line-height:1.85}
.tbl th{font-weight:600}
.gl dd{font-size:16px;line-height:1.9}
.src li{line-height:1.8}

@media (max-width:640px){
  .w{padding:0 18px}
  main{background:#fff}
  body{line-height:1.9}
  .lead__h{font-size:21px}
  .nl__t{font-size:16px}
  .en__t{font-size:17.5px}
  .ar__h{font-size:23.5px}
  .prose{font-size:17px;line-height:2}
}
.hd__in{padding-top:16px;padding-bottom:14px}
.notice{max-width:780px;margin:14px auto 0;border:1px solid #f0e2b0;border-radius:4px}
.ar__h,.lead__h{text-wrap:pretty}

/* ============================================================
   FV（最初の画面）：毎朝メールで世界の3D・4Dニュースが届くことを伝える
   ============================================================ */
.fv{padding:44px 0 40px;border-bottom:1px solid var(--line)}
.fv__in{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;max-width:980px}
.fv__badge{display:inline-block;margin:0 0 14px;padding:2px 12px;border:1px solid #d9c27f;border-radius:999px;background:#fffaf0;color:#7a5a12;font-size:13px;font-weight:700;letter-spacing:.06em}
.fv__h{margin:0 0 16px;font-size:36px;line-height:1.45;font-weight:700;letter-spacing:.02em;font-feature-settings:"palt" 1}
.fv__lead{margin:0 0 16px;font-size:16.5px;line-height:1.95;color:#2b2b2b}
.fv__points{list-style:none;margin:0 0 22px;padding:0}
.fv__points li{position:relative;padding-left:22px;margin-bottom:4px;font-size:15.5px}
.fv__points li::before{content:"";position:absolute;left:2px;top:.62em;width:10px;height:6px;border-left:2px solid #a07c22;border-bottom:2px solid #a07c22;transform:rotate(-45deg)}
.fv__points b{font-weight:700}

.sf__label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.sf__row{display:flex;gap:8px;max-width:520px}
.sf__row input{flex:1;min-width:0;font:inherit;font-size:16px;padding:11px 14px;border:1px solid #9a9a9a;border-radius:4px;background:#fff;color:var(--ink)}
.sf__row input:focus{border-color:#222}
.sf__row button{font:inherit;font-size:15px;font-weight:700;padding:0 20px;border:1px solid #222;border-radius:4px;background:#222;color:#fff;cursor:pointer;white-space:nowrap}
.sf__row button:hover{background:#3a3a3a}
.sf__row :disabled{cursor:not-allowed;opacity:.7}
.sf__note{margin:8px 0 0;font-size:13px;color:var(--sub);line-height:1.7}

.fv__mail{margin:0}
.fv__cap{font-size:12.5px;color:var(--sub);margin-bottom:8px}
.mail{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 12px 32px -18px rgba(90,70,20,.35);padding:16px 18px}
.mail__from{display:flex;justify-content:space-between;margin:0 0 2px;font-size:13px;color:var(--sub)}
.mail__from b{color:#222}
.mail__subj{margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--line);font-weight:700;font-size:15px}
.mail__list{list-style:none;margin:0;padding:0}
.mail__list li{padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px;line-height:1.6}
.mail__list li:last-child{border-bottom:0}
.mail__list .dot{display:block;font-size:11.5px;margin-bottom:1px}
.mail__list a{color:#222;text-decoration:none}
.mail__list a:hover{text-decoration:underline}
.mail__more{margin:10px 0 0;font-size:13.5px}

.sub .sf{margin-top:12px}
.lead{padding-top:36px}
.lead__h a{color:inherit}

@media (max-width:820px){
  .fv{padding:28px 0 32px}
  .fv__in{grid-template-columns:1fr;gap:28px}
  .fv__h{font-size:27px}
  .fv__lead{font-size:16px}
}
@media (max-width:420px){
  .sf__row{flex-direction:column}
  .sf__row button{padding:12px}
}
main{max-width:1080px}

/* 規約・開示 */
.sf__agree{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:13.5px;line-height:1.7;color:#333;max-width:520px}
.sf__agree input{margin-top:5px;flex-shrink:0;width:16px;height:16px}
.disc{margin:28px 0 0;padding:12px 16px;border:1px solid #e3d7b0;background:#fffcf3;border-radius:4px;font-size:14.5px}
.disc__h{margin:0 0 4px!important;font-weight:700;font-size:13.5px;color:#6b5414}
.disc ul{margin:0!important}
.rel__tag{display:inline-block;margin-right:10px;padding:0 8px;border:1px solid var(--line);border-radius:2px;font-size:12px;color:var(--sub)}
.legal h2{font-size:18px;margin-top:40px}
.legal .gl dt{margin-top:12px}
.ft__links + .ft__links{margin-left:0}

/* ============================================================
   PC（幅1024px以上）のレイアウト：横幅を1つにそろえる
   - ヘッダー・FV・本文・フッターの左右の端を、すべて同じ線（内容幅1120px）にそろえる
   - 読む文字の列は約40字（一覧・本文とも）に保ち、余った幅は2列・サイドバーに使う
   - スマホ・タブレット（1023px以下）の見た目は変えない
   ============================================================ */
.ar__side{display:none}
@media (min-width:1024px){
  :root{--wrap:1120px;--gut:32px}
  .w,.w--text{max-width:calc(var(--wrap) + var(--gut)*2);padding:0 var(--gut)}
  main{max-width:calc(var(--wrap) + 160px);background:linear-gradient(90deg,rgba(255,255,255,0) 0,#fff 48px,#fff calc(100% - 48px),rgba(255,255,255,0) 100%)}
  .notice{max-width:var(--wrap)}

  /* ヘッダー：ロゴは左端、メニューは右端 */
  .hd__in{justify-content:space-between}

  /* FV：コピーとメール例を左右に */
  .fv{padding:64px 0 60px}
  .fv__in{max-width:calc(var(--wrap) + var(--gut)*2);grid-template-columns:minmax(0,1fr) 460px;gap:80px}
  .fv__h{font-size:40px}
  .fv__lead{max-width:34em}

  /* 最新号：左に日付と見出し、右に記事の一覧 */
  .lead{padding:56px 0 16px}
  .lead .w{display:grid;grid-template-columns:400px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:64px}
  .lead__date,.lead__h{grid-column:1}
  .lead__h{font-size:27px;margin-bottom:0}
  .lead .nl{grid-column:2;grid-row:1/4}
  .lead .sumline{grid-column:2;grid-row:4}

  /* セクション */
  .sec{padding:64px 0 8px}
  .sec__h{font-size:19px;padding-bottom:10px;margin-bottom:8px}

  /* 記事の要約は2列（1列あたり約30字） */
  .ens{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}
  .en{display:flex;flex-direction:column}
  .en__ft{margin-top:auto}

  .cats{grid-template-columns:repeat(3,1fr);column-gap:40px}
  .ir a{grid-template-columns:11em minmax(0,1fr) auto;gap:24px}
  #about p{max-width:760px}

  /* メール登録：左に説明、右にフォーム */
  .sub{margin-top:72px;padding:48px 0 56px}
  .sub .w{display:grid;grid-template-columns:minmax(0,1fr) 520px;column-gap:80px;align-items:start}
  .sub .sec__h,.sub .w>p{grid-column:1}
  .sub .sf{grid-column:2;grid-row:1/span 3;margin-top:0}

  /* 記事：本文（約40字）＋右に目次と登録案内（スクロールしても追従） */
  .arw{display:grid;grid-template-columns:minmax(0,740px) 300px;justify-content:space-between;align-items:start}
  .ar{min-width:0}
  .ar .toc{display:none}
  .ar__side{display:block;position:sticky;top:24px;margin-top:64px}
  .stoc{border-top:1px solid #222;padding-top:10px;font-size:14px}
  .stoc__h{margin:0 0 6px;font-weight:700;font-size:13px;color:var(--sub);letter-spacing:.06em}
  .stoc ol{margin:0;padding:0;list-style:none;counter-reset:t}
  .stoc li{counter-increment:t;border-bottom:1px solid var(--line)}
  .stoc a{display:grid;grid-template-columns:2em 1fr;padding:7px 0;color:#222;text-decoration:none;line-height:1.6}
  .stoc a::before{content:counter(t,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--faint);padding-top:2px}
  .stoc a:hover{text-decoration:underline}
  .scta{margin-top:24px;padding:16px 18px;background:var(--bg2);border-radius:4px}
  .scta p{margin:0}
  .scta__h{font-weight:700;font-size:14.5px}
  .scta__t{font-size:13px;color:var(--sub);margin:4px 0 12px!important;line-height:1.7}
  .scta__btn{display:block;text-align:center;padding:9px 0;border-radius:4px;background:#222;color:#fff!important;font-weight:700;font-size:14px;text-decoration:none}
  .scta__btn:hover{background:#3a3a3a}

  /* 記事の下：同じ日・同じテーマを左右に */
  .relg{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}

  /* 文章だけのページ（このメディアについて・規約など）：列は左端にそろえ、幅は約42字 */
  .w--text>*,.w--text.prose>*{max-width:760px}
  .w--text>.bc{max-width:none}
}
@media (min-width:1024px) and (max-width:1180px){
  .fv__in{grid-template-columns:minmax(0,1fr) 400px;gap:48px}
  .lead .w{grid-template-columns:340px minmax(0,1fr);column-gap:48px}
  .arw{grid-template-columns:minmax(0,1fr) 260px;column-gap:48px}
}

/* PCのヘッダー：ロゴとメニューの端を、記事・本文の端（内容幅1120px）にそろえる */
@media (min-width:1024px){
  .hd__in{padding-top:18px;padding-bottom:16px}
  .gnav{gap:4px 28px;font-size:14.5px}
}

/* ============================================================
   多言語：言語メニュー（JavaScriptなしの開閉）・翻訳の注記・各言語のフォント
   ============================================================ */
.hd__r{display:flex;align-items:center;gap:6px 24px;flex-wrap:wrap}
.lsw{position:relative;font-size:14px}
.lsw summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;color:#222;background:#fff;white-space:nowrap}
.lsw summary::-webkit-details-marker{display:none}
.lsw summary::after{content:"";width:6px;height:6px;border-right:1.5px solid #555;border-bottom:1.5px solid #555;transform:rotate(45deg) translateY(-2px);margin-left:2px}
.lsw[open] summary{border-color:#222}
.lsw__ico{display:block;color:#333;flex-shrink:0}
.lsw__list{position:absolute;right:0;top:calc(100% + 6px);z-index:20;list-style:none;margin:0;padding:6px 0;min-width:170px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 10px 28px -12px rgba(0,0,0,.25)}
.lsw__list a{display:block;padding:8px 16px;color:#222;text-decoration:none;font-size:15px;line-height:1.5}
.lsw__list a:hover{background:var(--bg2)}
.lsw__list a[aria-current]{font-weight:700;background:#eee}
.mt{margin:14px 0 0;padding:8px 12px;border-left:3px solid #c9b77a;background:#fffbef;color:#5b4a12;font-size:13px;line-height:1.7}
.lang-zh{--font:"PingFang SC","Hiragino Sans GB","Noto Sans SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif}
.lang-hi{--font:"Noto Sans Devanagari","Kohinoor Devanagari","Nirmala UI","Mangal",sans-serif}
.lang-en,.lang-de,.lang-sv{--font:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"Hiragino Sans","Noto Sans JP",sans-serif}
body.lang-zh,body.lang-hi,body.lang-en,body.lang-de,body.lang-sv{font-family:var(--font)}
.lang-en,.lang-de,.lang-sv,.lang-hi{line-break:auto;letter-spacing:0}
.lang-en .prose,.lang-de .prose,.lang-sv .prose,.lang-hi .prose{letter-spacing:0;line-height:1.8}
.lang-de .ar__h,.lang-de .en__t,.lang-de .lead__h,.lang-sv .ar__h,.lang-sv .en__t{hyphens:auto;overflow-wrap:break-word}
[lang="ja"]{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Noto Sans CJK JP","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif}
@media (max-width:640px){
  .hd__r{width:100%;justify-content:space-between}
  .lsw__list{right:0}
}
.ar__ai{margin:-8px 0 18px;font-size:12.5px;color:var(--sub);line-height:1.7}
.sf__note--ja{font-size:14px;color:#333}
.ed{margin:8px 0 40px;padding:20px 24px;border:1px solid #e3d7b0;border-left:4px solid #a07c22;background:#fffcf3;border-radius:4px}
.ed__h{margin:0 0 8px;font-size:16px}
.ed__body p{margin:0 0 1em;line-height:2}
.ed__note{margin:0;font-size:12.5px;color:var(--sub)}
