
/* =========================================================
 Modern UI refresh: typography, icons, buttons, cards, data visuals
 ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{
 --navy:#132f4c;
 --navy-deep:#071827;
 --navy-mid:#1d4f7a;
 --blue:#2563eb;
 --blue-lt:#eef5ff;
 --teal:#0f766e;
 --teal-lt:#ecfeff;
 --red:#dc2626;
 --red-lt:#fff1f2;
 --amber:#d97706;
 --amber-lt:#fffbeb;
 --green:#16a34a;
 --green-lt:#f0fdf4;
 --purple:#7c3aed;
 --purple-lt:#f5f3ff;
 --bg:#f5f7fb;
 --bg-white:#ffffff;
 --border:#dbe4f0;
 --border-lt:#eef2f7;
 --text:#172033;
 --text-mid:#475569;
 --text-dim:#94a3b8;
 --accent:#dc2626;
 --shadow-sm:0 4px 14px rgba(15,23,42,.06);
 --shadow-md:0 14px 32px rgba(15,23,42,.12);
 --shadow-lg:0 22px 54px rgba(15,23,42,.18);
 --radius-sm:10px;
 --radius-md:16px;
 --radius-lg:24px;
}
*{box-sizing:border-box}
html{font-family:'Noto Sans JP',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-text-size-adjust:100%}
body{
 background:radial-gradient(circle at top left,rgba(37,99,235,.07),transparent 28rem),linear-gradient(180deg,#f7f9fc 0%,#eef3f9 100%) !important;
 color:var(--text) !important;
 font-family:'Noto Sans JP',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
 font-feature-settings:'palt' 1;
 letter-spacing:.01em;
}
h1,h2,h3,h4,.site-name-ja,.hero-title,.section-title,.article-title,.sh-title,.page-title,.main-title{
 font-family:'Plus Jakarta Sans','Noto Sans JP',system-ui,sans-serif !important;
 letter-spacing:-.035em;
 font-weight:800 !important;
}
p,li,td,th,a,button,input,textarea{font-family:'Noto Sans JP',system-ui,sans-serif !important}
/* Header / navigation */
.utility-bar{background:linear-gradient(90deg,#061423,#0d253c) !important}
header{background:linear-gradient(135deg,#14395d 0%,#0b2138 100%) !important;border-bottom:1px solid rgba(255,255,255,.08) !important;box-shadow:0 14px 30px rgba(2,8,23,.22)}
.header-inner{gap:1rem}
.site-emblem{border-radius:18px !important;box-shadow:0 12px 30px rgba(2,8,23,.22);overflow:hidden;border:1px solid rgba(255,255,255,.35)}
.site-emblem img,.site-emblem svg{border-radius:14px}
.site-name-ja{font-size:clamp(1.25rem,2.5vw,2.1rem)!important;line-height:1.1!important}
.site-tagline{font-weight:500;color:rgba(255,255,255,.72)!important}
.header-right .h-link,.h-link,.h-btn,.h-btn-accent,.mcta-btn,.btn,.cta-btn,.support-card a,.article-cta a{
 border-radius:14px!important;
 min-height:44px;
 display:inline-flex;align-items:center;justify-content:center;gap:.55em;
 font-weight:800!important;
 text-decoration:none!important;
 transform:translateY(0);
 transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease!important;
}
.h-link-red,.h-btn-accent,.mcta-exit,.cta-danger,.btn-danger{
 background:linear-gradient(135deg,#ef4444 0%,#b91c1c 100%)!important;
 color:#fff!important;
 box-shadow:0 16px 30px rgba(220,38,38,.28)!important;
 border:1px solid rgba(255,255,255,.18)!important;
}
.h-link:not(.h-link-red),.h-btn-outline,.mcta-consult,.cta-primary,.btn-primary{
 background:linear-gradient(135deg,#2563eb 0%,#0f766e 100%)!important;
 color:#fff!important;
 box-shadow:0 16px 30px rgba(37,99,235,.22)!important;
 border:1px solid rgba(255,255,255,.16)!important;
}
.h-link:hover,.h-btn:hover,.mcta-btn:hover,.btn:hover,.cta-btn:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:var(--shadow-lg)!important}
.mega-nav,.main-nav,nav{background:rgba(8,24,40,.88)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)!important}
.mega-btn,.nav-item>a,.nav-link{
 border-radius:14px!important;
 font-weight:800!important;
 letter-spacing:-.02em;
 transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.mega-btn:hover,.nav-link:hover{background:rgba(255,255,255,.08)!important;transform:translateY(-1px)}
.mega-btn::after{opacity:.75}
.mega-dd,.submenu,.dropdown-menu,.ios-menu-panel{
 border-radius:20px!important;
 border:1px solid rgba(219,228,240,.92)!important;
 box-shadow:0 28px 70px rgba(2,8,23,.24)!important;
 overflow:hidden!important;
}
.mega-dd-item,.submenu a,.dropdown-menu a{
 gap:.72rem!important;
 min-height:46px;
 font-weight:700!important;
 transition:background .15s ease, transform .15s ease!important;
}
.mega-dd-item:hover,.submenu a:hover,.dropdown-menu a:hover{background:#f1f7ff!important;transform:translateX(3px)}
/* Search */
.search-wrap,.search-box,.search-panel,.global-search,.search-section{border-radius:20px!important;box-shadow:var(--shadow-sm);border-color:var(--border)!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(10px)}
input[type="search"],input[type="text"],.search-input{
 border-radius:16px!important;
 border:1px solid var(--border)!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
 background:#fff!important;
 font-weight:600!important;
}
.keyword-chip,.chip,.tag,.quick-tag{border-radius:999px!important;background:linear-gradient(180deg,#fff,#edf6ff)!important;border:1px solid #cde0f7!important;box-shadow:0 8px 18px rgba(37,99,235,.08);font-weight:800!important}
/* Cards / panels */
.card,.content-card,.info-card,.sh-card,.rel-item,.support-card,.article-card,.section-card,.stat-card,.nav-card,.guide-card,.check-card,.feature-card,.urgent-card,.hero-card,.toc-card,.sb-toc,.panel,.box,.article-body section{
 border-radius:var(--radius-lg)!important;
 border:1px solid rgba(219,228,240,.88)!important;
 box-shadow:var(--shadow-sm)!important;
 background:rgba(255,255,255,.92)!important;
}
.content-card:hover,.info-card:hover,.rel-item:hover,.support-card:hover,.article-card:hover,.nav-card:hover,.guide-card:hover{
 transform:translateY(-3px);
 box-shadow:var(--shadow-md)!important;
}
.card,.content-card,.info-card,.rel-item,.support-card,.article-card,.nav-card,.guide-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
.hero,.page-hero,.article-hero,.sh-hero{
 background:linear-gradient(135deg,#0b2138 0%,#14395d 56%,#1d4f7a 100%)!important;
 border-radius:0 0 28px 28px;
 box-shadow:0 24px 54px rgba(15,23,42,.22);
}
.section-kicker,.eyebrow,.hero-kicker,.site-name-en{
 font-family:'Plus Jakarta Sans',sans-serif!important;
 letter-spacing:.16em!important;
 font-weight:800!important;
 text-transform:uppercase;
}
.section-head,.sh-head{align-items:end}
.section-title,.sh-title{font-size:clamp(1.55rem,3.3vw,2.55rem)!important;line-height:1.2!important}
/* CSS arrows instead of hard-coded arrows */
a.sh-more,a.section-link,a.more-link,a.card-link,a[href].modern-arrow{display:inline-flex!important;align-items:center;gap:.35em;text-decoration:none!important;font-weight:800!important}
a.sh-more::after,a.section-link::after,a.more-link::after,a.card-link::after,a[href].modern-arrow::after{content:"";width:.52em;height:.52em;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease;margin-left:.1em}
a.sh-more:hover::after,a.section-link:hover::after,a.more-link:hover::after,a.card-link:hover::after,a[href].modern-arrow:hover::after{transform:translateX(4px) rotate(45deg)}
.rel-arrow,.bc-sep{opacity:.55}.rel-arrow{display:none!important}
/* SVG icon system */
.ui-svg{width:1.18em;height:1.18em;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:.45em;background:currentColor;vertical-align:-.18em;mask:var(--icon-mask) center/contain no-repeat;-webkit-mask:var(--icon-mask) center/contain no-repeat;margin-right:.42em}
.ui-icon-warn{color:#dc2626;--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 1 21h22L12 2Zm1 16h-2v-2h2v2Zm0-4h-2V9h2v5Z'/%3E%3C/svg%3E")}
.ui-icon-exit{color:#b45309;--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h9v2H7v14h7v2H5V3Zm11.6 4.4L22.2 13l-5.6 5.6-1.4-1.4 3.2-3.2H11v-2h7.4l-3.2-3.2 1.4-1.4Z'/%3E%3C/svg%3E")}
.ui-icon-phone{color:#2563eb;--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.7 5.1 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.2 1.3.4 2.6.6 4 .6.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2C10.7 21.5 2.5 13.3 2.5 3.4c0-.7.5-1.2 1.2-1.2h3.5c.7 0 1.2.5 1.2 1.2 0 1.4.2 2.8.6 4 .1.4 0 .9-.3 1.2l-2.1 2.2Z'/%3E%3C/svg%3E")}
.ui-icon-money{color:#16a34a;--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h18v12H3V6Zm2 2v8h14V8H5Zm7 7a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z'/%3E%3C/svg%3E")}
.ui-icon-shield{color:#0f766e;--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Z'/%3E%3C/svg%3E")}
.ui-icon-book{color:#7c3aed;--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h12a3 3 0 0 1 3 3v15H7a3 3 0 0 1-3-3V3Zm3 14h10V6a1 1 0 0 0-1-1H6v12.2c.3-.1.6-.2 1-.2Z'/%3E%3C/svg%3E")}
.ui-icon-search{color:#2563eb;--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2a8 8 0 0 1 6.3 12.9l5.4 5.4-1.4 1.4-5.4-5.4A8 8 0 1 1 10 2Zm0 2a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'/%3E%3C/svg%3E")}
.ui-icon-brain{color:#7c3aed;--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4a4 4 0 0 0-4 4c0 .7.2 1.4.5 2A4.5 4.5 0 0 0 8 18h1V4H8Zm8 0h-1v14h1a4.5 4.5 0 0 0 3.5-8c.3-.6.5-1.3.5-2a4 4 0 0 0-4-4Z'/%3E%3C/svg%3E")}
.ui-icon-chart{color:#0f766e;--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 19h16v2H2V3h2v16Zm3-2V9h3v8H7Zm5 0V5h3v12h-3Zm5 0v-6h3v6h-3Z'/%3E%3C/svg%3E")}
.ui-icon-doc{color:#475569;--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h9l5 5v15H6V2Zm8 1.5V8h4.5L14 3.5ZM8 12h8v2H8v-2Zm0 4h8v2H8v-2Z'/%3E%3C/svg%3E")}
/* Hide original emoji spans created by JS replacement */
.emoji-replaced{font-size:0!important;line-height:0!important}
/* Tables and risk visuals */
table{border-collapse:separate!important;border-spacing:0!important;border-radius:18px!important;overflow:hidden!important;box-shadow:var(--shadow-sm)!important;background:#fff!important}
th{background:linear-gradient(180deg,#f8fafc,#eef3f8)!important;font-weight:800!important;color:#253247!important}
td,th{border-color:#e6edf5!important}
.risk-badge{display:inline-flex;align-items:center;justify-content:center;padding:.28em .7em;border-radius:999px;font-size:.82em;font-weight:900;line-height:1.25;border:1px solid transparent;white-space:nowrap}
.risk-badge.extreme{background:#fee2e2;color:#991b1b;border-color:#fecaca}.risk-badge.high{background:#ffedd5;color:#9a3412;border-color:#fed7aa}.risk-badge.medium{background:#fef9c3;color:#854d0e;border-color:#fde68a}.risk-badge.low{background:#dcfce7;color:#166534;border-color:#bbf7d0}.risk-badge.mixed{background:#e0f2fe;color:#075985;border-color:#bae6fd}
.risk-meter{display:flex;align-items:center;gap:.65rem;min-width:120px}.risk-meter-num{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:800;min-width:2.4em}.risk-meter-track{height:9px;flex:1;background:#e5edf6;border-radius:999px;overflow:hidden}.risk-meter-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#f59e0b,#ef4444);width:var(--risk)}
.stat-number,.metric-number,.num,.big-num{font-family:'Plus Jakarta Sans',sans-serif!important;font-size:clamp(2rem,4vw,3.4rem)!important;font-weight:800!important;letter-spacing:-.06em;line-height:.95}.stat-number small,.metric-number small,.num small{font-size:.42em!important;letter-spacing:-.02em;margin-left:.05em;color:var(--text-mid)}
/* Lists as modern checklist cards */
ul.checklist,ol.checklist,.check-list{display:grid;gap:.75rem;list-style:none!important;padding-left:0!important}
ul.checklist li,ol.checklist li,.check-list li{background:#fff;border:1px solid var(--border-lt);border-radius:16px;padding:.85rem 1rem;box-shadow:0 6px 16px rgba(15,23,42,.05)}
.article-body ul:not(.plain-list) li::marker{color:var(--blue)}
.article-body li{margin:.25rem 0}
/* Mobile fit */
@media (max-width: 760px){
 body{overflow-x:hidden!important}.header-inner{padding:.9rem 1rem!important}.site-identity{gap:.8rem!important}.site-emblem{width:52px!important;height:52px!important}.header-right{gap:.5rem!important}.h-link,.h-btn{padding:.62rem .8rem!important;font-size:.88rem!important}.mega-nav-inner,.nav-inner{padding:.6rem 1rem!important;gap:.45rem!important}.mega-btn{padding:.72rem .85rem!important;font-size:.9rem!important}.search-wrap,.search-box,.global-search{margin-inline:1rem!important;width:auto!important}.content-card,.info-card,.sh-card,.card,.section-card{border-radius:20px!important}.section-title,.sh-title{font-size:1.55rem!important}table{font-size:.88rem!important}.risk-meter{min-width:96px}.ui-svg{margin-right:.32em}
}


/* =========================================================
   全サイト共通フォント統一パッチ
   - 旧ページの BIZ UDPGothic / Noto Serif JP 指定を最終上書き
   - 日本語・英数字・フォーム・ボタン・ナビ・見出しを同一トーンへ統一
   ========================================================= */
:root{--site-font:'Noto Sans JP',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
html,body,body *,button,input,select,textarea,table,th,td,a,p,li,dt,dd,span,div,
h1,h2,h3,h4,h5,h6,.site-name-ja,.site-name-en,.site-tagline,.logo-text,.footer-logo,.ft-logo,
.hero-title,.page-title,.article-title,.ah-title,.section-title,.sh-title,.cc-title,.card-title,
.mega-btn,.mega-dd-item,.nav-item,.nav-link,.h-link,.h-btn,.btn,.cta-btn{
  font-family:var(--site-font) !important;
}
body{font-weight:400;line-height:1.78;letter-spacing:.01em;}
h1,h2,h3,h4,h5,h6,.site-name-ja,.hero-title,.page-title,.article-title,.ah-title,.section-title,.sh-title,.cc-title{
  font-weight:800 !important;letter-spacing:-.02em;
}
.site-name-ja{letter-spacing:-.035em !important;}
.site-name-en,.section-kicker,.eyebrow,.hero-kicker{letter-spacing:.14em !important;}
