@charset "UTF-8";
/* =========================================================
  出展社一覧のスタイル
========================================================= */
:root {
  /* =========================================================
    Variables
  ========================================================= */
  /* ---------------------------------------------------------
    common
  --------------------------------------------------------- */
  --line-height: 1.8;
  --font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --border-radius: 8px;
  /* ---------------------------------------------------------
    font-size
  --------------------------------------------------------- */
  --font-size-base: clamp(0.875rem, 0.83rem + 0.23vw, 1rem); /* 14-16px */
  --font-size-xs: clamp(0.75rem, 0.714rem + 0.18vw, 0.875rem); /* 12-14px */
  --font-size-s: clamp(0.813rem, 0.777rem + 0.18vw, 0.938rem); /* 13-15px */
  --font-size-ms: clamp(0.938rem, 0.884rem + 0.27vw, 1.125rem); /* 15-18px */
  --font-size-m: clamp(1.063rem, 0.991rem + 0.36vw, 1.313rem); /* 17-21px */
  --font-size-l: clamp(1.188rem, 1.098rem + 0.45vw, 1.5rem); /* 19-24px */
  --font-size-xl: clamp(1.375rem, 1.161rem + 1.07vw, 2.125rem); /* 22-34px */
  /* ---------------------------------------------------------
    input
  --------------------------------------------------------- */
  --input-padding: 14px 20px;
  --input-border-radius: 4px;
  --input-line-height: 1.6;
  --input-font-size: 16px;
  /* =========================================================
    Colors
  ========================================================= */
  /* ---------------------------------------------------------
    palette
  --------------------------------------------------------- */
  --c-white: #FFF;
  --c-black: #1E1E1E;
  --c-gray: #717171;
  --c-gray-light: #E5E5E5;
  --c-primary: #C30E23;
  --c-primary-dark: #A10C1D;
  --c-primary-gradation: #D0162E;
  --c-primary-light: #FEEEF0;
  --c-primary-medium: #DF505A;
  --c-contrasting: #0E5BC3;
  /* ---------------------------------------------------------
    base
  --------------------------------------------------------- */
  --c-body-bg: var(--white);
  --c-font-base: var(--c-black);
  --c-outline: var(--c-contrasting);
  /* ---------------------------------------------------------
    header
  --------------------------------------------------------- */
  --c-event-outline-label-border: var(--c-primary);
  --c-event-outline-label-text: var(--c-primary);
  /* ---------------------------------------------------------
    footer
  --------------------------------------------------------- */
  --c-footer-border: var(--c-gray-light);
  --c-footer-text: var(--c-gray);
  --c-return-to-top-hover: var(--c-primary-dark);
  /* ---------------------------------------------------------
    page title
  --------------------------------------------------------- */
  --c-page-title-gradation-start: var(--c-primary);
  --c-page-title-gradation-end: var(--c-primary-gradation);
  --c-page-title-decoration: var(--c-primary);
  --c-page-title-text: var(--c-white);
  /* ---------------------------------------------------------
    heading
  --------------------------------------------------------- */
  --c-heading2-border: #EFEBEB;
  --c-heading2-border-accent: var(--c-primary);
  /* ---------------------------------------------------------
    input
  --------------------------------------------------------- */
  --c-input-border: #ACACAC;
  --c-input-bg: var(--white);
  --c-placeholder: #ACACAC;
  /* checkbox */
  --c-checkbox-border: #ACACAC;
  --c-checkbox-bg: var(--c-white);
  --c-checkbox-checked-border: var(--c-primary);
  --c-checkbox-checked-bg: var(--c-primary);
  --c-checkbox-check-mark: var(--c-white);
  /* ---------------------------------------------------------
    utility
  --------------------------------------------------------- */
  --c-new-tab-link: var(--c-black);
  --c-new-tab-link-hover: var(--c-black);
  /* ---------------------------------------------------------
    search
  --------------------------------------------------------- */
  /* search button */
  --c-search-button-border: var(--c-primary-dark);
  --c-search-button-bg: var(--c-primary-dark);
  --c-search-button-text: var(--c-white);
  --c-search-button-hover-bg: var(--c-primary);
  /* clear button */
  --c-clear-button: var(--c-black);
  /* search criteria button */
  --c-search-criteria-button-border: var(--c-primary);
  --c-search-criteria-button-bg: var(--c-primary-light);
  --c-search-criteria-button-text: var(--c-primary);
  --c-search-criteria-button-hover-border: var(--c-black);
  --c-search-criteria-button-hover-bg: var(--white);
  --c-search-criteria-button-hover-text: var(--c-black);
  /* all clear button */
  --c-all-clear-button-text: var(--c-primary);
  --c-all-clear-button-hover-text: var(--c-black);
  /* result outline */
  --c-result-outline-wrap-border: var(--c-gray-light);
  /* pagination */
  --c-pagination-border: var(--c-primary);
  --c-pagination-bg: var(--white);
  --c-pagination-text: var(--c-primary);
  --c-pagination-current-bg: var(--c-primary);
  --c-pagination-current-text: var(--c-white);
  --c-pagination-hover-bg: var(--c-primary);
  --c-pagination-hover-text: var(--c-white);
  /* filter */
  --c-search-filter-title-text: var(--c-primary-dark);
  /* jp-alphabetical-order */
  --c-jp-a-order-border: var(--c-white);
  --c-jp-a-order-bg: var(--c-white);
  --c-jp-a-order-text: var(--c-black);
  --c-jp-a-order-selected-border: var(--c-primary-dark);
  --c-jp-a-order-selected-bg: var(--c-primary-dark);
  --c-jp-a-order-selected-text: var(--c-white);
  --c-jp-a-order-hover-border: var(--c-primary);
  --c-jp-a-order-hover-text: var(--c-primary-dark);
  /* accordion */
  --c-accordion-border: #EFE8E7;
  --c-accordion-trigger-text: var(--c-black);
  --c-accordion-trigger-icon: var(--c-black);
  --c-accordion-trigger-hover-icon: var(--c-primary);
  /* results */
  --c-results-item-border: #F3F3F3;
  /* ---------------------------------------------------------
    detail
  --------------------------------------------------------- */
  --c-attribute-bg: var(--c-primary-light);
  --c-exhibitor-info-border: var(--c-primary-medium);
  /* ---------------------------------------------------------
    icons
  --------------------------------------------------------- */
  --c-icon-primary: var(--c-primary);
  --c-icon-white: var(--c-white);
  --c-icon-black: var(--c-black);
  /* --c-icon-new-item: var(--c-primary); */
  --c-icon-new-item: #ff0;
  /* ---------------------------------------------------------
    state
  --------------------------------------------------------- */
  --c-loading-border: #DDD;
  --c-loading-border-accent: var(--c-primary);
}
/* =========================================================
  Foundation
========================================================= */
/* ---------------------------------------------------------
  reset
--------------------------------------------------------- */
/* all element
--------------------------------------------------------- */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-size: inherit;
}

*:focus-visible {
  outline: 2px solid var(--c-outline);
  outline-offset: 2px;
}

/* html
--------------------------------------------------------- */
html {
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
  scroll-behavior: smooth;
  touch-action: manipulation;
}

/* body
--------------------------------------------------------- */
:where(body) {
  line-height: var(--line-height);
  background: var(--c-body-bg);
  color: var(--c-font-base);
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
}

/* heading
--------------------------------------------------------- */
:where(h2:not([class])) {
  position: relative;
  margin-top: clamp(32px, 3.7vw, 64px);
  margin-bottom: clamp(24px, 2.2vw, 32px);
  padding-bottom: 8px;
  border-bottom: 4px solid var(--c-heading2-border);
  /* font-size: var(--font-size-l); */
  font-size: var(--font-size-m);
}
:where(h2:not([class]))::before {
  content: "";
  display: block;
  width: 240px;
  height: 0;
  position: absolute;
  bottom: -4px;
  left: 0;
  border-bottom: 4px solid var(--c-heading2-border-accent);
}

/* ul, ol
--------------------------------------------------------- */
:where(ul, ol) {
  list-style: none;
  list-style-type: none;
}

/* img, svg
--------------------------------------------------------- */
:where(img, svg) {
  max-width: 100%;
  height: auto;
}

/* th, td, h1, p, a 2024/05/22 テキスト折り返し対応
--------------------------------------------------------- */
:where(th, td, h1, p, a) {
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word; /* 非推奨 */
}

/* anchor
--------------------------------------------------------- */
:where(a[href]:not([class])) {
  color: var(--c-font-base);
  text-decoration: none;
}

/* input, button, select
--------------------------------------------------------- */
:where(input, select) {
  line-height: var(--input-line-height);
  font-size: var(--input-font-size);
  color: var(--c-font-base);
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

:where(input:not([type=checkbox]), select, button) {
  padding: var(--input-padding);
  border: 1px solid var(--c-input-border);
  border-radius: var(--input-border-radius);
  background-color: var(--c-input-bg);
  cursor: pointer;
}
:where(input:not([type=checkbox]), select, button)::-moz-placeholder {
  color: var(--c-placeholder);
}
:where(input:not([type=checkbox]), select, button)::placeholder {
  color: var(--c-placeholder);
}

:where(button) {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

:where(input[type=checkbox]) {
  position: absolute;
  opacity: 0;
}

:where(select)::-ms-expand {
  display: none;
}

/* =========================================================
  Base layout
========================================================= */
/* ---------------------------------------------------------
  wrapper
--------------------------------------------------------- */
.wrapper {
  position: relative;
  padding: 0 clamp(20px, 3.7vw, 64px);
  overflow-x: hidden;
}

/* ---------------------------------------------------------
  site header
--------------------------------------------------------- */
/* header
--------------------------------------------------------- */
.site-header__inner {
  padding: clamp(16px, 2.08vw, 30px) 0;
}
/* site-logo
--------------------------------------------------------- */
.site-logo {
  --gap: clamp(12px, 2.22vw, 32px);
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.site-logo__link:not(:last-child) {
  margin-right: var(--gap);
}
.site-logo__img {
  width: var(--logo-width);
}

/* event-outline
--------------------------------------------------------- */
.event-outline__item {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.event-outline__label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 6px 0 8px;
  border: 1px solid var(--c-event-outline-label-border);
  color: var(--c-event-outline-label-text);
  font-size: clamp(0.625rem, 0.589rem + 0.18vw, 0.75rem); /* 10〜12px */
  font-weight: bold;
  letter-spacing: 0.2em;
}
.event-outline__text {
  padding-left: 10px;
  font-size: var(--font-size-s);
  font-weight: bold;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
/* page-title
--------------------------------------------------------- */
.page-title-wrap {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 0 clamp(20px, 3.7vw, 64px);
  overflow-y: hidden;
}

.page-title {
  display: grid;
  max-width: 1600px;
  position: relative;
  margin: 0 auto;
  /* padding: clamp(26px, 2.78vw, 48px) 0; */
  padding: clamp(8px, 0.83vw, 14px) 0;
  border-radius: 10px;
  background: var(--c-page-title-gradation-start);
  background: linear-gradient(180deg, var(--c-page-title-gradation-start) 0%, var(--c-page-title-gradation-end) 100%);
  color: var(--c-page-title-text);
  font-size: clamp(1.325rem, 1.125rem + 1.26vw, 2.5rem); /* 26-48px/320px-1728px */
  font-weight: bold;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  text-align: center;
  z-index: 0;
}
.page-title::before, .page-title::after, .page-title__inner::before, .page-title__inner::after {
  content: "";
  display: flex;
  width: clamp(60px, 11vw, 190px);
  position: absolute;
  top: 0;
  bottom: 0;
  background-color: var(--c-page-title-decoration);
  mix-blend-mode: multiply;
  opacity: 50%;
  z-index: -1;
}
.page-title::before, .page-title::after {
  right: clamp(40px, 9.25vw, 160px);
}
.page-title__inner::before, .page-title__inner::after {
  left: clamp(40px, 9.25vw, 160px);
}
.page-title::before, .page-title__inner::before {
  transform: skew(34deg);
}
.page-title::after, .page-title__inner::after {
  transform: skew(-34deg);
}

/* ---------------------------------------------------------
  main
--------------------------------------------------------- */
/* container
--------------------------------------------------------- */
.container {
  max-width: var(--width);
  margin: 0 auto;
}
.container.--large {
  --width: 1440px;
}
.container.--medium {
  --width: 1000px;
}

/* ---------------------------------------------------------
  site footer
--------------------------------------------------------- */
/* footer
--------------------------------------------------------- */
.footer {
  width: 100vw;
  margin-top: clamp(40px, 9vw, 160px);
  margin-left: calc(50% - 50vw);
  padding: clamp(20px, 2.3vw, 40px) clamp(30px, 2.3vw, 40px);
  border-top: 1px solid var(--c-footer-border);
  color: var(--c-footer-text);
  font-size: var(--font-size-xs);
  text-align: center;
}

/* return-to-top
--------------------------------------------------------- */
.return-to-top {
  --size: clamp(40px, 4.16vw, 50px);
  position: fixed;
  bottom: calc(clamp(20px, 2.3vw, 40px) * 2 - var(--size) / 5);
  right: 30px;
  transition: opacity 0.5s ease;
  opacity: 0;
  z-index: 100;
  cursor: pointer;
}
.return-to-top.show {
  opacity: 1;
  visibility: visible;
}
.return-to-top__icon {
  width: var(--size);
  height: var(--size);
}
/* =========================================================
  Utility
========================================================= */
/* font size
--------------------------------------------------------- */
.font-medium-small {
  font-size: var(--font-size-ms);
}

.font-large {
  font-size: var(--font-size-l);
}

/* visually-hidden
--------------------------------------------------------- */
.visually-hidden {
  display: block;
  width: 1px !important;
  height: 1px !important;
  position: absolute !important;
  margin: -1px !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

/* new-line
--------------------------------------------------------- */
.new-line {
  display: inline-block;
}
/* new-tab-link
--------------------------------------------------------- */
.new-tab-link {
  display: inline-block;
  position: relative;
  line-height: 1.4;
  color: var(--c-link);
  text-decoration: none;
}
.new-tab-link__icon {
  --c-icon-black: var(--c-link);
  width: 1em;
  height: auto;
  margin-left: 0.1em;
  vertical-align: middle;
}
/* phone-call
--------------------------------------------------------- */
.phone-call {
  color: var(--font-base);
}
/* =========================================================
  Search
========================================================= */
/* ---------------------------------------------------------
  Form parts
--------------------------------------------------------- */
/* keyword-search
--------------------------------------------------------- */
.keyword-search {
  max-width: 720px;
  margin: 0 auto;
  padding: clamp(32px, 3.24vw, 56px) 0 calc(clamp(32px, 3.24vw, 56px) + 0.5em);
}
.keyword-search__inner {
  display: contents;
}
.keyword-search__label {
  font-size: clamp(0.938rem, 0.884rem + 0.27vw, 1.125rem); /* 15px〜18px */
  font-weight: bold;
}
.keyword-search__content {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  position: relative;
}
.keyword-search__input, .keyword-search__search-button {
  height: 48px;
  line-height: 1.6 !important;
  font-size: var(--input-font-size);
}
.keyword-search__input {
  --input-padding: 0 20px;
  width: calc(100% - var(--btn-width));
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: none;
}
.keyword-search__search-button {
  --input-padding: 0;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: var(--btn-width);
  border: 1px solid var(--c-search-button-border);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  background-color: var(--c-search-button-bg);
  color: var(--c-search-button-text);
  cursor: pointer;
}
.keyword-search__search-icon, .keyword-search__clear-icon {
  width: var(--size);
  height: var(--size);
}
.keyword-search__clear-button {
  --c-icon-primary: var(--c-clear-button);
  --input-padding: 0;
  height: 1.2em;
  position: absolute;
  top: 50%;
  right: calc(var(--btn-width) + 15px);
  border: none;
  transform: translateY(-50%);
  z-index: 1;
  visibility: hidden;
  opacity: 0;
}

.keyword-search__input:not(:-moz-placeholder-shown) + .keyword-search__clear-button {
  visibility: visible;
  opacity: 1;
}

.keyword-search__input:not(:placeholder-shown) + .keyword-search__clear-button {
  visibility: visible;
  opacity: 1;
}
/* result-outline-wrap
--------------------------------------------------------- */
.result-outline-wrap {
  display: flex;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--c-result-outline-wrap-border);
}
/* result-outline
--------------------------------------------------------- */
.result-outline__title {
  line-height: 1.4;
}
.result-outline__count {
  display: inline-block;
}
.result-outline__total-num {
  font-weight: bold;
}
.result-outline__num {
  font-size: var(--font-size-l);
}
.result-outline__keyword {
  margin-left: -0.9ch;
  font-size: var(--font-size-l);
}

/* selected-filter
--------------------------------------------------------- */
.selected-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 16px;
  margin-left: -8px;
}
.selected-filter__title, .selected-filter__item {
  margin-left: 8px;
}

/* search-criteria-button
--------------------------------------------------------- */
.search-criteria-button {
  --input-padding: 8px 16px;
  display: flex;
  align-items: center;
  border: 1px solid var(--c-search-criteria-button-border);
  background-color: var(--c-search-criteria-button-bg);
  color: var(--c-search-criteria-button-text);
  font-size: var(--font-size-xs);
  text-align: left;
  transition: border 0.3s, background-color 0.3s, color 0.3s;
}
.search-criteria-button__icon {
  width: 1em;
  height: 1em;
  margin-left: 8px;
}
/* all-clear-button
--------------------------------------------------------- */
.all-clear-button {
  padding: 0;
  border: none;
  color: var(--c-all-clear-button-text);
  font-size: var(--font-size-xs);
}
/* pagination
--------------------------------------------------------- */
.pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}
.pagination__list {
  display: flex;
  flex-wrap: wrap;
}
.pagination__item {
  display: flex;
}
.pagination__item.--next .pagination__icon {
  transform: rotate(180deg);
}
.pagination__link {
  text-decoration: none;
}
.pagination__link, .pagination__current {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--link-size);
  height: var(--link-size);
  line-height: 1;
  border: 1px solid var(--c-pagination-border);
  background-color: var(--c-pagination-bg);
  color: var(--c-pagination-text);
  border-radius: 50%;
  transition: background-color 0.4s, color 0.4s;
}
.pagination__current {
  --c-pagination-bg: var(--c-pagination-current-bg);
  --c-pagination-text: var(--c-pagination-current-text);
}
.pagination__midway {
  display: grid;
  place-items: center;
}
.pagination__icon {
  width: 20px;
  height: 20px;
}

.pagination.--bottom {
  margin-top: clamp(24px, 2.2vw, 32px);
}
.midway-icon__path {
  fill: var(--c-pagination-text);
}

/* =========================================================
  Search sidebar
========================================================= */
/* search-filter-group
--------------------------------------------------------- */
.search-filter-group {
  padding: clamp(24px, 1.85vw, 32px) 0;
  border-radius: var(--border-radius);
  background-color: #F6F4F4;
}
.search-filter-group + .search-filter-group {
  margin-top: 32px;
}
.search-filter-group__title {
  padding: 0 clamp(24px, 1.85vw, 32px);
  color: var(--c-search-filter-title-text);
  font-size: var(--font-size-m);
}

/* jp-alphabetical-order
--------------------------------------------------------- */
.jp-alphabetical-order {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(40px, 1fr));
  row-gap: 16px;
  -moz-column-gap: 5%;
  column-gap: 5%;
  margin: 16px clamp(24px, 1.85vw, 32px) 0;
}
.jp-alphabetical-order__link {
  display: block;
  padding: 10px;
  border-radius: 4px;
  line-height: 1;
  border: 1px solid var(--c-jp-a-order-border);
  background-color: var(--c-jp-a-order-bg);
  color: var(--c-jp-a-order-text);
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: border 0.3s, border-color 0.3s, background-color 0.3s;
}
.jp-alphabetical-order__link.--selected {
  --c-jp-a-order-border: var(--c-jp-a-order-selected-border);
  --c-jp-a-order-bg: var(--c-jp-a-order-selected-bg);
  --c-jp-a-order-text: var(--c-jp-a-order-selected-text);
}
/* filter
--------------------------------------------------------- */
.filter__item:not(:first-child) {
  margin-top: 8px;
}
.filter .category-icon {
  width: auto;
  height: 1.2em;
  margin-right: 4px;
  vertical-align: middle;
}
/* accordion
--------------------------------------------------------- */
.accordion {
  margin: 0 clamp(24px, 1.85vw, 32px);
  overflow: visible;
}
.accordion:first-of-type {
  margin-top: 10px;
}
.accordion:not(:last-of-type) {
  padding-bottom: 20px;
}
.accordion + .accordion {
  padding-top: 24px;
  border-top: 1px solid var(--c-accordion-border);
}
.accordion__trigger {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1em;
  align-items: center;
  line-height: 1.4;
  color: var(--c-accordion-trigger-text);
  text-decoration: unset;
}
.accordion__trigger::-webkit-details-marker {
  display: none;
}
.accordion__icon {
  --c-icon-primary: var(--c-accordion-trigger-icon);
  width: 1em;
  height: 1em;
  transition: rotate 0.3s;
  rotate: 90deg;
}
.accordion__trigger[aria-expanded=true] .accordion__icon {
  rotate: -90deg;
}
.accordion__panel-inner {
  padding: 14px 0 4px;
}
/* checkbox
--------------------------------------------------------- */
.checkbox {
  --checkbox-size: 1em;
  position: relative;
  display: inline-block;
  padding-left: calc(var(--checkbox-size) + var(--checkbox-size) / 1.2);
  font-size: 0.938rem;
  line-height: 1.6;
  cursor: pointer;
}
.checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
  top: 50%;
  left: calc(-1 * var(--checkbox-size) / 7);
  width: calc(var(--checkbox-size) + 10px);
  height: calc(var(--checkbox-size) + 10px);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  opacity: 0;
  transform: translateY(-50%);
}
.checkbox input[type=checkbox]:checked + .checkbox__icon {
  border: 1px solid var(--c-checkbox-checked-border);
  background-color: var(--c-checkbox-checked-bg);
}
.checkbox input[type=checkbox]:checked + .checkbox__icon::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(var(--checkbox-size) / 10);
  left: calc(var(--checkbox-size) / 2.6);
  width: calc(var(--checkbox-size) / 2);
  height: calc(var(--checkbox-size) / 1.25);
  border-bottom: calc(var(--checkbox-size) / 5) solid var(--c-checkbox-check-mark);
  border-right: calc(var(--checkbox-size) / 5) solid var(--c-checkbox-check-mark);
  transform: rotate(45deg);
}
.checkbox input[type=checkbox]:focus {
  opacity: 1;
}
.checkbox__icon {
  position: absolute;
  top: 50%;
  left: 0;
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  padding: calc(var(--checkbox-size) / 1.6);
  border: 1px solid var(--c-checkbox-border);
  border-radius: 4px;
  background-color: var(--c-checkbox-bg);
  transform: translateY(-50%);
  z-index: 1;
}
/* select
--------------------------------------------------------- */
.select {
  --size: 14px;
  max-width: 100%;
  padding: 8px calc(var(--size) + 12px) 8px 12px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_290_3582)%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M12.707%2021.7071C12.5194%2021.8946%2012.2651%2021.9999%2012%2021.9999C11.7348%2021.9999%2011.4805%2021.8946%2011.293%2021.7071L5.63598%2016.0501C5.54047%2015.9579%205.46428%2015.8475%205.41188%2015.7255C5.35947%2015.6035%205.33188%2015.4723%205.33073%2015.3395C5.32957%2015.2067%205.35487%2015.075%205.40516%2014.9521C5.45544%2014.8292%205.52969%2014.7176%205.62358%2014.6237C5.71747%2014.5298%205.82913%2014.4556%205.95202%2014.4053C6.07492%2014.355%206.2066%2014.3297%206.33938%2014.3308C6.47216%2014.332%206.60338%2014.3596%206.72538%2014.412C6.84739%2014.4644%206.95773%2014.5406%207.04998%2014.6361L12%2019.5861L16.95%2014.6361C17.1386%2014.4539%2017.3912%2014.3531%2017.6534%2014.3554C17.9156%2014.3577%2018.1664%2014.4629%2018.3518%2014.6483C18.5372%2014.8337%2018.6424%2015.0845%2018.6447%2015.3467C18.6469%2015.6089%2018.5461%2015.8615%2018.364%2016.0501L12.707%2021.7071Z%22%20fill%3D%22%2309244B%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.2684%202.6242C11.4559%202.43673%2011.7102%202.33141%2011.9754%202.33141C12.2405%202.33141%2012.4948%202.43673%2012.6824%202.6242L18.3394%208.2812C18.4349%208.37345%2018.5111%208.48379%2018.5635%208.6058C18.6159%208.7278%2018.6435%208.85902%2018.6446%208.9918C18.6458%209.12458%2018.6205%209.25626%2018.5702%209.37915C18.5199%209.50205%2018.4457%209.6137%2018.3518%209.7076C18.2579%209.80149%2018.1462%209.87574%2018.0233%209.92602C17.9004%209.9763%2017.7687%2010.0016%2017.636%2010.0005C17.5032%209.9993%2017.372%209.97171%2017.25%209.9193C17.128%209.86689%2017.0176%209.79071%2016.9254%209.6952L11.9754%204.7452L7.02536%209.6952C6.83676%209.87736%206.58416%209.97815%206.32196%209.97587C6.05977%209.97359%205.80895%209.86843%205.62355%209.68302C5.43814%209.49761%205.33297%209.2468%205.33069%208.9846C5.32841%208.7224%205.42921%208.4698%205.61136%208.2812L11.2684%202.6242Z%22%20fill%3D%22%2309244B%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_290_3582%22%3E%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E") no-repeat right 5px top 50%, var(--c-white);
  background-size: var(--size);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.select.--fluid {
  width: 100%;
}
/* =========================================================
  Search result
========================================================= */
/* results
--------------------------------------------------------- */
.results {
  --gap: clamp(24px, 1.85vw, 32px);
}
.results__item {
  display: grid;
  gap: var(--gap);
  grid-template-columns: clamp(80px, 15vw, 160px) 1fr;
  padding: var(--gap) 0;
  border-bottom: 1px solid var(--c-results-item-border);
}

/* info
--------------------------------------------------------- */
.info {
  display: grid;
}
.info__company-name {
  display: block;
  line-height: 1.5;
  font-size: var(--font-size-m);
}
.info__company-name a {
  color: var(--c-font-base);
  text-decoration: none;
}
/* product-thumbnail
--------------------------------------------------------- */
.product-thumbnail__link {
  display: block;
  border-radius: 8px;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.product-thumbnail__img {
  height: auto;
  transition: transform 0.6s ease;
}
/* products
--------------------------------------------------------- */
.products {
  margin-top: 8px;
}
.products__item {
  line-height: 1.5;
}
.products__item:not(:first-child) {
  margin-top: 0.4em;
}
.products__name {
  margin-right: 8px;
}
.products__icon {
  display: inline-block;
  width: auto;
  height: 1.1em;
  vertical-align: middle;
}
/* 新商品アイコン色変更 */
.products__icon {
  --c-icon-new-item: #ff0;
  --c-icon-white:  var(--c-black);
}

/* category
--------------------------------------------------------- */
.category {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4px;
}
.category__icon {
  margin: clamp(4px, 0.66vw, 8px) clamp(4px, 0.66vw, 8px) 0 0;
  width: auto;
  height: 1.2em;
}

/* attribute
--------------------------------------------------------- */
.attribute__item {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  line-height: 1;
}
.attribute__item:not(:first-child) {
  margin-top: clamp(8px, 1.1vw, 16px);
}
.attribute__icon {
  width: 1.4em;
  height: 1.4em;
  margin-right: 8px;
}

.attribute.--results {
  font-size: var(--font-size-s);
}

.attribute.--detail {
  width: 100%;
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
  padding: clamp(20px, 2.3vw, 40px) clamp(24px, 3.47vw, 60px);
  background-color: var(--c-attribute-bg);
  border-radius: 8px;
}

/* =========================================================
  Search state
========================================================= */
/* loading
--------------------------------------------------------- */
.loading-wrap {
  display: flex;
  justify-content: center;
  margin-top: clamp(30px, 2.3vw, 40px);
}

.loading {
  width: 40px;
  height: 40px;
  border: 4px solid var(--c-loading-border);
  border-top-color: var(--c-loading-border-accent);
  border-radius: 50%;
  animation: loading 1.2s linear infinite;
}

@keyframes loading {
  to {
    transform: rotate(360deg);
  }
}
/* message
--------------------------------------------------------- */
.message {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: clamp(30px, 2.3vw, 40px) auto 0;
  text-align: center;
}
.message__img {
  width: clamp(120px, 18vw, 184px);
}
.message__note {
  margin-top: clamp(16px, 2.29vw, 24px);
}

/* =========================================================
  Exhibitor page
========================================================= */
/* header
--------------------------------------------------------- */
.exhibitor-header {
  display: grid;
  gap: 20px;
  margin: clamp(32px, 4vw, 70px) 0;
}
.exhibitor-name {
  line-height: 1.4;
  /* font-size: var(--font-size-xl); */
  font-size: var(--font-size-m);
}

.website-url {
  margin-top: 8px;
}
.website-url .new-tab-link {
  --c-link: var(--c-gray);
}

/* product
--------------------------------------------------------- */
.exhibit-product {
  --column-width: 180px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--column-width), 1fr));
  gap: clamp(32px, 5.6vw, 56px);
}
.exhibit-product__item {
  display: flex;
  flex-direction: column;
}
.exhibit-product__name {
  margin-top: 24px;
  line-height: 1.5;
  font-size: var(--font-size-m);
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
.exhibit-product__thumbnail {
  order: -1;
}
.exhibit-product__img {
  border: 1px solid #E6E6E6;
  border-radius: var(--border-radius);
}
.exhibit-product__icon {
  order: -1;
  margin: clamp(12px, 1.6vw, 24px) 0 -18px;
}
.exhibit-product__summary {
  margin-top: clamp(8px, 1.1vw, 16px);
  /* font-size: var(--font-size-xs); */
}
/* info
--------------------------------------------------------- */
.exhibitor-info {
  margin-top: clamp(24px, 3.24vw, 56px);
  border: 1px solid var(--c-exhibitor-info-border);
  border-radius: calc(var(--border-radius) + 1px);
}
.exhibitor-info__title {
  position: relative;
  padding: 20px clamp(24px, 3.24vw, 56px);
  border-top-right-radius: var(--border-radius);
  border-top-left-radius: var(--border-radius);
  background-color: var(--c-primary);
  color: var(--c-white);
  font-size: var(--font-size-m);
  z-index: 0;
}
.exhibitor-info__title::before, .exhibitor-info__title::after {
  content: "";
  display: flex;
  width: clamp(60px, 13vw, 190px);
  position: absolute;
  top: 0;
  bottom: 0;
  background-color: var(--c-primary);
  mix-blend-mode: multiply;
  opacity: 50%;
  z-index: -1;
}
.exhibitor-info__title::before, .exhibitor-info__title::after {
  right: clamp(60px, 11vw, 160px);
}
.exhibitor-info__title::before {
  transform: skew(60deg);
}
.exhibitor-info__title::after {
  transform: skew(-60deg);
}

/* overview 2024/05/22 テキスト折り返し対応 親要素に横幅指定
--------------------------------------------------------- */
.overview {
  padding: clamp(24px, 3.2vw, 56px);
  width: 100%;
  table-layout: fixed;
}
.overview th {
  font-weight: bold;
  text-align: left;
}
@media screen and (max-width: 1079px){
  .info {
    gap: clamp(12px, 1.48vw, 16px);
  }
}
@media screen and (max-width: 767px){
  .keyword-search {
    --btn-width: 56px;
    max-width: 420px;
  }
  .keyword-search__label {
    width: 100%;
  }
  .keyword-search__search-icon {
    --size: 18px;
  }
  .keyword-search__clear-icon {
    --size: 15px;
  }
  .result-outline-wrap {
    flex-direction: column;
    margin: 20px 0;
  }
  .pagination {
    --link-size: 40px;
    justify-content: center;
    margin: 16px -10px 0;
  }
  .pagination__list {
    justify-content: center;
    margin-top: -8px;
  }
  .pagination__item {
    margin: 8px 5px 0;
  }
  .overview th, .overview td {
    display: block;
  }
  .overview tr:not(:first-child) th {
    padding: 16px 0 8px;
  }
  .overview tr:not(:last-child) td {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--c-gray-light);
  }
}
@media screen and (max-width: 659px){
  .site-header__inner {
    display: grid;
    grid-template: auto, 1fr;
  }
}
@media screen and (min-width: 640px){
  .event-outline {
    margin-left: auto;
  }
}
@media screen and (min-width: 768px){
  :root {
    --input-font-size: inherit;
  }
  .new-line-only-large {
    display: block;
  }
  .search {
    display: grid;
    grid-template: auto/clamp(200px, 18.5vw, 320px) 1fr;
    gap: clamp(32px, 4.16vw, 72px);
  }
  .keyword-search {
    --btn-width: 64px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }
  .keyword-search__label {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: 16px;
  }
  .keyword-search__content {
    flex: 1;
  }
  .keyword-search__search-icon {
    --size: 20px;
  }
  .keyword-search__clear-icon {
    --size: 18px;
  }
  .result-outline-wrap {
    flex-wrap: wrap;
    margin-top: -16px;
  }
  .result-outline-wrap .result-outline,
  .result-outline-wrap .pagination {
    margin-top: 16px;
    flex: 1 1 auto;
  }
  .result-outline-wrap .pagination {
    flex-basis: fit-content;
  }
  .pagination {
    --link-size: 32px;
    justify-content: flex-end;
  }
  .pagination__item {
    margin: 0 4px;
  }
  .filter__item:not(:first-child) {
    margin-top: 4px;
  }
  .select {
    --size: 20px;
  }
  .exhibit-product {
    --column-width: 296px;
  }
  .overview tr:not(:last-child) th[scope=row],
  .overview tr:not(:last-child) td {
    border-bottom: 1px solid var(--c-gray-light);
  }
  /* .overview th, .overview td {
    padding: 16px;
    font-size: var(--font-size-s);
  } */
  .overview th {
    padding: 16px;
    font-size: var(--font-size-s);
  }
  .overview td {
    padding: 16px;
    /* font-size: var(--font-size-s); */
  }
  .overview th[scope=row] {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: 20ch;
    min-width: 20ch;
    white-space: nowrap;
  }
}
@media screen and (min-width: 1080px){
  .info {
    grid-template: auto/1fr clamp(120px, 18.5vw, 240px);
    gap: clamp(32px, 4.16vw, 72px);
  }
}
@media screen and (min-width: 1081px){
  .checkbox {
    --checkbox-size: 14px;
  }
}
@media (any-hover: hover){
  .return-to-top:hover {
    --c-icon-primary: var(--c-return-to-top-hover);
  }
  .new-tab-link:hover {
    --c-link: var(--c-new-tab-link-hover);
    text-decoration: underline;
  }
  .keyword-search__search-button:hover,
  .keyword-search__search-button:focus {
    background-color: var(--c-search-button-hover-bg);
  }
  .keyword-search__clear-button:hover {
    --c-clear-button: var(--c-primary);
  }
  .search-criteria-button:hover,
  .search-criteria-button:focus {
    --c-search-criteria-button-border: var(--c-search-criteria-button-hover-border);
    --c-search-criteria-button-bg: var(--c-search-criteria-button-hover-bg);
    --c-search-criteria-button-text: var(--c-search-criteria-button-hover-text);
  }
  .search-criteria-button:hover .search-criteria-button__icon,
  .search-criteria-button:focus .search-criteria-button__icon {
    --c-icon-primary: var(--c-search-criteria-button-hover-text);
  }
  .all-clear-button:hover,
  .all-clear-button:focus {
    --c-all-clear-button-text: var(--c-all-clear-button-hover-text);
    text-decoration: underline;
  }
  .pagination__link:hover {
    --c-pagination-bg: var(--c-pagination-hover-bg);
    --c-pagination-text: var(--c-pagination-hover-text);
  }
  .pagination__link:hover .pagination__icon {
    --c-icon-primary: var(--c-pagination-hover-text);
  }
  .jp-alphabetical-order__link:-moz-any-link:hover {
    --c-jp-a-order-border: var(--c-jp-a-order-hover-border);
    --c-jp-a-order-text: var(--c-jp-a-order-hover-text);
  }
  .jp-alphabetical-order__link:any-link:hover {
    --c-jp-a-order-border: var(--c-jp-a-order-hover-border);
    --c-jp-a-order-text: var(--c-jp-a-order-hover-text);
  }
  .accordion__trigger:hover .accordion__icon {
    --c-accordion-trigger-icon: var(--c-accordion-trigger-hover-icon);
  }
  .info__company-name a:-moz-any-link:hover {
    text-decoration: underline;
  }
  .info__company-name a:any-link:hover {
    text-decoration: underline;
  }
  .product-thumbnail__img:hover {
    transform: scale(1.1);
  }
}
@media (pointer: fine), (any-hover: hover){
  a:where([href^="tel:"]) {
    pointer-events: none;
    text-decoration: none;
  }
}
@media (scripting: none){
  .accordion__panel {
    display: revert;
  }
}
@media print, screen and (min-width: 640px){
  .site-header__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
@media print, screen and (min-width: 768px){
  .exhibitor-header {
    grid-template: auto/1fr minmax(288px, -webkit-max-content);
    grid-template: auto/1fr minmax(288px, max-content);
    gap: 64px;
  }
}
