:root{--c-blue:#0a4ad9;--c-blue-dark:#062f8a;--c-blue-light:#e9f0ff;--c-purple:#b6308f;--c-purple-light:#fbe9f5;--c-red:#e8345b;--c-red-light:#fde6ec;--c-text:#16203a;--c-text-sub:#012e60;--c-muted:#718096;--c-bg:#fff;--c-bg-soft:#f6f8fc;--c-bg-dark:#0b1530;--c-border:#e2e8f0;--grad:linear-gradient(135deg,#0a4ad9,#b6308f 50%,#e8345b);--shadow-sm:0 2px 8px rgba(20,30,60,.06);--shadow-md:0 8px 28px rgba(20,30,60,.08);--shadow-lg:0 20px 60px rgba(20,30,60,.12);--radius:16px;--radius-lg:24px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--c-bg);color:var(--c-text);font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased;font-feature-settings:"palt";overflow-x:hidden}img{display:block;max-width:100%}a{color:var(--c-blue);text-decoration:none;transition:opacity .2s}a:hover{opacity:.75}button{cursor:pointer;font-family:inherit}.container{margin:0 auto;max-width:1140px;padding:0 24px;width:100%}.pc-only{display:inline}.sp-only{display:none}@media (max-width:768px){.pc-only{display:none}.sp-only{display:inline}}.visually-hidden{border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);white-space:nowrap}.hero{overflow:hidden;position:relative}.hero-img{display:block;height:auto;width:100%}.hero--sub{position:relative}.hero--sub:after{background:linear-gradient(180deg,rgba(246,251,255,0) 0,#f6fbff);bottom:0;content:"";height:80px;left:0;pointer-events:none;position:absolute;right:0}@media (max-width:768px){.hero--sub:after{height:40px}}.header{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:hsla(0,0%,100%,.85);border-bottom:1px solid var(--c-border);padding-top:env(safe-area-inset-top,0);position:sticky;top:0;z-index:100}.header-inner{align-items:center;display:flex;gap:36px;justify-content:space-between;min-height:68px;padding-bottom:10px;padding-top:10px}.logo{align-items:center;color:var(--c-text);display:inline-flex;flex-shrink:0;gap:30px;text-decoration:none}.logo-img{display:block;flex-shrink:0;height:28px;width:auto}.footer .logo-img,.logo-img-footer{filter:brightness(0) invert(1);opacity:.95}@media (max-width:375px){.logo-img{height:22px}.logo-text{font-size:13px}}.logo-text{color:#7a9ab8;font-family:Barlow Condensed,Noto Sans JP,sans-serif;font-size:15px;font-weight:700;letter-spacing:.12em;line-height:1.15}.logo-text span{color:var(--c-muted);display:block;font-size:11px;font-weight:600;letter-spacing:.06em;line-height:1.2}.nav{display:flex;gap:36px;margin-left:auto}.nav a{color:var(--c-text);font-size:14px;font-weight:500}.nav a:hover{color:var(--c-blue);opacity:1}.nav-cta{display:none}.menu-toggle{align-items:center;background:none;border:0;cursor:pointer;display:none;height:36px;justify-content:center;padding:0;width:36px}.menu-toggle span{background:var(--c-text);display:block;height:2px;position:relative;transition:transform .25s,opacity .25s;width:22px}.menu-toggle span:after,.menu-toggle span:before{background:var(--c-text);content:"";height:2px;left:0;position:absolute;transition:transform .25s,top .25s;width:22px}.menu-toggle span:before{top:-7px}.menu-toggle span:after{top:7px}.menu-toggle.is-open span{background:transparent}.menu-toggle.is-open span:before{top:0;transform:rotate(45deg)}.menu-toggle.is-open span:after{top:0;transform:rotate(-45deg)}@media (max-width:900px){.nav{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:hsla(0,0%,100%,.98);border-bottom:1px solid var(--c-border);box-shadow:0 12px 30px rgba(20,30,60,.06);flex-direction:column;gap:0;left:0;max-height:calc(100vh - var(--header-h, 68px));opacity:0;overflow-y:auto;padding:16px 24px 24px;position:fixed;right:0;top:var(--header-h,68px);transform:translateY(-100%);transition:transform .3s ease,opacity .25s ease,visibility 0s linear .3s;visibility:hidden}.nav.is-open{opacity:1;transform:translateY(0);transition:transform .3s ease,opacity .25s ease,visibility 0s linear 0s;visibility:visible}.nav a{border-bottom:1px solid var(--c-border);padding:12px 0}.nav a.nav-cta,.nav a:last-child{border-bottom:0}.nav a.nav-cta{background:var(--grad);border-radius:999px;box-shadow:0 8px 24px rgba(184,48,143,.3);color:#fff;display:block;font-weight:700;margin-top:14px;padding:14px 16px;text-align:center}.nav a.nav-cta:hover{color:#fff}.menu-toggle{display:flex}.header-inner>.btn{font-size:12px;padding:8px 16px}}@media (max-width:480px){.header-inner>.btn{display:none}}.footer{background:var(--c-bg-dark);border-top:1px solid hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.7);padding:56px 0 32px}.footer-inner{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.1);display:grid;gap:24px;grid-template-columns:1fr auto;margin-bottom:24px;padding-bottom:32px}.footer .logo,.footer .logo-text{color:#fff}.footer .logo-text span{color:hsla(0,0%,100%,.6)}.footer-links{display:flex;flex-wrap:wrap;gap:24px}.footer-links a{color:hsla(0,0%,100%,.7);font-size:13px}.footer-links a:hover{color:#fff;opacity:1}.copyright{color:hsla(0,0%,100%,.4);display:block;font-size:12px;margin-top:8px;text-align:center;width:100%}@media (max-width:768px){.footer-inner{grid-template-columns:1fr;text-align:center}.footer .logo,.footer-links{justify-content:center}.footer .logo{display:inline-flex}}.floating-cta{align-items:center;background:var(--grad);border-radius:999px;bottom:20px;box-shadow:0 10px 28px rgba(184,48,143,.4);color:#fff;display:flex;font-size:14px;font-weight:700;justify-content:center;opacity:0;padding:18px 28px;pointer-events:none;position:fixed;right:20px;transform:translateY(20px);transition:transform .15s,box-shadow .15s;z-index:50}.floating-cta.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.floating-cta:hover{box-shadow:0 14px 32px rgba(184,48,143,.55);opacity:1;transform:translateY(-4px) scale(1.04)}.floating-cta svg{height:18px;margin-right:8px;width:18px}.floating-cta:after{animation:cta-pulse 2.4s ease-out infinite;border:2px solid var(--c-red);border-radius:999px;content:"";inset:-4px;position:absolute}@keyframes cta-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}