/* WordPress dynamic templates */
.site-main{background:#fff}
.wp-page-body{max-width:840px;margin:0 auto}
.wp-page-body>*+*{margin-top:1.1em}
.wp-page-body h2,.wp-page-body h3{font-family:'Noto Serif JP',serif;color:var(--g900);font-weight:900;line-height:1.45}
.wp-page-body p,.wp-page-body li{line-height:1.95;color:var(--g700)}
.wp-page-body img{max-width:100%;height:auto}
.wp-page-body a{color:var(--cta-red);font-weight:700;text-decoration:underline;text-underline-offset:3px}

.nv .nav-dd{position:relative;display:flex}
.nv .nav-dd-main{display:flex;align-items:center;gap:7px}
.nv .nav-dd-main::after{content:'';width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.8}
.nv .nav-dd-menu{position:absolute;top:100%;left:50%;min-width:250px;padding:8px 0;background:#fff;border:1px solid var(--g200);box-shadow:0 18px 40px rgba(19,26,62,.16);transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:1100}
.nv .nav-dd:hover .nav-dd-menu,.nv .nav-dd:focus-within .nav-dd-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.nv .nav-dd-menu a{display:block;padding:13px 18px;color:var(--g900);background:#fff;font-size:13px;font-weight:700;line-height:1.45;letter-spacing:0;text-decoration:none;white-space:nowrap}
.nv .nav-dd-menu a:hover,.nv .nav-dd-menu a:focus{color:var(--cta-red);background:var(--navy-pale)}
.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--g200);background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;cursor:pointer}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--navy);transition:transform .2s ease,opacity .2s ease}

@media(max-width:768px){
  .hd-r{margin-left:auto}
  .nav-toggle{display:inline-flex}
  .hd.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hd.nav-open .nav-toggle span:nth-child(2){opacity:0}
  .hd.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hd .nv{display:block;max-height:0;overflow:hidden;opacity:0;background:var(--navy);transition:max-height .25s ease,opacity .2s ease;border-top:0}
  .hd.nav-open .nv{max-height:80vh;opacity:1;overflow-y:auto;border-top:1px solid rgba(255,255,255,.12)}
  .hd .nv-in{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:8px 16px 16px}
  .hd .nv a{display:block;padding:14px 0;color:rgba(255,255,255,.88);border-bottom:1px solid rgba(255,255,255,.10);font-size:15px;font-weight:700}
  .hd .nv a:hover,.hd .nv a:focus{color:#fff;background:transparent}
  .hd .nav-dd{display:block}
  .hd .nav-dd-main{display:block}
  .hd .nav-dd-main::after{display:none}
  .hd .nav-dd-menu{position:static;min-width:0;padding:2px 0 8px;margin:0;background:rgba(255,255,255,.06);border:0;box-shadow:none;transform:none;opacity:1;visibility:visible;pointer-events:auto}
  .hd .nav-dd-menu a{padding:11px 0 11px 18px;color:rgba(255,255,255,.78);background:transparent;border-bottom:0;font-size:13px;font-weight:600;white-space:normal}
  .hd .nav-dd-menu a:hover,.hd .nav-dd-menu a:focus{color:#fff;background:rgba(255,255,255,.06)}
}

.site-main .art-card-ed .body .ex,
.site-main .pain-c p,
.site-main .svc-c .svc-bd p,
.site-main .svc-c .svc-bd li,
.site-main .sim-ph p,
.site-main .cta-top .cta-card p,
.site-main .case-mini > blockquote,
.site-main .ct-aside-h p,
.site-main .ct-step .tx p,
.site-main .ct-trust li,
.site-main .ct-field input,
.site-main .ct-field select,
.site-main .ct-field textarea,
.site-main .ct-field .hint,
.site-main .ct-files-note,
.site-main .ct-privacy label,
.site-main .ct-alt-c p,
.site-main .fq-fallback p,
.site-main .tl-step p,
.site-main .doc-card p,
.site-main .ft-card p,
.site-main .gr-vs-v p,
.site-main .gr-do li,
.site-main .pt-intro p,
.site-main .tc ul li,
.site-main .rf p,
.site-main .ptfl p,
.site-main .ans-block p,
.site-main .pp ul li,
.site-main .fc-i p,
.site-main .brk-col p,
.site-main .flow-diag p,
.site-main .pc-col p,
.site-main .pc-solve p,
.site-main .rec-list p,
.site-main .case-mag p,
.site-main .docs-list li,
.site-main .ntc-wrap p,
.site-main .ntc-msg p,
.site-main .cmp-lead p,
.site-main .fits-grid p,
.site-main .md-ch-c p,
.site-main .md-flow p,
.site-main .md-cs-c p,
.site-main .sv-card p,
.site-main .sv-card li,
.site-main .sv-guide-box p,
.site-main .thanks-card p,
.site-main .thanks-card li{font-size:14px !important;line-height:1.9 !important}

.site-main .cmp-v2,
.site-main .cmp-ed,
.site-main .pr-cmp,
.site-main .sv-cmp th,
.site-main .sv-cmp td,
.site-main .art-body th,
.site-main .art-body td{font-size:14px !important;line-height:1.75 !important}

@media(max-width:768px){
  .site-main .cmp-w,
  .site-main .cmp-v2,
  .site-main .cmp-ed,
  .site-main .sv-cmp,
  .site-main .art-cmp,
  .site-main .wp-block-table,
  .site-main .pr-cmp,
  .site-main .brk-wrap,
  .site-main .ov-wrap{display:block;max-width:100%;overflow-x:auto !important;-webkit-overflow-scrolling:touch}
  .site-main .cmp,
  .site-main .cmp-v2 table,
  .site-main .cmp-ed table,
  .site-main .sv-cmp table,
  .site-main .art-cmp table,
  .site-main .wp-block-table table,
  .site-main .pr-cmp table,
  .site-main .brk-wrap table,
  .site-main .spec{min-width:640px !important;width:100%}
  .site-main .article-body,
  .site-main .art-body{overflow-x:auto}
  .site-main .article-body table,
  .site-main .art-body table{min-width:640px}
  .site-main table th,
  .site-main table td{word-break:keep-all}
  .site-main .article-body,
  .site-main .art-body{font-size:16px !important}
  .site-main .article-body p,
  .site-main .article-body li,
  .site-main .art-body p,
  .site-main .art-body li{font-size:16px !important;line-height:2 !important}
  .site-main .art-card-ed .body .ex,
  .site-main .case-mini > blockquote,
  .site-main .faq-a,
  .site-main .fq-a,
  .site-main .gr-faq-a,
  .site-main .md-faq-a{font-size:14px !important;line-height:1.9 !important}
}

main.site-main > .cta-v2{display:none}
.site-footer-cta .c{display:block}
.site-footer-cta .cta-v2-in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,380px);gap:48px;align-items:center;width:100%}
.site-footer-cta .kicker,.site-footer-cta h2,.site-footer-cta p{grid-column:1}
.site-footer-cta h2{margin-bottom:18px}
.site-footer-cta p{margin:0;max-width:680px;color:rgba(255,255,255,.86);line-height:1.9}
.site-footer-cta .cta-bs{grid-column:2;grid-row:1 / span 4;align-self:center;justify-self:end;width:min(100%,380px);margin:0;display:flex;flex-direction:column;align-items:stretch;gap:12px}
.site-footer-cta .cta-bs .btn{width:100%;min-height:58px;padding:18px 28px;display:inline-flex;align-items:center;justify-content:center;text-align:center}

.cat-tabs-ed{display:flex;flex-wrap:wrap;gap:0;margin-bottom:48px;border-bottom:2px solid var(--g900);padding-bottom:0;align-items:flex-end}
.cat-tabs-ed a{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;font-size:13px;font-weight:700;color:var(--g500);background:transparent;border-bottom:3px solid transparent;margin-bottom:-2px;text-decoration:none;transition:all .2s;position:relative}
.cat-tabs-ed a .cnt{font-family:var(--en);font-size:10px;color:var(--g400);font-weight:700}
.cat-tabs-ed a:hover,.cat-tabs-ed a.active{color:var(--cta-red);border-bottom-color:var(--cta-red)}
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px}
.art-grid-ed{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:56px}
.art-card-ed{background:#fff;text-decoration:none;color:var(--g900);display:block;transition:all .25s;position:relative;border:1px solid var(--g200)}
.art-card-ed:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(33,44,96,.10);border-color:var(--navy)}
.art-card-ed .thumb{position:relative;height:220px;overflow:hidden;background:var(--g100)}
.art-card-ed .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.art-card-ed:hover .thumb img{transform:scale(1.05)}
.art-card-ed .thumb .cat-mini{position:absolute;top:14px;left:14px;background:var(--cta-red);color:#fff;font-family:var(--en);font-size:10px;font-weight:800;padding:5px 11px;z-index:2}
.art-card-ed .thumb .num-mark{position:absolute;bottom:14px;right:14px;font-family:var(--en);font-size:36px;font-weight:900;color:#fff;line-height:.85;font-style:italic;text-shadow:0 2px 12px rgba(0,0,0,.3);z-index:2}
.art-card-ed .body{padding:24px 26px}
.art-card-ed .body .meta{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-family:var(--en);font-size:10px;color:var(--g500);font-weight:700}
.art-card-ed .body .meta::before{content:'';width:24px;height:1px;background:var(--cta-red)}
.art-card-ed .body h3{font-family:'Noto Serif JP',serif;font-size:18px;font-weight:900;line-height:1.6;margin:0 0 12px;color:var(--g900)}
.art-card-ed .body .ex{font-size:13px;color:var(--g600);line-height:1.85;margin:0 0 16px}
.art-card-ed .body .more{font-family:var(--en);font-size:11px;font-weight:800;color:var(--cta-red);display:inline-flex;align-items:center;gap:8px;text-transform:uppercase}

.sb-pop{display:flex;flex-direction:column;gap:14px}
.sb-pop .pop-it{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding-bottom:14px;border-bottom:1px dashed var(--g200)}
.sb-pop .pop-it:last-child{border-bottom:none;padding-bottom:0}
.sb-pop .pop-it .rk{font-family:var(--en);font-size:18px;font-weight:900;color:var(--cta-red);line-height:1;font-style:italic}
.sb-pop .pop-it a{font-size:12px;line-height:1.6;color:var(--g900);text-decoration:none;font-weight:700}
.sb-pop .pop-it a:hover{color:var(--cta-red)}

.wp-pagination{display:flex;gap:8px;align-items:center;margin:28px 0 0}
.wp-pagination .page-numbers{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--g200);font-family:var(--en);font-size:11px;font-weight:800;color:var(--g700);text-decoration:none;background:#fff}
.wp-pagination .page-numbers.current,.wp-pagination a:hover{background:var(--navy);border-color:var(--navy);color:#fff}

.art-hero{background:linear-gradient(135deg,#131A3E 0%,#212C60 45%,#2A3875 100%);color:#fff;padding:72px 0 64px;position:relative;overflow:hidden}
.art-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:40px 40px}
.art-hero .c{position:relative;z-index:2}
.art-hero .meta{font-family:var(--en);font-size:11px;font-weight:800;color:rgba(255,255,255,.55);margin-bottom:14px}
.art-hero h1{font-family:'Noto Serif JP',serif;font-weight:900;line-height:1.35;font-size:42px;max-width:880px;margin:0}
.article-shell{max-width:880px;margin:0 auto}
.article-featured{margin-bottom:36px;border:1px solid var(--g200)}
.article-featured img{display:block;width:100%;height:auto}
.article-body{font-size:16px;line-height:2;color:var(--g800)}
.article-body h2{font-family:'Noto Serif JP',serif;font-size:28px;font-weight:900;color:var(--g900);line-height:1.45;margin:2.2em 0 .8em;padding-bottom:12px;border-bottom:2px solid var(--navy)}
.article-body h3{font-family:'Noto Serif JP',serif;font-size:22px;font-weight:900;color:var(--g900);line-height:1.5;margin:1.8em 0 .7em}
.article-body p{margin:0 0 1.2em}
.article-body ul,.article-body ol{padding-left:1.4em;margin:0 0 1.3em}
.article-body img{max-width:100%;height:auto}

.case-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:0}
.case-grid-3 .case-note{grid-column:1/-1;margin-top:8px;font-size:11px;color:var(--g500);line-height:1.7;text-align:center;padding:0 8px}
.case-mini-tbl{width:100%;border-collapse:collapse;font-size:13px}
.case-mini-tbl tr{border-bottom:1px solid var(--g200)}
.case-mini-tbl tr:first-child{border-top:1px solid var(--g200)}
.case-mini-tbl th{text-align:left;font-weight:700;color:var(--g600);font-size:12px;width:36%;padding:10px 0;background:transparent;vertical-align:middle}
.case-mini-tbl td{padding:10px 0;font-family:'Noto Serif JP',serif;font-weight:900;color:var(--navy);font-size:18px;line-height:1.2}
.case-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
.case-facts{background:#fff;border:1px solid var(--g200);padding:28px;position:sticky;top:24px}
.case-facts h2{font-family:'Noto Serif JP',serif;font-size:20px;font-weight:900;margin:0 0 18px;color:var(--g900)}

@media(max-width:980px){
  .case-grid-3{grid-template-columns:1fr 1fr}
  .case-detail-grid{grid-template-columns:1fr}
  .case-facts{position:static}
}
@media(max-width:768px){
  body{padding-bottom:64px}
  .site-footer-cta .cta-v2-in{grid-template-columns:1fr;gap:24px}
  .site-footer-cta .cta-bs{grid-column:1;grid-row:auto;justify-self:stretch;width:100%}
  .art-layout{grid-template-columns:1fr;gap:32px}
  .art-grid-ed{grid-template-columns:1fr;gap:20px}
  .cat-tabs-ed{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .cat-tabs-ed a{flex-shrink:0;padding:12px 16px;font-size:12px}
  .art-card-ed .body{padding:20px 22px}
  .art-card-ed .body h3{font-size:16px}
  .art-hero{padding:48px 0}
  .art-hero h1{font-size:28px}
  .article-body{font-size:15px}
  .article-body h2{font-size:23px}
  .article-body h3{font-size:19px}
}
@media(max-width:680px){
  .case-grid-3{grid-template-columns:1fr}
}
