@charset "UTF-8";
/* CSS Document */


/*共通　カード
---------------------------------------------*/
/* storage archive */
.product-card h3 > span{ font-size: 10px; display: inline-block; margin: 0; padding: 0; color:#666;}
.product-card img{ margin-bottom: 14px;}
.product-card{ position: relative;}
.spec-box{
	background:#f7f9fc;
	border:1px solid #dce3ee;
	border-radius:8px;
	padding:40px;
	margin-top:40px;
}

.server_specs{
	margin-top:30px;
}

.spec_item{
	padding:16px 0;
	border-bottom:1px solid #e5e5e5;
}

.spec_item span{
	display:block;
	font-size:.8rem;
	color:#103A71;
	font-weight:700;
	margin-bottom:5px;
	text-transform:uppercase;
}

.spec_item strong{
	display:block;
	font-size:1.2rem;
}
/*  ICON  */
.icon_debian{ width: 40px; height: auto;}



/*---------------------------------------------*/
.protocols{
	font-size: 14px; margin-top:-10px;
}
.section-heading{
    margin-bottom:60px;
}

.section-label{
    display:block;
    margin-bottom:12px;
    font-size:.85rem;
    font-weight:600;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:#2D7FF9;
}

.section-heading h2{
    font-size:clamp(2rem,4vw,3.5rem);
    font-weight:700;
    line-height:1.2;
    color:#103A71;
}

.aigfs-stats {
	padding: 80px 0;
	background: #f7f9fc;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
}
.aigfs-stats h4{ text-align: center;}
.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
	padding: 0 2%;
}

.stat-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 40px 30px;
    text-align: center!important;
    box-shadow:
        0 10px 30px rgba(0,0,0,.06);
    transition: all .3s ease;
}

.stat-card:hover {
    transform: translateY(-5px);
    box-shadow:
        0 20px 40px rgba(0,0,0,.10);
}

.stat-card h2 {
    margin: 0 0 10px;

    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
    color: #103A71;
}

.stat-card p {
    margin: 0;
    font-size: 1rem;
    color: #666;
	text-align: center;
}

@media (max-width: 768px) {

    .stats-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .stat-card {
        padding: 30px 20px;
    }

    .stat-card h2 {
        font-size: 2.8rem;
    }
}
/*　縦図 3色　縦カラム
--------------------------------------*/
.aigfs-architecture{ padding:100px 0;}

.hierarchy{
	max-width:600px;
	margin:0 auto;
	display:flex;
	flex-direction:column;
	gap:40px;
}
.hierarchy .tier{
	position:relative;
	padding:35px 40px 25px 40px;
	border-radius:20px;
	text-align:center;
	box-shadow:0 10px 30px rgba(0,0,0,.08);
	background:#fff;
}
.hierarchy h3{ margin:0 0 10px; font-size:1.4rem;}
.hierarchy .tier p{ margin:0; color:#666;	font-size:.95rem;}
.hierarchy .tier:not(:last-child)::after{
	content:"↓";
	position:absolute;
	left:50%;
	bottom:-32px;
	transform:translateX(-50%);
	font-size:24px;
	color:#94a3b8;
}

.hierarchy .tier.fast	{background:linear-gradient(135deg,	#25b7eb,#06c2d4	);color:#fff;}
.hierarchy .tier.fast p {color:rgba(255,255,255,.9);}
.hierarchy .tier.master {background:#f8fafc;border:2px solid #e2e8f0;}
.hierarchy .tier.archive{background:linear-gradient(135deg,#879dbc,#999999);color:#fff;}
.hierarchy .tier.archive p{color:rgba(255,255,255,.9);}

.hierarchy .fast,.hierarchy .archive{border-top: none;}


/* GPU Infrastructure
----------------------------------------------------------------------------*/
/* スタック図
--------------------------------------*/
.stack_table_wrap{	max-width:900px;margin:40px auto;}

.stack_table{width:100%;border-collapse:collapse;background:#fff;}
.stack_table td{border:1px solid #d1d5db;padding:12px 20px;	text-align:center;font-size:1rem;line-height:1.5;}
.stack_table tr td{	transition:.2s ease;}
.stack_table tr:hover td{background:#f8fafc;}
@media(max-width:768px){
	.stack_table td{
		padding:10px;
		font-size:.9rem;
	}
}

.cuda .stack_table td:first-child{
	width:120px;
	font-weight:700;
	color:#2563eb;
	white-space:nowrap;
}

.aigfs_infra .stack_table{
	border-collapse:separate;
	border-spacing:0;
}

.aigfs_infra .stack_table thead tr.bg_blue_line th:first-child{
	border-top-left-radius:8px;
}

.aigfs_infra .stack_table thead tr.bg_blue_line th:last-child{
	border-top-right-radius:8px;
}

/* Spec Table
--------------------------------------*/

.table_wrap{margin:40px 0;overflow-x:auto;}

.spec_table{
	width:100%;
	border-collapse:collapse;
	background:#fff;
	border:1px solid #e5e7eb;
	border-radius:16px;
	overflow:hidden;
}
.spec_table thead th{
	background:var(--primary-color);
	color:#fff;
	padding:16px 20px;
	text-align:left;
	font-weight:600;
	font-size:.95rem;
}
.spec_table tbody td{
	padding:16px 20px;
	border-top:1px solid #e5e7eb;
	vertical-align:top;
	line-height:1.7;
}
.spec_table tbody tr:nth-child(even){
	background:#f8fafc;
}
.spec_table tbody tr:hover{
	background:#eef6ff;
}
.spec_table td:first-child{
	width:180px;
	font-weight:600;
	color:var(--primary-color);
	white-space:nowrap;
}
.spec_table td:nth-child(2){
	font-weight:500;
}
.spec_table td:last-child{
	color:#666;
	font-size:.95rem;
}
@media(max-width:768px){
	.spec_table{
		min-width:700px;
	}
	.spec_table thead th,
	.spec_table tbody td{
		padding:12px 14px;
		font-size:.9rem;
	}
}

/*　JBOD Serverモデル 詳細ページ
--------------------------------------*/
.jbod-feature{
	display:flex;
	align-items:center;
	gap:60px;
	margin:50px 0;
}

.jbod-image{
	flex:0 0 40%;
	max-width:400px;
}

.jbod-image img{
	width:100%;
	height:auto;
	display:block;
	margin: 2rem auto;
}

.jbod-content{
	flex:1;
}

.jbod-content h3{
	margin-bottom:10px;
}

@media (max-width:768px){
	.jbod-feature{
		flex-direction:column;
		text-align:center;
	}
	
	.jbod-image{
		max-width:300px;
	}
}
.jbod-spec{
	font-size:.95rem;
}

.spec-row{
	display:grid;
	grid-template-columns:180px 1fr;
	gap:20px;
	padding:12px 0;
	border-bottom:1px solid #e5e7eb;
}

.spec-title{
	font-weight:700;
	color:#103A71;
}

.spec-value ul{
	margin:0;
	padding-left:18px;
}

.spec-value li{
	margin-bottom:4px;
}

.spec-note{
	margin-top:10px;
	font-size:.85rem;
	color:#666;
}

@media (max-width:768px){
	.spec-row{
		grid-template-columns:1fr;
		gap:8px;
	}
}

/* AIGFS
----------------------------------------------------------------------------*/
/* AIGFS Tier list
--------------------------------------*/

.tier-list{
	list-style:none;
	margin:0;
	padding:0;
}

.tier-list li{
	margin-bottom:16px;
	line-height:1.6;
}

.tier-list strong{
	display:inline-block;
	font-size:.85rem;
	color:#103A71;
	margin-bottom:4px;
}

.command-card{
	padding:20px;
	background:#fff;
	border:1px solid #e5e7eb;
	border-radius:8px;
}

.command-card h4{
	margin-bottom:15px;
	color:#103A71;
}

.command-card ul{
	list-style:none;
	padding:0;
	margin:0;
}

.command-card li{
	margin-bottom:10px;
}

.command-card code{
	display:block;
	font-size:.85rem;
	font-weight:600;
	color:#103A71;
}

.command-card span{
	font-size:.8rem;
	color:#666;
}



/* storage model */
.feature-card{
	background:#fff;
	border:1px solid #e5eaf0;
	padding:30px;
	border-radius:12px;
	box-shadow:0 4px 12px rgba(0,0,0,.05);
}

.feature-card h3{
	margin:0 0 20px;
	color:#103A71;
	font-size:1.3rem;
}

.feature-card h4{
	margin:20px 0 10px;
	font-size:1rem;
	color:#555;
}

.feature-card ul{
	margin:0;
	padding-left:20px;
}

.feature-card li{
	margin-bottom:8px;
	line-height:1.6;
}

@media(max-width:768px){
	.feature-grid{
		grid-template-columns:1fr;
	}
}

/*　gpu server */
.feature-list{
	max-width:1000px;
	margin:40px auto;
}

.feature-item{
	display:flex;
	align-items:flex-start;
	gap:20px;
	padding:18px 0;
	border-bottom:1px solid #e5eaf0;
}

.feature-item:last-child{
	border-bottom:none;
}

.feature-item i{
	font-size:1.5rem;
	color:#103A71;
	width:32px;
	text-align:center;
	margin-top:4px;
	flex-shrink:0;
}

.feature-item h3{
	margin:0 0 6px;
	font-size:1.05rem;
}

.feature-item p{
	margin:0;
	line-height:1.7;
	color:#555;
}
/**/
.service-table{
	width:100%;
	border-collapse:collapse;
	margin:40px 0;
}

.service-table th{
	width:340px;
	padding:20px;
	text-align:left;
	vertical-align:top;
	background:#f7f9fc;
	border-bottom:1px solid #e5eaf0;
	font-weight:700;
	color:#103A71;
}

.service-table td{
	padding:20px;
	border-bottom:1px solid #e5eaf0;
	line-height:1.8;
}

.service-table ul{
	margin:10px 0 0 20px;
	padding:0;
}

.service-table .note{
	margin-top:10px;
	font-size:.95rem;
	color:#666;
}

.mclag dt{ margin-top: 20px; padding: 18px 18px 18px 0; font-size: 1.8rem; color: var(--primary-color);}
.mclag dt::before{ content: "● "}
.mclag dd{ margin: 0; padding: 0!important; }


.db-schema{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
	gap:20px;
}
.schema-badge{
	position:absolute;
	top:15px;
	right:15px;
	background:#dcfce7;
	color:#15803d;
	font-size:.75rem;
	padding:5px 12px;
	border-radius:999px;
	font-weight:bold;
}
.db-schema li{ padding:8px 0;border-bottom:1px solid #eee;font-family:monospace; font-size: 0.8rem; line-height: 1.6;}
.db-schema .solution-icon{
	width:70px;
	height:70px;
	border-radius:50%;
	background:#eff6ff;
	color:#2563eb;
	font-size:28px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:20px;
	margin-top:20px;
}
.db-schema ul li ul li{ margin-left:-0.5rem;}

.icon_blue{ background:#edf4ff!important; color:#2563eb!important; }
.icon_green{ background:#ecfdf5!important; color:#16a34a!important; }
.icon_ublue{ background:#ecfeff!important; color:#0891b2!important; }
.icon_purple{ background:#f3e8ff!important; color:#9333ea!important; }
.icon_orange{ background:#fff7ed!important; color:#ea580c!important; }

.tech-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
}

.tech-grid .spec-box{ padding: 20px;}
.tech-grid .spec-box h3{ margin-top: 2px;}
.tech-grid .spec-box p{ margin-top: -6px auto;}

.permission-table{
	width:100%;
	border-collapse:collapse;
	margin-top:20px;
	font-size:.95rem;
}

.permission-table th{
	background:#103A71;
	color:#fff;
	padding:12px;
	text-align:left;
}

.permission-table td{
	padding:12px;
	border-bottom:1px solid #e5e5e5;
}

.security-items{
	margin-top:20px;
}

.security-item{
	padding:15px 0;
	border-bottom:1px solid #e5e5e5;
}

.security-item strong{
	display:block;
	font-size:1rem;
	color:#103A71;
	margin-bottom:5px;
}

.security-item span{
	display:block;
	font-size:.9rem;
	color:#666;
}

@media (max-width:900px){

	.permission-grid{
		grid-template-columns:1fr;
	}

}

#page_product .tier-item, #page_product .hierarchy > div{ width:90%!important; margin:0 auto;}

/**/
.summary-section{
	margin:80px 0;
}

.summary-card{
	background:#fff;
	border-radius:18px;
	padding:45px;
	border:1px solid #e5e7eb;
	box-shadow:0 12px 35px rgba(15,23,42,.08);
}

.summary-header{
	margin-bottom:30px;
}

.summary-badge{
	display:inline-block;
	padding:6px 14px;
	background:#2563eb;
	color:#fff;
	border-radius:999px;
	font-size:.75rem;
	font-weight:700;
	letter-spacing:.08em;
	margin-bottom:15px;
}

.summary-header h2{
	margin:0;
}

.summary-text{
	line-height:2;
	color:#555;
	margin-bottom:20px;
}

.next-step{
	margin-top:40px;
}

.step-item{
	display:flex;
	align-items:flex-start;
	gap:20px;
	padding:22px 25px;
	background:#f8fafc;
	border-radius:14px;
	border-left:5px solid #2563eb;
}

.step-number{
	width:48px;
	height:48px;
	background:#2563eb;
	color:#fff;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:700;
	font-size:1.1rem;
	flex-shrink:0;
}

.step-content h3{
	margin:0 0 8px;
	font-size:1.1rem;
	color:#0f172a;
}

.step-content p{
	margin:0;
	line-height:1.8;
	color:#555;
}

.step-arrow{
	text-align:center;
	padding:12px 0;
	color:#94a3b8;
	font-size:1.3rem;
}
