@charset "UTF-8";
/* Alcorn McBride 用途別ページ（テーマパーク・博物館・商業施設・交通機関） */

/* ===== 用途別ページ専用CSS ===== */
.uc-hero { position:relative; background:linear-gradient(160deg,#000 0%,#1a0508 30%,#0a0205 100%); overflow:hidden; }
.uc-hero::after { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--amb-brand-primary) 0%,rgba(196,18,48,.3) 60%,transparent 100%); }
.uc-hero-inner { max-width:1400px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr; gap:40px; align-items:center; }
@media(min-width:1024px){ .uc-hero-inner { grid-template-columns:1fr 1fr; padding:72px 24px; } }
.uc-hero-label { display:inline-flex; align-items:center; gap:8px; background:rgba(196,18,48,.2); border:1px solid rgba(196,18,48,.4); color:var(--amb-brand-primary); padding:6px 14px; border-radius:var(--amb-radius-full); font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin-bottom:14px; }
.uc-hero-title { font-family:var(--amb-font-display); font-size:clamp(2rem,5vw,3rem); font-weight:800; color:white; line-height:1.15; letter-spacing:-.02em; margin:0 0 16px; }
.uc-hero-desc { font-size:clamp(.875rem,1.2vw,1rem); color:rgba(255,255,255,.7); line-height:1.8; margin:0 0 28px; }
.uc-hero-photo-wrap { border-radius:var(--amb-radius-lg); overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.6); position:relative; }
.uc-hero-photo { width:100%; height:340px; object-fit:cover; display:block; }
.uc-hero-photo-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(196,18,48,.2) 0%,transparent 60%),linear-gradient(0deg,rgba(0,0,0,.3) 0%,transparent 50%); }
/* タブナビ */
.uc-tabs { background:white; border-bottom:1px solid var(--amb-border-light); position:sticky; top:0; z-index:100; }
.uc-tabs-inner { max-width:1400px; margin:0 auto; padding:0 24px; display:flex; gap:0; overflow-x:auto; }
.uc-tab { padding:16px 20px; font-size:.875rem; font-weight:600; color:var(--amb-text-secondary); text-decoration:none; white-space:nowrap; border-bottom:3px solid transparent; transition:all .2s; }
.uc-tab:hover { color:var(--amb-brand-primary); border-color:rgba(196,18,48,.3); }
/* セクション共通 */
.uc-section { padding:72px 0; }
.uc-section-alt { background:var(--amb-bg-secondary); }
.uc-container { max-width:1400px; margin:0 auto; padding:0 24px; }
.uc-section-header { margin-bottom:48px; }
.uc-section-eyebrow { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--amb-brand-primary); margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.uc-section-eyebrow::before { content:''; display:inline-block; width:32px; height:2px; background:var(--amb-brand-primary); }
.uc-section-title { font-family:var(--amb-font-display); font-size:clamp(1.5rem,3vw,2rem); font-weight:800; color:var(--amb-text-primary); line-height:1.2; margin-bottom:12px; }
.uc-section-sub { font-size:.9375rem; color:var(--amb-text-secondary); line-height:1.7; }
/* 特長カード */
.uc-features { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px; }
@media(min-width:1024px){ .uc-features { grid-template-columns:repeat(4,1fr); } }
.uc-feature { background:var(--amb-bg-card); border:1px solid var(--amb-border-light); border-left:4px solid var(--amb-brand-primary); border-radius:var(--amb-radius-lg); padding:28px 24px; transition:transform .3s,box-shadow .3s; }
.uc-feature:hover { transform:translateY(-4px); box-shadow:var(--amb-shadow-lg); }
.uc-feature-title { font-weight:800; font-size:1.0625rem; color:var(--amb-text-primary); margin-bottom:10px; letter-spacing:-.01em; }
.uc-feature-desc { font-size:.875rem; color:var(--amb-text-secondary); line-height:1.75; }
/* システム図 */
.uc-diagram { background:linear-gradient(135deg,#0a0205 0%,#1a0508 50%,#0f0205 100%); border-radius:var(--amb-radius-lg); padding:40px; overflow-x:auto; }
.uc-diagram-title { font-family:var(--amb-font-display); font-size:1.125rem; font-weight:700; color:white; margin-bottom:32px; text-align:center; }
.uc-flow { display:flex; gap:16px; align-items:flex-start; flex-wrap:wrap; justify-content:center; }
.uc-flow-group { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:var(--amb-radius-md); padding:20px 16px; min-width:160px; }
.uc-flow-group-title { font-size:.6875rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.5); margin-bottom:12px; text-align:center; }
.uc-flow-arrow { display:flex; align-items:center; color:rgba(196,18,48,.6); font-size:1.5rem; padding-top:40px; flex-shrink:0; }
.uc-product-node { background:rgba(196,18,48,.15); border:1px solid rgba(196,18,48,.35); border-radius:var(--amb-radius-sm); padding:8px 12px; text-align:center; margin-bottom:8px; text-decoration:none; display:block; transition:all .2s; }
.uc-product-node:hover { background:rgba(196,18,48,.25); border-color:rgba(196,18,48,.6); }
.uc-product-node-name { font-size:.8125rem; font-weight:700; color:white; }
.uc-product-node-sub { font-size:.625rem; color:rgba(255,255,255,.6); margin-top:2px; }
.uc-ext-node { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:var(--amb-radius-sm); padding:8px 12px; text-align:center; margin-bottom:8px; }
.uc-ext-node-name { font-size:.75rem; color:rgba(255,255,255,.7); }
/* ソリューションカード */
.uc-solutions { display:grid; gap:40px; }
.uc-solution { display:grid; gap:40px; align-items:center; }
@media(min-width:768px){ .uc-solution { grid-template-columns:1fr 1fr; } .uc-solution.reverse { direction:rtl; } .uc-solution.reverse > * { direction:ltr; } }
.uc-solution-img { border-radius:var(--amb-radius-lg); overflow:hidden; }
.uc-solution-img img { width:100%; height:260px; object-fit:cover; display:block; }
.uc-solution-eyebrow { font-size:.75rem; font-weight:700; text-transform:uppercase; color:var(--amb-brand-primary); letter-spacing:.08em; margin-bottom:8px; }
.uc-solution-title { font-family:var(--amb-font-display); font-size:1.375rem; font-weight:800; color:var(--amb-text-primary); margin-bottom:12px; }
.uc-solution-desc { font-size:.9375rem; color:var(--amb-text-secondary); line-height:1.75; margin-bottom:20px; }
.uc-solution-features { list-style:none; padding:0; margin:0 0 24px; display:flex; flex-direction:column; gap:6px; }
.uc-solution-features li { font-size:.875rem; color:var(--amb-text-secondary); display:flex; align-items:center; gap:8px; }
.uc-solution-features li::before { content:''; display:inline-block; width:6px; height:6px; background:var(--amb-brand-primary); border-radius:50%; flex-shrink:0; }
/* 製品グリッド */
.uc-products-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; }
@media(min-width:1024px){ .uc-products-grid { grid-template-columns:repeat(5,1fr); } }
.uc-product-card { background:var(--amb-bg-card); border:1px solid var(--amb-border-light); border-radius:var(--amb-radius-lg); overflow:hidden; text-decoration:none; color:inherit; display:flex; flex-direction:column; transition:transform .3s,box-shadow .3s,border-color .3s; }
.uc-product-card:hover { transform:translateY(-6px); box-shadow:var(--amb-shadow-xl); border-color:var(--amb-brand-primary); }
.uc-product-img { height:120px; background:linear-gradient(160deg,#0a0205,#1a0508); display:flex; align-items:center; justify-content:center; padding:12px; }
.uc-product-img img { max-height:96px; max-width:90%; object-fit:contain; filter:drop-shadow(0 4px 12px rgba(0,0,0,.5)); }
.uc-product-img .uc-icon-fallback { color:rgba(255,255,255,.25); font-size:2rem; }
.uc-product-body { padding:14px 16px 16px; flex:1; display:flex; flex-direction:column; }
.uc-product-cat { font-size:.625rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--amb-brand-primary); margin-bottom:4px; }
.uc-product-name { font-family:var(--amb-font-display); font-size:.9375rem; font-weight:800; color:var(--amb-text-primary); margin-bottom:6px; }
.uc-product-desc { font-size:.75rem; color:var(--amb-text-secondary); line-height:1.6; flex:1; }
.uc-product-link { font-size:.75rem; font-weight:600; color:var(--amb-brand-primary); display:inline-flex; align-items:center; gap:4px; margin-top:8px; }
/* CTAバナー */
.uc-cta { background:linear-gradient(135deg,#0a0205 0%,#1a0508 50%,#0f0205 100%); border-top:1px solid rgba(196,18,48,.2); padding:60px 0; }
.uc-cta-inner { max-width:600px; margin:0 auto; text-align:center; padding:0 24px; }
.uc-cta-title { font-family:var(--amb-font-display); font-size:1.5rem; font-weight:800; color:white; margin-bottom:12px; }
.uc-cta-desc { font-size:.9375rem; color:rgba(255,255,255,.7); line-height:1.7; margin-bottom:32px; }
.uc-cta-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
@media(max-width:768px){ .uc-features{grid-template-columns:repeat(2,1fr);} .uc-flow{flex-direction:column;align-items:center;} .uc-flow-arrow{transform:rotate(90deg);padding-top:0;} }
