/* AIoLiteArk 公開サイト 共通スタイル */

@font-face{
  font-family:"Figtree";
  font-weight:800;
  font-style:normal;
  font-display:swap;
  src:url("/assets/FigtreeExtraBold-ascii.woff2") format("woff2");
}

:root{
  --navy:#051E58;          /* ブランド濃紺（ワードマーク） */
  --navy-deep:#0A1628;     /* 濃色地（ヒーロー・フッター） */
  --gem:#8C99B4;           /* 濃色地用の宝石色 */
  --ink:#10141b;
  --body:#3f4756;
  --muted:#6b7482;
  --line:#dfe3ea;
  --bg:#ffffff;
  --panel:#f6f8fb;
  --accent:#1a46b8;        /* リンク・CTA（白地 4.5:1 以上） */
  --sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",Meiryo,
    -apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --latin:"Figtree",var(--sans);
  --btn-solid-ink:#ffffff;
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#eceff4; --body:#c3cbd6; --muted:#8e99a8;
    --line:#223349; --bg:#0b1220; --panel:#111c2e;
    --accent:#9ab8f2;
    --btn-solid-ink:#0b1220; /* 淡い青地に白文字では 4.5:1 を割るため暗い文字にする */
  }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--body);font-family:var(--sans);
     line-height:1.9;font-size:15.5px;font-feature-settings:"palt";
     -webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px;top:0;background:var(--bg);color:var(--ink);
      padding:10px 16px;z-index:100}
.skip:focus{left:12px;top:12px}

/* ── ヘッダー ── */
header.site{border-bottom:1px solid var(--line);background:var(--bg);
            position:sticky;top:0;z-index:20}
.nav{display:flex;align-items:center;gap:22px;padding-block:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;color:var(--navy);flex:none;text-decoration:none}
@media (prefers-color-scheme: dark){.brand{color:#eef3fb}}
.wordmark{height:26px;width:auto;display:block}
.prod{font-family:var(--latin);font-weight:800;font-size:17.5px;color:var(--navy);text-decoration:none;letter-spacing:-.3px;display:flex;align-items:center;gap:12px;flex:none}
.prod::before{content:"";width:1px;height:18px;background:var(--line)}
.prod:hover{color:var(--accent)}
@media (prefers-color-scheme: dark){.prod{color:#eef3fb}}
.nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0;flex:1;flex-wrap:wrap}
.nav a{color:var(--body);text-decoration:none;font-size:14px;white-space:nowrap}
.nav a[aria-current="page"]{color:var(--ink);font-weight:700;border-bottom:2px solid var(--accent);padding-bottom:2px}
.nav a.btn-solid{color:var(--btn-solid-ink)} /* .nav a が .btn-solid の文字色を上書きするため */
.nav a:hover{color:var(--accent);text-decoration:underline}
/* モバイル: ワードマーク＋CTAを1行目、メニューは2行目に横一列（横スクロール可） */
@media (max-width:699px){
  .nav{gap:10px 16px;padding-block:12px}
  .brand{order:1}
  .nav > .btn{order:2;margin-left:auto;padding:8px 14px;font-size:13px;min-height:0}
  .nav ul{order:3;flex-basis:100%;flex-wrap:nowrap;gap:18px;overflow-x:auto;
          -webkit-overflow-scrolling:touch;padding-bottom:2px}
}
.btn{display:inline-block;text-decoration:none;font-size:14px;font-weight:700;
     padding:11px 24px;border:1px solid var(--accent);border-radius:4px;
     min-height:44px;line-height:1.4}
.btn-solid{background:var(--accent);color:var(--btn-solid-ink)}
.btn-solid:hover{opacity:.9}
.btn-ghost{color:var(--accent);background:transparent}
.btn-on-dark{border-color:#fff;color:#fff}
.btn-on-dark.btn-solid{background:#fff;color:var(--navy-deep)}

/* ── ヒーロー ── */
.hero{color:var(--body);border-bottom:1px solid var(--line);overflow:hidden;
      background:
        radial-gradient(1100px 500px at 85% -10%, #e4edf9 0%, transparent 60%),
        radial-gradient(900px 420px at -10% 110%, #eef3fa 0%, transparent 55%),
        var(--bg)}
.hero-inner{display:grid;gap:36px;align-items:center;padding-block:48px}
@media (min-width:980px){.hero-inner{grid-template-columns:5fr 6fr;padding-block:56px}}
.hero h1{font-weight:700;color:var(--ink);font-size:clamp(27px,3.6vw,42px);
         line-height:1.5;margin:0 0 16px;letter-spacing:.015em}
.hero .lede{font-size:16px;line-height:2;margin:0 0 26px;color:var(--body)}
/* PC表示のみ効く改行（モバイルでは自然折り返しに任せる） */
@media (max-width:899px){.br-pc{display:none}}
.hero-shot{margin:0;position:relative}
.hero-shot img{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);
      box-shadow:0 24px 60px -24px rgba(5,30,88,.35);display:block}
@media (min-width:980px){
  .hero-shot{transform:translateY(14px)}
  .hero-shot img{width:112%;max-width:none}
}
.actions{display:flex;gap:14px;flex-wrap:wrap}

/* ── セクション共通 ── */
section{padding:76px 0;border-top:1px solid var(--line)}
section:first-of-type{border-top:none}
.eyebrow{font-family:var(--latin);font-weight:800;font-size:12px;letter-spacing:.18em;
         color:var(--accent);margin:0 0 14px;text-transform:uppercase}
h2{font-weight:700;color:var(--ink);font-size:clamp(21px,3vw,28px);
   line-height:1.6;margin:0 0 20px;letter-spacing:.01em}
h3{font-size:16px;color:var(--ink);margin:0 0 8px;font-weight:700}
.measure{max-width:none}

/* ── カード ── */
.cards{display:grid;gap:16px;margin-top:32px}
@media (min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.cards.c4{grid-template-columns:repeat(4,1fr)}
                          .cards.c3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:26px 24px}
.card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.9}

/* ── 事実タイル ── */
.facts{display:grid;gap:20px;margin-top:32px}
@media (min-width:640px){.facts{grid-template-columns:repeat(3,1fr)}}
.fact{border-top:2px solid var(--navy);padding-top:14px}
@media (prefers-color-scheme: dark){.fact{border-top-color:var(--gem)}}
.fact .v{font-family:var(--latin);font-weight:800;font-size:30px;color:var(--ink);line-height:1.2}
.fact .k{font-size:13px;color:var(--body);line-height:1.8;margin-top:6px}
.fact .s{display:block;font-size:11.5px;color:var(--muted);margin-top:4px}

/* ── 表 ── */
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px;min-width:540px}
th,td{border-bottom:1px solid var(--line);padding:13px 10px;text-align:left;vertical-align:top}
th{color:var(--ink);white-space:nowrap;width:28%;font-weight:700}
.note{border:1px solid var(--line);border-left:3px solid var(--accent);
      background:var(--panel);border-radius:5px;padding:16px 18px;font-size:14px;margin-top:22px}

/* ── プロダクト紹介 ── */
.product{display:grid;gap:16px;margin-top:32px}
@media (min-width:860px){.product{grid-template-columns:1fr 1fr}}
.product .main,.product .sub{border:1px solid var(--line);border-radius:6px;padding:30px 28px}
.product .main{background:var(--panel)}
.product .name{font-family:var(--latin);font-weight:800;font-size:22px;color:var(--ink);margin:0 0 4px}
.product .role{font-size:12.5px;color:var(--muted);margin:0 0 14px}
.product ul{margin:0 0 20px;padding-left:1.3em;font-size:14px}
.product li{margin:4px 0}

/* ── 問い合わせ ── */
.contact-panel{background:var(--navy-deep);color:#e8eef8;border-radius:8px;
               padding:44px 36px;margin-top:8px}
.contact-panel h2{color:#fff}
.contact-panel p{color:#b9c6d8;font-size:14.5px}
.contact-panel a.mail{color:#fff;font-family:var(--latin);font-weight:800;font-size:20px}

/* ── フッター ── */
footer.site{background:var(--navy-deep);color:#9fb0c6;padding:36px 0;font-size:13px;margin-top:76px}
.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.foot nav{display:flex;gap:20px;flex-wrap:wrap}
.foot a{color:#cfdaea;text-decoration:none}
.foot a:hover{text-decoration:underline}

/* ── 事業の流れ（STEPバッジ＋カード間の矢印） ── */
.hero-mark{width:150px;height:auto;display:block;margin:0 0 20px}
.step{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.step .no{font-family:var(--latin);font-weight:800;font-size:11px;letter-spacing:.12em;
      color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:1px 10px;white-space:nowrap}
.step .flow-label{font-weight:700;color:var(--ink);font-size:14.5px}
.cards.flow{gap:16px}
@media (min-width:1000px){
  .cards.flow{gap:40px}
  .cards.flow .card{position:relative}
  .cards.flow .card:not(:last-child)::after{content:"\2192";position:absolute;right:-31px;top:50%;
      transform:translateY(-50%);color:var(--accent);font-size:22px;font-weight:700}
}

/* ── 本文（左）＋画像（右）の2カラム ── */
.split{display:grid;gap:36px;align-items:center}
@media (min-width:900px){.split{grid-template-columns:3fr 2fr;gap:56px}}
.split figure{margin:0}
.split figure img{width:100%;height:auto;border-radius:8px}

/* ── Story: 開発者＋社内エージェントの2枚肖像 ── */
.duo-portrait{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.duo-portrait__item{margin:0;width:min(170px,calc(50% - 12px));text-align:center}
.duo-portrait__item img{width:100%;height:auto;border-radius:50%;display:block}
.duo-portrait__item figcaption{margin-top:10px;font-family:var(--latin);font-weight:800;font-size:13px;color:var(--ink)}
.duo-portrait__item figcaption span{display:block;font-family:var(--sans);font-weight:400;font-size:11.5px;color:var(--muted);margin-top:2px}
