@charset "UTF-8";
/*
 * MoneyX2027 デザイン用CSS（2026-09-28 新規）
 * - トップ（body.mx-top）はこのファイルのみで組む（旧 style.css は読み込まない）
 * - 規約・PP（body.mx-sub: pp / terms）も旧 style.css を読まない（2026-09-29〜。ini.php の $mxNoOldCss）。
 *   本文は assets2027/legal2027.css で組み、ヘッダー（.mxh）とフッター（.mxf）はこのファイルで組む
 * - 一覧ページ（body.mx-sub: speakers / partners）だけは旧 style.css の上に、ヘッダー・フッターをこのファイルで上書きする（本文は list2027.css）
 *   旧 style.css は「* { font-size:18px; color:#222; … }」を全要素に当てているため、.mxh / .mxf 配下は inherit で打ち消している
 */

:root{
	--mx-pink:#e8a6c8;
	--mx-pink-l:#f5d3e3;
	--mx-pink-bg:#f9e6ef;
	--mx-pink-d:#c0579a;
	--mx-purple:#a0509a;
	--mx-purple-d:#8e4a9a;
	--mx-bg:#f3f2f2;
	--mx-black:#0b0b0b;
	--mx-text:#1a1a1a;
	--mx-gray:#777;
	--mx-en:"Montserrat","Noto Sans JP",sans-serif;
	--mx-ja:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	--mx-wrap:1200px;
	--mx-header-h:58px;
}

html{scroll-behavior:smooth;}
[id]{scroll-margin-top:84px;}

/* ================= ヘッダー（全ページ共通） ================= */
.mxh, .mxh *, .mxf, .mxf *{font-size:inherit;color:inherit;font-family:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;box-sizing:border-box;}
.mxh{
	position:fixed;top:0;left:0;right:0;z-index:1000;height:auto;display:block;
	padding:0 max(16px, calc((100% - 1280px) / 2));
	font-family:var(--mx-en);font-size:15px;color:var(--mx-text);line-height:1.2;
	pointer-events:none;background:none;
}
.mxh-bar{
	pointer-events:auto;position:relative;
	display:flex;align-items:center;justify-content:space-between;gap:16px;
	height:var(--mx-header-h);padding:0 12px 0 20px;
	background:rgba(255,255,255,.72);
	-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
	border:1px solid rgba(255,255,255,.8);border-top:0;
	border-radius:0 0 18px 18px;
	box-shadow:0 6px 20px rgba(0,0,0,.10);
	transition:background .3s;
}
.mxh-scrolled .mxh-bar{background:rgba(255,255,255,.9);}
.mxh-logo{display:block;flex:0 0 auto;}
.mxh-logo img{display:block;height:34px;width:auto;}
.mxh-nav{display:block;}
.mxh-menu{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none;}
.mxh-menu li{margin:0;padding:0;list-style:none;}
.mxh-menu a{display:block;padding:8px 13px;color:var(--mx-text);font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap;}
.mxh-menu a:hover{opacity:.7;}
.mxh-menu .mxh-group{
	display:flex;margin:0 8px;padding:2px 6px;
	border:1px solid rgba(0,0,0,.12);border-radius:999px;
	background:linear-gradient(#fff,rgba(240,240,244,.9));
	box-shadow:inset 0 1px 2px rgba(0,0,0,.06);
}
.mxh-menu .mxh-group a{padding:7px 12px;}
.mxh-menu li.lang{display:flex;align-items:center;gap:2px;padding:0 10px;font-weight:600;font-size:15px;white-space:nowrap;color:#999;}
.mxh-menu li.lang a{padding:8px 2px;color:#999;font-weight:600;}
.mxh-menu li.lang span{color:var(--mx-text);font-weight:700;}
.mxh-menu a.mxh-ticket{
	padding:9px 20px;border-radius:999px;letter-spacing:.04em;
	background:linear-gradient(#e7e8f3,#b8bcd7);
	border:1px solid rgba(255,255,255,.9);
	box-shadow:0 2px 6px rgba(60,60,110,.25), inset 0 1px 0 #fff;
	color:#1c1c30;
}
.mxh-toggle{display:none;}

@media (max-width:1080px){
	.mxh-bar{padding:0 8px 0 16px;}
	.mxh-logo img{height:28px;}
	.mxh-toggle{
		display:flex;flex-direction:column;justify-content:center;gap:5px;
		width:44px;height:44px;padding:0 10px;margin:0;border:0;border-radius:12px;background:transparent;cursor:pointer;
	}
	.mxh-toggle span{display:block;height:2px;border-radius:2px;background:var(--mx-text);transition:transform .3s,opacity .3s;}
	.mxh-open .mxh-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
	.mxh-open .mxh-toggle span:nth-child(2){opacity:0;}
	.mxh-open .mxh-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
	.mxh-nav{
		position:absolute;top:calc(var(--mx-header-h) + 8px);left:0;right:0;
		background:rgba(255,255,255,.97);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.18);
		padding:12px 16px 20px;
		visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s;
		max-height:calc(100vh - 90px);overflow:auto;
	}
	.mxh-open .mxh-nav{visibility:visible;opacity:1;transform:none;}
	.mxh-menu{flex-direction:column;align-items:stretch;gap:0;}
	.mxh-menu > li > a{padding:14px 8px;border-bottom:1px solid #eee;font-size:16px;}
	.mxh-menu .mxh-group{margin:14px 0 6px;justify-content:center;gap:8px;}
	.mxh-menu .mxh-group a{border:0;padding:10px 14px;font-size:15px;}
	.mxh-menu li.lang{justify-content:center;padding:12px 0;font-size:16px;}
	.mxh-menu li.lang a{padding:4px 8px;}
	.mxh-menu li.lang span{padding:4px 8px;}
	.mxh-menu a.mxh-ticket{margin:8px auto 0;max-width:280px;text-align:center;border-bottom:1px solid rgba(255,255,255,.9);}
}

/* ================= フッター（全ページ共通） ================= */
.mxf{background:var(--mx-black);color:#fff;font-family:var(--mx-en);font-size:14px;line-height:1.6;border:0;}
.mxf-in{max-width:var(--mx-wrap);margin:0 auto;padding:64px 24px 40px;display:flex;justify-content:space-between;gap:48px;}
/* 左カラム（ロゴ・キャッチコピー・開催情報）は全幅で中央寄せ（2026-09-30〜。従来は 801px 以上で左寄せ） */
.mxf-brand{text-align:center;}
.mxf-logo{display:inline-block;}
.mxf-logo img{display:block;width:200px;height:auto;filter:brightness(0) invert(1);}
.mxf-tag{margin:14px 0 0;color:#aaa;font-size:11px;letter-spacing:.14em;text-transform:uppercase;}
.mxf-nav{display:flex;gap:64px;}
.mxf-col{display:flex;flex-direction:column;gap:8px;min-width:140px;}
.mxf-h{margin:0 0 6px;color:var(--mx-pink);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.mxf-col a{color:#fff;font-weight:500;text-decoration:none;font-size:14px;}
.mxf-col a:hover{color:var(--mx-pink);opacity:1;}
.mxf-copy{border-top:1px solid #222;padding:18px 16px;text-align:center;color:#888;font-size:12px;}
/* フッター左カラムの開催情報（2026-09-29〜。値は ini.php の $mxEvent*）
   KV のタイポグラフィ（白い大きな日付・ピンクの会場名）を小さく再現。キャッチコピーとは細い罫線＋ピンクの短いアクセントで区切る */
.mxf-event{position:relative;margin:22px 0 0;padding:20px 0 0;border-top:1px solid #2b2b2b;}
.mxf-event::before{content:"";position:absolute;top:-1px;left:50%;width:36px;height:2px;background:var(--mx-pink);transform:translateX(-50%);}
.mxf-date{display:block;margin:0;line-height:1;white-space:nowrap;}
.mxf-date time{display:inline-flex;align-items:baseline;gap:8px;}
.mxf-date__num{font-family:var(--mx-en);font-size:32px;font-weight:800;line-height:1;letter-spacing:.01em;color:#fff;}
.mxf-date__dow{font-family:var(--mx-en);font-size:13px;font-weight:600;line-height:1;letter-spacing:.06em;color:#fff;}
.mxf-venue{margin:10px 0 0;font-family:var(--mx-en);font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.06em;color:var(--mx-pink);}
.mxf-join{margin:14px 0 0;}
.mxf-join span{
	display:inline-block;padding:4px 14px;border:1px solid rgba(232,166,200,.65);border-radius:999px;
	font-family:var(--mx-en);font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.06em;color:#e6e6e6;
}
/* 801px 以上（PC・中間幅）: 左カラムは日英で罫線の長さがそろうよう最小幅を持たせる */
@media (min-width:801px){
	.mxf-brand{min-width:240px;}
}
/* 中間幅（801〜1080px）: 左カラムを上段・3列を下段の2段組み（横並びだと 801〜約843px で3列がはみ出していたため）
   ヘッダーがハンバーガーになる幅（1080px 以下）と切替をそろえる。3列の列幅・列間は PC と同じ */
@media (min-width:801px) and (max-width:1080px){
	.mxf-in{flex-direction:column;align-items:center;gap:44px;}
	.mxf-col{align-items:center;text-align:center;}
}
@media (max-width:800px){
	.mxf-in{flex-direction:column;align-items:center;text-align:center;padding:48px 16px 32px;gap:32px;}
	.mxf-nav{flex-direction:column;gap:28px;}
	.mxf-col{align-items:center;}
	/* 縦積み時は中央寄せ。罫線はロゴ幅に合わせる（アクセントの中央配置は全幅共通の指定） */
	.mxf-event{margin-top:20px;padding-top:18px;}
	.mxf-date__num{font-size:28px;}
}

/* ================= 下層ページ（旧 style.css と併用） ================= */
body.mx-sub .body{padding-top:calc(var(--mx-header-h) + 16px);}

/* ================= トップ ================= */
body.mx-top{margin:0;background:var(--mx-bg);color:var(--mx-text);font-family:var(--mx-ja);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased;}
body.mx-top *,body.mx-top *::before,body.mx-top *::after{box-sizing:border-box;}
/* リセットは :where で詳細度0にし、後続のクラス指定が必ず勝つようにする */
:where(.mx27) :where(h1,h2,h3,p,ul,ol,dl,dd){margin:0;padding:0;}
:where(.mx27) :where(ul,ol){list-style:none;}
:where(.mx27) :where(img){max-width:100%;height:auto;border:0;}
:where(.mx27) :where(a){color:inherit;text-decoration:none;}
.mx27{overflow-x:clip;}
.mx-main{display:block;}
.mx-wrap{position:relative;z-index:1;max-width:var(--mx-wrap);margin:0 auto;padding:0 24px;}

/* ---- 見出し（頭にピンクの三角 try.png） ---- */
.mx-head{margin:0 0 44px -24px;}
.mx-head__en,.mx-head__main{position:relative;padding-left:44px;}
.mx-head__en::before,.mx-head__main::before{
	content:"";position:absolute;top:50%;background:url(/assets2027/try.png) center/contain no-repeat;
}
.mx-head__en{font-family:var(--mx-en);font-weight:400;font-size:26px;line-height:1.3;letter-spacing:.04em;color:var(--mx-pink-d);margin-bottom:6px;}
.mx-head__en::before{left:0;width:18px;height:35px;margin-top:-18px;}
.mx-head__main{font-family:var(--mx-ja);font-weight:900;font-size:46px;line-height:1.3;letter-spacing:.06em;color:var(--mx-text);}
.en .mx-head__main{font-family:var(--mx-en);font-weight:700;letter-spacing:.01em;}
.mx-head__main::before{left:-22px;width:20px;height:39px;margin-top:-20px;}
.mx-head__sub{margin-top:14px;padding-left:44px;font-family:var(--mx-en);font-size:14px;font-weight:600;letter-spacing:.08em;color:var(--mx-gray);}

/* ---- 共通パーツ ---- */
.mx-sec{position:relative;padding:96px 0 110px;}
.mx-soon{
	max-width:960px;margin:0 auto;padding:30px 16px;text-align:center;
	font-family:var(--mx-en);font-size:26px;font-weight:300;letter-spacing:.24em;color:#8f8f8f;
	border-top:2px solid var(--mx-text);border-bottom:2px solid var(--mx-text);
}
.mx-note{max-width:960px;margin:-16px auto 28px;text-align:center;font-size:13px;color:#666;}
.mx-more{margin-top:36px;text-align:right;}
.mx-more--center{text-align:center;}
.mx-btn{
	position:relative;display:inline-flex;align-items:center;min-width:250px;
	padding:13px 54px 13px 32px;border-radius:999px;
	background:var(--mx-purple);color:#fff;
	font-family:var(--mx-ja);font-weight:700;font-size:14px;letter-spacing:.1em;line-height:1.4;
	box-shadow:0 4px 12px rgba(140,60,130,.25);transition:opacity .2s,transform .2s;
}
.mx-btn::after{
	content:"";position:absolute;right:22px;top:50%;width:8px;height:15px;margin-top:-7px;
	background:url(/assets2027/try.png) center/contain no-repeat;filter:brightness(0) invert(1);
}
.mx-btn:hover{opacity:.85;transform:translateY(-1px);}
.mx-btn--lg{min-width:320px;justify-content:center;padding:18px 60px;font-size:16px;}
.mx-btn--white{background:#fff;color:var(--mx-pink-d);box-shadow:none;}
.mx-btn--white::after{filter:none;}
.mx-anchor{position:absolute;top:0;}

/* 花模様の背景装飾（back.png は半透明のPNG。軽量化した back.webp を使う） */
.mx-deco-tr::before,.mx-deco-tl::before,.mx-deco-br::before{
	content:"";position:absolute;z-index:0;pointer-events:none;
	width:1100px;height:1100px;background:url(/assets2027/back.webp) center/contain no-repeat;opacity:.55;
}
.mx-deco-tr::before{top:-120px;right:-330px;}
.mx-deco-tl::before{top:-260px;left:-560px;}
.mx-deco-br::before{bottom:-420px;right:-460px;}

/* 上辺をゆるいアーチにする（前のセクションの下端に被せる） */
.mx-arch::after{
	content:"";position:absolute;z-index:0;left:-5%;right:-5%;top:-100px;height:200px;border-radius:50%;pointer-events:none;
}
.mx-arch--white{background:#fff;}
.mx-arch--white::after{background:#fff;}
.mx-arch--gray{background:var(--mx-bg);}
.mx-arch--gray::after{background:var(--mx-bg);}

/* ---- KV ---- */
.mx-kv{
	position:relative;overflow:hidden;background:#1d1d28;
	/* 2026-11-04 高さ指定（旧: height:clamp(560px, 56.25vw, 1000px)）は PC 用の @media へ移した（下記） */
	-webkit-clip-path:ellipse(115% 100% at 50% 0%);clip-path:ellipse(115% 100% at 50% 0%);
	z-index:2;
}
.mx-kv__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.mx-kv__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,40,.45),rgba(20,18,40,.12) 70%),linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,0) 30%);}
.mx-kv__txt{max-width:1320px;margin:0;font-size:0;line-height:0;}
.mx-kv__txt img{display:block;width:100%;height:auto;}
/* 2026-11-04 KV を最低で画面の高さの 75% に（2026-11-04 夕 ユーザー指示で 100% → 75% に。それまでは最低1画面分）（PC のみ。SP・縦長画面は下の @media (max-width:767px), (orientation:portrait) の min-height:75svh のまま）。
   文字の画像（.mx-kv__txt）は absolute をやめて通常の配置にし、文字が大きいときは KV が中身に合わせて伸びる。
   位置は旧指定（left:5.9%; top:max(76px,5.4vw); width:75.3%; max-width:1320px）と同じになるよう、上は KV の padding、左は margin で取る。上寄せ。
   下端のカーブ（clip-path ellipse 115%×100%）は左右端で高さの約 10% 削れるので、下にも max(10svh, 6vw) の余白を取り、文字がカーブにかからないようにする
   （10svh は KV が画面の高さで決まるとき〈75svh なら削れるのは約 7.5svh なので 10svh で足りる〉、6vw は文字に合わせて伸びたとき〈高さの約 11% 以上〉の分）。
   動画・影は absolute のまま全面に敷き、文字は z-index で前面に出す
   2026-11-04 縦長画面（タブレット縦置き等）は KV を SP 表示にするため、横長（landscape）のときだけに限定した */
@media (min-width:768px) and (orientation:landscape){
	.mx-kv{
		box-sizing:border-box;
		min-height:560px;min-height:max(560px, 75vh);min-height:max(560px, 75svh);
		padding:max(76px, 5.4vw) 0 10vh;padding-bottom:max(10vh, 6vw);padding-bottom:max(10svh, 6vw);
	}
	.mx-kv__video,.mx-kv__shade{z-index:0;}
	.mx-kv__txt{position:relative;z-index:1;width:75.3%;margin-left:5.9%;}
}

/* ---- アーカイブ配信の案内（2026-09-29。$mxShowArchive）----
   2026 年版サイトの .otop4 / .otop5（旧 style.css）の見た目をそのまま再現する。
   旧サイトは html の font-size が 18px（800px 以下は 15px）で rem 指定だったため、ここでは同じ値を px に換算して書いている。
   PC: KV の直下に、最大 1333px・左右 20px 空けた全幅の帯ボタン（旧: KV の白枠の直下、margin-top .5rem）
   SP: KV の下部に重ねる。左右 45px・最大 360px・下から 52.5px（旧: position:absolute; bottom:3.5rem; left/right:3rem） */
/* 2026-09-29（夜）ユーザー指示で上の余白を 1.5rem 足した（PC: KV のカーブ下端から 9px → 9px＋1.5rem） */
.mx-archive{position:relative;z-index:3;width:calc(100% - 40px);max-width:1333px;margin:calc(9px + 1.5rem) auto 0;}
.mx-archive__link{
	display:block;width:100%;margin:0;
	font-family:"helvetica-lt-pro","Noto Sans JP",sans-serif;font-size:19.8px;font-weight:500;line-height:79.2px;letter-spacing:0;
	background:linear-gradient(to right,#b24d91,var(--mx-purple-d));color:#fff;text-align:center;text-decoration:none;
	border:2px solid #fff;border-radius:18px;
}
/* (2026-09-30) 配色はユーザー指示で MoneyX2027 のトーンに変更（形・大きさ・位置・白枠は 2026 版準拠のまま。旧: #ffb22f→#e73e0e）。
   濃いピンク → 紫（--mx-purple-d #8e4a9a）。左端は --mx-pink-d（#c0579a、白文字とのコントラスト 4.14:1）を少し暗くした #b24d91 にして、
   いちばん明るい所でも白文字と 4.81:1（WCAG AA 4.5:1 以上）を確保。
   ホバーは旧来の opacity（背景が透けて文字のコントラストが落ちる）をやめ、同じ色相で一段暗くする（#9f4582→#7c4087、白文字と 5.76:1 以上） */
.mx27 .mx-archive__link{color:#fff;}
.mx-archive__link:hover{background:linear-gradient(to right,#9f4582,#7c4087);}

/* ---- About ---- */
.mx-about{background:var(--mx-bg);padding-top:70px;padding-bottom:80px;}
.mx-about__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:48px;align-items:start;}
.mx-about__body{padding-left:14px;}
.mx-about__text{font-size:15px;line-height:1.95;letter-spacing:.02em;}
.en .mx-about__text{font-family:var(--mx-en);font-size:14.5px;line-height:1.85;letter-spacing:0;}
.mx-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:28px;}
.mx-fact{
	display:flex;align-items:center;gap:10px;min-height:36px;padding:5px 16px;border-radius:999px;
	background:linear-gradient(#fff,#efeeee);border:1px solid #dedcdc;box-shadow:0 1px 2px rgba(0,0,0,.06);
}
.mx-fact dt{flex:0 0 auto;color:var(--mx-pink-d);font-weight:700;font-size:13px;white-space:nowrap;}
.mx-fact dd{font-family:var(--mx-en);font-size:13.5px;font-weight:500;line-height:1.35;}
.mx-fact dd{white-space:nowrap;}
.en .mx-facts{grid-template-columns:repeat(2,auto);justify-content:start;}
.en .mx-fact dd{font-size:13px;}
.ja .mx-fact dd{font-family:var(--mx-ja);}
/* (2026-09-30) 説明文の下の「さらに詳しい情報はこちら」（CoinPost 特集記事へのテキストリンク。ピンクの文字＋丸い↗） */
/* 右寄せ（説明文のカラムの右端にそろえる。VENUE のリンクと同じ扱い。2026-09-30） */
.mx-about__more{display:flex;justify-content:flex-end;margin-top:22px;}
.mx-about__morelink{
	display:inline-flex;align-items:center;gap:12px;padding:4px 0;
	color:var(--mx-pink-d);font-weight:700;font-size:15px;line-height:1.4;letter-spacing:.04em;
}
.mx27 .mx-about__morelink{color:var(--mx-pink-d);}
.en .mx-about__morelink{font-family:var(--mx-en);letter-spacing:.02em;}
.mx-about__moretxt{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:2px;transition:background-size .25s;}
.mx-about__morelink:hover .mx-about__moretxt{background-size:100% 1px;}
.mx-about__morearrow{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--mx-pink-d);color:#fff;transition:transform .2s;}
.mx-about__morearrow svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.mx-about__morelink:hover .mx-about__morearrow{transform:translate(2px,-2px);}
/* (2026-09-30) 4つのピルは Organized and Produced by の枠の直前に、枠と同じ最大幅（690px）で中央寄せ。
   同じ幅の 2列×2段（上段: イベント名／会場、下段: 開催日／参加形式）。列は 1fr で、枠の左右端とそろう。
   1列の最小幅 330px を割る（＝全体が 672px 未満になる）幅では自動で1列になる */
.mx-facts.mx-facts--center,.en .mx-facts.mx-facts--center{
	display:grid;grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));gap:10px 12px;max-width:690px;margin:48px auto 0;
}
/* ラベルは言語ごとに固定幅（最長のラベル「イベント名」「Participation」が入る幅）にして、4つとも値の開始位置をそろえる。左寄せ。
   値は1行が基本だが、収まらないときはピルの中で2行に折り返す（行の長さは balance でそろえる） */
.mx-facts--center .mx-fact{gap:10px;padding:5px 14px 5px 18px;}
.mx-facts--center .mx-fact dt{flex:0 0 68px;}
.en .mx-facts--center .mx-fact dt{flex-basis:84px;}
.mx-facts--center .mx-fact dd{flex:1 1 auto;min-width:0;white-space:normal;text-wrap:balance;}
/* 2026-11-04 -40px → 0。ピルとロゴを移して右の列が長くなったので、上端を説明文にそろえる */
.mx-about__movie{margin-top:0;}
/* Information 非表示時（$mxShowInformation=false）は About の直後が Partners のアーチになるので、Information と同じだけ下を空ける */
.mx-about--before-arch{padding-bottom:170px;}
.mx-movie{position:relative;aspect-ratio:16/9;background:#111;box-shadow:0 10px 30px rgba(0,0,0,.18);}
.mx-movie iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
/* Recap 動画（自ホストの mp4。2026-09-29〜）。枠は iframe と同じ 16:9 */
.mx-movie video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#000;}
.mx-org{
	max-width:690px;margin:20px auto 0;padding:18px 32px 24px;text-align:center;
	background:#fff;border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.08);
}
.mx-org__h{font-family:var(--mx-en);font-size:13px;font-weight:600;letter-spacing:.02em;margin-bottom:10px }
/* ロゴは3枚とも同じキャンバス（400x160）で余白まで調整済みなので、全部同じ幅で並べるだけ（画像ごとの個別指定はしない）。
   PC は 200px × 3 ＋ 間 10px × 2 ＝ 620px が枠の内側（690 − 左右 32 × 2 ＝ 626px）に収まる */
.mx-org__logos{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
.mx-org__logos img{display:block;width:200px;max-width:100%;height:auto;}
/* 2026-11-04 動画下の空きを埋めるため、ピルとロゴを右の列（.mx-about__movie の中、動画の後ろ）へ移設。
   768px 以上だけの指定にして、SP（767px 以下）は従来の指定のまま（文章 → 動画 → ピル → ロゴ の縦並び）。
   ピルは右の列の幅（1440px で約 508px、1024px で約 427px）では 2列だと会場名などが折り返して読みにくいので、1列にする。
   1列のほうが縦に伸びるので、長くなった説明文の列とも高さがそろいやすい */
@media (min-width:768px){
	.mx-about__movie .mx-facts.mx-facts--center{grid-template-columns:1fr;gap:12px;max-width:none;margin:36px 0 0;}
	.mx-about__movie .mx-facts--center .mx-fact{min-height:42px;padding:6px 18px 6px 22px;}
	/* ロゴの枠も右の列の幅いっぱいに。ロゴ2枚は横並びで、列が狭いときは等分に縮める（最大 200px）。
	   1枚 150px（SP と同じ大きさ）を割る幅（768px 付近）では、小さくなりすぎないよう縦に積む */
	.mx-about__movie .mx-org{max-width:none;margin:24px 0 0;padding:18px 20px 22px;}
	.mx-about__movie .mx-org__logos{gap:4px 12px;}
	.mx-about__movie .mx-org__logos img{flex:1 1 150px;min-width:0;width:auto;max-width:200px;}
}

/* ---- 参加登録の帯（黒） ---- */
.mx-band{position:relative;background:var(--mx-black);color:#fff;overflow:hidden;}
.mx-band::before{content:"";position:absolute;left:-380px;top:50%;width:760px;height:760px;margin-top:-380px;background:url(/assets2027/back.webp) center/contain no-repeat;opacity:.6;}
.mx-band__in{position:relative;display:flex;align-items:center;justify-content:center;gap:36px;padding:26px 24px;max-width:var(--mx-wrap);margin:0 auto;}
.mx-band__text{font-weight:700;font-size:18px;line-height:1.6;text-align:right;letter-spacing:.04em;}

/* ---- Information ---- */
.mx-info{background:var(--mx-bg);padding-top:80px;padding-bottom:170px;}
/* 記事カード（$mxInfoArticles。2026-09-29 に開催概要の下から移設した CoinPost 特集記事と同じ見た目）。
   Organized and Produced by の枠と同じ白角丸枠、記事は開催概要のピルと同じ質感の行＋ピンクの丸い↗。
   幅は Coming soon（.mx-soon）と同じ 960px。媒体名・日付は行の先頭に小さく出す（SP ではタイトルの上に積む） */
.mx-news{
	max-width:960px;margin:0 auto;padding:20px 24px;
	background:#fff;border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.08);
}
.mx-news__list li + li{margin-top:8px;}
.mx-news__link{
	display:flex;align-items:center;gap:14px;padding:10px 10px 10px 20px;border-radius:999px;
	background:linear-gradient(#fff,#efeeee);border:1px solid #dedcdc;box-shadow:0 1px 2px rgba(0,0,0,.06);
	transition:border-color .2s,box-shadow .2s;
}
.mx-news__link:hover{border-color:var(--mx-pink);box-shadow:0 2px 8px rgba(192,87,154,.18);}
.mx-news__meta{flex:0 0 auto;display:flex;align-items:center;gap:10px;}
.mx-news__date{font-family:var(--mx-en);font-size:13px;font-weight:500;color:var(--mx-gray);white-space:nowrap;}
.mx-news__src{
	display:inline-block;padding:2px 10px;border:1px solid var(--mx-pink);border-radius:999px;background:#fff;
	font-family:var(--mx-en);font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.04em;color:var(--mx-pink-d);white-space:nowrap;
}
.mx-news__title{flex:1 1 auto;min-width:0;font-family:var(--mx-ja);font-size:14px;font-weight:700;line-height:1.5;}
.mx-news__link:hover .mx-news__title{color:var(--mx-pink-d);}
.mx-news__note{font-family:var(--mx-en);font-size:12px;font-weight:500;color:var(--mx-gray);white-space:nowrap;}
.mx-news__arrow{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--mx-pink-d);color:#fff;}
.mx-news__arrow svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.mx-news__more{max-width:960px;margin:14px auto 0;text-align:right;}
.mx-news__more a::before{content:"\25B6";margin-right:8px;font-size:12px;}

/* ---- Partners ---- */
.mx-partners{padding-top:60px;padding-bottom:150px;}
.mx-tier{margin-top:10px;}
.mx-tier__h{
	position:relative;padding:0 0 6px 16px;border-bottom:1px solid #f3d6e4;
	font-family:var(--mx-en);font-size:11px;font-weight:600;letter-spacing:.14em;color:#9a9a9a;
}
.mx-tier__h::before{content:"";position:absolute;left:0;top:2px;width:7px;height:13px;background:url(/assets2027/try.png) center/contain no-repeat;}
.mx-tier__logos{display:flex;flex-wrap:nowrap;align-items:center;width:max-content;padding:18px 0 26px;}
/* ロゴ枠は固定幅（マーキーの1周の長さを確定させるため%にしない）。間隔は gap ではなく右マージンで取る
   （gap だと全体の -50% が1周分とぴったり一致しなくなるため） */
/* (2026-09-30 クライアント指示) ロゴの箱は TITLE だけ大きくし、ほかの区分（PLATINUM〜ORGANIZER）はすべて同じ大きさにそろえる。
   従来は PLATINUM 212x78・GOLD 170x64・その他 160x56 と区分ごとに違っていたのを、GOLD と同じ 170x64 に統一した（SP は 112x48） */
.mx-tier__logos li{--w:170px;--h:64px;--gap:24px;flex:0 0 auto;width:var(--w);height:var(--h);margin-right:var(--gap);display:flex;align-items:center;justify-content:center;}
.mx-tier__logos img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
.mx-tier__name{font-size:13px;font-weight:700;text-align:center;line-height:1.3;}
.mx-tier--title .mx-tier__logos li{--w:270px;--h:96px;--gap:28px;}
/* 無限マーキー（区分ごとに1行。複製とアニメーション時間の設定は top_body.php 末尾の JS）
   JS が動く前・動かない環境では流さず、横スクロールで見られる。
   ユーザー指示により OS のアニメーション軽減設定（prefers-reduced-motion: reduce）でも止めない（2026-09-28〜） */
.mx-marquee{
	overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
	mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
/* ロゴ1周分がボックスに収まる区分は流さず、その場に止める（複製なし）。区分ラベルと同じく左寄せ。
   端が切れないので左右のフェードも外す（SP 側の mask 指定より詳細度が高いので @media 内でも効く） */
.mx-marquee.is-static{overflow:hidden;-webkit-mask-image:none;mask-image:none;}
.mx-marquee.is-running{overflow:hidden;}
.mx-marquee.is-running .mx-marquee__track{animation:mx-marquee 60s linear infinite;will-change:transform;}
.mx-marquee.is-running:hover .mx-marquee__track{animation-play-state:paused;}
@keyframes mx-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---- Speakers ---- */
.mx-speakers{background:linear-gradient(var(--mx-bg),#fff 85%);padding-top:60px;padding-bottom:70px;}
.mx-carousel{position:relative;max-width:1180px;margin:0 auto;padding:0 44px;}
.mx-carousel__track{
	position:relative;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
	padding:26px calc(50% - 115px) 14px;scrollbar-width:none;-ms-overflow-style:none;
	/* 上下のガタつき対策（2026-09-30）: 中央カードの拡大（scale 1.08）が下端を約6px はみ出し、トラックが縦にもスクロール可能になっていた。
	   ホイールやスワイプでトラックだけが数px 縦に動き、次の切り替えで 0 に戻ってカードが上下に跳ねていたため、
	   ①縦方向はスクロールさせない ②下の余白を 8px 足して拡大分を収め、同じ量の負のマージンで後続（ドット）の位置は変えない */
	overflow-y:hidden;padding-bottom:22px;margin-bottom:-8px;
}
.mx-carousel__track::-webkit-scrollbar{display:none;}
/* ループの折り返しで原本側へ瞬時に戻すとき、smooth スクロールとカードの拡大トランジションを切る */
.mx-carousel__track.is-jump{scroll-behavior:auto;}
.mx-carousel__track.is-jump .mx-spk{transition:none;}
/* prefers-reduced-motion: reduce でも smooth のまま（OS の設定にかかわらず同じ動きにする。2026-09-28〜） */
.mx-spk{flex:0 0 200px;scroll-snap-align:center;text-align:center;opacity:.45;transform:scale(.92);transition:opacity .35s,transform .35s;transform-origin:50% 40%;}
.mx-spk.is-near{opacity:.8;transform:scale(.97);}
.mx-spk.is-active{opacity:1;transform:scale(1.08);}
.mx-spk__photo{aspect-ratio:4/5;overflow:hidden;background:#e9e7e7;border-radius:4px;}
.mx-spk__photo img{display:block;width:100%;height:100%;object-fit:cover;}
.mx-spk__name{
	margin:8px 0 0;padding:5px 8px;border-radius:999px;background:#e7c3da;color:#fff;
	font-weight:700;font-size:14px;line-height:1.35;letter-spacing:.05em;
}
.mx-spk.is-active .mx-spk__name{background:var(--mx-purple);}
.mx-spk__logo{height:26px;margin-top:8px;display:flex;justify-content:center;}
.mx-spk__logo img{max-height:100%;width:auto;object-fit:contain;}
.mx-spk__corp{margin-top:6px;font-size:12px;font-weight:700;line-height:1.45;}
.mx-spk__title{font-size:11px;line-height:1.45;color:#555;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.mx-carousel__arrow{
	position:absolute;top:150px;width:34px;height:60px;margin:0;padding:0;border:0;cursor:pointer;z-index:2;
	background:url(/assets2027/try.png) center/16px auto no-repeat;
}
.mx-carousel__arrow.is-prev{left:4px;}
.mx-carousel__arrow.is-next{right:4px;transform:scaleX(-1);}
.mx-carousel__dots{display:flex;justify-content:center;gap:8px;margin-top:14px;}
.mx-carousel__dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#ecd0e1;cursor:pointer;}
.mx-carousel__dots button.is-active{background:var(--mx-purple);}

/* ---- Agenda ---- */
.mx-agenda{background:#fff;padding-top:60px;padding-bottom:130px;}
/* Agenda 非表示時（$mxShowAgenda=false）は Speakers の直後が参加者データ（ピンク地）になるので、Speakers の下を広げる */
.mx-speakers--no-agenda{padding-bottom:110px;}

/* ---- Attendee Overview ---- */
.mx-overview{background:var(--mx-pink-bg);padding:80px 0 90px;}
.mx-stats{
	display:grid;grid-template-columns:300px 190px minmax(0,1fr);gap:16px;align-items:stretch;
	max-width:1020px;margin:0 auto;padding:18px;background:rgba(236,205,221,.35);border-radius:6px;
}
.mx-stats__box{background:rgba(255,255,255,.35);border:2px solid rgba(214,180,199,.55);border-radius:4px;padding:18px 22px;}
.mx-stats__coh{font-family:var(--mx-en);font-weight:600;font-size:15px;padding-bottom:6px;margin-bottom:12px;border-bottom:1px solid #d9bccb;text-align:center;}
/* Co-Produced by のロゴは1行2つずつ並べ、各行（端数の最終行を含む）を枠の中で水平中央にそろえる。
   従来の2列グリッドだと、奇数個のとき最後の1つが左の列に寄っていたため flex＋中央寄せにした */
.mx-stats__logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;}
.mx-stats__logos img{flex:0 0 auto;width:auto;max-width:calc((100% - 14px) / 2);height:40px;object-fit:contain;object-position:center;}
.mx-stats__num{display:flex;flex-direction:column;justify-content:center;gap:18px;text-align:center;}
.mx-stats__label{font-size:14px;font-weight:700;color:#555;}
.mx-stats__value{font-family:var(--mx-en);font-size:42px;font-weight:800;line-height:1.1;letter-spacing:.01em;}
.mx-stats__chart{display:flex;align-items:center;justify-content:center;}
.mx-donut{display:block;width:100%;height:auto;max-width:660px;}
.mx-donut__line{stroke:#9c8a94;stroke-width:1;}
.mx-donut__name{font-family:var(--mx-ja);font-size:13px;font-weight:700;fill:#333;}
.mx-donut__pct{font-family:var(--mx-en);font-size:14px;font-weight:700;fill:var(--mx-purple-d);}
.mx-legend{display:none;}
.mx-stats__note{max-width:1020px;margin:10px auto 0;text-align:right;font-size:12px;color:#777;}
/* Event Outline 非表示時（$mxShowOutline=false）は直後が Ticket の白いアーチ（上に 100px 被さる）になるので、そのぶん下を空ける */
.mx-overview--before-arch{padding-bottom:190px;}

/* ---- Event Outline ---- */
.mx-outline{background:linear-gradient(#fff,var(--mx-bg));padding-bottom:180px;}

/* ---- Ticket ---- */
.mx-ticket{padding-top:60px;padding-bottom:120px;}
.mx-ticket__desc{text-align:center;font-size:15px;margin-bottom:40px }
/* 参加申請の開始前の予告文（$mxApplicationOpen=false。2026-09-29） */
.mx-ticket__desc--soon{font-weight:700;font-size:17px;color:var(--mx-text);}
/* 2026-10-01 文言修正で EN が長くなったため: 幅を下の参加フロー（.mx-steps 最大 960px）にそろえ、折り返すときは行の長さを均等に。
   JA は文節で折り返す（auto-phrase。lang="ja" のときだけ効く。SP 390 で「す。」だけが2行目に落ちるのを防ぐ） */
.mx-ticket__desc--soon{max-width:960px;margin-left:auto;margin-right:auto;text-wrap:balance;}
.mx-ticket__desc--soon:lang(ja){word-break:auto-phrase;}
/* 参加申請の開始前は、予告文だけを薄ピンクの角丸カードに入れて出す（2026-10-01 モック対応。フロー・ボタンは $mxApplicationOpen=true のときだけ）。
   PC は最大 960px・高さ 155px 以上で中身を縦中央、SP は .mx-wrap の左右 16px の内側で全幅 */
.mx-ticket__card{
	display:flex;align-items:center;justify-content:center;
	max-width:960px;min-height:155px;margin:0 auto;padding:36px 48px;
	border-radius:14px;background:var(--mx-pink-bg);
}
.mx-ticket__card .mx-ticket__desc--soon{max-width:none;margin:0;}
/* (2026-11-10) 予告文カードの下の申請ボタン「ご申請」/「Apply」（$mxApplicationOpen=false のとき。クライアント指示「KV のカラーで」）。
   形・大きさ・角丸・右の▶は .mx-btn.mx-btn--lg のまま、色だけ KV のキービジュアル（ogp.jpg と同じ絵柄）から取る:
   ・#a6559d … KV の「FinTech For The Future」「ANA InterContinental Tokyo」の紫（top.png から抽出）
   ・#b44f92 … KV の線画のピンク（#e8a6c8 系）の色相のまま、白文字と 4.5:1 を満たす明るさまで下げたもの
   ・#8e4a9a … サイト共通の濃い紫（--mx-purple-d）
   白文字とのコントラストは、いちばん明るい #b44f92 で 4.69:1、#a6559d で 4.76:1、#8e4a9a で 5.84:1（WCAG AA 4.5:1 以上）。
   外周の淡いピンクの輪（#f5d3e3 = --mx-pink-l）は KV の線画の淡い色。hover は既存 .mx-btn の opacity（背景が透けて文字が薄くなる）をやめ、
   同じ色相で一段暗くする（#9f4582→#8a3f86→#7c4087。白文字と 5.76:1 以上）。focus-visible は KV の紫の輪（白地と 4.76:1） */
.mx-ticket__apply{margin-top:32px;}
.mx-btn--kv{
	background:linear-gradient(100deg,#b44f92 0%,#a6559d 50%,#8e4a9a 100%);color:#fff;
	box-shadow:0 0 0 3px var(--mx-pink-l),0 8px 20px rgba(166,85,157,.32);
	transition:background .2s,box-shadow .2s,transform .2s;
}
.mx27 .mx-btn--kv{color:#fff;}
.mx-btn--kv:hover{opacity:1;background:linear-gradient(100deg,#9f4582 0%,#8a3f86 50%,#7c4087 100%);box-shadow:0 0 0 3px var(--mx-pink),0 10px 24px rgba(166,85,157,.4);}
.mx-btn--kv:focus-visible{outline:3px solid #a6559d;outline-offset:5px;}
.en .mx-btn--kv{font-family:var(--mx-en);letter-spacing:.08em;}
.mx-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;max-width:960px;margin:0 auto;counter-reset:none;}
/* カードは上から 番号 → アイコン → 見出し → 説明文 の順に流し込む（アイコン追加に伴い、番号の絶対配置と aspect-ratio をやめた） */
.mx-step{
	position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
	min-height:200px;padding:18px 12px 22px;border-radius:12px;background:var(--mx-pink-bg);text-align:center;
}
.mx-step__no{display:block;font-family:var(--mx-en);font-weight:300;font-size:34px;line-height:1;color:var(--mx-pink-d);}
/* 手順アイコン（インライン SVG の線画。色は currentColor でアクセントのピンクに合わせる） */
.mx-step__icon{display:block;flex:0 0 auto;width:48px;height:48px;margin:12px 0 10px;color:var(--mx-pink-d);}
.mx-step__icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.mx-step__h{font-weight:900;font-size:17px;margin-bottom:6px }
.mx-step__txt{font-size:13px;line-height:1.6;color:#333;}
.mx-step:not(:last-child)::after{
	content:"";position:absolute;right:-24px;top:50%;width:10px;height:18px;margin-top:-9px;
	background:url(/assets2027/try.png) center/contain no-repeat;transform:scaleX(-1);
}

/* VENUE 表示時（$mxShowVenue=true）は直後が VENUE のグレーのアーチ（上に 100px 被さる）になるので、そのぶん Ticket の下を空ける */
.mx-ticket--before-arch{padding-bottom:190px;}

/* ---- Venue / 会場・アクセス（2026-09-30。WebX の VENUE〔写真・会場名・住所・公式サイト＋地図〕を MoneyX のトーンで） ---- */
.mx-venue{background:var(--mx-bg);padding-top:60px;padding-bottom:120px;}
.mx-venue__card{
	display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1080px;margin:0 auto;
	background:#fff;border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.08);overflow:hidden;
}
.mx-venue__info{display:flex;flex-direction:column;}
.mx-venue__photo{margin:0;aspect-ratio:846/500;overflow:hidden;background:#1d1d28;}
.mx-venue__photo img{display:block;width:100%;height:100%;object-fit:cover;}
.mx-venue__body{padding:28px 36px 32px;}
.mx-venue__name{position:relative;padding-left:18px;font-weight:900;font-size:22px;line-height:1.4;letter-spacing:.04em;}
.en .mx-venue__name{font-family:var(--mx-en);font-weight:700;letter-spacing:.01em;}
.mx-venue__name::before{content:"";position:absolute;left:0;top:50%;width:9px;height:17px;margin-top:-8px;background:url(/assets2027/try.png) center/contain no-repeat;}
.mx-venue__namesub{margin-top:2px;padding-left:18px;font-family:var(--mx-en);font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--mx-pink-d);}
.mx-venue__addr{margin-top:12px;padding:8px 16px;border-radius:999px;background:linear-gradient(#fff,#efeeee);border:1px solid #dedcdc;font-size:13.5px;font-weight:500;line-height:1.5;}
.en .mx-venue__addr{font-family:var(--mx-en);font-size:13px;}
.mx-venue__h{margin-top:20px;padding-bottom:6px;border-bottom:1px solid #f3d6e4;font-family:var(--mx-en);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--mx-pink-d);}
.ja .mx-venue__h{font-family:var(--mx-ja);letter-spacing:.08em;}
/* (2026-09-30) アクセス一覧の行間を詰めた: 行の上下の余白と、見出しの罫線 → 1行目の間を従来の 2/3 に（margin 10→6.67px、padding 5→3.33px）。
   2行に折り返す行（国会議事堂前駅など）が間延びしないよう、行の高さも 1.6 → 1.45 に */
.mx-venue__access{margin-top:calc(10px * 2 / 3);}
.mx-venue__access li{display:flex;gap:12px;padding:calc(5px * 2 / 3) 0;font-size:13px;line-height:1.45;}
.en .mx-venue__access li{font-family:var(--mx-en);}
.mx-venue__line{flex:0 0 9.5em;font-weight:700;color:var(--mx-text);}
.en .mx-venue__line{flex-basis:12em;}
.mx-venue__route{flex:1 1 auto;min-width:0;color:#333;}
/* (2026-09-30) リンク2つは右寄せ（SP で折り返して縦に並んでも、各行の右端がカードの内側の右端にそろう） */
.mx-venue__links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 22px;margin-top:20px;}
.mx-venue__link{display:inline-flex;align-items:center;gap:10px;color:var(--mx-pink-d);font-weight:700;font-size:14px;line-height:1.4;}
.mx27 .mx-venue__link{color:var(--mx-pink-d);}
.en .mx-venue__link{font-family:var(--mx-en);}
.mx-venue__link:hover{opacity:.75;}
.mx-venue__arrow{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--mx-pink-d);color:#fff;}
.mx-venue__arrow svg{display:block;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.mx-venue__map{position:relative;min-height:420px;background:#e9e7e7;}
.mx-venue__map iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;}

/* ================= タブレット ================= */
@media (max-width:1080px){
	.mx-head__main{font-size:40px;}
	.mx-stats{grid-template-columns:1fr 1fr;}
	.mx-stats__chart{grid-column:1 / -1;}
	.mx-tier--title .mx-tier__logos li{--h:80px;}
}

/* ================= スマホ（KV・アーカイブ案内のみ。縦長画面も含む） ================= */
/* 2026-11-04 縦長画面（タブレット縦置き等）は幅にかかわらず KV を SP 表示に（tops.png・SP 用動画は top_body.php 側で同じ条件）。
   KV 以外のセクションは従来どおり幅（767px 以下）で切り替えるので、下の @media (max-width:767px) に残す。
   アーカイブ案内も KV の下部に重ねる前提（.mx-kv--archive の下余白と対）なので、KV と一緒に SP 表示にそろえる */
@media (max-width:767px), (orientation:portrait){
	/* SP のヒーローは画面の 75% 以上の高さにする（svh 非対応ブラウザ向けに vh を先に書く）。
	   動画・poster は絶対配置の 100%×100%＋object-fit:cover なので、伸びた高さもすき間なく覆う。
	   下端のアーチは .mx-kv 自身の clip-path（高さ基準の楕円）なので、伸びた下端にそのまま追従する。
	   重ね文字（tops.png）は余った高さの中で縦中央に置く（上寄せだと下半分が動画だけになり間延びするため） */
	.mx-kv{height:auto;min-height:75vh;min-height:75svh;display:flex;flex-direction:column;justify-content:center;padding:84px 16px 70px;-webkit-clip-path:ellipse(170% 100% at 50% 0%);clip-path:ellipse(170% 100% at 50% 0%);}
	.mx-kv__txt{position:relative;left:auto;top:auto;width:100%;}
	/* アーカイブ案内（2026 年版の SP と同じく KV の下部に重ねる）。
	   帯の高さ 61.75px（行高 57.75＋枠 4）＋下から 52.5px ぶん上へ引き上げ、同じだけ下を戻して後続の位置は変えない。
	   KV 側は重ね文字（tops.png）と重ならないよう下の余白を広げる（.mx-kv--archive） */
	.mx-kv--archive{padding-bottom:132px;}
	/* 2026-09-29（夜）上の余白（重ね文字 tops.png との間）を 1.5rem 足すため、帯を KV の下端寄りへ 1.5rem 下げた
	   （KV 下端から 52.5px → 52.5px−1.5rem。上下の margin を同じだけずらすので About の位置は変わらない） */
	.mx-archive{width:calc(100% - 90px);max-width:360px;margin:calc(-114.25px + 1.5rem) auto calc(52.5px - 1.5rem);}
	.mx-archive__link{font-size:16.5px;line-height:57.75px;border-radius:15px;}
}

/* ================= スマホ ================= */
@media (max-width:767px){
	[id]{scroll-margin-top:74px;}
	body.mx-top{font-size:14px;}
	.mx-wrap{padding:0 16px;}
	.mx-sec{padding:64px 0 76px;}
	.mx-head{margin:0 0 30px 8px;}
	.mx-head__en{font-size:17px;padding-left:30px;}
	.mx-head__en::before{width:12px;height:24px;margin-top:-12px;}
	.mx-head__main{font-size:30px;padding-left:30px;}
	.mx-head__main::before{left:-12px;width:14px;height:27px;margin-top:-14px;}
	.mx-head__sub{padding-left:30px;font-size:12px;}

	/* 2026-11-04 KV とアーカイブ案内の SP 指定は、縦長画面でも効くよう下の @media (max-width:767px), (orientation:portrait) へ移した */

	.mx-deco-tr::before,.mx-deco-tl::before,.mx-deco-br::before{width:620px;height:620px;}
	.mx-deco-tr::before{top:-40px;right:-300px;}
	.mx-deco-tl::before{top:-120px;left:-360px;}
	.mx-deco-br::before{bottom:-260px;right:-320px;}
	.mx-arch::after{top:-40px;height:80px;left:-10%;right:-10%;}

	.mx-about{padding-top:48px;}
	.mx-about__grid{grid-template-columns:1fr;gap:28px;}
	.mx-about__body{padding-left:0;}
	.mx-about__text{font-size:14px;line-height:1.9;}
	.mx-about__movie{margin-top:0;}
	.mx-about--before-arch{padding-bottom:100px;}
	.mx-facts,.en .mx-facts{grid-template-columns:1fr;gap:8px;}
	.mx-fact dd{white-space:normal;}
	.mx-fact{padding:6px 16px;}
	.mx-org{padding:16px 16px 20px;margin-top:32px;}
	.mx-ticket__desc.mx-ticket__desc--soon{text-align:center;font-size:15px;}
	/* SP は1枚 150px。390px 幅（枠の内側 326px）では2枚＋1枚に折り返し、2段目は中央 */
	.mx-org__logos{gap:4px 10px;}
	.mx-org__logos img{width:150px;}

	.mx-band__in{flex-direction:column;gap:16px;padding:28px 16px;}
	.mx-band__text{text-align:center;font-size:15px;}

	.mx-info{padding-bottom:100px;}
	.mx-soon{font-size:20px;padding:32px 12px;letter-spacing:.18em;}
	.mx-note{margin:-12px auto 22px;font-size:12px;text-align:left;}
	/* 記事カード: 媒体名・日付はタイトルの上に積み、↗ は右端で縦中央（行は grid の2行×2列） */
	.mx-news{padding:16px 14px;}
	.mx-news__link{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:4px;padding:10px 8px 10px 16px;border-radius:18px;}
	.mx-news__meta{grid-column:1;}
	.mx-news__title{grid-column:1;font-size:13px;}
	.mx-news__arrow{grid-column:2;grid-row:1;width:30px;height:30px;}
	.mx-news__meta ~ .mx-news__arrow{grid-row:1 / span 2;}

	.mx-partners{padding-bottom:100px;}
	.mx-tier__logos{padding:12px 0 18px;}
	/* TITLE 以外は同じ箱（2026-09-30〜） */
	.mx-tier__logos li{--w:112px;--h:48px;--gap:14px;}
	.mx-tier--title .mx-tier__logos li{--w:170px;--h:66px;--gap:16px;}
	.mx-marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
	.mx-more{text-align:center;margin-top:24px;}
	.mx-btn{min-width:240px;}

	.mx-speakers--no-agenda{padding-bottom:80px;}
	.mx-carousel{padding:0 8px;}
	.mx-carousel__track{padding:22px calc(50% - 85px) 20px;gap:10px;}   /* 下は 12px＋拡大分 8px（負のマージン -8px は共通指定） */
	.mx-spk{flex-basis:170px;}
	.mx-carousel__arrow{top:128px;width:28px;}
	.mx-carousel__arrow.is-prev{left:0;}
	.mx-carousel__arrow.is-next{right:0;}

	.mx-overview{padding:60px 0 70px;}
	.mx-overview--before-arch{padding-bottom:110px;}
	.mx-stats{grid-template-columns:1fr;padding:12px;gap:12px;}
	.mx-stats__num{flex-direction:row;justify-content:space-around;}
	.mx-stats__value{font-size:32px;}
	.mx-stats__chart{flex-direction:column;gap:16px;background:rgba(255,255,255,.35);border-radius:4px;padding:16px 12px;}
	.mx-donut{max-width:300px;margin:-20px 0 -30px;}
	.mx-donut__line,.mx-donut__name,.mx-donut__pct{display:none;}
	.mx-legend{display:grid;grid-template-columns:1fr;gap:6px;width:100%;max-width:340px;}
	.mx-legend li{display:flex;align-items:center;gap:8px;font-size:13px;}
	.mx-legend__sw{flex:0 0 12px;height:12px;border-radius:3px;}
	.mx-legend__name{flex:1 1 auto;}
	.mx-legend__pct{font-family:var(--mx-en);font-weight:700;color:var(--mx-purple-d);}

	.mx-outline{padding-bottom:110px;}
	.mx-ticket__desc{text-align:left;font-size:14px;margin-bottom:28px }
	.mx-ticket__card{min-height:120px;padding:28px 20px;}
	.mx-ticket__card .mx-ticket__desc--soon{margin:0;}
	.mx-ticket__apply{margin-top:28px;}   /* (2026-11-10) 申請ボタン。幅は下の .mx-btn--lg（全幅・最大 340px）に従う */
	.mx-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
	.mx-step{padding:16px 8px 16px;}
	.mx-step{min-height:0;}
	.mx-step__no{font-size:26px;}
	.mx-step__icon{width:40px;height:40px;margin:8px 0 8px;}
	.mx-step__h{font-size:15px;}
	.mx-step__txt{font-size:12px;}
	.mx-step:not(:last-child)::after{display:none;}
	.mx-btn--lg{min-width:0;width:100%;max-width:340px;}

	/* About のリンクとピル（2026-09-30）。ピルは SP では従来どおり1列で全幅 */
	.mx-about__more{margin-top:16px;}
	.mx-about__morelink{font-size:14px;gap:10px;}
	.mx-about__morearrow{width:28px;height:28px;}
	.mx-facts.mx-facts--center,.en .mx-facts.mx-facts--center{grid-template-columns:1fr;gap:8px;margin-top:32px;}
	.mx-facts--center .mx-fact{padding:6px 16px;}
	.mx-org{margin-top:16px;}

	/* Ticket → VENUE のアーチ（SP は上に 40px 被さる）・VENUE（2026-09-30） */
	.mx-ticket--before-arch{padding-bottom:110px;}
	.mx-venue{padding-bottom:80px;}
	.mx-venue__card{grid-template-columns:1fr;}
	.mx-venue__body{padding:20px 18px 24px;}
	.mx-venue__name{font-size:18px;}
	.mx-venue__addr{border-radius:16px;font-size:13px;}
	.mx-venue__access li{flex-direction:column;gap:0;padding:4px 0;}   /* 従来 6px の 2/3（2026-09-30） */
	.mx-venue__line,.en .mx-venue__line{flex-basis:auto;}   /* 縦積みなので PC の列幅（flex-basis）を外す */
	.mx-venue__map{min-height:0;aspect-ratio:4/3;}
}
