.flow-intro{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1100px;margin:0 auto;padding:80px 48px 0;display:grid}.flow-intro-text .sec-en{margin-bottom:10px}.flow-intro-text .sec-ja{margin-bottom:24px}.flow-intro-text p{font-family:var(--sans);color:var(--sub);font-size:14px;font-weight:300;line-height:2.3}.flow-intro-num{justify-content:center;align-items:center;gap:0;display:flex}.flow-total{font-family:var(--cor);color:var(--navy);letter-spacing:-.04em;opacity:.12;-webkit-user-select:none;user-select:none;font-size:140px;font-weight:300;line-height:1}.flow-steps-wrap{max-width:1100px;margin:0 auto;padding:72px 48px 0}.flow-step-row{grid-template-columns:80px 1fr;gap:0;display:grid;position:relative}.flow-step-row:not(:last-child) .flow-step-line:after{content:"";background:linear-gradient(to bottom, var(--border) 0%, transparent 100%);z-index:0;width:2px;position:absolute;top:72px;bottom:-48px;left:39px}.flow-step-left{flex-direction:column;align-items:center;padding-top:8px;display:flex;position:relative}.flow-step-circle{border:1px solid var(--border);background:var(--bg);width:56px;height:56px;font-family:var(--cor);color:var(--sub);letter-spacing:.04em;z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-weight:400;transition:border-color .3s,background .3s,color .3s;display:flex;position:relative}.flow-step-row.active .flow-step-circle,.flow-step-row:hover .flow-step-circle{background:var(--navy);border-color:var(--navy);color:#fff}.flow-step-row.step-highlight .flow-step-circle{background:var(--gold);border-color:var(--gold);color:#fff}.flow-step-body{border:1px solid var(--border);background:#fff;margin-bottom:48px;margin-left:32px;padding:40px 48px;transition:border-color .25s,box-shadow .25s,transform .25s;position:relative}.flow-step-body:before{content:"";background:var(--border);width:10px;height:1px;transition:background .25s;position:absolute;top:24px;left:-10px}.flow-step-row:hover .flow-step-body{border-color:var(--border);transform:translate(4px);box-shadow:0 8px 40px #1f3a5f14}.flow-step-row.step-highlight .flow-step-body{border-color:var(--gold);border-left:3px solid var(--gold)}.flow-step-row.step-highlight .flow-step-body:before{background:var(--gold)}.flow-step-inner{display:block}.step-badge-new{font-family:var(--sans);letter-spacing:.08em;background:var(--gold);color:#fff;border-radius:2px;margin-bottom:14px;padding:3px 10px;font-size:9px;display:inline-block}.flow-step-en{font-family:var(--cor);letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin-bottom:8px;font-size:10px}.flow-step-ja{font-family:var(--serif);color:var(--navy);margin-bottom:20px;font-size:26px;font-weight:700;line-height:1.3}.flow-step-desc{font-family:var(--sans);color:var(--sub);max-width:640px;font-size:14px;font-weight:300;line-height:2.2}.flow-step-visual{aspect-ratio:4/3;background:#f0ede8;border-radius:2px;justify-content:center;align-items:center;display:flex;overflow:hidden}.flow-step-visual svg{width:100%;height:100%}.flow-3d-area{flex-direction:column;gap:12px;margin-top:28px;display:flex}.viewer-section{background:var(--navy);margin-top:0;padding:80px 48px}.viewer-inner{max-width:1100px;margin:0 auto}.viewer-head{text-align:center;margin-bottom:48px}.viewer-head .sec-en{color:var(--gold)}.viewer-head-ja{font-family:var(--serif);color:var(--bg);margin-top:10px;font-size:28px;font-weight:700;line-height:1.4}.viewer-head p{font-family:var(--sans);color:var(--bg);opacity:.58;margin-top:14px;font-size:13px;font-weight:300;line-height:1.9}.viewer-wrap{border:1px solid var(--gold);background:var(--bg);border-radius:4px;position:relative;overflow:hidden}.viewer-image{aspect-ratio:3752/1954;background:var(--bg)}.viewer-image svg,.viewer-image img{width:100%;height:100%;display:block}.persp-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.persp-cell{background:var(--bg);aspect-ratio:4/5;cursor:zoom-in;border:1px solid #b8923b8c;position:relative;overflow:hidden}.persp-cell img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1);display:block}.persp-cell:hover img{transform:scale(1.06)}.persp-cell:after{content:"";opacity:0;background:linear-gradient(#0000 58%,#1f3a5f47);transition:opacity .3s;position:absolute;inset:0}.persp-cell:hover:after{opacity:1}.persp-cap{z-index:2;font-family:var(--sans);letter-spacing:.04em;color:#fff;opacity:0;text-shadow:0 1px 6px #0006;font-size:11px;font-weight:400;transition:opacity .3s,transform .3s;position:absolute;bottom:12px;left:14px;transform:translateY(4px)}.persp-cell:hover .persp-cap{opacity:1;transform:none}.persp-lb{z-index:9999;background:#0f1826eb;justify-content:center;align-items:center;padding:40px;display:none;position:fixed;inset:0}.persp-lb.open{display:flex}.persp-lb img{object-fit:contain;width:auto;max-width:92vw;height:auto;max-height:90vh;box-shadow:0 20px 60px #00000080}.persp-lb-close{color:#fff;cursor:pointer;opacity:.7;font-size:34px;line-height:1;font-family:var(--sans);transition:opacity .2s;position:absolute;top:24px;right:32px}.persp-lb-close:hover{opacity:1}.persp-lb-nav{color:#fff;cursor:pointer;opacity:.55;-webkit-user-select:none;user-select:none;padding:0 18px;font-size:44px;transition:opacity .2s;position:absolute;top:50%;transform:translateY(-50%)}.persp-lb-nav:hover{opacity:1}.persp-lb-prev{left:8px}.persp-lb-next{right:8px}.viewer-caption{font-family:var(--sans);color:var(--bg);opacity:.62;text-align:center;margin-top:18px;font-size:12px;font-weight:300;line-height:1.9}.faq-section{max-width:1100px;margin:0 auto;padding:80px 48px}.faq-list{flex-direction:column;gap:0;margin-top:48px;display:flex}.faq-item{border-top:1px solid var(--border);overflow:hidden}.faq-item:last-child{border-bottom:1px solid var(--border)}.faq-q{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:20px;width:100%;padding:24px 0;display:flex}.faq-q-text{font-family:var(--serif);color:var(--navy);font-size:15px;font-weight:700;line-height:1.6}.faq-q-label{font-family:var(--cor);letter-spacing:.12em;color:var(--gold);text-transform:uppercase;flex-shrink:0;margin-right:16px;font-size:12px}.faq-toggle{border:1px solid var(--border);width:24px;height:24px;color:var(--sub);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.faq-item.open .faq-toggle{background:var(--navy);border-color:var(--navy);color:#fff;transform:rotate(45deg)}.faq-a{max-height:0;padding:0;transition:max-height .3s,padding .3s;overflow:hidden}.faq-item.open .faq-a{max-height:300px;padding-bottom:24px}.faq-a p{font-family:var(--sans);color:var(--sub);font-size:13px;font-weight:300;line-height:2.2}@media (max-width:1024px){.flow-intro{grid-template-columns:1fr;gap:32px;padding:60px 24px 0}.flow-intro-num{display:none}.flow-steps-wrap{padding:56px 24px 0}.flow-step-inner{grid-template-columns:1fr}.flow-step-visual{display:none}.flow-step-body{padding:28px}.persp-grid{grid-template-columns:repeat(3,1fr);gap:10px}.viewer-section,.faq-section{padding-left:24px;padding-right:24px}}@media (max-width:640px){.flow-intro{gap:24px;padding:48px 20px 0}.flow-intro-text p{font-size:13.5px;line-height:2.1}.flow-steps-wrap{padding:48px 20px 0}.flow-step-row{grid-template-columns:40px 1fr;gap:0}.flow-step-circle{width:40px;height:40px;font-size:13px}.flow-step-body{margin-bottom:32px;margin-left:14px;padding:22px 20px}.flow-step-body:before{width:8px;left:-8px}.flow-step-ja{margin-bottom:14px;font-size:18px}.flow-step-desc{font-size:13px;line-height:2}.flow-step-en{letter-spacing:.18em;font-size:9px}.persp-grid{grid-template-columns:repeat(2,1fr);gap:8px}.persp-cap{font-size:10px;bottom:9px;left:10px}.viewer-section,.faq-section{padding:48px 20px}.viewer-head-ja{font-size:22px}.faq-q-text{font-size:14px}.flow-step-row:not(:last-child) .flow-step-line:after{left:19px}}
