/* グループ会社：宇宙の黒背景＋ブランドアート（2026-10-05） */
.gx-section { position: relative; overflow: hidden; padding: 96px 0 104px !important; background: radial-gradient(ellipse at 20% 0%, #13235a 0%, transparent 55%), radial-gradient(ellipse at 85% 100%, #3a1450 0%, transparent 55%), #02040c !important; color: #fff; }
.gx-section--ir { padding: 64px 28px 72px !important; border-radius: 28px; }
.gx-stars { position: absolute; inset: 0; pointer-events: none; opacity: .7;
    background-image: radial-gradient(1.5px 1.5px at 12% 18%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 32% 72%, #cfe0ff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 58% 28%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 76% 62%, #ffe6b0 50%, transparent 51%), radial-gradient(1px 1px at 88% 14%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 44% 90%, #ffd0f0 50%, transparent 51%), radial-gradient(1px 1px at 6% 82%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 66% 8%, #cfe0ff 50%, transparent 51%);
    background-size: 420px 420px; animation: gxTwinkle 6s ease-in-out infinite alternate; }
@keyframes gxTwinkle { from { opacity: .45; } to { opacity: .9; } }
.gx-section .container, .gx-head, .gx-grid { position: relative; z-index: 1; }
.gx-head { text-align: center; margin: 0 auto 48px; max-width: 760px; }
.gx-badge { display: inline-block; margin: 0 0 14px; padding: 6px 16px; border-radius: 999px; border: 1px solid rgba(246, 199, 90, .55); font-family: "Inter", sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .3em; color: #f6c75a; }
.gx-title { margin: 0 0 16px; font-size: clamp(26px, 3.6vw, 44px); font-weight: 900; line-height: 1.35; color: #fff; }
.gx-title span { background: linear-gradient(90deg, #4fa3ff, #f6c75a 50%, #ff4fc3); -webkit-background-clip: text; background-clip: text; color: transparent; }
.gx-lead { margin: 0; font-size: 15px; line-height: 1.9; color: rgba(255, 255, 255, .78); }
.gx-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.gx-card { position: relative; display: flex; flex-direction: column; border-radius: 26px; overflow: hidden; text-decoration: none !important; color: #fff;
    background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02)); border: 1px solid color-mix(in srgb, var(--bc) 45%, transparent);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .5); transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s ease, border-color .45s ease; }
.gx-card:hover { transform: translateY(-10px); border-color: var(--bc); box-shadow: 0 34px 80px rgba(0, 0, 0, .6), 0 0 60px color-mix(in srgb, var(--bc) 45%, transparent); }
.gx-art { position: relative; aspect-ratio: 1; overflow: hidden; }
.gx-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .9s ease, transform 1.2s cubic-bezier(.2, .8, .2, 1), filter .9s ease; }
.gx-b { opacity: 1; }
.gx-card:hover .gx-b { opacity: 0; filter: brightness(2); }
.gx-card:hover .gx-a { transform: scale(1.08); }
.gx-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .28) 50%, transparent 65%); transform: translateX(-120%); transition: transform 1.1s ease; }
.gx-card:hover .gx-art::after { transform: translateX(120%); }
.gx-art::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 40%; z-index: 1; background: linear-gradient(180deg, transparent, rgba(2, 4, 12, .9)); }
.gx-no { position: absolute; left: 18px; top: 12px; z-index: 2; font-family: "Inter", sans-serif; font-size: 44px; font-weight: 900; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--bc) 85%, #fff); opacity: .9; }
.gx-body { position: relative; z-index: 2; display: flex; flex-direction: column; flex: 1; margin-top: -40px; padding: 0 24px 26px; }
.gx-en { margin: 0; font-family: "Inter", sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .2em; color: var(--bc); text-shadow: 0 0 12px color-mix(in srgb, var(--bc) 70%, transparent); }
.gx-ja { margin: 6px 0 10px; font-size: 22px; font-weight: 900; color: #fff; }
.gx-copy { margin: 0 0 10px; font-size: 15px; font-weight: 800; color: #fff; }
.gx-desc { margin: 0 0 16px; font-size: 13.5px; line-height: 1.85; color: rgba(255, 255, 255, .72); }
.gx-tags { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.gx-tags li { padding: 4px 10px; border-radius: 999px; font-family: "Inter", sans-serif; font-size: 11px; font-weight: 700; color: rgba(255, 255, 255, .85); background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); }
.gx-link { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px; border-radius: 999px; font-size: 13.5px; font-weight: 800; color: #02040c;
    background: linear-gradient(90deg, color-mix(in srgb, var(--bc) 80%, #fff), var(--bc)); box-shadow: 0 8px 24px color-mix(in srgb, var(--bc) 40%, transparent); transition: gap .3s ease; }
.gx-card:hover .gx-link { gap: 14px; }
@media (max-width: 980px) { .gx-grid { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; } }
@media (max-width: 600px) { .gx-section { padding: 64px 0 72px !important; } .gx-section--ir { padding: 44px 14px 52px !important; border-radius: 20px; } }

/* RSKAGEHA：レインボーの卵と幼虫（2026-10-05） */
.rg-emblem { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; padding: 10px 14px; border-radius: 16px; background: linear-gradient(90deg, rgba(255, 79, 195, .12), rgba(79, 107, 255, .12)); border: 1px solid rgba(255, 255, 255, .14); }
.rg-svg { flex: 0 0 auto; width: 132px; height: auto; overflow: visible; }
.rg-cap { margin: 0; font-size: 13.5px; font-weight: 800; line-height: 1.6; color: #fff; }
.rg-cap b { background: linear-gradient(90deg, #ff3b5c, #ffd23a, #3ed47a, #2ec5ff, #b04dff); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: 1.15em; }
.rg-en { display: block; font-family: "Inter", sans-serif; font-size: 10.5px; font-weight: 800; letter-spacing: .24em; background: linear-gradient(90deg, #ff3b5c, #ffd23a, #3ed47a, #2ec5ff, #b04dff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rg-seg { transform-box: fill-box; transform-origin: center; animation: rgCrawl 1.6s ease-in-out infinite; }
@keyframes rgCrawl { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.rg-egg { transform-box: fill-box; transform-origin: 50% 90%; animation: rgEgg 3.2s ease-in-out infinite; }
@keyframes rgEgg { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-4deg); } 75% { transform: rotate(4deg); } }
.rg-spark path { transform-box: fill-box; transform-origin: center; animation: rgSpark 2s ease-in-out infinite; }
@keyframes rgSpark { 0%, 100% { opacity: .2; transform: scale(.6); } 50% { opacity: 1; transform: scale(1.2); } }
.rg-emblem--hero { max-width: 460px; margin: -8px 0 24px; }
.rg-emblem--hero .rg-svg { width: 150px; }
.rg-emblem--hero .rg-cap { font-size: 15px; }
@media (max-width: 768px) { .rg-emblem--hero { margin: -6px 0 18px; } .rg-emblem--hero .rg-svg { width: 110px; } .rg-emblem--hero .rg-cap { font-size: 13px; } }
@media (prefers-reduced-motion: reduce) { .rg-seg, .rg-egg, .rg-spark path { animation: none; } }

/* 幼虫を外し、卵だけに（2026-10-05） */
.rg-svg { width: 58px; }
.rg-emblem--hero .rg-svg { width: 68px; }
@media (max-width: 768px) { .rg-emblem--hero .rg-svg { width: 54px; } }

/* 虹色の卵を大きく、はっきり（2026-10-05） */
.rg-emblem { background: rgba(2, 4, 12, .72); border: 1px solid rgba(255, 255, 255, .28); box-shadow: 0 0 24px rgba(255, 79, 195, .25), inset 0 0 18px rgba(79, 107, 255, .18); }
.rg-svg { width: 76px; filter: drop-shadow(0 0 10px rgba(255, 255, 255, .55)) drop-shadow(0 0 22px rgba(255, 210, 58, .45)) saturate(1.35) brightness(1.12); }
.rg-emblem--hero .rg-svg { width: 96px; }
.rg-cap { font-size: 14.5px; }
.rg-emblem--hero .rg-cap { font-size: 16px; }
@media (max-width: 768px) { .rg-emblem--hero .rg-svg { width: 70px; } }

.gx-own { align-self: flex-start; margin: -4px 0 10px; padding: 4px 10px; border-radius: 8px; font-size: 11.5px; font-weight: 800; color: #fff; background: rgba(255, 255, 255, .08); border: 1px solid color-mix(in srgb, var(--bc) 50%, transparent); }
.gx-own i { margin-right: 6px; color: var(--bc); }
.gx-lead small { display: block; margin-top: 8px; font-size: 12.5px; color: rgba(255, 255, 255, .62); }

/* 英語＋小さな日本語。押す（ホバー）と日本語に切り替わる（2026-10-05） */
.ej { display: inline-flex; flex-direction: column; align-items: flex-start; line-height: 1.1; vertical-align: middle; }
.ej-en { font-family: "Inter", sans-serif; font-weight: 800; letter-spacing: .08em; }
.ej-ja { font-size: .68em; font-weight: 700; opacity: .8; margin-top: 2px; letter-spacing: 0; }
a:hover .ej-en, a:focus-visible .ej-en, a:active .ej-en, .gx-card:hover .ej-en { display: none; }
a:hover .ej-ja, a:focus-visible .ej-ja, a:active .ej-ja, .gx-card:hover .ej-ja { font-size: 1em; opacity: 1; margin-top: 0; }
.btn .ej { align-items: center; }
.nav-ej .ej { align-items: center; }
.nav-ej .ej-ja { font-size: 9.5px; }

/* グループ3社のロゴ（2026-10-05） */
.gx-logos { list-style: none; margin: 0 0 36px; padding: 0; display: grid; grid-template-columns: .7fr 1.15fr 1.15fr; gap: 18px; position: relative; z-index: 1; }
.gx-logos li { display: flex; align-items: center; justify-content: center; height: 120px; padding: 10px 14px; border-radius: 18px; background: #000; border: 1px solid rgba(255, 255, 255, .12); }
.gx-logos img { max-width: 100%; max-height: 100%; object-fit: contain; }
@media (max-width: 980px) { .gx-logos { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; } .gx-logos li { height: 96px; } }

/* ロゴは社長指定の黒背景・シルバー文字版に統一（2026-10-05） */
.gx-logos { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.gx-logos li { height: auto !important; padding: 0 !important; overflow: hidden; background: #000 !important; }
.gx-logos img { width: 100%; height: auto; max-height: none; }
.header .logo img[src*="logo-rsk-header"], body.corp .logo img[src*="logo-rsk-header"] { border-radius: 8px; background: #000; }
.footer-logo img[src*="logo-rsk-header"] { border-radius: 10px; background: #000; }
@media (max-width: 980px) { .gx-logos { grid-template-columns: 1fr !important; } }
/* 背景は黒（2026-10-05） */
.gx-section { background: #000 !important; }
.gx-logos li { border: 0 !important; border-radius: 0 !important; }
.gx-card { background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .015)) , #000; }

/* ===== ロゴをキラキラ輝かせる（2026-10-05） ===== */
.gx-logos li, .logo:has(img[src*="logo-rsk-header"]), .footer-logo:has(img[src*="logo-rsk-header"]) { position: relative; overflow: hidden; isolation: isolate; }
.logo:has(img[src*="logo-rsk-header"]), .footer-logo:has(img[src*="logo-rsk-header"]) { display: inline-block; border-radius: 8px; line-height: 0; }
/* 光の帯がロゴを横切る */
.gx-logos li::after, .logo:has(img[src*="logo-rsk-header"])::after, .footer-logo:has(img[src*="logo-rsk-header"])::after {
    content: ""; position: absolute; top: -20%; bottom: -20%; left: -60%; width: 45%; z-index: 2; pointer-events: none;
    background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, .55) 48%, rgba(255, 255, 255, .9) 50%, rgba(255, 255, 255, .55) 52%, rgba(255, 255, 255, 0) 70%, transparent 100%);
    mix-blend-mode: screen; transform: skewX(-18deg); animation: logoSweep 4.2s ease-in-out infinite;
}
.gx-logos li:nth-child(2)::after { animation-delay: .9s; }
.gx-logos li:nth-child(3)::after { animation-delay: 1.8s; }
@keyframes logoSweep { 0% { left: -60%; } 55%, 100% { left: 130%; } }
/* 星のきらめき */
.gx-logos li::before {
    content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; mix-blend-mode: screen;
    background:
        radial-gradient(circle, #fff 0 1.5px, rgba(255, 255, 255, .6) 2.5px, transparent 7px) 18% 28% / 26px 26px no-repeat,
        radial-gradient(circle, #fff 0 1.5px, rgba(255, 255, 255, .6) 2.5px, transparent 7px) 82% 22% / 22px 22px no-repeat,
        radial-gradient(circle, #fff 0 1.2px, rgba(255, 255, 255, .5) 2px, transparent 6px) 64% 78% / 20px 20px no-repeat,
        radial-gradient(circle, #fff 0 1px, rgba(255, 255, 255, .5) 2px, transparent 5px) 34% 82% / 16px 16px no-repeat;
    animation: logoTwinkle 2.4s ease-in-out infinite alternate;
}
.gx-logos li:nth-child(2)::before { animation-delay: .8s; }
.gx-logos li:nth-child(3)::before { animation-delay: 1.6s; }
@keyframes logoTwinkle { 0% { opacity: .15; filter: brightness(.8); } 50% { opacity: 1; filter: brightness(1.6); } 100% { opacity: .35; } }
/* ロゴ全体がほのかに脈打つように光る */
.gx-logos img { animation: logoGlow 3.6s ease-in-out infinite; }
.gx-logos li:nth-child(1) img { --lg: rgba(80, 160, 255, .75); }
.gx-logos li:nth-child(2) img { --lg: rgba(255, 196, 80, .75); animation-delay: .6s; }
.gx-logos li:nth-child(3) img { --lg: rgba(255, 80, 200, .75); animation-delay: 1.2s; }
@keyframes logoGlow { 0%, 100% { filter: brightness(1) saturate(1); } 50% { filter: brightness(1.22) saturate(1.25) drop-shadow(0 0 18px var(--lg)); } }
@media (prefers-reduced-motion: reduce) { .gx-logos li::after, .gx-logos li::before, .gx-logos img, .logo::after, .footer-logo::after { animation: none !important; } }

/* 光の帯をレインボー×ゴールドに（2026-10-05） */
.gx-logos li::after, .logo:has(img[src*="logo-rsk-header"])::after, .footer-logo:has(img[src*="logo-rsk-header"])::after {
    background: linear-gradient(105deg, transparent 22%, rgba(255, 77, 109, .45) 32%, rgba(255, 159, 67, .6) 38%, rgba(255, 214, 102, .85) 44%, rgba(255, 246, 210, 1) 50%, rgba(242, 196, 109, .9) 54%, rgba(76, 217, 123, .55) 60%, rgba(62, 199, 255, .5) 66%, rgba(178, 107, 255, .45) 72%, transparent 82%) !important;
}
/* 押す（ホバー・タップ）と、各社のアート（ラスクの神ロボ・GOAT・AGEHA）が現れる */
.gx-logos li { cursor: pointer; outline: none; }
.gx-logos .gx-art-pop { position: absolute; inset: 0; z-index: 1; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center 22%;
    opacity: 0; transform: scale(1.15); filter: brightness(2.2) saturate(1.3); transition: opacity .7s ease, transform 1.1s cubic-bezier(.2, .8, .2, 1), filter .9s ease; animation: none !important; }
.gx-logos li:hover .gx-art-pop, .gx-logos li:focus .gx-art-pop, .gx-logos li:active .gx-art-pop { opacity: 1; transform: scale(1); filter: brightness(1) saturate(1.1); }
.gx-logos li img:not(.gx-art-pop) { position: relative; z-index: 0; transition: opacity .5s ease; }
.gx-logos li:hover img:not(.gx-art-pop), .gx-logos li:focus img:not(.gx-art-pop) { opacity: 0; }

.gx-logos li { cursor: default; }
.gx-logos li.gx-pop { cursor: pointer; }

/* ===== もっと大きな光／GOATの絵を欠けずに飛び出させる（2026-10-05） ===== */
.gx-logos li { overflow: visible !important; }
.gx-logos li::after {
    left: 0 !important; right: 0; top: 0 !important; bottom: 0 !important; width: auto !important; transform: none !important;
    background-size: 260% 100% !important; background-repeat: no-repeat !important;
    animation: logoSweepBig 3.6s ease-in-out infinite !important; filter: blur(.5px) brightness(1.25);
}
.gx-logos li:nth-child(2)::after { animation-delay: .8s !important; }
.gx-logos li:nth-child(3)::after { animation-delay: 1.6s !important; }
@keyframes logoSweepBig { 0% { background-position: 120% 0; opacity: 0; } 10% { opacity: 1; } 60% { background-position: -20% 0; opacity: 1; } 70%, 100% { background-position: -20% 0; opacity: 0; } }
.logo:has(img[src*="logo-rsk-header"])::after, .footer-logo:has(img[src*="logo-rsk-header"])::after { width: 80% !important; filter: brightness(1.3); }
/* GOAT：押すと正方形の絵がタイルからはみ出して現れる（文字まで欠けない） */
.gx-logos li.gx-pop .gx-art-pop { inset: auto !important; left: 50% !important; top: 50% !important; width: 100% !important; height: auto !important; aspect-ratio: 1; object-fit: contain !important;
    transform: translate(-50%, -50%) scale(.4) !important; z-index: 20; border-radius: 22px; box-shadow: 0 30px 80px rgba(0, 0, 0, .8), 0 0 60px rgba(255, 196, 80, .55); pointer-events: none; }
.gx-logos li.gx-pop:hover .gx-art-pop, .gx-logos li.gx-pop:focus .gx-art-pop, .gx-logos li.gx-pop:active .gx-art-pop { transform: translate(-50%, -50%) scale(1) !important; }
.gx-logos li.gx-pop:hover, .gx-logos li.gx-pop:focus { z-index: 30; position: relative; }

/* 3社が並んだバナー（2026-10-05） */
.gx-banner { position: relative; margin: 0 0 40px; z-index: 2; }
.gx-banner-img { display: block; width: 100%; height: auto; border-radius: 22px; animation: logoGlowB 3.6s ease-in-out infinite; }
@keyframes logoGlowB { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.15) saturate(1.15); } }
.gx-banner::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; border-radius: 22px; mix-blend-mode: screen;
    background: linear-gradient(105deg, transparent 22%, rgba(255, 77, 109, .45) 32%, rgba(255, 159, 67, .6) 38%, rgba(255, 214, 102, .85) 44%, rgba(255, 246, 210, 1) 50%, rgba(242, 196, 109, .9) 54%, rgba(76, 217, 123, .55) 60%, rgba(62, 199, 255, .5) 66%, rgba(178, 107, 255, .45) 72%, transparent 82%) no-repeat;
    background-size: 160% 100%; animation: logoSweepBig 4.2s ease-in-out infinite; filter: brightness(1.2); }
.gx-banner::before { content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none; mix-blend-mode: screen;
    background:
        radial-gradient(circle, #fff 0 1.6px, rgba(255, 255, 255, .6) 3px, transparent 8px) 12% 22% / 28px 28px no-repeat,
        radial-gradient(circle, #fff 0 1.6px, rgba(255, 255, 255, .6) 3px, transparent 8px) 47% 18% / 26px 26px no-repeat,
        radial-gradient(circle, #fff 0 1.4px, rgba(255, 255, 255, .5) 2.5px, transparent 7px) 88% 24% / 24px 24px no-repeat,
        radial-gradient(circle, #fff 0 1.2px, rgba(255, 255, 255, .5) 2px, transparent 6px) 30% 70% / 20px 20px no-repeat,
        radial-gradient(circle, #fff 0 1.2px, rgba(255, 255, 255, .5) 2px, transparent 6px) 72% 66% / 20px 20px no-repeat;
    animation: logoTwinkle 2.2s ease-in-out infinite alternate; }
.gx-hot { position: absolute; top: 0; bottom: 0; left: 33.5%; width: 33%; z-index: 5; cursor: pointer; outline: none; }
.gx-hot .gx-art-pop { position: absolute; left: 50%; top: 50%; width: 120%; aspect-ratio: 1; height: auto; object-fit: contain; border-radius: 22px; pointer-events: none;
    opacity: 0; transform: translate(-50%, -50%) scale(.35); filter: brightness(2.2); box-shadow: 0 30px 80px rgba(0, 0, 0, .8), 0 0 60px rgba(255, 196, 80, .6);
    transition: opacity .6s ease, transform .9s cubic-bezier(.2, .8, .2, 1), filter .8s ease; }
.gx-hot:hover .gx-art-pop, .gx-hot:focus .gx-art-pop, .gx-hot:active .gx-art-pop { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: brightness(1); }
@media (max-width: 760px) { .gx-hot .gx-art-pop { width: 200%; } .gx-banner-img, .gx-banner::after { border-radius: 12px; } }
@media (prefers-reduced-motion: reduce) { .gx-banner::after, .gx-banner::before, .gx-banner-img { animation: none; } }

/* ===== 見せ方：白基調のページに、黒いステージを載せる（2026-10-05） ===== */
.gx-section { background: #fff !important; color: #0b1638; padding: 96px 0 104px !important; }
.gx-section--ir { background: transparent !important; padding: 0 !important; border-radius: 0; }
.gx-section .gx-badge { color: #9c7416; border-color: rgba(156, 116, 22, .45); }
.gx-section .gx-title { color: #0b1638; }
.gx-section .gx-title span { background: linear-gradient(90deg, #1c49c9, #9c7416 55%, #c0399a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.gx-section .gx-lead { color: #3a4456; }
.gx-section .gx-lead small { color: #5b6577; }
.gx-stage { position: relative; overflow: hidden; isolation: isolate; padding: 40px 40px 44px; border-radius: 32px; background: #000; color: #fff;
    box-shadow: 0 40px 90px -30px rgba(11, 22, 56, .55), 0 0 0 1px rgba(11, 22, 56, .08); }
.gx-stage .gx-stars { z-index: 0; }
.gx-stage .gx-banner, .gx-stage .gx-grid { position: relative; z-index: 1; }
.gx-stage .gx-banner { margin-bottom: 32px; }
@media (max-width: 760px) { .gx-stage { padding: 18px 14px 22px; border-radius: 22px; } .gx-section { padding: 64px 0 72px !important; } }

/* ロゴは黒基調に：レインボーの光を外す */
.logo:has(img[src*="logo-rsk-header"])::after, .footer-logo:has(img[src*="logo-rsk-header"])::after { content: none !important; animation: none !important; }
.gx-banner::after {
    background: linear-gradient(105deg, transparent 38%, rgba(255, 255, 255, .10) 45%, rgba(255, 255, 255, .32) 50%, rgba(255, 255, 255, .10) 55%, transparent 62%) no-repeat !important;
    background-size: 220% 100% !important; animation: logoSweepSilver 7s ease-in-out infinite !important; filter: none !important;
}
@keyframes logoSweepSilver { 0% { background-position: 130% 0; } 35%, 100% { background-position: -30% 0; } }
.gx-banner::before { opacity: .55; }

/* ===== 普段は白基調、ボタンで黒（ブランドビュー）に切り替え（2026-10-05） ===== */
.gx-toggle { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding: 12px 24px; border-radius: 999px; border: 1px solid #0b1638; background: #0b1638; color: #fff; font-size: 14px; cursor: pointer; transition: background .3s, color .3s, transform .2s; }
.gx-toggle:hover { transform: translateY(-2px); }
.gx-toggle .gx-t-dark { display: none; }
.gx-dark .gx-toggle { background: #fff; color: #0b1638; }
.gx-dark .gx-toggle .gx-t-light { display: none; }
.gx-dark .gx-toggle .gx-t-dark { display: inline; }
.gx-toggle:hover .ej-en { display: none; }
.gx-toggle:hover .ej-ja { font-size: 1em; opacity: 1; margin-top: 0; }
.gx-banner-light { display: none; }
.gx-section:not(.gx-dark) .gx-banner-dark { display: none; }
.gx-section:not(.gx-dark) .gx-banner-light { display: block; border: 1px solid #e3e7ef; animation: none; }
.gx-section:not(.gx-dark) .gx-banner::after, .gx-section:not(.gx-dark) .gx-banner::before { display: none; }
/* 白基調のステージ */
.gx-stage { transition: background .6s ease, box-shadow .6s ease; }
.gx-section:not(.gx-dark) .gx-stage { background: #f6f8fc; color: #0b1638; box-shadow: 0 0 0 1px #e3e7ef; }
.gx-section:not(.gx-dark) .gx-stars { display: none; }
.gx-section:not(.gx-dark) .gx-card { background: #fff !important; color: #0b1638; border-color: #e3e7ef; box-shadow: 0 14px 34px -18px rgba(11, 22, 56, .35); }
.gx-section:not(.gx-dark) .gx-card:hover { border-color: var(--bc); box-shadow: 0 24px 50px -20px rgba(11, 22, 56, .45); }
.gx-section:not(.gx-dark) .gx-ja, .gx-section:not(.gx-dark) .gx-copy { color: #0b1638; }
.gx-section:not(.gx-dark) .gx-desc { color: #3a4456; }
.gx-section:not(.gx-dark) .gx-en { text-shadow: none; filter: saturate(1.2) brightness(.85); }
.gx-section:not(.gx-dark) .gx-tags li { color: #3a4456; background: #f1f4f9; border-color: #e3e7ef; }
.gx-section:not(.gx-dark) .gx-own { color: #0b1638; background: #f6f8fc; }
.gx-section:not(.gx-dark) .gx-art::before { background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .95)); }
.gx-section:not(.gx-dark) .gx-body { margin-top: -30px; }
.gx-section:not(.gx-dark) .rg-emblem { background: #0b1638; }

/* ===== メニュー：普段は黒文字、押すとゴールド。お問い合わせはレインボー（2026-10-05） ===== */
.header .nav-menu .nav-link:not(.btn-contact), body.corp .header .nav-link:not(.btn-contact) { color: #000 !important; transition: color .2s; }
.header .nav-menu .nav-link:not(.btn-contact):active, body.corp .header .nav-link:not(.btn-contact):active {
    background: linear-gradient(90deg, #b8862a, #f2c46d 40%, #ffe39a 60%, #d99a1e) !important; -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent; color: transparent !important; filter: drop-shadow(0 0 6px rgba(242, 181, 58, .55)); }

@keyframes navRainbow { to { background-position: 300% 0; } }
.header .nav-link.btn-contact:hover, .header .nav-link.btn-contact:active, .header .nav-link.btn-contact:focus-visible, body.corp .btn-contact:hover {
    background: linear-gradient(90deg, #ff4d6d, #ff9f43, #ffe066, #4cd97b, #3ec7ff, #5b7bff, #b26bff, #ff4d6d) !important; background-size: 300% 100% !important;
    animation: navRainbow 1.6s linear infinite; color: #fff !important; text-shadow: 0 1px 4px rgba(0, 0, 0, .35); box-shadow: 0 0 18px rgba(178, 107, 255, .55), 0 0 28px rgba(62, 199, 255, .4) !important; }

/* ロゴは白基調版（ヘッダー・フッター）。マウスを乗せると銀の光が走る（2026-10-05） */
.header .logo img[src*="rsk-silver"], body.corp .logo img[src*="rsk-silver"], .footer-logo img[src*="rsk-silver"] { background: transparent !important; border-radius: 0 !important; }
.logo:has(img[src*="rsk-silver"])::after, .footer-logo:has(img[src*="rsk-silver"])::after {
    content: "" !important; position: absolute; inset: 0; left: 0 !important; width: auto !important; transform: none !important; pointer-events: none; mix-blend-mode: multiply; opacity: 0;
    background: linear-gradient(105deg, transparent 35%, rgba(61, 139, 255, .35) 48%, rgba(255, 255, 255, 0) 50%, rgba(61, 139, 255, .35) 52%, transparent 65%) no-repeat !important;
    background-size: 250% 100% !important; animation: none !important; }
.logo:has(img[src*="rsk-silver"]):hover::after { opacity: 1; animation: logoSweepSilver 1.2s ease-out 1 !important; }
.logo:has(img[src*="rsk-silver"]) img { transition: transform .3s ease, filter .3s ease; }
.logo:has(img[src*="rsk-silver"]):hover img { transform: scale(1.04); filter: drop-shadow(0 4px 10px rgba(61, 139, 255, .45)); }
.header .logo img[src*="rsk-silver"], body.corp .logo img[src*="rsk-silver"] { height: 56px !important; max-width: 160px !important; mix-blend-mode: normal; }
@media (max-width: 768px) { .header .logo img[src*="rsk-silver"], body.corp .logo img[src*="rsk-silver"] { height: 44px !important; } }
/* メニュー文字が折り返して欠けないように（2026-10-05） */
.header .nav-menu .nav-link { white-space: nowrap; }
@media (min-width: 1025px) and (max-width: 1500px) { .header .nav-menu { gap: 14px !important; } .header .nav-menu .nav-link { font-size: 13px !important; padding-left: 4px; padding-right: 4px; } }
.logo:has(img[src*="rsk-silver"]) { overflow: visible !important; width: auto !important; min-width: max-content; flex-shrink: 0; }

/* X（@rasuku_net_com）への誘導（2026-10-05） */
.fs-follow { margin: 10px 0 0; text-align: center; }
.fs-follow a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 999px; background: #000; color: #fff !important; font-size: 13px; font-weight: 800; text-decoration: none; transition: transform .2s; }
.fs-follow a:hover { transform: translateY(-2px); }

/* ===== メニュー：英語がベース、マウスを乗せると日本語に（2026-10-05） ===== */
.nl { display: inline-grid; vertical-align: middle; }
.nl > span { grid-area: 1 / 1; text-align: center; transition: opacity .25s ease, transform .25s ease; white-space: nowrap; }
.nl-ja { opacity: 0; transform: translateY(7px); font-size: .92em; }
a:hover > .nl .nl-en, a:focus-visible > .nl .nl-en, a:active > .nl .nl-en { opacity: 0; transform: translateY(-7px); }
a:hover > .nl .nl-ja, a:focus-visible > .nl .nl-ja, a:active > .nl .nl-ja { opacity: 1; transform: none; }
.nav-ej .ej-ja { display: none; }

/* ===== GOAT：目に火がつきゴールドに輝く／立ち上がる（2026-10-05） ===== */
.goat-eye { position: absolute; left: 66.3%; top: 21.4%; width: 9%; aspect-ratio: 1; transform: translate(-50%, -50%) scale(0); border-radius: 50%; pointer-events: none; z-index: 3; mix-blend-mode: screen;
    background: radial-gradient(circle, #fffbe6 0 12%, #ffd76a 24%, rgba(242, 160, 30, .85) 42%, rgba(242, 120, 20, .35) 62%, transparent 72%); opacity: 0; }
.goat-eye::before, .goat-eye::after { content: ""; position: absolute; left: 50%; top: 50%; width: 520%; height: 6%; transform: translate(-50%, -50%); border-radius: 50%;
    background: linear-gradient(90deg, transparent, rgba(255, 220, 120, .95), transparent); }
.goat-eye::after { transform: translate(-50%, -50%) rotate(90deg); width: 300%; }
@keyframes eyeIgnite { 0% { opacity: 0; transform: translate(-50%, -50%) scale(0); } 30% { opacity: 1; transform: translate(-50%, -50%) scale(2.2); } 55% { transform: translate(-50%, -50%) scale(1.1); } 100% { opacity: 1; transform: translate(-50%, -50%) scale(1.3); } }
@keyframes eyeFlicker { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.5); } }
@keyframes goatRise { 0% { transform: translateY(6%) rotate(3deg) scale(1.02); } 55% { transform: translateY(-3%) rotate(-2deg) scale(1.06); } 100% { transform: translateY(0) rotate(0) scale(1.03); } }
@keyframes goatGold { 0% { filter: none; } 40% { filter: sepia(.6) saturate(1.8) hue-rotate(-12deg) brightness(1.25); } 100% { filter: sepia(.35) saturate(1.4) hue-rotate(-8deg) brightness(1.08); } }
/* TOPのスライド：ヘッダー画像からアートに切り替わる瞬間に */
.hero-slide--goatx.active .goat-eye--hero { animation: eyeIgnite 1.2s cubic-bezier(.2, .8, .2, 1) 3.1s both, eyeFlicker 1.4s ease-in-out 4.3s infinite; }
.hero-slide--goatx.active .hb2-a { animation: goatArt 8s ease-out 2.4s both, goatGold 2.4s ease 3.1s both !important; }
/* グループ会社カード：マウスを乗せる・タップで */
.gx-art--goat .gx-a { opacity: 0; }
.gx-card:hover .gx-art--goat .gx-a, .gx-card:focus-visible .gx-art--goat .gx-a { opacity: 1; animation: goatRise 1s cubic-bezier(.2, .8, .2, 1) both, goatGold 1.2s ease .2s both; }
.gx-card:hover .gx-art--goat .goat-eye, .gx-card:focus-visible .gx-art--goat .goat-eye { animation: eyeIgnite 1s cubic-bezier(.2, .8, .2, 1) .35s both, eyeFlicker 1.4s ease-in-out 1.4s infinite; }
.gx-card:hover .gx-art--goat .gx-b { opacity: 0; }

/* ===== グループのロゴ画像を交互に（2026-10-05） ===== */
.gx-banner { aspect-ratio: 3 / 1; overflow: hidden; border-radius: 22px; background: #000; }
.gx-banner > img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: contain; border-radius: 0 !important; }
.gx-section:not(.gx-dark) .gx-banner { background: #fff; border: 1px solid #e3e7ef; }
.gx-section:not(.gx-dark) .gx-banner-light { border: 0 !important; }
.gx-banner-alt { opacity: 0; animation: bannerSwap 12s ease-in-out infinite; background: #000; z-index: 2; }
.gx-banner-dark, .gx-banner-light { animation: bannerSwapB 12s ease-in-out infinite !important; }
@keyframes bannerSwap { 0%, 42% { opacity: 0; } 50%, 92% { opacity: 1; } 100% { opacity: 0; } }
@keyframes bannerSwapB { 0%, 42% { opacity: 1; } 50%, 92% { opacity: 0; } 100% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .gx-banner-alt, .gx-banner-dark, .gx-banner-light { animation: none !important; } .gx-banner-alt { display: none; } }

/* メニュー：マウスを乗せると黒字のまま日本語に、押したときだけゴールド（2026-10-05） */
.header .nav-menu .nav-link:not(.btn-contact):active { filter: drop-shadow(0 0 6px rgba(242, 181, 58, .55)); }
.nl > span { will-change: opacity; }
.nl-ja { transform: none !important; }
a:hover > .nl .nl-en, a:focus-visible > .nl .nl-en { transform: none !important; }

/* ===== 目から光（2026-10-05） ===== */
.eye-fx { position: absolute; left: var(--ex); top: var(--ey); width: 0; height: 0; z-index: 4; pointer-events: none; }
.eye-fx--rainbow i, .eye-fx--gold i { position: absolute; left: 0; top: 0; height: 10px; width: 140%; min-width: 260px; transform-origin: 0 50%; transform: translateY(-50%) rotate(6deg) scaleX(0); border-radius: 999px; opacity: 0; mix-blend-mode: screen; filter: blur(1px); }
.eye-fx--rainbow i { background: linear-gradient(90deg, #fff 0%, #ff4d6d 12%, #ff9f43 26%, #ffe066 40%, #4cd97b 54%, #3ec7ff 68%, #5b7bff 82%, rgba(178, 107, 255, 0) 100%); box-shadow: 0 0 18px rgba(255, 255, 255, .8), 0 0 36px rgba(120, 180, 255, .7); }
.eye-fx--gold i { background: linear-gradient(90deg, #fffbe6 0%, #ffd76a 20%, #f2b53a 55%, rgba(242, 160, 30, 0) 100%); box-shadow: 0 0 18px rgba(255, 215, 106, .9), 0 0 40px rgba(242, 160, 30, .7); }
.eye-fx--rainbow::before, .eye-fx--gold::before { content: ""; position: absolute; left: 0; top: 0; width: 46px; height: 46px; transform: translate(-50%, -50%) scale(0); border-radius: 50%; opacity: 0; mix-blend-mode: screen; }
.eye-fx--rainbow::before { background: radial-gradient(circle, #fff 0 18%, rgba(255, 255, 255, .6) 30%, rgba(120, 200, 255, .4) 50%, transparent 70%); }
.eye-fx--gold::before { background: radial-gradient(circle, #fffbe6 0 18%, #ffd76a 34%, rgba(242, 160, 30, .5) 52%, transparent 70%); }
@keyframes eyeBeam { 0% { opacity: 0; transform: translateY(-50%) rotate(6deg) scaleX(0); } 25% { opacity: 1; } 60% { opacity: 1; transform: translateY(-50%) rotate(6deg) scaleX(1); } 100% { opacity: 0; transform: translateY(-50%) rotate(6deg) scaleX(1.1); } }
@keyframes eyeFlare { 0% { opacity: 0; transform: translate(-50%, -50%) scale(0); } 30% { opacity: 1; transform: translate(-50%, -50%) scale(1.6); } 100% { opacity: .85; transform: translate(-50%, -50%) scale(1); } }
.eye-fx--hearts i { position: absolute; left: 0; top: 0; font-style: normal; font-size: 22px; line-height: 1; color: #ff5ec8; opacity: 0; text-shadow: 0 0 10px #ff8ad8, 0 0 22px rgba(255, 79, 195, .8); transform: translate(-50%, -50%) scale(.2); }
@keyframes heartFly { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.2); } 20% { opacity: 1; } 100% { opacity: 0; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.4) rotate(var(--r)); } }
.eye-fx--hearts i:nth-child(1) { --dx: 120px; --dy: -60px; --r: 12deg; }
.eye-fx--hearts i:nth-child(2) { --dx: 170px; --dy: -10px; --r: -10deg; font-size: 28px; }
.eye-fx--hearts i:nth-child(3) { --dx: 90px; --dy: 40px; --r: 18deg; font-size: 18px; }
.eye-fx--hearts i:nth-child(4) { --dx: 210px; --dy: -90px; --r: -16deg; font-size: 16px; }
.eye-fx--hearts i:nth-child(5) { --dx: 150px; --dy: 70px; --r: 8deg; font-size: 24px; }
.eye-fx--hearts i:nth-child(6) { --dx: 60px; --dy: -100px; --r: -6deg; font-size: 20px; }
/* グループ会社カード：マウスを乗せる・タップで画面が変わるとき */
.gx-card:hover .eye-fx--rainbow i, .gx-card:focus-visible .eye-fx--rainbow i, .gx-card:hover .eye-fx--gold i, .gx-card:focus-visible .eye-fx--gold i { animation: eyeBeam 1.6s ease-out .45s both; }
.gx-card:hover .eye-fx--rainbow::before, .gx-card:focus-visible .eye-fx--rainbow::before, .gx-card:hover .eye-fx--gold::before, .gx-card:focus-visible .eye-fx--gold::before { animation: eyeFlare 1s ease-out .35s both; }
.gx-card:hover .eye-fx--hearts i, .gx-card:focus-visible .eye-fx--hearts i { animation: heartFly 1.8s ease-out both; animation-delay: calc(.45s + var(--h) * .15s); }
/* TOPのスライド */
.hero-slide--goatx.active .eye-fx--gold i { animation: eyeBeam 1.8s ease-out 3.2s both; }
.hero-slide--goatx.active .eye-fx--gold::before { animation: eyeFlare 1.2s ease-out 3.1s both; }
.hero-slide--b-ageha.active .eye-fx--hearts i { animation: heartFly 2.2s ease-out both; animation-delay: calc(3.2s + var(--h) * .18s); }
.hero-slide--brand .eye-fx--hearts i { font-size: 30px; }
.hero-slide--brand .eye-fx--rainbow i, .hero-slide--brand .eye-fx--gold i { min-width: 420px; height: 14px; }
@media (prefers-reduced-motion: reduce) { .eye-fx { display: none; } }

/* Group：3社の新しい画像を先に、長めに表示（2026-10-05） */
@keyframes bannerSwap { 0%, 58% { opacity: 1; } 64%, 94% { opacity: 0; } 100% { opacity: 1; } }
@keyframes bannerSwapB { 0%, 58% { opacity: 0; } 64%, 94% { opacity: 1; } 100% { opacity: 0; } }
.gx-banner-alt { opacity: 1; }

/* ===== 動く円グラフ（2026-10-05） ===== */
.dn-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin-top: 28px; }
.dn { margin: 0; display: flex; align-items: center; gap: 16px; padding: 18px; border-radius: 20px; background: #fff; border: 1px solid #e3e7ef; box-shadow: 0 14px 30px -20px rgba(11, 22, 56, .35); }
.dn-ring { position: relative; flex: 0 0 120px; width: 120px; height: 120px; }
.dn-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.dn-bg { fill: none; stroke: #edf0f6; stroke-width: 14; }
.dn-fg { fill: none; stroke: var(--c); stroke-width: 14; stroke-linecap: butt; pathLength: 100;
    stroke-dasharray: 0 302; stroke-dashoffset: calc(var(--o) * -3.016); transition: stroke-dasharray 1.4s cubic-bezier(.2, .8, .2, 1); }
.dn-on .dn-fg { stroke-dasharray: calc(var(--p) * 3.016) 302; }
.dn-c { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; }
.dn-c b { font-family: "Inter", sans-serif; font-size: 24px; font-weight: 900; color: #0b1638; line-height: 1; }
.dn-c small { font-size: 12px; margin-left: 1px; }
.dn figcaption b { display: block; font-size: 15px; font-weight: 900; color: #0b1638; }
.dn figcaption > span { display: block; margin-top: 4px; font-size: 12px; color: #5b6577; line-height: 1.6; }
.dn-leg { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 3px; }
.dn-leg li { font-size: 12px; color: #3a4456; }
.dn-leg i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.dn-note { margin: 10px 0 0; font-size: 11.5px; color: #5b6577; }
@media (prefers-reduced-motion: reduce) { .dn-fg { transition: none; } }
.dn { flex-direction: column; text-align: center; }
.dn-ring { flex: 0 0 auto; width: 140px; height: 140px; }
.dn-leg { justify-items: center; }

/* ヘッダーのロゴ：青い光が輝く（2026-10-05） */
.header .logo img[src*="rsk-silver"], body.corp .logo img[src*="rsk-silver"] { animation: logoBlue 3.2s ease-in-out infinite; }
@keyframes logoBlue { 0%, 100% { filter: drop-shadow(0 0 2px rgba(60, 150, 255, .5)) saturate(1.1); } 50% { filter: drop-shadow(0 0 8px rgba(70, 170, 255, .95)) drop-shadow(0 0 2px rgba(200, 240, 255, .9)) saturate(1.4) brightness(1.08); } }
@media (prefers-reduced-motion: reduce) { .header .logo img[src*="rsk-silver"] { animation: none; } }
@keyframes logoBlue { 0%, 100% { filter: drop-shadow(0 0 1px rgba(60, 150, 255, .5)); } 50% { filter: drop-shadow(0 0 4px rgba(70, 170, 255, .85)) saturate(1.3) brightness(1.06); } }
/* ロゴを押す・乗せると濃く光り輝く（2026-10-05） */
.logo:hover img[src*="rsk-silver"], .logo:active img[src*="rsk-silver"], .logo:focus-visible img[src*="rsk-silver"] {
    animation: none !important; transform: scale(1.06);
    filter: drop-shadow(0 0 3px rgba(255, 255, 255, .95)) drop-shadow(0 0 10px rgba(40, 150, 255, 1)) drop-shadow(0 0 22px rgba(0, 110, 255, .9)) saturate(1.6) brightness(1.12) !important; }
.logo img[src*="rsk-silver"] { transition: transform .25s ease, filter .25s ease; }

/* RSK：青い十字の輝き（2026-10-05） */
.blue-eye { background: radial-gradient(circle, #ffffff 0 12%, #9fdcff 24%, rgba(40, 140, 255, .85) 42%, rgba(20, 100, 255, .35) 62%, transparent 72%) !important; }
.blue-eye::before, .blue-eye::after { background: linear-gradient(90deg, transparent, rgba(150, 215, 255, .95), transparent) !important; }
.gx-card:hover .blue-eye, .gx-card:focus-visible .blue-eye { animation: eyeIgnite 1s cubic-bezier(.2, .8, .2, 1) .35s both, eyeFlicker 1.4s ease-in-out 1.4s infinite; }
/* ロゴ：大企業らしい綺麗なシルバー（青く光らせすぎない）2026-10-05 */
.header .logo img[src*="rsk-silver"], body.corp .logo img[src*="rsk-silver"] { animation: none !important; filter: drop-shadow(0 1px 1px rgba(20, 30, 50, .45)) drop-shadow(0 2px 6px rgba(20, 30, 50, .18)) !important; }
.logo:hover img[src*="rsk-silver"], .logo:active img[src*="rsk-silver"], .logo:focus-visible img[src*="rsk-silver"] {
    transform: scale(1.03);
    filter: drop-shadow(0 1px 1px rgba(20, 30, 50, .5)) drop-shadow(0 0 6px rgba(255, 255, 255, .95)) drop-shadow(0 3px 10px rgba(90, 110, 140, .35)) brightness(1.08) contrast(1.08) !important; }

/* RSKGOAT ミッション（2026-10-05） */
.gm-mini { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 12px; padding: 8px 12px; border-radius: 12px; background: rgba(8, 14, 36, .82); border: 1px solid rgba(242, 181, 58, .55); color: #fff; font-size: 13px; }
.gm-mini .gm-tag { padding: 2px 8px; border-radius: 999px; background: linear-gradient(90deg, #f2b53a, #ffe08a); color: #1b1300; font-family: "Inter", sans-serif; font-size: 10.5px; font-weight: 900; letter-spacing: .12em; }
.gm-mini > b { font-size: 14px; } .gm-mini em, .gm-box em { font-style: normal; color: #ffd54a; font-size: 1.15em; }
.gm-mini .gm-cd b { color: #ffd54a; font-family: "Inter", sans-serif; font-size: 16px; margin: 0 2px; }
.gm-mini .gm-now { color: rgba(255, 255, 255, .7); font-size: 12px; }
.gm-box { margin: 4px 0 12px; padding: 12px 14px; border-radius: 14px; background: #0b1638; color: #fff; }
.gm-h { margin: 0 0 8px; font-size: 14px; font-weight: 800; } .gm-h span { margin-right: 8px; padding: 1px 8px; border-radius: 999px; background: #c9a227; font-size: 10.5px; letter-spacing: .12em; }
.gm-row { display: grid; grid-template-columns: 52px minmax(0, 1fr) 48px; align-items: center; gap: 8px; margin: 4px 0; font-size: 12px; font-weight: 700; }
.gm-row b { color: #ffd54a; text-align: right; }
.gm-bar { position: relative; height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .14); }
.gm-bar i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: inherit; background: linear-gradient(90deg, #3d8bff, #7cf2ff); transition: width 1.6s cubic-bezier(.2, .8, .2, 1); }
.gm-on .gm-bar i { width: calc(var(--v) * 1%); }
.gm-bar s { position: absolute; top: -4px; bottom: -4px; left: calc(var(--v) * 1%); width: 2px; background: #ffd54a; }
.gm-bar s::after { content: "目標80%"; position: absolute; left: 4px; top: -14px; font-size: 9.5px; color: #ffd54a; white-space: nowrap; text-decoration: none; }
.gm-foot { margin: 8px 0 0; font-size: 12.5px; } .gm-foot b { color: #ffd54a; font-family: "Inter", sans-serif; font-size: 18px; margin: 0 3px; }
.gm-foot small { display: block; margin-top: 2px; font-size: 11px; color: rgba(255, 255, 255, .6); }
.gm-row + .gm-row .gm-bar s::after { display: none; } .gm-box .gm-row:first-of-type { margin-top: 14px; }

/* RSKAGEHA ミッション（2026-10-05） */
.gm-box--ageha { background: linear-gradient(135deg, #2a0f3d, #12081f); }
.gm-box--ageha .gm-h span { background: #ff4fc3; }
.gm-box--ageha em, .gm-box--ageha .gm-row b, .gm-box--ageha .gm-foot b { color: #ff8ad8; }
.gm-box--ageha .gm-bar i { background: linear-gradient(90deg, #ff4fc3, #c77dff); }
.gm-box--ageha .gm-bar s { background: #ff8ad8; left: calc(100% - 2px); }
.gm-box--ageha .gm-bar s::after { content: "目標100人"; left: auto; right: 4px; color: #ff8ad8; }
.gm-sub { margin: 8px 0 0; font-size: 12px; line-height: 1.6; color: rgba(255, 255, 255, .85); }
.gm-mini--ageha { border-color: rgba(255, 79, 195, .6); }
.gm-mini--ageha .gm-tag { background: linear-gradient(90deg, #ff4fc3, #ffb3e6); color: #2a0f3d; }
.gm-mini--ageha em, .gm-mini--ageha .gm-cd b { color: #ff8ad8; }

/* ラスク：1兆円カウンター（2026-10-05） */
.gm-box--rsk { background: radial-gradient(120% 90% at 50% -20%, #1a1060, #05060f 70%); border: 1px solid rgba(255, 213, 74, .35); }
.gm-box--rsk .gm-h span { background: linear-gradient(90deg, #ffb300, #ffe08a); color: #1b1300; }
.gm-tril { margin: 6px 0 2px; font-size: 13px; } .gm-tril b { font-family: "Inter", sans-serif; font-size: clamp(18px, 2vw, 22px); color: #ffd54a; text-shadow: 0 0 10px rgba(255, 190, 40, .5); font-variant-numeric: tabular-nums; }
.gm-box--rsk .gm-row b { color: #ffd54a; }
.gm-box--rsk .gm-bar i { background: linear-gradient(90deg, #ffb300, #ffe08a); }

/* 売上とともに色が変わるロゴ（2026-10-05） */
.evo { text-align: center; }
.evo-logo { position: relative; display: inline-block; line-height: 0; }
.evo-logo img { display: block; height: clamp(80px, 12vw, 140px); width: auto; }
.evo-base { filter: grayscale(1) brightness(1.12) contrast(1.05) drop-shadow(0 0 14px rgba(220, 230, 255, .35)); }
.evo-rb { position: absolute; inset: 0; isolation: isolate; clip-path: inset(0 calc((1 - var(--p)) * 100%) 0 0); transition: clip-path 2.4s cubic-bezier(.2, .8, .2, 1); }
.evo:not(.evo-on) .evo-rb { clip-path: inset(0 100% 0 0); }
.evo-rb img { filter: drop-shadow(0 0 16px rgba(255, 92, 200, .45)) drop-shadow(0 0 18px rgba(124, 242, 255, .45)); }
.evo-rb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #ff3b3b, #ff8a00, #ffd400, #00c853, #00d4b4, #00b8ff, #2f6bff, #8f4bff, #ff3dc8, #ff3b3b); background-size: 200% 100%; mix-blend-mode: color;
  -webkit-mask: url("../images/logo/logo-rsk-silver.png") center / contain no-repeat; mask: url("../images/logo/logo-rsk-silver.png") center / contain no-repeat; animation: evoRb 3s linear infinite; }
@keyframes evoRb { to { background-position: 200% 0; } }
.evo.evo-full .evo-rb { clip-path: inset(0 0 0 0); }
.evo-meter { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; max-width: 420px; margin: 12px auto 6px; font: 800 10px/1 "Inter", sans-serif; letter-spacing: .2em; color: #cfd6e6; }
.evo-meter .evo-r { background: linear-gradient(90deg, #ff3b3b, #ffd400, #00c853, #00b8ff, #8f4bff, #ff3dc8); -webkit-background-clip: text; background-clip: text; color: transparent; }
.evo-track { position: relative; height: 6px; border-radius: 999px; background: linear-gradient(90deg, #8d96a8, #e6ebf5); overflow: hidden; }
.evo-track i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; min-width: 0; background: linear-gradient(90deg, #ff3b3b, #ffd400, #00c853, #00b8ff, #8f4bff, #ff3dc8); background-size: 600px 100%; transition: width 2.4s cubic-bezier(.2, .8, .2, 1); }
.evo.evo-on .evo-track i { width: max(3px, calc(var(--p) * 100%)); }
.evo.evo-full .evo-track i { width: 100%; }
.evo-cap { margin: 4px 0 0; font-size: 12.5px; line-height: 1.8; color: rgba(232, 238, 255, .78); }
.evo-cap b { color: #ffd54a; }
.evo-btn { margin-left: 6px; padding: 3px 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .06); color: #fff; font-size: 11.5px; font-weight: 700; cursor: pointer; }
.evo-btn:hover, .evo.evo-full .evo-btn { border-color: transparent; background: linear-gradient(90deg, #ff3b3b, #ff8a00, #ffd400, #00c853, #00b8ff, #8f4bff, #ff3dc8); }
.evo--sm .evo-logo img { height: 64px; }
.evo--sm { margin: 0 0 8px; }
.evo--sm .evo-meter { margin: 8px auto 4px; }
.evo--sm .evo-cap { font-size: 11.5px; }
@media (prefers-reduced-motion: reduce) { .evo-rb::after { animation: none; } .evo-rb, .evo-track i { transition: none; } }
