:root{
	--wdx-navy:#0f3b78;
	--wdx-blue:#1d4ed8;
	--wdx-sky:#39a6c7;
	--wdx-teal:#0f766e;
	--wdx-green:#16a34a;
	--wdx-orange:#f97316;
	--wdx-bg:#f8fafc;
	--wdx-muted:#eef4f8;
	--wdx-border:#dbe4ee;
	--wdx-text:#1f2937;
	--wdx-sub:#5b6677;
	--wdx-white:#ffffff;
	--wdx-shadow:0 12px 30px rgba(15,59,120,.08);
	--wdx-radius:22px;
	--wdx-radius-sm:14px;
	--wdx-width:1180px;
}
html{
	scroll-behavior:smooth;
}
body{
	color:var(--wdx-text);
	background:#fff;
}
#wdx-top-page *,
#wdx-top-page *::before,
#wdx-top-page *::after{
	box-sizing:border-box;
}
#wdx-top-page{
	font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
	line-height:1.8;
}
#wdx-top-page img{
	max-width:100%;
	height:auto;
	display:block;
}
#wdx-top-page a{
	color:inherit;
	text-decoration:none;
}
#wdx-top-page .wdx-container{
	width:min(100% - 32px, var(--wdx-width));
	margin:0 auto;
}
#wdx-top-page .wdx-section{
	padding:88px 0;
}
#wdx-top-page .wdx-section.is-muted{
	background:var(--wdx-bg);
}
#wdx-top-page .wdx-eyebrow{
	display:inline-block;
	font-size:12px;
	font-weight:700;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--wdx-sky);
	margin:0 0 12px;
}
#wdx-top-page .wdx-title{
	font-size:clamp(28px,3vw,44px);
	line-height:1.3;
	font-weight:700;
	margin:0 0 18px;
	color:#0f172a;
}
#wdx-top-page .wdx-text{
	font-size:16px;
	color:var(--wdx-sub);
	margin:0;
}
#wdx-top-page .wdx-grid{
	display:grid;
	gap:24px;
}
#wdx-top-page .wdx-card{
	background:#fff;
	border:1px solid var(--wdx-border);
	border-radius:var(--wdx-radius);
	box-shadow:var(--wdx-shadow);
	padding:28px;
}
#wdx-top-page .wdx-btn-row{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin-top:28px;
}
#wdx-top-page .wdx-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:50px;
	padding:0 24px;
	border-radius:999px;
	font-weight:700;
	font-size:15px;
	transition:.25s ease;
}
#wdx-top-page .wdx-btn:hover{
	transform:translateY(-2px);
}
#wdx-top-page .wdx-btn-primary{
	background:linear-gradient(135deg,var(--wdx-navy),var(--wdx-blue));
	color:#fff;
	box-shadow:0 12px 24px rgba(29,78,216,.18);
}
#wdx-top-page .wdx-btn-secondary{
	background:#fff;
	color:var(--wdx-navy);
	border:1px solid #bfd2ea;
}
#wdx-top-page .wdx-pill-list{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:22px;
}
#wdx-top-page .wdx-pill{
	display:inline-flex;
	align-items:center;
	padding:8px 14px;
	border-radius:999px;
	background:#eff6ff;
	color:var(--wdx-navy);
	font-size:13px;
	font-weight:700;
	border:1px solid #d7e7fb;
}

/* in-page nav */
#wdx-top-page .wdx-anchor-nav{
	position:sticky;
	top:0;
	z-index:20;
	background:rgba(255,255,255,.92);
	backdrop-filter:blur(10px);
	border-top:1px solid #edf2f7;
	border-bottom:1px solid #edf2f7;
}
#wdx-top-page .wdx-anchor-nav-inner{
	display:flex;
	gap:10px;
	overflow-x:auto;
	padding:12px 0;
}
#wdx-top-page .wdx-anchor-nav-inner a{
	white-space:nowrap;
	padding:10px 16px;
	font-size:13px;
	font-weight:700;
	color:var(--wdx-navy);
	background:#f8fbff;
	border:1px solid #d9e6f3;
	border-radius:999px;
}

/* hero */
#wdx-top-page .wdx-hero{
	padding:64px 0 76px;
	background:
		radial-gradient(circle at top left, rgba(57,166,199,.16), transparent 28%),
		radial-gradient(circle at bottom right, rgba(22,163,74,.10), transparent 24%),
		linear-gradient(180deg,#f9fcff 0%, #eef6fb 100%);
}
#wdx-top-page .wdx-hero-grid{
	display:grid;
	grid-template-columns:1.08fr .92fr;
	gap:36px;
	align-items:center;
}
#wdx-top-page .wdx-hero-copy{
	background:rgba(255,255,255,.7);
	border:1px solid #e2ecf5;
	border-radius:28px;
	padding:36px;
	box-shadow:var(--wdx-shadow);
}
#wdx-top-page .wdx-hero-copy h1{
	font-size:clamp(34px,4.3vw,58px);
	line-height:1.2;
	letter-spacing:.01em;
	margin:0 0 18px;
	color:#0b1b34;
}
#wdx-top-page .wdx-hero-copy p{
	font-size:17px;
	color:#415166;
	margin:0;
}
#wdx-top-page .wdx-hero-visual{
	position:relative;
}
#wdx-top-page .wdx-hero-panel{
	background:linear-gradient(145deg,#0f3b78 0%, #1d4ed8 52%, #39a6c7 100%);
	color:#fff;
	border-radius:30px;
	padding:34px;
	box-shadow:0 20px 42px rgba(15,59,120,.20);
	overflow:hidden;
}
#wdx-top-page .wdx-hero-panel::before{
	content:"WDX";
	position:absolute;
	right:18px;
	top:6px;
	font-size:108px;
	line-height:1;
	font-weight:800;
	color:rgba(255,255,255,.08);
	pointer-events:none;
}
#wdx-top-page .wdx-hero-visual-inner{
	position:relative;
	z-index:1;
}
#wdx-top-page .wdx-hero-panel .wdx-subtitle{
	font-size:14px;
	letter-spacing:.10em;
	text-transform:uppercase;
	font-weight:700;
	opacity:.86;
	margin-bottom:14px;
}
#wdx-top-page .wdx-hero-panel h2{
	font-size:28px;
	line-height:1.4;
	margin:0 0 16px;
	color:#fff;
}
#wdx-top-page .wdx-hero-panel p{
	margin:0 0 20px;
	font-size:15px;
	color:rgba(255,255,255,.92);
}
#wdx-top-page .wdx-hero-stats{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:12px;
}
#wdx-top-page .wdx-hero-stat{
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.16);
	border-radius:18px;
	padding:16px;
}
#wdx-top-page .wdx-hero-stat strong{
	display:block;
	font-size:20px;
	line-height:1.3;
	margin-bottom:4px;
}
#wdx-top-page .wdx-hero-image{
	margin-top:20px;
	border-radius:22px;
	overflow:hidden;
	background:#fff;
}
#wdx-top-page .wdx-hero-image img{
	width:100%;
}

/* issues / strengths */
#wdx-top-page .wdx-card-grid-3{
	grid-template-columns:repeat(3,1fr);
}
#wdx-top-page .wdx-issue-card{
	padding:22px 20px;
	font-weight:700;
	font-size:17px;
	color:#213349;
}
#wdx-top-page .wdx-strength-card h3{
	font-size:20px;
	margin:0 0 10px;
	color:var(--wdx-navy);
}
#wdx-top-page .wdx-strength-card p{
	margin:0;
	color:var(--wdx-sub);
}

/* PMVV */
#wdx-top-page .wdx-pmvv-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:22px;
	margin-top:28px;
}
#wdx-top-page .wdx-pmvv-card{
	padding:28px;
	border-radius:26px;
	color:#fff;
	min-height:100%;
}
#wdx-top-page .wdx-pmvv-card .label{
	display:inline-block;
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	margin-bottom:10px;
	opacity:.92;
}
#wdx-top-page .wdx-pmvv-card h3{
	font-size:24px;
	margin:0 0 12px;
}
#wdx-top-page .wdx-pmvv-card p,
#wdx-top-page .wdx-pmvv-card li{
	font-size:15px;
	line-height:1.85;
	margin:0;
	color:rgba(255,255,255,.95);
}
#wdx-top-page .wdx-pmvv-card ul{
	margin:0;
	padding-left:1.2em;
}
#wdx-top-page .wdx-pmvv-purpose{ background:linear-gradient(135deg,#0f3b78,#1d4ed8); }
#wdx-top-page .wdx-pmvv-mission{ background:linear-gradient(135deg,#0f766e,#16a34a); }
#wdx-top-page .wdx-pmvv-vision{ background:linear-gradient(135deg,#0f766e,#39a6c7); }
#wdx-top-page .wdx-pmvv-value{ background:linear-gradient(135deg,#ea580c,#f97316); }
#wdx-top-page .wdx-pmvv-statement{
	margin-top:22px;
	padding:24px 28px;
	background:#fff;
	border-radius:22px;
	border:1px solid var(--wdx-border);
	box-shadow:var(--wdx-shadow);
	font-size:18px;
	font-weight:700;
	color:var(--wdx-navy);
}

/* method */
#wdx-top-page .wdx-method-grid{
	display:grid;
	grid-template-columns:.95fr 1.05fr;
	gap:28px;
	align-items:start;
}
#wdx-top-page .wdx-brand-panel{
	position:relative;
	overflow:hidden;
	border-radius:30px;
	padding:36px;
	background:linear-gradient(145deg,#0f3b78 0%, #1f5cab 45%, #16a34a 100%);
	color:#fff;
	box-shadow:0 20px 38px rgba(15,59,120,.18);
}
#wdx-top-page .wdx-brand-panel .bg{
	position:absolute;
	right:16px;
	top:0;
	font-size:150px;
	font-weight:800;
	line-height:1;
	color:rgba(255,255,255,.08);
}
#wdx-top-page .wdx-brand-panel h3{
	position:relative;
	font-size:58px;
	line-height:1;
	margin:0 0 10px;
	z-index:1;
}
#wdx-top-page .wdx-brand-panel .sub{
	position:relative;
	font-size:14px;
	letter-spacing:.08em;
	font-weight:700;
	opacity:.92;
	z-index:1;
}
#wdx-top-page .wdx-brand-panel .divider{
	position:relative;
	width:64px;
	height:3px;
	background:#fff;
	border-radius:999px;
	margin:18px 0 22px;
	z-index:1;
}
#wdx-top-page .wdx-acronym{
	position:relative;
	display:grid;
	gap:12px;
	z-index:1;
}
#wdx-top-page .wdx-acronym-item{
	display:flex;
	align-items:flex-start;
	gap:12px;
}
#wdx-top-page .wdx-acronym-letter{
	flex:0 0 42px;
	height:42px;
	border-radius:12px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:22px;
	font-weight:800;
	background:rgba(255,255,255,.18);
}
#wdx-top-page .wdx-acronym-text{
	font-size:15px;
	line-height:1.7;
}
#wdx-top-page .wdx-brand-message{
	position:relative;
	margin-top:24px;
	padding-top:20px;
	border-top:1px solid rgba(255,255,255,.18);
	font-size:16px;
	font-weight:700;
	line-height:1.9;
	z-index:1;
}
#wdx-top-page .wdx-insight-stack{
	display:grid;
	gap:18px;
}
#wdx-top-page .wdx-insight-card{
	background:#fff;
	border:1px solid var(--wdx-border);
	border-radius:24px;
	padding:26px;
	box-shadow:var(--wdx-shadow);
}
#wdx-top-page .wdx-insight-card h3{
	margin:0 0 14px;
	font-size:22px;
	color:#0f172a;
}
#wdx-top-page .wdx-insight-list{
	display:grid;
	gap:14px;
}
#wdx-top-page .wdx-insight-list div{
	padding:16px 18px;
	background:#f8fbff;
	border-radius:18px;
	border:1px solid #e1ecf8;
	color:#455468;
}
#wdx-top-page .wdx-insight-summary{
	padding:22px 26px;
	border-radius:20px;
	background:linear-gradient(135deg,#eff6ff,#ecfeff);
	border:1px solid #d8ebfa;
	font-size:18px;
	font-weight:700;
	color:var(--wdx-navy);
}

/* framework */
#wdx-top-page .wdx-framework-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:28px;
	align-items:center;
}
#wdx-top-page .wdx-framework-visual{
	background:#fff;
	border:1px solid var(--wdx-border);
	border-radius:30px;
	padding:28px;
	box-shadow:var(--wdx-shadow);
}
#wdx-top-page .wdx-framework-circle{
	position:relative;
	width:min(100%,520px);
	aspect-ratio:1/1;
	margin:0 auto;
	border:2px dashed #cfe0ef;
	border-radius:50%;
	background:radial-gradient(circle, #f8fbff 0%, #f3f9fd 52%, #ffffff 100%);
}
#wdx-top-page .wdx-center-circle{
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	width:180px;
	height:180px;
	border-radius:50%;
	background:linear-gradient(135deg,#16a34a,#0f766e);
	color:#fff;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	box-shadow:0 16px 30px rgba(22,163,74,.22);
}
#wdx-top-page .wdx-center-circle strong{
	font-size:28px;
	line-height:1.35;
}
#wdx-top-page .wdx-center-circle span{
	font-size:13px;
	opacity:.92;
	margin-top:6px;
}
#wdx-top-page .wdx-node{
	position:absolute;
	width:148px;
	min-height:90px;
	padding:14px 12px;
	border-radius:20px;
	background:#fff;
	border:1px solid var(--wdx-border);
	box-shadow:var(--wdx-shadow);
	text-align:center;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
#wdx-top-page .wdx-node .no{
	font-size:12px;
	font-weight:700;
	color:var(--wdx-sky);
	margin-bottom:4px;
}
#wdx-top-page .wdx-node .ttl{
	font-size:17px;
	line-height:1.4;
	font-weight:700;
	color:#0f172a;
}
#wdx-top-page .wdx-node-top{ left:50%; top:18px; transform:translateX(-50%); }
#wdx-top-page .wdx-node-right-top{ right:8px; top:110px; }
#wdx-top-page .wdx-node-right-bottom{ right:12px; bottom:110px; }
#wdx-top-page .wdx-node-bottom{ left:50%; bottom:18px; transform:translateX(-50%); }
#wdx-top-page .wdx-node-left{ left:8px; top:50%; transform:translateY(-50%); }

#wdx-top-page .wdx-framework-list{
	display:grid;
	gap:16px;
}
#wdx-top-page .wdx-framework-item{
	display:grid;
	grid-template-columns:62px 1fr;
	gap:16px;
	align-items:start;
	padding:22px;
	border-radius:22px;
	color:#fff;
}
#wdx-top-page .wdx-framework-item .num{
	font-size:22px;
	font-weight:800;
	line-height:1;
}
#wdx-top-page .wdx-framework-item h3{
	margin:0 0 6px;
	font-size:21px;
	line-height:1.45;
}
#wdx-top-page .wdx-framework-item p{
	margin:0;
	font-size:14px;
	line-height:1.85;
	color:rgba(255,255,255,.92);
}
#wdx-top-page .is-dark{ background:linear-gradient(135deg,#0f3b78,#1d4ed8); }
#wdx-top-page .is-green{ background:linear-gradient(135deg,#15803d,#16a34a); }
#wdx-top-page .is-orange{ background:linear-gradient(135deg,#ea580c,#f97316); }
#wdx-top-page .is-blue{ background:linear-gradient(135deg,#0f766e,#39a6c7); }
#wdx-top-page .is-teal{ background:linear-gradient(135deg,#0f766e,#0f3b78); }

/* pyramid */
#wdx-top-page .wdx-pyramid-wrap{
	display:grid;
	grid-template-columns:120px 1fr 220px;
	gap:24px;
	align-items:center;
	margin-top:28px;
}
#wdx-top-page .wdx-pyramid-side{
	writing-mode:vertical-rl;
	text-orientation:mixed;
	font-size:20px;
	font-weight:700;
	color:var(--wdx-navy);
	justify-self:center;
}
#wdx-top-page .wdx-pyramid-main{
	display:grid;
	gap:12px;
}
#wdx-top-page .wdx-pyramid-level{
	display:grid;
	grid-template-columns:74px 1fr auto;
	align-items:center;
	gap:18px;
	padding:18px 20px;
	border-radius:18px;
	color:#fff;
	box-shadow:var(--wdx-shadow);
}
#wdx-top-page .wdx-pyramid-level .idx{
	font-size:28px;
	font-weight:800;
	line-height:1;
}
#wdx-top-page .wdx-pyramid-level h3{
	margin:0 0 4px;
	font-size:22px;
	line-height:1.4;
}
#wdx-top-page .wdx-pyramid-level p{
	margin:0;
	font-size:14px;
	color:rgba(255,255,255,.92);
}
#wdx-top-page .wdx-tags{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	justify-content:flex-end;
}
#wdx-top-page .wdx-tags span{
	display:inline-block;
	padding:6px 10px;
	border-radius:999px;
	font-size:12px;
	font-weight:700;
	background:rgba(255,255,255,.14);
	border:1px solid rgba(255,255,255,.16);
}
#wdx-top-page .lv5{ background:linear-gradient(135deg,#0f3b78,#1d4ed8); }
#wdx-top-page .lv4{ background:linear-gradient(135deg,#0f766e,#39a6c7); }
#wdx-top-page .lv3{ background:linear-gradient(135deg,#15803d,#16a34a); }
#wdx-top-page .lv2{ background:linear-gradient(135deg,#1f5cab,#39a6c7); }
#wdx-top-page .lv1{ background:linear-gradient(135deg,#ea580c,#f97316); }
#wdx-top-page .wdx-pyramid-base{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
}
#wdx-top-page .wdx-pyramid-base > div{
	padding:18px;
	border-radius:16px;
	text-align:center;
	font-weight:700;
	color:#0f172a;
	background:#fff;
	border:1px solid var(--wdx-border);
}
#wdx-top-page .wdx-pyramid-note{
	padding:24px;
	border-radius:24px;
	background:#fff;
	border:1px solid var(--wdx-border);
	box-shadow:var(--wdx-shadow);
}
#wdx-top-page .wdx-pyramid-note h3{
	margin:0 0 8px;
	font-size:22px;
	color:var(--wdx-navy);
}
#wdx-top-page .wdx-pyramid-note p{
	margin:0;
	color:var(--wdx-sub);
}

/* health flow */
#wdx-top-page .wdx-health-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:18px;
	margin-top:28px;
}
#wdx-top-page .wdx-health-card{
	border-radius:24px;
	padding:26px 22px;
	color:#fff;
	box-shadow:var(--wdx-shadow);
}
#wdx-top-page .wdx-health-card .step{
	display:inline-block;
	padding:7px 12px;
	border-radius:999px;
	background:rgba(255,255,255,.15);
	border:1px solid rgba(255,255,255,.18);
	font-size:12px;
	font-weight:700;
	margin-bottom:14px;
}
#wdx-top-page .wdx-health-card h3{
	font-size:24px;
	line-height:1.45;
	margin:0 0 12px;
	color:#fff;
}
#wdx-top-page .wdx-health-card p{
	margin:0 0 16px;
	color:rgba(255,255,255,.93);
	font-size:14px;
}
#wdx-top-page .wdx-health-box{
	padding:16px;
	border-radius:16px;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.16);
	font-size:13px;
	line-height:1.9;
}
#wdx-top-page .bg-orange{ background:linear-gradient(135deg,#ea580c,#f97316); }
#wdx-top-page .bg-green{ background:linear-gradient(135deg,#15803d,#16a34a); }
#wdx-top-page .bg-blue{ background:linear-gradient(135deg,#0f766e,#39a6c7); }
#wdx-top-page .bg-dark{ background:linear-gradient(135deg,#0f3b78,#1d4ed8); }
#wdx-top-page .wdx-health-summary{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:18px;
	margin-top:24px;
}
#wdx-top-page .wdx-health-summary > div{
	padding:22px 24px;
	border-radius:20px;
	background:#fff;
	border:1px solid var(--wdx-border);
	box-shadow:var(--wdx-shadow);
}
#wdx-top-page .wdx-health-summary strong{
	display:block;
	margin-bottom:6px;
	font-size:18px;
	color:var(--wdx-navy);
}

/* service */
#wdx-top-page .wdx-service-group{
	margin-top:30px;
}
#wdx-top-page .wdx-service-label{
	display:inline-block;
	padding:8px 16px;
	border-radius:999px;
	background:#eaf2fb;
	color:var(--wdx-navy);
	font-weight:700;
	font-size:13px;
	margin-bottom:16px;
}
#wdx-top-page .wdx-service-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
}
#wdx-top-page .wdx-service-card{
	background:#fff;
	border:1px solid var(--wdx-border);
	border-radius:24px;
	box-shadow:var(--wdx-shadow);
	padding:26px;
}
#wdx-top-page .wdx-service-card .badge{
	display:inline-block;
	padding:6px 10px;
	border-radius:999px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.08em;
	margin-bottom:12px;
	background:#eff6ff;
	color:var(--wdx-navy);
}
#wdx-top-page .wdx-service-card .icon{
	font-size:26px;
	line-height:1;
	margin-bottom:12px;
}
#wdx-top-page .wdx-service-card h3{
	margin:0 0 8px;
	font-size:22px;
	line-height:1.45;
	color:#0f172a;
}
#wdx-top-page .wdx-service-card .sub{
	font-size:14px;
	font-weight:700;
	color:var(--wdx-sky);
	margin-bottom:10px;
}
#wdx-top-page .wdx-service-card p{
	margin:0;
	color:var(--wdx-sub);
}
#wdx-top-page .wdx-service-card .tags{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:16px;
}
#wdx-top-page .wdx-service-card .tags span{
	display:inline-block;
	padding:6px 10px;
	border-radius:999px;
	background:#f8fbff;
	border:1px solid #dbe8f4;
	font-size:12px;
	font-weight:700;
	color:var(--wdx-navy);
}
#wdx-top-page .wdx-service-cta{
	margin-top:30px;
	padding:28px;
	border-radius:26px;
	background:linear-gradient(135deg,#f8fbff,#eff8ff);
	border:1px solid #d6e7f6;
	box-shadow:var(--wdx-shadow);
}
#wdx-top-page .wdx-service-cta p{
	margin:0;
	font-size:18px;
	font-weight:700;
	color:var(--wdx-navy);
}

/* cases */
#wdx-top-page .wdx-case-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
}
#wdx-top-page .wdx-case-card .tag{
	display:inline-block;
	padding:7px 12px;
	border-radius:999px;
	background:#eef6ff;
	border:1px solid #d8e7f6;
	color:var(--wdx-navy);
	font-size:12px;
	font-weight:700;
	margin-bottom:12px;
}
#wdx-top-page .wdx-case-card h3{
	margin:0 0 12px;
	font-size:22px;
	line-height:1.5;
	color:#0f172a;
}
#wdx-top-page .wdx-case-card p{
	margin:0;
	color:var(--wdx-sub);
}

/* maturity */
#wdx-top-page .wdx-two-col{
	display:grid;
	grid-template-columns:1.1fr .9fr;
	gap:28px;
	align-items:start;
}
#wdx-top-page .wdx-diagram-card{
	background:#fff;
	border:1px solid var(--wdx-border);
	border-radius:28px;
	box-shadow:var(--wdx-shadow);
	padding:18px;
}
#wdx-top-page .wdx-maturity-list{
	display:grid;
	gap:16px;
}
#wdx-top-page .wdx-maturity-card{
	background:#fff;
	border:1px solid var(--wdx-border);
	border-radius:22px;
	box-shadow:var(--wdx-shadow);
	padding:22px;
}
#wdx-top-page .wdx-maturity-card .level{
	display:inline-block;
	padding:6px 10px;
	border-radius:999px;
	background:#eff6ff;
	color:var(--wdx-navy);
	font-size:12px;
	font-weight:700;
	margin-bottom:12px;
}
#wdx-top-page .wdx-maturity-card h3{
	margin:0 0 8px;
	font-size:22px;
}
#wdx-top-page .wdx-maturity-card p{
	margin:0;
	color:var(--wdx-sub);
}

/* flow */
#wdx-top-page .wdx-flow-grid{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:18px;
}
#wdx-top-page .wdx-flow-card{
	text-align:center;
	padding:28px 20px;
}
#wdx-top-page .wdx-flow-card .step{
	display:inline-block;
	padding:7px 12px;
	border-radius:999px;
	background:#eaf4ff;
	color:var(--wdx-navy);
	font-size:12px;
	font-weight:700;
	margin-bottom:12px;
}
#wdx-top-page .wdx-flow-card h3{
	margin:0 0 8px;
	font-size:21px;
	color:#0f172a;
}
#wdx-top-page .wdx-flow-card p{
	margin:0;
	color:var(--wdx-sub);
}

/* ceo */
#wdx-top-page .wdx-ceo-grid{
	display:grid;
	grid-template-columns:.78fr 1.22fr;
	gap:28px;
	align-items:start;
}
#wdx-top-page .wdx-ceo-profile{
	background:#fff;
	border:1px solid var(--wdx-border);
	border-radius:28px;
	box-shadow:var(--wdx-shadow);
	padding:24px;
}
#wdx-top-page .wdx-ceo-photo{
	border-radius:22px;
	overflow:hidden;
	background:#eff6ff;
	margin-bottom:18px;
}
#wdx-top-page .wdx-ceo-role{
	font-size:14px;
	font-weight:700;
	color:var(--wdx-sky);
}
#wdx-top-page .wdx-ceo-name-ja{
	font-size:30px;
	font-weight:700;
	line-height:1.35;
	margin-top:4px;
}
#wdx-top-page .wdx-ceo-name-en{
	font-size:15px;
	color:var(--wdx-sub);
	margin-top:2px;
}
#wdx-top-page .wdx-ceo-bio{
	margin-top:18px;
	color:var(--wdx-sub);
}
#wdx-top-page .wdx-ceo-message{
	position:relative;
	background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
	border:1px solid var(--wdx-border);
	border-radius:30px;
	box-shadow:var(--wdx-shadow);
	padding:34px 34px 30px;
}
#wdx-top-page .wdx-ceo-message .label{
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--wdx-sky);
}
#wdx-top-page .wdx-ceo-message h2{
	margin:10px 0 14px;
	font-size:38px;
	line-height:1.3;
	color:#0f172a;
}
#wdx-top-page .wdx-ceo-quote{
	position:absolute;
	right:26px;
	top:22px;
	font-size:92px;
	line-height:1;
	color:#e5eef8;
	font-weight:800;
}
#wdx-top-page .wdx-ceo-highlight{
	font-size:31px;
	line-height:1.55;
	margin:0 0 22px;
	color:var(--wdx-navy);
}
#wdx-top-page .wdx-ceo-message p{
	margin:0 0 16px;
	color:#42536a;
}
#wdx-top-page .wdx-ceo-message p:last-child{
	margin-bottom:0;
}

/* company/contact */
#wdx-top-page .wdx-company-grid{
	display:grid;
	grid-template-columns:1fr .9fr;
	gap:28px;
}
#wdx-top-page .wdx-company-list{
	background:#fff;
	border:1px solid var(--wdx-border);
	border-radius:28px;
	box-shadow:var(--wdx-shadow);
	overflow:hidden;
}
#wdx-top-page .wdx-company-row{
	display:grid;
	grid-template-columns:180px 1fr;
	border-bottom:1px solid #e8eef5;
}
#wdx-top-page .wdx-company-row:last-child{
	border-bottom:none;
}
#wdx-top-page .wdx-company-row dt,
#wdx-top-page .wdx-company-row dd{
	margin:0;
	padding:18px 22px;
}
#wdx-top-page .wdx-company-row dt{
	background:#f8fbff;
	font-weight:700;
	color:var(--wdx-navy);
}
#wdx-top-page .wdx-company-row dd{
	color:#334155;
}
#wdx-top-page .wdx-company-row dd a{
	color:var(--wdx-blue);
	text-decoration:underline;
}
#wdx-top-page .wdx-cta-panel{
	background:linear-gradient(135deg,#0f3b78,#1d4ed8);
	color:#fff;
	border-radius:30px;
	box-shadow:0 18px 38px rgba(15,59,120,.20);
	padding:34px;
}
#wdx-top-page .wdx-cta-panel .wdx-eyebrow{
	color:#d9ebff;
}
#wdx-top-page .wdx-cta-panel h2{
	margin:0 0 14px;
	font-size:34px;
	line-height:1.45;
	color:#fff;
}
#wdx-top-page .wdx-cta-panel p{
	margin:0;
	color:rgba(255,255,255,.93);
}
#wdx-top-page .wdx-cta-panel .wdx-btn-secondary{
	border-color:rgba(255,255,255,.35);
	color:#fff;
	background:rgba(255,255,255,.08);
}

/* responsive */
@media (max-width: 1100px){
	#wdx-top-page .wdx-hero-grid,
	#wdx-top-page .wdx-method-grid,
	#wdx-top-page .wdx-framework-grid,
	#wdx-top-page .wdx-two-col,
	#wdx-top-page .wdx-ceo-grid,
	#wdx-top-page .wdx-company-grid{
		grid-template-columns:1fr;
	}
	#wdx-top-page .wdx-pmvv-grid,
	#wdx-top-page .wdx-health-grid,
	#wdx-top-page .wdx-card-grid-3,
	#wdx-top-page .wdx-service-grid,
	#wdx-top-page .wdx-case-grid{
		grid-template-columns:repeat(2,1fr);
	}
	#wdx-top-page .wdx-flow-grid{
		grid-template-columns:repeat(3,1fr);
	}
	#wdx-top-page .wdx-pyramid-wrap{
		grid-template-columns:1fr;
	}
	#wdx-top-page .wdx-pyramid-side{
		writing-mode:horizontal-tb;
		justify-self:start;
	}
}
@media (max-width: 768px){
	#wdx-top-page .wdx-section{
		padding:68px 0;
	}
	#wdx-top-page .wdx-hero{
		padding:48px 0 58px;
	}
	#wdx-top-page .wdx-hero-copy,
	#wdx-top-page .wdx-hero-panel,
	#wdx-top-page .wdx-brand-panel,
	#wdx-top-page .wdx-ceo-message,
	#wdx-top-page .wdx-cta-panel{
		padding:26px;
	}
	#wdx-top-page .wdx-pmvv-grid,
	#wdx-top-page .wdx-card-grid-3,
	#wdx-top-page .wdx-health-grid,
	#wdx-top-page .wdx-service-grid,
	#wdx-top-page .wdx-case-grid,
	#wdx-top-page .wdx-health-summary,
	#wdx-top-page .wdx-flow-grid{
		grid-template-columns:1fr;
	}
	#wdx-top-page .wdx-framework-circle{
		width:min(100%,420px);
	}
	#wdx-top-page .wdx-center-circle{
		width:144px;
		height:144px;
	}
	#wdx-top-page .wdx-center-circle strong{
		font-size:23px;
	}
	#wdx-top-page .wdx-node{
		width:122px;
		min-height:76px;
		padding:10px 8px;
	}
	#wdx-top-page .wdx-node .ttl{
		font-size:14px;
	}
	#wdx-top-page .wdx-pyramid-level{
		grid-template-columns:58px 1fr;
	}
	#wdx-top-page .wdx-tags{
		grid-column:1 / -1;
		justify-content:flex-start;
		margin-top:6px;
	}
	#wdx-top-page .wdx-company-row{
		grid-template-columns:1fr;
	}
	#wdx-top-page .wdx-ceo-highlight{
		font-size:25px;
	}
}
@media (max-width: 520px){
	#wdx-top-page .wdx-hero-copy h1{
		font-size:34px;
	}
	#wdx-top-page .wdx-title{
		font-size:29px;
	}
	#wdx-top-page .wdx-framework-circle{
		width:100%;
		aspect-ratio:auto;
		height:auto;
		border:none;
		background:transparent;
		display:grid;
		gap:12px;
	}
	#wdx-top-page .wdx-center-circle,
	#wdx-top-page .wdx-node,
	#wdx-top-page .wdx-node-top,
	#wdx-top-page .wdx-node-right-top,
	#wdx-top-page .wdx-node-right-bottom,
	#wdx-top-page .wdx-node-bottom,
	#wdx-top-page .wdx-node-left{
		position:static;
		transform:none;
		width:100%;
		min-height:auto;
	}
	#wdx-top-page .wdx-center-circle{
		height:auto;
		border-radius:22px;
		padding:20px;
	}
}

/* =========================
   Global Header
========================= */
.site-header{
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #ffffff;
	border-bottom: 1px solid #e9eef2;
}

.site-header__inner{
	max-width: 1920px;
	min-height: 88px;
	margin: 0 auto;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	background: #fff;
}

.site-header__brand{
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	padding: 0 32px;
}

.site-header__logo-link{
	display: inline-flex;
	align-items: center;
	height: 100%;
}

.site-header__logo{
	display: block;
	height: 44px;
	width: auto;
}

.site-header__nav{
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 0 28px;
}

.site-header__menu{
	display: flex;
	align-items: center;
	gap: 44px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header__menu li{
	margin: 0;
	padding: 0;
}

.site-header__menu a{
	display: inline-flex;
	align-items: center;
	height: 88px;
	font-size: 15px;
	font-weight: 700;
	color: #222;
	text-decoration: none;
	letter-spacing: .02em;
	transition: opacity .2s ease;
}

.site-header__menu a:hover{
	opacity: .65;
}

.site-header__cta{
	flex: 0 0 200px;
}

.site-header__contact{
	height: 88px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: #4b98a7;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	font-weight: 700;
	transition: background .2s ease, opacity .2s ease;
}

.site-header__contact:hover{
	background: #3f8795;
	opacity: 1;
	color: #fff;
}

.site-header__contact-icon{
	font-size: 16px;
	line-height: 1;
	display: inline-block;
	transform: translateY(-1px);
}

/* tablet */
@media (max-width: 1200px){
	.site-header__brand{
		padding: 0 20px;
	}

	.site-header__nav{
		padding: 0 20px;
	}

	.site-header__menu{
		gap: 28px;
	}

	.site-header__cta{
		flex-basis: 170px;
	}
}

/* mobile */
@media (max-width: 900px){
	.site-header__inner{
		min-height: 72px;
	}

	.site-header__brand{
		padding: 0 16px;
	}

	.site-header__logo{
		height: 36px;
	}

	.site-header__nav{
		display: none;
	}

	.site-header__cta{
		flex: 0 0 150px;
	}

	.site-header__contact{
		height: 72px;
		font-size: 14px;
	}
}

/* =========================
   Simple Footer
========================= */
.footer-simple {
	background: #0b2a5b;
	color: #fff;
	margin-top: 0;
	border-radius: 0 0 20px 20px;
	overflow: hidden;
}

.footer-simple__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 56px 40px 36px;
	display: grid;
	grid-template-columns: 1.2fr 0.9fr 1fr;
	gap: 48px;
	align-items: start;
}

.footer-simple__title {
	margin: 0 0 16px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
}

.footer-simple__lead {
	margin: 0;
	font-size: 1rem;
	line-height: 1.9;
	color: rgba(255,255,255,0.85);
}

.footer-simple__nav,
.footer-simple__contact {
	color: #fff;
}

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

.footer-simple__menu li {
	margin: 0 0 14px;
}

.footer-simple__menu li:last-child {
	margin-bottom: 0;
}

.footer-simple__menu a,
.footer-simple__contact a {
	color: #fff;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.footer-simple__menu a:hover,
.footer-simple__contact a:hover {
	opacity: 0.75;
}

.footer-simple__contact p {
	margin: 0 0 14px;
	line-height: 1.8;
	color: rgba(255,255,255,0.92);
}

.footer-simple__contact p:last-child {
	margin-bottom: 0;
}

.footer-simple__copyright {
	border-top: 1px solid rgba(255,255,255,0.18);
	padding: 18px 20px 22px;
	text-align: center;
	font-size: 0.95rem;
	color: rgba(255,255,255,0.82);
}

/* 既存 footer の見た目を抑制 */
#footer .container.base,
#footer .footer__menu,
#footer .footer__company,
#footer .footer__banner {
	all: unset;
}

@media screen and (max-width: 900px) {
	.footer-simple__inner {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 40px 24px 28px;
	}

	.footer-simple__title {
		font-size: 1.6rem;
	}

	.footer-simple__menu li {
		margin-bottom: 12px;
	}
}


/* static site chrome */
body{
    margin:0;
    font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
}
img{max-width:100%;height:auto}
.site-header{
    position:sticky; top:0; z-index:100;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(10px);
    border-bottom:1px solid #e6edf5;
}
.site-header-inner,.site-footer-inner,.page-lead-inner{
    width:min(100% - 32px, 1180px);
    margin:0 auto;
}
.site-header-inner{
    display:flex; align-items:center; justify-content:space-between;
    gap:24px; min-height:76px;
}
.site-logo{
    display:flex; align-items:center; gap:14px; text-decoration:none; color:#0f172a;
    font-weight:800; letter-spacing:.02em;
}
.site-logo-mark{
    width:42px; height:42px; border-radius:14px;
    background:linear-gradient(135deg,#0f3b78,#39a6c7);
    color:#fff; display:grid; place-items:center; font-size:16px;
    box-shadow:0 10px 22px rgba(15,59,120,.18);
}
.site-nav{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.site-nav a{
    text-decoration:none; color:#0f3b78; font-weight:700; font-size:14px;
    padding:10px 14px; border-radius:999px; border:1px solid transparent;
}
.site-nav a:hover, .site-nav a.is-current{
    background:#f4f8fc; border-color:#d9e6f3;
}
.site-nav .cta-link{
    background:linear-gradient(135deg,#0f3b78,#1d4ed8); color:#fff;
    box-shadow:0 10px 22px rgba(29,78,216,.18);
}
.page-lead{
    background:linear-gradient(180deg,#f9fcff 0%, #eef6fb 100%);
    border-bottom:1px solid #e6edf5;
}
.page-lead-inner{
    padding:42px 0 34px;
}
.page-lead .eyebrow{
    display:inline-block; margin:0 0 10px; color:#39a6c7;
    letter-spacing:.16em; text-transform:uppercase; font-size:12px; font-weight:800;
}
.page-lead h1{
    margin:0 0 12px; font-size:clamp(28px,4vw,46px); line-height:1.22; color:#0b1b34;
}
.page-lead p{
    margin:0; max-width:800px; color:#415166; font-size:16px; line-height:1.9;
}
.page-links{
    display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;
}
.page-links a{
    text-decoration:none; color:#0f3b78; background:#fff; border:1px solid #d9e6f3;
    border-radius:999px; padding:10px 15px; font-size:13px; font-weight:700;
}
.site-footer{
    background:#0b1b34; color:#dbe7f4; margin-top:0;
}
.site-footer-inner{
    padding:56px 0 30px;
}
.site-footer-grid{
    display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:28px;
}
.site-footer h3,.site-footer h4{color:#fff; margin:0 0 12px}
.site-footer p,.site-footer li,.site-footer a{
    color:#dbe7f4; text-decoration:none; line-height:1.8;
}
.site-footer ul{list-style:none; padding:0; margin:0}
.site-footer-bottom{
    margin-top:28px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12);
    font-size:13px; color:#aac0d6;
}
@media (max-width: 900px){
    .site-header-inner{align-items:flex-start; padding:14px 0; flex-direction:column}
    .site-nav{width:100%}
    .site-footer-grid{grid-template-columns:1fr}
}
.site-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  line-height: 1;
  flex-shrink: 0;
}

.site-logo-full {
  display: block;
  height: 44px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.site-logo-mark {
  display: none;
}

@media (max-width: 768px) {
  .site-logo-full {
    height: 36px;
  }
}