@charset "utf-8";

/* Contents
 * ****************************
 *
 *  general style
 *  header
 *  footer
 *  contents
 *  media query
 *
 * ****************************
*/
/* ======= general style =============================================== */

@font-face {
  font-family: "Futura Medium";
  font-style: normal;
  src: url("../font/FuturaStdMedium/FuturaStd-Medium.otf") format("opentype"), url("../font/FuturaStdMedium/FuturaStd-Medium.ttf"), url("../font/FuturaStdMedium/FuturaStd-Medium.woff2");
}

#l-utility {
  display: none;
}

/* ----------------------------------
default
---------------------------------- */
/* body.is-phase1：第一弾 */
/* body.is-phase2：第二弾 */
html {
  overflow-x: auto !important;
  /* hiddenで上書きされるので、stickyが効くように調整 */
}

body {
  min-width: 1200px;
  overflow-x: clip !important;
  /* hiddenで上書きされるので、stickyが効くように調整 */
  /*  */
  position: relative;
  padding: 0 !important;
  overflow-wrap: break-word;
  word-wrap: break-word;
  /* ↓ サーバーでは以下の通り上書きされる */
  background: #fff;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  line-height: 1.4;
}

ul li {
  list-style: none;
}

a {
  word-break: break-all;
  transition: 0.3s;
  color: inherit;
}

a:hover {
  text-decoration: underline;
}

img {
  max-width: 100%;
}

/* ----------------------------------
style class
---------------------------------- */
:root {
  --fs-l: 146%;
  /*font-size汎用*/
  --fs-m: 120%;
  /*font-size汎用*/
  --fs-s: 98%;
  /*font-size汎用*/
  --color-main: #000;
  --color-sub: #292929;
  --color-border: #ddd;
  --color-accent: #da0a1b;
  --color-footer: #000;
  /*固定*/
}

.ff-futura {
  font-family: "Futura Medium", sans-serif;
  letter-spacing: 2px;
}

.fw-bold {
  font-weight: bold;
}

.text-l {
  font-size: var(--fs-l);
}

.text-m {
  font-size: var(--fs-m);
}

.text-s {
  font-size: var(--fs-s);
}

.text-title {
  font-size: var(--fs-l);
  font-weight: bold;
  text-align: center;
}

.text-info {
  font-size: var(--fs-m);
  font-weight: bold;
}

.text-margin {}

.text-margin>*+* {
  /* 汎用margin 特に固有のスタイルのない.text-xx 等を含む */
  margin-top: 16px;
}

.text-margin>*.text-info+* {
  margin-top: 8px;
}

.ta-center {
  text-align: center;
}

.sp-only {
  display: none;
}

.d-ib {
  display: inline-block;
}

.list-indent li {
  padding-left: 1em;
  text-indent: -1em;
}

.wbr-parent {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/* ======= header ====================================================== */
header {
  font-family: "Futura Medium", sans-serif;
  letter-spacing: 1px;
  margin-bottom: 60px;
  color: var(--color-main);
}

.header-logo-sp {
  display: none;
}

.header-logo-sp a {
  text-decoration: none;
}

/* ----------------------------------
nav
---------------------------------- */

#navBg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 68px;
  border-bottom: 1px solid #b5b5b6;
  transition: 0.3s;
  transform: translateY(-100%);
  background: no-repeat center/cover;
  background-image: url("../img/bg_pc.jpg");
}

#navBg.is-show {
  transform: translateY(0);
}

#gnav {
  position: fixed;
  z-index: 1001;
  width: 100%;
  height: 100px;
  background: rgba(0, 0, 0, 0);
}

#gnav a {
  font-size: 100%;
  font-weight: bold;
  text-decoration: none;
}

#gnav a:hover {
  opacity: 0.8;
}

.gnav-inner {
  position: relative;
  z-index: 1002;
  margin: 0 auto;
}

.gnav-home {
  position: absolute;
  top: 16px;
  left: 30px;
  font-size: 170%;
  letter-spacing: 2px;
}

.gnav-nav {
  position: absolute;
  right: 0;
  top: 13px;
}

#gnav-list {
  max-width: 900px;
  display: flex;
  flex-wrap: wrap;
}

#gnav-list:where(.is-phase1 *) {
  justify-content: flex-end;
}

#gnav-list li {
  padding: 0 0 5px 5px;
  box-sizing: border-box;
}

/* 第一弾 */
#gnav-list li:where(.is-phase1 *) {
  width: 22%;
}

#gnav-list li:where(.is-phase1 *):nth-child(4n+2) {
  width: 15%;
}

/* 第二弾 */
#gnav-list li:where(.is-phase2 *) {
  width: 22%;
}

#gnav-list li:where(.is-phase2 *):nth-child(5n+2),
#gnav-list li:where(.is-phase2 *):nth-child(5) {
  width: 17%;
}

#menu_overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-image: url("../img/bg_menu.jpg");
  background-size: 100% 100%;
  background-position: center;
}

/* ----------------------------------
keyv
---------------------------------- */
#keyv {
  position: relative;
  width: 100%;
  /* min-width: 1200px; */
  height: auto;
  overflow: hidden;
  background-size: cover;
  background: no-repeat center/cover;
}

#keyv .page-title {
  width: 100%;
  text-align: center;
  margin-top: calc(100px + 50px);
}

#keyv .page-title img {
  margin: auto;
  width: 100%;
  max-width: 860px;
}

/* ======= footer ====================================================== */
footer {
  width: 100%;
  /* min-width: 1200px; */
  height: 210px;
  text-align: center;
  background-color: var(--color-footer);
}

footer a:hover {
  opacity: 0.8;
}

.page-top {
  display: inline-block;
  padding: 20px 0;
}

.page-top svg {
  width: 25px;
  height: 22px;
}

.page-top-fixed {
  width: 100%;
  height: 0;
  position: sticky;
  bottom: 0;
  left: 0;
}

.page-top-fixed a {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(0, -20px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-footer);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 1px solid #fff;
}

.page-top-fixed a::before {
  content: "";
  display: block;
  background: #fff;
  aspect-ratio: 25/22;
  width: 30%;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  transform: translateY(-10%);
}

footer .logo {
  margin: 10px auto 40px;
}

footer .logo img {
  width: 50px;
}

footer #copyright {
  color: #fff;
}

footer #copyright span {
  display: inline-block;
}

/* ======= contents ====================================================== */
main {
  position: relative;
  padding: 0 20px;
  line-height: 1.6;
  box-sizing: border-box;
}

main * {
  box-sizing: border-box;
}

.contents {
  box-sizing: border-box;
  width: 1160px;
  margin: 0 auto;
}

/* ----------------------------------
共通 section
---------------------------------- */

.section {
  margin-bottom: 160px;
}

.section-img {
  display: block;
  width: 100%;
  height: auto;
}

.section-title {
  box-sizing: border-box;
  margin-bottom: 35px;
  padding: 24px 10px;
  color: var(--color-main);
  font-family: "Futura Medium", sans-serif;
  font-size: 330%;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 3px;
  background: no-repeat center/cover;
  background-image: url("../img/bg_pc.jpg");
}

.section-title:has(+ .section-title-sub) {
  margin-bottom: 0;
}

.section-title-sub {
  display: block;
  margin-bottom: 35px;
  padding: 5px 0;
  font-size: var(--fs-l);
  font-weight: bold;
  text-align: center;
  color: #fff;
  background-color: var(--color-sub);
}

.section-lead {
  text-align: center;
  font-size: var(--fs-l);
  font-weight: bold;
  margin-bottom: 30px;
}

.section-lead.ff-futura {
  font-size: 220%;
}

.section-notes-bottom {
  text-align: center;
  width: fit-content;
  margin: 50px auto 0;
}

/* ----------------------------------
共通 link
---------------------------------- */
.link-box {
  font-size: var(--fs-m);
  font-weight: bold;
  text-align: center;
  width: 80%;
  margin: 50px auto 0;
}

.link-box a {
  display: block;
  padding: 20px;
  color: var(--color-accent);
  border: 2px solid currentColor;
  text-decoration: none;
}

.link-box a:hover,
.link-box a:visited {
  text-decoration: none;
  opacity: 0.6;
  color: var(--color-accent);
}

.link-box .arrow {
  margin-left: 0.5em;
}

.link-box .arrow::before,
.link-box .arrow::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.link-box .arrow::after {
  margin-left: -0.1em;
}

/* ----------------------------------
共通 flexbox
---------------------------------- */
.flexbox {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.flexbox.pc-reverse {
  flex-direction: row-reverse;
}

.flexbox-img {
  width: 50%;
  flex-shrink: 0;
  min-width: 0;
  margin-left: 40px;
}

.flexbox-img *+img {
  margin-top: 10px;
}

.flexbox-text {
  width: 100%;
  min-width: 0;
}

.flexbox-text a:hover {
  opacity: 0.6;
}

/* ----------------------------------
共通 info-block
---------------------------------- */
.info-block {
  border: 1px solid var(--color-border);
  padding: 3%;
}

/* supported */
.supported-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.supported-item {
  width: calc(100% / 6);
  padding: 0 20px;
}

.supported-item a {
  display: block;
  transition: opacity 0.2s;
}

.supported-item a:hover {
  opacity: 0.6;
}

.supported-item img {}

/* ----------------------------------
共通 item-wrap
---------------------------------- */
.item-wrap {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.item-box {
  width: 100%;
  position: relative;
  box-sizing: border-box;
}

.item-box img {
  display: block;
  margin: 0 auto 10px;
}

/* アーティスト名・ショップ名 */
.item-name {
  margin-bottom: 4px;
  font-family: "Futura Medium", "Noto Sans Japanese", sans-serif;
  font-size: 220%;
  font-weight: normal;
  line-height: 1.2;
  letter-spacing: 1px;
}

/* アーティスト名・ショップ名：日本語表記 */
.item-name-jp {
  margin-bottom: 2px;
}

/* 時間・場所 */
.item-info {
  margin-bottom: 10px;
  font-size: var(--fs-m);
  font-weight: bold;
}

/* 紹介文 */
.item-desc {
  font-size: var(--fs-m);
}

/* オープン日 */
.item-open {
  margin-bottom: 15px;
  min-height: 1.8em;
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--fs-l);
  font-weight: normal;
  letter-spacing: 1px;
  border-bottom: var(--color-border) 1px solid;
}

/* ショップ系フロア情報 */
.item-floor {
  margin-bottom: 10px;
}

/* 〇〇OPEN・〇〇商品タグ */
.item-category {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  margin-bottom: 10px;
  padding: 1px 5px;
  color: #fff;
  font-size: var(--fs-s);
  font-weight: 500;
  letter-spacing: 1px;
  background: var(--color-accent);
}

/* ----------------------------------
固有 outline
---------------------------------- */
#outline {}

#outline .flexbox-img {
  width: 49%;
  margin-right: 44px;
}

#outline .flexbox-text {}

.outline-lead {
  margin-bottom: 60px;
  font-weight: normal;
  text-align: center;
  font-size: var(--fs-m);
}

.outline-detail {
  width: 95%;
  margin: 0 auto 45px;
}

.outline-dresscode {
  position: relative;
  padding: 35px 0 20px;
  text-align: center;
  background: no-repeat center/cover;
  background-image: url("../img/bg_dresscode.jpg");
  border: solid 1px #b5b5b6;
}

.outline-dresscode .ff-futura {
  display: block;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 20px;
  font-size: 147.4%;
  font-weight: bold;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
}

.outline-dresscode img {
  width: 70%;
  margin: 0 auto 20px;
  padding: 20px;
}

.outline-dresscode img+span {
  display: block;
  font-size: 118%;
  font-weight: bold;
  line-height: 2;
}

.outline-data {
  box-sizing: border-box;
}

.outline-data dl {
  padding: 5px 5px;
  border-bottom: 1px solid var(--color-border);
  font-size: var(--fs-m);
  display: flex;
}

.outline-data dl:last-child {
  padding-top: 10px;
  font-size: var(--fs-s);
  border-bottom: none;
}

.outline-data dt {
  flex-shrink: 0;
}

.outline-data dd {}

.outline-data ul {
  margin-top: 10px;
}

.outline-data ul li {}

.outline-notes {
  width: 80%;
  margin: 0 auto;
  color: var(--color-accent);
  font-size: 148%;
  font-weight: bold;
  text-align: center;
}

.outline-alert {
  width: 90%;
  margin: 0 auto;
}

.outline-alert p {
  margin: 2.3em auto 5px;
  /* padding: 1.6em 1.6em 0; */
  /* padding: 0; */
  font-size: var(--fs-s);
}

.outline-alert ul {}

.outline-alert li {}

/* ----------------------------------
固有 point-campaign
---------------------------------- */
#point-campaign {
  /* padding-bottom: 100px; */
}

.campaign {
  /* margin-bottom: 50px; */
}

.campaign-img {
  display: block;
  width: calc(100% - 20px);
  margin: 0 auto;
}

.campaign-img img {}

.campaign-text {
  width: 90%;
  margin: 30px auto 0;
}

/* ----------------------------------
固有 live
---------------------------------- */
#live .item-wrap {
  margin: 0 0 0 -40px;
  padding-top: 30px;
  padding-inline: 10%;
  /*狭くしたい*/
}

#live .item-box {
  width: calc((100%/2) - 40px);
  max-width: 560px;
  margin: 0 0 0 40px;
}

#live .item-wrap.live-phase2 {
  margin-top: -80px;
  padding-top: 0;
}

#live .item-box:where(.live-phase2 *) {
  margin-top: 80px;
}

.live-border {
  width: 100%;
  height: 1px;
  background-color: var(--color-border);
  margin-top: 60px;
  margin-bottom: 80px;
}


#live .text-margin {
  padding-inline: 10%;
  /*狭くしたい*/
}

#live .item-wrap+.text-margin {
  margin-top: 60px;
}

/* ----------------------------------
固有 performance
---------------------------------- */
#performance {}
.performance-content {
  padding-inline: 10%;
}
#performance .text-margin {
}

.performance-border-box {
  border: 1px solid var(--color-border);
  padding: 20px;
  margin: 20px auto 0;
}
/* liveと同じ */
#performance .item-wrap {
  margin: 0 0 0 -40px;
  padding-top: 30px;
  justify-content: center;
}

#performance .item-box {
  width: calc((100%/2) - 40px);
  max-width: 560px;
  margin: 0 0 0 40px;
}

/* ----------------------------------
固有 shop-booth
---------------------------------- */
#sponsor .info-block {
  margin-top: 50px;
}

.sponsor-logo {
  display: block;
  max-width: 320px;
  margin-inline: auto;
  margin-top: 20px;
  /*微調整*/
}

/* ----------------------------------
固有 drink-booth
---------------------------------- */
#drink .info-block {
  margin-top: 10px;
}

#drink .supported-item img {
  aspect-ratio: 3/2;
  /*余白感微調整*/
  object-fit: contain;
}

/* ----------------------------------
固有 food-booth
---------------------------------- */
#food .info-block {
  margin-top: 10px;
}

#food .supported-item img {
  aspect-ratio: 5/4;
  /*余白感微調整*/
  object-fit: contain;
}

/* ----------------------------------
固有 lounge
---------------------------------- */
#lounge .flexbox-img {}

/* ----------------------------------
固有 lottery
---------------------------------- */
.lottery-logo {
  display: block;
  max-width: 160px;
  margin-inline: auto;
}

/* ----------------------------------
固有 new-shop（2026不要）
---------------------------------- */
/* #new-shop .item-wrap {
  margin: -50px 0 0 -40px;
}

#new-shop .item-box {
  width: calc((100%/2) - 40px);
  max-width: 560px;
  margin: 50px 0 0 40px;
} */

/* ----------------------------------
固有 shop-event
---------------------------------- */
#shop-event .item-wrap {
  margin: -50px 0 0 -24px;
  padding-top: 20px;
}

#shop-event .item-box {
  width: calc((100%/3) - 24px);
  max-width: 370px;
  margin: 50px 0 0 24px;
}

/* ======= media query ================================================= */

/* トップメニューが2列のとき */
@media screen and (min-width: 1650px) {
  /* ======= header ====================================================== */
  /* ----------------------------------
  nav
  ---------------------------------- */

  /* 1650px～ */
}

/* トップメニューが2列のとき */
@media screen and (max-width: 1649px) {

  /* ======= header ====================================================== */
  /* ----------------------------------
  nav
  ---------------------------------- */
  .gnav-nav {
    top: 10px;
  }

  /* ～1649px */
}

@media screen and (max-width: 1279.999px) {

  /* ======= header ====================================================== */
  /* ----------------------------------
  nav
  ---------------------------------- */
  .gnav-nav {
    box-sizing: border-box;
    padding: 0 3%;
    position: fixed;
    top: 18px;
    right: auto;
    width: 100%;
    max-height: 100dvh;
    overflow-y: auto;
  }

  #gnav-list {
    display: none;
    margin-left: 50px;
    margin-top: 50px;
  }

  #gnav-list:where(#gnav.active *) {
    display: block;
  }

  #gnav-list li {
    width: 100%;
    padding: 0;
  }

  /* 第一弾 */
  #gnav-list li:where(.is-phase1 *),
  #gnav-list li:where(.is-phase1 *):nth-child(4n+2) {
    width: 100%;
  }

  /* 第二弾 */
  #gnav-list li:where(.is-phase2 *),
  #gnav-list li:where(.is-phase2 *):nth-child(5n+2),
  #gnav-list li:where(.is-phase2 *):nth-child(5) {
    width: 100%;
  }

  #gnav-list li a {
    box-sizing: border-box;
    display: inline-block;
    padding: 12px 0;
    font-size: 130%;
  }

  .menu-trigger {
    box-sizing: border-box;
    display: inline-block;
    position: fixed;
    z-index: 1100;
    width: 20px;
    height: 20px;
    top: 20px;
    right: 20px;
  }

  .menu-trigger span {
    box-sizing: border-box;
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 3px;
    background-color: var(--color-main);
    transition: all 0.4s;
  }

  .menu-trigger span:nth-of-type(1) {
    top: 3px;
  }

  .menu-trigger span:nth-of-type(2) {
    top: 10px;
  }

  .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }

  .menu-trigger.active span:nth-of-type(1) {
    transform: translateY(6px) rotate(-45deg);
  }

  .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
  }

  .menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-8px) rotate(45deg);
  }

  /* ～1279.999px */
}

@media screen and (max-width: 767.999px) {

  /* ======= general style =============================================== */
  /* ----------------------------------
    default
    ---------------------------------- */
  body {
    min-width: auto;
  }

  /* ----------------------------------
  style class
  ---------------------------------- */
  .pc-only {
    display: none;
  }

  .sp-only {
    display: block;
  }

  /* ======= header ====================================================== */
  /* ----------------------------------
  nav
  ---------------------------------- */

  #navBg {
    display: none;
  }

  header {
    position: relative;
    margin-bottom: 3em;
  }

  .header-logo-sp {
    display: block;
    position: absolute;
    top: 12px;
    left: 25px;
    z-index: 1100;
    font-size: 140%;
    font-weight: bold;
    letter-spacing: 2px;
  }

  .header-logo-sp:where(header.menu *) {
    display: none;
  }

  .header-logo-sp a {}

  #gnav {
    height: 40px;
  }

  .gnav-home {
    display: none;
    position: static;
    z-index: 1100;
    padding: 12px 10px 15px 25px;
    letter-spacing: 2px;
  }

  .gnav-home:where(#gnav.active *) {
    display: inline-block;
  }

  .gnav-home a {
    position: absolute;
    z-index: 9000;
  }

  .gnav-inner {
    width: 100%;
  }

  .gnav-nav {
    width: 100%;
    padding: 0;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 8000;
  }

  .gnav-nav:where(#gnav.active *) {
    display: block;
  }

  #gnav-list {
    display: none;
    margin-top: 56px;
  }

  #gnav-list:where(#gnav.active *) {
    display: block;
  }

  #gnav-list li {
    width: 100%;
  }

  .menu-trigger {
    top: 12px;
    right: 12px;
  }

  #menu_overlay {}

  /* ----------------------------------
  keyv
  ---------------------------------- */

  #keyv {
    min-width: 100%;
    /* background: none; */
  }

  #keyv .page-title {
    position: relative;
    width: 100%;
    height: auto;
    margin-top: calc(40px + 10vw);
  }

  #keyv .page-title img {
    position: relative;
    z-index: 10;
    width: 96%;
  }

  /* ======= footer ====================================================== */

  footer {
    min-width: inherit;
    height: inherit;
    background-position: 0 62%;
    background-size: 800px auto;
  }

  .page-top-fixed {}

  .page-top-fixed a {
    transform: translate(0, -3vw);
    width: 44px;
    height: 44px;
  }

  footer .logo {
    width: 14%;
  }

  #copyright {
    padding-bottom: 1.5em;
    font-size: 90%;
  }

  /* ======= contents ====================================================== */

  main {
    padding: 0 3%;
  }

  .contents {
    width: 100%;
    /* width: 94%; */
    /* margin: 2em auto 6em; */
  }

  /* ----------------------------------
  共通 section
  ---------------------------------- */
  .section {
    margin-bottom: 6em;
  }

  .section-title {
    margin-bottom: 20px;
    font-size: 240%;
    padding: 16px 10px;
    text-align: center;
    background-image: url(../img/bg_sp.jpg);
  }

  .section-title:has(+ .section-title-sub) {}

  .section-title-sub {
    margin-bottom: 20px;
    padding: 5px;
    line-height: 1.2;
  }

  .section-lead {
    margin-bottom: 20px;
  }

  .section-notes-bottom {
    text-align: left;
    margin-top: 30px;
  }

  /* ----------------------------------
  共通 link
  ---------------------------------- */
  .link-box {
    width: 100%;
  }

  .link-box a {
    padding: 10px;
  }

  /* ----------------------------------
  共通 flex-box
  ---------------------------------- */
  .flexbox {
    display: block;
  }

  .flexbox.pc-reverse {
    flex-direction: row-reverse;
  }

  .flexbox-img {
    width: 100%;
    margin-left: 0;
  }

  .flexbox-img *+img {}

  .flexbox-text {
    width: 100%;
    margin-top: 20px;
  }

  /* ----------------------------------
  共通 info-block
  ---------------------------------- */
  .info-block {
    padding: 5%;
  }

  /* supported */
  .supported-list {
    margin-bottom: -20px;
  }

  .supported-item {
    width: 50%;
    padding: 0 10px;
    margin-bottom: 20px;
  }

  .supported-item a {}

  .supported-item img {}

  /* ----------------------------------
  共通 item-wrap
  ---------------------------------- */
  .item-wrap {
    /* margin-bottom: 0; */
  }

  .item-wrap:where(.text-s + *) {}

  .item-box {}

  .item-box img {}

  /* アーティスト名・ショップ名 */
  .item-name {
    font-size: 180%;
  }

  /* アーティスト名・ショップ名：日本語表記 */
  .item-name-jp {}

  /* 時間・場所 */
  .item-info {}

  /* 紹介文 */
  .item-desc {}

  /* オープン日 */
  .item-open {
    font-size: 130%;
    min-height: 2em;
    padding-top: 5px;
  }

  /* ショップ系フロア情報 */
  .item-floor {}

  /* 〇〇OPEN・〇〇商品タグ */
  .item-category {}

  /* ----------------------------------
  固有 outline
  ---------------------------------- */

  #outline .flexbox-img {
    width: 100%;
    margin: 0 auto;
    max-width: 560px;
  }

  #outline .flexbox-text {}

  .outline-detail {
    width: 100%;
    margin-bottom: 30px;
  }

  .outline-dresscode {}

  .outline-dresscode img {
    margin: 0 auto 1em;
  }

  .outline-data {
    padding: 0 0 20px;
  }

  .outline-data dl {
    font-size: 110%;
  }

  .outline-lead {
    margin-bottom: 3em;
    text-align: left;
  }

  .outline-notes {
    width: 94%;
    text-align: left;
  }

  .outline-alert {
    width: 100%;
  }

  /* ----------------------------------
  固有 point-campaign
  ---------------------------------- */

  .campaign-img {
    width: 90%;
    margin-bottom: 1em;
  }

  .campaign-text {
    width: 100%;
    margin-top: 20px;
  }

  /* ----------------------------------
  固有 live
  ---------------------------------- */
  #live .item-wrap {
    margin: -50px 0 0 0;
    padding-top: 15px;
    padding-inline: 0;
    /*解除*/
  }

  #live .item-box {
    width: 100%;
    max-width: none;
    margin: 50px 0 0 0;
  }

  #live .item-wrap.live-phase2 {
    margin: -50px 0 0 0;
    padding-top: 0;
  }

  #live .item-box:where(.live-phase2 *) {
    width: 100%;
    max-width: none;
    margin: 50px 0 0 0;
  }

  .live-border {
    margin-top: 40px;
    margin-bottom: 50px;
  }

  #live .text-margin {
    padding-inline: 0;
    /*解除*/
  }

  #live .item-wrap+.text-margin {
    margin-top: 40px;
  }

  /* ----------------------------------
  固有 performance
  ---------------------------------- */

  .performance-content {
    padding: 0;
  }
  #performance .text-margin {
    /* padding-inline: 0; */
    /*解除*/
  }
  #performance .supported-list {
    padding-inline: calc(1px + 5%);/* drink,foodなどとサイズを揃えたい */
  }

  .performance-border-box {
    width: 100%;
    padding: 15px;
    margin-top: 15px;
  }
  /* liveと同じ */
  #performance .item-wrap {
    margin: -50px 0 0 0;
    padding-top: 15px;
    /* padding-inline: 0; */
    /*解除*/
  }

  #performance .item-box {
    width: 100%;
    max-width: none;
    margin: 50px 0 0 0;
  }

  /* ----------------------------------
  固有 shop-booth
  ---------------------------------- */
  #sponsor .info-block {}

  .sponsor-logo {
    width: 70%;
    max-width: none;
    margin-top: 40px;
    /*微調整*/
  }

  /* ----------------------------------
  固有 drink-booth
  ---------------------------------- */
  #drink .info-block {}

  /* ----------------------------------
  固有 food-booth
  ---------------------------------- */
  #food .info-block {}

  /* ----------------------------------
  固有 lounge
  ---------------------------------- */
  /* ----------------------------------
  固有 lottery
  ---------------------------------- */
  .lottery-logo {
    width: 40%;
    max-width: none;
  }

  /* ----------------------------------
  固有 new-shop（2026不要）
  ---------------------------------- */
  /* #new-shop .item-wrap {
    margin: -30px 0 0 0;
  }

  #new-shop .item-box {
    width: 100%;
    max-width: none;
    margin: 30px 0 0 0;
  } */

  /* ----------------------------------
  固有 shop-event
  ---------------------------------- */
  #shop-event .item-wrap {
    margin: -30px 0 0 -16px;
    padding-top: 15px;
  }

  #shop-event .item-box {
    width: calc((100%/2) - 16px);
    max-width: none;
    margin: 30px 0 0 16px;
  }

  /* ～767.999px */
}