:root{--fram-ink:#132033;--fram-muted:#5e6978;--fram-blue:#1769e8;--fram-blue-dark:#0c49a8;--fram-pale:#eef6ff;--fram-line:#dce3ea;--fram-soft:#f6f8fa;--fram-green:#00c766;--fram-white:#fff;--fram-max:1180px;--fram-reading:780px;--fram-shadow:0 18px 48px rgba(28,43,65,.08)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.fram-page{margin:0;background:#fff;color:var(--fram-ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic Medium",YuGothic,"Noto Sans JP",Meiryo,sans-serif;line-height:1.9;letter-spacing:.015em;-webkit-font-smoothing:antialiased}
.fram-page img{display:block;max-width:100%;height:auto}
.fram-page a{color:inherit;text-decoration:none}
.fram-page button,.fram-page input{font:inherit}
.fram-skip-link{position:fixed;left:16px;top:-80px;z-index:1000;padding:10px 16px;background:#fff;color:#132033!important;border:2px solid #1769e8;border-radius:4px;font-size:13px;font-weight:700;transition:top .15s}.fram-skip-link:focus{top:16px}
.fram-shell{width:min(calc(100% - 48px),var(--fram-max));margin-inline:auto}
.fram-site-header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(19,32,51,.09);backdrop-filter:blur(16px);transition:box-shadow .2s ease}
.fram-site-header.is-scrolled{box-shadow:0 8px 28px rgba(23,40,68,.08)}
.fram-site-header__inner{width:min(calc(100% - 48px),var(--fram-max));height:82px;margin:auto;display:flex;align-items:center;gap:38px}
.fram-brand{display:inline-flex;align-items:center;gap:12px;min-width:210px}
.fram-brand__mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--fram-blue);box-shadow:0 10px 24px rgba(23,105,232,.2)}
.fram-brand__mark svg{width:27px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fram-brand strong{display:block;font-size:20px;letter-spacing:.16em;line-height:1.1}
.fram-brand small{display:block;margin-top:4px;color:#7a8491;font-size:9px;font-weight:700;letter-spacing:.27em;line-height:1}
.fram-site-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:14px;font-weight:700}
.fram-site-nav a{transition:color .2s ease}.fram-site-nav a:hover{color:var(--fram-blue)}
.fram-header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:7px;background:var(--fram-blue);color:#fff!important;font-size:14px;font-weight:700;box-shadow:0 9px 24px rgba(23,105,232,.18)}
.fram-main{min-height:70vh;overflow:hidden}
.fram-breadcrumb{display:flex;gap:9px;align-items:center;padding:22px 0;color:#7b8490;font-size:12px;white-space:nowrap;overflow:auto}
.fram-breadcrumb a:hover{color:var(--fram-blue)}
.fram-article-header{width:min(100%,930px);margin:46px auto 40px;text-align:center}
.fram-kicker{margin:0 0 14px;color:var(--fram-blue);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.fram-article-header h1{margin:0;font-size:clamp(34px,4.3vw,58px);line-height:1.35;letter-spacing:-.035em;text-wrap:balance}
.fram-lead{width:min(100%,770px);margin:24px auto 0;color:#526071;font-size:17px;line-height:2}
.fram-article-meta{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:24px;color:#7b8490;font-size:12px}
.fram-article-meta span+span{position:relative}.fram-article-meta span+span:before{content:"";position:absolute;left:-12px;top:50%;width:2px;height:2px;border-radius:50%;background:#97a0ab}
.fram-hero{margin:0;border-radius:18px;overflow:hidden;background:#eaf1f8;box-shadow:var(--fram-shadow)}
.fram-hero img{width:100%;aspect-ratio:16/9;object-fit:cover}
.fram-method{width:min(100%,980px);margin:28px auto 0;padding:24px 30px;border:1px solid var(--fram-line);border-radius:10px;background:#fbfcfd}
.fram-method h2{margin:0 0 16px;font-size:15px;letter-spacing:.04em}
.fram-method dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0;background:var(--fram-line);border:1px solid var(--fram-line);overflow:hidden}
.fram-method dl div{padding:13px 16px;background:#fff}.fram-method dt{color:#748090;font-size:11px;font-weight:700}.fram-method dd{margin:4px 0 0;font-size:13px;font-weight:700}
.fram-method>p{margin:15px 0 0;color:#647182;font-size:12px;line-height:1.8}
.fram-layout{position:relative;display:grid;grid-template-columns:220px minmax(0,var(--fram-reading));justify-content:center;gap:64px;margin-top:78px}
.fram-toc{position:sticky;top:112px;align-self:start;max-height:calc(100vh - 140px);overflow:auto;padding-right:20px;border-right:1px solid var(--fram-line)}
.fram-toc>p{margin:0 0 14px;font-size:12px;font-weight:800;letter-spacing:.12em}.fram-toc ol{margin:0;padding:0;list-style:none}
.fram-toc li{margin:0}.fram-toc a{display:block;padding:7px 0;color:#697586;font-size:12px;line-height:1.55}.fram-toc a:hover,.fram-toc a.is-current{color:var(--fram-blue)}
.fram-toc li[data-depth="3"] a{padding-left:12px;font-size:11px}
.fram-prose{min-width:0;color:#28364a;font-size:16px;line-height:2.05}
.fram-prose>p{margin:0 0 1.65em}.fram-prose strong{color:#111d2d;font-weight:750}
.fram-prose h2{scroll-margin-top:110px;margin:4em 0 1.15em;color:#111d2d;font-size:31px;line-height:1.55;letter-spacing:-.025em}
.fram-prose h3{scroll-margin-top:110px;margin:2.6em 0 .85em;color:#16243a;font-size:22px;line-height:1.65;letter-spacing:-.012em}
.fram-prose h4{margin:2em 0 .65em;font-size:18px}
.fram-prose ul,.fram-prose ol{margin:0 0 1.7em;padding-left:1.45em}.fram-prose li{margin:.45em 0;padding-left:.15em}
.fram-prose a:not(.fram-button){color:var(--fram-blue);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.fram-prose blockquote{margin:2.3em 0;padding:22px 26px;border-left:3px solid #9aa7b7;background:#f7f8fa;color:#526071;font-size:15px}
.fram-figure{margin:2.6em calc((var(--fram-reading) - 980px)/2);background:#f3f6f8}.fram-figure img{width:100%}.fram-figure figcaption{padding:11px 15px;color:#697586;font-size:12px;text-align:center}
.fram-caption{margin-top:-1.3em!important;color:#6c7888;font-size:12px;text-align:center}
.fram-table-wrap{max-width:980px;margin:2.3em calc((var(--fram-reading) - 980px)/2);overflow-x:auto;border:1px solid var(--fram-line);border-radius:6px;background:#fff;-webkit-overflow-scrolling:touch}
.fram-table{width:100%;min-width:690px;border-collapse:collapse;font-size:13px;line-height:1.65}.fram-table caption{padding:15px 18px;background:#f5f7f9;color:#3d4c60;font-weight:750;text-align:left}.fram-table th,.fram-table td{padding:14px 16px;border-bottom:1px solid var(--fram-line);text-align:left;vertical-align:top}.fram-table th{background:#f8fafb;color:#526071;font-size:12px}.fram-table tr:last-child td{border-bottom:0}.fram-table td[data-em]{color:#0e5dcf;font-weight:800}
.fram-data-note{margin:1.2em 0 2em;padding:0 0 0 17px;border-left:2px solid #b8c2cf;color:#5c6979;font-size:13px}
.fram-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:2em 0}.fram-split>div{padding:22px 24px;border-top:3px solid #d6dde5;background:#f7f9fa}.fram-split h3{margin:0 0 8px;font-size:18px}.fram-split p{margin:0;font-size:14px}
.fram-checklist{margin:2em 0;padding:26px 28px;background:#f6f8fa}.fram-checklist h3{margin:0 0 12px}.fram-checklist ul{margin:0;columns:2;column-gap:35px}.fram-checklist li{break-inside:avoid}
.fram-faq{margin-top:4em}.fram-faq details{border-top:1px solid var(--fram-line)}.fram-faq details:last-child{border-bottom:1px solid var(--fram-line)}.fram-faq summary{display:flex;gap:14px;align-items:flex-start;padding:20px 4px;cursor:pointer;font-weight:750;line-height:1.65;list-style:none}.fram-faq summary:before{content:"Q";color:var(--fram-blue);font-weight:900}.fram-faq summary:after{content:"＋";margin-left:auto;color:#718094}.fram-faq details[open] summary:after{content:"−"}.fram-faq details p{margin:0;padding:0 34px 22px;color:#4f5d6d;font-size:14px}
.fram-sources{margin-top:5em;padding-top:2em;border-top:1px solid var(--fram-line)}.fram-sources h2{font-size:24px}.fram-sources p,.fram-sources li{font-size:12px;color:#687587}.fram-sources ul{padding-left:1.2em}
.fram-author{margin-top:4.5em;padding:26px 28px;background:#f7f9fb}.fram-author__label{margin:0 0 7px!important;color:#1769e8;font-size:10px;font-weight:800;letter-spacing:.13em}.fram-author h2{margin:0 0 8px;font-size:21px}.fram-author p:last-child{margin:0;color:#5e6b7b;font-size:13px;line-height:1.85}
.fram-end-cta{display:grid;grid-template-columns:1fr 240px;gap:36px;align-items:center;margin-top:4em;padding:38px 40px;background:#10243b;color:#fff}.fram-end-cta__eyebrow{margin:0 0 8px!important;color:#73b1ff;font-size:11px;font-weight:800;letter-spacing:.14em}.fram-end-cta h2{margin:0 0 10px;color:#fff;font-size:25px}.fram-end-cta p{margin:0;color:#d3dce8;font-size:14px}.fram-end-cta__actions{display:grid;gap:10px}
.fram-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:6px;font-size:14px;font-weight:800;text-decoration:none!important;transition:transform .2s,box-shadow .2s}.fram-button:hover{transform:translateY(-1px)}.fram-button--primary{background:var(--fram-blue);color:#fff!important;box-shadow:0 12px 30px rgba(23,105,232,.2)}.fram-button--line{background:var(--fram-green);color:#fff!important}
.fram-share{display:flex;align-items:center;gap:8px;margin:26px 0 0;color:#778291;font-size:11px}.fram-share a,.fram-share button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid var(--fram-line);background:#fff;color:#536073!important;border-radius:4px;font-size:11px;text-decoration:none!important;cursor:pointer}
.fram-related{margin:110px 0}.fram-section-heading>p{margin:0 0 8px;color:var(--fram-blue);font-size:11px;font-weight:800;letter-spacing:.16em}.fram-section-heading h2{margin:0;font-size:32px;letter-spacing:-.025em}
.fram-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:34px}.fram-article-card{display:block}.fram-article-card>img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#edf2f7}.fram-article-card>div{padding:18px 2px}.fram-article-card p{margin:0 0 7px;color:var(--fram-blue);font-size:10px;font-weight:800;letter-spacing:.09em}.fram-article-card h2,.fram-article-card h3{margin:0;color:#1a273a;font-size:18px;line-height:1.65;letter-spacing:-.012em}.fram-article-card time{display:block;margin-top:13px;color:#8a929c;font-size:11px}.fram-card-summary{margin-top:10px;color:#637081;font-size:13px;line-height:1.75}.fram-article-card:hover h2,.fram-article-card:hover h3{color:var(--fram-blue)}
.fram-portal-hero{display:grid;grid-template-columns:1fr .86fr;align-items:center;min-height:570px;padding:40px 0 70px}.fram-portal-hero h1{margin:0;font-size:clamp(42px,5vw,68px);line-height:1.35;letter-spacing:-.045em}.fram-portal-hero>div>p:last-child{width:min(100%,660px);margin:26px 0 0;color:#526071;font-size:17px}.fram-portal-hero img{width:100%}
.fram-portal-summary{padding:64px 0 70px}.fram-portal-summary>p{width:min(100%,820px);margin:24px 0 0;color:#536173;font-size:15px}.fram-portal-summary .fram-table-wrap{margin:30px 0 0;max-width:none}.fram-portal-summary .fram-data-note{width:min(100%,900px);margin-top:18px}
.fram-entry-routes{padding:74px 0;background:#f5f8fb;box-shadow:0 0 0 100vmax #f5f8fb;clip-path:inset(0 -100vmax)}
.fram-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.fram-route-grid a{padding:27px 28px;background:#fff;border-bottom:3px solid transparent;transition:border-color .2s,transform .2s}.fram-route-grid a:hover{border-color:var(--fram-blue);transform:translateY(-2px)}.fram-route-grid span{display:block;color:#7a8695;font-size:11px}.fram-route-grid strong{display:block;margin-top:7px;font-size:19px}.fram-route-grid small{display:block;margin-top:7px;color:#6e7a89;font-size:12px}
.fram-latest{padding:104px 0}.fram-card-grid--archive{grid-template-columns:repeat(3,1fr);row-gap:54px}.fram-card-grid--archive .fram-article-card h2{font-size:20px}.fram-empty{margin-top:34px;padding:50px;background:#f6f8fa;text-align:center}.fram-empty h2{margin:0;font-size:24px}.fram-empty p{margin:8px 0 0;color:#657181}
.fram-portal-cta{display:flex;align-items:center;justify-content:space-between;gap:50px;margin:30px 0 110px;padding:46px 52px;background:#eef5ff}.fram-portal-cta h2{margin:0;font-size:28px}.fram-portal-cta p:last-child{margin:10px 0 0;color:#586679}.fram-portal-cta .fram-button{flex:0 0 auto}
.navigation.pagination{margin-top:60px}.nav-links{display:flex;justify-content:center;gap:7px}.page-numbers{display:grid;place-items:center;min-width:42px;height:42px;border:1px solid var(--fram-line);font-size:13px}.page-numbers.current{background:var(--fram-ink);color:#fff}
.fram-site-footer{padding:64px 0 24px;background:#0b1d2c;color:#fff}.fram-site-footer__inner,.fram-site-footer__legal{width:min(calc(100% - 48px),var(--fram-max));margin:auto}.fram-site-footer__inner{display:grid;grid-template-columns:1fr 1fr;gap:90px}.fram-brand--footer{color:#fff}.fram-site-footer__inner>div>p{width:min(100%,480px);margin:24px 0 0;color:#96a5b4;font-size:13px}.fram-site-footer__links{display:grid;grid-template-columns:repeat(2,1fr);align-content:start;gap:13px 30px}.fram-site-footer__links a{padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.14);font-size:13px}.fram-site-footer__legal{display:flex;justify-content:space-between;gap:30px;margin-top:46px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);color:#7f91a2;font-size:10px;line-height:1.8}.fram-site-footer__legal p{margin:0}
@media(max-width:980px){.fram-site-nav{display:none}.fram-site-header__inner{height:74px}.fram-layout{grid-template-columns:minmax(0,var(--fram-reading));}.fram-toc{position:relative;top:auto;max-height:none;padding:20px 24px;border:1px solid var(--fram-line);border-right:1px solid var(--fram-line);background:#fbfcfd}.fram-figure,.fram-table-wrap{margin-inline:0}.fram-end-cta{grid-template-columns:1fr}.fram-end-cta__actions{grid-template-columns:1fr 1fr}.fram-portal-hero{grid-template-columns:1fr 1fr}.fram-card-grid,.fram-card-grid--archive{grid-template-columns:repeat(2,1fr)}.fram-site-footer__inner{gap:50px}}
@media(max-width:680px){.fram-shell{width:min(calc(100% - 32px),var(--fram-max))}.fram-site-header__inner{width:calc(100% - 28px);height:70px;gap:12px}.fram-brand{min-width:0;gap:9px}.fram-brand__mark{width:39px;height:39px;border-radius:11px}.fram-brand__mark svg{width:23px}.fram-brand strong{font-size:16px;letter-spacing:.13em}.fram-brand small{font-size:7px}.fram-header-cta{margin-left:auto;min-height:40px;padding:0 13px;font-size:12px}.fram-breadcrumb{padding:15px 0;font-size:10px}.fram-article-header{margin:30px auto 28px;text-align:left}.fram-kicker{font-size:10px}.fram-article-header h1{font-size:32px;line-height:1.42}.fram-lead{margin-top:17px;font-size:14px;line-height:1.9}.fram-article-meta{justify-content:flex-start;gap:17px;margin-top:17px;font-size:10px}.fram-hero{margin-inline:-16px;border-radius:0}.fram-method{margin-top:18px;padding:18px 17px}.fram-method dl{grid-template-columns:1fr}.fram-method>p{font-size:11px}.fram-layout{gap:42px;margin-top:42px}.fram-toc{padding:17px 18px}.fram-toc a{font-size:11px}.fram-prose{font-size:15px;line-height:2}.fram-prose h2{margin:3.4em 0 1em;font-size:25px;line-height:1.55}.fram-prose h3{margin:2.2em 0 .8em;font-size:19px}.fram-figure{margin:2.2em -16px}.fram-table-wrap{margin:2em -16px;border-radius:0}.fram-table{font-size:12px}.fram-split{grid-template-columns:1fr}.fram-checklist{margin-inline:-4px;padding:21px 20px}.fram-checklist ul{columns:1}.fram-faq summary{font-size:14px}.fram-end-cta{margin:3.3em -16px 0;padding:30px 24px}.fram-end-cta h2{font-size:22px}.fram-end-cta__actions{grid-template-columns:1fr}.fram-share{flex-wrap:wrap}.fram-related{margin:75px 0}.fram-section-heading h2{font-size:26px}.fram-card-grid,.fram-card-grid--archive{grid-template-columns:1fr;gap:34px}.fram-article-card h2,.fram-article-card h3,.fram-card-grid--archive .fram-article-card h2{font-size:18px}.fram-portal-hero{grid-template-columns:1fr;min-height:0;padding:45px 0 55px}.fram-portal-hero h1{font-size:35px}.fram-portal-hero>div>p:last-child{font-size:14px}.fram-portal-hero img{margin-top:26px}.fram-entry-routes{padding:54px 0}.fram-route-grid{grid-template-columns:1fr;gap:10px}.fram-latest{padding:70px 0}.fram-portal-cta{display:block;margin-bottom:70px;padding:33px 25px}.fram-portal-cta h2{font-size:23px}.fram-portal-cta .fram-button{width:100%;margin-top:24px}.fram-site-footer{padding-top:48px}.fram-site-footer__inner{grid-template-columns:1fr;gap:38px}.fram-site-footer__links{grid-template-columns:1fr}.fram-site-footer__legal{display:block}.fram-site-footer__legal p+p{margin-top:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fram-page *{transition:none!important}}
