@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

body, p, h2, h3, span, div, input {
  font-family: 'Zen Maru Gothic', 'Noto Sans JP', sans-serif !important;
  color: #5C5C5C;
  letter-spacing: 1.5px;
}
p, span, div, input {
  /* font-weight: 500; */
}

.v-application .mx-2 {
  background:
    radial-gradient(2px 2px at 20% 30%, white, transparent 40%),
    radial-gradient(1.5px 1.5px at 70% 80%, white, transparent 40%),
    radial-gradient(1.2px 1.2px at 50% 60%, white, transparent 40%),
    linear-gradient(to top, #4C8DFF, #FF6B6B) !important;
  background-blend-mode: screen;
  color: #fff !important;
}
.portal-event-top {
    display: none!important;
}
/* 青帯の要素にヒットさせる（クラス名は__のダブル） */
.widget-title__wrap .widget-title__border.base-background-color{
  background: transparent !important;   /* 青を消す */
  height: 20px !important;              /* 丸の高さぶん確保 */
  position: relative;                   /* 擬似要素の基準にする */
  overflow: visible;
}

/* 4色ドットを中央に表示 */
.widget-title__wrap .widget-title__border.base-background-color::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);

  /* サイズ・間隔はここで調整 */
  --dot: 10px;   /* 直径 */
  --gap: 7px;   /* 間隔 */

  width: calc(var(--dot)*4 + var(--gap)*3);
  height: var(--dot);

  background:
    radial-gradient(circle, #FFD54F 60%, transparent 61%) 0 50%/var(--dot) var(--dot) no-repeat,                        /* 黄 */
    radial-gradient(circle, #4C8DFF 60%, transparent 61%) calc(var(--dot) + var(--gap)) 50%/var(--dot) var(--dot) no-repeat, /* 青 */
    radial-gradient(circle, #6ED3CF 60%, transparent 61%) calc((var(--dot) + var(--gap))*2) 50%/var(--dot) var(--dot) no-repeat, /* ミント */
    radial-gradient(circle, #FF6B6B 60%, transparent 61%) calc((var(--dot) + var(--gap))*3) 50%/var(--dot) var(--dot) no-repeat;  /* コーラル */
  pointer-events: none;
}

/* モバイルは少し小さめ */
@media (max-width: 600px){
  .widget-title__wrap .widget-title__border.base-background-color::before{
    --dot: 9px;
    --gap: 10px;
  }
}
.widget-title__text {
    padding-bottom: 0;
}
.widget-header__border {
    border: none !important;
}
.widget-header__row{
    display: block;
}
h2{
  font-size: 30px;
}
@media (max-width: 768px) {
  h2 {
    font-size: 22px;
  }
}
.widget-header__col .col .col-auto{
  display: flex !important;
  position: absolute !important;
  justify-self: right !important;
}
.booth-list-card[data-v-31dccbfc] {
    box-shadow: none !important;
}
.booth-image__card[data-v-857c7af0]{
  border-radius: 24px;}

#see-more-information, #see-more-booth_cross_search, #see-more-booth {
  width: 100% !important;              /* col-auto の縮小を防ぎ、中央寄せを可能にする */
  display: flex !important;            /* ボタンを包む親をflex化 */
  justify-content: center !important;  
}
.v-btn__content {
    color: #c2c2c2;
    border-radius: 50px;
    padding: 5px 10px;
}

/* ここから追記20251111_miho */
.v-btn.base-background-color .v-btn__content,
.v-btn.primary .v-btn__content,
.v-btn.v-btn--active .v-btn__content,
.v-btn.selected .v-btn__content,
.v-btn.added .v-btn__content,
.v-btn[aria-pressed="true"] .v-btn__content,
button.base-background-color .v-btn__content,
a.base-background-color .v-btn__content {
  color: #FFFFFF !important;
}

/* 念のため、ボタン要素自体にも色を付与（テキストが直下にある実装にも対応） */
.v-btn.base-background-color,
.v-btn.primary,
.v-btn.v-btn--active,
.v-btn.selected,
.v-btn.added,
.v-btn[aria-pressed="true"] {
  color: #FFFFFF !important;
}

/* ボタン内リンクが独自色を持っていても白を継承させる */
.v-btn__content a { color: inherit !important; }
/* ここまで追記20251111_miho */

.widget-title__text[data-v-ac803b5c] {
    padding-bottom: 0px !important;
}
.theme--light.v-tabs>.v-tabs-bar {
    background-color: #fff;
    border-radius: 50px;
    margin: 0px auto;
}
.booth-card__content[data-v-396d4df1] {
    padding: 20px 15px 15px !important;
}
.v-slide-group__wrapper {
    flex: none !important;
}
    .header__menu[data-v-1ba7a36e] {
        margin: 0px auto;
        width: 300px !important;
    }
.header__wrap[data-v-1ba7a36e] {
    height: auto !important;
    box-shadow: none !important;
}
    .header__content[data-v-1ba7a36e] {
        display: block !important;
        position: fixed;
        z-index: 100;
        background: #FFF;
        margin: 16px auto;
        justify-self: right;
        padding: 3px 45px;
        border-radius: 50px;
        margin-right: 10px;
    }
    .header__menu[data-v-1ba7a36e] {
        margin: 0;
        width: auto !important;
    }

/* ハンバーガーメニュー内の文字サイズ調整 */
.tab-icon[data-v-efa430b0] {
    font-size: clamp(12px, 3vw, 16px);
}
.tab-icon__img[data-v-efa430b0] {
    min-width: 24px;
    width: 24px;
    flex-shrink: 0;
}

.booth-cross-search-text__text[data-v-a74d8ef4] {
    border-radius: 50px;
}
.booth-cross-search-category__chip[data-v-5fdd9255] {
    padding: 1px 11px;
    border-radius: 44px;
    border: none;
    background-color: #F1F1F1;
}
.theme--light.v-card.v-card--outlined {
    border: none;
    background: #FFF;
}
@supports (-webkit-line-clamp:1) {
    .booth-cross-search-category__text[data-v-5fdd9255] {
        font-weight: 500;
    }
}
.booth-cross-search-text__wrap[data-v-a74d8ef4] {
    padding: 23px 0 !important;
}

.booth-cross-search-category__button__wrap__scroll[data-v-5fdd9255] {
        margin-bottom: 20px;
    }
.theme--light.v-input {
    color: #F1F1F1;
}
.v-input__slot{
  background: #EFEAE6;
}
.booth-cross-search-bar__button .v-btn .v-btn--contained .theme--dark .v-size--default {
    background-color: #FFF !important;
    box-shadow: none !important;
}
.portal-top-button {
    display: none;
}
.widget__wrap .event__layout{
    padding: 0 !important;
}
.html__wrap[data-v-23f8d45f] {
    margin-top: 0;
}
.widget__wrap[data-v-4932ee32] {
    padding: 0;
}
/* .container {
    margin-bottom: 70px;
}
.footer-shell {
    margin-top: -70px;
} */
 .row {
    align-items: normal;
    gap: 0px;
}
.v-btn__content.theme--dark.v-btn:not(.v-btn--flat):not(.v-btn--text):not(.v-btn--outlined) {
    background-color: #FFF !important;
    border-color: #0066FF;
    border-radius: 50px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .15);
}
.v-btn--round{
  background-color:#FFF !important;
}
.base-color {
  color: #4CC8B5 !important;
  font-family: 'Montserrat', 'Zen Maru Gothic', 'Noto Sans JP', sans-serif;
  font-weight: 500;   /* Medium */
  font-style: italic; /* Italic */
}
.information-title__text[data-v-e8506f60] {
        font-size: 15px;
        letter-spacing: 1px;
        font-weight: 500;
    }
.booth-category__chip[data-v-8ee48ea0] {
    padding: 1px 10px;
    border-radius: 34px;
    background-color: #EFEAE6;
}
.booth-category__text[data-v-8ee48ea0] {
        font-weight: 500;
    }
.booth-description__text[data-v-3619c089] {
    color: #5C5C5C;
    margin: 13px 0 2px;
    font-weight: 500;
    letter-spacing: 0.6px;
    display: -webkit-box;
    -webkit-line-clamp: 3;       /* 最大3行 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.booth-title__text[data-v-6f99a4d6] {
    color: #4D96FF;
    margin: 3px 0 14px;
    line-height: 28px;
    font-size: 19px;
}
.footer-shell, .footer-shell * {
    align-content: center;
    margin: 0 auto;
}
footer {
    padding: 24px 14% !important;
}
.brand {
    min-width: 0;
}
@media screen and (max-width: 850px) {
    .header__wrap[data-v-1ba7a36e] {
        padding: 0 !important;
    }
    .header__content[data-v-1ba7a36e] {
    background: none !important;
    }
    .booth-category__chip[data-v-8ee48ea0]{
        width: fit-content;
    }
    .footer-shell, .footer-shell * {
    text-align-last: center;
    }
    .v-application ul {
    padding-left: 0px !important;
    }
    .v-application ul {
    padding-left: 0px;
    font-size: 12px;
    margin-top: 16px;
    line-height: 30px;
    }
}
.full-bleed picture {
    margin-top: -25px;
}

/* ========================================
   CSS Variables - Atlassian Design Tokens
   ======================================== */
:root {
  /* Colors */
  --ds-brand-blue: #1868DB;
  --ds-brand-blue-bold: #0052CC;
  --ds-brand-blue-subtle: #E9F2FF;

  --ds-neutral-0: #FFFFFF;
  --ds-neutral-100: #F7F8F9;
  --ds-neutral-200: #F1F2F4;
  --ds-neutral-300: #DCDFE4;
  --ds-neutral-400: #B3B9C4;
  --ds-neutral-500: #8590A2;
  --ds-neutral-600: #758195;
  --ds-neutral-700: #626F86;
  --ds-neutral-800: #44546F;
  --ds-neutral-900: #2C3E5D;
  --ds-neutral-1000: #172B4D;

  --ds-success: #1F845A;
  --ds-success-subtle: #DFFCF0;
  --ds-warning: #974F0C;
  --ds-warning-subtle: #FFF7D6;
  --ds-danger: #AE2E24;
  --ds-danger-subtle: #FFECEB;

  /* Spacing - 8px base */
  --ds-space-025: 2px;
  --ds-space-050: 4px;
  --ds-space-075: 6px;
  --ds-space-100: 8px;
  --ds-space-150: 12px;
  --ds-space-200: 16px;
  --ds-space-250: 20px;
  --ds-space-300: 24px;
  --ds-space-400: 32px;
  --ds-space-500: 40px;
  --ds-space-600: 48px;

  /* Border Radius */
  --ds-border-radius: 4px;
  --ds-border-radius-medium: 8px;

  /* Shadows */
  --ds-shadow-raised: 0px 1px 1px rgba(23, 43, 77, 0.1), 0px 0px 1px rgba(23, 43, 77, 0.1);
  --ds-shadow-overlay: 0px 8px 12px rgba(23, 43, 77, 0.12), 0px 0px 1px rgba(23, 43, 77, 0.1);

  /* Typography */
  --ds-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans JP', sans-serif;
  --ds-font-weight-regular: 400;
  --ds-font-weight-medium: 500;
  --ds-font-weight-semibold: 600;
  --ds-font-weight-bold: 700;
}

/* ========================================
   Typography
   ======================================== */
.partner-entry-heading-xl {
  font-size: 2.5rem;
  font-weight: var(--ds-font-weight-bold);
  line-height: 1.2;
  color: #5C5C5C;
  margin: 0 0 var(--ds-space-200);
}

.partner-entry-heading-lg {
  font-size: 1.75rem;
  font-weight: var(--ds-font-weight-semibold);
  line-height: 1.3;
  color: #5C5C5C;
  margin: 0 0 var(--ds-space-300);
  position: relative;
  padding-bottom: var(--ds-space-300);
}

/* 4色ドット装飾 */
.partner-entry-heading-lg::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  --dot: 10px;
  --gap: 7px;
  width: calc(var(--dot) * 4 + var(--gap) * 3);
  height: var(--dot);
  background:
    radial-gradient(circle, #FFD54F 60%, transparent 61%) 0 50% / var(--dot) var(--dot) no-repeat,
    radial-gradient(circle, #4C8DFF 60%, transparent 61%) calc(var(--dot) + var(--gap)) 50% / var(--dot) var(--dot) no-repeat,
    radial-gradient(circle, #6ED3CF 60%, transparent 61%) calc((var(--dot) + var(--gap)) * 2) 50% / var(--dot) var(--dot) no-repeat,
    radial-gradient(circle, #FF6B6B 60%, transparent 61%) calc((var(--dot) + var(--gap)) * 3) 50% / var(--dot) var(--dot) no-repeat;
  pointer-events: none;
}

.partner-entry-heading-md {
  font-size: 1.25rem;
  font-weight: var(--ds-font-weight-semibold);
  line-height: 1.4;
  color: #5C5C5C;
  margin: 0 0 var(--ds-space-200);
}

.partner-entry-body-lg {
  font-size: 1rem;
  line-height: 1.6;
  color: #5C5C5C;
  margin: 0 0 var(--ds-space-400);
}

.partner-entry-body {
  font-size: 0.875rem;
  line-height: 1.5;
  color: #5C5C5C;
}

/* ========================================
   Section
   ======================================== */
.partner-entry-section {
  margin-bottom: 80px;
}

.partner-entry-section-header {
  text-align: center;
  margin-bottom: var(--ds-space-600);
}

/* ========================================
   Grid Layout
   ======================================== */
.partner-entry-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--ds-space-300);
  margin-bottom: var(--ds-space-400);
}

@media (min-width: 768px) {
  .partner-entry-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .partner-entry-grid--3col {
    grid-template-columns: repeat(3, 1fr);
  }

  .partner-entry-grid--4col {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ========================================
   Card Component
   ======================================== */
.partner-entry-card {
  background: var(--ds-neutral-0);
  border: 1px solid var(--ds-neutral-300);
  border-radius: var(--ds-border-radius);
  padding: var(--ds-space-300);
  transition: box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.partner-entry-card-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--ds-border-radius);
  background: var(--ds-brand-blue-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--ds-space-200);
  flex-shrink: 0;
}

.partner-entry-card-icon svg {
  width: 24px;
  height: 24px;
  color: var(--ds-brand-blue);
}

.partner-entry-card-icon-text {
  font-size: 1.5rem;
  font-weight: var(--ds-font-weight-bold);
  color: var(--ds-brand-blue);
}

.partner-entry-card-title {
  font-size: 1rem;
  font-weight: var(--ds-font-weight-semibold);
  color: #5C5C5C;
  margin: 0 0 var(--ds-space-100);
}

.partner-entry-card-description {
  font-size: 0.875rem;
  line-height: 1.5;
  color: #5C5C5C;
  margin: 0;
  flex-grow: 1;
}

/* ========================================
   Badge/Lozenge
   ======================================== */
.partner-entry-badge {
  display: inline-flex;
  align-items: center;
  padding: var(--ds-space-050) var(--ds-space-100);
  border-radius: var(--ds-border-radius);
  font-size: 0.75rem;
  font-weight: var(--ds-font-weight-semibold);
  background: var(--ds-neutral-200);
  color: #5C5C5C;
  margin-bottom: var(--ds-space-200);
}

.partner-entry-badge--primary {
  background: var(--ds-brand-blue-subtle);
  color: var(--ds-brand-blue-bold);
}

.partner-entry-badge--success {
  background: var(--ds-success-subtle);
  color: var(--ds-success);
}

/* ========================================
   Button
   ======================================== */
.partner-entry-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--ds-space-100) var(--ds-space-200);
  border: none;
  border-radius: var(--ds-border-radius);
  font-family: var(--ds-font-family);
  font-size: 0.875rem;
  font-weight: var(--ds-font-weight-medium);
  cursor: pointer;
  transition: background-color 0.2s ease;
  text-decoration: none;
}

.partner-entry-button--primary {
  background: var(--ds-brand-blue);
  color: var(--ds-neutral-0);
}

.partner-entry-button--secondary {
  background: var(--ds-neutral-200);
  color: #5C5C5C;
}

/* ========================================
   Form Section
   ======================================== */
.partner-entry-form-section {
  background: var(--ds-neutral-0);
  border: 1px solid var(--ds-neutral-300);
  border-radius: var(--ds-border-radius-medium);
  padding: var(--ds-space-500);
  margin-top: var(--ds-space-500);
}

.partner-entry-iframe {
  width: 100%;
  height: 800px;
  border: 1px solid var(--ds-neutral-300);
  border-radius: var(--ds-border-radius);
  margin-top: var(--ds-space-300);
}

/* ========================================
   Step Indicator
   ======================================== */
.partner-entry-step-number {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--ds-brand-blue);
  color: var(--ds-neutral-0);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  font-weight: var(--ds-font-weight-bold);
  margin-bottom: var(--ds-space-150);
  flex-shrink: 0;
}

/* ========================================
   Banner
   ======================================== */
.partner-entry-banner {
  background: var(--ds-brand-blue-subtle);
  border-left: 4px solid var(--ds-brand-blue);
  padding: var(--ds-space-200) var(--ds-space-300);
  border-radius: var(--ds-border-radius);
  margin-bottom: var(--ds-space-400);
}

.partner-entry-banner-title {
  font-weight: var(--ds-font-weight-semibold);
  color: #5C5C5C;
  margin: 0 0 var(--ds-space-050);
}

.partner-entry-banner-text {
  font-size: 0.875rem;
  color: #5C5C5C;
  margin: 0;
}

/* ========================================
   Responsive
   ======================================== */
@media (max-width: 767px) {
  .partner-entry-container {
    padding: var(--ds-space-300) var(--ds-space-200);
  }

  .partner-entry-heading-xl {
    font-size: 2rem;
  }

  .partner-entry-heading-lg {
    font-size: 1.5rem;
  }

  .partner-entry-grid {
    grid-template-columns: 1fr;
  }
}

/* ========================================
   Utilities
   ======================================== */
.text-center {
  text-align: center;
}

.mb-0 { margin-bottom: 0; }
.mb-100 { margin-bottom: var(--ds-space-100); }
.mb-200 { margin-bottom: var(--ds-space-200); }
.mb-300 { margin-bottom: var(--ds-space-300); }
.mb-400 { margin-bottom: var(--ds-space-400); }
.mb-500 { margin-bottom: var(--ds-space-500); }

.site-footer {
  text-align: center;
  padding: 20px 10px;
  font-size: 14px;
  color: #666;
}
/* 画面幅いっぱいに広げる */
    .full-bleed{
      position: relative;
      left: 50%;
      margin-left: -50vw;
      width: 100vw;
    }
    .full-bleed picture{ display:block; }
    .full-bleed img{ width:100%; height:auto; display:block; }
    html,body{ margin:0; overflow-x:hidden; }

    /* 視覚的に非表示（読み上げには残す） */
    .visually-hidden{
      position: absolute !important;
      width: 1px; height: 1px;
      padding: 0; margin: -1px;
      overflow: hidden; clip: rect(0 0 0 0);
      clip-path: inset(50%);
      white-space: nowrap; border: 0;
    }
.booth-cross-search-bar__button .v-btn v-btn--contained theme--dark .v-size--default{
background-color: #FFF;
}
.booth-cross-search-bar__button {
  background-color: #ffffff !important;
}
.v-btn.booth-cross-search-bar__button.theme--dark {
  background-color: #ffffff !important;
}
/* ブースcss */
.booth-detail {
  font-size: 18px;
  margin: 0 auto;
  line-height: 1.6;
}

.booth-detail a {
  color: #0077ff;
  text-decoration: underline;
}

.booth-detail table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1em;
}

.booth-detail tr {
  border-bottom: 1px solid #ddd;
}

.booth-detail td {
  padding: 12px 16px;
  vertical-align: top;
}

.booth-detail td:first-child {
  font-weight: bold;
  width: 30% !important;
  background-color: #f9f9f9;
  color: #333;
}

.booth-detail td:last-child {
  width: 70%;
  color: #555;
}

/* レスポンシブ対応：スマホでは1カラムに変換 */
@media screen and (max-width: 600px) {
  .booth-detail table,
  .booth-detail tbody,
  .booth-detail tr,
  .booth-detail td {
    display: block;
    width: 100%;
  }

  .booth-detail tr {
    margin-bottom: 12px;
    border-bottom: none;
  }

  .booth-detail td {
    padding: 6px 12px;
    border-bottom: none;
  }

  .booth-detail td:first-child {
    font-weight: bold;
    color: #222;
  }

  .booth-detail td:last-child {
    padding-top: 0;
    color: #555;
  }
  .booth-detail td:first-child{
    width: 100% !important;
    display: block !important;
  }
}
.event-image-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列にする */
  gap: 12px; /* 画像間の余白 */
  margin-top: 32px; /* テーブルとの間の余白 */
}

.event-image-grid img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
}

/* スマホ時も2列を保つ（必要なら1列に落とすことも可） */
@media screen and (max-width: 600px) {
  .event-image-grid {
    grid-template-columns: repeat(1, 1fr); /* ←1列にしたいなら repeat(1, 1fr) に変更可能 */
    gap: 10px;
  }
}
.ticket_size{
  width: 300px;
}
.event-image-grid img {
    width: 100% !important;
}
.left-cell {
  width:20%;
  min-width:20%;
  max-width:20%;
  white-space:pre-line;
  vertical-align:middle;
}
[data-v-57c56260] td {
  font-size: 16px !important;
}
@media (max-width: 768px) {
  [data-v-57c56260] img {
    width: 100% !important;
}
  .left-cell {
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    display: block !important;
  }
  td:first-child {
  width: 45% !important;
  padding: 10px 0 !important;
}
.left-cell img {
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
  }
[data-v-57c56260] td {
  padding: 20px 0 !important;
  font-size: 16px !important;
}
[data-v-57c56260] td {
  font-size: 13px !important;
}
}
.contact-button {
  display: block;
  width: 300px;
  margin: 0 auto;
  background-color: #4D96FF;
  color: #ffffff;
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  transition: background-color 0.3s ease;
  font-family: 'Zen Maru Gothic', sans-serif;
}

.contact-button:hover {
  background-color: #397cd3;
}
