.elementor-3019 .elementor-element.elementor-element-3800532{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3019 .elementor-element.elementor-element-53561ee{--display:flex;--min-height:40vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-3019 .elementor-element.elementor-element-53561ee:not(.elementor-motion-effects-element-type-background), .elementor-3019 .elementor-element.elementor-element-53561ee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://agovault.com/wp-content/uploads/2025/04/image_fx-2.png");background-position:center center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3019 .elementor-element.elementor-element-734d3e5{text-align:center;}.elementor-3019 .elementor-element.elementor-element-734d3e5 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:3rem;font-weight:600;line-height:4rem;color:var( --e-global-color-text );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3019 .elementor-element.elementor-element-8ea2e3e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-3019 .elementor-element.elementor-element-d1b9e51{--divider-border-style:solid;--divider-color:#FFFFFF24;--divider-border-width:1px;}.elementor-3019 .elementor-element.elementor-element-d1b9e51 .elementor-divider-separator{width:100%;}.elementor-3019 .elementor-element.elementor-element-d1b9e51 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-3019 .elementor-element.elementor-element-b0d8995{text-align:center;}.elementor-3019 .elementor-element.elementor-element-b0d8995 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:1.3rem;font-weight:600;color:#FFFFFF;}.elementor-3019 .elementor-element.elementor-element-2eab969{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;--padding-top:3rem;--padding-bottom:3rem;--padding-left:0rem;--padding-right:0rem;}.elementor-3019 .elementor-element.elementor-element-434629b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3019 .elementor-element.elementor-element-9aeb461{--divider-border-style:solid;--divider-color:#FFFFFF24;--divider-border-width:1px;}.elementor-3019 .elementor-element.elementor-element-9aeb461 .elementor-divider-separator{width:100%;}.elementor-3019 .elementor-element.elementor-element-9aeb461 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-3019 .elementor-element.elementor-element-8a857df{text-align:center;}.elementor-3019 .elementor-element.elementor-element-8a857df .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-3019 .elementor-element.elementor-element-996ad62{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;--padding-top:3rem;--padding-bottom:3rem;--padding-left:0rem;--padding-right:0rem;}.elementor-3019 .elementor-element.elementor-element-db74809{--display:flex;--min-height:400px;}.elementor-3019 .elementor-element.elementor-element-12af789{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3019 .elementor-element.elementor-element-a828e87{--divider-border-style:solid;--divider-color:#FFFFFF24;--divider-border-width:1px;}.elementor-3019 .elementor-element.elementor-element-a828e87 .elementor-divider-separator{width:100%;}.elementor-3019 .elementor-element.elementor-element-a828e87 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}@media(min-width:1025px){.elementor-3019 .elementor-element.elementor-element-53561ee:not(.elementor-motion-effects-element-type-background), .elementor-3019 .elementor-element.elementor-element-53561ee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}@media(max-width:1024px){.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );}.elementor-3019 .elementor-element.elementor-element-2eab969{--grid-auto-flow:row;}.elementor-3019 .elementor-element.elementor-element-996ad62{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );}.elementor-3019 .elementor-element.elementor-element-2eab969{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-3019 .elementor-element.elementor-element-996ad62{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}}




























/* Start custom CSS *//*
 * AGO Vault - 固定ページ用カスタムCSS (カード高さ微調整版)
 * Elementorの固定ページの「カスタムCSS」エリアに貼り付けてください。
 * 緑の丸の表示を確実にし、説明文の行数制限でカードの高さを揃えます。
 */

/* --- フォントの読み込み --- */
/* Remix IconはElementorのカスタムコードでheadに読み込むため、ここでは記述しません */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');


/* --- 全体的なスタイルとブラウザリセット --- */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 50%, #334155 100%); /* 全体背景 */
    min-height: 100vh;
    font-family: 'Inter', sans-serif;
    color: #cbd5e1; /* 基本テキスト色 (text-gray-100) */
    line-height: 1.5;
}

/* --- ヘッダー・ヒーローセクションに設定する共通クラス用スタイル --- */
/* (Elementorで作成済みとのことですが、HTMLにこれらのクラスが使われていれば定義が必要です) */

/* ヘッダーセクションに適用するクラス：fixed top-0 left-0 right-0 z-50 glass-effect w-full */
header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    width: 100%;
}

/* ヒーローセクションに適用するクラス：hero-bg relative overflow-hidden */
.hero-bg {
    background-image: url('https://readdy.ai/api/search-image?query=abstract%20digital%20network%20network%20connections%20with%20geometric%20patterns%20and%20soft%20blue%20glowing%20lines%20on%20dark%20background%2C%20minimal%20modern%20tech%20aesthetic%2C%20professional%20web%20development%20visualization&width=1920&height=800&seq=hero-bg-001&orientation=landscape');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* ヒーローセクションのHTML内の .pattern-overlay クラス用 */
.pattern-overlay {
    background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.15) 1px, transparent 0);
    background-size: 20px 20px;
}


/* --- 全てのガラス効果 (ヘッダー、ヒーロー、カードに共通) --- */
.glass-effect {
    backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* --- カードのホバー効果 --- */
.card-hover {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-hover:hover {
    transform: translateY(-4px); /* 少し上に移動 */
    box-shadow: 0 20px 40px rgba(59, 130, 246, 0.15); /* ホバー時の影 */
}

/* --- ステータスバッジの基本スタイル --- */
.status-badge {
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px; /* full */
}

/* --- Tailwind CSSユーティリティクラスの再定義 --- */
/* これらはHTMLに直接クラスとして記述されているものをCSSで定義し直すものです */

/* 配置とレイアウト */
.relative { position: relative; }
.overflow-hidden { overflow: hidden; }
.absolute { position: absolute; }
.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.w-full { width: 100%; }
.max-w-7xl { max-width: 80rem; } /* 1280px */
.max-w-4xl { max-width: 56rem; } /* 896px */
.mx-auto { margin-left: auto; margin-right: auto; }
.flex { display: flex; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.items-start { align-items: flex-start; } /* flex items-start 用 */
.inline-flex { display: inline-flex; }
.block { display: block; } /* aタグに適用して全体をクリック可能に */


/* パディングとマージン */
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; } /* カードセクション全体のパディング */
.py-24 { padding-top: 6rem; padding-bottom: 6rem; }
.pt-20 { padding-top: 5rem; } /* ヘッダー分のスペース確保 */
.p-8 { padding: 2rem; } /* カードのパディング */
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-6 { margin-bottom: 1.5rem; } /* アイコン・バッジの下 */
.mb-8 { margin-bottom: 2rem; }

/* Flexboxの子要素間のスペース */
.space-x-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}

/* 幅と高さ */
.w-8 { width: 2rem; } .h-8 { height: 2rem; }
.w-12 { width: 3rem; } .h-12 { height: 3rem; }
/* 関係者限定公開中の緑のドット */
/* より詳細なセレクタで確実に適用 */
/* これで直るはず！ */
.inline-flex > .w-2 { width: 0.5rem !important; }
.inline-flex > .h-2 { height: 0.5rem !important; }


/* テキストスタイル */
.text-center { text-align: center; }
.text-5xl { font-size: 3rem; line-height: 1; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; } /* アイコンとH3のサイズ */
.text-lg { font-size: 1.125rem; line-height: 1.75rem; } /* ヘッダーアイコンなど */
.text-sm { font-size: 0.875rem; line-height: 1.25rem; } /* サブタイトル、説明文、バッジ */

/* テキストのウェイト */
.font-bold { font-weight: 700; } /* ヒーロー見出し */
.font-semibold { font-weight: 600; } /* H3 */
.font-medium { font-weight: 500; } /* バッジ、ヘッダーロゴ */

/* テキストカラー */
.text-white { color: #fff; }
.text-gray-300 { color: #d1d5db; }
.text-gray-400 { color: #9ca3af; }

/* カード内のリンク（aタグ） */
a.block { text-decoration: none; color: inherit; } /* 下線なし、親の文字色を継承 */

/* カード・アイコン・バッジの色設定 (HTMLのクラス名に対応) */
/* アイコンコンテナの背景色 */
.bg-blue-500\/20 { background-color: rgba(59, 130, 246, 0.2); }
.bg-purple-500\/20 { background-color: rgba(168, 85, 247, 0.2); }
.bg-orange-500\/20 { background-color: rgba(249, 115, 22, 0.2); }
.bg-green-500\/20 { background-color: rgba(34, 197, 94, 0.2); }
.bg-cyan-500\/20 { background-color: rgba(6, 182, 212, 0.2); }
.bg-red-500\/20 { background-color: rgba(239, 68, 68, 0.2); }

/* アイコンの色 */
.text-blue-400 { color: #60a5fa; }
.text-purple-400 { color: #c084fc; }
.text-orange-400 { color: #fbbf24; }
.text-green-400 { color: #4ade80; }
.text-cyan-400 { color: #22d3ee; }
.text-red-400 { color: #f87171; }

/* バッジの背景色 */
.bg-yellow-500\/20 { background-color: rgba(234, 179, 8, 0.2); }
.bg-gray-500\/20 { background-color: rgba(107, 114, 128, 0.2); }

/* 緑のドットの背景色 (これも共通ユーティリティなのでここに記述) */
.bg-green-400 { background-color: #4ade80 !important; } /* !important を再確認 */


/* バッジの文字色 */
.text-yellow-400 { color: #facc15; }
.text-gray-400 { color: #9ca3af; }

/* 近日公開カードの不透明度 (opacity-75) */
.opacity-75 { opacity: 0.75; }

/* --- その他の共通ユーティリティ (ヘッダー、ヒーローも含む可能性があるため、残します) --- */
/* Elementorでヘッダー・ヒーローを別途作成済みでも、HTMLにこれらのクラスが使われていれば定義が必要です */
.fixed { position: fixed; }
.top-0 { top: 0; } .left-0 { left: 0; } .right-0 { right: 0; }
.z-50 { z-index: 50; }
.w-full { width: 100%; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.pt-20 { padding-top: 5rem; } /* ヘッダー分のスペース確保など */
.max-w-7xl { max-width: 80rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.relative { position: relative; }
.overflow-hidden { overflow: hidden; }
.absolute { position: absolute; }
.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.font-mono { font-family: 'JetBrains Mono', monospace; }
.bg-primary { background-color: #3B82F6; } /* ヘッダーロゴ背景 */
.rounded-lg { border-radius: 0.5rem; }
.rounded-button { border-radius: 8px; }
.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.whitespace-nowrap { white-space: nowrap; }
.text-center { text-align: center; }
.text-5xl { font-size: 3rem; line-height: 1; }
.leading-relaxed { line-height: 1.625; }
.bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); }
.from-white { --tw-gradient-from: #fff; --tw-gradient-to: rgba(255, 255, 255, 0); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.to-gray-300 { --tw-gradient-to: #d1d5db; }
.bg-clip-text { -webkit-background-clip: text; background-clip: text; }
.text-transparent { color: transparent; }
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .5; }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Flexboxの子要素間のスペース */
.space-x-3 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(0.75rem * var(--tw-space-x-reverse)); margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); }
.space-x-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(1rem * var(--tw-space-x-reverse)); margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); }
.space-x-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(0.5rem * var(--tw-space-x-reverse)); margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); }


/* --- カードセクションのグリッドレイアウト --- */
/* Elementorのカードを配置しているコンテナに 'cards-section' クラスを追加することを前提 */
.cards-section {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr)); /* スマホデフォルト */
    gap: 2rem; /* gap-8 (32px) に相当 */
}

@media (min-width: 768px) { /* mdブレークポイント */
    .cards-section {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) { /* lgブレークポイント */
    .cards-section {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


/* --- カードの高さ調整と Flexbox の適用 --- */
/* 各 individual-card はその中のコンテンツを縦方向に均等に配置します */
.individual-card > .block > div.glass-effect {
    display: flex;
    flex-direction: column;
    height: 100%; /* 親の高さに合わせて広がる */
    justify-content: flex-start; /* コンテンツを上寄せにする */
    overflow: hidden; /* コンテンツがはみ出したら隠す */
    /* Elementor の CSS が原因で padding が二重にかかるのを防ぐための調整 */
    padding: 2rem; /* p-8 を強制 */
}

/* 説明文の行数を制限して高さを揃えるためのFlexbox調整 */
/* これにより、説明文が短い場合でも、カード全体の比率が維持されます */
.individual-card > .block > div.glass-effect > p.text-gray-300 {
    flex-grow: 1; /* 残りのスペースを埋める */
    display: -webkit-box;
    -webkit-line-clamp: 3; /* ここで最大行数を指定（例: 3行）。必要に応じて調整してください */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}/* End custom CSS */