@charset "UTF-8";

/* CSS Information
---------------------------------------------------------------
Site URL:https://
File name:style.css
Summary:base styles
Created:2025-08-01
--------------------------------------------------------------- */
/* Link */
/* ------------------------------------------------------------ */
a {
  color: #262626;
  text-decoration: none;
}

a[href^="tel:"] {
  pointer-events: none;
  cursor: text;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }
}

/* Animation */
/* ------------------------------------------------------------ */
a,
img {
  transition: all 0.3s ease;
}

.alpha:hover {
  filter: alpha(opacity=70);
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .alpha:hover {
    filter: alpha(opacity=100);
    opacity: 1;
  }
}

/* Font */
/* ------------------------------------------------------------ */
sup {
  font-size: 66%;
  vertical-align: top;
}

sub {
  font-size: 66%;
  vertical-align: baseline;
}

/* インデント1文字分 */
/* ------------------------------------------------------------ */
.indent {
  text-indent: -1em;
  margin-left: 1em;
}

/* HR */
/* ------------------------------------------------------------ */
hr {
  width: 100%;
  height: 1px;
  margin: 0 auto;
  padding: 0;
  display: block;
  border: 0;
  border-top: 1px #000 solid;
}

@media screen and (max-width: 768px) {
  hr {
    margin: 0 min(5.333vw, 20px);
  }
}

/* pc_mode / sp_mode */
/* ------------------------------------------------------------ */
.pc {
  display: inherit;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }

  .sp {
    display: inherit;
  }
}

/* Style */
/* ------------------------------------------------------------ */
html {
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
  font-size: 100%;
}

@media screen and (max-width: 768px) {
  html {
    font-size: min(3.733vw, 1.125rem);
  }
}

html body {
  background: #fff;
}

html body::-webkit-scrollbar {
  display: none;
}

html body header {
  position: relative;
  display: flow-root;
}

html body header .inner {
  background: rgba(255, 255, 255, 0);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(2.778vw, 40px);
  width: 100%;
  height: min(6.944vw, 100px);
  padding: 0 min(2.431vw, 35px);
  margin: 0;
  position: fixed;
  top: 0;
  margin-top: 0;
  transition: all 0.5s ease;
  z-index: 100;
}

html body header .inner .header_area .logo {
  width: min(5.556vw, 80px);
}

html body header .inner .header_area .logo a {
  display: block;
}

html body header .inner .header_area #nav_toggle {
  display: none;
}

html body header .inner #global_nav {
  display: flex;
  justify-content: center;
  align-items: center;
}

html body header .inner #global_nav>ul {
  display: flex;
  justify-content: center;
  align-items: center;
}

html body header .inner #global_nav>ul li {
  display: flex;
  justify-content: center;
  align-items: center;
}

html body header .inner #global_nav>ul li a {
  display: block;
  padding: 0 min(1.389vw, 20px);
}

html body header .inner #global_nav>ul li a span {
  font-size: 1rem;
  font-weight: 500;
  position: relative;
}

html body header .inner #global_nav>ul li a span::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0px;
  left: 0;
  transition: all 0.3s ease;
}

html body header .inner #global_nav>ul li a:hover span::after {
  background: #262626;
  bottom: calc(-1 * min(0.347vw, 5px));
}

html body header .inner #global_nav>ul li::after {
  content: "";
  width: 1px;
  height: min(1.389vw, 20px);
  background: #262626;
  transform: rotate(30deg);
  transform-origin: center center;
}

html body header .inner #global_nav>ul li:last-of-type::after {
  content: none;
}

html body header .inner.fixed {
  background: rgb(255, 255, 255);
}

@media screen and (max-width: 768px) {
  html body header .inner {
    background: rgb(255, 255, 255);
    height: 16vw;
    padding: 0;
  }

  html body header .inner .header_area {
    background: rgb(255, 255, 255);
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0 0 0 5.333vw;
    z-index: 300;
  }

  html body header .inner .header_area .logo {
    width: 21.333vw;
  }

  html body header .inner .header_area .logo img {
    display: block;
  }

  html body header .inner .header_area #nav_toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 16vw;
    height: 16vw;
    cursor: pointer;
    position: relative;
  }

  html body header .inner .header_area #nav_toggle span {
    width: 6.667vw;
    height: 1px;
    display: block;
    background: #000;
    position: absolute;
    transition: transform 0.3s ease-in-out, top 0.2s ease;
  }

  html body header .inner .header_area #nav_toggle span:nth-child(1) {
    top: calc(50% - 1.333vw);
  }

  html body header .inner .header_area #nav_toggle span:nth-child(2) {
    top: 50%;
  }

  html body header .inner .header_area #nav_toggle span:nth-child(3) {
    top: calc(50% + 1.333vw);
  }

  html body header .inner #global_nav {
    position: fixed;
    top: 0;
    display: block;
    visibility: hidden;
    background: #fff;
    width: 100%;
    padding: 21.333vw 5.333vw 16vw;
    opacity: 0;
    z-index: 200;
    transform: translateY(-93.333vw);
    transition: transform 0.3s ease, opacity 0.1s ease;
  }

  html body header .inner #global_nav .logo {
    display: block;
  }

  html body header .inner #global_nav .logo img {
    width: auto;
    height: 10.667vw;
  }

  html body header .inner #global_nav>ul {
    display: block;
    gap: 0;
    width: 100%;
  }

  html body header .inner #global_nav>ul li {
    display: block;
    border-bottom: 1px #000 dotted;
  }

  html body header .inner #global_nav>ul li a {
    padding: 5.333vw 0;
  }

  html body header .inner #global_nav>ul li a span {
    font-size: 1.428rem;
    font-weight: 700;
    position: initial;
  }

  html body header .inner #global_nav>ul li a span::after {
    content: none;
  }

  html body header .inner #global_nav>ul li::after {
    content: none;
  }

  html body header .inner #global_nav>ul li:last-of-type {
    border: none;
  }

  html body header .inner #global_nav>ul li:last-of-type::after {
    content: none;
  }

  html body header .inner.open .header_area #nav_toggle span:nth-child(1) {
    top: 50% !important;
    transform: rotate(45deg);
  }

  html body header .inner.open .header_area #nav_toggle span:nth-child(2) {
    width: 0;
  }

  html body header .inner.open .header_area #nav_toggle span:nth-child(3) {
    top: 50% !important;
    transform: rotate(-45deg);
  }

  html body header .inner.open #global_nav {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition: transform 0.5s ease, opacity 0.9s ease;
  }
}

html body main {
  overflow: clip;
}

html body main .comment {
  font-size: 1rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  html body main .comment {
    font-size: 1rem;
  }
}

html body main .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(0.694vw, 10px);
  padding: 0 0 min(13.889vw, 200px);
  margin-top: calc(-1 * min(6.944vw, 100px));
  position: relative;
}

@media screen and (max-width: 768px) {
  html body main .pagination {
    gap: 2.667vw;
    padding: 0 0 26.667vw;
    margin-top: calc(-1 * 13.333vw);
  }
}

html body main .pagination li a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  color: #000;
  height: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main .pagination li a {
    height: 10.667vw;
  }
}

html body main .pagination li a span {
  font-size: 1rem;
  letter-spacing: 0;
}

@media screen and (max-width: 768px) {
  html body main .pagination li a span {
    font-size: 0.857rem;
  }
}

html body main .pagination li .page-numbers {
  font-size: 1rem;
  width: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main .pagination li .page-numbers {
    font-size: 0.857rem;
    width: 10.667vw;
  }
}

html body main .pagination li .page-numbers.current {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
  color: #fff;
  height: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main .pagination li .page-numbers.current {
    height: 10.667vw;
  }
}

html body main .btn_common {
  width: min(18.75vw, 270px);
}

@media screen and (max-width: 768px) {
  html body main .btn_common {
    width: 53.333vw;
  }
}

html body main .btn_common a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: min(4.167vw, 60px);
  border-radius: min(4.167vw, 60px);
  background: linear-gradient(white, white) padding-box, linear-gradient(to right, #086B0B, #0F4C86) border-box;
  border: 1px solid transparent;
}

@media screen and (max-width: 768px) {
  html body main .btn_common a {
    height: 10.667vw;
    border-radius: 10.667vw;
  }
}

html body main .btn_common a span {
  font-size: 1.25rem;
  font-weight: 700;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main .btn_common a span {
    font-size: 1rem;
  }
}

html body main#index .end {
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  line-height: 1.4;
  padding-bottom: 0.15em;
  font-family: "Oswald";
  font-size: 3rem;
  font-weight: 700;
  margin-top: min(3.472vw, 50px);
}

@media screen and (max-width: 768px) {
  html body main#index .end {
    font-size: 1.428rem;
    margin-top: 8vw;
  }
}

html body main#index section#mainvisual {
  background: url("../img/bg.webp") no-repeat center top/100% auto;
  min-height: 37.43vw;
  margin-top: min(6.944vw, 100px);
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual {
    background: url("../img/bg.webp") no-repeat center top/200% auto;
    min-height: 74.86vw;
    margin-top: 26.667vw;
  }
}

html body main#index section#mainvisual .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

html body main#index section#mainvisual .inner h1 {
  width: min(57.083vw, 822px);
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner h1 {
    width: 48vw;
    margin-top: 0;
  }
}

html body main#index section#mainvisual .inner h2 {
  display: block;
  font-size: 3.375rem;
  font-weight: 700;
  margin-top: min(1.736vw, 25px);
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner h2 {
    font-size: 1.714rem;
    margin-top: 6.667vw;
  }
}

html body main#index section#mainvisual .inner strong {
  display: block;
  font-size: 1.875rem;
  font-weight: 700;
  margin-top: min(1.736vw, 25px);
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner strong {
    font-size: 1rem;
    margin-top: 6.667vw;
  }
}

html body main#index section#mainvisual .inner strong b {
  font-family: "LINE Seed JP";
  font-size: 3.375rem;
  font-weight: 800;
  vertical-align: baseline;
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner strong b {
    font-size: 1.714rem;
  }
}

html body main#index section#mainvisual .inner strong span {
  font-size: 2.25rem;
  font-weight: 700;
  vertical-align: baseline;
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner strong span {
    font-size: 1.142rem;
  }
}

html body main#index section#mainvisual .inner dl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(0.694vw, 10px);
  margin-top: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner dl {
    flex-direction: column;
    gap: 2.667vw;
    margin-top: 5.333vw;
  }
}

html body main#index section#mainvisual .inner dl dt {
  font-size: 1.875rem;
  font-weight: 700;
  padding: min(0.347vw, 5px) min(0.694vw, 10px);
  border: 1px #262626 solid;
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner dl dt {
    font-size: 1rem;
    padding: 1.333vw 2.667vw;
  }
}

html body main#index section#mainvisual .inner dl dd {
  font-size: 1.875rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner dl dd {
    text-align: center;
    font-size: 1rem;
    line-height: 1.3;
  }
}

html body main#index section#mainvisual .inner .btn {
  width: min(49.306vw, 710px);
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner .btn {
    width: 100%;
    padding: 0 5.333vw;
  }
}

html body main#index section#mainvisual .inner .btn a {
  border-radius: min(0.694vw, 10px);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: min(7.639vw, 110px);
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner .btn a {
    border-radius: 1.333vw;
    height: 16vw;
    font-size: 1.142rem;
  }
}

html body main#index section#mainvisual .inner .btn a img {
  width: min(1.736vw, 25px);
  margin-right: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner .btn a img {
    width: 4vw;
    margin-right: 1.333vw;
  }
}

html body main#index section#mainvisual .inner .btn:nth-of-type(1) {
  margin-top: min(1.736vw, 25px);
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner .btn:nth-of-type(1) {
    margin-top: 6.667vw;
  }
}

html body main#index section#mainvisual .inner .btn:nth-of-type(1) a {
  background: #E53500;
}

html body main#index section#mainvisual .inner .btn:nth-of-type(2) {
  margin-top: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner .btn:nth-of-type(2) {
    margin-top: 2.667vw;
  }
}

html body main#index section#mainvisual .inner .btn:nth-of-type(2) a {
  background: #0063A1;
}

html body main#index section:not(#mainvisual) .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#index section:not(#mainvisual) .inner {
    width: 100%;
    padding: 26.667vw 5.333vw 0;
  }
}

html body main#index section:not(#mainvisual) .inner h2 {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#index section:not(#mainvisual) .inner h2 {
    font-size: 2.142rem;
  }
}

html body main#index section:not(#mainvisual) .inner strong {
  font-family: "Oswald";
  font-size: 5.875rem;
  font-weight: 700;
  line-height: 1.3;
  background: linear-gradient(135deg, #D5EED6 0%, #D5EED6 10%, #D4E1ED 90%, #D4E1ED 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#index section:not(#mainvisual) .inner strong {
    font-size: 3.428rem;
    line-height: 1;
    margin-top: 1.333vw;
  }
}

html body main#index section#about .inner {
  padding-top: min(6.944vw, 100px);
}

@media screen and (max-width: 768px) {
  html body main#index section#about .inner {
    padding-top: 13.333vw;
  }
}

html body main#index section#about .inner>div {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
}

@media screen and (max-width: 768px) {
  html body main#index section#about .inner>div {
    display: block;
  }
}

html body main#index section#about .inner>div>div {
  width: 100%;
}

html body main#index section#about .inner>div>div .comment {
  font-size: 1.25rem;
  margin-top: min(3.472vw, 50px);
}

@media screen and (max-width: 768px) {
  html body main#index section#about .inner>div>div .comment {
    font-size: 1rem;
    margin-top: 6.667vw;
  }
}

html body main#index section#about .inner>div>div .comment .keep {
  display: inline-block;
  vertical-align: baseline;
}

html body main#index section#about .inner>div>div .comment .keep span {
  white-space: nowrap;
  vertical-align: baseline;
}

html body main#index section#about .inner>div figure {
  flex-shrink: 0;
  width: min(45vw, 648px);
  margin: min(5.556vw, 80px) 0 0 min(4.861vw, 70px);
}

@media screen and (max-width: 768px) {
  html body main#index section#about .inner>div figure {
    width: 100%;
    margin: 8vw 0 0 0;
  }
}

html body main#index section#exhibitors-venuemap .inner>div {
  margin-top: min(4.167vw, 60px);
  padding: min(4.167vw, 60px) min(6.25vw, 90px);
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div {
    margin-top: 8vw;
    padding: 8vw 5.333vw;
  }
}

html body main#index section#exhibitors-venuemap .inner>div h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 2.25rem;
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div h3 {
    font-size: 1.571rem;
  }
}

html body main#index section#exhibitors-venuemap .inner>div h3::before,
html body main#index section#exhibitors-venuemap .inner>div h3::after {
  content: "";
  width: min(2.083vw, 30px);
  height: 1px;
}

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

  html body main#index section#exhibitors-venuemap .inner>div h3::before,
  html body main#index section#exhibitors-venuemap .inner>div h3::after {
    font-size: 5.333vw;
  }
}

html body main#index section#exhibitors-venuemap .inner>div h3::before {
  margin-right: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div h3::before {
    margin-right: 2.667vw;
  }
}

html body main#index section#exhibitors-venuemap .inner>div h3::after {
  margin-left: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div h3::after {
    margin-left: 2.667vw;
  }
}

html body main#index section#exhibitors-venuemap .inner>div figure {
  width: 100%;
  aspect-ratio: 204/49;
  margin-top: min(2.778vw, 40px);
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div figure {
    aspect-ratio: 148/83;
    margin-top: 5.333vw;
  }
}

html body main#index section#exhibitors-venuemap .inner>div figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

html body main#index section#exhibitors-venuemap .inner>div ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  column-gap: min(3.333vw, 48px);
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 4.267vw;
    margin-top: 5.333vw;
  }
}

html body main#index section#exhibitors-venuemap .inner>div ul li {
  display: grid;
  grid-template-columns: 0.364em minmax(0, 1fr);
  align-items: start;
  column-gap: 0.545em;
  padding: min(1.111vw, 16px) 0 min(1.042vw, 15px);
  border-bottom: 1px dotted;
  font-size: 1.375rem;
  line-height: 1.45;
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div ul li {
    grid-template-columns: 0.4em minmax(0, 1fr);
    column-gap: 0.5em;
    padding: 3.2vw 0 2.933vw;
    font-size: 0.9375rem;
  }
}

html body main#index section#exhibitors-venuemap .inner>div ul li::before {
  content: "";
  grid-column: 1;
  grid-row: 1;
  width: 0.364em;
  height: 0.364em;
  margin-top: 0.545em;
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div ul li::before {
    width: 0.4em;
    height: 0.4em;
    margin-top: 0.525em;
  }
}

html body main#index section#exhibitors-venuemap .inner>div ul li.wide {
  grid-column: 1/-1;
}

html body main#index section#exhibitors-venuemap .inner>div ul li.wide .keep {
  display: inline-block;
  font-weight: inherit;
  vertical-align: baseline;
}

html body main#index section#exhibitors-venuemap .inner>div ul li .name {
  display: block;
  grid-column: 2;
  font-weight: 500;
}

html body main#index section#exhibitors-venuemap .inner>div ul li .sub {
  display: block;
  grid-column: 2;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #5A5A5A;
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div ul li .sub {
    font-size: 0.75rem;
  }
}

html body main#index section#exhibitors-venuemap .inner>div .btn {
  width: min(15.972vw, 230px);
  margin: min(4.167vw, 60px) auto 0;
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div .btn {
    width: 100%;
    margin: 8vw auto 0;
  }
}

html body main#index section#exhibitors-venuemap .inner>div .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: min(4.167vw, 60px);
  color: #fff;
  font-size: 1.125rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div .btn a {
    height: 16vw;
    color: #fff;
    font-size: 1rem;
  }
}

html body main#index section#exhibitors-venuemap .inner>div .btn a img {
  width: min(0.694vw, 10px);
  margin-left: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div .btn a img {
    width: 2.667vw;
    margin-left: 1.333vw;
  }
}

html body main#index section#exhibitors-venuemap .inner>div .comingsoon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(15.972vw, 230px);
  height: min(4.167vw, 60px);
  margin: min(4.167vw, 60px) auto 0;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  html body main#index section#exhibitors-venuemap .inner>div .comingsoon {
    width: 100%;
    height: 16vw;
    margin: 8vw auto 0;
    color: #fff;
    font-size: 1rem;
  }
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(1) {
  background: #FDF8EA;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(1) h3 {
  color: #886D00;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(1) h3::before,
html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(1) h3::after {
  background: #886D00;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(1) .btn a {
  background: rgb(172, 140.8, 16.8);
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(1) .comingsoon {
  background: #606060;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(1) ul li {
  border-bottom-color: #C9B56A;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(1) ul li::before {
  background: #B8960C;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(2) {
  background: #EAF0FD;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(2) h3 {
  color: #355A78;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(2) h3::before,
html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(2) h3::after {
  background: #355A78;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(2) .btn a {
  background: rgb(42.4, 72, 96);
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(2) .comingsoon {
  background: #606060;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(2) ul li {
  border-bottom-color: #8FA8C4;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(2) ul li::before {
  background: #355A78;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(3) {
  background: #FFF2F2;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(3) h3 {
  color: #B32B2B;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(3) h3::before,
html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(3) h3::after {
  background: #B32B2B;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(3) .btn a {
  background: rgb(143.2, 34.4, 34.4);
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(3) .comingsoon {
  background: #606060;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(3) ul li {
  border-bottom-color: #D39A9A;
}

html body main#index section#exhibitors-venuemap .inner>div:nth-of-type(3) ul li::before {
  background: #B32B2B;
}

html body main#index section#event .inner {
  padding: min(13.889vw, 200px) 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#index section#event .inner {
    padding: 26.667vw 5.333vw;
  }
}

html body main#index section#event .inner ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: min(4.167vw, 60px);
  margin-top: min(4.167vw, 60px);
}

@media screen and (max-width: 768px) {
  html body main#index section#event .inner ul {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 8vw;
    margin-top: 8vw;
  }
}

html body main#index section#event .inner ul li {
  width: min(39.583vw, 570px);
}

@media screen and (max-width: 768px) {
  html body main#index section#event .inner ul li {
    width: 100%;
  }
}

html body main#index section#event .inner ul li h3 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  margin-bottom: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#index section#event .inner ul li h3 {
    margin-bottom: 2.667vw;
  }
}

html body main#index section#event .inner ul li h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(0.972vw, 14px);
  height: 100%;
  background: linear-gradient(100deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

@media screen and (max-width: 768px) {
  html body main#index section#event .inner ul li h3::before {
    width: 1.333vw;
  }
}

html body main#index section#event .inner ul li h3>span {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  font-size: 2rem;
  font-weight: 700;
  padding-bottom: 0.1em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-left: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#index section#event .inner ul li h3>span {
    flex-direction: column;
    align-items: flex-start;
    font-size: 1.714rem;
    margin-left: 2.667vw;
  }
}

html body main#index section#event .inner ul li h3>span span {
  font-size: 1.5rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  html body main#index section#event .inner ul li h3>span span {
    font-size: 1.428rem;
  }
}

html body main#index section#event .inner ul li a {
  display: block;
  width: 100%;
}

html body main#index section#event .inner ul li a:hover figure img {
  transform: scale(1.1);
}

html body main#index section#event .inner ul li figure {
  width: 100%;
  aspect-ratio: 19/13;
  overflow: hidden;
  position: relative;
}

html body main#index section#event .inner ul li figure>img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform 0.3s ease;
}

html body main#index section#event .inner ul li figure figcaption {
  background: rgba(38, 38, 38, 0.64);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: auto;
  padding: min(1.389vw, 20px);
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  html body main#index section#event .inner ul li figure figcaption {
    height: auto;
    padding: 2.667vw;
  }
}

html body main#index section#event .inner ul li figure figcaption .comment {
  color: #fff;
  font-weight: 700;
}

html body main#index section#event .inner ul li figure figcaption .btn {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  html body main#index section#event .inner ul li figure figcaption .btn {
    font-size: 1.428rem;
  }
}

html body main#index section#event .inner ul li figure figcaption .btn img {
  width: min(0.694vw, 10px);
  margin-left: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#index section#event .inner ul li figure figcaption .btn img {
    width: 2.667vw;
    margin-left: 1.333vw;
  }
}

html body main#index section#visitor {
  background: url("../img/bg2.png") no-repeat center bottom/100% auto;
}

@media screen and (max-width: 768px) {
  html body main#index section#visitor {
    background: url("../img/bg2.png") no-repeat center bottom/200% auto;
  }
}

html body main#index section#visitor .inner {
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  aspect-ratio: 1440/539;
  padding: 0;
}

@media screen and (max-width: 768px) {
  html body main#index section#visitor .inner {
    aspect-ratio: auto;
    padding: 0 5.333vw;
  }
}

html body main#index section#visitor .inner div {
  background: rgba(255, 255, 255, 0.7);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: min(69.444vw, 1000px);
  padding: min(3.472vw, 50px) 0;
}

@media screen and (max-width: 768px) {
  html body main#index section#visitor .inner div {
    width: 100%;
    padding: 5.333vw 2.667vw;
  }
}

html body main#index section#visitor .inner div em {
  display: block;
  text-align: center;
  font-size: 1.75rem;
  font-weight: 700;
  padding-bottom: min(0.347vw, 5px);
  border-bottom: 1px #262626 solid;
  margin-top: min(4.167vw, 60px);
}

@media screen and (max-width: 768px) {
  html body main#index section#visitor .inner div em {
    font-size: 1.142rem;
    line-height: 1.3;
    padding-bottom: 1.333vw;
    margin-top: 8vw;
  }
}

html body main#index section#visitor .inner div em+em {
  margin-top: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#index section#visitor .inner div em+em {
    margin-top: 2.667vw;
  }
}

html body main#index section#visitor .inner div .btn {
  width: min(49.306vw, 710px);
}

@media screen and (max-width: 768px) {
  html body main#index section#visitor .inner div .btn {
    width: 100%;
  }
}

html body main#index section#visitor .inner div .btn a {
  border-radius: min(0.694vw, 10px);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: min(7.639vw, 110px);
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  html body main#index section#visitor .inner div .btn a {
    border-radius: 1.333vw;
    height: 16vw;
    font-size: 1.142rem;
  }
}

html body main#index section#visitor .inner div .btn a img {
  width: min(1.736vw, 25px);
  margin-right: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#index section#visitor .inner div .btn a img {
    width: 4vw;
    margin-right: 1.333vw;
  }
}

html body main#index section#visitor .inner div .btn:nth-of-type(1) {
  margin-top: min(4.167vw, 60px);
}

@media screen and (max-width: 768px) {
  html body main#index section#visitor .inner div .btn:nth-of-type(1) {
    margin-top: 8vw;
  }
}

html body main#index section#visitor .inner div .btn:nth-of-type(1) a {
  background: #E53500;
}

html body main#index section#visitor .inner div .btn:nth-of-type(2) {
  margin-top: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#index section#visitor .inner div .btn:nth-of-type(2) {
    margin-top: 2.667vw;
  }
}

html body main#index section#visitor .inner div .btn:nth-of-type(2) a {
  background: #0063A1;
}

html body main#index section#overview .inner {
  margin-top: calc(-1 * min(4.167vw, 60px));
}

@media screen and (max-width: 768px) {
  html body main#index section#overview .inner {
    margin-top: 0;
  }
}

html body main#index section#overview .inner>div {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  margin-top: min(4.167vw, 60px);
}

@media screen and (max-width: 768px) {
  html body main#index section#overview .inner>div {
    display: block;
    margin-top: 8vw;
  }
}

html body main#index section#overview .inner>div>div dl {
  display: block;
}

html body main#index section#overview .inner>div>div dl:nth-of-type(n+2) {
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#index section#overview .inner>div>div dl:nth-of-type(n+2) {
    margin-top: 5.333vw;
  }
}

html body main#index section#overview .inner>div>div dl dt {
  border: 1px solid;
  -o-border-image: linear-gradient(to right, #086B0B, #0F4C86) 1;
  border-image: linear-gradient(to right, #086B0B, #0F4C86) 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(8.333vw, 120px);
  padding: min(0.694vw, 10px) 0;
}

@media screen and (max-width: 768px) {
  html body main#index section#overview .inner>div>div dl dt {
    width: 26.667vw;
    padding: 1.333vw 0;
  }
}

html body main#index section#overview .inner>div>div dl dt span {
  font-size: 1.25rem;
  font-weight: 700;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#index section#overview .inner>div>div dl dt span {
    font-size: 1rem;
  }
}

html body main#index section#overview .inner>div>div dl dd {
  font-size: 1rem;
  line-height: 1.75;
  margin-top: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#index section#overview .inner>div>div dl dd {
    font-size: 1rem;
    margin-top: 1.333vw;
  }
}

html body main#index section#overview .inner>div>div dl dd ul {
  display: block;
}

html body main#index section#overview .inner>div>div dl dd ul li {
  font-size: 1rem;
  text-indent: -1em;
  margin-left: 1em;
}

@media screen and (max-width: 768px) {
  html body main#index section#overview .inner>div>div dl dd ul li {
    font-size: 1rem;
  }
}

html body main#index section#overview .inner>div>div dl dd ul li::before {
  content: "・";
}

html body main#index section#overview .inner>div iframe {
  flex-shrink: 0;
  width: min(47.222vw, 680px);
  aspect-ratio: 68/71;
  margin: 0 0 0 min(4.861vw, 70px);
}

@media screen and (max-width: 768px) {
  html body main#index section#overview .inner>div iframe {
    width: 100%;
    margin: 8vw 0 0 0;
  }
}

html body main#index section#news .inner {
  padding-top: min(6.944vw, 100px);
}

@media screen and (max-width: 768px) {
  html body main#index section#news .inner {
    padding-top: 8vw;
  }
}

html body main#index section#news .inner>strong {
  margin-bottom: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#index section#news .inner>strong {
    margin-bottom: 2.667vw;
  }
}

html body main#index section#news .inner article {
  width: 100%;
}

html body main#index section#news .inner article a {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  padding: min(1.389vw, 20px) 0;
  width: 100%;
  border-bottom: 1px #000 solid;
}

@media screen and (max-width: 768px) {
  html body main#index section#news .inner article a {
    display: block;
    padding: 4vw 0;
  }
}

html body main#index section#news .inner article a time {
  flex-shrink: 0;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: max-content;
  min-width: min(9.722vw, 140px);
  min-height: min(2.778vw, 40px);
  padding: 0 0.5em;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  margin: 0 min(3.472vw, 50px) 0 0;
}

@media screen and (max-width: 768px) {
  html body main#index section#news .inner article a time {
    min-width: 26.667vw;
    min-height: 8vw;
    font-size: 0.857rem;
    margin: 0 0 2.667vw 0;
  }
}

html body main#index section#news .inner article a h3 {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.75;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#index section#news .inner article a h3 {
    font-size: 1.142rem;
  }
}

html body main#index section#news .inner .btn {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#index section#news .inner .btn {
    width: 100%;
    margin-top: 5.333vw;
  }
}

html body main#index section#news .inner .btn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

html body main#index section#news .inner .btn a>span {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

html body main#index section#news .inner .btn a>span span {
  font-size: 1rem;
  font-weight: 700;
  padding-bottom: 0.2em;
}

@media screen and (max-width: 768px) {
  html body main#index section#news .inner .btn a>span span {
    font-size: 1rem;
    padding-bottom: 0.48vw;
  }
}

html body main#index section#news .inner .btn a>span img {
  width: min(1.597vw, 23px);
  margin-left: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#index section#news .inner .btn a>span img {
    width: 4.533vw;
    margin-left: 1.333vw;
  }
}

html body main#index section#news .inner .btn a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  transform: scaleX(0);
  transform-origin: right top;
  transition: transform 0.3s;
  margin-top: min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#index section#news .inner .btn a::after {
    margin-top: 1.333vw;
  }
}

html body main#index section#news .inner .btn a:hover::after {
  transform: scaleX(1);
  transform-origin: left top;
}

html body main#index section#banner .inner {
  align-items: center;
  padding: min(6.944vw, 200px) 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#index section#banner .inner {
    padding: 13.333vw 5.333vw;
  }
}

html body main#index section#banner .inner figure {
  width: min(42.153vw, 607px);
}

@media screen and (max-width: 768px) {
  html body main#index section#banner .inner figure {
    width: 100%;
  }
}

html body main#exhibitors-venuemap section#title .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#title .inner {
    width: 100%;
    padding: 26.667vw 5.333vw 0;
  }
}

html body main#exhibitors-venuemap section#title .inner h1 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

html body main#exhibitors-venuemap section#title .inner h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(1.389vw, 20px);
  height: 100%;
  background: linear-gradient(100deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#title .inner h1::before {
    width: 2.667vw;
  }
}

html body main#exhibitors-venuemap section#title .inner h1>span {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
  padding-bottom: 0.1em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-left: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#title .inner h1>span {
    font-size: 2.142rem;
    margin-left: 4vw;
  }
}

html body main#exhibitors-venuemap section#title .inner strong {
  font-family: "Oswald";
  font-size: 5.875rem;
  font-weight: 700;
  line-height: 1.3;
  background: linear-gradient(135deg, #D5EED6 0%, #D5EED6 10%, #D4E1ED 90%, #D4E1ED 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#title .inner strong {
    font-size: 3.428rem;
    line-height: 1;
    margin-top: 1.333vw;
  }
}

html body main#exhibitors-venuemap section#title .inner .comment {
  font-size: 1.25rem;
  margin-top: min(3.472vw, 50px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#title .inner .comment {
    font-size: 1rem;
    margin-top: 6.667vw;
  }
}

html body main#exhibitors-venuemap section:not(#title) {
  overflow: hidden;
}

html body main#exhibitors-venuemap section:not(#title) .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section:not(#title) .inner {
    width: 100%;
    padding: 26.667vw 5.333vw;
  }
}

html body main#exhibitors-venuemap .breadcrumbs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: min(83.455vw, 1140px);
  margin: min(2.083vw, 30px) auto 0;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap .breadcrumbs {
    width: 100%;
    padding: 0 5.333vw;
    margin: 2.667vw auto 0;
  }
}

html body main#exhibitors-venuemap .breadcrumbs li {
  display: flex;
  align-items: center;
}

html body main#exhibitors-venuemap .breadcrumbs li span {
  display: flex;
  color: #000;
  font-size: 0.875rem;
  line-height: 1.3;
  position: relative;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap .breadcrumbs li span {
    font-size: 0.857rem;
  }
}

html body main#exhibitors-venuemap .breadcrumbs li a {
  white-space: nowrap;
}

html body main#exhibitors-venuemap .breadcrumbs li::after {
  content: "";
  background: url("../img/icon_arrow3.svg") no-repeat center/contain;
  width: min(1.025vw, 14px);
  height: min(0.878vw, 12px);
  margin: 0 min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap .breadcrumbs li::after {
    width: 3.077vw;
    height: 2.821vw;
    margin: 0 1.333vw;
  }
}

html body main#exhibitors-venuemap .breadcrumbs li:last-child::after {
  content: normal;
}

html body main#exhibitors-venuemap .breadcrumbs li:last-child span {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

html body main#exhibitors section#title .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#title .inner {
    width: 100%;
    padding: 26.667vw 5.333vw 0;
  }
}

html body main#exhibitors section#title .inner h1 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

html body main#exhibitors section#title .inner h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(1.389vw, 20px);
  height: 100%;
  background: linear-gradient(100deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#title .inner h1::before {
    width: 2.667vw;
  }
}

html body main#exhibitors section#title .inner h1>span {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
  padding-bottom: 0.1em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-left: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#title .inner h1>span {
    font-size: 2.142rem;
    margin-left: 4vw;
  }
}

html body main#exhibitors section#title .inner strong {
  font-family: "Oswald";
  font-size: 5.875rem;
  font-weight: 700;
  line-height: 1.3;
  background: linear-gradient(135deg, #D5EED6 0%, #D5EED6 10%, #D4E1ED 90%, #D4E1ED 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#title .inner strong {
    font-size: 3.428rem;
    line-height: 1;
    margin-top: 1.333vw;
  }
}

html body main#exhibitors section#title .inner .comment {
  font-size: 1.25rem;
  margin-top: min(3.472vw, 50px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#title .inner .comment {
    font-size: 1rem;
    margin-top: 6.667vw;
  }
}

html body main#exhibitors section:not(#title) {
  overflow: hidden;
}

html body main#exhibitors section:not(#title) .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section:not(#title) .inner {
    width: 100%;
    padding: 26.667vw 5.333vw;
  }
}

html body main#exhibitors .breadcrumbs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: min(83.455vw, 1140px);
  margin: min(2.083vw, 30px) auto 0;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors .breadcrumbs {
    width: 100%;
    padding: 0 5.333vw;
    margin: 2.667vw auto 0;
  }
}

html body main#exhibitors .breadcrumbs li {
  display: flex;
  align-items: center;
}

html body main#exhibitors .breadcrumbs li span {
  display: flex;
  color: #000;
  font-size: 0.875rem;
  line-height: 1.3;
  position: relative;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors .breadcrumbs li span {
    font-size: 0.857rem;
  }
}

html body main#exhibitors .breadcrumbs li a {
  white-space: nowrap;
}

html body main#exhibitors .breadcrumbs li::after {
  content: "";
  background: url("../img/icon_arrow3.svg") no-repeat center/contain;
  width: min(1.025vw, 14px);
  height: min(0.878vw, 12px);
  margin: 0 min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors .breadcrumbs li::after {
    width: 3.077vw;
    height: 2.821vw;
    margin: 0 1.333vw;
  }
}

html body main#exhibitors .breadcrumbs li:last-child::after {
  content: normal;
}

html body main#exhibitors .breadcrumbs li:last-child span {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

html body main#event section#title .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#event section#title .inner {
    width: 100%;
    padding: 26.667vw 5.333vw 0;
  }
}

html body main#event section#title .inner h1 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

html body main#event section#title .inner h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(1.389vw, 20px);
  height: 100%;
  background: linear-gradient(100deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

@media screen and (max-width: 768px) {
  html body main#event section#title .inner h1::before {
    width: 2.667vw;
  }
}

html body main#event section#title .inner h1>span {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
  padding-bottom: 0.1em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-left: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#title .inner h1>span {
    font-size: 2.142rem;
    margin-left: 4vw;
  }
}

html body main#event section#title .inner strong {
  font-family: "Oswald";
  font-size: 5.875rem;
  font-weight: 700;
  line-height: 1.3;
  background: linear-gradient(135deg, #D5EED6 0%, #D5EED6 10%, #D4E1ED 90%, #D4E1ED 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#event section#title .inner strong {
    font-size: 3.428rem;
    line-height: 1;
    margin-top: 1.333vw;
  }
}

html body main#event section#title .inner .comment {
  font-size: 1.25rem;
  margin-top: min(3.472vw, 50px);
}

@media screen and (max-width: 768px) {
  html body main#event section#title .inner .comment {
    font-size: 1rem;
    margin-top: 6.667vw;
  }
}

html body main#event section:not(#title) {
  overflow: hidden;
}

html body main#event section:not(#title) .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#event section:not(#title) .inner {
    width: 100%;
    padding: 26.667vw 5.333vw;
  }
}

html body main#event .breadcrumbs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: min(83.455vw, 1140px);
  margin: min(2.083vw, 30px) auto 0;
}

@media screen and (max-width: 768px) {
  html body main#event .breadcrumbs {
    width: 100%;
    padding: 0 5.333vw;
    margin: 2.667vw auto 0;
  }
}

html body main#event .breadcrumbs li {
  display: flex;
  align-items: center;
}

html body main#event .breadcrumbs li span {
  display: flex;
  color: #000;
  font-size: 0.875rem;
  line-height: 1.3;
  position: relative;
}

@media screen and (max-width: 768px) {
  html body main#event .breadcrumbs li span {
    font-size: 0.857rem;
  }
}

html body main#event .breadcrumbs li a {
  white-space: nowrap;
}

html body main#event .breadcrumbs li::after {
  content: "";
  background: url("../img/icon_arrow3.svg") no-repeat center/contain;
  width: min(1.025vw, 14px);
  height: min(0.878vw, 12px);
  margin: 0 min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#event .breadcrumbs li::after {
    width: 3.077vw;
    height: 2.821vw;
    margin: 0 1.333vw;
  }
}

html body main#event .breadcrumbs li:last-child::after {
  content: normal;
}

html body main#event .breadcrumbs li:last-child span {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

html body main#news section#title .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#news section#title .inner {
    width: 100%;
    padding: 26.667vw 5.333vw 0;
  }
}

html body main#news section#title .inner h1 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

html body main#news section#title .inner h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(1.389vw, 20px);
  height: 100%;
  background: linear-gradient(100deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

@media screen and (max-width: 768px) {
  html body main#news section#title .inner h1::before {
    width: 2.667vw;
  }
}

html body main#news section#title .inner h1>span {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
  padding-bottom: 0.1em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-left: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#news section#title .inner h1>span {
    font-size: 2.142rem;
    margin-left: 4vw;
  }
}

html body main#news section#title .inner strong {
  font-family: "Oswald";
  font-size: 5.875rem;
  font-weight: 700;
  line-height: 1.3;
  background: linear-gradient(135deg, #D5EED6 0%, #D5EED6 10%, #D4E1ED 90%, #D4E1ED 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#news section#title .inner strong {
    font-size: 3.428rem;
    line-height: 1;
    margin-top: 1.333vw;
  }
}

html body main#news section#title .inner .comment {
  font-size: 1.25rem;
  margin-top: min(3.472vw, 50px);
}

@media screen and (max-width: 768px) {
  html body main#news section#title .inner .comment {
    font-size: 1rem;
    margin-top: 6.667vw;
  }
}

html body main#news section:not(#title) {
  overflow: hidden;
}

html body main#news section:not(#title) .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#news section:not(#title) .inner {
    width: 100%;
    padding: 26.667vw 5.333vw;
  }
}

html body main#news .breadcrumbs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: min(83.455vw, 1140px);
  margin: min(2.083vw, 30px) auto 0;
}

@media screen and (max-width: 768px) {
  html body main#news .breadcrumbs {
    width: 100%;
    padding: 0 5.333vw;
    margin: 2.667vw auto 0;
  }
}

html body main#news .breadcrumbs li {
  display: flex;
  align-items: center;
}

html body main#news .breadcrumbs li span {
  display: flex;
  color: #000;
  font-size: 0.875rem;
  line-height: 1.3;
  position: relative;
}

@media screen and (max-width: 768px) {
  html body main#news .breadcrumbs li span {
    font-size: 0.857rem;
  }
}

html body main#news .breadcrumbs li a {
  white-space: nowrap;
}

html body main#news .breadcrumbs li::after {
  content: "";
  background: url("../img/icon_arrow3.svg") no-repeat center/contain;
  width: min(1.025vw, 14px);
  height: min(0.878vw, 12px);
  margin: 0 min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#news .breadcrumbs li::after {
    width: 3.077vw;
    height: 2.821vw;
    margin: 0 1.333vw;
  }
}

html body main#news .breadcrumbs li:last-child::after {
  content: normal;
}

html body main#news .breadcrumbs li:last-child span {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

html body main#news_detail section#title .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#news_detail section#title .inner {
    width: 100%;
    padding: 26.667vw 5.333vw 0;
  }
}

html body main#news_detail section#title .inner h1 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

html body main#news_detail section#title .inner h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(1.389vw, 20px);
  height: 100%;
  background: linear-gradient(100deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

@media screen and (max-width: 768px) {
  html body main#news_detail section#title .inner h1::before {
    width: 2.667vw;
  }
}

html body main#news_detail section#title .inner h1>span {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
  padding-bottom: 0.1em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-left: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#news_detail section#title .inner h1>span {
    font-size: 2.142rem;
    margin-left: 4vw;
  }
}

html body main#news_detail section#title .inner strong {
  font-family: "Oswald";
  font-size: 5.875rem;
  font-weight: 700;
  line-height: 1.3;
  background: linear-gradient(135deg, #D5EED6 0%, #D5EED6 10%, #D4E1ED 90%, #D4E1ED 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#news_detail section#title .inner strong {
    font-size: 3.428rem;
    line-height: 1;
    margin-top: 1.333vw;
  }

}

html body main#news_detail section#title .inner .comment {
  font-size: 1.25rem;
  margin-top: min(3.472vw, 50px);
}

@media screen and (max-width: 768px) {
  html body main#news_detail section#title .inner .comment {
    font-size: 1rem;
    margin-top: 6.667vw;
  }
}

html body main#news_detail section:not(#title) {
  overflow: hidden;
}

html body main#news_detail section:not(#title) .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#news_detail section:not(#title) .inner {
    width: 100%;
    padding: 26.667vw 5.333vw;
  }
}

html body main#news_detail .breadcrumbs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: min(83.455vw, 1140px);
  margin: min(2.083vw, 30px) auto 0;
}

@media screen and (max-width: 768px) {
  html body main#news_detail .breadcrumbs {
    width: 100%;
    padding: 0 5.333vw;
    margin: 2.667vw auto 0;
  }
}

html body main#news_detail .breadcrumbs li {
  display: flex;
  align-items: center;
}

html body main#news_detail .breadcrumbs li span {
  display: flex;
  color: #000;
  font-size: 0.875rem;
  line-height: 1.3;
  position: relative;
}

@media screen and (max-width: 768px) {
  html body main#news_detail .breadcrumbs li span {
    font-size: 0.857rem;
  }
}

html body main#news_detail .breadcrumbs li a {
  white-space: nowrap;
}

html body main#news_detail .breadcrumbs li::after {
  content: "";
  background: url("../img/icon_arrow3.svg") no-repeat center/contain;
  width: min(1.025vw, 14px);
  height: min(0.878vw, 12px);
  margin: 0 min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#news_detail .breadcrumbs li::after {
    width: 3.077vw;
    height: 2.821vw;
    margin: 0 1.333vw;
  }
}

html body main#news_detail .breadcrumbs li:last-child::after {
  content: normal;
}

html body main#news_detail .breadcrumbs li:last-child span {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

html body main#policy section#title .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#policy section#title .inner {
    width: 100%;
    padding: 26.667vw 5.333vw 0;
  }
}

html body main#policy section#title .inner h1 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

html body main#policy section#title .inner h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(1.389vw, 20px);
  height: 100%;
  background: linear-gradient(100deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

@media screen and (max-width: 768px) {
  html body main#policy section#title .inner h1::before {
    width: 2.667vw;
  }
}

html body main#policy section#title .inner h1>span {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
  padding-bottom: 0.1em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-left: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#policy section#title .inner h1>span {
    font-size: 2.142rem;
    margin-left: 4vw;
  }
}

html body main#policy section#title .inner strong {
  font-family: "Oswald";
  font-size: 5.875rem;
  font-weight: 700;
  line-height: 1.3;
  background: linear-gradient(135deg, #D5EED6 0%, #D5EED6 10%, #D4E1ED 90%, #D4E1ED 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#policy section#title .inner strong {
    font-size: 3.428rem;
    line-height: 1;
    margin-top: 1.333vw;
  }
}

html body main#policy section#title .inner .comment {
  font-size: 1.25rem;
  margin-top: min(3.472vw, 50px);
}

@media screen and (max-width: 768px) {
  html body main#policy section#title .inner .comment {
    font-size: 1rem;
    margin-top: 6.667vw;
  }
}

html body main#policy section:not(#title) {
  overflow: hidden;
}

html body main#policy section:not(#title) .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#policy section:not(#title) .inner {
    width: 100%;
    padding: 26.667vw 5.333vw;
  }
}

html body main#policy .breadcrumbs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: min(83.455vw, 1140px);
  margin: min(2.083vw, 30px) auto 0;
}

@media screen and (max-width: 768px) {
  html body main#policy .breadcrumbs {
    width: 100%;
    padding: 0 5.333vw;
    margin: 2.667vw auto 0;
  }
}

html body main#policy .breadcrumbs li {
  display: flex;
  align-items: center;
}

html body main#policy .breadcrumbs li span {
  display: flex;
  color: #000;
  font-size: 0.875rem;
  line-height: 1.3;
  position: relative;
}

@media screen and (max-width: 768px) {
  html body main#policy .breadcrumbs li span {
    font-size: 0.857rem;
  }
}

html body main#policy .breadcrumbs li a {
  white-space: nowrap;
}

html body main#policy .breadcrumbs li::after {
  content: "";
  background: url("../img/icon_arrow3.svg") no-repeat center/contain;
  width: min(1.025vw, 14px);
  height: min(0.878vw, 12px);
  margin: 0 min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#policy .breadcrumbs li::after {
    width: 3.077vw;
    height: 2.821vw;
    margin: 0 1.333vw;
  }
}

html body main#policy .breadcrumbs li:last-child::after {
  content: normal;
}

html body main#policy .breadcrumbs li:last-child span {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

html body main#notfound section#title .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#notfound section#title .inner {
    width: 100%;
    padding: 26.667vw 5.333vw 0;
  }
}

html body main#notfound section#title .inner h1 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

html body main#notfound section#title .inner h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(1.389vw, 20px);
  height: 100%;
  background: linear-gradient(100deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

@media screen and (max-width: 768px) {
  html body main#notfound section#title .inner h1::before {
    width: 2.667vw;
  }
}

html body main#notfound section#title .inner h1>span {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
  padding-bottom: 0.1em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-left: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#notfound section#title .inner h1>span {
    font-size: 2.142rem;
    margin-left: 4vw;
  }
}

html body main#notfound section#title .inner strong {
  font-family: "Oswald";
  font-size: 5.875rem;
  font-weight: 700;
  line-height: 1.3;
  background: linear-gradient(135deg, #D5EED6 0%, #D5EED6 10%, #D4E1ED 90%, #D4E1ED 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#notfound section#title .inner strong {
    font-size: 3.428rem;
    line-height: 1;
    margin-top: 1.333vw;
  }
}

html body main#notfound section#title .inner .comment {
  font-size: 1.25rem;
  margin-top: min(3.472vw, 50px);
}

@media screen and (max-width: 768px) {
  html body main#notfound section#title .inner .comment {
    font-size: 1rem;
    margin-top: 6.667vw;
  }
}

html body main#notfound section:not(#title) {
  overflow: hidden;
}

html body main#notfound section:not(#title) .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(13.889vw, 200px) 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body main#notfound section:not(#title) .inner {
    width: 100%;
    padding: 26.667vw 5.333vw;
  }
}

html body main#notfound .breadcrumbs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: min(83.455vw, 1140px);
  margin: min(2.083vw, 30px) auto 0;
}

@media screen and (max-width: 768px) {
  html body main#notfound .breadcrumbs {
    width: 100%;
    padding: 0 5.333vw;
    margin: 2.667vw auto 0;
  }
}

html body main#notfound .breadcrumbs li {
  display: flex;
  align-items: center;
}

html body main#notfound .breadcrumbs li span {
  display: flex;
  color: #000;
  font-size: 0.875rem;
  line-height: 1.3;
  position: relative;
}

@media screen and (max-width: 768px) {
  html body main#notfound .breadcrumbs li span {
    font-size: 0.857rem;
  }
}

html body main#notfound .breadcrumbs li a {
  white-space: nowrap;
}

html body main#notfound .breadcrumbs li::after {
  content: "";
  background: url("../img/icon_arrow3.svg") no-repeat center/contain;
  width: min(1.025vw, 14px);
  height: min(0.878vw, 12px);
  margin: 0 min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#notfound .breadcrumbs li::after {
    width: 3.077vw;
    height: 2.821vw;
    margin: 0 1.333vw;
  }
}

html body main#notfound .breadcrumbs li:last-child::after {
  content: normal;
}

html body main#notfound .breadcrumbs li:last-child span {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

html body main#exhibitors-venuemap section#contents .inner {
  align-items: center;
  padding: min(6.944vw, 100px) 0 0;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#contents .inner {
    padding: 16vw 5.333vw 0;
  }
}

html body main#exhibitors-venuemap section#contents .inner>figure {
  width: 100%;
}

html body main#exhibitors-venuemap section#contents .inner>h2 {
  display: block;
  text-align: center;
  font-size: 3rem;
  font-weight: 700;
  margin-top: min(6.944vw, 100px);
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#contents .inner>h2 {
    font-size: 1.714rem;
    margin-top: 13.333vw;
  }
}

html body main#exhibitors-venuemap section#contents .inner>ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(1.389vw, 20px);
  width: 100%;
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#contents .inner>ul {
    gap: 0;
    margin-top: 5.333vw;
  }
}

html body main#exhibitors-venuemap section#contents .inner>ul li {
  width: 100%;
}

html body main#exhibitors-venuemap section#contents .inner>ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: min(8.333vw, 120px);
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#contents .inner>ul li a {
    height: 16vw;
    font-size: 0.857rem;
  }
}

html body main#exhibitors-venuemap section#contents .inner>ul li:nth-of-type(1) a {
  background: #826E1F;
}

html body main#exhibitors-venuemap section#contents .inner>ul li:nth-of-type(2) a {
  background: #355A78;
}

html body main#exhibitors-venuemap section#contents .inner>ul li:nth-of-type(3) a {
  background: #B32B2B;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner,
html body main#exhibitors-venuemap section#exhibitors2 .inner,
html body main#exhibitors-venuemap section#exhibitors3 .inner {
  padding: min(6.944vw, 100px) 0 0;
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner,
  html body main#exhibitors-venuemap section#exhibitors2 .inner,
  html body main#exhibitors-venuemap section#exhibitors3 .inner {
    padding: 16vw 5.333vw 0;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>h3,
html body main#exhibitors-venuemap section#exhibitors2 .inner>h3,
html body main#exhibitors-venuemap section#exhibitors3 .inner>h3 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>h3::before,
html body main#exhibitors-venuemap section#exhibitors2 .inner>h3::before,
html body main#exhibitors-venuemap section#exhibitors3 .inner>h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(1.042vw, 15px);
  height: 100%;
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>h3::before,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>h3::before,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>h3::before {
    width: 1.333vw;
    height: 5.333vw;
    margin-right: 1.333vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>h3 span,
html body main#exhibitors-venuemap section#exhibitors2 .inner>h3 span,
html body main#exhibitors-venuemap section#exhibitors3 .inner>h3 span {
  font-size: 2.75rem;
  font-weight: 700;
  padding-bottom: 0.1em;
  margin-left: min(1.736vw, 25px);
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>h3 span,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>h3 span,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>h3 span {
    font-size: 1.428rem;
    margin-left: 2.667vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.list,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: min(1.389vw, 20px);
  width: 100%;
  margin-top: min(2.778vw, 40px);
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>.list,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>.list,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.list {
    flex-direction: column;
    align-items: center;
    gap: 5.333vw;
    margin-top: 5.333vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article {
  width: min(26.806vw, 386px);
  overflow: hidden;
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article {
    width: 100%;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: min(2.778vw, 40px) min(1.389vw, 20px);
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a {
    padding: 5.333vw 2.667vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a .number,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a .number,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a .number {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  font-weight: 700;
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a .number,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a .number,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a .number {
    font-size: 1.714rem;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a .booth,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a .booth,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a .booth {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  padding: min(0.694vw, 20px) min(1.736vw, 25px);
  border-radius: min(1.389vw, 20px);
  margin-top: min(0.694vw, 10px);
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a .booth,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a .booth,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a .booth {
    font-size: 1.285rem;
    padding: 2.667vw 6.667vw;
    border-radius: 5.333vw;
    margin-top: 1.333vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a figure,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a figure,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a figure {
  background: #fff;
  width: 100%;
  aspect-ratio: 1139/431;
  overflow: hidden;
  margin-top: min(1.042vw, 15px);
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a figure,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a figure,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a figure {
    margin-top: 2.667vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a figure img,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a figure img,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a h1,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a h1,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a h1 {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: min(0.347vw, 5px);
  margin-top: min(1.042vw, 15px);
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a h1,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a h1,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a h1 {
    font-size: 1.714rem;
    text-underline-offset: 1.333vw;
    margin-top: 2.667vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a h1 small,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a h1 small,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a h1 small {
  display: block;
  font-size: 70%;
  font-weight: 700;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a ul.theme,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a ul.theme,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a ul.theme {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: min(0.694vw, 10px);
  margin-top: min(1.042vw, 15px);
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a ul.theme,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a ul.theme,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a ul.theme {
    gap: 2.667vw;
    margin-top: 2.667vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a ul.theme li,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a ul.theme li,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a ul.theme li {
  background: #fff;
  border-radius: min(1.389vw, 20px);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
  padding: min(0.347vw, 5px) min(0.694vw, 10px);
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article a ul.theme li,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a ul.theme li,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a ul.theme li {
    border-radius: 10.667vw;
    font-size: 1rem;
    padding: 1.333vw 2.667vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list_2 article,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.list_2 article,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.list_2 article {
  width: min(40.833vw, 588px);
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>.list_2 article,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>.list_2 article,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.list_2 article {
    width: 100%;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.comment,
html body main#exhibitors-venuemap section#exhibitors2 .inner>.comment,
html body main#exhibitors-venuemap section#exhibitors3 .inner>.comment {
  font-size: 0.875rem;
  line-height: 2;
  width: 100%;
  margin-top: min(0.694vw, 10px);
}

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

  html body main#exhibitors-venuemap section#exhibitors1 .inner>.comment,
  html body main#exhibitors-venuemap section#exhibitors2 .inner>.comment,
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.comment {
    font-size: 0.857rem;
    margin-top: 1.333vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>h3 {
  color: #826E1F;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>h3::before {
  content: "";
  background: #826E1F;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article {
  background: #FDF8EA;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article.area_c a .number {
  color: #298135;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article.area_c a .booth {
  background: #298135;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article.area_d a .number {
  color: #662d91;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article.area_d a .booth {
  background: #662d91;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article.area_e a .number {
  color: #A95E06;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article.area_e a .booth {
  background: #A95E06;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article.area_f a .number {
  color: #1679A3;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article.area_f a .booth {
  background: #1679A3;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article.area_g a .number {
  color: #DC1D3B;
}

html body main#exhibitors-venuemap section#exhibitors1 .inner>.list article.area_g a .booth {
  background: #DC1D3B;
}

html body main#exhibitors-venuemap section#exhibitors2 .inner>h3 {
  color: #355A78;
}

html body main#exhibitors-venuemap section#exhibitors2 .inner>h3::before {
  content: "";
  background: #355A78;
}

html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article {
  background: #EAF0FD;
}

html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a .number {
  color: #355A78;
}

html body main#exhibitors-venuemap section#exhibitors2 .inner>.list article a .booth {
  background: #355A78;
}

html body main#exhibitors-venuemap section#exhibitors3 .inner {
  padding: min(6.944vw, 100px) 0 min(13.889vw, 200px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#exhibitors3 .inner {
    padding: 16vw 5.333vw 26.667vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors3 .inner>h3 {
  color: #B32B2B;
}

html body main#exhibitors-venuemap section#exhibitors3 .inner>h3::before {
  content: "";
  background: #B32B2B;
}

html body main#exhibitors-venuemap section#exhibitors3 .inner>h4 {
  border: 1px #B32B2B solid;
  color: #B32B2B;
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 700;
  padding: min(0.347vw, 5px) min(1.389vw, 20px);
  margin: min(4.167vw, 60px) auto 0;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#exhibitors3 .inner>h4 {
    font-size: 1.142rem;
    padding: 1.333vw 2.667vw;
    margin: 8vw auto 0;
  }
}

html body main#exhibitors-venuemap section#exhibitors3 .inner>.comment {
  text-align: center;
  color: #374151;
  font-size: 1.25rem;
  line-height: 1.6;
  margin-top: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.comment {
    font-size: 1rem;
    margin-top: 2.667vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a {
  background: #FFF2F2;
}

html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a .number {
  color: #B32B2B;
}

html body main#exhibitors-venuemap section#exhibitors3 .inner>.list article a .booth {
  background: #B32B2B;
}

html body main#exhibitors-venuemap section#exhibitors3 .inner>.list_2 article>.detail {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #B32B2B;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.list_2 article>.detail {
    font-size: 1.142rem;
    margin-bottom: 2.667vw;
  }
}

html body main#exhibitors-venuemap section#exhibitors3 .inner>.list_2 article a .number {
  color: #B32B2B;
}

html body main#exhibitors-venuemap section#exhibitors3 .inner>.list_2 article a .number span {
  color: #B32B2B;
}

html body main#exhibitors-venuemap section#exhibitors3 .inner>.list_2 article a .matching {
  color: #B32B2B;
  font-size: 0.875rem;
  font-weight: 700;
  padding: min(0.347vw, 5px) min(1.389vw, 20px);
  background: #fff;
  border-radius: min(1.389vw, 20px);
  margin-top: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#exhibitors3 .inner>.list_2 article a .matching {
    font-size: 0.714rem;
    padding: 1.333vw 2.667vw;
    border-radius: 5.333vw;
    margin-top: 1.333vw;
  }
}

html body main#exhibitors section#contents .inner {
  display: block;
  padding: min(6.944vw, 100px) 0 min(13.889vw, 200px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner {
    padding: 16vw 5.333vw 26.667vw;
  }
}

html body main#exhibitors section#contents .inner .classification {
  display: flex;
  justify-content: center;
  align-items: center;
}

html body main#exhibitors section#contents .inner .classification dl {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner .classification dl {
    flex-direction: column;
    justify-content: flex-start;
  }
}

html body main#exhibitors section#contents .inner .classification dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(15.278vw, 220px);
  height: min(4.167vw, 60px);
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner .classification dl dt {
    width: 37.333vw;
    height: 10.667vw;
    color: #fff;
    font-size: 1.142rem;
  }
}

html body main#exhibitors section#contents .inner .classification dl dd {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 0 min(2.083vw, 30px);
  font-size: 1.5rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner .classification dl dd {
    text-align: center;
    color: #fff;
    font-size: 1.428rem;
    margin: 4vw 0 0 0;
  }
}

html body main#exhibitors section#contents .inner .classification dl.dl_a dt:nth-of-type(1) {
  background: #826E1F;
}

html body main#exhibitors section#contents .inner .classification dl.dl_a dd:nth-of-type(1) {
  color: #826E1F;
}

html body main#exhibitors section#contents .inner .classification dl.dl_b dt:nth-of-type(1) {
  background: #355A78;
}

html body main#exhibitors section#contents .inner .classification dl.dl_b dd:nth-of-type(1) {
  color: #355A78;
}

html body main#exhibitors section#contents .inner .classification dl.dl_c dt:nth-of-type(1) {
  background: #B32B2B;
}

html body main#exhibitors section#contents .inner .classification dl.dl_c dd:nth-of-type(1) {
  color: #B32B2B;
}

html body main#exhibitors section#contents .inner .classification dl:nth-of-type(2) dt {
  background: #262626;
  margin-left: min(4.167vw, 60px);
}

html body main#exhibitors section#contents .inner .classification dl:nth-of-type(2) dd {
  color: #262626;
}

html body main#exhibitors section#contents .inner h2 {
  text-align: center;
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: min(4.167vw, 60px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner h2 {
    font-size: 1.714rem;
    margin-top: 8vw;
  }
}

html body main#exhibitors section#contents .inner h2 small {
  display: block;
  font-size: 70%;
  font-weight: 700;
}

html body main#exhibitors section#contents .inner ul.theme {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: min(1.389vw, 20px);
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner ul.theme {
    gap: 2.667vw;
    margin-top: 5.333vw;
  }
}

html body main#exhibitors section#contents .inner ul.theme li {
  background: #fff;
  border: 1px #000 solid;
  border-radius: min(2.778vw, 40px);
  font-size: 1.5rem;
  line-height: 1.3;
  padding: min(0.694vw, 10px) min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner ul.theme li {
    border-radius: 10.667vw;
    font-size: 1rem;
    padding: 1.333vw 2.667vw;
  }
}

html body main#exhibitors section#contents .inner figure {
  width: 100%;
  aspect-ratio: 1139/431;
  margin-top: min(4.167vw, 60px);
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner figure {
    margin-top: 8vw;
  }
}

html body main#exhibitors section#contents .inner figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

html body main#exhibitors section#contents .inner h3 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background: #F5F9F5;
  width: 100%;
  height: min(6.944vw, 100px);
  padding: 0 min(2.083vw, 30px) 0 0;
  margin-top: min(6.944vw, 100px);
  margin-bottom: min(2.083vw, 30px);
  position: relative;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner h3 {
    height: 13.333vw;
    padding: 0 4vw 0 0;
    margin-top: 13.333vw;
    margin-bottom: 4vw;
  }
}

html body main#exhibitors section#contents .inner h3::before {
  flex-shrink: 0;
  content: "";
  width: min(0.694vw, 10px);
  height: min(6.944vw, 100px);
  background: linear-gradient(to right, #086B0B 0%, #0F4C86 100%);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner h3::before {
    width: 1.333vw;
    height: 13.333vw;
  }
}

html body main#exhibitors section#contents .inner h3 span {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
  padding-bottom: 0.05em;
  margin-left: min(2.083vw, 30px);
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner h3 span {
    font-size: 1.428rem;
  }
}

html body main#exhibitors section#contents .inner strong {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.75;
  width: 100%;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner strong {
    font-size: 1.142rem;
  }
}

html body main#exhibitors section#contents .inner .comment {
  font-size: 1.5rem;
  width: 100%;
  margin-top: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner .comment {
    font-size: 1.142rem;
    margin-top: 4vw;
  }
}

html body main#exhibitors section#contents .inner .btn {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner .btn {
    width: 100%;
    margin-top: 5.333vw;
  }
}

html body main#exhibitors section#contents .inner .btn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

html body main#exhibitors section#contents .inner .btn a>span {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

html body main#exhibitors section#contents .inner .btn a>span span {
  font-size: 1rem;
  padding-bottom: 0.2em;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner .btn a>span span {
    font-size: 1rem;
    padding-bottom: 0.48vw;
  }
}

html body main#exhibitors section#contents .inner .btn a>span img {
  width: min(1.597vw, 23px);
  margin-left: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner .btn a>span img {
    width: 4.533vw;
    margin-left: 1.333vw;
  }
}

html body main#exhibitors section#contents .inner .btn a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  transform: scaleX(0);
  transform-origin: right top;
  transition: transform 0.3s;
  margin-top: min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner .btn a::after {
    margin-top: 1.333vw;
  }
}

html body main#exhibitors section#contents .inner .btn a:hover::after {
  transform: scaleX(1);
  transform-origin: left top;
}

html body main#exhibitors section#contents .inner ul {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: min(6.944vw, 100px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner ul {
    margin-top: 13.333vw;
  }
}

html body main#exhibitors section#contents .inner ul li.btn_around {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(13.889vw, 200px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner ul li.btn_around {
    width: 16vw;
  }
}

html body main#exhibitors section#contents .inner ul li.btn_around a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner ul li.btn_around a {
    padding-top: 1.333vw;
  }
}

html body main#exhibitors section#contents .inner ul li.btn_around a>span {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

html body main#exhibitors section#contents .inner ul li.btn_around a>span span {
  font-size: 1.5rem;
  padding-bottom: 0.05em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner ul li.btn_around a>span span {
    font-size: 1rem;
    padding-bottom: 0.48vw;
  }
}

html body main#exhibitors section#contents .inner ul li.btn_around a>span img {
  width: min(1.597vw, 23px);
  margin-left: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner ul li.btn_around a>span img {
    width: 4.533vw;
    margin-left: 1.333vw;
  }
}

html body main#exhibitors section#contents .inner ul li.btn_around a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  transform: scaleX(0);
  transform-origin: right top;
  transition: transform 0.3s;
  margin-top: min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#exhibitors section#contents .inner ul li.btn_around a::after {
    margin-top: 1.333vw;
  }
}

html body main#exhibitors section#contents .inner ul li.btn_around a:hover::after {
  transform: scaleX(1);
  transform-origin: left top;
}

html body main#event section#timeline {
  overflow: initial;
}

html body main#event section#timeline .inner {
  align-items: center;
  padding: min(6.944vw, 100px) 0 0;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner {
    padding: 16vw 5.333vw 0;
  }
}

html body main#event section#timeline .inner .tab-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: min(72.222vw, 1040px);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .tab-group {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.333vw;
    width: 100%;
  }
}

html body main#event section#timeline .inner .tab-group .tab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: min(6.25vw, 90px);
  width: 100%;
  height: min(6.25vw, 90px);
  background: linear-gradient(white, white) padding-box, linear-gradient(to right, #086B0B, #0F4C86) border-box;
  border: 1px solid transparent;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .tab-group .tab {
    border-radius: 16vw;
    height: 16vw;
  }
}

html body main#event section#timeline .inner .tab-group .tab span {
  position: relative;
  z-index: 2;
  font-size: 1.25rem;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .tab-group .tab span {
    font-size: 1.142rem;
  }
}

html body main#event section#timeline .inner .tab-group .tab::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

html body main#event section#timeline .inner .tab-group .tab.is-active::before {
  opacity: 1;
}

html body main#event section#timeline .inner .tab-group .tab.is-active span {
  background: none;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
  background-clip: initial;
  color: #fff;
  font-weight: 700;
}

html body main#event section#timeline .inner .tab-group .tab:hover {
  filter: alpha(opacity=70);
  opacity: 0.7;
}

html body main#event section#timeline .inner .tab-sub-group {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: min(54.167vw, 780px);
  margin-top: min(1.736vw, 25px);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .tab-sub-group {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.333vw;
    width: 100%;
    margin-top: 4vw;
  }
}

html body main#event section#timeline .inner .tab-sub-group .tab-sub {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: min(6.25vw, 90px);
  width: 100%;
  height: min(6.25vw, 90px);
  background: linear-gradient(white, white) padding-box, linear-gradient(to right, #086B0B, #0F4C86) border-box;
  border: 1px solid transparent;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .tab-sub-group .tab-sub {
    border-radius: 13.333vw;
    width: 44vw;
    height: 13.333vw;
  }
}

html body main#event section#timeline .inner .tab-sub-group .tab-sub span {
  position: relative;
  z-index: 2;
  font-size: 1.25rem;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .tab-sub-group .tab-sub span {
    font-size: 1rem;
  }
}

html body main#event section#timeline .inner .tab-sub-group .tab-sub::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

html body main#event section#timeline .inner .tab-sub-group .tab-sub.is-active::before {
  opacity: 1;
}

html body main#event section#timeline .inner .tab-sub-group .tab-sub.is-active span {
  background: none;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
  background-clip: initial;
  color: #fff;
  font-weight: 700;
}

html body main#event section#timeline .inner .tab-sub-group .tab-sub:hover {
  filter: alpha(opacity=70);
  opacity: 0.7;
}

html body main#event section#timeline .inner .hide {
  display: none !important;
}

html body main#event section#timeline .inner .schedule {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  margin-top: min(5.556vw, 80px);
  position: relative;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule {
    margin-top: 10.667vw;
  }
}

html body main#event section#timeline .inner .schedule .time-column {
  flex-shrink: 0;
  display: grid;
  grid-template-rows: repeat(7, min(12.5vw, 180px));
  width: min(5.556vw, 80px);
  position: relative;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .time-column {
    grid-template-rows: repeat(7, 77.333vw);
    width: 13.333vw;
  }
}

html body main#event section#timeline .inner .schedule .time-column::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

html body main#event section#timeline .inner .schedule .time-column p {
  position: relative;
}

html body main#event section#timeline .inner .schedule .time-column p span {
  font-size: 1.25rem;
  font-weight: 700;
  position: absolute;
  top: calc(-1 * min(0.694vw, 10px));
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .time-column p span {
    font-size: 1rem;
    top: -1.867vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column {
  display: block;
  width: 100%;
  position: relative;
}

html body main#event section#timeline .inner .schedule .day-column::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

html body main#event section#timeline .inner .schedule .day-column .panel {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  display: block;
  width: 100%;
  position: relative;
}

html body main#event section#timeline .inner .schedule .day-column .panel.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

html body main#event section#timeline .inner .schedule .day-column .panel .event {
  display: block;
  background: linear-gradient(135deg, #086B0B, #0F4C86);
  width: 100%;
  padding: min(1.042vw, 15px);
  color: #fff;
  border-bottom: 1px #fff solid;
  position: absolute;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column .panel .event {
    padding: 4vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column .panel .event:last-of-type {
  border-bottom: none;
}

html body main#event section#timeline .inner .schedule .day-column .panel .event .time {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column .panel .event .time {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }
}

html body main#event section#timeline .inner .schedule .day-column .panel .event .time time {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

html body main#event section#timeline .inner .schedule .day-column .panel .event .time time::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(0.556vw, 8px);
  height: 100%;
  background: #fff;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column .panel .event .time time::before {
    width: 1.333vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column .panel .event .time time span {
  font-size: 1.25rem;
  font-weight: 700;
  padding-bottom: 0.05em;
  margin-left: min(1.042vw, 15px);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column .panel .event .time time span {
    font-size: 1.285rem;
    margin-left: 2.667vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column .panel .event .time p {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px #fff solid;
  border-radius: min(1.389vw, 20px);
  padding: min(0.347vw, 5px) min(1.389vw, 20px);
  margin: 0 0 0 min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column .panel .event .time p {
    border-radius: 5.333vw;
    padding: 1.333vw 5.333vw;
    margin: 2.667vw 0 0 0;
  }
}

html body main#event section#timeline .inner .schedule .day-column .panel .event .time p span {
  font-size: 1rem;
  font-weight: 700;
  padding-bottom: 0.05em;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column .panel .event .time p span {
    font-size: 1rem;
  }
}

html body main#event section#timeline .inner .schedule .day-column .panel .event .title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  margin-top: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column .panel .event .title {
    font-size: 1.285rem;
    margin-top: 2.667vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column .panel .event .btn {
  position: absolute;
  bottom: min(0.694vw, 10px);
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column .panel .event .btn {
    bottom: 2.667vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column .panel .event .btn a {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column .panel .event .btn a {
    font-size: 1rem;
  }
}

html body main#event section#timeline .inner .schedule .day-column .panel .event .btn a::after {
  content: "";
  width: min(1.389vw, 20px);
  height: min(0.694vw, 10px);
  background: #fff;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  margin-top: min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column .panel .event .btn a::after {
    width: 5.333vw;
    height: 2.667vw;
    margin-top: 1.333vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column #panel-a-1 .event:nth-of-type(1) {
  height: calc(min(12.5vw, 180px) / 2);
  top: 0px;
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column #panel-a-1 .event:nth-of-type(1) {
    height: 38.6665vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column #panel-a-1 .event:nth-of-type(2) {
  height: min(12.5vw, 180px);
  top: calc(min(12.5vw, 180px) * 1);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column #panel-a-1 .event:nth-of-type(2) {
    height: 77.333vw;
    top: 77.333vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column #panel-a-1 .event:nth-of-type(3) {
  height: calc(min(12.5vw, 180px) * 2);
  top: calc(min(12.5vw, 180px) * 3);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column #panel-a-1 .event:nth-of-type(3) {
    height: 154.666vw;
    top: 231.999vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column #panel-a-1 .event:nth-of-type(4) {
  height: min(12.5vw, 180px);
  top: calc(min(12.5vw, 180px) * 5.5);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column #panel-a-1 .event:nth-of-type(4) {
    height: 77.333vw;
    top: 425.3315vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column #panel-a-2 .event:nth-of-type(1),
html body main#event section#timeline .inner .schedule .day-column #panel-a-3 .event:nth-of-type(1),
html body main#event section#timeline .inner .schedule .day-column #panel-a-4 .event:nth-of-type(1) {
  height: calc(min(12.5vw, 180px) * 7);
  top: 0px;
}

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

  html body main#event section#timeline .inner .schedule .day-column #panel-a-2 .event:nth-of-type(1),
  html body main#event section#timeline .inner .schedule .day-column #panel-a-3 .event:nth-of-type(1),
  html body main#event section#timeline .inner .schedule .day-column #panel-a-4 .event:nth-of-type(1) {
    height: 541.331vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column #panel-b-1 .event:nth-of-type(1) {
  height: min(12.5vw, 180px);
  top: calc(min(12.5vw, 180px) * 1);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column #panel-b-1 .event:nth-of-type(1) {
    height: 77.333vw;
    top: 77.333vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column #panel-b-1 .event:nth-of-type(2) {
  height: min(12.5vw, 180px);
  top: calc(min(12.5vw, 180px) * 3);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column #panel-b-1 .event:nth-of-type(2) {
    height: 77.333vw;
    top: 231.999vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column #panel-b-1 .event:nth-of-type(3) {
  height: calc(min(12.5vw, 180px) * 0.75);
  top: calc(min(12.5vw, 180px) * 4);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column #panel-b-1 .event:nth-of-type(3) {
    height: 57.99975vw;
    top: 309.332vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column #panel-b-1 .event:nth-of-type(4) {
  height: min(12.5vw, 180px);
  top: calc(min(12.5vw, 180px) * 5);
}

@media screen and (max-width: 768px) {
  html body main#event section#timeline .inner .schedule .day-column #panel-b-1 .event:nth-of-type(4) {
    height: 77.333vw;
    top: 4175.982vw;
  }
}

html body main#event section#timeline .inner .schedule .day-column #panel-b-2 .event:nth-of-type(1),
html body main#event section#timeline .inner .schedule .day-column #panel-b-3 .event:nth-of-type(1),
html body main#event section#timeline .inner .schedule .day-column #panel-b-4 .event:nth-of-type(1) {
  height: calc(min(12.5vw, 180px) * 6);
  top: 0px;
}

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

  html body main#event section#timeline .inner .schedule .day-column #panel-b-2 .event:nth-of-type(1),
  html body main#event section#timeline .inner .schedule .day-column #panel-b-3 .event:nth-of-type(1),
  html body main#event section#timeline .inner .schedule .day-column #panel-b-4 .event:nth-of-type(1) {
    height: 463.998vw;
  }
}

html body main#event section:not(#timeline) h2 {
  text-align: center;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.1;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#event section:not(#timeline) h2 {
    font-size: 2rem;
  }
}

html body main#event section:not(#timeline) .date {
  border: 1px solid;
  -o-border-image: linear-gradient(to right, #086B0B, #0F4C86) 1;
  border-image: linear-gradient(to right, #086B0B, #0F4C86) 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(9.722vw, 140px);
  padding: min(0.694vw, 10px) 0;
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#event section:not(#timeline) .date {
    width: 26.667vw;
    padding: 1.333vw 0;
    margin-top: 5.333vw;
  }
}

html body main#event section:not(#timeline) .date span {
  font-size: 1.5rem;
  font-weight: 700;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#event section:not(#timeline) .date span {
    font-size: 1.142rem;
  }
}

html body main#event section:not(#timeline) .program {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.1;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#event section:not(#timeline) .program {
    font-size: 1.428rem;
  }
}

html body main#event section:not(#timeline) .contents+.date {
  margin-top: min(5.556vw, 80px);
}

@media screen and (max-width: 768px) {
  html body main#event section:not(#timeline) .contents+.date {
    margin-top: 10.667vw;
  }
}

html body main#event section#lecture .inner {
  align-items: center;
  padding: min(6.944vw, 400px) 0 0;
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner {
    padding: 21.333vw 5.333vw 0;
  }
}

html body main#event section#lecture .inner dl.contents {
  width: 100%;
}

html body main#event section#lecture .inner dl.contents dt {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  background: #F5F9F5;
  padding: min(2.778vw, 40px) min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt {
    padding: 5.333vw;
  }
}

html body main#event section#lecture .inner dl.contents dt time {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

html body main#event section#lecture .inner dl.contents dt time::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(0.556vw, 8px);
  height: 100%;
  background: linear-gradient(100deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt time::before {
    width: 1.333vw;
  }
}

html body main#event section#lecture .inner dl.contents dt time span {
  font-size: 1.5rem;
  font-weight: 700;
  padding-bottom: 0.05em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-left: min(1.042vw, 15px);
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt time span {
    font-size: 1.714rem;
    margin-left: 2.667vw;
  }
}

html body main#event section#lecture .inner dl.contents dt .program {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: min(2.083vw, 30px);
  height: min(2.083vw, 30px);
  padding: 0 min(2.083vw, 30px);
  background: linear-gradient(white, white) padding-box, linear-gradient(to right, #086B0B, #0F4C86) border-box;
  border: 1px solid transparent;
  margin-top: min(1.042vw, 15px);
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt .program {
    border-radius: 8vw;
    height: 8vw;
    padding: 0 8vw;
    margin-top: 2.667vw;
  }
}

html body main#event section#lecture .inner dl.contents dt .program span {
  font-size: 1rem;
  font-weight: 700;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt .program span {
    font-size: 1.142rem;
  }
}

html body main#event section#lecture .inner dl.contents dt h3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-top: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt h3 {
    font-size: 1.714rem;
    margin-top: 4vw;
  }
}

html body main#event section#lecture .inner dl.contents dt .comment {
  margin-top: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt .comment {
    font-size: 1.142rem;
    margin-top: 4vw;
  }
}

html body main#event section#lecture .inner dl.contents dt h4 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt h4 {
    font-size: 1.142rem;
    margin-top: 5.333vw;
  }
}

html body main#event section#lecture .inner dl.contents dt ul li {
  font-size: 1rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt ul li {
    font-size: 1rem;
  }
}

html body main#event section#lecture .inner dl.contents dt ul li::before {
  content: "・";
}

html body main#event section#lecture .inner dl.contents dt .btn {
  width: min(20.833vw, 300px);
  margin: min(2.778vw, 40px) auto 0;
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt .btn {
    width: 80vw;
    margin: 5.333vw auto 0;
  }
}

html body main#event section#lecture .inner dl.contents dt .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: min(4.167vw, 60px);
  border-radius: min(4.167vw, 60px);
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  color: #fff;
  font-size: 1.25rem;
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt .btn a {
    height: 16vw;
    border-radius: 16vw;
    font-size: 1.428rem;
  }
}

html body main#event section#lecture .inner dl.contents dt .profile {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.1;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  cursor: pointer;
  margin: min(3.472vw, 50px) auto 0;
  transition: all 0.3s ease;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt .profile {
    font-size: 1.142rem;
    margin: 8vw auto 0;
  }
}

html body main#event section#lecture .inner dl.contents dt .profile::after {
  content: "";
  width: min(1.389vw, 20px);
  height: min(0.694vw, 10px);
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  margin-top: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dt .profile::after {
    width: 5.333vw;
    height: 2.667vw;
    margin-top: 1.333vw;
  }
}

html body main#event section#lecture .inner dl.contents dt.active .profile::after {
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
}

html body main#event section#lecture .inner dl.contents dd {
  display: none;
  background: #fff;
  padding: min(2.083vw, 30px) 0;
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dd {
    padding: 5.333vw 0;
  }
}

html body main#event section#lecture .inner dl.contents dd>div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2.083vw, 30px);
  width: 100%;
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dd>div {
    grid-template-columns: repeat(1, 1fr);
    gap: 5.333vw;
  }
}

html body main#event section#lecture .inner dl.contents dd>div>div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}

html body main#event section#lecture .inner dl.contents dd>div>div figure {
  height: 100%;
  position: relative;
}

html body main#event section#lecture .inner dl.contents dd>div>div figure>div {
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 75/56;
  overflow: hidden;
}

html body main#event section#lecture .inner dl.contents dd>div>div figure>div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: min(1.389vw, 20px) 0 min(4.167vw, 60px);
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption {
    padding: 2.667vw 0 8vw;
  }
}

html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .name {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.1;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .name {
    font-size: 1.428rem;
  }
}

html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .name small {
  font-size: 70%;
  font-weight: 700;
}

html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .affiliation {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-top: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .affiliation {
    font-size: 1rem;
    margin-top: 2.667vw;
  }
}

html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .btn {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
}

html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .btn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .btn a>span {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .btn a>span span {
  font-size: 1rem;
  font-weight: 700;
  padding-bottom: 0.2em;
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .btn a>span span {
    font-size: 1rem;
    padding-bottom: 0.48vw;
  }
}

html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .btn a>span img {
  width: min(1.597vw, 23px);
  margin-left: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .btn a>span img {
    width: 4.533vw;
    margin-left: 1.333vw;
  }
}

html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .btn a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  transform: scaleX(0);
  transform-origin: right top;
  transition: transform 0.3s;
  margin-top: min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .btn a::after {
    margin-top: 1.333vw;
  }
}

html body main#event section#lecture .inner dl.contents dd>div>div figure figcaption .btn a:hover::after {
  transform: scaleX(1);
  transform-origin: left top;
}

html body main#event section#presentations .inner {
  align-items: center;
  padding: min(6.944vw, 400px) 0 0;
}

@media screen and (max-width: 768px) {
  html body main#event section#presentations .inner {
    padding: 21.333vw 5.333vw 0;
  }
}

html body main#event section#presentations .inner .contents {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(2.083vw, 30px);
  width: 100%;
  margin-top: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#presentations .inner .contents {
    grid-template-columns: repeat(1, 1fr);
    gap: 5.333vw;
    margin-top: 5.333vw;
  }
}

html body main#event section#presentations .inner .contents>div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  background: #F5F9F5;
  width: 100%;
  padding: min(2.778vw, 40px) min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#presentations .inner .contents>div {
    padding: 5.333vw;
  }
}

html body main#event section#presentations .inner .contents>div .title {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

html body main#event section#presentations .inner .contents>div .title time {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

html body main#event section#presentations .inner .contents>div .title time::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(0.556vw, 8px);
  height: 100%;
  background: linear-gradient(100deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

@media screen and (max-width: 768px) {
  html body main#event section#presentations .inner .contents>div .title time::before {
    width: 1.333vw;
  }
}

html body main#event section#presentations .inner .contents>div .title time span {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
  padding-bottom: 0.05em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-left: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#event section#presentations .inner .contents>div .title time span {
    font-size: 1.428rem;
    margin-left: 2.667vw;
  }
}

html body main#event section#presentations .inner .contents>div .title h3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-left: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#event section#presentations .inner .contents>div .title h3 {
    font-size: 1.428rem;
    margin-left: 2.667vw;
  }
}

html body main#event section#presentations .inner .contents>div figure {
  width: 100%;
  margin-top: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#presentations .inner .contents>div figure {
    margin-top: 2.667vw;
  }
}

html body main#event section#presentations .inner .contents>div figure div {
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 1139/431;
  overflow: hidden;
}

html body main#event section#presentations .inner .contents>div figure div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

html body main#event section#presentations .inner .contents>div .btn {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  margin-top: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#event section#presentations .inner .contents>div .btn {
    width: 100%;
    margin-top: 2.667vw;
  }
}

html body main#event section#presentations .inner .contents>div .btn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

html body main#event section#presentations .inner .contents>div .btn a>span {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

html body main#event section#presentations .inner .contents>div .btn a>span span {
  font-size: 1rem;
  font-weight: 700;
  padding-bottom: 0.2em;
}

@media screen and (max-width: 768px) {
  html body main#event section#presentations .inner .contents>div .btn a>span span {
    font-size: 1rem;
    padding-bottom: 0.48vw;
  }
}

html body main#event section#presentations .inner .contents>div .btn a>span img {
  width: min(1.597vw, 23px);
  margin-left: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#event section#presentations .inner .contents>div .btn a>span img {
    width: 4.533vw;
    margin-left: 1.333vw;
  }
}

html body main#event section#presentations .inner .contents>div .btn a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  transform: scaleX(0);
  transform-origin: right top;
  transition: transform 0.3s;
  margin-top: min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#event section#presentations .inner .contents>div .btn a::after {
    margin-top: 1.333vw;
  }
}

html body main#event section#presentations .inner .contents>div .btn a:hover::after {
  transform: scaleX(1);
  transform-origin: left top;
}

html body main#event section#side .inner {
  align-items: center;
  padding: min(6.944vw, 100px) 0 min(13.889vw, 200px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner {
    padding: 21.333vw 5.333vw 26.667vw;
  }
}

html body main#event section#side .inner .date-area {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .date-area {
    gap: 4vw;
  }
}

html body main#event section#side .inner .contents>div>div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  background: #F5F9F5;
  height: 100%;
  padding: min(2.778vw, 40px) min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents>div>div {
    padding: 5.333vw;
  }
}

html body main#event section#side .inner .contents>div>div h3 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

html body main#event section#side .inner .contents>div>div h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(0.694vw, 10px);
  height: 100%;
  background: linear-gradient(100deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents>div>div h3::before {
    width: 1.333vw;
  }
}

html body main#event section#side .inner .contents>div>div h3 span {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  padding-bottom: 0.05em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-left: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents>div>div h3 span {
    font-size: 1.428rem;
    margin-left: 2.667vw;
  }
}

html body main#event section#side .inner .contents>div>div h4 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-top: min(1.042vw, 15px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents>div>div h4 {
    font-size: 1.142rem;
    margin-top: 2.667vw;
  }
}

html body main#event section#side .inner .contents>div>div .comment {
  margin-top: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents>div>div .comment {
    margin-top: 4vw;
  }
}

html body main#event section#side .inner .contents>div>div .btn {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  margin-top: min(1.042vw, 15px);
  z-index: 1;
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents>div>div .btn {
    width: 100%;
    margin-top: 2.667vw;
  }
}

html body main#event section#side .inner .contents>div>div .btn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

html body main#event section#side .inner .contents>div>div .btn a>span {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

html body main#event section#side .inner .contents>div>div .btn a>span span {
  font-size: 1rem;
  font-weight: 700;
  padding-bottom: 0.2em;
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents>div>div .btn a>span span {
    font-size: 1rem;
    padding-bottom: 0.48vw;
  }
}

html body main#event section#side .inner .contents>div>div .btn a>span img {
  width: min(1.597vw, 23px);
  margin-left: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents>div>div .btn a>span img {
    width: 4.533vw;
    margin-left: 1.333vw;
  }
}

html body main#event section#side .inner .contents>div>div .btn a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  transform: scaleX(0);
  transform-origin: right top;
  transition: transform 0.3s;
  margin-top: min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents>div>div .btn a::after {
    margin-top: 1.333vw;
  }
}

html body main#event section#side .inner .contents>div>div .btn a:hover::after {
  transform: scaleX(1);
  transform-origin: left top;
}

html body main#event section#side .inner .contents:nth-of-type(2) {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(2) {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
  }
}

html body main#event section#side .inner .contents:nth-of-type(2)>div>div h5 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.1;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin: min(2.778vw, 40px) auto 0;
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(2)>div>div h5 {
    font-size: 1.142rem;
    margin: 5.333vw auto 0;
  }
}

html body main#event section#side .inner .contents:nth-of-type(2)>div>div>div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(2.083vw, 30px);
  margin-top: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(2)>div>div>div {
    grid-template-columns: repeat(1, 1fr);
    gap: 5.333vw;
    margin-top: 4vw;
  }
}

html body main#event section#side .inner .contents:nth-of-type(2)>div>div>div>div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

html body main#event section#side .inner .contents:nth-of-type(2)>div>div>div>div h6 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.1;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(2)>div>div>div>div h6 {
    font-size: 1.142rem;
  }
}

html body main#event section#side .inner .contents:nth-of-type(2)>div>div>div>div figure {
  width: 100%;
  margin-top: min(1.042vw, 15px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(2)>div>div>div>div figure {
    margin-top: 2.667vw;
  }
}

html body main#event section#side .inner .contents:nth-of-type(2)>div>div>div>div figure div {
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 1139/431;
  overflow: hidden;
}

html body main#event section#side .inner .contents:nth-of-type(2)>div>div>div>div figure div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

html body main#event section#side .inner .contents:nth-of-type(3) {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(3) {
    gap: 5.333vw;
  }
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  margin-top: min(2.778vw, 40px);
  position: relative;
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 5.333vw;
    position: initial;
  }
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(1) {
  flex-shrink: 0;
  width: min(22.569vw, 325px);
  margin: 0 min(2.778vw, 40px) 0 0;
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(1) {
    width: 100%;
    margin: 0 0 5.333vw 0;
  }
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(1)>figure {
  width: 100%;
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(1)>figure div {
  width: 100%;
  aspect-ratio: 75/56;
  overflow: hidden;
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(1)>figure div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) {
  width: 100%;
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) .name {
  font-size: 1rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) .name {
    text-align: center;
    font-size: 1rem;
  }
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) .comment {
  margin-top: 0;
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) .group {
  font-size: 1rem;
  line-height: 1.75;
  margin-top: min(1.042vw, 15px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) .group {
    font-size: 1rem;
    margin-top: 2.667vw;
  }
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) dl {
  display: flex;
  justify-content: flex-start;
  justify-content: flex-start;
  width: 100%;
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) dl:nth-of-type(1) {
  margin-top: min(1.042vw, 15px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) dl:nth-of-type(1) {
    margin-top: 2.667vw;
  }
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) dl:nth-of-type(2) {
  margin-top: 0;
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) dl dt {
  font-size: 1rem;
  line-height: 1.75;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) dl dt {
    font-size: 1rem;
  }
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) dl dd {
  font-size: 1rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) dl dd {
    font-size: 1rem;
  }
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) .btn {
  justify-content: center;
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(2) .btn {
    justify-content: flex-end;
  }
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(3) {
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(22.569vw, 325px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(3) {
    position: initial;
    width: 100%;
    margin-top: 5.333vw;
  }
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(3)>figure {
  width: 100%;
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(3)>figure div {
  width: 100%;
  aspect-ratio: 1139/431;
  overflow: hidden;
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>div>div:nth-of-type(3)>figure div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

html body main#event section#side .inner .contents:nth-of-type(3)>div>div>figure {
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#event section#side .inner .contents:nth-of-type(3)>div>div>figure {
    margin-top: 5.333vw;
  }
}

html body main#event #event18-1-1 {
  padding-top: min(9.028vw, 130px);
  margin-top: calc(-1 * min(6.25vw, 90px));
}

@media screen and (max-width: 768px) {
  html body main#event #event18-1-1 {
    padding-top: 21.333vw;
    margin-top: calc(-1 * 16vw);
  }
}

html body main#event #event18-1-2 {
  padding-top: min(9.028vw, 130px);
  margin-top: calc(-1 * min(6.25vw, 90px));
}

@media screen and (max-width: 768px) {
  html body main#event #event18-1-2 {
    padding-top: 21.333vw;
    margin-top: calc(-1 * 16vw);
  }
}

html body main#event #event18-1-3 {
  padding-top: min(9.028vw, 130px);
  margin-top: calc(-1 * min(6.25vw, 90px));
}

@media screen and (max-width: 768px) {
  html body main#event #event18-1-3 {
    padding-top: 21.333vw;
    margin-top: calc(-1 * 16vw);
  }
}

html body main#event #event19-1-1 {
  padding-top: min(9.028vw, 130px);
  margin-top: calc(-1 * min(6.25vw, 90px));
}

@media screen and (max-width: 768px) {
  html body main#event #event19-1-1 {
    padding-top: 21.333vw;
    margin-top: calc(-1 * 16vw);
  }
}

html body main#event #event19-1-2 {
  padding-top: min(9.028vw, 130px);
  margin-top: calc(-1 * min(3.472vw, 50px));
}

@media screen and (max-width: 768px) {
  html body main#event #event19-1-2 {
    padding-top: 21.333vw;
    margin-top: calc(-1 * 8vw);
  }
}

html body main#event #event19-1-3 {
  padding-top: min(9.028vw, 130px);
  margin-top: calc(-1 * min(6.25vw, 90px));
}

@media screen and (max-width: 768px) {
  html body main#event #event19-1-3 {
    padding-top: 21.333vw;
    margin-top: calc(-1 * 16vw);
  }
}

html body main#event #event19-1-4 {
  padding-top: min(9.028vw, 130px);
  margin-top: calc(-1 * min(6.25vw, 90px));
}

@media screen and (max-width: 768px) {
  html body main#event #event19-1-4 {
    padding-top: 21.333vw;
    margin-top: calc(-1 * 16vw);
  }
}

html body main#event #event1819-1 {
  margin-top: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event #event1819-1 {
    margin-top: 5.333vw;
  }
}

html body main#event #event1819-2 {
  margin-top: min(2.083vw, 30px);
}

@media screen and (max-width: 768px) {
  html body main#event #event1819-2 {
    margin-top: 5.333vw;
  }
}

html body main#event #event1819-3 {
  padding-top: min(9.028vw, 130px);
  margin-top: calc(-1 * min(6.25vw, 90px));
}

@media screen and (max-width: 768px) {
  html body main#event #event1819-3 {
    padding-top: 21.333vw;
    margin-top: calc(-1 * 16vw);
  }
}

html body main#news section#contents {
  position: relative;
  z-index: 1;
}

html body main#news section#contents .inner {
  padding: min(4.167vw, 60px) 0 min(13.889vw, 200px);
}

@media screen and (max-width: 768px) {
  html body main#news section#contents .inner {
    padding: 8vw 5.333vw 26.667vw;
  }
}

html body main#news section#contents .inner article {
  width: 100%;
}

html body main#news section#contents .inner article a {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  padding: min(2.778vw, 40px) 0;
  width: 100%;
  border-bottom: 1px #000 solid;
}

@media screen and (max-width: 768px) {
  html body main#news section#contents .inner article a {
    display: block;
    padding: 5.333vw 0;
  }
}

html body main#news section#contents .inner article a time {
  flex-shrink: 0;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: max-content;
  min-width: min(9.722vw, 140px);
  min-height: min(2.778vw, 40px);
  padding: 0 0.5em;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  margin: 0 min(3.472vw, 50px) 0 0;
}

@media screen and (max-width: 768px) {
  html body main#news section#contents .inner article a time {
    min-width: 26.667vw;
    min-height: 8vw;
    font-size: 0.857rem;
    margin: 0 0 2.667vw 0;
  }
}

html body main#news section#contents .inner article a h2 {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.75;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#news section#contents .inner article a h2 {
    font-size: 1.142rem;
  }
}

html body main#news_detail section#posting {
  z-index: 1;
}

html body main#news_detail section#posting .inner {
  padding: min(6.944vw, 100px) 0;
}

@media screen and (max-width: 768px) {
  html body main#news_detail section#posting .inner {
    padding: 16vw 5.333vw;
  }
}

html body main#news_detail section#posting .inner article {
  display: block;
  width: 100%;
}

html body main#news_detail section#posting .inner article>.title {
  display: flex;
}

@media screen and (max-width: 768px) {
  html body main#news_detail section#posting .inner article>.title {
    display: block;
  }
}

html body main#news_detail section#posting .inner article>.title time {
  flex-shrink: 0;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: max-content;
  min-width: min(9.722vw, 140px);
  min-height: min(2.778vw, 40px);
  padding: 0 0.5em;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  margin: 0 min(3.472vw, 50px) 0 0;
}

@media screen and (max-width: 768px) {
  html body main#news_detail section#posting .inner article>.title time {
    min-width: 26.667vw;
    min-height: 8vw;
    font-size: 0.857rem;
    margin: 0 0 2.667vw 0;
  }
}

html body main#news_detail section#posting .inner article>.title h2 {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.75;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 768px) {
  html body main#news_detail section#posting .inner article>.title h2 {
    font-size: 1.142rem;
  }
}

html body main#news_detail section#posting .inner article>figure {
  width: 100%;
  aspect-ratio: 500/309;
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#news_detail section#posting .inner article>figure {
    margin-top: 5.333vw;
  }
}

html body main#news_detail section#posting .inner article>figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

html body main#news_detail section#posting .inner article>.comment {
  font-size: 1rem;
  line-height: 1.75;
  width: 100%;
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#news_detail section#posting .inner article>.comment {
    font-size: 1rem;
    margin-top: 5.333vw;
  }
}

html body main#news_detail section#posting .inner article>.comment h1,
html body main#news_detail section#posting .inner article>.comment h2,
html body main#news_detail section#posting .inner article>.comment h3,
html body main#news_detail section#posting .inner article>.comment h4,
html body main#news_detail section#posting .inner article>.comment h5,
html body main#news_detail section#posting .inner article>.comment h6,
html body main#news_detail section#posting .inner article>.comment p {
  all: revert;
}

html body main#news_detail section#posting .inner article>.comment ul,
html body main#news_detail section#posting .inner article>.comment ol {
  list-style: revert;
  padding: revert;
}

html body main#news_detail section#posting .inner article>.comment li {
  display: revert;
  font-size: revert;
  list-style: revert;
  margin: revert;
  padding: revert;
}

html body main#news_detail section#posting .inner article>.comment img {
  max-width: 100%;
}

html body main#news_detail section#posting .inner article>.comment a {
  text-decoration: underline;
}

html body main#news_detail section#posting .inner article>.comment strong {
  font-weight: bold;
}

html body main#news_detail section#posting .inner article>.comment em {
  font-style: italic;
}

html body main#news_detail section#posting .inner article>.comment blockquote {
  background: #F7F3EB;
  font-size: 0.75rem;
  line-height: 2;
  padding: min(0.347vw, 5px) min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body main#news_detail section#posting .inner article>.comment blockquote {
    padding: 1.333vw 2.667vw;
  }
}

html body main#news_detail section#posting .inner article>.comment blockquote p {
  margin-top: 0;
}

html body main#news_detail section#posting .inner article>.comment hr {
  height: 1px;
  padding: 0;
  display: block;
  border: 0;
  background: #000;
}

html body main#news_detail section#posting .inner article>.comment a {
  color: #E53500;
  text-decoration: underline;
  vertical-align: baseline;
}

html body main#news_detail section#posting .inner article>.comment del {
  vertical-align: baseline;
}

html body main#news_detail .btn_common {
  margin: 0 auto;
  padding: 0 0 min(13.889vw, 200px);
}

@media screen and (max-width: 768px) {
  html body main#news_detail .btn_common {
    padding: 0 0 26.667vw;
  }
}

html body main#policy section#contents .inner {
  padding: min(6.944vw, 100px) 0 min(13.889vw, 200px);
}

@media screen and (max-width: 768px) {
  html body main#policy section#contents .inner {
    padding: 16vw 5.333vw 26.667vw;
  }
}

html body main#policy section#contents .inner strong {
  display: block;
  font-size: 1.25rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  html body main#policy section#contents .inner strong {
    font-size: 1rem;
  }
}

html body main#policy section#contents .inner h2 {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  margin: min(4.167vw, 60px) 0 min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#policy section#contents .inner h2 {
    font-size: 1rem;
    padding-bottom: 2.667vw;
    margin: 10.667vw 0 2.667vw;
  }
}

html body main#policy section#contents .inner .comment {
  font-size: 1.25rem;
}

html body main#policy section#contents .inner .comment span {
  line-height: 1.75;
  vertical-align: baseline;
}

html body main#policy section#contents .inner .comment a {
  color: #000;
}

html body main#policy section#contents .inner .comment+.comment {
  margin-top: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body main#policy section#contents .inner .comment+.comment {
    margin-top: 5.333vw;
  }
}

html body main#policy section#contents .inner ul li {
  font-size: 1.25rem;
  line-height: 1.75;
  text-indent: -1em;
  margin-left: 1em;
}

@media screen and (max-width: 768px) {
  html body main#policy section#contents .inner ul li {
    font-size: 1rem;
  }
}

html body main#policy section#contents .inner ul li::before {
  content: "・";
}

html body main#policy section#contents .inner b {
  font-size: 1.125rem;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  html body main#policy section#contents .inner b {
    font-size: 1.142rem;
  }
}

html body main#notfound section#contents .inner {
  align-items: center;
  padding: min(6.944vw, 100px) 0 min(13.889vw, 200px);
}

@media screen and (max-width: 768px) {
  html body main#notfound section#contents .inner {
    padding: 16vw 5.333vw 26.667vw;
  }
}

html body main#notfound section#contents .inner strong {
  font-size: 1.875rem;
}

@media screen and (max-width: 768px) {
  html body main#notfound section#contents .inner strong {
    font-size: 1.285rem;
  }
}

html body main#notfound section#contents .inner .comment {
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body main#notfound section#contents .inner .comment {
    margin-top: 5.333vw;
  }
}

html body main#notfound section#contents .inner .btn_common {
  margin-top: min(6.944vw, 100px);
}

@media screen and (max-width: 768px) {
  html body main#notfound section#contents .inner .btn_common {
    margin: 13.333vw auto 0;
  }
}

html body main#page section#contents .inner p {
  font-size: 1rem;
  line-height: 2;
}

html body footer {
  background: linear-gradient(100deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}

html body footer .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(83.333vw, 1200px);
  padding: min(4.167vw, 60px) 0;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  html body footer .inner {
    width: 100%;
    padding: 16vw 5.333vw 8vw;
  }
}

html body footer .inner .site_name a {
  color: #fff;
  font-family: "Geist";
  font-size: 3rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  html body footer .inner .site_name a {
    font-size: 1.714rem;
  }
}

html body footer .inner strong {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  margin-top: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body footer .inner strong {
    font-size: 1rem;
    line-height: 1.3;
    margin-top: 2.667vw;
  }
}

html body footer .inner address {
  color: #fff;
  font-size: 1rem;
  line-height: 1.6;
  margin-top: min(0.694vw, 10px);
}

@media screen and (max-width: 768px) {
  html body footer .inner address {
    font-size: 1rem;
    margin-top: 1.333vw;
  }
}

html body footer .inner address span {
  display: block;
}

html body footer .inner address .note {
  font-size: 0.875rem;
}

@media screen and (max-width: 768px) {
  html body footer .inner address .note {
    font-size: 0.857rem;
  }
}

html body footer .inner .email {
  margin-top: min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body footer .inner .email {
    margin-top: 1.333vw;
  }
}

html body footer .inner .email img {
  width: min(1.111vw, 16px);
  margin-right: min(0.347vw, 5px);
}

@media screen and (max-width: 768px) {
  html body footer .inner .email img {
    width: 4vw;
    margin-right: 1.333vw;
  }
}

html body footer .inner .email a {
  color: #fff;
  font-size: 0.875rem;
}

html body footer .inner .btn {
  display: flex;
  gap: min(1.111vw, 16px);
  margin-top: min(2.778vw, 40px);
}

@media screen and (max-width: 768px) {
  html body footer .inner .btn {
    gap: 4vw;
    margin-top: 8vw;
  }
}

html body footer .inner .btn a {
  display: block;
  width: min(3.056vw, 44px);
}

@media screen and (max-width: 768px) {
  html body footer .inner .btn a {
    width: 9.333vw;
  }
}

html body footer .inner div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border-top: 1px #fff solid;
  padding-top: min(1.389vw, 20px);
  margin-top: min(1.389vw, 20px);
}

@media screen and (max-width: 768px) {
  html body footer .inner div {
    display: block;
    padding-top: 2.667vw;
    margin-top: 2.667vw;
  }
}

html body footer .inner div ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5em min(1.389vw, 20px);
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  html body footer .inner div ul {
    flex-direction: column;
    gap: 2.667vw;
  }
}

html body footer .inner div ul li {
  white-space: nowrap;
}

html body footer .inner div ul li a {
  display: block;
}

html body footer .inner div ul li a span {
  color: #fff;
  font-size: 0.875rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  html body footer .inner div ul li a span {
    font-size: 1rem;
  }
}

html body footer .inner div ul li a span::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0px;
  left: 0;
  transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
  html body footer .inner div ul li a span::after {
    content: none;
  }
}

html body footer .inner div ul li a:hover span::after {
  background: #fff;
  bottom: calc(-1 * min(0.347vw, 5px));
}

html body footer .inner div small {
  display: block;
  color: #fff;
  font-size: 0.875rem;
}

@media screen and (max-width: 768px) {
  html body footer .inner div small {
    text-align: center;
    font-size: 0.714rem;
    margin-top: 8vw;
  }
}

html body footer .inner div small span {
  vertical-align: baseline;
}

html body .scroll_btn {
  position: fixed;
  right: min(2.083vw, 30px);
  bottom: min(2.083vw, 30px);
  width: min(5vw, 72px);
  filter: drop-shadow(0 0 min(0.694vw, 10px) rgba(0, 0, 0, 0.1));
  z-index: 2;
}

@media screen and (max-width: 768px) {
  html body .scroll_btn {
    right: 5.333vw;
    bottom: 5.333vw;
    width: 10.667vw;
    filter: drop-shadow(0 0 1.333vw rgba(0, 0, 0, 0.1));
  }
}

.f-controls {
  position: absolute;
  left: 0;
  bottom: 0;
  flex-direction: column;
  gap: 1px;
  padding: 0;
}

.f-controls .f-button {
  background-color: #000000;
  color: #FFFFFF;
}

.f-controls .f-button[aria-disabled] {
  opacity: 0.5;
}

/* --------------------------------------------------------------------------------
 *  サイトマップ・プライバシーポリシー（2026-09-28 追加）
 *  page-sitemap.php / page-privacy-policy.php
 * -------------------------------------------------------------------------------- */
html body main#policy section#sitemap .inner,
html body main#policy section#privacy .inner {
  padding: min(6.944vw, 100px) 0 min(13.889vw, 200px);
}

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

  html body main#policy section#sitemap .inner,
  html body main#policy section#privacy .inner {
    padding: 16vw 5.333vw 26.667vw;
  }
}

html body main#policy section#sitemap .inner a,
html body main#policy section#privacy .inner a {
  color: #262626;
  text-decoration: underline;
}

html body main#policy section#sitemap .inner a:hover,
html body main#policy section#privacy .inner a:hover {
  color: #0F4C86;
}

/* サイトマップ */
html body main#policy section#sitemap .inner .lead {
  font-size: 1.25rem;
  line-height: 1.75;
}

html body main#policy section#sitemap .inner .sitemap_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: min(5.556vw, 80px);
  column-gap: min(5.556vw, 80px);
  row-gap: min(3.889vw, 56px);
  width: 100%;
  margin-top: min(3.889vw, 56px);
}

html body main#policy section#sitemap .inner .sitemap_block {
  border-top: 2px solid #0F4C86;
  padding-top: min(1.667vw, 24px);
}

html body main#policy section#sitemap .inner .sitemap_block.wide {
  grid-column: span 2;
}

html body main#policy section#sitemap .inner .sitemap_block h2 {
  font-size: 1.375rem;
  font-weight: 700;
}

/* 2026-10-07 reset.css が a に font-weight: normal を付けるため、見出しの太さ（700）に合わせる */
html body main#policy section#sitemap .inner .sitemap_block h2 a {
  font-weight: inherit;
}

html body main#policy section#sitemap .inner .sitemap_block ul {
  list-style: disc;
  padding-left: 1.2em;
  margin-top: min(1.111vw, 16px);
}

html body main#policy section#sitemap .inner .sitemap_block.wide ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: min(5.556vw, 80px);
  column-gap: min(5.556vw, 80px);
}

html body main#policy section#sitemap .inner .sitemap_block li {
  font-size: 1.125rem;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  html body main#policy section#sitemap .inner .lead {
    font-size: 1.071rem;
  }

  html body main#policy section#sitemap .inner .sitemap_grid {
    grid-template-columns: 1fr;
    row-gap: 10.667vw;
    margin-top: 10.667vw;
  }

  html body main#policy section#sitemap .inner .sitemap_block {
    padding-top: 5.333vw;
  }

  html body main#policy section#sitemap .inner .sitemap_block.wide {
    grid-column: auto;
  }

  html body main#policy section#sitemap .inner .sitemap_block h2 {
    font-size: 1.285rem;
  }

  html body main#policy section#sitemap .inner .sitemap_block ul {
    margin-top: 3.2vw;
  }

  html body main#policy section#sitemap .inner .sitemap_block.wide ul {
    display: block;
  }

  html body main#policy section#sitemap .inner .sitemap_block li {
    font-size: 1.142rem;
    line-height: 2.2;
  }
}

/* プライバシーポリシー */
html body main#policy section#privacy .inner h2 {
  width: 100%;
  font-size: 1.625rem;
  font-weight: 700;
  border-top: 2px solid #0F4C86;
  padding-top: min(1.667vw, 24px);
  margin: min(4.444vw, 64px) 0 min(1.111vw, 16px);
}

html body main#policy section#privacy .inner h2:first-child {
  margin-top: 0;
}

html body main#policy section#privacy .inner h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: min(2.222vw, 32px) 0 min(0.833vw, 12px);
}

html body main#policy section#privacy .inner p,
html body main#policy section#privacy .inner li,
html body main#policy section#privacy .inner dl {
  font-size: 1.25rem;
  line-height: 1.8;
}

html body main#policy section#privacy .inner p+p {
  margin-top: min(0.833vw, 12px);
}

html body main#policy section#privacy .inner p.sub {
  font-weight: 700;
  margin-top: min(1.111vw, 16px);
}

html body main#policy section#privacy .inner p.note {
  font-size: 1.125rem;
}

html body main#policy section#privacy .inner ol {
  list-style: decimal;
  padding-left: 1.5em;
  margin-top: min(1.111vw, 16px);
}

html body main#policy section#privacy .inner ul {
  list-style: disc;
  padding-left: 1.2em;
}

html body main#policy section#privacy .inner dl.establish {
  width: 100%;
  border-top: 1px solid #D9D9D9;
  margin-top: min(1.667vw, 24px);
}

html body main#policy section#privacy .inner dl.establish>div {
  display: flex;
  gap: min(1.667vw, 24px);
  padding: min(0.833vw, 12px) 0;
  border-bottom: 1px solid #D9D9D9;
}

html body main#policy section#privacy .inner dl.establish dt {
  width: min(16.667vw, 240px);
  flex-shrink: 0;
  font-weight: 700;
}

html body main#policy section#privacy .inner .table_wrap {
  width: 100%;
  overflow-x: auto;
}

html body main#policy section#privacy .inner table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.125rem;
  line-height: 1.7;
}

html body main#policy section#privacy .inner table caption {
  text-align: left;
  font-size: 1rem;
  padding-bottom: 8px;
}

html body main#policy section#privacy .inner table th,
html body main#policy section#privacy .inner table td {
  padding: min(0.972vw, 14px) min(1.111vw, 16px);
  border: 1px solid #BFBFBF;
  text-align: left;
  vertical-align: top;
}

html body main#policy section#privacy .inner table thead th {
  background: #0F4C86;
  color: #ffffff;
  font-weight: 700;
}

html body main#policy section#privacy .inner table tbody th {
  background: #F4F7FB;
  font-weight: 700;
}

html body main#policy section#privacy .inner table .num {
  width: 5em;
  text-align: center;
}

html body main#policy section#privacy .inner table .kind {
  width: 20em;
}

html body main#policy section#privacy .inner .box {
  width: 100%;
  background: #F4F7FB;
  padding: min(2.222vw, 32px);
  margin-top: min(1.667vw, 24px);
}

html body main#policy section#privacy .inner .box .box_title {
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  html body main#policy section#privacy .inner h2 {
    font-size: 1.357rem;
    padding-top: 5.333vw;
    margin: 11.733vw 0 3.2vw;
  }

  html body main#policy section#privacy .inner h3 {
    font-size: 1.142rem;
    margin: 6.4vw 0 2.133vw;
  }

  html body main#policy section#privacy .inner p,
  html body main#policy section#privacy .inner li,
  html body main#policy section#privacy .inner dl {
    font-size: 1.071rem;
  }

  html body main#policy section#privacy .inner p+p {
    margin-top: 3.2vw;
  }

  html body main#policy section#privacy .inner p.note {
    font-size: 1rem;
  }

  html body main#policy section#privacy .inner dl.establish>div {
    flex-direction: column;
    gap: 1.067vw;
    padding: 2.667vw 0;
  }

  html body main#policy section#privacy .inner dl.establish dt {
    width: auto;
  }

  html body main#policy section#privacy .inner table {
    min-width: 640px;
    font-size: 1rem;
  }

  html body main#policy section#privacy .inner table th,
  html body main#policy section#privacy .inner table td {
    padding: 2.667vw 3.2vw;
  }

  html body main#policy section#privacy .inner .box {
    padding: 5.333vw;
    margin-top: 4.267vw;
  }
}

/* --------------------------------------------------------------------------------
 *  トップページの調整（2026-09-28 追加）
 * -------------------------------------------------------------------------------- */
/* 来場登録：リンクと間違えないよう下線を出さない */
html body main#index section#visitor .inner div em.no_line {
  border-bottom: none;
  padding-bottom: 0;
}

/* 開催概要・アクセス：ものづくりバナーを外したため、フッターとの間に余白を取る */
html body main#index section#overview .inner {
  padding-bottom: min(13.889vw, 200px);
}

@media screen and (max-width: 768px) {
  html body main#index section#overview .inner {
    padding-bottom: 26.667vw;
  }
}

/* ページ内リンクの着地位置（2026-09-28）：見出しが固定ヘッダーの下に隠れないようにする */
#exhibitors1,
#exhibitors2,
#exhibitors3,
#event-stage,
#event-matching,
#event-meetup,
#visitor {
  scroll-margin-top: calc(min(6.944vw, 100px) + 30px);
}

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

  #exhibitors1,
  #exhibitors2,
  #exhibitors3,
  #event-stage,
  #event-matching,
  #event-meetup,
  #visitor {
    scroll-margin-top: calc(16vw + 5.333vw);
  }
}

/* ------------------------------------------------------------
 * アクセシビリティ（2026-09-28 第1弾①：全ページ共通部分）
 * ------------------------------------------------------------ */
/* 本文へのスキップリンク（統一基準 第4-8(6)）：ふだんは画面外、Tabキーで選んだときだけ左上に出す */
.skip_link {
  position: absolute;
  top: 0;
  left: -9999px;
  z-index: 1000;
  background: #fff;
  color: #262626;
  font-size: 16px;
  font-weight: 700;
  text-decoration: underline;
  padding: 12px 20px;
}

.skip_link:focus {
  left: 8px;
  top: 8px;
}

#main_content:focus {
  outline: none;
}

/* キーボード操作時のフォーカス表示（統一基準 第4-10(2)）：reset.css の outline:0 を上書き */
html body :focus-visible {
  outline: 3px solid #0F4C86;
  outline-offset: 2px;
}

html body footer :focus-visible {
  outline-color: #fff;
}

/* ページ上部へ戻るボタン：フッターの青い背景の上に出るので、白い枠＋外側に青い縁で二重にして見やすくする */
html body .scroll_btn a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 7px #0F4C86;
  border-radius: 50%;
}

/* 読み上げ用の文字（画面には出さない） */
.visually_hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* 別ウィンドウで開くリンクの印（決定ログ§1-39） */
.icon_external {
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin-left: 0.3em;
  vertical-align: -0.05em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M9 1h6v6h-2V4.4L7.7 9.7 6.3 8.3 11.6 3H9V1zM2 3h5v2H4v7h7V9h2v5H2V3z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M9 1h6v6h-2V4.4L7.7 9.7 6.3 8.3 11.6 3H9V1zM2 3h5v2H4v7h7V9h2v5H2V3z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* メニューの開閉ボタンを button にしたので、ボタンの初期の見た目を消す */
button#nav_toggle {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  -webkit-appearance: none;
  appearance: none;
}

/* 2026-09-30 JIS 1.4.1（色だけに頼らない）：サイトポリシー本文中のメールアドレスのリンクに下線を付け、リンクだと分かるようにする */
html body main#policy section#contents .inner .email2 a,
html body main#policy section#contents .inner .comment a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* ===== イベント情報 c案（2026-10-09 河原田様のご指示。Figma「Frame 2」の右＝写真3枚横並び） =====
   front-page.php の <ul class="event_c">。以前の表示用の「section#event .inner ul」のルールを、ここで上書きしている。
   PC：3列／タブレット（769〜1023px）：1列で写真を左・説明文を右／スマホ（768px以下）：1列で写真の下に説明文 */
html body main#index section#event .inner ul.event_c {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: min(1.944vw, 28px);
  width: 100%;
  margin-top: min(4.167vw, 60px);
}

html body main#index section#event .inner ul.event_c li {
  display: flex;
  flex-direction: column;
  gap: min(1.389vw, 20px);
  width: auto;
  min-width: 0;
}

html body main#index section#event .inner ul.event_c .photo {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
}

html body main#index section#event .inner ul.event_c .photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 白い文字が読めるよう、写真の下半分を暗くする */
html body main#index section#event .inner ul.event_c .photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 30, 28, 0) 30%, rgba(8, 30, 28, 0.62) 60%, rgba(8, 30, 28, 0.9) 100%);
}

html body main#index section#event .inner ul.event_c .cap {
  position: absolute;
  left: min(1.667vw, 24px);
  right: min(1.667vw, 24px);
  bottom: min(1.528vw, 22px);
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #fff;
}

html body main#index section#event .inner ul.event_c .cap .no {
  font-family: "Oswald";
  font-size: min(3.889vw, 56px);
  font-weight: 600;
  line-height: 1;
  vertical-align: baseline;
}

html body main#index section#event .inner ul.event_c li h3 {
  display: block;
  margin: 0;
  color: #fff;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.4;
  /* 「マッチングサポーターブース」が「ブー｜ス」のように語の途中で折り返さないよう、<wbr> の位置でだけ改行する */
  word-break: keep-all;
  overflow-wrap: anywhere;
}

html body main#index section#event .inner ul.event_c li h3::before {
  content: none;
}

html body main#index section#event .inner ul.event_c .comment {
  /* 説明文はページ全体で「たま未来連携EXPOとは」の本文と同じ大きさにそろえる（PC 20px／スマホ 1rem） */
  font-size: 1.25rem;
  line-height: 1.75;
}

/* タブレット：3列だと1列が狭く文字が詰まるため、1列にして写真を左・説明文を右に置く */
@media screen and (min-width: 769px) and (max-width: 1023px) {
  html body main#index section#event .inner ul.event_c {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  html body main#index section#event .inner ul.event_c li {
    flex-direction: row;
    align-items: center;
    gap: 28px;
  }

  html body main#index section#event .inner ul.event_c .photo {
    flex: 0 0 46%;
    aspect-ratio: 4/3;
  }

  html body main#index section#event .inner ul.event_c .cap {
    left: 20px;
    right: 20px;
    bottom: 18px;
  }

  html body main#index section#event .inner ul.event_c .cap .no {
    font-size: 36px;
  }

  html body main#index section#event .inner ul.event_c li h3 {
    font-size: 1.125rem;
  }

  html body main#index section#event .inner ul.event_c .comment {
    flex: 1 1 auto;
  }
}

@media screen and (max-width: 768px) {
  html body main#index section#event .inner ul.event_c {
    grid-template-columns: 1fr;
    gap: 10.667vw;
    margin-top: 8vw;
  }

  html body main#index section#event .inner ul.event_c li {
    gap: 3.733vw;
  }

  html body main#index section#event .inner ul.event_c .photo {
    aspect-ratio: 4/3;
  }

  html body main#index section#event .inner ul.event_c .cap {
    left: 4.8vw;
    right: 4.8vw;
    bottom: 4.267vw;
  }

  html body main#index section#event .inner ul.event_c .cap .no {
    font-size: 10.667vw;
  }

  html body main#index section#event .inner ul.event_c li h3 {
    font-size: 1.285rem;
  }

  html body main#index section#event .inner ul.event_c .comment {
    font-size: 1rem;
    line-height: 1.75;
  }
}

/* ===== イベント情報 c案ここまで ===== */
/* ===== 2026-10-18 Codexレビュー指摘の修正 ===== */
/* ① お知らせのリンク：ホバー時に全体を半透明にすると日付の白文字のコントラストが4.5:1を下回るため、半透明にせずタイトルに下線を付ける（JIS 1.4.3） */
article>a.alpha:hover {
  filter: none;
  opacity: 1;
}

article>a.alpha:hover h2,
article>a.alpha:hover h3 {
  text-decoration: underline;
}

/* ② スマホのメニュー：横向きなど画面の高さが低いとき、下の項目が画面外に出てフォーカスが見えなくなるため、画面の高さまでにしてスクロールできるようにする（JIS 2.4.7） */
@media screen and (max-width: 768px) {
  html body header .inner #global_nav {
    max-height: 100vh;
    max-height: 100dvh;
    overflow-y: auto;
  }
}

/* ③ お知らせ本文のリンク色：#E53500（白背景で4.34:1）→ #C82E00（5.46:1）（JIS 1.4.3） */
html body main#news_detail section#posting .inner article>.comment a {
  color: #C82E00;
}

/* ⑤ プライバシーポリシーの番号付き項目：番号は本文の文字のままにし、リストの印は付けない */
html body main#policy section#privacy .inner ol.no_marker {
  list-style: none;
  padding-left: 0;
  margin-top: min(0.833vw, 12px);
}

html body main#policy section#privacy .inner ol.no_marker li+li {
  margin-top: min(0.833vw, 12px);
}

/* ===== 2026-10-18 Codexレビュー指摘の修正ここまで ===== */
/* ===== 2026-10-19 スマホでメニューから「たま未来連携EXPOとは」「お知らせ」に移動すると、見出しが固定ヘッダー（高さ16vw）の下に隠れる問題の修正 ===== */
/* 他のセクションと同じく、見出しがヘッダーの下 5.333vw の位置に来るようにする（ヘッダー16vw＋5.333vw−各セクションの上の余白） */
@media screen and (max-width: 768px) {
  #news {
    scroll-margin-top: calc(16vw + 5.333vw - 8vw);
  }

  #about {
    scroll-margin-top: calc(16vw + 5.333vw - 13.333vw);
  }
}

/* ===== 2026-10-19 スマホの文字をブラウザの初期設定のまま（ふつうは16px）にする（全ページ。375px幅で14px→16px。統一基準 第4-4(1)。さかいさん決定） ===== */
@media screen and (max-width: 768px) {
  html {
    font-size: 100%;
    /* 2026-10-19 15px（上限16px）のお試しから変更。利用者の文字サイズ設定も効く（統一基準 第4-4(1)） */
  }

  /* 見出しは今の大きさ（375px幅で約30px）のままにする。大きくすると「たま未来連携EXPOとは」の「は」だけ2行目に落ちるため */
  html body main#index section:not(#mainvisual) .inner h2 {
    font-size: 1.875rem;
  }

  /* メインビジュアルの「産学官民がつながる交流展示会」も今の大きさ（約24px）のまま。大きくすると「会」だけ2行目に落ちるため */
  html body main#index section#mainvisual .inner h2 {
    font-size: 1.5rem;
  }

  /* メインビジュアルの開催日（2026年12月17日(木)〜12月18日(金)）も今の大きさのまま（数字約24px・曜日約16px・年月日約14px）。大きくすると左右が詰まるため（10/19 さかいさん指示） */
  html body main#index section#mainvisual .inner strong {
    font-size: 0.875rem;
  }

  html body main#index section#mainvisual .inner strong b {
    font-size: 1.5rem;
  }

  html body main#index section#mainvisual .inner strong span {
    font-size: 1rem;
  }
}

/* ===== 2026-10-19 サイトポリシー・プライバシーポリシー・アクセシビリティ方針の見た目を統一（3ページとも section#privacy の指定を使う） ===== */
html body main#policy section#privacy .inner p+ul {
  margin-top: min(0.833vw, 12px);
}

/* 小見出し（h3）が2行になったときの行間を少しあける（行の高さ 1→1.1。18pxで約2px）（2026-10-19 さかいさん指示） */
html body main#policy section#privacy .inner h3 {
  line-height: 1.1;
}

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

  /* スマホ：見出し20px・小見出し18px・本文16px・注釈14px（375px幅） */
  html body main#policy section#privacy .inner h2 {
    font-size: 1.25rem;
  }

  html body main#policy section#privacy .inner h3 {
    font-size: 1.125rem;
  }

  html body main#policy section#privacy .inner p,
  html body main#policy section#privacy .inner li,
  html body main#policy section#privacy .inner dl {
    font-size: 1rem;
  }

  html body main#policy section#privacy .inner p.note {
    font-size: 0.875rem;
  }

  html body main#policy section#privacy .inner p+ul {
    margin-top: 3.2vw;
  }
}

/* 各ページのタイトル（プライバシーポリシー など）も今の大きさ（375px幅で約30px）のまま。大きくすると「ポリシー」「方針」の途中で改行されるため */
@media screen and (max-width: 768px) {

  html body main#news section#title .inner h1>span,
  html body main#news_detail section#title .inner h1>span,
  html body main#policy section#title .inner h1>span,
  html body main#notfound section#title .inner h1>span,
  html body main#exhibitors section#title .inner h1>span,
  html body main#exhibitors-venuemap section#title .inner h1>span,
  html body main#event section#title .inner h1>span {
    font-size: 1.875rem;
  }
}

/* URLを行の途中でも折り返して、行末に大きな余白ができないようにする（2026-10-19） */
.url_text {
  word-break: break-all;
  font-weight: inherit;
  vertical-align: baseline;
}

/* 来場登録案内の「Coming Soon」：スマホで小さすぎるため 32px（2rem）に（2026-10-19 さかいさん指示。もとは1.428rem＝約23px） */
@media screen and (max-width: 768px) {
  html body main#index section#visitor .end {
    font-size: 2rem;
  }
}

/* 途中で改行させない（「（最終入場16:30）」など） */
.tre_nowrap {
  white-space: nowrap;
  font-weight: inherit;
  /* reset.css で span が細字・上下中央になるのを打ち消す */
  vertical-align: baseline;
}

/* ===== 2026-10-19 フッターの住所：スマホで「〒192-0046」と住所の間が大きく空く問題の修正 ===== */
/* スマホのブラウザが住所を自動で見つけてリンク（span・a）に包むと、「address span { display: block; }」が中にも効いて住所だけ別の行に落ちるため、中の要素は行の中に並べる */
html body footer .inner address span span,
html body footer .inner address span a {
  display: inline;
  color: inherit;
}

/* ===== タブレット（769〜1023px）の表示調整（2026-10-19 さかいさん指示：iPad実機の確認で、PC用の大きさがそのまま出て崩れていたため）=====
   この範囲だけに効く指定。PC（1024px以上）とスマホ（768px以下）の表示は変えない。
   ① メインビジュアル：ロゴは画面幅に合わせて縮むのに文字はPCの大きさのままだったため、文字を小さくしてPCと近いバランスにする（文字の拡大・文字サイズ設定に追従するよう rem で指定）
   ② セクション見出し：PCの大きさ（64px／94px）では大きすぎるため小さくする。来場登録案内の見出し・案内文・Coming Soon も合わせる
   ③ たま未来連携EXPOとは：2列だと本文の幅が狭すぎるため1列にし、画像は幅の半分にする
   ④ 出展者：団体名をPCの22pxから17pxに
   ⑤ 開催概要・アクセス：2列だと地図が縦長になるため1列にし、項目を2列に並べ、地図はその下に横長で置く。見出し（開催日時など）が途中で折り返さないようにする */
@media screen and (min-width: 769px) and (max-width: 1023px) {

  /* ① メインビジュアル（ロゴはPCの約57%幅より少し大きく） */
  html body main#index section#mainvisual .inner h1 {
    width: 64vw;
  }

  html body main#index section#mainvisual .inner h2 {
    font-size: 2.25rem;
  }

  html body main#index section#mainvisual .inner strong {
    font-size: 1.25rem;
  }

  html body main#index section#mainvisual .inner strong b {
    font-size: 2.25rem;
  }

  html body main#index section#mainvisual .inner strong span {
    font-size: 1.5rem;
  }

  html body main#index section#mainvisual .inner dl dt,
  html body main#index section#mainvisual .inner dl dd {
    font-size: 1.25rem;
  }

  /* ② セクション見出し */
  html body main#index section:not(#mainvisual) .inner>h2,
  html body main#index section#visitor .inner>div>h2 {
    font-size: 2.75rem;
  }

  html body main#index section#visitor .inner>div>em {
    font-size: 1.25rem;
  }

  html body main#index section#visitor .inner>div>.end {
    font-size: 2rem;
  }

  html body main#index section:not(#mainvisual) .inner strong[lang="en"] {
    font-size: 3.75rem;
  }

  /* ③ たま未来連携EXPOとは */
  html body main#index section#about .inner>div {
    display: block;
  }

  html body main#index section#about .inner>div figure {
    width: 50%;
    margin: 40px auto 0;
  }

  /* ④ 出展者 */
  html body main#index section#exhibitors-venuemap .inner>div ul li {
    font-size: 1.0625rem;
  }

  /* ⑤ 開催概要・アクセス */
  html body main#index section#overview .inner>div {
    display: block;
  }

  html body main#index section#overview .inner>div>div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 40px;
    align-items: start;
  }

  html body main#index section#overview .inner>div>div dl:nth-of-type(n+2) {
    margin-top: 0;
  }

  html body main#index section#overview .inner>div>div dl dt {
    width: fit-content;
    min-width: 120px;
    padding: 8px 16px;
  }

  html body main#index section#overview .inner>div>div dl dt span {
    white-space: nowrap;
  }

  html body main#index section#overview .inner>div>div dl dd {
    line-break: strict;
  }

  html body main#index section#overview .inner>div iframe {
    width: 100%;
    aspect-ratio: 16/10;
    margin: 48px 0 0;
  }
}

/* ===== タブレット（769〜1023px）の表示調整ここまで ===== */
/* ===== イベント情報 1列案（2026-10-20 さかいさん：タブレットで試しに見たい）=====
   タブレット（769〜1023px）だけに効く。写真を横長（16:9）で上に、説明文をその下に置く。
   元の「写真を左・説明文を右」に戻すときは、ここから「イベント情報 1列案ここまで」までを消す */
@media screen and (min-width: 769px) and (max-width: 1023px) {
  html body main#index section#event .inner ul.event_c {
    gap: 56px;
  }
  html body main#index section#event .inner ul.event_c li {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
  html body main#index section#event .inner ul.event_c .photo {
    flex: none;
    width: 100%;
    aspect-ratio: 16/9;
  }
  html body main#index section#event .inner ul.event_c .cap {
    left: 28px;
    right: 28px;
    bottom: 24px;
  }
  html body main#index section#event .inner ul.event_c .cap .no {
    font-size: 48px;
  }
  html body main#index section#event .inner ul.event_c li h3 {
    font-size: 1.375rem;
  }
}
/* ===== イベント情報 1列案ここまで ===== */
/* ===== 会場マップ（MAPボタンとダイアログ）・来場登録ボタン 2026-10-26 11/6更新 決定ログ§1-45④ =====
   header.php の #map_btn・li.entry、footer.php の #venue_map_dialog、front-page.php の来場登録ボタン。js/common.js の最後で開け閉めする。
   来場登録の赤は、ワイヤーの赤（#FF0000）に近い #EE0000→#D20000 のうっすらしたグラデーション。
   白い文字との差は 4.5:1 以上（#FF0000 は 4.0:1 で、東京都の基準の 4.5:1 に足りないため） */
/* MAPボタン：ヘッダーの右端（上下の真ん中）。色は見出しと同じ緑→青のグラデーション（白文字との差 6.7:1 以上） */
html body header .inner .map_btn {
  position: absolute;
  top: 50%;
  right: min(2.431vw, 35px);
  transform: translateY(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(4.861vw, 70px);
  height: min(4.861vw, 70px);
  min-width: 56px;
  min-height: 56px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: box-shadow 0.3s ease;
}
html body header .inner .map_btn:hover {
  box-shadow: 0 0 0 4px rgba(15, 76, 134, 0.25);
}
/* 来場登録：メニューの最後に赤いボタン（リンク先が届くまではリンクなしの同じ見た目）。直前の「開催概要・アクセス」の後ろの「／」は出さない
   （メニューの並び：…開催概要・アクセス／来場登録／会場マップ〈ハンバーガーのときだけ〉） */
/* 2026-11-06 直し：「後ろから3番目」で決めていたため、MAPと来場登録を隠すと「イベント」の後ろの「／」が消えていた。来場登録の直前の項目を指す書き方に変更 */
html body header .inner #global_nav > ul li:has(+ li.entry)::after,
html body header .inner #global_nav > ul li.entry::after {
  content: none;
}
/* ハンバーガーメニューの中の「会場マップ」：横並びのメニューのときは出さない（2026-10-27） */
html body header .inner #global_nav > ul li.map_item {
  display: none;
}
html body header .inner #global_nav > ul li.map_item .map_menu_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 0;
  border: 0;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
html body header .inner #global_nav > ul li.entry {
  margin-left: min(0.694vw, 10px);
}
html body header .inner #global_nav > ul li.entry a,
html body header .inner #global_nav > ul li.entry .entry_nolink {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-width: min(12.5vw, 180px);
  height: min(4.167vw, 60px);
  min-height: 48px;
  padding: 0 16px;
  border-radius: 5px;
  background: linear-gradient(135deg, #EE0000 0%, #D20000 100%);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  white-space: nowrap;
}
html body header .inner #global_nav > ul li.entry a img,
html body header .inner #global_nav > ul li.entry .entry_nolink img {
  width: 16px;
}
html body header .inner #global_nav > ul li.entry a span {
  font-weight: 700;
}
html body header .inner #global_nav > ul li.entry a span::after {
  content: none;
}
/* スマホ：MAPはメニューの中の「会場マップ」。来場登録はメニューの中の一番下に横いっぱいのボタン */
@media screen and (max-width: 768px) {
  /* MAPはヘッダーには出さず、メニューの中の「会場マップ」にする（2026-10-27 さかいさん指示） */
  html body header .inner .map_btn {
    display: none;
  }
  html body header .inner #global_nav > ul li.map_item {
    display: block;
    margin: 3.2vw 0 0;
    border: none;
  }
  html body header .inner #global_nav > ul li.map_item .map_menu_btn {
    height: 16vw;
    border-radius: 1.333vw;
    font-size: max(1rem, 4.267vw);
  }
  html body header .inner #global_nav > ul li.entry {
    margin: 5.333vw 0 0;
    border: none;
  }
  html body header .inner #global_nav > ul li.entry a,
  html body header .inner #global_nav > ul li.entry .entry_nolink {
    width: 100%;
    height: 16vw;
    padding: 0;
    border-radius: 1.333vw;
    font-size: max(1rem, 4.267vw);
  }
  html body header .inner #global_nav > ul li.entry a span {
    font-size: max(1rem, 4.267vw);
  }
  html body header .inner #global_nav > ul li.entry a img,
  html body header .inner #global_nav > ul li.entry .entry_nolink img {
    width: 4vw;
  }
}
/* タブレット・幅の狭いパソコン（769px〜77.5em）：メニューと来場登録・MAPが重ならないよう、ハンバーガーメニューにする
   （2026-10-26 さかいさん指示。77.5em はふつうの文字の大きさで 1240px。iPad を横にしたとき〈1180px〉もハンバーガー。
   em で決めているので、ブラウザの文字の大きさを大きくしている人は、もっと広い幅からハンバーガーになり、MAPと重ならない。2026-10-27 レビュー指摘で 1180px から変更） */
@media screen and (min-width: 769px) and (max-width: 77.5em) {
  html body header .inner {
    background: #fff;
    height: 72px;
    padding: 0;
  }
  html body header .inner .header_area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0 0 0 24px;
    background: #fff;
    z-index: 300;
  }
  html body header .inner .header_area .logo {
    width: 64px;
  }
  html body header .inner .header_area .logo img {
    display: block;
  }
  html body header .inner .header_area #nav_toggle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 72px;
    height: 72px;
    cursor: pointer;
    position: relative;
  }
  html body header .inner .header_area #nav_toggle span {
    position: absolute;
    display: block;
    width: 28px;
    height: 1px;
    background: #000;
    transition: transform 0.3s ease-in-out, top 0.2s ease;
  }
  html body header .inner .header_area #nav_toggle span:nth-child(1) {
    top: calc(50% - 7px);
  }
  html body header .inner .header_area #nav_toggle span:nth-child(2) {
    top: 50%;
  }
  html body header .inner .header_area #nav_toggle span:nth-child(3) {
    top: calc(50% + 7px);
  }
  html body header .inner.open .header_area #nav_toggle span:nth-child(1) {
    top: 50%;
    transform: rotate(45deg);
  }
  html body header .inner.open .header_area #nav_toggle span:nth-child(2) {
    width: 0;
  }
  html body header .inner.open .header_area #nav_toggle span:nth-child(3) {
    top: 50%;
    transform: rotate(-45deg);
  }
  html body header .inner #global_nav {
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    max-height: 100vh;
    max-height: 100dvh;
    padding: 104px 40px 56px;
    overflow-y: auto;
    background: #fff;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-100%);
    transition: transform 0.3s ease, opacity 0.1s ease;
    z-index: 200;
  }
  html body header .inner.open #global_nav {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition: transform 0.5s ease, opacity 0.9s ease;
  }
  html body header .inner #global_nav > ul {
    display: block;
    max-width: 640px;
    margin: 0 auto;
  }
  html body header .inner #global_nav > ul li {
    display: block;
    border-bottom: 1px #000 dotted;
  }
  html body header .inner #global_nav > ul li::after {
    content: none;
  }
  html body header .inner #global_nav > ul li a {
    padding: 20px 0;
  }
  html body header .inner #global_nav > ul li a span {
    position: static;
    font-size: 1.25rem;
    font-weight: 700;
  }
  html body header .inner #global_nav > ul li a span::after {
    content: none;
  }
  html body header .inner #global_nav > ul li.entry {
    margin: 24px 0 0;
    border: none;
  }
  html body header .inner #global_nav > ul li.entry a,
  html body header .inner #global_nav > ul li.entry .entry_nolink {
    width: 100%;
    height: 64px;
    padding: 0;
    font-size: 1.125rem;
  }
  html body header .inner #global_nav > ul li.entry a span {
    font-size: 1.125rem;
  }
  /* MAPはヘッダーには出さず、メニューの中の「会場マップ」にする（2026-10-27 さかいさん指示） */
  html body header .inner .map_btn {
    display: none;
  }
  html body header .inner #global_nav > ul li.map_item {
    display: block;
    margin: 12px 0 0;
    border: none;
  }
  html body header .inner #global_nav > ul li.map_item .map_menu_btn {
    height: 64px;
    border-radius: 5px;
    font-size: 1.125rem;
  }
  /* ヘッダーが高さ72pxの白になるので、トップのメインビジュアルの上端が隠れないようにする（2026-10-27 レビュー指摘） */
  html body main#index section#mainvisual {
    margin-top: max(72px, 6.944vw);
  }
}
/* トップのメインビジュアルの来場登録ボタン：メニューと同じ赤のグラデーション。リンク先が届くまではリンクなしの同じ見た目 */
html body main#index section#mainvisual .inner .btn:nth-of-type(1) a,
html body main#index section#visitor .inner div .btn:nth-of-type(1) a {
  background: linear-gradient(135deg, #EE0000 0%, #D20000 100%);
}
/* 大きい来場登録ボタン：文字を大きくしても赤の外にはみ出さないよう、高さを固定せず「最低の高さ」にする（2026-10-27 レビュー指摘） */
html body main#index section#mainvisual .inner .btn a,
html body main#index section#visitor .inner div .btn a {
  height: auto;
  min-height: min(7.639vw, 110px);
  padding: 28px 16px; /* 2026-11-08 タブレットで上下の余白が狭いので12px→28px（さかいさん指示）。PC（1440px以上）は最低の高さ110pxが効くので見た目は変わらない */
  text-align: center;
}
@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner .btn a,
  html body main#index section#visitor .inner div .btn a {
    min-height: 16vw;
    padding: 8px 12px;
  }
}
html body main#index section#mainvisual .inner .btn.entry_nolink > span,
html body main#index section#visitor .inner div .btn.entry_nolink > span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: min(7.639vw, 110px);
  padding: 28px 16px; /* 2026-11-08 タブレットで上下の余白が狭いので12px→28px（さかいさん指示）。PC（1440px以上）は最低の高さ110pxが効くので見た目は変わらない */
  border-radius: min(0.694vw, 10px);
  background: linear-gradient(135deg, #EE0000 0%, #D20000 100%);
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
}
html body main#index section#mainvisual .inner .btn.entry_nolink > span img,
html body main#index section#visitor .inner div .btn.entry_nolink > span img {
  width: min(1.736vw, 25px);
  margin-right: min(0.694vw, 10px);
}
@media screen and (max-width: 768px) {
  html body main#index section#mainvisual .inner .btn.entry_nolink > span,
  html body main#index section#visitor .inner div .btn.entry_nolink > span {
    min-height: 16vw;
    padding: 8px 12px;
    border-radius: 1.333vw;
    font-size: 1.142rem; /* リンクになったとき（.btn a）と同じ大きさ */
  }
  html body main#index section#mainvisual .inner .btn.entry_nolink > span img,
  html body main#index section#visitor .inner div .btn.entry_nolink > span img {
    width: 4vw;
    margin-right: 1.333vw;
  }
}
/* 来場登録ボタンのマウスを乗せたとき（メニュー・トップ共通。10/26 さかいさん指示）
   サイトの他のボタンは薄くする（.alpha）が、赤が薄くなると白い文字が読みにくくなるので、少し濃く・少し浮かせる。
   リンク先が届く前（リンクなし）も同じ動き。マウスのない画面（スマホ・タブレット）では動かさない */
html body header .inner #global_nav > ul li.entry a,
html body header .inner #global_nav > ul li.entry .entry_nolink,
html body main#index section#mainvisual .inner .btn:nth-of-type(1) a,
html body main#index section#mainvisual .inner .btn.entry_nolink > span,
html body main#index section#visitor .inner div .btn:nth-of-type(1) a,
html body main#index section#visitor .inner div .btn.entry_nolink > span {
  transition: filter 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
@media (hover: hover) {
  html body header .inner #global_nav > ul li.entry a:hover,
  html body header .inner #global_nav > ul li.entry .entry_nolink:hover,
  html body main#index section#mainvisual .inner .btn:nth-of-type(1) a:hover,
  html body main#index section#mainvisual .inner .btn.entry_nolink > span:hover,
  html body main#index section#visitor .inner div .btn:nth-of-type(1) a:hover,
  html body main#index section#visitor .inner div .btn.entry_nolink > span:hover {
    opacity: 1;
    filter: brightness(0.9);
    box-shadow: 0 6px 16px rgba(210, 0, 0, 0.3);
    transform: translateY(-2px);
  }
}
/* ダイアログを開いている間は、後ろのページを動かさない */
html.is_dialog_open {
  overflow: hidden;
}
/* ダイアログ：画面いっぱいに広げ、後ろを暗くする */
html body .map_dialog {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  overflow: auto;
}
html body .map_dialog::backdrop {
  background: rgba(0, 0, 0, 0.85);
}
html body .map_dialog .map_dialog_inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  min-height: 100%;
  padding: 72px 40px 40px;
  box-sizing: border-box;
}
html body .map_dialog .map_dialog_title {
  position: absolute;
  top: 24px;
  left: 40px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
html body .map_dialog .map_dialog_close {
  position: absolute;
  top: 12px;
  right: 24px;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
html body .map_dialog .map_dialog_close::before,
html body .map_dialog .map_dialog_close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 28px;
  height: 2px;
  background: #fff;
}
html body .map_dialog .map_dialog_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
html body .map_dialog .map_dialog_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
/* Windows のハイコントラスト表示でも ✕ と枠が見えるようにする（2026-10-27 レビュー指摘） */
@media (forced-colors: active) {
  html body .map_dialog .map_dialog_close {
    border: 1px solid ButtonText;
  }
  html body .map_dialog .map_dialog_close::before,
  html body .map_dialog .map_dialog_close::after {
    background: ButtonText;
  }
}
html body .map_dialog .map_dialog_img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, 1200px);
  max-height: calc(100vh - 180px);
  background: #fff;
}
/* マップ画像が届くまでの仮の表示 */
html body .map_dialog .map_dialog_preparing {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(100%, 600px);
  aspect-ratio: 16/9;
  margin: 0;
  background: #fff;
  color: #262626;
  font-size: 1.125rem;
  font-weight: 700;
}
html body .map_dialog .map_dialog_link {
  margin: 0;
  font-size: 1rem;
}
html body .map_dialog .map_dialog_link a {
  color: #fff;
  text-decoration: underline;
}
/* 暗い背景の上なので、フォーカスの枠は白にする */
html body .map_dialog :focus-visible {
  outline-color: #fff;
}
@media screen and (max-width: 768px) {
  html body .map_dialog .map_dialog_inner {
    gap: 4.267vw;
    padding: 17.067vw 5.333vw 6.4vw;
  }
  html body .map_dialog .map_dialog_title {
    top: 5.333vw;
    left: 5.333vw;
    font-size: max(1rem, 4.267vw);
  }
  html body .map_dialog .map_dialog_close {
    top: 2.133vw;
    right: 2.133vw;
  }
  html body .map_dialog .map_dialog_img {
    max-height: calc(100vh - 40vw);
  }
  html body .map_dialog .map_dialog_preparing,
  html body .map_dialog .map_dialog_link {
    font-size: max(1rem, 4.267vw);
  }
}
/* ===== 会場マップここまで ===== */
/* トップの出展者「詳細はこちら」（2026-10-26 11/6更新で表示を戻した）：学術機関等のボタンの金色を、見出しと同じ #886D00 に
   （2025年の色 #AC8D11 は白い文字との差が 3.2:1 で、東京都の基準の 4.5:1 に足りないため。#886D00 は 4.96:1） */
html body main#index section#exhibitors-venuemap .inner > div:nth-of-type(1) .btn a {
  background: #886D00;
}
/* 2026-11-08 トップの出展者「詳細はこちら」：幅・高さを画面幅（vw）で決めていたため、タブレット（820px）で 131×34px になり、文字の周りの余白が上下4px・左右6pxしかなかった（さかいさん指摘）。
   幅・高さの指定をやめ、余白（padding）で大きさを決める。PC（1440px以上）は今までと同じ 230×60px になる値（上下21px・左右51px）にして、タブレットでも同じ大きさにする */
html body main#index section#exhibitors-venuemap .inner > div .btn {
  display: flex;
  justify-content: center;
  width: auto;
}
html body main#index section#exhibitors-venuemap .inner > div .btn a {
  width: auto;
  height: auto;
  padding: 21px 51px;
}
html body main#index section#exhibitors-venuemap .inner > div .btn a img {
  width: 10px;
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  /* スマホは今までどおり横幅いっぱい。高さは余白で決める（375px幅で今までと同じ60px） */
  html body main#index section#exhibitors-venuemap .inner > div .btn a {
    width: 100%;
    padding: 22px 16px;
  }
}
/* ===== 出展者一覧（page-exhibitors-venuemap.php）2026-10-27 11/6更新で作り直し 決定ログ§1-45 =====
   ゾーンの色はワイヤー（20261026_受領 4枚目）の色。白い文字では読みにくい明るい色（Tech の水色・Medical の黄色）は黒い文字にする。
   --zone：ラベル・枠の色、--zone-on：ラベルの文字色、--zone-ink：クリーム色の上に出すブースNo.の文字色（どれも文字との差 4.5:1 以上） */
html body main#exhibitors-venuemap .zone_tech { --zone: #00B0F0; --zone-on: #262626; --zone-ink: #0077A8; }
html body main#exhibitors-venuemap .zone_startup { --zone: #7030A0; --zone-on: #fff; --zone-ink: #7030A0; }
html body main#exhibitors-venuemap .zone_medical { --zone: #FFC000; --zone-on: #262626; --zone-ink: #8A6500; }
html body main#exhibitors-venuemap .zone_regional { --zone: #0070C0; --zone-on: #fff; --zone-ink: #0070C0; }
html body main#exhibitors-venuemap .zone_municipality { --zone: #002060; --zone-on: #fff; --zone-ink: #002060; }
html body main#exhibitors-venuemap .zone_support { --zone: #C00000; --zone-on: #fff; --zone-ink: #C00000; }
/* 会場エリア（説明文とゾーンのボタン） */
html body main#exhibitors-venuemap section#area .inner {
  align-items: stretch;
  padding: min(6.944vw, 100px) 0 0;
}
html body main#exhibitors-venuemap section#area .inner > h2 {
  text-align: center;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.4;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
html body main#exhibitors-venuemap section#area .inner > .comment {
  margin-top: 1em;
}
html body main#exhibitors-venuemap section#area .inner > h2 + .comment {
  margin-top: min(2.778vw, 40px);
}
html body main#exhibitors-venuemap section#area .zone_nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px 40px;
  margin-top: min(4.167vw, 60px);
}
html body main#exhibitors-venuemap section#area .zone_nav li > a,
html body main#exhibitors-venuemap section#area .zone_nav li > .zone_btn {
  display: block;
  height: 100%;
  transition: transform 0.3s ease;
}
html body main#exhibitors-venuemap section#area .zone_nav .label {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: 20px;
  padding: 4px 18px;
  border-radius: 999px;
  background: var(--zone);
  color: var(--zone-on);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
}
html body main#exhibitors-venuemap section#area .zone_nav .arrow::before {
  content: "＞";
}
html body main#exhibitors-venuemap section#area .zone_nav .desc {
  display: block;
  height: calc(100% - 17px);
  margin-top: -17px;
  padding: 24px 16px 14px;
  border: 2px solid var(--zone);
  border-radius: 8px;
  background: #fff;
  color: #262626;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  transition: box-shadow 0.3s ease;
}
/* 出展者がまだいないゾーン（押せない）：枠を点線、文字を灰色にして押せるものと見分ける */
html body main#exhibitors-venuemap section#area .zone_nav .is_empty .desc {
  border-style: dashed;
  color: #595959;
}
@media (hover: hover) {
  html body main#exhibitors-venuemap section#area .zone_nav li > a:hover {
    transform: translateY(-2px);
  }
  html body main#exhibitors-venuemap section#area .zone_nav li > a:hover .desc {
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  }
}
/* 出展者のカード */
html body main#exhibitors-venuemap section#list .inner {
  align-items: stretch;
  padding: min(5.556vw, 80px) 0 min(13.889vw, 200px);
}
html body main#exhibitors-venuemap section#list .exhibitor_cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
html body main#exhibitors-venuemap section#list .zone_group {
  /* ゾーンのボタンで移動したとき、固定のヘッダーに隠れないようにする */
  scroll-margin-top: 130px;
}
html body main#exhibitors-venuemap section#list .zone_group + .zone_group {
  margin-top: 32px;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards li > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 24px 20px 28px;
  background: #FDF8EA;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .booth {
  order: 1;
  color: var(--zone-ink);
  font-family: "Oswald", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .zone_label {
  order: 2;
  margin-top: 8px;
  padding: 3px 16px;
  border-radius: 999px;
  background: var(--zone);
  color: var(--zone-on);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.5;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .logo {
  order: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 16/9;
  margin-top: 16px;
  padding: 12px;
  background: #fff;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .logo img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .name {
  order: 4;
  margin-top: 16px;
  color: #262626;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
@media (hover: hover) {
  html body main#exhibitors-venuemap section#list .exhibitor_cards li > a:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  }
}
/* タブレット：カードは2列 */
@media screen and (min-width: 769px) and (max-width: 1023px) {
  html body main#exhibitors-venuemap section#list .exhibitor_cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* スマホ：ゾーンのボタンは1列、カードは2列 */
@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#area .inner {
    padding: 13.333vw 5.333vw 0;
  }
  html body main#exhibitors-venuemap section#area .inner > h2 {
    font-size: max(1.5rem, 6.4vw);
  }
  html body main#exhibitors-venuemap section#area .inner > h2 + .comment {
    margin-top: 5.333vw;
  }
  html body main#exhibitors-venuemap section#area .zone_nav {
    grid-template-columns: 1fr;
    gap: 5.333vw;
    margin-top: 8vw;
  }
  html body main#exhibitors-venuemap section#area .zone_nav .label {
    margin-left: 4vw;
    font-size: max(0.8125rem, 3.467vw);
  }
  html body main#exhibitors-venuemap section#area .zone_nav .desc {
    font-size: max(0.875rem, 3.733vw);
  }
  html body main#exhibitors-venuemap section#list .inner {
    padding: 10.667vw 5.333vw 26.667vw;
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.2vw;
  }
  html body main#exhibitors-venuemap section#list .zone_group {
    scroll-margin-top: 21.333vw;
  }
  html body main#exhibitors-venuemap section#list .zone_group + .zone_group {
    margin-top: 3.2vw;
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards li > a {
    padding: 4.267vw 2.667vw 5.333vw;
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .booth {
    font-size: max(1.25rem, 5.333vw);
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .zone_label {
    padding: 0.8vw 2.667vw;
    font-size: max(0.75rem, 2.933vw);
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .logo {
    margin-top: 3.2vw;
    padding: 2.133vw;
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .name {
    margin-top: 3.2vw;
    font-size: max(0.8125rem, 3.467vw);
  }
}
/* ===== 出展者一覧ここまで ===== */
/* ===== 出展者の詳細（single-exhibitors.php の2026年版）2026-10-27 11/6更新 ワイヤー 20261026_受領 5〜7枚目 =====
   ゾーンの色は出展者一覧と同じ。2025年の出展者（ゾーンが空）は、これまでどおり main#exhibitors の古い形で出る */
html body main#exhibitors.ex26 .zone_tech { --zone: #00B0F0; --zone-on: #262626; }
html body main#exhibitors.ex26 .zone_startup { --zone: #7030A0; --zone-on: #fff; }
html body main#exhibitors.ex26 .zone_medical { --zone: #FFC000; --zone-on: #262626; }
html body main#exhibitors.ex26 .zone_regional { --zone: #0070C0; --zone-on: #fff; }
html body main#exhibitors.ex26 .zone_municipality { --zone: #002060; --zone-on: #fff; }
html body main#exhibitors.ex26 .zone_support { --zone: #C00000; --zone-on: #fff; }
html body main#exhibitors.ex26 section#ex26_detail .inner {
  display: block;
  width: min(55.556vw, 800px);
  padding: min(5.556vw, 80px) 0 min(13.889vw, 200px);
  margin: 0 auto;
}
/* ゾーン・ブースNo. */
html body main#exhibitors.ex26 section#ex26_detail .ex_head {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px 24px;
}
html body main#exhibitors.ex26 section#ex26_detail .zone_label {
  padding: 4px 18px;
  border-radius: 999px;
  background: var(--zone);
  color: var(--zone-on);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
}
html body main#exhibitors.ex26 section#ex26_detail .booth {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
}
html body main#exhibitors.ex26 section#ex26_detail .booth_label {
  padding: 4px 14px;
  background: #262626;
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.5;
}
html body main#exhibitors.ex26 section#ex26_detail .booth_no {
  color: #262626;
  font-family: "Oswald", sans-serif;
  font-size: 1.5rem;
  line-height: 1;
}
/* 出展者名・ロゴ */
html body main#exhibitors.ex26 section#ex26_detail .ex_name {
  margin-top: 24px;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 16/7;
  margin-top: 32px;
  padding: 24px;
  background: #F4F4F4;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_logo img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
/* 項目（シーズ・ニーズなど） */
html body main#exhibitors.ex26 section#ex26_detail .ex_body {
  margin-top: 56px;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_block + .ex_block {
  margin-top: 40px;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_block h3 {
  padding-left: 14px;
  border-left: 6px solid #086B0B;
  border-image: linear-gradient(180deg, #086B0B 0%, #0F4C86 100%) 1;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_block .ex_title {
  margin-top: 16px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_block .comment {
  margin-top: 12px;
  overflow-wrap: anywhere;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_block h4 {
  margin-top: 20px;
  color: #0F4C86;
  font-size: 1rem;
  font-weight: 700;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_site {
  margin-top: 48px;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_site a {
  color: #0F4C86;
  font-weight: 700;
  text-decoration: underline;
}
/* 前の出展者・出展者一覧へ・次の出展者 */
html body main#exhibitors.ex26 section#ex26_detail .ex_pager {
  margin-top: 80px;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_pager .pager_row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_pager .prev {
  justify-self: start;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_pager .next {
  justify-self: end;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_pager .prev a,
html body main#exhibitors.ex26 section#ex26_detail .ex_pager .next a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  color: #086B0B;
  font-family: "Oswald", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_pager .arrow {
  position: relative;
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
}
html body main#exhibitors.ex26 section#ex26_detail .ex_pager .arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  border-style: solid;
  border-color: transparent;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_pager .prev .arrow::before {
  border-width: 7px 11px 7px 0;
  border-right-color: #fff;
  transform: translate(-60%, -50%);
}
html body main#exhibitors.ex26 section#ex26_detail .ex_pager .next .arrow::before {
  border-width: 7px 0 7px 11px;
  border-left-color: #fff;
  transform: translate(-40%, -50%);
}
html body main#exhibitors.ex26 section#ex26_detail .ex_pager .back a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 280px;
  min-height: 56px;
  padding: 0 32px;
  border: 2px solid #086B0B;
  border-radius: 999px;
  background: #fff;
  color: #086B0B;
  font-size: 1rem; /* 2025年の古いルールで 0 になるのを上書き */
  font-weight: 700;
  transition: background 0.3s ease;
}
@media (hover: hover) {
  html body main#exhibitors.ex26 section#ex26_detail .ex_pager .back a:hover {
    background: #F5F9F5;
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_pager .prev a:hover,
  html body main#exhibitors.ex26 section#ex26_detail .ex_pager .next a:hover {
    text-decoration: underline;
  }
}
/* ハイコントラスト表示でも矢印が見えるようにする */
@media (forced-colors: active) {
  /* 色の置き換えをせず、緑の丸と白い三角のまま見せる（三角を枠線で描いているため、置き換わると形が崩れる） */
  html body main#exhibitors.ex26 section#ex26_detail .ex_pager .arrow,
  html body main#exhibitors.ex26 section#ex26_detail .ex_pager .arrow::before {
    forced-color-adjust: none;
  }
}
/* タブレット：本文の幅を広げる */
@media screen and (min-width: 769px) and (max-width: 1023px) {
  html body main#exhibitors.ex26 section#ex26_detail .inner {
    width: min(83.333vw, 800px);
  }
}
@media screen and (max-width: 768px) {
  html body main#exhibitors.ex26 section#ex26_detail .inner {
    width: 100%;
    padding: 10.667vw 5.333vw 26.667vw;
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_head {
    gap: 2.667vw 4.267vw;
  }
  html body main#exhibitors.ex26 section#ex26_detail .zone_label,
  html body main#exhibitors.ex26 section#ex26_detail .booth_label {
    font-size: max(0.75rem, 3.2vw);
  }
  html body main#exhibitors.ex26 section#ex26_detail .booth_no {
    font-size: max(1.25rem, 5.333vw);
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_name {
    margin-top: 4.267vw;
    font-size: max(1.5rem, 6.4vw);
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_logo {
    margin-top: 5.333vw;
    padding: 4.267vw;
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_body {
    margin-top: 10.667vw;
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_block + .ex_block {
    margin-top: 8vw;
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_block h3 {
    padding-left: 2.667vw;
    border-left-width: 1.333vw;
    font-size: max(1.125rem, 4.8vw);
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_block .ex_title {
    font-size: max(1rem, 4.267vw);
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_block h4 {
    font-size: max(0.875rem, 3.733vw);
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_pager {
    margin-top: 13.333vw;
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_pager .pager_row {
    grid-template-columns: auto 1fr auto;
    gap: 2.667vw;
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_pager .back {
    justify-self: stretch;
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_pager .back a {
    width: 100%;
    min-width: 0;
    min-height: 12.8vw;
    padding: 0 2.667vw;
    font-size: max(0.875rem, 3.733vw);
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_pager .prev a,
  html body main#exhibitors.ex26 section#ex26_detail .ex_pager .next a {
    gap: 1.6vw;
    font-size: max(1rem, 4.267vw);
  }
  html body main#exhibitors.ex26 section#ex26_detail .ex_pager .arrow {
    width: 9.6vw;
    height: 9.6vw;
    min-width: 32px;
    min-height: 32px;
  }
}
/* ===== 出展者の詳細ここまで ===== */
/*# sourceMappingURL=style.css.map */
/* 2026-11-02 出展者のロゴ：縦長・正方形のロゴでも枠の高さをそろえる（枠の縦横比のまま、中に収める） */
html body main#exhibitors-venuemap section#list .exhibitor_cards .logo,
html body main#exhibitors.ex26 section#ex26_detail .ex_logo {
  min-height: 0;
  overflow: hidden;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .logo img,
html body main#exhibitors.ex26 section#ex26_detail .ex_logo img {
  width: 100%;
  height: 100%;
}

/* 2026-11-02 会場マップ：開くとき・閉じるときにふわっと表示・非表示（0.25秒。js/common.js で is_shown を付け外し） */
html body .map_dialog,
html body .map_dialog::backdrop {
  opacity: 0;
  transition: opacity 0.25s ease;
}
html body .map_dialog.is_shown,
html body .map_dialog.is_shown::backdrop {
  opacity: 1;
}
/* 動きを減らす設定の人には、すぐ表示・非表示にする */
@media (prefers-reduced-motion: reduce) {
  html body .map_dialog,
  html body .map_dialog::backdrop {
    transition: none;
  }
}

/* 2026-11-03 出展者一覧のカード：案A（Claude Designのキャンバス「出展者カード デザイン案」）
   白いカード＋上にゾーン色の帯／上の段にゾーン名とブースNo.／ロゴは高さをそろえる（横長すぎるロゴは幅に合わせて低くなる）／下の段に名前と「＞」
   見た目の並びは grid-template-areas で決める（読み上げは HTML の順＝名前が先のまま） */
html body main#exhibitors-venuemap section#list .exhibitor_cards li > a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr auto;
  grid-template-areas: "zone booth" "logo logo" "name arrow";
  align-items: center;
  padding: 20px 20px 22px;
  border: 1px solid #E8E1CF;
  border-top: 6px solid var(--zone);
  border-radius: 8px;
  background: #fff;
  text-align: left;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .zone_label {
  grid-area: zone;
  justify-self: start;
  margin-top: 0;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .booth {
  grid-area: booth;
  justify-self: end;
  padding-left: 12px;
  font-size: 1.375rem;
  line-height: 1;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .logo {
  grid-area: logo;
  height: 150px;
  aspect-ratio: auto;
  margin-top: 16px;
  padding: 0 8px;
  background: transparent;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .logo img {
  width: auto;
  height: 96px;
  max-width: 100%;
  object-fit: contain;
}
/* ロゴがない出展者：ロゴの場所に名前を出す（読み上げは下の名前だけ） */
html body main#exhibitors-venuemap section#list .exhibitor_cards .logo .logo_name {
  color: #595959;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .name {
  grid-area: name;
  align-self: stretch;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #EFE9DA;
  font-size: 1.0625rem;
  text-align: left;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .arrow {
  grid-area: arrow;
  align-self: stretch;
  display: flex;
  align-items: flex-end;
  margin-top: 14px;
  padding: 14px 0 0 12px;
  border-top: 1px solid #EFE9DA;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards .arrow::before {
  content: "＞";
  display: inline-flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  width: 32px;
  height: 32px;
  border: 1px solid #262626;
  border-radius: 50%;
  color: #262626;
  font-size: 0.875rem;
}
/* スマホ（カード2列）：ブースNo.とゾーン名は縦に並べる */
@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#list .exhibitor_cards li > a {
    grid-template-areas: "booth booth" "zone zone" "logo logo" "name arrow";
    grid-template-rows: auto auto 1fr auto;
    padding: 3.2vw 2.667vw 4vw;
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .booth {
    justify-self: start;
    padding-left: 0;
    margin-bottom: 1.6vw;
    font-size: max(1.125rem, 4.8vw);
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .logo {
    height: 22vw;
    margin-top: 2.667vw;
    padding: 0;
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .logo img {
    height: 14.4vw;
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .logo .logo_name {
    font-size: max(0.875rem, 3.733vw);
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .name {
    margin-top: 2.667vw;
    padding-top: 2.667vw;
    font-size: max(0.8125rem, 3.467vw);
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .arrow {
    margin-top: 2.667vw;
    padding: 2.667vw 0 0 1.6vw;
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .arrow::before {
    width: max(28px, 7.467vw);
    height: max(28px, 7.467vw);
    font-size: max(0.75rem, 3.2vw);
  }
}

/* 2026-11-03 出展者一覧のカード：案A-3（Claude Designのキャンバスの「案A-3」）
   案Aから、ゾーン名を中央に・その下にブースNo.・カード上のゾーン色の線をなくす
   page-exhibitors-venuemap.php の <ul class="exhibitor_cards card_a3"> の card_a3 で切り替え。案Aに戻すときは card_a3 を消すだけ */
html body main#exhibitors-venuemap section#list .exhibitor_cards.card_a3 li > a {
  grid-template-areas: "zone zone" "booth booth" "logo logo" "name arrow";
  grid-template-rows: auto auto 1fr auto;
  border-top: 1px solid #E8E1CF;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards.card_a3 .zone_label {
  justify-self: center;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards.card_a3 .booth {
  justify-self: center;
  margin-top: 8px;
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#list .exhibitor_cards.card_a3 li > a {
    grid-template-areas: "zone zone" "booth booth" "logo logo" "name arrow";
    grid-template-rows: auto auto 1fr auto;
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards.card_a3 .booth {
    margin-top: 1.6vw;
    margin-bottom: 0;
  }
}

/* 2026-11-03 会場エリアのゾーンのボタン：案1-2（Claude Designのキャンバス「ゾーンのボタン」）
   「学術機関等」「支援機関」の見出しで2つに分け、ゾーン名の横の「＞」をやめて、枠の右端に丸い矢印 */
html body main#exhibitors-venuemap section#area .zone_nav_group {
  margin-top: min(3.333vw, 48px);
  scroll-margin-top: 130px;
}
html body main#exhibitors-venuemap section#area .zone_nav_title {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0;
  color: #262626;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.4;
}
html body main#exhibitors-venuemap section#area .zone_nav_title::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #D9D9D9;
}
html body main#exhibitors-venuemap section#area .zone_nav_group .zone_nav {
  margin-top: 32px;
}
html body main#exhibitors-venuemap section#area .zone_nav .desc {
  position: relative;
  padding-right: 60px;
  padding-left: 60px;
}
html body main#exhibitors-venuemap section#area .zone_nav .go {
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: 2px;
  transform: translateY(-50%);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  width: 28px;
  height: 28px;
  border: 1px solid #262626;
  border-radius: 50%;
}
html body main#exhibitors-venuemap section#area .zone_nav .go::before {
  content: "＞";
  color: #262626;
  font-size: 0.75rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#area .zone_nav_group {
    margin-top: 8vw;
    scroll-margin-top: 21.333vw;
  }
  html body main#exhibitors-venuemap section#area .zone_nav_title {
    gap: 3.2vw;
    font-size: max(1.125rem, 4.8vw);
  }
  html body main#exhibitors-venuemap section#area .zone_nav_group .zone_nav {
    margin-top: 5.333vw;
  }
  html body main#exhibitors-venuemap section#area .zone_nav .desc {
    padding-right: 12vw;
    padding-left: 12vw;
  }
  html body main#exhibitors-venuemap section#area .zone_nav .go {
    right: 3.2vw;
    width: max(24px, 6.4vw);
    height: max(24px, 6.4vw);
  }
}

/* ===== 2026-11-03 本文（説明文）の文字の大きさを1か所で決める（さかいさん指示：まだ公開していないページはトップに合わせる。公開済みのページは変えない） =====
   基準＝トップ「たま未来連携EXPOとは」の本文：パソコン 20px（1.25rem）／スマホ 16px（1rem）
   新しく本文を足すときは font-size: var(--tre-text-body) を使い、px や rem を直接書かない */
:root {
  --tre-text-body: 1.25rem;
}
@media screen and (max-width: 768px) {
  :root {
    --tre-text-body: 1rem;
  }
}
/* 出展者一覧（会場エリアの説明） */
html body main#exhibitors-venuemap section#area .inner > .comment {
  font-size: var(--tre-text-body);
}
/* 出展者詳細（本文・シーズのタイトル・小見出し）。小見出しとタイトルは太字で本文と見分ける */
html body main#exhibitors.ex26 section#ex26_detail .ex_block .comment,
html body main#exhibitors.ex26 section#ex26_detail .ex_block .ex_title,
html body main#exhibitors.ex26 section#ex26_detail .ex_block h4 {
  font-size: var(--tre-text-body);
}

/* ===== 2026-11-03 文字の大きさの見直し（さかいさん指示） =====
   ①ゾーンのボタンの説明（「技術開発・産学連携・DX推進」など）：パソコン 20px（さかいさん指定）＝本文と同じ変数。スマホは16px
   ②出展者カード（パソコン・タブレット）：根拠＝2025年版の出展者カードの実測（パソコン幅1440px）
     ゾーン名 18px（2025年 p.booth 18px）／ブースNo. 32px（2025年 p.number 32px）／出展者名 24px（2025年 h1 24px）
     スマホはカードが2列（1枚 約168px）で2025年版（1列）と幅が違うため、今の大きさのまま
   ③イベントページ（本番未公開）の講演の説明・講演の箇条書き・サイドの説明：本文と同じ変数（パソコン20px／スマホ16px） */
html body main#exhibitors-venuemap section#area .zone_nav .desc {
  font-size: var(--tre-text-body);
}
@media screen and (min-width: 769px) {
  html body main#exhibitors-venuemap section#list .exhibitor_cards .zone_label {
    padding: 4px 18px;
    font-size: 1.125rem;
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .booth {
    font-size: 2rem;
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards .name {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
html body main#event section#lecture .inner dl.contents dt .comment,
html body main#event section#lecture .inner dl.contents dt ul li,
html body main#event section#side .inner .contents>div>div .comment {
  font-size: var(--tre-text-body);
}

/* ===== 2026-11-03 ゾーンのボタンと出展者カードの調整（さかいさん指示） =====
   ①丸い矢印を、説明の文字の上下の真ん中にそろえる（枠の上の余白24px・下の余白14pxの差の半分＝5px 下げる）
   ②出展者カード（案A-3）：ブースNo.を上、ゾーン名を下に入れ替える
   ③ゾーンのボタンにマウスを乗せたとき・キーボードで選んだとき、0.3秒かけて色を入れ替える
     枠の中＝ゾーンの色、文字＝ゾーンの色の上で読める色（--zone-on。Tech・Medicalは明るい色なので黒、ほかは白）
     ゾーン名の帯＝白、線＝ゾーンの色、文字＝白の上で読めるゾーンの色（--zone-ink）
     ※Tech（水色）・Medical（黄色）の上に白い文字や水色・黄色の文字を置くと、文字との差が4.5:1に届かない（JIS・統一基準のコントラスト） */
html body main#exhibitors-venuemap section#area .zone_nav .go {
  top: calc(50% + 5px);
  margin-top: 0;
  border-color: currentColor;
}
/* 枠の高さが行の中でそろえられて高くなっても、文字を上下の真ん中に置く（矢印と高さがそろう） */
html body main#exhibitors-venuemap section#area .zone_nav .desc {
  display: flex;
  justify-content: center;
  align-items: center;
}
html body main#exhibitors-venuemap section#area .zone_nav .go::before {
  color: inherit;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards.card_a3 li > a {
  grid-template-areas: "booth booth" "zone zone" "logo logo" "name arrow";
}
html body main#exhibitors-venuemap section#list .exhibitor_cards.card_a3 .booth {
  margin-top: 0;
}
html body main#exhibitors-venuemap section#list .exhibitor_cards.card_a3 .zone_label {
  margin-top: 14px; /* 2026-11-03 ブースNo.とゾーン名がくっついて見えるため 8px→14px */
}
@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#list .exhibitor_cards.card_a3 li > a {
    grid-template-areas: "booth booth" "zone zone" "logo logo" "name arrow";
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards.card_a3 .booth {
    margin-bottom: 0;
  }
  html body main#exhibitors-venuemap section#list .exhibitor_cards.card_a3 .zone_label {
    margin-top: 2.667vw;
  }
}
html body main#exhibitors-venuemap section#area .zone_nav .label {
  padding: 2px 16px;
  border: 2px solid var(--zone);
  transition: background-color 0.3s ease, color 0.3s ease;
}
html body main#exhibitors-venuemap section#area .zone_nav .desc {
  transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}
html body main#exhibitors-venuemap section#area .zone_nav li > a:focus-visible .desc {
  background: var(--zone);
  color: var(--zone-on);
}
html body main#exhibitors-venuemap section#area .zone_nav li > a:focus-visible .label {
  background: #fff;
  color: var(--zone-ink);
}
@media (hover: hover) {
  html body main#exhibitors-venuemap section#area .zone_nav li > a:hover .desc {
    background: var(--zone);
    color: var(--zone-on);
  }
  html body main#exhibitors-venuemap section#area .zone_nav li > a:hover .label {
    background: #fff;
    color: var(--zone-ink);
  }
}
@media (prefers-reduced-motion: reduce) {
  html body main#exhibitors-venuemap section#area .zone_nav .label,
  html body main#exhibitors-venuemap section#area .zone_nav .desc {
    transition: none;
  }
}

/* ===== 2026-11-03 Tech・Medical のゾーンの色を濃くして、文字を白にする（さかいさん決定：案2） =====
   元の色（Tech #00B0F0・Medical #FFC000）は白い文字との差が 2.5:1・1.6:1 で、JIS（WCAG 1.4.3）の 4.5:1 に届かないため
   濃くした色は、ブースNo.の文字に使っていた色と同じ（Tech #0077A8＝白との差 5.0:1、Medical #8A6500＝5.3:1） */
html body main#exhibitors-venuemap .zone_tech,
html body main#exhibitors.ex26 .zone_tech {
  --zone: #0077A8;
  --zone-on: #fff;
  --zone-ink: #0077A8;
}
html body main#exhibitors-venuemap .zone_medical,
html body main#exhibitors.ex26 .zone_medical {
  --zone: #8A6500;
  --zone-on: #fff;
  --zone-ink: #8A6500;
}

/* 2026-11-03 ゾーンのボタンのゾーン名（Tech & Innovation など）：パソコンは16px（さかいさん指定）。スマホは今のまま */
@media screen and (min-width: 769px) {
  html body main#exhibitors-venuemap section#area .zone_nav .label {
    font-size: 1rem;
  }
}

/* 2026-11-03 お試し（さかいさん指示）：出展者カードの枠線をゾーンの色に（太さは会場エリアのゾーンのボタンと同じ2px）。やめるときはこのまとまりを消す */
html body main#exhibitors-venuemap section#list .exhibitor_cards.card_a3 li > a {
  border: 2px solid var(--zone);
}

/* ===== 2026-11-03 出展者一覧の区切り見出し「学術機関等」「支援機関」：案3（Claude Designのキャンバス「区切り見出し 案3」。さかいさん指示）
   左に緑→青の縦線（出展者詳細の見出しと同じ形）＋下に線 ===== */
html body main#exhibitors-venuemap section#list .list_group + .list_group {
  margin-top: 96px;
}
html body main#exhibitors-venuemap section#list .list_group_title {
  margin: 0 0 40px;
  padding: 4px 0 12px 18px;
  border-left: 8px solid #086B0B;
  border-image: linear-gradient(180deg, #086B0B 0%, #0F4C86 100%) 1;
  box-shadow: inset 0 -1px 0 #D9D9D9;
  color: #262626;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4;
}
html body main#exhibitors-venuemap section#list .list_group {
  scroll-margin-top: 130px;
}
@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#list .list_group + .list_group {
    margin-top: 16vw;
  }
  html body main#exhibitors-venuemap section#list .list_group_title {
    margin-bottom: 5.333vw;
    padding: 2px 0 8px 12px;
    border-left-width: 6px;
    font-size: max(1.375rem, 5.867vw);
  }
  html body main#exhibitors-venuemap section#list .list_group {
    scroll-margin-top: 21.333vw;
  }
}

/* 2026-11-03 出展者詳細の上の段（ゾーン名・「ブースNo.」・ブース番号）：パソコン・タブレットは出展者一覧のカードと同じ大きさにそろえる（さかいさん指摘「小さい」）
   根拠＝出展者一覧のカード（2025年版のカードの実測が元）：ゾーン名 18px／ブース番号 32px。「ブースNo.」の文字もゾーン名と同じ 18px */
@media screen and (min-width: 769px) {
  html body main#exhibitors.ex26 section#ex26_detail .zone_label,
  html body main#exhibitors.ex26 section#ex26_detail .booth_label {
    font-size: 1.125rem;
  }
  html body main#exhibitors.ex26 section#ex26_detail .booth_no {
    font-size: 2rem;
  }
}

/* 2026-11-03 さかいさん指示：出展者詳細の項目の見出し（出展内容（シーズ）など）を2025年版と同じく、うすい背景色＋緑→青の文字色にする。文字の大きさは変えない */
html body main#exhibitors.ex26 section#ex26_detail .ex_block h3 {
  padding: 18px 20px 18px 20px;
  background: #F5F9F5;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_block h3 span {
  font-weight: inherit;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media screen and (max-width: 768px) {
  html body main#exhibitors.ex26 section#ex26_detail .ex_block h3 {
    padding: 3.2vw 4vw 3.2vw 3.2vw;
  }
}
/* Windowsのハイコントラストなど、強制カラーのときは文字を色で塗る（文字が消えないように） */
@media (forced-colors: active) {
  html body main#exhibitors.ex26 section#ex26_detail .ex_block h3 span {
    background: none;
    -webkit-text-fill-color: CanvasText;
    color: CanvasText;
  }
}

/* 2026-11-03 さかいさん指示：出展者詳細の本文の幅を2025年版と同じにする（2025年版の実測：PC・タブレットは画面幅の83.333%、いちばん広くて1200px）。スマホは前から2025年版と同じなので変えない */
@media screen and (min-width: 769px) {
  html body main#exhibitors.ex26 section#ex26_detail .inner {
    width: min(83.333vw, 1200px);
  }
}

/* 2026-11-03 さかいさん指示：PCではロゴの枠を本文の幅（いちばん広くて1200px）の66%にして中央に置く。スマホは本文の幅いっぱいのまま */
@media screen and (min-width: 769px) {
  html body main#exhibitors.ex26 section#ex26_detail .ex_logo {
    width: 66%;
    margin-left: auto;
    margin-right: auto;
  }
}
/* 2026-11-03 さかいさん指示：「強み・独自性」を見出しと分かる形にし、上の本文との間を、本文の中の空の行（1行分）より少し広くする */
html body main#exhibitors.ex26 section#ex26_detail .ex_block h4 {
  display: flex;
  align-items: center;
  gap: 0.5em;
  margin-top: 2.4em;
  padding-bottom: 0.4em;
  border-bottom: 1px solid #C9D6E3;
  line-height: 1.5;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_block h4::before {
  content: "";
  flex: none;
  width: 0.5em;
  height: 0.5em;
  background: linear-gradient(135deg, #086B0B 0%, #0F4C86 100%);
}
@media (forced-colors: active) {
  html body main#exhibitors.ex26 section#ex26_detail .ex_block h4::before {
    background: CanvasText;
  }
}

/* 2026-11-03 さかいさん指示：出展者詳細のロゴの枠の背景を白にする（グレー #F4F4F4 だと、背景が透明なロゴはグレーが透け、白い背景のロゴは白い四角が浮いて見え方がそろわないため。2025年版も白） */
html body main#exhibitors.ex26 section#ex26_detail .ex_logo {
  background: #fff;
}

/* 2026-11-04 さかいさん指示：出展者カードのゾーン名の帯で、文字が2行になったとき（スマホなど）も中央にそろえる */
html body main#exhibitors-venuemap section#list .exhibitor_cards .zone_label {
  text-align: center;
}

/* 2026-11-04 さかいさん指示：スマホ・小さいタブレット（768px以下）で、出展者カードの丸い矢印を少し小さくする
   画面の幅に合わせて大きくするが、いちばん大きくてもPCと同じ32pxまで（390pxで29px→25px、545pxで41px→32px、768pxで57px→32px）。押せる範囲はカード全体なので変わらない */
@media screen and (max-width: 768px) {
  html body main#exhibitors-venuemap section#list .exhibitor_cards .arrow::before {
    width: clamp(24px, 6.4vw, 32px);
    height: clamp(24px, 6.4vw, 32px);
    font-size: clamp(0.6875rem, 2.8vw, 0.875rem);
  }
}

/* 2026-11-04 さかいさん指示：「強み・独自性」の頭の小さな四角を、見出しの文字と同じ色（#0F4C86）にする（緑→青のグラデーションをやめる） */
html body main#exhibitors.ex26 section#ex26_detail .ex_block h4::before {
  background: currentColor;
}

/* 2026-11-04 河原田様メール（やり取りログ(55)）「MAPボタンのサイズをもうひとまわり大きく」：70px → 84px（約1.2倍）、文字 16px → 20px。スマホ（メニューの中の「会場マップ」）は変えない */
html body header .inner .map_btn {
  width: min(5.833vw, 84px);
  height: min(5.833vw, 84px);
  min-width: 64px;
  min-height: 64px;
  font-size: 1.25rem;
}

/* 2026-11-04 出展者詳細：情報がまだない出展者の「Coming Soon」（決定ログ§1-62・64）。見た目はトップの来場登録案内の「Coming Soon」（main#index .end）と同じ */
html body main#exhibitors.ex26 section#ex26_detail .ex_coming {
  margin: 0;
  padding-bottom: 0.15em;
  background: linear-gradient(135deg, #086B0B 0%, #086B0B 10%, #0F4C86 90%, #0F4C86 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  font-family: "Oswald", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
html body main#exhibitors.ex26 section#ex26_detail .ex_coming + .ex_site {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  html body main#exhibitors.ex26 section#ex26_detail .ex_coming {
    font-size: 2rem;
  }
}
/* ===== 2026-11-08 タブレットで文字の周りの余白が狭すぎた箇所の直し（さかいさん指摘：iPad Air／960pxで確認。決定ログ§1-88） =====
   大きさを画面幅（vw）で決めていたため、タブレットで箱だけ縮み、文字の周りの余白がほぼ無くなっていた。
   余白（padding）をpxで決める形にする。PC（1440px以上）は今までと同じ大きさになる値にしてある */
/* ① お知らせの日付（トップ・お知らせ一覧・お知らせ詳細）：PCは今までと同じ 140×40px（文字の行の高さ16px＋上下12px） */
html body main#index section#news .inner article a time,
html body main#news section#contents .inner article a time,
html body main#news_detail section#posting .inner article>.title time {
  min-width: 0;
  min-height: 0;
  padding: 12px 28px;
}
@media screen and (max-width: 768px) {
  /* スマホは今までと同じ 100×30px */
  html body main#index section#news .inner article a time,
  html body main#news section#contents .inner article a time,
  html body main#news_detail section#posting .inner article>.title time {
    padding: 8px 14px;
  }
}
@media screen and (min-width: 769px) {
  /* ② メインビジュアルの「会場」の枠：PCと同じ余白（上下5px・左右10px）をタブレットでも */
  html body main#index section#mainvisual .inner dl dt {
    padding: 5px 10px;
  }
  /* ③ お知らせ詳細の「お知らせ一覧へ」・404の「TOPへ戻る」：PCと同じ 270×60px をタブレットでも */
  html body main .btn_common {
    width: 270px;
  }
  html body main .btn_common a {
    height: auto;
    min-height: 60px;
    padding: 12px 16px;
    border-radius: 60px;
  }
}
@media screen and (min-width: 1024px) {
  /* ④ 開催概要・アクセスの見出し（開催日時など）：1024〜1439pxで左右の余白が約2pxになっていた。PCは今までと同じ幅120px */
  html body main#index section#overview .inner>div>div dl dt {
    width: fit-content;
    min-width: 120px;
    padding: 10px 16px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  /* ⑤ 来場登録ボタンの文字：タブレットでは32px→28px（さかいさん指示） */
  html body main#index section#mainvisual .inner .btn a,
  html body main#index section#visitor .inner div .btn a,
  html body main#index section#mainvisual .inner .btn.entry_nolink > span,
  html body main#index section#visitor .inner div .btn.entry_nolink > span {
    font-size: 1.75rem;
  }
}
