
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:"Noto Sans JP","Helvetica Neue",Arial,sans-serif;color:#fff;background:#0f4fa8;line-height:1.8}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 6%;background:rgba(8,43,98,.78);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.18)}.brand{font-weight:900;letter-spacing:.06em;font-size:20px}.brand span{opacity:.72}.global-nav{display:flex;gap:18px;align-items:center;font-weight:700;font-size:14px;letter-spacing:.04em}.global-nav a{padding:8px 4px;border-bottom:2px solid transparent}.global-nav a:hover{border-color:#fff}.nav-toggle{display:none;border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;border-radius:999px;padding:8px 14px;font-weight:800}.hero{min-height:100vh;position:relative;overflow:hidden;background:linear-gradient(rgba(20,90,180,.35),rgba(20,90,180,.75)),url("../assets/poster-main.jpg") center/cover no-repeat;display:flex;align-items:center;padding:100px 8% 60px}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,45,120,.78),rgba(0,80,170,.35),rgba(255,255,255,.05));z-index:1}.hero-content{position:relative;z-index:2;max-width:900px}.line{width:100%;height:4px;background:#fff;margin-bottom:30px}.title{font-size:clamp(54px,11vw,150px);font-weight:900;letter-spacing:.03em;line-height:.9}.year{font-size:clamp(70px,14vw,190px);font-weight:900;line-height:.9;margin-bottom:30px}.subtitle{font-size:clamp(22px,4vw,42px);letter-spacing:.18em;margin-bottom:12px}.copy{font-size:clamp(18px,2.2vw,28px);letter-spacing:.12em;margin-bottom:36px}.date-box{display:flex;gap:36px;flex-wrap:wrap;margin-bottom:34px}.date{border-left:4px solid #fff;padding-left:18px}.date strong{display:block;font-size:clamp(48px,8vw,92px);line-height:1}.date span{display:block;font-size:18px;letter-spacing:.12em}.buttons{display:flex;gap:16px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 30px;border-radius:999px;font-weight:800;letter-spacing:.08em;transition:.25s}.btn-main{background:#fff;color:#135ab7}.btn-sub{border:2px solid #fff}.btn-disabled{background:rgba(255,255,255,.25);color:#fff;pointer-events:none}.btn:hover{transform:translateY(-3px);opacity:.88}.page-hero{padding:150px 8% 80px;background:linear-gradient(135deg,#176bc9,#0b3f91)}.page-hero h1{font-size:clamp(42px,7vw,86px);line-height:1.1;font-weight:900}.page-hero p{margin-top:16px;max-width:780px;font-size:20px}section{padding:90px 8%}.section-blue{background:linear-gradient(180deg,#0f5dbc,#0b438f)}.section-white{background:#fff;color:#123}.section-title{font-size:clamp(34px,5vw,64px);font-weight:900;margin-bottom:20px;line-height:1.2}.section-lead{font-size:20px;max-width:860px;margin-bottom:50px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.card{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:24px;padding:32px;backdrop-filter:blur(8px)}.section-white .card{background:#f3f7ff;border:none;color:#123}.card h3{font-size:24px;margin-bottom:12px}.visual-panel{display:flex;align-items:flex-start;gap:50px}.visual-panel>div:first-child{flex:1.05}.visual-panel>div:last-child{flex:.95}.poster-frame{border-radius:28px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.28)}.info-table{width:100%;border-collapse:collapse;background:#fff;color:#123;border-radius:22px;overflow:hidden}.info-table th,.info-table td{padding:18px 20px;border-bottom:1px solid #dce6f5;text-align:left;vertical-align:top}.info-table th{width:28%;background:#edf5ff}.status{display:inline-block;background:#dfeaff;color:#0b438f;border-radius:999px;padding:4px 12px;font-weight:800;font-size:13px}.maker-list{columns:3;column-gap:44px;list-style:none}.maker-list li{break-inside:avoid;padding:10px 0;border-bottom:1px solid #dce6f5}.notice{border:2px dashed rgba(255,255,255,.55);border-radius:28px;padding:42px;background:rgba(255,255,255,.1)}.map-box{background:#f3f7ff;border-radius:28px;padding:20px;color:#123}.access{background:linear-gradient(rgba(10,65,145,.88),rgba(10,65,145,.88)),url("../assets/poster-main.jpg") center/cover no-repeat}.venue{font-size:clamp(26px,4vw,48px);font-weight:900;margin-bottom:16px}.address{font-size:20px;letter-spacing:.08em}.route-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.cta{text-align:center;background:linear-gradient(135deg,#1b72d8,#0b3f91)}.cta h2{font-size:clamp(36px,6vw,72px);line-height:1.25;margin-bottom:28px}.site-footer{background:#082b62;padding:36px 8%;text-align:center;font-size:14px;letter-spacing:.08em}.small{font-size:12px;opacity:.74}.asset-note{font-size:14px;opacity:.75;margin-top:18px}@media(max-width:900px){.visual-panel{flex-direction:column;gap:28px}.site-header{align-items:flex-start}.nav-toggle{display:block}.global-nav{display:none;position:absolute;top:62px;left:0;right:0;background:rgba(8,43,98,.96);padding:16px 6%;flex-direction:column;align-items:flex-start}.global-nav.is-open{display:flex}.maker-list{columns:1}}@media(max-width:768px){.hero{padding:92px 6% 40px;align-items:flex-start}.hero-content{margin-top:30px}.date-box{gap:20px}.btn{width:100%;text-align:center}.page-hero,section{padding-left:6%;padding-right:6%}.info-table th,.info-table td{display:block;width:100%}.section-lead{font-size:17px}.global-nav a{width:100%;padding:10px 0}.card{padding:24px}}

/* access page update */
.eyebrow{font-weight:900;letter-spacing:.18em;opacity:.78;margin-bottom:10px}.access-hero{background:linear-gradient(135deg,rgba(16,103,201,.96),rgba(8,43,98,.96)),url("../assets/poster-main.jpg") center/cover no-repeat}.access-summary{padding-top:80px}.access-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:stretch}.access-buttons .dark{border-color:#135ab7;color:#135ab7}.dark-note{color:#456;opacity:1}.access-map-card{min-height:340px;border-radius:32px;background:linear-gradient(135deg,#eaf3ff,#ffffff);border:1px solid #d7e6f8;color:#123;position:relative;overflow:hidden;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 22px 60px rgba(10,49,105,.16)}.access-map-card::before{content:"";position:absolute;inset:24px;background:linear-gradient(90deg,transparent 48%,rgba(22,107,201,.14) 49%,rgba(22,107,201,.14) 51%,transparent 52%),linear-gradient(0deg,transparent 48%,rgba(22,107,201,.14) 49%,rgba(22,107,201,.14) 51%,transparent 52%);background-size:86px 86px;transform:rotate(-12deg) scale(1.35);opacity:.9}.access-map-card::after{content:"";position:absolute;right:-70px;bottom:-50px;width:260px;height:260px;border:40px solid rgba(19,90,183,.1);border-radius:50%}.map-pin{position:absolute;top:42%;left:52%;width:64px;height:64px;border-radius:50% 50% 50% 0;background:#e21d3a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:26px;transform:rotate(-45deg);box-shadow:0 16px 35px rgba(226,29,58,.32);z-index:1}.map-pin::span{transform:rotate(45deg)}.map-pin{line-height:64px;text-align:center}.map-pin::first-letter{display:inline-block;transform:rotate(45deg)}.map-title{position:relative;z-index:1;font-size:28px;font-weight:900;line-height:1.2;letter-spacing:.06em}.map-caption{position:relative;z-index:1;margin-top:12px;color:#456}.route-grid-wide{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.route-card{position:relative;overflow:hidden}.route-label{display:inline-block;margin-bottom:14px;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:900;letter-spacing:.12em}@media(max-width:900px){.access-layout{grid-template-columns:1fr}.access-map-card{min-height:280px}.map-title{font-size:22px}}


/* Exhibitors page */
.page-hero.compact{min-height:38vh;padding:110px 8% 70px;background:linear-gradient(135deg,rgba(7,48,112,.92),rgba(21,105,205,.82)),url("../assets/poster-main.jpg") center/cover no-repeat;color:#fff}.page-hero .eyebrow{font-size:14px;letter-spacing:.22em;font-weight:800;margin-bottom:10px;opacity:.85}.page-hero h1{font-size:clamp(36px,7vw,80px);line-height:1.1;margin-bottom:16px}.page-hero p{max-width:860px;font-size:clamp(16px,2vw,22px)}.exhibitor-section{padding-top:48px}.exhibitor-tools{position:sticky;top:68px;z-index:5;background:rgba(255,255,255,.96);border:1px solid #d9e6ff;border-radius:22px;padding:20px;margin-bottom:34px;box-shadow:0 18px 50px rgba(10,55,130,.12);backdrop-filter:blur(10px)}.search-label{display:block;color:#123;font-weight:800;margin-bottom:8px}.maker-search{width:100%;border:2px solid #bfd5ff;border-radius:999px;padding:15px 20px;font-size:16px;outline:none}.maker-search:focus{border-color:#135ab7;box-shadow:0 0 0 4px rgba(19,90,183,.12)}.kana-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.kana-nav a{min-width:42px;text-align:center;padding:8px 12px;border-radius:999px;background:#eef5ff;color:#0f4fa8;font-weight:800}.kana-nav a:hover{background:#135ab7;color:#fff}.result-count{color:#345;font-size:14px;margin-top:12px}.kana-group{scroll-margin-top:180px;margin-bottom:42px}.kana-group h2{font-size:clamp(26px,4vw,42px);color:#0f4fa8;border-bottom:3px solid #d7e6ff;padding-bottom:10px;margin-bottom:18px}.exhibitor-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.exhibitor-item{min-width:0}.maker-link{display:flex;flex-direction:column;justify-content:center;min-height:82px;height:100%;padding:16px 18px;border-radius:16px;background:#f3f7ff;color:#123;border:1px solid #dce9ff;transition:.2s}.maker-link span{font-weight:800;line-height:1.45;overflow-wrap:anywhere}.maker-link small{margin-top:5px;color:#6f7f96;font-size:12px}.maker-link:hover{transform:translateY(-2px);background:#fff;border-color:#8db9ff;box-shadow:0 12px 30px rgba(13,75,165,.12)}.maker-link.is-disabled{cursor:default}.no-result{background:#fff4d8;color:#3b2a00;padding:18px 20px;border-radius:16px;margin-bottom:24px;font-weight:800}@media(max-width:1100px){.exhibitor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.page-hero.compact{padding:88px 6% 48px}.exhibitor-tools{position:static;border-radius:18px;padding:16px}.exhibitor-grid{grid-template-columns:1fr}.maker-link{min-height:68px}}


/* Exhibitors page - revised with kana badge and future URL support */
.page-hero.compact{min-height:38vh;padding:110px 8% 70px;background:linear-gradient(135deg,rgba(7,48,112,.92),rgba(21,105,205,.82)),url("../assets/poster-main.jpg") center/cover no-repeat;color:#fff}.page-hero .eyebrow{font-size:14px;letter-spacing:.22em;font-weight:800;margin-bottom:10px;opacity:.85}.page-hero h1{font-size:clamp(36px,7vw,80px);line-height:1.1;margin-bottom:16px}.page-hero p{max-width:860px;font-size:clamp(16px,2vw,22px)}.exhibitor-section{padding-top:48px}.exhibitor-tools{position:sticky;top:68px;z-index:5;background:rgba(255,255,255,.96);border:1px solid #d9e6ff;border-radius:22px;padding:20px;margin-bottom:34px;box-shadow:0 18px 50px rgba(10,55,130,.12);backdrop-filter:blur(10px)}.search-label{display:block;color:#123;font-weight:800;margin-bottom:8px}.maker-search{width:100%;border:2px solid #bfd5ff;border-radius:999px;padding:15px 20px;font-size:16px;outline:none}.maker-search:focus{border-color:#135ab7;box-shadow:0 0 0 4px rgba(19,90,183,.12)}.kana-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.kana-nav a{min-width:42px;text-align:center;padding:8px 12px;border-radius:999px;background:#eef5ff;color:#0f4fa8;font-weight:800}.kana-nav a:hover{background:#135ab7;color:#fff}.result-count{color:#345;font-size:14px;margin-top:12px}.kana-group{scroll-margin-top:180px;margin-bottom:42px}.kana-group h2{font-size:clamp(26px,4vw,42px);color:#0f4fa8;border-bottom:3px solid #d7e6ff;padding-bottom:10px;margin-bottom:18px}.exhibitor-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.exhibitor-item{min-width:0}.maker-link{display:flex;flex-direction:row;align-items:center;gap:12px;justify-content:flex-start;min-height:70px;height:100%;padding:14px 16px;border-radius:16px;background:#f3f7ff;color:#123;border:1px solid #dce9ff;transition:.2s}.maker-link span{font-weight:800;line-height:1.45;overflow-wrap:anywhere}.maker-name{flex:1}.kana-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#135ab7;color:#fff;font-size:15px;letter-spacing:0}.maker-link small{display:none!important}.maker-link:hover{transform:translateY(-2px);background:#fff;border-color:#8db9ff;box-shadow:0 12px 30px rgba(13,75,165,.12)}.maker-link:not([href="#"]):after{content:"↗";font-weight:900;color:#135ab7}.no-result{background:#fff4d8;color:#3b2a00;padding:18px 20px;border-radius:16px;margin-bottom:24px;font-weight:800}@media(max-width:1100px){.exhibitor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.page-hero.compact{padding:88px 6% 48px}.exhibitor-tools{position:static;border-radius:18px;padding:16px}.exhibitor-grid{grid-template-columns:1fr}.maker-link{min-height:64px}}


/* Exhibitor link updates */
.maker-link {
  position: relative;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}
.maker-link small {
  display: none !important;
}
.yomi-badge {
  flex: 0 0 auto;
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #135ab7;
  color: #fff;
  font-weight: 900;
  font-size: 14px;
  line-height: 1;
}
.maker-name {
  font-weight: 800;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.maker-link.has-url::after {
  content: "↗";
  margin-left: auto;
  color: #135ab7;
  font-weight: 900;
}
.maker-link.has-url {
  cursor: pointer;
}


/* Registration CTA - top page */
.registration-cta {
  padding: 140px 20px;
  background: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.registration-cta-inner {
  width: min(760px, 100%);
  text-align: center;
}

.registration-note {
  display: inline-block;
  margin-bottom: 22px;
  padding: 8px 22px;
  border-radius: 999px;
  background: #eef5ff;
  color: #0d47a1;
  font-size: clamp(16px, 2.2vw, 24px);
  font-weight: 900;
  letter-spacing: .08em;
}

.register-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 440px;
  height: 84px;
  padding: 0 70px;
  border-radius: 100px;
  text-decoration: none;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: .08em;
  color: #ffffff;
  background: linear-gradient(135deg, #1976d2, #0d47a1);
  box-shadow: 0 15px 45px rgba(13, 71, 161, .28);
  transition: .25s ease;
}

.register-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 25px 60px rgba(13, 71, 161, .35);
}

.register-btn::after {
  content: "→";
  margin-left: 20px;
  font-size: 24px;
}

@media (max-width: 768px) {
  .registration-cta {
    padding: 90px 20px;
  }

  .register-btn {
    width: 100%;
    min-width: auto;
    height: 72px;
    font-size: 22px;
  }

  .registration-note {
    width: 100%;
    margin-bottom: 18px;
  }
}