/* GAME FUTURE SUMMIT official site: visual layer for the portal-driven HTML. */
/* フォントの読み込みは assets/fonts-notosansjp.css・fonts-montserrat.css（文字の範囲ごとに分割）。書体の指定は site-extra.css */
:root{--blue:#168ff2;--cyan:#12c8f3;--deep:#112b58;--pink:#ff0058;--yellow:#ffbd2c;--page:#f0f6fd;--line:#dce6f2;--ink:#15243c;--muted:#60718b;--star:#e7a900}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:"M PLUS 1",sans-serif;margin:0;background:var(--page);color:var(--ink);font-size:15px;line-height:1.72;letter-spacing:.01em;overflow-wrap:anywhere;line-break:strict}
button,input{font:inherit}a{color:#167fca}.wrap{max-width:1360px;margin:0 auto;padding:0 24px}
.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);box-shadow:0 1px 8px rgba(18,72,114,.1)}
.nav-in{height:68px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;margin-right:auto}.brand img{width:min(280px,31vw);height:auto;display:block}
.nav nav{display:flex;gap:28px}.nav nav a{text-decoration:none;color:#303741;font-size:14px;font-weight:800}.nav nav a:hover{color:var(--blue)}
.social{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff;box-shadow:0 1px 8px #1c407133;text-decoration:none;color:#252525;font-size:21px}
.hero{position:relative;overflow:hidden;min-height:710px;background:linear-gradient(90deg,rgba(6,37,82,.08),rgba(6,37,82,.2)),url("./gfs2026-keyvisual.webp") center 54%/cover no-repeat;background-color:#4a9ed0}
.hero-inner{position:relative;z-index:1;padding-top:52px;padding-bottom:115px;display:grid;grid-template-columns:48% 52%;align-items:center;gap:18px}
.hero-logo{display:block;width:min(100%,490px);height:auto;max-height:360px;object-fit:contain;justify-self:center;filter:drop-shadow(0 7px 9px #3472aa24)}.hero-inner h1{font-size:58px;line-height:1.05}
.hero-message{text-align:center}.hero-copy{font-size:25px;font-weight:900;line-height:1.5;color:#fff;text-shadow:0 2px 5px #164579,2px 2px 8px #326589;margin:0 0 28px}
.hero-cta{display:inline-flex;align-items:center;justify-content:center;min-height:62px;padding:12px 32px;max-width:100%;background:var(--pink);color:white;border-radius:99px;text-decoration:none;font-size:20px;font-weight:900;box-shadow:0 4px 8px #82305248}.hero-cta:hover{filter:brightness(1.07)}
.hero-note{grid-column:1/-1;text-align:center;color:#fff;text-shadow:0 2px 5px #234c75;font-size:20px;font-weight:850;margin:12px auto 0;max-width:850px}
.hero-next{grid-column:1/-1;justify-self:center;text-align:center;background:#fff;max-width:620px;width:min(100%,620px);box-shadow:0 5px 16px #548bbb36;padding:0 22px 22px}.hero-next strong{display:block;margin:0 -22px 16px;padding:7px 12px;background:linear-gradient(90deg,#16c7f0,#2456f4);color:white;font-size:21px}.hero-next p{font-size:24px;font-weight:900;color:var(--pink);margin:0 0 15px}.hero-next a{display:inline-block;padding:4px 26px;border:2px solid var(--pink);border-radius:99px;text-decoration:none;color:var(--pink);font-weight:800;box-shadow:0 3px 5px #911f4a29}
.hero-ended{grid-column:1/-1;text-align:center}.hero-ended a{font-weight:800}
main.wrap{padding-bottom:50px}.sec{position:relative;padding:100px 0 0;scroll-margin-top:72px}.sec h2{margin:0 auto 48px;text-align:center;border:0;padding:0;line-height:1.05;color:var(--blue)}
.sec h2 span{display:block;font-family:"M PLUS 1",sans-serif;font-size:clamp(46px,5vw,72px);font-weight:900;font-style:italic;letter-spacing:-.045em;background:linear-gradient(115deg,#0f8df5,#1da9f4);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #38c4fb)}
.sec h2 small{display:block;font-size:17px;font-weight:900;color:var(--blue);line-height:1.6}.sec .lead{text-align:center;margin:-18px 0 36px;color:#192b44}.sub{font-size:22px;font-weight:900;text-align:center;margin:55px 0 20px;color:var(--deep)}.small,.note{font-size:12px;color:#75839a}
/* Speakers */
.spk-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:18px}.spk{min-width:0;display:flex;flex-direction:column;align-items:stretch;text-align:center;background:#fff;border:0;padding:0;border-radius:4px;box-shadow:0 2px 5px #46638617;cursor:pointer;color:inherit;overflow:hidden}.spk:hover{transform:translateY(-2px);box-shadow:0 7px 18px #45668d30}.spk>img,.spk>.ph{display:block;width:100%;height:145px;object-fit:cover;object-position:center 36%;background:#e3ebf5}.spk>.ph{display:grid;place-items:center;color:#57a6df;font-size:42px;font-weight:900}.spk-info{min-height:106px;padding:5px 8px 12px;display:flex;align-items:center;flex-direction:column;justify-content:center}.spk .company-logo{display:block;max-width:105px;max-height:31px;width:auto;height:auto;object-fit:contain;margin:0 auto 3px}.spk .co{display:block;color:#67768a;font-size:11px;line-height:1.35}.spk .nm{display:block;color:#1c2637;font-size:14px;line-height:1.3;font-weight:850;margin-top:2px}.spk .ti{display:block;color:#8895a8;font-size:10px;line-height:1.3}.spk .tag{display:block;border-radius:99px;background:#edf6ff;padding:2px 7px;color:#3874ad;font-size:10px;margin-top:4px}.speaker-more>summary{list-style:none;display:block;cursor:pointer;width:min(300px,100%);margin:32px auto 0;padding:12px 20px;border-radius:99px;background:var(--pink);color:#fff;text-align:center;font-weight:900}.speaker-more>summary::-webkit-details-marker{display:none}.speaker-more .spk-grid{margin-top:22px}.mc-grid{max-width:850px;margin-left:auto;margin-right:auto;grid-template-columns:repeat(4,minmax(0,1fr))}
/* Timetable: keep the existing stage x time grid and interactions. */
.timetable-intro{text-align:center;margin:-15px auto 28px;color:#294b73}.timetable-intro .more{display:inline-block;padding:7px 25px;border:1px solid #64b9ef;border-radius:99px;background:white;text-decoration:none;font-weight:800;color:var(--blue)}
.bar,.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.chip{border:1px solid #5bb6ec;background:white;border-radius:99px;padding:6px 14px;font-size:13px;cursor:pointer;color:#1689d1}.chip.on{background:var(--blue);color:#fff;border-color:var(--blue)}.chip.star.on{background:var(--star);border-color:var(--star)}.chip:disabled{opacity:.5;cursor:default}.tabs{display:none}.grid{display:grid;background:#fff;border-radius:8px;overflow:hidden;border:1px solid #dbe7f2}.head{position:sticky;top:68px;z-index:3;background:#fff;font-weight:900;font-size:15px;padding:10px 8px;border-bottom:4px solid var(--sc,var(--line));text-align:center;color:var(--sc,var(--deep))}.head .fl{display:block;font-size:11px;color:#8190a3}.head.gap{border-left:2px dashed var(--line)}.tick{font-size:12px;color:#74869b;padding:4px 6px 0;border-top:1px solid #edf2f8;font-variant-numeric:tabular-nums}.tick.hour{color:#273b52;font-weight:900;border-top-color:var(--line)}.cell{border-top:1px solid #edf2f8;border-left:1px solid #edf2f8}.band{margin:4px;padding:10px 14px;border-radius:4px;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}.band b{font-size:14px;font-variant-numeric:tabular-nums}.band span{font-size:12px}.band.open{background:linear-gradient(90deg,#ffce35,#ffb224);color:#603900;border:0}.band.open span{color:#6a4d12}.band.ap{background:linear-gradient(90deg,#31c5ef,#147ee5);color:#fff;padding:14px}.band.ap span{color:#e8f9ff}.card{position:relative;margin:3px 4px;border:1px solid var(--line);border-left:4px solid var(--sc);background:white;border-radius:4px;padding:7px 25px 8px 8px;cursor:pointer;z-index:1}.card:hover{background:color-mix(in srgb,var(--sc) 7%,white)}.card.dim{opacity:.27}.tm{font-size:11px;font-weight:750;color:var(--sc);font-variant-numeric:tabular-nums}.tm b{font-size:10px;border:1px solid var(--sc);border-radius:3px;padding:0 4px;margin-left:6px}.card .t{font-size:12px;font-weight:850;line-height:1.45;color:#172131;margin-top:2px}.card .sp{font-size:10.5px;color:#65758a;line-height:1.5;margin-top:4px}.fav{position:absolute;right:4px;top:3px;border:0;background:none;font-size:15px;cursor:pointer;color:#bfc9d4;padding:0 2px}.fav.on{color:var(--star)}.list{display:none}.slot{border-top:1px solid #c8dbea;padding:8px 0 4px;font-weight:900;font-variant-numeric:tabular-nums}.item{position:relative;display:flex;gap:10px;padding:10px 30px 10px 10px;border-left:4px solid var(--sc);border-bottom:1px solid #e6edf5;margin:6px 0;cursor:pointer;background:#fff}.item .stg{flex:0 0 34px;font-size:12px;font-weight:900;color:var(--sc)}.item .stg .fl{display:block;font-size:10px;color:#8b98aa}.item .t{font-weight:850;font-size:14px;color:#1b2533}.item .sp{font-size:12px;color:#647488}.item .fav{top:10px;right:6px;font-size:18px}
/* Contents */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card-c{background:#fff;border-radius:4px;overflow:hidden}.content-visual{display:block;width:100%;height:180px;object-fit:cover}.card-c h3,.booth-card h3{margin:0;background:var(--yellow);color:white;font-size:17px;text-align:center;padding:6px 8px;line-height:1.3}.card-body{padding:12px 15px 22px}.card-c p,.booth-card p{font-size:13px;line-height:1.7;margin:0 0 10px}.card-c p.small{font-size:11px;color:#7d8997}.booth-card{display:grid;grid-template-columns:31% 1fr;background:white;margin-top:34px;border-radius:4px;overflow:hidden}.booth-card>img{width:100%;height:100%;min-height:280px;object-fit:cover}.booth-card>div{padding-bottom:18px}.booth-card p{padding:14px 18px 0}.booth-logos{padding:10px 16px}.booth-logos .logo{height:60px;width:calc(20% - 10px);border:0}
/* Sponsors */
.sponsor-group{background:#fff;margin:22px 0;border-radius:3px;overflow:hidden}.sponsor-group .sub{margin:0;padding:8px 12px;font-size:19px;color:#fff;text-align:center;background:linear-gradient(90deg,#ffe65e,#d5b000)}.tier-1 .sub{background:linear-gradient(90deg,#cfd5da,#9da7a8)}.tier-2 .sub{background:linear-gradient(90deg,#d9c6aa,#9f795b)}.tier-3 .sub{background:linear-gradient(90deg,#38e600,#13aaf0)}.tier-4 .sub{background:linear-gradient(90deg,#ffe567,#ff6ca5)}.tier-5 .sub{background:linear-gradient(90deg,#78b0e7,#7d69d6)}.logos{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;padding:25px}.logo{display:flex;align-items:center;justify-content:center;width:170px;height:78px;background:#fff;padding:9px;text-align:center}.logo img{max-width:100%;max-height:100%;object-fit:contain}.logo.txt{font-size:14px;font-weight:800}.tier-0 .logo{width:28%;height:112px}.tier-1 .logo,.tier-2 .logo,.tier-3 .logo{width:21%}.tier-4 .logo,.tier-5 .logo{width:15%;height:64px}
/* Other sections */
.links{list-style:none;padding:0;max-width:900px;margin:0 auto}.links li{padding:12px 18px;border-bottom:1px solid #cbddeb;background:#fff}.outline{display:grid;grid-template-columns:12em 1fr;gap:0;margin:0 auto;max-width:920px;background:#fff}.outline dt,.outline dd{margin:0;padding:13px 20px;border-bottom:1px solid #e7edf4}.outline dt{font-weight:900;background:#e9f4ff;color:#176ca9}.faq{max-width:920px;margin:0 auto;border-bottom:1px solid #d2e2ef;background:#fff}.faq summary{font-weight:850;cursor:pointer;padding:15px 20px}.faq summary:before{content:'Q';color:var(--blue);font-weight:900;margin-right:15px}.faq div{padding:0 20px 18px 55px;color:#52657b}.btn{display:inline-block;background:var(--pink);color:#fff;text-decoration:none;font-weight:850;padding:10px 24px;border-radius:99px}.sec#contact{text-align:center}.sec#contact p{max-width:700px;margin:0 auto 16px}.foot{margin-top:95px;padding:30px 0;background:#fff;color:#657385;font-size:12px}.foot .wrap{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between}
/* Details popup */
.modal{position:fixed;inset:0;background:#0b1b37a8;display:none;align-items:center;justify-content:center;z-index:30;padding:16px}.modal.on{display:flex}.sheet{background:#fff;max-width:640px;width:100%;border-radius:10px;padding:22px 24px;max-height:85vh;overflow:auto}.sheet h2{font-size:19px;margin:4px 0 8px;border:0;padding:0}.meta{font-size:13px;font-weight:800}.people{margin:12px 0;border-top:1px solid var(--line)}.person{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #e7edf5;padding:10px 0;cursor:pointer;color:inherit}.person img,.person .ph{flex:0 0 52px;width:52px;height:52px;border-radius:50%;object-fit:cover;background:#e8eef5}.person .ph{display:flex;align-items:center;justify-content:center;font-weight:850;font-size:20px;color:var(--sc,var(--blue))}.person .pn{flex:1;line-height:1.5}.person .pn i{font-style:normal;font-size:11px;color:#8795a7;border:1px solid var(--line);border-radius:99px;padding:0 7px;margin-left:8px}.person .pn small{display:block;color:#617289;font-size:12px}.person .more{font-size:12px;color:var(--blue);white-space:nowrap}.bio{font-size:13px;color:#54677e;line-height:1.8;padding:8px 0 12px 64px;border-bottom:1px solid var(--line);white-space:pre-wrap}.acts{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.btn2{border:1px solid var(--deep);background:var(--deep);color:#fff;border-radius:5px;padding:8px 14px;font-size:14px;cursor:pointer}.btn2.ghost{background:#fff;color:var(--deep)}.prof{display:flex;gap:16px;align-items:center}.prof img,.prof .ph{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#e8eef5;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;color:var(--blue)}
@media(max-width:840px){.wrap{padding:0 16px}.nav-in{height:56px}.nav nav{display:none}.brand img{width:min(255px,63vw)}.social{margin-left:auto}.hero-inner{padding-top:35px;grid-template-columns:1fr;gap:18px}.hero-logo{width:min(80%,420px)}.hero-copy{font-size:21px}.hero-cta{font-size:17px}.hero-note{font-size:17px}.sec{padding-top:78px}.spk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.grid{display:none!important}.list{display:block}.tabs{display:flex}.bar,.tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.chip{flex:0 0 auto}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.booth-logos .logo{width:calc(25% - 10px)}.tier-0 .logo{width:28%}.tier-4 .logo,.tier-5 .logo{width:20%}}
@media(max-width:540px){.nav-in{height:52px}.brand img{width:min(225px,72vw)}.social{width:32px;height:32px}.hero{min-height:auto}.hero-inner{padding-top:30px;padding-bottom:80px}.hero-logo{width:min(88%,330px)}.hero-copy{font-size:19px;margin:2px 0 15px}.hero-cta{min-height:49px;padding:8px 22px;font-size:14px}.hero-next strong{font-size:15px}.hero-next p{font-size:16px;line-height:1.5}.hero-next a{font-size:13px}.hero-note{font-size:14px}.sec h2{margin-bottom:34px}.sec h2 span{font-size:48px}.sec h2 small{font-size:14px}.sec .lead{font-size:13px}.spk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.spk>img,.spk>.ph{height:140px}.spk-info{min-height:98px}.mc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.content-visual{height:95px}.card-c h3{font-size:13px}.card-body{padding:8px}.card-c p{font-size:11px}.booth-card{grid-template-columns:1fr}.booth-card>img{height:170px;min-height:0}.booth-logos .logo{width:calc(33.333% - 10px)}.tier-0 .logo,.tier-1 .logo,.tier-2 .logo,.tier-3 .logo{width:calc(50% - 12px);height:82px}.tier-4 .logo,.tier-5 .logo{width:calc(33.33% - 12px);height:60px}.logos{gap:7px;padding:16px}.outline{grid-template-columns:7em 1fr;font-size:13px}.outline dt,.outline dd{padding:10px}.faq summary{font-size:14px}.faq div{padding-left:35px}.sheet{padding:16px}.sec#contact p{font-size:13px}}
.hero-next .next-venue{display:block;color:#182338;font-size:17px;font-weight:850;margin:-4px auto 14px}.hero-next a{display:inline-block}
.archive-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:-4px auto 25px;max-width:1040px}.archive-photos img{width:100%;height:185px;object-fit:cover;border-radius:6px}
@media(max-width:540px){.hero-next .next-venue{font-size:14px}.archive-photos{gap:5px}.archive-photos img{height:88px}}
