:root{
  --ink:#17212b;--muted:#65737f;--line:#dbe4ea;--cream:#fffdf8;--white:#fff;--paper:#f7f9fb;
  --blue:#5278f5;--blue-soft:#cbd8ff;--sky:#b9e7f4;--green:#45a798;--green-soft:#bfe2d3;
  --yellow:#f5bb36;--yellow-soft:#f7d875;--purple:#735596;--purple-soft:#c8b6df;--coral:#f57436;--coral-soft:#f79a76;
  --orange:#f57436;--orange-soft:#f8b784;--container:1220px;--header:82px;--ease:cubic-bezier(.22,1,.36,1);
  --shadow:0 24px 60px rgba(34,49,62,.11)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden;color:var(--ink);background:var(--cream);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Sans","Yu Gothic",YuGothic,"Noto Sans JP",Arial,sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.container{width:min(calc(100% - 72px),var(--container));margin-inline:auto}.skip-link{position:fixed;z-index:9999;top:8px;left:8px;padding:9px 14px;color:#fff;background:var(--ink);border-radius:999px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;height:var(--header);transition:.25s ease}.site-header.is-scrolled{background:rgba(255,253,246,.91);border-bottom:1px solid rgba(219,228,234,.8);backdrop-filter:blur(18px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:11px;position:relative;z-index:1002}.brand-mark{width:44px;height:44px;display:grid;place-items:center;color:#fff;background:var(--ink);border-radius:15px 15px 15px 5px;font-size:19px;font-weight:900;transform:rotate(-3deg)}.brand-name{font-size:15px;font-weight:900;letter-spacing:.06em}.global-nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:800}.global-nav>a:not(.nav-cta){position:relative}.global-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--blue);border-radius:2px;transition:width .22s}.global-nav>a:not(.nav-cta):hover::after{width:100%}.nav-cta{display:inline-flex;gap:11px;align-items:center;padding:10px 18px;color:#fff;background:var(--ink);border-radius:999px;transition:.22s var(--ease)}.nav-cta:hover{background:var(--blue);transform:translateY(-2px) rotate(-1deg)}.menu-button{display:none;position:relative;z-index:1002;width:46px;height:46px;padding:0;background:transparent;cursor:pointer}.menu-button span{position:absolute;left:12px;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:.3s var(--ease)}.menu-button span:first-child{top:19px}.menu-button span:last-child{top:27px}.menu-button[aria-expanded="true"] span:first-child{top:23px;transform:rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{top:23px;transform:rotate(-45deg)}
.button{min-height:58px;padding:0 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:999px;font-size:14px;font-weight:900;transition:.25s var(--ease)}.button:hover{transform:translateY(-3px) rotate(-.6deg)}.button-primary{color:#fff;background:var(--ink);box-shadow:0 12px 28px rgba(23,33,43,.13)}.button-primary:hover{background:var(--blue)}.button-ghost{background:#fff;border:1px solid var(--line)}.button-ghost:hover{box-shadow:var(--shadow)}
.site-footer{padding:68px 0 28px;color:#fff;background:#17212b}.footer-main{display:flex;justify-content:space-between;gap:50px}.footer-brand{display:inline-flex;align-items:center;gap:12px}.footer-brand span{width:44px;height:44px;display:grid;place-items:center;color:var(--ink);background:var(--yellow);border-radius:15px 15px 15px 5px;font-weight:900}.footer-brand strong{font-size:18px;letter-spacing:.05em}.footer-main p{margin:13px 0 0;color:rgba(255,255,255,.52);font-size:14px}.footer-main nav{display:flex;flex-wrap:wrap;gap:14px 24px;align-content:flex-start;color:rgba(255,255,255,.72);font-size:12px;font-weight:800;letter-spacing:.06em}.footer-main nav a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;margin-top:55px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.35);font-size:11px;letter-spacing:.05em}:focus-visible{outline:3px solid rgba(82,120,245,.3);outline-offset:3px}
@media(max-width:1200px){:root{--container:1120px}.container{width:min(calc(100% - 56px),var(--container))}.global-nav{gap:20px}}
@media(max-width:1024px){:root{--header:74px}.container{width:min(calc(100% - 44px),var(--container))}.menu-button{display:block}.global-nav{position:fixed;inset:0;z-index:1001;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:0;padding:100px 10vw 55px;background:rgba(255,253,246,.985);opacity:0;pointer-events:none;transform:translateY(-8px);transition:.28s var(--ease)}.global-nav.is-open{opacity:1;pointer-events:auto;transform:none}.global-nav>a:not(.nav-cta){padding:13px 0;border-bottom:1px solid var(--line);font-size:21px}.global-nav>a:not(.nav-cta)::after{display:none}.nav-cta{width:max-content;margin-top:28px;padding:12px 20px;font-size:15px}}
@media(max-width:768px){.container{width:calc(100% - 36px)}.footer-main{flex-direction:column}.footer-bottom{flex-direction:column;gap:4px}}
@media(max-width:480px){.container{width:calc(100% - 30px)}.brand-mark{width:40px;height:40px}.brand-name{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
