/* Visa Lawyers Cafe 記事ページ共通スタイル
   もとは gen_article.py がHTML内に直接書き出していたもの。
   1ファイルに出しておくと、326本ぶんを1回の修正で直せる。 */
*{box-sizing:border-box}
:root{--navy:#0b3d7a;--navy-d:#082c58;--blue:#1565c0;--blue-l:#e8f1fb;--orange:#e8620c;--orange-d:#c74f05;--ink:#1c2b3a;--gray:#5b6b7b;--line:#d8e0e8;--bg:#f4f7fa}
body{margin:0;font-family:"Noto Sans JP",system-ui,sans-serif;color:var(--ink);line-height:1.95;background:#fff;font-size:16px}
a{color:var(--blue)}
img{max-width:100%}
.wrap{max-width:820px;margin:0 auto;padding:0 24px}
body.furigana-off rt{display:none}
ruby{ruby-position:over}
rt{font-size:.5em;font-weight:400;color:#5b6b7b}
.utility{background:var(--navy-d);color:#fff;font-size:.82rem}
.utility .wrap{max-width:1080px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.langs{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.langs a{color:#fff;text-decoration:none;padding:3px 10px;border:1px solid rgba(255,255,255,.35);border-radius:3px}
.langs a.current{background:#fff;color:var(--navy-d);font-weight:700}
.furi-toggle button{font-family:inherit;font-size:.82rem;cursor:pointer;background:var(--orange);color:#fff;border:0;border-radius:3px;padding:5px 14px;font-weight:700}
header{background:#fff;border-bottom:3px solid var(--navy)}
header .wrap{max-width:1080px;display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
header .logo{font-weight:900;color:var(--navy);text-decoration:none;font-size:1.05rem;letter-spacing:.02em}
.crumb{font-size:.8rem;color:var(--gray);padding:14px 0 0}
.crumb a{color:var(--gray)}
h1{font-size:1.75rem;line-height:1.6;font-weight:900;color:var(--navy);margin:10px 0 6px}
.meta{font-size:.8rem;color:var(--gray);border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:26px}
.answer{background:var(--blue-l);border-left:6px solid var(--blue);border-radius:0 6px 6px 0;padding:20px 24px;margin:0 0 30px}
.answer .lbl{display:inline-block;background:var(--blue);color:#fff;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:3px;letter-spacing:.06em;margin-bottom:8px}
.answer p{margin:0}
h2{font-size:1.28rem;color:var(--navy);font-weight:900;margin:38px 0 14px;padding-left:12px;border-left:5px solid var(--orange)}
h3{font-size:1.05rem;color:var(--navy);margin:24px 0 6px}
.case{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:18px 22px}
.case ul{margin:0;padding-left:1.2em}
.case li{margin-bottom:4px;font-size:.94rem}
.reqs{list-style:none;padding:0;margin:0;counter-reset:r}
.reqs li{border:1px solid var(--line);border-radius:6px;padding:16px 20px;margin-bottom:12px}
.reqs li::before{counter-increment:r;content:counter(r);display:inline-block;width:26px;height:26px;line-height:26px;text-align:center;background:var(--navy);color:#fff;border-radius:50%;font-weight:900;font-size:.85rem;margin-right:10px}
.reqs strong{color:var(--navy)}
.docs{padding-left:0;list-style:none}
.docs li{padding:8px 0 8px 28px;border-bottom:1px dashed var(--line);position:relative}
.docs li::before{content:"\2713";position:absolute;left:4px;color:var(--orange);font-weight:900}
.note{font-size:.9rem;color:var(--gray);background:var(--bg);border-radius:6px;padding:14px 18px;margin-top:16px}
.faq details{border:1px solid var(--line);border-radius:6px;margin-bottom:10px;padding:16px 20px}
.faq summary{font-weight:700;color:var(--navy);cursor:pointer}
.faq p{margin:12px 0 0;color:#37424e}
.cta{background:var(--navy);color:#fff;border-radius:8px;padding:30px 28px;text-align:center;margin:44px 0 24px}
.cta h2{color:#fff;border:0;padding:0;margin:0 0 10px;font-size:1.3rem}
.cta p{margin:0 0 20px;font-size:.95rem;opacity:.95}
.cta a{background:var(--orange);color:#fff;text-decoration:none;font-weight:700;padding:14px 32px;border-radius:4px;display:inline-block;box-shadow:0 3px 0 var(--orange-d)}
.author{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:16px 20px;margin-top:28px}
.author img{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--blue-l)}
.author .n{font-weight:700;color:var(--navy)}
.author .q{font-size:.82rem;color:var(--gray)}
.disc{font-size:.78rem;color:var(--gray);border-left:3px solid var(--line);padding-left:14px;margin:24px 0 40px;line-height:1.8}
footer{background:var(--navy-d);color:rgba(255,255,255,.85);font-size:.85rem;padding:28px 0;margin-top:20px}

/* --- 追加分（2026-08-21） --- */
/* ルビが長い語で字間が開くのを抑える */
ruby { ruby-align: center; }
rt { letter-spacing: -.02em; white-space: nowrap; }
h1 ruby rt { font-size: .42em; }

/* 各セクション冒頭の結論（施策R5） */
.sec-lead { font-weight: 700; color: var(--navy); margin: 0 0 10px; }

/* 翻訳がまだ無い言語は、リンクにしない（リンク切れを作らないため） */
.langs .soon { color: rgba(255,255,255,.45); padding: 3px 10px;
  border: 1px dashed rgba(255,255,255,.25); border-radius: 3px; cursor: not-allowed; }

/* 運営団体ロゴ（横組み） */
footer .feso-yoko{background:#fff;padding:9px 16px;border-radius:6px;max-width:300px;width:100%;height:auto;display:block;margin:0 auto 10px}
footer .wrap{text-align:center}
