:root{--font-serif:"Noto Serif JP", Georgia, "Times New Roman", serif;--font-sans:"Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--paper:#eae5d8;--paper-light:#efeadd;--card-bg:#f2eee3;--ink:#181d21;--ink-muted:#4a5156;--ink-light:#5f666b;--primary:#e84d26;--secondary:#1f3ecf;--accent-yellow:#d8e221;--border-color:#c9c3b4;--highlight:#f3cf5d8c;--radius-sm:4px;--radius-md:8px;--transition-smooth:all .4s cubic-bezier(.22, .8, .3, 1);--rule:1px solid var(--border-color);--rule-ink:1px solid var(--ink);--rule-double:3px double var(--ink);--live:#136738;--ghost:#181d2112;--ease-media:cubic-bezier(.22, .8, .3, 1);--speed:.6s}*{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--paper);scroll-behavior:smooth;color:var(--ink)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.8;overflow-x:hidden}.overlay-grain{z-index:9999;pointer-events:none;opacity:.04;mix-blend-mode:multiply;position:fixed;inset:0}.overlay-grain:before{content:"";filter:url(#fGrain);position:absolute;inset:0}a{color:inherit;transition:var(--transition-smooth);text-decoration:none}button{font-family:var(--font-sans);cursor:pointer;background:0 0;border:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--ink-light)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);letter-spacing:.05em;color:var(--ink);font-weight:700}p{color:var(--ink-muted)}.page-title{font-family:var(--font-serif);letter-spacing:.03em;font-size:clamp(34px,5vw,56px);line-height:1.35}.section-title{font-family:var(--font-serif);font-size:clamp(22px,3vw,32px);line-height:1.3}.subtitle,.section-desc{text-wrap:pretty}.mono{font-family:var(--font-mono);letter-spacing:.15em;font-size:max(11px,.85em)}.text-marker{background:linear-gradient(transparent 50%, var(--highlight) 50%);display:inline}.container{max-width:1200px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}.section-yohaku{padding-top:clamp(32px,5vw,64px);padding-bottom:clamp(32px,5vw,64px)}.section-yohaku+.section-yohaku,.section-yohaku+section,section+.section-yohaku{padding-top:0}.grid-cols-2{grid-template-columns:repeat(2,1fr);gap:clamp(24px,4vw,48px);display:grid}.grid-cols-3{grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,32px);display:grid}@media (width<=860px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}}.card-media{background:var(--card-bg);border:var(--rule);transition:transform var(--speed) var(--ease-media), border-color var(--speed) var(--ease-media), box-shadow var(--speed) var(--ease-media);border-radius:2px;padding:32px;position:relative;overflow:hidden}.card-media:before{content:"";background:var(--primary);transform-origin:0;height:2px;transition:transform var(--speed) var(--ease-media);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.card-media:hover{border-color:var(--ink-muted);transform:translateY(-2px);box-shadow:0 8px 24px #181d210f}.card-media:hover:before{transform:scaleX(1)}.card-media h3 em{background:linear-gradient(transparent 16%, var(--highlight) 16% 88%, transparent 88%) no-repeat 0 0/0% 100%;font-style:normal;transition:background-size .45s cubic-bezier(.3,.7,.3,1)}.card-media:hover h3 em{background-size:100% 100%}.card-top{border-bottom:var(--rule);justify-content:space-between;align-items:center;margin-bottom:4px;padding-bottom:8px;font-size:11px;display:flex}.chip-outline{font-family:var(--font-mono);letter-spacing:.1em;border:var(--rule);text-transform:uppercase;border-radius:2px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.btn-ink-circle{background:var(--ink);width:42px;height:42px;color:var(--paper);transition:var(--transition-smooth);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.btn-ink-circle svg{color:var(--paper);transition:transform .4s cubic-bezier(.22,.8,.3,1)}.btn-ink-circle:hover{background:var(--primary);transform:translate(4px)}.btn-ink-circle:hover svg{transform:scale(1.1)}.badge-media{font-family:var(--font-mono);letter-spacing:.2em;color:var(--ink-muted);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:700;display:inline-flex}.badge-media:before{content:"";background:var(--primary);flex-shrink:0;width:16px;height:1px}.link-draw{letter-spacing:.1em;color:var(--ink);cursor:pointer;align-items:center;gap:12px;font-size:14px;font-weight:700;display:inline-flex}.link-draw .tx{border-bottom:1.5px solid var(--border-color);background-image:linear-gradient(var(--primary), var(--primary));transition:background-size var(--speed) var(--ease-media), color var(--speed) var(--ease-media), border-color var(--speed) var(--ease-media);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1.5px;padding-bottom:2px}.link-draw:hover .tx{color:var(--primary);background-size:100% 1.5px;border-color:#0000}.btn-yohaku-primary{background:var(--ink);color:var(--paper);font-family:var(--font-sans);letter-spacing:.15em;transition:var(--transition-smooth);border:1px solid var(--ink);white-space:nowrap;border-radius:100px;flex-shrink:0;align-items:center;gap:12px;padding:14px 28px;font-size:13.5px;font-weight:700;display:inline-flex}.btn-yohaku-primary:hover{background:var(--primary);border-color:var(--primary);color:var(--paper);transform:translateY(-2px);box-shadow:0 8px 16px #e84d2626}.btn-yohaku-secondary{color:var(--ink);font-family:var(--font-sans);letter-spacing:.15em;transition:var(--transition-smooth);border:1px solid var(--border-color);white-space:nowrap;background:0 0;border-radius:100px;flex-shrink:0;align-items:center;gap:12px;padding:14px 28px;font-size:13.5px;font-weight:700;display:inline-flex}.btn-yohaku-secondary:hover{border-color:var(--ink);background:#181d210a;transform:translateY(-2px)}.btn-yohaku-primary svg,.btn-yohaku-secondary svg{transition:transform var(--speed) var(--ease-media)}.btn-yohaku-primary:hover svg,.btn-yohaku-secondary:hover svg{transform:translate(3px)}.dome-cta-banner{background:var(--card-bg);border:none;border-top:var(--rule-double);border-bottom:var(--rule-double);text-align:center;border-radius:0;margin-top:40px;padding:clamp(40px,6vw,80px) clamp(24px,4vw,48px);position:relative;overflow:hidden}.dome-cta-banner h2{font-size:clamp(24px,3.5vw,36px);line-height:1.5;font-family:var(--font-serif);margin-bottom:16px}.dome-cta-banner p{color:var(--ink-muted);max-width:700px;margin:0 auto 32px;font-size:clamp(14px,1.5vw,16px);line-height:1.8}.index-head{flex-wrap:wrap;align-items:baseline;gap:clamp(12px,2vw,24px);min-width:0;display:flex}.index-num{font-family:var(--font-serif);color:var(--ghost);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:clamp(40px,5vw,72px);font-weight:900;line-height:.9}.index-head .badge-media{white-space:nowrap;flex-shrink:0;margin-bottom:0}.index-head .section-title,.index-head .page-title{white-space:nowrap}@media (width<=860px){.index-head .section-title,.index-head .page-title{white-space:normal}}.rule-red{background:var(--primary);width:48px;height:2px;margin-top:12px;margin-bottom:20px;display:block}.vertical-label{writing-mode:vertical-rl;font-family:var(--font-mono);letter-spacing:.25em;color:var(--ink-light);text-transform:uppercase;font-size:11px;display:none}@media (width>=1025px){.vertical-label{display:block}}.rv{opacity:0;transition:opacity var(--speed) var(--ease-media), transform var(--speed) var(--ease-media);transition-delay:var(--rv-d,0s);transform:translateY(20px)}.rv.in{opacity:1;transform:none}.reveal-text{opacity:0;animation:.8s cubic-bezier(.2,.75,.25,1) forwards revealUp;transform:translateY(24px)}@keyframes revealUp{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.rv{opacity:1;transition:none;transform:none}.reveal-text{opacity:1;animation:none;transform:none}}a[target=_blank]:not(.cta-btn):not(.g-term-pop-more):not(.m-term-pop-more):not(.footer-link):not(.glossary-related-chip):after{content:"";vertical-align:baseline;opacity:.5;background-color:currentColor;width:.75em;height:.75em;margin-left:.2em;transition:opacity .2s;display:inline-block;position:relative;top:.05em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}a[target=_blank]:not(.cta-btn):not(.g-term-pop-more):not(.m-term-pop-more):not(.footer-link):not(.glossary-related-chip):hover:after{opacity:.8}.g-term{display:inline;position:relative}.g-term-link{color:inherit;border-bottom:1px dashed var(--primary);transition:background-color var(--speed) var(--ease-media);text-decoration:none}@media (hover:hover) and (pointer:fine){.g-term-link{cursor:help}.g-term-link:hover{background:#e84d261a}}.g-term-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.g-term-pop{z-index:40;background:var(--card-bg);border:var(--rule);border-top:2px solid var(--primary);width:min(320px,100vw - 32px);color:var(--ink);opacity:0;visibility:hidden;border-radius:2px;padding:14px 16px;font-size:13px;line-height:1.7;transition:opacity .15s,visibility .15s;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #181d211f}.g-term-pop--active{opacity:1;visibility:visible;animation:gTermPopInBelow var(--speed) var(--ease-media) both}.g-term-pop--above{top:auto;bottom:calc(100% + 8px)}.g-term-pop--above.g-term-pop--active{animation-name:gTermPopInAbove}@keyframes gTermPopInBelow{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes gTermPopInAbove{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.g-term-pop-meta{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:6px;font-size:11px}.g-term-pop-title{font-family:var(--font-serif);color:var(--ink);margin-bottom:6px;font-size:15px;font-weight:700}.g-term-pop-def{color:var(--ink-muted);margin:0 0 10px}.g-term-pop-more{color:var(--primary);font-size:12px;font-weight:700;text-decoration:none;display:inline-block}.g-term-pop-more:hover{text-decoration:underline}.m-term{display:inline;position:relative}.m-term-link{color:inherit;border-bottom:1px dashed var(--secondary);transition:background-color var(--speed) var(--ease-media);text-decoration:none}@media (hover:hover) and (pointer:fine){.m-term-link{cursor:help}.m-term-link:hover{background:#1f3ecf14}}.m-term-link:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.m-term-pop{z-index:40;background:var(--card-bg);border:var(--rule);border-top:2px solid var(--secondary);width:min(320px,100vw - 32px);color:var(--ink);opacity:0;visibility:hidden;border-radius:2px;padding:14px 16px;font-size:13px;line-height:1.7;transition:opacity .15s,visibility .15s;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #181d211f}.m-term-pop--active{opacity:1;visibility:visible;animation:mTermPopInBelow var(--speed) var(--ease-media) both}.m-term-pop--above{top:auto;bottom:calc(100% + 8px)}.m-term-pop--above.m-term-pop--active{animation-name:mTermPopInAbove}@keyframes mTermPopInBelow{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes mTermPopInAbove{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.m-term-pop-meta{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--secondary);margin-bottom:6px;font-size:11px}.m-term-pop-title{font-family:var(--font-serif);color:var(--ink);margin-bottom:2px;font-size:15px;font-weight:700}.m-term-pop-provider{color:var(--ink-muted);margin-bottom:6px;font-size:12px}.m-term-pop-def{color:var(--ink-muted);white-space:pre-line;margin:0 0 10px}.m-term-pop-more{color:var(--secondary);font-size:12px;font-weight:700;text-decoration:none;display:inline-block}.m-term-pop-more:hover{text-decoration:underline}.newsletter-box-component{background:var(--paper-light);border:var(--rule-double);text-align:left;border-radius:var(--radius-sm);max-width:760px;margin:48px auto;padding:32px;position:relative}.newsletter-box-component.variant-inline{border:none;border-top:var(--rule-double);border-bottom:var(--rule-double);background:0 0;border-radius:0;margin:32px 0;padding:24px 0}.newsletter-box-component.variant-inline .ad-label{display:none}.newsletter-box-component .ad-label{color:var(--ink-muted);letter-spacing:.15em;background:var(--paper-light);padding:2px 6px;font-size:10.5px;font-weight:700;position:absolute;top:14px;right:20px}.newsletter-content-inner{flex-direction:column;gap:20px;display:flex}@media (width>=768px){.newsletter-content-inner{flex-direction:row;justify-content:space-between;align-items:center;gap:36px}.newsletter-text-area{flex:1.4;min-width:0}.newsletter-component-form{flex:1;min-width:250px;margin-top:0!important}}.newsletter-component-title{font-size:17px;font-family:var(--font-serif);color:var(--ink);align-items:center;gap:8px;margin:0 0 10px;line-height:1.4;display:flex}.newsletter-component-input-group{flex-direction:column;gap:10px;width:100%;display:flex}.newsletter-component-input{background:var(--bg);border:var(--rule);border-radius:var(--radius-sm);width:100%;color:var(--ink);box-sizing:border-box;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.newsletter-component-input:focus{border-color:var(--primary);outline:none}.newsletter-component-btn{text-align:center;box-sizing:border-box;cursor:pointer;justify-content:center;align-items:center;width:100%;padding:12px 16px;font-size:14px;font-weight:700;display:flex}body.is-immersive-3d .site-header,body.is-immersive-3d header,body.is-immersive-3d .site-footer,body.is-immersive-3d footer,body.is-immersive-3d .global-nav,body.is-immersive-3d nav{display:none!important}body.is-immersive-3d{background:#050810;overflow-x:hidden}body.is-immersive-3d .layout-root{min-height:auto}.showcase-3d-root{color:#fff;background:#050810;min-height:100vh;position:relative;overflow-x:hidden}.threed-loading-screen{z-index:100;background:#050810;place-items:center;transition:opacity .8s .2s,visibility .8s .2s;display:grid;position:fixed;inset:0}.threed-loading-screen.is-loaded{opacity:0;visibility:hidden;pointer-events:none}.loading-inner{text-align:center;width:min(320px,72vw)}.loading-logo{letter-spacing:.1em;color:#ffd84a;justify-content:center;align-items:center;gap:10px;margin-bottom:28px;font-size:20px;font-weight:800;display:flex}.loading-label{letter-spacing:.3em;color:#94a3b8b3;margin-bottom:16px;font-size:11px}.loading-bar-track{background:#94a3b826;border-radius:2px;height:2px;margin-bottom:12px;overflow:hidden}.loading-bar-fill{background:linear-gradient(90deg,#b8202e,#ffd84a,#38bdf8);border-radius:2px;height:100%;transition:width .3s}.loading-pct{color:#94a3b899;letter-spacing:.2em;font-variant-numeric:tabular-nums;font-size:12px}.threed-stage{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.webgl-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.subtitles-overlay{z-index:10;pointer-events:none;will-change:opacity, transform;justify-content:center;padding:0 20px;transition:opacity .35s,transform .35s;display:flex;position:fixed;top:80px;left:0;right:0}.subtitle-card{-webkit-backdrop-filter:blur(20px);text-align:center;background:#050810bf;border:1px solid #ffffff1a;border-radius:16px;max-width:720px;padding:18px 32px;transition:border-color .4s,box-shadow .4s;box-shadow:0 12px 40px #0009}.subtitle-act-0{border-color:#ffd84a4d}.subtitle-act-1{border-color:#b8202e66;box-shadow:0 12px 40px #b8202e26}.subtitle-act-2{border-color:#38bdf866;box-shadow:0 12px 40px #38bdf826}.subtitle-act-3{border-color:#ffd84a66;box-shadow:0 12px 40px #ffd84a26}.subtitle-act-4{border-color:#9333ea66;box-shadow:0 12px 40px #9333ea26}.subtitle-act-5{border-color:#22c55e66;box-shadow:0 12px 40px #22c55e26}.subtitle-tag{letter-spacing:.18em;color:#b8202e;text-shadow:0 0 12px #b8202e80;margin-bottom:6px;font-size:11px;font-weight:800;display:inline-block}.subtitle-text{color:#fff;text-shadow:0 2px 16px #00000080;margin:0;font-size:clamp(15px,2.4vw,21px);font-weight:700;line-height:1.45}.threed-scroll-spacer{pointer-events:none;height:650vh}.threed-cv-overlay{z-index:20;-webkit-backdrop-filter:blur(8px);will-change:opacity;background:#05081099;place-items:center;padding:24px;transition:opacity .4s;display:grid;position:fixed;inset:0}.threed-cv-floating{background:0 0;padding:0}.threed-conversion-section{z-index:20;position:relative}.conversion-container{-webkit-backdrop-filter:blur(24px);text-align:center;background:#0c1018eb;border:1px solid #ffd84a40;border-radius:24px;width:100%;max-width:720px;margin:0 auto;padding:48px 36px;box-shadow:0 24px 80px #000c,0 0 60px #b8202e26,inset 0 1px #ffffff14}.conversion-badge{color:#ffd84a;background:#ffd84a14;border:1px solid #ffd84a40;border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:6px 16px;font-size:12px;font-weight:700;display:inline-flex}.conversion-title{color:#fff;margin-bottom:16px;font-size:clamp(22px,3.8vw,32px);font-weight:800;line-height:1.35}.conversion-desc{color:#94a3b8;margin-bottom:32px;font-size:15px;line-height:1.7}.conversion-form .input-group{gap:12px;margin-bottom:16px;display:flex;position:relative}.input-icon{color:#64748b;pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.conversion-form input{color:#fff;background:#080c14f2;border:1px solid #ffffff26;border-radius:12px;outline:none;flex:1;padding:16px 20px 16px 48px;font-size:15px;transition:border-color .2s,box-shadow .2s}.conversion-form input:focus{border-color:#ffd84a;box-shadow:0 0 16px #ffd84a33}.submit-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#b8202e 0%,#d93848 100%);border:none;border-radius:12px;align-items:center;gap:8px;padding:16px 28px;font-size:15px;font-weight:700;transition:transform .2s,filter .2s;display:inline-flex;box-shadow:0 4px 24px #b8202e66}.submit-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.error-text{color:#ef4444;margin-top:8px;font-size:13px}.privacy-note{color:#64748b;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.success-box{background:#2d9d4f1a;border:1px solid #2d9d4f4d;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.success-box h3{color:#fff;margin:0;font-size:20px}.success-box p{color:#94a3b8;margin:0;font-size:14px}.scroll-hint-indicator{z-index:15;pointer-events:none;flex-direction:column;align-items:center;gap:6px;animation:2s ease-in-out infinite hint-pulse;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.scroll-text{letter-spacing:.25em;color:#94a3b8cc;text-shadow:0 1px 4px #0009;font-size:10px}@keyframes hint-pulse{0%,to{opacity:.5;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(4px)}}@media (width<=768px){.subtitles-overlay{padding:0 12px;top:60px}.subtitle-card{padding:14px 20px}.subtitle-text{font-size:14px}.conversion-container{border-radius:18px;padding:32px 20px}.conversion-form .input-group{flex-direction:column}.submit-btn{justify-content:center;width:100%}.threed-cv-overlay{padding:16px}}
