:root{--ink:#102036;--muted:#607086;--line:#dbe3ec;--paper:#f5f8fb;--blue:#125bd5;--cyan:#13a9c7;--navy:#071a33;--white:#fff;--gold:#f1ad32}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.75}
a{color:inherit}.wrap{width:min(1120px,calc(100% - 36px));margin:auto}.top{background:var(--navy);color:#fff}.nav{height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:800;letter-spacing:.04em;text-decoration:none}.brand span{color:#5ed6e7}.navlinks{display:flex;gap:24px;font-size:.9rem}.navlinks a{text-decoration:none;color:#dbe8f8}
.hero{background:linear-gradient(135deg,#071a33 0%,#0b315b 65%,#0c5871 100%);color:#fff;padding:66px 0 78px}.eyebrow{font-size:.82rem;letter-spacing:.12em;font-weight:800;color:#6edbea}.hero h1{font-size:clamp(2.15rem,5vw,4.2rem);line-height:1.14;margin:12px 0 20px;max-width:880px;letter-spacing:-.035em}.hero p{max-width:720px;color:#d9e7f4;font-size:1.05rem}.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.pill{border:1px solid #56809d;background:#ffffff0d;padding:8px 13px;border-radius:999px;font-size:.83rem}
main{padding:46px 0 80px}.intro{margin-bottom:40px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 8px 30px #0b28450b}.panel h2,.section-title{margin:0 0 10px;line-height:1.35}
.filters{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}.filter{border:1px solid #cbd7e4;background:#fff;color:#30465e;border-radius:999px;padding:9px 15px;font:inherit;font-size:.9rem;cursor:pointer}.filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px;display:flex;flex-direction:column;min-height:272px;transition:.2s}.card[hidden]{display:none}.card:hover{transform:translateY(-2px);box-shadow:0 12px 34px #0b284514}.type{font-size:.78rem;color:var(--blue);font-weight:700;margin-top:12px}.card h3{font-size:1.28rem;margin:4px 0 6px}.card p{color:var(--muted);margin:0 0 15px;font-size:.94rem}.facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.fact{font-size:.75rem;background:#edf3f8;border-radius:6px;padding:5px 8px}.card a.more{margin-top:17px;color:var(--blue);font-weight:700;text-decoration:none;font-size:.88rem}.disclosure{font-size:.8rem;color:var(--muted)}
.compare{margin-top:58px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff}table{border-collapse:collapse;width:100%;min-width:820px}th,td{text-align:left;padding:15px;border-bottom:1px solid var(--line);font-size:.88rem}th{background:#eef4f9;color:#38506b}tr:last-child td{border-bottom:0}.yes{color:#087b67;font-weight:800}.focus{background:#f4f8ff}
.method{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.method div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.method b{display:block;margin-bottom:6px}.method span{font-size:.88rem;color:var(--muted)}
.operator-note{margin-top:28px;padding:18px 4px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}.operator-note strong{color:#43566d}.operator-note p{margin:4px 0 0}
.latest-articles{margin-top:58px}.article-list{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.article-card{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;text-decoration:none;transition:.2s}.article-card:hover{transform:translateY(-2px);box-shadow:0 12px 34px #0b284514}.article-card span,.article-meta{font-size:.8rem;color:var(--muted)}.article-card h3{margin:5px 0;font-size:1.25rem}.article-card p{margin:0 0 9px;color:var(--muted)}.article-card b{color:var(--blue)}
.article-page{background:#fff}.article-head{background:linear-gradient(135deg,#071a33,#0b315b);color:#fff;padding:54px 0}.breadcrumbs{font-size:.8rem;color:#c9d8e8;margin-bottom:18px}.breadcrumbs a{color:#c9d8e8}.article-head h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.25;max-width:900px;margin:0 0 16px}.article-head p{max-width:780px;color:#d9e7f4}.article-body{width:min(820px,calc(100% - 36px));margin:42px auto 80px}.article-body h2{font-size:1.55rem;line-height:1.4;margin:42px 0 12px}.article-body h3{font-size:1.16rem;margin:30px 0 8px}.article-body p,.article-body li{color:#344961}.article-body table{min-width:700px}.note{background:#f1f7ff;border-left:4px solid var(--blue);padding:18px 20px;border-radius:8px}.source-list a{color:var(--blue)}.back-link{display:inline-block;margin-top:28px;color:var(--blue);font-weight:800}
footer{border-top:1px solid var(--line);padding:30px 0 45px;color:var(--muted);font-size:.8rem}.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:760px){.navlinks{display:none}.hero{padding:48px 0 58px}.intro,.cards,.method,.article-list{grid-template-columns:1fr}.card{min-height:auto}.wrap{width:min(100% - 24px,1120px)}}
/* Related advertisements, visually separated from editorial content. */
.related-ads-section{margin:28px 0;padding:20px;border:1px solid #9bb9d5;border-radius:14px;background:#eaf4fc}
.related-ads-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.related-ads-heading h2{margin:0;color:#102f50;font-size:1.15rem}.related-ads-heading span{font-size:.8125rem;font-weight:700;color:#315f89}
.related-ads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.book-ad{margin:0;padding:18px 20px;border:1px solid #aac2d8;border-top:4px solid #174d78;border-radius:10px;background:linear-gradient(180deg,#f7fbff 0%,#edf6fd 100%);line-height:1.7;overflow-wrap:anywhere;box-shadow:0 5px 14px #123b6012}
@media(max-width:800px){.related-ads{grid-template-columns:1fr}}
.book-ad-label{display:inline-block;font-size:.8125rem;font-weight:700;color:#fff;background:#174d78;border-radius:999px;padding:2px 9px;margin-bottom:8px}
.book-ad strong{font-size:1rem;display:block}
.book-ad p{font-size:1rem;margin:6px 0 10px}
.book-ad a{display:inline-block;font-size:1rem;font-weight:700;color:#0b4f86;text-decoration:underline;text-underline-offset:3px}
.book-ad small{display:block;font-size:.8125rem;color:#596575;margin-top:10px}
.article-archive{padding:2rem 0 3rem;max-width:960px}.archive-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}.archive-filters button,#archive-pagination a{font:inherit;font-size:1rem;padding:.65rem 1rem;background:white;border:1px solid #cbd5e1;border-radius:999px;color:#13243a;cursor:pointer}.archive-filters button[aria-pressed="true"],#archive-pagination a[aria-current="page"]{background:#13243a;color:white}.archive-filters button:focus-visible,#archive-pagination a:focus-visible{outline:3px solid #2563eb;outline-offset:3px}.article-archive .article-card h2{font-size:1.3rem;line-height:1.5;margin:.6rem 0;overflow-wrap:anywhere}.article-card[hidden],.archive-filters[hidden],#archive-pagination[hidden]{display:none!important}#archive-pagination{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}.input-example{border-left:3px solid #2563eb;background:#eef4fb;padding:1rem 1.25rem;overflow-wrap:anywhere}.input-example p{margin:.5rem 0}

/* Common site name: wrap on narrow screens without clipping. */
.top .nav{height:auto;min-height:68px;padding-block:14px;flex-wrap:wrap}.top .brand{min-width:0;line-height:1.5;overflow-wrap:anywhere}.top .navlinks{flex-shrink:1;flex-wrap:wrap;gap:12px 20px}
@media(max-width:760px){.top .nav{gap:12px}.top .navlinks{display:flex;width:100%;font-size:.85rem}.top .navlinks a{padding:6px 0;line-height:1.5}}

/* Common latest-article shortcut, visible on desktop and mobile. */
.navlinks .latest-nav{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .8rem;border:1px solid currentColor;border-radius:999px;font-weight:700;text-decoration:none;white-space:nowrap}
.navlinks .latest-nav:hover{background:#eef4f8}
.navlinks .latest-nav:focus-visible{outline:3px solid #2877aa;outline-offset:3px}

.article-step{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .8rem;border:1px solid #b9c8d4;border-radius:999px;font-weight:600;text-decoration:none;white-space:nowrap;color:inherit}
.article-step:hover{background:#eef4f8}
.article-step:focus-visible{outline:3px solid #2877aa;outline-offset:3px}
.article-step.is-disabled{opacity:.45;cursor:default}
.article-pagination{display:flex;flex-wrap:wrap;gap:.65rem;padding-top:1.2rem;padding-bottom:1.2rem}

/* High-visibility article archive buttons. */
.archive-button,.navlinks .archive-button,.article-pagination .archive-button{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1rem;border:2px solid #5ed6e7;border-radius:999px;background:#5ed6e7;color:#10283f;font-weight:800;text-decoration:none;line-height:1.4;box-shadow:0 2px 7px rgba(0,0,0,.12)}
.archive-button:hover,.navlinks .archive-button:hover,.article-pagination .archive-button:hover{background:#a0edf4;border-color:#a0edf4;color:#10283f}
.archive-button:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #2877aa}

.page-article-nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:16px;padding:16px 12px;background:#0b2747;color:#fff}
.page-article-nav .article-step{min-width:140px;background:#163d60;border-color:#74a3c3;color:#fff;padding:10px 18px}
.page-article-nav .article-step:hover{background:#245579}
.page-article-nav .article-step.is-disabled{background:transparent}
.article-pagination{justify-content:center}

/* Clear touch, mouse and keyboard feedback for the two article shortcuts. */
.navlinks .latest-nav,.archive-button{min-height:44px;transition:background-color .12s,color .12s,box-shadow .12s,transform .12s;-webkit-tap-highlight-color:rgba(94,214,231,.45);touch-action:manipulation}
.navlinks .latest-nav:hover{background:#d4f8fc;color:#10283f}
.navlinks .latest-nav:active,.archive-button:active,.navlinks .archive-button:active,.article-pagination .archive-button:active{background:#18889b;color:#fff;border-color:#18889b;transform:translateY(3px) scale(.97);box-shadow:inset 0 3px 6px rgba(0,0,0,.35)}
@media(prefers-reduced-motion:reduce){.navlinks .latest-nav,.archive-button{transition:none}}

/* Selected page alone is cyan; unselected navigation stays outlined. */
.navlinks .latest-nav,.navlinks .archive-button{background:transparent;color:#dbe8f8;border:1px solid #a7c5db;box-shadow:none;padding:.6rem 1rem;min-height:44px;font-weight:700}
.navlinks .latest-nav:hover,.navlinks .archive-button:hover{background:#163d60;color:#fff;border-color:#a7c5db}
.navlinks .latest-nav[aria-current="page"],.navlinks .archive-button[aria-current="page"]{background:#5ed6e7;color:#10283f;border-color:#5ed6e7;font-weight:800;box-shadow:0 2px 7px rgba(0,0,0,.12)}
.navlinks .latest-nav:active,.navlinks .archive-button:active{background:#5ed6e7;color:#10283f;border-color:#5ed6e7;transform:translateY(3px) scale(.97);box-shadow:inset 0 3px 6px rgba(0,0,0,.3)}

/* Keep the three primary destinations together, in the same order. */
.primary-shortcuts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-basis:100%}
.navlinks .home-nav{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#dbe8f8;border:1px solid #a7c5db;border-radius:999px;box-shadow:none;padding:.6rem 1rem;min-height:44px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background-color .12s,color .12s,transform .12s;touch-action:manipulation;-webkit-tap-highlight-color:rgba(94,214,231,.45)}
.navlinks .home-nav:hover{background:#163d60;color:#fff}
.navlinks .home-nav[aria-current="page"]{background:#5ed6e7;color:#10283f;border-color:#5ed6e7;font-weight:800}
.navlinks .home-nav:active{background:#5ed6e7;color:#10283f;transform:translateY(3px) scale(.97);box-shadow:inset 0 3px 6px rgba(0,0,0,.3)}
.navlinks .home-nav:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.navlinks .home-nav{transition:none}}

.article-sequence{display:inline-block;margin:0 0 12px;padding:5px 12px;border:1px solid #74a3c3;border-radius:999px;color:#d9e7f4;font-size:.9rem;font-weight:700}
