/* OrigenAI — static site stylesheet (generated from the design files) */
body { margin:0; font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; color:#22344a; background:#fff; line-height:1.85; font-size:16px; -webkit-font-smoothing:antialiased; -webkit-text-size-adjust:100%; text-size-adjust:100%; overflow-x:hidden; }
  img { max-width:100%; height:auto; display:block; }
  a { color:#0098ff; text-decoration:none; }
  a:hover { color:#34ac77; }
  ul, ol { list-style:none; margin:0; padding:0; }
  h1,h2,h3,h4,p,table { margin:0; }
  summary::-webkit-details-marker { display:none; }

  @keyframes rise { from { opacity:0; transform:translateY(28px) } to { opacity:1; transform:none } }
  @keyframes floaty { 0%,100% { transform:translate(0,0) } 50% { transform:translate(-18px,22px) } }
  @keyframes pulseDot { 0%,100% { transform:scale(1); opacity:1 } 50% { transform:scale(1.7); opacity:.45 } }
  @keyframes sheen { 0% { background-position:0% 50% } 100% { background-position:200% 50% } }
  details[data-mnav] > summary { list-style: none; }
  details[data-mnav] > summary::-webkit-details-marker { display: none; }
  @supports not (animation-timeline: view()) { [style*="animation-timeline"] { animation: none !important; opacity: 1 !important; } }
  @media (prefers-reduced-motion: reduce) { * { animation:none !important; transition:none !important } }

  @media (max-width: 1150px) {
    [style*="grid-template-columns: repeat(4, 1fr)"], [style*="grid-template-columns: repeat(3, 1fr)"], [style*="grid-template-columns: repeat(2, 1fr)"], [style*="grid-template-columns: 1fr 1fr"], [style*="grid-template-columns: 0.7fr 1.3fr"], [style*="grid-template-columns: .7fr 1.3fr"], [style*="grid-template-columns: 0.9fr 1.1fr"], [style*="grid-template-columns: .9fr 1.1fr"], [style*="grid-template-columns: 1.08fr 0.92fr"], [style*="grid-template-columns: 1.08fr .92fr"], [style*="grid-template-columns: 1.5fr 1fr 1fr 1fr"], [style*="grid-template-columns: 1fr 44px 1fr"], [style*="grid-template-columns: 1fr 40px 1fr"], [style*="grid-template-columns: 26% "], [style*="grid-template-columns: repeat(3, 1fr) "] { grid-template-columns: 1fr !important; }
    [style*="padding: 34px 56px"], [style*="padding: 80px 56px"], [style*="padding: 76px 56px"], [style*="padding: 72px 56px"], [style*="padding: 64px 56px"], [style*="padding: 60px 56px"], [style*="padding: 56px 56px"], [style*="padding: 52px 56px"], [style*="padding: 84px 56px"], [style*="padding: 44px 40px"], [style*="padding: 40px 36px"], [style*="padding: 36px 32px"], [style*="padding: 32px 56px"], [style*="padding: 28px 56px"], [style*="padding: 24px 56px"], [style*="padding: 16px 56px"], [style*="padding: 0px 56px"], [style*="padding: 48px 36px"], [style*="padding: 72px 56px 0px"] { padding-left: 20px !important; padding-right: 20px !important; }
    [style*="padding: 0px 24px"], [style*="padding: 20px 24px"], [style*="padding: 24px 24px"], [style*="padding: 32px 24px"], [style*="padding: 56px 56px 0px"], [style*="padding: 0px 24px 24px"] { padding-left: 12px !important; padding-right: 12px !important; }
    h1 { font-size: 32px !important; line-height: 1.34 !important; }
    h2 { font-size: 25px !important; line-height: 1.45 !important; }
    h3 { font-size: 18px !important; }
    h1 br, h2 br { display: none; }
    [style*="font-size: 62px"], [style*="font-size: 58px"], [style*="font-size: 54px"], [style*="font-size: 52px"], [style*="font-size: 50px"], [style*="font-size: 46px"] { font-size: 32px !important; }
    [style*="font-size: 44px"], [style*="font-size: 40px"], [style*="font-size: 38px"], [style*="font-size: 36px"], [style*="font-size: 34px"] { font-size: 26px !important; }
    [style*="font-size: 32px"], [style*="font-size: 30px"], [style*="font-size: 28px"] { font-size: 22px !important; }
    [style*="font-size: 22px"], [style*="font-size: 21px"] { font-size: 19px !important; }
    p, li { font-size: 15.5px !important; line-height: 1.82 !important; }
    [style*="font-size: 18px"], [style*="font-size: 17px"] { font-size: 16.5px !important; }
    table th, table td { padding: 12px !important; font-size: 13.5px !important; }
    [style*="border-radius: 28px"] { border-radius: 18px !important; }
    [style*="border-left: 1px solid"] { border-left: none !important; padding-left: 0 !important; border-top: 1px solid #dfe9f1 !important; padding-top: 18px !important; }
    header { padding-left: 16px !important; padding-right: 16px !important; }
    header nav { margin-left: 0 !important; width: 100% !important; }
    header nav ul { flex-wrap: wrap !important; }
    footer { padding-bottom: 120px !important; }
    [style*="max-width: 34em"], [style*="max-width: 60em"] { max-width: 100% !important; }
  }
  @media (max-width: 640px) {
    [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
    [style*="px 56px"] { padding-left: 20px !important; padding-right: 20px !important; }
    p, li { font-size: 16px !important; line-height: 1.85 !important; }
    h1 { font-size: 31px !important; line-height: 1.36 !important; letter-spacing: 0 !important; }
    h2 { font-size: 23px !important; line-height: 1.5 !important; }
    h3 { font-size: 18.5px !important; line-height: 1.6 !important; }
    [style*="font-size: 62px"], [style*="font-size: 58px"], [style*="font-size: 54px"], [style*="font-size: 52px"], [style*="font-size: 50px"], [style*="font-size: 46px"] { font-size: 31px !important; }
    [style*="font-size: 44px"], [style*="font-size: 40px"], [style*="font-size: 38px"], [style*="font-size: 36px"], [style*="font-size: 34px"] { font-size: 24px !important; }
    [style*="font-size: 18px"], [style*="font-size: 17px"] { font-size: 16.5px !important; }
    [style*="padding: 84px 56px"], [style*="padding: 34px 56px"], [style*="padding: 80px 56px"], [style*="padding: 76px 56px"], [style*="padding: 72px 56px"], [style*="padding: 64px 56px"], [style*="padding: 60px 56px"], [style*="padding: 56px 56px"], [style*="padding: 52px 56px"] { padding-top: 44px !important; padding-bottom: 44px !important; }
    [style*="padding: 48px 36px"], [style*="padding: 44px 40px"], [style*="padding: 40px 36px"], [style*="padding: 36px 32px"] { padding-top: 30px !important; padding-bottom: 30px !important; }
    [style*="padding: 64px 56px 0px"], [style*="padding: 72px 56px 0px"], [style*="padding: 56px 56px 0px"] { padding-bottom: 0 !important; }
    [style*="gap: 34px"], [style*="gap: 36px"], [style*="gap: 40px"], [style*="gap: 44px"], [style*="gap: 48px"], [style*="gap: 52px"], [style*="gap: 56px"] { gap: 24px !important; }
    header { position: sticky !important; top: 10px !important; z-index: 1500 !important; display: flex !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; margin: 10px 12px 0 !important; padding: 8px 8px 8px 18px !important; min-height: 44px !important; border: 1px solid rgba(255,255,255,.65) !important; border-radius: 999px !important; background: rgba(255,255,255,.74) !important; backdrop-filter: blur(20px) saturate(180%) !important; -webkit-backdrop-filter: blur(20px) saturate(180%) !important; box-shadow: 0 10px 30px rgba(14,39,64,.13) !important; }
    header > img { height: 28px !important; }
    header > nav, header > a { display: none !important; }
    details[data-mnav] { display: block !important; }
    details[data-mnav] > summary { position: relative !important; z-index: 1600 !important; }
    header:has(details[data-mnav][open]) { background: transparent !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; box-shadow: none !important; border-color: transparent !important; }
    header:has(details[data-mnav][open]) > img { filter: brightness(0) invert(1) !important; }
    details[data-mnav][open] > summary { background: rgba(255,255,255,.15) !important; box-shadow: none !important; border: 1px solid rgba(255,255,255,.36) !important; }
    details[data-mnav][open] > summary > span:nth-of-type(1) { transform: translateY(7px) rotate(45deg) !important; }
    details[data-mnav][open] > summary > span:nth-of-type(2) { opacity: 0 !important; }
    details[data-mnav][open] > summary > span:nth-of-type(3) { transform: translateY(-7px) rotate(-45deg) !important; }
    footer > div:first-of-type > div:nth-child(n+2) { display: none !important; }
    footer > div:first-of-type { margin-bottom: 18px !important; }
    footer > div:last-of-type { flex-direction: column !important; gap: 6px !important; align-items: flex-start !important; }
    [style*="padding: 52px 56px 140px"], footer[style] { padding-bottom: 110px !important; }
    table { display: block !important; overflow-x: auto !important; white-space: nowrap !important; }
    table th, table td { font-size: 15px !important; padding: 12px 14px !important; }
    footer { padding-bottom: 96px !important; }
    [style*="position: fixed"][style*="bottom: 24px"] { left: 12px !important; right: 12px !important; bottom: 12px !important; justify-content: center !important; padding: 15px 18px !important; font-size: 14.5px !important; }
    [style*="justify-content: center"][style*="gap: 14px"] > a { width: 100% !important; }
    form [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; }
    [style*="padding: 19px 44px"], [style*="padding: 19px 46px"], [style*="padding: 18px 46px"] { padding: 16px 26px !important; font-size: 15.5px !important; }
  }
  @media (min-width: 641px) and (max-width: 1150px) {
    header { flex-wrap: wrap !important; row-gap: 10px !important; }
    header nav { order: 3; width: 100% !important; margin-left: 0 !important; }
    header nav ul { justify-content: flex-start !important; gap: 0 !important; }
    header > a:last-of-type { margin-left: auto !important; }
    [style*="font-size: 62px"], [style*="font-size: 58px"], [style*="font-size: 54px"], [style*="font-size: 52px"], [style*="font-size: 50px"], [style*="font-size: 46px"] { font-size: 40px !important; }
    h1 { font-size: 40px !important; }
    h2 { font-size: 30px !important; }
    [style*="font-size: 44px"], [style*="font-size: 40px"] { font-size: 32px !important; }
  }

/* interaction states */
.st1:hover { transform:translateY(-6px) !important; box-shadow:0 22px 46px rgba(14,39,64,.13) !important; }
.st2:hover { border-color:#0098ff !important; }
.st3:focus { border-color:#0098ff !important; box-shadow:0 0 0 3px rgba(0,152,255,.14) !important; }
.st4:hover { transform:translateY(-2px) !important; box-shadow:0 12px 30px rgba(0,152,255,.34) !important; }

/* legal pages keep native list markers */
body.legal ol { list-style: decimal; padding-left: 22px; }
body.legal ul { padding-left: 22px; }
