.p-loader{position:fixed;inset:0;z-index:10000;background:#f0f4f9;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s ease}.p-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.p-loader__content{text-align:center}.p-loader__logo-img{display:block;width:clamp(140px,30vw,220px);height:auto;margin:0 auto 24px;animation:loaderPulse 1.5s ease-in-out infinite}.p-loader__bar{width:clamp(120px,30vw,200px);height:3px;background:#2c354026;border-radius:3px;overflow:hidden;margin:0 auto}.p-loader__bar-fill{width:0%;height:100%;background:#3d6196;border-radius:3px;transition:width .3s ease}@keyframes loaderPulse{0%,to{opacity:1}50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.p-loader{display:none!important}.p-loader__logo-img{animation:none!important}.p-loader__bar-fill{transition:none!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-gutter:stable}body{font-family:var(--font-ja);background-color:var(--color-bg);color:var(--color-text);overflow-x:hidden;line-height:1.8;letter-spacing:.02em;font-feature-settings:"palt" 1;font-weight:500;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;border:none;background:none;font:inherit}.u-pc-only{display:block}.u-sp-only{display:none}@media(max-width:768px){.u-pc-only{display:none!important}.u-sp-only{display:block}}.u-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.l-container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-lg)}@media(max-width:480px){.l-container{padding-inline:var(--space-md)}}.l-section{padding:80px var(--space-lg) 72px}@media(max-width:768px){.l-section{padding:56px var(--space-lg) 48px}}@media(max-width:480px){.l-section{padding:40px var(--space-md) 32px}.c-section-head{margin-bottom:32px}.c-section-head__en{font-size:12px;letter-spacing:.15em;margin-bottom:10px}}.c-section-head{text-align:center;margin-bottom:56px}.c-section-head__en{font-family:var(--font-en);font-weight:700;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary);display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}.c-section-head__en:before,.c-section-head__en:after{content:"";display:block;width:24px;height:1px;background:currentColor;opacity:.5;flex-shrink:0}.c-section-head__title{font-family:var(--font-ja);font-weight:700;font-size:clamp(32px,4.5vw,48px);color:var(--color-text);line-height:1.4;letter-spacing:-.01em}.c-section-head__title em{font-style:normal;color:var(--color-primary)}.c-section-head__desc{margin-top:var(--space-lg);font-size:clamp(14px,2.5vw,18px);color:var(--color-text-mid);line-height:1.8;max-width:560px;margin-inline:auto}.c-btn-cta{display:inline-flex;align-items:center;gap:var(--space-sm);background:var(--gradient-cta);color:#fff;font-family:var(--font-ja);font-weight:700;font-size:16px;letter-spacing:.5px;padding:16px 36px;border-radius:var(--radius-pill);box-shadow:var(--shadow-cta);transition:transform .22s var(--ease-out-expo),box-shadow .22s ease;text-decoration:none;position:relative;overflow:hidden}.c-btn-cta:before{display:none}.c-btn-cta:hover{transform:translateY(-3px);box-shadow:var(--shadow-cta-hover)}.c-btn-cta:active{transform:translateY(-1px)}.c-btn-cta__arrow{font-size:17px;transition:transform .22s var(--ease-out-expo);display:inline-block}.c-btn-cta:hover .c-btn-cta__arrow{transform:translate(4px)}.c-img-placeholder{background-color:var(--color-card);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-text-light);font-family:var(--font-en);font-size:11px;font-weight:500;letter-spacing:1px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.js-fade-up{opacity:0}.js-fade-up.is-visible{animation:fadeUp .6s var(--ease-out-expo) forwards}.c-form-error{background:#fdecea;color:#b71c1c;border:1px solid #f5b9b1;padding:12px 16px;border-radius:8px;font-size:14px;line-height:1.6;margin-bottom:16px}.c-form-error[hidden]{display:none}.c-deco-circle{position:absolute;border-radius:var(--radius-circle);pointer-events:none;z-index:0}.c-deco-circle--blue{background:#3d5a800f}.c-deco-circle--yellow{background:#d4b46c14}.c-deco-blob{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(60px);opacity:.55;will-change:transform;animation:blobDrift 14s ease-in-out infinite alternate}.c-deco-blob:nth-child(2){animation-delay:-5s;animation-duration:18s}.c-deco-blob:nth-child(3){animation-delay:-9s;animation-duration:16s}.c-deco-blob--blue{background:radial-gradient(circle at 50% 50%,#3d619652,#3d61962e 40%,#3d619600 72%)}.c-deco-blob--yellow{background:radial-gradient(circle at 50% 50%,#d4b46c47,#d4b46c24 42%,#d4b46c00 72%)}@keyframes blobDrift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2%,-1.5%,0) scale(1.05)}to{transform:translate3d(-1.5%,2%,0) scale(.98)}}.p-particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.p-particles__dot{position:absolute;left:var(--x);bottom:-10px;width:var(--size);height:var(--size);border-radius:50%;background:#2c354026;will-change:transform,opacity;animation:particleFloat var(--duration) linear infinite;animation-delay:var(--delay)}@keyframes particleFloat{0%{transform:translateY(0) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) translate(20px);opacity:0}}@media(prefers-reduced-motion:reduce){.c-deco-blob,.p-particles__dot,.p-cta__btn,.p-flow__connector-dot{animation:none!important}}.u-color-primary{color:var(--color-primary)}.u-color-danger{color:var(--color-danger)}.u-nowrap{display:inline-block;white-space:nowrap}.u-honeypot{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0;pointer-events:none}.c-badge-todo{display:inline-block;margin-left:6px;padding:2px 8px;font-size:10px;font-weight:700;color:#fff;background:#ff9800;border-radius:4px;vertical-align:middle;letter-spacing:.05em}
