:root{--ink:#1B2838;--gray:#526075;--soft:#8496AC;--line:#DFE5EC;--panel:#F1F5F9;--bg:#FFFFFF;--navy:#14355F;--navy-2:#1D4E8A;--link:#1D4E8A;--dark:#0E2440;--pos:#1E7A46;--neg:#B33A3A;--maxw:1200px;--font-sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;--font-en:"Inter","Noto Sans JP",sans-serif;--ease:cubic-bezier(.25,.1,.25,1)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);line-height:1.95;font-size:15px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--navy-2);outline-offset:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
html.js [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .65s var(--ease),transform .65s var(--ease);transition-delay:calc(var(--d,0)*70ms)}
html.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js [data-reveal]{opacity:1;transform:none;transition:none}*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}html{scroll-behavior:auto}}
.eyebrow{font-family:var(--font-en);font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin-bottom:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:.95em 1.9em;font-weight:600;font-size:.88rem;letter-spacing:.05em;border:1px solid transparent;cursor:pointer;transition:background .25s,color .25s,border-color .25s;text-decoration:none}
.btn:hover{text-decoration:none}
.btn .ar{font-family:var(--font-en);transition:transform .25s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}
.btn-solid{background:var(--navy);color:#fff}
.btn-solid:hover{background:var(--navy-2)}
.btn-gold{background:linear-gradient(115deg,#A9873B,#C9A25C);color:#fff;box-shadow:0 10px 26px rgba(169,135,59,.3)}
.btn-gold:hover{filter:brightness(1.05)}
.btn-outline{background:#fff;color:var(--navy);border-color:#C9CFD6}
.btn-outline:hover{border-color:var(--navy)}
.tlink{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:.85rem;color:var(--link)}
.tlink .ar{font-family:var(--font-en);transition:transform .25s var(--ease)}
.tlink:hover{text-decoration:none;color:var(--navy)}
.tlink:hover .ar{transform:translateX(4px)}
.chip{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:.26em .9em;border-radius:99px;background:var(--panel);color:var(--navy)}
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 2px 12px rgba(14,36,64,.07)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand a{display:flex;flex-direction:row;align-items:center;gap:12px;text-decoration:none}
.brand-mark{height:42px;width:auto;display:block}
.brand-text{display:flex;flex-direction:column;line-height:1.35}
.brand-en-main{font-family:"Cinzel",Georgia,serif;font-weight:600;font-size:1rem;letter-spacing:.14em;color:var(--navy)}
.brand-ja-sub{font-size:.58rem;letter-spacing:.5em;color:var(--gray)}
.global-nav ul{display:flex;gap:2px;align-items:center}
.global-nav a{position:relative;display:block;padding:.85em .95em;color:var(--ink);font-size:.86rem;font-weight:500}
.global-nav a::after{content:"";position:absolute;left:.95em;right:.95em;bottom:.5em;height:2px;background:var(--navy);transform:scaleX(0);transition:transform .25s var(--ease)}
.global-nav a:hover{text-decoration:none}
.global-nav a:hover::after{transform:scaleX(1)}
.global-nav .nav-cta a{background:var(--navy);color:#fff;margin-left:14px;padding:.7em 1.5em;font-weight:600}
.global-nav .nav-cta a::after{display:none}
.global-nav .nav-cta a:hover{background:var(--navy-2)}
.menu-toggle{display:none;background:#fff;border:1px solid var(--line);width:44px;height:44px;cursor:pointer;position:relative}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:18px;height:2px;background:var(--ink);transition:.25s}
.menu-toggle span{top:21px}
.menu-toggle span::before{top:-6px}
.menu-toggle span::after{top:6px}
.kb-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.kb-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(14,36,64,.12);border-color:#B9C7D8;text-decoration:none}
.kb-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:16px 18px;position:relative;overflow:hidden}
.kb-thumb::before{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;border:1px solid rgba(255,255,255,.14)}
.kb-thumb::after{content:"OP";position:absolute;right:14px;top:10px;font-family:"Cinzel",Georgia,serif;font-size:.66rem;letter-spacing:.2em;color:rgba(255,255,255,.5)}
.kb-thumb .th-cat{font-family:var(--font-en);font-size:.58rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.kb-thumb .th-kw{font-weight:700;font-size:1.05rem;line-height:1.45;color:#fff;margin-top:4px}
.kb-body{padding:16px 18px 14px;display:flex;flex-direction:column;flex:1}
.kb-title{font-size:.86rem;font-weight:600;color:var(--ink);line-height:1.65;flex:1}
.kb-card:hover .kb-title{color:var(--navy)}
.kb-meta{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--soft);border-top:1px solid var(--line);margin-top:14px;padding-top:10px}
.xl{background:#fff;border:1px solid #D0D5DA;box-shadow:0 14px 40px rgba(14,36,64,.10);font-size:12.5px}
.xl-titlebar{display:flex;align-items:center;gap:10px;background:#F3F2F1;border-bottom:1px solid #E1DFDD;padding:8px 12px}
.xl-appicon{width:18px;height:18px;background:#217346;color:#fff;font-family:var(--font-en);font-weight:600;font-size:10px;display:flex;align-items:center;justify-content:center}
.xl-titlebar .t-name{font-size:.74rem;color:#484644}
.xl-grid{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff}
.xl-grid th,.xl-grid td{border:1px solid #E7EAEC;height:27px;padding:0 8px;font-size:.78rem;overflow:hidden;white-space:nowrap}
.xl-grid thead th{background:#F8F9FA;color:#6E7781;font-family:var(--font-en);font-weight:400;font-size:.7rem;text-align:center;height:22px}
.xl-grid tbody th{background:#F8F9FA;color:#6E7781;font-family:var(--font-en);font-weight:400;font-size:.7rem;text-align:center;width:36px}
.xl-grid td{color:#24292F;text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-en)}
.xl-grid td.lab{text-align:left;font-family:var(--font-sans)}
.xl-grid td.hd{background:var(--navy);color:#fff;font-weight:600;text-align:left;font-family:var(--font-sans)}
.xl-grid td.sub{color:#6E7781;text-align:center;font-size:.7rem}
.xl-grid td.ipt{color:#0B5CAB}
.xl-grid td.res{font-weight:600}
.site-footer{background:var(--dark);color:#A7B8CC;margin-top:110px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;padding:64px 0 48px}
.footer-brand .brand-lockup{display:flex;align-items:center;gap:12px}
.footer-mark{height:46px;width:auto}
.footer-brand p{margin-top:14px;font-size:.78rem;line-height:2}
.site-footer h3{color:#fff;font-family:var(--font-en);font-size:.66rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;margin-bottom:16px}
.site-footer li{margin-bottom:.6em}
.site-footer a{color:#A7B8CC;font-size:.8rem}
.site-footer a:hover{color:#fff;text-decoration:none}
.footer-legal{border-top:1px solid rgba(255,255,255,.12);padding:22px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:.7rem;color:#7C90A8}
@media (max-width:880px){
.menu-toggle{display:block}
.global-nav{position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(14,36,64,.08);display:none}
.global-nav.open{display:block}
.global-nav ul{flex-direction:column;align-items:stretch;padding:12px 24px 20px}
.global-nav .nav-cta a{margin-left:0;text-align:center;margin-top:8px}
.footer-grid{grid-template-columns:1fr 1fr}
}

/* ===== block ===== */

/* ---------- Product LP ---------- */
.crumbs{padding:18px 0 0;font-size:.74rem;color:var(--soft)}
.crumbs a{color:var(--soft)}
.crumbs .sep{margin:0 .6em;color:#C3CEDA}
.lp-hero{padding:36px 0 72px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff 0%,var(--panel) 100%)}
.lp-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.lp-code{display:flex;gap:10px;align-items:center;margin-bottom:16px}
.lp-hero h1{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:700;color:var(--navy);line-height:1.5}
.lp-sub{margin-top:10px;font-size:.95rem;color:var(--gray)}
.lp-points{margin:24px 0 30px}
.lp-points li{position:relative;padding:.4em 0 .4em 1.7em;font-size:.92rem;color:var(--ink)}
.lp-points li::before{content:"";position:absolute;left:.1em;top:1em;width:.95em;height:.5em;border-left:2.5px solid var(--navy);border-bottom:2.5px solid var(--navy);transform:rotate(-45deg)}
.price-box{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.price-box .pr{font-family:var(--font-en);font-weight:600;font-size:2.2rem;color:var(--navy);font-variant-numeric:tabular-nums}
.price-box .pr-note{font-size:.72rem;color:var(--soft)}
.lp-cta-row{display:flex;gap:14px;flex-wrap:wrap}
.lp-guard{margin-top:14px;font-size:.74rem;color:var(--soft)}
.xl-caption{margin-top:16px;text-align:center;font-size:.72rem;color:var(--soft)}
.section{padding:88px 0}
.section-line{border-top:1px solid var(--line)}
.section h2.sec{font-size:1.35rem;font-weight:700;color:var(--navy);margin-bottom:32px}
.learn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.learn-item{border:1px solid var(--line);background:#fff;padding:24px 24px 20px}
.learn-item .no{font-family:var(--font-en);font-size:.7rem;font-weight:600;letter-spacing:.2em;color:var(--soft)}
.learn-item h3{font-size:.95rem;font-weight:700;color:var(--navy);margin:8px 0 6px}
.learn-item p{font-size:.8rem;color:var(--gray)}
table.sheets{width:100%;border-collapse:collapse;font-size:.88rem}
table.sheets th{background:var(--navy);color:#fff;font-weight:600;padding:.65em 1.1em;text-align:left;font-size:.8rem}
table.sheets td{border-bottom:1px solid var(--line);padding:.65em 1.1em;vertical-align:top}
table.sheets td:first-child{font-family:var(--font-en);font-weight:600;color:var(--navy);white-space:nowrap}
table.sheets td.st{white-space:nowrap;font-size:.74rem;color:var(--soft)}
.inc-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.inc-col{border:1px solid var(--line);background:#fff;padding:28px 30px}
.inc-col h3{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:14px}
.inc-col li{position:relative;padding:.35em 0 .35em 1.6em;font-size:.86rem;color:var(--gray)}
.inc-col.yes li::before{content:"";position:absolute;left:.1em;top:.95em;width:.85em;height:.45em;border-left:2px solid var(--pos);border-bottom:2px solid var(--pos);transform:rotate(-45deg)}
.inc-col.no li::before{content:"—";position:absolute;left:.2em;color:#B7BEC5}
.quality{border-left:3px solid var(--navy);background:var(--panel);padding:24px 30px;font-size:.88rem;color:var(--gray)}
.quality b{color:var(--navy)}
.faq details{border:1px solid var(--line);background:#fff;margin-bottom:12px}
.faq summary{cursor:pointer;padding:16px 22px;font-weight:600;font-size:.9rem;color:var(--navy);list-style:none;position:relative}
.faq summary::after{content:"＋";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--soft);font-weight:400}
.faq details[open] summary::after{content:"−"}
.faq .faq-a{padding:0 22px 18px;font-size:.85rem;color:var(--gray)}
.rel-list li{border-top:1px solid var(--line)}
.rel-list li:last-child{border-bottom:1px solid var(--line)}
.rel-list a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 6px;font-size:.88rem;font-weight:500;color:var(--ink)}
.rel-list a:hover{background:var(--panel);color:var(--navy);text-decoration:none}
.final-cta{background:linear-gradient(130deg,var(--dark),var(--navy));color:#fff;padding:88px 0;text-align:center}
.final-cta h2{font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:700;line-height:1.7}
.final-cta p{margin:14px auto 30px;font-size:.88rem;color:#C0D0E2;max-width:560px}
.disclaimer{margin-top:28px;font-size:.74rem;color:var(--soft);text-align:center}
@media (max-width:1024px){.lp-grid{grid-template-columns:1fr;gap:44px}.learn-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.learn-grid,.inc-grid{grid-template-columns:1fr}.section{padding:64px 0}}

/* ===== block ===== */

/* ---------- Mega menu（無料コンテンツ） ---------- */
.has-mega{position:relative}
.has-mega>a::before{content:"";position:absolute;left:0;right:0;bottom:-14px;height:14px}
.mega{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(10px);opacity:0;visibility:hidden;transition:opacity .28s cubic-bezier(.16,1,.3,1),transform .28s cubic-bezier(.16,1,.3,1),visibility .28s;background:#fff;border:1px solid var(--line);box-shadow:0 28px 70px rgba(14,36,64,.16);display:grid;grid-template-columns:230px 210px 230px;padding:26px 30px 24px;gap:0 34px;z-index:150}
.mega::before{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega h4{font-family:var(--font-en);font-size:.64rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.global-nav .has-mega .mega ul{display:block;flex-direction:column;gap:0;margin:0;padding:0}
.mega li{display:block;width:100%;white-space:nowrap}
.mega li{margin:0}
.mega a.mg{display:block;padding:7px 0;font-size:.82rem;font-weight:500;color:var(--ink);line-height:1.6}
.mega a.mg::after{display:none}
.mega a.mg:hover{color:var(--navy);text-decoration:none;transform:translateX(3px)}
.mega a.mg{transition:color .2s,transform .25s cubic-bezier(.16,1,.3,1)}
.mega a.mg-all{font-weight:700;color:var(--link);margin-top:4px}
@media (max-width:880px){.mega{display:none}.has-mega>a::before{display:none}}

/* ===== block ===== */

@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
h2[id],h3[id]{scroll-margin-top:88px}
:focus-visible{outline:2px solid var(--navy-2);outline-offset:2px}
::selection{background:#D8E4F4}
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.xlfig{overflow-x:auto}
.to-top{position:fixed;right:16px;bottom:16px;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-en);font-size:1.05rem;text-decoration:none;box-shadow:0 10px 26px rgba(14,36,64,.28);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s,transform .3s,visibility .3s,background .2s;z-index:90}
.to-top.show{opacity:.95;visibility:visible;transform:none}
.to-top:hover{background:var(--navy-2);text-decoration:none}
.m-ctabar{display:none}
@media (max-width:700px){
.article-head h1{font-size:1.34rem;line-height:1.6}
.article-meta{flex-wrap:wrap;gap:8px 14px}
.crumbs{white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.tbl-scroll table.data{min-width:560px}
}
@media (max-width:640px){
.m-ctabar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:95;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
.m-ctabar a{display:block;text-align:center;background:var(--navy);color:#fff;font-weight:700;font-size:.92rem;padding:13px 10px;text-decoration:none;letter-spacing:.02em}
.m-ctabar a:active{background:var(--navy-2)}
body.has-ctabar{padding-bottom:74px}
.has-ctabar .to-top{bottom:84px}
}
@media print{.site-header,.to-top,.side,.cta-inline,.m-ctabar,.menu-toggle{display:none !important}}

/* ===== block ===== */

.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy),#C9A961);transform-origin:0 50%;transform:scaleX(0);z-index:130;pointer-events:none}
.toc a{transition:color .2s,padding-left .2s;border-left:2px solid transparent}
.toc a.active{color:var(--navy);font-weight:700;padding-left:6px;border-left:2px solid var(--navy)}

/* ===== block ===== */

/* op-motion-v1 */
#opCurtain{position:fixed;inset:0;background:var(--navy,#14355F);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:12000}
#opCurtain.on{opacity:1;pointer-events:auto}
@media (prefers-reduced-motion:no-preference){
html.js body{animation:opPageIn .5s cubic-bezier(.22,1,.36,1) both}
@keyframes opPageIn{from{opacity:0}to{opacity:1}}
.btn:active{transform:translateY(1px) scale(.985)}
a.kb-card:active,a.hub-card:active{transform:translateY(0) scale(.995)}
}
a,button{-webkit-tap-highlight-color:transparent}
@media (hover:none){a.lib-item:active,a.kb-card:active,.hub-card:active{background:#F2F6FB}}
@media (pointer:fine){
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(20,53,95,.28);border-radius:99px;border:3px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:rgba(20,53,95,.5);border:3px solid transparent;background-clip:content-box}
}
html{scrollbar-width:thin;scrollbar-color:rgba(20,53,95,.35) transparent}
#opCur{position:fixed;left:0;top:0;width:34px;height:34px;border:1.5px solid rgba(29,78,138,.4);border-radius:50%;pointer-events:none;z-index:11000;opacity:0;transition:opacity .3s,width .25s,height .25s,border-color .25s,background .25s;will-change:transform}
#opCur.v{opacity:1}
#opCur.act{width:54px;height:54px;border-color:rgba(176,138,60,.75);background:rgba(176,138,60,.07)}
#opCur.dn{width:26px;height:26px}
#opCur::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--gold,#B08A3C)}
@media (pointer:coarse),(prefers-reduced-motion:reduce){#opCur{display:none}}

/* ===== block ===== */

/* op-nav-v2 */
.nv2 .nv-list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.nv2 .nv-link,.nv2 .nv-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:.88rem;font-weight:600;color:var(--navy);background:none;border:none;cursor:pointer;font-family:inherit;letter-spacing:.02em;text-decoration:none;line-height:1}
.nv2 .nv-link:hover,.nv2 .nv-btn:hover{color:var(--navy-2,#1D4E8A);text-decoration:none}
.nv2 .nv-car{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55}
.nv2 .nv-item{position:relative}
.nv2 .nv-item[data-open="true"]>.nv-btn{color:var(--navy-2,#1D4E8A)}
.nv2 .nv-item[data-open="true"]>.nv-btn .nv-car{transform:rotate(225deg) translateY(-1px)}
.nv2 .nv-sub{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:330px;background:#fff;border:1px solid var(--line);border-top:2px solid #B08A3C;box-shadow:0 14px 34px rgba(20,53,95,.12);padding:18px 20px 14px;z-index:110}
.nv2 .nv-item[data-open="true"]>.nv-sub{display:block}
.nv2 .nv-mega{display:none;min-width:640px;left:50%;transform:translateX(-50%)}
.nv2 .nv-item[data-open="true"]>.nv-mega{display:flex;gap:26px}
.nv2 .nv-col{flex:1;min-width:0}
.nv2 .nv-h{font-family:var(--font-en);font-size:.62rem;font-weight:700;letter-spacing:.2em;color:#B08A3C;margin:0 0 8px;text-transform:uppercase}
.nv2 .nv-sub ul{display:block;list-style:none;margin:0;padding:0}
.nv2 .nv-sub li{display:block;margin:0}
.nv2 .nv-sub{white-space:normal}
.nv2 a::after{display:none}
.nv2 .nv-sub li a{display:block;padding:8px 10px;font-size:.84rem;font-weight:500;color:var(--ink);text-decoration:none;border-radius:2px;line-height:1.6}
.nv2 .nv-sub li a:hover{background:#F4F7FB;color:var(--navy);text-decoration:none}
.nv2 .nv-foot{display:block;margin:12px -6px 0;padding:12px 10px 2px;border-top:1px solid var(--line);font-size:.82rem;font-weight:600;color:var(--navy);text-decoration:none}
.nv2 .nv-mega .nv-foot{position:absolute;left:20px;right:20px;bottom:12px}
.nv2 .nv-mega{padding-bottom:56px}
.nv2 #nv-lab.nv-mega{padding-bottom:18px}
.nv2 .nv-foot:hover{text-decoration:none;color:var(--navy-2,#1D4E8A)}
.nv2 .nav-cta{margin-left:14px}
.nv2 .nav-cta a{display:inline-block;background:var(--navy);color:#fff;font-size:.84rem;font-weight:600;letter-spacing:.04em;padding:11px 22px;border-radius:2px;text-decoration:none;border:1px solid var(--navy)}
.nv2 .nav-cta a:hover{background:#0F2A4C;border-color:#0F2A4C;color:#fff;text-decoration:none}
@media (max-width:980px){
.nv2.global-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(20,53,95,.10);max-height:calc(100vh - 72px);overflow-y:auto;padding:6px 0 18px}
.nv2.global-nav.open{display:block}
.nv2 .nv-list{display:block;padding:0 16px}
.nv2 .nv-link,.nv2 .nv-btn{width:100%;padding:14px 6px;font-size:.95rem;border-bottom:1px solid var(--line);justify-content:space-between}
.nv2 .nv-btn .nv-car{margin-left:auto}
.nv2 .nv-item{position:static}
.nv2 .nv-sub,.nv2 .nv-mega{position:static;display:none;min-width:0;border:none;border-left:2px solid #B08A3C;box-shadow:none;padding:6px 0 10px 14px;margin:4px 0 6px;transform:none}
.nv2 .nv-item[data-open="true"]>.nv-sub{display:block}
.nv2 .nv-item[data-open="true"]>.nv-mega{display:block}
.nv2 .nv-mega{padding-bottom:10px}
.nv2 .nv-col+.nv-col{margin-top:12px}
.nv2 .nv-sub li a{padding:11px 8px;font-size:.9rem}
.nv2 .nv-foot{position:static;margin:8px 0 0;padding:12px 8px 0}
.nv2 .nv-mega .nv-foot{position:static;left:auto;right:auto;bottom:auto}
.nv2 .nav-cta{margin:16px 0 0}
.nv2 .nav-cta a{display:block;text-align:center;padding:14px}
}

/* ===== block ===== */

/* op-lp3 catalog */
.pk-hero{position:relative;overflow:hidden;background:linear-gradient(128deg,#0C1F38,#14355F 55%,#1D4E8A 130%);padding:104px 0 84px;color:#fff}
.pk-mark{position:absolute;right:-5%;bottom:-20%;height:125%;opacity:.07;pointer-events:none}
.pk-eyebrow{font-family:var(--font-en);font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#D9B36A;margin:0 0 14px}
.pk-hero h1{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700;letter-spacing:.03em;margin:0 0 16px}
.pk-lead{max-width:640px;font-size:.94rem;line-height:2.1;color:rgba(255,255,255,.85);margin:0}
.pk-micro{margin-top:16px;font-size:.78rem;color:rgba(255,255,255,.55)}
.pk-sec{padding:92px 0}
.pk-alt{background:var(--panel,#F6F8FB)}
.pk-head{max-width:780px;margin-bottom:44px}
.pk-head h2{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700;color:var(--navy);line-height:1.65;margin:0 0 12px;text-wrap:balance}
.pk-l{font-size:.92rem;line-height:2.05;color:var(--gray);margin:0}
.pk-plan{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:.86rem}
.pk-plan th,.pk-plan td{padding:14px 16px;border:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.9}
.pk-plan thead th{background:var(--navy);color:#fff;font-weight:600;letter-spacing:.03em}
.pk-plan thead th.hl{background:#0F2A4C;color:#EFD9A7}
.pk-plan tbody th{background:#F6F8FB;font-weight:600;color:var(--navy);font-size:.8rem;width:18%}
.pk-plan td.hl{background:#FBF9F4}
.pk-plan .soon{display:inline-block;margin-left:8px;font-size:.64rem;font-weight:700;color:#B08A3C;border:1px solid #B08A3C;padding:2px 8px;border-radius:999px;vertical-align:middle}
.pk-note{margin-top:14px;font-size:.78rem;color:var(--soft)}
.pk-lvhead{display:flex;flex-direction:column;gap:6px;border-bottom:2px solid var(--navy);padding-bottom:14px;margin-bottom:30px}
.pk-lvhead .en{font-family:var(--font-en);font-size:.76rem;font-weight:700;letter-spacing:.2em;color:#B08A3C}
.pk-lvhead h2{font-size:1.3rem;font-weight:700;color:var(--navy);margin:0}
.pk-lvhead p{font-size:.86rem;color:var(--gray);margin:0}
.pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:960px){.pk-grid{grid-template-columns:1fr}}
.pk-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);padding:26px 24px 20px;transition:border-color .2s,box-shadow .2s,transform .2s}
.pk-card:hover{border-color:var(--navy);box-shadow:0 12px 30px rgba(20,53,95,.10);transform:translateY(-2px)}
.pk-main{border-top:3px solid #B08A3C}
.pk-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.pk-cat{font-family:var(--font-en);font-size:.62rem;font-weight:700;letter-spacing:.18em;color:var(--soft)}
.pk-badge{font-size:.66rem;font-weight:700;padding:3px 10px;border-radius:999px}
.pk-badge.live{background:#0F5132;color:#fff}
.pk-badge.soon{background:#F4F7FB;color:#33507A;border:1px solid var(--line)}
.pk-card h3{font-size:1.02rem;font-weight:700;color:var(--navy);margin:0 0 10px;line-height:1.7}
.pk-desc{font-size:.84rem;line-height:2;color:var(--gray);margin:0 0 14px}
.pk-inc{list-style:none;margin:0 0 18px;padding:14px 0 0;border-top:1px solid var(--line);flex:1}
.pk-inc li{font-size:.8rem;line-height:1.9;color:var(--ink);padding-left:18px;position:relative;margin-bottom:4px}
.pk-inc li::before{content:"◆";position:absolute;left:0;color:#B08A3C;font-size:.6rem;top:4px}
.pk-ft{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.pk-sub{font-size:.8rem;color:var(--soft);text-decoration:underline;text-underline-offset:3px}
.pk-sub:hover{color:var(--navy)}
.btn-s{padding:9px 18px;font-size:.8rem}
.pk-bundle{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:22px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--navy);padding:22px 26px}
.pk-bundle.gold{border-left-color:#B08A3C;background:#FBF9F4}
.pk-bundle .en{font-family:var(--font-en);font-size:.64rem;font-weight:700;letter-spacing:.2em;color:#B08A3C}
.pk-bundle h3{font-size:1.04rem;font-weight:700;color:var(--navy);margin:4px 0 6px}
.pk-bundle p{font-size:.84rem;color:var(--gray);margin:0;line-height:1.9;max-width:560px}
.pk-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}
@media (max-width:900px){.pk-3{grid-template-columns:1fr}}
.pk-p{background:#fff;border:1px solid var(--line);border-top:2px solid #B08A3C;padding:24px 22px}
.pk-p h3{font-size:.98rem;font-weight:700;color:var(--navy);margin:0 0 10px}
.pk-p p{font-size:.84rem;line-height:2;color:var(--gray);margin:0}
.pk-corp{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);padding:22px 26px}
.pk-corp h3{font-size:1rem;font-weight:700;color:var(--navy);margin:0 0 6px}
.pk-corp p{font-size:.84rem;color:var(--gray);margin:0}
.x-faq details{background:#fff;border:1px solid var(--line);margin-bottom:10px}
.x-faq summary{cursor:pointer;padding:18px 22px;font-size:.92rem;font-weight:600;color:var(--navy);list-style:none;display:flex;justify-content:space-between;align-items:center}
.x-faq summary:hover{background:#F7FAFD}
.x-faq summary::after{content:"＋";font-family:var(--font-en);color:#B08A3C;font-weight:700}
.x-faq details[open] summary::after{content:"−"}
.x-faq .a{padding:0 22px 20px;font-size:.87rem;line-height:2.1;color:var(--gray)}
.cta-v2 .cta-mark{position:absolute;left:-3%;bottom:-24%;height:120%;opacity:.05;pointer-events:none}
.btn-gold{background:#B08A3C;color:#fff;border:1px solid #B08A3C}
.btn-gold:hover{background:#9A772F;border-color:#9A772F;color:#fff}

/* ===== block ===== */

/* op-fit-v2 + op-mcta */
@media (max-width:640px){
html,body{overflow-x:hidden}
.brand-mark{height:34px}
.brand-en-main{font-size:.9rem;letter-spacing:.12em}
.brand-ja-sub{font-size:.6rem}
.header-inner{gap:10px}
.wrap{padding-left:18px;padding-right:18px}
.article-head h1{font-size:1.32rem;line-height:1.75}
.summary-box{padding:18px 16px}
table.data th,table.data td{font-size:.8rem}
}
#opMcta{position:fixed;left:0;right:0;bottom:0;z-index:9500;display:none;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(20,53,95,.10)}
#opMcta.on{display:flex;gap:10px;align-items:center}
#opMcta .m-txt{flex:1;font-size:.72rem;line-height:1.5;color:var(--gray);min-width:0}
#opMcta .m-txt b{display:block;font-size:.8rem;color:var(--navy)}
#opMcta a{flex-shrink:0;background:var(--navy);color:#fff;font-size:.8rem;font-weight:600;padding:11px 18px;border-radius:2px;text-decoration:none;letter-spacing:.03em}
@media (min-width:641px){#opMcta{display:none!important}}
@media print{#opMcta{display:none!important}}
/* ================================================== */
/* op-table-v2: 表の可読性再設計（多列比較表の折返し・列幅問題を解消） */
/* 列幅は内容に応じて自動配分。行ラベルは中途改行させない。 */
table.data{table-layout:auto !important;min-width:600px}
table.data thead th{white-space:nowrap}
table.data th:first-child,table.data td:first-child{width:auto !important;max-width:15em;word-break:keep-all;line-break:strict;overflow-wrap:break-word}
table.data td:first-child{font-weight:600;color:#14355F;background:#F6F8FB}
table.data td{line-height:1.8}
table.data tbody tr:nth-child(even) td{background:#FAFBFD}
table.data tbody tr:nth-child(even) td:first-child{background:#F2F5F9}
table.data tr.total td{background:#fff}
table.data tr.total td:first-child{background:#F6F8FB}
@media (max-width:700px){table.data{min-width:640px}}


/* op-matfix-v1: 買い方比較表内のCTAが狭い列幅で縦書き崩壊するのを防止（表はラッパー内で横スクロール） */
table .btn{white-space:nowrap}


/* op-matdetail-v1: 教材の中身（抜粋）パネル＋note購入フロー */
.md-detail .pk-lvhead p{max-width:62em}
.md-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 26px 22px;margin-top:22px}
.md-panel>h3{display:flex;align-items:center;gap:.7em;margin:0 0 16px;font-size:1.15rem;color:var(--navy)}
.md-figs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 18px;align-items:start}
.md-figs figure{margin:0}
.md-figs img{width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
.md-figs figcaption{font-size:.78rem;color:var(--gray);margin-top:.5em;line-height:1.7}
.md-spec{display:grid;grid-template-columns:11em 1fr;gap:8px 16px;margin:0 0 18px}
.md-spec dt{font-weight:700;color:var(--navy);background:var(--panel);padding:.45em .8em;border-radius:6px;font-size:.85rem;align-self:start;word-break:keep-all}
.md-spec dd{margin:0;padding:.35em 0;font-size:.92rem}
.md-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.md-note-flow{margin-top:26px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px 24px}
.md-note-flow h3{margin:0 0 10px;color:var(--navy);font-size:1.02rem}
.md-note-flow ol{margin:0 0 12px;padding-left:1.5em}
.md-note-flow li{margin:.3em 0}
.md-note-flow p{margin:.4em 0;font-size:.92rem}
@media (max-width:760px){.md-figs{grid-template-columns:1fr}.md-spec{grid-template-columns:1fr}.md-spec dd{padding:.1em 0 .8em}}

/* op-mat-v3: 個別教材LP導線用（バッジ複数・カード内CTA積み・note注記） */
.pk-badges{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pk-badge.sample{background:#FBF6EC;color:#8A6A22;border:1px solid #E6D4AC}
.pk-ft--stack{flex-direction:column;align-items:stretch;gap:12px}
.pk-ft--stack .btn{width:100%}
.pk-subs{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.pk-note--card{margin-top:10px;font-size:.72rem;color:var(--soft);text-align:center}
@media (max-width:640px){.pk-top{align-items:flex-start}.pk-badges{justify-content:flex-start}}

/* ============================================================
 * op-material-detail-v1 — 個別教材紹介ページ（長尺LP）専用スタイル
 * .op-material-detail 配下にスコープ。ヘッダー/フッター/btn/pk-* は
 * 本ファイル前半（materials由来）を共有する。
 * ============================================================ */
.op-material-detail{
  --md-navy:#14355F;--md-navy-2:#1D4E8A;--md-deep:#0C1F38;--md-gold:#B08A3C;
  --md-ink:#1B2838;--md-muted:#526075;--md-soft:#8496AC;
  --md-line:#DFE5EC;--md-panel:#F1F5F9;--md-card:#fff;
}
.op-md-wrap{max-width:1160px;margin:0 auto;padding:0 32px}

/* --- Hero --- */
.op-md-hero{position:relative;overflow:hidden;background:linear-gradient(128deg,#0C1F38,#14355F 58%,#1D4E8A 130%);color:#fff;padding:40px 0 76px}
.op-md-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5em;font-size:.74rem;color:#A9BBD4;margin:0 0 30px}
.op-md-breadcrumb a{color:#C9D7E9}
.op-md-breadcrumb a:hover{color:#fff;text-decoration:underline}
.op-md-breadcrumb span[aria-hidden]{color:#5E779A}
.op-md-breadcrumb [aria-current]{color:#fff}
.op-md-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:44px;align-items:start}
.op-md-eyebrow{font-family:var(--font-en);font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#9FB4D2;margin:0 0 14px}
.op-md-cat{margin:0 0 14px}
.op-md-hero .pk-cat{color:#C9A25C}
.op-md-title{font-size:clamp(1.6rem,3.1vw,2.35rem);font-weight:700;line-height:1.55;letter-spacing:.02em;margin:0 0 20px}
.op-md-lead{font-size:.98rem;line-height:2;color:#DCE6F2;margin:0 0 26px;max-width:40em}
.op-md-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.op-md-actions--center{justify-content:center}
.op-md-hero .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.op-md-hero .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.op-md-back{font-size:.82rem;font-weight:600;color:#C9D7E9;text-decoration:underline;text-underline-offset:3px}
.op-md-back:hover{color:#fff}
.op-md-legal{margin-top:20px;font-size:.76rem;line-height:1.85;color:#9FB4D2;max-width:44em}

/* 概要カード（PCのみsticky） */
.op-md-summary{background:#fff;color:var(--md-ink);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:24px 24px 22px;box-shadow:0 18px 44px rgba(5,16,32,.28);position:sticky;top:96px;align-self:start}
.op-md-summary__ttl{font-family:var(--font-en);font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--md-navy);margin:0 0 14px}
.op-md-summary dl{margin:0}
.op-md-summary__row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--md-line)}
.op-md-summary__row:first-child{border-top:0;padding-top:2px}
.op-md-summary__row dt{font-size:.78rem;color:var(--md-muted);flex:0 0 auto;font-weight:600}
.op-md-summary__row dd{font-size:.82rem;color:var(--md-ink);text-align:right;font-weight:600}
.op-md-summary__note{margin:16px 0 0;font-size:.74rem;line-height:1.8;color:var(--md-muted)}
.op-md-summary__cta{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:12px}
.op-md-summary__cta .btn{width:100%}

/* --- Sections --- */
.op-md-section{padding:78px 0}
.op-md-section--alt{background:var(--md-panel)}
.op-md-head{max-width:44em;margin:0 0 36px}
.op-md-head .op-md-eyebrow{color:var(--md-soft)}
.op-md-head h2{font-size:clamp(1.35rem,2.4vw,1.72rem);font-weight:700;color:var(--md-navy);line-height:1.6;letter-spacing:.01em;margin:0}
.op-md-sub{margin:14px 0 0;font-size:.92rem;line-height:2;color:var(--md-muted)}
.op-md-note{margin:18px 0 0;font-size:.78rem;line-height:1.85;color:var(--md-soft)}

/* B. checklist */
.op-md-checklist{display:grid;gap:12px;max-width:52em}
.op-md-checklist li{position:relative;padding:15px 18px 15px 46px;background:#fff;border:1px solid var(--md-line);border-radius:10px;font-size:.9rem;line-height:1.85;color:var(--md-ink)}
.op-md-section--alt .op-md-checklist li{background:#fff}
.op-md-checklist li::before{content:"";position:absolute;left:18px;top:19px;width:9px;height:9px;border-radius:50%;background:var(--md-gold)}

/* C. fails */
.op-md-fails{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.op-md-fail{background:#fff;border:1px solid var(--md-line);border-radius:12px;padding:26px 24px}
.op-md-fail__no{font-family:var(--font-en);font-size:.9rem;font-weight:700;letter-spacing:.1em;color:var(--md-gold)}
.op-md-fail h3{font-size:1rem;font-weight:700;color:var(--md-navy);line-height:1.7;margin:10px 0 10px}
.op-md-fail p{font-size:.86rem;line-height:1.9;color:var(--md-muted)}

/* D. fields grid */
.op-md-grid{display:grid;gap:18px}
.op-md-grid--fields{grid-template-columns:repeat(3,1fr)}
.op-md-card{background:#fff;border:1px solid var(--md-line);border-radius:12px;padding:24px 22px;transition:border-color .2s,box-shadow .2s,transform .2s}
.op-md-card:hover{border-color:var(--md-navy);box-shadow:0 12px 30px rgba(20,53,95,.10);transform:translateY(-2px)}
.op-md-card__no{font-family:var(--font-en);font-size:.72rem;font-weight:700;letter-spacing:.14em;color:var(--md-soft)}
.op-md-card h3{font-size:.98rem;font-weight:700;color:var(--md-navy);line-height:1.6;margin:8px 0 9px}
.op-md-card p{font-size:.85rem;line-height:1.9;color:var(--md-muted)}

/* E. included */
.op-md-included{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:56em}
.op-md-included li{position:relative;padding:13px 16px 13px 42px;background:var(--md-panel);border-radius:10px;font-size:.88rem;line-height:1.8;color:var(--md-ink)}
.op-md-section--alt .op-md-included li{background:#fff;border:1px solid var(--md-line)}
.op-md-included li::before{content:"✓";position:absolute;left:16px;top:12px;font-size:.82rem;font-weight:700;color:var(--md-gold)}

/* F. plans */
.op-md-grid--plans{grid-template-columns:repeat(2,1fr)}
.op-md-plan{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--md-line);border-radius:12px;padding:22px 22px}
.op-md-plan__tag{flex:0 0 auto;display:inline-block;font-size:.76rem;font-weight:700;color:#fff;background:var(--md-navy);border-radius:8px;padding:7px 12px;min-width:5.4em;text-align:center;letter-spacing:.04em}
.op-md-plan p{font-size:.86rem;line-height:1.9;color:var(--md-muted)}

/* H. note box */
.op-md-notebox{background:#fff;border:1px solid var(--md-line);border-left:4px solid var(--md-gold);border-radius:12px;padding:26px 28px}
.op-md-section--alt .op-md-notebox{background:#fff}
.op-md-notelist{display:grid;gap:11px;margin:0 0 20px}
.op-md-notelist li{position:relative;padding-left:22px;font-size:.88rem;line-height:1.9;color:var(--md-ink)}
.op-md-notelist li::before{content:"";position:absolute;left:2px;top:12px;width:7px;height:7px;border-radius:50%;background:var(--md-navy)}

/* I/L. CTA bands */
.op-md-cta-band{background:linear-gradient(120deg,#0C1F38,#14355F 70%);color:#fff;padding:64px 0}
.op-md-cta-band--last{background:linear-gradient(120deg,#0E2440,#14355F 90%)}
.op-md-cta-inner{max-width:46em;margin:0 auto;text-align:center}
.op-md-cta-band h2{font-size:clamp(1.25rem,2.3vw,1.6rem);font-weight:700;line-height:1.7;margin:0 0 8px}
.op-md-cta-lead{font-size:.9rem;line-height:2;color:#DCE6F2;margin:14px auto 4px;max-width:42em}
.op-md-eyebrow--gold{color:#D9B36A}
.op-md-cta-band .op-md-actions{margin-top:24px}
.op-md-cta-band .btn-white{background:#fff;color:var(--md-navy);border-color:#fff}
.op-md-cta-band .btn-white:hover{background:#EEF3F9}
.op-md-cta-band .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.op-md-cta-band .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.op-md-back--light{color:#C9D7E9}
.op-md-back--light:hover{color:#fff}
.op-md-legal--light{color:#9FB4D2;text-align:center;margin-left:auto;margin-right:auto}

/* J. FAQ (reuse .x-faq base from materials) */
.op-md-faq{max-width:860px}

/* K. related */
.op-md-related{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.op-md-related__col h3{font-size:.96rem;font-weight:700;color:var(--md-navy);margin:0 0 14px}
.op-md-related__col ul{display:grid;gap:2px}
.op-md-related__col li a{display:flex;align-items:baseline;gap:.4em;padding:12px 4px;border-bottom:1px solid var(--md-line);font-size:.88rem;color:var(--md-ink);font-weight:500}
.op-md-related__col li a:hover{color:var(--md-navy);text-decoration:none}
.op-md-related__col .ar{font-family:var(--font-en);color:var(--md-soft);margin-left:auto}
.op-md-soon{display:inline-block;font-size:.66rem;font-weight:700;color:#33507A;background:#F4F7FB;border:1px solid var(--md-line);border-radius:999px;padding:1px 8px;margin-left:6px}

/* --- Responsive --- */
@media (max-width:960px){
  .op-md-hero__grid{grid-template-columns:1fr;gap:32px}
  .op-md-summary{position:static;top:auto;max-width:440px;box-shadow:0 12px 30px rgba(5,16,32,.24)}
  .op-md-fails,.op-md-grid--fields{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .op-md-wrap{padding-left:18px;padding-right:18px}
  .op-md-section{padding:56px 0}
  .op-md-hero{padding:32px 0 56px}
  .op-md-fails,.op-md-grid--fields,.op-md-grid--plans,.op-md-included,.op-md-related{grid-template-columns:1fr}
  .op-md-actions .btn{width:100%;justify-content:center}
  .op-md-actions{flex-direction:column;align-items:stretch}
  .op-md-actions--center .op-md-back{text-align:center}
  .op-md-summary{max-width:none}
  .op-md-plan{flex-direction:column;gap:10px}
  .op-md-plan__tag{min-width:0}
}
@media (prefers-reduced-motion:reduce){
  .op-md-card{transition:none}
}
