@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@500;600;700&family=Barlow+Condensed:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
/* ==================================================
* Font Family
================================================== */
/* ==================================================
* Font Style
================================================== */
/* ==================================================
* Color
================================================== */
/* ==================================================
* Font Color
================================================== */
/* ==================================================
* Image
================================================== */
/* ==================================================
* Breakpoints
================================================== */
/* ==================================================
* z-index
================================================== */
/* ==================================================
* rainbowBackground
================================================== */
/* ==================================================
* rainbowBackground2
================================================== */
/* **************************************************
  A Modern CSS Reset
************************************************** */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
:where(body) {
  min-block-size: 100%;
  min-block-size: 100dvb;
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border-style: solid;
}

:where(a) {
  text-decoration: underline;
}

:where(ul, ol) {
  list-style: none;
}

:where(table) {
  border-collapse: collapse;
  border-spacing: 0;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  vertical-align: bottom;
}

:where(video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  font-size: 1em;
  overflow-wrap: break-word;
}

:where(hr) {
  border: none;
  -webkit-border-before: 1px solid;
          border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

:where(details, summary) {
  display: block;
}

/* ==================================================
* Variable
================================================== */
:root {
  --vw: 1vw;
  --vh: 1vh;
  --base-text-unit: 16;
  --rem: 1rem / var(--base-text-unit);
  --em: calc(1em / var(--base-text-unit));
  --infinite: calc(1px / 0);
  --font-normal: 400;
  --font-bold: 700;
  --min-viewport-width: 375;
  --max-viewport-width: 1200;
}

/* ==================================================
* Default Style Unset
================================================== */
body {
  overflow-y: unset;
}

/* global-header
================================================== */
.global-header {
  overflow: hidden;
}

/* main
================================================== */
main * {
  color: inherit;
  position: unset;
}
main *:is(h1, h2, h3, h4, h5, h6, header, footer) {
  all: unset;
  display: block;
}
main *:is(nav) {
  width: unset;
  z-index: unset;
  position: unset;
}
main img {
  vertical-align: bottom;
}
main p {
  line-height: inherit;
}
main li {
  line-height: inherit;
}

header a:focus:not(:focus-visible) {
  outline: none !important;
}

header a:focus-visible {
  outline: solid 0.2rem #C6162C !important;
}

@media screen and (max-width: 768px) {
  footer .langArea {
    min-width: 0 !important;
  }
  footer .langArea .copyright {
    line-height: 1.5;
    word-break: break-all;
    padding: 0 2rem;
  }
}
/* ==================================================
* Base Style
================================================== */
html, body {
  font-size: min(0.5208333333vw, 20px);
  color: #000;
  background: #fff;
  letter-spacing: 0.04em;
}

html.is-resize *, html.is-resize *:before, html.is-resize *:after {
  -webkit-transition: none !important;
  transition: none !important;
  -webkit-transition-delay: 0 !important;
          transition-delay: 0 !important;
}

/* forum2024
================================================== */
.forum2024,
.modaal-wrapper {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

:where(.forum2024) ::-webkit-input-placeholder,
:where(.modaal-wrapper) ::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.4);
}
:where(.forum2024) [data-whatinput=mouse] *:focus,
:where(.modaal-wrapper) [data-whatinput=mouse] *:focus {
  outline: none;
}
:where(.forum2024) :where(:focus-visible),
:where(.modaal-wrapper) :where(:focus-visible) {
  outline: solid 0.2rem #C6162C;
  outline-offset: 0.2rem;
}
:where(.forum2024) a,
:where(.forum2024) a:visited,
:where(.modaal-wrapper) a,
:where(.modaal-wrapper) a:visited {
  color: #036FCC;
}
:where(.forum2024) a:not([class]),
:where(.forum2024) a:not([class]):visited,
:where(.modaal-wrapper) a:not([class]),
:where(.modaal-wrapper) a:not([class]):visited {
  text-decoration: underline;
}
:where(.forum2024) a:not([class]) *,
:where(.forum2024) a:not([class]):visited *,
:where(.modaal-wrapper) a:not([class]) *,
:where(.modaal-wrapper) a:not([class]):visited * {
  color: inherit;
}
:where(.forum2024) img,
:where(.modaal-wrapper) img {
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
  width: 100%;
  height: auto;
  border: none;
  outline: none;
}
:where(.forum2024) :where(em),
:where(.modaal-wrapper) :where(em) {
  font-style: normal;
}
:where(.forum2024) :where(input),
:where(.forum2024) :where(textarea),
:where(.forum2024) :where(select),
:where(.forum2024) :where(option),
:where(.forum2024) :where(button),
:where(.modaal-wrapper) :where(input),
:where(.modaal-wrapper) :where(textarea),
:where(.modaal-wrapper) :where(select),
:where(.modaal-wrapper) :where(option),
:where(.modaal-wrapper) :where(button) {
  background: transparent;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  resize: none;
}
:where(.forum2024) :where(input):focus-visible,
:where(.forum2024) :where(textarea):focus-visible,
:where(.forum2024) :where(select):focus-visible,
:where(.forum2024) :where(option):focus-visible,
:where(.forum2024) :where(button):focus-visible,
:where(.modaal-wrapper) :where(input):focus-visible,
:where(.modaal-wrapper) :where(textarea):focus-visible,
:where(.modaal-wrapper) :where(select):focus-visible,
:where(.modaal-wrapper) :where(option):focus-visible,
:where(.modaal-wrapper) :where(button):focus-visible {
  outline-offset: 0;
}
:where(.forum2024) :where(button):focus-visible,
:where(.modaal-wrapper) :where(button):focus-visible {
  outline-offset: 0.2rem;
}
:where(.forum2024) :where(input),
:where(.forum2024) :where(textarea),
:where(.modaal-wrapper) :where(input),
:where(.modaal-wrapper) :where(textarea) {
  field-sizing: content;
}
@supports (field-sizing: content) {
  :where(.forum2024) :where(input),
  :where(.forum2024) :where(textarea),
  :where(.modaal-wrapper) :where(input),
  :where(.modaal-wrapper) :where(textarea) {
    resize: none; /* field-sizing有効時にはリサイズ機能を無効にする */
  }
}
@media (any-hover: hover) {
  :where(.forum2024) a:is(:where(.forum2024) a:hover, :where(.forum2024) a:focus-visible,
  :where(.modaal-wrapper) a:hover,
  :where(.modaal-wrapper) a:focus-visible),
  :where(.modaal-wrapper) a:is(:where(.forum2024) a:hover, :where(.forum2024) a:focus-visible,
  :where(.modaal-wrapper) a:hover,
  :where(.modaal-wrapper) a:focus-visible) {
    text-decoration: none;
    color: #036FCC;
  }
  :where(.forum2024) a:is(:where(.forum2024) a:hover, :where(.forum2024) a:focus-visible,
  :where(.modaal-wrapper) a:hover,
  :where(.modaal-wrapper) a:focus-visible) *,
  :where(.modaal-wrapper) a:is(:where(.forum2024) a:hover, :where(.forum2024) a:focus-visible,
  :where(.modaal-wrapper) a:hover,
  :where(.modaal-wrapper) a:focus-visible) * {
    color: inherit;
  }
}

@media screen and (max-width: 1920px) {
  html, body {
    font-size: 10px;
  }
}
@media screen and (min-width: 768.02px) {
  body {
    min-width: 1260px;
  }
}
@media screen and (max-width: 768px) {
  html, body {
    font-size: 2.5641025641vw;
  }
}
@media screen and (max-width: 600px) {
  html, body {
    font-size: 2.5641025641vw;
  }
}
/* ==================================================
* button Template
================================================== */
/* ==================================================
* button
================================================== */
.button[class] {
  font-family: "Barlow", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 1.8rem;
  text-decoration: none;
  color: #fff;
  background: #000;
  display: inline-grid;
  grid-auto-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  letter-spacing: 0.04em;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  inline-size: min(32rem, 100%);
  min-block-size: 5.6rem;
  padding: 0.5rem 1em;
  border-style: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  /* Hover
  ================================================== */
  /* disabled
  ================================================== */
  /* icon
  ================================================== */
  -webkit-box-shadow: 0 -0.4rem 0 #4d4d4d inset;
          box-shadow: 0 -0.4rem 0 #4d4d4d inset;
  /* Hover
  ================================================== */
}
@media screen and (max-width: 768px) {
  .button[class] {
    font-size: 1.6rem;
    inline-size: min(25rem, 100%);
  }
}
.button[class]:focus-visible {
  color: #fff;
  background-color: #C6162C;
  outline: solid 0.2rem #C6162C !important;
}
@media (any-hover: hover) {
  .button[class]:hover {
    color: #fff;
    background-color: #C6162C;
  }
}
.button[class].-disabled, .button[class]:disabled {
  opacity: 0.4;
  pointer-events: none;
}
.button[class].-icon-before, .button[class].-icon-after {
  grid-template-columns: 1fr auto 1fr;
  -webkit-column-gap: 0.2rem;
     -moz-column-gap: 0.2rem;
          column-gap: 0.2rem;
}
.button[class].-icon-before :where(i), .button[class].-icon-after :where(i) {
  font-size: 0.6666666667em;
}
.button[class].-icon-after:before {
  content: "";
}
.button[class].-icon-after i {
  text-align: right;
}
.button[class].-icon-before:after {
  content: "";
}
.button[class].-icon-before i {
  text-align: left;
}
.button[class]:focus-visible {
  -webkit-box-shadow: 0 -0.3rem 0 #8d0000 inset;
          box-shadow: 0 -0.3rem 0 #8d0000 inset;
}
@media (any-hover: hover) {
  .button[class]:hover {
    -webkit-box-shadow: 0 -0.3rem 0 #8d0000 inset;
            box-shadow: 0 -0.3rem 0 #8d0000 inset;
  }
}
@media screen and (max-width: 768px) {
  .button[class] {
    min-block-size: 5.4rem;
  }
}

/* ==================================================
* button--round
================================================== */
.button--round[class] {
  font-family: "Barlow", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 1.8rem;
  text-decoration: none;
  color: #C6162C;
  background: #fff;
  display: inline-grid;
  grid-auto-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  letter-spacing: 0.04em;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  inline-size: min(32rem, 100%);
  min-block-size: 5.6rem;
  padding: 0.5rem 1em;
  border-style: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  /* Hover
  ================================================== */
  /* disabled
  ================================================== */
  /* icon
  ================================================== */
  min-block-size: 5.2rem;
  border: solid 1px #C6162C;
  border-radius: 9999px;
  /* Hover
  ================================================== */
  /* Black
  ================================================== */
  /* Red
  ================================================== */
}
@media screen and (max-width: 768px) {
  .button--round[class] {
    font-size: 1.6rem;
    inline-size: min(25rem, 100%);
  }
}
.button--round[class]:focus-visible {
  color: #fff;
  background-color: #C6162C;
  outline: solid 0.2rem #C6162C !important;
}
@media (any-hover: hover) {
  .button--round[class]:hover {
    color: #fff;
    background-color: #C6162C;
  }
}
.button--round[class].-disabled, .button--round[class]:disabled {
  opacity: 0.4;
  pointer-events: none;
}
.button--round[class].-icon-before, .button--round[class].-icon-after {
  grid-template-columns: 1fr auto 1fr;
  -webkit-column-gap: 0.2rem;
     -moz-column-gap: 0.2rem;
          column-gap: 0.2rem;
}
.button--round[class].-icon-before :where(i), .button--round[class].-icon-after :where(i) {
  font-size: 0.6666666667em;
}
.button--round[class].-icon-after:before {
  content: "";
}
.button--round[class].-icon-after i {
  text-align: right;
}
.button--round[class].-icon-before:after {
  content: "";
}
.button--round[class].-icon-before i {
  text-align: left;
}
.button--round[class]:focus-visible {
  color: #fff;
  border-color: #C6162C;
}
@media (any-hover: hover) {
  .button--round[class]:hover {
    color: #fff;
    border-color: #C6162C;
  }
}
@media screen and (max-width: 768px) {
  .button--round[class] {
    font-size: 1.8rem;
    min-block-size: 4.4rem;
  }
}
.button--round[class].-black {
  color: #fff;
  background-color: #000;
  border-color: #000;
}
.button--round[class].-black:focus-visible {
  color: #fff;
  background-color: #C6162C;
  border-color: #C6162C;
}
@media (any-hover: hover) {
  .button--round[class].-black:hover {
    color: #fff;
    background-color: #C6162C;
    border-color: #C6162C;
  }
}
.button--round[class].-red {
  color: #fff;
  background-color: #C6162C;
  /* Hover
  ============================== */
}
.button--round[class].-red:focus-visible {
  color: #C6162C;
  background-color: #fff;
}
@media (any-hover: hover) {
  .button--round[class].-red:hover {
    color: #C6162C;
    background-color: #fff;
  }
}

/* ==================================================
* button--min
================================================== */
.button--min[class] {
  font-family: "Barlow", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 1.8rem;
  text-decoration: none;
  color: #fff;
  background: #000;
  display: inline-grid;
  grid-auto-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  letter-spacing: 0.04em;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  inline-size: min(32rem, 100%);
  min-block-size: 5.6rem;
  padding: 0.5rem 1em;
  border-style: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  /* Hover
  ================================================== */
  /* disabled
  ================================================== */
  /* icon
  ================================================== */
  font-size: 1.4rem;
  inline-size: 100%;
  letter-spacing: 0;
  min-block-size: 3.5rem;
  padding: 0;
  -webkit-box-shadow: 0 -0.4rem 0 #4d4d4d inset;
          box-shadow: 0 -0.4rem 0 #4d4d4d inset;
  /* Hover
  ================================================== */
  /* icon
  ================================================== */
}
@media screen and (max-width: 768px) {
  .button--min[class] {
    font-size: 1.6rem;
    inline-size: min(25rem, 100%);
  }
}
.button--min[class]:focus-visible {
  color: #fff;
  background-color: #C6162C;
  outline: solid 0.2rem #C6162C !important;
}
@media (any-hover: hover) {
  .button--min[class]:hover {
    color: #fff;
    background-color: #C6162C;
  }
}
.button--min[class].-disabled, .button--min[class]:disabled {
  opacity: 0.4;
  pointer-events: none;
}
.button--min[class].-icon-before, .button--min[class].-icon-after {
  grid-template-columns: 1fr auto 1fr;
  -webkit-column-gap: 0.2rem;
     -moz-column-gap: 0.2rem;
          column-gap: 0.2rem;
}
.button--min[class].-icon-before :where(i), .button--min[class].-icon-after :where(i) {
  font-size: 0.6666666667em;
}
.button--min[class].-icon-after:before {
  content: "";
}
.button--min[class].-icon-after i {
  text-align: right;
}
.button--min[class].-icon-before:after {
  content: "";
}
.button--min[class].-icon-before i {
  text-align: left;
}
.button--min[class]:focus-visible {
  -webkit-box-shadow: 0 -0.3rem 0 #8d0000 inset;
          box-shadow: 0 -0.3rem 0 #8d0000 inset;
}
@media (any-hover: hover) {
  .button--min[class]:hover {
    -webkit-box-shadow: 0 -0.3rem 0 #8d0000 inset;
            box-shadow: 0 -0.3rem 0 #8d0000 inset;
  }
}
.button--min[class]:has(i) i {
  font-size: 0.5714285714em;
  text-align: right;
}

/* ==================================================
* clone
================================================== */
.clone {
  display: none;
}

/* ==================================================
* homeSessionCard
================================================== */
.homeSessionCard {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-shadow: 0.4rem 0.4rem 1.6rem rgba(0, 0, 0, 0.2);
          box-shadow: 0.4rem 0.4rem 1.6rem rgba(0, 0, 0, 0.2);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2rem;
  border-radius: 1.2rem;
}
.homeSessionCard .homeSessionCard__schedule {
  font-size: 1.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.homeSessionCard .homeSessionCard__day {
  font-family: "Barlow", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 2rem;
  line-height: 1.2;
  color: #fff;
  background-color: #000;
  padding: 0.3rem 0.8rem;
  border-radius: 0.4rem;
  margin-right: 1.2rem;
}
.homeSessionCard .homeSessionCard__week {
  font-size: 1.4rem;
}
.homeSessionCard .homeSessionCard__time {
  margin-left: 0.25em;
}
.homeSessionCard .homeSessionCard__title {
  font-size: 2.2rem;
  margin-top: 1rem;
}
.homeSessionCard .homeSessionCard__speakers {
  margin-top: auto;
}
.homeSessionCard .homeSessionCard__speaker {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  margin-top: 2rem;
}
.homeSessionCard .homeSessionCard__thumb img {
  display: block;
  aspect-ratio: 1;
  height: auto;
}
.homeSessionCard .homeSessionCard__name {
  font-size: 2rem;
}
.homeSessionCard .homeSessionCard__company {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .homeSessionCard {
    padding: 1.5rem;
  }
  .homeSessionCard .homeSessionCard__schedule {
    font-size: 1.6rem;
  }
  .homeSessionCard .homeSessionCard__day {
    font-size: 1.8rem;
  }
  .homeSessionCard .homeSessionCard__title {
    font-size: 2rem;
  }
  .homeSessionCard .homeSessionCard__speakers {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .homeSessionCard .homeSessionCard__speakers .homeSessionCard__speaker {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .homeSessionCard .homeSessionCard__speakers .homeSessionCard__thumb {
    width: auto;
  }
  .homeSessionCard .homeSessionCard__name {
    font-size: 1.8rem;
  }
  .homeSessionCard .homeSessionCard__company {
    font-size: 1.2rem;
    margin-top: 0.6rem;
  }
}

/* ==================================================
* sessionCard
================================================== */
.sessionCard {
  background-color: #fff;
  -webkit-box-shadow: 0.8rem 0.8rem 3rem rgba(0, 0, 0, 0.25);
          box-shadow: 0.8rem 0.8rem 3rem rgba(0, 0, 0, 0.25);
  display: grid;
  grid-template-columns: auto 1fr;
  cursor: pointer;
}
.sessionCard:focus-visible .sessionCard__title {
  color: #C6162C;
}
.sessionCard:focus-visible .sessionCard__more .button--min {
  color: #fff;
  background-color: #C6162C;
  -webkit-box-shadow: 0 -0.3rem 0 #8d0000 inset;
          box-shadow: 0 -0.3rem 0 #8d0000 inset;
}
@media (any-hover: hover) {
  .sessionCard:hover .sessionCard__title {
    color: #C6162C;
  }
  .sessionCard:hover .sessionCard__more .button--min {
    color: #fff;
    background-color: #C6162C;
    -webkit-box-shadow: 0 -0.3rem 0 #8d0000 inset;
            box-shadow: 0 -0.3rem 0 #8d0000 inset;
  }
}
.sessionCard .sessionCard__track {
  font-family: "Barlow", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  color: #fff;
  background-color: #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 14.2rem;
  padding: 2.4rem 1.6rem;
}
.sessionCard .sessionCard__info {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2rem 2.4rem 5.5rem;
  position: relative;
}
.sessionCard .sessionCard__day {
  font-size: 1.6rem;
  line-height: 1.1875;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.4rem 1.2rem;
  border: solid 1px #fff;
}
.sessionCard .sessionCard__date {
  font-size: 2.8rem;
  line-height: 1;
}
.sessionCard .sessionCard__week {
  font-size: 1.4rem;
}
.sessionCard .sessionCard__week .lang-en {
  margin-left: 0.25em;
}
.sessionCard .sessionCard__time {
  font-size: 1.6rem;
  line-height: 1.1875;
}
.sessionCard .sessionCard__id {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 1.4rem;
}
.sessionCard .sessionCard__live {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 1.1rem;
  color: #000;
  background-color: #fff;
  display: inline-grid;
  grid-template-columns: auto 1fr;
  gap: 0.3rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 1.6rem;
  padding: 0.2rem 0.6rem;
  border: solid 1px #999;
  border-radius: 0.3rem;
}
.sessionCard .sessionCard__live::before {
  font-size: 0.6em;
  line-height: 1lh;
  color: #C6162C;
  content: "●";
}
.sessionCard .sessionCard__category {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 1.4rem;
}
.sessionCard .sessionCard__logo {
  width: 7rem;
  margin-bottom: 0.8rem;
}
.sessionCard .sessionCard__logo img {
  width: 100%;
}
.sessionCard .sessionCard__title {
  font-size: 2.4rem;
  line-height: 1.6;
}
.sessionCard .sessionCard__tags {
  margin-top: 1.6rem;
}
.sessionCard .sessionCard__speakers {
  margin-top: 2.4rem;
}
.sessionCard .sessionCard__more {
  position: absolute;
  right: 0;
  bottom: 0;
}
.sessionCard .sessionCard__more .button--min {
  min-width: 0;
  gap: 1.5rem;
  padding: 0 1rem 0 1.5rem;
}
.sessionCard .sessionCard__more i {
  font-weight: 400;
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
}
.sessionCard .msessionCard__langSwicher,
.sessionCard .sessionCard__venue,
.sessionCard .sessionCard__summary,
.sessionCard .sessionSpeakers__profile {
  display: none;
}
@media screen and (min-width: 768.02px) {
  .sessionCard .sessionCard__split {
    display: none;
  }
  .sessionCard .sessionCard__date {
    margin-top: 1.6rem;
  }
  .sessionCard .sessionCard__time {
    margin-top: 0.8rem;
  }
  .sessionCard .sessionCard__id {
    margin-top: 1.6rem;
  }
  .sessionCard .sessionCard__category {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .sessionCard {
    grid-template-columns: 1fr;
  }
  .sessionCard .sessionCard__track {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    width: auto;
    gap: 0.5rem 0.8rem;
  }
  .sessionCard .sessionCard__info {
    padding: 1.6rem 1.6rem 5.5rem;
  }
  .sessionCard .sessionCard__split {
    width: 100%;
  }
  .sessionCard .sessionCard__day {
    border-radius: 0.4rem;
  }
  .sessionCard .sessionCard__date {
    font-size: 2.6rem;
  }
  .sessionCard .sessionCard__category {
    padding-inline: 0.5rem;
  }
  .sessionCard .sessionCard__id {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sessionCard .sessionCard__live {
    margin: 0;
  }
  .sessionCard .sessionCard__title {
    font-size: 2rem;
  }
  .sessionCard .sessionCard__speakers {
    margin-top: 3rem;
  }
  .sessionCard .sessionCard__more .button--min {
    font-size: 1.4rem;
    padding: 0 1.2rem 0 2.2rem;
  }
  .sessionCard .sessionCard__more i {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .sessionCard .sessionCard__more i::before {
    content: "\e909";
  }
}

/* ==================================================
* exhibitionCard
================================================== */
.exhibitionCard {
  background-color: #fff;
  -webkit-box-shadow: 0.8rem 0.8rem 3rem rgba(0, 0, 0, 0.25);
          box-shadow: 0.8rem 0.8rem 3rem rgba(0, 0, 0, 0.25);
  display: grid;
  grid-template-rows: auto 1fr;
  cursor: pointer;
}
.exhibitionCard:focus-visible .exhibitionCard__title {
  color: #C6162C;
}
.exhibitionCard:focus-visible .exhibitionCard__more .button--min {
  color: #fff;
  background-color: #C6162C;
  -webkit-box-shadow: 0 -0.3rem 0 #8d0000 inset;
          box-shadow: 0 -0.3rem 0 #8d0000 inset;
}
@media (any-hover: hover) {
  .exhibitionCard:hover .exhibitionCard__title {
    color: #C6162C;
  }
  .exhibitionCard:hover .exhibitionCard__more .button--min {
    color: #fff;
    background-color: #C6162C;
    -webkit-box-shadow: 0 -0.3rem 0 #8d0000 inset;
            box-shadow: 0 -0.3rem 0 #8d0000 inset;
  }
}
.exhibitionCard .exhibitionCard__thumb img {
  display: block;
  aspect-ratio: 16/9;
}
.exhibitionCard .exhibitionCard__content {
  padding: 1.6rem 2rem 5.5rem;
  position: relative;
}
.exhibitionCard .exhibitionCard__id {
  font-family: "Barlow", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 1.6rem;
  line-height: 1.2;
  margin-bottom: 0.8rem;
  padding: 2px 6px;
  border: solid 1px;
}
.exhibitionCard .exhibitionCard__title {
  font-size: 2rem;
}
.exhibitionCard .exhibitionCard__tags {
  margin-top: auto;
}
.exhibitionCard .exhibitionCard__tags::before {
  display: block;
  content: "";
  width: 100%;
  margin-top: 0.4rem;
}
.exhibitionCard .exhibitionCard__keywords {
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  row-gap: 0.4rem;
  margin-top: 1.5rem;
}
.exhibitionCard .exhibitionCard__keywords li:not(:last-child):after {
  content: "/";
  margin: 0 0.25em;
}
.exhibitionCard .exhibitionCard__more {
  position: absolute;
  right: 0;
  bottom: 0;
}
.exhibitionCard .exhibitionCard__more .button--min {
  min-width: 0;
  gap: 1.5rem;
  padding: 0 1rem 0 1.5rem;
}
.exhibitionCard .exhibitionCard__more i {
  font-weight: 400;
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
}
.exhibitionCard .exhibitionCard__id,
.exhibitionCard .exhibitionCard__area,
.exhibitionCard .exhibitionCard__summary,
.exhibitionCard .exhibitionCard__links,
.exhibitionCard .exhibitionCard__notes,
.exhibitionCard .exhibitionCard__serviceLinks {
  display: none;
}
.exhibitionCard.ico-play .exhibitionCard__thumb {
  position: relative;
}
.exhibitionCard.ico-play .exhibitionCard__thumb:after {
  background: url(/content/dam/nttcom/hq/jp/business/go-event/img/ico_play.png);
  background-size: 100% auto;
  display: block;
  content: "";
  inline-size: 12.9032258065%;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .exhibitionCard {
    -webkit-box-shadow: 0.8rem 0.8rem 1.6rem rgba(0, 0, 0, 0.25);
            box-shadow: 0.8rem 0.8rem 1.6rem rgba(0, 0, 0, 0.25);
  }
  .exhibitionCard .exhibitionCard__content {
    padding: 1.2rem 1rem 5.5rem;
  }
  .exhibitionCard .exhibitionCard__title {
    font-size: 1.5rem;
  }
  .exhibitionCard .exhibitionCard__id {
    font-size: 1.4rem;
  }
  .exhibitionCard .exhibitionCard__keywords {
    font-size: 1.2rem;
    margin-top: 1.2rem;
  }
  .exhibitionCard .exhibitionCard__more .button--min {
    font-size: 1.4rem;
    gap: 0.8rem;
    padding: 0 0.8rem 0 1rem;
  }
  .exhibitionCard .exhibitionCard__more i {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .exhibitionCard .exhibitionCard__more i::before {
    content: "\e909";
  }
}

/* ==================================================
* routeCard
================================================== */
.routeCard {
  background-color: #F0F0F4;
  display: block grid;
  grid-template-columns: 1fr;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 2rem;
  text-align: center;
  padding: 2rem 1rem;
  border: solid 2px;
}
.routeCard .routeCard__title {
  font-size: 2.4rem;
  -ms-flex-item-align: center;
      align-self: center;
  word-break: keep-all;
}
.routeCard .routeCard__title.routeCard__title--ja {
  font-size: 2rem;
}

.routeCard__more .button--round {
  font-size: 1.6rem;
  max-inline-size: 12rem;
  min-block-size: 3.2rem;
  padding: 0.5rem 1rem;
}

@media screen and (max-width: 768px) {
  .routeCard {
    padding-inline: 1rem;
  }
  .routeCard__more .button--round {
    font-size: 1.4rem;
  }
}
/* ==================================================
* forumFooter
================================================== */
.forumFooter {
  background: #fff;
  -webkit-box-shadow: 0 -0.4rem 0.4rem rgba(0, 0, 0, 0.05);
          box-shadow: 0 -0.4rem 0.4rem rgba(0, 0, 0, 0.05);
  padding: 3rem 10rem;
  position: relative;
  z-index: 1;
}
.forumFooter .forumFooter__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.forumFooter .forumFooter__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6.4rem;
}
.forumFooter .forumFooter__logo img {
  width: 100%;
}
.forumFooter .forumFooter__link {
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.forumFooter .forumFooter__link li:not(:last-child) {
  -webkit-margin-end: 4rem;
          margin-inline-end: 4rem;
}
.forumFooter .forumFooter__link li br {
  display: none;
}
.forumFooter .forumFooter__link a {
  text-decoration: underline;
  color: #036FCC;
}
.forumFooter .eFoote__totop {
  font-size: 1.2rem;
  position: absolute;
  top: -2.4rem;
  right: 3rem;
}
.forumFooter .eFoote__totop a {
  text-decoration: none;
  color: #fff;
  background-color: #000;
  display: block;
  line-height: 4;
  text-align: center;
  width: 4em;
  border-radius: 50%;
}
.forumFooter .eFoote__totop a:focus-visible {
  background-color: #C6162C;
}
@media (any-hover: hover) {
  .forumFooter .eFoote__totop a:hover {
    background-color: #C6162C;
  }
}
@media screen and (max-width: 1460px) {
  .forumFooter {
    padding: 3rem 2rem;
  }
  .forumFooter .forumFooter__inner {
    max-width: 126rem;
    margin-inline: auto;
  }
}
@media screen and (max-width: 768px) {
  .forumFooter {
    padding: 3rem 2rem;
  }
  .forumFooter .forumFooter__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .forumFooter .forumFooter__logo {
    width: 8rem;
    margin-top: 3rem;
  }
  .forumFooter .forumFooter__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
  .forumFooter .forumFooter__link li:not(:last-child) {
    margin: 0 0 0.8rem;
  }
  .forumFooter .forumFooter__link li br {
    display: inline;
  }
  .forumFooter .eFoote__totop {
    right: 2rem;
  }
}

/* ==================================================
* forumLowerFooter
================================================== */
.forumLowerFooter {
  text-align: center;
  margin-top: 8rem;
}

@media screen and (min-width: 768.02px) {
  .forumLowerFooter__button .button--round {
    min-block-size: 6.4rem;
  }
}
@media screen and (max-width: 768px) {
  .forumLowerFooter {
    margin-top: 4rem;
  }
  .forumLowerFooter__button .button--round {
    min-block-size: 5rem;
  }
}
/* ==================================================
* form-textbox
================================================== */
.form-textbox {
  font-size: 1.6rem;
  background-color: #F0F0F4;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-overflow: ellipsis;
  width: 100%;
  padding: 0.8rem 1em;
  border: none;
}
.form-textbox.-error {
  background-color: #FDE8EA;
}
.form-textbox:focus {
  outline: solid 0.2rem #5F76B9;
}
@media screen and (max-width: 768px) {
  .form-textbox {
    font-size: 1.4rem;
  }
}

/* ==================================================
* checkbox
================================================== */
/* checkbox
================================================== */
.form-checkbox {
  font-size: 1.6rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 3.6rem;
  position: relative;
}
.form-checkbox input[type=checkbox],
.form-checkbox input[type=radio] {
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.form-checkbox input[type=checkbox]:disabled,
.form-checkbox input[type=radio]:disabled {
  pointer-events: none;
}
.form-checkbox:before, .form-checkbox:after {
  font-size: 1.25em;
  line-height: 1;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  content: "";
  width: 1em;
  height: 1em;
  position: absolute;
  top: 0.2em;
  left: 0;
}
.form-checkbox:before {
  background-color: #fff;
  border: solid 1px #999;
}
.form-checkbox:after {
  font-family: "icon";
  content: "\e901";
  color: #fff;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  visibility: hidden;
}
.form-checkbox:has(input:checked):before {
  background-color: #000;
  border-color: #000;
}
.form-checkbox:has(input:checked):after {
  visibility: visible;
}
.form-checkbox a {
  position: relative;
  z-index: 1;
}
.form-checkbox:has(input:disabled) {
  opacity: 0.5;
}
.form-checkbox:has(input:focus-visible):before {
  outline: solid 0.2rem #5F76B9;
}
@media screen and (max-width: 768px) {
  .form-checkbox {
    font-size: 1.4rem;
    padding-left: 2.8rem;
  }
}

/* button
================================================== */
.form-checkbox--button {
  font-size: 1.8rem;
  color: #fff;
  background-color: #000;
  display: block;
  -webkit-box-shadow: 0 -0.3rem 0 #4c4c4c inset;
          box-shadow: 0 -0.3rem 0 #4c4c4c inset;
  padding: 0.8rem 4.4rem 0.8rem 1.6rem;
  position: relative;
}
.form-checkbox--button input[type=checkbox],
.form-checkbox--button input[type=radio] {
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.form-checkbox--button input[type=checkbox]:disabled,
.form-checkbox--button input[type=radio]:disabled {
  pointer-events: none;
}
.form-checkbox--button:before, .form-checkbox--button:after {
  font-size: 1.1111111111em;
  line-height: 1;
  display: block;
  content: "";
  width: 1em;
  height: 1em;
  position: absolute;
  right: 1.2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.form-checkbox--button:before {
  background-color: #fff;
}
.form-checkbox--button:after {
  font-family: "icon";
  content: "\e901";
  color: #fff;
  -webkit-transform: translateY(-50%) scale(0.8);
          transform: translateY(-50%) scale(0.8);
  visibility: hidden;
}
.form-checkbox--button:has(input:checked) {
  background-color: #C6162C;
  -webkit-box-shadow: 0 -0.3rem 0 #8d0000 inset;
          box-shadow: 0 -0.3rem 0 #8d0000 inset;
}
.form-checkbox--button:has(input:checked):before {
  background-color: #8d0000;
}
.form-checkbox--button:has(input:checked):after {
  visibility: visible;
}
.form-checkbox--button:has(input:disabled) {
  background-color: #999;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.form-checkbox--button:has(input:disabled) input {
  cursor: default;
  pointer-events: none;
}
.form-checkbox--button:has(input:disabled):has(input:checked):before {
  background-color: #666;
}
.form-checkbox--button:has(input:focus-visible):before {
  outline: solid 0.2rem #5F76B9;
}
@media screen and (max-width: 768px) {
  .form-checkbox--button {
    font-size: 1.3rem;
    padding: 0.8rem 3.5rem 0.8rem 0.8rem;
  }
  .form-checkbox--button:before, .form-checkbox--button:after {
    font-size: 1.4285714286em;
    right: 0.8rem;
  }
}

/* ==================================================
* radio
================================================== */
/* radio
================================================== */
.form-radio {
  font-size: 1.6rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 3.6rem;
  position: relative;
}
.form-radio input[type=checkbox],
.form-radio input[type=radio] {
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.form-radio input[type=checkbox]:disabled,
.form-radio input[type=radio]:disabled {
  pointer-events: none;
}
.form-radio:before, .form-radio:after {
  font-size: 1.25em;
  line-height: 1;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  content: "";
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: absolute;
  top: 0.1em;
  left: 0;
}
.form-radio:before {
  background-color: #fff;
  border: solid 1px #999;
}
.form-radio:after {
  background-color: #fff;
  -webkit-transform: scale(0.4);
          transform: scale(0.4);
  visibility: hidden;
}
.form-radio:has(input:checked):before {
  background-color: #000;
  border-color: #000;
}
.form-radio:has(input:checked):after {
  visibility: visible;
}
.form-radio a {
  position: relative;
  z-index: 1;
}
.form-radio:has(input:disabled) {
  opacity: 0.5;
}
.form-radio:has(input:focus-visible):before {
  outline: solid 0.2rem #5F76B9;
}
@media screen and (max-width: 768px) {
  .form-radio {
    font-size: 1.4rem;
    padding-left: 2.8rem;
  }
}

/* ==================================================
* select
================================================== */
.form-select {
  font-size: 1.6rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.form-select:after {
  font-family: "icon";
  font-size: 0.8125em;
  color: #000;
  content: "\e905";
  display: block;
  position: absolute;
  top: 50%;
  right: 1.6rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
}
.form-select select {
  line-height: 1.5;
  background-color: #F0F0F4;
  text-overflow: ellipsis;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 28.4rem;
  width: 100%;
  padding: 0.8rem 4.5rem 0.8rem 1em;
  border: none;
}
.form-select select:focus {
  border-color: #5F76B9;
}
.form-select select.-error {
  background-color: #FDE8EA;
}
.form-select select:disabled {
  pointer-events: none;
}
.form-select option {
  background-color: #fff;
}
[data-whatinput=keyboard] .form-select select:focus,
[data-whatinput=keyboard] .form-select select:focus-visible {
  outline: solid 0.2rem #5F76B9;
}
.form-select.-width-100 {
  width: 100%;
}
.form-select.-width-100 select {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .form-select {
    font-size: 1.4rem;
    width: 100%;
  }
  .form-select select {
    min-width: 0;
  }
}

/* ==================================================
* forumHeader
================================================== */
.forumHeader {
  padding: 2rem 2rem 1.6rem;
}

.forumHeader__logo {
  width: 6.4rem;
}
.forumHeader__logo img {
  width: 100%;
}

.forumHeader__logo--yoko {
  text-align: center;
  margin-top: 1rem;
}
.forumHeader__logo--yoko img {
  width: 65.2rem;
}

.forumHeader__title {
  font-size: 3.6rem;
  letter-spacing: 0.08em;
  text-align: center;
}
.forumHeader__title:nth-child(n+2) {
  margin-top: 1.4rem;
}
.forumHeader__logo + .forumHeader__title {
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  .forumHeader {
    padding: 2rem 2rem 0.8rem;
  }
  .forumHeader__logo {
    width: 4.8rem;
  }
  .forumHeader__logo--yoko {
    margin-top: 4.2rem;
  }
  .forumHeader__logo--yoko img {
    width: 32.4rem;
  }
  .forumHeader__title {
    font-size: 2.8rem;
    margin-top: 0.8rem;
  }
}
/* ==================================================
* forumGHeader
================================================== */
.forumGHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 9rem;
  padding: 0 2rem;
  border-top: solid 1px #EBEBEB;
  z-index: var(--z-header);
  position: sticky;
  top: 0;
}
.forumGHeader .forumGHeader__logo {
  width: 6.4rem;
}
.forumGHeader .forumGHeader__logo + * {
  margin-left: auto;
}
.is-menu-fixed .forumGHeader {
  background-color: #fff;
  -webkit-box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05);
          box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05);
}
@media screen and (min-width: 768.02px) {
  .forumGHeader {
    -webkit-column-gap: 0.8rem;
       -moz-column-gap: 0.8rem;
            column-gap: 0.8rem;
  }
  .forumGHeader .forumGHeader__mypage .button--round,
  .forumGHeader .forumGHeader__application .button--round {
    font-size: 1.6rem;
    min-height: 4.4rem;
  }
  .forumGHeader .forumGHeader__mypage {
    width: 14rem;
  }
  .forumGHeader .forumGHeader__application {
    width: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .forumGHeader {
    height: 5rem;
    -webkit-column-gap: 0.4rem;
       -moz-column-gap: 0.4rem;
            column-gap: 0.4rem;
  }
  .forumGHeader > *:nth-child(3) {
    margin-right: 3rem;
  }
  .forumGHeader .forumGHeader__logo {
    width: 5.2rem;
  }
  .forumGHeader .forumGHeader__mypage .button--round,
  .forumGHeader .forumGHeader__application .button--round {
    font-size: 1.2rem;
    min-height: 3.2rem;
  }
}

/* ==================================================
* forumSubHeader
================================================== */
.forumSubHeader {
  padding: 2rem 2rem 0;
  border-top: solid 1px #ebebeb;
}
.forumSubHeader .forumSubHeader__logo {
  width: 6.4rem;
}
.forumSubHeader .forumSubHeader__title {
  font-size: 3.6rem;
  letter-spacing: 0;
  text-align: center;
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .forumSubHeader .forumSubHeader__logo {
    width: 4.8rem;
  }
  .forumSubHeader .forumSubHeader__title {
    font-size: 2.8rem;
  }
  .forumSubHeader .forumSubHeader__eventTitle {
    font-size: 2.4rem;
  }
}

/* ==================================================
* forumLowerHeader
================================================== */
.forumLowerHeader {
  text-align: center;
}
.forumLowerHeader .forumLowerHeader__inner {
  display: grid;
  row-gap: 3rem;
}
.forumLowerHeader .forumLowerHeader__title {
  font-size: 3.6rem;
  letter-spacing: 0;
}
.forumLowerHeader .forumLowerHeader__summary {
  font-size: 2rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .forumLowerHeader .forumLowerHeader__inner {
    row-gap: 2rem;
  }
  .forumLowerHeader .forumLowerHeader__title {
    font-size: 2.8rem;
  }
  .forumLowerHeader .forumLowerHeader__title .min {
    font-size: 0.9em;
  }
  .forumLowerHeader .forumLowerHeader__summary {
    font-size: 1.6rem;
    text-align: left;
  }
}

/* ==================================================
* map
================================================== */
.map {
  background-color: #fff;
  -webkit-box-shadow: 0.8rem 0.8rem 3rem rgba(0, 0, 0, 0.25);
          box-shadow: 0.8rem 0.8rem 3rem rgba(0, 0, 0, 0.25);
  max-width: 102.4rem;
  margin-inline: auto;
  padding: 4rem;
  position: relative;
}

.map__wrapper,
.map__zoom {
  opacity: 0;
}
.is-loaded .map__wrapper,
.is-loaded .map__zoom {
  opacity: 1;
  -webkit-transition: opacity 0.1s ease 0.1s;
  transition: opacity 0.1s ease 0.1s;
}

.map__zoom {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
}

.map__zoomButton {
  background-color: #000;
  display: block grid;
  place-items: center;
  width: 32px;
  height: 32px;
}
@media (any-hover: hover) {
  .map__zoomButton:hover {
    background-color: #C6162C;
  }
}

.map__checkbox {
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.map__checkbox:not(:checked) ~ .out {
  display: none;
}
.map__checkbox:checked ~ .in {
  display: none;
}

.map__content {
  position: relative;
}

.map__image img {
  width: 100%;
}

.map__booth {
  --_map-w: 1888;
  --_map-h: 1270;
}
.map__booth li {
  background-color: #fff;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  border: solid 1px #fff;
  position: absolute;
}
.map__booth li img {
  display: block;
  width: 100%;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.map__booth li a:focus-visible img {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .map__booth li a:hover img {
    opacity: 0.8;
  }
}
.map__booth li.is-active .off {
  display: none;
}
.map__booth li:not(.is-active) {
  pointer-events: none;
}
.map__booth li:not(.is-active) .on {
  display: none;
}
.map__booth li.iv-02, .map__booth li.iv-03, .map__booth li.iv-04, .map__booth li.iv-07, .map__booth li.iv-08, .map__booth li.iv-09, .map__booth li.iv-10, .map__booth li.iv-12, .map__booth li.iv-13, .map__booth li.iv-14, .map__booth li.iv-15, .map__booth li.iv-16, .map__booth li.iv-17, .map__booth li.iv-18, .map__booth li.ex-02, .map__booth li.ex-03, .map__booth li.ex-04, .map__booth li.ex-06, .map__booth li.ex-07, .map__booth li.pf-01, .map__booth li.pf-02, .map__booth li.pf-03, .map__booth li.pf-04, .map__booth li.pf-05, .map__booth li.pf-06 {
  width: calc(82 / var(--_map-w) * 100%);
}
.map__booth li.iv-01 {
  width: calc(206 / var(--_map-w) * 100%);
}
.map__booth li.iv-05 {
  width: calc(250 / var(--_map-w) * 100%);
}
.map__booth li.iv-06 {
  width: calc(166 / var(--_map-w) * 100%);
}
.map__booth li.iv-11 {
  width: calc(168 / var(--_map-w) * 100%);
}
.map__booth li.iv-19 {
  width: calc(124 / var(--_map-w) * 100%);
}
.map__booth li.iv-20 {
  width: calc(620 / var(--_map-w) * 100%);
}
.map__booth li.iv-21 {
  width: calc(168 / var(--_map-w) * 100%);
}
.map__booth li.ex-01 {
  width: calc(168 / var(--_map-w) * 100%);
}
.map__booth li.ex-05 {
  width: calc(160 / var(--_map-w) * 100%);
}
.map__booth li.pf-07 {
  width: calc(136 / var(--_map-w) * 100%);
}
.map__booth li.pf-08 {
  width: calc(174 / var(--_map-w) * 100%);
}
.map__booth li.pf-09 {
  width: calc(290 / var(--_map-w) * 100%);
}
.map__booth li.iv-01, .map__booth li.iv-02, .map__booth li.iv-03, .map__booth li.iv-04, .map__booth li.iv-06 {
  top: calc(444 / var(--_map-h) * 100%);
}
.map__booth li.iv-05 {
  top: calc(542 / var(--_map-h) * 100%);
}
.map__booth li.iv-07, .map__booth li.iv-08, .map__booth li.iv-09, .map__booth li.iv-10, .map__booth li.iv-11, .map__booth li.iv-12, .map__booth li.iv-13, .map__booth li.ex-01, .map__booth li.ex-02, .map__booth li.ex-03, .map__booth li.ex-04, .map__booth li.ex-06, .map__booth li.ex-07 {
  top: calc(832 / var(--_map-h) * 100%);
}
.map__booth li.iv-20, .map__booth li.iv-21, .map__booth li.pf-04, .map__booth li.pf-05, .map__booth li.pf-06, .map__booth li.pf-07, .map__booth li.pf-08 {
  top: calc(26 / var(--_map-h) * 100%);
}
.map__booth li.pf-09 {
  top: calc(1034 / var(--_map-h) * 100%);
}
.map__booth li.iv-14, .map__booth li.iv-15 {
  top: calc(798 / var(--_map-h) * 100%);
}
.map__booth li.iv-16 {
  top: calc(700 / var(--_map-h) * 100%);
}
.map__booth li.iv-17 {
  top: calc(602 / var(--_map-h) * 100%);
}
.map__booth li.iv-18 {
  top: calc(504 / var(--_map-h) * 100%);
}
.map__booth li.iv-19 {
  top: calc(358 / var(--_map-h) * 100%);
}
.map__booth li.pf-01 {
  top: calc(320 / var(--_map-h) * 100%);
}
.map__booth li.pf-02 {
  top: calc(222 / var(--_map-h) * 100%);
}
.map__booth li.pf-03 {
  top: calc(124 / var(--_map-h) * 100%);
}
.map__booth li.ex-05 {
  top: calc(760 / var(--_map-h) * 100%);
}
.map__booth li.iv-01 {
  left: calc(724 / var(--_map-w) * 100%);
}
.map__booth li.iv-02 {
  left: calc(641 / var(--_map-w) * 100%);
}
.map__booth li.iv-03 {
  left: calc(557 / var(--_map-w) * 100%);
}
.map__booth li.iv-04, .map__booth li.iv-05 {
  left: calc(473 / var(--_map-w) * 100%);
}
.map__booth li.iv-06 {
  left: calc(306 / var(--_map-w) * 100%);
}
.map__booth li.iv-07 {
  left: calc(895 / var(--_map-w) * 100%);
}
.map__booth li.iv-08 {
  left: calc(811 / var(--_map-w) * 100%);
}
.map__booth li.iv-09 {
  left: calc(727 / var(--_map-w) * 100%);
}
.map__booth li.iv-10 {
  left: calc(643 / var(--_map-w) * 100%);
}
.map__booth li.iv-11 {
  left: calc(473 / var(--_map-w) * 100%);
}
.map__booth li.iv-12 {
  left: calc(389 / var(--_map-w) * 100%);
}
.map__booth li.iv-13 {
  left: calc(306 / var(--_map-w) * 100%);
}
.map__booth li.iv-14 {
  left: calc(193 / var(--_map-w) * 100%);
}
.map__booth li.iv-15 {
  left: calc(109 / var(--_map-w) * 100%);
}
.map__booth li.iv-16, .map__booth li.iv-17, .map__booth li.iv-18, .map__booth li.iv-19, .map__booth li.iv-20 {
  left: calc(25 / var(--_map-w) * 100%);
}
.map__booth li.iv-21 {
  left: calc(811 / var(--_map-w) * 100%);
}
.map__booth li.ex-01 {
  left: calc(1603 / var(--_map-w) * 100%);
}
.map__booth li.ex-02 {
  left: calc(1519 / var(--_map-w) * 100%);
}
.map__booth li.ex-03 {
  left: calc(1435 / var(--_map-w) * 100%);
}
.map__booth li.ex-04 {
  left: calc(1351 / var(--_map-w) * 100%);
}
.map__booth li.ex-05 {
  left: calc(1181 / var(--_map-w) * 100%);
}
.map__booth li.ex-06 {
  left: calc(1089 / var(--_map-w) * 100%);
}
.map__booth li.ex-07 {
  left: calc(1005 / var(--_map-w) * 100%);
}
.map__booth li.pf-01, .map__booth li.pf-02, .map__booth li.pf-03 {
  left: calc(1583 / var(--_map-w) * 100%);
}
.map__booth li.pf-04 {
  left: calc(1499 / var(--_map-w) * 100%);
}
.map__booth li.pf-05 {
  left: calc(1415 / var(--_map-w) * 100%);
}
.map__booth li.pf-06 {
  left: calc(1331 / var(--_map-w) * 100%);
}
.map__booth li.pf-07 {
  left: calc(1193 / var(--_map-w) * 100%);
}
.map__booth li.pf-08 {
  left: calc(1017 / var(--_map-w) * 100%);
}
.map__booth li.pf-09 {
  left: calc(1547 / var(--_map-w) * 100%);
}

.map__notes {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0;
  position: absolute;
  left: 0;
  bottom: 11rem;
}
.map__notes br {
  display: none;
}

@media screen and (min-width: 600.02px) {
  .map__zoom {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .map {
    -webkit-box-shadow: 0.4rem 0.4rem 1.6rem rgba(0, 0, 0, 0.25);
            box-shadow: 0.4rem 0.4rem 1.6rem rgba(0, 0, 0, 0.25);
    padding: 1.2rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  .map__wrapper {
    overflow-x: auto;
  }
  .map__content {
    width: 100%;
    -webkit-transition: width 0.3s ease-in-out;
    transition: width 0.3s ease-in-out;
    will-change: width, height;
  }
  body:has(.map__checkbox:checked) .map__content {
    width: 200%;
  }
  .map__notes {
    font-size: 1.05rem;
    bottom: 1.8264840183%;
    -webkit-transition: font-size 0.3s ease-in-out;
    transition: font-size 0.3s ease-in-out;
  }
  .map__notes br {
    display: inline;
  }
  :has(.map__checkbox:checked) .map__notes {
    font-size: 2.2rem;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .map__booth li {
    border-width: 0.5px;
  }
}
/* ==================================================
* modalTemplate
================================================== */
.modalTemplate {
  display: none;
}

/* ==================================================
* Modal Styles
================================================== */
.modaal-overlay {
  background-color: rgba(0, 0, 0, 0.2) !important;
  -webkit-backdrop-filter: blur(0.8rem);
          backdrop-filter: blur(0.8rem);
}

.modaal-overlay {
  background-color: rgba(0, 0, 0, 0.2) !important;
  -webkit-backdrop-filter: blur(0.8rem);
          backdrop-filter: blur(0.8rem);
}

.modaal-content-container {
  max-height: calc(100dvh - 11rem);
  max-height: 67.8rem;
  padding: 0;
  overflow: hidden;
  overflow-y: auto;
  overscroll-behavior-block: contain;
  border-radius: 0.8rem;
}

.modaal-container {
  -webkit-box-shadow: 0.8rem 0.8rem 3rem rgba(0, 0, 0, 0.25);
          box-shadow: 0.8rem 0.8rem 3rem rgba(0, 0, 0, 0.25);
  max-width: 86.4rem;
  border-radius: 0.8rem;
}

.modaal-inner-wrapper {
  padding: 5rem 3rem;
}

@media screen and (max-width: 768px) {
  .modaal-content-container {
    max-height: 45rem;
  }
}
/* close
================================================== */
.modaal-close {
  font-size: 6.4rem;
  background-color: #fff !important;
  -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
  -webkit-transition: none;
  transition: none;
}
.modaal-close:before, .modaal-close:after {
  background-color: #C6162C;
  width: 0.3125em;
  height: 2px;
  border-radius: 0;
  top: 50%;
  left: 50%;
  -webkit-transition: none;
  transition: none;
}
.modaal-close:before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.modaal-close:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.modaal-close:focus-visible {
  background-color: #C6162C !important;
}
.modaal-close:focus-visible:before, .modaal-close:focus-visible:after {
  background-color: #fff;
}
@media (any-hover: hover) {
  .modaal-close:hover {
    background-color: #C6162C !important;
  }
  .modaal-close:hover:before, .modaal-close:hover:after {
    background-color: #fff;
  }
}
@media screen and (max-width: 768px) {
  .modaal-close {
    font-size: 4rem;
  }
  .modaal-close:before, .modaal-close:after {
    width: 0.35em;
  }
}

/* modaal-wrapper
================================================== */
:where(.modaal-wrapper) * {
  color: inherit;
  position: unset;
}
:where(.modaal-wrapper) *:is(h1, h2, h3, h4, h5, h6, header, footer) {
  all: unset;
  display: block;
}
:where(.modaal-wrapper) *:is(nav) {
  width: unset;
  z-index: unset;
  position: unset;
}
:where(.modaal-wrapper) p {
  line-height: inherit;
}
:where(.modaal-wrapper) li {
  line-height: inherit;
}

/* ==================================================
* modalContent
================================================== */
.modalContent {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  background-color: #fff;
  padding: 0 3rem 4rem;
  border-radius: 0.8rem;
  overflow: clip;
}
body.is-en .modalContent:has(.lang-en) .jpn {
  display: none !important;
}
body:not(.is-en) .modalContent:has(.lang-en) .eng {
  display: none !important;
}
.modalContent:not(:has(.lang-en)) .eng {
  display: none !important;
}

.modalContent__header {
  font-size: 1.4rem;
  color: #fff;
  background-color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  margin-inline: -3rem;
  padding: 1rem 1.6rem;
}

.modalContent__body {
  margin-top: 3rem;
  position: relative;
}
.modalContent__body + .modalContent__body {
  padding-top: 3rem;
  border-top: solid 1px #ccc;
}

.modalContent__footer {
  text-align: center;
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .modalContent {
    padding: 0 1.5rem 3rem;
  }
  .modalContent__header {
    margin-inline: -1.5rem;
  }
  .modalContent__body {
    margin-top: 1.5rem;
  }
  .modalContent__body + .modalContent__body {
    margin-top: 3rem;
  }
  .modalContent__footer {
    margin-top: 3rem;
  }
}
/* ==================================================
* modaalSession
================================================== */
.modaalSession .modalSession__langSwicher {
  margin-top: -1.4rem;
}
.modaalSession .modalSession__info {
  font-size: 1.6rem;
  display: grid;
  grid-template-columns: auto auto auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.modaalSession .modalSession__info:nth-child(n+2) {
  margin-top: 1.5rem;
}
.modaalSession .modalContent__live {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 1.1rem;
  color: #000;
  background-color: #fff;
  display: inline-grid;
  grid-template-columns: auto 1fr;
  gap: 0.3rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 0.4rem;
  padding: 0.2rem 0.6rem;
  border: solid 1px #999;
  border-radius: 0.3rem;
}
.modaalSession .modalContent__live::before {
  font-size: 0.6em;
  line-height: 1lh;
  color: #C6162C;
  content: "●";
}
.modaalSession .modalSession__day {
  font-family: "Barlow", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  line-height: 1.2;
  color: #fff;
  background-color: #000;
  margin-right: 1.2rem;
  padding: 0.4rem 0.8rem;
  border-radius: 0.4rem;
}
.modaalSession .modalSession__date .sessionCard__week .lang-en {
  margin-inline: 0.25em;
}
.modaalSession .modalSession__time {
  margin-right: 1.6rem;
}
.modaalSession .modalSession__langSwicher {
  margin-left: auto;
}
.modaalSession .modalSession__logo {
  width: 7.4rem;
  margin-top: 1.6rem;
  margin-bottom: 0.8rem;
}
.modaalSession .modalSession__logo img {
  width: 100%;
}
.modaalSession .modalSession__title {
  font-size: 1.8rem;
  margin-top: 1rem;
}
.modaalSession .modalSession__subtitle {
  font-size: 1.5rem;
}
.modaalSession .modalSession__subhead {
  font-size: 1.8rem;
  margin-top: 4rem;
}
.modaalSession .modalSession__video {
  max-width: 61.4rem;
  margin: 4rem auto 0;
}
.modaalSession .modalSession__video .modalSession__videoInner {
  padding-top: 56.25%;
  position: relative;
}
.modaalSession .modalSession__video iframe {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.modaalSession .modalSession__video + .modalSession__summary {
  margin-top: 4rem;
}
.modaalSession .modalSession__summary {
  font-size: 1.4rem;
  margin-top: 0.8rem;
}
.modaalSession .modalSession__tags {
  margin-top: 1.6rem;
}
.modaalSession .modalSession__speakers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  margin-top: 1.2rem;
}
.modaalSession .sessionSpeakers__item {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
  row-gap: 1.6rem;
  -ms-flex-line-pack: start;
      align-content: start;
}
.modaalSession .sessionSpeakers__item > * {
  grid-column: 2/3;
  grid-row: span 1;
}
.modaalSession .sessionSpeakers__thumb {
  grid-column: 1/2;
  grid-row: 1/-1;
  width: 20rem;
}
.modaalSession .sessionSpeakers__thumb img {
  aspect-ratio: 1;
  width: 100%;
  height: auto;
}
.modaalSession .sessionSpeakers__content {
  line-height: 1.5;
}
.modaalSession .sessionSpeakers__name {
  font-size: 1.8rem;
}
.modaalSession .sessionSpeakers__company:has(wbr),
.modaalSession .sessionSpeakers__department:has(wbr),
.modaalSession .sessionSpeakers__position:has(wbr) {
  word-break: keep-all;
}
.modaalSession .sessionSpeakers__company {
  font-size: 1.4rem;
  font-weight: 400;
  margin-top: 1.2rem;
}
.modaalSession .sessionSpeakers__department,
.modaalSession .sessionSpeakers__position {
  font-size: 1.4rem;
  font-weight: 400;
  margin-top: 0.4rem;
}
.modaalSession .sessionSpeakers__profile {
  font-size: 1.4rem;
  font-weight: 400;
}
.modaalSession .modalSession__video {
  aspect-ratio: 16/9;
  margin-top: 4rem;
  position: relative;
}
.modaalSession .modalSession__video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .modaalSession .modalSession__langSwicher {
    margin-top: -0.3rem;
  }
  .modaalSession .modalSession__info {
    grid-template-columns: auto auto 1fr;
  }
  .modaalSession .modalSession__time {
    margin-right: 0;
  }
  .modaalSession .modalSession__venue {
    grid-column: 2/span 4;
  }
  .modaalSession .modalSession__logo {
    width: 6.2rem;
    margin-top: 0.8rem;
    margin-bottom: 0.6rem;
  }
  .modaalSession .modalSession__title {
    font-size: 1.6rem;
    margin-top: 0.8rem;
  }
  .modaalSession .modalSession__subtitle {
    font-size: 1.4rem;
  }
  .modaalSession .modalSession__video {
    margin-top: 2.4rem;
  }
  .modaalSession .modalSession__video + .modalSession__summary {
    margin-top: 2.4rem;
  }
  .modaalSession .modalSession__subhead {
    font-size: 1.5rem;
    margin-top: 3rem;
  }
  .modaalSession .sessionSpeakers__item {
    gap: 1.2rem;
  }
  .modaalSession .sessionSpeakers__thumb {
    width: 10rem;
    grid-row: 1/2;
  }
  .modaalSession .sessionSpeakers__name {
    font-size: 1.5rem;
  }
  .modaalSession .sessionSpeakers__company,
  .modaalSession .sessionSpeakers__department,
  .modaalSession .sessionSpeakers__position {
    font-size: 1.2rem;
  }
  .modaalSession .sessionSpeakers__company {
    margin-top: 0.4rem;
  }
  .modaalSession .sessionSpeakers__profile {
    grid-column: 1/3;
    grid-row: 2/3;
  }
  .modaalSession .modalSession__video {
    margin-top: 2.4rem;
  }
}

/* ==================================================
* modaalExhibition
================================================== */
.modaalExhibition .modalExhibition__hero {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3rem;
}
.modaalExhibition .modalExhibition__thumb {
  width: 32rem;
}
.modaalExhibition .modalExhibition__thumb img {
  aspect-ratio: 16/9;
  outline: solid 1px #ccc;
}
.modaalExhibition .modalExhibition__title {
  font-size: 2.4rem;
  line-height: 1.6;
}
.modaalExhibition .modalExhibition__subtitle {
  font-size: 1.8rem;
  display: none;
  margin-top: 3rem;
}
.modaalExhibition:has(.modalExhibition__serviceLinks[data-serviceLinks]) .serviceLinksTitle {
  display: block;
}
.modaalExhibition:has(.modalExhibition__serviceLinks[data-relatedLinks]) .relatedLinksTitle {
  display: block;
}
.modaalExhibition .modalExhibition__keywords {
  font-size: 1.4rem;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 0.8rem;
}
.modaalExhibition .modalExhibition__keywords li:not(:last-child):after {
  content: "/";
  margin-inline: 0.25em;
}
.modaalExhibition .modalExhibition__summary {
  font-size: 1.4rem;
  font-weight: 400;
  margin-top: 2rem;
}
.modaalExhibition .modalExhibition__links {
  font-size: 1.4rem;
  margin-top: 1.6rem;
}
.modaalExhibition .modalExhibition__tags {
  margin-top: 2rem;
}
.modaalExhibition .modalExhibition__notes {
  font-size: 1.4rem;
  font-weight: 400;
  margin-top: 1.6rem;
}
.modaalExhibition .modalExhibition__serviceLinks {
  font-size: 1.4rem;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 0.4rem;
  margin-top: 0.8rem;
}
.modaalExhibition .modalExhibition__serviceLink:not(:last-child):after {
  content: "/";
  margin-inline: 0.5em;
}
.modaalExhibition .modalExhibition__serviceLink .notes {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  display: inline-block;
  vertical-align: baseline;
}
.modaalExhibition .icon-blank {
  font-size: 1cap;
  margin-left: 0.5em;
  -webkit-transform: translateY(0.1em);
          transform: translateY(0.1em);
}
.modaalExhibition .modalExhibition__video {
  max-inline-size: 64.2rem;
  margin: 4rem auto 0;
  border: solid 1px #ccc;
}
.modaalExhibition .modalExhibition__video video {
  inline-size: 100%;
  block-size: auto;
}
.modaalExhibition .modalExhibition__video + * {
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .modaalExhibition .modalExhibition__hero {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  .modaalExhibition .modalExhibition__thumb {
    width: 100%;
  }
  .modaalExhibition .modalExhibition__title {
    font-size: 2rem;
  }
  .modaalExhibition .modalExhibition__subtitle {
    font-size: 1.6rem;
    margin-top: 2.4rem;
  }
  .modaalExhibition .modalExhibition__keywords {
    margin-top: 1.2rem;
  }
  .modaalExhibition .modalExhibition__video {
    margin-top: 2.4rem;
  }
  .modaalExhibition .modalExhibition__video + * {
    margin-top: 2.4rem;
  }
}

/* ==================================================
* modaalNews
================================================== */
.modaalNews .modalContent__body {
  display: block grid;
  grid-template-columns: 1fr;
  row-gap: 1.6rem;
}
.modaalNews .modalNews__date {
  font-size: 1.6rem;
}
.modaalNews .modalNews__title {
  font-size: 1.8rem;
  margin-top: -0.8rem;
}
.modaalNews .modalNews__content {
  display: block grid;
  grid-template-columns: 1fr;
  row-gap: 1rem;
}
.modaalNews .modalNews__text {
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .modaalNews .modalNews__title {
    font-size: 1.6rem;
  }
}

/* ==================================================
* modaalCarbon
================================================== */
.modaalCarbon .modalCarbon__hero {
  display: grid;
  grid-template-columns: 32rem 1fr;
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
}
.modaalCarbon .modalCarbon__title {
  font-size: 2rem;
  line-height: 1.8;
}
.modaalCarbon .modalCarbon__thumb img {
  width: 100%;
}
.modaalCarbon .modalCarbon__summary {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-top: 2rem;
}
.modaalCarbon .modalCarbon__subtitle {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-top: 3rem;
}
.modaalCarbon .modalCarbon__serviceLinks {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-top: 0.8rem;
}
.modaalCarbon .icon-blank {
  font-size: 1cap;
  margin-left: 0.5em;
}

@media screen and (max-width: 768px) {
  .modaalCarbon .modalCarbon__hero {
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }
  .modaalCarbon .modalCarbon__title {
    font-size: 1.6rem;
  }
  .modaalCarbon .modalCarbon__summary {
    margin-top: 0.8rem;
  }
  .modaalCarbon .modalCarbon__subtitle {
    font-size: 1.6rem;
  }
}
/* ==================================================
*   Display：基本のスタイル
================================================== */
/* 基本のスタイル：デフォルトでは非表示 */
[class*=display-] {
  display: none;
}

.display-block {
  display: block;
}

.display-inline-block {
  display: inline-block;
}

.display-none {
  display: none;
}

.display-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.display-grid {
  display: grid;
}

.display-inline {
  display: inline;
}

.display-table {
  display: table;
}

.display-table-row {
  display: table-row;
}

.display-table-cell {
  display: table-cell;
}

/* ==================================================
*   Display：範囲指定
================================================== */
/* 超小型のみ
================================================== */
@media screen and (max-width: 600px) {
  .display-xs-block {
    display: block;
  }
  .display-xs-inline-block {
    display: inline-block;
  }
  .display-xs-none {
    display: none;
  }
  .display-xs-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-xs-grid {
    display: grid;
  }
  .display-xs-inline {
    display: inline;
  }
  .display-xs-table {
    display: table;
  }
  .display-xs-table-row {
    display: table-row;
  }
  .display-xs-table-cell {
    display: table-cell;
  }
}
/* スマホ縦のみ
================================================== */
@media screen and (min-width: 600.02px) and (max-width: 768px) {
  .display-sm-block {
    display: block;
  }
  .display-sm-inline-block {
    display: inline-block;
  }
  .display-sm-none {
    display: none;
  }
  .display-sm-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-sm-grid {
    display: grid;
  }
  .display-sm-inline {
    display: inline;
  }
  .display-sm-table {
    display: table;
  }
  .display-sm-table-row {
    display: table-row;
  }
  .display-sm-table-cell {
    display: table-cell;
  }
}
/* スマホ横のみ
================================================== */
@media screen and (min-width: 768.02px) and (max-width: 960px) {
  .display-md-block {
    display: block;
  }
  .display-md-inline-block {
    display: inline-block;
  }
  .display-md-none {
    display: none;
  }
  .display-md-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-md-grid {
    display: grid;
  }
  .display-md-inline {
    display: inline;
  }
  .display-md-table {
    display: table;
  }
  .display-md-table-row {
    display: table-row;
  }
  .display-md-table-cell {
    display: table-cell;
  }
}
/* タブレットのみ
================================================== */
@media screen and (min-width: 960.02px) and (max-width: 1280px) {
  .display-lg-block {
    display: block;
  }
  .display-lg-inline-block {
    display: inline-block;
  }
  .display-lg-none {
    display: none;
  }
  .display-lg-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-lg-grid {
    display: grid;
  }
  .display-lg-inline {
    display: inline;
  }
  .display-lg-table {
    display: table;
  }
  .display-lg-table-row {
    display: table-row;
  }
  .display-lg-table-cell {
    display: table-cell;
  }
}
/* デスクトップのみ
================================================== */
@media screen and (min-width: 1280.02px) and (max-width: 1400px) {
  .display-xl-block {
    display: block;
  }
  .display-xl-inline-block {
    display: inline-block;
  }
  .display-xl-none {
    display: none;
  }
  .display-xl-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-xl-grid {
    display: grid;
  }
  .display-xl-inline {
    display: inline;
  }
  .display-xl-table {
    display: table;
  }
  .display-xl-table-row {
    display: table-row;
  }
  .display-xl-table-cell {
    display: table-cell;
  }
}
/* 大型デスクトップのみ
================================================== */
@media screen and (min-width: 1400.02px) and (max-width: 1920px) {
  .display-xxl-block {
    display: block;
  }
  .display-xxl-inline-block {
    display: inline-block;
  }
  .display-xxl-none {
    display: none;
  }
  .display-xxl-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-xxl-grid {
    display: grid;
  }
  .display-xxl-inline {
    display: inline;
  }
  .display-xxl-table {
    display: table;
  }
  .display-xxl-table-row {
    display: table-row;
  }
  .display-xxl-table-cell {
    display: table-cell;
  }
}
/* 大型デスクトップ（フルHD以上）のみ
================================================== */
@media screen and (min-width: 1920.02px) {
  .display-xxl-block {
    display: block;
  }
  .display-xxl-inline-block {
    display: inline-block;
  }
  .display-xxl-none {
    display: none;
  }
  .display-xxl-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-xxl-grid {
    display: grid;
  }
  .display-xxl-inline {
    display: inline;
  }
  .display-xxl-table {
    display: table;
  }
  .display-xxl-table-row {
    display: table-row;
  }
  .display-xxl-table-cell {
    display: table-cell;
  }
}
/* ==================================================
*   Display：特定の範囲以下の時だけ表示
================================================== */
/* 超小型以下のみ適用
================================================== */
@media screen and (max-width: 390px) {
  .display-xs-below-block {
    display: block;
  }
  .display-xs-below-inline-block {
    display: inline-block;
  }
  .display-xs-below-none {
    display: none;
  }
  .display-xs-below-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-xs-below-grid {
    display: grid;
  }
  .display-xs-below-inline {
    display: inline;
  }
  .display-xs-below-table {
    display: table;
  }
  .display-xs-below-table-row {
    display: table-row;
  }
  .display-xs-below-table-cell {
    display: table-cell;
  }
}
/* スマホ縦以下のみ適用
================================================== */
@media screen and (max-width: 600px) {
  .display-sm-below-block {
    display: block;
  }
  .display-sm-below-inline-block {
    display: inline-block;
  }
  .display-sm-below-none {
    display: none;
  }
  .display-sm-below-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-sm-below-grid {
    display: grid;
  }
  .display-sm-below-inline {
    display: inline;
  }
  .display-sm-below-table {
    display: table;
  }
  .display-sm-below-table-row {
    display: table-row;
  }
  .display-sm-below-table-cell {
    display: table-cell;
  }
}
/* スマホ横以下のみ適用
================================================== */
@media screen and (max-width: 768px) {
  .display-md-below-block {
    display: block;
  }
  .display-md-below-inline-block {
    display: inline-block;
  }
  .display-md-below-none {
    display: none;
  }
  .display-md-below-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-md-below-grid {
    display: grid;
  }
  .display-md-below-inline {
    display: inline;
  }
  .display-md-below-table {
    display: table;
  }
  .display-md-below-table-row {
    display: table-row;
  }
  .display-md-below-table-cell {
    display: table-cell;
  }
}
/* タブレット以下のみ適用
================================================== */
@media screen and (max-width: 960px) {
  .display-lg-below-block {
    display: block;
  }
  .display-lg-below-inline-block {
    display: inline-block;
  }
  .display-lg-below-none {
    display: none;
  }
  .display-lg-below-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-lg-below-grid {
    display: grid;
  }
  .display-lg-below-inline {
    display: inline;
  }
  .display-lg-below-table {
    display: table;
  }
  .display-lg-below-table-row {
    display: table-row;
  }
  .display-lg-below-table-cell {
    display: table-cell;
  }
}
/* デスクトップ以下のみ適用
================================================== */
@media screen and (max-width: 1280px) {
  .display-xlg-below-block {
    display: block;
  }
  .display-xlg-below-inline-block {
    display: inline-block;
  }
  .display-xlg-below-none {
    display: none;
  }
  .display-xlg-below-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-xlg-below-grid {
    display: grid;
  }
  .display-xlg-below-inline {
    display: inline;
  }
  .display-xlg-below-table {
    display: table;
  }
  .display-xlg-below-table-row {
    display: table-row;
  }
  .display-xlg-below-table-cell {
    display: table-cell;
  }
}
/* 大型デスクトップ以下のみ適用
================================================== */
@media screen and (max-width: 1400px) {
  .display-xxlg-below-block {
    display: block;
  }
  .display-xxlg-below-inline-block {
    display: inline-block;
  }
  .display-xxlg-below-none {
    display: none;
  }
  .display-xxlg-below-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-xxlg-below-grid {
    display: grid;
  }
  .display-xxlg-below-inline {
    display: inline;
  }
  .display-xxlg-below-table {
    display: table;
  }
  .display-xxlg-below-table-row {
    display: table-row;
  }
  .display-xxlg-below-table-cell {
    display: table-cell;
  }
}
/* 大型デスクトップ（フルHD）以下のみ適用
================================================== */
@media screen and (max-width: 1920px) {
  .display-xxxlg-below-block {
    display: block;
  }
  .display-xxxlg-below-inline-block {
    display: inline-block;
  }
  .display-xxxlg-below-none {
    display: none;
  }
  .display-xxxlg-below-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-xxxlg-below-grid {
    display: grid;
  }
  .display-xxxlg-below-inline {
    display: inline;
  }
  .display-xxxlg-below-table {
    display: table;
  }
  .display-xxxlg-below-table-row {
    display: table-row;
  }
  .display-xxxlg-below-table-cell {
    display: table-cell;
  }
}
/* ==================================================
*   Display：特定の範囲以上の時だけ表示
================================================== */
/* 超小型以上のみ適用
================================================== */
@media screen and (min-width: 600.02px) {
  .display-xs-above-block {
    display: block;
  }
  .display-xs-above-inline-block {
    display: inline-block;
  }
  .display-xs-above-none {
    display: none;
  }
  .display-xs-above-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-xs-above-grid {
    display: grid;
  }
  .display-xs-above-inline {
    display: inline;
  }
  .display-xs-above-table {
    display: table;
  }
  .display-xs-above-table-row {
    display: table-row;
  }
  .display-xs-above-table-cell {
    display: table-cell;
  }
}
/* スマホ縦以上のみ適用
================================================== */
@media screen and (min-width: 600.02px) {
  .display-sm-above-block {
    display: block;
  }
  .display-sm-above-inline-block {
    display: inline-block;
  }
  .display-sm-above-none {
    display: none;
  }
  .display-sm-above-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-sm-above-grid {
    display: grid;
  }
  .display-sm-above-inline {
    display: inline;
  }
  .display-sm-above-table {
    display: table;
  }
  .display-sm-above-table-row {
    display: table-row;
  }
  .display-sm-above-table-cell {
    display: table-cell;
  }
}
/* スマホ横以上のみ適用
================================================== */
@media screen and (min-width: 768.02px) {
  .display-md-above-block {
    display: block;
  }
  .display-md-above-inline-block {
    display: inline-block;
  }
  .display-md-above-none {
    display: none;
  }
  .display-md-above-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-md-above-grid {
    display: grid;
  }
  .display-md-above-inline {
    display: inline;
  }
  .display-md-above-table {
    display: table;
  }
  .display-md-above-table-row {
    display: table-row;
  }
  .display-md-above-table-cell {
    display: table-cell;
  }
}
/* タブレット以上のみ適用
================================================== */
@media screen and (min-width: 960.02px), print {
  .display-lg-above-block {
    display: block;
  }
  .display-lg-above-inline-block {
    display: inline-block;
  }
  .display-lg-above-none {
    display: none;
  }
  .display-lg-above-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-lg-above-grid {
    display: grid;
  }
  .display-lg-above-inline {
    display: inline;
  }
  .display-lg-above-table {
    display: table;
  }
  .display-lg-above-table-row {
    display: table-row;
  }
  .display-lg-above-table-cell {
    display: table-cell;
  }
}
/* デスクトップ以上のみ適用
================================================== */
@media screen and (min-width: 1280.02px) {
  .display-xlg-above-block {
    display: block;
  }
  .display-xlg-above-inline-block {
    display: inline-block;
  }
  .display-xlg-above-none {
    display: none;
  }
  .display-xlg-above-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-xlg-above-grid {
    display: grid;
  }
  .display-xlg-above-inline {
    display: inline;
  }
  .display-xlg-above-table {
    display: table;
  }
  .display-xlg-above-table-row {
    display: table-row;
  }
  .display-xlg-above-table-cell {
    display: table-cell;
  }
}
/* 大型デスクトップ以上のみ適用
================================================== */
@media screen and (min-width: 1400.02px) {
  .display-xxlg-above-block {
    display: block;
  }
  .display-xxlg-above-inline-block {
    display: inline-block;
  }
  .display-xxlg-above-none {
    display: none;
  }
  .display-xxlg-above-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-xxlg-above-grid {
    display: grid;
  }
  .display-xxlg-above-inline {
    display: inline;
  }
  .display-xxlg-above-table {
    display: table;
  }
  .display-xxlg-above-table-row {
    display: table-row;
  }
  .display-xxlg-above-table-cell {
    display: table-cell;
  }
}
/* 大型デスクトップ（フルHD）以上のみ適用
================================================== */
@media screen and (min-width: 1920.02px) {
  .display-xxxlg-above-block {
    display: block;
  }
  .display-xxxlg-above-inline-block {
    display: inline-block;
  }
  .display-xxxlg-above-none {
    display: none;
  }
  .display-xxxlg-above-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .display-xxxlg-above-grid {
    display: grid;
  }
  .display-xxxlg-above-inline {
    display: inline;
  }
  .display-xxxlg-above-table {
    display: table;
  }
  .display-xxxlg-above-table-row {
    display: table-row;
  }
  .display-xxxlg-above-table-cell {
    display: table-cell;
  }
}
/* ==================================================
* forumMenu
================================================== */
@media screen and (min-width: 768.02px) {
  .forumMenu {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .forumMenu {
    height: 0;
    z-index: var(--z-menu);
    position: sticky;
    top: 0;
    -webkit-transform: translateY(1.7rem);
            transform: translateY(1.7rem);
    width: 5rem;
    margin-left: calc(100% - 5rem);
  }
  .forumMenu .forumMenu__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 5rem;
  }
  .forumMenu .forumMenu__button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 2rem;
    height: calc(6px + 1rem);
    cursor: pointer;
  }
  .forumMenu .forumMenu__icon {
    background-color: #C6162C;
    width: 100%;
    height: 2px;
    border-radius: 9999px;
    -webkit-transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease;
    transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease;
    transition: transform 0.4s ease, opacity 0.4s ease-in-out;
    transition: transform 0.4s ease, opacity 0.4s ease-in-out, -webkit-transform 0.4s ease;
  }
  .is-menu-open .forumMenu .forumMenu__icon:nth-child(1) {
    -webkit-transform: translateY(calc(2px + 0.5rem)) rotate(-225deg) scaleX(1.25);
            transform: translateY(calc(2px + 0.5rem)) rotate(-225deg) scaleX(1.25);
  }
  .is-menu-open .forumMenu .forumMenu__icon:nth-child(3) {
    -webkit-transform: translateY(calc((2px + 0.5rem) * -1)) rotate(225deg) scaleX(1.25);
            transform: translateY(calc((2px + 0.5rem) * -1)) rotate(225deg) scaleX(1.25);
  }
  .is-menu-open .forumMenu .forumMenu__icon:nth-child(2) {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    opacity: 0;
  }
}

/* ==================================================
* forumGNav
================================================== */
.forumGNav {
  font-size: 1.6rem;
  z-index: var(--z-nav);
  position: sticky;
  top: 0;
}
.forumGNav .forumGNav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.forumGNav .forumGNav__item {
  position: relative;
}
.forumGNav .forumGNav__item.is-selected .forumGNav__link {
  color: #C6162C;
}
.forumGNav .forumGNav__link,
.forumGNav .forumGNav__subLink {
  text-decoration: none;
  color: #000;
}
.forumGNav .forumGNav__link:focus-visible,
.forumGNav .forumGNav__subLink:focus-visible {
  color: #C6162C;
}
@media (any-hover: hover) {
  .forumGNav .forumGNav__link:hover,
  .forumGNav .forumGNav__subLink:hover {
    color: #C6162C;
  }
}
.forumGNav span.forumGNav__link,
.forumGNav span.forumGNav__subLink {
  color: #000 !important;
}
.forumGNav i {
  color: #C6162C;
  block-size: 1em;
  margin-left: 0.5rem;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}
.forumGNav .forumGNav__subItem.is-selected .forumGNav__subLink {
  color: #C6162C;
}
@media screen and (min-width: 768.02px) {
  .forumGNav {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-top: -9rem;
    margin-inline: 13rem;
    /* forumGNav__sub
    ================================================== */
  }
  .forumGNav .forumGNav__list {
    gap: 4rem 3rem;
    height: 9rem;
  }
  .forumGNav .forumGNav__list .icon-arrow_right,
  .forumGNav .forumGNav__list .icon-arrow_bottom {
    display: none;
  }
  .forumGNav .forumGNav__item--mypage {
    display: none;
  }
  .forumGNav .forumGNav__mypage,
  .forumGNav .forumGNav__application {
    display: none;
  }
  .forumGNav .forumGNav__link {
    padding: 1.2rem 0;
  }
  .forumGNav .forumGNav__item:has(.forumGNav__sub) .forumGNav__link .icon-arrow_bottom {
    display: inline-block;
  }
}
@media screen and (min-width: 768.02px) and (any-hover: hover) {
  .forumGNav .forumGNav__item:has(.forumGNav__sub):hover .icon-arrow_bottom {
    -webkit-transform: scale(0.7) rotate(180deg);
            transform: scale(0.7) rotate(180deg);
  }
  .forumGNav .forumGNav__item:has(.forumGNav__sub):hover .forumGNav__sub {
    opacity: 1;
    visibility: visible;
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
}
@media screen and (min-width: 768.02px) {
  .forumGNav .forumGNav__item > .forumGNav__sub {
    background-color: #fff;
    white-space: nowrap;
    display: block grid;
    row-gap: 0.8rem;
    -webkit-box-shadow: 0.4rem 0.4rem 1.2rem rgba(0, 0, 0, 0.2);
            box-shadow: 0.4rem 0.4rem 1.2rem rgba(0, 0, 0, 0.2);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 1.6rem 2.4rem;
    border-radius: 0.4rem;
    position: absolute;
    left: 0;
    bottom: -1.2rem;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.2s ease-in-out, visibility 0s 0.2s;
    transition: opacity 0.2s ease-in-out, visibility 0s 0.2s;
  }
}
@media screen and (min-width: 768.02px) and (any-hover: hover) {
  .forumGNav .forumGNav__item > .forumGNav__sub:hover {
    opacity: 1;
    visibility: visible;
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
}
@media screen and (min-width: 768.02px) {
  .forumGNav .forumGNav__item > .forumGNav__sub .forumGNav__subItem:has(.forumGNav__sub) {
    display: block grid;
    grid-template-columns: 1fr;
    row-gap: 0.8rem;
  }
  .forumGNav .forumGNav__item > .forumGNav__sub .forumGNav__subItem .forumGNav__sub {
    display: block grid;
    grid-template-columns: 1fr;
    row-gap: 0.8rem;
    padding-left: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .forumGNav {
    font-size: 1.8rem;
    -webkit-transition: opacity 0.4s ease-in-out, visibility 0s 0s;
    transition: opacity 0.4s ease-in-out, visibility 0s 0s;
    height: 0;
    margin-top: -5rem;
    /* forumGNav__sub
    ================================================== */
  }
  html:not(.is-menu-open) .forumGNav {
    -webkit-transition-delay: 0s, 0.4s;
            transition-delay: 0s, 0.4s;
    visibility: hidden;
    opacity: 0;
  }
  .forumGNav .forumGNav__inner {
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 100%;
    height: 100dvh;
    height: 100vh;
    padding: 7rem 4rem 2rem;
    overflow: hidden;
    overflow-y: auto;
  }
  html:not(.is-menu-fixed) .forumGNav .forumGNav__inner {
    height: calc(100 * var(--vh) - 65px);
  }
  .forumGNav .forumGNav__logo {
    display: none;
  }
  .forumGNav .forumGNav__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .forumGNav .forumGNav__item {
    width: 100%;
  }
  .forumGNav .forumGNav__item .forumGNav__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    padding: 1.6rem 0;
    border-bottom: solid 1px #ccc;
  }
  .forumGNav .forumGNav__item:first-child .forumGNav__link {
    padding-top: 0;
  }
  .forumGNav .forumGNav__application {
    text-align: center;
    margin-top: 5.2rem;
  }
  .forumGNav .forumGNav__application .button--round {
    margin: 0 auto;
  }
  .forumGNav + .forumMenu {
    margin-bottom: 5rem;
  }
  .forumGNav .forumGNav__item > .forumGNav__sub {
    display: none;
  }
  .forumGNav .forumGNav__sub {
    font-size: 1.4rem;
    row-gap: 0.8rem;
    -webkit-padding-after: 1.6rem;
            padding-block-end: 1.6rem;
    border-bottom: solid 1px #ccc;
  }
  .forumGNav .forumGNav__sub .forumGNav__sub {
    display: block grid;
    grid-template-columns: 1fr;
    padding-left: 2.4rem;
    -webkit-margin-before: 0.8rem;
            margin-block-start: 0.8rem;
    -webkit-padding-after: 0;
            padding-block-end: 0;
    border-bottom: none;
    row-gap: 0.8rem;
  }
  .forumGNav .forumGNav__sub:has(.forumGNav__sub) > .forumGNav__subItem > .forumGNav__subLink:before {
    background-color: transparent;
  }
  .forumGNav .forumGNav__subLink {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 0.8rem;
       -moz-column-gap: 0.8rem;
            column-gap: 0.8rem;
    width: 100%;
  }
  .forumGNav .forumGNav__subLink:before {
    background-color: #e5e5e5;
    content: "";
    width: 1em;
    height: 1px;
  }
  .forumGNav .forumGNav__item:has(.forumGNav__sub) .forumGNav__link.is-open {
    border-bottom: none;
  }
  .forumGNav .forumGNav__item:has(.forumGNav__sub) .forumGNav__link.is-open .icon-arrow_bottom::before {
    display: inline-block;
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1);
  }
  .forumGNav .forumGNav__item:has(.forumGNav__sub) .forumGNav__link.is-open + .forumGNav__sub {
    display: block grid;
  }
}

/* ==================================================
* forumNav
================================================== */
.forumNav {
  font-size: 1.6rem;
  background-color: #fff;
  -webkit-box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05);
          box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05);
  border-top: solid 1px #EBEBEB;
  z-index: var(--z-nav);
  position: sticky;
  top: 0;
}
.forumNav .forumNav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.forumNav .forumNav__link {
  text-decoration: none;
  color: #000;
}
.forumNav .forumNav__link:focus-visible {
  color: #C6162C;
}
@media (any-hover: hover) {
  .forumNav .forumNav__link:hover {
    color: #C6162C;
  }
}
.forumNav i {
  color: #C6162C;
  margin-left: 0.5rem;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}
@media screen and (min-width: 768.02px) {
  .forumNav {
    padding: 0 10rem;
  }
  .forumNav .forumNav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 8.5rem;
  }
  .forumNav .forumNav__inner:after {
    display: block;
    content: "";
  }
  .forumNav .forumNav__logo {
    width: 6.4rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .forumNav .forumNav__list {
    gap: 2.4rem;
  }
  .forumNav .icon-arrow_right {
    display: none;
  }
}
@media screen and (min-width: 768.02px) and (max-width: 1460px) {
  .forumNav {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 768px) {
  .forumNav {
    font-size: 1.8rem;
    -webkit-transition: opacity 0.4s ease-in-out, visibility 0s 0s;
    transition: opacity 0.4s ease-in-out, visibility 0s 0s;
    height: 0;
  }
  html:not(.is-menu-open) .forumNav {
    -webkit-transition-delay: 0s, 0.4s;
            transition-delay: 0s, 0.4s;
    visibility: hidden;
    opacity: 0;
  }
  .forumNav .forumNav__inner {
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 100%;
    height: 100dvh;
    height: 100vh;
    padding: 10rem 4rem 2rem;
    overflow: hidden;
    overflow-y: auto;
  }
  .forumNav .forumNav__logo {
    display: none;
  }
  .forumNav .forumNav__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .forumNav .forumNav__item {
    width: 100%;
  }
  .forumNav .forumNav__item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    padding: 1.6rem 0;
    border-bottom: solid 1px #ccc;
  }
  .forumNav .forumNav__item:first-child a {
    padding-top: 0;
  }
  .forumNav .icon-arrow_solid_bottom:before {
    content: "\e90d";
  }
}

/* ==================================================
* backtoTop
================================================== */
.backtoTop {
  font-size: 1.6rem;
  text-align: center;
  margin-top: 8rem;
}
.backtoTop a {
  text-decoration: underline;
}
.backtoTop a:focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  .backtoTop a:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 768px) {
  .backtoTop {
    font-size: 1.4rem;
    margin-top: 5rem;
  }
}

/* ==================================================
* forumLowerNav
================================================== */
.forumLowerNav {
  font-family: "Barlow", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 2.4rem;
}

.forumLowerNav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  border: solid 1px #000;
  border-radius: 0.8rem;
  overflow: hidden;
}

.forumLowerNav__item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
}
.forumLowerNav__item:nth-child(n+2) {
  border-left: solid 1px #000;
}

.forumLowerNav__choice {
  color: #999;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-columns: repeat(4, auto);
  background-color: #F0F0F4;
  height: 6rem;
  cursor: pointer;
  position: relative;
}
.forumLowerNav__choice:has([type=radio]:checked) {
  color: #fff;
  background-color: #000;
}
.forumLowerNav__choice [type=radio] {
  outline-offset: -2px;
  cursor: pointer;
  z-index: 1;
  position: absolute;
  inset: 0;
}
.forumLowerNav__choice:has([type=radio]:focus-visible) {
  color: #fff;
  background-color: #000;
}
@media (any-hover: hover) {
  .forumLowerNav__choice:has([type=radio]:hover) {
    color: #fff;
    background-color: #000;
  }
}

.forumLowerNav__day {
  font-size: 1.8rem;
  -ms-flex-item-align: center;
      align-self: center;
  -webkit-transform: translateY(0.1em);
          transform: translateY(0.1em);
}

.forumLowerNav__date {
  font-size: 3.2rem;
  line-height: 1;
  margin-left: 1.4rem;
}

.forumLowerNav__week {
  font-size: 1.4rem;
  -webkit-transform: translateY(0.35em);
          transform: translateY(0.35em);
}

@media screen and (max-width: 768px) {
  .forumLowerNav {
    font-size: 1.8rem;
  }
  .forumLowerNav__choice {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    grid-template-columns: auto;
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .forumLowerNav__day {
    font-size: 1.4rem;
    width: 100%;
    -webkit-transform: none;
            transform: none;
    grid-column: 1/4;
    grid-row: 1/2;
  }
  .forumLowerNav__date {
    font-size: 2.4rem;
    margin: 0;
  }
  .forumLowerNav__week {
    font-size: 1.2rem;
    -webkit-transform: translateY(0.25em);
            transform: translateY(0.25em);
  }
}
/* ==================================================
* forumFilter
================================================== */
.forumFilter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.4rem;
}
.forumFilter.is-hide {
  display: none;
}

.forumFilter__button {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 10rem;
}
.forumFilter__button .button--round {
  font-size: 1.6rem;
  min-height: 3.6rem;
  padding: 0 1rem;
}
.forumFilter__button .button--round .icon-accordion_open {
  font-size: 1.2rem;
}
.forumFilter__button .button--round[open] .icon-accordion_open::before {
  content: "\e910";
}

.forumFilter__items {
  font-size: 1.6rem;
  background-color: #F0F0F4;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: 2rem;
  border: solid 1px #000;
  border-radius: 0.8rem;
}

.forumFilter__item {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  gap: 2.4rem;
}

.forumFilter__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1rem;
}

.forumFilter__choice {
  font-family: "Barlow", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 1.4rem;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 3.2rem;
  padding: 0 1.2rem;
  border: solid 1px #000;
  border-radius: var(--infinite);
  cursor: pointer;
  position: relative;
}
.forumFilter__choice:has([type=checkbox]:checked) {
  color: #fff;
  background-color: #000;
  border-color: #000;
}
.forumFilter__choice [type=checkbox] {
  border-radius: var(--infinite);
  cursor: pointer;
  z-index: 1;
  position: absolute;
  inset: 0;
}
.forumFilter__choice:has([type=checkbox]:focus-visible) {
  color: #fff;
  background-color: #C6162C;
  border-color: #C6162C;
}
@media (any-hover: hover) {
  .forumFilter__choice:has([type=checkbox]:hover) {
    color: #fff;
    background-color: #C6162C;
    border-color: #C6162C;
  }
}

@media screen and (min-width: 768.02px) {
  .forumFilter__items:not([open]) .forumFilter__item:nth-child(1) .forumFilter__list li:nth-child(n+4) {
    display: none;
  }
  .forumFilter__items:not([open]) .forumFilter__item:nth-child(n+2) {
    display: none;
  }
  .forumFilter__item:nth-child(n+2):not(:last-child) > * {
    padding-block: 1.6rem;
  }
  .forumFilter__item:nth-child(2):last-child > * {
    -webkit-padding-before: 1.6rem;
            padding-block-start: 1.6rem;
  }
  .forumFilter__category {
    line-height: 2;
    width: 8em;
    border-right: solid 1px #000;
  }
}
@media screen and (max-width: 768px) {
  .forumFilter {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.2rem;
  }
  .forumFilter__items:not([open]) .forumFilter__item:nth-child(n+2) {
    display: none;
  }
  .forumFilter__button {
    text-align: center;
    width: 16rem;
    margin-inline: auto;
  }
  .forumFilter__button .button--round {
    font-size: 1.4rem;
    min-block-size: 4rem;
    grid-template-columns: 1.2rem auto 1.2rem;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .forumFilter__button .button--round:before {
    content: "";
  }
  .forumFilter__items {
    grid-template-columns: 1fr;
    gap: 1.2rem;
    padding: 1.2rem 1.6rem;
  }
  .forumFilter__item {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
  .forumFilter__category {
    font-size: 1.4rem;
  }
  .forumFilter__list {
    gap: 0.5rem;
  }
  .forumFilter__choice {
    font-size: 1.2rem;
  }
}
/* ==================================================
* langSwicher
================================================== */
.langSwicher {
  font-size: 1.4rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.langSwicher .modalContent__langToggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}
.langSwicher .switch {
  background-color: #ccc;
  width: 2.2rem;
  height: 0.6rem;
  margin: 0 0.8rem;
  border-radius: var(--infinite);
  position: relative;
}
.langSwicher .langChange {
  font-size: 1.2rem;
  background-color: #C6162C;
  display: block;
  content: "";
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: absolute;
  top: -0.3rem;
  left: 0;
  cursor: pointer;
}
.langSwicher .langChange:checked {
  left: auto;
  right: 0;
}
.langSwicher:has(.langChange:not(:checked)) .en {
  color: rgba(0, 0, 0, 0.3);
}
.langSwicher:has(.langChange:checked) .ja {
  color: rgba(0, 0, 0, 0.3);
}

/* ==================================================
* Overwrite Template Default Style
================================================== */
.wrapper {
  /* header
  ================================================== */
  /* main
  ================================================== */
  /* footer
  ================================================== */
}
.wrapper > header {
  position: static;
}
.wrapper main {
  padding: 0 !important;
}
.wrapper > footer {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768.02px) {
  .wrapper > footer .langArea {
    width: 410px;
  }
}

/* ==================================================
* pageHeader
================================================== */
.pageHeader__title {
  font-family: "Barlow Condensed", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 4rem;
  line-height: 1;
  color: #fff;
  background: var(--rainbow);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 0.5rem 0.075em;
}

.pageHeader__ruby {
  font-size: 1.8rem;
  margin-top: 0.8rem;
}

/* ==================================================
* pageBody
================================================== */
.pageBody:nth-child(n+2) {
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .pageBody:nth-child(n+2) {
    margin-top: 3rem;
  }
}
/* sessionSpeakers
================================================== */
.sessionSpeakers {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(26rem, 100%), 1fr));
  gap: 2rem;
}
.sessionSpeakers .sessionSpeakers__item {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.2rem;
}
.sessionSpeakers .sessionSpeakers__thumb {
  -ms-flex-item-align: start;
      align-self: flex-start;
  width: 6.4rem;
}
.sessionSpeakers .sessionSpeakers__thumb img {
  aspect-ratio: 1;
}
.sessionSpeakers .sessionSpeakers__name {
  font-size: 1.5rem;
}
.sessionSpeakers .sessionSpeakers__company:has(wbr),
.sessionSpeakers .sessionSpeakers__department:has(wbr),
.sessionSpeakers .sessionSpeakers__position:has(wbr) {
  word-break: keep-all;
}
.sessionSpeakers .sessionSpeakers__company {
  font-size: 1.2rem;
  margin-top: 0.4rem;
}
.sessionSpeakers .sessionSpeakers__department {
  font-size: 1.2rem;
}
.sessionSpeakers .sessionSpeakers__position {
  font-size: 1.2rem;
}

/* ==================================================
* tagcloud
================================================== */
.tagcloud {
  font-size: 1.1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.8rem;
}

.tagcloud__item {
  background-color: #fff;
  padding: 0.4rem 0.6rem;
  border-radius: 0.3rem;
  position: relative;
}
.tagcloud__item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 0.3rem;
  border: 1px solid transparent;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: destination-out;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
.tagcloud__item.tagcloud__item--innovation::after {
  background: var(--innovation) border-box border-box;
}
.tagcloud__item.tagcloud__item--innovation .tagcloudText {
  background: var(--innovation);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.tagcloud__item.tagcloud__item--ex::after {
  background: var(--ex) border-box border-box;
}
.tagcloud__item.tagcloud__item--ex .tagcloudText {
  background: var(--ex);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.tagcloud__item.tagcloud__item--ict::after {
  background: var(--ict) border-box border-box;
}
.tagcloud__item.tagcloud__item--ict .tagcloudText {
  background: var(--ict);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.tagcloud__item.tagcloud__item--live {
  border: solid 1px #999;
  color: #444;
}
.tagcloud__item.tagcloud__item--live::after {
  display: none;
}
.tagcloud__item.tagcloud__item--live::before {
  content: "●";
  color: #C6162C;
  display: inline-block;
  vertical-align: baseline;
  letter-spacing: 0;
  scale: 0.5454545455;
}
.tagcloud__item.tagcloud__item--other {
  border: solid 1px #000;
  padding: calc(0.4rem - 1px) calc(0.6rem - 1px);
}
.tagcloud__item.tagcloud__item--other::after {
  display: none;
}

@media screen and (max-width: 768px) {
  .tagcloud {
    font-size: 1rem;
    gap: 0.6rem;
  }
}
/* ==================================================
* Variable
================================================== */
:root {
  --autoPhrase: auto-phrase;
  --rainbow: linear-gradient(90.12deg, #72B7ED 0%, #506FDF 17%, #DE5BB3 26%, #DE0909 38%, #F77911 54%, #B3D900 69%, #00A613 81%, #007D1B 91%, #00A1AB 100%);
  --innovation: linear-gradient(90deg, #198BC8 0%, #4C68B0 52%, #446FAD 65%, #2F84A7 85%, #1A99A2 100%);
  --ex: linear-gradient(90deg, #C85797 0%, #CA4776 4%, #CC3959 8%, #CD2D42 13%, #CE2430 18%, #CF1E24 24%, #CF1B1D 32%, #D01A1B 51%, #D11D1B 62%, #D4281B 72%, #D93A1C 81%, #E1541C 91%, #EC771E 100%);
  --ict: linear-gradient(90deg, #229E3A 0%, #21963A 27%, #21893B 53%, #208B49 62%, #1D916F 80%, #1A99A2 100%);
  --z-header: 1000;
  --z-nav: 1001;
  --z-menu: 1002;
}

/* ==================================================
* langSwicher 公開までは非表示
================================================== */
body.is-en .lang-jp {
  display: none !important;
}

body:not(.is-en) .lang-en {
  display: none !important;
}

/* ==================================================
* CountryLanguageCopyright
================================================== */
.CountryLanguageCopyright {
  word-break: break-all;
}

/* ==================================================
* .is-menu-open
================================================== */
@media screen and (max-width: 768px) {
  .is-menu-open body {
    overflow: clip;
  }
}

/* ==================================================
* title
================================================== */
:is(h1, h2, h3, h4, h5, h6) {
  font-weight: 500;
}

/* ==================================================
* forumBackground
================================================== */
.forumBackground {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
}
.forumBackground img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ==================================================
* forum2024
================================================== */
.forum2024 {
  position: relative;
  z-index: 2;
}

/* ==================================================
* forumMedia
================================================== */
.forumMedia {
  background-color: #fff;
  text-align: center;
  padding: 2rem 5rem;
}
.forumMedia .forumMedia__inner {
  max-width: 102.4rem;
  margin-inline: auto;
}
.forumMedia .forumMedia__title {
  font-size: 2rem;
}
.forumMedia .forumMedia__logos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5rem;
  margin-top: 2rem;
}
.forumMedia .forumMedia__logo {
  width: 12.3rem;
}
@media screen and (max-width: 768px) {
  .forumMedia {
    padding: 3rem 2rem 4.8rem;
  }
  .forumMedia .forumMedia__title {
    font-size: 1.6rem;
  }
  .forumMedia .forumMedia__logos {
    gap: 4rem;
  }
}

/* ==================================================
* mainBody
================================================== */
.mainBody {
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 0.8rem 0.8rem 3rem rgba(0, 0, 0, 0.25);
          box-shadow: 0.8rem 0.8rem 3rem rgba(0, 0, 0, 0.25);
  max-width: 102.4rem;
  margin-inline: auto;
  padding: 5rem 8rem 6rem;
}
@media screen and (max-width: 768px) {
  .mainBody {
    padding: 3rem 2rem 4rem;
  }
}

/* ==================================================
* section
================================================== */
.section__title-1 {
  font-size: 2.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-align: normal;
      -ms-flex-align: normal;
          align-items: normal;
}
.section__title-1:before {
  background: linear-gradient(105.93deg, #F18700 -10%, #E94A42 42.73%, #EA68A2 95.46%);
  display: inline-block;
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2px;
  height: 1.5em;
}

/* ==================================================
* forumSubContainer
================================================== */
.forumSubContainer {
  padding: 5rem 5rem 16rem;
}
@media screen and (max-width: 768px) {
  .forumSubContainer {
    padding: 8rem 2rem 5rem;
  }
}

/* ==================================================
* forumLowerContainer
================================================== */
.forumLowerContainer {
  padding: 1rem 5rem 16rem;
}
@media screen and (max-width: 768px) {
  .forumLowerContainer {
    padding: 1.8rem 2rem 5rem;
  }
}

/* ==================================================
* forumLowerContent
================================================== */
.forumLowerContent {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .forumLowerContent {
    margin-top: 3rem;
  }
}