@charset "UTF-8";

/* Initializing */

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0%;
}

/*--header-------------------------------------------------*/

.header-title {
  text-align: left;
  color: #ffffff;
  font-weight: bold;
  font-size: 16px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.header-color {
  background-color: #000000 !important;
}

/*--footer-------------------------------------------------*/

.footer {
  margin-bottom: 50px;
  border-top: solid 1px #DFDFDF;
  width: 100%;
}

.footer-menu {
  margin-top: 20px;
  margin-bottom: 20px;
}

.footer-menu li {
  text-align: center;
  list-style: none;
  border-right: solid 1px #DFDFDF;
  padding: 10px;
  width: 100%;
  font-size: 12px;
}

.footer-logo {
  width: 100%;
  margin-top: 28px;
}

.footer-logo img {
  width: 100%;
}

.footer-copylight {
  text-align: right;
  font-size: 12px;
}

/* swing */

.swing {
  margin: 10px;
  -moz-animation: swing linear 5s infinite;
  -moz-transform-origin: bottom center;
  -webkit-animation: swing linear 5s infinite;
  -webkit-transform-origin: bottom center;
  -ms-animation: swing linear 5s infinite;
  -ms-transform-origin: bottom center;
  -o-animation: swing linear 5s infinite;
  -o-transform-origin: bottom center;
  animation: swing linear 5s infinite;
  transform-origin: bottom center;
  display: block;
  float: left;
}

@-webkit-keyframes swing {
  0% {
    -webkit-transform: rotate(0deg);
  }

  25% {
    -webkit-transform: rotate(5deg);
  }

  50% {
    -webkit-transform: rotate(0deg);
  }

  75% {
    -webkit-transform: rotate(-5deg);
  }

  100% {
    -webkit-transform: rotate(0deg);
  }
}

@keyframes swing {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(5deg);
  }

  50% {
    transform: rotate(0deg);
  }

  75% {
    transform: rotate(-5deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

/* next/back button */

.page {
  position: fixed;
  top: 50%;
  width: 40px;
  height: 200px;
  background-color: rgba(255, 249, 249, 0.466);
  z-index: 99;
}

.page :hover {
  background-color: rgba(124, 124, 124, 0.678);
}

.page img {
  width: 100%;
  height: 100%;
}

.page-next {
  right: 0;
  margin-right: 2rem;
}

.page-previous {
  left: 0;
  margin-left: 1rem;
}

.box {
  background-color: white;
  color: black;
  font-weight: 400;
  margin: 0;
  padding: 0.3rem;
  border: 1px solid transparent;
  border-color: #6c757d;
  border-radius: 0.2rem;
}

.box-blue {
  background-color: forestgreen;
  color: white;
}

.box-gray {
  background-color: #707070;
  color: white;
}

.online-meeting-menu {
  position: fixed;
  width: 50%;
  z-index: 10;
}

.online-meeting-menu-bl {
  left: 0.8vw;
  bottom: 0.6vw;
}

.online-meeting-item {
  width: 215px;
  padding: 10px;
  border-radius: 5px;
  text-align: center;
  background-color: #E9EAEA;
  color: #343a40;
  border: solid 1px #DBDBDB;
  margin-bottom: 10px;
  cursor: pointer;
}

.mb-slot-available {
  background-color: white;
  border-radius: 5px;
  border: 1px solid #34C481;
  padding: 0.3rem;
  font-weight: bold;
  cursor: pointer;
}

.mb-unavailable-info {
  color: white;
  border: 1px solid #7c7c7c;
  border-radius: 3px;
  background-color: #7c7c7c;
  font-size: 0.7rem;
}

.mb-date {
  font-size: 1rem;
}

.mb-date-unavailable {
  opacity: 0.5;
}

.mb-day {
  font-size: 1rem;
}

.mb-day-unavailable {
  opacity: 0.5;
}

.mb-today {
  color: white;
  background-color: #007bff;
  font-size: 0.7rem;
  border: 1px solid #007bff;
  border-radius: 5px;
  opacity: 0.35;
}

.calendar-header-date {
  width: 100%;
  padding: 0.75rem 0;
  text-align: center;
  font-size: 1.25rem;
}

.calendar-header-group-btn {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.calendar-content-header {
  margin-left: 0;
  margin-right: 0;
  border-top: 1px solid #dee2e6 !important;
}

.calendar-content-header .content {
  max-width: 5rem;
  margin: 0.5rem auto;
  font-size: 1.75rem;
  font-weight: 600;
}

.calendar-content-header .content .day {
  margin-bottom: 0;
  font-weight: 540;
}

.calendar-content-header .content .date {
  margin-bottom: 0rem;
}

.calendar-content-header .today {
  background-color: #A5D6FB;
}

.calendar-content-body {
  max-height: 57vh;
  margin-right: 0;
  margin-left: 0;
  overflow: auto;
}

.calendar-content-body .time-slot .slot-available {
  max-width: 5rem;
  margin-top: 0.5rem;
  margin-left: auto;
  margin-right: auto;
  font-weight: bold;
  background-color: white;
  border-radius: 5px;
  border: 1px solid #34C481;
  padding: 0.3rem;
  cursor: pointer;
}

.calendar-content-body .time-slot .slot-unavailable {
  max-width: 5rem;
  margin-top: 0.5rem;
  margin-left: auto;
  margin-right: auto;
  font-weight: bold;
  background-color: #ccc;
  border-radius: 5px;
  border: 1px solid #ccc;
  padding: 0.3rem;
  color: white;
}

.calendar-content-body .time-slot :last-child {
  margin-bottom: 0.5rem;
}

.hide-native-scrollbar {
  scrollbar-width: none;
  /* Firefox 64 */
  -ms-overflow-style: none;
  /* Internet Explorer 11 */
}

.hide-native-scrollbar::-webkit-scrollbar {
  /** WebKit */
  display: none;
}

.modal-center {
  transform: translateY(-40%) !important;
  top: 40%;
  margin: 0 auto;
}

.notification {
  display: inline-block;
  position: relative;
  padding-left: 0.25rem;
}

.notification .icon {
  position: relative;
  vertical-align: bottom;
  color: white;
  font-size: 1.25rem;
  cursor: pointer;
}

.notification .icon .badge {
  position: absolute;
  font-size: 0.75rem;
  top: -1px;
  right: -3px;
  padding: 1px 1px;
  border-radius: 50%;
  background: red;
  color: white;
}

.notification .content {
  position: absolute;
  margin-top: 1px;
  padding: 0.75rem;
  background-color: white;
  top: 100%;
  right: 0;
  display: none;
  width: 25vw;
}

@media (max-width: 575px) {
  .notification .content {
    width: 60vw;
  }
}

.notification .content .body {
  text-align: left;
  font-size: 0.75rem;
}

/* PC modal contents*/

.modal {
  z-index: 10000;
}

.modal-dialog {
  margin: auto;
  padding: 20px;
  background-color: #ffffff;
  border-radius: 10px;
  max-width: 1000px;
  margin-top: 20px;
}

.modal-content {
  text-align: center;
}

.modal-content::after {
  content: "";
  display: block;
  clear: both;
}

.modal-content p.expo-download {
  margin-top: 40px;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.js-modal_trigger::after {
  display: none;
}

body.modal-open .expo-btn li:hover {
  z-index: auto;
}

body.modal-open .expo-btn,
body.modal-open body.modal-open .expo-product,
body.modal-open body.modal-open .expo-frame,
body.modal-open body.modal-open #expo-movie-pu {
  z-index: auto;
}

.modal-video {
  position: relative;
  width: 100%;
}

.modal-video .iframe {
  position: relative;
  width: 100%;
  padding: calc(315 / 560 * 100%) 0 0;
}

.modal-video .iframe iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.modal-video video {
  height: 100%;
  /*  height: 100vh;*/
  position: relative;
  width: 100%;
}

.exhibition-modal-img {
  border: solid 1px #999999;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.exhibition-modal-title {
  text-align: left;
  font-size: 17px;
  font-weight: bold;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  padding: 10px;
  background-color: #343a40;
  color: #fff;
}

.exhibition-modal-title2 {
  text-align: left;
  font-size: 17px;
  font-weight: bold;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 10px;
  background-color: #343a40;
  color: #fff;
}

.exhibition-modal-outline {
  text-align: left;
  margin-bottom: 20px;
}

.exhibition-modal-list {
  border-bottom: dotted 1px #999999;
}

.exhibition-modal-telarea {
  text-align: center;
}

.exhibition-modal-tel {
  text-align: center;
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 0;
}

.modal-function-title {
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  margin-bottom: 21px;
}

.modal-function-text {
  text-align: left;
  margin-bottom: 25px;
}

.modal-function-img {
  width: 100%;
  height: 10vw;
  margin-bottom: 15px;
}

.exhibition-modal-imgsize {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}

.exhibition-modalbtn {
  width: 100%;
  padding: 1%;
  border-radius: 5px;
  text-align: center;
  background-color: #E9EAEA;
  color: #343a40;
  transition: 0.3s ease-in-out;
  border: solid 1px #DBDBDB;
  padding-top: 10px;
  padding-bottom: 10px;
}

.exhibition-modalbtn:hover {
  width: 100%;
  padding: 1%;
  border-radius: 5px;
  text-align: center;
  background-color: #212529;
  color: #ffffff !important;
  transition: 0.3s ease-in-out;
  border: solid 1px #212529;
  padding-top: 10px;
  padding-bottom: 10px;
}

.exhibition-modalbtn a:hover {
  color: #ffffff !important;
}

/*--pc-------------------------------------------------*/

#pc {
  display: block;
  /*--pc 動画-------------------------------------------------*/
  /*--pc 出展物-------------------------------------------------*/
  /*--pc 出展物パネル-------------------------------------------------*/
}

#pc img {
  width: 100%;
}

#pc .pc-main {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: calc(100vh - 60px);
  overflow-x: hidden;
  overflow-y: hidden;
}

#pc .booth-backbtn-area {
  position: absolute;
  top: 0.8vw;
  left: 0.8vw;
  width: 100%;
  z-index: 10;
}

#pc .booth-backbtn {
  width: 215px;
  padding: 10px;
  border-radius: 5px;
  text-align: center;
  background-color: #E9EAEA;
  color: #343a40;
  transition: 0.3s ease-in-out;
  border: solid 1px #DBDBDB;
}

#pc .booth-backbtn:hover {
  width: 215px;
  padding: 10px;
  border-radius: 5px;
  text-align: center;
  background-color: #212529;
  color: #ffffff;
  transition: 0.3s ease-in-out;
  border: solid 1px #212529;
}

#pc .boothback {
  width: auto;
  height: auto;
  position: absolute;
  top: 0vw;
}

#pc .booth {
  width: 115vw;
  height: auto;
  position: absolute;
  left: -4vw;
  bottom: -18vw;
}

#pc .booth {
  width: 102vw;
  height: auto;
  position: absolute;
  left: -2.5vw;
  bottom: -10.5vw;
}

#pc .boothcover {
  width: 12.2vw;
  height: auto;
  position: absolute;
  left: 12.85vw;
  bottom: 4.15vw;
  z-index: 3;
}

#pc .person1 {
  width: 9.5vw;
  height: auto;
  bottom: 4.5vw;
  left: 15vw;
  position: absolute;
  z-index: 2;
}

#pc .person2 {
  width: 10vw;
  height: auto;
  bottom: 3vw;
  left: 36vw;
  position: absolute;
  z-index: 2;
}

#pc .person3 {
  width: 9.9vw;
  height: auto;
  bottom: 3vw;
  left: 53.6vw;
  position: absolute;
  z-index: 2;
}

#pc .person4 {
  width: 10.8vw;
  height: auto;
  bottom: 2vw;
  left: 83vw;
  position: absolute;
  z-index: 2;
}

#pc .audience {
  width: 100vw;
  height: auto;
  position: absolute;
  bottom: -1vw;
  z-index: 3;
  opacity: 0.8;
  max-height: 18vw;
  pointer-events: none;
}

#pc .rack {
  width: 4.3vw;
  height: auto;
  right: 88vw;
  bottom: 4.5vw;
  position: absolute;
  z-index: 0;
}

#pc .rackfukidashi {
  width: 11vw;
  height: auto;
  bottom: 21.3vw;
  left: 1.3vw;
  max-width: 100%;
  position: absolute;
}

#pc .fukidashi {
  position: absolute;
  bottom: 0vw;
  right: 0vw;
  width: 6vw;
  z-index: 1;
}

#pc .parapetto1 {
  width: 44.3vw;
  height: 3.8vw;
  bottom: 39.7vw;
  left: 34vw;
  max-width: 100%;
  line-height: 3.4vw;
  position: absolute;
  font-weight: bold;
  display: inline-block;
  text-align: center;
  transform: skew(0deg, -4.9deg);
  transform-origin: center center;
}

#pc .parapetto1.black {
  color: #fff;
}

#pc .parapetto1.blue {
  color: #fff;
}

#pc .parapetto1.green {
  color: #fff;
}

#pc .parapetto1.red {
  color: #fff;
}

#pc .parapetto1.white {
  color: #333;
}

#pc .parapetto1.yellow {
  color: #333;
}

#pc .parapetto2 {
  width: 44.3vw;
  height: 3.8vw;
  bottom: 36vw;
  left: 34.2vw;
  max-width: 100%;
  line-height: 3.8vw;
  position: absolute;
  font-weight: bold;
  display: inline-block;
  text-align: center;
  transform: skew(0deg, -4deg);
  transform-origin: center center;
}

#pc .parapetto2.black {
  color: #fff;
}

#pc .parapetto2.blue {
  color: #fff;
}

#pc .parapetto2.green {
  color: #fff;
}

#pc .parapetto2.red {
  color: #fff;
}

#pc .parapetto2.white {
  color: #333;
}

#pc .parapetto2.yellow {
  color: #333;
}

#pc .company-logo {
  width: 8vw;
  height: 5vw;
  bottom: 28.2vw;
  left: 18.4vw;
  position: absolute;
  transform: skew(0deg, 0deg);
  line-height: 3vw;
}

#pc .company-logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

#pc .main-movie-position {
  width: 13.7vw;
  height: auto;
  bottom: 21.4vw;
  left: 68.6vw;
  position: absolute;
}

#pc .main-movie {
  position: relative;
  padding-top: 56.25%;
  height: 0;
  overflow: hidden;
}

#pc .main-movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

#pc .main-movie video {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

#pc #expo-player {
  width: 12vw;
  height: 100%;
  opacity: 1;
  transition: opacity 0.8s;
  transition-delay: 0s;
}

#pc .exhibit1 {
  width: 6vw;
  height: auto;
  bottom: 15.35vw;
  left: 28.5vw;
  position: absolute;
  z-index: 1;
}

#pc .exhibit1 img {
  display: inline-block;
  transform: perspective(100px) rotateX(0deg) rotateY(7deg);
  transform-origin: bottom center;
}

#pc .exhibit2 {
  width: 6vw;
  height: auto;
  bottom: 15.8vw;
  left: 35.6vw;
  position: absolute;
  z-index: 1;
}

#pc .exhibit2 img {
  display: inline-block;
  transform: perspective(100px) rotateX(0deg) rotateY(4deg);
  transform-origin: bottom center;
}

#pc .exhibit3 {
  width: 6vw;
  height: auto;
  bottom: 16.2vw;
  left: 43vw;
  position: absolute;
  z-index: 1;
}

#pc .exhibit4 {
  width: 6vw;
  height: auto;
  bottom: 16.2vw;
  left: 50.7vw;
  position: absolute;
  z-index: 1;
}

#pc .exhibit5 {
  width: 6vw;
  height: auto;
  bottom: 16.2vw;
  left: 59.3vw;
  position: absolute;
  z-index: 1;
}

#pc .exhibit-panel1 {
  width: 7.6vw;
  height: 10vw;
  bottom: 21vw;
  left: 27.5vw;
  line-height: 10vw;
  text-align: center;
  position: absolute;
  transform: perspective(600px) rotateX(0deg) rotateY(26deg) skewX(0deg) skewY(0deg);
}

#pc .exhibit-panel1 img {
  display: inline-block;
  left: 0;
  right: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

#pc .exhibit-panel2 {
  width: 6.8vw;
  height: 9.5vw;
  bottom: 21vw;
  left: 34.8vw;
  line-height: 9.5vw;
  text-align: center;
  position: absolute;
  transform: perspective(148px) rotateX(0deg) rotateY(2.8deg) skewX(0deg) skewY(0deg);
}

#pc .exhibit-panel2 img {
  display: inline-block;
  left: 0;
  right: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

#pc .exhibit-panel3 {
  width: 6.65vw;
  height: 9.5vw;
  bottom: 21vw;
  left: 42.7vw;
  line-height: 9.5vw;
  text-align: center;
  position: absolute;
}

#pc .exhibit-panel3 img {
  display: inline-block;
  left: 0;
  right: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

#pc .exhibit-panel4 {
  width: 6.65vw;
  height: 9.5vw;
  bottom: 21vw;
  left: 50.7vw;
  line-height: 9.5vw;
  text-align: center;
  position: absolute;
}

#pc .exhibit-panel4 img {
  display: inline-block;
  left: 0;
  right: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

#pc .exhibit-panel5 {
  width: 6.65vw;
  height: 9.5vw;
  bottom: 21vw;
  left: 58.7vw;
  line-height: 9.5vw;
  text-align: center;
  position: absolute;
}

#pc .exhibit-panel5 img {
  display: inline-block;
  left: 0;
  right: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.balloon {
  position: relative;
  display: inline-block;
  padding: 10px;
  width: auto;
  height: auto;
  text-align: center;
  color: #333333;
  background: #ffffff;
  border-radius: 5%;
  box-sizing: border-box;
  max-width: 100%;
  font-size: 0.7vw;
  border: solid 1px #333333;
  line-height: 160%;
}

.balloon::before {
  content: "";
  position: absolute;
  bottom: -0.5vw;
  right: 2.5vw;
  margin-top: -15px;
  border: 15px solid #ffffff;
  z-index: 0;
  transform: rotate(-135deg);
  border-top: 1px solid #333333;
  border-left: 1px solid #333333;
}

.balloon .text {
  z-index: 10;
}

.exhibit-btnarea > li {
  position: absolute;
  list-style: none;
}

.exhibit-btnarea li:nth-child(1) {
  bottom: 30vw;
  left: 27vw;
}

.exhibit-btnarea li:nth-child(2) {
  bottom: 29.5vw;
  left: 34vw;
}

.exhibit-btnarea li:nth-child(3) {
  bottom: 29.2vw;
  left: 42vw;
}

.exhibit-btnarea li:nth-child(4) {
  bottom: 29.1vw;
  left: 50vw;
}

.exhibit-btnarea li:nth-child(5) {
  bottom: 29.1vw;
  left: 58vw;
}

.exhibit-btnarea li:nth-child(n+6) {
  display: none;
}

.exhibit-btnarea .documentbtn {
  display: block !important;
  z-index: 1;
  bottom: 20.3vw !important;
  left: 8.3vw !important;
}

/*button////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

#pc .expo-link {
  color: #fff;
  position: relative;
  transition: width 0.4s;
  text-decoration: none;
  max-width: 34px;
  transition: max-width 0.4s;
  transition-delay: 0.4s;
}

#pc .expo-link:hover {
  opacity: 1;
}

#pc .expo-link .icon {
  line-height: 24px;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  line-height: 24px;
  position: absolute;
  background: #4ECD00;
  text-align: center;
  z-index: 1;
  transition: color 0.4s, background 0.4s;
}

#pc .expo-link .text {
  pointer-events: none;
  display: inline-block;
  z-index: 3 !important;
  padding-left: 32px;
  white-space: nowrap;
}

#pc .expo-link .text span {
  position: relative;
  display: block;
  z-index: 2;
  opacity: 0;
  width: 0;
  visibility: hidden;
  transition: width 0.4s, opacity 0.8s, visibility 0.4s;
  transition-delay: 0s;
}

#pc .expo-link .text:before,
#pc .expo-link .text:after {
  content: "";
  border-radius: 50px;
  position: absolute;
  background: #4ECD00;
  opacity: 0.6;
  transition: opacity 0.4s, width 0.4s, border-radius 0.4s;
  transition-delay: 0.3s;
  -webkit-animation-name: ripple;
  animation-name: ripple;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-duration: 1.8s;
  animation-duration: 1.8s;
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
}

#pc .expo-link .text:before {
  top: -4px;
  left: -4px;
  width: 32px;
  height: 32px;
}

#pc .expo-link .text:after {
  top: -10px;
  left: -10px;
  width: 44px;
  height: 44px;
}

@media screen and (min-width: 1200px) {
  #pc .expo-link:hover {
    max-width: 1000px;
    transition-delay: 0s;
  }

  #pc .expo-link:hover .icon {
    background: #fff;
    color: #0d2ea1;
    z-index: 3;
  }

  #pc .expo-link:hover .text {
    pointer-events: auto;
    z-index: 2;
  }

  #pc .expo-link:hover .text:before,
  #pc .expo-link:hover .text:after {
    border-radius: 50px;
    transition-delay: 0s;
    -webkit-animation: none;
    animation: none;
    z-index: 2;
  }

  #pc .expo-link:hover .text:before {
    width: calc(100% + 24px);
    opacity: 1 !important;
    z-index: 2;
  }

  #pc .expo-link:hover .text:after {
    width: calc(100% + 24px + 14px);
    opacity: 0.5 !important;
    z-index: 2;
  }

  #pc .expo-link:hover .text span {
    width: 100%;
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
    z-index: 3;
  }
}

@media screen and (max-width: 1199px) {
  #pc .expo-link:hover .text:before {
    width: 30px;
  }

  #pc .expo-link:hover .text:after {
    width: 42px;
  }
}

@media screen and (max-width: 768px) {
  #pc .expo-link {
    width: 24px;
    height: 24px;
    max-width: 24px;
  }

  #pc .expo-link .text {
    padding-left: 24px;
  }

  #pc .expo-link .text span {
    display: none;
  }
}

@-webkit-keyframes ripple {
  0% {
    opacity: 0.7;
    transform: scale(0.7);
  }

  100% {
    opacity: 0;
    transform: scale(1.3);
  }
}

@keyframes ripple {
  0% {
    opacity: 0.7;
    transform: scale(0.7);
  }

  100% {
    opacity: 0;
    transform: scale(1.3);
  }
}

/*--mobile-------------------------------------------------*/

#mobile {
  display: none;
}

/*--col--------------------------------------bootstrap4-----*/

@media (max-width: 575px) {
  /*--header-------------------------------------------------*/

  .header-title {
    text-align: left;
    color: #ffffff;
    font-weight: bold;
    font-size: 3.7vw;
    padding-top: 10px;
    padding-bottom: 10px;
    width: 82%;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }

  /*--footer-------------------------------------------------*/

  .footer-logo {
    width: 60%;
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-copylight {
    text-align: center;
    font-size: 12px;
  }

  /*--pc-------------------------------------------------*/

  #pc {
    display: none;
  }

  /*--mobile-------------------------------------------------*/

  #mobile {
    display: block;
  }

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

  #mobile .booth-backbtn {
    width: 90%;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    background-color: #E9EAEA;
    color: #343a40;
    transition: 0.3s ease-in-out;
    border: solid 1px #DBDBDB;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
  }

  #mobile .company-logo {
    width: 95%;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
  }

  #mobile .company-logo img {
    width: 100%;
  }

  #mobile #expo-player {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    transition: opacity 0.8s;
    transition-delay: 0s;
  }

  #mobile .titlebar {
    text-align: left;
    font-size: 17px;
    font-weight: bold;
    width: 100%;
    padding: 10px;
    background-color: #343a40;
    color: #fff;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    margin-bottom: 20px;
  }

  #mobile .expo-movie {
    position: relative;
    margin-bottom: 35px;
    width: 100%;
  }

  #mobile .expo-movie video {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }

  #mobile .modal-video {
    position: relative;
    width: 100%;
    /*padding-top: 56.25%;*/
  }

  #mobile .spproduct-area {
    width: 100%;
    border-bottom: dotted;
    margin-bottom: 15px;
    margin-left: auto;
    margin-right: auto;
  }

  #mobile .exhibition-modal-title {
    text-align: left;
    font-size: 17px;
    font-weight: bold;
    width: 100%;
    padding: 10px;
    background-color: #343a40;
    color: #fff;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    margin-top: 20px;
  }

  #mobile .modal-function-title {
    font-size: 18px;
    font-weight: bold;
    text-align: left;
    margin-bottom: 21px;
    margin-top: 21px;
  }

  #mobile .modal-function-img {
    width: 100%;
    height: 45vw;
    margin-bottom: 15px;
  }

  #mobile .exhibition-modal-imgsize {
    -o-object-fit: contain;
       object-fit: contain;
    width: 100%;
    height: 100%;
  }

  #mobile .spproduct-panel {
    width: 100%;
  }

  #mobile .spproduct-panel img {
    width: 100%;
  }

  #mobile .spproduct-name {
    text-align: left;
    font-size: 16px;
    font-weight: bold;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
  }

  #mobile .spproduct-outline {
    margin-top: 11px;
    overflow: hidden;
    width: 100%;
    height: 100%;
  }

  #mobile .spproduct-outline p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
  }

  #mobile .spproduct-btn {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 19px;
    margin-bottom: 20px;
    text-align: center;
    padding-top: 5px;
    padding-bottom: 5px;
    background-color: #999999;
    border-radius: 5px;
    color: #ffffff;
  }

  .text-auto-position {
    font-size: 1rem !important;
    text-align: left !important;
  }
}

/*--col-sm-----------------------------------bootstrap4-----*/

@media (min-width: 576px) and (max-width: 767px) {
  /*--footer-------------------------------------------------*/

  .footer-logo {
    width: 60%;
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-copylight {
    text-align: center;
    font-size: 12px;
  }

  /*--pc-------------------------------------------------*/

  #pc {
    display: none;
  }

  /*--mobile-------------------------------------------------*/

  #mobile {
    display: block;
  }

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

  .booth-backbtn {
    width: 90%;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    background-color: #E9EAEA;
    color: #343a40;
    transition: 0.3s ease-in-out;
    border: solid 1px #DBDBDB;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
  }

  .company-logo {
    width: 95%;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
  }

  .company-logo img {
    width: 100%;
  }

  #expo-player {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    transition: opacity 0.8s;
    transition-delay: 0s;
  }

  .titlebar {
    text-align: left;
    font-size: 17px;
    font-weight: bold;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 10px;
    background-color: #343a40;
    color: #fff;
  }

  .expo-movie {
    position: relative;
    margin-bottom: 35px;
    width: 100%;
  }

  .expo-movie video {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .modal-video {
    position: relative;
    width: 100%;
    /*padding-top: 56.25%;*/
  }

  .spproduct-area {
    width: 100%;
    border-bottom: dotted;
    margin-bottom: 15px;
    margin-left: auto;
    margin-right: auto;
  }

  .exhibition-modal-title {
    text-align: left;
    font-size: 17px;
    font-weight: bold;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    margin-top: 20px;
    padding: 10px;
    background-color: #343a40;
    color: #fff;
  }

  .modal-function-title {
    font-size: 18px;
    font-weight: bold;
    text-align: left;
    margin-bottom: 21px;
    margin-top: 21px;
  }

  .modal-function-img {
    width: 100%;
    height: 20vw;
    margin-bottom: 15px;
  }

  .exhibition-modal-imgsize {
    -o-object-fit: contain;
       object-fit: contain;
    width: 100%;
    height: 100%;
  }

  .spproduct-panel {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
  }

  .spproduct-panel img {
    width: 100%;
  }

  .spproduct-name {
    text-align: left;
    font-size: 23px;
    font-weight: bold;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
  }

  .spproduct-outline {
    margin-top: 11px;
    overflow: hidden;
    width: 100%;
    height: 100%;
  }

  .spproduct-outline p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
  }

  .spproduct-btn {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    margin-top: 19px;
    text-align: center;
    padding-top: 5px;
    padding-bottom: 5px;
    background-color: #999999;
    border-radius: 5px;
    color: #ffffff;
  }

  .text-auto-position {
    font-size: 1rem !important;
    text-align: right !important;
  }
}

/*--col-md-----------------------------------bootstrap4-----*/

@media (min-width: 768px) and (max-width: 991px) {
  /*--pc-------------------------------------------------*/

  #pc {
    display: block;
  }

  /*--mobile-------------------------------------------------*/

  #mobile {
    display: none;
  }

  .text-auto-position {
    font-size: 1rem !important;
    text-align: right !important;
  }
}

/*--col-lg-----------------------------------bootstrap4-----*/

@media (min-width: 992px) and (max-width: 1199px) {
  /*--pc-------------------------------------------------*/

  #pc {
    display: block;
  }

  /*--mobile-------------------------------------------------*/

  #mobile {
    display: none;
  }

  .text-auto-position {
    font-size: 1rem !important;
    text-align: right !important;
  }
}

/*--col-xl-----------------------------------bootstrap4-----*/

@media (min-width: 1200px) {
  /*--pc-------------------------------------------------*/

  #pc {
    display: block;
  }

  /*--mobile-------------------------------------------------*/

  #mobile {
    display: none;
  }

  .text-auto-position {
    font-size: 1rem !important;
    text-align: right !important;
  }
}

