/*登録画面言語選択削除*/
#app > div > section > div > div.fast-register-form-layout > div > section > section {
  display: none;
}

/*登録画面区切り削除*/
#app > div > section > div > div.fast-register-form-layout > div > section > form > hr {
  display: none;
}

/*ログイン画面の新規登録ボタン文言変更*/
.register__button > button > span.v-btn__content,
#register_button > span.v-btn__content {
font-size: 0 !important;
}
.register__button > button > span.v-btn__content::before,
#register_button > span.v-btn__content::before {
content: "事前登録する";
font-size: 14px;
}

/* ==========================================
 背景（黒 + イベントTOP共通画像）
 ※画像はヘッダー下（4em）から表示
 ※ログイン画面（.login__section）は対象外
 ========================================== */
html:not(:has(.login__section)),
body:not(:has(.login__section)),
#__nuxt:not(:has(.login__section)),
#__layout:not(:has(.login__section)),
.wrap.layout-wrap:not(:has(.login__section)),
#app:not(:has(.login__section)),
.v-application--wrap:not(:has(.login__section)) {
background-color: #000 !important;
background-image: none !important;
}

.v-application--wrap > section::before {
content: "";
position: fixed;
top: 4em;
left: 0;
right: 0;
bottom: 0;
z-index: -1;
background-color: #000;
background-image: url("https://makita-demo.eventos.tokyo/file/wysiwyg/943/file-d520506a-d029-44f3-94ef-a310ca31cffe.png");
background-position: center top;
background-repeat: no-repeat;
background-size: cover;
pointer-events: none;
}

@media (max-width: 767px) {
.v-application--wrap > section::before {
  background-image: url("https://makita-demo.eventos.tokyo/file/wysiwyg/943/file-60dd1ac6-0b85-408c-80ce-a0885466c44e.png");
  background-position: center top;
  background-size: cover;
}
}

/* 白背景レイヤーを透明化 */
.wrap.layout-wrap,
#app.event__wrap,
.event__wrap,
.list__wrap,
.list__contents,
.contents__wrap,
.timetable-layout,
.timetable-layout__content,
.ticket-page-content-wrapper,
.ticket-layout,
.ticket-layout__wrapper,
.ticket-layout__contents-wrapper,
.mypage-contents__wrap {
background-color: transparent !important;
}

/* ==========================================
 文字色（白指定のみ ※それ以外はデフォルト）
 ========================================== */
.ticket-list-title.event__title h2,
.ticket-list-title__text h2,
.session-notice-text,
.session-notice-text span,
.page-selector__ticket__text,
.page-selector__my-ticket__text,
.event__event-top,
.my-ticket__event-top,
.my-ticket-contents__title,
.mypage-title__text,
.mypage-contents__menu__title,
.mypage-contents__menu__logout {
color: #fff !important;
}

@media screen and (min-width: 601px) {
.mypage-contents__menu-item__label {
  color: #fff !important;
}
}

/* チケット申込フロー（白背景ボックス） */
.profile__wrap,
.confirm__wrap,
.complete-layout__wrap {
background-color: #fff !important;
}

.profile__wrap {
padding-left: 24px !important;
padding-right: 24px !important;
padding-bottom: 24px !important;
}

.confirm__wrap {
margin: 32px auto 0 !important;
}

/* 確認画面：「ご入力情報確認」見出しを confirm__wrap 先頭に別要素として追加 */
.confirm__wrap::before {
content: "ご入力情報確認" !important;
display: block !important;
padding-left: 24px !important;
padding-right: 24px !important;
font-size: 24px !important;
line-height: 1.5 !important;
color: rgba(0, 0, 0, .87) !important;
}

/* 申込フォーム：見出し文言差し替え */
.profile__wrap .profile__title:not(.layout) {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}

.profile__wrap .profile__title:not(.layout)::before {
  content: "申し込み確認/確定のご連絡をお送りするメールアドレスをご記入ください。\A 当日必要なチケットのご案内をお送りしますので必ず受信可能なメールアドレスをご記入ください";
  white-space: pre-line !important;
  display: block !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: rgba(0, 0, 0, .87) !important;
}

/* マイページ：会員QRボタンは白背景 */
.mypage-title__button {
background-color: #fff !important;
}

.mypage-contents__menu__title {
padding: 0 !important;
font-weight: normal !important;
}

.mypage-contents__menu__divider {
border-color: rgba(255, 255, 255, 0.24) !important;
}

/* ==========================================
 ヘッダー（白背景・固定）
 ========================================== */
.header__wrap.event__header,
.header__wrap {
position: fixed !important;
top: 0;
left: 0;
right: 0;
z-index: 1000;
background: #fff !important;
background-color: #fff !important;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.16) !important;
}

.header__wrap .theme--light.v-tabs > .v-tabs-bar,
.header__wrap .v-tabs-bar,
.header__wrap .v-item-group.v-tabs-bar {
background-color: #fff !important;
background: #fff !important;
}

/* 固定ヘッダー分の余白（全ページ共通） */
html {
scroll-padding-top: 4em;
}

.v-application--wrap:not(:has(.login__section)) {
padding-top: 4em !important;
box-sizing: border-box;
background-color: transparent !important;
}

.v-application--wrap:has(.login__section) {
padding-top: 0 !important;
box-sizing: border-box;
}

/* ログイン画面：title-layout の背景色を削除 */
.login__section .login__layout {
background-color: transparent !important;
}

.login__section .title-layout,
.login__section .title-layout {
background-color: transparent !important;
background: none !important;
}

@media screen and (max-width: 600px) {
.login__section .login-layout__wrap,
.login__section .login-layout__wrap {
background: transparent !important;
}
}

@media screen and (min-width: 601px) {
.login__section .login-layout__wrap,
.login__section .login-layout__wrap {
background: linear-gradient(90deg, transparent, transparent 50%, #fff 0, #fff) !important;
}
}

.v-application--wrap > section {
padding-top: 0 !important;
position: relative;
z-index: 0;
}

/* 既存 margin-top との二重余白を防止 */
.event__layout.widget__wrap,
.list__wrap.event__layout,
.mypage-layout__wrap {
margin-top: 0 !important;
padding-top: 0 !important;
}

.ticket-page-content-wrapper {
margin-top: 0 !important;
padding: 24px !important;
box-sizing: border-box;
}

/* チケット詳細：指定ブロックに白背景＋24px余白 */
.ticket-detail-layout__block.ticket-detail-layout__first,
.ticket-detail-layout > div:nth-child(2) {
padding: 24px !important;
background-color: #fff !important;
box-sizing: border-box;
}

/* 絞り込みパネルの白背景を透明化 */
.timetable-layout .theme--light.v-expansion-panels .v-expansion-panel,
.theme--light.v-expansion-panels .v-expansion-panel {
background-color: transparent !important;
}

/* カートバーの左右ボーダーを削除 */
.timetable-cart-layout {
border-left: none !important;
border-right: none !important;
bottom: 0 !important;
margin-bottom: 0 !important;
}

/* SP：カートバーを画面最下部に密着（eventos標準 margin:10px の隙間を解消） */
@media screen and (max-width: 600px) {
.timetable-cart-layout {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.timetable-layout .timetable-cart-layout__cart-bar,
.timetable-cart-layout__cart-bar{
  border-radius: 0 !important;
  padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
}
}

/* 会員QRオーバーレイ（固定ヘッダーより前面に表示） */
.member-code-overlay.v-overlay,
.member-code-overlay.v-overlay--active {
z-index: 1100 !important;
}

.member-code-overlay__close-button {
top: calc(4em + 8px) !important;
z-index: 1101 !important;
opacity: 1 !important;
background-color: rgba(0, 0, 0, 0.54) !important;
}

.member-code-overlay__close-button .v-icon,
.member-code-overlay__close-button .v-btn__content {
color: #fff !important;
}

/* 注意事項エリア（白背景ボックスのみ・文字色はデフォルト） */
.ticket-terms__content {
background-color: #fff !important;
border-bottom: none !important;
margin-bottom: 0 !important;
}

.ticket-terms__controller {
background-color: #fff !important;
padding: 16px 24px 24px !important;
max-width: 800px !important;
margin: 0 auto !important;
border: 1px solid #f2f4f5 !important;
border-top: none !important;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25) !important;
}

.ticket-terms__next,
.ticket-terms__next__content {
opacity: 1 !important;
visibility: visible !important;
}

/* 注意事項「次へ」ボタン：eventos標準の9文字省略を上書きして表示差し替え */
.ticket-terms__next .ticket-terms__next__content {
position: relative !important;
width: 120px !important;
min-width: 120px !important;
max-width: none !important;
padding-left: 24px !important;
padding-right: 24px !important;
display: inline-flex !important;
justify-content: center !important;
align-items: center !important;
}

/* 元テキスト「選択したセッシ...」は grid で ::before と重ね、幅に影響させない */
.ticket-terms__next .ticket-terms__next__content .v-btn__content {
display: inline-grid !important;
place-items: center !important;
font-size: 0 !important;
line-height: 0 !important;
color: transparent !important;
overflow: hidden !important;
width: min-content !important;
min-width: 0 !important;
padding: 0 !important;
margin: 0 !important;
}

.ticket-terms__next .ticket-terms__next__content .v-btn__content::before {
content: "次へ" !important;
grid-area: 1 / 1 !important;
font-size: 16px !important;
line-height: 1.5 !important;
color: #ffffff !important;
font-weight: bold !important;
white-space: nowrap !important;
}

@media screen and (max-width: 600px) {
.ticket-terms__button-group {
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: center !important;
}

.ticket-terms__next {
  flex: 1 1 100% !important;
  max-width: 100% !important;
  margin: 15px 0 0 0 !important;
  display: flex !important;
  justify-content: center !important;
}

.ticket-terms__next .ticket-terms__next__content {
  width: auto !important;
  max-width: 100% !important;
}

.ticket-terms__next .ticket-terms__next__content .v-btn__content::before {
font-size: 15px !important;
}
}

/**余分なブースの削除**/
#app > div > section > section.event__layout.widget__wrap > div:nth-child(6) > section > div.container.widget__contents.widget-contents__wrap > section > div.timetable-layout__time-slot-wrapper > div > div:nth-child(3) > div.timetable-time-slot__wrapper.timetable-time-slot__wrapper--3 > div:nth-child(7) > div.timetable-item__card.v-card.v-card--hover.v-sheet.theme--light {
display: none;
}

#app > div > section > section.event__layout.widget__wrap > div:nth-child(6) > section > div.container.widget__contents.widget-contents__wrap > section > div.timetable-layout__time-slot-wrapper > div > div:nth-child(3) > div.timetable-time-slot__wrapper.timetable-time-slot__wrapper--3 > div:nth-child(8) > div.timetable-item__card.v-card.v-card--hover.v-sheet.theme--light {
display: none;
}

@media screen and (min-width: 1049px) {
.mypage-title__wrap{
    padding: 100px 100px !important;
}
}

@media screen and (min-width: 601px) {
.save-cancel__wrap {
  background-color: transparent !important;
}
}

/*チケットページ背景削除*/
@media screen and (max-width: 600px) {
.page-selector{
  background-color: transparent !important;
}
}

/*もっと見る削除（申し込みボタンは残す）*/
.timetable-cart-layout__btn-wrapper > button.timetable-cart-layout__btn:not(.timetable-cart-layout__purchase-btn) {
display: none !important;
}

#app > div > section > section.event__layout.widget__wrap > div:nth-child(5) > section > div.button__wrap.widget__button.widget__button__event{
display: none;
}

/*タイムテーブルタイトル削除*/
#app > div > section > section.event__layout.widget__wrap > div:nth-child(5) > section > div.container.widget-header {
display: none;
}

#app > div > section > section.event__layout.widget__wrap > div:nth-child(5) > section > div.container.widget-header{
display: none;
}

/*利用規約余白調整*/
@media screen and (max-width: 600px) {
.ticket-terms__content{
  padding: 24px !important;
}
}

/* 完了画面：画像背景を削除 */
.complete__image {
background-image: none !important;
height: 120px !important;
min-height: 120px !important;
max-height: 120px !important;
}

/* カートバー：白背景を削除 */
.cart-bar-layout {
background-color: transparent !important;
}

/*トップに戻る削除*/
.portal-event-top {
display: none!important;
}

.event__event-top {
display: none !important;
}

.timetable-layout__back-top{
display: none!important;
}

/*次へ進むボタン文言変更*/
/* 1. 元の文字（子要素すべて含む）を、画面の左側（遙か彼方）へ強制的に吹き飛ばして消す */
#app > div.v-application--wrap > section > div > div > div > section > div:nth-child(2) > div:nth-child(2) > section.profile__wrap > div > section.next-button__wrap div > button > span,
#app > div.v-application--wrap > section > div > div > div > section > div:nth-child(2) > div:nth-child(2) > section.profile__wrap > div > section.next-button__wrap div > button > span * {
    text-indent: -9999px !important; 
    display: block !important; /* 吹き飛ばし効果を確実に効かせるため */
}

/* 2. ::before だけは吹き飛ばしをキャンセル（0）し、ボタンの中央に白い文字で固定する */
#app > div.v-application--wrap > section > div > div > div > section > div:nth-child(2) > div:nth-child(2) > section.profile__wrap > div > section.next-button__wrap div > button > span::before {
    content: "確認画面へ" !important;
    text-indent: 0 !important;       /* 吹き飛ばしをリセットして位置を戻す */
    font-size: 16px !important;      /* 文字サイズ */
    color: #ffffff !important;       /* 文字色（白） */
    font-weight: bold !important;    /* 太字（お好みで） */
    
    /* ボタンの真ん中に強制配置 */
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    white-space: nowrap !important;
}

/* 3. ボタン自体を配置の基準点にする */
#app > div.v-application--wrap > section > div > div > div > section > div:nth-child(2) > div:nth-child(2) > section.profile__wrap > div > section.next-button__wrap div > button {
    position: relative !important;
}

/*ヘッダー調整*/
/** webヘッダー固定 **/
.header__wrap {
position: fixed;
z-index: 1000;
background: #fff;
}



/** ヘッダー分の余白調整 **/
.widget__wrap {
margin-top: 4em;
}

/**余分なブースの削除**/
#app > div > section > section.event__layout.widget__wrap > div:nth-child(5) > section > div.container.widget__contents.widget-contents__wrap > section > div.timetable-layout__time-slot-wrapper > div > div:nth-child(3) > div.timetable-time-slot__wrapper.timetable-time-slot__wrapper--3 > div:nth-child(8) > div.timetable-item__card.v-card.v-card--hover.v-sheet.theme--light{
  display: none;
} 

#app > div > section > section.event__layout.widget__wrap > div:nth-child(5) > section > div.container.widget__contents.widget-contents__wrap > section > div.timetable-layout__time-slot-wrapper > div > div:nth-child(3) > div.timetable-time-slot__wrapper.timetable-time-slot__wrapper--3 > div:nth-child(7) > div.timetable-item__card.v-card.v-card--hover.v-sheet.theme--light {
  display: none;
}

/* 1. ヘッダーを画面最前面に固定し、背景を「黒」にする */
#app > div > section {
  position: relative !important;
}

#app > div > section > section.header__wrap.event__header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 999 !important; /* タイムテーブルより手前に固定 */
  background-color: #000000 !important; /* 背景を黒にして下の文字を隠す */
  background: #000000 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important; /* 黒背景に合わせたうっすらとした影 */
}

/* 2. タブメニューの背景もヘッダーと同じ黒にする */
#app .v-tabs-bar,
#app .v-slide-group__wrapper,
#app .v-tabs {
  background-color: #000000 !important;
  background: #000000 !important;
}

/* 3. タイムテーブル側の配置調整 */
#app > div > section > section.event__layout.widget__wrap {
  position: relative !important;
  z-index: 1 !important; /* ヘッダーの裏側を通す */
  padding-top: 0px !important; /* ヘッダーに隠れてしまう分の初期余白 */
}

/* タブメニューの文字（TOPなど）を白色にする */
#app .header-tab__name {
  color: #ffffff !important;
}

/* 念のため、タブリンク全体の文字色やアイコンも白に統一する */
#app .v-tab {
  color: #ffffff !important;
}

/* アクティブ（現在選択されている）タブの文字をより強調したい場合 */
#app .header-tab__active__event .header-tab__name {
  color: #ffffff !important;
  font-weight: bold !important;
}

/* 追加のメニュー文字も白色にする */
#app .menu__name > p {
  color: #ffffff !important;
}

/* メニュー内のアイコン画像を白っぽく反転させる */
#app .menu__name > img {
  filter: brightness(0) invert(1) !important; /* 黒い画像を完全に白に変える魔法のフィルター */
}

/* スライドグループ内の文字や要素をまとめて白ベースにする */
#app .v-slide-group__content {
  color: #ffffff !important;
}

/* 【超強力版】タブの下線（スライダー）に関わる要素をすべて強制的に白にする */
#app .v-tabs-slider-wrapper,
#app .v-tabs-slider,
#app [class*="v-tabs-slider"] {
  background-color: #ffffff !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}

/*色変更*/
/* （旧ブロックは下の「#0077ff / #0066ff」セクションに統合） */

/* ==========================================
 eventos デフォルト #0077ff / #0066ff → #1B41EA
 ========================================== */

/* --- イベントTOP：タイムテーブル（#0077ff） --- */

/* タイムテーブル詳細ダイアログ：企業名・肩書きを改行表示 */
.timetable-item-dialog__speaker-company-name .timetable-item-dialog__separator {
display: none !important;
}

.timetable-item-dialog__speaker-company-name span.timetable-item-dialog__speaker-position {
display: block !important;
margin-top: 4px !important;
}

.timetable-layout .timetable-item__status-selling,
.timetable-layout .timetable-item__status-purchased {
color: #1B41EA !important;
border-color: #1B41EA !important;
}

.timetable-layout .timetable-item__select-button {
background-color: #1B41EA !important;
border-color: #1B41EA !important;
}

.timetable-layout .timetable-item__card--in-cart {
box-shadow:
  #1B41EA 0 0 0 2px,
  rgba(27, 65, 234, 0.2) 0 0 4px 0 !important;
}

.timetable-layout .timetable-cart-layout__cart-bar {
background-color: #1B41EA !important;
}

/* --- ログイン・登録 --- */
.login-button__content,
.register__button__content {
background-color: #1B41EA !important;
border-color: #1B41EA !important;
}

.register-button {
color: #1B41EA !important;
border-color: #1B41EA !important;
}

/* --- チケット申込フロー --- */
/* ※ .ticket-terms__back の「戻る」ボタンは対象外 */
.next-button__content,
.ticket-page-content-wrapper .next-button__content,
.profile__wrap .next-button__wrap .v-btn--contained:not(.v-btn--disabled),
.confirm__wrap .next-button__wrap .v-btn--contained:not(.v-btn--disabled),
.confirm__wrap > div > button:not(.v-btn--disabled),
.complete-layout__wrap .v-btn--contained:not(.v-btn--disabled),
.cart-bar-layout .next-button__content,
.cart-bar-layout .v-btn--contained:not(.v-btn--disabled),
.regit-complete__button .v-btn--contained:not(.v-btn--disabled),
.ticket-terms__next .v-btn--contained:not(.v-btn--disabled),
.top-button__content.base-background-color,
.v-dialog__content--active .v-card__actions.dialog__content > button:not(.v-btn--disabled) {
  background-color: #1B41EA !important;
  border-color: #1B41EA !important;
}

.confirm__wrap > div > button.v-btn--outlined:not(.v-btn--disabled),
.v-dialog__content--active .v-card__actions.dialog__content > button.v-btn--outlined:not(.v-btn--disabled) {
  color: #1B41EA !important;
  border-color: #1B41EA !important;
  caret-color: #1B41EA !important;
}

/* --- マイページ --- */
.mypage-layout__wrap .mypage-title__button,
.mypage-layout__wrap .mypage-title__button__text,
.mypage-layout__wrap .mypage-title__button__image {
color: #1B41EA !important;
border-color: #1B41EA !important;
caret-color: #1B41EA !important;
}

.mypage-layout__wrap .profile-contents__controller__button,
.mypage-layout__wrap .save-cancel__button.color-white {
background-color: #1B41EA !important;
border-color: #1B41EA !important;
}

.mypage-layout__wrap .save-cancel__button.background-white {
color: #1B41EA !important;
border-color: #1B41EA !important;
caret-color: #1B41EA !important;
}

/* タイムテーブル：申し込みボタン（白背景・青文字） */
.timetable-cart-layout__purchase-btn,
.timetable-cart-layout__purchase-btn--widget,
.timetable-cart-layout__purchase-btn--widget-sp,
.timetable-cart-layout__widget-purchase-btn-wrapper > button {
background-color: #fff !important;
border-color: #1B41EA !important;
}

.timetable-cart-layout__purchase-btn .v-btn__content,
.timetable-cart-layout__purchase-btn--widget .v-btn__content,
.timetable-cart-layout__purchase-btn--widget-sp .v-btn__content,
.timetable-cart-layout__widget-purchase-btn-wrapper > button .v-btn__content,
.timetable-cart-layout__purchase-btn .v-btn__content *,
.timetable-cart-layout__purchase-btn--widget .v-btn__content *,
.timetable-cart-layout__purchase-btn--widget-sp .v-btn__content *,
.timetable-cart-layout__widget-purchase-btn-wrapper > button .v-btn__content * {
color: #1B41EA !important;
}

/* --- #0066ff（rgb(0, 102, 255)）--- */
.timetable-cart-layout__purchase-btn,
.timetable-cart-layout__purchase-btn--widget,
.timetable-cart-layout__purchase-btn--widget-sp,
.timetable-cart-layout__btn,
.timetable-cart-layout__btn--icon,
.widget__header.widget__header__event,
.header-tab__active__event,
.header-tab__name,
.header-tab__menu {
color: #1B41EA !important;
caret-color: #1B41EA !important;
}

.widget__bottom.widget__bottom__event {
color: #1B41EA !important;
background-color: #1B41EA !important;
border-color: #1B41EA !important;
}

/* SP：カートバー申し込みボタンを表示（eventos標準は非表示） */
@media screen and (max-width: 600px) {
.timetable-cart-layout__cart-bar .timetable-cart-layout__purchase-btn--widget-sp {
display: flex !important;
}
}

/* 申し込み済みセッション一覧の注釈変更 */
#app > div > section > section.mypage-layout__wrap.mypage__layout > div.mypage-contents__wrap > div.flex.mypage-contents__contents > section > div > div:nth-child(3) > div > div > div:nth-child(2) > p.menu-item__message {
  font-size: 0 !important;
  line-height: 1.5 !important;
}
#app > div > section > section.mypage-layout__wrap.mypage__layout > div.mypage-contents__wrap > div.flex.mypage-contents__contents > section > div > div:nth-child(3) > div > div > div:nth-child(2) > p.menu-item__message::before {
  content: "申し込み済みセッションの一覧を表示します" !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  display: inline !important;
}

/*マイページログアウトボタン文字色変更*/
@media screen and (max-width: 600px) {
    .mypage-contents__menu__logout {
    color: #444 !important;
    }
    }