/* =========================================================
   明るいコーポレートデザイン（2026-10-04）
   「青くて暗い感じをなくし、FPT JAPANのような明るいHPに」というご要望に合わせ、
   紺の暗いセクションを白・淡いグレーの背景＋紺の文字＋オレンジのアクセントに切り替える。
   index.html で最後に読み込む。元に戻すときはこのファイルの読み込みを外すだけでよい。
   ========================================================= */
body.corp {
    --b-navy: #0b1638;
    --b-ink: #1b2333;
    --b-sub: #5b6577;
    --b-line: #e3e7ef;
    --b-soft: #f5f7fb;
    --b-blue: #1c49c9;
    --b-orange: #f36f21;
}

/* ---------- ヘッダー：白 ---------- */
body.corp .header,
body.corp .header.scrolled {
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 1px 0 var(--b-line), 0 6px 20px rgba(20, 40, 90, .06);
}
body.corp .header .nav-link,
body.corp .header.scrolled .nav-link { color: var(--b-navy); }
body.corp .header .nav-link:hover { color: var(--b-orange); }
body.corp .header .nav-link.btn-contact { color: #fff; }
body.corp .header .hamburger span { background: var(--b-navy); }

/* ---------- ヒーロー：白〜淡い空色 ---------- */
body.corp .hero {
    background: linear-gradient(115deg, #ffffff 0%, #f3f7ff 45%, #e3edff 100%);
}
body.corp .hs-stars { display: none; }
body.corp .hs-map {
    opacity: .5;
    filter: invert(1) hue-rotate(180deg) saturate(.6);
    mix-blend-mode: multiply;
}
body.corp .hs-route { opacity: .9; }
body.corp .hs-nodes circle { fill: var(--b-orange); }
body.corp .hs-earth {
    box-shadow: 0 30px 80px rgba(28, 73, 201, .25), inset -40px -30px 120px rgba(0, 0, 0, .45);
}
body.corp .hs-earth::after { border-color: rgba(28, 73, 201, .18); }
body.corp .hs-robot { filter: drop-shadow(0 24px 40px rgba(20, 40, 90, .25)); }
body.corp .hero-title,
body.corp .hero .gradient-text {
    color: var(--b-navy);
    -webkit-text-fill-color: var(--b-navy);
    text-shadow: none;
}
body.corp .hero .gradient-text { -webkit-text-fill-color: var(--b-blue); color: var(--b-blue); }
body.corp .hero-subtitle { color: var(--b-sub); text-shadow: none; }
body.corp .hero-label,
body.corp .hero-slide.hero-slide--axel .hero-label {
    background: #fff;
    border-color: var(--b-line);
    color: var(--b-orange);
}
body.corp .hero .btn-secondary {
    color: var(--b-navy);
    border-color: #c7cfdd;
    background: #fff;
}
body.corp .hero .btn-secondary:hover { color: var(--b-orange); border-color: var(--b-orange); background: #fff; }
body.corp .hero-nav-btn { background: #fff; border: 1px solid var(--b-line); color: var(--b-navy); }
body.corp .hero-indicator { background: #c7cfdd; }
body.corp .hero-indicator.active { background: var(--b-orange); }
@media (max-width: 768px) {
    body.corp .hero-content { background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .92) 30%); }
}

/* ---------- 暗かったセクションを明るく ---------- */
body.corp .vision-band,
body.corp .aidriven-section { background: #fff; color: var(--b-ink); }
body.corp .ignition-section { background: linear-gradient(180deg, #fff8f2, #ffffff); color: var(--b-ink); }
body.corp .vision-band::before,
body.corp .aidriven-section::before,
body.corp .ignition-section::before { display: none; }

body.corp :is(.vb-en, .ad-en, .vs-en, .gb-en, .ig-en) { color: var(--b-orange); }

/* 1兆円 */
body.corp .vb-title { color: var(--b-navy); }
body.corp .vb-num { -webkit-text-fill-color: var(--b-navy); color: var(--b-navy); }
body.corp .vb-sub { color: var(--b-sub); }
body.corp .vb-road::before { background: var(--b-line); }
body.corp .vb-road li { background: #fff; border-color: var(--b-line); box-shadow: 0 8px 30px rgba(20, 40, 90, .06); }
body.corp .vb-road li::before { background: var(--b-blue); }
body.corp .vb-road li.goal { background: #fff6ef; border-color: var(--b-orange); }
body.corp .vr-year { color: var(--b-sub); }
body.corp .vr-big { color: var(--b-navy); }
body.corp .vb-road p { color: var(--b-sub); }
body.corp .vb-story { border-color: var(--b-line); }
body.corp .vs-text { color: var(--b-ink); }
body.corp .vs-text strong { -webkit-text-fill-color: var(--b-orange); color: var(--b-orange); }

/* 数字の帯 */
body.corp .global-band { background: var(--b-soft); color: var(--b-ink); border-top: 1px solid var(--b-line); border-bottom: 1px solid var(--b-line); }
body.corp .global-band::before { filter: invert(1) hue-rotate(180deg) saturate(.5); mix-blend-mode: multiply; opacity: .35; }
body.corp .gb-lead { color: var(--b-sub); }
body.corp .gb-stats b,
body.corp .gb-stats b small { -webkit-text-fill-color: var(--b-navy); color: var(--b-navy); }
body.corp .gb-stats span { color: var(--b-sub); }

/* AI駆動経営 */
body.corp .ad-title { color: var(--b-navy); }
body.corp .ad-lead { color: var(--b-sub); }
body.corp .ad-before-after small { color: var(--b-sub); }
body.corp .ad-before-after b { color: #b6bfcf; }
body.corp .ad-facts li { background: var(--b-soft); border-color: var(--b-line); }
body.corp .ad-facts b { color: var(--b-navy); }
body.corp .ad-facts span { color: var(--b-sub); }
body.corp .ad-cta p { color: var(--b-sub); }
body.corp .ad-visual {
    padding: 20px;
    border-radius: 28px;
    background: radial-gradient(circle at 50% 50%, #eef3ff 0%, #ffffff 70%);
    border: 1px solid var(--b-line);
}
body.corp .ad-net g[fill="none"] circle { stroke: rgba(28, 73, 201, .15); }
body.corp .ad-link-core { stroke: rgba(28, 73, 201, .45); }
body.corp .ad-link-ai { stroke: rgba(28, 73, 201, .2); }
body.corp .ad-ai { fill: var(--b-blue); opacity: .75; }
body.corp .ad-hub { fill: #fff; stroke: var(--b-blue); }
body.corp .ad-hub-t { fill: var(--b-navy); stroke: #fff; }
body.corp .ad-core-t1, body.corp .ad-core-t2 { fill: var(--b-navy); }
body.corp .ad-legend { color: var(--b-sub); }
body.corp .ad-legend .lg-hub { background: #fff; border-color: var(--b-blue); }
body.corp .ad-legend .lg-ai { background: var(--b-blue); }

/* AXel Ignition */
body.corp .ig-title { color: var(--b-navy); }
body.corp .ig-lead { color: var(--b-sub); }
body.corp .ig-stats li { background: #fff; border-color: var(--b-line); box-shadow: 0 8px 30px rgba(20, 40, 90, .06); }
body.corp .ig-stats li.hl { background: #fff1e6; border-color: var(--b-orange); }
body.corp .ig-stats b { color: var(--b-navy); }
body.corp .ig-stats .hl b { color: var(--b-orange); }
body.corp .ig-stats span { color: var(--b-sub); }
body.corp .ig-card { background: #fff; border-color: var(--b-line); box-shadow: 0 8px 30px rgba(20, 40, 90, .05); }
body.corp .ig-card h3 { color: var(--b-navy); }
body.corp .ig-card p { color: var(--b-sub); }
body.corp .ig-note { color: #8a93a3; }
body.corp .btn-ghost { color: var(--b-navy); border-color: #c7cfdd; background: #fff; }
body.corp .btn-ghost:hover { color: var(--b-orange); border-color: var(--b-orange); background: #fff; }

/* アクセス */
body.corp .map-section { background: var(--b-soft); }
body.corp .map-section .section-title { -webkit-text-fill-color: var(--b-navy); color: var(--b-navy); }
body.corp .map-info h3 { color: var(--b-navy); }
body.corp .map-detail-item i,
body.corp .map-detail-item strong { color: var(--b-orange); }
body.corp .map-detail-item p { color: var(--b-ink); }
body.corp .map-detail-item p a.map-address-link { color: var(--b-blue); }
body.corp .map-container { box-shadow: 0 12px 40px rgba(20, 40, 90, .12); border: 1px solid var(--b-line); }

/* フッター：明るいグレー */
body.corp .footer { background: #eef1f6; color: var(--b-ink); border-top: 1px solid var(--b-line); }
body.corp .footer :is(.footer-company, .footer-column h4) { color: var(--b-navy); }
body.corp .footer .footer-tagline { color: var(--b-orange); }
body.corp .footer :is(.footer-description, .footer-links a, .footer-legal a, .footer-bottom p) { color: var(--b-sub); }
body.corp .footer .footer-links a:hover,
body.corp .footer .footer-legal a:hover { color: var(--b-orange); }
body.corp .footer .footer-links i { color: var(--b-orange); }
body.corp .footer .footer-bottom { border-color: #d8dde7; }
body.corp .footer .footer-social a { color: var(--b-navy); border-color: #c7cfdd; }

/* ---------- RASUKU NEXUS 発売 ---------- */
.nexus-launch {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 48px;
    align-items: center;
    margin-top: 56px;
    padding: 44px;
    border-radius: 28px;
    background: linear-gradient(135deg, #ffffff 0%, #f1f6ff 100%);
    border: 1px solid var(--b-line, #e3e7ef);
    box-shadow: 0 16px 50px rgba(20, 40, 90, .08);
}
.nl-badge {
    display: inline-block;
    padding: 5px 14px;
    border-radius: 999px;
    background: #f36f21;
    color: #fff;
    font-family: "Orbitron", "Inter", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .2em;
}
.nl-title { margin: 16px 0 0; font-size: clamp(26px, 3.2vw, 38px); font-weight: 900; line-height: 1.3; color: #0b1638; }
.nl-title span { font-family: "Orbitron", "Inter", sans-serif; color: #1c49c9; letter-spacing: .04em; }
.nl-lead { margin: 18px 0 0; font-size: 15px; line-height: 1.9; color: #5b6577; }
.nl-points { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 10px; }
.nl-points li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.7; color: #1b2333; font-weight: 600; }
.nl-points i { color: #f36f21; margin-top: 4px; width: 16px; text-align: center; }
.nl-cta { margin-top: 26px; }
.nl-screen {
    position: relative;
    padding: 12px 12px 18px;
    border-radius: 18px;
    background: #1d2233;
    box-shadow: 0 24px 60px rgba(20, 40, 90, .25);
}
.nl-screen::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 6px;
    width: 46px;
    height: 4px;
    border-radius: 4px;
    background: #3a4157;
    transform: translateX(-50%);
}
.nl-screen video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; background: #000; }
.nl-shots { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.nl-shots li { border-radius: 12px; overflow: hidden; border: 1px solid #e3e7ef; background: #111; aspect-ratio: 4 / 3; }
.nl-shots img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.nl-shots li:hover img { transform: scale(1.05); }
.product-new {
    font-style: normal;
    margin-left: 6px;
    padding: 1px 8px;
    border-radius: 999px;
    background: #f36f21;
    color: #fff;
    font-size: 10px;
    letter-spacing: .12em;
}
@media (max-width: 1024px) {
    .nexus-launch { grid-template-columns: 1fr; padding: 30px 22px; gap: 28px; }
}
@media (max-width: 480px) {
    .nl-shots { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
}

/* 地球の濃い青を明るく（2026-10-04） */
body.corp .hs-earth {
    filter: brightness(1.35) saturate(1.05);
    box-shadow: 0 30px 80px rgba(28, 73, 201, .18), inset -30px -20px 80px rgba(0, 0, 0, .25);
}

/* ---------- 代表の写真を大きく（2026-10-04）----------
   9/30 は元写真が 384×512 と小さかったため 200px に抑えていた（index.html の <style>）。
   高解像度の全身写真（900×1110）に替えたので、ここで大きく表示する。 */
body.corp .ceo-content {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
    max-width: 1120px;
    gap: 64px;
}
body.corp .ceo-image-container { max-width: none; }
body.corp .ceo-image-container::before { inset: 10% -6% 0 -6%; border-radius: 50% 50% 24px 24px; }
body.corp .ceo-image-container img {
    width: 100%;
    max-width: none;
    height: auto;
    border-radius: 0 0 24px 24px;
    -webkit-mask-image: linear-gradient(180deg, #000 88%, transparent);
    mask-image: linear-gradient(180deg, #000 88%, transparent);
}
body.corp .ceo-signature { display: grid; grid-template-columns: 64px auto; column-gap: 16px; align-items: center; }
body.corp .ceo-signature .ceo-face { grid-row: span 2; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; border: 3px solid #fff; box-shadow: 0 4px 14px rgba(20, 40, 90, .15); }
body.corp .ceo-signature p { margin: 0; }
.vs-face { display: block; width: 96px; height: 96px; margin: 0 auto 14px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; border: 4px solid #fff; box-shadow: 0 8px 24px rgba(20, 40, 90, .15); }
@media (max-width: 920px) {
    body.corp .ceo-content { grid-template-columns: 1fr; }
    body.corp .ceo-image-container { max-width: 360px; margin: 0 auto; }
}
body.corp .ceo-image-container,
body.corp .ceo-image-container img { border: 0; outline: 0; box-shadow: none; }

/* ---------- 代表の全身写真（縦長）＋背景に AXel（2026-10-04）---------- */
body.corp .ceo-content { grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); align-items: center; }
body.corp .ceo-image-container {
    position: relative;
    padding: 96px 0 0;
    border-radius: 28px;
    overflow: hidden;
    background: linear-gradient(180deg, #e9ecf2 0%, #f0f2f6 40%, #f0f2f6 100%);
    box-shadow: 0 20px 50px rgba(20, 40, 90, .12);
}
body.corp .ceo-image-container::before { content: none; }
body.corp .ceo-image-container img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
    -webkit-mask-image: none;
    mask-image: none;
    mix-blend-mode: multiply;
    margin-top: -40px;
}
.ceo-sign {
    position: absolute;
    top: 26px;
    left: 0;
    right: 0;
    text-align: center;
    line-height: 1;
    pointer-events: none;
}
.ceo-sign span {
    display: block;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-size: clamp(64px, 8vw, 110px);
    font-weight: 800;
    letter-spacing: -.02em;
    background: linear-gradient(180deg, #c9ced8 0%, #9aa3b3 55%, #c3c9d4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 2px 2px rgba(255, 255, 255, .9));
}
.ceo-sign small {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    color: #8a93a3;
}
@media (max-width: 920px) {
    body.corp .ceo-image-container { max-width: 380px; }
}

body.corp .ceo-image-container { padding-top: 150px; background: #eff1f5; }
body.corp .ceo-image-container img { margin-top: 0; }
body.corp .ceo-content { grid-template-columns: minmax(0, 1fr) minmax(320px, 420px); }
body.corp .ceo-image-container { background: linear-gradient(180deg, #eceef3 0%, #f1f2f6 160px, #f6f8fc 100%); }
@media (max-width: 920px) {
    body.corp .ceo-content { grid-template-columns: 1fr; }
    body.corp .ceo-image-container { max-width: 380px; width: 100%; margin: 0 auto; order: 0; }
}

/* ロゴを大きく（2026-10-04 グリーン×ゴールド） */
.header .logo img, body.corp .logo img { height: 52px !important; max-width: min(240px, 50vw) !important; }
.footer-logo img { height: 56px; width: auto; }
@media (max-width: 768px) { .header .logo img, body.corp .logo img { height: 40px !important; } }

/* 2026-10-04：お問い合わせを金色に／「兆円」を金色に */
.nav-menu .nav-link.btn-contact, body.corp .btn-contact, body.corp .header .nav-link.btn-contact {
    background: linear-gradient(135deg, #f3d77a 0%, #d4af37 45%, #b8860b 100%) !important;
    color: #2a1d00 !important;
    box-shadow: 0 4px 14px rgba(196, 150, 40, .35) !important;
    border: 0 !important;
}
.nav-menu .nav-link.btn-contact:hover, body.corp .btn-contact:hover { filter: brightness(1.06); }
body.corp .vb-unit {
    background: linear-gradient(180deg, #f6dc8a 0%, #d4af37 50%, #a87b12 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    filter: drop-shadow(0 2px 6px rgba(196, 150, 40, .3));
}

/* 金色のボタン（2026-10-04） */
.contact-form button[type="submit"], .contact-form .btn-submit, .contact-form .submit-button, .cb-btn, .rp-contact .btn-primary {
    background: linear-gradient(135deg, #f3d77a 0%, #d4af37 45%, #b8860b 100%) !important;
    color: #2a1d00 !important;
    box-shadow: 0 6px 18px rgba(196, 150, 40, .35) !important;
    border: 0 !important;
}

/* NEWS の見出しをシルバーに（2026-10-04） */
.news-section .section-badge, .news-section .section-title, .news-hero h1 {
    background: linear-gradient(180deg, #f4f6f9 0%, #b9c0cb 45%, #8a929f 55%, #d9dde3 100%) !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent !important; color: transparent !important;
    filter: drop-shadow(0 1px 1px rgba(40, 50, 70, .35));
}

/* ロゴ（エンブレム＋RSK、2026-10-04 統一版） */
.header .logo img, body.corp .logo img { height: 46px !important; width: auto !important; max-width: 200px !important; }
.footer-logo img { height: 52px !important; width: auto; }
@media (max-width: 768px) { .header .logo img, body.corp .logo img { height: 36px !important; } }
