@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Noto+Sans+JP:wght@300;400;500;600;700&family=Shippori+Mincho:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@400;500;600;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap";
:root{--color-bg:#fff;--color-bg-soft:#f6f8fb;--color-bg-accent:#eff6ff;--color-text:#1e293b;--color-text-sub:#64748b;--color-text-muted:#94a3b8;--color-blue:#3b82f6;--color-blue-light:#60a5fa;--color-blue-pale:#dbeafe;--color-blue-glow:#3b82f61a;--color-teal:#14b8a6;--color-teal-pale:#ccfbf1;--color-emerald:#10b981;--border-light:#0000000f;--border-medium:#0000001a;--font-display:"Outfit", "Zen Kaku Gothic New", sans-serif;--font-body:"Noto Sans JP", "Outfit", sans-serif;--font-serif:"Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--paper:#fdfdfc;--navy:#1f3a5f;--gold:#b9a26b;--gold-ink:#9e8650;--top-paper:#fdfdfc;--top-kinari:#f7f6f2;--top-navy:#1f3a5f;--top-ink:#23282e;--top-ink-sub:#4b5158;--top-ink-faint:#8a8f96;--top-line:#1f3a5f29;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--radius:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:100px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);scroll-behavior:smooth;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased}body{letter-spacing:.02em;font-weight:400;line-height:1.8;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul{list-style:none}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 clamp(1.5rem,5vw,4rem)}.container-narrow{max-width:900px;margin:0 auto;padding:0 clamp(1.5rem,5vw,4rem)}.reveal-up,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transition:opacity .45s var(--ease-out), transform .45s var(--ease-out);transform:none}.js-reveal .reveal-up:not(.revealed){opacity:0;transform:translateY(40px)}.js-reveal .reveal-left:not(.revealed){opacity:0;transform:translate(-40px)}.js-reveal .reveal-right:not(.revealed){opacity:0;transform:translate(40px)}.js-reveal .reveal-scale:not(.revealed){opacity:0;transform:scale(.95)}.reveal-line{display:inline-block;position:relative}.reveal-line:after{content:"";background:linear-gradient(90deg, var(--color-blue), var(--color-teal));width:0;height:2px;transition:width 1s var(--ease-out);position:absolute;bottom:-4px;left:0}.reveal-line.revealed:after{width:100%}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}.delay-600{transition-delay:.6s}.delay-700{transition-delay:.7s}.delay-800{transition-delay:.8s}section{position:relative}:root{--fs-body:1.0625rem;--fs-body-lg:1.125rem;--fs-note:.875rem;--fs-note-min:.8125rem;--fs-label:.75rem;--lh-body:1.95;--header-h:89px}body{line-break:strict;word-break:auto-phrase}p,li,dd,dt,figcaption,blockquote{text-wrap:pretty}h1,h2,h3,h4,h5{text-wrap:balance}.ds-num,.ds-price,.ds-figure{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"palt" 1, "lnum" 1, "tnum" 1}h1,h2,h3,h4,.ds-heading{font-feature-settings:"palt" 1}.ds-tag{font-family:var(--font-serif);font-size:var(--fs-note);letter-spacing:.06em;border:1.5px solid var(--gold);color:var(--gold-ink);white-space:nowrap;border-radius:3px;padding:.22rem .7rem;font-weight:500;line-height:1.5;display:inline-block}.ds-tag-navy{border-color:var(--navy);color:var(--navy)}.ds-tag-fill{background:var(--gold);border-color:var(--gold);color:#fff}.ds-tags{flex-wrap:wrap;gap:.5rem;display:flex}.ds-calc{border-left:3px solid var(--gold);font-size:var(--fs-body);letter-spacing:.03em;color:var(--top-ink);padding:.15rem 0 .15rem 1rem;line-height:2}.ds-calc .ds-num{color:var(--navy);margin:0 .06em;font-size:1.5em;font-weight:600}.ds-deflist{grid-template-columns:max-content minmax(0,1fr);gap:.55rem clamp(1.2rem,3vw,2.4rem);display:grid}.ds-deflist dt{font-family:var(--font-serif);font-size:var(--fs-body);letter-spacing:.12em;color:var(--gold-ink);white-space:nowrap;font-weight:600}.ds-deflist dd{font-size:var(--fs-body);letter-spacing:.03em;color:var(--top-ink);line-height:1.9}.ds-table{border-top:3px solid var(--navy);border-bottom:3px solid var(--navy);padding:0}.ds-table:before,.ds-table:after{content:"";background:var(--navy);height:1px;display:block}.ds-table:before{margin-top:3px;margin-bottom:clamp(2rem,4vw,2.8rem)}.ds-table:after{margin-top:clamp(2rem,4vw,2.8rem);margin-bottom:3px}.ds-group-head{font-family:var(--font-serif);letter-spacing:.3em;color:var(--gold-ink);border-bottom:1px solid var(--top-line);margin-bottom:clamp(1.6rem,3.2vw,2.2rem);padding-bottom:.8rem;font-size:clamp(1.02rem,2vw,1.15rem);font-weight:700}.ds-group+.ds-group{border-top:2px solid var(--navy);margin-top:clamp(4rem,7vw,5.4rem);padding-top:clamp(2.6rem,4.5vw,3.4rem)}.ds-row+.ds-row{border-top:1px solid var(--top-line);margin-top:clamp(1.4rem,3vw,1.9rem);padding-top:clamp(1.4rem,3vw,1.9rem)}.ds-row-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.ds-row-title{flex-wrap:wrap;align-items:center;gap:.5rem .8rem;min-width:0;display:flex}.ds-row-name{font-family:var(--font-serif);letter-spacing:.04em;color:var(--top-ink);font-size:clamp(1.15rem,2.4vw,1.35rem);font-weight:600;line-height:1.6}.ds-row-note{font-size:var(--fs-note);letter-spacing:.03em;color:var(--top-ink-faint);margin-top:.4rem;line-height:1.9}.ds-row-body{font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:.03em;color:var(--top-ink-sub);margin-top:.6rem}.ds-price{font-family:var(--font-serif);color:var(--navy);text-align:right;white-space:nowrap;line-height:1.3}.ds-price .ds-price-lead{font-size:var(--fs-note-min);color:var(--top-ink-faint);letter-spacing:.08em;margin-right:.45em;font-weight:500}.ds-price .ds-price-num{letter-spacing:.01em;font-size:clamp(1.7rem,3.4vw,2.1rem);font-weight:600}.ds-price .ds-price-unit{letter-spacing:.04em;margin-left:.12em;font-size:.86rem;font-weight:500}.ds-price-text{font-family:var(--font-serif);letter-spacing:.04em;color:var(--top-ink);text-align:right;white-space:nowrap;font-size:1rem;font-weight:500}.ds-tier{justify-content:space-between;align-items:baseline;gap:.9rem;padding:.7rem 0;display:flex}.ds-tiers{max-width:17.5rem;margin-top:1rem;margin-left:auto}.ds-tier+.ds-tier{border-top:1px solid var(--top-line)}.ds-tier-label{font-family:var(--font-serif);font-size:var(--fs-body);letter-spacing:.06em;color:var(--gold-ink);white-space:nowrap}.ds-notes{margin-top:clamp(1.6rem,3vw,2.2rem)}.ds-notes p{font-size:var(--fs-note-min);letter-spacing:.02em;color:var(--top-ink-faint);text-indent:-1.1em;padding-left:1.1em;line-height:1.95}.ds-notes p+p{margin-top:.35rem}.ds-side-tabs{z-index:900;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:clamp(7rem,26vh,13rem);left:0}.ds-side-tab{writing-mode:vertical-rl;font-family:var(--font-serif);font-size:var(--fs-note);letter-spacing:.28em;color:#fff;text-indent:.28em;transition:opacity .3s var(--ease-out);border-radius:0 3px 3px 0;padding:1.15rem .62rem 1.4rem;font-weight:600;line-height:1;box-shadow:2px 2px 10px #1f3a5f2e}.ds-side-tab:hover{opacity:.85}.ds-side-tab-diagnostic{background:var(--gold);border:1px solid #ffffff8c;border-left:none}.ds-side-tab-consult{background:var(--navy);border:1px solid #ffffff8c;border-left:none}@media (max-width:768px){.ds-side-tabs{flex-direction:row;gap:0;inset:auto 0 0}.ds-side-tab{writing-mode:horizontal-tb;text-align:center;text-indent:0;letter-spacing:.22em;padding:.95rem 1rem calc(.95rem + env(safe-area-inset-bottom));border-radius:0;flex:1;box-shadow:0 -4px 16px #1f3a5f26}}@media (max-width:600px){.ds-row-head{flex-direction:column;align-items:flex-start;gap:.5rem}.ds-price,.ds-price-text{text-align:left}.ds-tier{align-items:baseline}.ds-deflist{grid-template-columns:1fr;row-gap:.2rem}.ds-deflist dd{margin-bottom:.7rem}}.top-hero-scroll{flex-direction:column;align-items:center;gap:.8rem;display:flex;position:absolute;bottom:2rem;right:clamp(1.5rem,4vw,3rem)}.top-hero-scroll span{writing-mode:vertical-rl;font-family:var(--font-display);letter-spacing:.3em;color:var(--gold-ink);font-size:.6875rem;font-weight:500}.top-hero-scroll:after{content:"";background:var(--top-ink-faint);opacity:.5;transform-origin:top;width:1px;height:2.6rem;animation:3.2s ease-in-out infinite heroScrollLine}@keyframes heroScrollLine{0%{opacity:.5;transform:scaleY(0)}55%{opacity:.5;transform:scaleY(1)}90%{opacity:0;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@media (max-width:900px){.top-hero-scroll{display:none}}@media (prefers-reduced-motion:reduce){.top-hero-scroll:after{animation:none}}.hero-seg,.keep{white-space:nowrap;display:inline-block}@media (max-width:600px){.rc-hero-title{font-size:clamp(1.5rem,6.2vw,1.68rem)}}.no-split{white-space:nowrap;max-width:100%;display:inline-block}@media (max-width:600px){.no-split{white-space:normal}}.ind-nav a,.ind-header-btn{font-size:var(--fs-note)!important}.ind-f-nav a,.ind-f-info p{line-height:1.95;font-size:var(--fs-note)!important}.ind-f-bottom{font-size:var(--fs-note-min)!important}.text-sm{font-size:var(--fs-note)!important}.text-xs{font-size:var(--fs-note-min)!important}main h1,main h2,main h3,main h4,.top-matrix-cell,.pl-name,.top-value-tag,.pf-deflist dd,.top-profile-creds-list li,.top-profile-name,.pf-lead p,.pf-role,.rc-step-body,.bl-author-desc,.bl-author-name,.bl-author-title,.ds-tag,.ds-tier-label{word-break:keep-all;overflow-wrap:break-word;line-break:strict;text-wrap:pretty}main p,main li,main dt,main dd,main blockquote{line-break:strict;overflow-wrap:break-word}main :where(div,section,article,li,dd,.reveal-on-scroll){min-width:0}
.ind-header{z-index:1000;width:100%;transition:padding .4s var(--ease-out,cubic-bezier(.16,1,.3,1)), background .4s ease, box-shadow .4s ease;background:0 0;padding:22px 0;position:fixed;top:0;left:0}.ind-header.scrolled{background:var(--paper,#fdfdfc);box-shadow:0 1px 0 var(--top-line,#1f3a5f1f);padding:13px 0}.ind-header-grid{justify-content:space-between;align-items:center;display:flex}.ind-logo{align-items:center;gap:.5rem;display:flex}.ind-logo-ja{font-family:var(--font-serif,serif);letter-spacing:.13em;color:var(--top-ink,#23282e);font-size:1.23rem;font-weight:600;transition:color .3s}.ind-nav{align-items:center;gap:2rem;display:flex}.ind-nav a{letter-spacing:.08em;color:var(--top-ink-sub,#4b5158);font-size:.82rem;font-weight:500;transition:color .25s}.ind-nav a:hover{color:var(--top-navy,#1f3a5f)}.ind-nav a.text-cyan{color:var(--top-navy,#1f3a5f);font-weight:600}.ind-header-btn{font-family:var(--font-body,sans-serif);letter-spacing:.1em;box-shadow:none;transition:background .3s var(--ease-out,ease), transform .3s var(--ease-out,ease);border:none;border-radius:2px;padding:.62rem 1.7rem;font-size:.78rem;font-weight:500;background:var(--top-navy,#1f3a5f)!important;color:#fff!important}.ind-header-btn:hover{transform:translateY(-1px);background:#2a4a76!important}.ind-header.scrolled .ind-header-btn{background:var(--top-navy,#1f3a5f)!important}.ind-menu-btn{cursor:pointer;z-index:1002;background:0 0;border:none;width:30px;height:22px;padding:0;display:none;position:relative}.ind-menu-btn span{background:var(--top-ink,#23282e);width:100%;height:1px;transition:transform .35s var(--ease-out,ease), opacity .25s ease;position:absolute;left:0}.ind-menu-btn span:first-child{top:2px}.ind-menu-btn span:nth-child(2){top:10px}.ind-menu-btn span:nth-child(3){top:18px}.ind-menu-btn.is-open span:first-child{transform:translateY(8px)rotate(45deg)}.ind-menu-btn.is-open span:nth-child(2){opacity:0}.ind-menu-btn.is-open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.ind-mobile-backdrop{opacity:0;visibility:hidden;z-index:1000;background:#23282e59;transition:opacity .35s,visibility .35s;position:fixed;inset:0}.ind-mobile-backdrop.is-open{opacity:1;visibility:visible}.ind-mobile-nav{background:var(--paper,#fdfdfc);border-left:1px solid var(--top-line,#1f3a5f29);visibility:hidden;width:min(78vw,320px);height:100dvh;transition:transform .4s var(--ease-out,cubic-bezier(.16,1,.3,1)), visibility .4s;z-index:1001;padding:6.5rem 2rem 2.5rem;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.ind-mobile-nav.is-open{visibility:visible;transform:translate(0)}.ind-mobile-nav ul{margin:0;padding:0;list-style:none}.ind-mobile-nav li{border-bottom:1px solid var(--top-line,#1f3a5f29)}.ind-mobile-nav li a{letter-spacing:.1em;color:var(--top-ink,#23282e);padding:1.05rem .2rem;font-size:1rem;display:block}.ind-mobile-nav .ind-mobile-diag{color:var(--gold-ink,#9e8650);padding-left:1rem;position:relative}.ind-mobile-nav .ind-mobile-diag:before{content:"";background:var(--gold,#b9a26b);width:4px;height:1px;position:absolute;top:50%;left:0}.ind-mobile-cta{text-align:center;background:var(--top-navy,#1f3a5f);color:#fff;letter-spacing:.1em;border-radius:2px;margin-top:2rem;padding:.95rem 1rem;font-size:.9rem;display:block}@media (max-width:900px){.ind-nav{display:none}.ind-menu-btn{display:block}}@media (min-width:901px){.ind-mobile-nav,.ind-mobile-backdrop{display:none}}@media (prefers-reduced-motion:reduce){.ind-mobile-nav,.ind-mobile-backdrop,.ind-menu-btn span{transition:none}}
.ind-footer{background:var(--top-paper,#fdfdfc);color:var(--top-ink-sub,#4b5158);border-top:1px solid var(--top-line,#1f3a5f29);padding:clamp(4rem,7vw,5.5rem) 0 0}.ind-footer-grid{grid-template-columns:1fr;gap:2.5rem;padding-bottom:3.2rem;display:grid}@media (min-width:768px){.ind-footer-grid{grid-template-columns:2fr 1fr 1fr}}.ind-f-title{font-family:var(--font-display,sans-serif);font-size:var(--fs-label);letter-spacing:.3em;text-transform:uppercase;color:var(--top-ink-faint,#8a8f96);margin-bottom:.5rem;font-weight:500}.ind-f-subtitle{font-family:var(--font-serif,serif);letter-spacing:.12em;color:var(--top-ink,#23282e);margin-bottom:1.1rem;font-size:1.18rem;font-weight:600}.ind-f-info p{color:var(--top-ink-sub,#4b5158);letter-spacing:.03em;font-size:.85rem;line-height:2}.ind-f-nav{flex-direction:column;gap:.7rem;display:flex}.ind-f-nav h5{letter-spacing:.22em;text-transform:uppercase;color:var(--top-ink-faint,#8a8f96);margin-bottom:.3rem;font-size:.62rem;font-weight:600}.ind-f-nav a{letter-spacing:.04em;color:var(--top-ink-sub,#4b5158);font-size:.85rem;transition:color .25s}.ind-f-nav a:hover{color:var(--top-navy,#1f3a5f)}.ind-f-bottom{text-align:center;letter-spacing:.08em;border-top:1px solid var(--top-line,#1f3a5f29);color:var(--top-ink-faint,#8a8f96);padding:1.4rem 0;font-size:.7rem}
