/* ──────────────────────────────────────────────────────────────── */
/* All location ─────────────────────────────────────────────────── */
/* ──────────────────────────────────────────────────────────────── */
*,
*::before,
*::after,
html,
body,
input,
button,
textarea,
select,
.v-application {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Sans", sans-serif !important;
}

/* Material Icons などのアイコンフォント崩れを防ぐ除外設定 */
.material-icons,
.v-icon,
[class*="icon"],
[class^="icon"] {
  font-family: inherit;
}

.material-icons {
  font-family: "Material Icons" !important;
}

/* チェックボックスおよびVuetify内部アイコンのフォント保護 */
.v-icon,
.v-icon::before,
.v-icon::after,
.mdi::before,
.mdi::after,
[class*="mdi-"]::before,
[class*="mdi-"]::after {
  font-family: "Material Design Icons" !important;
}

.material-icons,
.material-icons::before,
.material-icons::after {
  font-family: "Material Icons" !important;
}



/* ──────────────────────────────────────────────────────────────── */
/* All loading ──────────────────────────────────────────────────── */
/* ──────────────────────────────────────────────────────────────── */

/* ローディングアニメーション（円形スピナー）のカラーを変更 */
.whole-loading .v-progress-circular,
.whole-loading .v-progress-circular svg,
.whole-loading .v-progress-circular__overlay {
  color: #3DAADF !important;
  caret-color: #3DAADF !important;
  stroke: #3DAADF !important;
}

/* インラインスタイルの rgb(0, 102, 255) を強制上書き */
.v-progress-circular.v-progress-circular--indeterminate,
.v-progress-circular.v-progress-circular--indeterminate {
  color: #3DAADF !important;
  caret-color: #3DAADF !important;
}

/* SVG内部の circle（描画線）に対して直接カラーを指定 */
.v-progress-circular.v-progress-circular--indeterminate svg circle,
.v-progress-circular.v-progress-circular--indeterminate circle.v-progress-circular__overlay {
  stroke: #3DAADF !important;
}

/* 1. 親要素・ラッパーの文字色（currentColor）を強制上書き */
.v-progress-circular,
.v-progress-circular[style*="color"] {
  color: #3DAADF !important;
  caret-color: #3DAADF !important;
}

/* 2. SVG本体および円弧（circle / overlay）の stroke / color を強制指定 */
.v-progress-circular svg,
.v-progress-circular svg circle,
.v-progress-circular .v-progress-circular__overlay,
circle.v-progress-circular__overlay {
  color: #3DAADF !important;
  stroke: #3DAADF !important;
  fill: transparent !important;
}

/* 3. 背景円（v-progress-circular__underlay）がある場合の調整 */
.v-progress-circular .v-progress-circular__underlay {
  stroke: rgba(61, 170, 223, 0.2) !important;
}


/* ──────────────────────────────────────────────────────────────── */
/* All header ──────────────────────────────────────────────────── */
/* ──────────────────────────────────────────────────────────────── */
.tab-icon {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #073963 !important;
}

.header__content {
  height: 60px;
}

.header__logo,
.header__menu,
.header-logo__wrap,
.header-tab__wrap,
.v-tabs,
.v-tabs-bar {
  height: 100%;
}




@media screen and (max-width: 850px) {

  /* ヘッダーコンテナを基準位置にする */
  .header__content {
    position: relative !important;
  }

  /* ロゴを真ん中に固定配置 */
  .header__content .header-logo__wrap {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    margin-right: 0 !important;
  }
}



/* 右側メニューアイコンの垂直中央揃え */
.header-tab__sp {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
  padding: 0 16px !important;
}

/* アイコン画像を16px左へ移動 */
.menu__icon__image {
  position: relative !important;
  right: 16px !important;
  margin-right: 0 !important;
}

/* 1. 最上位ラッパーおよびコンテンツ領域の強制固定 */
section.header__wrap.event__header,
section.header__wrap.event__header .header__content,
section.header__wrap,
.header__content {
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

/* 2. 中間レイアウト要素の高さ追従・パディングリセット */
section.header__wrap.event__header .header__logo,
section.header__wrap.event__header .header__menu,
section.header__wrap.event__header .header-logo__wrap,
section.header__wrap.event__header .header-tab__wrap,
section.header__wrap.event__header .header-tab__pc,
section.header__wrap.event__header .header-tab__sp,
section.header__wrap.event__header .header-tab__menu,
section.header__wrap.event__header .menu__name {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-items: center !important;
}

/* 3. Vuetifyタブコンポーネントの内部インラインスタイル上書き */
section.header__wrap.event__header .v-tabs,
section.header__wrap.event__header .v-tabs-bar,
section.header__wrap.event__header .v-slide-group,
section.header__wrap.event__header .v-slide-group__wrapper,
section.header__wrap.event__header .v-slide-group__content,
section.header__wrap.event__header .v-tab {
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 4. アクティブタブ要素の制御 */
.header-tab__active__event {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: transparent !important;
  color: inherit !important;
}

.header-tab__v-tab.v-tab.v-tab--active.header-tab__active__event {
  color: #3daadf;
  border-color: #3daadf;
}

.layout.menu__name,
.menu__name__area,
.header-tab__name,
.header-tab__no-active {
  color: #073963 !important;
}

.theme--light.v-tabs .v-tab--active:before,
.theme--light.v-tabs .v-tab--active:hover:before,
.theme--light.v-tabs .v-tab:focus:before {
  opacity: 0 !important;
}

/* 5. 画像・アイコンのサイズ制御 */
section.header__wrap.event__header .header-logo__image-pc {
  height: 40px !important;
  max-height: 100% !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

section.header__wrap.event__header .header-logo__image-sp,
section.header__wrap.event__header .header-logo__image-sp__content,
section.header__wrap.event__header .menu__icon__image,
section.header__wrap.event__header .menu__icon__detail {
  height: 40px !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

/* エリア全体の横幅180px・左右パディング16px・上下中央揃え */
section.header-logo__wrap {
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
}

/* PC表示時（768px以上）: PC用画像のみ表示 */
@media screen and (min-width: 768px) {
  section.header-logo__wrap .header-logo__image-pc {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
  }

  section.header-logo__wrap .header-logo__image-sp {
    display: none !important;
  }
}

/* SP表示時（767px以下）: SP用画像のみ表示 */
@media screen and (max-width: 767px) {
  section.header-logo__wrap .header-logo__image-pc {
    display: none !important;
  }

  section.header-logo__wrap .header-logo__image-sp {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
  }

  section.header-logo__wrap .header-logo__image-sp__content {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
  }
}

@media screen and (max-width: 850px) {

  /* 三角アイコン（menu__icon__detail）を完全に非表示 */
  .header-tab__sp .menu__icon__detail,
  section.header__wrap.event__header .menu__icon__detail,
  img.menu__icon__detail {
    display: none !important;
  }
}

/* ──────────────────────────────────────────────────────────────── */
/* ヘッダー SP・レスポンシブ制御 ─────────────────────────────────── */
/* ──────────────────────────────────────────────────────────────── */

/* 851px以上：重複するSP側アイコン群を非表示にし、PC側の▼のみ残す */
@media screen and (min-width: 851px) {
  .header-tab__sp {
    display: none !important;
  }
}

/* 850px以下：SPレイアウトへ切り替え、▼を非表示にする */
@media screen and (max-width: 850px) {

  /* ヘッダーコンテナを基準位置にする */
  .header__content {
    position: relative !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
  }

  /* ロゴを真ん中に固定配置 */
  .header__content .header-logo__wrap {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    margin-right: 0 !important;
  }

  /* 右側メニューアイコンの配置 */
  .header-tab__sp {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    padding: 0 16px !important;
  }

  /* アイコン画像を16px左へ移動 */
  .menu__icon__image {
    position: relative !important;
    right: 16px !important;
    margin-right: 0 !important;
  }

  /* SP表示時の▼アイコンのみ非表示 */
  .header-tab__sp .menu__icon__detail,
  section.header__wrap.event__header .menu__icon__detail,
  img.menu__icon__detail {
    display: none !important;
  }
}

/* ──────────────────────────────────────────────────────────────── */
/* /verify ──────────────────────────────────────────────────────── */
/* ──────────────────────────────────────────────────────────────── */

/* 背景色（パスコード認証画面のみ適用） */
html:has(.verify__wrap),
body:has(.verify__wrap),
.v-application.verify__wrap,
.v-application.verify__wrap .v-application--wrap,
.v-application.verify__wrap .verify__section {
  background-color: #073963 !important;
}

/* モーダルアイコン */
.verify-layout__icon .v-image__image {
  background-image: none !important;
  background-color: #073963 !important;
  -webkit-mask-image: url("https://olc-contents.eventos.tokyo/web/_nuxt/f41a21d12965cc96b1bd59ffed950dcb.svg");
  mask-image: url("https://olc-contents.eventos.tokyo/web/_nuxt/f41a21d12965cc96b1bd59ffed950dcb.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

/* モーダルテキスト・エラーメッセージ */
.verify-layout__wrap .verify-layout__title,
.verify-layout__wrap .verify-layout__description,
p {
  color: #073963 !important;
}

/* 入力フィールド */
.passcode-form__input.v-text-field--outlined .v-input__control {
  min-height: 44px !important;
  height: 44px !important;
}

.passcode-form__input.v-text-field--outlined .v-input__slot {
  min-height: 44px !important;
  height: 44px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.passcode-form__input.v-text-field--outlined input,
#passcode {
  padding: 0 !important;
  height: 44px !important;
  font-size: 15px !important;
  color: #073963 !important;
}

.passcode-form__input.v-text-field--outlined .v-input__append-inner {
  margin-top: 10px !important;
}

/* プレースホルダー */
.passcode-form__input.v-text-field--outlined input::placeholder,
#passcode::placeholder {
  font-size: 15px !important;
  color: #073963 !important;
  opacity: 0.6;
}

/* 未入力・非フォーカス時 */
.passcode-form__input.v-text-field--outlined:not(.v-input--is-focused):not(.v-input--is-dirty) fieldset {
  border-color: #D1E0ED !important;
  color: #D1E0ED !important;
}

/* 入力中（フォーカス時）または 入力済み（値あり） */
.passcode-form__input.v-text-field--outlined.v-input--is-focused fieldset,
.passcode-form__input.v-text-field--outlined.v-input--is-dirty fieldset {
  border-color: #073963 !important;
  color: #073963 !important;
}

/* 送信ボタン */
.passcode-form__button.v-btn {
  background-color: #3DAADF !important;
  margin-top: 24px !important;
}


/* ──────────────────────────────────────────────────────────────── */
/* TOP (トップページ & ウィジェット & バナー) ─────────────────── */
/* ──────────────────────────────────────────────────────────────── */

/* TOP全体フォント・余白 */
.widget__wrap.event__layout {
  padding: 0 !important;
  color: #073963 !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* TOPタイトル */
.widget-title__text {
  color: #073963 !important;
}

.widget-title__text h2 {
  color: #3daadf;
}

.widget-title__border {
  height: 0;
  width: 0;
}

.widget-title__border.base-background-color {
  display: none;
}

.widget-header__border {
  border-color: #3daadf !important;
}

/* TOPコンテンツフォント */
.container.widget__contents.widget-contents__wrap p {
  color: #073963 !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* TOPバナー */
.banner__item-display-size img {
  vertical-align: top;
}

div.html__wrap {
  margin-top: 0px !important;
}

/* TOP：チケット動線「予約はこちら」 */
.v-card__title.card_contents__info_title,
.card_contents__info_title,
.card_contents__info_title p {
  color: #073963 !important;
}

/* TOP：フッター */
.footer-content,
.footer-content .navigation,
.footer-content .navigation a,
.footer-content a,
nav.navigation a,
p.copyright,
.copyright {
  color: #073963 !important;
}

/* TOP余白調整 */
#app>div>section>section.home__layout.widget__wrap>div:nth-child(5)>section>div.button__wrap.widget__button.widget__button__event {
  margin: 0px !important;
}

section.widget__wrap.home__layout {
  padding-bottom: 0;
}

/* 「もっと見る」非表示 */
button.widget__header.widget__header__event,
button.widget__bottom.v-btn.v-btn--contained.theme--dark.v-size--default,
button.widget__header.v-btn.v-btn--flat.v-btn--text.v-btn--tile.theme--light.v-size--default.widget__header__event {
  display: none !important;
}

/* ページ上部に遷移ボタン */
button.mx-2.top-button__content.base-background-color.v-btn.v-btn--contained.v-btn--fab.v-btn--round.theme--dark.v-size--default {
  background: #073963 !important;
}

i.v-icon.notranslate.material-icons.theme--dark {
  color: #fff !important;
}

h2 {
  font-size: 22px;
}

.information-title__text {
  font-size: 15px !important;
}

/* 枠の高さを60pxにし、上下均等（中央揃え）に配置 */
.information__content {
  height: 60px !important;
  min-height: 60px !important;
  display: flex !important;
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.information__content__sp,
.information__content__text,
.information-title__wrap {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* テキストの上下余白リセット */
.information-title__text {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}





/* ──────────────────────────────────────────────────────────────── */
/* /users/login & 認証関連 (ログイン・新規登録・再設定・枠線制御) ── */
/* ──────────────────────────────────────────────────────────────── */

/* ========================================================
   枠線カラー制御（未入力：#D1E0ED / 入力中・入力済み：#073963）
======================================================== */
/* 未入力・非フォーカス時 */
.v-text-field--outlined:has(#passcode, #mail_address, #password):not(.v-input--is-focused):not(.v-input--is-dirty) fieldset {
  border-color: #D1E0ED !important;
  color: #D1E0ED !important;
  border-width: 1px !important;
  border-radius: 3px !important;
}

/* 入力中（フォーカス時）または 入力済み（値あり） */
.v-text-field--outlined:has(#passcode, #mail_address, #password).v-input--is-focused fieldset,
.v-text-field--outlined:has(#passcode, #mail_address, #password).v-input--is-dirty fieldset {
  border-color: #073963 !important;
  color: #073963 !important;
  border-width: 1px !important;
  border-radius: 3px !important;
}

/* --- ログイン画面 --- */
.login__section {
  background-color: #ecf1f4 !important;
}

#app>div>div>section>div>div.title-layout {
  background: #fee9d1 !important;
}

/* ログインタイトル・説明文・ラベル（#073963に統一） */
p.title__content__text,
.login-layout__message,
span.login-form__mail__label,
span.login-form__password__label {
  color: #073963 !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* パスワードを忘れた場合 */
span.smart__forget__link {
  color: #3daadf !important;
}

/* ログインボタン */
button#login_button {
  background-color: #3daadf !important;
}

@media screen and (max-width: 600px) {
  .login-button__content {
    margin-bottom: 0 !important;
  }
}

/* 新規登録ボタン */
button#register_button {
  border-color: #3dabdf !important;
  color: #3dabdf !important;
}

/* --- パスワード再設定 --- */
section.reset-layout__wrap.reset__layout,
.reset-layout__message__content {
  color: #073963 !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* 送信 */
button.reset-buton__content.v-btn.v-btn--contained.theme--light.v-size--large {
  background-color: #3daadf !important;
}

span.reset-cancel__link {
  color: #3daadf !important;
}

/* --- 新規登録 --- */
.register__section {
  background-color: #ecf1f4 !important;
}

.register-layout__wrap {
  background: #e3f2fe !important;
}

/* 新規登録テキスト・ラベル（#073963に統一） */
p.title__content,
span.register__mail__label__text,
span.register__password__label__text,
span.agreement__button__label {
  color: #073963 !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* 言語切替非表示 */
.register-lang {
  display: none !important;
}

/* 規約/プラポリ */
.layout.agreement__group a {
  color: #3daadf !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* チェックボックス */
.checkbox-parts:before {
  border-right: 3px solid #333 !important;
  border-bottom: 3px solid #333 !important;
}

/* 新規登録ボタン */
button.register__button__content.v-btn.v-btn--contained.theme--light.v-size--large {
  background-color: #3daadf !important;
}

/* ログイン画面へ */
span.register__account__text {
  color: #3daadf !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* 認証コード送信ボタン */
button.register-passcode__button__content.v-btn.v-btn--contained.theme--light.v-size--large {
  background-color: #3daadf !important;
}

/* 認証コード送信キャンセルボタン */
span.register-passcode__cancel__link {
  color: #3daadf !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* --- プロフィール登録 --- */
section.profile__layout {
  background-color: #ecf1f4 !important;
}

.profile__spacer {
  background-color: #ecf1f4;
}

.profile__wrap {
  color: #073963 !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

button.v-btn.v-btn--contained.theme--dark.v-size--default {
  background-color: #3daadf !important;
}

/* Webページタイトル・完了画面テキスト */
.web-page__title,
.complete__wrap,
.complete__message__text {
  color: #073963 !important;
}

/* サーバーとの接続に失敗しました OKボタン */
button.dialog__content__button.v-btn.v-btn--contained.theme--dark.v-size--large {
  background-color: #3daadf !important;
}




/* ──────────────────────────────────────────────────────────────── */
/* マイページ (/users/mypage) ───────────────────────────────────── */
/* ──────────────────────────────────────────────────────────────── */

/* マイページ全体フォント・テキストカラー（#073963に統一） */
section.mypage-layout__wrap.mypage__layout p,
.mypage-title__text,
.mypage-contents__menu__title,
span.mypage-contents__menu-item__label,
.mypage-contents__menu__logout,
.menu-item__title,
.menu-item__message,
.mypage-sp-title__content__text {
  color: #073963 !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* マイページ区切り線 */
.theme--light.v-divider {
  border: solid 1px #ECF1F4;
}

/* エラーテキスト */
.v-messages.theme--light.error--text {
  color: #FF5F33 !important;
}

.error--text .v-input__slot {
  caret-color: #ff5f33 !important;
  color: #ff5f33 !important;
}

/* 会員情報テキスト */
.profile-contents__detail__label,
.profile-contents__detail__selector-value,
.profile-contents__detail__value span,
.profile-contents__detail__value,
.item__label__text {
  color: #073963 !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* 必須ラベル */
span.item__label__required {
  color: #FF5F33 !important;
}

/* 入力枠 */
fieldset {
  border-color: #333 !important;
}

/* クレジットカード情報 新しいカードを追加ボタン */
button.add-credit-card-button.v-btn.v-btn--contained.theme--light.v-size--large {
  background-color: #3daadf !important;
}

/* カード追加 枠 */
.stripe-element {
  border-color: #a5bcd0 !important;
}

.stripe-element.complete {
  border-color: #3DAADF !important;
}

/* クレジットカード情報 テキスト */
.registered-credit-message__label,
.registered-credit-card__table__number,
.registered-credit-card__table__expire,
.registered-credit-card__announce,
.mb-1,
input.InputElement.is-complete.Input {
  color: #073963 !important;
}

/* カード追加 エラー */
input.InputElement.is-invalid.Input {
  color: #ff5f33 !important;
}

/* 新しいカードを登録ボタン */
button.add-card-button.v-btn.v-btn--contained.theme--light.v-size--default {
  background-color: #3daadf !important;
}

/* クレジットカード情報 ゴミ箱 */
div.mypage-contents__wrap>div.flex.mypage-contents__contents>div>div.registered-credit-card.v-card.v-card--flat.v-sheet.theme--light>div>div>table>tbody>tr>td.text-right>button>span>i.v-icon.notranslate.material-icons.theme--light {
  color: #ff5f33 !important;
  caret-color: #ff5f33 !important;
}

/* 申込履歴 テーブル */
div.mypage-contents__wrap>div.flex.mypage-contents__contents>section>section.ticket-charge-table.ticket-charge-layout__ticket-charge-table>div.ticket-charge-table__card.v-card.v-card--flat.v-sheet.theme--light>div>div>table>thead>tr>th {
  border-color: #333 !important;
  border-bottom-color: #333 !important;
  border-bottom: 2px solid #333 !important;
}

.ticket-charge-layout__title,
.ticket-charge-list__card__card-bottom-wrapper__value,
.ticket-charge-list__card__card-bottom-wrapper__value-ticket-names,
.ticket-charge-table th,
.ticket-charge-table td,
.v-select__selection.v-select__selection--comma,
.v-list-item__title {
  color: #073963 !important;
}

/* "マイページ"横の縦ライン色変更 */
p.mypage-title__text {
  border-color: #3DAADF !important;
}

/* マイページ 背景色 */
.mypage-title__wrap {
  background-color: #fff;
}

.mypage-contents__wrap {
  background-color: #f8f8f8 !important;
}

/* カードhover */
.event-card:hover {
  border: 2px solid #3DAADF !important;
}

/* カード余白調整 */
.mypage-top-layout__menu {
  padding: 18px !important;
  line-height: 2;
}

/* ──────────────────────────────────────────────────────────────── */
/* ヘッダー全体および内部コンテナの高さ固定と横並び制御 */
/* ──────────────────────────────────────────────────────────────── */
section.header__wrap,
section.header__wrap.event__header,
.header__content {
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  /* はみ出しによる領域拡張を遮断 */
}

.header__content {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  position: relative !important;
}

/* 不要な垂直方向マージン・パディングのリセット */
.header__logo,
.header__menu,
.header-logo__wrap,
.header-tab__wrap {
  height: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
}

@media screen and (max-width: 850px) {

  /* 親コンテナの横幅を画面いっぱいに広げる */
  .header__content {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
  }

  /* spacer による不要な余白押し出しを無効化 */
  .header__content .spacer {
    display: none !important;
  }

  /* 右側メニュースペースを固定幅で右端に配置 */
  .header__menu {
    width: auto !important;
    min-width: 60px !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  .header-tab__wrap {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  /* SPメニュー要素の表示とサイズ固定 */
  .header-tab__sp {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 12px 0 0 !important;
    position: static !important;
  }

  .header-tab__sp section,
  .header-tab__sp .menu__name {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* アイコン画像のサイズと表示を強制 */
  .header-tab__sp .menu__icon,
  .header-tab__sp .menu__icon__image,
  .header-tab__sp .menu__icon__detail {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    max-width: none !important;
    max-height: none !important;
    position: static !important;
    object-fit: contain !important;
  }
}

/* “会員QR”ボタン（青を維持） */
button.mypage-title__button.v-btn.v-btn--depressed.v-btn--flat.v-btn--outlined.theme--light.v-size--default {
  color: #3DAADF !important;
  caret-color: #3DAADF !important;
}

/* 会員QR テキスト変更 */
span.mypage-title__button__text {
  font-size: 0 !important;
}

span.mypage-title__button__text:before {
  font-size: 16px !important;
  content: "会員二次元コード";
  text-transform: none;
}

p.ma-1 {
  font-size: 0;
}

p.ma-1:before {
  font-size: 16px;
  content: "会員二次元コード";
}

/* 会員QRオーバーレイ内のラベル文字色（ダーク背景向け） */
.member-code-overlay p.ma-1,
.member-code-overlay p.ma-1:before {
  color: #fff !important;
}

/* 左側メニュー列 */
.mypage-contents__menu-item {
  padding: 20px 10px !important;
}

/* アクティブメニューは青を維持 */
.active-event span.mypage-contents__menu-item__label {
  color: #3DAADF !important;
}

/* マイチケット / ログアウト hover時の背景色 */
.layout.mypage-contents__menu-item.align-center.active-event:hover,
.mypage-contents__menu__logout:hover {
  background-color: rgb(0 0 0 / 5%) !important;
}

/* ログイン情報 */
.info-top__wrap {
  background-color: transparent !important;
}

.info-top__card__label,
.info-top__card__content {
  color: #073963 !important;
}

/* 変更するボタン 色変更 */
button.ml-2.v-btn.v-btn--contained.theme--dark.v-size--default,
button.profile-contents__controller__button.v-btn.v-btn--contained.theme--dark.v-size--default {
  background-color: #3DAADF !important;
}

/* 会員情報＞ボタンエリア 背景透過 */
.layout.save-cancel__wrap.align-center {
  background-color: transparent !important;
}

/* ログイン情報＞メールアドレスの変更 */
.mail-address__wrap {
  background-color: #ffffff !important;
  border-radius: 7px;
  padding-top: 1vw;
}

.v-application .primary--text {
  color: #3DAADF !important;
}

.save-cancel__wrap {
  background-color: #ffffff !important;
}

/* ログイン情報＞メールアドレスの変更 戻るボタン */
button.save-cancel__button.background-white.v-btn.v-btn--depressed.v-btn--flat.v-btn--outlined.theme--light.v-size--default {
  border-color: #3DAADF;
  color: #3DAADF !important;
}

/* ログイン情報＞メールアドレスの変更 変更するボタン */
button.save-cancel__button.color-white.v-btn.v-btn--contained.theme--light.v-size--default {
  background-color: #3DAADF !important;
}

/* ログイン情報＞パスワードの変更 */
.password__wrap {
  background-color: #ffffff !important;
  border-radius: 7px;
  padding-top: 1vw;
}

/* マイチケット一覧 */
.my-ticket-contents__title,
.ticket-name,
.my-ticket-contents th,
.my-ticket-contents td {
  color: #073963 !important;
}

th.text-start.ticket-th {
  border-color: #3DAADF !important;
}

.my-ticket-contents__buttons {
  display: none;
}

.ticket-card-detail__action-button--close .v-btn__content {
  color: #ffffff !important;
}

/* ログアウトしますか？のいいえ/はいボタン */
button.selector-dialog__content__no.v-btn.v-btn--contained.theme--light.v-size--default,
button.selector-dialog__content__yes.v-btn.v-btn--contained.theme--light.v-size--default {
  background-color: #3DAADF !important;
}

/* マイページ上のログイン情報項目削除 */
/* PC_view */
#app>div>section>section.mypage-layout__wrap.mypage__layout>div.mypage-contents__wrap>div.flex.mypage-contents__contents>section>div>div:nth-child(1) {
  display: none;
}

/* SP_view */
section.mypage-layout__wrap.mypage__layout div.mypage-contents__wrap div.flex.mypage-contents__menu div:nth-child(2) div div {
  display: none;
}


/* ──────────────────────────────────────────────────────────────── */
/* チケット（一覧〜購入〜確認〜完了） ───────────────────────────── */
/* ──────────────────────────────────────────────────────────────── */

/* ページ背景/全体フォント・テキストカラー（#073963に統一） */
.ticket__wrap,
p.page-selector__ticket__text.active,
p.page-selector__my-ticket__text.active,
p.ticket-card__title__name,
h1.ticket-card-detail__summary__name,
.ticket-card-detail__summary__description.ticket-card-detail__summary__description__hide-detail span,
p.ticket-card-detail__summary__description__expander,
span.ticket-card-detail__contents__value.pre,
span.ticket-card-detail__contents__value,
.payment-period-remark,
.detail-card__dialog__title,
p.ticket-card-title__text,
span.ticket-detail-title__text,
.ticket-row-category-content__category-title,
.ticket-row-content__title,
.ticket-row-content-price__price-item-price,
.ticket-row-content__status-label,
.ticket-row-content__card-message,
.card-date-message,
.ticket-detail-amount__number-value,
.partner__title,
.discount__title,
.payment-methods__title,
p.notice-text {
  color: #073963 !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* チケット タイトル横ライン */
.ticket-list-title__text {
  color: #073963 !important;
  border-color: #3daadf !important;
}

@media screen and (max-width: 600px) {
  p.page-selector__my-ticket__text.active {
    background-color: #3daadf !important;
  }
}

/* チケットキャンセルボタン・テキスト */
button.payment-button.px-8.mb-4.v-btn.v-btn--contained.theme--dark.v-size--default {
  background-color: #ff5f33 !important;
}

.payment-period {
  color: #ff5f33 !important;
}

/* 利用可能タグ */
span.ticket-card-detail__status.active,
span.ticket-card__status.pa-1.active {
  background-color: #36b927 !important;
}

/* 有効期限切れタグ */
span.ticket-card-detail__status.finished,
span.ticket-card__status.pa-1.finished {
  background-color: #ff5f33 !important;
}

/* キャンセルダイアログボタン */
button.detail-card__dialog__content__no.v-btn.v-btn--contained.theme--light.v-size--default,
button.detail-card__dialog__content__yes.v-btn.v-btn--contained.theme--light.v-size--default {
  background-color: #3daadf !important;
}

/* 見出し下ライン （SPは背景色） 色変更 */
.page-selector__border {
  border-color: #3DAADF !important;
}

@media screen and (max-width: 600px) {
  .page-selector__ticket__text.active {
    background-color: #3DAADF !important;
  }

  .page-selector__my-ticket__text.active {
    background-color: #3DAADF;
  }
}

/* 説明テキスト */
.ticket-description {
  max-width: 1200px;
  margin: auto;
}

/* カテゴリ帯 */
.breadcrumbs {
  background-color: #3daadf !important;
}

/* 数量ステッパー */
.card-amount__number__button,
.ticket-detail-amount__number-button {
  background-color: #3DAADF !important;
}

.card-amount__number__button.v-btn--disabled,
.card-amount__number__button:disabled,
.ticket-detail-amount__number-button.v-btn--disabled,
.ticket-detail-amount__number-button:disabled {
  background-color: #A5BCD0 !important;
  opacity: 1 !important;
}

/* カートに入れるボタン 色変更 */
button.cart-next-button__content.v-btn.v-btn--contained.theme--light.v-size--large {
  background-color: #3DAADF !important;
}

/* カートに入れるボタン 枚数色変更 */
.cart-button__content__number {
  background-color: #FAB301 !important;
}

/* 購入画面詳細テキスト */
.ticket-detail-description__detail-text,
.v-card__text.detail-dialog__detail>div>p.ticket-detail-description__detail-text>i,
.ticket-price__value {
  color: #3DAADF !important;
}

/* チケットステータス */
.card-status__selling,
span.card-status__selling,
.ticket-row-category-content__status--enough,
.ticket-row-category-content__status--selling,
.ticket-row-content__status-selling {
  color: #3DAADF !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

span.card-date-message__text {
  color: #8294aa !important;
}

/* 規約内リンク */
section.ticket-terms__wrap a {
  color: #3daadf;
}

/* 規約 申し込むボタン */
button.ticket-terms__next__content.v-btn.v-btn--contained.theme--light.v-size--large {
  background-color: #3daadf !important;
}

/* カートに入れた後の画面下の申し込みボタン 色変更 */
.ticket-total {
  background-color: #073963 !important;
}

div.web-layout>section>div.next-button>button>span {
  color: #073963 !important;
}

/* 1. 最上位のラッパー要素全体に青が当たっている場合 */
.web-layout {
  background-color: #1a365d !important;
}

/* SVGアイコンの色調変更（必要に応じて） */
.category-status__few__icon {
  filter: brightness(0.7) sepia(1) hue-rotate(180deg) saturate(2);
  /* または fill 制御 */
}

/* 1. 外側のラッパー全体（スマホ表示・Web表示両対応） */
.ticket-cart,
.ticket-cart .smart-phone-layout,
.ticket-cart .web-layout,
.ticket-total,
.ticket-total__application__radius {
  background: #1a365d !important;
  background-color: #1a365d !important;
  border-color: #1a365d !important;
}

/* カート内ボタン・テキスト */
button.item-delete-button__content.v-btn.v-btn--contained.theme--light.v-size--default {
  background-color: #3DAADF !important;
}

span.ticket-price__value__mark,
span.ticket-price__value__price {
  color: #3DAADF !important;
}

button.cart-back-button__content.v-btn.v-btn--contained.theme--light.v-size--large {
  color: #3DAADF !important;
  border-color: #3DAADF !important;
}

/* カート（PC）*/
.ticket-row-cart-pc__text--color-black,
.ticket-row-cart-pc__total-label,
.ticket-row-cart-pc__total-price-unit,
.ticket-row-cart-pc__text--font-size-24,
.ticket-row-cart-pc__cart-body,
.ticket-row-cart-pc .ticket-cart-normal-price__text {
  color: #073963 !important;
}

/* チケット：当日来場者情報（profile）*/
section.profile__wrap,
.profile__wrap .profile__title,
.profile__wrap .item__label__text {
  color: #073963 !important;
}

.profile__wrap span.item__label__required {
  color: #FF5F33 !important;
}

/* 情報入力画面 アイコン・線 */
.status__icon.status__checked {
  background-color: #3DAADF;
}

.status__line.passed {
  background-color: #3DAADF !important;
}

button.next-button__content.v-btn.v-btn--contained.theme--light.v-size--large {
  background-color: #3DAADF !important;
}

button.back-button__content.v-btn.v-btn--contained.theme--light.v-size--large {
  color: #3DAADF;
  border-color: #3DAADF;
}

/* 支払い方法選択画面 */
.payment-methods__active {
  border: 2px solid #3DAADF !important;
  color: #3DAADF !important;
}

.card-empty__button {
  background-color: #3DAADF !important;
}

button.stripe-add-button.v-btn.v-btn--depressed.theme--light.v-size--default {
  background-color: #3DAADF !important;
}

div.stripe-layout>div.stripe-credit-layout>div.stripe-card-list>section>div.v-input.theme--light.v-input--selection-controls.v-input--radio-group.v-input--radio-group--column>div>div.v-input__slot>div>div>label>button>span>i.v-icon.notranslate.material-icons.theme--light {
  color: #ff5f33 !important;
}

/* 情報入力画面 編集ボタン 色変更 */
button.ma-2.detail__title__edit.v-btn.v-btn--depressed.v-btn--flat.v-btn--outlined.v-btn--text.theme--light.v-size--default,
button.ma-2.profile__title__edit.v-btn.v-btn--depressed.v-btn--flat.v-btn--outlined.v-btn--text.theme--light.v-size--default,
button.ma-2.payment__title__edit.v-btn.v-btn--depressed.v-btn--flat.v-btn--outlined.v-btn--text.theme--light.v-size--default {
  color: #3DAADF !important;
  border-color: #3DAADF !important;
}

/* この内容で申し込むボタン */
button.confirm__button.v-btn.v-btn--contained.theme--light.v-size--default {
  background-color: #3DAADF !important;
}

button.next-button__content.v-btn.v-btn--contained.theme--light.v-size--default {
  color: #073963;
}

/* 申し込み完了画面 OKボタン 色変更 */
button.complete-button__content.v-btn.v-btn--contained.theme--light.v-size--large {
  background-color: #3DAADF !important;
}

/* チケット：確認画面（confirm）テキスト（#073963に統一） */
.confirm__wrap .detail__title__text,
.confirm__wrap .detail__ticket__label,
.confirm__wrap .detail__ticket__colon,
.confirm__wrap .detail__ticket__content,
.confirm__wrap .detail__ticket__multi-price,
.confirm__wrap .detail__ticket__subtotal__label,
.confirm__wrap .detail__ticket__subtotal__detail,
.confirm__wrap .detail__total__label,
.confirm__wrap .detail__total__price,
.confirm__wrap .profile__title__text,
.confirm__wrap .profile__detail__label,
.confirm__wrap .profile__detail__colon,
.confirm__wrap .profile__detail__content,
.confirm__wrap .payment__title__text,
.confirm__wrap .payment__detail__label,
.confirm__wrap .payment__detail__colon,
.confirm__wrap .payment__detail__content,
.confirm__wrap .ticket-terms-of-sale__message {
  color: #073963 !important;
}

/* 確認画面 フォントサイズ調整 (12px) */
.detail__wrap.confirm__content .detail__ticket__label,
.detail__wrap.confirm__content .detail__ticket__content,
.detail__wrap.confirm__content .detail__ticket__multi-price,
.profile__wrap.confirm__content .profile__detail__label,
.profile__wrap.confirm__content .profile__detail__content,
.payment__wrap.confirm__content .payment__detail__label,
.payment__wrap.confirm__content .payment__detail__content {
  font-size: 12px;
}

/* ブースタイトル ライン色変更 */
.booth-list-title__text {
  color: #3daadf;
  border-color: #3daadf;
}

/* チェックボックス押下時の色変更 (#3DAADF → #36B927) */
.v-input--checkbox.primary--text,
.v-input--checkbox.v-input--is-label-active .v-icon,
.v-input--checkbox .v-input--selection-controls__ripple--active {
  color: #36B927 !important;
  caret-color: #36B927 !important;
}

/* 前のページに戻るボタン・戻るボタン */
button.ticket-category__back__button.v-btn.v-btn--depressed.theme--dark.v-size--x-large {
  background-color: #fff !important;
  color: #3daadf;
  border: 2px solid #3daadf !important;
  border-radius: 8px;
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12);
}

.ticket-page-content-wrapper__content-wrapper {
  margin-bottom: 24px;
}

section.ticket-cart-list-layout.ticket-cart-table {
  margin-top: 0;
}

button.ticket-back-button__content.v-btn.v-btn--contained.theme--light.v-size--large,
button.ticket-terms__back__content.v-btn.v-btn--contained.theme--light.v-size--large {
  background-color: #fff !important;
  color: #3daadf !important;
  border: 2px solid #3daadf !important;
}

/* パンくず変更 */
.chips .category {
  border: none !important;
  text-decoration: underline !important;
  text-decoration-color: #fff !important;
  text-underline-offset: 3px;
}

.chips>.category p.ellipsis,
.chips>span:not(:last-child) .category p.ellipsis {
  font-weight: 300 !important;
}

.chips>span {
  display: inline-flex;
  align-items: center;
}

.chips>span::before {
  content: ">";
  color: #fff;
  margin: 0 6px;
  font-weight: 300;
}

/* チケットページ 非表示制御 */
.page-selector .page-selector__my-ticket {
  display: none;
}

.page-selector .page-selector__ticket,
.page-selector__border {
  display: none !important;
}

@media screen and (max-width: 600px) {

  .page-selector__ticket__text,
  .page-selector__my-ticket__text {
    font-size: 10px !important;
  }
}

.ticket__wrap>section,
.my-ticket__wrap>section {
  text-align: center;
}

.v-application .primary {
  background-color: #073963 !important;
  border-color: #073963 !important;
}

.item__active {
  color: #073963 !important;
  border-color: #073963 !important;
}

/* 共通：常に枠線の太さを1pxに固定 */
.profile__wrap .v-text-field--outlined fieldset {
  border-width: 1px !important;
}

/* 1. 未入力時（通常時） */
.profile__wrap .v-text-field--outlined fieldset {
  border-color: #ECF1F4 !important;
}

/* 2. 入力中（フォーカス時） */
.profile__wrap .v-text-field--outlined.v-input--is-focused fieldset {
  border-color: #073963 !important;
  border-width: 1px !important;
}

/* 3. 入力済み */
.profile__wrap .v-text-field--outlined.v-input--is-dirty fieldset,
.profile__wrap .v-text-field--outlined.is-inputed fieldset {
  border-color: #073963 !important;
  border-width: 1px !important;
}

/* 4. エラー時 */
.profile__wrap .v-text-field--outlined.error--text fieldset,
.profile__wrap .v-input--has-state.error--text fieldset {
  border-color: #FF5F33 !important;
  border-width: 1px !important;
}

/* 1. 未選択時（枠線・文字色：#ECF1F4、背景：透明） */
.item__male__button,
.item__female__button {
  background-color: transparent !important;
  border: 1px solid #ECF1F4 !important;
  color: #ECF1F4 !important;
  caret-color: #ECF1F4 !important;
}

/* 2. 選択時（背景：#073963、枠線：#073963、文字色：#fff） */
.item__male__button.item__active,
.item__female__button.item__active {
  background-color: #073963 !important;
  border: 1px solid #073963 !important;
  color: #ffffff !important;
}


/* ──────────────────────────────────────────────────────────────── */
/* お知らせ ──────────────────────────────────────────────────────── */
/* ──────────────────────────────────────────────────────────────── */

/* お知らせタイトル・内容（#073963に統一） */
.list-title__text,
.detail-title__text,
p.information-title__text,
.information-title__text,
section.information__wrap {
  color: #073963 !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* タイトル下ライン */
.list-title__border.base-background-color,
.detail-title__border.base-background-color {
  background-color: #3daadf !important;
}

/* 日付 */
span.information-date__text.base-color,
.public_period {
  color: #3daadf !important;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", system-ui !important;
}

/* お知らせ区切り線 */
.information__content.v-list-item.theme--light {
  border-top: 1px dashed #d1e0ed;
}

.information__content__last {
  border-bottom: 1px dashed #d1e0ed !important;
}

.information__content.col {
  border-color: #d1e0ed;
}

.title__section {
  border-bottom: 1px solid #d1e0ed !important;
}

/* ページネーション */
button.v-pagination__item.v-pagination__item--active {
  background-color: #3daadf !important;
  border-color: #3daadf !important;
}

/* 日付の非表示 */
.information__date,
section.information-date__wrap {
  display: none !important;
}

/* お知らせ等のページネーション非表示 */
.information__pagenation {
  display: none !important;
}

p.information__content {
  display: none !important;
}

.confirm__button {
  height: 44px !important;
  font-size: 15px !important;
}


/* ──────────────────────────────────────────────────────────────── */
/* エラー画面 ─────────────────────────────────────────────────────── */
/* ──────────────────────────────────────────────────────────────── */

/* チケット一覧に戻るボタン（アウトライン型）の色を強制変更 */
.error-layout__button {
  color: #3DAADF !important;
  caret-color: #3DAADF !important;
  border-color: #3DAADF !important;
}

/* イベントトップに戻るボタン（塗りつぶし型）の色を強制変更 */
.error-layout__button-event {
  background-color: #3DAADF !important;
  border-color: #3DAADF !important;
  color: #fff !important;
}

.error-layout__content {
  text-align: center !important;
}

.error-layout__button-wrap {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
}

/* ボタン個別のスタイル */
.error-layout__button {
  height: 44px !important;
  font-size: 15px !important;
  color: #3DAADF !important;
  caret-color: #3DAADF !important;
  border-color: #3DAADF !important;
}

.error-layout__button-event {
  height: 44px !important;
  font-size: 15px !important;
  background-color: #3DAADF !important;
  border-color: #3DAADF !important;
  color: #fff !important;
}