/* assets/css/top.css */

/* 背景画像の固定表示（iOS対応） */
body.top {
  position: relative;
  overflow-x: hidden;
}
body.top::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url('../img/fv-bg.png');
  background-repeat: no-repeat;
  /* background-size: auto; */
  background-size: 5120px auto;
  background-position: calc(50% + 30px) calc(50% + 80px); /* 中央基準で微調整 */
  background-attachment: scroll;
  pointer-events: none;
}
.l-main {
  position: relative;
  background-color: transparent;
}

.l-header {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: transparent;
}

/* p-top-mv */
.p-top-mv__inner {
  max-width: 1152px;
  margin: 40px auto 0;
  /* display: flex; */
  /* align-items: center; */
  /* height: 80vh; */
}
.p-top-mv__slide-content {
  display: flex;
  justify-content: center;  /* 横方向中央 */
  align-items: center;   /* 縦方向中央 */
  height: 100vh;            /* 画面全体の高さ */
}
.p-top-mv__slide-content img {
  margin-left: 66px;        /* 右にずらす */
}

/* ニュース */
.p-top-news {
  background-color: rgba(245, 245, 245, 0.82);
  padding-top: 64px;
}
.p-top-news__visual-inner {
  max-width: 1152px;
  margin: 0 auto;
}
.p-top-news__heading {
  font-size: 38px;
  font-weight: normal;
  margin: 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  font-family: "Times New Roman", Times, serif;
}
.p-top-news__inner {
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 0 80px;
}
.p-top-news__list {
  list-style: none;
  padding: 0;
  margin: 0;
  transition: 0.3s;
}
.p-top-news__link {
  display: flex;
  align-items: center;
  gap: 48px;
  text-decoration: none;
  color: #000;
  padding: 40px 72px;
  border-bottom: 1px solid #000;
  transition: color 0.3s;
}
.p-top-news__link:hover {
  color: #656565;
}
.p-top-news__date {
  font-size: 15px;
  white-space: nowrap;
  flex-shrink: 0;
}
.p-top-news__excerpt {
  font-size: 15px;
  line-height: 1.6;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  flex: 1;
}
.p-top-news__button-wrap {
  text-align: center;
  margin-top: 80px;
}
/* ボタンアニメーション */
.p-top-news__button-wrap a {
  display:inline-block;
  width: 304px;
  padding: 24px 0;
  position: relative;
  border: #000 solid 1px;
  border-radius: 60px;
  transition: .3s;
}
.p-top-news__button-wrap a:hover {
  opacity: .7;
}
.p-top-news__button-wrap a::after{
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  right: 35px;
  width: 10px;
  height: 10px;
  border: 1px solid;
  border-color: transparent transparent #000 #000;
  transform: rotate(-135deg);
  transition: .3s;
}
.p-top-news__button-wrap a:hover::after{
    right: 25px;
    opacity: .7;
}


/* OSAKA FUORI SALONE */
.p-top-intro {
  background-color: rgba(245, 245, 245, 0.82);
}
.p-top-intro__inner {
  max-width: 1152px;
  margin: 0 auto;
  padding: 64px 0 80px;
  text-align: left;
}
.p-top-intro__heading {
  font-size: 36px;
  font-weight: normal;
  margin: 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  font-family: "Times New Roman", Times, serif;
}
.p-top-intro__text {
  font-size: 20px;
  line-height: 2;
  margin: 24px 0 80px;
}
.p-top-intro__button-wrap {
  text-align: center;
}
/* ボタンアニメーション */
.p-top-intro__button-wrap a {
  display:inline-block;
  width: 304px;
  padding: 24px 0;
  position: relative;
  border: #000 solid 1px;
  border-radius: 60px;
  transition: .3s;
}
.p-top-intro__button-wrap a:hover {
  opacity: .7;
}
.p-top-intro__button-wrap a::after{
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  right: 35px;
  width: 10px;
  height: 10px;
  border: 1px solid;
  border-color: transparent transparent #000 #000;
  transform: rotate(-135deg);
  transition: .3s;
}
.p-top-intro__button-wrap a:hover::after{
    right: 25px;
    opacity: .7;
}


/* デジタルマップ */
.p-top-map {
  background-color: #E7E7E7;
}
.p-top-map__inner {
  max-width: 1152px;
  margin: 0 auto;
  padding: 64px 0 80px;
}
.p-top-map__heading {
  font-size: 36px;
  font-weight: normal;
  margin: 0 0 56px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  font-family: "Times New Roman", Times, serif;
}
.p-top-map__map-container,
.p-top-map__content {
  width: 100%;
}
.p-top-map__map-container iframe,
.p-top-map__content iframe {
  width: 100%;
  height: 760px;
  border: 0;
  background-color: #fafafa;
  display: block;
}
.p-top-map__button-wrap {
  text-align: center;
  padding-bottom: 80px;
}
/* ボタンアニメーション */
.p-top-map__button-wrap a {
  display:inline-block;
  width: 304px;
  padding: 24px 0;
  position: relative;
  border: #000 solid 1px;
  border-radius: 60px;
  transition: .3s;
}
.p-top-map__button-wrap a:hover {
  opacity: .7;
}
.p-top-map__button-wrap a::after{
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  right: 35px;
  width: 10px;
  height: 10px;
  border: 1px solid;
  border-color: transparent transparent #000 #000;
  transform: rotate(-135deg);
  transition: .3s;
}
.p-top-map__button-wrap a:hover::after{
    right: 25px;
    opacity: .7;
}

/* 特設会場 */
.p-top-main-venues{
  background-color: rgba(245, 245, 245, 0.82);
  padding: 66px 0 80px;
}
.p-top-main-venues .l-inner {
  max-width: 1152px;
  margin: 0 auto;
}
.p-top-section-title {
  font-size: 32px;
  font-weight: 500;
  margin: 0 0 72px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  font-family: 'Noto Serif JP', 'Yu Mincho', 'Hiragino Mincho ProN', 'MS PMincho', serif;
  display: flex;
  align-items: end;
}
.p-top-section-subtitle {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  margin: 0 0 2px 15px;
}
.p-top-section-subtitle::before,
.p-top-section-subtitle::after {
  content: "";
  flex-grow: 1;
  height: 1px;
  border-top: 1px solid;
  width: 24px;
}
.p-top-section-subtitle::before {
  margin-right: 0.5em;
}
.p-top-section-subtitle::after {
  margin-left: 0.5em;
}

/* 静的バナー */
.p-top-main-venues__static {
  max-width: 1152px;
  margin: 72px auto;
  display: flex;
  gap: 72px;
}
.p-top-main-venues__item {
  flex: 1;
}
.p-top-main-venues__thumb {
  width: 100%;
  height: auto;
}


/* サムネイル画像が拡大するようにする */
.p-top-main-venues__thumb {
  /* overflow: hidden;
  height: 304px; */
}
/* 画像に拡大アニメーションとサイズ指定 */
.p-top-main-venues__thumb img {
  /* display: block;
  width: 100%;
  transition: transform 0.3s ease;
  transform-origin: center center; */
}
/* hover時に拡大 */
.p-top-main-venues__item:hover .p-top-main-venues__thumb img{
  /* transform: scale(1.1); */
}
/* hover時に透過 */
.p-top-main-venues__static a {
  /* transition: opacity 0.3s; */
}
.p-top-main-venues__static a:hover {
  /* opacity: .8; */
}


.p-top-main-venues__label {
  margin-top: 16px;
  font-size: 18px;
}
.p-top-main-venues__cards {
  display: flex;
  flex-wrap: wrap;
  gap: 72px;
  margin-bottom: 80px;
  justify-content: flex-start;
}
.p-top-main-venues-card {
  flex: 0 0 calc((100% - 144px) / 3);
  max-width: calc((100% - 144px) / 3);
  overflow: hidden;
}
.p-top-main-venues-card img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 14px;
}


/* サムネイル画像が拡大するようにする */
.p-top-main-venues-card-thumb {
  overflow: hidden;
  height: 189px;
  margin-bottom: 14px;
}
/* 画像に拡大アニメーションとサイズ指定 */
.p-top-main-venues-card-thumb img {
  display: block;
  width: 100%;
  transition: transform 0.3s ease;
  transform-origin: center center;
}
/* hover時に拡大 */
.p-top-main-venues-card:hover .p-top-main-venues-card-thumb img{
  transform: scale(1.1);
}
/* hover時に透過 */
.p-top-main-venues-card-link {
  transition: opacity 0.3s;
}
.p-top-main-venues-card-link:hover {
  opacity: .8;
}


.p-top-main-venues-card .badge {
  display: inline-block;
  /* padding: 6px 14px; */
  line-height: 28px;
  font-size: 13px;
  margin-bottom: 14px;
  background-color: #E7E7E7;
  color: #5D5D5D;
  width: 112px;
  text-align: center;
}
.p-top-main-venues-card .badge.is-free {
  background-color: #E7E7E7;
  color: #5D5D5D;
}
.p-top-main-venues-card .badge.is-paid {
  background-color: #F9F900;
  color: #5D5D5D;
}
.p-top-main-venues-card .badge.is-floor-6 {
  background-color: #14BCFF;
  color: #fff;
  height: 28px;
}
.p-top-main-venues-card .badge.is-floor-7 {
  background-color: transparent;
  color: #14BCFF;
  border: #14BCFF 1px solid;
  height: 28px;
}
.p-top-main-venues-card h3 {
  font-size: 18px;
  margin: 0 0 4px;
  font-weight: 400;
}
.main-event-title {
  font-size: 13px;
  line-height: 1.4;
  margin-bottom: 8px;
}
.main-date, .main-time {
  font-size: 13px;
  margin-bottom: 4px;
}
.main-time {
  margin-top: 8px;
}
.main-date__date, .main-time__time {
  font-size: 15px;
}

.p-top-main-venues__buttons {
  display: flex;
  gap: 72px;
  justify-content: center;
}


/* ========================================
  カード修正のCSS_特設会場
======================================== */
.main-meta-row .main-floor {
  background: #F9F900;
  color: #5D5D5D;
  font-size: 13px;
  margin-right: 16px;
  width: 120px;
  height: 26px;
  display: inline-block;
  line-height: 26px;
  text-align: center;
}
.main-meta-row {
  margin-bottom: 14px;
}
.main-meta-row .main-event-type {
  background: transparent;
  border: 1px solid #5D5D5D;
  color: #5D5D5D;
  font-size: 13px;
  margin-right: 16px;
  width: 86px;
  /* height: 24px; */
  display: inline-block;
  line-height: 24px;
  text-align: center;
}
.main-fee-type.is-paid {
  background: #14BCFF;
  color: #fff;
  font-size: 13px;
  width: 86px;
  /* height: 24px; */
  display: inline-block;
  line-height: 24px;
  text-align: center;
}
.main-fee-type.is-free {
  background: transparent;
  border: 1px solid #14BCFF;
  color: #14BCFF;
  font-size: 13px;
  width: 86px;
  /* height: 24px; */
  display: inline-block;
  line-height: 24px;
  text-align: center;
}
.p-top-main-venues-card h3 {
  font-size: 18px;
  margin-bottom: 4px;
  font-weight: 400;
}
.main-event-name {
  font-size: 13px;
  margin-bottom: 14px;
}
.main-event-date {
  font-size: 13px;
  margin-bottom: 8px;
}
.main-event-time {
  font-size: 13px;
}







/* ボタンアニメーション */
.p-top-main-venues__buttons a {
  display:inline-block;
  width: 304px;
  padding: 24px 0;
  position: relative;
  border: #000 solid 1px;
  border-radius: 60px;
  transition: .3s;
}
.p-top-main-venues__buttons a:hover {
  opacity: .7;
}
.p-top-main-venues__buttons a::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  right: 35px;
  width: 10px;
  height: 10px;
  border: 1px solid;
  border-color: transparent transparent #000 #000;
  transform: rotate(-135deg);
  transition: .3s;
}
.p-top-main-venues__buttons a:hover::after {
    right: 25px;
    opacity: .7;
}


/* サテライト会場 */
.p-top-satellite-venues {
  background-color: rgba(245, 245, 245, 0.82);
}
.p-top-satellite-venues__inner {
  max-width: 1152px;
  margin: 0 auto;
  padding: 64px 0 0;
}
.p-top-section-title {
  font-size: 32px;
  font-weight: 500;
  margin: 0 0 72px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  font-family: 'Noto Serif JP', 'Yu Mincho', 'Hiragino Mincho ProN', 'MS PMincho', serif;
}
.p-top-satellite-venues .l-inner {
  max-width: 1152px;
  margin: 0 auto;
}
.p-top-satellite-venues__cards {
  display: flex;
  flex-wrap: wrap;
  gap: 72px;
  margin-bottom: 57px;
  justify-content: flex-start;
}
.p-top-satellite-venues-card {
  flex: 0 0 calc((100% - 144px) / 3);
  max-width: calc((100% - 144px) / 3);
  overflow: hidden;
}
.p-top-satellite-venues-card img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 14px;
}


/* サムネイル画像が拡大するようにする */
.p-top-satellite-venues-card-thumb {
  overflow: hidden;
  height: 189px;
  margin-bottom: 14px;
}
/* 画像に拡大アニメーションとサイズ指定 */
.p-top-satellite-venues-card-thumb img {
  display: block;
  width: 100%;
  transition: transform 0.3s ease;
  transform-origin: center center;
}
/* hover時に拡大 */
.p-top-satellite-venues-card:hover .p-top-satellite-venues-card-thumb img{
  transform: scale(1.1);
}
/* hover時に透過 */
.p-top-satellite-venues-card-link {
  transition: opacity 0.3s;
}
.p-top-satellite-venues-card-link:hover {
  opacity: .8;
}


.p-top-satellite-venues-card h3 {
  font-size: 18px;
  margin: 0 0 14px;
  font-weight: 400;
}
.satellite-venue-label {
  font-size: 13px;
  margin-bottom: 4px;
}
.satellite-date, .satellite-time {
  font-size: 13px;
  margin-bottom: 4px;
}
.satellite-time {
  margin-top: 8px;
}
.satellite-date__date, .satellite-time__time {
  font-size: 15px;
}
/* .p-top-satellite-venues__button {
  text-align: center;
  padding: 64px 0 80px;
} */
/* .p-top-satellite-venues__button a {
  display: inline-block;
  padding: 30px 0;
  width: 816px;
  font-size: 22px;
  border: 1px solid #000;
  background-color: transparent;
  text-align: center;
  transition: background-color 0.3s;
} */
/* .p-top-satellite-venues__button a:hover {
  color: #F6F6F6;
  background-color: #656565;
  border: 1px solid #656565;
} */

/* ボタンアニメーション */
/* .p-top-satellite-venues__button a {
  display:inline-block;
  width: 816px;
  padding: 30px 0;
  font-size: 22px;
  text-align: center;
  position: relative;
  border: #000 solid 1px;
  background-color: transparent;
  transition: .3s;
}
.p-top-satellite-venues__button a:hover {
  color: #F6F6F6;
  background-color: #656565;
  border: 1px solid #656565;
  opacity: .7;
}
.p-top-satellite-venues__button a::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  right: 255px;
  width: 13px;
  height: 13px;
  border: 2px solid;
  border-color: transparent transparent #000 #000;
  transform: rotate(-135deg);
  transition: .3s;
}
.p-top-satellite-venues__button a:hover::after {
  right: 245px;
  opacity: .7;
  border-color: transparent transparent #fff #fff;
} */


/* ========================================
  カード修正のCSS_サテライト会場
======================================== */
.satellite-fee-type.is-free {
  color: #14BCFF;
  font-size: 13px;
  width: 86px;
  /* height: 24px; */
  line-height: 24px;
  text-align: center;
  background: transparent;
  border: 1px solid #14BCFF;
  display: inline-block;
  margin-bottom: 14px;
}
.satellite-fee-type.is-paid {
  color: #fff;
  font-size: 13px;
  width: 86px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  background: #14BCFF;
  display: inline-block;
  margin-bottom: 14px;
}
.p-top-satellite-venues-card h3 {
  font-size: 18px;
  margin: 0 0 4px;
  font-weight: 400;
}
.satellite-venue-name {
  font-size: 13px;
  margin-bottom: 14px;
}
.satellite-event-name {
  font-size: 13px;
  margin-bottom: 14px;
}
.satellite-event-date {
  font-size: 13px;
  margin-bottom: 14px;
}
.satellite-event-time {
  font-size: 13px;
}




.p-top-satellite-venues__button_combined {
  text-align: center;
  padding: 64px 0 80px;
}
/* 結合したボタンアニメーション */
.p-top-satellite-venues__button_combined a {
  display: inline-block;
  position: relative;
  width: 816px;
  height: 80px;
  line-height: 80px;
  text-align: center;
  font-size: 22px;
  text-decoration: none;
  color: #000;
  background-color: transparent;
  border: 1px solid #000;
  overflow: hidden;
  transition: all 0.3s ease;
}

/* 背景スライド */
.p-top-satellite-venues__button_combined a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #656565;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.7s cubic-bezier(.19, 1, .22, 1);
  z-index: 1;
}

/* ホバー時にスライド */
.p-top-satellite-venues__button_combined a:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}

/* テキスト */
.p-top-satellite-venues__button_combined a .inner-text {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  color: #000;
  transition: color 0.3s ease;
}

/* ホバー時にテキスト色を白に */
.p-top-satellite-venues__button_combined a:hover .inner-text {
  color: #fff;
}

/* 矢印 */
.p-top-satellite-venues__button_combined a::after {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  right: 255px;
  width: 13px;
  height: 13px;
  border: 2px solid;
  border-color: transparent transparent #000 #000;
  transform: rotate(-135deg);
  transition: right 0.3s ease, border-color 0.3s ease;
  z-index: 3;
}

/* ホバー時に矢印スライド＆色変更 */
.p-top-satellite-venues__button_combined a:hover::after {
  right: 245px;
  border-color: transparent transparent #fff #fff;
}


/* トップページのサテライト会場カードリンク */
.p-top-satellite-venues-card-link {
  transition: opacity 0.3s;
}
.p-top-satellite-venues-card-link:hover {
  opacity: .8;
}


/* 飲食店セクション */
.p-top-restaurant {
  background-color: rgba(245, 245, 245, 0.82);
}
.p-top-restaurant__inner {
  max-width: 1152px;
  margin: 0 auto;
  padding: 64px 0 80px;
}
.p-top-restaurant__title {
  font-size: 36px;
  font-weight: 500;
  margin: 0 0 24px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  font-family: 'Noto Serif JP', 'Yu Mincho', 'Hiragino Mincho ProN', 'MS PMincho', serif;
}
.p-top-restaurant__desc {
  font-size: 15px;
  line-height: 2;
  margin: 0 0 56px;
}
.p-top-restaurant__list {
  display: flex;
  flex-wrap: wrap;
  gap: 72px;
  justify-content: flex-start;
}
.p-top-restaurant__item {
  flex: 0 0 calc((100% - 144px) / 3);
  max-width: calc((100% - 144px) / 3);
  overflow: hidden;
}
.p-top-restaurant__item img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 14px;
}


/* サムネイル画像が拡大するようにする */
.p-top-restaurant-card-thumb {
  overflow: hidden;
  height: 189px;
  margin-bottom: 14px;
}
/* 画像に拡大アニメーションとサイズ指定 */
.p-top-restaurant-card-thumb img {
  display: block;
  width: 100%;
  transition: transform 0.3s ease;
  transform-origin: center center;
}
/* hover時に拡大 */
.p-top-restaurant__item:hover .p-top-restaurant-card-thumb img{
  transform: scale(1.1);
}
/* hover時に透過 */
.p-top-restaurant__item-link {
  transition: opacity 0.3s;
}
.p-top-restaurant__item-link:hover {
  opacity: .8;
}


.p-top-restaurant__name {
  font-size: 18px;
  margin: 0 0 14px;
  font-weight: 400;
}
.p-top-restaurant__item p {
  font-size: 15px;
  line-height: 1.6;
}
/* .satellite-date, .satellite-time {
  font-size: 13px;
  margin-bottom: 4px;
}
.satellite-time {
  margin-top: 8px;
}
.satellite-date__date, .satellite-time__time {
  font-size: 15px;
} */
 /* 飲食店カード全体をリンク */
.p-top-restaurant__item-link {
  transition: opacity 0.3s;
}
.p-top-restaurant__item-link:hover {
  opacity: .8;
}


/* 参加企業 */
.p-top-sponsors {
  padding-bottom: 68px;
  background-color: rgba(245, 245, 245, 0.82);
}
.p-top-sponsors__inner {
  max-width: 1152px;
  margin: 0 auto;
  padding: 64px 0 0;
}
.p-top-sponsors__heading {
  font-size: 32px;
  font-weight: 500;
  margin: 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  font-family: 'Noto Serif JP', serif;
}
.p-top-sponsors__logos {
  max-width: 1152px;
  margin: 0 auto;
  padding: 66px 0 0;
}
.p-top-sponsors__logos a {
  transition: opacity .3s;
}
.p-top-sponsors__logos a:hover {
  opacity: .7;
}
.row-1, .row-2, .row-3, .row-4 {
  display: flex;
  justify-content: center;
  align-items: center;
}
.row-1 img, .row-2 img, .row-3 img, .row-4 img {
  display: block;
}
.row-1 .sanei {
  width: 250px;
}
.row-1 .union {
  width: 157px;
}
.row-1 {
  gap: 168px;
}
.row-2 {
  gap: 96px;
  margin-top: 72px;
}
.row-2 .kmew {
  width: 201px;
}
.row-2 .hirata {
  width: 259px;
}
.row-2 .fujioh {
  width: 200px;
}
.row-3 {
  gap: 160px;
  margin-top: 56px;
}
.row-3 .roland {
  width: 199px;
}
.row-3 .nomurakougei {
  width: 267px;
}
.row-4 {
  gap: 80px;
  margin-top: 72px;
}
.row-4 .adal {
  width: 102px;
}
.row-4 .nakaisangyo {
  width: 158px;
}
.row-4 .mml {
  width: 84px;
}


/* SPレスポンシブ */
@media (max-width: 768px) {
  .l-main section {
    padding: 0 16px;
  }

  /* ファーストビュー背景 */
  body.top::before {
    background-image: url('../img/sp_fv-bg.png');
    /* background-position: center center; */
    background-position: center 0%;
    background-size: cover;
  }
  .p-top-mv__slide-content {
    height: 105vh;
  }
  /* ファーストビューロゴ画像 */
  .p-top-mv__slide-content {
    margin-top: -8vh;
  }
  .p-top-mv__slide-content img {
      margin-left: 0;
  }

  /* ニュース */
  .p-top-news__visual-inner {
    max-width: 1152px;
    margin: 0 auto;
  }
  .p-top-news__inner {
    padding-bottom: 64px;
  }
  .p-top-news__heading {
    font-size: 24px;
  }
  .p-top-news__link {
    flex-direction: column;
    gap: 12px;
    padding: 20px 22px;
    align-items: flex-start;
  }
  .p-top-news__date {
    font-size: 14px;
  }
  .p-top-news__excerpt {
    font-size: 14px;
    line-height: 1.2;
  }
  .p-top-news__button-wrap {
    margin-top: 64px;
  }
  .p-top-news__button-wrap a {
    padding: 20ox 0;
    font-size: 14px;
  }
  
  /* OSAKA FUORI SALONE */
  .p-top-intro__inner {
    padding: 64px 0 64px;
  }
  .p-top-intro__heading {
    font-size: 21px;
  }
  .p-top-intro__text {
    font-size: 14px;
    margin: 24px 0 64px;
  }
  .p-top-intro__button-wrap a {
    font-size: 14px;
    padding: 20px 0;
  }

  /* デジタルマップ */
  .p-top-map__inner {
    padding: 64px 0 64px;
  }
  .p-top-map__heading {
    font-size: 21px;
    margin: 0 0 24px;
  }
  .p-top-map__map-container iframe,
  .p-top-map__content iframe {
    height: 400px;
  }
  .p-top-map__button-wrap a {
    font-size: 14px;
    padding: 20px 0;
  }


  /* 特設会場 */
  .p-top-main-venues .l-inner {
    padding-top: 64px;
  }
  .p-top-section-title {
    font-size: 19px;
    margin: 0 0 24px;
  }

  .p-top-section-subtitle {
    font-size: 14px;
    margin: 0 0 0 8px;
  }
  .p-top-section-subtitle::before,
  .p-top-section-subtitle::after {
    width: 16px;
  }
  .p-top-section-subtitle::before {
    margin-right: 0.5em;
  }
  .p-top-section-subtitle::after {
    margin-left: 0.5em;
  }


  .p-top-main-venues {
    padding: 66px 0 80px;
  }

  /* 静的バナー */
  .p-top-main-venues__static {
    margin: 0 auto ;
    flex-direction: column;
    gap: 32px;
  }
  .p-top-main-venues__item {
    flex: 1;
  }
  .p-top-main-venues__thumb {
    width: 100%;
    height: auto;
  }

  .p-top-main-venues__label {
    margin-top: 12px;
    font-size: 18px;
  }
  .p-top-main-venues__cards {
    flex-direction: column;
    flex-wrap: wrap;
    gap: 32px;
    margin: 32px 0 64px;
    justify-content: flex-start;
  }
  .p-top-main-venues-card {
    max-width: 100%;
    overflow: hidden;
  }
  .p-top-main-venues-card img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 14px;
  }
  .p-top-main-venues-card h3 {
    font-size: 17px;
    margin: 0 0 14px;

  }
  .main-date, .main-time {
    font-size: 13px;
    margin-bottom: 4px;
  }
  .main-time {
    margin-top: 14px;
  }
  .main-date__date, .main-time__time {
    font-size: 15px;
  }
  .p-top-main-venues__buttons {
    flex-direction: column;
    gap: 32px;
    padding-bottom: 70px;
  }
  .p-top-main-venues__buttons a {
    width: 100%;
  }


  /* サテライト会場 */
  .p-top-section-title {
    margin: 0 0 24px;
  }
  .p-top-satellite-venues__cards {
    flex-direction: column;
    gap: 32px;
    margin-bottom: 0;
  }
  .p-top-satellite-venues-card {
    max-width: 100%;
  }
  .p-top-satellite-venues-card img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 14px;
  }


  .p-top-satellite-venues-card h3 {
    font-size: 17px;
    margin: 0 0 14px;
  }
  .satellite-date, .satellite-time {
    font-size: 13px;
    margin-bottom: 4px;
  }
  .satellite-time {
    margin-top: 8px;
  }
  .satellite-date__date, .satellite-time__time {
    font-size: 15px;
  }
  /* .p-top-satellite-venues__button a {
    width: 100%;
    font-size: 16px;
    padding: 24px 0;
  } */
   .p-top-satellite-venues__button_combined {
    padding-bottom: 64px;
   }
  .p-top-satellite-venues__button_combined a {
    width: 100%;
    font-size: 16px;
    /* padding: 24px 0; */
    height: 64px;
    line-height: 64px;
  }
  /* 矢印 */
  .p-top-satellite-venues__button_combined a::after {
    right: 3em;
    width: 10px;
    height: 10px;
    border: 1px solid;
    border-color: transparent transparent #000 #000;
    top: calc(50% - 4px);
  }
  .p-top-satellite-venues__button_combined a:hover::after {
    right: 1em;
  }


  /* 飲食店 */
  .p-top-restaurant__inner {
    padding-top: 0;
  }
  .p-top-restaurant__title {
    font-size: 19px;
  }
  .p-top-restaurant__desc {
    font-size: 14px;
    line-height: 2;
    margin-bottom: 24px;
  }
  .p-top-restaurant__list {
    flex-direction: column;
    gap: 32px;
    margin-bottom: 64px;
  }
  .p-top-restaurant__item {
    max-width: 100%;
  }
  .p-top-restaurant__name {
    font-size: 17px;
    line-height: 1.4;
  }
  .p-top-restaurant__item p {
    font-size: 16px;
  }



  /* 参加企業 */
  .p-top-sponsors {
    padding-bottom: 68px;
  }
  .p-top-sponsors__inner {
    padding: 64px 0 0;
  }
  .p-top-sponsors__heading {
    font-size: 19px;
  }
  .p-top-sponsors__logos {
    padding: 56px 0 36px;
  }
  .row-1 img {
    width: 125px;
  }
  .row-1 {
    gap: 40px;
  }
  .row-2 {
    gap: 24px;
    margin-top: 36px;
  }
  .row-2 img {
    width: 96px;
  }
  .row-3 {
    gap: 30px;
    margin-top: 36px;
  }
  .row-3 img {
    width: 88px;
  }
  .row-4 {
    gap: 24px;
    margin-top: 31px;
  }
  .row-4 img {
    width: 50px;
  }
  .row-1 .sanei {
    width: 97px;
  }
  .row-1 .union {
    width: 65px;
  }
  .row-2 .kmew {
    width: 81px;
  }
  .row-2 .hirata {
    width: 99px;
  }
  .row-2 .fujioh {
    width: 82px;
  }
  .row-3 .roland {
    width: 81px;
  }
  .row-3 .nomurakougei {
    width: 101px;
  }
  .row-4 .adal {
    width: 52px;
  }
  .row-4 .nakaisangyo {
    width: 88px;
  }
  .row-4 .mml {
    width: 51px;
  }
}
