@charset "UTF-8";

/* ▼CMS用css */

/*---▼使用禁止マーク置換（アクセシビリティ対策）---*/
.tri_mark_dw:before {
  content: "▼";
}

.tri_mark_up:before {
  content: "▲";
}

.tri_left:before {
  content: "◀";
}

.tri_right:before {
  content: "▶";
}

.asterisk_mark:before {
  content: "＊";
}

.kome_mark:before {
  content: "※";
}

.dot_mark:before {
  content: "・";
}

/* ▼丸数字 */

.maru_1:before {
  content: "①";
}

.maru_2:before {
  content: "②";
}

.maru_3:before {
  content: "③";
}

.maru_4:before {
  content: "④";
}

.maru_5:before {
  content: "⑤";
}

.maru_6:before {
  content: "⑥";
}

.maru_7:before {
  content: "⑦";
}

.maru_8:before {
  content: "⑧";
}

.maru_9:before {
  content: "⑨";
}

.maru_10:before {
  content: "⑩";
}

.nav_direction {
  display: none;
}

.maff_title {
  width: 100%;
  margin: 0.5em auto 0;
  font-size: 2.5em;
  color: #e50112;
  /* border: 5px solid #0168b7; */
  text-align: center;
  padding: 5px 0;
  font-weight: bold;
  background-color: #d0f9c6;
}

.maff_title .br_tab {
  display: none;
}

.maff_title .br_sp {
  display: none;
}

@media screen and (max-width: 960px) {
  .maff_title .br_tab {
    display: inline;
  }
}

@media screen and (max-width: 767px) {
  .maff_title .br_sp {
    display: inline;
  }

  .maff_title {
    font-size: 2em;
  }
}

/* ▲CMS用css */

/*
 * Import styles
 */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');

/*
 * Variables
 */
@property --100vw {
  syntax: "<length>";
  initial-value: 0px;
  inherits: false;
}

:root {
  --100vw: 100vw;
  --px-width: tan(atan2(var(--100vw), 1px));
}

#rtf,
.fancybox__container {
  /* Color */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-red: #ad0000;
  --color-darkbrown: #290000;
  --color-blue: #005dc1;
  --color-text: #212121;
  --color-e2025-red: #E60012;
  --color-e2025-blue: #0068B7;
  --color-e2025-gray: #D4D9DC;
  /* Font Weight */
  --weight-thin: 100;
  --weight-extra-light: 200;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semi-bold: 600;
  --weight-bold: 700;
  --weight-extra-bold: 800;
  --weight-black: 900;
  /* Font Size */
  --font-size-base: 14;
  /* Layout */
  --layout-content-width: 960px;
  /* --layout-content-width-sp: calc(100vw - 20px); */
  --layout-content-width-sp: calc(100vw - 40px);
  /* Fancybox */
  --fancybox-bg: rgba(255, 255, 255, 0.75);
}

@media screen and (max-width: 767px) {
  .fancybox__nav {
    --f-button-width: 32px;
    --f-button-height: 32px;
  }
}


/*
 * Over ride
 */
html {
  touch-action: manipulation;
  scroll-behavior: smooth;
  /* TODO: 調整 */
  /* scroll-padding-top: 48px; */
}

@media screen and (max-width: 767px) {
  html {
    /* TODO: 調整 */
    /* scroll-padding-top: 100px;  */
  }
}

.content>h1 {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

/*
 * Name space
 */
#rtf,
.fancybox__container {
  /*
   * Base & Reset
   */
  font-family: "Zen Kaku Gothic New", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-optical-sizing: auto;
  font-weight: var(--weight-regular);
  font-style: normal;
  -webkit-font-smoothing: antialiased;

  img {
    max-width: 100%;
    height: auto;
  }

  h2 {
    margin: 0;
    padding: 0;
    background: none;
  }

  em {
    font-style: normal;
    font-weight: var(--weight-bold);
  }
}


/*
 * Utility
 */

@media screen and (min-width: 960px) {
  .u-forSPTB {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .u-forSP {
    display: none;
  }
}

.u-color-red {
  color: var(--color-e2025-red) !important;
}

.u-color-blue {
  color: var(--color-e2025-blue) !important;
}

.u-color-wasse {
  color: #B0D7E8;
}

.u-color-popup {
  color: #CEE8B0;
}

.u-weight-bold {
  font-weight: var(--weight-bold);
}


/*
 * Layout
 */
.l-main {
  margin-left: 50%;
  transform: translate(-50%, 0px);
  width: 100svw;
}

/*
 * Components
 */

.c-mainHeader {
  margin-bottom: 15px;
}

.c-mainHeader__inner {
  width: var(--layout-content-width-sp);
  max-width: var(--layout-content-width);
  margin-inline: auto;
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
}

.c-mainHeader__language {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  margin-left: auto;
}

.c-mainHeader__title {
  max-width: calc(100% - 60px);
  font-size: calc(18 / var(--font-size-base) * 1em) !important;
  font-weight: var(--weight-bold) !important;
  line-height: calc(26 / 18);
  flex-grow: 1;
}

.c-mainHeader__image {
  width: 53px;
  margin-right: 7px;
}

@media screen and (max-width: 767px) {
  .c-mainHeader__language {
    width: 100%;
    gap: 8px;
    margin-bottom: 16px;
  }

  .c-mainHeader__title {
    font-size: calc(15 / var(--font-size-base) * 1em) !important;
    flex-grow: 1;
  }
}

.c-language {
  font-family: "Open Sans", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

span.c-language {
  font-weight: var(--weight-bold);
}

a.c-language {}

.c-section {
  overflow: hidden;
}

.c-section__inner {
  position: relative;
  width: var(--layout-content-width-sp);
  max-width: var(--layout-content-width);
  margin-inline: auto;
  /* padding: 112px 0; */
  padding: 60px 0 100px;
  display: grid;
  gap: 64px;

  >*:first-child {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .c-section__inner {
    padding: 72px 0;
    gap: 32px;
  }
}

.c-section__inner--kv {
  display: block;
  width: 100%;
  max-width: 100%;
  padding-block: 0 32px;
}

.c-section--introduction {
  background: url(../images/c-section__introductionImage.svg) no-repeat right bottom / clamp(500px, calc(820 / 1400 * 100%), 820px);
}

.c-section__inner--introduction {
  padding-top: 50px;
  /* 80→50 */
  gap: 80px;
}

@media screen and (max-width: 767px) {
  .c-section--introduction {
    background-position: right bottom;
    background-size: clamp(192px, calc(192 / 375 * 100%), 500px);
  }

  .c-section__inner--introduction {
    padding-top: calc(50 / 375 * 100vw);
    gap: 40px;
  }
}


.c-section--detail {
  background: url(../images/bg-noize.png) repeat left top / 1024px, linear-gradient(to left bottom, #EAF7FF, #ffffff 50%, #EDFFE1);
}

.c-section--concept {
  background: url(../images/bg-concept.jpg) no-repeat center bottom / auto 800px;
}

.c-section__inner--concept {
  padding-bottom: 142px;
}

@media screen and (max-width: 767px) {
  .c-section--concept {
    background-size: auto 350px;
  }

  .c-section__inner--concept {
    padding-bottom: 65px;
    padding-top: 100px;
  }
}

.c-section--exhibition {
  background: linear-gradient(201deg, #FFF2E9 -0.01%, #FBF4EF 14.99%, #FFFEF5 50%, #F0FFF3 90%, #F0FFFD 100.01%);
}

.c-bg--cooperation-exhibition {
  background: url(../images/bg-noize.png) repeat left top / 1024px, linear-gradient(226deg, #EDF7F3 -0.02%, #D3DDE3 100%);
}

.c-section--exhibition {
  background: linear-gradient(201deg, #FFF2E9 -0.01%, #FBF4EF 14.99%, #FFFEF5 50%, #F0FFF3 90%, #F0FFFD 100.01%);
}

.c-section--stage {
  background: #F8F8F8;
}

.c-section--links {}

.c-section__inner--links {
  padding-top: 0;
}

.c-section__hgroup {
  display: grid;
  gap: 4px;
}

/* CMS用処理 見出しチェック h2→h3変更*/
.c-section__hgroup h3 {
  margin: 0;
  padding: 0;
  border-bottom: none;
}

.c-section__title {
  color: var(--color-darkbrown) !important;
  font-size: calc(48 / var(--font-size-base) * 1em) !important;
  font-weight: var(--weight-black) !important;
  line-height: calc(70 / 48);
}

.c-section__titleSub {
  color: var(--color-e2025-red);
  font-family: "Open Sans", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  font-size: calc(16 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: calc(22 / 16);
  text-transform: uppercase;
}

.c-section__catch {
  display: block;
  padding: 24px 48px;
  border-radius: 100px;
  background: var(--color-white);
  box-shadow: 0px 12px 24px 0px rgba(196, 184, 160, 0.15);
  font-size: calc(20 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: calc(29 / 20);
}

@media screen and (max-width: 767px) {
  .c-section__title {
    font-size: calc(28 / var(--font-size-base) * 1em) !important;
  }

  .c-section__titleSub {
    font-size: calc(12 / var(--font-size-base) * 1em);
  }

  .c-section__catch {
    padding: 20px 36px;
    font-size: calc(16 / var(--font-size-base) * 1em);
  }

  .c-section--stage {
    margin: 0 0 5em;
    /* CMS用処理 */
  }
}

.c-footer {
  background: linear-gradient(85deg, #FAFFFE 0%, #E2F5FF 100%);
  display: flex;
  /* padding: 160px 0px; */
  padding: 60px 0px 20px;
  /* Cマークを追加したので */
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* gap: 96px; */
  gap: 70px;
  align-self: stretch;
}

.c-footer__inner {
  display: contents;
}

.c-footer__copy {
  width: 100%;
  max-width: 628px;
}

@media screen and (max-width: 960px) {
  .c-footer {
    /* padding: 72px 40px; */
    padding: 30px 40px;
    /* Cマークを追加したので */
    gap: 48px;
  }

  .c-footer__inner {
    width: 295px;
    display: grid;
    gap: 48px;
  }

  .c-footer__copy {}
}

.c-footerNav {}

.c-footerNav__inner {
  width: calc(100svw - 20px);
  max-width: var(--layout-content-width);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  /*←出展協力のメニューが加わったら5,1を6,1にする */
  justify-content: space-between;
}

.c-footerNav__item {
  padding-inline: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
  gap: 14px;
  text-decoration: none;

  .__label {
    font-size: calc(22 / var(--font-size-base) * 1em);
    font-weight: var(--weight-bold);
    line-height: calc(32 / 22);
  }

  &::before {
    content: '';
    display: block;
    height: 2px;
    transform: translate(0px, -8px) rotate(-6deg);
    align-self: stretch;
    flex-shrink: 0;
    background-color: var(--color-black);
    order: 1;
    opacity: 0;
    transition: all 0.3s ease;
  }

  &::after {
    content: attr(data-sub-text);
    display: block;
    order: 1;
    font-family: "Open Sans", serif;
    font-optical-sizing: auto;
    font-weight: var(--weight-bold);
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: calc(11 / var(--font-size-base) * 1em);
    text-transform: uppercase;
    text-align: center;
    line-height: calc(15 / 11);
    color: var(--color-e2025-red);
    opacity: 0;
    transform: translate(0px, -8px);
    transition: all 0.3s ease;
  }

  &:hover {
    &::before {
      opacity: 1;
      transform: translate(0px, 0px) rotate(-6deg);
    }

    &::after {
      opacity: 1;
      transform: translate(0px, 0px);
    }
  }
}

@media screen and (max-width: 960px) {
  .c-footerNav {
    width: 100%;
  }

  .c-footerNav__inner {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 36px;
  }

  .c-footerNav__item {
    flex-shrink: 0;
    align-items: flex-start;
    gap: 7px;
    width: 120px;
    padding: 0;

    .__label {
      font-size: calc(14 / var(--font-size-base)* 1em);
      line-height: 1;
    }

    &::before {
      opacity: 1;
      /* transform-origin: center center; */
      transform: rotate(-6deg);
      height: 1px;
    }

    &::after {
      opacity: 1;
      align-self: flex-end;
      transform: translate(0, 0);
      font-size: calc(10 / var(--font-size-base) * 1em);
      line-height: 1;
    }
  }
}

.c-kvWrapper {
  position: relative;
  overflow: hidden;
  max-width: calc(var(--layout-content-width) * 3);
  margin-inline: auto;

  &::before {
    content: '';
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: calc((min(100svw, var(--layout-content-width) * 3) - var(--layout-content-width)) / 2);
    height: 100%;
    background: linear-gradient(to right, white, transparent);
  }

  &::after {
    content: '';
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    width: calc((min(100svw, var(--layout-content-width) * 3) - var(--layout-content-width)) / 2);
    height: 100%;
    background: linear-gradient(to left, white, transparent);
  }
}

@media screen and (max-width: 767px) {
  .c-kvWrapper {
    padding-block: 8px;
    background: #F6F6F6;

    &::before {
      width: 25px;
      background: linear-gradient(to right, #F6F6F6, transparent);
    }

    &::after {
      width: 25px;
      background: linear-gradient(to left, #F6F6F6, transparent);
    }
  }
}

.c-kv {
  opacity: 0;
  overflow: visible;
  width: 100%;
  height: 490px;
  transition: opacity 0.3s ease;
  --swiper-navigation-sides-offset: calc(50% - 480px - 72px);

  &._init_ {
    opacity: 1;
  }
}

.c-kv__image {
  border-radius: 40px;
  border: 1px solid #E2E2E2;
  box-sizing: content-box;
  height: auto;
  width: 100%;
  transform-origin: center center;
  transition: all .5s ease;
  transform: scale(0.7);

  .swiper-slide-next & {
    transform: scale(0.9);
  }

  .swiper-slide-prev & {
    transform: scale(0.9);
  }

  .swiper-slide-active & {
    transform: scale(1);
    transform-origin: center center;
  }
}

.c-kv__buttons {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: 100%;
  max-width: calc(var(--layout-content-width) + 66px * 2 - 10px * 2);
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: space-between;

  svg {
    path {
      fill: currentColor;
    }
  }
}

.c-kv__buttonPrev {
  color: rgba(0, 0, 0, 0.25);

  &:hover {
    color: rgba(0, 0, 0, 1);
  }
}

.c-kv__buttonNext {
  color: rgba(0, 0, 0, 0.25);

  &:hover {
    color: rgba(0, 0, 0, 1);
  }
}

@media screen and (max-width: 959px) {
  .c-kv {
    /* height: calc(152.55 / 300 * (100vw - 20px) + 2px); */
    height: calc(1017 / 2000 * (100vw - 70px) + 2px);
  }

  .c-kv__image {
    border-radius: 20px;
  }

  .c-kv__buttons {
    max-width: calc(var(--layout-content-width) + 33px * 2 - 10px * 2);

    svg {
      width: 33px;
    }
  }
}

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

.c-nav {}

.c-nav__inner {
  width: calc(100svw - 20px);
  max-width: var(--layout-content-width);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  /*←出展協力のメニューが加わったら5,1を6,1にする */
  justify-content: space-between;
}

.c-nav__item {
  padding-inline: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
  gap: 14px;
  text-decoration: none;

  .__label {
    font-size: calc(22 / var(--font-size-base) * 1em);
    font-weight: var(--weight-bold);
    line-height: calc(32 / 22);
  }

  &::before {
    content: '';
    display: block;
    height: 2px;
    transform: translate(0px, -8px) rotate(-6deg);
    align-self: stretch;
    flex-shrink: 0;
    background-color: var(--color-black);
    order: 1;
    opacity: 0;
    transition: all 0.3s ease;
  }

  &::after {
    content: attr(data-sub-text);
    display: block;
    order: 1;
    font-family: "Open Sans", serif;
    font-optical-sizing: auto;
    font-weight: var(--weight-bold);
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: calc(11 / var(--font-size-base) * 1em);
    text-transform: uppercase;
    text-align: center;
    line-height: calc(15 / 11);
    color: var(--color-e2025-red);
    opacity: 0;
    transform: translate(0px, -8px);
    transition: all 0.3s ease;
  }

  &:hover {
    &::before {
      opacity: 1;
      transform: translate(0px, 0px) rotate(-6deg);
    }

    &::after {
      opacity: 1;
      transform: translate(0px, 0px);
    }
  }
}

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

  /* ▼CMS用css */
  .nav_direction {
    text-align: center;
    background-color: #78b947;
    padding: 5px 0;
    display: block;
    position: sticky;
    top: 0;
    z-index: 10;
    color: #fff;
    margin: -1em 0 0;
  }

  .link_adjust {
    padding-top: 40px;
    margin-top: -40px;
    display: block;
  }

  .link_adjust_links {
    padding-top: 115px !important;
    margin-top: -115px;
    display: block;
  }

  .link_adjust_concept {
    padding-top: 10px;
    margin-top: -10px;
    display: block;
  }

  /* ▲CMS用css */

  .c-nav {
    position: sticky;
    z-index: 10;
    top: 29px;
    /* nav_directionを追加したので0→29 */
    left: 0px;
    background-color: var(--color-white);
    width: 100%;
    overflow: scroll;
    background: rgba(255, 255, 255, 0.90);
    backdrop-filter: blur(4px);
  }

  .c-nav__inner {
    grid-template-columns: repeat(3, 1fr);
    padding-inline: 4px;
    display: flex;
    gap: 24px;
    width: fit-content;
    margin-inline: 0;
    padding: 14px 20px;
  }

  .c-nav__item {
    flex-shrink: 0;
    align-items: flex-start;
    gap: 4px;
    width: 120px;
    padding: 0;

    .__label {
      font-size: calc(15 / var(--font-size-base)* 1em);
    }

    &::before {
      opacity: 1;
      /* transform-origin: center center; */
      transform: rotate(-6deg);
      height: 1px;
    }

    &::after {
      opacity: 1;
      align-self: flex-end;
      transform: translate(0, 0);
      font-size: calc(10 / var(--font-size-base) * 1em);
    }
  }
}

.c-introductionHeader {
  position: relative;
  /* margin-bottom: 94px; */
}

.c-introductionHeader__bg {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100svw;
  height: 552px;
  background: url(../images/c-introductionHeader__bg.jpg) no-repeat center center / cover;
  transform: translate(-50%, 0);
}

.c-introductionHeader__inner {
  position: relative;
  max-width: var(--layout-content-width);
  margin-inline: auto;
}

.c-introductionHeader__heading {}

.c-introductionHeader__logo {
  width: calc(315 / 335* 100%);
  max-width: 640px;
  margin-inline: auto;
}

.c-introductionHeader__tite {
  margin-top: 268px !important;
  max-width: 854px;
  filter: drop-shadow(0px 0px 6px var(--color-white));
}

.c-introductionHeader__eventPeriod {
  margin: 48px 0 0 !important;
  padding: 16px 32px !important;
  width: fit-content;
  border-radius: 50px;
  border: 2px solid #D6DADF;
  font-size: calc(24 / var(--font-size-base) * 1em) !important;
  font-weight: var(--weight-bold);
  line-height: calc(35 / 24);
}

@media screen and (max-width: 767px) {
  .c-introductionHeader__bg {
    height: calc(315 / 375 * 100vw);
    background-position: center bottom 45%;
    background-size: 230%;
  }

  .c-introductionHeader__tite {
    margin-top: calc(133 / 375 * 100vw) !important;
    width: calc(318 / 375 * 100vw);
  }

  .c-introductionHeader__eventPeriod {
    padding: 12px 24px !important;
    font-size: calc(16 / var(--font-size-base) * 1em) !important;
  }
}

.c-lead {
  margin: 0 !important;
  padding: 0 !important;
  color: #000;
  font-size: calc(18 / var(--font-size-base) * 1em) !important;
  line-height: 2.2;
}

@media screen and (max-width: 767px) {
  .c-lead {
    font-size: calc(14 / var(--font-size-base) * 1em) !important;
  }
}


.c-button {
  position: relative;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  margin: 0 !important;
  padding: 24px 48px !important;
  text-decoration: none;
  background: linear-gradient(90deg, #94DD90 0%, #45C7E2 100%) border-box border-box !important;
  transition: all 0.2s ease;

  &::before {
    content: '';
    position: absolute;
    inset: 0;
    display: block;
    border-radius: 24px;
    background-color: var(--color-white);
    transition: opacity 0.2s ease;
  }

  &::after {
    content: '';
    position: absolute;
    inset: 0;
    border: 3px solid transparent;
    border-radius: 24px;
    background: linear-gradient(90deg, #94DD90 0%, #45C7E2 100%) border-box border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: destination-out;
    mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    mask-composite: exclude;
  }

  &:hover {
    color: var(--color-white);
    text-shadow: 0px 1px 8px #017081;
    &::before {
      opacity: 0;
    }
  }
}

.c-button__label {
  position: relative;
  font-size: calc(18 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  /* transition: all 0.3s ease; */
  text-align: center;
}

.c-button__append {
  position: relative;
  font-size: calc(14 / var(--font-size-base) * 1em);
  font-weight: var(--weight-medium);
}

@media screen and (max-width: 767px) {
  .c-button {
    padding: 12px 24px;
  }

  .c-button__label {
    font-size: calc(16 / var(--font-size-base) * 1em);
  }
}

.c-miniButton {
  margin: 8px 0 0 0 !important;
  display: inline-flex;
  padding: 4px 12px !important;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 15px;
  border: 1px solid var(--color-black);
  background: none !important;
  background-color: var(--color-white);
  font-size: calc(14 / 16 * 1em);
  font-weight: var(--weight-bold);
  line-height: calc(20 / 14);
  text-decoration: none;
  transition: all 0.2s ease;

  &:hover {
    color: var(--color-white);
    background-color: var(--color-black) !important;
  }
}

.c-venueMap {
  display: block;
  box-shadow: 0px 24px 48px 0px rgba(54, 90, 24, 0.15);

  img {
    width: 100%;
  }
}

.c-eventInfo {
  border-radius: 32px;
  border: 2px solid #AAA;
  background: #FFF;
  padding: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 40px;
}

.c-eventInfo__title {
  grid-column: 1 / -1;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: calc(20 / var(--font-size-base) * 1em) !important;
  font-weight: var(--weight-bold) !important;
  line-height: calc(28 / 20);
}

.c-eventInfo__contents {}

.c-eventInfo__button {
  grid-column: 1 / -1;
  justify-self: center;
}

.c-eventInfo__map {
  grid-column: 2 / -1;
  grid-row: 2 / 3;
}

@media screen and (max-width: 767px) {
  .c-eventInfo {
    border-radius: 24px;
    padding: 30px 16px;
    grid-template-columns: 1fr;
    gap: 24px 20px;
  }

  .c-eventInfo__title {
    grid-column: 1 / -1;
  }

  .c-eventInfo__button {
    grid-column: 1 / -1;
  }

  .c-eventInfo__map {
    grid-column: 1 / -1;
    grid-row: 2 / 3;
  }
}


.c-data {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px 12px;
  font-size: calc(16 / var(--font-size-base) * 1em) !important;
  line-height: 1.4;
}

.c-data__title {
  font-weight: var(--weight-medium) !important;
}

.c-data__description {}

@media screen and (max-width: 767px) {
  .c-data {
    gap: 16px 12px;
  }
}

.c-noteBlock {
  display: flex;
  margin: 0 !important;
  padding: 12px !important;
  justify-content: center;
  align-items: center;
  gap: 12px;
  align-self: stretch;
  border-radius: 12px;
  background: #F8F8F8;
  color: #E10000;
  font-size: calc(12 / var(--font-size-base) * 1em) !important;
  line-height: 1.4;
  font-weight: var(--weight-bold) !important;

  &::before {
    content: '';
    display: block;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M12%201.99A10.113%2010.113%200%200%200%201.875%2012.113c0%205.625%204.5%2010.125%2010.125%2010.125%205.578%200%2010.125-4.5%2010.125-10.125C22.125%206.536%2017.531%201.99%2012%201.99Zm0-1.5c6.375%200%2011.625%205.25%2011.625%2011.624%200%206.422-5.25%2011.625-11.625%2011.625C5.578%2023.74.375%2018.536.375%2012.114.375%205.74%205.578.49%2012%20.49Zm-.563%205.624h1.079c.328%200%20.562.282.562.61l-.328%207.875c0%20.28-.281.515-.563.515h-.421c-.282%200-.563-.234-.563-.515l-.328-7.875c0-.328.234-.61.563-.61ZM12%2016.052c.703%200%201.313.61%201.313%201.312%200%20.75-.61%201.313-1.313%201.313-.75%200-1.313-.563-1.313-1.313A1.31%201.31%200%200%201%2012%2016.052Z%22%20fill%3D%22%23E10000%22%2F%3E%3C%2Fsvg%3E') no-repeat center center / 100%;
    width: 2em;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
  }
}

.c-concept {
  margin-top: 36px;
  display: grid;
  gap: 32px;
  z-index: 1;
}

.c-concept__copy {
  color: #000;
  font-size: calc(32 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: 1.6;
}

.c-concept__lead {
  .c-lead {
    font-weight: var(--weight-medium);
    line-height: 2.6;
  }
}

.c-concept__lastCopy {
  font-size: calc(20 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: 2.2;
}

@media screen and (max-width: 767px) {
  .c-concept {
    gap: 48px;
  }

  .c-concept__copy {
    font-size: calc(24 / var(--font-size-base) * 1em);
  }

  .c-concept__lead {
    .c-lead {
      font-size: calc(15 / var(--font-size-base) * 1em) !important;
    }
  }

  .c-concept__lastCopy {
    font-size: calc(18 / var(--font-size-base) * 1em);
  }
}

.c-conceptImages {
  position: absolute;
  right: 0;
  bottom: 142px;
}

.c-conceptImages__item {
  --base-x: 0px;
  --base-y: 134px;
  position: absolute;
  bottom: var(--base-y);
  right: var(--base-x);
  display: block;
  object-fit: cover;
  border-radius: 16px;
  max-width: none !important;

  &._1_ {
    bottom: calc(var(--base-y) + 90px);
    right: calc(var(--base-x) + 140px);
    width: 240px !important;
    height: 300px !important;
  }

  &._2_ {
    bottom: calc(var(--base-y) + 90px);
    right: calc(var(--base-x) - 80px);
    width: 209px !important;
    height: 300px !important;
  }

  &._3_ {
    bottom: calc(var(--base-y) + -240px);
    right: calc(var(--base-x) + 0px);
    width: 260px !important;
    height: 320px !important;
  }

  &._4_ {
    bottom: calc(var(--base-y) + 400px);
    right: calc(var(--base-x) + -30px);
    width: 326px !important;
    height: 200px !important;
  }
}

@media screen and (max-width: 959px) {
  .c-conceptImages {
    bottom: auto;
    top: 150px;
  }

  .c-conceptImages__item {
    --ratio: calc(var(--px-width) / 375);
    --base-x: -20px;
    --base-y: 230px;
    border-radius: 12px;
    bottom: auto;

    &._1_ {
      bottom: auto;
      top: calc(var(--base-y) + calc(4px * var(--ratio)));
      right: calc(var(--base-x) + calc(4px * var(--ratio)));
      width: calc(110px * var(--ratio)) !important;
      height: calc(138px * var(--ratio)) !important;
    }

    &._2_ {
      bottom: auto;
      top: calc(var(--base-y) - calc(84px * var(--ratio)));
      right: calc(var(--base-x) + calc(84px * var(--ratio)));
      width: calc(80px * var(--ratio)) !important;
      height: calc(80px * var(--ratio)) !important;
    }

    &._3_ {
      bottom: auto;
      top: calc(var(--base-y) - calc(152px * var(--ratio)));
      right: calc(var(--base-x) - calc(0px * var(--ratio)));
      width: calc(76px * var(--ratio)) !important;
      height: calc(148px * var(--ratio)) !important;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }

    &._4_ {
      bottom: auto;
      top: calc(var(--base-y) - calc(152px * var(--ratio)));
      right: calc(var(--base-x) - calc(-84px * var(--ratio)));
      width: calc(80px * var(--ratio)) !important;
      height: calc(65px * var(--ratio)) !important
    }
  }
}

.c-exhibitionCard {
  border-radius: 32px 0px 32px 32px;
  background: var(--color-white);
}

.c-exhibitionCard__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 48px;
  gap: 32px;
  border-radius: 32px 0px 0px 0px;
  border-top: 2px solid;
  border-right: 2px solid;
  border-left: 2px solid;

  .c-exhibitionCard--tradition & {
    border-color: #917B00;
  }

  .c-exhibitionCard--diversity & {
    /* border-color: #E0AA00; */
    border-color: #d57b10;
  }

  .c-exhibitionCard--future & {
    /* border-color: #55AA50; */
    border-color: #1b8b75;
  }
}

.c-exhibitionCard__theme {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  align-self: center;
}

.c-exhibitionCard__header {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  display: grid;
  gap: 16px;
}

.c-exhibitionCard__title {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: calc(40 / var(--font-size-base) * 1em) !important;
  font-weight: var(--weight-regular) !important;
  line-height: 1 !important;
}

.c-exhibitionCard__titleSub {
  font-family: "Open Sans";
  font-style: normal;
  font-size: calc(14 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: 1;

  .c-exhibitionCard--tradition & {
    /* color: #B49800; */
    color: #8a7500;
  }

  .c-exhibitionCard--diversity & {
    color: #E5006E;
  }

  .c-exhibitionCard--future & {
    /* color: #13B0E9; */
    color: #007fad;
  }
}

.c-exhibitionCard__lead {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--color-black);
  font-size: calc(16 / var(--font-size-base) * 1em) !important;
  font-weight: var(--weight-regular);
  line-height: 1.8;
}

.c-exhibitionCard__booth {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr;
  gap: 24px 32px;
  padding: 40px 48px 48px 48px;
  border-radius: 0px 0px 32px 32px;

  .c-exhibitionCard--tradition & {
    /* border-right: 1px solid #917B00; */
    /* border-bottom: 1px solid #917B00; */
    /* border-left: 1px solid #917B00; */
    background: #917B00;
    background: linear-gradient(180deg, #a88e00, #CDB742);
  }

  .c-exhibitionCard--diversity & {
    /* border-right: 1px solid #E0AA00; */
    /* border-bottom: 1px solid #E0AA00; */
    /* border-left: 1px solid #E0AA00; */
    background: #d57b10;
    background: linear-gradient(180deg, #d57b10, #E0AA00);
  }

  .c-exhibitionCard--future & {
    /* border-right: 1px solid #55AA50; */
    /* border-bottom: 1px solid #55AA50; */
    /* border-left: 1px solid #55AA50; */
    background: #47a662;
    background: linear-gradient(180deg, #1b8b75, #55AA50);
  }
}

.c-exhibitionCard__boothTitle {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  color: var(--color-white);
  font-size: calc(20 / var(--font-size-base) * 1em) !important;
  font-weight: var(--weight-bold) !important;
  line-height: 1;
}

.c-exhibitionCard__boothContents {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}

.c-exhibitionCard__boothImage {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 4px;

  img {
    align-self: stretch;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    border: 2px solid #FFF;
    object-fit: cover;
    aspect-ratio: 2 / 1;
  }
}

@media screen and (max-width: 767px) {
  .c-conceptImages {
    top: 30px;
  }

  .c-exhibitionCard {
    border-radius: 24px 0px 24px 24px;
  }

  .c-exhibitionCard__content {
    display: grid;
    grid-template-columns: 1fr;
    padding: 16px 24px 32px;
    gap: 24px;
    border-radius: 24px 0px 0px 0px;
  }

  .c-exhibitionCard__theme {
    grid-column: auto;
    grid-row: auto;
    padding: 32px 0;
    border-bottom: solid 1px;
    margin-bottom: 8px;

    .c-exhibitionCard--tradition & {
      /* border-color: #B49800; */
      border-color: #917B00;
    }

    .c-exhibitionCard--diversity & {
      /* border-color: #E5006E; */
      border-color: #d57b10;
    }

    .c-exhibitionCard--future & {
      /* border-color: #13B0E9; */
      border-color: #1b8b75;
    }
  }

  .c-exhibitionCard__header {
    grid-column: auto;
    grid-row: auto;
    gap: 10px;
  }

  .c-exhibitionCard__title {
    font-size: calc(26 / var(--font-size-base) * 1em) !important;
  }

  .c-exhibitionCard__titleSub {
    font-size: calc(10 / var(--font-size-base) * 1em);
  }

  .c-exhibitionCard__lead {
    grid-column: auto;
    grid-row: auto;
    font-size: calc(14 / var(--font-size-base) * 1em) !important;
  }

  .c-exhibitionCard__booth {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 16px;
    padding: 24px;
    border-radius: 0px 0px 24px 24px;
  }

  .c-exhibitionCard__boothTitle {
    grid-column: auto;
    grid-row: auto;
  }

  .c-exhibitionCard__boothContents {
    grid-column: auto;
    grid-row: auto;
  }

  .c-exhibitionCard__boothImage {
    grid-column: auto;
    grid-row: auto;
    display: grid;
  }
}

.c-boothList {
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  gap: 8px;
  font-size: 1em !important;
}

.c-boothList__item {
  display: grid;
  grid-template-columns: auto 1fr 40px;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;

  .c-exhibitionCard--tradition & {
    grid-template-columns: calc(6em + 16px) 1fr 40px;
  }

  .c-exhibitionCard--diversity & {
    grid-template-columns: calc(5em + 16px) 1fr 40px;
  }

  .c-exhibitionCard--future & {
    grid-template-columns: calc(7em + 16px) 1fr 40px;
  }
}

.c-iconTasting {
  flex-shrink: 0;
  display: block;
  width: 30px;
  height: 20px;
  background: url(../images/icon-tasting.svg) no-repeat center center / contain;
}

.c-boothButton {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  align-items: stretch;
  border: none;
  border-radius: 12px;
  overflow: hidden;
  padding: 0;
  text-align: left;
  transition: all 0.3s ease;

  &::after {
    content: '';
    display: block;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M13.719%206.406c.14%200%20.281.14.281.282v1.125c0%20.175-.14.28-.281.28H8.094v5.626c0%20.176-.14.281-.281.281H6.688c-.176%200-.282-.105-.282-.281V8.094H.781C.605%208.094.5%207.988.5%207.813V6.688c0-.141.105-.282.281-.282h5.625V.781c0-.14.106-.281.282-.281h1.125c.14%200%20.28.14.28.281v5.625h5.626Z%22%20fill%3D%22%233F3F3F%22%2F%3E%3C%2Fsvg%3E') no-repeat center center / contain;
    width: 13.5px;
    justify-self: center;
  }

  .c-exhibitionCard--tradition & {
    background: #F7F4D9;
  }

  .c-exhibitionCard--diversity & {
    background: #F8F4E4;
  }

  .c-exhibitionCard--future & {
    background: #E5F2E4;
  }

  &:hover {
    transform-origin: center center;
    transform: scale(1.05);
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
  }
}

.c-boothButton__name {
  display: flex;
  align-items: center;
  padding: 10px 8px;
  background-color: var(--color-white);
  color: #555;
  font-size: calc(14 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}

.c-boothButton__detail {
  display: flex;
  padding: 10px 0 10px 8px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.c-boothButton__exhibitor {
  color: #3F3F3F;
  font-size: calc(14 / var(--font-size-base) * 1em);
  font-weight: var(--weight-regular);
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .c-boothButton {
    border-radius: 8px;
  }
}

.c-stage {
  display: grid;
  gap: 32px;
}

.c-scheduleHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.c-scheduleHeader__lead {
  font-size: calc(16 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: 2;
}

.c-scheduleHeader__legend {
  font-size: calc(12 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: 1.4;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .c-scheduleHeader__lead {
    font-size: calc(14 / var(--font-size-base) * 1em);
  }

  .c-scheduleHeader__legend {
    text-align: left;
  }
}

.c-schedule {
  display: grid;
  grid-template-columns: auto repeat(9, 1fr);
  grid-template-rows: repeat(21, 40px);
  gap: 1px;
  padding: 0 1px 0 0;
}

.c-schedule__bg {
  grid-column: 2 / -1;
  grid-row: 2 / -1;
  border: solid 1px var(--color-text);
  margin: -2px;
}

.c-schedule__times {
  grid-column: 1 / 2;
  grid-row: 2 / -1;
  display: grid;
  grid-template-rows: subgrid;
  gap: 1px;
}

.c-schedule__time {
  grid-row: span 2;
  padding: 0 8px;
  font-size: calc(16 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: 1;
  text-align: right;

  &:last-child {
    align-self: end;
  }
}

.c-schedule__timeline {
  grid-row: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: subgrid;
  gap: 1px;

  &._1_ {
    grid-column: 2 / 3;
  }

  &._2_ {
    grid-column: 3 / 4;
  }

  &._3_ {
    grid-column: 4 / 5;
  }

  &._4_ {
    grid-column: 5 / 6;
  }

  &._5_ {
    grid-column: 6 / 7;
  }

  &._6_ {
    grid-column: 7 / 8;
  }

  &._7_ {
    grid-column: 8 / 9;
  }

  &._8_ {
    grid-column: 9 / 10;
  }

  &._9_ {
    grid-column: 10 / 11;
  }
}

.c-schedule__timelineHeader {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
  display: grid;
  grid-template-rows: 1fr;
  align-items: center;
  justify-content: center;
  font-size: calc(14 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  /* line-height: 1; */
  line-height: 1.2;
  text-align: center;
}

/* 日付と曜日を改行 */
.c-schedule__timelineHeader br {
  display: inline;
}

.c-schedule__timelineBody {
  grid-column: 1 / 3;
  grid-row: 2 / -1;
  display: grid;
  gap: 1px;
  grid-template-columns: subgrid;
  grid-template-rows: subgrid;
  border: solid 1px var(--color-text);
  margin: -1px;
  background: linear-gradient(180deg, white, white calc(100% - 1px), #DDDDDD calc(100% - 1px));
  background-size: auto 41px;
}

.c-schedule__timelineBodyInner {
  display: contents;
}

.c-schedule__event {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  border: none;
  padding: 8px;
  grid-column: 1 / 3;
  font-size: calc(10 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: 1.4;
  text-align: left;

  &._halfRight_ {
    grid-column: 2 / 3;
  }

  &._halfLeft_ {
    grid-column: 1 / 2;
  }

  &._popup_ {
    background-color: #CEE9B0;
    color: var(--color-black);

    &:hover {
      background-color: #a7db6e;
    }
  }

  &._wasse_ {
    background-color: #B0D7E8;
    color: var(--color-black);

    &:hover {
      background-color: #7bc9eb;
    }
  }

  &[data-start-time="9:00"] {
    grid-row-start: 1;
  }

  &[data-start-time="9:30"] {
    grid-row-start: 2;
  }

  &[data-start-time="10:00"] {
    grid-row-start: 3;
  }

  &[data-start-time="10:30"] {
    grid-row-start: 4;
  }

  &[data-start-time="11:00"] {
    grid-row-start: 5;
  }

  &[data-start-time="11:30"] {
    grid-row-start: 6;
  }

  &[data-start-time="12:00"] {
    grid-row-start: 7;
  }

  &[data-start-time="12:30"] {
    grid-row-start: 8;
  }

  &[data-start-time="13:00"] {
    grid-row-start: 9;
  }

  &[data-start-time="13:30"] {
    grid-row-start: 10;
  }

  &[data-start-time="14:00"] {
    grid-row-start: 11;
  }

  &[data-start-time="14:30"] {
    grid-row-start: 12;
  }

  &[data-start-time="15:00"] {
    grid-row-start: 13;
  }

  &[data-start-time="15:30"] {
    grid-row-start: 14;
  }

  &[data-start-time="16:00"] {
    grid-row-start: 15;
  }

  &[data-start-time="16:30"] {
    grid-row-start: 16;
  }

  &[data-start-time="17:00"] {
    grid-row-start: 17;
  }

  &[data-start-time="17:30"] {
    grid-row-start: 18;
  }

  &[data-start-time="18:00"] {
    grid-row-start: 19;
  }

  &[data-start-time="18:30"] {
    grid-row-start: 20;
  }

  &[data-start-time="19:00"] {
    grid-row-start: 21;
  }

  &[data-end-time="9:00"] {
    grid-row-end: 1;
  }

  &[data-end-time="9:30"] {
    grid-row-end: 2;
  }

  &[data-end-time="10:00"] {
    grid-row-end: 3;
  }

  &[data-end-time="10:30"] {
    grid-row-end: 4;
  }

  &[data-end-time="11:00"] {
    grid-row-end: 5;
  }

  &[data-end-time="11:30"] {
    grid-row-end: 6;
  }

  &[data-end-time="12:00"] {
    grid-row-end: 7;
  }

  &[data-end-time="12:30"] {
    grid-row-end: 8;
  }

  &[data-end-time="13:00"] {
    grid-row-end: 9;
  }

  &[data-end-time="13:30"] {
    grid-row-end: 10;
  }

  &[data-end-time="14:00"] {
    grid-row-end: 11;
  }

  &[data-end-time="14:30"] {
    grid-row-end: 12;
  }

  &[data-end-time="15:00"] {
    grid-row-end: 13;
  }

  &[data-end-time="15:30"] {
    grid-row-end: 14;
  }

  &[data-end-time="16:00"] {
    grid-row-end: 15;
  }

  &[data-end-time="16:30"] {
    grid-row-end: 16;
  }

  &[data-end-time="17:00"] {
    grid-row-end: 17;
  }

  &[data-end-time="17:30"] {
    grid-row-end: 18;
  }

  &[data-end-time="18:00"] {
    grid-row-end: 19;
  }

  &[data-end-time="18:30"] {
    grid-row-end: 20;
  }

  &[data-end-time="19:00"] {
    grid-row-end: 21;
  }
}

.c-schedule__eventName {}

.c-schedule__eventTime {
  display: none;
}

@media screen and (max-width: 767px) {
  .c-schedule {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 16px;
  }

  .c-schedule__bg {
    display: none;
  }

  .c-schedule__times {
    display: none;
  }

  .c-schedule__time {}

  .c-schedule__timeline {
    position: relative;
    display: block;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .c-schedule__timelineHeader {
    position: sticky;
    top: 0;
    left: 0;
    display: block;
    text-align: left;
    margin-bottom: 8px;
  }

  /* 日付と曜日の改行解除 */
  .c-schedule__timelineHeader br {
    display: none;
  }

  .c-schedule__timelineBody {
    /* width: 100svw; */
    margin-inline: -20px;
    overflow: scroll;
    border: none;
    background: none;
  }

  .c-schedule__timelineBodyInner {
    display: flex;
    gap: 8px;
    padding-inline: 20px;
    flex-wrap: wrap;
    /* 追加 */
  }

  .c-schedule__event {
    position: relative;
    flex-shrink: 0;
    /* width: 40svw; */
    width: 100%;
    /* max-width: 160px; */
    height: auto;
    /* 72→auto */
    font-size: calc(13 / var(--font-size-base) * 1em);

    &::after {
      content: '';
      display: block;
      background: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M13.719%206.406c.14%200%20.281.14.281.282v1.125c0%20.175-.14.28-.281.28H8.094v5.626c0%20.176-.14.281-.281.281H6.688c-.176%200-.282-.105-.282-.281V8.094H.781C.605%208.094.5%207.988.5%207.813V6.688c0-.141.105-.282.281-.282h5.625V.781c0-.14.106-.281.282-.281h1.125c.14%200%20.28.14.28.281v5.625h5.626Z%22%20fill%3D%22%233F3F3F%22%2F%3E%3C%2Fsvg%3E) no-repeat center center / contain;
      width: 13.5px;
      aspect-ratio: 1 / 1;
      position: absolute;
      right: 8px;
      /* top: 0; */
      bottom: 8px;
    }
  }

  .c-schedule__eventName {}

  .c-schedule__eventTime {
    display: block;
  }
}

.c-scheduleNote {
  font-size: calc(12 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: 1.4;
}

.c-scheduleButton {
  display: flex;
  justify-content: center;
}

.c-modal {
  display: none;
  padding: 0;
  background: none;
  color: var(--color-black);
}

.c-modal__box {
  width: calc(100vw - 20px);
  max-width: 900px;
  border-radius: 56px;
  background: var(--color-white);
  box-shadow: 0px 24px 48px 0px rgba(0, 0, 0, 0.25);
}

.c-modal__boxInner {
  padding: 60px;
}

.c-modal__footer {
  margin-top: 24px;
  display: flex;
  justify-content: center;
}

.c-modal__closeButton {
  display: flex;
  padding: 8px 16px;
  align-items: center;
  gap: 10px;
  border-radius: 30px;
  border: 2px solid var(--color-white);
  background: rgba(255, 255, 255, 0.80);
  box-shadow: 0px 12px 16px 0px rgba(0, 0, 0, 0.12);
  color: #303030;
  font-family: "Open Sans";
  font-style: normal;
  font-size: calc(14 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: 1;
  text-transform: uppercase;

  &::before {
    content: '';
    display: block;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22m10.703%208%205.063%205.063c.28.28.28.796%200%201.078l-1.172%201.171c-.281.282-.797.282-1.078%200L8.5%2010.25l-5.063%205.063c-.28.28-.796.28-1.078%200L1.188%2014.14c-.282-.282-.282-.797%200-1.079L6.25%208%201.187%202.984c-.28-.28-.28-.796%200-1.078L2.36.734c.282-.28.797-.28%201.079%200L8.5%205.797%2013.516.734c.28-.28.796-.28%201.078%200l1.172%201.172c.28.282.28.797%200%201.078L10.703%208Z%22%20fill%3D%22%23303030%22%2F%3E%3C%2Fsvg%3E') no-repeat center center / contain;
    width: 15px;
    height: 15px;
  }
}

@media screen and (max-width: 767px) {
  .c-modal__box {
    border-radius: 28px;
  }

  .c-modal__boxInner {
    padding: 30px;
  }

  .c-modal__footer {
    padding-bottom: 24px;
  }
}

.c-boothDetail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr auto;
  gap: 32px 42px;
}

.c-boothDetail__header {
  /* display: grid;
  gap: 16px; */
  display: flex;
  gap: 30px;
  justify-content: space-between;
  /* 展示ポップアップロゴ用 */
  align-items: flex-start;
  /* 展示ポップアップロゴ用 */
}

.c-boothDetail__header img {
  width: 70px;
  height: auto;
}

.c-boothDetail__name {
  margin: 0 0 5px;
  padding: 0;
  font-size: calc(24 / var(--font-size-base) * 1em);
  font-weight: var(--weight-black);
  line-height: calc(35 / 24);
}

.c-boothDetail__options {}

.c-boothDetail__description {
  display: grid;
  gap: 16px;
  font-size: calc(16 / var(--font-size-base) * 1em);
  font-weight: var(--weight-medium);
  line-height: 2;
}

.c-boothDetail__presentedBy {
  font-size: calc(16 / var(--font-size-base) * 1em);
  font-weight: var(--weight-regular);
  line-height: 1.4;
}

.c-boothDetail__presentedByLabel {
  font-family: "Open Sans";
  font-size: calc(12 / 16 * 1em);
  font-weight: var(--weight-bold);
  margin-bottom: 4px;
}

.c-boothDetail__images {
  grid-column: 2 / 3;
  grid-row: 1 / 4;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  align-self: start;

  img {
    align-self: stretch;
    max-height: none;
    object-fit: cover;
    /* aspect-ratio: 2 / 1; */
    aspect-ratio: 1 / 1;
    /* 修正 */
  }
}

.c-boothDetail__mainImage {
  grid-column: span 3;
  aspect-ratio: 1 / 1;
  display: grid;
  border-radius: 12px;
  overflow: hidden;
}

.c-boothDetail__subImage {
  aspect-ratio: 121 / 96;
  display: grid;
  border-radius: 12px;
  overflow: hidden;
}

/* 展示 画像の説明 */
.c-boothDetail__images .noteWrap {
  grid-column-start: 1;
  grid-column-end: 4;
}

@media screen and (max-width: 767px) {
  .c-boothDetail {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 16px 24px;
  }

  .c-boothDetail__header {
    gap: 16px;
  }

  .c-boothDetail__name {
    font-size: calc(20 / var(--font-size-base) * 1em);
  }

  .c-boothDetail__options {}

  .c-boothDetail__description {
    gap: 16px;
    font-size: calc(14 / var(--font-size-base) * 1em);
  }

  .c-boothDetail__presentedBy {
    font-size: calc(14 / var(--font-size-base) * 1em);
  }

  .c-boothDetail__presentedByLabel {
    font-size: calc(12 / 16 * 1em);
    margin-bottom: 4px;
  }

  .c-boothDetail__images {
    grid-column: auto;
    grid-row: auto;
    gap: 6px;
  }

  .c-boothDetail__mainImage {
    border-radius: 8px;
  }

  .c-boothDetail__subImage {
    border-radius: 8px;
  }
}

.c-eventDetail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr auto;
  gap: 32px 42px;
}

.c-eventDetail__tag {}

.c-eventDetail__header {
  display: grid;
  gap: 16px;
}

.c-eventDetail__name {
  margin: 0;
  padding: 0;
  font-size: calc(24 / var(--font-size-base) * 1em);
  font-weight: var(--weight-black);
  line-height: calc(35 / 24);
}

.c-eventDetail__options {}

.c-eventDetail__datetime {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: calc(16 / var(--font-size-base) * 1em);
  font-weight: var(--weight-medium);
  line-height: 1;

  &::before {
    content: '';
    display: block;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20d%3D%22M8%20.25A7.749%207.749%200%200%201%2015.75%208%207.749%207.749%200%200%201%208%2015.75%207.749%207.749%200%200%201%20.25%208%207.749%207.749%200%200%201%208%20.25ZM14.75%208c0-3.719-3.063-6.75-6.75-6.75-3.75%200-6.75%203.063-6.75%206.75%200%203.75%203.031%206.75%206.75%206.75s6.75-3.031%206.75-6.75Zm-4.656%202.781L7.53%208.937a.401.401%200%200%201-.125-.312v-5a.38.38%200%200%201%20.375-.375h.438c.187%200%20.375.188.375.375v4.594l2.187%201.594c.156.124.219.343.094.53l-.281.345c-.094.156-.344.218-.5.093Z%22%2F%3E%3C%2Fsvg%3E') no-repeat center center / contain;
    aspect-ratio: 1 / 1;
    width: 1em;
  }
}

.c-eventDetail__description {
  display: grid;
  gap: 16px;
  font-size: calc(16 / var(--font-size-base) * 1em);
  font-weight: var(--weight-medium);
  line-height: 2;
  /* URLを折り返す指示 */
  overflow-wrap: anywhere;
}

.c-eventDetail__presentedBy {
  font-size: calc(16 / var(--font-size-base) * 1em);
  font-weight: var(--weight-regular);
  line-height: 1.4;
}

.c-eventDetail__presentedByLabel {
  font-family: "Open Sans";
  font-size: calc(12 / 16 * 1em);
  font-weight: var(--weight-bold);
  margin-bottom: 4px;
}

.c-eventDetail__images {
  grid-column: 2 / 3;
  grid-row: 1 / 5;
  display: grid;
  gap: 10px;
  align-self: start;

  /* img {
    align-self: stretch;
    max-height: none;
    object-fit: cover;
    aspect-ratio: 2 / 1;
  } */

  /*---▼写真のサイズをそろえる---*/
  img {
    object-fit: contain;
    position: absolute;
    width: 360px !important;
    height: 240px !important;
    border-radius: 12px;
  }
}

.c-eventDetail__image {
  aspect-ratio: 383 / 240;
  display: grid;
  border-radius: 12px;
  overflow: hidden;
}

@media screen and (max-width: 959px) {
  .c-eventDetail__images {

    /*---▼写真のサイズをそろえる---*/
    img {
      position: relative;
      width: 100% !important;
      height: auto !important;
    }
  }

  .c-eventDetail__image {
    /* 指定追加 */
    aspect-ratio: auto;
  }
}

@media screen and (max-width: 767px) {
  .c-eventDetail {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 16px 24px;
  }

  .c-eventDetail__tag {}

  .c-eventDetail__header {
    gap: 16px;
  }

  .c-eventDetail__name {
    font-size: calc(20 / var(--font-size-base) * 1em);
  }

  .c-eventDetail__options {}

  .c-eventDetail__datetime {
    gap: 6px;
    font-size: calc(14 / var(--font-size-base) * 1em);
  }

  .c-eventDetail__description {
    gap: 16px;
    font-size: calc(14 / var(--font-size-base) * 1em);
  }

  .c-eventDetail__presentedBy {
    font-size: calc(14 / var(--font-size-base) * 1em);
  }

  .c-eventDetail__presentedByLabel {
    font-size: calc(12 / 16 * 1em);
    margin-bottom: 4px;
  }

  .c-eventDetail__images {
    grid-column: auto;
    grid-row: auto;
    gap: 6px;
  }

}

.c-tag {
  display: flex;
  padding: 6px 16px;
  justify-content: center;
  align-items: center;
  width: fit-content;
  border-radius: 24px;
  font-size: calc(12 / var(--font-size-base) * 1em);
  font-weight: var(--weight-bold);
  line-height: 1.4;

  &._tradition_ {
    /* color: #B49800; */
    /* border: 1px solid #B49800; */
    color: #8a7500;
    border: 1px solid #8a7500;
    background: var(--color-white);
  }

  &._diversity_ {
    color: #E5006E;
    border: 1px solid #E5006E;
    background: var(--color-white);
  }

  &._future_ {
    /* color: #13B0E9; */
    /* border: 1px solid #13B0E9; */
    color: #007fad;
    border: 1px solid #007fad;
    background: var(--color-white);
  }

  &._wasse_ {
    background: #B0D7E8;
  }

  &._popup_ {
    background: #CEE9B0;
  }
}


.c-cooperationCard {
  padding: 56px;
  border-radius: 32px;
  background: var(--color-white);
  box-shadow: 0px 24px 48px 0px rgba(206, 220, 223, 0.80);
}

@media screen and (max-width: 767px) {
  .c-cooperationCard {
    padding: 32px;
    border-radius: 16px;
  }
}

.c-cooperationList {
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px;
  font-size: calc(16 / var(--font-size-base) * 1em) !important;
}

.c-cooperationList__item {
  align-self: center;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-cooperationList {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    font-size: calc(14 / var(--font-size-base) * 1em) !important;
  }

  .c-cooperationList__item {}
}

.c-linksCard {
  padding: 96px 56px;
  border-radius: 32px;
  background: var(--color-white);
  box-shadow: 0px 24px 48px 0px rgba(206, 220, 223, 0.80);
  display: grid;
  gap: 64px;
}

@media screen and (max-width: 767px) {
  .c-linksCard {
    padding: 32px;
    border-radius: 16px;
    gap: 24px;
  }
}

.c-linkExpo {
  margin: 0 !important;
  padding: 0 !important;
  justify-self: center;
  max-width: 560px;
  position: relative;
  display: grid;
  grid-template-columns: 40% 1fr;

  a {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
  }
}

.c-linkExpo__expoLogo {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
}

.c-linkExpo__link1 {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}

.c-linkExpo__link2 {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
}

@media screen and (max-width: 767px) {
  .c-linkExpo {
    width: calc(220 / 375 * 100vw);
  }
}

.c-linksList {
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 64px 48px;
}

.c-linksList__item {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  width: 100%;
  max-width: 280px;

  a {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
  }

  img {
    border: solid 1px #909090;
  }
}

@media screen and (max-width: 767px) {
  .c-linksList {
    gap: 24px 18px;
  }

  .c-linksList__item {
    width: 100%;
    max-width: 120px;
  }
}