body { margin: 0; }
[hidden] { display: none !important; }
.scp0:hover { color: rgb(10, 108, 194) !important; }
.scp1:hover { color: rgb(10, 108, 194) !important; background: rgb(220, 238, 249) !important; }
.scp2:hover { color: rgb(255, 255, 255) !important; }
html { scroll-behavior: smooth; }
h1, h2, h1 *, h2 * { font-weight: 500 !important; letter-spacing: 0.06em !important; font-feature-settings: "palt" 1; }
h1, h2 { line-height: 1.45 !important; color: #0B2D57; }
h1, h1 * { font-weight: 500 !important; letter-spacing: 0.06em !important; }
h3, h3 * { font-weight: 500 !important; letter-spacing: 0.02em !important; font-feature-settings: "palt" 1; }
body { font-feature-settings: "palt" 1; }
p { letter-spacing: 0.02em; }
body { margin: 0; font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif; color: #0B2D57; background: #fff; }
a { color: #0A6CC2; text-decoration: none; }
a:hover { color: #07559A; }
img { max-width: 100%; }
@media (max-width: 1080px) and (min-width: 921px) { .hd-tagline { display: none; } }
.hnav a { display: inline-block; perspective: 400px; }
.fv-kenburns { animation: kenburns 26s ease-in-out infinite alternate; will-change: transform; }
@keyframes kenburns { 0% { transform: scale(1) translate(0, 0); } 35% { transform: scale(1.12) translate(-2.5%, 1.5%); } 70% { transform: scale(1.06) translate(2%, -1.5%); } 100% { transform: scale(1.14) translate(-1%, -2%); } }
@media (prefers-reduced-motion: reduce) { .fv-kenburns { animation: none; } }
.pagetop-in { animation: pagetopIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both; }
@keyframes pagetopIn { from { opacity: 0; transform: translateY(24px) scale(0.6); } to { opacity: 1; transform: translateY(0) scale(1); } }
.cta-inv { position: relative; overflow: hidden; z-index: 0; border: 1.5px solid transparent; transition: color 0.3s ease, border-color 0.3s ease; }
.cta-inv::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #ffffff; border-radius: inherit; transform: scaleX(0); transform-origin: left center; transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1); }
.cta-inv:hover { color: #8A4FE0 !important; border-color: #8A4FE0; }
.cta-inv:hover::before { transform: scaleX(1); }
.hnav a.cta-inv:hover { animation: none; }
.cta-inv:hover svg { stroke: #8A4FE0; }
.cta-inv:hover svg [fill]:not([fill="none"]) { fill: #8A4FE0; }
.cta-inv:hover .ico { background: rgba(138,79,224, 0.15) !important; }
.flow-btn { position: relative; overflow: hidden; z-index: 0; transition: color 0.3s ease, transform 0.25s ease, box-shadow 0.25s ease; }
.flow-btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #0A6CC2; transform: scaleX(0); transform-origin: left center; transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1); }
.flow-btn:hover { color: #ffffff; transform: translateY(-3px); box-shadow: 0 10px 22px rgba(10,108,194, 0.3); }
.flow-btn:hover::before { transform: scaleX(1); }
.flow-btn:hover span { color: #ffffff !important; transform: translateX(5px); }
.flow-btn:active { background: #0A6CC2; color: #ffffff; transform: translateY(0); }
.flow-btn:active span { color: #ffffff !important; }
@media (max-width: 1150px) { .fv-mascot { display: none; } }
@media (max-width: 1100px) { .sec-tag { position: static !important; display: inline-block; align-self: flex-start; margin-bottom: 16px; } .sec-head { display: flex; flex-direction: column; align-items: flex-start; } .sec-head > div { align-self: stretch; } }
@media (max-width: 1000px) { .flow-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; } .exp-cards { grid-template-columns: 1fr !important; } .method-grid { grid-template-columns: 1fr !important; } .scope-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; } .bo-grid { grid-template-columns: 1fr !important; } .ov-flow { flex-direction: column !important; } .ov-arrow { justify-content: center; padding: 6px 0 !important; } .ov-arrow-glyph { display: inline-block; transform: rotate(90deg); } }
@media (max-width: 520px) { .flow-grid { grid-template-columns: 1fr !important; } .issue-grid { grid-template-columns: 1fr !important; } }
@media (max-width: 920px) { .fv-grid { grid-template-columns: 1fr !important; } .fv-grid > div:first-of-type { padding: 40px 24px 44px !important; } .fv-panel { border-radius: 0 0 0 64px !important; } .fv-mascot { display: block !important; left: -40px !important; bottom: -40px !important; width: 124px !important; transform: none !important; z-index: 5 !important; } .fv-grid h1 span { white-space: normal !important; } }
.hnav a:hover { animation: navflip 1s ease-in-out; }
@keyframes navflip { from { transform: rotateX(0); } to { transform: rotateX(360deg); } }
.cta-fill { position: relative; overflow: hidden; z-index: 0; box-sizing: border-box; max-width: 100%; transition: color 0.3s ease, border-color 0.3s ease; }
.cta-fill::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #0A6CC2; border-radius: inherit; transform: scaleX(0); transform-origin: left center; transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1); }
.cta-fill:hover { color: #ffffff !important; border-color: transparent; }
.cta-fill:hover::before { transform: scaleX(1); }
.hamb { display: none; }
.cta-inv { max-width: 100%; box-sizing: border-box; }
@media (max-width: 920px) { .hnav { display: none !important; } .hamb { display: inline-flex; } .page-sheet { width: 100% !important; } .hd-inner { width: calc(100% - 32px) !important; } section { padding-left: 24px !important; padding-right: 24px !important; } .gray-panel { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 36px !important; } #overview > div { padding-bottom: 36px !important; } section[id], section:has(.scope-grid) { padding-bottom: 24px !important; } .ov-inner { padding-left: 16px !important; padding-right: 16px !important; } .exp-panel { padding: 40px 16px 44px !important; } .flow-sec { padding-top: 48px !important; padding-bottom: 56px !important; } .flow-sec, #trust, #contact, section:has(a.cta-fill) { padding-left: 24px !important; padding-right: 24px !important; } section:has(a.cta-fill) { padding-bottom: 16px !important; } #contact { padding-top: 12px !important; } .contact-illust { transform: scale(0.82); transform-origin: left bottom; margin-top: -28px !important; } .contact-card a.cta-inv { align-self: center !important; } .contact-card { grid-template-columns: 1fr !important; padding: 32px 24px 48px !important; gap: 24px !important; } #contact { padding-top: 24px !important; padding-bottom: 36px !important; } .fv-panel { height: 240px; margin-bottom: 28px !important; } .fv-panel img { border-radius: 0 0 0 64px !important; } .ai-cta { padding: 28px 24px !important; } footer .ft-grid { grid-template-columns: 1fr !important; gap: 24px !important; } }
@media (max-width: 640px) { .scope-grid { grid-template-columns: 1fr !important; padding-top: 0 !important; } .scope-grid > div { padding: 20px 18px 22px !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 8px !important; } .method-grid > div:last-child > span:last-child { margin-top: 12px !important; } .method-grid > div:last-child > span:first-child > span:last-child > span { margin-top: 0 !important; } .scope-grid > div > span:first-child span:first-child { letter-spacing: 0.04em !important; } img[src*="ill-bo-order"] { transform: scale(0.94) !important; } .scope-grid > div > span:first-child { position: static !important; transform: none !important; flex: none; } .bo-grid > div > div:last-child { flex-direction: column !important; align-items: flex-start !important; } .method-grid, .trust-grid { grid-template-columns: 1fr !important; } h1 span { white-space: normal !important; } }
.sp-br { display: none; }
section[id], div[id] { scroll-margin-top: 100px; }
@media (max-width: 920px) { .sp-br { display: inline; } .sp-menu { height: calc(100dvh - 68px); overflow: auto; box-sizing: border-box; } .pagetop-in { right: 20px !important; bottom: 20px !important; } section[id], div[id] { scroll-margin-top: 84px; } .sec-tag { margin-left: -16px !important; margin-bottom: 24px; } .sec-head { padding-top: 36px !important; } #overview .sec-head { padding-left: 16px !important; padding-right: 16px !important; } .sec-head > div { text-align: center !important; } .sec-head p { font-size: 14px !important; } .ai-grid { grid-template-columns: 1fr !important; } .exp-tabs { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; padding: 0 !important; margin-bottom: 12px; } .exp-tabs button { min-width: 0; padding: 12px 4px !important; font-size: 13px !important; letter-spacing: 0 !important; border-radius: 999px !important; white-space: nowrap; box-shadow: 0 2px 8px rgba(11,45,87,0.12); } .stats-grid > div { border-left: none !important; border-top: 1px solid #D9E3EA; padding-top: 20px; } .stats-grid > div:first-child { border-top: none; padding-top: 0; } .isms-text strong { line-height: 1.4 !important; } .isms-text span { line-height: 1.5 !important; } a.cta-fill { margin-bottom: 10px !important; } .contact-word { font-size: clamp(44px, 12vw, 56px) !important; } .fv-grid a.cta-inv, .contact-card a.cta-inv { min-width: 0 !important; white-space: nowrap; font-size: clamp(13px, 3.9vw, 16px) !important; padding: 14px 18px !important; } }
@media (max-width: 640px) { .fv-grid h1 { font-size: 7.2vw !important; } .sec-head h2, .flow-sec h2 { font-size: 6.2vw !important; } section h2[style*="clamp"] { font-size: 6.2vw !important; } .fv-grid h1 span { white-space: nowrap !important; } .method-grid > div { align-items: center; text-align: center; } .method-grid > div > span:first-child { flex-direction: column !important; align-items: center !important; } .scope-grid > div > span:first-child { width: auto !important; height: auto !important; border-radius: 999px !important; flex-direction: row !important; align-items: center !important; gap: 6px; padding: 6px 16px; } .scope-grid > div > span:first-child span { font-size: 13px !important; margin-top: 0 !important; } .bo-grid img { align-self: center; } }
@media (max-width: 920px) { nav.ind-nav { border-radius: 16px !important; padding: 16px 20px !important; flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; } nav.ind-nav > .ind-sep { display: none !important; } nav.ind-nav > .ind-list { width: 100%; display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px !important; } nav.ind-nav > .ind-list > * { justify-content: center; border-radius: 10px !important; padding: 8px 6px !important; font-size: 12px !important; gap: 4px !important; } }
@media (max-width: 920px) { .ai-cta { flex-direction: column !important; align-items: stretch !important; gap: 16px !important; } .ai-cta a.cta-inv { min-width: 0 !important; width: 100% !important; box-sizing: border-box !important; padding: 14px 20px !important; font-size: 15px !important; } }
@media (max-width: 920px) { #explorer button { font-feature-settings: "palt" 1; } }
