/* ==================================================================
 * sib-theme / assets/css/main.css
 * SIB公式サイトのスタイル。ワイヤーフレームv2のトークンを移植。
 * 構造: 0)変数 1)リセット 2)タイポ 3)レイアウト共通 4)ヘッダ/フッタ
 * 5)各セクション 6)コンポーネント(btn/card/stat) 7)レスポンシブ
 * ================================================================== */

/* ---------- 0. CSSカスタムプロパティ(デザイントークン) ---------- */
:root{
	--navy:#0E1B3D; --fuji:#1F4A8C; --red:#D63422;
	--pink:#E63988; --cyan:#2BB6C8; --yellow:#F0B71F; --orange:#E97224;
	--cream:#F5F1E8; --sand:#c9c7b6; --ink:#1F1F1F; --white:#FFFFFF;
	--gray700:#555; --gray500:#888; --gray200:#EEE; --gray100:#F7F7F7;
	--maxw:1280px;
	--space-1:4px; --space-2:8px; --space-3:16px; --space-4:24px;
	--space-5:32px; --space-6:48px; --space-7:80px; --space-8:120px;
	--radius:2px;
}

/* ---------- 1. リセット ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
	font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
	color:var(--ink); line-height:1.8; background:#fff;
	-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible,
button:focus-visible{
	outline:3px solid rgba(214,52,34,.55);
	outline-offset:3px;
}
.skip-link{
	position:fixed;
	left:16px;
	top:12px;
	z-index:999;
	transform:translateY(-160%);
	background:var(--ink);
	color:#fff;
	padding:10px 14px;
	font-weight:700;
	font-size:13px;
	transition:transform .2s;
}
.skip-link:focus{transform:translateY(0)}
ul{list-style:none}

/* ---------- 2. タイポ ---------- */
.en{font-family:"Cinzel",serif;letter-spacing:.08em}
.num{font-family:"Oswald",sans-serif;font-weight:700;letter-spacing:.02em}

.section__head{max-width:var(--maxw);margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-5)}
.section__head .en{display:block;color:var(--ink);font-size:44px;line-height:1;font-weight:700;margin-bottom:8px;text-transform:uppercase}
.section__head h1,.section__head h2{color:var(--ink);font-size:18px;font-weight:700;letter-spacing:.04em;border-top:1px solid var(--ink);padding-top:10px}

/* ---------- 3. レイアウト共通 ---------- */
.site-main{display:block}
section{padding-bottom:var(--space-7)}
.screen-reader-text{
	position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
	clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ---------- 4. ヘッダ/フッタ ---------- */
.notice{
	background:var(--red);color:#fff;text-align:center;
	padding:10px 16px;font-size:13px;letter-spacing:.05em;
	position:fixed;top:0;left:0;right:0;z-index:101;
}
.notice strong{font-family:"Oswald",sans-serif;letter-spacing:.08em;margin-right:8px}
.notice a{text-decoration:underline;margin-left:8px;font-weight:700}
.notice a:last-child{margin-left:14px}

.header{
	position:fixed;top:0;left:0;right:0;z-index:100;
	background:rgba(255,255,255,.9);backdrop-filter:blur(10px);color:var(--ink);
	border-bottom:1px solid rgba(31,31,31,.12);
}
.notice ~ .header{top:38px}
.header__inner{
	max-width:var(--maxw);margin:0 auto;
	display:flex;align-items:center;justify-content:space-between;
	gap:18px;padding:14px 24px;
}
.logo{display:flex;align-items:center;flex:0 0 auto}
.logo__image{display:block;width:clamp(150px,16vw,218px);height:auto}
.logo__mark{font-family:"Cinzel",serif;font-weight:700;font-size:28px;line-height:1}
.logo__sub{font-size:10px;letter-spacing:.18em;color:var(--ink)}
.gnav{min-width:0;flex:1 1 auto}
.gnav ul{display:flex;justify-content:flex-end;gap:clamp(12px,1.45vw,20px);flex-wrap:nowrap}
.gnav a{display:inline-block;white-space:nowrap;font-size:clamp(10px,.86vw,12px);letter-spacing:.08em;font-weight:700;color:var(--ink)}
.gnav a.gnav__member{display:none}
.gnav a:hover{color:var(--fuji)}
.gnav a.is-current{
	color:var(--red);
}
.header__cta{display:flex;flex:0 0 auto;gap:6px}
.header__cta a{white-space:nowrap;padding:10px clamp(10px,1.2vw,18px);border-radius:var(--radius);font-size:clamp(10px,.86vw,12px);font-weight:700;letter-spacing:.04em}
.header__cta .c0{background:var(--fuji);color:#fff}
.header__cta .c1{background:var(--red);color:#fff}
.header__cta .c2{background:transparent;color:var(--ink);border:1px solid rgba(31,31,31,.28)}

.footer{position:relative;background:#f8f9fc;color:var(--ink);overflow:hidden;border-top:1px solid #dfe4ee}
.footer__inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:68px 32px 280px;display:grid;grid-template-columns:1.3fr 1.2fr .9fr;gap:72px}
.footer__brand-link{display:inline-block}
.footer__logo-image{display:block;width:220px;height:auto}
.footer__address{margin-top:24px;font-size:13px;font-style:normal;line-height:1.9;color:#46516b}
.footer__address a{color:var(--fuji);font-weight:700}
.footer__heading{margin:0 0 18px;color:var(--fuji);font-size:12px;font-weight:800;letter-spacing:.12em}
.footer__related{margin-top:30px}
.footer__nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;font-size:13px}
.footer__sns{display:flex;flex-direction:column;gap:12px;font-size:13px}
.footer__nav a,.footer__sns a{display:inline-flex;align-items:center;min-height:32px;color:#26314c;font-weight:700}
.footer__nav a::after,.footer__sns a::after{content:"→";margin-left:7px;color:var(--red);font-size:12px}
.footer__nav a:hover,.footer__sns a:hover{color:var(--fuji)}
.footer__nav a.is-current{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.footer__art{position:absolute;z-index:1;left:50%;bottom:-72px;transform:translateX(-50%);display:block;width:min(58vw,692px);height:auto;pointer-events:none}
.footer__copy{position:relative;z-index:3;text-align:center;font-size:11px;color:#6b7590;padding:20px 24px;border-top:1px solid rgba(14,27,61,.1);background:rgba(248,249,252,.9)}
.back-to-top{
	position:fixed;
	right:22px;
	bottom:22px;
	z-index:90;
	width:46px;
	height:46px;
	border:1px solid rgba(31,31,31,.18);
	background:#fff;
	color:var(--ink);
	font-size:20px;
	font-weight:700;
	box-shadow:0 12px 30px rgba(0,0,0,.14);
	opacity:0;
	pointer-events:none;
	transform:translateY(12px);
	transition:opacity .2s, transform .2s;
	cursor:pointer;
}
.back-to-top.is-visible{
	opacity:1;
	pointer-events:auto;
	transform:translateY(0);
}
.breadcrumbs{
	position:relative;
	z-index:3;
	max-width:1180px;
	margin:0 auto;
	padding:96px 32px 0;
	display:flex;
	gap:8px;
	align-items:center;
	flex-wrap:wrap;
	font-size:12px;
	color:var(--gray500);
	letter-spacing:.04em;
}
.home .breadcrumbs{display:none}
.breadcrumbs a{color:var(--fuji);font-weight:700}
.breadcrumbs span{color:var(--gray500)}
.site-cta{
	background:#fff;
	color:var(--ink);
	max-width:1180px;
	margin:88px auto 0;
	padding:42px 32px;
	display:grid;
	grid-template-columns:1fr auto;
	gap:32px;
	align-items:center;
	border-top:1px solid var(--ink);
	border-bottom:1px solid var(--ink);
}
.site-cta .en{
	color:var(--red);
	font-size:13px;
	font-weight:700;
	margin-bottom:8px;
}
.site-cta h2{
	font-size:clamp(26px,4vw,42px);
	line-height:1.35;
}
.site-cta p:not(.en){
	color:var(--gray700);
	margin-top:10px;
}
.site-cta__actions{
	display:flex;
	gap:12px;
	flex-wrap:wrap;
	justify-content:flex-end;
}

/* ---------- 5. セクション ---------- */
.hero{position:relative;min-height:100vh;padding-top:38px;background:#fdfdfb;display:flex;align-items:center;overflow:hidden}
.hero::before{content:"";position:absolute;right:-8%;top:5%;width:75%;height:95%;
	background:
		radial-gradient(circle at 30% 40%, rgba(230,57,136,.62), transparent 30%),
		radial-gradient(circle at 55% 35%, rgba(43,182,200,.62), transparent 33%),
		radial-gradient(circle at 70% 60%, rgba(240,183,31,.58), transparent 30%),
		radial-gradient(circle at 45% 65%, rgba(233,114,36,.5), transparent 28%),
		radial-gradient(circle at 60% 50%, rgba(214,52,34,.4), transparent 22%);
	filter:blur(2px);pointer-events:none;
}
.hero__inner{max-width:var(--maxw);margin:0 auto;padding:120px 32px 80px;width:100%;position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.hero__eyebrow{color:var(--fuji);font-size:14px;margin-bottom:24px}
.hero__title{font-size:64px;line-height:1.3;color:var(--navy);font-weight:900;letter-spacing:.04em}
.hero__lead{margin-top:24px;font-size:14px;color:var(--gray700)}
.hero__cta{margin-top:40px;display:flex;gap:12px}

.hero--brochure{
	min-height:100svh;
	padding:0;
	background-color:#f2f3f8;
	background-image:var(--brochure-cover);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:min(100vw, calc(100svh * 1.413)) auto;
}
.hero--brochure::before{display:none}
.hero-ink{
	position:absolute;
	inset:0;
	z-index:1;
	width:100%;
	height:100%;
	pointer-events:none;
	mix-blend-mode:multiply;
	opacity:.78;
}
.ink-drop{
	transform-box:fill-box;
	transform-origin:center;
	opacity:0;
	animation:inkBloom 7.8s cubic-bezier(.17,.67,.18,1) infinite;
}
.ink-drop--pink{animation-delay:.15s}
.ink-drop--cyan{animation-delay:1.05s}
.ink-drop--gold{animation-delay:2.05s}
.ink-splashes{
	fill:none;
	stroke:rgba(14,27,61,.28);
	stroke-width:5;
	stroke-linecap:round;
	opacity:0;
	animation:inkSplashes 7.8s ease-out infinite;
}
.ink-splashes circle{
	fill:rgba(214,52,34,.42);
	stroke:none;
}
@keyframes inkBloom{
	0%{opacity:0;transform:translateY(-130px) scale(.12) rotate(-8deg)}
	10%{opacity:.84;transform:translateY(0) scale(.34) rotate(0)}
	32%{opacity:.9;transform:translateY(0) scale(1.02) rotate(2deg)}
	58%{opacity:.55;transform:translateY(4px) scale(1.18) rotate(4deg)}
	100%{opacity:0;transform:translateY(10px) scale(1.34) rotate(7deg)}
}
@keyframes inkSplashes{
	0%,11%{opacity:0;transform:scale(.9)}
	22%{opacity:.72;transform:scale(1)}
	54%{opacity:.3}
	100%{opacity:0;transform:scale(1.04)}
}
.hero__copy{
	position:absolute;
	left:clamp(24px,8vw,112px);
	bottom:clamp(118px,14vw,168px);
	z-index:2;
	max-width:560px;
	color:var(--navy);
	text-shadow:0 2px 14px rgba(255,255,255,.72);
}
.hero__copy .en{
	display:block;
	color:var(--fuji);
	font-size:13px;
	font-weight:700;
	margin-bottom:10px;
}
.hero__copy h2{
	font-size:clamp(34px,4.7vw,62px);
	line-height:1.22;
	font-weight:900;
	margin-bottom:12px;
}
.hero__copy h2 span{
	display:block;
	white-space:nowrap;
}
.hero__copy p:not(.en){
	font-size:15px;
	line-height:1.8;
	font-weight:700;
}
.hero__actions{
	position:absolute;
	left:clamp(24px,8vw,112px);
	bottom:clamp(24px,6vw,72px);
	display:flex;
	gap:12px;
	flex-wrap:wrap;
	z-index:2;
}
.btn--ink{background:var(--ink);color:#fff}
.btn--ink:hover{background:#444}

.brochure-section{
	padding:72px 0;
}
.brochure-section--white{background:#fff}
.brochure-section--sand{background:var(--sand)}
.brochure-artboard{
	max-width:1180px;
	margin:0 auto;
	padding:0 32px;
}
.brochure-artboard img{
	width:100%;
	height:auto;
	display:block;
	box-shadow:0 18px 45px rgba(0,0,0,.12);
	background:#fff;
}
.brochure-artboard--bleed{
	max-width:none;
	padding:0;
}
.brochure-artboard--bleed img{
	box-shadow:none;
}
.brochure-spread{
	max-width:1180px;
	margin:0 auto;
	display:grid;
	grid-template-columns:1fr;
	gap:22px;
	padding:0 32px;
}
.brochure-spread .brochure-artboard{
	padding:0;
}
.brochure-fallback{display:none}

.about__cols,.program__cards,.join__cols{max-width:var(--maxw);margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.program__cards{grid-template-columns:repeat(4,1fr)}
.about__col,.join__col,.card{background:var(--gray100);padding:32px;border-radius:var(--radius)}
.about__col h3,.join__col h3,.card h3{color:var(--navy);margin-bottom:16px;font-size:18px}

.mvv{background:var(--navy);color:#fff;padding:80px 0}
.mvv--brochure{background:#063a64;padding:0;color:#fff}
.mvv__inner{max-width:var(--maxw);margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.mvv__block .en{color:var(--yellow);font-size:14px;margin-bottom:16px;display:block}
.mvv__copy{font-size:24px;line-height:1.5;font-weight:700}

.impact{background:var(--cream)}
.impact__stats{max-width:var(--maxw);margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center}
.stat .num{font-size:96px;color:var(--red);display:inline-block}
.stat .num i{font-size:48px;font-style:normal;margin-left:4px}
.stat p{margin-top:8px;font-size:16px;color:var(--gray700)}

.voice__list,.events__list,.partners__list{max-width:var(--maxw);margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.partners__list{grid-template-columns:repeat(6,1fr);gap:24px;align-items:center}
.voice__more,.events__more,.partners__cta{text-align:center;margin-top:32px}
.partner-tier{
	grid-column:1 / -1;
	display:grid;
	grid-template-columns:220px 1fr;
	gap:24px;
	align-items:start;
	border-top:1px solid var(--ink);
	padding-top:22px;
}
.partner-tier h3{
	font-size:18px;
	line-height:1.4;
	color:var(--navy);
}
.partner-tier__logos{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
	gap:16px;
}
.partners__item--static{
	min-height:104px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#fff;
	border:1px solid var(--gray200);
	padding:18px;
}
.partners__item--static img{
	max-width:100%;
	max-height:72px;
	object-fit:contain;
}
.partners__item--static span{
	color:var(--navy);
	font-weight:700;
	text-align:center;
	line-height:1.5;
}
.event-empty,
.partners-empty{
	grid-column:1 / -1;
	background:#fff;
	border:1px solid var(--gray200);
	border-left:5px solid var(--red);
	padding:34px;
}
.event-empty .en,
.partners-empty .en{
	color:var(--red);
	font-size:13px;
	font-weight:700;
	margin-bottom:8px;
}
.event-empty h3,
.partners-empty h3{
	color:var(--navy);
	font-size:24px;
	margin-bottom:10px;
}
.event-empty p,
.partners-empty p{
	max-width:680px;
	color:var(--gray700);
}
.event-empty .btn{
	margin-top:20px;
}

.page,.entry,.archive,.search,.notfound{max-width:var(--maxw);margin:0 auto;padding:160px 32px 80px}
.entry__meta{display:flex;gap:24px;margin-top:16px;font-size:14px;color:var(--gray700)}
.entry__meta dt{font-weight:700;color:var(--navy)}

/* ---------- 6. コンポーネント ---------- */
.btn{display:inline-block;padding:14px 28px;border-radius:var(--radius);font-size:14px;font-weight:700;letter-spacing:.08em;transition:.2s}
.btn--primary{background:var(--red);color:#fff}
.btn--primary:hover{background:#b3291a}
.btn--ghost{background:transparent;color:var(--navy);border:1px solid var(--navy)}
.btn--ghost:hover{background:var(--navy);color:#fff}

/* ---------- 6b. インタラクション(JSと連動) ---------- */
/* ハンバーガーボタン: PCでは非表示 */
.gnav-toggle{
	display:none;
	width:40px;height:40px;
	background:transparent;border:0;cursor:pointer;
	padding:0;position:relative;z-index:110;
}
.gnav-toggle span{
	display:block;position:absolute;left:8px;width:24px;height:2px;
	background:var(--ink);transition:transform .25s, opacity .2s, top .25s, background .2s;
}
.gnav-toggle span:nth-child(1){top:13px}
.gnav-toggle span:nth-child(2){top:19px}
.gnav-toggle span:nth-child(3){top:25px}
.gnav-toggle.is-open span:nth-child(1){top:19px;transform:rotate(45deg)}
.gnav-toggle.is-open span:nth-child(2){opacity:0}
.gnav-toggle.is-open span:nth-child(3){top:19px;transform:rotate(-45deg)}

/* スクロール時のヘッダ濃化 */
.header.is-scrolled{background:rgba(14,27,61,.98);box-shadow:0 2px 12px rgba(0,0,0,.08)}
.header.is-scrolled .gnav a{color:#fff}
.header.is-scrolled .logo__image{filter:brightness(0) invert(1)}
.header.is-scrolled .logo__sub,
.header.is-scrolled .gnav a:hover,
.header.is-scrolled .gnav a.is-current{color:#ffd36d}
.header.is-scrolled .header__cta .c2{color:#fff;border-color:rgba(255,255,255,.45)}
.header.is-scrolled .header__cta .c0{background:#fff;color:var(--navy)}
.gnav-toggle.is-open span{background:var(--ink)}
.header.is-scrolled .gnav-toggle span{background:#fff}

/* 出現アニメ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}

/* ナビ展開時の本文スクロール固定 */
body.is-nav-open{overflow:hidden}

/* ---------- 7. レスポンシブ ---------- */
@media (max-width:960px){
	.header__inner{padding:14px 16px}
	.gnav-toggle{display:block}
	.header__cta{display:none}
	.gnav{
		display:block;position:fixed;top:38px;right:0;
		width:78%;max-width:320px;height:calc(100vh - 38px);
		background:#fff;padding:80px 24px 32px;
		transform:translateX(100%);transition:transform .35s ease;
		overflow-y:auto;
	}
	.gnav.is-open{transform:translateX(0)}
	.gnav ul{flex-direction:column;gap:20px}
	.gnav a{font-size:15px;letter-spacing:.1em;color:var(--ink)}
	.gnav a.gnav__member{display:block;margin-top:28px;padding:14px 16px;background:var(--fuji);color:#fff;text-align:center;font-size:14px}
	.header.is-scrolled .gnav a{color:var(--ink)}
	.header.is-scrolled .gnav a.gnav__member{color:#fff}
	.hero__inner{grid-template-columns:1fr;padding:140px 24px 60px}
	.hero__title{font-size:40px}
	.about__cols,.program__cards,.join__cols,.mvv__inner,.impact__stats,.voice__list,.events__list{grid-template-columns:1fr;gap:16px;padding:0 16px}
.partners__list{grid-template-columns:repeat(3,1fr)}
	.partner-tier{grid-template-columns:1fr}
	.footer__inner{grid-template-columns:1fr;gap:32px}
	.stat .num{font-size:64px}
	.section__head h1,.section__head h2{font-size:24px}
	.breadcrumbs{padding:88px 18px 0}
	.site-cta{
		grid-template-columns:1fr;
		margin-top:48px;
		padding:34px 18px;
	}
	.site-cta__actions{justify-content:flex-start}
	.hero--brochure{
		min-height:82svh;
		background-size:185vw auto;
		background-position:left top 58px;
	}
	.hero__actions{
		left:16px;
		right:16px;
		bottom:20px;
	}
	.hero__copy{
		left:16px;
		right:16px;
		bottom:112px;
		max-width:none;
	}
	.hero__copy .en,
	.hero__copy p:not(.en){font-size:11px}
	.hero__copy h2{font-size:28px}
	.hero-ink{
		transform:translateX(-12%) scale(1.18);
		opacity:.58;
	}
	.hero__actions .btn{
		flex:1 1 160px;
		text-align:center;
		padding:13px 14px;
		font-size:12px;
	}
	.brochure-section{padding:32px 0}
	.brochure-artboard{padding:0 14px}
	.brochure-spread{padding:0 14px;gap:14px}
	.brochure-fallback{display:none}
	.section__head .en{font-size:34px}
}

@media (prefers-reduced-motion:reduce){
	.ink-drop,
	.ink-splashes{
		animation:none;
		opacity:.46;
	}
}

/* ---------- 8. v0.2.0 追加: スプラッシュ・オーブ + 新規ページ要素 ---------- */
/* Hero スプラッシュ・オーブ(パンフ表紙の世界観をCSSのみで再現) */
.hero{position:relative;overflow:hidden;background:var(--navy)}
.hero__orb{
	position:absolute;border-radius:50%;
	filter:blur(40px);pointer-events:none;mix-blend-mode:screen;
}
.hero__orb--pink   {top:18%;right:28%;width:260px;height:260px;background:var(--pink);opacity:.55}
.hero__orb--cyan   {top:30%;right:8%; width:320px;height:320px;background:var(--cyan);opacity:.55}
.hero__orb--yellow {top:55%;right:22%;width:280px;height:280px;background:var(--yellow);opacity:.5}
.hero__orb--orange {top:45%;right:38%;width:240px;height:240px;background:var(--orange);opacity:.45}
.hero__orb--red    {top:60%;right:12%;width:200px;height:200px;background:var(--red);opacity:.4}

/* ABOUT 段落色 */
.about__col p{color:var(--ink);line-height:1.85}

/* MVV 数字強調 */
.mvv__copy--num{font-family:'Cinzel','Noto Sans JP',sans-serif;line-height:1.4}
.mvv__copy--num strong{font-family:'Oswald','Noto Sans JP',sans-serif;font-size:1.6em;color:var(--yellow);font-weight:700}

/* PROGRAM カード仕上げ */
.card--program{display:flex;flex-direction:column;gap:8px;padding:24px;background:var(--gray100);border-top:3px solid var(--fuji)}
.card--program .en{color:var(--fuji);font-size:12px;letter-spacing:.08em}
.card--program h3{color:var(--navy);font-size:18px;margin:4px 0 8px}
.card--program p{font-size:14px;line-height:1.7;flex:1}

/* MEMBER 一覧 */
.forum__tabs ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 32px;justify-content:center}
.forum__tabs a{display:inline-block;padding:6px 14px;border:1px solid var(--navy);color:var(--navy);font-size:13px;text-decoration:none;border-radius:2px}
.forum__tabs a:hover{background:var(--navy);color:#fff}
.member__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px;margin-bottom:48px}
.member__item{text-align:center;background:#fff;padding:16px;border-radius:2px}
.member__item img{width:100px;height:100px;object-fit:cover;border-radius:50%;margin:0 auto 12px;display:block}
.member__avatar{
	width:72px;
	height:72px;
	margin:0 auto 14px;
	display:grid;
	place-items:center;
	border-radius:50%;
	background:linear-gradient(135deg,var(--navy),var(--fuji));
	color:#fff;
	font-family:"Cinzel",serif;
	font-size:28px;
	font-weight:700;
}
.member__item h3{font-size:14px;color:var(--navy);margin:0 0 4px}
.member__company{font-size:12px;color:var(--gray700)}
.member__bizinfo{font-size:11px;color:var(--gray500)}
.member__list--text .member__item{display:flex;align-items:center;justify-content:center;min-height:112px}
.member__list--text .member__item a{width:100%}

.section__head--sub h2{font-size:20px;letter-spacing:.05em;color:var(--fuji);text-align:left;border-left:4px solid var(--red);padding-left:12px}

/* INTERVIEW 一覧アイテム拡張 */
.voice__item .excerpt{font-size:13px;color:var(--gray700);line-height:1.7;margin-top:8px}

/* SEARCH */
.search__form{max-width:600px;margin:0 auto 32px}
.search__list{display:flex;flex-direction:column;gap:20px;max-width:800px;margin:0 auto}
.search__item{background:#fff;padding:20px;border:1px solid var(--gray200)}
.search__item .en{color:var(--fuji);font-size:11px;letter-spacing:.08em;margin:0 0 4px}
.search__item h2{font-size:18px;color:var(--navy);margin:0 0 8px}
.search__item .excerpt{font-size:13px;color:var(--gray700);line-height:1.7}

/* 404 */
.notfound{text-align:center;padding:80px 24px}
.notfound .num{font-family:'Oswald',sans-serif;font-size:120px;color:var(--red);line-height:1}
.notfound__nav ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:32px 0 0;justify-content:center}

/* ENTRY 共通(single-*) */
.entry{max-width:840px;margin:0 auto;padding:60px 24px}
.entry__head{margin-bottom:32px;border-bottom:2px solid var(--navy);padding-bottom:24px}
.entry__head h1{font-size:28px;color:var(--navy);margin:8px 0}
.entry__hero img,.entry__avatar img{display:block;margin:16px auto;max-width:100%;height:auto}
.entry__meta{display:grid;grid-template-columns:80px 1fr;gap:8px 16px;font-size:13px;margin-top:16px}
.entry__meta dt{color:var(--fuji);font-weight:700}
.entry__meta dd{margin:0;color:var(--ink)}
.entry__body{font-size:15px;line-height:1.9}
.entry__body h2{font-size:22px;color:var(--navy);margin:32px 0 12px;border-left:4px solid var(--red);padding-left:12px}
.entry__body h3{font-size:18px;color:var(--navy);margin:24px 0 8px}
.entry__body p{margin:0 0 1.2em}
.entry__foot{margin-top:48px;text-align:center}

/* PAGE 固定ページ汎用 */
.page{max-width:840px;margin:0 auto;padding:60px 24px}
.page__head h1{font-size:28px;color:var(--navy);border-bottom:2px solid var(--navy);padding-bottom:16px;margin-bottom:32px}

/* SP対応(960px以下) 追加分 */
@media (max-width:960px){
	.hero__orb{filter:blur(28px);transform:scale(.7)}
	.member__list{grid-template-columns:repeat(2,1fr);gap:16px}
	.member__item img{width:80px;height:80px}
	.entry__meta{grid-template-columns:60px 1fr}
	.notfound .num{font-size:84px}
}

/* ---------- 9. v0.4.0: パンフレット再現寄せ ---------- */
.hero.hero--brochure{
	min-height:100svh;
	padding:0;
	background-color:#f2f3f8;
	background-image:var(--brochure-cover);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:min(100vw, calc(100svh * 1.413)) auto;
}
.hero.hero--brochure::before{display:none}
.hero.hero--brochure .hero__orb{display:none}
.hero.hero--brochure.hero--clean{
	min-height:100svh;
	background:#f4f6fb;
	background-image:none;
}
.hero.hero--brochure.hero--ink-real{
	background:
		radial-gradient(circle at 76% 44%,rgba(255,255,255,.34),rgba(255,255,255,0) 31%),
		linear-gradient(105deg,#f4f6fb 0%,#f4f6fb 31%,#eef2f8 64%,#f8fafc 100%);
}
.hero__ink-photo{
	position:absolute;
	inset:0;
	z-index:1;
	background-image:var(--hero-ink);
	background-repeat:no-repeat;
	background-size:min(82vw, 92svh) auto;
	background-position:right 2vw center;
	mix-blend-mode:multiply;
	opacity:.9;
	filter:saturate(1.1) contrast(1.03);
	transform:scale(.985);
	transform-origin:66% 45%;
	pointer-events:none;
	animation:realInkBreath 12s cubic-bezier(.2,.62,.16,1) infinite alternate;
}
.hero__ink-photo::before,
.hero__ink-photo::after{
	content:"";
	position:absolute;
	inset:0;
	background-image:var(--hero-ink);
	background-repeat:no-repeat;
	background-size:inherit;
	background-position:inherit;
	pointer-events:none;
}
.hero__ink-photo::before{
	opacity:.34;
	filter:blur(8px) saturate(1.22);
	transform:scale(1.025) rotate(.25deg);
	mix-blend-mode:multiply;
	-webkit-mask-image:radial-gradient(ellipse at 59% 51%,#000 0 38%,transparent 69%);
	mask-image:radial-gradient(ellipse at 59% 51%,#000 0 38%,transparent 69%);
	animation:realInkSoak 10s ease-in-out infinite alternate;
}
.hero__ink-photo::after{
	opacity:.24;
	filter:blur(1px) saturate(1.28) contrast(1.08);
	transform:scale(1.01) translate(1.2%,-1.1%);
	mix-blend-mode:multiply;
	-webkit-mask-image:radial-gradient(ellipse at 72% 40%,#000 0 30%,transparent 58%);
	mask-image:radial-gradient(ellipse at 72% 40%,#000 0 30%,transparent 58%);
	animation:realInkBloom 8.8s ease-out infinite alternate;
}
.hero.hero--brochure.hero--clean::after{
	content:"";
	position:absolute;
	inset:auto 0 0 0;
	height:36%;
	z-index:1;
	background:linear-gradient(180deg,rgba(244,246,251,0),rgba(255,255,255,.74));
	pointer-events:none;
}
@keyframes realInkBreath{
	0%{opacity:.72;transform:scale(.94) translate(2.2%,-1.1%)}
	38%{opacity:.88;transform:scale(.992) translate(.45%,0)}
	100%{opacity:.95;transform:scale(1.018) translate(0,0)}
}
@keyframes realInkSoak{
	0%{opacity:.16;transform:scale(.99) rotate(-.2deg)}
	100%{opacity:.38;transform:scale(1.055) rotate(.35deg)}
}
@keyframes realInkBloom{
	0%{opacity:.08;transform:scale(.97) translate(2.6%,-2.1%)}
	100%{opacity:.28;transform:scale(1.035) translate(.6%,-.5%)}
}
.hero__brand-crop{
	display:none;
}
.hero__brand-image{
	display:block;
	width:100%;
	max-width:100%;
	height:auto;
}
.mvv.mvv--brochure,
.join.join--brochure{
	padding:0;
	background:#fff;
}
.mvv.mvv--brochure.mvv-paper{
	background:
		linear-gradient(90deg,rgba(3,18,46,.9) 0%,rgba(7,54,96,.72) 44%,rgba(3,20,45,.22) 76%),
		url("../img/brochure-photos/mvv-fuji.jpg") center bottom/cover no-repeat;
}
.join.join--brochure.join-paper{
	background:
		linear-gradient(90deg,rgba(2,18,42,.96) 0%,rgba(4,59,101,.86) 56%,rgba(2,18,42,.74) 100%),
		url("../img/brochure-photos/about-meeting.jpg") center/cover no-repeat;
}
.mvv.mvv--brochure .brochure-artboard img,
.join.join--brochure .brochure-artboard img{
	width:100%;
}
@media (max-width:960px){
	.hero.hero--brochure{
		min-height:82svh;
		background-size:185vw auto;
		background-position:left top 58px;
	}
	.hero.hero--brochure.hero--clean{
		min-height:86svh;
		background:#f4f6fb;
		background-image:none;
	}
	.hero.hero--brochure.hero--ink-real{
		background:linear-gradient(180deg,#f4f6fb 0%,#eef2f8 64%,#fff 100%);
	}
	.hero__ink-photo{
		inset:0 0 25% 8%;
		background-size:142vw auto;
		background-position:right -28vw top 92px;
		opacity:.5;
	}
	.hero__brand-crop{
		display:none;
	}
	.hero__brand-image{
		width:100%;
	}
}

@media (prefers-reduced-motion:reduce){
	.hero__ink-photo,
	.hero__ink-photo::before,
	.hero__ink-photo::after{
		animation:none;
	}
}

/* ---------- 10. v0.4.1: 紙面風HTMLテキスト化 ---------- */
.brochure-copy{
	color:var(--ink);
}
.brochure-page{
	max-width:1180px;
	margin:0 auto;
	padding:0 32px;
}
.brochure-heading{
	margin-bottom:28px;
}
.brochure-heading .en{
	font-size:clamp(40px,6vw,56px);
	line-height:.9;
	font-weight:700;
	color:var(--ink);
	text-transform:capitalize;
}
.brochure-heading h2,
.brochure-heading p:not(.en){
	font-size:14px;
	font-weight:700;
	margin-top:8px;
}
.brochure-heading--rule{
	display:flex;
	align-items:end;
	gap:24px;
	border-bottom:1px solid var(--ink);
	padding-bottom:6px;
}
.brochure-heading--rule h2{
	margin:0 0 6px;
}
.brochure-heading--light .en,
.brochure-heading--light p{
	color:#fff;
}
.about-paper{
	display:grid;
	grid-template-columns:1.35fr .75fr .75fr;
	gap:0;
	margin-bottom:24px;
}
.about-paper__photo{
	aspect-ratio:4/3;
	overflow:hidden;
	background:#ddd;
}
.about-paper__photo--large{
	grid-row:span 2;
}
.about-paper__photo img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.about-lede{
	display:grid;
	grid-template-columns:.86fr 1.14fr;
	gap:34px;
	align-items:stretch;
	margin-bottom:34px;
}
.about-lede__copy{
	background:var(--navy);
	color:#fff;
	padding:42px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	min-height:460px;
}
.about-lede__label{
	color:#9fc8f5;
	font-size:12px;
	font-weight:900;
	letter-spacing:.14em;
	margin-bottom:18px;
}
.about-lede__copy h3{
	font-size:clamp(30px,4vw,48px);
	line-height:1.28;
	margin-bottom:22px;
}
.about-lede__copy p:not(.about-lede__label){
	font-size:15px;
	line-height:2;
	color:#e6efff;
}
.about-lede__stats{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:14px;
	margin-top:30px;
	padding-top:22px;
	border-top:1px solid rgba(255,255,255,.22);
}
.about-lede__stats p{
	display:grid;
	gap:3px;
	line-height:1.2!important;
}
.about-lede__stats strong{
	color:var(--yellow);
	font-family:"Oswald",sans-serif;
	font-size:34px;
}
.about-lede__stats span{
	color:#d7e4ff;
	font-size:11px;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
}
.about-lede__photos{
	display:grid;
	grid-template-columns:1.1fr .9fr;
	grid-template-rows:1fr 1fr;
	gap:12px;
	min-height:460px;
}
.about-lede__photos img{
	width:100%;
	height:100%;
	object-fit:cover;
	background:var(--gray200);
}
.about-lede__photos img:first-child{
	grid-row:1 / -1;
}
.about-pillars{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	border-top:1px solid var(--ink);
	border-left:1px solid var(--ink);
}
.about-pillars article{
	position:relative;
	min-height:270px;
	padding:26px 24px 28px;
	border-right:1px solid var(--ink);
	border-bottom:1px solid var(--ink);
	background:#fff;
}
.about-pillars__index{
	color:rgba(31,31,31,.16);
	font-family:"Cinzel",serif;
	font-size:46px!important;
	font-weight:700;
	line-height:1!important;
	margin-bottom:16px;
}
.about-pillars__label{
	color:var(--fuji);
	font-size:12px!important;
	font-weight:900;
	letter-spacing:.08em;
	margin-bottom:10px;
}
.about-pillars h3{
	font-size:20px;
	line-height:1.45;
	margin-bottom:14px;
}
.about-pillars p:not(.about-pillars__index):not(.about-pillars__label){
	font-size:13px;
	line-height:1.9;
	color:var(--gray700);
}
.brochure-columns{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	border-left:1px solid var(--ink);
}
.brochure-textcol{
	position:relative;
	padding:0 22px 0 28px;
	border-right:1px solid var(--ink);
	min-height:230px;
}
.brochure-textcol h3{
	font-size:20px;
	line-height:1.45;
	margin-bottom:14px;
}
.brochure-textcol p{
	font-size:13px;
	line-height:1.85;
}
.brochure-side{
	position:absolute;
	left:8px;
	top:0;
	writing-mode:vertical-rl;
	font-size:12px!important;
	letter-spacing:.08em;
}
.mvv-paper{
	min-height:720px;
	background:
		linear-gradient(90deg,rgba(3,18,46,.9) 0%,rgba(7,54,96,.72) 44%,rgba(3,20,45,.22) 76%),
		url("../img/brochure-photos/mvv-fuji.jpg") center bottom/cover no-repeat;
	display:flex;
	align-items:center;
}
.mvv-paper__inner{
	width:100%;
	max-width:1180px;
	margin:0 auto;
	padding:72px 72px;
}
.mvv-paper .mvv__inner{
	display:grid;
	grid-template-columns:1fr;
	gap:22px;
	max-width:760px;
	padding:26px 30px;
	background:linear-gradient(90deg,rgba(3,17,42,.76),rgba(3,17,42,.42));
	border-left:5px solid rgba(255,255,255,.9);
	box-shadow:0 22px 60px rgba(0,0,0,.18);
}
.mvv-paper .mvv__block{
	display:grid;
	grid-template-columns:140px 1fr;
	align-items:start;
	gap:32px;
}
.mvv-paper .mvv__block .en{
	color:#d7ecff;
	font-size:20px;
	font-weight:700;
	text-shadow:0 2px 10px rgba(0,0,0,.45);
}
.mvv-paper .mvv__copy{
	font-size:30px;
	line-height:1.65;
	color:#fff;
	text-shadow:0 3px 16px rgba(0,0,0,.55);
}
.mvv-photo-strip{
	margin-top:42px;
	display:grid;
	grid-template-columns:1.1fr .9fr .9fr;
	gap:14px;
}
.mvv-photo-strip figure{
	position:relative;
	min-height:150px;
	overflow:hidden;
	background:#09264b;
	border:1px solid rgba(255,255,255,.28);
}
.mvv-photo-strip img{
	width:100%;
	height:100%;
	aspect-ratio:16/9;
	object-fit:cover;
	opacity:.86;
}
.mvv-photo-strip figcaption{
	position:absolute;
	left:14px;
	right:14px;
	bottom:12px;
	color:#fff;
	font-size:12px;
	font-weight:700;
	text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.program-paper{
	display:grid;
	grid-template-columns:1.1fr .9fr;
	gap:28px;
}
.program-feature,
.program-mini{
	background:#fff;
	border-radius:8px;
	overflow:hidden;
}
.program-feature{
	min-height:420px;
	padding:0 28px 28px;
}
.program-feature__photo{
	margin:0 -28px 24px;
	aspect-ratio:16/8;
	overflow:hidden;
	background:var(--gray200);
}
.program-feature__photo img,
.program-mini__photo{
	width:100%;
	height:100%;
	object-fit:contain;
	background:#f2f4f7;
}
.program-feature__thumbs{
	margin-top:24px;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:12px;
}
.program-feature__thumbs figure{
	display:grid;
	gap:8px;
}
.program-feature__thumbs img{
	width:100%;
	aspect-ratio:1;
	object-fit:cover;
	border-radius:50%;
}
.program-feature__thumbs figcaption{
	font-size:11px;
	line-height:1.35;
	text-align:center;
	font-weight:700;
}
.program-no{
	color:rgba(31,31,31,.22);
	font-size:28px;
	line-height:1;
	margin-bottom:16px;
}
.program-feature h3,
.program-mini h3{
	font-size:26px;
	line-height:1.3;
	margin-bottom:12px;
}
.program-feature h4{
	font-size:20px;
	line-height:1.75;
	margin-bottom:28px;
}
.program-feature p,
.program-mini p{
	font-size:14px;
	line-height:1.9;
}
.program-grid{
	display:grid;
	gap:22px;
}
.program-mini{
	display:grid;
	grid-template-columns:148px 1fr;
	gap:18px;
	align-items:start;
	padding:18px;
}
.program-mini__photo{
	aspect-ratio:4/3;
	border-radius:6px;
	grid-row:1 / span 3;
}
.program-mini .program-no{
	font-size:24px;
	margin-bottom:0;
}
.impact-paper{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:24px;
	margin-top:28px;
}
.impact-intro{
	display:grid;
	grid-template-columns:1fr .82fr;
	gap:28px;
	align-items:stretch;
	background:#fff;
	border:1px solid var(--ink);
	margin-bottom:26px;
}
.impact-intro > div{
	padding:34px;
}
.impact-intro__label{
	color:var(--fuji);
	font-size:12px;
	font-weight:900;
	letter-spacing:.12em;
	margin-bottom:12px;
}
.impact-intro h3{
	font-size:clamp(28px,4vw,44px);
	line-height:1.35;
	margin-bottom:16px;
}
.impact-intro p:not(.impact-intro__label){
	color:var(--gray700);
	font-size:15px;
	line-height:2;
}
.impact-intro img{
	width:100%;
	height:100%;
	min-height:320px;
	object-fit:cover;
}
.impact-panel{
	min-height:360px;
	position:relative;
	padding:28px 32px;
	border:1px solid var(--ink);
	background:#fff;
	overflow:hidden;
}
.impact-panel h3{
	color:#2d62ad;
	font-size:22px;
	margin-bottom:18px;
}
.impact-copy{
	position:relative;
	z-index:2;
	font-size:22px;
	line-height:1.35;
}
.impact-copy strong,
.impact-metrics strong{
	color:#d6381a;
	font-family:"Oswald",sans-serif;
	font-size:72px;
	line-height:1;
}
.impact-copy strong span,
.impact-metrics strong span{
	font-size:.48em;
	color:var(--ink);
}
.bar-chart{
	position:absolute;
	left:32px;
	right:32px;
	bottom:0;
	height:210px;
	display:flex;
	align-items:end;
	gap:12px;
	border-left:1px solid var(--ink);
	border-bottom:1px solid var(--ink);
	background:repeating-linear-gradient(to top, transparent 0 51px, rgba(31,31,31,.6) 52px);
}
.bar-chart span{
	flex:1;
	background:#d6381a;
	min-height:4px;
}
.bar-chart span:nth-child(1){background:#3e69b1}
.bar-chart span:nth-child(2){background:#23964a}
.bar-chart span:nth-child(3),
.bar-chart span:nth-child(4){background:#f09a18}
.impact-panel--wide{
	grid-column:1 / -1;
	min-height:auto;
	background:var(--navy);
	color:#fff;
	border-color:var(--navy);
}
.impact-panel--wide h3{color:#fff}
.impact-metrics{
	display:flex;
	gap:64px;
	flex-wrap:wrap;
	color:#fff;
	font-size:24px;
	font-weight:700;
}
.impact-panel--wide .impact-metrics strong{color:var(--yellow)}
.impact-panel--wide .impact-metrics strong span{color:#fff}
.report-paper{
	display:grid;
	grid-template-columns:1fr 1.6fr;
	gap:18px;
}
.report-main,
.report-grid article{
	background:#fff;
	border-radius:8px;
	padding:26px;
	overflow:hidden;
}
.report-main img{
	width:100%;
	aspect-ratio:16/9;
	object-fit:contain;
	background:#f2f4f7;
	margin-bottom:20px;
}
.report-main h3{
	font-size:40px;
	line-height:1;
	margin-bottom:16px;
}
.report-main h3 span{
	display:inline-block;
	font-family:"Noto Sans JP",sans-serif;
	font-size:14px;
	line-height:1.5;
	margin-left:12px;
}
.report-main p,
.report-grid p{
	font-size:13px;
	line-height:1.8;
}
.report-main__photos{
	margin-top:18px;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}
.report-main__photos img{
	aspect-ratio:4/3;
	margin:0;
}
.report-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:18px;
}
.report-card__photo{
	width:calc(100% + 52px);
	margin:-26px -26px 18px;
	aspect-ratio:16/9;
	object-fit:contain;
	background:#f2f4f7;
}
.report-grid h3{
	font-size:22px;
	margin-bottom:8px;
}
.interview-feature__grid{
	max-width:1180px;
	margin:0 auto;
	padding:0 32px;
	display:grid;
	grid-template-columns:.95fr 1.05fr;
	gap:42px;
	align-items:start;
}
.interview-feature__visual{
	position:relative;
	min-height:620px;
	overflow:hidden;
	background:var(--ink);
}
.interview-feature__visual img{
	width:100%;
	height:100%;
	min-height:620px;
	object-fit:cover;
	object-position:center top;
	opacity:.88;
}
.interview-feature__visual::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(0,0,0,.58),transparent 58%);
}
.interview-feature__visual p{
	position:absolute;
	left:34px;
	top:74px;
	z-index:2;
	color:#fff;
	font-size:clamp(28px,4vw,42px);
	font-weight:900;
	line-height:1.35;
	writing-mode:vertical-rl;
	letter-spacing:.04em;
}
.interview-feature__body{
	padding-top:10px;
}
.interview-profile{
	display:grid;
	grid-template-columns:150px 1fr;
	gap:24px;
	align-items:center;
	border:1px solid var(--ink);
	padding:22px;
	margin-bottom:32px;
}
.interview-profile img{
	width:150px;
	height:150px;
	object-fit:cover;
	object-position:center top;
	border-radius:50%;
}
.interview-profile__label{
	color:var(--fuji);
	font-size:12px;
	font-weight:900;
	letter-spacing:.08em;
	margin-bottom:6px;
}
.interview-profile h3{
	font-size:24px;
	line-height:1.45;
	margin-bottom:10px;
}
.interview-profile p:not(.interview-profile__label){
	font-size:13px;
	line-height:1.9;
	color:var(--gray700);
}
.interview-qa{
	display:grid;
	gap:26px;
}
.interview-qa article{
	border-top:1px solid var(--ink);
	padding-top:20px;
}
.interview-qa h3{
	position:relative;
	font-size:24px;
	line-height:1.45;
	padding-left:32px;
	margin-bottom:12px;
}
.interview-qa h3::before{
	content:"";
	position:absolute;
	left:0;
	top:.55em;
	width:14px;
	height:14px;
	border-radius:50%;
	background:var(--fuji);
	box-shadow:0 0 0 5px #fff, 0 0 0 6px var(--ink);
}
.interview-qa p{
	font-size:14px;
	line-height:2;
	color:var(--gray700);
}
.interview-feature--all .interview-feature__inner{
	max-width:1244px;
	margin:0 auto;
	padding:0 32px;
}
.interview-feature__members{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:16px;
	margin:32px 0 40px;
}
.interview-feature__member{
	display:grid;
	grid-template-columns:56px minmax(0,1fr);
	align-items:center;
	gap:12px;
	padding:12px 0;
	border-bottom:3px solid var(--gray200);
	color:var(--ink);
	text-decoration:none;
	letter-spacing:0;
}
.interview-feature__member:hover,
.interview-feature__member[aria-selected="true"]{
	border-color:var(--fuji);
	color:var(--fuji);
}
.interview-feature__member img{
	width:56px;
	height:56px;
	object-fit:cover;
	border-radius:50%;
}
.interview-feature__member strong,
.interview-feature__member small{
	display:block;
	letter-spacing:0;
}
.interview-feature__member strong{
	font-size:17px;
	line-height:1.5;
}
.interview-feature__member small{
	font-size:12px;
	line-height:1.6;
	color:var(--gray700);
	overflow-wrap:anywhere;
}
.interview-feature--all .interview-feature__grid{
	max-width:none;
	padding:0;
	grid-template-columns:1.1fr 1fr;
	align-items:center;
	gap:48px;
}
.interview-feature--all [hidden]{display:none!important}
.interview-feature--all .interview-feature__visual{
	margin:0;
	min-height:0;
	aspect-ratio:3/2;
	background:#f3f5f7;
}
.interview-feature--all .interview-feature__visual::after{display:none}
.interview-feature--all .interview-feature__visual img{
	display:block;
	width:100%;
	height:100%;
	min-height:0;
	object-fit:contain;
	opacity:1;
}
.interview-feature--all .interview-feature__body{
	min-width:0;
	min-height:400px;
	padding:0;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
}
.interview-feature--all .interview-profile__label{
	font-size:13px;
	line-height:1.7;
	letter-spacing:0;
	margin:0 0 12px;
	overflow-wrap:anywhere;
}
.interview-feature__body > h3{
	font-size:28px;
	line-height:1.5;
	letter-spacing:0;
	margin:0 0 20px;
}
.interview-feature__person{
	font-size:19px;
	font-weight:700;
	line-height:1.6;
	margin-bottom:20px;
}
.interview-feature__person span{
	display:block;
	font-size:13px;
	font-weight:400;
	color:var(--gray700);
}
.interview-feature__lead{
	font-size:15px;
	line-height:2;
	color:var(--gray700);
	margin:0 0 24px;
}
.interview-feature__article{
	margin-top:auto;
	letter-spacing:0;
}
.interview-feature__footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:20px;
	margin-top:32px;
	padding-top:24px;
	border-top:1px solid var(--gray200);
}
.interview-feature__controls{
	display:flex;
	align-items:center;
	gap:12px;
}
.interview-feature__controls button{
	display:grid;
	place-items:center;
	width:44px;
	height:44px;
	padding:0;
	border:1px solid var(--gray200);
	background:white;
	color:var(--ink);
	font-size:24px;
	cursor:pointer;
}
.interview-feature__controls button:hover{
	background:var(--fuji);
	color:white;
}
.interview-feature__counter{
	min-width:48px;
	text-align:center;
	font-size:14px;
	font-variant-numeric:tabular-nums;
}
.interview-feature__archive{
	font-size:14px;
	color:var(--fuji);
	text-underline-offset:4px;
}
@media(max-width:960px){
	.interview-feature__members{grid-template-columns:repeat(2,minmax(0,1fr))}
	.interview-feature--all .interview-feature__grid{gap:28px}
	.interview-feature__body > h3{font-size:24px}
}
@media(max-width:768px){
	.interview-feature--all .interview-feature__inner{padding:0 20px}
	.interview-feature__members{gap:8px 16px;margin:24px 0}
	.interview-feature__member{grid-template-columns:44px minmax(0,1fr);gap:8px}
	.interview-feature__member img{width:44px;height:44px}
	.interview-feature__member strong{font-size:15px}
	.interview-feature__member small{font-size:11px}
	.interview-feature--all .interview-feature__grid{grid-template-columns:minmax(0,1fr);gap:24px}
	.interview-feature--all .interview-feature__body{min-height:390px}
	.interview-feature__body > h3{font-size:23px}
	.interview-feature__footer{margin-top:24px}
}
.community-grid{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	border-top:1px solid var(--ink);
	border-left:1px solid var(--ink);
}
.community-card{
	display:flex;
	min-height:330px;
	border-right:1px solid var(--ink);
	border-bottom:1px solid var(--ink);
	background:#fff;
}
.community-card > div{
	display:grid;
	flex:1;
	grid-template-rows:20px 150px auto;
	row-gap:12px;
	justify-items:center;
	align-content:start;
	padding:24px 18px;
	text-align:center;
}
.community-card__label{
	color:var(--fuji);
	font-size:11px;
	font-weight:900;
	letter-spacing:.12em;
	margin:0;
}
.community-card h3{
	display:flex;
	align-items:center;
	justify-content:center;
	height:150px;
	font-size:26px;
	line-height:1.2;
	margin:0;
}
.forum-logo{
	display:block;
	width:100%;
	max-width:320px;
	aspect-ratio:2.2 / 1;
	overflow:hidden;
	background:#fff;
}
.forum-logo img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}
.community-card h3.forum-logo{
	width:100%;
	max-width:240px;
	height:150px;
	aspect-ratio:auto;
	margin:0;
}
.community-card h3.forum-logo img{
	object-fit:contain;
}
.community-card p:not(.community-card__label){
	margin:0;
	font-size:13px;
	line-height:1.85;
	color:var(--gray700);
}
.member-teaser{
	margin-top:32px;
	border-top:1px solid var(--ink);
	border-bottom:1px solid var(--ink);
	padding:22px 0;
}
.member-teaser .en{
	color:var(--red);
	font-weight:700;
	font-size:12px;
	margin-bottom:4px;
}
.member-teaser h3{
	font-size:20px;
	line-height:1.55;
	margin-bottom:12px;
}
.join-paper{
	color:#fff;
	background:
		linear-gradient(90deg,rgba(2,18,42,.96) 0%,rgba(4,59,101,.86) 56%,rgba(2,18,42,.74) 100%),
		url("../img/brochure-photos/about-meeting.jpg") center/cover no-repeat;
	padding:72px 0;
}
.join-paper__inner{
	max-width:1180px;
	margin:0 auto;
	padding:0 32px;
	display:grid;
	grid-template-columns:180px 1fr;
	gap:36px;
}
.join-paper__brand{
	display:flex;
	align-items:center;
	justify-content:center;
}
.join-paper__content{
	background:rgba(2,18,42,.52);
	border:1px solid rgba(255,255,255,.18);
	padding:30px;
	box-shadow:0 24px 64px rgba(0,0,0,.22);
}
.join-paper__logo{
	display:block;
	width:min(100%,150px);
	height:auto;
	filter:brightness(0) invert(1);
}
.join-paper__label{
	display:inline-block;
	background:#fff;
	color:var(--ink);
	padding:4px 16px;
	font-weight:700;
	margin-bottom:14px;
}
.join-paper h2{
	font-size:34px;
	line-height:1.45;
	margin-bottom:22px;
}
.join-paper h2 span{
	font-family:"Cinzel",serif;
	font-size:.8em;
	margin-left:24px;
}
.join-paper__rules{
	border-left:5px solid #fff;
	padding-left:24px;
	margin-bottom:32px;
}
.join-paper__rules h3{
	font-size:16px;
	margin:18px 0 8px;
}
.join-paper__rules ol{
	list-style:decimal;
	padding-left:22px;
}
.join-paper__rules li{
	font-size:15px;
	line-height:1.8;
}
.join-paper__fee{
	margin-top:16px;
	font-weight:700;
}
.join-paper__ways{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px;
}
.join-paper__ways article{
	border-left:1px solid rgba(255,255,255,.6);
	padding-left:18px;
}
.join-paper__ways h3{
	font-size:18px;
	margin-bottom:10px;
}
.join-paper__ways p,
.join-paper__ways a{
	font-size:13px;
	line-height:1.8;
	color:#fff;
}
.join-paper__ways a{
	display:inline-block;
	margin-top:12px;
	text-decoration:underline;
	font-weight:700;
}
@media (max-width:960px){
	.brochure-page{padding:0 16px}
	.brochure-heading--rule{display:block}
	.about-lede,
	.about-lede__photos,
	.about-pillars{
		grid-template-columns:1fr;
	}
	.about-lede{gap:16px}
	.about-lede__copy{padding:28px 22px;min-height:auto}
	.about-lede__stats{grid-template-columns:repeat(3,1fr)}
	.about-lede__stats strong{font-size:28px}
	.about-lede__photos{grid-template-rows:none;min-height:auto}
	.about-lede__photos img,
	.about-lede__photos img:first-child{grid-row:auto;aspect-ratio:16/10}
	.about-pillars{border-left:0}
	.about-pillars article{min-height:auto;border-left:1px solid var(--ink)}
	.about-paper{grid-template-columns:1fr}
	.about-paper__photo:not(.about-paper__photo--large){display:none}
	.brochure-columns,
	.program-paper,
	.impact-paper,
	.report-paper,
	.report-grid,
	.interview-feature__grid,
	.join-paper__inner,
	.join-paper__ways{
		grid-template-columns:1fr;
	}
	.brochure-columns{
		border-left:0;
		gap:14px;
	}
	.brochure-textcol{
		border:1px solid var(--gray200);
		padding:22px;
		min-height:auto;
	}
	.brochure-side{position:static;writing-mode:horizontal-tb;margin-bottom:8px}
	.mvv-paper{min-height:auto}
	.mvv-paper__inner{padding:54px 20px}
	.mvv-paper .mvv__block{grid-template-columns:1fr;gap:4px}
	.mvv-paper .mvv__copy{font-size:24px}
	.mvv-photo-strip{grid-template-columns:1fr;gap:12px}
	.mvv-photo-strip figure{min-height:auto}
	.program-feature{padding:0 18px 22px}
	.program-feature__photo{margin:0 -18px 20px}
	.program-mini{grid-template-columns:1fr;padding:18px}
	.program-mini__photo{grid-row:auto;aspect-ratio:16/9}
	.program-feature__thumbs{grid-template-columns:repeat(3,1fr)}
	.impact-intro{grid-template-columns:1fr}
	.impact-intro > div{padding:24px}
	.impact-intro img{min-height:auto;aspect-ratio:16/10}
	.impact-paper{gap:20px}
	.impact-panel{min-height:330px;padding:22px 0}
	.bar-chart{left:0;right:0}
	.report-main,
	.report-grid article{padding:18px}
	.report-card__photo{width:calc(100% + 36px);margin:-18px -18px 16px}
	.report-main__photos{grid-template-columns:1fr}
	.interview-feature__grid{padding:0 16px;gap:24px}
	.interview-feature__visual,
	.interview-feature__visual img{min-height:470px}
	.interview-profile{grid-template-columns:1fr;text-align:left}
	.interview-profile img{width:112px;height:112px}
	.interview-feature__visual p{left:22px;top:38px;font-size:30px}
	.community-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-left:0}
	.community-card{min-height:290px;border-left:1px solid var(--ink)}
	.join-paper{padding:54px 0}
	.join-paper__brand{padding-bottom:8px}
	.join-paper__logo{width:140px}
	.join-paper h2{font-size:26px}
	.join-paper h2 span{display:block;margin:8px 0 0}
}

/* ---------- 11. v0.5.0: 下層ページ/UXブラッシュアップ ---------- */
.page,
.entry{
	max-width:none;
	padding:0;
}
.page__body--generic,
.entry__body{
	max-width:860px;
	margin:44px auto 88px;
	padding:0 32px;
}
.subhero{
	max-width:1180px;
	margin:0 auto;
	padding:170px 32px 64px;
	border-bottom:1px solid var(--ink);
}
.breadcrumbs + .page .subhero,
.breadcrumbs + .archive .subhero,
.breadcrumbs + .entry .entry-hero{
	padding-top:46px;
}
.subhero .en{
	font-size:clamp(44px,7vw,78px);
	line-height:.9;
	font-weight:700;
	color:var(--ink);
}
.subhero h1{
	font-size:clamp(28px,4vw,48px);
	line-height:1.25;
	margin-top:14px;
}
.subhero p:not(.en){
	max-width:720px;
	margin-top:18px;
	color:var(--gray700);
	font-size:16px;
}
.subsection{
	max-width:1180px;
	margin:0 auto;
	padding:72px 32px;
}
.subsection--split{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:64px;
	align-items:center;
}
.subsection__eyebrow{
	color:var(--fuji);
	font-size:13px;
	font-weight:700;
	margin-bottom:12px;
}
.subsection h2{
	font-size:clamp(28px,4vw,44px);
	line-height:1.35;
	margin-bottom:18px;
}
.subsection p{
	font-size:15px;
	line-height:2;
	color:var(--gray700);
}
.subsection--narrow{
	max-width:860px;
}
.subsection--dark{
	background:var(--navy);
	color:#fff;
	max-width:none;
	padding:88px max(32px,calc((100vw - 1180px)/2 + 32px));
}
.subsection--dark p{color:#d9e4ff}
.photo-stack{
	display:grid;
	grid-template-columns:1fr .72fr;
	gap:18px;
	align-items:end;
}
.photo-stack img{
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
	box-shadow:0 18px 42px rgba(0,0,0,.16);
}
.photo-stack img:nth-child(2){
	margin-bottom:-32px;
}
.value-grid,
.impact-board,
.join-steps{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px;
}
.value-grid article,
.join-steps article{
	background:#fff;
	border:1px solid var(--gray200);
	border-top:4px solid var(--ink);
	padding:28px;
}
.value-grid span,
.join-steps span{
	display:inline-block;
	font-family:"Cinzel",serif;
	color:var(--red);
	font-weight:700;
	margin-bottom:12px;
}
.value-grid h3,
.join-steps h3{
	font-size:22px;
	margin-bottom:10px;
}
.join-entry-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.about-page-heading{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:24px;
	padding-bottom:22px;
	border-bottom:1px solid var(--ink);
}
.about-page-heading h2{margin:0}
.about-origin{padding-top:40px}
.about-origin__grid{
	display:grid;
	grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);
	gap:72px;
	padding-top:48px;
}
.about-origin__lead{
	font-family:"Noto Serif JP",serif;
	font-size:clamp(25px,3vw,38px) !important;
	line-height:1.65 !important;
	color:var(--ink) !important;
}
.about-origin__copy{
	display:grid;
	gap:18px;
}
.about-mvv{
	max-width:none;
	background:var(--navy);
	color:#fff;
	padding:78px max(32px,calc((100vw - 1180px)/2 + 32px));
}
.about-mvv__inner{
	max-width:1116px;
	margin:0 auto;
	display:grid;
	grid-template-columns:1.15fr 1fr 1.2fr;
	border-top:1px solid rgba(255,255,255,.35);
	border-bottom:1px solid rgba(255,255,255,.35);
}
.about-mvv article{
	padding:34px 24px 38px;
	border-right:1px solid rgba(255,255,255,.25);
}
.about-mvv article:last-child{border-right:0}
.about-mvv article>p{
	color:#8eb8ff;
	font-size:12px;
	font-weight:800;
	letter-spacing:.12em;
	margin-bottom:18px;
}
.about-mvv h2{
	font-size:clamp(23px,2.5vw,34px);
	line-height:1.5;
}
.about-mvv article:first-child h2{
	font-size:clamp(21px,2vw,25px);
	white-space:nowrap;
}
.about-mvv ul{
	list-style:none;
	display:grid;
	gap:11px;
}
.about-mvv li{
	display:grid;
	grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
	gap:12px;
	font-size:13px;
}
.about-mvv li strong{
	font-family:"Cinzel",serif;
	font-size:12px;
}
.about-mvv li span{color:#d9e4ff}
.about-network{
	display:grid;
	grid-template-columns:.72fr 1.28fr;
	gap:72px;
	align-items:start;
}
.about-network h2{margin:0}
.about-network__copy{
	display:grid;
	gap:18px;
	padding-top:6px;
}
.about-programs{padding-top:48px}
.about-programs__grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
	padding-top:34px;
}
.about-programs__grid a{
	display:block;
	min-height:240px;
	padding:26px 24px;
	background:#fff;
	border:1px solid var(--gray200);
	border-top:4px solid var(--fuji);
	transition:transform .2s,box-shadow .2s,border-color .2s;
}
.about-programs__grid a:hover{
	transform:translateY(-4px);
	box-shadow:0 16px 34px rgba(14,27,61,.1);
	border-color:rgba(14,27,61,.38);
}
.about-programs__grid span{
	display:block;
	font-family:"Cinzel",serif;
	color:var(--red);
	font-weight:700;
	margin-bottom:28px;
}
.about-programs__grid h3{
	font-size:22px;
	margin-bottom:12px;
}
.about-programs__grid p{
	font-size:13px;
	line-height:1.85;
}
.about-message{
	display:grid;
	grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
	gap:72px;
	align-items:start;
	padding-top:88px;
	padding-bottom:108px;
}
.about-message figure{
	position:sticky;
	top:110px;
	background:var(--gray100);
}
.about-message figure img{
	display:block;
	width:100%;
	aspect-ratio:4/5;
	object-fit:cover;
	object-position:center top;
}
.about-message__copy{padding-top:12px}
.about-message__copy h2{
	font-size:clamp(30px,4vw,48px);
	margin-bottom:28px;
}
.about-message__copy>p:not(.subsection__eyebrow){margin-top:17px}
.about-message__sign{
	padding-top:22px;
	border-top:1px solid var(--gray200);
}
.about-message__sign strong{
	font-size:17px;
	color:var(--ink);
}
.about-profile{
	padding-top:36px;
	padding-bottom:112px;
}
.about-profile__table-wrap{
	padding-top:34px;
}
.about-profile table{
	width:100%;
	border-collapse:collapse;
	border-top:1px solid var(--ink);
}
.about-profile th,
.about-profile td{
	padding:26px 20px;
	border-bottom:1px solid var(--gray200);
	text-align:left;
	vertical-align:top;
}
.about-profile th{
	width:190px;
	font-size:13px;
	color:var(--fuji);
	letter-spacing:.05em;
}
.about-profile td{
	font-size:15px;
	line-height:1.9;
}
.about-profile__dates p{
	display:grid;
	grid-template-columns:150px 1fr;
	gap:20px;
	font-size:15px;
	line-height:1.7;
}
.about-profile__dates p+p{margin-top:8px}
.about-profile__dates span{
	color:var(--gray700);
}
.about-profile__board{
	list-style:none;
	display:grid;
	gap:0;
}
.about-profile__board li{
	dis:grid;
	grid-template-columns:110px minmax(0,1fr);
	gap:24px;
	padding:0 0 18px;
	margin-bottom:18px;
	border-bottom:1px solid var(--gray200);
}
.about-profile__board li:last-child{
	padding-bottom:0;
	margin-bottom:0;
	border-bottom:0;
}
.about-profile__board li>span{
	color:var(--gray700);
	font-size:13px;
}
.about-profile__board strong{
	display:block;
	font-size:17px;
	line-height:1.4;
}
.about-profile__board p{
	font-size:13px;
	line-height:1.7;
	margin-top:5px;
}
.program-timeline{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:22px;
}
.program-timeline article{
	background:var(--sand);
	padding:34px;
	border-radius:8px;
	border-left:5px solid #fff;
}
.program-timeline .en{
	color:#fff;
	font-size:26px;
	font-weight:700;
	margin-bottom:22px;
}
.program-timeline h2{
	font-size:30px;
	margin-bottom:4px;
}
.program-timeline h3{
	color:var(--gray700);
	font-size:13px;
	letter-spacing:.08em;
	text-transform:uppercase;
	margin-bottom:16px;
}
.program-page-intro{
	padding-bottom:54px;
}
.program-page-guide{
	margin-top:36px;
	padding-top:24px;
	border-top:1px solid var(--gray200);
}
.program-page-guide__title{
	margin:0 0 14px;
	color:var(--navy);
	font-size:13px;
	font-weight:800;
	letter-spacing:.08em;
}
.program-page-guide__links{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px;
}
.program-page-guide__links a{
	display:flex;
	flex-direction:column;
	gap:5px;
	padding:15px 16px;
	border:1px solid var(--gray200);
	background:#fff;
	color:var(--navy);
	text-decoration:none;
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.program-page-guide__links a:hover{
	transform:translateY(-2px);
	border-color:var(--fuji);
	box-shadow:0 8px 18px rgba(14,27,61,.08);
}
.program-page-guide__links strong{
	font-size:11px;
	letter-spacing:.08em;
	color:var(--fuji);
}
.program-page-guide__links span{
	font-size:14px;
	font-weight:700;
}
.program-detail-list{
	max-width:1180px;
	margin:0 auto;
	padding:0 32px 96px;
}
.program-detail{
	display:grid;
	grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
	align-items:center;
	gap:64px;
	padding:64px 0;
	border-top:1px solid var(--gray200);
	scroll-margin-top:120px;
}
.program-detail:nth-child(even) .program-detail__visual{
	order:2;
}
.program-detail__visual{
	margin:0;
}
.program-detail__visual img{
	display:block;
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
	box-shadow:0 20px 48px rgba(14,27,61,.14);
}
.program-detail__number{
	margin:0 0 12px;
	color:var(--red);
	font-size:12px;
	font-weight:800;
	letter-spacing:.12em;
}
.program-detail__content h2{
	margin:0;
	font-size:clamp(34px,4vw,52px);
	line-height:1.25;
}
.program-detail__en{
	margin:4px 0 22px;
	color:var(--fuji);
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.program-detail__content h3{
	margin:0 0 16px;
	font-size:20px;
	line-height:1.55;
}
.program-detail__content>p:not(.program-detail__number):not(.program-detail__en){
	color:var(--gray700);
	font-size:15px;
	line-height:2;
}
.program-detail__content ul{
	display:grid;
	gap:9px;
	margin-top:22px;
	padding-top:20px;
	border-top:1px solid var(--gray200);
}
.program-detail__content li{
	position:relative;
	padding-left:19px;
	font-size:14px;
	font-weight:700;
	line-height:1.6;
}
.program-detail__content li::before{
	content:"";
	position:absolute;
	left:0;
	top:.62em;
	width:7px;
	height:7px;
	background:var(--red);
}
.impact-board{
	grid-template-columns:repeat(4,1fr);
}
.impact-board article{
	border-top:1px solid var(--ink);
	border-bottom:1px solid var(--ink);
	padding:28px 12px;
	text-align:center;
}
.impact-board h2{
	font-family:"Oswald",sans-serif;
	color:var(--red);
	font-size:72px;
	line-height:1;
	margin:0 0 10px;
}
.impact-board h2 span{font-size:.42em;color:var(--ink)}
.contact-panel{
	display:grid;
	grid-template-columns:.8fr 1.2fr;
	gap:42px;
}
.contact-cards{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:16px;
}
.contact-cards a{
	display:flex;
	flex-direction:column;
	gap:12px;
	min-height:150px;
	padding:24px;
	background:var(--gray100);
	border-top:4px solid var(--navy);
	justify-content:end;
	font-weight:700;
}
.contact-cards .en{
	color:var(--red);
	font-size:13px;
}
.sib-contact-form{
	max-width:920px;
	margin:72px auto 0;
	padding:42px;
	background:var(--gray100);
	border-top:5px solid var(--red);
}
.sib-contact-form__intro{max-width:680px;margin-bottom:28px}
.sib-contact-form__intro h2{margin:0 0 12px;font-size:clamp(28px,3vw,42px)}
.sib-contact-form__intro p:last-child{margin:0;color:var(--gray700)}
.sib-contact-form__fields{display:grid;gap:20px}
.sib-contact-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sib-contact-form__field{display:grid;gap:8px}
.sib-contact-form__field span{font-weight:700}
.sib-contact-form__field b,.sib-contact-form__consent b{color:var(--red)}
.sib-contact-form__field input,.sib-contact-form__field select,.sib-contact-form__field textarea{
	width:100%;border:1px solid var(--gray200);border-radius:0;background:#fff;padding:13px 14px;color:var(--ink);font:inherit;
}
.sib-contact-form__field textarea{resize:vertical;min-height:150px}
.sib-contact-form__field input:focus,.sib-contact-form__field select:focus,.sib-contact-form__field textarea:focus{outline:3px solid rgba(201,71,50,.22);border-color:var(--red)}
.sib-contact-form__consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--gray700)}
.sib-contact-form__consent input{margin-top:4px;accent-color:var(--red)}
.sib-contact-form__notice{margin:0;padding:14px 16px;border-left:4px solid var(--red);background:#fff}
.sib-contact-form__notice--success{border-left-color:#27704a}
.sib-contact-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.archive{
	max-width:1180px;
	padding:0 32px 88px;
}
.archive-toolbar{
	max-width:1180px;
	margin:28px auto 34px;
	padding:18px 0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	border-bottom:1px solid var(--gray200);
}
.archive-toolbar p{color:var(--gray700)}
.event-grid,
.interview-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
}
.archive--interview .interview-grid{
	grid-template-columns:repeat(4,minmax(0,1fr));
}
.event-card,
.interview-card,
.empty-state{
	background:#fff;
	border:1px solid var(--gray200);
	transition:transform .2s, box-shadow .2s, border-color .2s;
}
.event-card:hover,
.interview-card:hover{
	transform:translateY(-4px);
	box-shadow:0 18px 38px rgba(0,0,0,.1);
	border-color:rgba(31,31,31,.35);
}
.event-card__media{
	position:relative;
	aspect-ratio:16/10;
	background:linear-gradient(135deg,var(--navy),var(--fuji));
	overflow:hidden;
}
.event-card__media img,
.interview-card figure img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.event-card__media img{
	object-fit:contain;
}
.event-card__date{
	position:absolute;
	left:18px;
	bottom:14px;
	color:#fff;
	font-size:28px;
	text-shadow:0 2px 10px rgba(0,0,0,.3);
}
.event-card__body,
.interview-card div{
	padding:24px;
}
.event-card h2,
.event-card h3,
.interview-card h2{
	font-size:22px;
	line-height:1.45;
	margin-bottom:14px;
}
.event-card__meta,
.interview-card .excerpt{
	font-size:13px;
	color:var(--gray700);
	line-height:1.75;
}
.interview-card__person{
	color:var(--fuji);
	font-size:12px;
	font-weight:900;
	letter-spacing:.04em;
	margin:-4px 0 10px;
}
.interview-feature__more{
	margin-top:28px;
}
.event-card__more{
	margin-top:18px;
	color:var(--red);
	font-weight:700;
	font-size:13px;
}
.feed-card__label{
	color:var(--fuji);
	font-size:11px;
	font-weight:900;
	letter-spacing:.08em;
	margin-bottom:8px;
}

.news{
	background:#f5f7fa;
	padding:16px 0 96px;
}
.news__list,
.news-archive__list{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:20px;
}
.news__list{
	max-width:var(--maxw);
	margin:0 auto;
	padding:0 32px;
}
.news-archive__list{
	grid-template-columns:repeat(3,minmax(0,1fr));
}
.news-card{
	background:#fff;
	border:1px solid #d9dee6;
	min-width:0;
	transition:transform .2s,box-shadow .2s,border-color .2s;
}
.news-card:hover{
	transform:translateY(-4px);
	box-shadow:0 18px 38px rgba(14,27,61,.1);
	border-color:rgba(14,27,61,.34);
}
.news-card a{
	display:grid;
	grid-template-rows:auto 1fr;
	height:100%;
}
.news-card__media{
	aspect-ratio:16/10;
	overflow:hidden;
	background:var(--gray100);
}
.news-card__media img{
	width:100%;
	height:100%;
	object-fit:contain;
}
.news-card__body{
	display:flex;
	flex-direction:column;
	padding:20px;
}
.news-card__meta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-bottom:12px;
	font-size:11px;
	color:var(--gray700);
}
.news-card__meta span{
	color:var(--red);
	font-weight:900;
	letter-spacing:.08em;
}
.news-card h2,
.news-card h3{
	font-size:17px;
	line-height:1.65;
	margin:0;
}
.news-card__excerpt{
	font-size:13px;
	line-height:1.8;
	color:var(--gray700);
	margin-top:14px;
}
.news-card__more{
	margin-top:auto;
	padding-top:18px;
	color:var(--fuji);
	font-size:12px;
	font-weight:700;
}
.news__more{
	text-align:center;
	margin-top:32px;
}
.interview-card a{
	display:grid;
	grid-template-rows:auto 1fr;
	height:100%;
}
.interview-card figure{
	aspect-ratio:4/3;
	background:var(--gray100);
	overflow:hidden;
}
.interview-card--static figure img{
	object-position:center top;
}
.interview-card--landscape figure{
	aspect-ratio:3/2;
}
.interview-card--landscape figure img{
	object-fit:contain;
}
.interview-static-list{
	margin-top:54px;
	display:grid;
	gap:46px;
}
.interview-static{
	display:grid;
	grid-template-columns:.72fr 1.28fr;
	gap:42px;
	padding:42px 0;
	border-top:1px solid var(--ink);
}
.interview-static header{
	position:sticky;
	top:104px;
	align-self:start;
}
.interview-static header .en{
	color:var(--red);
	font-size:13px;
	font-weight:700;
	margin-bottom:10px;
}
.interview-static h2{
	font-size:clamp(28px,4vw,46px);
	line-height:1.25;
	margin-bottom:16px;
}
.interview-static header p:not(.en){
	color:var(--fuji);
	font-weight:900;
	line-height:1.65;
}
.interview-static__lead{
	grid-column:1 / -1;
	max-width:780px;
	font-size:18px;
	line-height:2;
	font-weight:700;
	color:var(--ink);
}
.interview-static__body{
	display:grid;
	gap:26px;
}
.interview-static__body section{
	padding-top:24px;
	border-top:1px solid var(--gray200);
}
.interview-static__body h3{
	font-size:24px;
	line-height:1.45;
	margin-bottom:10px;
}
.interview-static__body p{
	font-size:15px;
	line-height:2;
	color:var(--gray700);
}
.static-interview{
	background:#fff;
}
.static-interview__hero{
	display:grid;
	grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
	align-items:center;
	gap:64px;
	max-width:1180px;
	margin:0 auto;
	padding:150px 32px 84px;
}
.static-interview__hero figure{
	margin:0;
	aspect-ratio:4/5;
	overflow:hidden;
	background:var(--gray100);
	box-shadow:0 22px 52px rgba(14,27,61,.16);
}
.static-interview__hero figure img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.static-interview--landscape .static-interview__hero{
	grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
}
.static-interview--landscape .static-interview__hero figure{
	aspect-ratio:3/2;
}
.static-interview--landscape .static-interview__hero figure img{
	object-fit:contain;
}
.static-interview__intro>.en{
	margin-bottom:18px;
	color:var(--red);
	font-size:12px;
	font-weight:800;
	letter-spacing:.14em;
}
.static-interview__intro h1{
	font-size:clamp(36px,4.5vw,62px);
	line-height:1.25;
	letter-spacing:0;
}
.static-interview__company{
	margin:30px 0 6px;
	color:var(--fuji);
	font-size:14px;
	font-weight:900;
}
.static-interview__intro h2{
	font-size:22px;
	line-height:1.5;
}
.static-interview__lead{
	margin-top:28px;
	padding-top:24px;
	border-top:1px solid var(--gray200);
	color:var(--gray700);
	font-size:16px;
	font-weight:700;
	line-height:2;
}
.static-interview__body{
	max-width:1040px;
	margin:0 auto;
	padding:20px 32px 90px;
}
.static-interview__section{
	display:grid;
	grid-template-columns:110px minmax(0,1fr);
	gap:40px;
	padding:54px 0;
	border-top:1px solid var(--gray200);
}
.static-interview__number{
	color:var(--red);
	font-size:52px;
	font-weight:700;
	line-height:1;
}
.static-interview__section h2{
	font-size:clamp(26px,3vw,38px);
	line-height:1.4;
	letter-spacing:0;
}
.static-interview__section div>p{
	margin-top:18px;
	color:var(--gray700);
	font-size:16px;
	line-height:2.15;
}
.static-interview__section div>p+p{
	margin-top:1.15em;
}
.static-interview__foot{
	dis:flex;
	justify-content:center;
	padding:0 20px 96px;
}
.empty-state{
	grid-column:1 / -1;
	padding:52px;
	text-align:center;
}
.empty-state .en{
	color:var(--red);
	font-size:14px;
	margin-bottom:8px;
}
.forum__head{
	display:flex;
	align-items:end;
	justify-content:space-between;
	border-bottom:1px solid var(--ink);
	margin:48px 0 22px;
	padding-bottom:8px;
}
.forum__head h2{
	font-family:"Cinzel",serif;
	font-size:32px;
	line-height:1;
}
.forum__head p{
	color:var(--gray500);
	font-size:13px;
}
.forum__head--logo{
	align-items:center;
	gap:20px;
}
.forum__head--logo .forum-logo{
	flex:0 1 320px;
	min-width:0;
	margin:0;
}
.forum__head--logo > p{
	flex:none;
}
.member__item{
	border:1px solid var(--gray200);
	background:#fff;
	transition:transform .2s, box-shadow .2s;
}
.member__item--static{
	min-height:174px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.member__item:hover{
	transform:translateY(-3px);
	box-shadow:0 14px 28px rgba(0,0,0,.08);
}
.member__item a{
	display:block;
	color:inherit;
}
.entry-hero{
	max-width:1180px;
	margin:0 auto;
	padding:170px 32px 56px;
	display:grid;
	grid-template-columns:1fr .86fr;
	gap:46px;
	align-items:end;
	border-bottom:1px solid var(--ink);
}
.entry-hero .en{
	color:var(--red);
	font-size:14px;
	font-weight:700;
	margin-bottom:12px;
}
.entry-hero h1{
	font-size:clamp(30px,5vw,56px);
	line-height:1.25;
}
.entry-hero figure{
	margin:0;
	background:var(--gray100);
}
.entry-hero figure img{
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
}
.entry-hero--member .entry__avatar img{
	object-position:center top;
}
.entry-hero__meta{
	margin-top:24px;
	display:grid;
	grid-template-columns:90px 1fr;
	gap:8px 18px;
}
.entry-hero__meta dt{
	font-family:"Cinzel",serif;
	font-weight:700;
	color:var(--fuji);
}
.speaker-box,
.profile-panel{
	max-width:860px;
	margin:40px auto 0;
	padding:28px;
	background:var(--cream);
	border-left:5px solid var(--red);
}
.speaker-box h2{font-size:20px;margin-bottom:8px}
.entry__foot{
	display:flex;
	gap:12px;
	justify-content:center;
	flex-wrap:wrap;
}
@media (max-width:960px){
	.subhero{padding:130px 18px 42px}
	.subsection,
	.archive{padding-left:18px;padding-right:18px}
	.subsection--split,
	.value-grid,
	.about-origin__grid,
	.about-network,
	.about-programs__grid,
	.about-message,
	.about-mvv__inner,
	.program-timeline,
	.program-detail,
	.impact-board,
	.contact-panel,
	.contact-cards,
		.event-grid,
		.interview-grid,
		.entry-hero{
		grid-template-columns:1fr;
	}
	.sib-contact-form{margin-top:48px;padding:28px 18px}
	.sib-contact-form__grid{grid-template-columns:1fr}
	.about-origin__grid,
	.about-network,
	.about-message{
		gap:34px;
	}
	.about-mvv{
		padding:54px 18px;
	}
	.about-mvv article{
		border-right:0;
		border-bottom:1px solid rgba(255,255,255,.25);
	}
	.about-mvv article:last-child{border-bottom:0}
	.about-programs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.about-message figure{
		position:static;
		max-width:420px;
	}
	.program-detail-list{
		padding:0 18px 64px;
	}
	.program-page-guide__links{
		grid-template-columns:1fr;
	}
	.program-detail{
		gap:28px;
		padding:44px 0;
	}
	.program-detail:nth-child(even) .program-detail__visual{
		order:0;
	}
	.program-detail__content h2{
		font-size:36px;
	}
	.program-detail__content h3{
		font-size:18px;
	}
	.archive-toolbar{display:block}
	.archive-toolbar .btn{margin-top:16px}
	.photo-stack{grid-template-columns:1fr}
	.photo-stack img:nth-child(2){display:none}
	.entry-hero{padding:130px 18px 42px}
	.event-grid,
	.news__list,
	.news-archive__list,
	.interview-grid{gap:16px}
	.archive--interview .interview-grid{
		grid-template-columns:1fr;
	}
	.static-interview__hero,
	.static-interview--landscape .static-interview__hero{
		grid-template-columns:1fr;
		gap:32px;
		padding:100px 18px 54px;
	}
	.static-interview__hero figure{
		aspect-ratio:4/3;
	}
	.static-interview__intro h1{
		font-size:36px;
	}
	.static-interview__body{
		padding:0 18px 60px;
	}
	.static-interview__section{
		grid-template-columns:1fr;
		gap:16px;
		padding:38px 0;
	}
	.static-interview__number{
		font-size:34px;
	}
	.static-interview__section h2{
		font-size:26px;
	}
	.news__list,
	.news-archive__list{
		grid-template-columns:1fr;
	}
	.news__list{padding:0 18px}
	.interview-static{
		grid-template-columns:1fr;
		gap:18px;
		padding:34px 0;
	}
	.interview-static header{position:static}
	.interview-static__lead{font-size:16px}
	.impact-board h2{font-size:56px}
}

@media (max-width:640px){
	html,
	body{
		overflow-x:hidden;
	}
	.about-page-heading{
		display:block;
	}
	.about-origin__grid{
		padding-top:32px;
	}
	.about-origin__lead br{display:none}
	.about-programs__grid{
		grid-template-columns:1fr;
	}
	.about-programs__grid a{
		min-height:0;
	}
	.about-mvv article{
		padding:28px 18px 30px;
	}
	.about-mvv li{
		grid-template-columns:1fr;
		gap:2px;
	}
	.about-message{
		padding-top:58px;
		padding-bottom:76px;
	}
	.about-profile{
		padding-top:20px;
		padding-bottom:82px;
	}
	.about-profile table,
	.about-profile tbody,
	.about-profile tr,
	.about-profile th,
	.about-profile td{
		display:block;
		width:100%;
	}
	.about-profile tr{
		padding:20px 0;
		border-bottom:1px solid var(--gray200);
	}
	.about-profile th,
	.about-profile td{
		padding:0;
		border-bottom:0;
	}
	.about-profile th{margin-bottom:8px}
	.about-profile__dates p{
		grid-template-columns:1fr;
		gap:1px;
	}
	.about-profile__board li{
		grid-template-columns:72px minmax(0,1fr);
		gap:14px;
	}
	img,
	video{
		max-width:100%;
	}
	.notice{
		padding:8px 14px;
		font-size:11px;
		white-space:nowrap;
		overflow:hidden;
		text-overflow:ellipsis;
	}
	.header__inner{
		min-height:58px;
		padding:10px 16px;
	}
	.logo__image{
		width:136px;
	}
	.gnav{
		top:58px;
		width:86%;
		height:calc(100svh - 58px);
		padding:72px 24px 32px;
		box-shadow:-18px 0 40px rgba(0,0,0,.12);
	}
	.notice ~ .header + .site-main .gnav,
	.notice ~ .header .gnav{
		top:96px;
		height:calc(100svh - 96px);
	}
	.hero.hero--brochure.hero--clean{
		min-height:94svh;
	}
	.hero__ink-photo{
		inset:58px -28vw 34% 22%;
		background-size:150vw auto;
		background-position:right top;
		opacity:.42;
	}
	.hero__ink-photo::before,
	.hero__ink-photo::after{
		display:none;
	}
	.hero__copy{
		left:18px;
		right:18px;
		bottom:190px;
		max-width:calc(100vw - 36px);
		text-shadow:0 2px 16px rgba(255,255,255,.86);
	}
	.hero__copy .en{
		font-size:11px;
		letter-spacing:.14em;
		margin-bottom:8px;
	}
	.hero__copy h2{
		font-size:clamp(38px,12vw,48px);
		line-height:1.12;
		margin-bottom:12px;
	}
	.hero__copy h2 span:last-child{
		font-size:clamp(19px,5.2vw,22px);
		line-height:1.2;
		letter-spacing:0;
	}
	.hero__copy p:not(.en){
		font-size:13px;
		line-height:1.75;
		max-width:22em;
	}
	.hero__actions{
		left:18px;
		right:18px;
		bottom:24px;
		display:grid;
		grid-template-columns:1fr;
		gap:10px;
	}
	.hero__actions .btn{
		width:100%;
		padding:15px 18px;
		font-size:13px;
		text-align:center;
		min-height:52px;
	}
	.btn{
		border-radius:6px;
	}
	.brochure-section{
		padding:46px 0;
	}
	.section__head{
		padding:48px 18px 28px;
	}
	.section__head .en,
	.brochure-heading .en{
		font-size:32px;
	}
	.section__head h1,
	.section__head h2{
		font-size:20px;
		line-height:1.45;
	}
	.brochure-page{
		padding:0 18px;
	}
	.brochure-heading{
		margin-bottom:20px;
	}
	.about-lede__copy{
		padding:26px 20px;
	}
	.about-lede__copy h3{
		font-size:25px;
	}
	.about-lede__stats{
		grid-template-columns:1fr;
		gap:10px;
	}
	.about-lede__stats p{
		display:flex;
		align-items:baseline;
		justify-content:space-between;
		padding:10px 0;
		border-top:1px solid rgba(255,255,255,.24);
	}
	.about-lede__photos img,
	.about-lede__photos img:first-child,
	.program-feature__photo img,
	.report-main__photos img,
	.impact-intro img{
		aspect-ratio:4/3;
	}
	.about-pillars article,
	.brochure-textcol,
	.program-mini,
	.report-main,
	.report-grid article,
	.community-card,
	.join-paper__ways article{
		border-radius:6px;
	}
	.mvv-paper__inner{
		padding:46px 18px;
	}
	.mvv-paper .mvv__copy{
		font-size:22px;
	}
	.program-feature{
		padding:0 18px 24px;
	}
	.program-feature h3{
		font-size:34px;
	}
	.program-feature h4,
	.program-mini h3,
	.report-main h3,
	.report-grid h3,
	.community-card h3{
		line-height:1.45;
	}
	.program-feature__thumbs{
		grid-template-columns:1fr;
	}
	.program-feature__thumbs img{
		aspect-ratio:16/9;
	}
	.report-main,
	.report-grid article,
	.impact-intro > div{
		padding:20px;
	}
	.impact-panel{
		min-height:280px;
	}
	.interview-feature__visual,
	.interview-feature__visual img{
		min-height:340px;
	}
	.interview-feature__visual p{
		left:18px;
		top:26px;
		font-size:24px;
	}
	.community-grid{
		grid-template-columns:1fr;
	}
	.community-card{
		min-height:0;
	}
	.join-paper{
		padding:46px 0;
	}
	.join-paper__content{
		padding:26px 20px;
	}
	.join-paper h2{
		font-size:24px;
		line-height:1.35;
	}
	.join-paper__ways article,
	.brochure-textcol,
	.about-pillars article{
		padding:20px;
	}
	.footer__inner{
		padding:52px 18px 250px;
	}
	.footer__logo-image{
		width:200px;
	}
	.footer__nav ul{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.footer__art{
		bottom:-50px;
		width:min(92vw,600px);
	}
}

@media (max-width:390px){
	.footer__copy{
		padding:18px 70px 18px 20px;
		text-align:left;
	}
	.footer__inner{
		padding:46px 20px 210px;
	}
	.footer__nav ul{
		gap:8px 14px;
	}
	.footer__art{
		bottom:-32px;
		width:470px;
		max-width:none;
	}
	.logo__image{
		width:126px;
	}
	.hero__copy{
		bottom:182px;
	}
	.hero__copy h2{
		font-size:clamp(34px,11vw,42px);
	}
	.hero__copy h2 span:last-child{
		font-size:18px;
	}
	.hero__copy p:not(.en){
		font-size:12px;
	}
	.hero__ink-photo{
		inset:60px -42vw 36% 18%;
		background-size:168vw auto;
		opacity:.38;
	}
	.hero__actions{
		bottom:18px;
	}
	.section__head .en,
	.brochure-heading .en{
		font-size:29px;
	}
	.about-lede__copy h3,
	.join-paper h2{
		font-size:22px;
	}
	.program-feature h3{
		font-size:30px;
	}
}

/* ========== member single: external links ========== */
.entry__links {
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.entry__links .btn--link {
	display: inline-flex;
	align-items: baseline;
	gap: 12px;
	padding: 14px 20px;
	border: 1px solid currentColor;
	border-radius: 999px;
	text-decoration: none;
	transition: background .15s, color .15s;
}
.entry__links .btn--link:hover {
	background: currentColor;
}
.entry__links .btn--link:hover .entry__link-label,
.entry__links .btn--link:hover .entry__link-host,
.entry__links .btn--link:hover .entry__link-arrow {
	color: #fff;
}
.entry__link-label { font-weight: 700; font-size: 0.9rem; letter-spacing: .04em; }
.entry__link-host  { font-size: 0.85rem; opacity: .7; }
.entry__link-arrow { font-size: 0.9rem; }

/* ---------- 12. v0.6.16: visual polish ---------- */
:root{
	--shadow-soft:0 18px 48px rgba(14,27,61,.10);
	--line-soft:#d6dce6;
}

.reveal{
	transform:translateY(14px);
	transition:opacity .48s ease,transform .48s ease;
}
section[id]{
	scroll-margin-top:88px;
}

.header{
	transition:background .25s ease,box-shadow .25s ease;
}
.header__inner{
	max-width:1240px;
}
.gnav a{
	position:relative;
}
.gnav a::after{
	content:"";
	position:absolute;
	left:0;
	right:100%;
	bottom:-7px;
	height:2px;
	background:var(--red);
	transition:right .2s ease;
}
.gnav a:hover::after,
.gnav a.is-current::after{
	right:0;
}

.hero.hero--brochure.hero--clean{
	min-height:max(720px,100svh);
	width:100%;
	max-width:none;
	margin-inline:0;
	border-bottom:1px solid rgba(14,27,61,.08);
}
.hero__ink-photo{
	opacity:.94;
	filter:saturate(1.13) contrast(1.05);
}
.hero__copy{
	max-width:min(680px,calc(100vw - 64px));
	padding-left:20px;
	border-left:4px solid var(--red);
}
.hero__copy.reveal,
.hero__actions.reveal{
	opacity:1;
	transform:none;
	transition:none;
}
.hero__copy h2 span:last-child{
	font-size:clamp(31px,3.75vw,54px);
	letter-spacing:0;
}
.hero__actions .btn{
	min-width:174px;
	min-height:52px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:4px;
	transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.hero__actions .btn:hover{
	transform:translateY(-2px);
	box-shadow:0 12px 26px rgba(14,27,61,.16);
}

.about.brochure-section,
.program.brochure-section,
.impact.brochure-section,
.voice.brochure-section{
	padding:88px 0;
}
.program.brochure-section--sand{
	background:#edf3f8;
}
.impact.brochure-section--white{
	background:#faf7ef;
}
.voice.brochure-section--sand{
	background:#edf1eb;
}
.about .brochure-heading--rule,
.program .brochure-heading--rule,
.impact .brochure-heading--rule,
.voice .brochure-heading--rule{
	position:relative;
	padding-bottom:13px;
	border-bottom-color:var(--line-soft);
}
.about .brochure-heading--rule::after,
.program .brochure-heading--rule::after,
.impact .brochure-heading--rule::after,
.voice .brochure-heading--rule::after{
	content:"";
	position:absolute;
	left:0;
	bottom:-1px;
	width:62px;
	height:3px;
	background:var(--red);
}
.about .brochure-heading .en,
.program .brochure-heading .en,
.impact .brochure-heading .en,
.voice .brochure-heading .en{
	color:var(--navy);
	letter-spacing:.04em;
}
.about .brochure-heading h2,
.program .brochure-heading h2,
.impact .brochure-heading h2,
.voice .brochure-heading h2{
	color:#4c5567;
}

.about-lede{
	gap:20px;
}
.about-lede__copy{
	position:relative;
	background:#142342;
	border-top:5px solid var(--red);
	box-shadow:var(--shadow-soft);
}
.about-lede__photos{
	gap:10px;
}
.about-lede__photos img,
.program-feature__photo img,
.program-mini__photo,
.impact-intro img,
.report-main img,
.report-card__photo{
	filter:saturate(1.07) contrast(1.04);
}
.about-pillars{
	border-color:var(--line-soft);
}
.about-pillars article{
	border-color:var(--line-soft);
	box-shadow:inset 0 4px 0 var(--fuji);
}
.about-pillars article:nth-child(1){box-shadow:inset 0 4px 0 var(--red)}
.about-pillars article:nth-child(2){box-shadow:inset 0 4px 0 var(--fuji)}
.about-pillars article:nth-child(3){box-shadow:inset 0 4px 0 var(--yellow)}
.about-pillars article:nth-child(4){box-shadow:inset 0 4px 0 var(--cyan)}

.mvv-paper .mvv__inner{
	border:1px solid rgba(255,255,255,.24);
	border-left:5px solid var(--yellow);
	backdrop-filter:blur(3px);
}
.mvv-paper .mvv__block{
	padding-bottom:18px;
	border-bottom:1px solid rgba(255,255,255,.16);
}
.mvv-paper .mvv__block:last-child{
	padding-bottom:0;
	border-bottom:0;
}
.mvv-photo-strip figure{
	border-color:rgba(255,255,255,.42);
}
.mvv-photo-strip img{
	opacity:.94;
	filter:saturate(1.08) contrast(1.04);
}

.program-feature,
.program-mini{
	border:1px solid #d7e0ea;
	border-radius:6px;
	box-shadow:var(--shadow-soft);
}
.program-mini{
	transition:transform .2s ease,box-shadow .2s ease;
}
@media (hover:hover){
	.program-mini:hover{
		transform:translateY(-3px);
		box-shadow:0 22px 54px rgba(14,27,61,.15);
	}
}
.program-no{
	color:var(--fuji);
	opacity:.62;
}

.impact-intro,
.impact-panel{
	border:1px solid #e1ddd2;
	box-shadow:var(--shadow-soft);
}
.impact-panel{
	border-top:4px solid var(--fuji);
}
.impact-panel:nth-child(2){
	border-top-color:var(--red);
}
.impact-panel--wide{
	border:0;
	box-shadow:none;
}

.report-main,
.report-grid article{
	border:1px solid #d9ded5;
	border-radius:6px;
	box-shadow:0 14px 36px rgba(36,49,38,.08);
}

.section__head .en{
	letter-spacing:.05em;
}
.events,
.partners{
	padding-bottom:96px;
}
.site-cta{
	background:#f8fafc;
	border-color:#cdd5e0;
}

@media (min-width:961px){
	.header__inner{
		min-height:78px;
		padding:8px 24px;
	}
	.logo__image{
		width:176px;
	}
}

@media (max-width:960px){
	.gnav a::after{display:none}
	.hero.hero--brochure.hero--clean{
		min-height:max(700px,92svh);
	}
	.about.brochure-section,
	.program.brochure-section,
	.impact.brochure-section,
	.voice.brochure-section{
		padding:64px 0;
	}
	.mvv-paper__inner{
		padding:58px 24px;
	}
	.mvv-paper .mvv__inner{
		padding:24px 22px;
	}
}

@media (max-width:640px){
	.header__inner{
		min-height:64px;
		padding:9px 18px;
	}
	.logo__image{
		width:136px;
	}
	.hero.hero--brochure.hero--clean{
		min-height:max(700px,92svh);
	}
	.hero__ink-photo{
		inset:64px -30vw 31% 18%;
		background-size:154vw auto;
		background-position:right top;
		opacity:.52;
	}
	.hero__copy{
		left:18px;
		right:18px;
		bottom:94px;
		max-width:none;
		padding-left:14px;
		border-left-width:3px;
		text-shadow:0 2px 18px rgba(255,255,255,.94);
	}
	.hero__copy h2{
		font-size:clamp(34px,10.8vw,42px);
	}
	.hero__copy h2 span:last-child{
		font-size:clamp(17px,4.75vw,20px);
		white-space:nowrap;
	}
	.hero__copy p:not(.en){
		font-size:12px;
		line-height:1.65;
	}
	.hero__actions{
		left:18px;
		right:18px;
		bottom:22px;
		grid-template-columns:1fr 1fr;
		gap:8px;
	}
	.hero__actions .btn{
		min-width:0;
		min-height:50px;
		padding:12px 8px;
		font-size:12px;
	}
	.about.brochure-section,
	.program.brochure-section,
	.impact.brochure-section,
	.voice.brochure-section{
		padding:52px 0;
	}
	.about .brochure-heading--rule,
	.program .brochure-heading--rule,
	.impact .brochure-heading--rule,
	.voice .brochure-heading--rule{
		padding-bottom:12px;
	}
	.about-lede{
		gap:10px;
	}
	.about-lede__copy{
		padding:26px 20px;
	}
	.about-lede__photos{
		display:grid;
		grid-template-columns:1fr 1fr;
		grid-template-rows:auto;
		gap:8px;
		min-height:0;
	}
	.about-lede__photos img,
	.about-lede__photos img:first-child{
		grid-row:auto;
		aspect-ratio:4/3;
	}
	.about-lede__photos img:first-child{
		grid-column:1 / -1;
		aspect-ratio:16/10;
	}
	.about-pillars{
		gap:10px;
		border-top:0;
	}
	.about-pillars article{
		padding:20px;
		border:1px solid var(--line-soft);
	}
	.about-pillars__index{
		font-size:38px!important;
		margin-bottom:10px;
	}
	.about-pillars h3{
		font-size:19px;
	}
	.about-pillars p:not(.about-pillars__index):not(.about-pillars__label){
		line-height:1.75;
	}
	.mvv-paper{
		background-position:62% bottom!important;
	}
	.mvv-paper__inner{
		padding:48px 18px;
	}
	.mvv-paper .mvv__inner{
		gap:16px;
		padding:22px 18px;
	}
	.mvv-paper .mvv__block{
		padding-bottom:14px;
	}
	.mvv-paper .mvv__block .en{
		font-size:15px;
	}
.mvv-paper .mvv__copy{
		font-size:20px;
		line-height:1.55;
	}
	.mvv-paper .mvv__copy--num strong{
		display:inline-block;
		white-space:nowrap;
	}
	.mvv-photo-strip{
		grid-template-columns:1fr 1fr;
		gap:8px;
	}
	.mvv-photo-strip figure:first-child{
		grid-column:1 / -1;
	}
	.mvv-photo-strip figcaption{
		left:10px;
		right:10px;
		bottom:8px;
		font-size:10px;
	}
	.program-paper{
		gap:14px;
	}
	.program-feature__thumbs{
		grid-template-columns:repeat(3,1fr);
		gap:8px;
	}
	.program-feature__thumbs img{
		aspect-ratio:1;
	}
	.program-mini{
		grid-template-columns:104px 1fr;
		gap:14px;
		align-items:center;
	}
	.program-mini__photo{
		grid-row:1 / span 3;
		aspect-ratio:3/4;
	}
	.program-mini .program-no{
		font-size:18px;
	}
	.program-mini h3{
		font-size:21px;
		margin-bottom:4px;
	}
	.program-mini p{
		font-size:12px;
		line-height:1.65;
	}
	.impact-intro h3{
		font-size:30px;
	}
	.impact-panel{
		padding:24px;
	}
	.bar-chart{
		left:24px;
		right:24px;
	}
	.report-paper,
	.report-grid{
		gap:14px;
	}
}

@media (max-width:390px){
	.logo__image{width:130px}
	.hero__ink-photo{
		inset:64px -38vw 32% 16%;
		background-size:166vw auto;
	}
	.hero__copy h2 span:last-child{
		font-size:17px;
	}
	.program-mini{
		grid-template-columns:96px 1fr;
	}
	section[id]{
		scroll-margin-top:72px;
	}
}

/* ---------- 13. v0.6.18: hero ink video ---------- */
.hero__ink-video{
	position:absolute;
	top:0;
	left:0;
	z-index:1;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	background:#f4f6fb;
	mix-blend-mode:multiply;
	pointer-events:none;
}
.hero--video .hero__ink-photo{
	opacity:0;
	animation:none;
}
.hero--video.is-video-fallback .hero__ink-video{
	display:none;
}
.hero--video.is-video-fallback .hero__ink-photo{
	opacity:.94;
}

/* Prefer the ink video; JavaScript switches to the still image on error. */
.hero.hero--ink-real .hero__ink-photo{opacity:0;}
.hero.hero--ink-real .hero__ink-video{opacity:1;}
.hero.hero--ink-real.is-video-fallback .hero__ink-photo{opacity:.94;}

@media (max-width:640px){
	.hero__ink-video{
		top:64px;
		left:0;
		width:100%;
		height:440px;
		object-fit:cover;
		object-position:52% center;
	}
}

@media (prefers-reduced-motion:reduce){
	.hero--video .hero__ink-video{
		display:none;
	}
	.hero.hero--ink-real .hero__ink-photo{
		opacity:.94;
	}
}

/* ---------- SIB introduction video: click-to-load, complete 16:9 frame ---------- */
.sib-intro-video{
	padding:0 32px 96px;
	background:#fff;
}
.sib-intro-video__inner{
	max-width:1180px;
	margin:0 auto;
}
.sib-intro-video .brochure-heading{margin-bottom:28px}
.sib-intro-video__media{
	position:relative;
	width:100%;
	aspect-ratio:16/9;
	overflow:hidden;
	background:#080808;
}
.sib-intro-video__poster,
.sib-intro-video__poster img,
.sib-intro-video__player,
.sib-intro-video__player iframe{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
}
.sib-intro-video__poster img{object-fit:contain}
.sib-intro-video__player iframe{border:0}
.sib-intro-video [hidden]{display:none!important}
.sib-intro-video__play{
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	display:grid;
	place-items:center;
	width:72px;
	height:72px;
	padding-left:4px;
	border-radius:50%;
	color:#fff;
	background:rgba(0,0,0,.76);
	border:2px solid #fff;
	font-size:26px;
}
.sib-intro-video__poster:hover .sib-intro-video__play{background:var(--red)}
.sib-intro-video__poster:focus-visible{outline:4px solid var(--red);outline-offset:-4px}
.sib-intro-video__footer{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:16px;
	min-height:64px;
	padding-top:16px;
	color:var(--gray700);
	font-size:14px;
}
.sib-intro-video__footer > div{display:flex;align-items:center;gap:18px}
.sib-intro-video__footer a{color:var(--fuji);font-weight:700;white-space:nowrap}
.sib-intro-video__close{
	display:grid;
	place-items:center;
	width:44px;
	height:44px;
	padding:0;
	border:1px solid var(--gray200);
	border-radius:4px;
	color:var(--ink);
	background:#fff;
	font-size:18px;
	cursor:pointer;
}
.sib-intro-video__status{margin-top:12px;color:var(--red);font-size:14px}
@media(max-width:640px){
	.sib-intro-video{padding:0 18px 64px}
	.sib-intro-video .brochure-heading{margin-bottom:20px}
	.sib-intro-video__play{width:56px;height:56px;font-size:20px}
	.sib-intro-video__footer{font-size:12px;gap:10px}
	.sib-intro-video__footer > div{gap:10px}
}

/* ---------- member login ---------- */
.member-login{
	position:relative;
	display:grid;
	grid-template-columns:minmax(260px,.9fr) minmax(360px,1.1fr);
	gap:clamp(28px,6vw,96px);
	align-items:stretch;
	max-width:1180px;
	margin:0 auto;
	padding:clamp(48px,8vw,104px) clamp(20px,5vw,72px);
	background:var(--paper,#f5f7fb);
	overflow:hidden;
}
.member-login::before{
	content:"";
	position:absolute;
	inset:0 48% 0 0;
	background:linear-gradient(145deg,#0d1d36 0%,#173d73 100%);
	clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%);
}
.member-login__visual{
	position:relative;
	z-index:1;
	min-height:460px;
	display:flex;
	align-items:flex-end;
	justify-content:center;
	background-color:#10284d;
	background-image:url('../img/sib/footer-fuji-brochure.png');
	background-position:center bottom;
	background-size:min(94%,560px) auto;
	background-repeat:no-repeat;
	box-shadow:0 18px 42px rgba(10,28,54,.16);
}
.member-login__visual::before{
	content:"SIB";
	position:absolute;
	top:30px;
	left:34px;
	color:rgba(255,255,255,.15);
	font-family:var(--font-en,'Cinzel',serif);
	font-size:clamp(62px,10vw,118px);
	font-weight:700;
	line-height:1;
}
.member-login__visual::after{
	content:"MEMBER ACCESS";
	position:absolute;
	right:34px;
	bottom:28px;
	color:rgba(255,255,255,.84);
	font-family:var(--font-en,'Cinzel',serif);
	font-size:11px;
	letter-spacing:.22em;
}
.member-login__visual > div{
	position:relative;
	z-index:2;
	align-self:flex-end;
	width:calc(100% - 48px);
	margin:0 24px 26px;
	padding:18px 20px 16px;
	box-sizing:border-box;
	background:linear-gradient(90deg,rgba(7,24,52,.96),rgba(7,24,52,.78));
	border-left:3px solid var(--red,#c94732);
	box-shadow:0 12px 30px rgba(4,14,32,.18);
	color:#fff;
}
.member-login__visual > div .en{
	margin:0 0 8px;
	color:#ffd4c8;
	font-family:var(--font-en,'Cinzel',serif);
	font-size:11px;
	letter-spacing:.18em;
}
.member-login__visual > div h1{
	margin:0 0 8px;
	color:#fff;
	font-size:clamp(22px,2.3vw,32px);
	line-height:1.35;
}
.member-login__visual > div p:last-child{
	margin:0;
	color:rgba(255,255,255,.86);
	font-size:12px;
	line-height:1.7;
}
.member-login__panel{
	position:relative;
	z-index:1;
	align-self:center;
	max-width:540px;
	padding:clamp(28px,4vw,52px);
	background:#fff;
	box-shadow:0 16px 48px rgba(10,28,54,.12);
}
.member-login__eyebrow{
	margin:0 0 10px;
	color:var(--red,#c94732);
	font-family:var(--font-en,'Cinzel',serif);
	font-size:12px;
	letter-spacing:.18em;
}
.member-login__panel h2{
	margin:0 0 14px;
	color:var(--navy,#102040);
	font-size:clamp(28px,3vw,42px);
	line-height:1.2;
}
.member-login__help{
	margin:0 0 28px;
	color:var(--gray700,#4b5563);
	font-size:14px;
	line-height:1.8;
}
.member-login__form{
	display:grid;
	gap:10px;
}
.member-login__form label:not(.member-login__remember){
	margin-top:8px;
	color:var(--navy,#102040);
	font-size:13px;
	font-weight:700;
}
.member-login__form input[type="text"],
.member-login__form input[type="password"]{
	box-sizing:border-box;
	width:100%;
	min-height:48px;
	padding:11px 13px;
	border:1px solid #c9d0da;
	border-radius:2px;
	background:#fff;
	color:var(--ink,#172033);
	font:inherit;
}
.member-login__form input[type="text"]:focus,
.member-login__form input[type="password"]:focus{
	outline:3px solid rgba(201,71,50,.16);
	border-color:var(--red,#c94732);
}
.member-login__password-field{
	display:grid;
	grid-template-columns:1fr auto;
	gap:8px;
}
.member-login__password-toggle{
	min-width:56px;
	padding:0 12px;
	border:1px solid #c9d0da;
	border-radius:2px;
	background:#f5f7fb;
	color:var(--navy,#102040);
	font:inherit;
	cursor:pointer;
}
.member-login__password-toggle:hover,
.member-login__password-toggle:focus-visible{
	border-color:var(--navy,#102040);
	background:#e9eef6;
}
.member-login__remember{
	display:flex;
	align-items:center;
	gap:8px;
	margin:8px 0 6px;
	color:var(--gray700,#4b5563);
	font-size:13px;
}
.member-login__remember input{margin:0;width:16px;height:16px;accent-color:var(--red,#c94732)}
.member-login__form > button[type="submit"]{
	min-height:50px;
	margin-top:10px;
	border:0;
	border-radius:2px;
	background:var(--red,#c94732);
	color:#fff;
	font:inherit;
	font-weight:700;
	cursor:pointer;
	transition:background .2s ease,transform .2s ease;
}
.member-login__form > button[type="submit"]:hover,
.member-login__form > button[type="submit"]:focus-visible{
	background:#a93627;
	transform:translateY(-1px);
}
.member-login__reset,
.member-login__home{
	display:inline-block;
	margin-top:18px;
	color:var(--navy,#102040);
	font-size:13px;
	text-decoration:underline;
	text-underline-offset:3px;
}
.member-login__home{margin-left:18px;color:var(--gray700,#4b5563)}

.program-feature__thumbs figure{
	justify-items:center;
}
.program-feature__thumbs img{
	width:min(100%,132px);
}
@media (max-width:960px){
	.program-feature__thumbs img{
		width:min(100%,104px);
	}
}

@media (max-width:760px){
	.member-login{
		display:block;
		padding:28px 16px 48px;
	}
	.member-login::before{inset:0 0 60% 0;clip-path:none}
	.member-login__visual{
		min-height:240px;
		background-size:min(88%,360px) auto;
		background-position:center bottom;
	}
	.member-login__visual::before{top:18px;left:20px;font-size:64px}
	.member-login__visual::after{right:20px;bottom:18px;font-size:9px}
	.member-login__visual > div{width:calc(100% - 32px);margin:0 16px 16px;padding:14px 15px 12px}
	.member-login__visual > div h1{font-size:22px}
	.member-login__visual > div p:last-child{font-size:11px}
	.member-login__panel{max-width:none;padding:28px 20px}
	.member-login__home{margin-left:12px}
}

/* 会員ログイン: 実写を横長に見せ、フォームの読みやすさを優先する。 */
.sib-member-portal--login .member-login{max-width:1240px;margin:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:56px;padding:64px 40px 80px;background:none}
.sib-member-portal--login .member-login::before{display:none}
.sib-member-portal--login .member-login__visual{min-height:0;aspect-ratio:16/10;width:100%;padding:0;background:url('../img/generated/member-workspace-startup.jpg') center/cover no-repeat;clip-path:none;align-self:center}
.sib-member-portal--login .member-login__visual::before{content:'';inset:0;width:auto;height:auto;max-width:none;font-size:0;background:rgba(0,0,0,.58);opacity:1}
.sib-member-portal--login .member-login__visual::after{content:none;display:none}
.sib-member-portal--login .member-login__visual>div{width:100%;max-width:none;margin:0;padding:24px;background:none;border:0}
.sib-member-portal--login .member-login__visual>div h2{color:#fff;font-size:26px;line-height:1.5;margin:0}
.sib-member-portal--login .member-login__visual>div p:last-child{color:#fff;font-size:14px;line-height:1.8}
.sib-member-portal--login .member-login__panel{max-width:none;width:100%;padding:36px;background:#fff;border:1px solid #dce2ec;border-radius:8px;box-shadow:none}
.sib-member-portal--login .member-login__panel h1{font-size:32px;line-height:1.5;color:#20283a;margin:8px 0 0}
.sib-member-portal--login .member-login__help{font-size:15px;line-height:1.8;color:#535c67}
.sib-member-portal--login .member-login__support{font-size:13px;line-height:1.8;color:#535c67;margin-top:20px}
.sib-member-portal--login .member-login__support a{color:#174780;text-decoration:underline;text-underline-offset:3px}
.sib-member-portal--login .member-login__panel,.sib-member-portal--login .member-login__form,.sib-member-portal--login .member-login__password-field,.sib-member-portal--login .member-login__form input{min-width:0;max-width:100%}
.sib-member-portal--login .member-login__password-field{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:960px){.sib-member-portal--login .member-login{gap:28px;padding:40px 28px 64px}.sib-member-portal--login .member-login__panel{padding:28px}}
@media(max-width:760px){.sib-member-portal--login .member-login{grid-template-columns:minmax(0,1fr);padding:28px 20px 48px}.sib-member-portal--login .member-login__panel{order:-1;padding:28px 22px}.sib-member-portal--login .member-login__visual{aspect-ratio:16/9;min-height:240px}.sib-member-portal--login .member-login__panel h1{font-size:28px}.sib-member-portal--login .member-login__visual>div h2{font-size:22px}}

/* AssetHUBの実写素材に合わせた、横長で余白のあるレイアウト */
.about-lede{
	grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
	gap:32px;
}
.about-lede__copy{
	min-height:0;
	padding:52px;
}
.about-lede__photos{
	grid-template-columns:repeat(2,minmax(0,1fr));
	grid-template-rows:repeat(2,minmax(160px,1fr));
	gap:18px;
	min-height:0;
}
.about-lede__photos img:first-child{
	grid-row:1 / -1;
	aspect-ratio:4 / 3;
}
.about-lede__photos img:not(:first-child){aspect-ratio:16 / 10}

.program-paper{gap:36px}
.program-feature{padding:0 36px 36px}
.program-feature__photo{
	margin:0 -36px 32px;
	aspect-ratio:16 / 8;
}
.program-feature__photo img{object-fit:cover}
.program-feature__thumbs{gap:22px}
.program-feature__thumbs img{
	width:100%;
	max-width:none;
	aspect-ratio:16 / 10;
	border-radius:2px;
	object-fit:cover;
}
.program-grid{gap:24px}
.program-mini{
	grid-template-columns:minmax(180px,210px) minmax(0,1fr);
	gap:24px;
	padding:24px;
}
.program-mini__photo{
	aspect-ratio:16 / 10;
	border-radius:2px;
	object-fit:cover;
}

.report-paper{
	grid-template-columns:minmax(0,1.05fr) minmax(0,1.45fr);
	gap:32px;
}
.report-main,.report-grid article{
	padding:32px;
	border-radius:4px;
}
.report-main > img{
	aspect-ratio:16 / 10;
	margin-bottom:28px;
	object-fit:cover;
}
.report-main__photos{gap:16px}
.report-main__photos img{
	aspect-ratio:16 / 10;
	object-fit:cover;
}
.report-grid{gap:24px}
.report-card__photo{
	width:calc(100% + 64px);
	margin:-32px -32px 22px;
	aspect-ratio:16 / 10;
	object-fit:cover;
}
.mvv-photo-strip{gap:20px;margin-top:56px}
.mvv-photo-strip img{
	aspect-ratio:16 / 10;
	object-fit:cover;
}

@media (max-width:960px){
	.about-lede__copy{padding:32px 28px}
	.program-mini{grid-template-columns:minmax(150px,180px) minmax(0,1fr)}
	.report-main,.report-grid article{padding:24px}
	.report-card__photo{
		width:calc(100% + 48px);
		margin:-24px -24px 18px;
	}
}

@media (max-width:640px){
	.brochure-page{padding-left:20px;padding-right:20px}
	.about-lede{gap:18px}
	.about-lede__copy{padding:30px 22px}
	.about-lede__photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
	.about-lede__photos img:first-child,
	.about-lede__photos img:not(:first-child){aspect-ratio:16 / 10}
	.program-feature{padding:0 22px 30px}
	.program-feature__photo{
		margin:0 -22px 26px;
		aspect-ratio:16 / 9;
	}
	.program-feature__thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
	.program-feature__thumbs img{aspect-ratio:16 / 10}
	.program-mini{
		grid-template-columns:1fr;
		gap:14px;
		padding:20px;
	}
	.program-mini__photo{
		grid-row:auto;
		width:100%;
		aspect-ratio:16 / 10;
	}
	.report-paper,.report-grid{gap:18px}
	.report-main,.report-grid article{padding:22px}
	.report-card__photo{
		width:calc(100% + 44px);
		margin:-22px -22px 18px;
	}
	.mvv-photo-strip{gap:10px;margin-top:34px}
}

/* 紹介文と活動写真を分け、元の4:3の画角を保つ。 */
.about-lede--landscape{
	grid-template-columns:minmax(0,1fr);
	gap:48px;
	margin-bottom:72px;
}
.about-lede--landscape .about-lede__copy{
	display:grid;
	grid-template-columns:minmax(0,1fr);
	gap:36px;
	align-items:start;
	min-height:0;
	padding:0;
	background:transparent;
	color:var(--ink);
	border:0;
	box-shadow:none;
}
.about-lede--landscape .about-lede__heading,
.about-lede--landscape .about-lede__body{min-width:0}
.about-lede--landscape .about-lede__heading{
	padding:44px 48px 48px;
	background:var(--navy);
	color:#fff;
	border-top:4px solid var(--red);
}
.about-lede--landscape .about-lede__body{
	display:grid;
	grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
	gap:56px;
	align-items:center;
}
.about-lede--landscape .about-lede__label{
	color:#a9c9f0;
	font-size:12px;
	letter-spacing:0;
	margin-bottom:20px;
}
.about-lede--landscape .about-lede__copy h3{
	max-width:none;
	font-size:44px;
	line-height:1.45;
	color:#fff;
	letter-spacing:0;
	margin-bottom:0;
}
.about-lede--landscape .about-lede__copy h3 > span{display:inline}
.about-lede--landscape .about-lede__copy h3 > span:first-child{display:block}
.about-lede--landscape .about-lede__body > p{
	font-size:16px;
	line-height:2;
	color:var(--gray700);
}
.about-lede--landscape .about-lede__stats{
	grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);
	gap:20px;
	margin-top:0;
	padding-top:0;
	border-top:0;
}
.about-lede--landscape .about-lede__stats p{
	display:grid;
	grid-template-columns:minmax(0,1fr);
	align-items:start;
	align-content:start;
	justify-content:start;
	min-width:0;
	gap:10px;
	padding:0;
	border:0;
}
.about-lede--landscape .about-lede__stats strong{
	font-size:36px;
	color:var(--fuji);
	white-space:nowrap;
}
.about-lede--landscape .about-lede__stats p:first-child strong{color:var(--red)}
.about-lede--landscape .about-lede__stats p:last-child strong{color:#886500}
.about-lede--landscape .about-lede__stats span{
	font-size:12px;
	line-height:1.5;
	color:var(--gray700);
	letter-spacing:0;
	text-transform:none;
}
.about-lede--landscape .about-lede__stats .about-lede__unit{
	font-size:18px;
	color:inherit;
	margin-left:3px;
}
.about-lede--landscape .about-lede__photos{
	grid-template-columns:repeat(3,minmax(0,1fr));
	grid-template-rows:auto;
	gap:24px;
	min-height:0;
	align-items:start;
}
.about-lede--landscape .about-lede__photos img{
	grid-column:auto;
	grid-row:auto;
	width:100%;
	height:auto;
	min-height:0;
	aspect-ratio:4 / 3;
	object-fit:contain;
	filter:none;
}
@media (max-width:960px){
	.about-lede--landscape{gap:36px;margin-bottom:56px}
	.about-lede--landscape .about-lede__copy{gap:28px}
	.about-lede--landscape .about-lede__heading{padding:36px 40px 40px}
	.about-lede--landscape .about-lede__copy h3{font-size:36px}
	.about-lede--landscape .about-lede__body{grid-template-columns:minmax(0,1fr);gap:24px}
	.about-lede--landscape .about-lede__body > p{max-width:680px}
	.about-lede--landscape .about-lede__stats{max-width:560px}
	.about-lede--landscape .about-lede__photos{gap:18px}
}
@media (max-width:640px){
	.about-lede--landscape{gap:32px;margin-bottom:48px}
	.about-lede--landscape .about-lede__copy{gap:24px;padding:0}
	.about-lede--landscape .about-lede__heading{padding:28px 22px 32px}
	.about-lede--landscape .about-lede__label{font-size:11px;margin-bottom:16px}
	.about-lede--landscape .about-lede__copy h3{font-size:28px}
	.about-lede--landscape .about-lede__copy h3 > span{display:block}
	.about-lede--landscape .about-lede__body > p{font-size:14px;line-height:1.9}
	.about-lede--landscape .about-lede__stats{gap:12px;padding-top:20px;border-top:1px solid var(--line-soft)}
	.about-lede--landscape .about-lede__stats strong{font-size:30px}
	.about-lede--landscape .about-lede__stats span{font-size:10px}
	.about-lede--landscape .about-lede__stats .about-lede__unit{font-size:14px}
	.about-lede--landscape .about-lede__photos{grid-template-columns:minmax(0,1fr);gap:20px}
}

/* 活動紹介のイメージと実際の活動記録を区別し、横長の構図を保つ。 */
.context-image{position:relative}
.context-image .context-image__label{
	position:absolute;
	top:12px;
	right:12px;
	margin:0;
	padding:4px 8px;
	background:rgba(0,0,0,.72);
	color:#fff;
	font-size:11px;
	line-height:1.5;
	font-weight:400;
}
.program-feature__photo{aspect-ratio:auto}
.program-feature__photo img,
.program-mini__visual .program-mini__photo,
.program-detail__visual img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.program-mini__visual{grid-column:1;grid-row:1 / span 3;margin:0;align-self:center;min-width:0}
.program-feature__principles{list-style:none;display:grid;gap:12px;margin:28px 0 0;padding:20px 0 0;border-top:1px solid var(--gray200)}
.program-feature__principles li{display:flex;align-items:center;gap:14px;font-size:14px;line-height:1.6}
.program-feature__principles span{color:var(--red);font-size:14px}
/* LECを横長の導入にし、活動記録をその下に並べる。 */
#voice .report-paper{grid-template-columns:minmax(0,1fr);gap:28px}
#voice .report-main{
	display:grid;
	grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
	align-items:center;
	gap:36px;
	align-self:start;
}
#voice .report-main > img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;margin:0}
#voice .report-main__copy{min-width:0}
#voice .report-main h3{margin-bottom:20px}
#voice .report-main h3 span{display:block;font-size:18px;line-height:1.7;margin:14px 0 0}
#voice .report-main__copy p{font-size:14px;line-height:1.9;margin:0}
#voice .report-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
#voice .report-grid article{min-width:0;padding:24px}
#voice .report-card__photo{width:calc(100% + 48px);margin:-24px -24px 20px;aspect-ratio:16/10;object-fit:contain}
#voice .report-grid h3{font-size:18px;line-height:1.6}
@media(max-width:1100px){
	#voice .report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	#voice .report-main{gap:28px}
}
@media(max-width:640px){
	#voice .report-paper{gap:20px}
	#voice .report-main{grid-template-columns:minmax(0,1fr);gap:24px;padding:22px}
	#voice .report-main h3 span{font-size:16px}
	#voice .report-grid{grid-template-columns:minmax(0,1fr);gap:20px}
}
.mvv-photo-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
.mvv-photo-strip img{display:block;width:100%;height:auto;aspect-ratio:auto;opacity:1;object-fit:contain}
.mvv-photo-strip figcaption{position:static;padding:14px;line-height:1.6;font-size:13px;text-shadow:none;background:#0e1b3d}
.mvv-photo-strip figcaption small{display:block;margin-top:4px;font-size:11px;color:#d5dae4;font-weight:400}
@media(max-width:640px){
	.program-mini{grid-template-columns:minmax(0,1fr)}
	.program-mini__visual{grid-column:1;grid-row:auto;width:100%}
	.program-mini .program-no,.program-mini h3,.program-mini>p{grid-column:1}
	.mvv-photo-strip{grid-template-columns:minmax(0,1fr);gap:20px}
	.mvv-photo-strip figure:first-child{grid-column:auto}
}

.program-overview{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
}
.program-overview__item{
	min-width:0;
	overflow:hidden;
	border:1px solid var(--gray200);
	border-radius:6px;
	background:#fff;
}
.program-overview__item > a{
	display:flex;
	flex-direction:column;
	height:100%;
	color:var(--navy);
	text-decoration:none;
}
.program-overview__visual{
	margin:0;
	background:#f1f4f3;
}
.program-overview__visual img{
	display:block;
	width:100%;
	aspect-ratio:16 / 10;
	object-fit:contain;
}
.program-overview__copy{
	display:flex;
	flex:1;
	flex-direction:column;
	padding:18px;
}
.program-overview__number{
	margin:0 0 10px;
	color:var(--fuji);
	font-size:11px;
	font-weight:700;
}
.program-overview__copy h3{
	margin:0 0 12px;
	font-size:22px;
	line-height:1.3;
}
.program-overview__copy > p:not(.program-overview__number){
	margin:0 0 20px;
	color:var(--gray700);
	font-size:13px;
	line-height:1.8;
}
.program-overview__more{
	margin-top:auto;
	color:var(--navy);
	font-size:13px;
	font-weight:700;
	text-decoration:underline;
	text-underline-offset:4px;
}
.program-overview__item a:hover .program-overview__more,
.program-overview__item a:focus-visible .program-overview__more{
	color:var(--red);
}
.program-detail__action,
.program-reports__more{
	color:var(--navy);
	font-weight:700;
	text-decoration:underline;
	text-underline-offset:5px;
}
.program-page-guide__links{
	grid-template-columns:repeat(4,minmax(0,1fr));
}
.program-page-guide__links a{
	min-height:84px;
	justify-content:center;
}
.program-detail__more{
	margin-top:26px;
}
.program-detail__more h4,
.program-fee h4{
	margin:0 0 10px;
	color:var(--navy);
	font-size:17px;
}
.program-detail__more p,
.program-fee p{
	margin:0 0 12px;
	color:var(--gray700);
	font-size:14px;
	line-height:1.9;
}
.program-detail__more p:last-child,
.program-fee p:last-child{
	margin-bottom:0;
}
.program-fee{
	margin:26px 0;
	padding:22px 24px;
	border-left:3px solid var(--red);
	background:#f1f4f3;
}
.program-fee a{
	color:var(--fuji);
	text-underline-offset:3px;
}
.program-detail__actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px 24px;
}
.program-detail__action{
	display:inline-block;
	margin-top:18px;
}
.program-reports{
	background:#f1f4f3;
}
.program-reports__inner{
	max-width:1180px;
	margin:0 auto;
	padding:76px 32px 88px;
}
.program-reports h2{
	margin:0 0 10px;
	font-size:34px;
}
.program-reports__inner > p:not(.subsection__eyebrow){
	margin:0 0 32px;
	color:var(--gray700);
}
.program-reports__list{
	border-top:1px solid var(--gray200);
}
.program-reports__list article{
	border-bottom:1px solid var(--gray200);
}
.program-reports__list a{
	display:grid;
	grid-template-columns:100px minmax(0,1fr) 20px;
	align-items:center;
	gap:20px;
	padding:20px 0;
	color:var(--navy);
	text-decoration:none;
}
.program-reports__list a:hover h3{
	text-decoration:underline;
	text-underline-offset:4px;
}
.program-reports__list time{
	color:var(--gray700);
	font-size:13px;
}
.program-reports__list h3{
	margin:0;
	font-size:17px;
	line-height:1.6;
}
.program-reports__more{
	display:inline-block;
	margin-top:24px;
}
@media(max-width:960px){
	.program-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
	.program-page-guide__links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
	.program-overview{grid-template-columns:minmax(0,1fr);gap:16px}
	.program-overview__copy{padding:20px}
	.program-page-guide__links{gap:8px}
	.program-page-guide__links a{min-height:72px;padding:12px}
	.program-detail__actions{display:block}
	.program-detail__actions .program-detail__action{margin-right:18px}
	.program-reports__inner{padding:56px 20px 68px}
	.program-reports h2{font-size:27px}
	.program-reports__list a{grid-template-columns:minmax(0,1fr) 18px;gap:6px 10px}
	.program-reports__list time{grid-column:1 / -1}
}

/* LEC静岡2024: トップ導線と独立した開催レポート。 */
.lec-feature{padding:88px 0 96px;background:#fff}
.lec-feature__inner{max-width:1180px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:56px;align-items:center}
.lec-feature__copy{min-width:0}
.lec-feature__eyebrow,.lec-report__eyebrow,.lec-report__section-label{color:var(--fuji);font-size:12px;font-weight:800;line-height:1.5}
.lec-feature__eyebrow span,.lec-report__eyebrow span{padding:0 8px;color:var(--red)}
.lec-feature__copy h2{margin:20px 0 8px;color:var(--navy);font-size:52px;line-height:1.2}
.lec-feature__copy h2 span{display:block;font-family:"Oswald",sans-serif;font-size:38px;color:var(--red)}
.lec-feature__subtitle{font-size:18px;font-weight:800;line-height:1.5}
.lec-feature__description{max-width:34em;margin:22px 0 26px;color:var(--gray700);font-size:14px;line-height:1.9}
.lec-feature__link,.lec-report__closing a{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:2px solid var(--red);padding:0 0 10px;color:var(--navy);font-size:14px;font-weight:800;line-height:1.5}
.lec-feature__link:hover,.lec-report__closing a:hover{color:var(--red)}
.lec-feature__link span,.lec-report__closing a span{color:var(--red);font-size:21px;line-height:1}
.lec-feature__photo{min-width:0}
.lec-feature__photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.lec-feature__photo figcaption,.lec-report__award-photo figcaption{margin-top:8px;color:var(--gray700);font-size:11px;line-height:1.5}

.lec-report{background:#fff}
.lec-report__header,.lec-report__content{max-width:1180px;margin:0 auto;padding:0 32px}
.lec-report__heading{padding:54px 0 38px}
.lec-report__heading h1{margin:20px 0 2px;color:var(--navy);font-size:72px;line-height:1.15;overflow-wrap:anywhere}
.lec-report__heading h1 span{margin-left:14px;color:var(--red);font-family:"Oswald",sans-serif;font-size:58px}
.lec-report__subtitle{font-size:20px;font-weight:800;line-height:1.5}
.lec-report__hero-photo img,.lec-report__award-photo img{width:100%;height:auto}
.lec-report__intro{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:54px;padding:72px 0 52px}
.lec-report__intro h2,.lec-report__story h2{margin-top:16px;color:var(--navy);font-size:36px;line-height:1.45}
.lec-report__intro-copy p,.lec-report__story-body p{margin:0 0 20px;color:var(--gray700);font-size:15px;line-height:2}
.lec-report__intro-copy p:last-child,.lec-report__story-body p:last-child{margin-bottom:0}
.lec-report__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #cfd5df;border-bottom:1px solid #cfd5df}
.lec-report__facts div{min-width:0;padding:20px 18px;border-right:1px solid #cfd5df}
.lec-report__facts div:first-child{padding-left:0}
.lec-report__facts div:last-child{border-right:0}
.lec-report__facts dt{color:var(--gray700);font-size:11px;font-weight:700}
.lec-report__facts dd{margin-top:6px;color:var(--navy);font-size:18px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.lec-report__story{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:54px;padding:96px 0}
.lec-report__award-photo figcaption{margin-bottom:0}
.lec-report__story--award{padding-top:64px}
.lec-report__closing{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:0 0 52px;padding:32px 0;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy)}
.lec-report__closing p{color:var(--navy);font-size:19px;font-weight:800;line-height:1.5}
.lec-report__closing a{flex:0 0 auto}
.lec-report__sources{display:flex;flex-wrap:wrap;gap:8px 22px;padding-bottom:72px;color:var(--gray700);font-size:12px;line-height:1.6}
.lec-report__sources p{font-weight:800}
.lec-report__sources a{color:var(--fuji);text-decoration:underline;text-underline-offset:3px}

@media(max-width:760px){
	.lec-feature{padding:64px 0}
	.lec-feature__inner{grid-template-columns:minmax(0,1fr);gap:28px;padding:0 20px}
	.lec-feature__copy h2{font-size:40px}
	.lec-feature__copy h2 span{font-size:30px}
	.lec-feature__description{margin:16px 0 22px}
	.lec-feature__photo{grid-row:1}
	.lec-report__header,.lec-report__content{padding:0 20px}
	.lec-report__heading{padding:36px 0 26px}
	.lec-report__heading h1{font-size:44px}
	.lec-report__heading h1 span{margin-left:8px;font-size:36px}
	.lec-report__subtitle{font-size:17px}
	.lec-report__intro,.lec-report__story{grid-template-columns:minmax(0,1fr);gap:22px}
	.lec-report__intro{padding:48px 0 36px}
	.lec-report__intro h2,.lec-report__story h2{font-size:28px}
	.lec-report__facts{grid-template-columns:repeat(2,minmax(0,1fr))}
	.lec-report__facts div{padding:16px}
	.lec-report__facts div:nth-child(odd){padding-left:0}
	.lec-report__facts div:nth-child(2){border-right:0}
	.lec-report__facts div:nth-child(-n+2){border-bottom:1px solid #cfd5df}
	.lec-report__facts dd{font-size:16px}
	.lec-report__story{padding:60px 0}
	.lec-report__story--award{padding-top:50px}
	.lec-report__closing{display:block;margin-bottom:36px}
	.lec-report__closing p{margin-bottom:22px;font-size:17px}
	.lec-report__sources{padding-bottom:50px}
}
@media(max-width:390px){
	.lec-report__heading h1{font-size:38px}
	.lec-report__heading h1 span{font-size:30px}
	.lec-report__subtitle{font-size:14px}
}
